diff --git a/app_mrp_production_zchart/__init__.py b/app_mrp_production_zchart/__init__.py new file mode 100644 index 00000000..cde864ba --- /dev/null +++ b/app_mrp_production_zchart/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models diff --git a/app_mrp_production_zchart/__manifest__.py b/app_mrp_production_zchart/__manifest__.py new file mode 100644 index 00000000..037e969a --- /dev/null +++ b/app_mrp_production_zchart/__manifest__.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- + +# Created on 2019-01-04 +# author: 欧度智能,https://www.odooai.cn +# email: 300883@qq.com +# resource of odooai +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +# Odoo12在线用户手册(长期更新) +# https://www.odooai.cn/documentation/user/12.0/en/index.html + +# Odoo12在线开发者手册(长期更新) +# https://www.odooai.cn/documentation/12.0/index.html + +# Odoo10在线中文用户手册(长期更新) +# https://www.odooai.cn/documentation/user/10.0/zh_CN/index.html + +# Odoo10离线中文用户手册下载 +# https://www.odooai.cn/odoo10_user_manual_document_offline/ +# Odoo10离线开发手册下载-含python教程,jquery参考,Jinja2模板,PostgresSQL参考(odoo开发必备) +# https://www.odooai.cn/odoo10_developer_document_offline/ + + +{ + 'name': 'MRP Production zChart Hierarchy, 生产单多层级结构图', + 'version': '24.11.15', + 'author': 'odooai.cn', + 'category': 'Base', + 'website': 'https://www.odooai.cn', + 'license': 'LGPL-3', + 'sequence': 2, + 'summary': """ + Manufacture Order multi level. For Multi level MO MRP Production Order from multi bom. MRP Hierarchy. MO hierarchy + Chart Hierarchy Widget. Hierarchy Chart, Hierarchy Tree for multi level Parent Children relation tree. + """, + 'description': """ + MRP Hierarchy chart, MO Hierarchy chart, mrp multi level. +Need extra paid apps https://www.odoo.com/apps/modules/13.0/app_web_chart_hierarchy/ +This module extend to show a Hierarchy chart. +(N+1, N+2, direct subordinates) +image: image_field, +desc: descript_field, +direct_sub: children_field, must be one2many, +child_all_count: child_all_count field, count of direct and indirect children. + """, + 'price': 0.00, + 'currency': 'EUR', + 'depends': [ + 'mrp', + ], + # 不要误装别的,避免冲突 + 'excludes': [ + 'app_mrp_production_chart', + ], + 'images': ['static/description/banner.png'], + 'data': [ + 'views/mrp_production_views.xml', + ], + 'demo': [ + ], + 'post_load': None, + 'post_init_hook': None, + 'installable': True, + 'application': True, + 'auto_install': False, +} diff --git a/app_mrp_production_zchart/controllers/__init__.py b/app_mrp_production_zchart/controllers/__init__.py new file mode 100644 index 00000000..7ec351fe --- /dev/null +++ b/app_mrp_production_zchart/controllers/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -* + diff --git a/app_mrp_production_zchart/i18n/zh_CN.po b/app_mrp_production_zchart/i18n/zh_CN.po new file mode 100644 index 00000000..649676a5 --- /dev/null +++ b/app_mrp_production_zchart/i18n/zh_CN.po @@ -0,0 +1,53 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * app_mrp_production_zchart +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-08-20 13:10+0000\n" +"PO-Revision-Date: 2020-08-20 13:10+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: app_mrp_production_zchart +#: model:ir.model.fields,field_description:app_mrp_production_zchart.field_mrp_production__image_128 +msgid "Image 128" +msgstr "图片" + +#. module: app_mrp_production_zchart +#: model:ir.model.fields,field_description:app_mrp_production_zchart.field_mrp_production__child_all_count +msgid "Indirect Surbordinates Count" +msgstr "子生产单数量" + +#. module: app_mrp_production_zchart +#: model:ir.model.fields,field_description:app_mrp_production_zchart.field_mrp_production__parent_id +msgid "Parent Manufacturing" +msgstr "" + +#. module: app_mrp_production_zchart +#: model:ir.model.fields,field_description:app_mrp_production_zchart.field_mrp_production__parent_path +msgid "Parent Path" +msgstr "上级生产订单" + +#. module: app_mrp_production_zchart +#: model:ir.model,name:app_mrp_production_zchart.model_mrp_production +msgid "Production Order" +msgstr "生产订单" + +#. module: app_mrp_production_zchart +#: model:ir.model.fields,field_description:app_mrp_production_zchart.field_mrp_production__child_ids +msgid "Sub Manufacturing" +msgstr "子生产订单" + +#. module: app_mrp_production_zchart +#: model:ir.model.fields,help:app_mrp_production_zchart.field_mrp_production__parent_id +msgid "" +"The parent manufacturing orders that generate this order. Follow the rule of" +" multi level bom." +msgstr "本生产订单的来源生产订单,根据多级Bom生成" diff --git a/app_mrp_production_zchart/models/__init__.py b/app_mrp_production_zchart/models/__init__.py new file mode 100644 index 00000000..53975db4 --- /dev/null +++ b/app_mrp_production_zchart/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import mrp_production diff --git a/app_mrp_production_zchart/models/mrp_production.py b/app_mrp_production_zchart/models/mrp_production.py new file mode 100644 index 00000000..6f37abe7 --- /dev/null +++ b/app_mrp_production_zchart/models/mrp_production.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models, tools, _ + +import logging + +_logger = logging.getLogger(__name__) + + +class MrpProduction(models.Model): + _inherit = 'mrp.production' + + # 注意,res.partner 有 parent_id 和 child_ids + _parent_name = "parent_id" + _parent_store = True + + # 上级生产单 + parent_id = fields.Many2one('mrp.production', 'Parent Manufacturing', index=True, ondelete='cascade', + help="The parent manufacturing orders that generate this order. Follow the rule of multi level bom.") + child_ids = fields.One2many('mrp.production', 'parent_id', string='Sub Manufacturing') + child_all_count = fields.Integer('Indirect Surbordinates Count', store=False, recursive=True, + compute='_compute_child_all_count') + + image_128 = fields.Image(related='product_id.image_128', readonly=True) + product_name = fields.Char(related='product_id.name', readonly=True) + parent_path = fields.Char(index=True) + + @api.depends('child_ids.child_all_count') + def _compute_child_all_count(self): + for rec in self: + rec.child_all_count = len(rec.child_ids) + sum(child.child_all_count for child in rec.child_ids) + + @api.model_create_multi + def create(self, vals_list): + # 配置层级关系 + for vals in vals_list: + if 'origin' in vals and vals['origin']: + mo = self.env['mrp.production'].search([('name', '=', vals['origin'])], limit=1, order='id desc') + if len(mo) == 1: + vals['parent_id'] = mo[0].id + res = super(MrpProduction, self).create(vals_list) + return res diff --git a/app_mrp_production_zchart/static/description/banner.png b/app_mrp_production_zchart/static/description/banner.png new file mode 100644 index 00000000..ba2d4050 Binary files /dev/null and b/app_mrp_production_zchart/static/description/banner.png differ diff --git a/app_mrp_production_zchart/static/description/icon.png b/app_mrp_production_zchart/static/description/icon.png new file mode 100644 index 00000000..bde5f4eb Binary files /dev/null and b/app_mrp_production_zchart/static/description/icon.png differ diff --git a/app_mrp_production_zchart/static/description/index.html b/app_mrp_production_zchart/static/description/index.html new file mode 100644 index 00000000..27c341cd --- /dev/null +++ b/app_mrp_production_zchart/static/description/index.html @@ -0,0 +1,213 @@ +
+
+

MRP Production Chart Hierarchy, For Multi level MO MRP Production Order from multi bom.

+

Very useful for show parent child relationship, like product category, stock location, hr department

+
+
+ +
+ +
+
+
+
+
+ Key features: +
    +
  • + + Easy to make show parent children Chart Hierarchy. +
  • +
  • + + Free to Use in Manufacture Order multi level. For Multi level MO MRP Production Order from multi bom. +
  • +
  • + + Free to Use in product category. +
  • +
  • + + Free to Use in stock location. +
  • +
  • + + Free to Use in hr department, employee. +
  • +
  • + + Free to Use in Account chart. +
  • +
  • + + Free to Use in User Alliance Distribution Multi level. +
  • +
  • + + It's a widget, you can use it in anywhere in odoo. +
  • +
+
+ +

Buy + + this 1 chart hierarchy + + in odoo Store. Get free 5 related free apps. + +

+ +
+
+
+ +
+
+

 

+

MRP Production Chart Hierarchy

+
+ +
+

If we have a multi Bom like follow:

+
+ +
+

Show sub manufacture order and quick access sub MO

+
+ +
+
+
+ +
+
+

 

+

Product category Chart Hierarchy

+
+ +
+

Show sub category and quick access category

+
+ +
+
+
+ +
+
+

 

+

Stock Location Chart Hierarchy

+
+ +
+
+
+ +
+
+

 

+

HR Department Chart Hierarchy

+
+ +
+

HR Emploee Chart Hierarchy (this is include in odoo)

+
+ +
+
+
+
+
+

 

+

Account Chart Hierarchy

+
+ +
+
+
+ +
+
+

 

+

User Alliance Distribution Multi level

+
+ +
+
+
+ +
+
+

Easy to setup just use widget='web_chart_hierarchy'. like this

+
+ +
+

Also need to change view for better ui

+
+ +
+


Use follow param to setup widget:

+

image: --the field of image.

+

desc: --the field of subtitle.

+

direct_sub: --the field of sub node.

+

child_all_count: --the field of node count.

+
+
+ +
+
+
+

Technical Help & Support

+
+
+
+

+ For any type of technical help & support requests, Feel free to contact us

+ + odoo@china.com +

+ Via QQ: 300883 (App user would not get QQ or any other IM support. Only for odoo project customize.)

+ + 300883@qq.com +
+
+

+ Visit our website for more support.

+

https://www.odooai.cn

+
+
+
+
+ diff --git a/app_mrp_production_zchart/static/description/setup1.jpg b/app_mrp_production_zchart/static/description/setup1.jpg new file mode 100644 index 00000000..310b1e36 Binary files /dev/null and b/app_mrp_production_zchart/static/description/setup1.jpg differ diff --git a/app_mrp_production_zchart/static/description/setup2.jpg b/app_mrp_production_zchart/static/description/setup2.jpg new file mode 100644 index 00000000..0eb197c6 Binary files /dev/null and b/app_mrp_production_zchart/static/description/setup2.jpg differ diff --git a/app_mrp_production_zchart/views/mrp_production_views.xml b/app_mrp_production_zchart/views/mrp_production_views.xml new file mode 100644 index 00000000..ccb3b082 --- /dev/null +++ b/app_mrp_production_zchart/views/mrp_production_views.xml @@ -0,0 +1,22 @@ + + + + app.mrp.production.form + mrp.production + + + + + + + + + + + + + + + +