diff --git a/yuthon_contract/models/inherit_hr_contract.py b/yuthon_contract/models/inherit_hr_contract.py
index 3f25434dc..fd57cb41a 100644
--- a/yuthon_contract/models/inherit_hr_contract.py
+++ b/yuthon_contract/models/inherit_hr_contract.py
@@ -371,6 +371,9 @@ class HrContract(models.Model):
# 更新员工合同字段
for contract in contracts:
if contract.employee_id:
- contract.employee_id.write({"contract_id": contract.id})
+ contract.employee_id.write({"contract_id": contract.id,
+ 'is_accum_salary': True,
+ 'is_membership': True,
+ })
return contracts
diff --git a/yuthon_hr_employee/models/yuthon_hr_employee.py b/yuthon_hr_employee/models/yuthon_hr_employee.py
index 20b0cba2e..77ba9fcb2 100644
--- a/yuthon_hr_employee/models/yuthon_hr_employee.py
+++ b/yuthon_hr_employee/models/yuthon_hr_employee.py
@@ -287,6 +287,7 @@ class YuthonHrEmployee(models.Model):
total_full_part = sum(full_lines.mapped('amount')) if full_lines else 0
final_total = total_eighty_part + total_full_part + 200
employee.write({
+ 'last_year_salary': final_total,
'social_base_on': final_total,
'social_base_off': final_total
})
diff --git a/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml
index 26695045d..fcb372224 100644
--- a/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml
@@ -68,8 +68,8 @@
- 至
-
+ 至
+
@@ -108,19 +108,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/yuthon_property_approval/models/inherit_yuthon_property.py b/yuthon_property_approval/models/inherit_yuthon_property.py
index f7ae21c48..4829f4658 100644
--- a/yuthon_property_approval/models/inherit_yuthon_property.py
+++ b/yuthon_property_approval/models/inherit_yuthon_property.py
@@ -61,41 +61,41 @@ class PropertyBankStatements(models.Model):
def revocation(self):
self.ensure_one()
current_rec = self[0]
- domain = [
- ('your_own_unit', '=', current_rec.your_own_unit),
- ('bank_state', '=', 'reconciled'),
- ('name', '=', current_rec.name)
- ]
- same_group_records = self.env[self._name].search(domain)
- if same_group_records:
- # 按start_time倒序排序,找到最近的记录
- sorted_records = sorted(
- same_group_records,
- key=lambda r: r.start_time or '',
- reverse=True
- )
- latest_record = sorted_records[0]
-
- # 检查当前记录是否是最近的一条
- if current_rec.id != latest_record.id:
- raise UserError(
- f"只能从最近的记录开始撤销!\n"
- f"当前记录时间: {current_rec.start_time + timedelta(hours=8)}\n"
- f"最近记录时间: {latest_record.start_time + timedelta(hours=8)}"
+ if current_rec.bank_state == 'reconciled':
+ domain = [
+ ('your_own_unit', '=', current_rec.your_own_unit),
+ ('bank_state', '=', 'reconciled'),
+ ('name', '=', current_rec.name)
+ ]
+ same_group_records = self.env[self._name].search(domain)
+ if same_group_records:
+ # 按start_time倒序排序,找到最近的记录
+ sorted_records = sorted(
+ same_group_records,
+ key=lambda r: r.start_time or '',
+ reverse=True
)
- for modify in self.receivable_modify_ids:
- if modify.is_write:
- new_delivered = modify.receivable_id.delivered1 - modify.amount
- modify.receivable_id.delivered1 = max(new_delivered, 0)
- modify.receivable_id.is_reconciliation = False
- modify.receivable_id.reconciliation_time = False
- modify.receivable_id.payout_date = False
- if not modify.is_penalty:
- modify.receivable_id.remark = None
- else:
- modify.receivable_id.unlink()
- if self.receivable_modify_ids:
- self.receivable_modify_ids.unlink()
+ latest_record = sorted_records[0]
+ # 检查当前记录是否是最近的一条
+ if current_rec.id != latest_record.id:
+ raise UserError(
+ f"只能从最近的记录开始撤销!\n"
+ f"当前记录时间: {current_rec.start_time + timedelta(hours=8)}\n"
+ f"最近记录时间: {latest_record.start_time + timedelta(hours=8)}"
+ )
+ for modify in self.receivable_modify_ids:
+ if modify.is_write:
+ new_delivered = modify.receivable_id.delivered1 - modify.amount
+ modify.receivable_id.delivered1 = max(new_delivered, 0)
+ modify.receivable_id.is_reconciliation = False
+ modify.receivable_id.reconciliation_time = False
+ modify.receivable_id.payout_date = False
+ if not modify.is_penalty:
+ modify.receivable_id.remark = None
+ else:
+ modify.receivable_id.unlink()
+ if self.receivable_modify_ids:
+ self.receivable_modify_ids.unlink()
self.bank_state = 'not_reconciled'
self.registered = 0
self.no_amount = self.original_amount