minor fix change option search loans

This commit is contained in:
Wilson Gomez 2022-12-16 14:34:35 -05:00
parent 876a89e2be
commit aedd8ae5d6
1 changed files with 15 additions and 16 deletions

View File

@ -380,10 +380,11 @@ class Payroll(metaclass=PoolMeta):
PayrollLine = pool.get('staff.payroll.line')
LoanLine = pool.get('staff.loan.line')
self.process_loans_to_pay(LoanLine, PayrollLine, MoveLine)
for line in self.lines:
to_write = {}
if line.wage_type.type_concept == 'loan':
self.process_loans_to_pay(line, LoanLine, PayrollLine, MoveLine)
# if line.wage_type.type_concept == 'loan':
# self.process_loans_to_pay(line, LoanLine, PayrollLine, MoveLine)
if line.wage_type.provision_cancellation:
amount_line = [m.amount for m in self.lines if m.wage_type
@ -417,38 +418,36 @@ class Payroll(metaclass=PoolMeta):
}
PayrollLine.write([line], to_write)
def process_loans_to_pay(self, line, LoanLine, PayrollLine, MoveLine):
def process_loans_to_pay(self, LoanLine, PayrollLine, MoveLine):
dom = [
('loan.party', '=', self.employee.party.id),
('loan.account_debit', '=', line.wage_type.credit_account.id),
('loan.wage_type', '!=', None),
('maturity_date', '<=', self.end),
('state', 'in', ['pending', 'partial']),
]
lines_loan = LoanLine.search(dom)
to_write = {}
for m, r in zip(lines_loan, range(len(lines_loan))):
party = m.loan.party_to_pay if m.loan.party_to_pay else None
move_lines = MoveLine.search([
('origin', 'in', ['staff.loan.line,' + str(m)]),
])
wage_type = m.loan.wage_type
amount = m.amount
line_ = line
if r == 0:
to_write = {
to_create = {
'origin': m,
'party': party,
'quantity': 1,
'uom': wage_type.uom,
'unit_value': amount,
'move_lines': [('add', move_lines)]
'move_lines': [('add', move_lines)],
'wage_type': wage_type,
'description': wage_type.name,
'payroll': self,
}
else:
res = self.get_line(line.wage_type, 1, amount, party=party)
res['origin'] = m
res['move_lines'] = [('add', move_lines)]
line_, = PayrollLine.create([res])
LoanLine.write([m], {'state': 'paid', 'origin': line_})
PayrollLine.write([line], to_write)
line, = PayrollLine.create([to_create])
LoanLine.write([m], {'state': 'paid', 'origin': line})
def search_salary_month(self, wage):
res = _ZERO