diff --git a/sf_base/__manifest__.py b/sf_base/__manifest__.py index 105cd241..2352c3a6 100644 --- a/sf_base/__manifest__.py +++ b/sf_base/__manifest__.py @@ -10,7 +10,7 @@ """, 'category': 'YZ', 'website': 'https://www.sf.jikimo.com', - 'depends': ['account'], + 'depends': ['account', 'base'], 'data': [ 'security/group_security.xml', 'security/ir.model.access.csv', diff --git a/sf_base/models/sf_base.py b/sf_base/models/sf_base.py index 05334842..abe0255b 100644 --- a/sf_base/models/sf_base.py +++ b/sf_base/models/sf_base.py @@ -80,47 +80,7 @@ class MachineTool(models.Model): active = fields.Boolean('有效', default=True) - # @api.depends('type_id') - # def _compute_type_id(self): - # to_reset = self.filtered(lambda e: e.type_id != e.type_id.id) - # to_reset.type_id = False - # 编码规则:加工工厂编码-品牌编码-注册年月-00001 - # def get_machine_tool_code(self): - # partner = self.env['res.partner'].sudo().search( - # [('is_factory', '=', True)], - # limit=1, - # order="id desc") - # brand = self.env['mrs.machine.brand'].sudo().search( - # [('tag_ids', '=', '机床')], - # limit=1, - # order="id desc") - # if not brand: - # num = item.brand_id.code + "%04d" % 1 - # item.code = num - # else: - # print('--------') - # print(type) - # m = int(type.code[-4:]) + 1 - # num = item.brand_id.code + "%04d" % m - # item.code = num - - # 选择机床型号时,该型号的基本信息带出并赋给机床对应的信息里 - - # @api.onchange('type_id') - # def get_type_info(self): - # for item in self: - # item.knife_type = item.type_id.knife_type - # item.number_of_knife_library = item.type_id.number_of_knife_library - # item.number_of_axles = item.type_id.number_of_axles - # item.rotate_speed = item.type_id.rotate_speed - # item.precision = item.type_id.precision - # item.control_system_id = item.type_id.control_system_id - # item.x_axis = item.type_id.x_axis - # item.y_axis = item.type_id.y_axis - # item.z_axis = item.type_id.z_axis - # item.b_axis = item.type_id.b_axis - # item.c_axis = item.type_id.c_axis class MachineToolType(models.Model): @@ -153,48 +113,15 @@ class MachineToolType(models.Model): active = fields.Boolean('有效', default=True) code = fields.Char('编码') - # @api.onchange('brand_id') - # def get_machine_tool_type_code(self): - # for item in self: - # if not item.brand_id: - # return False - # type = self.env['mrs.machine_tool.type'].sudo().search( - # [('brand_id', '=', item.brand_id.id)], - # limit=1, - # order="id desc" - # ) - # print(item.brand_id.id) - # if not type: - # num = item.brand_id.code + "%04d" % 1 - # item.code = num - # print(item.code) - # else: - # print('----------') - # m = int(type.code[-4:]) + 1 - # num = item.brand_id.code + "%04d" % m - # item.code = num - # print(item.code) - # 刀具 class CuttingTool(models.Model): _name = 'mrs.cutting_tool.category' _description = '刀具类别' - # def get_cutting_tool_category_code(self): - # code = self.env['mrs.cutting_tool.category'].sudo().search( - # [('code', '!=', False)], limit=1, - # order="id desc") - # if not code: - # num = "%03d" % 1 - # else: - # m = int(code.code) + 1 - # num = "%03d" % m - # return num - code = fields.Char('编码') name = fields.Char('名称') - # type_ids = fields.One2many('mrs.cutting_tool.type', 'category_id', string='刀具型号') + remark = fields.Text('备注') active = fields.Boolean('有效', default=True) @@ -216,23 +143,3 @@ class CuttingToolType(models.Model): brand_id = fields.Many2one('mrs.machine.brand', string='品牌') remark = fields.Text('备注') active = fields.Boolean('有效', default=True) - - # @api.onchange('brand_id', 'category_id') - # def get_cutting_tool_type_code(self): - # for item in self: - # if not item.brand_id: - # return False - # if not item.category_id: - # return False - # type = self.env['mrs.cutting_tool.type'].sudo().search( - # [('brand_id', '=', item.brand_id.id), ('brand_id', '=', item.category_id.id)], - # limit=1, - # order="id desc" - # ) - # if not type: - # num = item.brand_id.code + item.category_id.code + "%03d" % 1 - # item.code = num - # else: - # m = int(type.code[-4:]) + 1 - # num = item.brand_id.code + item.category_id.code + "%03d" % m - # item.code = num diff --git a/sf_base/models/sf_common.py b/sf_base/models/sf_common.py index 17bd0a79..95dd6595 100644 --- a/sf_base/models/sf_common.py +++ b/sf_base/models/sf_common.py @@ -23,12 +23,12 @@ class MrsMaterialModel(models.Model): _description = '材料型号' remark = fields.Text("备注") name = fields.Char('型号名') - need_h = fields.Boolean("需要热处理", default="false") - mf_materia_post = fields.Char("热处理后硬度") + need_h = fields.Boolean("热处理", default="false") + mf_materia_post = fields.Char("热处理后密度") density = fields.Float("密度(kg/m³)") materials_id = fields.Many2one('mrs.production.materials', "材料名") materials_num = fields.Char("编码号") - material_no = fields.Char("编码") + materials_no = fields.Char("编码") active = fields.Boolean('有效', default=True) @@ -52,9 +52,10 @@ class MrsProcessingTechnology(models.Model): remark = fields.Text('备注', index=True) process_encode = fields.Char("编码") processing_order_ids = fields.Many2many('mrs.processing.order', 'mrs_associated_processes', - index=True, string='工序') + index=True, string='工序') active = fields.Boolean('有效', default=True) + class MrsProcessingOrder(models.Model): _name = 'mrs.processing.order' _description = '工序' @@ -66,6 +67,7 @@ class MrsProcessingOrder(models.Model): production_process_id = fields.Many2one('mrs.production.process', string="表面工艺") + class ProductTemplate(models.Model): _inherit = 'product.template' _description = '产品' diff --git a/sf_base/views/menu_view.xml b/sf_base/views/menu_view.xml index e1731e63..dd83e9ea 100644 --- a/sf_base/views/menu_view.xml +++ b/sf_base/views/menu_view.xml @@ -2,10 +2,25 @@ - - + + + + + + + + - + @@ -136,7 +136,7 @@ mrs.materials.model - + @@ -150,7 +150,7 @@ - + @@ -173,7 +173,7 @@ - + diff --git a/sf_mrs_sync/models/res_config_setting.py b/sf_mrs_sync/models/res_config_setting.py index e42776c7..c1991a56 100644 --- a/sf_mrs_sync/models/res_config_setting.py +++ b/sf_mrs_sync/models/res_config_setting.py @@ -14,6 +14,19 @@ class ResConfigSettings(models.TransientModel): mrs_secret_key = fields.Char(string='密钥', default= 'wBmxej38OkErKhD6') mrs_url = fields.Char(string='访问地址', default= 'https://mrs.cs.jikimo.com') + def sf_all_sync(self): + self.env['mrs.production.materials'].sync_all_production_materials() + self.env['mrs.materials.model'].sync_all_materials_model() + self.env['mrs.production.process'].sync_all_production_process() + self.env['mrs.processing.technology'].sync_all_processing_technology() + self.env['mrs.machine.brand.tags'].sync_all_machine_brand_tags() + self.env['mrs.machine_tool.type.control_system'].sync_all_machine_tool_type_control_system() + self.env['mrs.machine.brand'].sync_all_machine_brand() + self.env['mrs.machine_tool'].sync_all_machine_tool() + self.env['mrs.machine_tool.type'].sync_all_machine_tool_type() + self.env['mrs.cutting_tool.category'].sync_all_cutting_tool_category() + self.env['mrs.cutting_tool.type'].sync_all_cutting_tool_type() + @api.model def get_values(self): """ diff --git a/sf_mrs_sync/models/sf_sync_common.py b/sf_mrs_sync/models/sf_sync_common.py index 5484d294..2beb3af4 100644 --- a/sf_mrs_sync/models/sf_sync_common.py +++ b/sf_mrs_sync/models/sf_sync_common.py @@ -17,6 +17,7 @@ class MrsProductionMaterials(models.Model): # 定时同步每日材料 def sync_production_materials(self): + #配置中获取token sf_sync_config = self.env['res.config.settings'].get_values() token = sf_sync_config['token'] @@ -52,6 +53,7 @@ class MrsProductionMaterials(models.Model): # 同步所有材料 def sync_all_production_materials(self): + _logger = '正在同步所有材料' sf_sync_config = self.env['res.config.settings'].get_values() token = sf_sync_config['token'] mrs_secret_key = sf_sync_config['mrs_secret_key'] @@ -102,7 +104,15 @@ class MrsMaterialModel(models.Model): brand = self.env['mrs.materials.model'].search( [("materials_num", '=', item['materials_num'])]) if brand: - print(item['name']) + brand.id = item['id'], + brand.name = item['name'], + brand.materials_no = item['materials_no'], + brand.remark = item['remark'], + brand.active = item['active'], + brand.mf_materia_post = item['mf_materia_post'], + brand.materials_id = item['materials_id'], + brand.need_h = item['need_h'], + brand.density = item['density'] else: self.env['mrs.materials.model'].create({ "id": item['id'], @@ -172,7 +182,12 @@ class MrsProductionProcess(models.Model): brand = self.env['mrs.production.process'].search( [("process_encode", '=', item['process_encode'])]) if brand: - print(item['name']) + brand.id = item['id'], + brand.name = item['name'], + brand.process_encode = item['process_encode'], + brand.remark = item['remark'], + brand.active = item['active'], + brand.remark = item['remark'] else: self.env['mrs.production.process'].create({ "id": item['id'], @@ -235,7 +250,11 @@ class MrsProcessingTechnology(models.Model): brand = self.env['mrs.processing.technology'].search( [("process_encode", '=', item['process_encode'])]) if brand: - print(item['name']) + brand.id = item['id'], + brand.name = item['name'], + brand.process_encode = item['process_encode'], + brand.remark = item['remark'], + brand.active = item['active'] else: self.env['mrs.processing.technology'].create({ "id": item['id'], @@ -297,7 +316,9 @@ class MachineBrandTags(models.Model): brand = self.env['mrs.machine.brand.tags'].search( [("id", '=', item['id'])]) if brand: - print(item['name']) + brand.id = item['id'], + brand.name = item['name'], + brand.color = item['color'] else: self.env['mrs.machine.brand.tags'].create({ "id": item['id'], @@ -353,7 +374,10 @@ class MachineControlSystem(models.Model): brand = self.env['mrs.machine_tool.type.control_system'].search( [("code", '=', item['code'])]) if brand: - print(item['name']) + brand.id = item['id'], + brand.name = item['name'], + brand.code = item['code'], + brand.active = item['active'] else: self.env['mrs.machine_tool.type.control_system'].create({ "id": item['id'], @@ -419,7 +443,10 @@ class MachineBrand(models.Model): brand = self.env['mrs.machine.brand'].search( [("code", '=', item['code'])]) if brand: - print(item['name']) + brand.id = item['id'], + brand.name = item['name'], + brand.code = item['code'], + brand.active = item['active'] else: self.env['mrs.machine.brand'].create({ "id": item['id'], @@ -477,11 +504,31 @@ class MachineTool(models.Model): r = r.json() result = json.loads(r['result']) if result['status'] == 1: - for item in result['machine_tool_yesterday_list']: + for item in result['machine_tool_all_yesterday_list']: brand = self.env['mrs.machine_tool'].search( [("code", '=', item['code'])]) if brand: - print(item['name']) + brand.id = item['id'], + brand.name = item['name'], + brand.code = item['code'], + brand.precision = item['precision'], + + brand.knife_type = item['knife_type'], + brand.registration_date = item['registration_date'], + brand.number_of_knife_library = item['number_of_knife_library'], + brand.rotate_speed = item['rotate_speed'], + brand.number_of_axles = item['number_of_axles'], + brand.control_system_id = item['control_system_id'], + brand.type_id = item['type_id'], + brand.brand_id = item['brand_id'], + brand.x_axis = item['x_axis'], + brand.y_axis = item['y_axis'], + brand.z_axis = item['z_axis'], + brand.b_axis = item['b_axis'], + brand.c_axis = item['c_axis'], + brand.state = item['state'], + brand.active = item['active'] + else: self.env['mrs.machine_tool'].create({ "id": item['id'], @@ -572,7 +619,24 @@ class MachineToolType(models.Model): brand = self.env['mrs.machine_tool.type'].search( [("code", '=', item['code'])]) if brand: - print(item['name']) + brand.id = item['id'], + brand.name = item['name'], + brand.code = item['code'], + brand.precision = item['precision'], + brand.number_of_knife_library = item['number_of_knife_library'], + brand.rotate_speed = item['rotate_speed'], + brand.number_of_axles = item['number_of_axles'], + brand.control_system_id = item['control_system_id'], + brand.brand_id = item['brand_id'], + brand.x_axis = item['x_axis'], + brand.y_axis = item['y_axis'], + brand.z_axis = item['z_axis'], + brand.b_axis = item['b_axis'], + brand.c_axis = item['c_axis'], + brand.active = item['active'], + brand.remark = item['remark'], + brand.machine_tool_id = item['machine_tool_id'] + else: self.env['mrs.machine_tool.type'].create({ "id": item['id'], @@ -655,7 +719,11 @@ class CuttingTool(models.Model): brand = self.env['mrs.cutting_tool.category'].search( [("code", '=', item['code'])]) if brand: - print(item['name']) + brand.id = item['id'], + brand.name = item['name'], + brand.code = item['code'], + brand.active = item['active'], + brand.remark = item['remark'] else: self.env['mrs.cutting_tool.category'].create({ "id": item['id'], @@ -716,7 +784,18 @@ class CuttingToolType(models.Model): brand = self.env['mrs.cutting_tool.type'].search( [("code", '=', item['code'])]) if brand: - print(item['name']) + brand.id = item['id'], + brand.name = item['name'], + brand.code = item['code'], + brand.active = item['active'], + brand.remark = item['remark'], + brand.diameter = item['diameter'], + brand.cone_angle_pitch = item['cone_angle_pitch'], + brand.shank_diameter = item['shank_diameter'], + brand.long_blade = item['long_blade'], + brand.taper_shank_length = item['taper_shank_length'], + brand.tool_length = item['tool_length'], + brand.blade_number = item['blade_number'] else: self.env['mrs.cutting_tool.type'].create({ "id": item['id'], diff --git a/sf_mrs_sync/views/sf_sync_config_settings_views.xml b/sf_mrs_sync/views/sf_sync_config_settings_views.xml index 8cc9084f..d98c166e 100644 --- a/sf_mrs_sync/views/sf_sync_config_settings_views.xml +++ b/sf_mrs_sync/views/sf_sync_config_settings_views.xml @@ -27,6 +27,9 @@ +
+