minor fix change option search loans
This commit is contained in:
parent
876a89e2be
commit
aedd8ae5d6
31
payroll.py
31
payroll.py
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue