diff --git a/sf_base/static/src/scss/test.scss b/sf_base/static/src/scss/test.scss index 13e1580e..3abd10e1 100644 --- a/sf_base/static/src/scss/test.scss +++ b/sf_base/static/src/scss/test.scss @@ -34,6 +34,6 @@ div:has(.o_required_modifier)>label::before { display: inline !important; } -.o_required_modifier { - display: flex !important; +td.o_required_modifier { + display: table-cell !important; } \ No newline at end of file diff --git a/sf_base/views/base_view.xml b/sf_base/views/base_view.xml index 0607c05d..88a2dd86 100644 --- a/sf_base/views/base_view.xml +++ b/sf_base/views/base_view.xml @@ -25,7 +25,7 @@ tree.sf.machine.brand sf.machine.brand - + @@ -38,7 +38,7 @@ form.sf.machine.brand sf.machine.brand -
+ tree.sf.machine_tool.type sf.machine_tool.type - + @@ -104,7 +104,7 @@ form.sf.machine_tool.type sf.machine_tool.type - +

@@ -279,7 +279,7 @@ tree.sf.machine_tool.category sf.machine_tool.category - + @@ -486,7 +486,7 @@ tree.sf.machine.control_system sf.machine.control_system - + diff --git a/sf_base/views/common_view.xml b/sf_base/views/common_view.xml index e340650f..492a3b4e 100644 --- a/sf_base/views/common_view.xml +++ b/sf_base/views/common_view.xml @@ -23,7 +23,7 @@ sf.processing.technology - + @@ -45,7 +45,7 @@ sf.production.process.category - +

@@ -80,7 +80,7 @@ sf.production.process.category - + @@ -104,7 +104,7 @@ sf.production.process - + @@ -115,7 +115,7 @@ sf.production.process - +

@@ -195,7 +195,7 @@ sf.materials.model - +

@@ -238,7 +238,7 @@ sf.materials.model - + @@ -266,7 +266,7 @@ sf.production.materials - +

@@ -302,7 +302,7 @@ sf.production.materials - + diff --git a/sf_base/views/fixture_view.xml b/sf_base/views/fixture_view.xml index 153c0f91..6a402681 100644 --- a/sf_base/views/fixture_view.xml +++ b/sf_base/views/fixture_view.xml @@ -22,7 +22,7 @@ 夹具物料 sf.fixture.material - + @@ -87,7 +87,7 @@ 联装类型 sf.multi_mounting.type - + diff --git a/sf_base/views/functional_fixture_view.xml b/sf_base/views/functional_fixture_view.xml index 5a5c0405..e366f701 100644 --- a/sf_base/views/functional_fixture_view.xml +++ b/sf_base/views/functional_fixture_view.xml @@ -23,7 +23,7 @@ 功能夹具类型 sf.functional.fixture.type - + diff --git a/sf_base/views/tool_views.xml b/sf_base/views/tool_views.xml index 62f8c9c3..5b78270d 100644 --- a/sf_base/views/tool_views.xml +++ b/sf_base/views/tool_views.xml @@ -6,7 +6,7 @@ sf.cutting.tool.material.tree sf.cutting.tool.material - + @@ -153,7 +153,7 @@ sf.cutter.function.tree sf.functional.cutting.tool.model - + @@ -198,7 +198,7 @@ sf.cutting.tool.model.tree sf.cutting.tool.model - + @@ -210,7 +210,7 @@ sf.cutting.tool.model.form sf.cutting.tool.model - +

@@ -345,7 +345,7 @@ sf.cutting.tool.type.tree sf.cutting.tool.type - + diff --git a/sf_manufacturing/models/production_line_base.py b/sf_manufacturing/models/production_line_base.py index f9a30d36..a8c41cd3 100644 --- a/sf_manufacturing/models/production_line_base.py +++ b/sf_manufacturing/models/production_line_base.py @@ -21,10 +21,12 @@ class ProductionLine(models.Model): num = "%03d" % m return num - name = fields.Char('生产线') + mrp_workcenter_ids = fields.One2many('mrp.workcenter', 'production_line_id', '工作中心') + name = fields.Char('生产线', size=20, required=True) code = fields.Char('编码', default=_get_code, readonly=True) remark = fields.Char('备注') + diff --git a/sf_manufacturing/views/production_line_view.xml b/sf_manufacturing/views/production_line_view.xml index b9fd459f..f12f6d98 100644 --- a/sf_manufacturing/views/production_line_view.xml +++ b/sf_manufacturing/views/production_line_view.xml @@ -5,8 +5,9 @@ sf.production.line - + + @@ -18,13 +19,16 @@ +
+

+ +

+
- - - - + +
@@ -54,8 +58,8 @@
-
- +

+
diff --git a/sf_mrs_connect/models/res_config_setting.py b/sf_mrs_connect/models/res_config_setting.py index 4c3002e0..699b1bff 100644 --- a/sf_mrs_connect/models/res_config_setting.py +++ b/sf_mrs_connect/models/res_config_setting.py @@ -36,7 +36,6 @@ class ResConfigSettings(models.TransientModel): _logger.info("同步资源库品牌") self.env['sf.machine.control_system'].sync_all_machine_tool_type_control_system() _logger.info("同步资源库控制系统") - self.env['sf.machine_tool.category'].sync_all_machine_tool_category() _logger.info("同步资源库机床类型") # self.env['sf.production.process.parameter'].sync_all_production_process_parameter() @@ -45,35 +44,26 @@ class ResConfigSettings(models.TransientModel): self.env['sf.cutting.tool.material'].sync_all_cutting_tool_material() _logger.info("同步所有刀具物料完成") _logger.info("同步所有刀具类型...") - # self.env['sf.cutting.tool.type'].sync_all_tool_type() - # _logger.info("同步所有刀具类型完成") + self.env['sf.cutting.tool.type'].sync_all_tool_type() + _logger.info("同步所有刀具类型完成") + _logger.info("同步所有刀具型号...") + self.env['sf.cutting.tool.model'].sync_all_tool_model() + _logger.info("同步所有刀具型号完成") _logger.info("定时同步所有功能刀具类型列表...") self.env['sf.functional.cutting.tool.model'].sync_all_functional_cutting_tool_model() _logger.info("同步所有功能刀具类型完成") - _logger.info("同步所有刀具型号...") - # self.env['sf.cutting.tool.model'].sync_all_tool_model() - _logger.info("同步所有刀具型号完成") - _logger.info("同步所有功能刀具列表...") - self.env['sf.functional.cutting.tool'].sync_all_functional_cutting_tool() - _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("同步夹具物料") self.env['sf.multi_mounting.type'].sync_all_multi_mounting_type() _logger.info("同步联装类型") - # self.env['sf.fixture.model'].sync_all_fixture_model() - # _logger.info("同步夹具型号") + self.env['sf.fixture.model'].sync_all_fixture_model() + _logger.info("同步夹具型号") self.env['sf.functional.fixture.type'].sync_all_functional_fixture_type() _logger.info("同步功能夹具类型") - # self.env['sf.functional.fixture'].sync_all_functional_fixture() - # self.env['sf.multi_mounting.type'].sync_all_multi_mounting_type() - # _logger.info("同步联装类型") - # self.env['sf.fixture.model'].sync_all_fixture_model() - # _logger.info("同步夹具型号") - # self.env['sf.functional.fixture.type'].sync_all_functional_fixture_type() - # _logger.info("同步功能夹具类型") - # self.env['sf.functional.fixture'].sync_all_functional_fixture() - # _logger.info("同步功能夹具") - self.env['sf.machine_tool.type'].sync_all_machine_tool_type() + self.env['sf.functional.fixture'].sync_all_functional_fixture() _logger.info("同步资源库机床型号") except Exception as e: _logger.info("捕获错误信息:%s" % e) diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py index f780dad9..d39b92fa 100644 --- a/sf_tool_management/models/base.py +++ b/sf_tool_management/models/base.py @@ -52,18 +52,18 @@ class FunctionalCuttingToolEntity(models.Model): 'sf_functional_cutting_tool_entity_id', string='夹头型号', domain= [('cutting_tool_type', '=', '夹头')]) - cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0') - - @api.onchange('cutting_tool_material') - def _onchange_cutting_tool_material(self): - for record in self: - if record: - if record.cutting_tool_material == '1': - record.mrs_cutting_tool_integral_model_ids = None - if record.cutting_tool_material == '0': - record.mrs_cutting_tool_blade_model_ids = None - record.mrs_cutting_tool_cutterbar_model_ids = None - record.mrs_cutting_tool_cutterpad_model_ids = None + # cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0') + # + # @api.onchange('cutting_tool_material') + # def _onchange_cutting_tool_material(self): + # for record in self: + # if record: + # if record.cutting_tool_material == '1': + # record.mrs_cutting_tool_integral_model_ids = None + # if record.cutting_tool_material == '0': + # record.mrs_cutting_tool_blade_model_ids = None + # record.mrs_cutting_tool_cutterbar_model_ids = None + # record.mrs_cutting_tool_cutterpad_model_ids = None diameter = fields.Float('直径(mm)') @@ -126,18 +126,18 @@ class FunctionalCuttingToolEntityCache(models.Model): 'sf_functional_cutting_tool_entity_cache_id', string='夹头型号', domain= [('cutting_tool_type', '=', '夹头')]) - cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0') - - @api.onchange('cutting_tool_material') - def _onchange_cutting_tool_material(self): - for record in self: - if record: - if record.cutting_tool_material == '1': - record.mrs_cutting_tool_integral_model_ids = None - if record.cutting_tool_material == '0': - record.mrs_cutting_tool_blade_model_ids = None - record.mrs_cutting_tool_cutterbar_model_ids = None - record.mrs_cutting_tool_cutterpad_model_ids = None + # cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0') + # + # @api.onchange('cutting_tool_material') + # def _onchange_cutting_tool_material(self): + # for record in self: + # if record: + # if record.cutting_tool_material == '1': + # record.mrs_cutting_tool_integral_model_ids = None + # if record.cutting_tool_material == '0': + # record.mrs_cutting_tool_blade_model_ids = None + # record.mrs_cutting_tool_cutterbar_model_ids = None + # record.mrs_cutting_tool_cutterpad_model_ids = None diameter = fields.Float('直径(mm)') @@ -203,18 +203,18 @@ class FunctionalToolWarning(models.Model): string='夹头型号', readonly=True, domain=[('cutting_tool_type', '=', '夹头')], related='functional_cutting_tool_id.mrs_cutting_tool_cutterhead_model_ids') - cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0') - - @api.onchange('cutting_tool_material') - def _onchange_cutting_tool_material(self): - for record in self: - if record: - if record.cutting_tool_material == '1': - record.mrs_cutting_tool_integral_model_ids = None - if record.cutting_tool_material == '0': - record.mrs_cutting_tool_blade_model_ids = None - record.mrs_cutting_tool_cutterbar_model_ids = None - record.mrs_cutting_tool_cutterpad_model_ids = None + # cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0') + # + # @api.onchange('cutting_tool_material') + # def _onchange_cutting_tool_material(self): + # for record in self: + # if record: + # if record.cutting_tool_material == '1': + # record.mrs_cutting_tool_integral_model_ids = None + # if record.cutting_tool_material == '0': + # record.mrs_cutting_tool_blade_model_ids = None + # record.mrs_cutting_tool_cutterbar_model_ids = None + # record.mrs_cutting_tool_cutterpad_model_ids = None diameter = fields.Float('直径(mm)', readonly=True, related='functional_cutting_tool_id.diameter') tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')], @@ -329,18 +329,18 @@ class RealTimeDistributionOfFunctionalTools(models.Model): string='夹头型号', readonly=True, domain=[('cutting_tool_type', '=', '夹头')], related='functional_cutting_tool_id.mrs_cutting_tool_cutterhead_model_ids') - cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0') - - @api.onchange('cutting_tool_material') - def _onchange_cutting_tool_material(self): - for record in self: - if record: - if record.cutting_tool_material == '1': - record.mrs_cutting_tool_integral_model_ids = None - if record.cutting_tool_material == '0': - record.mrs_cutting_tool_blade_model_ids = None - record.mrs_cutting_tool_cutterbar_model_ids = None - record.mrs_cutting_tool_cutterpad_model_ids = None + # cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0') + # + # @api.onchange('cutting_tool_material') + # def _onchange_cutting_tool_material(self): + # for record in self: + # if record: + # if record.cutting_tool_material == '1': + # record.mrs_cutting_tool_integral_model_ids = None + # if record.cutting_tool_material == '0': + # record.mrs_cutting_tool_blade_model_ids = None + # record.mrs_cutting_tool_cutterbar_model_ids = None + # record.mrs_cutting_tool_cutterpad_model_ids = None diameter = fields.Float('直径(mm)', readonly=True, related='functional_cutting_tool_id.diameter') tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')], @@ -450,18 +450,18 @@ class InboundAndOutboundRecordsOfFunctionalTools(models.Model): string='夹头型号', readonly=True, domain=[('cutting_tool_type', '=', '夹头')], related='functional_cutting_tool_id.mrs_cutting_tool_cutterhead_model_ids') - cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0') - - @api.onchange('cutting_tool_material') - def _onchange_cutting_tool_material(self): - for record in self: - if record: - if record.cutting_tool_material == '1': - record.mrs_cutting_tool_integral_model_ids = None - if record.cutting_tool_material == '0': - record.mrs_cutting_tool_blade_model_ids = None - record.mrs_cutting_tool_cutterbar_model_ids = None - record.mrs_cutting_tool_cutterpad_model_ids = None + # cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0') + # + # @api.onchange('cutting_tool_material') + # def _onchange_cutting_tool_material(self): + # for record in self: + # if record: + # if record.cutting_tool_material == '1': + # record.mrs_cutting_tool_integral_model_ids = None + # if record.cutting_tool_material == '0': + # record.mrs_cutting_tool_blade_model_ids = None + # record.mrs_cutting_tool_cutterbar_model_ids = None + # record.mrs_cutting_tool_cutterpad_model_ids = None diameter = fields.Float('直径(mm)', readonly=True, related='functional_cutting_tool_id.diameter') tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')], diff --git a/sf_tool_management/views/tool_base_views.xml b/sf_tool_management/views/tool_base_views.xml index 02ab3ce6..361ea14a 100644 --- a/sf_tool_management/views/tool_base_views.xml +++ b/sf_tool_management/views/tool_base_views.xml @@ -35,36 +35,64 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -166,36 +194,64 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -335,36 +391,64 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -492,36 +576,64 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +