From 3cc6d4572e7dc5a5e3f58c8ab81d7d42e1af792d Mon Sep 17 00:00:00 2001 From: zhouzhou <123@qq.com> Date: Wed, 13 Nov 2024 18:41:11 +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_sps_approval/__manifest__.py | 3 +- .../data/sps_approval_code_data.xml | 7 ++ yuthon_sps_approval/models/__init__.py | 1 + .../models/yuthon_office_borrow.py | 31 +++++++++ .../models/yuthon_office_supplies.py | 4 +- .../security/ir.model.access.csv | 4 +- .../views/yuthon_office_borrow_views.xml | 65 +++++++++++++++++++ 7 files changed, 112 insertions(+), 3 deletions(-) create mode 100644 yuthon_sps_approval/models/yuthon_office_borrow.py create mode 100644 yuthon_sps_approval/views/yuthon_office_borrow_views.xml diff --git a/yuthon_sps_approval/__manifest__.py b/yuthon_sps_approval/__manifest__.py index a3c3d6cff..29dc0e94f 100644 --- a/yuthon_sps_approval/__manifest__.py +++ b/yuthon_sps_approval/__manifest__.py @@ -6,11 +6,12 @@ 'category': 'zhou', 'version': '0.1', 'license': 'LGPL-3', - 'depends': ['base','soong_workflow','yuthon_issue','hr','documents','product','mail'], + 'depends': ['base', 'soong_workflow', 'yuthon_issue', 'hr', 'documents', 'product', 'mail'], 'data': [ 'security/ir.model.access.csv', 'data/sps_approval_code_data.xml', 'views/yuthon_office_supplies_views.xml', + 'views/yuthon_office_borrow_views.xml', ] } diff --git a/yuthon_sps_approval/data/sps_approval_code_data.xml b/yuthon_sps_approval/data/sps_approval_code_data.xml index 9f8a1ad04..73e28d5f6 100644 --- a/yuthon_sps_approval/data/sps_approval_code_data.xml +++ b/yuthon_sps_approval/data/sps_approval_code_data.xml @@ -7,4 +7,11 @@ 3 + + 办公用品借用编号 + yuthon_office_borrow_code + BG%(y)s%(month)s%(day)s + 3 + + \ No newline at end of file diff --git a/yuthon_sps_approval/models/__init__.py b/yuthon_sps_approval/models/__init__.py index a3c656160..c33c3b3de 100644 --- a/yuthon_sps_approval/models/__init__.py +++ b/yuthon_sps_approval/models/__init__.py @@ -1,3 +1,4 @@ # -*- coding: utf-8 -*- from . import yuthon_office_supplies +from . import yuthon_office_borrow \ No newline at end of file diff --git a/yuthon_sps_approval/models/yuthon_office_borrow.py b/yuthon_sps_approval/models/yuthon_office_borrow.py new file mode 100644 index 000000000..5393193d8 --- /dev/null +++ b/yuthon_sps_approval/models/yuthon_office_borrow.py @@ -0,0 +1,31 @@ +from odoo import models, fields, api + + +class YuthonOfficeBorrow(models.Model): + _name = 'yuthon.office.borrow' + _description = '办公用品借用单' + + name = fields.Char(string='标题', required=True) + code = fields.Char(string="编号", + default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_office_borrow_code')) + is_issues = fields.Boolean(string='是否上会') + users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id) + department_id = fields.Many2one('hr.department', string="部门", related='users_id.employee_id.department_id') + reason_application = fields.Html(string="事由") + date = fields.Date(string="申请日期", default=fields.Date.today()) + related_issues_id = fields.Many2one('issue.library', string="关联议题") + yuthon_company = fields.Selection(related='users_id.employee_id.yuthon_company', string="公司") + yuthon_office_borrow_line_ids = fields.One2many('yuthon.office.borrow.line', 'borrow_id', string="关联办公用品申请明细") + active = fields.Boolean('Active', default=True, tracking=True) + + +class YuthonOfficeBorrowLine(models.Model): + _name = 'yuthon.office.borrow.line' + _description = '办公用品申请明细' + + borrow_id = fields.Many2one('yuthon.office.borrow', string="关联办公用品申请") + name = fields.Many2one('product.product', string="办公用品") + number = fields.Integer(string="数量") + price = fields.Float(string="单价") + amount = fields.Float(string="金额") + diff --git a/yuthon_sps_approval/models/yuthon_office_supplies.py b/yuthon_sps_approval/models/yuthon_office_supplies.py index 72a34b968..b5c564a40 100644 --- a/yuthon_sps_approval/models/yuthon_office_supplies.py +++ b/yuthon_sps_approval/models/yuthon_office_supplies.py @@ -3,7 +3,7 @@ from odoo import models, fields, api class YuthonOfficeSupplies(models.Model): _name = 'yuthon.office.supplies' - _description = '办公用品申请' + _description = '办公用品借用单' name = fields.Char(string='标题', required=True) code = fields.Char(string="编号", @@ -16,6 +16,8 @@ class YuthonOfficeSupplies(models.Model): related_issues_id = fields.Many2one('issue.library', string="关联议题") yuthon_company = fields.Selection(related='users_id.employee_id.yuthon_company', string="公司") yuthon_office_supplies_line_ids = fields.One2many('yuthon.office.supplies.line', 'supplies_id', string="关联办公用品申请明细") + active = fields.Boolean('Active',default=True,tracking=True) + class YuthonOfficeSuppliesLine(models.Model): _name = 'yuthon.office.supplies.line' diff --git a/yuthon_sps_approval/security/ir.model.access.csv b/yuthon_sps_approval/security/ir.model.access.csv index 6bea8473d..761691dfb 100644 --- a/yuthon_sps_approval/security/ir.model.access.csv +++ b/yuthon_sps_approval/security/ir.model.access.csv @@ -1,3 +1,5 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_yuthon_office_supplies,yuthon_office_supplies,model_yuthon_office_supplies,base.group_user,1,1,1,1 -access_yuthon_office_supplies_line,yuthon_office_supplies_line,model_yuthon_office_supplies_line,base.group_user,1,1,1,1 \ No newline at end of file +access_yuthon_office_supplies_line,yuthon_office_supplies_line,model_yuthon_office_supplies_line,base.group_user,1,1,1,1 +access_yuthon_office_borrow,yuthon_office_borrow,model_yuthon_office_borrow,base.group_user,1,1,1,1 +access_yuthon_office_borrow_line,yuthon_office_borrow_line,model_yuthon_office_borrow_line,base.group_user,1,1,1,1 \ No newline at end of file diff --git a/yuthon_sps_approval/views/yuthon_office_borrow_views.xml b/yuthon_sps_approval/views/yuthon_office_borrow_views.xml new file mode 100644 index 000000000..1b7c77b4d --- /dev/null +++ b/yuthon_sps_approval/views/yuthon_office_borrow_views.xml @@ -0,0 +1,65 @@ + + + + yuthon.office.borrow.tree + yuthon.office.borrow + + + + + + + + + + + + yuthon.office.borrow.form + yuthon.office.borrow + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + 办公用品借用 + yuthon.office.borrow + tree,form + +
\ No newline at end of file