Merge pull request #2170 from expsa/manar_dev_hr_21_1

UPDATE exp_payroll_custom
This commit is contained in:
Manar416 2025-01-21 11:36:56 +02:00 committed by GitHub
commit 85c8a51efe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 38 additions and 17 deletions

View File

@ -2967,6 +2967,7 @@ class HrPayslipRun(models.Model):
for line in self.slip_ids:
total_allow, total_ded, total_loan = 0.0, 0.0, 0.0
total_list = []
total_loan_list = []
move_vals = dict()
journal = self.journal_id
if list_of_vals:
@ -3009,39 +3010,51 @@ class HrPayslipRun(models.Model):
if not lo.account_id:
raise exceptions.Warning(
_('Sorry The Loan %s is Not account Set') % lo.name)
credit_loans_vals = {
loan_line_vals = {
'name': lo.name,
'credit': amount_loans,
'journal_id': journal.id,
'debit': 0,
'journal_id': journal.id,
'account_id': lo.account_id.id,
'partner_id': line.employee_id.user_id.partner_id.id,
}
total_loan_list.append(loan_line_vals)
total_loan += amount_loans
total_list.append(credit_loans_vals)
# credit_loans_vals = {
# 'name': lo.name,
# 'credit': amount_loans,
# 'journal_id': journal.id,
# 'debit': 0,
# 'account_id': lo.account_id.id,
# }
# total_list.append(credit_loans_vals)
# create line for total of all allowance, deduction, loans of all employees
total_of_list.append({
'name': "Total",
'journal_id': journal.id,
'partner_id': line.employee_id.user_id.partner_id.id,
'account_id': journal.default_account_id.id,
'credit': total_allow - total_ded - total_loan,
'debit': 0,
})
if not move_vals:
move_vals.update({'move': journal.id, 'list_ids': total_list})
move_vals.update({'move': journal.id, 'list_ids': total_list, 'loans': total_loan_list})
list_of_vals.append(move_vals)
else:
new_list = move_vals.get('list_ids')
new_list.extend(total_list)
move_vals.update({'list_ids': new_list})
new_loan_list = move_vals.get('loans')
new_loan_list.extend(total_loan_list)
move_vals.update({'list_ids': new_list, 'loans': new_loan_list})
for record in list_of_vals:
new_record_list = record.get('list_ids') + [d for d in total_of_list if
d['journal_id'] == record.get('move')]
#print('new record list', new_record_list)
new_rec_loan_list = record.get('loans')
merged_list = self.merge_lists(new_record_list, 'name', 'account_id')
#print('merged', merged_list)
record_final_item = merged_list
#print('record lines', record_final_item)
record_final_item = merged_list + new_rec_loan_list
move = self.env['account.move'].create({
'state': 'draft',
'journal_id': record.get('move'),
@ -3064,6 +3077,7 @@ class HrPayslipRun(models.Model):
total_allow, total_ded, total_loan = 0.0, 0.0, 0.0
for line in self.slip_ids:
total_list = []
total_loan_list = []
move_vals = dict()
journal = self.journal_id
if list_of_vals:
@ -3117,7 +3131,7 @@ class HrPayslipRun(models.Model):
'analytic_account_id': None,
}
total_loan += amount_loans
total_list.append(credit_loans_vals)
total_loan_list.append(credit_loans_vals)
# Get the department of the employee
department = line.employee_id.department_id
@ -3128,12 +3142,14 @@ class HrPayslipRun(models.Model):
else:
department_totals[department] = total_allow
if not move_vals:
move_vals.update({'move': journal.id, 'list_ids': total_list})
move_vals.update({'move': journal.id, 'list_ids': total_list, 'loans': total_loan_list})
list_of_vals.append(move_vals)
else:
new_list = move_vals.get('list_ids')
new_list.extend(total_list)
move_vals.update({'list_ids': new_list})
new_loan_list = move_vals.get('loans')
new_loan_list.extend(total_loan_list)
move_vals.update({'list_ids': new_list, 'loans': new_loan_list})
total_of_list.append({
@ -3160,8 +3176,9 @@ class HrPayslipRun(models.Model):
for record in list_of_vals:
new_record_list = record.get('list_ids') + [d for d in total_of_list if
d['journal_id'] == record.get('move')]
new_rec_loan_list = record.get('loans')
merged_list = self.new_merge_lists(new_record_list, 'name', 'account_id', 'analytic_account_id')
record_final_item = merged_list
record_final_item = merged_list + new_rec_loan_list
move = self.env['account.move'].create({
'state': 'draft',
'journal_id': record.get('move'),
@ -3269,6 +3286,7 @@ class HrPayslipRun(models.Model):
for line in self.slip_ids:
total_allow, total_ded, total_loan = 0.0, 0.0, 0.0
total_list = []
total_loan_list = []
move_vals = dict()
if line.employee_id.payment_method == 'bank':
journal = self.env['account.journal'].search([('type', '=', line.employee_id.payment_method),
@ -3325,7 +3343,7 @@ class HrPayslipRun(models.Model):
'account_id': lo.account_id.id,
}
total_loan += amount_loans
total_list.append(credit_loans_vals)
total_loan_list.append(credit_loans_vals)
# create line for total of all allowance, deduction, loans of all employees
total_list.append({
'name': "Total",
@ -3335,12 +3353,14 @@ class HrPayslipRun(models.Model):
'debit': 0,
})
if not move_vals:
move_vals.update({'move': journal.id, 'list_ids': total_list})
move_vals.update({'move': journal.id, 'list_ids': total_list, 'loans': total_loan_list})
list_of_vals.append(move_vals)
else:
new_list = move_vals.get('list_ids')
new_list.extend(total_list)
move_vals.update({'list_ids': new_list})
new_loan_list = move_vals.get('loans')
new_loan_list.extend(total_loan_list)
move_vals.update({'list_ids': new_list, 'loans': new_loan_list})
bank_id = line.employee_id.bank_account_id.bank_id.name
elif line.employee_id.payment_method == 'cash':
@ -3412,8 +3432,9 @@ class HrPayslipRun(models.Model):
for record in list_of_vals:
new_record_list = record.get('list_ids')
new_rec_loan_list = record.get('loans')
merged_list = self.merge_lists(new_record_list, 'name', 'account_id')
record_final_item = merged_list
record_final_item = merged_list + new_rec_loan_list
move = self.env['account.move'].create({
'state': 'draft',
'journal_id': record.get('move'),