From 59c235fee1499a472765f563073a8e32a8a42fa4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?=
<9664676+pengyuthon@user.noreply.gitee.com>
Date: Thu, 16 Oct 2025 19:29:19 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../views/yuthon_payroll_labor_views.xml | 2 +-
yuthon_salary/wizard/payroll_labor_wizard.py | 60 +++++++++++++------
2 files changed, 42 insertions(+), 20 deletions(-)
diff --git a/yuthon_salary/views/yuthon_payroll_labor_views.xml b/yuthon_salary/views/yuthon_payroll_labor_views.xml
index 96e8e3f11..79e3dfda9 100644
--- a/yuthon_salary/views/yuthon_payroll_labor_views.xml
+++ b/yuthon_salary/views/yuthon_payroll_labor_views.xml
@@ -23,7 +23,7 @@
-
+
diff --git a/yuthon_salary/wizard/payroll_labor_wizard.py b/yuthon_salary/wizard/payroll_labor_wizard.py
index 7bc3b2503..6566c5573 100644
--- a/yuthon_salary/wizard/payroll_labor_wizard.py
+++ b/yuthon_salary/wizard/payroll_labor_wizard.py
@@ -42,22 +42,44 @@ class PayrollLaborWizard(models.Model):
service_fee = row[14].value
tiantou_payable = row[15].value
company = row[16].value
- self.env['yuthon.payroll.labor'].create({
- 'employee_id': employee_id.id,
- 'current_year': current_year,
- 'current_month': current_month,
- 'basic_salary': basic_salary,
- 'rank_salary': rank_salary,
- 'meal_allowance': meal_allowance,
- 'total_payable': total_payable,
- 'social_security_personal': social_security_personal,
- 'provident_fund_personal': provident_fund_personal,
- 'individual_tax': individual_tax,
- 'dispatched_actual_salary': dispatched_actual_salary,
- 'social_security_company': social_security_company,
- 'provident_fund_company': provident_fund_company,
- 'disability_insurance': disability_insurance,
- 'service_fee': service_fee,
- 'tiantou_payable': tiantou_payable,
- 'company': company,
- })
\ No newline at end of file
+ payroll_id = self.env['yuthon.payroll'].search([('employee_id', '=', employee_id.id),
+ ('current_year', '=', current_year),
+ ('current_month', '=', current_month),
+ ])
+ if not payroll_id:
+ self.env['yuthon.payroll.labor'].create({
+ 'employee_id': employee_id.id,
+ 'current_year': current_year,
+ 'current_month': current_month,
+ 'basic_salary': basic_salary,
+ 'rank_salary': rank_salary,
+ 'meal_allowance': meal_allowance,
+ 'total_payable': total_payable,
+ 'social_security_personal': social_security_personal,
+ 'provident_fund_personal': provident_fund_personal,
+ 'individual_tax': individual_tax,
+ 'dispatched_actual_salary': dispatched_actual_salary,
+ 'social_security_company': social_security_company,
+ 'provident_fund_company': provident_fund_company,
+ 'disability_insurance': disability_insurance,
+ 'service_fee': service_fee,
+ 'tiantou_payable': tiantou_payable,
+ 'company': company,
+ })
+ else:
+ payroll_id.write({
+ 'basic_salary': basic_salary,
+ 'rank_salary': rank_salary,
+ 'meal_allowance': meal_allowance,
+ 'total_payable': total_payable,
+ 'social_security_personal': social_security_personal,
+ 'provident_fund_personal': provident_fund_personal,
+ 'individual_tax': individual_tax,
+ 'dispatched_actual_salary': dispatched_actual_salary,
+ 'social_security_company': social_security_company,
+ 'provident_fund_company': provident_fund_company,
+ 'disability_insurance': disability_insurance,
+ 'service_fee': service_fee,
+ 'tiantou_payable': tiantou_payable,
+ 'company': company,
+ })
\ No newline at end of file