!3819 添加功能

Merge pull request !3819 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2025-07-12 14:12:49 +00:00
committed by Gitee
2 changed files with 11 additions and 7 deletions
+2 -2
View File
@@ -399,14 +399,14 @@ class InheritHrPayslip(models.Model):
record.position_subsidy +
record.safety_subsidy +
record.job_performance +
record.minus_att +
record.duty +
record.monthly_overtime +
record.excellent_employees -
record.performance_deduction -
record.commuting_deduction -
record.retroactive_insurance -
record.base_salary_deduction -
record.minus_att
record.base_salary_deduction
)
@@ -56,16 +56,20 @@ class TemporaryPayslipWizard(models.Model):
('is_push', '=', False),
])
line_vals = {}
existing_line_names = [line.name for line in payslip.line_ids]
for col_idx in range(1, len(headers)):
header = headers[col_idx]
cell_value = row[col_idx].value
if cell_value in (None, "", " "):
continue
for line in payslip.line_ids.search([('name', '=', header), ('employee_id', '=', employee_id.id), ('slip_id.payslip_run_id.name', '=', f'{self.select_year}年-{month_name}')]):
if not line:
raise ValidationError(f'未识别到存在工资项,请检查是否有该项目和格式名称是否对应\n'
f'员工: {employee_id.name}\n批次: {self.select_year}'
f'年-{month_name}\n薪资结构: {payslip.struct_id.name}\n导入工资项名称: {header}')
if header not in existing_line_names:
raise ValidationError(
f'未识别到存在工资项,请检查是否有该项目和格式名称是否对应\n'
f'员工: {employee_id.name}\n批次: {self.select_year}年-{month_name}\n'
f'薪资结构: {payslip.struct_id.name}\n导入工资项名称: {header}'
)
for line in payslip.line_ids.search([('name', '=', header), ('employee_id', '=', employee_id.id),
('slip_id.payslip_run_id.name', '=', f'{self.select_year}年-{month_name}')]):
line_vals[line.id] = {"total": float(cell_value)}
if line_vals:
for line_id, vals in line_vals.items():