1
This commit is contained in:
@@ -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')))
|
||||
|
||||
@@ -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='物业信息')
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
<field name="name">property.meter.archives.tree</field>
|
||||
<field name="model">property.meter.archives</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="电表库" create="False" editable="bottom"
|
||||
decoration-danger="archives_state == 'stop'">
|
||||
<tree string="电表库" decoration-danger="archives_state == 'stop'">
|
||||
<header>
|
||||
<button class="oe_highlight" name="batch_reading_push" string="任务生成" type="object"/>
|
||||
<button class="oe_highlight" name="button_archives_state" string="停用" type="object"/>
|
||||
@@ -13,7 +12,7 @@
|
||||
</header>
|
||||
<field name="sequence1"/>
|
||||
<field name="number" column_invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="epitope_values" column_invisible="1"/>
|
||||
<field name="epitope_values_id" domain="[('type', '=', 'ammeter')]"/>
|
||||
<field name="lessee_id" options="{'no_create': True}"/>
|
||||
@@ -36,12 +35,6 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="电表库">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
<field name="name">property.meter.water.tree</field>
|
||||
<field name="model">property.meter.water</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="水表库" create="False" editable="bottom"
|
||||
decoration-danger="water_state == 'stop'">
|
||||
<tree string="水表库" decoration-danger="water_state == 'stop'">
|
||||
<header>
|
||||
<button class="oe_highlight" name="batch_reading_water_push" string="任务生成" type="object"/>
|
||||
<button class="oe_highlight" name="button_water_state" string="停用" type="object"/>
|
||||
@@ -13,7 +12,7 @@
|
||||
</header>
|
||||
<field name="sequence1"/>
|
||||
<field name="number" column_invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="epitope_values" column_invisible="1"/>
|
||||
<field name="epitope_values_id" domain="[('type', '=', 'watermeter')]"/>
|
||||
<field name="lessee_id" options="{'no_create': True}"/>
|
||||
@@ -37,12 +36,6 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="水表库">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
|
||||
@@ -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='水表库')
|
||||
|
||||
|
||||
@@ -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')))
|
||||
|
||||
@@ -524,23 +524,16 @@
|
||||
<button name="other" type="object" class="oe_highlight" string="其他"/>
|
||||
</header>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//field[@name='property_ids']" position="before">
|
||||
<field name="contract_ids" string="合同编号" widget="many2many_tags" readonly="1" domain="[('lessor_id.name', '=', your_own_unit)]"/>
|
||||
<field name="property_name" string="物业信息"/>
|
||||
<field name="admin_id"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='bank_state']" position="after">
|
||||
<button name="button_reconciliation" type="object" string="对账" class="btn btn-primary" invisible="bank_state != 'not_reconciled'"/>
|
||||
<button name="binding_information" type="object" string="绑定信息" class="btn btn-primary"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<record id="inherit_property_bank_statements_tree1" model="ir.ui.view">
|
||||
<field name="name">property.bank.statements.tree</field>
|
||||
<field name="model">property.bank.statements</field>
|
||||
<field name="inherit_id" ref="yuthon_property.view_property_bank_statements_tree1"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='bank_state']" position="after">
|
||||
<button name="revocation" type="object" class="btn btn-primary" string="撤销" invisible="bank_state == 'not_reconciled'"/>
|
||||
<button name="button_reconciliation" type="object" string="对账" class="btn btn-primary" invisible="bank_state != 'not_reconciled'"/>
|
||||
<button name="binding_information" type="object" string="绑定信息" class="btn btn-primary"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
@@ -550,7 +543,7 @@
|
||||
<field name="inherit_id" ref="yuthon_property.view_property_bank_statements_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='original_amount']" position="after">
|
||||
<field name="contract_ids"/>
|
||||
<field name="contract_ids"/>
|
||||
<field name="property_name" string="物业信息"/>
|
||||
</xpath>
|
||||
</field>
|
||||
|
||||
Reference in New Issue
Block a user