This commit is contained in:
Mazen Abdo 2025-11-06 10:41:38 +02:00
parent 64774e612b
commit 9840355e2d
1 changed files with 106 additions and 109 deletions

View File

@ -50,42 +50,39 @@ class PayrollBankAlbiladReportXlsx(models.AbstractModel):
}) })
# Set column widths # Set column widths
sheet.set_column('A:A', 5) sheet.set_column('A:J', 20)
sheet.set_column('B:B', 5)
sheet.set_column('C:L', 20)
row = 2 row = 0
if no_details: if no_details:
# With details section # With details section
for bank in banks: for bank in banks:
row += 3 row += 2
sheet.write(row - 1, 1, bank.name, format3) sheet.write(row, 0, bank.name, format3)
sheet.write(row, 2, 'Total Amount', format2)
sheet.write(row, 3, 'Beneficiary Account IBAN', format2)
sheet.write(row, 4, 'Beneficiary Name', format2)
sheet.write(row, 5, 'Beneficiary Bank CODE', format2)
sheet.write(row, 6, 'Payment Description', format2)
sheet.write(row, 7, 'Basic Salary', format2)
sheet.write(row, 8, 'Housing Allowance', format2)
sheet.write(row, 9, 'Other Earnings', format2)
sheet.write(row, 10, 'Deductions', format2)
sheet.write(row, 11, 'Beneficiary National/IqamaID', format2)
row += 1 row += 1
sheet.write(row, 0, 'Total Amount', format2)
sheet.write(row, 1, 'Beneficiary Account IBAN', format2)
sheet.write(row, 2, 'Beneficiary Name', format2)
sheet.write(row, 3, 'Beneficiary Bank CODE', format2)
sheet.write(row, 4, 'Payment Description', format2)
sheet.write(row, 5, 'Basic Salary', format2)
sheet.write(row, 6, 'Housing Allowance', format2)
sheet.write(row, 7, 'Other Earnings', format2)
sheet.write(row, 8, 'Deductions', format2)
sheet.write(row, 9, 'Beneficiary National/IqamaID', format2)
row += 1
sheet.write(row, 2, 'المبلغ الاجمالي', format2) sheet.write(row, 0, 'المبلغ الاجمالي', format2)
sheet.write(row, 3, 'رقم الايبان', format2) sheet.write(row, 1, 'رقم الايبان', format2)
sheet.write(row, 4, 'اسم المستفيد', format2) sheet.write(row, 2, 'اسم المستفيد', format2)
sheet.write(row, 5, 'بنك المستفيد', format2) sheet.write(row, 3, 'بنك المستفيد', format2)
sheet.write(row, 6, 'تفاصيل التحويل', format2) sheet.write(row, 4, 'تفاصيل التحويل', format2)
sheet.write(row, 7, 'الراتب الاساسي', format2) sheet.write(row, 5, 'الراتب الاساسي', format2)
sheet.write(row, 8, 'بدل السكن', format2) sheet.write(row, 6, 'بدل السكن', format2)
sheet.write(row, 9, 'البدلات الاخرى', format2) sheet.write(row, 7, 'البدلات الاخرى', format2)
sheet.write(row, 10, 'الخصم', format2) sheet.write(row, 8, 'الخصم', format2)
sheet.write(row, 11, 'رقم الهوية', format2) sheet.write(row, 9, 'رقم الهوية', format2)
if report_type == 'salary': if report_type == 'salary':
payslip_ids = self._get_payslips(date_from, date_to, entry_type, employees, salary, salary_ids, bank) payslip_ids = self._get_payslips(date_from, date_to, entry_type, employees, salary, salary_ids, bank)
@ -126,16 +123,16 @@ class PayrollBankAlbiladReportXlsx(models.AbstractModel):
row += 1 row += 1
# Write AlBilad format data # Write AlBilad format data
sheet.write(row, 2, data_list[4], format1) sheet.write(row, 0, data_list[4], format1)
sheet.write(row, 3, data_list[2], format1) sheet.write(row, 1, data_list[2], format1)
sheet.write(row, 4, data_list[1], format1) sheet.write(row, 2, data_list[1], format1)
sheet.write(row, 5, data_list[3], format1) sheet.write(row, 3, data_list[3], format1)
sheet.write(row, 6, '', format1) sheet.write(row, 4, '', format1)
sheet.write(row, 7, data_list[6], format1) sheet.write(row, 5, data_list[6], format1)
sheet.write(row, 8, data_list[7], format1) sheet.write(row, 6, data_list[7], format1)
sheet.write(row, 9, data_list[8], format1) sheet.write(row, 7, data_list[8], format1)
sheet.write(row, 10, data_list[9], format1) sheet.write(row, 8, data_list[9], format1)
sheet.write(row, 11, data_list[5], format1) sheet.write(row, 9, data_list[5], format1)
elif report_type == 'allowance': elif report_type == 'allowance':
row = self._write_allowance_data(sheet, row, date_from, date_to, entry_type, employees, salary, salary_ids, bank, branch, company_id, format1) row = self._write_allowance_data(sheet, row, date_from, date_to, entry_type, employees, salary, salary_ids, bank, branch, company_id, format1)
@ -150,30 +147,30 @@ class PayrollBankAlbiladReportXlsx(models.AbstractModel):
row = self._write_training_data(sheet, row, date_from, date_to, entry_type, employees, salary, salary_ids, bank, branch, company_id, format1) row = self._write_training_data(sheet, row, date_from, date_to, entry_type, employees, salary, salary_ids, bank, branch, company_id, format1)
else: else:
# No details section # No details section
row = 3 row = 1
# English headers row # English headers row
sheet.write(2, 2, 'Total Amount', format2) sheet.write(0, 0, 'Total Amount', format2)
sheet.write(2, 3, 'Beneficiary Account IBAN', format2) sheet.write(0, 1, 'Beneficiary Account IBAN', format2)
sheet.write(2, 4, 'Beneficiary Name', format2) sheet.write(0, 2, 'Beneficiary Name', format2)
sheet.write(2, 5, 'Beneficiary Bank CODE', format2) sheet.write(0, 3, 'Beneficiary Bank CODE', format2)
sheet.write(2, 6, 'Payment Description', format2) sheet.write(0, 4, 'Payment Description', format2)
sheet.write(2, 7, 'Basic Salary', format2) sheet.write(0, 5, 'Basic Salary', format2)
sheet.write(2, 8, 'Housing Allowance', format2) sheet.write(0, 6, 'Housing Allowance', format2)
sheet.write(2, 9, 'Other Earnings', format2) sheet.write(0, 7, 'Other Earnings', format2)
sheet.write(2, 10, 'Deductions', format2) sheet.write(0, 8, 'Deductions', format2)
sheet.write(2, 11, 'Beneficiary National/IqamaID', format2) sheet.write(0, 9, 'Beneficiary National/IqamaID', format2)
# Arabic headers row # Arabic headers row
sheet.write(3, 2, 'المبلغ الاجمالي', format2) sheet.write(1, 0, 'المبلغ الاجمالي', format2)
sheet.write(3, 3, 'رقم الايبان', format2) sheet.write(1, 1, 'رقم الايبان', format2)
sheet.write(3, 4, 'اسم المستفيد', format2) sheet.write(1, 2, 'اسم المستفيد', format2)
sheet.write(3, 5, 'بنك المستفيد', format2) sheet.write(1, 3, 'بنك المستفيد', format2)
sheet.write(3, 6, 'تفاصيل التحويل', format2) sheet.write(1, 4, 'تفاصيل التحويل', format2)
sheet.write(3, 7, 'الراتب الاساسي', format2) sheet.write(1, 5, 'الراتب الاساسي', format2)
sheet.write(3, 8, 'بدل السكن', format2) sheet.write(1, 6, 'بدل السكن', format2)
sheet.write(3, 9, 'البدلات الاخرى', format2) sheet.write(1, 7, 'البدلات الاخرى', format2)
sheet.write(3, 10, 'الخصم', format2) sheet.write(1, 8, 'الخصم', format2)
sheet.write(3, 11, 'رقم الهوية', format2) sheet.write(1, 9, 'رقم الهوية', format2)
if report_type == 'salary': if report_type == 'salary':
for bank in banks: for bank in banks:
@ -213,16 +210,16 @@ class PayrollBankAlbiladReportXlsx(models.AbstractModel):
] ]
row += 1 row += 1
sheet.write(row, 2, data_list[4], format1) sheet.write(row, 0, data_list[4], format1)
sheet.write(row, 3, data_list[2], format1) sheet.write(row, 1, data_list[2], format1)
sheet.write(row, 4, data_list[1], format1) sheet.write(row, 2, data_list[1], format1)
sheet.write(row, 5, data_list[3], format1) sheet.write(row, 3, data_list[3], format1)
sheet.write(row, 6, '', format1) sheet.write(row, 4, '', format1)
sheet.write(row, 7, data_list[6], format1) sheet.write(row, 5, data_list[6], format1)
sheet.write(row, 8, data_list[7], format1) sheet.write(row, 6, data_list[7], format1)
sheet.write(row, 9, data_list[8], format1) sheet.write(row, 7, data_list[8], format1)
sheet.write(row, 10, data_list[9], format1) sheet.write(row, 8, data_list[9], format1)
sheet.write(row, 11, data_list[5], format1) sheet.write(row, 9, data_list[5], format1)
def _get_payslips(self, date_from, date_to, entry_type, employees, salary, salary_ids, bank): def _get_payslips(self, date_from, date_to, entry_type, employees, salary, salary_ids, bank):
domain_base = [ domain_base = [
@ -289,16 +286,16 @@ class PayrollBankAlbiladReportXlsx(models.AbstractModel):
] ]
row += 1 row += 1
sheet.write(row, 2, data_list[4], format1) sheet.write(row, 0, data_list[4], format1)
sheet.write(row, 3, data_list[2], format1) sheet.write(row, 1, data_list[2], format1)
sheet.write(row, 4, data_list[1], format1) sheet.write(row, 2, data_list[1], format1)
sheet.write(row, 5, data_list[3], format1) sheet.write(row, 3, data_list[3], format1)
sheet.write(row, 6, '', format1) sheet.write(row, 4, '', format1)
sheet.write(row, 7, data_list[6], format1) sheet.write(row, 5, data_list[6], format1)
sheet.write(row, 8, data_list[7], format1) sheet.write(row, 6, data_list[7], format1)
sheet.write(row, 9, data_list[8], format1) sheet.write(row, 7, data_list[8], format1)
sheet.write(row, 10, data_list[9], format1) sheet.write(row, 8, data_list[9], format1)
sheet.write(row, 11, data_list[5], format1) sheet.write(row, 9, data_list[5], format1)
return row return row
@ -318,16 +315,16 @@ class PayrollBankAlbiladReportXlsx(models.AbstractModel):
] ]
row += 1 row += 1
sheet.write(row, 2, data_list[4], format1) sheet.write(row, 0, data_list[4], format1)
sheet.write(row, 3, data_list[2], format1) sheet.write(row, 1, data_list[2], format1)
sheet.write(row, 4, data_list[1], format1) sheet.write(row, 2, data_list[1], format1)
sheet.write(row, 5, data_list[3], format1) sheet.write(row, 3, data_list[3], format1)
sheet.write(row, 6, '', format1) sheet.write(row, 4, '', format1)
sheet.write(row, 7, data_list[6], format1) sheet.write(row, 5, data_list[6], format1)
sheet.write(row, 8, data_list[7], format1) sheet.write(row, 6, data_list[7], format1)
sheet.write(row, 9, data_list[8], format1) sheet.write(row, 7, data_list[8], format1)
sheet.write(row, 10, data_list[9], format1) sheet.write(row, 8, data_list[9], format1)
sheet.write(row, 11, data_list[5], format1) sheet.write(row, 9, data_list[5], format1)
return row return row
@ -349,16 +346,16 @@ class PayrollBankAlbiladReportXlsx(models.AbstractModel):
] ]
row += 1 row += 1
sheet.write(row, 2, data_list[4], format1) sheet.write(row, 0, data_list[4], format1)
sheet.write(row, 3, data_list[2], format1) sheet.write(row, 1, data_list[2], format1)
sheet.write(row, 4, data_list[1], format1) sheet.write(row, 2, data_list[1], format1)
sheet.write(row, 5, data_list[3], format1) sheet.write(row, 3, data_list[3], format1)
sheet.write(row, 6, '', format1) sheet.write(row, 4, '', format1)
sheet.write(row, 7, data_list[6], format1) sheet.write(row, 5, data_list[6], format1)
sheet.write(row, 8, data_list[7], format1) sheet.write(row, 6, data_list[7], format1)
sheet.write(row, 9, data_list[8], format1) sheet.write(row, 7, data_list[8], format1)
sheet.write(row, 10, data_list[9], format1) sheet.write(row, 8, data_list[9], format1)
sheet.write(row, 11, data_list[5], format1) sheet.write(row, 9, data_list[5], format1)
return row return row
@ -378,16 +375,16 @@ class PayrollBankAlbiladReportXlsx(models.AbstractModel):
] ]
row += 1 row += 1
sheet.write(row, 2, data_list[4], format1) sheet.write(row, 0, data_list[4], format1)
sheet.write(row, 3, data_list[2], format1) sheet.write(row, 1, data_list[2], format1)
sheet.write(row, 4, data_list[1], format1) sheet.write(row, 2, data_list[1], format1)
sheet.write(row, 5, data_list[3], format1) sheet.write(row, 3, data_list[3], format1)
sheet.write(row, 6, '', format1) sheet.write(row, 4, '', format1)
sheet.write(row, 7, data_list[6], format1) sheet.write(row, 5, data_list[6], format1)
sheet.write(row, 8, data_list[7], format1) sheet.write(row, 6, data_list[7], format1)
sheet.write(row, 9, data_list[8], format1) sheet.write(row, 7, data_list[8], format1)
sheet.write(row, 10, data_list[9], format1) sheet.write(row, 8, data_list[9], format1)
sheet.write(row, 11, data_list[5], format1) sheet.write(row, 9, data_list[5], format1)
return row return row