Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug

# Conflicts:
#	sf_mrs_connect/models/res_config_setting.py
#	sf_mrs_connect/models/sync_common.py
This commit is contained in:
qihao.gong@jikimo.com
2023-10-11 14:56:18 +08:00
14 changed files with 950 additions and 1536 deletions

View File

@@ -257,6 +257,12 @@ div[class="o_content o_component_with_search_panel"] .o_kanban_primary_right > .
top: 55px; top: 55px;
right: 43.5%; right: 43.5%;
} }
//------------------------------------------
.test_model > .o_form_label {
margin-left: 4px !important;
line-height: 0 !important;
}
@media screen and (min-width: 1200px) { @media screen and (min-width: 1200px) {
div[class="o_content o_component_with_search_panel"] .o_kanban_primary_right > .row { div[class="o_content o_component_with_search_panel"] .o_kanban_primary_right > .row {

View File

@@ -10,7 +10,7 @@
""", """,
'category': 'sf', 'category': 'sf',
'website': 'https://www.sf.jikimo.com', 'website': 'https://www.sf.jikimo.com',
'depends': ['account', 'base', 'mrp_workorder','sale'], 'depends': ['account', 'base', 'mrp_workorder', 'sale'],
'data': [ 'data': [
'security/group_security.xml', 'security/group_security.xml',
'security/ir.model.access.csv', 'security/ir.model.access.csv',

View File

@@ -1,50 +1,50 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<odoo> <odoo>
<data> <data>
<record model="ir.cron" id="ir_cron_mrs_machine_brand_tags"> <!-- <record model="ir.cron" id="ir_cron_mrs_machine_brand_tags">-->
<field name="name">基础信息同步:品牌类别</field> <!-- <field name="name">基础信息同步:品牌类别</field>-->
<field name="model_id" ref="model_mrs_machine_brand_tags"/> <!-- <field name="model_id" ref="model_mrs_machine_brand_tags"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_machine_brand_tags_func()</field> <!-- <field name="code">model._cron_machine_brand_tags_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<!-- <field name="nextcall" eval="True"/>--> <!-- &lt;!&ndash; <field name="nextcall" eval="True"/>&ndash;&gt;-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_processing_order"> <!-- <record model="ir.cron" id="ir_cron_mrs_processing_order">-->
<field name="name">基础信息同步:工序</field> <!-- <field name="name">基础信息同步:工序</field>-->
<field name="model_id" ref="model_mrs_processing_order"/> <!-- <field name="model_id" ref="model_mrs_processing_order"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_processing_order_func()</field> <!-- <field name="code">model._cron_processing_order_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_machine_brand"> <!-- <record model="ir.cron" id="ir_cron_mrs_machine_brand">-->
<field name="name">基础信息同步:品牌</field> <!-- <field name="name">基础信息同步:品牌</field>-->
<field name="model_id" ref="model_mrs_machine_brand"/> <!-- <field name="model_id" ref="model_mrs_machine_brand"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_machine_brand_func()</field> <!-- <field name="code">model._cron_machine_brand_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_machine_tool_type"> <!-- <record model="ir.cron" id="ir_cron_mrs_machine_tool_type">-->
<field name="name">基础信息同步:机床型号</field> <!-- <field name="name">基础信息同步:机床型号</field>-->
<field name="model_id" ref="model_mrs_machine_tool_type"/> <!-- <field name="model_id" ref="model_mrs_machine_tool_type"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_machine_tool_type_func()</field> <!-- <field name="code">model._cron_machine_tool_type_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<!-- <record model="ir.cron" id="ir_cron_mrs_cutting_tool_category">--> <!-- <record model="ir.cron" id="ir_cron_mrs_cutting_tool_category">-->
<!-- <field name="name">基础信息同步:刀具类别</field>--> <!-- <field name="name">基础信息同步:刀具类别</field>-->
@@ -80,50 +80,50 @@
<!-- </record>--> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_production_materials"> <!-- <record model="ir.cron" id="ir_cron_mrs_production_materials">-->
<field name="name">基础信息同步:材料</field> <!-- <field name="name">基础信息同步:材料</field>-->
<field name="model_id" ref="model_mrs_production_materials"/> <!-- <field name="model_id" ref="model_mrs_production_materials"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_production_materials_func()</field> <!-- <field name="code">model._cron_production_materials_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_materials_model"> <!-- <record model="ir.cron" id="ir_cron_mrs_materials_model">-->
<field name="name">基础信息同步:材料型号</field> <!-- <field name="name">基础信息同步:材料型号</field>-->
<field name="model_id" ref="model_mrs_materials_model"/> <!-- <field name="model_id" ref="model_mrs_materials_model"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_materials_model_func()</field> <!-- <field name="code">model._cron_materials_model_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_production_process_category"> <!-- <record model="ir.cron" id="ir_cron_mrs_production_process_category">-->
<field name="name">基础信息同步:表面工艺类别</field> <!-- <field name="name">基础信息同步:表面工艺类别</field>-->
<field name="model_id" ref="model_mrs_production_process_category"/> <!-- <field name="model_id" ref="model_mrs_production_process_category"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_production_process_category_func()</field> <!-- <field name="code">model._cron_production_process_category_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_production_process"> <!-- <record model="ir.cron" id="ir_cron_mrs_production_process">-->
<field name="name">基础信息同步:表面工艺</field> <!-- <field name="name">基础信息同步:表面工艺</field>-->
<field name="model_id" ref="model_mrs_production_process"/> <!-- <field name="model_id" ref="model_mrs_production_process"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_production_process_func()</field> <!-- <field name="code">model._cron_production_process_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<!-- <record model="ir.cron" id="ir_cron_mrs_processing_technology">--> <!-- <record model="ir.cron" id="ir_cron_mrs_processing_technology">-->
<!-- <field name="name">基础信息同步:加工工艺</field>--> <!-- <field name="name">基础信息同步:加工工艺</field>-->
@@ -136,237 +136,127 @@
<!-- <field name="doall" eval="False"/>--> <!-- <field name="doall" eval="False"/>-->
<!-- </record>--> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_machine_control_system"> <!-- <record model="ir.cron" id="ir_cron_mrs_machine_control_system">-->
<field name="name">基础信息同步:数控系统</field> <!-- <field name="name">基础信息同步:数控系统</field>-->
<field name="model_id" ref="model_mrs_machine_control_system"/> <!-- <field name="model_id" ref="model_mrs_machine_control_system"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_machine_control_system_func()</field> <!-- <field name="code">model._cron_machine_control_system_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_model_type"> <!-- <record model="ir.cron" id="ir_cron_mrs_model_type">-->
<field name="name">基础信息同步:模型类型</field> <!-- <field name="name">基础信息同步:模型类型</field>-->
<field name="model_id" ref="model_mrs_model_type"/> <!-- <field name="model_id" ref="model_mrs_model_type"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_model_type_func()</field> <!-- <field name="code">model._cron_model_type_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_production_process_parameter"> <!-- <record model="ir.cron" id="ir_cron_mrs_production_process_parameter">-->
<field name="name">基础信息同步:可选参数</field> <!-- <field name="name">基础信息同步:可选参数</field>-->
<field name="model_id" ref="model_mrs_production_process_parameter"/> <!-- <field name="model_id" ref="model_mrs_production_process_parameter"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_mrs_production_process_parameter()</field> <!-- <field name="code">model._cron_mrs_production_process_parameter()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_machine_tool_category"> <!-- <record model="ir.cron" id="ir_cron_mrs_machine_tool_category">-->
<field name="name">基础信息同步:机床类型</field> <!-- <field name="name">基础信息同步:机床类型</field>-->
<field name="model_id" ref="model_mrs_machine_tool_category"/> <!-- <field name="model_id" ref="model_mrs_machine_tool_category"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_machine_tool_category_func()</field> <!-- <field name="code">model._cron_machine_tool_category_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_functional_cutting_tool"> <!-- <record model="ir.cron" id="ir_cron_mrs_functional_cutting_tool">-->
<field name="name">基础信息同步:功能刀具型号</field> <!-- <field name="name">基础信息同步:功能刀具型号</field>-->
<field name="model_id" ref="model_mrs_functional_cutting_tool"/> <!-- <field name="model_id" ref="model_mrs_functional_cutting_tool"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_mrs_functional_cutting_tool_func()</field> <!-- <field name="code">model._cron_mrs_functional_cutting_tool_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_functional_cutting_tool_model"> <!-- <record model="ir.cron" id="ir_cron_mrs_functional_cutting_tool_model">-->
<field name="name">基础信息同步:功能刀具类型</field> <!-- <field name="name">基础信息同步:功能刀具类型</field>-->
<field name="model_id" ref="model_mrs_functional_cutting_tool_model"/> <!-- <field name="model_id" ref="model_mrs_functional_cutting_tool_model"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_mrs_functional_cutting_tool_model_func()</field> <!-- <field name="code">model._cron_mrs_functional_cutting_tool_model_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_integral_cutting_tool"> <!-- -->
<field name="name">基础信息同步:整体式刀具</field> <!-- <record model="ir.cron" id="ir_cron_mrs_fixture_material">-->
<field name="model_id" ref="model_mrs_integral_cutting_tool"/> <!-- <field name="name">基础信息同步:夹具物料</field>-->
<field name="state">code</field> <!-- <field name="model_id" ref="model_mrs_fixture_material"/>-->
<field name="code">model._cron_mrs_integral_cutting_tool_func()</field> <!-- <field name="state">code</field>-->
<field name="interval_number">1</field> <!-- <field name="code">model._cron_fixture_material_func()</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_number">1</field>-->
<field name="numbercall">-1</field> <!-- <field name="interval_type">days</field>-->
<field name="doall" eval="False"/> <!-- <field name="numbercall">-1</field>-->
</record> <!-- <field name="doall" eval="False"/>-->
<!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_integral_cutting_tool_model"> <!-- <record model="ir.cron" id="ir_cron_mrs_multi_mounting_type">-->
<field name="name">基础信息同步:整体式刀具类型</field> <!-- <field name="name">基础信息同步:联装类型</field>-->
<field name="model_id" ref="model_mrs_integral_cutting_tool_model"/> <!-- <field name="model_id" ref="model_mrs_multi_mounting_type"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_mrs_integral_cutting_tool_model_func()</field> <!-- <field name="code">model._cron_multi_mounting_type_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_blade"> <!-- <record model="ir.cron" id="ir_cron_mrs_fixture_model">-->
<field name="name">基础信息同步:刀片型号</field> <!-- <field name="name">基础信息同步:夹具型号</field>-->
<field name="model_id" ref="model_mrs_blade"/> <!-- <field name="model_id" ref="model_mrs_fixture_model"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_mrs_blade_func()</field> <!-- <field name="code">model._cron_fixture_model_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_blade_model"> <!-- <record model="ir.cron" id="ir_cron_mrs_functional_fixture_type">-->
<field name="name">基础信息同步:刀片类型</field> <!-- <field name="name">基础信息同步:功能夹具类型</field>-->
<field name="model_id" ref="model_mrs_blade_model"/> <!-- <field name="model_id" ref="model_mrs_functional_fixture_type"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_mrs_blade_model_func()</field> <!-- <field name="code">model._cron_functional_fixture_type_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_cutter_bar"> <!-- <record model="ir.cron" id="ir_cron_mrs_functional_fixture">-->
<field name="name">基础信息同步:刀杆型号</field> <!-- <field name="name">基础信息同步:功能夹具</field>-->
<field name="model_id" ref="model_mrs_cutter_bar"/> <!-- <field name="model_id" ref="model_mrs_functional_fixture"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model._cron_mrs_cutter_bar_func()</field> <!-- <field name="code">model._cron_functional_fixture_func()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="ir_cron_mrs_cutter_bar_model">
<field name="name">基础信息同步:刀杆类型</field>
<field name="model_id" ref="model_mrs_cutter_bar_model"/>
<field name="state">code</field>
<field name="code">model._cron_mrs_cutter_bar_model_func()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="ir_cron_mrs_cutter_pad">
<field name="name">基础信息同步:刀盘型号</field>
<field name="model_id" ref="model_mrs_cutter_pad"/>
<field name="state">code</field>
<field name="code">model._cron_mrs_cutter_pad_func()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="ir_cron_mrs_cutter_pad_model">
<field name="name">基础信息同步:刀盘类型</field>
<field name="model_id" ref="model_mrs_cutter_pad_model"/>
<field name="state">code</field>
<field name="code">model._cron_mrs_cutter_pad_model_func()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="ir_cron_mrs_handle">
<field name="name">基础信息同步:刀柄型号</field>
<field name="model_id" ref="model_mrs_handle"/>
<field name="state">code</field>
<field name="code">model._cron_mrs_handle_func()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="ir_cron_mrs_handle_model">
<field name="name">基础信息同步:刀柄类型</field>
<field name="model_id" ref="model_mrs_handle_model"/>
<field name="state">code</field>
<field name="code">model._cron_mrs_handle_model_func()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="ir_cron_mrs_fixture_material">
<field name="name">基础信息同步:夹具物料</field>
<field name="model_id" ref="model_mrs_fixture_material"/>
<field name="state">code</field>
<field name="code">model._cron_fixture_material_func()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="ir_cron_mrs_multi_mounting_type">
<field name="name">基础信息同步:联装类型</field>
<field name="model_id" ref="model_mrs_multi_mounting_type"/>
<field name="state">code</field>
<field name="code">model._cron_multi_mounting_type_func()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="ir_cron_mrs_fixture_model">
<field name="name">基础信息同步:夹具型号</field>
<field name="model_id" ref="model_mrs_fixture_model"/>
<field name="state">code</field>
<field name="code">model._cron_fixture_model_func()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="ir_cron_mrs_functional_fixture_type">
<field name="name">基础信息同步:功能夹具类型</field>
<field name="model_id" ref="model_mrs_functional_fixture_type"/>
<field name="state">code</field>
<field name="code">model._cron_functional_fixture_type_func()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="ir_cron_mrs_functional_fixture">
<field name="name">基础信息同步:功能夹具</field>
<field name="model_id" ref="model_mrs_functional_fixture"/>
<field name="state">code</field>
<field name="code">model._cron_functional_fixture_func()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<!-- <record model="ir.cron" id="ir_cron_mrs_chuck">--> <!-- <record model="ir.cron" id="ir_cron_mrs_chuck">-->
<!-- <field name="name">基础信息同步:夹头型号</field>--> <!-- <field name="name">基础信息同步:夹头型号</field>-->

View File

@@ -62,13 +62,13 @@
action="action_sf_cutting_tool_type" action="action_sf_cutting_tool_type"
/> />
<!-- 刀具型号 --> <!-- 刀具型号 -->
<menuitem <!-- <menuitem-->
id="menu_sf_integral_cutting_tool" <!-- id="menu_sf_integral_cutting_tool"-->
parent="menu_sf_cutting_tool" <!-- parent="menu_sf_cutting_tool"-->
name="刀具型号" <!-- name="刀具型号"-->
sequence="3" <!-- sequence="3"-->
action="action_sf_cutting_tool" <!-- action="action_sf_cutting_tool"-->
/> <!-- />-->
<!-- 功能刀具 --> <!-- 功能刀具 -->
<!-- <menuitem--> <!-- <menuitem-->
<!-- id="menu_sf_functional_cutting_tool"--> <!-- id="menu_sf_functional_cutting_tool"-->

View File

@@ -0,0 +1,12 @@
# -*- coding: utf-8 -*-
import json
import logging
from odoo import http
from odoo.http import request
# class ProductController(http.Controller):
#
# @http.route('/api/cloud/get_cutting_model', type='http', auth='none', methods=['GET', 'POST'], csrf=False,
# cors="*")
# def get_cutting_model(self, **kw):

View File

@@ -1,7 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import logging import logging
import datetime from datetime import datetime, timedelta
import time
import hashlib import hashlib
from odoo import models from odoo import models
from odoo.http import request from odoo.http import request
@@ -10,8 +9,6 @@ __author__ = 'jinling.yang'
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
class AuthenticationError(Exception):
pass
class AuthenticationError(Exception): class AuthenticationError(Exception):
pass pass
@@ -29,16 +26,18 @@ class Http(models.AbstractModel):
# 查询密钥 # 查询密钥
factory_secret = request.env['res.partner'].sudo().search( factory_secret = request.env['res.partner'].sudo().search(
[('sf_token', '=', datas['HTTP_TOKEN'])], limit=1) [('sf_token', '=', datas['HTTP_TOKEN'])], limit=1)
logging.info('factory_secret:%s' % factory_secret)
if not factory_secret: if not factory_secret:
raise AuthenticationError('无效的token') raise AuthenticationError('无效的token')
timestamp_str = int(time.time())
# 设置API接口请求时间,不能超过5秒 # 设置API接口请求时间,不能超过5秒
deltime = datetime.timedelta(seconds=5) # deltime = datetime.timedelta(seconds=30)
# if abs(int(datas['HTTP_TIMESTAMP'])-timestamp_str) > deltime.seconds: # if abs(int(datas['HTTP_TIMESTAMP']) - timestamp_str) > deltime.seconds:
# raise AuthenticationError('请求已过期') # raise AuthenticationError('请求已过期')
# 获得sha1_str加密字符串
post_time = int(datas['HTTP_TIMESTAMP']) post_time = int(datas['HTTP_TIMESTAMP'])
datetime_post = datetime.fromtimestamp(post_time)
datetime_now = datetime.now().replace(microsecond=0)
datetime_del = datetime_now + timedelta(seconds=5)
if datetime_post > datetime_del:
raise AuthenticationError('请求已过期')
check_str = '%s%s%s' % (datas['HTTP_TOKEN'], post_time, factory_secret.sf_secret_key) check_str = '%s%s%s' % (datas['HTTP_TOKEN'], post_time, factory_secret.sf_secret_key)
check_sf_str = hashlib.sha1(check_str.encode('utf-8')).hexdigest() check_sf_str = hashlib.sha1(check_str.encode('utf-8')).hexdigest()
if check_sf_str != datas['HTTP_CHECKSTR']: if check_sf_str != datas['HTTP_CHECKSTR']:

View File

@@ -106,7 +106,7 @@
<page string="刀具物料参数" attrs="{'invisible': [('categ_type', '!=', '刀具')]}"> <page string="刀具物料参数" attrs="{'invisible': [('categ_type', '!=', '刀具')]}">
<group> <group>
<group attrs="{'invisible': [('categ_type', '!=', '刀具')]}" col="1"> <group attrs="{'invisible': [('categ_type', '!=', '刀具')]}" col="1">
<field name="cutting_tool_type_id" options="{'no_create': True}" placeholder="请选择"/> <field name="cutting_tool_type_id" options="{'no_create': True}" placeholder="请选择" />
<field name="brand_id" options="{'no_create': True}" placeholder="请选择"/> <field name="brand_id" options="{'no_create': True}" placeholder="请选择"/>
<field name="materials_type_id" options="{'no_create': True}" <field name="materials_type_id" options="{'no_create': True}"
attrs="{'invisible': [('cutting_tool_type', 'in', ('整体式刀具','夹头','刀柄'))]}" attrs="{'invisible': [('cutting_tool_type', 'in', ('整体式刀具','夹头','刀柄'))]}"

View File

@@ -575,7 +575,8 @@ class MaintenanceStandardImage(models.Model):
name = fields.Char('名称') name = fields.Char('名称')
image = fields.Binary(string='图文') image = fields.Binary(string='图文')
type = fields.Selection( type = fields.Selection(
[('加工能力', '加工能力'), ('刀尖特征', '刀尖特征'), ('柄部类型', '柄部类型'), ('走刀方向', '走刀方向'), ('冷却液', '冷却液')], [('加工能力', '加工能力'), ('刀尖特征', '刀尖特征'), ('柄部类型', '柄部类型'), ('走刀方向', '走刀方向'),
('冷却液', '冷却液'), ('压紧方式', '压紧方式'), ('刀片形状', '刀片形状')],
string='特征') string='特征')
equipment_id = fields.Many2many('maintenance.equipment', 'image_id', string='设备') equipment_id = fields.Many2many('maintenance.equipment', 'image_id', string='设备')

View File

@@ -953,40 +953,37 @@
<field name="name">maintenance.equipment.image.tree</field> <field name="name">maintenance.equipment.image.tree</field>
<field name="model">maintenance.equipment.image</field> <field name="model">maintenance.equipment.image</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="能力特征库"> <tree string="能力特征库" editable="bottom" delete="0" create="0" >
<field name="name"/> <field name="name" readonly="1"/>
<field name="type"/> <field name="type" readonly="1"/>
<field name="image" widget="image"/> <field name="image" widget="image" readonly="1"/>
<field name="equipment_id" invisible="1"/> <field name="equipment_id" />
<field name="active" invisible="1"/> <field name="active" invisible="1"/>
</tree> </tree>
</field> </field>
</record> </record>
<record id="view_maintenance_equipment_image_form" model="ir.ui.view">
<field name="name">maintenance.equipment.image.form</field> <record model="ir.ui.view" id="view_maintenance_equipment_image_search">
<field name="name">maintenance.equipment.image.search</field>
<field name="model">maintenance.equipment.image</field> <field name="model">maintenance.equipment.image</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="能力特征库"> <search>
<sheet> <field name="name"/>
<group> <searchpanel class="account_root">
<field name="name" required="1"/> <field name="type" icon="fa-filter" enable_counters="1"/>
<field name="type" required="1"/> </searchpanel>
<field name="image" widget="image" required="1"/> </search>
<field name="equipment_id" invisible="1"/>
<field name="active" invisible="1"/>
</group>
</sheet>
</form>
</field> </field>
</record> </record>
<record id="action_maintenance_equipment_image" model="ir.actions.act_window"> <record id="action_maintenance_equipment_image" model="ir.actions.act_window">
<field name="name">能力特征库</field> <field name="name">能力特征库</field>
<field name="res_model">maintenance.equipment.image</field> <field name="res_model">maintenance.equipment.image</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree</field>
<field name="domain">[]</field> <field name="domain">[]</field>
</record> </record>
<menuitem <menuitem
id="maintenance_equipment_image_form" id="maintenance_equipment_image_form"
name="能力特征库" name="能力特征库"

View File

@@ -1,245 +1,223 @@
<?xml version="1.0" encoding='UTF-8'?> <?xml version="1.0" encoding='UTF-8'?>
<odoo> <odoo>
<record model="ir.cron" id="sf_cron1">
<field name="name">同步资源库材料</field> <record model="ir.cron" id="ir_cron_sf_static_resource_datasync">
<field name="model_id" ref="model_sf_production_materials"/> <field name="name">制造-配置每日定时同步cloud的静态资源库</field>
<field name="model_id" ref="model_sf_static_resource_datasync"/>
<field name="state">code</field> <field name="state">code</field>
<field name="code">model.sync_production_materials()</field> <field name="code">model._cron_static_resource_yesterday_func()</field>
<field name="interval_number">1</field> <field name="interval_number">1</field>
<field name="interval_type">days</field> <field name="interval_type">days</field>
<field name="numbercall">-1</field> <field name="numbercall">-1</field>
<field name="doall" eval="False"/> <field name="doall" eval="False"/>
</record> </record>
<!-- <record model="ir.cron" id="sf_cron1">-->
<!-- <field name="name">同步静态资源库材料</field>-->
<!-- <field name="model_id" ref="model_sf_production_materials"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.sync_production_materials()</field>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field name="doall" eval="False"/>-->
<!-- </record>-->
<record model="ir.cron" id="sf_cron2"> <!-- <record model="ir.cron" id="sf_cron2">-->
<field name="name">同步资源库材料型号</field> <!-- <field name="name">同步静态资源库材料型号</field>-->
<field name="model_id" ref="model_sf_materials_model"/> <!-- <field name="model_id" ref="model_sf_materials_model"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_materials_model()</field> <!-- <field name="code">model.sync_materials_model()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron3"> <!-- <record model="ir.cron" id="sf_cron8">-->
<field name="name">同步资源库表面工艺</field> <!-- <field name="name">同步静态表面工艺类别</field>-->
<field name="model_id" ref="model_sf_production_process"/> <!-- <field name="model_id" ref="model_sf_production_process_category"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_production_process()</field> <!-- <field name="code">model.sync_production_process_category()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron4"> <!-- <record model="ir.cron" id="sf_cron3">-->
<field name="name">同步资源库加工工艺</field> <!-- <field name="name">同步静态资源库表面工艺</field>-->
<field name="model_id" ref="model_sf_processing_technology"/> <!-- <field name="model_id" ref="model_sf_production_process"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_processing_technology()</field> <!-- <field name="code">model.sync_production_process()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron5"> <!-- <record model="ir.cron" id="sf_cron4">-->
<field name="name">同步资源库标签</field> <!-- <field name="name">同步静态资源库加工工艺</field>-->
<field name="model_id" ref="model_sf_machine_brand_tags"/> <!-- <field name="model_id" ref="model_sf_processing_technology"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_machine_brand_tags()</field> <!-- <field name="code">model.sync_processing_technology()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron6"> <!-- <record model="ir.cron" id="sf_cron5">-->
<field name="name">同步资源库控制系统</field> <!-- <field name="name">同步静态资源库标签</field>-->
<field name="model_id" ref="model_sf_machine_control_system"/> <!-- <field name="model_id" ref="model_sf_machine_brand_tags"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_machine_tool_type_control_system()</field> <!-- <field name="code">model.sync_machine_brand_tags()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron7"> <!-- <record model="ir.cron" id="sf_cron6">-->
<field name="name">同步资源库品牌</field> <!-- <field name="name">同步静态资源库数控系统</field>-->
<field name="model_id" ref="model_sf_machine_brand"/> <!-- <field name="model_id" ref="model_sf_machine_control_system"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_machine_brand()</field> <!-- <field name="code">model.sync_machine_tool_type_control_system()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron8"> <!-- <record model="ir.cron" id="sf_cron7">-->
<field name="name">同步表面工艺类别</field> <!-- <field name="name">同步静态资源库品牌</field>-->
<field name="model_id" ref="model_sf_production_process_category"/> <!-- <field name="model_id" ref="model_sf_machine_brand"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_production_process_category()</field> <!-- <field name="code">model.sync_machine_brand()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron9"> <!-- <record model="ir.cron" id="sf_cron9">-->
<field name="name">同步资源库机床型号</field> <!-- <field name="name">同步静态资源库机床型号</field>-->
<field name="model_id" ref="model_sf_machine_tool_type"/> <!-- <field name="model_id" ref="model_sf_machine_tool_type"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_machine_tool_type()</field> <!-- <field name="code">model.sync_machine_tool_type()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron12"> <!-- <record model="ir.cron" id="sf_cron12">-->
<field name="name">同步资源库工序</field> <!-- <field name="name">同步静态资源库工序</field>-->
<field name="model_id" ref="model_sf_processing_order"/> <!-- <field name="model_id" ref="model_sf_processing_order"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_processing_order()</field> <!-- <field name="code">model.sync_processing_order()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron13"> <!-- <record model="ir.cron" id="sf_cron13">-->
<field name="name">同步表面工艺可选参数</field> <!-- <field name="name">同步静态表面工艺可选参数</field>-->
<field name="model_id" ref="model_sf_production_process_parameter"/> <!-- <field name="model_id" ref="model_sf_production_process_parameter"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_production_process_parameter()</field> <!-- <field name="code">model.sync_production_process_parameter()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron14"> <!-- <record model="ir.cron" id="sf_cron14">-->
<field name="name">同步资源库机床类型</field> <!-- <field name="name">同步静态资源库机床类型</field>-->
<field name="model_id" ref="model_sf_machine_tool_category"/> <!-- <field name="model_id" ref="model_sf_machine_tool_category"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_machine_tool_category()</field> <!-- <field name="code">model.sync_machine_tool_category()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cutting_tool_material"> <!-- <record model="ir.cron" id="sf_cutting_tool_material">-->
<field name="name">同步刀具物料</field> <!-- <field name="name">同步静态资源库刀具物料</field>-->
<field name="model_id" ref="model_sf_cutting_tool_material"/> <!-- <field name="model_id" ref="model_sf_cutting_tool_material"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_cutting_tool_material()</field> <!-- <field name="code">model.sync_cutting_tool_material()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cutting_tool_type"> <!-- <record model="ir.cron" id="sf_cutting_tool_type">-->
<field name="name">同步刀具类型</field> <!-- <field name="name">同步静态资源库刀具类型</field>-->
<field name="model_id" ref="model_sf_cutting_tool_type"/> <!-- <field name="model_id" ref="model_sf_cutting_tool_type"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_tool_type()</field> <!-- <field name="code">model.sync_tool_type()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cutting_tool_model"> <!-- <record model="ir.cron" id="sf_cron16">-->
<field name="name">同步刀具型号</field> <!-- <field name="name">同步静态资源库功能刀具类型</field>-->
<field name="model_id" ref="model_sf_cutting_tool_model"/> <!-- <field name="model_id" ref="model_sf_functional_cutting_tool_model"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_tool_model()</field> <!-- <field name="code">model.sync_functional_cutting_tool_model()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron15"> <!-- <record model="ir.cron" id="sf_fixture_material">-->
<field name="name">同步功能刀具型号</field> <!-- <field name="name">同步静态资源库夹具物料</field>-->
<field name="model_id" ref="model_sf_functional_cutting_tool"/> <!-- <field name="model_id" ref="model_sf_fixture_material"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_functional_cutting_tool()</field> <!-- <field name="code">model.sync_fixture_material()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_cron16"> <!-- <record model="ir.cron" id="sf_multi_mounting_type">-->
<field name="name">同步功能刀具类型</field> <!-- <field name="name">同步静态资源库联装类型</field>-->
<field name="model_id" ref="model_sf_functional_cutting_tool_model"/> <!-- <field name="model_id" ref="model_sf_multi_mounting_type"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_functional_cutting_tool_model()</field> <!-- <field name="code">model.sync_multi_mounting_type()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_fixture_material"> <!-- <record model="ir.cron" id="sf_fixture_model">-->
<field name="name">同步夹具物料</field> <!-- <field name="name">同步静态资源库夹具型号</field>-->
<field name="model_id" ref="model_sf_fixture_material"/> <!-- <field name="model_id" ref="model_sf_fixture_model"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_fixture_material()</field> <!-- <field name="code">model.sync_fixture_model()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_multi_mounting_type"> <!-- <record model="ir.cron" id="sf_functional_fixture_type">-->
<field name="name">同步联装类型</field> <!-- <field name="name">同步静态资源库功能夹具类型</field>-->
<field name="model_id" ref="model_sf_multi_mounting_type"/> <!-- <field name="model_id" ref="model_sf_functional_fixture_type"/>-->
<field name="state">code</field> <!-- <field name="state">code</field>-->
<field name="code">model.sync_multi_mounting_type()</field> <!-- <field name="code">model.sync_functional_fixture_type()</field>-->
<field name="interval_number">1</field> <!-- <field name="interval_number">1</field>-->
<field name="interval_type">days</field> <!-- <field name="interval_type">days</field>-->
<field name="numbercall">-1</field> <!-- <field name="numbercall">-1</field>-->
<field name="doall" eval="False"/> <!-- <field name="doall" eval="False"/>-->
</record> <!-- </record>-->
<record model="ir.cron" id="sf_fixture_model">
<field name="name">同步夹具型号</field>
<field name="model_id" ref="model_sf_fixture_model"/>
<field name="state">code</field>
<field name="code">model.sync_fixture_model()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="sf_functional_fixture_type">
<field name="name">同步功能夹具类型</field>
<field name="model_id" ref="model_sf_functional_fixture_type"/>
<field name="state">code</field>
<field name="code">model.sync_functional_fixture_type()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="sf_functional_fixture">
<field name="name">同步功能夹具</field>
<field name="model_id" ref="model_sf_functional_fixture"/>
<field name="state">code</field>
<field name="code">model.sync_functional_fixture()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
</odoo> </odoo>

View File

@@ -21,6 +21,10 @@ class ResConfigSettings(models.TransientModel):
def sf_all_sync(self): def sf_all_sync(self):
try: try:
self.env['sf.international.standards'].sync_all_mrs_international_standards()
_logger.info("同步资源库国际标准完成")
self.env['material.apply'].sync_all_material_apply()
_logger.info("同步资源库材料应用完成")
self.env['sf.production.materials'].sync_all_production_materials() self.env['sf.production.materials'].sync_all_production_materials()
_logger.info("同步资源库材料") _logger.info("同步资源库材料")
self.env['sf.materials.model'].sync_all_materials_model() self.env['sf.materials.model'].sync_all_materials_model()
@@ -30,47 +34,38 @@ class ResConfigSettings(models.TransientModel):
self.env['sf.production.process'].sync_all_production_process() self.env['sf.production.process'].sync_all_production_process()
_logger.info("同步资源库表面工艺") _logger.info("同步资源库表面工艺")
# self.env['sf.processing.technology'].sync_all_processing_technology() # self.env['sf.processing.technology'].sync_all_processing_technology()
_logger.info("同步资源库加工工艺") # _logger.info("同步资源库加工工艺")
self.env['sf.machine.brand.tags'].sync_all_machine_brand_tags() self.env['sf.machine.brand.tags'].sync_all_machine_brand_tags()
_logger.info("同步资源库品牌类别") _logger.info("同步资源库品牌类别")
self.env['sf.machine.brand'].sync_all_machine_brand() self.env['sf.machine.brand'].sync_all_machine_brand()
_logger.info("同步资源库品牌") _logger.info("同步资源库品牌")
self.env['sf.machine.control_system'].sync_all_machine_tool_type_control_system() self.env['sf.machine.control_system'].sync_all_machine_control_system()
_logger.info("同步资源库控制系统") _logger.info("同步资源库控制系统")
self.env['sf.machine_tool.category'].sync_all_machine_tool_category() self.env['sf.machine_tool.category'].sync_all_machine_tool_category()
_logger.info("同步资源库机床类型") _logger.info("同步资源库机床类型")
# self.env['sf.production.process.parameter'].sync_all_production_process_parameter() self.env['sf.production.process.parameter'].sync_all_production_process_parameter()
# _logger.info("同步表面工艺参数") _logger.info("同步刀具物料")
_logger.info("同步所有刀具物料...")
self.env['sf.cutting.tool.material'].sync_all_cutting_tool_material() self.env['sf.cutting.tool.material'].sync_all_cutting_tool_material()
_logger.info("同步所有刀具物料完成") _logger.info("同步刀具类型")
_logger.info("同步所有刀具类型...")
self.env['sf.cutting.tool.type'].sync_all_tool_type() self.env['sf.cutting.tool.type'].sync_all_tool_type()
_logger.info("同步所有刀具类型完成") _logger.info("同步所有刀具类型完成")
# _logger.info("同步所有刀具型号...") # _logger.info("同步所有刀具型号...")
# self.env['sf.cutting.tool.model'].sync_all_tool_model() # self.env['sf.cutting.tool.model'].sync_all_tool_model()
_logger.info("同步所有刀具型号完成") _logger.info("同步所有刀具型号完成")
_logger.info("定时同步所有功能刀具类型列表...")
self.env['sf.functional.cutting.tool.model'].sync_all_functional_cutting_tool_model() self.env['sf.functional.cutting.tool.model'].sync_all_functional_cutting_tool_model()
_logger.info("同步所有功能刀具类型完成")
# _logger.info("同步所有功能刀具列表...")
# self.env['sf.functional.cutting.tool'].sync_all_functional_cutting_tool()
# _logger.info("同步所有功能刀具列表完成")
self.env['sf.fixture.material'].sync_all_fixture_material()
_logger.info("同步夹具物料") _logger.info("同步夹具物料")
self.env['sf.multi_mounting.type'].sync_all_multi_mounting_type() self.env['sf.fixture.material'].sync_all_fixture_material()
_logger.info("同步联装类型") _logger.info("同步联装类型")
self.env['sf.fixture.model'].sync_all_fixture_model() self.env['sf.multi_mounting.type'].sync_all_multi_mounting_type()
_logger.info("同步夹具型号") _logger.info("同步夹具型号")
self.env['sf.functional.fixture.type'].sync_all_functional_fixture_type() self.env['sf.fixture.model'].sync_all_fixture_model()
_logger.info("同步功能夹具类型") _logger.info("同步功能夹具类型")
# self.env['sf.functional.fixture'].sync_all_functional_fixture() # self.env['sf.functional.fixture'].sync_all_functional_fixture()
self.env['sf.functional.fixture.type'].sync_all_functional_fixture_type()
self.env['sf.machine_tool.type'].sync_all_machine_tool_type() self.env['sf.machine_tool.type'].sync_all_machine_tool_type()
_logger.info("同步资源库机床型号") _logger.info("同步资源库机床型号完成")
self.env['sf.international.standards'].sync_all_mrs_international_standards()
_logger.info("同步资源库国际标准")
self.env['material.apply'].sync_all_material_apply()
_logger.info("同步资源库材料应用")
except Exception as e: except Exception as e:
_logger.info("捕获错误信息:%s" % e) _logger.info("捕获错误信息:%s" % e)
raise ValidationError("数据错误导致同步失败,请联系管理员") raise ValidationError("数据错误导致同步失败,请联系管理员")

File diff suppressed because it is too large Load Diff

View File

@@ -10,7 +10,7 @@
""", """,
'category': 'sf', 'category': 'sf',
'website': 'https://www.sf.jikimo.com', 'website': 'https://www.sf.jikimo.com',
'depends': ['sale', 'web_widget_model_viewer'], 'depends': ['sale', 'sale_management', 'web_widget_model_viewer'],
'data': [ 'data': [
'security/group_security.xml', 'security/group_security.xml',
'security/ir.model.access.csv', 'security/ir.model.access.csv',

View File

@@ -82,7 +82,7 @@ class QuickEasyOrder(models.Model):
# logging.info('create-model_file:%s' % len(vals['model_file'])) # logging.info('create-model_file:%s' % len(vals['model_file']))
obj = super(QuickEasyOrder, self).create(vals) obj = super(QuickEasyOrder, self).create(vals)
# self.model_coloring(obj) self.model_coloring(obj)
self.distribute_to_factory(obj) self.distribute_to_factory(obj)
obj.state = '待接单' obj.state = '待接单'
return obj return obj
@@ -90,14 +90,14 @@ class QuickEasyOrder(models.Model):
# 将attach的datas内容转为glb文件 # 将attach的datas内容转为glb文件
def transition_glb_file(self, report_path, model_code): def transition_glb_file(self, report_path, model_code):
shapes = read_step_file(report_path) shapes = read_step_file(report_path)
output_file = os.path.join('C:/Users/43484/Desktop/机企猫工作文档', str(model_code) + '.stl') # output_file = os.path.join('C:/Users/43484/Desktop/机企猫工作文档', str(model_code) + '.stl')
# output_file = os.path.join('/tmp', str(model_code) + '.stl') output_file = os.path.join('/tmp', str(model_code) + '.stl')
write_stl_file(shapes, output_file, 'binary', 0.03, 0.5) write_stl_file(shapes, output_file, 'binary', 0.03, 0.5)
# 转化为glb # 转化为glb
output_glb_file = os.path.join('C:/Users/43484/Desktop/机企猫工作文档', str(model_code) + '.glb') # output_glb_file = os.path.join('C:/Users/43484/Desktop/机企猫工作文档', str(model_code) + '.glb')
# output_glb_file = os.path.join('/tmp', str(model_code) + '.glb') output_glb_file = os.path.join('/tmp', str(model_code) + '.glb')
util_path = get_resource_path('sf_dlm', 'static/util') util_path = get_resource_path('sf_dlm', 'static/util')
cmd = 'python %s/stl2gltf.py %s %s -b' % (util_path, output_file, output_glb_file) cmd = 'python3 %s/stl2gltf.py %s %s -b' % (util_path, output_file, output_glb_file)
os.system(cmd) os.system(cmd)
# 转base64 # 转base64
with open(output_glb_file, 'rb') as fileObj: with open(output_glb_file, 'rb') as fileObj:
@@ -122,17 +122,17 @@ class QuickEasyOrder(models.Model):
model_code = hashlib.sha1(base64_datas.encode('utf-8')).hexdigest() model_code = hashlib.sha1(base64_datas.encode('utf-8')).hexdigest()
logging.info("模型编码: %s" % model_code) logging.info("模型编码: %s" % model_code)
item.model_file = self.transition_glb_file(report_path, model_code) item.model_file = self.transition_glb_file(report_path, model_code)
# ret = self.feature_recognition(report_path, model_code) ret = self.feature_recognition(report_path, model_code)
# logging.info("自动报价返回值: %s" % ret) logging.info("自动报价返回值: %s" % ret)
# boxshape = ret['boxshape'].tolist() boxshape = ret['boxshape'].tolist()
# logging.info("自动报价boxshape: %s" % boxshape) logging.info("自动报价boxshape: %s" % boxshape)
# logging.info('自动报价feature_infos:%s' % ret['feature_infos']) logging.info('自动报价feature_infos:%s' % ret['feature_infos'])
# item.model_length = boxshape[0] # 长 单位mm item.model_length = boxshape[0] # 长 单位mm
# item.model_width = boxshape[1] # 宽 item.model_width = boxshape[1] # 宽
# item.model_height = boxshape[2] # 高 item.model_height = boxshape[2] # 高
# item.model_volume = boxshape[0] * boxshape[1] * boxshape[2] item.model_volume = boxshape[0] * boxshape[1] * boxshape[2]
# item.model_feature = json.dumps(ret['feature_infos'], ensure_ascii=False) item.model_feature = json.dumps(ret['feature_infos'], ensure_ascii=False)
# self._get_price(item) self._get_price(item)
else: else:
item.model_file = False item.model_file = False
item.model_feature = False item.model_feature = False