From 46e8611bf35d70add14c939f57c1aef5b71c0b84 Mon Sep 17 00:00:00 2001 From: zhou <123@> Date: Wed, 2 Apr 2025 22:13:45 +0800 Subject: [PATCH 1/2] =?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/property_evaluation_plan.py | 17 ++++++- yuthon_property/models/yuthon_property.py | 34 +++++++++++++- .../views/property_evaluation_plan_view.xml | 1 + .../views/yuthon_property_views.xml | 9 +++- .../wizard/rental_scheme_wizard.py | 24 +++++++++- .../wizard/rental_scheme_wizard_views.xml | 1 + .../models/property_lease_contract.py | 44 +++++++++++++++++++ .../views/property_lease_contract.xml | 9 ++++ 8 files changed, 134 insertions(+), 5 deletions(-) diff --git a/yuthon_property/models/property_evaluation_plan.py b/yuthon_property/models/property_evaluation_plan.py index 5cda15983..300fb4171 100644 --- a/yuthon_property/models/property_evaluation_plan.py +++ b/yuthon_property/models/property_evaluation_plan.py @@ -8,7 +8,8 @@ class PropertyEvaluationPlan(models.Model): name = fields.Char(string='物业名称') evaluation_area = fields.Float(string='评估面积(m²)') - assessment_category = fields.Selection([('rent_money', '租金'), ('value', '价值')], string="评估类别") + property_ids = fields.Many2many('yuthon.property', string='物业') + assessment_category = fields.Selection([('rent_money', '租金'), ('value', '价值')], string="评估类别", default='rent_money') owner_id = fields.Many2one('yuthon.owner.message', string="权属人") registered_id = fields.Many2one('yuthon.purpose.evidence', string='证载用途') registered_id2 = fields.Many2one('yuthon.purpose.evidence', string='设定用途') @@ -18,7 +19,6 @@ class PropertyEvaluationPlan(models.Model): end_lease_period = fields.Selection(selection=[(str(i), str(i)) for i in range(1, 7)], string='租期结束', default='6') annual_increase_percentage = fields.Float(string='每年递增(%)', igits=(6, 2)) - is_pust = fields.Boolean(string='是否已提交') remake = fields.Text(string='备注') def put_assessment_approval(self): @@ -43,10 +43,23 @@ class PropertyEvaluationPlan(models.Model): } def rental_scheme_wizard(self): + property_evaluation_ids = self.env["property.evaluation.plan"].browse( + self._context.get('active_ids', self._context.get('active_id'))) + evaluation = [] + name_list = [] + for i in property_evaluation_ids: + name = i.name + name_list.append(name) + evaluation.append(i.id) + name = ','.join(name_list) return { 'name': '整租方案弹窗', 'type': 'ir.actions.act_window', 'view_mode': 'form', 'res_model': 'rental.scheme.wizard', 'target': 'new', + 'context': { + 'default_name': name, + 'default_property_ids': evaluation + } } diff --git a/yuthon_property/models/yuthon_property.py b/yuthon_property/models/yuthon_property.py index 201efcd38..208382cf7 100644 --- a/yuthon_property/models/yuthon_property.py +++ b/yuthon_property/models/yuthon_property.py @@ -209,7 +209,39 @@ class YuthonProperty(models.Model): def put_assessment_approval(self): for record in self: - pass + self.env['property.evaluation.plan'].create({ + 'name': record.name, + 'property_ids': [(6, 0, [record.id])], + 'evaluation_area': record.rent_area, + 'owner_id': record.title_information_ids[0].owner_id.id if record.title_information_ids else None, + 'registered_id': record.title_information_ids[0].registered_id.id if record.title_information_ids else None, + 'rent_id': record.reference_ids[0].rent_id.id if record.reference_ids else None, + 'start_lease_period': record.reference_ids[0].start_lease_period if record.reference_ids else None, + 'end_lease_period': record.reference_ids[0].end_lease_period if record.reference_ids else None, + 'annual_increase_percentage': record.reference_ids[0].annual_increase_percentage if record.reference_ids else None, + 'assessment_category': 'rent_money', + 'remake': record.remark, + }) + record.write({'state': 'ing'}) + + def all_assessment_approval(self): + property_ids = self.env["yuthon.property"].browse( + self._context.get('active_ids', self._context.get('active_id'))) + for record in property_ids: + self.env['property.evaluation.plan'].create({ + 'name': record.name, + 'property_ids': [(6, 0, [record.id])], + 'evaluation_area': record.rent_area, + 'owner_id': record.title_information_ids[0].owner_id.id if record.title_information_ids else None, + 'registered_id': record.title_information_ids[0].registered_id.id if record.title_information_ids else None, + 'rent_id': record.reference_ids[0].rent_id.id if record.reference_ids else None, + 'start_lease_period': record.reference_ids[0].start_lease_period if record.reference_ids else None, + 'end_lease_period': record.reference_ids[0].end_lease_period if record.reference_ids else None, + 'annual_increase_percentage': record.reference_ids[0].annual_increase_percentage if record.reference_ids else None, + 'assessment_category': 'rent_money', + 'remake': record.remark, + }) + record.write({'state': 'ing'}) # 拆分 def put_split_approval(self): diff --git a/yuthon_property/views/property_evaluation_plan_view.xml b/yuthon_property/views/property_evaluation_plan_view.xml index b566d3f08..4b9b47ad7 100644 --- a/yuthon_property/views/property_evaluation_plan_view.xml +++ b/yuthon_property/views/property_evaluation_plan_view.xml @@ -10,6 +10,7 @@