summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-06-21 20:52:32 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-06-21 20:52:32 +0700
commit680748ae128a90b9999acff60c770e2472c7fcbe (patch)
tree07cf94c90a6a904a56afb08c870ed697e1a10585
parent1be3cacacce54b6fe71eb3786d152c1d18707724 (diff)
<miqdad> it should be done
-rw-r--r--indoteknik_custom/models/tukar_guling.py37
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")