diff options
| author | HafidBuroiroh <hafidburoiroh09@gmail.com> | 2025-09-25 17:04:52 +0700 |
|---|---|---|
| committer | HafidBuroiroh <hafidburoiroh09@gmail.com> | 2025-09-25 17:04:52 +0700 |
| commit | b29805b2540c357f420580aa746b376f0b4c54bd (patch) | |
| tree | 526bd4a880aa7e75bd8700086343deec4f36483f | |
| parent | 7fed48782b6790be66cf8134eacc36881eeb29d4 (diff) | |
<hafid> refund
| -rw-r--r-- | indoteknik_custom/models/refund_sale_order.py | 102 |
1 files changed, 37 insertions, 65 deletions
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 |
