diff options
Diffstat (limited to 'indoteknik_custom/models/refund_sale_order.py')
| -rw-r--r-- | indoteknik_custom/models/refund_sale_order.py | 48 |
1 files changed, 21 insertions, 27 deletions
diff --git a/indoteknik_custom/models/refund_sale_order.py b/indoteknik_custom/models/refund_sale_order.py index cbc0b717..38ab69fa 100644 --- a/indoteknik_custom/models/refund_sale_order.py +++ b/indoteknik_custom/models/refund_sale_order.py @@ -331,6 +331,7 @@ class RefundSaleOrder(models.Model): so_names = self.env['sale.order'].browse(so_ids).mapped('name') domain = [ ('journal_id', '=', 11), + ('sale_id', '=', False), ('state', '=', 'posted'), ('ref', 'ilike', 'uang muka penjualan'), ('ref', 'not ilike', 'reklas'), @@ -351,30 +352,23 @@ 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: - 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'))) + has_journal = has_moves or has_moves2 or has_moves3 or has_piutangbca or has_piutangmdr or has_misc - # sisanya bisa dijumlahkan tanpa konflik + if has_moves: + sisa_uang_masuk += sum(moves.mapped('amount_total_signed')) if has_moves2: - amounts.append(sum(moves2.mapped('amount_total_signed'))) + sisa_uang_masuk += sum(moves2.mapped('amount_total_signed')) if has_moves3: - amounts.append(sum(moves3.mapped('amount_total_signed'))) + sisa_uang_masuk += sum(moves3.mapped('amount_total_signed')) if has_piutangbca: - amounts.append(sum(piutangbca.mapped('amount_total_signed'))) + sisa_uang_masuk += sum(piutangbca.mapped('amount_total_signed')) if has_piutangmdr: - amounts.append(sum(piutangmdr.mapped('amount_total_signed'))) + sisa_uang_masuk += sum(piutangmdr.mapped('amount_total_signed')) if has_misc: - amounts.append(sum(misc.mapped('amount_total_signed'))) - - sisa_uang_masuk = sum(amounts) + sisa_uang_masuk += sum(misc.mapped('amount_total_signed')) + if has_settlement and not has_journal: + sisa_uang_masuk += sum(ssos.mapped('gross_amount')) if not sisa_uang_masuk: raise UserError( @@ -696,6 +690,7 @@ class RefundSaleOrder(models.Model): domain = [ ('journal_id', '=', 11), + ('sale_id', '=', False), ('state', '=', 'posted'), ('ref', 'ilike', 'uang muka penjualan'), ('ref', 'not ilike', 'reklas'), @@ -717,24 +712,23 @@ class RefundSaleOrder(models.Model): sisa_uang_masuk = 0.0 - amounts = [] + has_journal = has_moves or has_moves2 or has_moves3 or has_piutangbca or has_piutangmdr or has_misc if has_moves: - amounts.append(sum(moves.mapped('amount_total_signed'))) + sisa_uang_masuk += sum(moves.mapped('amount_total_signed')) if has_moves2: - amounts.append(sum(moves2.mapped('amount_total_signed'))) + sisa_uang_masuk += sum(moves2.mapped('amount_total_signed')) if has_moves3: - amounts.append(sum(moves3.mapped('amount_total_signed'))) + sisa_uang_masuk += sum(moves3.mapped('amount_total_signed')) if has_piutangbca: - amounts.append(sum(piutangbca.mapped('amount_total_signed'))) + sisa_uang_masuk += sum(piutangbca.mapped('amount_total_signed')) if has_piutangmdr: - amounts.append(sum(piutangmdr.mapped('amount_total_signed'))) + sisa_uang_masuk += 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(misc.mapped('amount_total_signed')) - sisa_uang_masuk = sum(amounts) + if has_settlement and not has_journal: + sisa_uang_masuk += sum(ssos.mapped('gross_amount')) self.uang_masuk = sisa_uang_masuk - amount_refund_before |
