From 07fc6026f415733b46116c4d06ddd83beeec0c4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Tue, 30 Sep 2025 16:53:01 +0800 Subject: [PATCH] 1 --- .../models/property_meter_archives.py | 20 +++++++++++-------- .../models/property_meter_water.py | 18 ++++++++--------- .../views/property_meter_archives_views.xml | 11 ++-------- .../views/property_meter_water_views.xml | 11 ++-------- .../wizard/electric_water_wizard.py | 2 +- .../models/inherit_yuthon_property.py | 11 +++++++++- .../views/inherit_yuthon_property_views.xml | 17 +++++----------- 7 files changed, 41 insertions(+), 49 deletions(-) diff --git a/yuthon_property/models/property_meter_archives.py b/yuthon_property/models/property_meter_archives.py index 2f1e6d626..080370d50 100644 --- a/yuthon_property/models/property_meter_archives.py +++ b/yuthon_property/models/property_meter_archives.py @@ -4,6 +4,7 @@ from datetime import datetime from odoo import models, fields, api from odoo.exceptions import UserError, ValidationError + class PropertyMeterArchives(models.Model): _name = 'property.meter.archives' _description = '电表库' @@ -34,6 +35,16 @@ class PropertyMeterArchives(models.Model): remarks = fields.Text(string='备注') state = fields.Selection([('reading', '已抄'), ('unreading', '未抄')], string='抄表状态', default='unreading') + # @api.model_create_multi 多条创建 + # @api.model + # def create(self, vals): + # record = super().create(vals) + # if record.lessee_id: + # record.archives_state = 'rent' + # else: + # record.archives_state = 'use' + # return record + def update_epitope_values(self): meter_ids = self.env["property.meter.archives"].browse( self._context.get('active_ids', self._context.get('active_id')) @@ -80,14 +91,7 @@ class PropertyMeterArchives(models.Model): else: record.archives_state = 'use' - @api.model - def create(self, vals): - record = super().create(vals) - if record.lessee_id: - record.archives_state = 'rent' - else: - record.archives_state = 'use' - return record + def button_archives_state(self): archives_ids = self.env["property.meter.archives"].browse(self._context.get('active_ids', self._context.get('active_id'))) diff --git a/yuthon_property/models/property_meter_water.py b/yuthon_property/models/property_meter_water.py index 309db3f71..4d507539c 100644 --- a/yuthon_property/models/property_meter_water.py +++ b/yuthon_property/models/property_meter_water.py @@ -73,14 +73,14 @@ class PropertyMeterWater(models.Model): else: record.water_state = 'use' - @api.model - def create(self, vals): - record = super().create(vals) - if record.lessee_id: - record.water_state = 'rent' - else: - record.water_state = 'use' - return record + # @api.model + # def create(self, vals): + # record = super().create(vals) + # if record.lessee_id: + # record.water_state = 'rent' + # else: + # record.water_state = 'use' + # return record def button_water_state(self): archives_ids = self.env["property.meter.water"].browse( @@ -128,10 +128,10 @@ class MeterWaterLine(models.Model): _description = '水表库明细行' _order = 'number asc, sequence asc' + name = fields.Char(string='仪表编号') water_id = fields.Many2one('property.meter.water', string='水表库', required=True, ondelete='cascade') number = fields.Integer(related='epitope_values_id.sequence', string="序号", store=True) sequence = fields.Integer(related='water_id.sequence1', string="表序号", store=True) - name = fields.Char(string='仪表编号') epitope_values_id = fields.Many2one('yuthon.epitope.values', string='表位置') lessee_id = fields.Many2one('property.tenant.information', string='承租方') yuthon_property_ids = fields.Many2many('yuthon.property', string='物业信息') diff --git a/yuthon_property/views/property_meter_archives_views.xml b/yuthon_property/views/property_meter_archives_views.xml index 43ce3affd..c7bbdfa3c 100644 --- a/yuthon_property/views/property_meter_archives_views.xml +++ b/yuthon_property/views/property_meter_archives_views.xml @@ -4,8 +4,7 @@ property.meter.archives.tree property.meter.archives - +
- + @@ -36,12 +35,6 @@
-
-
diff --git a/yuthon_property/views/property_meter_water_views.xml b/yuthon_property/views/property_meter_water_views.xml index 323599cf6..02dd7109d 100644 --- a/yuthon_property/views/property_meter_water_views.xml +++ b/yuthon_property/views/property_meter_water_views.xml @@ -4,8 +4,7 @@ property.meter.water.tree property.meter.water - +
- + @@ -37,12 +36,6 @@ -
-
diff --git a/yuthon_property/wizard/electric_water_wizard.py b/yuthon_property/wizard/electric_water_wizard.py index 3b87157dd..c5f3bee2c 100644 --- a/yuthon_property/wizard/electric_water_wizard.py +++ b/yuthon_property/wizard/electric_water_wizard.py @@ -6,7 +6,7 @@ class ElectricWaterWizard(models.TransientModel): _name = 'electric.water.wizard' _description = '电水表推送弹窗' - push_date = fields.Date(string='推送日期') + push_date = fields.Date(string='推送日期', default=fields.date.today()) meter_ids = fields.Many2many('property.meter.archives', string='电表库') water_ids = fields.Many2many('property.meter.water', string='水表库') diff --git a/yuthon_property_approval/models/inherit_yuthon_property.py b/yuthon_property_approval/models/inherit_yuthon_property.py index 2b331ae2a..33cfcc189 100644 --- a/yuthon_property_approval/models/inherit_yuthon_property.py +++ b/yuthon_property_approval/models/inherit_yuthon_property.py @@ -37,15 +37,24 @@ class YuthonProperty(models.Model): if self.property_contract_ids: self.lessee_id = self.property_contract_ids[-1].lessee_id + # 银行流水 class PropertyBankStatements(models.Model): _inherit = 'property.bank.statements' - contract_id = fields.Many2one('property.lease.contract', string="关联租赁合同审批") + contract_id = fields.Many2one('property.lease.contract', string="关联租赁合同审批") contract_ids = fields.Many2many('property.lease.contract', string="租赁合同审批") property_name = fields.Text(string="物业名称", compute="compute_property_name", store=True) accounts_id = fields.Many2one('property.accounts.approval', string="关联生成应收审批单") + admin_id = fields.Many2one('res.users', string="片区管理员", compute="_compute_property_employee_id", store=True, index=True) + @api.depends('contract_ids') + def _compute_property_employee_id(self): + for emp in self: + if emp.contract_ids: + emp.admin_id = emp.contract_ids[0].admin_id.id + else: + emp.admin_id = False def update_property_name(self): property_ids = self.env["property.bank.statements"].browse( self._context.get('active_ids', self._context.get('active_id'))) diff --git a/yuthon_property_approval/views/inherit_yuthon_property_views.xml b/yuthon_property_approval/views/inherit_yuthon_property_views.xml index 3f11ce1e1..fdf1972d1 100644 --- a/yuthon_property_approval/views/inherit_yuthon_property_views.xml +++ b/yuthon_property_approval/views/inherit_yuthon_property_views.xml @@ -524,23 +524,16 @@