diff options
| author | Miqdad <ahmadmiqdad27@gmail.com> | 2025-07-16 10:27:02 +0700 |
|---|---|---|
| committer | Miqdad <ahmadmiqdad27@gmail.com> | 2025-07-16 10:27:02 +0700 |
| commit | 3b1bc7642b6a5d0ac19dd74563c5b353a7f3b8ba (patch) | |
| tree | 36232d36970f8e48919228f122e0183e227d3de0 | |
| parent | 77d3bd2541a52270f03b84e38dd691630bcd82af (diff) | |
<miqdad> vals qty mapping koli tukar guling
| -rw-r--r-- | indoteknik_custom/models/tukar_guling.py | 20 | ||||
| -rw-r--r-- | indoteknik_custom/views/tukar_guling.xml | 4 |
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"/> |
