1.优化工单排序2.新增调取cloud编程单的状态方法3.制造订单添加状态为返工及编程状态为"已编程",“已编程未下发”的过滤条件4,新增返工且编程中的制造订单定时获取Cloud编程单状态的定时器

This commit is contained in:
jinling.yang
2024-07-10 17:36:26 +08:00
parent 7533d23d3e
commit 9aca786522
5 changed files with 203 additions and 128 deletions

View File

@@ -1,63 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<menuitem action="mrp.mrp_production_action"
id="mrp_production_action"
sequence="1" active="False"/>
<!-- <record id="mrp_production_action_sf" model="ir.actions.act_window">-->
<!-- <field name="name">Manufacturing Orders</field>-->
<!-- <field name="type">ir.actions.act_window</field>-->
<!-- <field name="res_model">mrp.production</field>-->
<!-- <field name="view_mode">tree,kanban,form,calendar,pivot,graph</field>-->
<!-- <field name="search_view_id" ref="mrp.view_mrp_production_filter"/>-->
<!-- &lt;!&ndash; <field name="context">{'search_default_todo': True, 'default_company_id': allowed_company_ids[0]}</field>&ndash;&gt;-->
<!-- <field name="domain">[('picking_type_id.active', '=', True)]</field>-->
<!-- </record>-->
<!-- <menuitem action="mrp_production_action_sf"-->
<!-- id="menu_mrp_production_action_sf"-->
<!-- parent="mrp.menu_mrp_manufacturing"-->
<!-- sequence="2"-->
<!-- string="制造订单"/>-->
<!-- <record id="mrp_production_action_sf" model="ir.actions.act_window">-->
<!-- <field name="name">Manufacturing Orders</field>-->
<!-- <field name="type">ir.actions.act_window</field>-->
<!-- <field name="res_model">mrp.production</field>-->
<!-- <field name="view_mode">tree,kanban,form,calendar,pivot,graph</field>-->
<!-- <field name="view_id" eval="False"/>-->
<!-- <field name="search_view_id" ref="mrp.view_mrp_production_filter"/>-->
<!-- <field name="context">{'search_default_todo': True, 'default_company_id':-->
<!-- allowed_company_ids[0]}-->
<!-- </field>-->
<!-- <field name="domain">[('picking_type_id.active', '=', True)]</field>-->
<!--&lt;!&ndash; &lt;!&ndash; <field name="help" type="html">&ndash;&gt;,'search_default_filter_rework': 1,&ndash;&gt;-->
<!--&lt;!&ndash; 'search_default_filter_programming': 1&ndash;&gt;-->
<!-- &lt;!&ndash; <p class="o_view_nocontent_smiling_face">&ndash;&gt;-->
<!-- &lt;!&ndash; No manufacturing order found. Let's create one.&ndash;&gt;-->
<!-- &lt;!&ndash; </p>&ndash;&gt;-->
<!-- &lt;!&ndash; <p>&ndash;&gt;-->
<!-- &lt;!&ndash; Consume <a name="%(product.product_template_action)d" type='action' tabindex="-1">components</a> and&ndash;&gt;-->
<!-- &lt;!&ndash; build finished products using&ndash;&gt;-->
<!-- &lt;!&ndash; <a name="%(mrp_bom_form_action)d" type='action' tabindex="-1">bills of materials</a>&ndash;&gt;-->
<!-- &lt;!&ndash; </p>&ndash;&gt;-->
<!-- &lt;!&ndash; </field>&ndash;&gt;-->
<!-- </record>-->
<!-- <menuitem action="mrp_production_action_sf"-->
<!-- id="sf_manufacturing.menu_mrp_production_action_sf"-->
<!-- parent="mrp.menu_mrp_manufacturing"-->
<!-- sequence="3" string="制造订单"/>-->
<menuitem action="mrp.mrp_production_action"
id="mrp_production_action"
sequence="1" active="False"/>
<record id="custom_mrp_production_tree_view" model="ir.ui.view">
<field name="name">custom.mrp.production.tree</field>
<field name="model">mrp.production</field>
<field name="inherit_id" ref="mrp.mrp_production_tree_view"/>
<field name="arch" type="xml">
<xpath expr="//button[@name='do_unreserve']" position="after">
<!-- <button name="do_unreserve" type="object" string="更新程序"/>-->
</xpath>
<xpath expr="//field[@name='product_id']" position="replace"/>
<xpath expr="//field[@name='product_qty']" position="replace"/>
<xpath expr="//field[@name='product_uom_id']" position="replace"/>
@@ -129,8 +81,10 @@
<xpath expr="//sheet//group//group//div[3]" position="after">
<field name="manual_quotation" readonly="1"/>
<field name="programming_no" readonly="1"/>
<field name="programming_state" readonly="1" decoration-success="programming_state == '已编程'"
decoration-warning="programming_state =='编程'"/>
<field name="programming_state" readonly="1"
decoration-success="programming_state == '已编程'"
decoration-warning="programming_state =='编程中'"
decoration-danger="programming_state =='已编程未下发'"/>
<field name="work_state" invisible="1"/>
<field name="schedule_state" invisible='1'/>
</xpath>
@@ -364,6 +318,16 @@
<field name="model">mrp.workorder</field>
<field name="inherit_id" ref="mrp.mrp_production_workorder_tree_editable_view"/>
<field name="arch" type="xml">
<xpath expr="//tree" position="attributes">
<attribute name="default_order">sequence</attribute>
</xpath>
<xpath expr="//field[@name='state']" position="replace">
<field name="state" widget="badge" decoration-warning="state == 'progress'"
decoration-success="state == 'done'" decoration-danger="state in ('cancel','rework')"
decoration-muted="state == 'to be detected'"
decoration-info="state not in ('progress', 'done', 'cancel','rework','to be detected')"
attrs="{'invisible': [('production_state', '=', 'draft')], 'column_invisible': [('parent.state', '=', 'draft')]}"/>
</xpath>
<xpath expr="//tree//button[@name='button_start']" position="replace">
<field name="routing_type" invisible="True"/>
<button name="button_start" type="object" string="开始" class="btn-success" confirm="是否确认开始?"
@@ -481,17 +445,19 @@
<field name="model">mrp.production</field>
<field name="inherit_id" ref="mrp.view_mrp_production_filter"/>
<field name="arch" type="xml">
<!-- <xpath expr="//filter[@name='filter_in_progress']" position="before">-->
<!-- <filter string="返工" name="filter_rework" domain="[('state', '=', 'rework')]"/>-->
<!-- </xpath>-->
<!-- <xpath expr="//filter[@name='planning_issues']" position="before">-->
<!-- <separator/>-->
<!-- <filter name="filter_programming" string="编程中"-->
<!-- domain="[('programming_state', 'in', ['编程中'])]"/>-->
<!-- <filter name="filter_programmed" string="已编程"-->
<!-- domain="[('programming_state', 'in', ['已编程'])]"/>-->
<!-- <separator/>-->
<!-- </xpath>-->
<xpath expr="//filter[@name='filter_in_progress']" position="before">
<filter string="返工" name="filter_rework" domain="[('state', '=', 'rework')]"/>
</xpath>
<xpath expr="//filter[@name='planning_issues']" position="before">
<separator/>
<filter name="filter_programming" string="编程中"
domain="[('programming_state', '=', '编程中')]"/>
<filter name="filter_programmed" string="已编程"
domain="[('programming_state', '=', '已编程')]"/>
<filter name="filter_programmed_not_delivered" string="已编程未下发"
domain="[('programming_state', '=', '已编程未下发')]"/>
<separator/>
</xpath>
<xpath expr="//search" position="inside">
<searchpanel class="account_root">
<field name="state" icon="fa-filter" enable_counters="1"/>
@@ -596,5 +562,52 @@
<field name="res_model">sf.detection.result</field>
<field name="view_mode">form</field>
</record>
<!-- <menuitem action="mrp.mrp_production_action"-->
<!-- id="mrp_production_action"-->
<!-- sequence="1" active="False"/>-->
<!-- &lt;!&ndash; <record id="mrp_production_action_sf" model="ir.actions.act_window">&ndash;&gt;-->
<!-- &lt;!&ndash; <field name="name">Manufacturing Orders</field>&ndash;&gt;-->
<!-- &lt;!&ndash; <field name="type">ir.actions.act_window</field>&ndash;&gt;-->
<!-- &lt;!&ndash; <field name="res_model">mrp.production</field>&ndash;&gt;-->
<!-- &lt;!&ndash; <field name="view_mode">tree,kanban,form,calendar,pivot,graph</field>&ndash;&gt;-->
<!-- &lt;!&ndash; <field name="search_view_id" ref="mrp.view_mrp_production_filter"/>&ndash;&gt;-->
<!-- &lt;!&ndash; &lt;!&ndash; <field name="context">{'search_default_todo': True, 'default_company_id': allowed_company_ids[0]}</field>&ndash;&gt;&ndash;&gt;-->
<!-- &lt;!&ndash; <field name="domain">[('picking_type_id.active', '=', True)]</field>&ndash;&gt;-->
<!-- &lt;!&ndash; </record>&ndash;&gt;-->
<!-- &lt;!&ndash; <menuitem action="mrp_production_action_sf"&ndash;&gt;-->
<!-- &lt;!&ndash; id="menu_mrp_production_action_sf"&ndash;&gt;-->
<!-- &lt;!&ndash; parent="mrp.menu_mrp_manufacturing"&ndash;&gt;-->
<!-- &lt;!&ndash; sequence="2"&ndash;&gt;-->
<!-- &lt;!&ndash; string="制造订单"/>&ndash;&gt;-->
<!-- <record id="mrp_production_action_sf" model="ir.actions.act_window">-->
<!-- <field name="name">Manufacturing Orders</field>-->
<!-- <field name="type">ir.actions.act_window</field>-->
<!-- <field name="res_model">mrp.production</field>-->
<!-- <field name="view_mode">tree,kanban,form,calendar,pivot,graph</field>-->
<!-- <field name="view_id" eval="False"/>-->
<!-- <field name="search_view_id" ref="mrp.view_mrp_production_filter"/>-->
<!-- <field name="context">{'search_default_todo': True, 'default_company_id':-->
<!-- allowed_company_ids[0],'search_default_filter_rework':1,'search_default_filter_programmed':1}-->
<!-- </field>-->
<!-- <field name="domain">[('picking_type_id.active', '=', True)]</field>-->
<!-- &lt;!&ndash; &lt;!&ndash; <field name="help" type="html">&ndash;&gt;,'search_default_filter_rework': 1,&ndash;&gt;-->
<!-- &lt;!&ndash; 'search_default_filter_programming': 1&ndash;&gt;-->
<!-- &lt;!&ndash; <p class="o_view_nocontent_smiling_face">&ndash;&gt;-->
<!-- &lt;!&ndash; No manufacturing order found. Let's create one.&ndash;&gt;-->
<!-- &lt;!&ndash; </p>&ndash;&gt;-->
<!-- &lt;!&ndash; <p>&ndash;&gt;-->
<!-- &lt;!&ndash; Consume <a name="%(product.product_template_action)d" type='action' tabindex="-1">components</a> and&ndash;&gt;-->
<!-- &lt;!&ndash; build finished products using&ndash;&gt;-->
<!-- &lt;!&ndash; <a name="%(mrp_bom_form_action)d" type='action' tabindex="-1">bills of materials</a>&ndash;&gt;-->
<!-- &lt;!&ndash; </p>&ndash;&gt;-->
<!-- &lt;!&ndash; </field>&ndash;&gt;-->
<!-- </record>-->
<!-- <menuitem action="sf_manufacturing.mrp_production_action_sf"-->
<!-- id="mrp_production_action"-->
<!-- parent="mrp.menu_mrp_manufacturing"-->
<!-- sequence="1"/>-->
</data>
</odoo>

View File

@@ -7,7 +7,6 @@
<field name="arch" type="xml">
<field name="name" position="replace">
<field name="is_subcontract" invisible="1"/>
<field name="name" decoration-success="is_subcontract" decoration-bf="is_subcontract"/>
</field>
<field name="name" position="before">