From 3d4006ccea0da7e4f4e83445fd9a0ccf0071b253 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?=
<9664676+pengyuthon@user.noreply.gitee.com>
Date: Fri, 28 Nov 2025 20:04:42 +0800
Subject: [PATCH] =?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
---
yuthon_account_report/__init__.py | 1 +
yuthon_account_report/__manifest__.py | 20 +++
.../data/account_setting_data.xml | 129 ++++++++++++++++++
yuthon_account_report/models/__init__.py | 4 +
.../models/financial_sheet_collection.py | 18 +++
.../models/information_summary_table.py | 16 +++
yuthon_account_report/models/table_setting.py | 28 ++++
.../security/ir.model.access.csv | 5 +
.../financial_sheet_collection_views.xml | 27 ++++
.../views/information_summary_table_views.xml | 23 ++++
.../views/table_setting_views.xml | 40 ++++++
.../wizard/property_reconciliation_wizard.py | 2 +-
yuthon_work_brand/__manifest__.py | 2 +-
yuthon_work_brand/views/hr_menus.xml | 38 ++++--
14 files changed, 343 insertions(+), 10 deletions(-)
create mode 100644 yuthon_account_report/__init__.py
create mode 100644 yuthon_account_report/__manifest__.py
create mode 100644 yuthon_account_report/data/account_setting_data.xml
create mode 100644 yuthon_account_report/models/__init__.py
create mode 100644 yuthon_account_report/models/financial_sheet_collection.py
create mode 100644 yuthon_account_report/models/information_summary_table.py
create mode 100644 yuthon_account_report/models/table_setting.py
create mode 100644 yuthon_account_report/security/ir.model.access.csv
create mode 100644 yuthon_account_report/views/financial_sheet_collection_views.xml
create mode 100644 yuthon_account_report/views/information_summary_table_views.xml
create mode 100644 yuthon_account_report/views/table_setting_views.xml
diff --git a/yuthon_account_report/__init__.py b/yuthon_account_report/__init__.py
new file mode 100644
index 000000000..9a7e03ede
--- /dev/null
+++ b/yuthon_account_report/__init__.py
@@ -0,0 +1 @@
+from . import models
\ No newline at end of file
diff --git a/yuthon_account_report/__manifest__.py b/yuthon_account_report/__manifest__.py
new file mode 100644
index 000000000..f2ad8b4f1
--- /dev/null
+++ b/yuthon_account_report/__manifest__.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+{
+ 'name': "Yuthon Account report",
+ 'summary': "",
+ 'description': """财务报表 """,
+ 'category': 'zhou',
+ 'version': '0.1',
+ 'license': 'LGPL-3',
+ 'depends': ['base', 'hr', 'soong_workflow'],
+ 'data': [
+ 'security/ir.model.access.csv',
+ 'data/account_setting_data.xml',
+ 'views/financial_sheet_collection_views.xml',
+ 'views/information_summary_table_views.xml',
+ 'views/table_setting_views.xml',
+ ],
+ 'installable': True,
+ 'application': True,
+
+}
diff --git a/yuthon_account_report/data/account_setting_data.xml b/yuthon_account_report/data/account_setting_data.xml
new file mode 100644
index 000000000..bc453809c
--- /dev/null
+++ b/yuthon_account_report/data/account_setting_data.xml
@@ -0,0 +1,129 @@
+
+
+
+ 资产总额
+ 0
+
+
+ 本年营业收入
+ 1
+
+
+ 本年利润总额
+ 2
+
+
+ (自有物业)可出租面积(万平方米)
+ 3
+
+
+ (自有物业)已出租面积(万平方米)
+ 4
+
+
+ (代管物业)可出租面积(万平方米)
+ 5
+
+
+ (代管物业)已出租面积(万平方米)
+ 6
+
+
+ 代管物业出租率
+ 7
+
+
+ 整体出租率
+ 8
+
+
+
+
+ 一、总资产
+ 1
+
+
+ 二、总负债
+ 2
+
+
+ 有息负债
+ 3
+
+
+ 利息支出
+ 4
+
+
+ 净资产
+ 5
+
+
+ 经营收入(累计当年)
+ 6
+
+
+ 物业租赁收入
+ 7
+
+
+ 储备粮轮换收入
+ 8
+
+
+ 利息收入
+ 9
+
+
+ 其他业务收入
+ 10
+
+
+ 五、利润总额(累计当年)
+ 11
+
+
+ 六、净利润(累计当年)
+ 12
+
+
+ 七、经管物业面积
+ 13
+
+
+ 自有物业面积
+ 14
+
+
+ 代管物业面积
+ 15
+
+
+ 八、物业出租率
+ 16
+
+
+ 九、企业员工人数
+ 17
+
+
+ 党员
+ 18
+
+
+ 大学本科学历
+ 19
+
+
+ 研究生
+ 20
+
+
+ 中级以上职称
+ 21
+
+
+ 十、平均年龄
+ 22
+
+
\ No newline at end of file
diff --git a/yuthon_account_report/models/__init__.py b/yuthon_account_report/models/__init__.py
new file mode 100644
index 000000000..88893514e
--- /dev/null
+++ b/yuthon_account_report/models/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+from . import financial_sheet_collection
+from . import information_summary_table
+from . import table_setting
\ No newline at end of file
diff --git a/yuthon_account_report/models/financial_sheet_collection.py b/yuthon_account_report/models/financial_sheet_collection.py
new file mode 100644
index 000000000..577e44068
--- /dev/null
+++ b/yuthon_account_report/models/financial_sheet_collection.py
@@ -0,0 +1,18 @@
+from odoo import fields, models, api
+
+
+class FinancialSheetCollection(models.Model):
+ _name = 'financial.sheet.collection'
+ _description = '财务数据表收集'
+
+ collection_id = fields.Many2one('sheet.collection.setting', string='项目名称')
+ employee_id = fields.Many2one('hr.employee', string='人员')
+ company_id = fields.Many2one('res.company', string='公司')
+ department_id = fields.Many2one('hr.department', string="部门")
+ user_role_id = fields.Many2one('soong.user.role', string="角色")
+ this_issue_number = fields.Integer(string='本期数')
+ same_last_year = fields.Integer(string='上年同期数')
+ remake = fields.Text(string='说明')
+ create_date = fields.Datetime(string='创建日期', default=fields.Datetime.now)
+
+
diff --git a/yuthon_account_report/models/information_summary_table.py b/yuthon_account_report/models/information_summary_table.py
new file mode 100644
index 000000000..6a6e9acdf
--- /dev/null
+++ b/yuthon_account_report/models/information_summary_table.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+from odoo import api, fields, models
+import json
+
+
+class InformationSummaryTable(models.Model):
+ _name = 'information.summary.table'
+ _description = '信息汇总表收集'
+
+ table_id = fields.Many2one('summary.table.setting', string='项目名称')
+ this_year = fields.Float(string='本年底')
+ employee_id = fields.Many2one('hr.employee', string='人员')
+ company_id = fields.Many2one('res.company', string='公司')
+ department_id = fields.Many2one('hr.department', string="部门")
+ user_role_id = fields.Many2one('soong.user.role', string="角色")
+ remake = fields.Text(string='说明')
diff --git a/yuthon_account_report/models/table_setting.py b/yuthon_account_report/models/table_setting.py
new file mode 100644
index 000000000..8a8c5fe51
--- /dev/null
+++ b/yuthon_account_report/models/table_setting.py
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+from odoo import api, fields, models
+import json
+
+
+class SheetCollectionSetting(models.Model):
+ _name = 'sheet.collection.setting'
+ _description = '财务数据表项目配置'
+ _order = 'sequence'
+
+ sequence = fields.Integer(string='序号')
+ name = fields.Char(string='名称')
+ user_role_id = fields.Many2one('soong.user.role', string="角色")
+ start_date = fields.Date(string="生效日期", default=fields.Datetime.today())
+ end_date = fields.Date(string="失效日期")
+
+
+class SummaryTableSetting(models.Model):
+ _name = 'summary.table.setting'
+ _description = '信息汇总表项目配置'
+ _order = 'sequence'
+
+ sequence = fields.Integer(string='序号')
+ name = fields.Char(string='名称')
+ company_id = fields.Many2one('res.company', string="公司")
+ start_date = fields.Date(string="生效日期", default=fields.Datetime.today())
+ end_date = fields.Date(string="失效日期")
+
diff --git a/yuthon_account_report/security/ir.model.access.csv b/yuthon_account_report/security/ir.model.access.csv
new file mode 100644
index 000000000..abe2a92c1
--- /dev/null
+++ b/yuthon_account_report/security/ir.model.access.csv
@@ -0,0 +1,5 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_financial_sheet_collection,financial_sheet_collection,model_financial_sheet_collection,base.group_system,1,1,1,1
+access_summary_table_setting,summary_table_setting,model_summary_table_setting,base.group_system,1,1,1,1
+access_information_summary_table,information_summary_table,model_information_summary_table,base.group_system,1,1,1,1
+access_sheet_collection_setting,sheet_collection_setting,model_sheet_collection_setting,base.group_system,1,1,1,1
diff --git a/yuthon_account_report/views/financial_sheet_collection_views.xml b/yuthon_account_report/views/financial_sheet_collection_views.xml
new file mode 100644
index 000000000..22817587e
--- /dev/null
+++ b/yuthon_account_report/views/financial_sheet_collection_views.xml
@@ -0,0 +1,27 @@
+
+
+
+ financial.sheet.collection.tree
+ financial.sheet.collection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 财务数据表收集
+ financial.sheet.collection
+ tree
+
+
+
+
diff --git a/yuthon_account_report/views/information_summary_table_views.xml b/yuthon_account_report/views/information_summary_table_views.xml
new file mode 100644
index 000000000..bd76792ee
--- /dev/null
+++ b/yuthon_account_report/views/information_summary_table_views.xml
@@ -0,0 +1,23 @@
+
+
+
+ information.summary.table.tree
+ information.summary.table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 信息汇总表
+ information.summary.table
+ tree
+
+
diff --git a/yuthon_account_report/views/table_setting_views.xml b/yuthon_account_report/views/table_setting_views.xml
new file mode 100644
index 000000000..5871299c3
--- /dev/null
+++ b/yuthon_account_report/views/table_setting_views.xml
@@ -0,0 +1,40 @@
+
+
+
+ sheet.collection.setting.tree
+ sheet.collection.setting
+
+
+
+
+
+
+
+
+
+
+
+ 财务数据表项目配置
+ sheet.collection.setting
+ tree
+
+
+ summary.table.setting.tree
+ summary.table.setting
+
+
+
+
+
+
+
+
+
+
+
+ 信息汇总表项目配置
+ summary.table.setting
+ tree
+
+
+
diff --git a/yuthon_property_approval/wizard/property_reconciliation_wizard.py b/yuthon_property_approval/wizard/property_reconciliation_wizard.py
index ae4921808..59a42900a 100644
--- a/yuthon_property_approval/wizard/property_reconciliation_wizard.py
+++ b/yuthon_property_approval/wizard/property_reconciliation_wizard.py
@@ -23,7 +23,7 @@ class PropertyReconciliationWizard(models.Model):
amount_been_reconciled = fields.Float(string='已对金额', store=True)
amount_water_been = fields.Float(string='已对流水金额', store=True)
amount_water = fields.Float(string='未对流水金额', store=True)
- amount_reconciled = fields.Float(string='未核销', store=True)
+ amount_reconciled = fields.Float(string='未核销', store=True, compute="_compute_receivable_total",)
actual_total = fields.Float(string='实收金额')
actual_date = fields.Date(string='实收日期')
initial_total = fields.Float(string='初始金额', default=0.0)
diff --git a/yuthon_work_brand/__manifest__.py b/yuthon_work_brand/__manifest__.py
index 18d798f4c..98d7b62c9 100644
--- a/yuthon_work_brand/__manifest__.py
+++ b/yuthon_work_brand/__manifest__.py
@@ -5,7 +5,7 @@
'depends': ['base', 'hr_recruitment',
'hr', 'yuthon_holiday', 'hr_attendance',
'hr_holidays', 'hr_payroll', 'yuthon_hr_attendance',
- 'website', 'yuthon_hr_employee', 'yuthon_base',
+ 'website', 'yuthon_hr_employee', 'yuthon_base', 'yuthon_account_report',
'yuthon_salary', 'yuthon_sps_approval', 'yuthon_property', 'yuthon_property_approval', 'yuthon_performance', 'purchase', 'yuthon_purchase',
'resource', 'yuthon_hr_employee_approval', 'planning', 'yuthon_maintain', 'maintenance', 'yuthon_trade', 'attendance_iot', 'account', 'uom', 'product'
],
diff --git a/yuthon_work_brand/views/hr_menus.xml b/yuthon_work_brand/views/hr_menus.xml
index 2cf0f87de..f0f8cdcb3 100644
--- a/yuthon_work_brand/views/hr_menus.xml
+++ b/yuthon_work_brand/views/hr_menus.xml
@@ -783,16 +783,38 @@
parent="finance_root_board"
action="yuthon_salary.action_yuthon_salary_asset"
sequence="5"/>
-
-
-
-
-
-
+
+
+
+
+
+
+ sequence="50"/>