#IB451E 18一单到底相关升级

This commit is contained in:
Chill
2024-11-15 17:26:55 +08:00
parent e7e36bd99c
commit 6b08c463c7
12 changed files with 404 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import models

View File

@@ -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,
}

View File

@@ -0,0 +1,2 @@
# -*- coding: utf-8 -*

View File

@@ -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生成"

View File

@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import mrp_production

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -0,0 +1,213 @@
<section class="container oe_container">
<div class="oe_row oe_spaced" style="max-width: 95%;">
<h2 class="oe_slogan" style="color:#875A7B;">MRP Production Chart Hierarchy, For Multi level MO MRP Production Order from multi bom.</h2>
<h3 class="oe_slogan">Very useful for show parent child relationship, like product category, stock location, hr department</h3>
</div>
<div class="oe_demo">
<img class="oe_demo oe_screenshot" src="banner.gif">
</div>
</section>
<section class="container oe_container">
<div class="oe_row oe_spaced">
<div class="row">
<div class="alert alert-info" style="padding:8px;font-weight: 300; font-size: 20px;">
<i class="fa fa-hand-o-right"></i><b> Key features: </b>
<ul class="list-unstyled">
<li>
<i class="fa fa-check-square-o text-primary"></i>
Easy to make show parent children Chart Hierarchy.
</li>
<li>
<i class="fa fa-check-square-o text-primary"></i>
Free to Use in Manufacture Order multi level. For Multi level MO MRP Production Order from multi bom.
</li>
<li>
<i class="fa fa-check-square-o text-primary"></i>
Free to Use in product category.
</li>
<li>
<i class="fa fa-check-square-o text-primary"></i>
Free to Use in stock location.
</li>
<li>
<i class="fa fa-check-square-o text-primary"></i>
Free to Use in hr department, employee.
</li>
<li>
<i class="fa fa-check-square-o text-primary"></i>
Free to Use in Account chart.
</li>
<li>
<i class="fa fa-check-square-o text-primary"></i>
Free to Use in User Alliance Distribution Multi level.
</li>
<li>
<i class="fa fa-check-square-o text-primary"></i>
It's a widget, you can use it in anywhere in odoo.
</li>
</ul>
</div>
<h2 class="bg-warning text-center pt8 pb8 mt16 mb16">Buy
<a href="https://www.odoo.com/apps/modules/13.0/app_web_chart_hierarchy/">
this 1 chart hierarchy
</a>
in odoo Store. Get free 5 related free apps.
</a>
</h2>
<div class="alert alert-info" style="padding:8px;font-weight: 300; font-size: 20px;">
<i class="fa fa-hand-o-right"></i><b>Get relate Demo </b>
<ul class="list-unstyled">
<li>
<i class="fa fa-link text-primary"></i>
<a href="http://www.odoo.com/apps/modules/13.0/app_mrp_production_zchart/" target="_blank">MRP Production Chart Hierarchy</a>
</li>
<li>
<i class="fa fa-link text-primary"></i>
<a href="http://www.odoo.com/apps/modules/13.0/app_product_category_chart/" target="_blank">Product category chart hierarchy</a>
</li>
<li>
<i class="fa fa-link text-primary"></i>
<a href="http://www.odoo.com/apps/modules/13.0/app_stock_location_chart/" target="_blank">Stock Location chart hierarchy</a>
</li>
<li>
<i class="fa fa-link text-primary"></i>
<a href="http://www.odoo.com/apps/modules/13.0/app_hr_department_chart/" target="_blank">hr department employee chart hierarchy</a>
</li>
<li>
<i class="fa fa-link text-primary"></i>
<a href="http://www.odoo.com/apps/modules/13.0/app_account_account_chart/" target="_blank">Account chart hierarchy(chinese only)</a>
</li>
<li>
<i class="fa fa-link text-primary"></i>
<a href="http://www.odoo.com/apps/modules/13.0/app_users_chart_hierarchy/" target="_blank">User Alliance Distribution Multi level</a>
</li>
</ul>
</div>
</div>
</div>
</section>
<section class="container oe_container">
<div class="oe_row oe_spaced">
<h2>&nbsp;</h2>
<h2 class="bg-warning text-center pt8 pb8 mt16 mb16">MRP Production Chart Hierarchy</h2>
<div class="oe_demo oe_screenshot">
<img src="demo1.jpg">
</div>
<h4 class="oe_slogan">If we have a multi Bom like follow:</h4>
<div class="oe_demo oe_screenshot">
<img src="demo_bom.jpg">
</div>
<h4 class="oe_slogan">Show sub manufacture order and quick access sub MO</h4>
<div class="oe_demo oe_screenshot">
<img src="demo_mo.jpg">
</div>
</div>
</section>
<section class="container oe_container">
<div class="oe_row oe_spaced">
<h2>&nbsp;</h2>
<h2 class="bg-warning text-center pt8 pb8 mt16 mb16">Product category Chart Hierarchy</h2>
<div class="oe_demo oe_screenshot">
<img src="demo1.jpg">
</div>
<h4 class="oe_slogan">Show sub category and quick access category</h4>
<div class="oe_demo oe_screenshot">
<img src="demo2.jpg">
</div>
</div>
</section>
<section class="container oe_container">
<div class="oe_row oe_spaced">
<h2>&nbsp;</h2>
<h2 class="bg-warning text-center pt8 pb8 mt16 mb16">Stock Location Chart Hierarchy</h2>
<div class="oe_demo oe_screenshot">
<img src="demo4.jpg">
</div>
</div>
</section>
<section class="container oe_container">
<div class="oe_row oe_spaced">
<h2>&nbsp;</h2>
<h2 class="bg-warning text-center pt8 pb8 mt16 mb16">HR Department Chart Hierarchy</h2>
<div class="oe_demo oe_screenshot">
<img src="demo5.jpg">
</div>
<h2 class="bg-warning text-center pt8 pb8 mt16 mb16">HR Emploee Chart Hierarchy (this is include in odoo)</h2>
<div class="oe_demo oe_screenshot">
<img src="demo6.jpg">
</div>
</div>
</section>
<section class="container oe_container">
<div class="oe_row oe_spaced">
<h2>&nbsp;</h2>
<h2 class="bg-warning text-center pt8 pb8 mt16 mb16">Account Chart Hierarchy</h2>
<div class="oe_demo oe_screenshot">
<img src="demo7.jpg">
</div>
</div>
</section>
<section class="container oe_container">
<div class="oe_row oe_spaced">
<h2>&nbsp;</h2>
<h2 class="bg-warning text-center pt8 pb8 mt16 mb16">User Alliance Distribution Multi level</h2>
<div class="oe_demo oe_screenshot">
<img src="demo9.jpg">
</div>
</div>
</section>
<section class="container oe_container">
<div class="oe_row oe_spaced">
<h4 class="oe_slogan">Easy to setup just use widget='web_chart_hierarchy'. like this</h4>
<div class="oe_demo oe_screenshot">
<img src="setup1.jpg">
</div>
<h4 class="oe_slogan">Also need to change view for better ui</h4>
<div class="oe_demo oe_screenshot">
<img src="setup2.jpg">
</div>
<h2><br/> Use follow param to setup widget:<br/></h2>
<h4>image: --the field of image.</h4>
<h4>desc: --the field of subtitle.</h4>
<h4>direct_sub: --the field of sub node.</h4>
<h4>child_all_count: --the field of node count.</h4>
</div>
</section>
<section class="oe_container oe_dark">
<div class="oe_row oe_spaced text-center">
<div class="row">
<h2 class="oe_slogan">Technical Help & Support</h2>
</div>
<div class="col-md-12 pad0">
<div class="oe_mt16">
<p><h4>
For any type of technical help & support requests, Feel free to contact us</h4></p>
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:odoo@china.com"><span
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
<i class="fa fa-envelope"></i> odoo@china.com</a>
<p><h4>
Via QQ: 300883 (App user would not get QQ or any other IM support. Only for odoo project customize.)</h4></p>
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:300883@qq.com"><span
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
<i class="fa fa-envelope"></i> 300883@qq.com</a>
</div>
<div class="oe_mt16">
<h4>
Visit our website for more support.</h4>
<h4>https://www.odooai.cn</h4>
</div>
</div>
</div>
</section>

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record model="ir.ui.view" id="app_mrp_production_form_view">
<field name="name">app.mrp.production.form</field>
<field name="model">mrp.production</field>
<field name="inherit_id" ref="mrp.mrp_production_form_view"/>
<field name="arch" type="xml">
<xpath expr="//page[@name='miscellaneous']//field[@name='origin']" position="after">
<field name="parent_id" groups="base.group_no_one" readonly="0"/>
</xpath>
<xpath expr="//div[hasclass('oe_title')]" position="before">
<field name="image_128" widget="image" class="oe_avatar"
options="{'preview_image': 'image_128', 'size': [90, 90]}"/>
</xpath>
<xpath expr="//group[1]" position="inside">
<group>
<field name="child_ids" widget="ztree_chart" nolabel="1"/>
</group>
</xpath>
</field>
</record>
</odoo>