添加功能

This commit is contained in:
zhou
2025-06-01 18:55:49 +08:00
parent 4ce164ce8c
commit 66ee0fd778
4 changed files with 44 additions and 26 deletions
+1 -1
View File
@@ -778,6 +778,6 @@ class ReportExcel(models.Model):
target_name = f"{current_year}年-{chinese_month}"
return [
('is_salary_push', '=', True),
('is_salary_release', '=', True),
('is_salary_release', '=', False),
('payslip_run_id.name', '=', target_name)
]
@@ -72,26 +72,44 @@ class PropertyManagement(models.Model):
def approval_end(self):
for record in self:
for line in record.management_line2_ids:
line.property_id.write({
'company_id': record.company_id.id,
'precinct_id': record.precinct_id.id,
'admin_id': record.admin_id_all.id,
'tenure_type': record.tenure_type,
'purpose_id': record.purpose_id.id,
})
line.information_line_id.write({'end_date': fields.Date.today()})
self.env['manage.information.line'].create({
# 准备要更新的字段值,只包含存在的值
property_values = {}
if record.company_id:
property_values['company_id'] = record.company_id.id
if record.precinct_id:
property_values['precinct_id'] = record.precinct_id.id
if record.admin_id_all:
property_values['admin_id'] = record.admin_id_all.id
if record.tenure_type:
property_values['tenure_type'] = record.tenure_type
if record.purpose_id:
property_values['purpose_id'] = record.purpose_id.id
# 更新物业记录
if property_values:
line.property_id.write(property_values)
# 更新信息行的结束日期
if line.information_line_id:
line.information_line_id.write({'end_date': fields.Date.today()})
# 直接从关联的上一条记录获取值(如果存在)
prev_info = line.information_line_id
# 创建新的信息行记录,从prev_info获取缺失的值
info_line_vals = {
'yuthon_property_id': line.property_id.id,
'purpose_id' : record.purpose_id.id,
'precinct_id': record.precinct_id.id,
'tenure_type': record.tenure_type,
'management_area': line.information_line_id.management_area,
'rent_area': line.information_line_id.rent_area,
'admin_id' : record.admin_id_all.id,
'company_id': record.company_id.id,
'purpose_id': record.purpose_id.id if record.purpose_id else prev_info.purpose_id.id,
'precinct_id': record.precinct_id.id if record.precinct_id else prev_info.precinct_id.id,
'tenure_type': record.tenure_type or prev_info.tenure_type,
'management_area': prev_info.management_area if prev_info else 0.0,
'rent_area': prev_info.rent_area if prev_info else 0.0,
'admin_id': record.admin_id_all.id if record.admin_id_all else prev_info.admin_id.id,
'company_id': record.company_id.id if record.company_id else prev_info.company_id.id if prev_info else False,
'start_time': fields.Date.today(),
})
record.write({'is_line': True})
}
# 创建新记录
self.env['manage.information.line'].create(info_line_vals)
record.write({'is_line': True})
def put_property_management(self):
return {
@@ -62,7 +62,7 @@
<field name="document_ids" widget="preview_many2many"/>
</group>
<group string="原管理信息"/>
<button type="object" class="btn btn-primary" name="put_property_management" string="批量导入物业信息"/>
<button type="object" class="btn btn-primary" name="put_property_management" string="批量增加物业信息"/>
<group string=" " invisible="is_line">
<field name="management_line2_ids" string=" ">
<tree editable="bottom">
@@ -93,19 +93,19 @@
</group>
<group col="5">
<group>
<field name="company_id" required="1"/>
<field name="company_id"/>
</group>
<group>
<field name="tenure_type" required="1"/>
<field name="tenure_type"/>
</group>
<group>
<field name="admin_id_all" required="1"/>
<field name="admin_id_all"/>
</group>
<group>
<field name="precinct_id" required="1"/>
<field name="precinct_id"/>
</group>
<group>
<field name="purpose_id" required="1"/>
<field name="purpose_id"/>
</group>
</group>
</sheet>
@@ -8,7 +8,7 @@
<sheet>
<group>
<field name="property_ids" widget="many2many_tags"/>
<field name="property_management_id" invisible=""/>
<field name="property_management_id" invisible="1"/>
</group>
<footer>
<button name="confirm" string="确认" type="object" class="oe_highlight"/>