From 680748ae128a90b9999acff60c770e2472c7fcbe Mon Sep 17 00:00:00 2001 From: Miqdad Date: Sat, 21 Jun 2025 20:52:32 +0700 Subject: it should be done --- indoteknik_custom/models/tukar_guling.py | 37 +++++++++++++++++++++++++------- 1 file 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") -- cgit v1.2.3