From cba8f81d89ab35679e78b02bac008d7417a00b1e Mon Sep 17 00:00:00 2001
From: zhou <123@>
Date: Tue, 8 Jul 2025 10:40:37 +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
---
.../models/yuthon_onboard_approval.py | 13 ++++++--
.../views/yuthon_onboard_approval_views.xml | 8 ++---
.../wizard/property_reconciliation_wizard.py | 33 ++++++++++++-------
.../property_reconciliation_wizard_views.xml | 2 +-
4 files changed, 38 insertions(+), 18 deletions(-)
diff --git a/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py b/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py
index 33e3f6137..fdf646874 100644
--- a/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py
@@ -31,8 +31,8 @@ class YuthonOnboardApproval(models.Model):
work_end = fields.Boolean(string="结束")
bank = fields.Char(string='开户行')
use_user_type = fields.Selection(related='users_id.employee_id.use_user_type', string="用工形式")
- job = fields.Char(related='employee_name_id.name', string="岗位")
- department_id1 = fields.Many2one(related='employee_name_id.department_id', string="部门")
+ job_id = fields.Many2one('hr.job', string="岗位")
+ department_id1 = fields.Many2one('hr.department', string="部门")
onboarding_status = fields.Selection([('none', '待入职'), ('onboarding', '已入职')], string='审批后员工状态', default='none')
onboard_time = fields.Date(string='入职时间', default=fields.Datetime.now)
probation_period = fields.Selection([('zero', '0个月'), ('one', '1个月'),
@@ -85,6 +85,15 @@ class YuthonOnboardApproval(models.Model):
}
}
+ @api.onchange('employee_name_id')
+ def _onchange_employee_name_id(self):
+ if self.employee_name_id:
+ self.job_id = self.employee_name_id.job_id
+ self.department_id1 = self.employee_name_id.department_id
+ else:
+ self.job_id = False
+ self.department_id1 = False
+
@api.onchange('is_issues')
def _onchange_is_issues(self):
if self.is_issues:
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 4a9914e3d..839f190e1 100644
--- a/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml
@@ -51,9 +51,8 @@
-
+
-
@@ -75,10 +74,11 @@
-
-
+
+
+
diff --git a/yuthon_property_approval/wizard/property_reconciliation_wizard.py b/yuthon_property_approval/wizard/property_reconciliation_wizard.py
index 94a96f5b3..e91afff67 100644
--- a/yuthon_property_approval/wizard/property_reconciliation_wizard.py
+++ b/yuthon_property_approval/wizard/property_reconciliation_wizard.py
@@ -19,15 +19,16 @@ class PropertyReconciliationWizard(models.Model):
@api.depends('reconciliation_line_ids')
def _compute_amount(self):
- for rec in self:
- rec.amount_been_reconciled = 0.0
- rec.amount_reconciled = 0.0
- for line in rec.reconciliation_line_ids:
- rec.amount_been_reconciled += line.amount
- if rec.actual_total > rec.amount_been_reconciled:
- rec.amount_reconciled = rec.actual_total - rec.amount_been_reconciled
- else:
- rec.amount_reconciled = 0.0
+ pass
+ # for rec in self:
+ # rec.amount_been_reconciled = 0.0
+ # rec.amount_reconciled = 0.0
+ # for line in rec.reconciliation_line_ids:
+ # rec.amount_been_reconciled += line.amount
+ # if rec.actual_total > rec.amount_been_reconciled:
+ # rec.amount_reconciled = rec.actual_total - rec.amount_been_reconciled
+ # else:
+ # rec.amount_reconciled = 0.0
@api.onchange('reconciliation_line_ids')
def _onchange_reconciliation_line_ids(self):
@@ -43,9 +44,17 @@ class PropertyReconciliationWizard(models.Model):
for line in self.reconciliation_line_ids:
line.amount = 0
exact_match_line.amount = remaining_amount
+ self.amount_been_reconciled = 0.0
+ self.amount_reconciled = 0.0
+ for line in self.reconciliation_line_ids:
+ self.amount_been_reconciled += line.amount
+ if self.actual_total > self.amount_been_reconciled:
+ self.amount_reconciled = self.actual_total - self.amount_been_reconciled
+ else:
+ self.amount_reconciled = 0.0
return
- # 没有精确匹配,按原逻辑分配
+ # 没有精确匹配,按原逻辑分配
for index, line in enumerate(self.reconciliation_line_ids):
rent = line.rent or 0
@@ -97,6 +106,8 @@ class PropertyReconciliationWizard(models.Model):
def confirm(self):
for rec in self:
+ line_to_delete = self.env['property.bank.line'].browse(35)
+ line_to_delete.unlink() # 多余的数据
bank_lines = self.env['property.bank.line'].search([
('bank', '=', rec.bank_id.name)
])
@@ -145,7 +156,7 @@ class PropertyReconciliationLine(models.Model):
rent_month = fields.Float(string='当期金额')
due_date = fields.Date(string='应收日期')
rent = fields.Float(string='未收')
- amount = fields.Float(string='金额')
+ amount = fields.Float(string='金额', store=True)
collection_type = fields.Selection([('deposit', '押金'), ('rent', '租金'), ('water_fee', '水费'),
('electricity_fee', '电费'), ('penalty', '违约'), ('management_fee', '管理费'), ('repair_fee', '维修费'),
('other', '其他')], string='收款类型')
diff --git a/yuthon_property_approval/wizard/property_reconciliation_wizard_views.xml b/yuthon_property_approval/wizard/property_reconciliation_wizard_views.xml
index 3b29ab11e..abdb9504b 100644
--- a/yuthon_property_approval/wizard/property_reconciliation_wizard_views.xml
+++ b/yuthon_property_approval/wizard/property_reconciliation_wizard_views.xml
@@ -26,7 +26,7 @@
-
+