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/menuitem.xml b/yuthon_property/views/menuitem.xml
index df86f8f72..21d8069e3 100644
--- a/yuthon_property/views/menuitem.xml
+++ b/yuthon_property/views/menuitem.xml
@@ -18,11 +18,11 @@
parent="yuthon_property_menu_root"
/>
-
-
+
diff --git a/yuthon_property/views/yuthon_property_views.xml b/yuthon_property/views/yuthon_property_views.xml
index 48f215e3e..6a43ce02f 100644
--- a/yuthon_property/views/yuthon_property_views.xml
+++ b/yuthon_property/views/yuthon_property_views.xml
@@ -16,7 +16,7 @@
-
+
@@ -367,4 +367,11 @@
code
action = model.trigger_company_id()
+
+ 批量评估推送
+
+
+ code
+ action = model.all_assessment_approval()
+
\ No newline at end of file
diff --git a/yuthon_property/wizard/rental_scheme_wizard.py b/yuthon_property/wizard/rental_scheme_wizard.py
index 15512e9bc..79d3e5e60 100644
--- a/yuthon_property/wizard/rental_scheme_wizard.py
+++ b/yuthon_property/wizard/rental_scheme_wizard.py
@@ -8,6 +8,28 @@ class RentalSchemeWizard(models.Model):
_description = '整租方案弹窗'
name = fields.Char(string='方案名称')
+ property_ids = fields.Many2many('property.evaluation.plan', string='关联物业备案申请')
def confirm(self):
- pass
\ No newline at end of file
+ evaluation_area = 0
+ all_property_ids = []
+ first_id = self.property_ids[0]
+ for record in self.property_ids:
+ evaluation_area += record.evaluation_area
+ all_property_ids += record.property_ids.ids
+ unique_property_ids = list(set(all_property_ids))
+ self.env['property.evaluation.plan'].create({
+ 'name': self.name,
+ 'evaluation_area': evaluation_area,
+ 'assessment_category': first_id.assessment_category,
+ 'owner_id': first_id.owner_id.id if first_id.owner_id else False,
+ 'registered_id': first_id.registered_id.id if first_id.registered_id else False,
+ 'registered_id2': first_id.registered_id2.id if first_id.registered_id2 else False,
+ 'rent_id': first_id.rent_id.id if first_id.rent_id else False,
+ 'start_lease_period': first_id.start_lease_period,
+ 'end_lease_period': first_id.end_lease_period,
+ 'annual_increase_percentage': first_id.annual_increase_percentage,
+ 'is_pust': first_id.is_pust,
+ 'remake': first_id.remake,
+ 'property_ids': [(6, 0, unique_property_ids)]
+ })
\ No newline at end of file
diff --git a/yuthon_property/wizard/rental_scheme_wizard_views.xml b/yuthon_property/wizard/rental_scheme_wizard_views.xml
index f256764f5..fc01604b0 100644
--- a/yuthon_property/wizard/rental_scheme_wizard_views.xml
+++ b/yuthon_property/wizard/rental_scheme_wizard_views.xml
@@ -8,6 +8,7 @@
+