diff --git a/yuthon_trade/__manifest__.py b/yuthon_trade/__manifest__.py
index 39d08f10c..70c6f5e60 100644
--- a/yuthon_trade/__manifest__.py
+++ b/yuthon_trade/__manifest__.py
@@ -25,6 +25,7 @@
'views/yuthon_trade_premium.xml',
'views/yuthon_business_approval_viwes.xml',
'views/yuthon_union_business_approval_views.xml',
+ 'views/yuthon_party_business_approval_views.xml',
'views/yuthon_seals_approval_views.xml',
'views/yuthon_trade_refund.xml',
'views/yuthon_trade_reimbursed.xml',
@@ -47,6 +48,8 @@
'report/business_approval_print_templates.xml',
'report/union_business_approval_print_report.xml',
'report/union_business_approval_print_templates.xml',
+ 'report/party_business_approval_print_report.xml',
+ 'report/party_business_approval_print_templates.xml',
],
'demo': [],
'depends': ['mail', 'documents', 'soong_workflow', 'hr', 'yuthon_hr_employee', 'yuthon_issue', 'project'],
diff --git a/yuthon_trade/data/sale_renting_code_data.xml b/yuthon_trade/data/sale_renting_code_data.xml
index 3bf88f904..69d396ed9 100644
--- a/yuthon_trade/data/sale_renting_code_data.xml
+++ b/yuthon_trade/data/sale_renting_code_data.xml
@@ -35,6 +35,13 @@
3
+
+ 业务审批编号(党)
+ yuthon_party_business_approval_code
+ DW%(y)s%(month)s%(day)s
+ 3
+
+
移交社会化审批编号
yuthon_social_transfer_code
diff --git a/yuthon_trade/models/__init__.py b/yuthon_trade/models/__init__.py
index e423aceb4..2dea87254 100644
--- a/yuthon_trade/models/__init__.py
+++ b/yuthon_trade/models/__init__.py
@@ -23,6 +23,7 @@ from . import trade_reward_approval
from . import yuthon_seals_approval
from . import yuthon_business_approval
from . import yuthon_union_business_approval
+from . import yuthon_party_business_approval
from . import inherit_workflow_record
from . import trade_project_approval
from . import parking_fee_approval
diff --git a/yuthon_trade/models/yuthon_party_business_approval.py b/yuthon_trade/models/yuthon_party_business_approval.py
new file mode 100644
index 000000000..0fab919e4
--- /dev/null
+++ b/yuthon_trade/models/yuthon_party_business_approval.py
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+from odoo import models, fields, api
+
+
+class YuthonPartyBusinessApproval(models.Model):
+ _name = 'yuthon.party.business.approval'
+ _description = '业务审批(党)'
+ _inherit = ['soong.workflow.mixin', 'mail.thread.main.attachment', 'mail.activity.mixin']
+
+ name = fields.Char(string='标题')
+ code = fields.Char(string="流水号",
+ default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_party_business_approval_code'))
+ users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id)
+ urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
+ default='normal')
+ department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门")
+ is_issues = fields.Boolean(string='是否上会')
+ issues_result = fields.Html(string="会议结果")
+ related_issues_id = fields.Many2one('issue.library', string="关联议题")
+ information_categories_ids = fields.Many2many(
+ 'yuthon.information.categories',
+ relation='yuthon_party_biz_approval_info_cat_rel',
+ column1='approval_id',
+ column2='category_id',
+ string='类型',
+ )
+ reason = fields.Text(string="正文")
+ document_ids = fields.Many2many(
+ 'ir.attachment',
+ relation='yuthon_party_biz_approval_attachment_rel',
+ column1='approval_id',
+ column2='attachment_id',
+ string="附件",
+ )
+ is_chapter = fields.Selection([('yes', '是'), ('no', '否')], string="是否用章")
+ type_stamp_ids = fields.Many2many('seals.type.setting', string='用章类型')
+ scope_chapter_ids = fields.Many2many('seals.scope.setting', string='用章范围')
+ active = fields.Boolean('Active', default=True, tracking=True)
+ work_end = fields.Boolean(string="结束")
+ receivable_amount = fields.Float(string="应收")
+ payable_amount = fields.Float(string="应付")
+ is_finance_business = fields.Boolean(string="是否经营业务(财务专用)", compute='_compute_is_finance_business', store=False)
+
+ @api.depends('information_categories_ids')
+ def _compute_is_finance_business(self):
+ for record in self:
+ record.is_finance_business = any(
+ cat.name == '经营业务(财务专用)' for cat in record.information_categories_ids
+ )
+
+ def _get_default_name_title(self):
+ return self._description if self._description else self._name
+
+ name_title = fields.Char(default=_get_default_name_title)
+ self_users_ids = fields.Many2many('res.users', string="当前经办人", default=lambda self: [(6, 0, [self.env.user.id])])
+
+ @api.onchange('is_issues')
+ def _onchange_is_issues(self):
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name, 'is_invisible_workflow': True})
+ self.related_issues_id = issue_id.id
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_name': self.name,
+ 'approval_type': self.workflow_id.name,
+ 'res_model': self._name,
+ 'res_id': self.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+
+ def action_print_party_business_approval(self):
+ """打印业务审批单(党)"""
+ report_ref = self.env.ref('yuthon_trade.action_party_business_approval_print_report')
+ return report_ref.report_action(self)
diff --git a/yuthon_trade/report/party_business_approval_print_report.xml b/yuthon_trade/report/party_business_approval_print_report.xml
new file mode 100644
index 000000000..1df9e5b5d
--- /dev/null
+++ b/yuthon_trade/report/party_business_approval_print_report.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ 业务审批单(党)
+
+ yuthon.party.business.approval
+ qweb-pdf
+ yuthon_trade.party_business_approval_print_report_document
+ yuthon_trade.party_business_approval_print_report_document
+
+ report
+ '业务审批单(党)%s_%s_%s' % (object.name or '', object.users_id.name or '', ((object.log_ids.filtered(lambda l: l.name == '归档')[-1].lase_click_date or object.log_ids.filtered(lambda l: l.name == '归档')[-1].date_create).strftime('%Y-%m-%d') if object.log_ids.filtered(lambda l: l.name == '归档') else ''))
+
+
+
diff --git a/yuthon_trade/report/party_business_approval_print_templates.xml b/yuthon_trade/report/party_business_approval_print_templates.xml
new file mode 100644
index 000000000..362297671
--- /dev/null
+++ b/yuthon_trade/report/party_business_approval_print_templates.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+ 业务审批单(党)
+
+ 部门:
+ 流水号:
+
+
+
+
+
+
+
+ | 事项标题 | |
+ | 业务类型 |
+
+ 、
+
+ |
+ | 事项说明 | |
+ | 用章类型 |
+
+ 、
+
+ |
+ | 附件清单 |
+
+ |
+ | 审批详情 |
+
+
+
+ |
+ |
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/yuthon_trade/security/ir.model.access.csv b/yuthon_trade/security/ir.model.access.csv
index a4d3bb0a9..b71994880 100644
--- a/yuthon_trade/security/ir.model.access.csv
+++ b/yuthon_trade/security/ir.model.access.csv
@@ -15,6 +15,7 @@ access_yuthon_work_condolences,yuthon_work_condolences,model_yuthon_work_condole
access_yuthon_seals_approval,yuthon_seals_approval,model_yuthon_seals_approval,base.group_user,1,1,1,1
access_yuthon_business_approval,yuthon_business_approval,model_yuthon_business_approval,base.group_user,1,1,1,1
access_yuthon_union_business_approval,yuthon_union_business_approval,model_yuthon_union_business_approval,base.group_user,1,1,1,1
+access_yuthon_party_business_approval,yuthon_party_business_approval,model_yuthon_party_business_approval,base.group_user,1,1,1,1
access_yuthon_care_setting,yuthon_care_setting,model_yuthon_care_setting,base.group_user,1,1,1,1
access_yuthon_work_setting,yuthon_work_setting,model_yuthon_work_setting,base.group_user,1,1,1,1
diff --git a/yuthon_trade/views/yuthon_party_business_approval_views.xml b/yuthon_trade/views/yuthon_party_business_approval_views.xml
new file mode 100644
index 000000000..6f877973a
--- /dev/null
+++ b/yuthon_trade/views/yuthon_party_business_approval_views.xml
@@ -0,0 +1,76 @@
+
+
+
+ yuthon.party.business.approval.tree
+ yuthon.party.business.approval
+
+
+
+
+
+
+
+
+ yuthon.party.business.approval.form
+ yuthon.party.business.approval
+
+
+
+
+
+
+ 业务审批(党)
+ yuthon.party.business.approval
+ tree,form
+
+