From dc9fd38206e9234319e8088717b39cf0770aaad7 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Fri, 19 Sep 2025 17:43:59 +0700 Subject: add role and field dispatch --- indoteknik_custom/models/stock_picking.py | 5 +++-- indoteknik_custom/views/stock_picking.xml | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index 35d408a1..8a81c426 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -89,8 +89,9 @@ class StockPicking(models.Model): readonly=True, related="id", ) - sj_documentation = fields.Binary(string="Dokumentasi Surat Jalan", ) - paket_documentation = fields.Binary(string="Dokumentasi Paket", ) + sj_documentation = fields.Binary(string="Dokumentasi Surat Jalan") + paket_documentation = fields.Binary(string="Dokumentasi Paket") + dispatch_documentation = fields.Binary(string="Dokumentasi Dispatch") sj_return_date = fields.Datetime(string="SJ Return Date", copy=False) responsible = fields.Many2one('res.users', string='Responsible', tracking=True) diff --git a/indoteknik_custom/views/stock_picking.xml b/indoteknik_custom/views/stock_picking.xml index 0e2eb9e4..21762202 100644 --- a/indoteknik_custom/views/stock_picking.xml +++ b/indoteknik_custom/views/stock_picking.xml @@ -235,6 +235,7 @@ + -- cgit v1.2.3 From fabd151ff9a8b4c118062299653c77fd34ea89df Mon Sep 17 00:00:00 2001 From: HafidBuroiroh Date: Thu, 25 Sep 2025 11:22:26 +0700 Subject: add misc in refund --- indoteknik_custom/models/refund_sale_order.py | 33 ++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/models/refund_sale_order.py b/indoteknik_custom/models/refund_sale_order.py index 96082447..f4711faf 100644 --- a/indoteknik_custom/models/refund_sale_order.py +++ b/indoteknik_custom/models/refund_sale_order.py @@ -303,22 +303,35 @@ class RefundSaleOrder(models.Model): ('journal_id', '=', 7), ('state', '=', 'posted'), ]) + + misc = self.env['account.move'].search([ + ('ref', 'ilike', invoices.mapped('name')[0]), + ('journal_id', '=', 13), + ('state', '=', 'posted'), + ]) has_moves = bool(moves) has_piutangmdr = bool(piutangmdr) has_piutangbca = bool(piutangbca) + has_misc = bool(misc) ssos = self.env['sale.order'].browse(so_ids) has_settlement = any(so.payment_status == 'settlement' for so in ssos) sisa_uang_masuk = 0.0 if has_moves and has_settlement: sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(ssos.mapped('gross_amount')) + elif has_moves and has_misc: + sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) elif has_moves: sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) elif has_settlement: sisa_uang_masuk = sum(ssos.mapped('gross_amount')) + elif has_piutangbca and has_misc: + sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) elif has_piutangbca: sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + elif has_piutangmdr and has_misc: + sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) elif has_piutangmdr: sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) else: @@ -528,8 +541,14 @@ class RefundSaleOrder(models.Model): ('journal_id', '=', 7), ('state', '=', 'posted'), ]) + + misc = self.env['account.move'].search([ + ('ref', 'ilike', invoice_ids.mapped('name')[0]), + ('journal_id', '=', 13), + ('state', '=', 'posted'), + ]) - all_moves = moves | piutangbca | piutangmdr + all_moves = moves | piutangbca | piutangmdr | misc for move in all_moves: url = f"/web#id={move.id}&model=account.move&view_type=form" @@ -581,21 +600,33 @@ class RefundSaleOrder(models.Model): ('journal_id', '=', 7), ('state', '=', 'posted'), ]) + misc = self.env['account.move'].search([ + ('ref', 'ilike', all_invoices.mapped('name')[0]), + ('journal_id', '=', 13), + ('state', '=', 'posted'), + ]) has_moves = bool(moves) has_piutangmdr = bool(piutangmdr) has_piutangbca = bool(piutangbca) + has_misc = bool(misc) ssos = self.env['sale.order'].browse(so_ids) has_settlement = any(so.payment_status == 'settlement' for so in ssos) sisa_uang_masuk = 0.0 if has_moves and has_settlement: sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(ssos.mapped('gross_amount')) + if has_moves and has_misc: + sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) elif has_moves: sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) elif has_settlement: sisa_uang_masuk = sum(ssos.mapped('gross_amount')) + elif has_piutangbca and has_misc: + sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) elif has_piutangbca: sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + elif has_piutangmdr and has_misc: + sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) elif has_piutangmdr: sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) -- cgit v1.2.3 From 5a91286d678df3dc7e1ef1c0105211fb9f9425f2 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Thu, 25 Sep 2025 11:44:37 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index 9ff7e718..e52ac848 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -61,9 +61,7 @@ Alamat Pengiriman
PT. Indoteknik Dotcom Gemilang
- Jl. Bandengan Utara Komp A 8 B - RT. Penjaringan, Kec. Penjaringan, Jakarta - (BELAKANG INDOMARET)
+Jl. Bandengan Utara Raya No.85A, RW.16, Penjaringan, Kecamatan Penjaringan, Jkt Utara
Daerah Khusus Ibukota Jakarta 14440 -- cgit v1.2.3 From d6c0d83b317aa89683e825f20c04842e532de4e1 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Thu, 25 Sep 2025 11:53:41 +0700 Subject: PUSH --- indoteknik_custom/report/purchase_report.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index e52ac848..11c36dc6 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -61,7 +61,7 @@ Alamat Pengiriman
PT. Indoteknik Dotcom Gemilang
-Jl. Bandengan Utara Raya No.85A, RW.16, Penjaringan, Kecamatan Penjaringan, Jkt Utara
+Jl. Bandengan Utara Raya No. 85A, 8-9 RT.3/RW.16, Penjaringan, Kecamatan Penjaringan, Jkt Utara
Daerah Khusus Ibukota Jakarta 14440 -- cgit v1.2.3 From 66222ebc7fa538749e8ac1377cde95950639dbd6 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Thu, 25 Sep 2025 11:54:44 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index 11c36dc6..9ff7e718 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -61,7 +61,9 @@ Alamat Pengiriman
PT. Indoteknik Dotcom Gemilang
-Jl. Bandengan Utara Raya No. 85A, 8-9 RT.3/RW.16, Penjaringan, Kecamatan Penjaringan, Jkt Utara
+ Jl. Bandengan Utara Komp A 8 B + RT. Penjaringan, Kec. Penjaringan, Jakarta + (BELAKANG INDOMARET)
Daerah Khusus Ibukota Jakarta 14440 -- cgit v1.2.3 From 66d6b9ec9de0bd96363bffbbadb3043ee4873716 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Thu, 25 Sep 2025 13:13:50 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index 9ff7e718..3521edb7 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -61,9 +61,7 @@ Alamat Pengiriman
PT. Indoteknik Dotcom Gemilang
- Jl. Bandengan Utara Komp A 8 B - RT. Penjaringan, Kec. Penjaringan, Jakarta - (BELAKANG INDOMARET)
+ Jl. Bandengan Utara Raya No. 85A, 8-9 RT.3/RW.16, Penjaringan, Kecamatan Penjaringan, Jkt Utara
Daerah Khusus Ibukota Jakarta 14440 -- cgit v1.2.3 From 49aac1b287d6aaa389d7b9c17f60841e2294f4dd Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Thu, 25 Sep 2025 13:15:02 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index 3521edb7..9ff7e718 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -61,7 +61,9 @@ Alamat Pengiriman
PT. Indoteknik Dotcom Gemilang
- Jl. Bandengan Utara Raya No. 85A, 8-9 RT.3/RW.16, Penjaringan, Kecamatan Penjaringan, Jkt Utara
+ Jl. Bandengan Utara Komp A 8 B + RT. Penjaringan, Kec. Penjaringan, Jakarta + (BELAKANG INDOMARET)
Daerah Khusus Ibukota Jakarta 14440 -- cgit v1.2.3 From 88a5f39629ac6f5700af27a8144dd3a761e5aa41 Mon Sep 17 00:00:00 2001 From: HafidBuroiroh Date: Thu, 25 Sep 2025 13:31:45 +0700 Subject: refund --- indoteknik_custom/models/refund_sale_order.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/models/refund_sale_order.py b/indoteknik_custom/models/refund_sale_order.py index f4711faf..eca781e2 100644 --- a/indoteknik_custom/models/refund_sale_order.py +++ b/indoteknik_custom/models/refund_sale_order.py @@ -542,11 +542,14 @@ class RefundSaleOrder(models.Model): ('state', '=', 'posted'), ]) - misc = self.env['account.move'].search([ - ('ref', 'ilike', invoice_ids.mapped('name')[0]), - ('journal_id', '=', 13), - ('state', '=', 'posted'), - ]) + misc = self.env['account.move'] + if invoice_ids: + invoice_name = invoice_ids.mapped('name')[0] + misc = self.env['account.move'].search([ + ('ref', 'ilike', invoice_name), + ('journal_id', '=', 13), + ('state', '=', 'posted'), + ]) all_moves = moves | piutangbca | piutangmdr | misc -- cgit v1.2.3 From 07502e1f93e166abea766c8b4b50ed2e94639df8 Mon Sep 17 00:00:00 2001 From: HafidBuroiroh Date: Thu, 25 Sep 2025 13:44:25 +0700 Subject: refund --- indoteknik_custom/models/refund_sale_order.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/models/refund_sale_order.py b/indoteknik_custom/models/refund_sale_order.py index eca781e2..2a6a9d9b 100644 --- a/indoteknik_custom/models/refund_sale_order.py +++ b/indoteknik_custom/models/refund_sale_order.py @@ -306,6 +306,7 @@ class RefundSaleOrder(models.Model): misc = self.env['account.move'].search([ ('ref', 'ilike', invoices.mapped('name')[0]), + ('ref', 'not ilike', 'reklas'), ('journal_id', '=', 13), ('state', '=', 'posted'), ]) @@ -547,6 +548,7 @@ class RefundSaleOrder(models.Model): invoice_name = invoice_ids.mapped('name')[0] misc = self.env['account.move'].search([ ('ref', 'ilike', invoice_name), + ('ref', 'not ilike', 'reklas'), ('journal_id', '=', 13), ('state', '=', 'posted'), ]) @@ -605,6 +607,7 @@ class RefundSaleOrder(models.Model): ]) misc = self.env['account.move'].search([ ('ref', 'ilike', all_invoices.mapped('name')[0]), + ('ref', 'not ilike', 'reklas'), ('journal_id', '=', 13), ('state', '=', 'posted'), ]) -- cgit v1.2.3 From 49368fcb139eac9de0f1787fdd1477570ed9dbda Mon Sep 17 00:00:00 2001 From: Miqdad Date: Thu, 25 Sep 2025 16:03:29 +0700 Subject: global pj seen --- indoteknik_custom/models/purchasing_job.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/models/purchasing_job.py b/indoteknik_custom/models/purchasing_job.py index db733b5a..d830bf60 100644 --- a/indoteknik_custom/models/purchasing_job.py +++ b/indoteknik_custom/models/purchasing_job.py @@ -29,20 +29,25 @@ class PurchasingJob(models.Model): so_number = fields.Text(string='SO Number', copy=False) check_pj = fields.Boolean(compute='_get_check_pj', string='Linked') + def action_open_job_detail(self): self.ensure_one() Seen = self.env['purchasing.job.seen'] + seen = Seen.search([ - ('user_id', '=', self.env.uid), ('product_id', '=', self.product_id.id) ], limit=1) if seen: - seen.so_snapshot = self.so_number - seen.seen_date = fields.Datetime.now() + # update snapshot & tanggal + (opsional) siapa yg terakhir lihat + seen.write({ + 'so_snapshot': self.so_number, + 'seen_date': fields.Datetime.now(), + 'user_id': self.env.user.id, # kalau user_id tetap dipakai sbg last_seen_by + }) else: Seen.create({ - 'user_id': self.env.uid, + 'user_id': self.env.user.id, # atau False kalau mau kosongkan 'product_id': self.product_id.id, 'so_snapshot': self.so_number, }) @@ -56,17 +61,13 @@ class PurchasingJob(models.Model): 'target': 'current', } - @api.depends('so_number') def _get_check_pj(self): + Seen = self.env['purchasing.job.seen'] for rec in self: - seen = self.env['purchasing.job.seen'].search([ - ('user_id', '=', self.env.uid), - ('product_id', '=', rec.product_id.id) - ], limit=1) + seen = Seen.search([('product_id', '=', rec.product_id.id)], limit=1) rec.check_pj = bool(seen and seen.so_snapshot == rec.so_number) - def unlink(self): # Example: Delete related records from the underlying model underlying_records = self.env['purchasing.job'].search([ -- cgit v1.2.3 From 1299851d0d6280d92ccc4123a82ea083a92bc7ec Mon Sep 17 00:00:00 2001 From: Miqdad Date: Thu, 25 Sep 2025 16:06:22 +0700 Subject: global pj seen --- indoteknik_custom/models/purchasing_job.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/models/purchasing_job.py b/indoteknik_custom/models/purchasing_job.py index d830bf60..3151f0f6 100644 --- a/indoteknik_custom/models/purchasing_job.py +++ b/indoteknik_custom/models/purchasing_job.py @@ -39,15 +39,13 @@ class PurchasingJob(models.Model): ], limit=1) if seen: - # update snapshot & tanggal + (opsional) siapa yg terakhir lihat seen.write({ 'so_snapshot': self.so_number, 'seen_date': fields.Datetime.now(), - 'user_id': self.env.user.id, # kalau user_id tetap dipakai sbg last_seen_by - }) + 'user_id': self.env.user.id, }) else: Seen.create({ - 'user_id': self.env.user.id, # atau False kalau mau kosongkan + 'user_id': self.env.user.id, 'product_id': self.product_id.id, 'so_snapshot': self.so_number, }) -- cgit v1.2.3 From 7fed48782b6790be66cf8134eacc36881eeb29d4 Mon Sep 17 00:00:00 2001 From: HafidBuroiroh Date: Thu, 25 Sep 2025 16:11:07 +0700 Subject: refund --- indoteknik_custom/models/refund_sale_order.py | 86 ++++++++++++++++++++++++++- indoteknik_custom/models/sale_order.py | 17 ++++++ 2 files changed, 101 insertions(+), 2 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/models/refund_sale_order.py b/indoteknik_custom/models/refund_sale_order.py index 2a6a9d9b..ae8df4ef 100644 --- a/indoteknik_custom/models/refund_sale_order.py +++ b/indoteknik_custom/models/refund_sale_order.py @@ -310,8 +310,22 @@ class RefundSaleOrder(models.Model): ('journal_id', '=', 13), ('state', '=', 'posted'), ]) + moves2 = self.env['account.move'] + if so_ids: + so_names = self.env['sale.order'].browse(so_ids).mapped('name') + domain = [ + ('journal_id', '=', 11), + ('state', '=', 'posted'), + ('ref', 'ilike', 'dp') + ] + if so_names: + domain += ['|'] * (len(so_names) - 1) + for n in so_names: + domain.append(('ref', 'ilike', n)) + moves2 = self.env['account.move'].search(domain) has_moves = bool(moves) + has_moves2 = bool(moves2) has_piutangmdr = bool(piutangmdr) has_piutangbca = bool(piutangbca) has_misc = bool(misc) @@ -319,20 +333,38 @@ class RefundSaleOrder(models.Model): has_settlement = any(so.payment_status == 'settlement' for so in ssos) sisa_uang_masuk = 0.0 + if has_moves and has_settlement: sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(ssos.mapped('gross_amount')) + elif has_moves2: + sisa_uang_masuk = sum(moves2.mapped('amount_total_signed')) elif has_moves and has_misc: sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + elif has_moves and has_misc and has_moves2: + sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) + elif has_moves and has_moves2: + sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) elif has_moves: sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + elif has_settlement: sisa_uang_masuk = sum(ssos.mapped('gross_amount')) + + elif has_piutangbca and has_misc and has_moves2: + sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) elif has_piutangbca and has_misc: sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + elif has_piutangbca and has_moves2: + sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) elif has_piutangbca: sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + + elif has_piutangmdr and has_misc and has_moves2: + sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) elif has_piutangmdr and has_misc: sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + elif has_piutangmdr and has_moves2: + sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) elif has_piutangmdr: sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) else: @@ -542,6 +574,21 @@ class RefundSaleOrder(models.Model): ('journal_id', '=', 7), ('state', '=', 'posted'), ]) + + moves2 = self.env['account.move'] + if rec.sale_order_ids: + so_names = rec.sale_order_ids.mapped('name') + + domain = [ + ('journal_id', '=', 11), + ('state', '=', 'posted'), + ('ref', 'ilike', 'dp') + ] + domain += ['|'] * (len(so_names) - 1) + for n in so_names: + domain.append(('ref', 'ilike', n)) + + moves2 = self.env['account.move'].search(domain) misc = self.env['account.move'] if invoice_ids: @@ -553,7 +600,7 @@ class RefundSaleOrder(models.Model): ('state', '=', 'posted'), ]) - all_moves = moves | piutangbca | piutangmdr | misc + all_moves = moves | piutangbca | piutangmdr | misc | moves2 for move in all_moves: url = f"/web#id={move.id}&model=account.move&view_type=form" @@ -611,7 +658,24 @@ class RefundSaleOrder(models.Model): ('journal_id', '=', 13), ('state', '=', 'posted'), ]) + moves2 = self.env['account.move'] + if so_ids: + so_records = self.env['sale.order'].browse(so_ids) + so_names = so_records.mapped('name') + + domain = [ + ('journal_id', '=', 11), + ('state', '=', 'posted'), + ('ref', 'ilike', 'dp') + ] + domain += ['|'] * (len(so_names) - 1) + for n in so_names: + domain.append(('ref', 'ilike', n)) + + moves2 = self.env['account.move'].search(domain) + has_moves = bool(moves) + has_moves2 = bool(moves2) has_piutangmdr = bool(piutangmdr) has_piutangbca = bool(piutangbca) has_misc = bool(misc) @@ -619,20 +683,38 @@ class RefundSaleOrder(models.Model): has_settlement = any(so.payment_status == 'settlement' for so in ssos) sisa_uang_masuk = 0.0 + if has_moves and has_settlement: sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(ssos.mapped('gross_amount')) - if has_moves and has_misc: + elif has_moves2: + sisa_uang_masuk = sum(moves2.mapped('amount_total_signed')) + elif has_moves and has_misc: sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + elif has_moves and has_misc and has_moves2: + sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) + elif has_moves and has_moves2: + sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) elif has_moves: sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + elif has_settlement: sisa_uang_masuk = sum(ssos.mapped('gross_amount')) + elif has_piutangbca and has_misc: sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + elif has_piutangbca and has_misc and has_moves2: + sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) + elif has_piutangbca and has_moves2: + sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) elif has_piutangbca: sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + + elif has_piutangmdr and has_misc and has_moves2: + sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) elif has_piutangmdr and has_misc: sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + elif has_piutangmdr and has_moves2: + sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) elif has_piutangmdr: sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 39830ffc..36dcbb4e 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -3278,10 +3278,17 @@ class SaleOrder(models.Model): ('state', '=', 'posted'), ]) + moves2 = self.env['account.move'].search([ + ('ref', 'ilike', self.name), + ('journal_id', '=', 11), + ('state', '=', 'posted'), + ]) + # Default 0 total_uang_muka = 0.0 has_moves = bool(moves) + has_moves2 = bool(moves2) has_piutangmdr = bool(piutangmdr) has_piutangbca = bool(piutangbca) has_settlement = self.payment_status == 'settlement' @@ -3290,6 +3297,8 @@ class SaleOrder(models.Model): total_uang_muka = sum(moves.mapped('amount_total_signed')) + self.gross_amount elif has_moves: total_uang_muka = sum(moves.mapped('amount_total_signed')) + elif has_moves2: + total_uang_muka = sum(moves2.mapped('amount_total_signed')) elif has_settlement: total_uang_muka = self.gross_amount elif has_piutangbca: @@ -3377,12 +3386,20 @@ class SaleOrder(models.Model): ('state', '=', 'posted'), ]) + moves2 = self.env['account.move'].search([ + ('ref', 'ilike', order.name), + ('journal_id', '=', 11), + ('state', '=', 'posted'), + ]) + total_uang_muka = 0.0 if moves and order.payment_status == 'settlement': total_uang_muka = order.gross_amount + sum(moves.mapped('amount_total_signed')) or 0.0 elif moves: total_uang_muka = sum(moves.mapped('amount_total_signed')) or 0.0 + elif moves2: + total_uang_muka = sum(moves2.mapped('amount_total_signed')) or 0.0 elif order.payment_status == 'settlement': total_uang_muka = order.gross_amount else: -- cgit v1.2.3 From b29805b2540c357f420580aa746b376f0b4c54bd Mon Sep 17 00:00:00 2001 From: HafidBuroiroh Date: Thu, 25 Sep 2025 17:04:52 +0700 Subject: refund --- indoteknik_custom/models/refund_sale_order.py | 102 ++++++++++---------------- 1 file changed, 37 insertions(+), 65 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/models/refund_sale_order.py b/indoteknik_custom/models/refund_sale_order.py index ae8df4ef..820a58f7 100644 --- a/indoteknik_custom/models/refund_sale_order.py +++ b/indoteknik_custom/models/refund_sale_order.py @@ -333,41 +333,30 @@ class RefundSaleOrder(models.Model): has_settlement = any(so.payment_status == 'settlement' for so in ssos) sisa_uang_masuk = 0.0 + amounts = [] if has_moves and has_settlement: - sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(ssos.mapped('gross_amount')) - elif has_moves2: - sisa_uang_masuk = sum(moves2.mapped('amount_total_signed')) - elif has_moves and has_misc: - sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) - elif has_moves and has_misc and has_moves2: - sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) - elif has_moves and has_moves2: - sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) - elif has_moves: - sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) - - elif has_settlement: - sisa_uang_masuk = sum(ssos.mapped('gross_amount')) - - elif has_piutangbca and has_misc and has_moves2: - sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) - elif has_piutangbca and has_misc: - sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) - elif has_piutangbca and has_moves2: - sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) - elif has_piutangbca: - sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) - - elif has_piutangmdr and has_misc and has_moves2: - sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) - elif has_piutangmdr and has_misc: - sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) - elif has_piutangmdr and has_moves2: - sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) - elif has_piutangmdr: - sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + amounts.append(sum(moves.mapped('amount_total_signed'))) + amounts.append(sum(ssos.mapped('gross_amount'))) else: + if has_moves: + amounts.append(sum(moves.mapped('amount_total_signed'))) + if has_settlement: + amounts.append(sum(ssos.mapped('gross_amount'))) + + # sisanya bisa dijumlahkan tanpa konflik + if has_moves2: + amounts.append(sum(moves2.mapped('amount_total_signed'))) + if has_piutangbca: + amounts.append(sum(piutangbca.mapped('amount_total_signed'))) + if has_piutangmdr: + amounts.append(sum(piutangmdr.mapped('amount_total_signed'))) + if has_misc: + amounts.append(sum(misc.mapped('amount_total_signed'))) + + sisa_uang_masuk = sum(amounts) + + if not sisa_uang_masuk: raise UserError( "❌ Tidak bisa melakukan refund karena SO tidak memiliki Record Uang Masuk " "(Journal Uang Muka / Payment Invoices / Midtrans Payment)." @@ -684,39 +673,22 @@ class RefundSaleOrder(models.Model): sisa_uang_masuk = 0.0 - if has_moves and has_settlement: - sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(ssos.mapped('gross_amount')) - elif has_moves2: - sisa_uang_masuk = sum(moves2.mapped('amount_total_signed')) - elif has_moves and has_misc: - sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) - elif has_moves and has_misc and has_moves2: - sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) - elif has_moves and has_moves2: - sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) - elif has_moves: - sisa_uang_masuk = sum(moves.mapped('amount_total_signed')) - - elif has_settlement: - sisa_uang_masuk = sum(ssos.mapped('gross_amount')) - - elif has_piutangbca and has_misc: - sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) - elif has_piutangbca and has_misc and has_moves2: - sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) - elif has_piutangbca and has_moves2: - sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) - elif has_piutangbca: - sisa_uang_masuk = sum(piutangbca.mapped('amount_total_signed')) - - elif has_piutangmdr and has_misc and has_moves2: - sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) - elif has_piutangmdr and has_misc: - sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(misc.mapped('amount_total_signed')) - elif has_piutangmdr and has_moves2: - sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + sum(moves2.mapped('amount_total_signed')) - elif has_piutangmdr: - sisa_uang_masuk = sum(piutangmdr.mapped('amount_total_signed')) + amounts = [] + + if has_moves: + amounts.append(sum(moves.mapped('amount_total_signed'))) + if has_moves2: + amounts.append(sum(moves2.mapped('amount_total_signed'))) + if has_piutangbca: + amounts.append(sum(piutangbca.mapped('amount_total_signed'))) + if has_piutangmdr: + amounts.append(sum(piutangmdr.mapped('amount_total_signed'))) + if has_misc: + amounts.append(sum(misc.mapped('amount_total_signed'))) + if has_settlement: + amounts.append(sum(ssos.mapped('gross_amount'))) + + sisa_uang_masuk = sum(amounts) self.uang_masuk = sisa_uang_masuk - amount_refund_before -- cgit v1.2.3 From 9e32342e44bc8b177118e99069466213201f3179 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Fri, 26 Sep 2025 09:33:44 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index 9ff7e718..a475dd50 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -61,9 +61,7 @@ Alamat Pengiriman
PT. Indoteknik Dotcom Gemilang
- Jl. Bandengan Utara Komp A 8 B - RT. Penjaringan, Kec. Penjaringan, Jakarta - (BELAKANG INDOMARET)
+ Jl. Bandengan Utara Raya No. 85A, 8-9 RT.3/RW.16, Penjaringan, Kecamatan Penjaringan, Jkt Utara
Daerah Khusus Ibukota Jakarta 14440 @@ -97,7 +95,7 @@
- . + .
-- cgit v1.2.3 From 63d6df941bd969241adfac9297b158800acf2ec9 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Fri, 26 Sep 2025 09:50:44 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index a475dd50..79d25fc2 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -95,7 +95,7 @@
- . + .
-- cgit v1.2.3 From 55bcfcd6a154514641e86fee8aaba898d92aa206 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Fri, 26 Sep 2025 10:07:21 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index 79d25fc2..a475dd50 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -95,7 +95,7 @@
- . + .
-- cgit v1.2.3 From d8c8bf828ed1443a51476cf10a919218eadcb81c Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Fri, 26 Sep 2025 10:14:17 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index a475dd50..3521edb7 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -95,7 +95,7 @@
- . + .
-- cgit v1.2.3 From 1b1d71ef630d39df589e0d40b66ebf4c840d87e4 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Fri, 26 Sep 2025 10:20:35 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index 3521edb7..23fa4d52 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -61,7 +61,9 @@ Alamat Pengiriman
PT. Indoteknik Dotcom Gemilang
- Jl. Bandengan Utara Raya No. 85A, 8-9 RT.3/RW.16, Penjaringan, Kecamatan Penjaringan, Jkt Utara
+ Jl. Bandengan Utara Komp A 8 B + RT. Penjaringan, Kec. Penjaringan, Jakarta + (BELAKANG INDOMARET)
Daerah Khusus Ibukota Jakarta 14440 @@ -95,7 +97,7 @@
- . + .
-- cgit v1.2.3 From be3147ec7145002858cb551a595f75568ba24fc1 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Fri, 26 Sep 2025 13:57:44 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index 23fa4d52..9ff7e718 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -97,7 +97,7 @@
- . + .
-- cgit v1.2.3 From e449c1310f8a1e5a97f84f461dcb813a3b67a2b6 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Fri, 26 Sep 2025 14:07:58 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index 9ff7e718..23fa4d52 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -97,7 +97,7 @@
- . + .
-- cgit v1.2.3 From 23b8dfa4a6bd56a80f13af700655166e6d7afce4 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Fri, 26 Sep 2025 14:26:46 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index 23fa4d52..b29d87ba 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -99,6 +99,9 @@ . + + + -- cgit v1.2.3 From 51f50fd417b6745872724bcc98737ea1df2c413f Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Fri, 26 Sep 2025 14:38:11 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 3 --- 1 file changed, 3 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index b29d87ba..23fa4d52 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -99,9 +99,6 @@ . - - - -- cgit v1.2.3 From 3de421c1b8b21c56399c46f85c9d395023c68617 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Fri, 26 Sep 2025 14:54:35 +0700 Subject: add payment term in Due extension --- indoteknik_custom/models/account_move_due_extension.py | 8 +++++++- indoteknik_custom/views/account_move_views.xml | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/models/account_move_due_extension.py b/indoteknik_custom/models/account_move_due_extension.py index 40059bd9..55fc6c65 100644 --- a/indoteknik_custom/models/account_move_due_extension.py +++ b/indoteknik_custom/models/account_move_due_extension.py @@ -13,6 +13,7 @@ class DueExtension(models.Model): number = fields.Char(string='Document No', index=True, copy=False, readonly=True, tracking=True) partner_id = fields.Many2one('res.partner', string="Customer", readonly=True) + payment_term = fields.Char(string="Payment Term", readonly=True, compute='_compute_payment_term') order_id = fields.Many2one('sale.order', string="SO", readonly=True) amount_total = fields.Monetary( string="Amount Total SO", @@ -43,7 +44,12 @@ class DueExtension(models.Model): counter = fields.Integer(string="Counter", compute='_compute_counter') approve_by = fields.Many2one('res.users', string="Approve By", readonly=True) date_approve = fields.Datetime(string="Date Approve", readonly=True) - + + @api.depends('partner_id') + def _compute_payment_term(self): + for rec in self: + rec.payment_term = rec.partner_id.property_payment_term_id.name + @api.depends('order_id') def _compute_amount_total(self): for rec in self: diff --git a/indoteknik_custom/views/account_move_views.xml b/indoteknik_custom/views/account_move_views.xml index 7c1f8913..08b93f1f 100644 --- a/indoteknik_custom/views/account_move_views.xml +++ b/indoteknik_custom/views/account_move_views.xml @@ -66,7 +66,8 @@ - + + -- cgit v1.2.3 From f714a29bc051d029d5ac34f46c3cabfcb64478e0 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Fri, 26 Sep 2025 16:56:13 +0700 Subject: add p stephan --- indoteknik_custom/models/refund_sale_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/models/refund_sale_order.py b/indoteknik_custom/models/refund_sale_order.py index 820a58f7..de9870f6 100644 --- a/indoteknik_custom/models/refund_sale_order.py +++ b/indoteknik_custom/models/refund_sale_order.py @@ -954,7 +954,7 @@ class RefundSaleOrder(models.Model): if not rec.status or rec.status == 'draft': rec.status = 'pengajuan1' - elif rec.status == 'pengajuan1' and self.env.user.id == 19: + elif rec.status == 'pengajuan1' and self.env.user.id in [19, 28]: rec.status = 'pengajuan2' rec.approved_by = f"{rec.approved_by}, {user_name}" if rec.approved_by else user_name rec.date_approved_sales = now -- cgit v1.2.3 From 5bdbd5b5d441aabf55d5e817fffd88328a532e28 Mon Sep 17 00:00:00 2001 From: HafidBuroiroh Date: Sat, 27 Sep 2025 09:21:25 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index 23fa4d52..c93c9d3b 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -61,9 +61,8 @@ Alamat Pengiriman
PT. Indoteknik Dotcom Gemilang
- Jl. Bandengan Utara Komp A 8 B - RT. Penjaringan, Kec. Penjaringan, Jakarta - (BELAKANG INDOMARET)
+ Jl. Bandengan Utara 85A No.8-9, + RT.3/RW.16, Penjaringan, Kecamatan Penjaringan, Jakarta,
Daerah Khusus Ibukota Jakarta 14440 -- cgit v1.2.3 From 7727fe4bd298c407d0c8b2fc64e57b7f2abe885e Mon Sep 17 00:00:00 2001 From: HafidBuroiroh Date: Sat, 27 Sep 2025 09:25:45 +0700 Subject: push --- indoteknik_custom/report/purchase_report.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/report/purchase_report.xml b/indoteknik_custom/report/purchase_report.xml index c93c9d3b..23fa4d52 100644 --- a/indoteknik_custom/report/purchase_report.xml +++ b/indoteknik_custom/report/purchase_report.xml @@ -61,8 +61,9 @@ Alamat Pengiriman
PT. Indoteknik Dotcom Gemilang
- Jl. Bandengan Utara 85A No.8-9, - RT.3/RW.16, Penjaringan, Kecamatan Penjaringan, Jakarta,
+ Jl. Bandengan Utara Komp A 8 B + RT. Penjaringan, Kec. Penjaringan, Jakarta + (BELAKANG INDOMARET)
Daerah Khusus Ibukota Jakarta 14440 -- cgit v1.2.3 From ec21c4721f35028fc9b2a61bd0dbc6e4bf600e74 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Sun, 28 Sep 2025 10:43:27 +0700 Subject: fix state retur ccm stuck at waiting for operation --- indoteknik_custom/models/tukar_guling.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'indoteknik_custom') diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py index c683f75a..cb630a04 100644 --- a/indoteknik_custom/models/tukar_guling.py +++ b/indoteknik_custom/models/tukar_guling.py @@ -538,6 +538,11 @@ class TukarGuling(models.Model): self.state = 'approval_sales' def update_doc_state(self): + bu_pick = self.env['stock.picking'].search([ + ('origin', '=', self.operations.origin), + ('name', 'ilike', 'BU/PICK'), + ]) + # OUT tukar guling if self.operations.picking_type_id.id == 29 and self.return_type == 'tukar_guling': total_out = self.env['stock.picking'].search_count([ @@ -552,7 +557,26 @@ class TukarGuling(models.Model): if self.state == 'approved' and total_out > 0 and done_out == total_out: self.state = 'done' - # OUT revisi SO + #SO Lama (gk ada bu pick) + elif self.operations.picking_type_id.id == 29 and self.return_type == 'retur_so' and not bu_pick: + # so_lama = self.env['sale.order'].search([ + # ('name', '=', self.operations.origin), + # ('state', '=', 'done'), + # ('group_id.name', '=', self.operations.origin) + # ]) + total_ort = self.env['stock.picking'].search_count([ + ('tukar_guling_id', '=', self.id), + ('picking_type_id', '=', 74), + ]) + done_srt = self.env['stock.picking'].search([ + ('tukar_guling_id', '=', self.id), + ('picking_type_id', '=', 73), + ('state', '=', 'done') + ]) + if self.state == 'approved' and total_ort == 0 and done_srt and not bu_pick: + self.state = 'done' + + # OUT retur SO elif self.operations.picking_type_id.id == 29 and self.return_type == 'retur_so': total_ort = self.env['stock.picking'].search_count([ ('tukar_guling_id', '=', self.id), -- cgit v1.2.3