diff options
| author | Miqdad <ahmadmiqdad27@gmail.com> | 2025-06-21 20:52:32 +0700 |
|---|---|---|
| committer | Miqdad <ahmadmiqdad27@gmail.com> | 2025-06-21 20:52:32 +0700 |
| commit | 680748ae128a90b9999acff60c770e2472c7fcbe (patch) | |
| tree | 07cf94c90a6a904a56afb08c870ed697e1a10585 | |
| parent | 1be3cacacce54b6fe71eb3786d152c1d18707724 (diff) | |
<miqdad> it should be done
| -rw-r--r-- | indoteknik_custom/models/tukar_guling.py | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py index 5c99bc18..a7b6e07e 100644 --- a/indoteknik_custom/models/tukar_guling.py +++ b/indoteknik_custom/models/tukar_guling.py @@ -315,6 +315,8 @@ class TukarGuling(models.Model): # Lokasi default untuk retur srt_type = self.env['stock.picking.type'].browse(73) ort_type = self.env['stock.picking.type'].browse(74) + bu_pick_type = self.env['stock.picking.type'].browse(30) + bu_out_type = self.env['stock.picking.type'].browse(29) stock_location = self.env['stock.location'] @@ -342,12 +344,22 @@ class TukarGuling(models.Model): BU_STOCK_LOCATION_ID = 57 # Determine locations based on picking type - if picking.picking_type_id.id == 29: + if picking.picking_type_id.id == 30: # -> ngeretur bu pick + return_type = srt_type + default_location_id = BU_OUTPUT_LOCATION_ID + default_location_dest_id = BU_STOCK_LOCATION_ID + elif picking.picking_type_id.id == 29: # -> ngeretur bu out + return_type = ort_type default_location_id = PARTNER_LOCATION_ID default_location_dest_id = BU_OUTPUT_LOCATION_ID - elif picking.picking_type_id.id == 30: + elif picking.picking_type_id.id == 74: # -> ngeretur srt + return_type = bu_pick_type + default_location_id = BU_STOCK_LOCATION_ID + default_location_dest_id = BU_OUTPUT_LOCATION_ID + elif picking.picking_type_id.id == 73: # -> ngeretur ort + return_type = bu_out_type default_location_id = BU_OUTPUT_LOCATION_ID - default_location_dest_id = BU_STOCK_LOCATION_ID + default_location_dest_id = PARTNER_LOCATION_ID else: return None @@ -396,20 +408,29 @@ class TukarGuling(models.Model): 'tukar_guling_id': record.id, }) - return return_picking.name + return return_picking - # Buat return dari BU/PICK - for picking in bu_pick_to_return: + # Buat return dari BU/OUT + for picking in bu_out_to_return: name = _create_return_from_picking(picking) if name: created_returns.append(name) - # Buat return dari BU/OUT - for picking in bu_out_to_return: + # Buat return dari BU/PICK + for picking in bu_pick_to_return: name = _create_return_from_picking(picking) if name: created_returns.append(name) + # Buat return dari SRT + if record.return_type == 'tukar_guling': + target = [woi for woi in created_returns if woi.picking_type_id.id in (73, 74)] + for picking in target: + retur = _create_return_from_picking(picking) + if retur: + created_returns.append(retur) + + if not created_returns: raise UserError("wkwkwk") |
