From 0aa68cb87cefaf90847a15863441ed5bad675781 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: Sun, 12 Oct 2025 18:07:50 +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_hr_employee.py | 2 +- yuthon_property/wizard/meter_price_wizard.py | 23 +++++++++++-------- yuthon_property/wizard/water_price_wizard.py | 23 +++++++++++-------- 3 files changed, 27 insertions(+), 21 deletions(-) diff --git a/yuthon_hr_employee/models/yuthon_hr_employee.py b/yuthon_hr_employee/models/yuthon_hr_employee.py index 8b3b5f60c..cfaadbf0f 100644 --- a/yuthon_hr_employee/models/yuthon_hr_employee.py +++ b/yuthon_hr_employee/models/yuthon_hr_employee.py @@ -340,7 +340,7 @@ class YuthonHrEmployee(models.Model): def onchange_user_role_id(self): if self.user_role_id: user_id = self.env['soong.user.role'].search([('id', '=', self.user_role_id.id)]) - user_id.write({'personnel_ids': [(4, self.id)]}) + user_id.write({'personnel_ids': [(4, self.id.origin)]}) @api.depends('quota_issued', 'user_year') def _compute_remainder_year(self): diff --git a/yuthon_property/wizard/meter_price_wizard.py b/yuthon_property/wizard/meter_price_wizard.py index a98eba2d9..f3ff0c272 100644 --- a/yuthon_property/wizard/meter_price_wizard.py +++ b/yuthon_property/wizard/meter_price_wizard.py @@ -28,21 +28,24 @@ class MeterPriceWizard(models.TransientModel): ('meter_date', '<=', end_date), ]) for valid in valid_contract_lines: - if valid.yuthon_property_ids: - contract_id = self.env['property.contract.line'].search([ - ('yuthon_property_id', '=', valid.yuthon_property_ids[0].id), - ('start_time', '<=', self.price_date), - ('end_date', '>=', self.price_date), - ], limit=1) - if contract_id: - if contract_id.lease_contract_id.ele_price > 0: - unit = contract_id.lease_contract_id.ele_price + if valid.archives_id.type == 'fees': + if valid.yuthon_property_ids: + contract_id = self.env['property.contract.line'].search([ + ('yuthon_property_id', '=', valid.yuthon_property_ids[0].id), + ('start_time', '<=', self.price_date), + ('end_date', '>=', self.price_date), + ], limit=1) + if contract_id: + if contract_id.lease_contract_id.ele_price > 0: + unit = contract_id.lease_contract_id.ele_price + else: + unit = self.price else: unit = self.price else: unit = self.price else: - unit = self.price + unit = 0 valid.write({ 'unit': unit, diff --git a/yuthon_property/wizard/water_price_wizard.py b/yuthon_property/wizard/water_price_wizard.py index 982cf881e..87f013a98 100644 --- a/yuthon_property/wizard/water_price_wizard.py +++ b/yuthon_property/wizard/water_price_wizard.py @@ -28,21 +28,24 @@ class WaterPriceWizard(models.TransientModel): ('meter_date', '<=', end_date), ]) for valid in valid_contract_lines: - if valid.yuthon_property_ids: - contract_id = self.env['property.contract.line'].search([ - ('yuthon_property_id', '=', valid.yuthon_property_ids[0].id), - ('start_time', '<=', self.price_date), - ('end_date', '>=', self.price_date), - ], limit=1) - if contract_id: - if contract_id.lease_contract_id.water_price > 0: - unit = contract_id.lease_contract_id.water_price + if valid.water_id.type == 'fees': + if valid.yuthon_property_ids: + contract_id = self.env['property.contract.line'].search([ + ('yuthon_property_id', '=', valid.yuthon_property_ids[0].id), + ('start_time', '<=', self.price_date), + ('end_date', '>=', self.price_date), + ], limit=1) + if contract_id: + if contract_id.lease_contract_id.water_price > 0: + unit = contract_id.lease_contract_id.water_price + else: + unit = self.price else: unit = self.price else: unit = self.price else: - unit = self.price + unit = 0 valid.write({ 'unit': unit,