summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-07-16 10:27:02 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-07-16 10:27:02 +0700
commit3b1bc7642b6a5d0ac19dd74563c5b353a7f3b8ba (patch)
tree36232d36970f8e48919228f122e0183e227d3de0
parent77d3bd2541a52270f03b84e38dd691630bcd82af (diff)
<miqdad> vals qty mapping koli tukar guling
-rw-r--r--indoteknik_custom/models/tukar_guling.py20
-rw-r--r--indoteknik_custom/views/tukar_guling.xml4
2 files changed, 22 insertions, 2 deletions
diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py
index f0fe13f6..333e2c8e 100644
--- a/indoteknik_custom/models/tukar_guling.py
+++ b/indoteknik_custom/models/tukar_guling.py
@@ -57,6 +57,26 @@ class TukarGuling(models.Model):
line_ids = fields.One2many('tukar.guling.line', 'tukar_guling_id', string='Product Lines')
mapping_koli_ids = fields.One2many('tukar.guling.mapping.koli', 'tukar_guling_id', string='Mapping Koli')
+ @api.constrains('mapping_koli_ids')
+ def _check_mapping_koli(self):
+ for record in self:
+ if record.operations.picking_type_id.id == 29: # Only for BU/OUT
+ if not record.mapping_koli_ids:
+ raise UserError("❌ Mapping Koli belum diisi")
+
+ # Calculate totals as integers
+ total_mapping_qty = sum(int(mapping.qty_done) for mapping in record.mapping_koli_ids)
+ total_line_qty = sum(int(line.product_uom_qty) for line in record.line_ids)
+
+ # Strict integer comparison
+ if total_mapping_qty != total_line_qty:
+ raise UserError(
+ "❌ Total quantity mapping koli (%d) tidak sama dengan quantity retur (%d)" %
+ (total_mapping_qty, total_line_qty)
+ )
+ else:
+ _logger.info("qty koli sesuai")
+
@api.onchange('operations')
def _onchange_operations(self):
"""Auto-populate lines ketika operations dipilih"""
diff --git a/indoteknik_custom/views/tukar_guling.xml b/indoteknik_custom/views/tukar_guling.xml
index 903a47fd..c36089ad 100644
--- a/indoteknik_custom/views/tukar_guling.xml
+++ b/indoteknik_custom/views/tukar_guling.xml
@@ -99,8 +99,8 @@
</tree>
</field>
</page>
- <page string="Mapping Koli" name="mapping_koli" create="0" edit="0">
- <field name="mapping_koli_ids" readonly="1">
+ <page string="Mapping Koli" name="mapping_koli">
+ <field name="mapping_koli_ids">
<tree>
<field name="pick_id"/>
<field name="product_id"/>