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"/>