summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-06-26 16:59:47 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-06-26 16:59:47 +0700
commitbc99ea265c50e22d0a6cd74e1e5a4d5f27988701 (patch)
tree3313af0357cd35dddd51770dce3248f94d9eb634
parent69eed6936f7749809ee57bc4fa4f408fc93da6d3 (diff)
<miqdad> create ort only when retur from bu pick
-rw-r--r--indoteknik_custom/models/tukar_guling.py40
1 files changed, 20 insertions, 20 deletions
diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py
index c1bd82bb..601603d7 100644
--- a/indoteknik_custom/models/tukar_guling.py
+++ b/indoteknik_custom/models/tukar_guling.py
@@ -24,8 +24,8 @@ class TukarGuling(models.Model):
name = fields.Char('Number', required=True, copy=False, readonly=True, default='New')
date = fields.Datetime('Date', default=fields.Datetime.now, required=True)
operations = fields.Many2one('stock.picking', 'Operations',
- domain=[('picking_type_id.sequence_code', 'in', 'OUT'),
- ('state', '=', 'done')], help='Nomor BU/Out atau BU/Pick')
+ domain=[('picking_type_id.sequence_code', 'in', ['OUT', 'PICK']),
+ ('state', '=', 'done'), ('linked_manual_bu_out', '!=', 'done')], help='Nomor BU/Out atau BU/Pick')
ba_num = fields.Text('Nomor BA')
notes = fields.Text('Notes')
return_type = fields.Selection(String='Return Type', selection=[
@@ -287,8 +287,6 @@ class TukarGuling(models.Model):
if not record.operations:
raise UserError("BU/OUT dari field operations tidak ditemukan.")
- operation_picking = record.operations
-
related_pickings = self.env['stock.picking'].search([
('origin', '=', record.origin),
('state', '=', 'done'),
@@ -414,24 +412,26 @@ class TukarGuling(models.Model):
return return_picking
# Buat return dari BU/OUT
- for picking in bu_out_to_return:
- name = _create_return_from_picking(picking)
- if name:
- created_returns.append(name)
+ if record.operations.picking_type_id == 30:
+ for picking in [bu_pick_to_return]:
+ name = _create_return_from_picking(picking)
+ if name:
+ created_returns.append(name)
# 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 dan ort
- if record.return_type == 'tukar_guling':
- target = [woi for woi in created_returns if woi.picking_type_id.id in (74, 73)]
- for picking in target:
- retur = _create_return_from_picking(picking)
- if retur:
- created_returns.append(retur)
+ else:
+ for picking in [bu_out_to_return]:
+ name = _create_return_from_picking(picking)
+ if name:
+ created_returns.append(name)
+
+ # Buat return dari SRT dan ort
+ if record.return_type == 'tukar_guling' and record.operations.picking_type_id.id != 30:
+ target = [woi for woi in created_returns if woi.picking_type_id.id in (74, 73)]
+ for picking in target:
+ retur = _create_return_from_picking(picking)
+ if retur:
+ created_returns.append(retur)
if not created_returns: