diff --git a/jikimo_sale_multiple_supply_methods/__init__.py b/jikimo_sale_multiple_supply_methods/__init__.py index 62b89387..74eea1d2 100644 --- a/jikimo_sale_multiple_supply_methods/__init__.py +++ b/jikimo_sale_multiple_supply_methods/__init__.py @@ -10,7 +10,7 @@ def _data_install(cr, registry): env.ref('jikimo_sale_multiple_supply_methods.product_template_purchase').product_variant_id.write({'active': False, 'is_bfm': True}) env.ref('jikimo_sale_multiple_supply_methods.product_template_manual_processing').product_variant_id.write({'active': False, 'single_manufacturing': True, 'is_bfm': True}) env.ref('jikimo_sale_multiple_supply_methods.product_template_default').product_variant_id.write({'active': False, 'is_bfm': True}) - env.ref('jikimo_sale_multiple_supply_methods.product_template_raw_material_customer_provided').product_variant_id.write({'active': False}) + env.ref('jikimo_sale_multiple_supply_methods.product_template_embryo_customer_provided').product_variant_id.write({'active': False}) env.ref('jikimo_sale_multiple_supply_methods.product_template_outsourcing').product_variant_id.write({'active': False, 'is_bfm': True}) env.ref('sf_dlm.product_embryo_sf_self_machining').product_tmpl_id.write({'categ_type': '坯料'}) env.ref('sf_dlm.product_template_sf').product_tmpl_id.write({'categ_type': '成品'}) diff --git a/jikimo_sale_multiple_supply_methods/data/product_data.xml b/jikimo_sale_multiple_supply_methods/data/product_data.xml index dc9b70a7..b63da7ea 100644 --- a/jikimo_sale_multiple_supply_methods/data/product_data.xml +++ b/jikimo_sale_multiple_supply_methods/data/product_data.xml @@ -65,7 +65,7 @@ - + 坯料客供料模板 diff --git a/jikimo_sale_multiple_supply_methods/models/sale_order.py b/jikimo_sale_multiple_supply_methods/models/sale_order.py index cd8fa749..27dd1757 100644 --- a/jikimo_sale_multiple_supply_methods/models/sale_order.py +++ b/jikimo_sale_multiple_supply_methods/models/sale_order.py @@ -68,7 +68,7 @@ class SaleOrder(models.Model): # 当成品上带有客供料选项时,生成坯料时选择“客供料”路线 if line.is_incoming_material: # 将成品模板的内容复制到成品上 - customer_provided_embryo = self.env.ref('jikimo_sale_multiple_supply_methods.product_tempalte_raw_material_customer_provided').sudo() + customer_provided_embryo = self.env.ref('jikimo_sale_multiple_supply_methods.product_template_embryo_customer_provided').sudo() # 创建坯料,客供料的批量不需要创建bom material_customer_provided_embryo = self.env['product.template'].sudo().no_bom_product_create( customer_provided_embryo.with_context(active_test=False).product_variant_id, diff --git a/sf_base/models/base.py b/sf_base/models/base.py index 2c4bf22a..e8db18da 100644 --- a/sf_base/models/base.py +++ b/sf_base/models/base.py @@ -410,3 +410,13 @@ class ReSaleOrder(models.Model): person_of_delivery = fields.Char('收货人') telephone_of_delivery = fields.Char('电话号码') address_of_delivery = fields.Char('联系地址') + + +class EmbryoRedundancy(models.Model): + _name = "sf.embryo.redundancy" + + name = fields.Char('名称', required=True) + long = fields.Float('长度', required=True) + width = fields.Float('宽度', required=True) + height = fields.Float('高度', required=True) + code = fields.Char('编码', required=True) diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index 2ad8adf3..7fea2fc9 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -365,6 +365,8 @@ class StockRule(models.Model): i, process_parameter)) productions.technology_design_ids = technology_design_values + + return True diff --git a/sf_mrs_connect/models/res_config_setting.py b/sf_mrs_connect/models/res_config_setting.py index 5243ccb2..eb853186 100644 --- a/sf_mrs_connect/models/res_config_setting.py +++ b/sf_mrs_connect/models/res_config_setting.py @@ -86,6 +86,8 @@ class ResConfigSettings(models.TransientModel): _logger.info("同步刀具物料每齿走刀量完成") self.env['sf.machining.accuracy'].sync_machining_accuracy_all() _logger.info("同步加工精度完成") + self.env['sf.embryo.redundancy'].sync_embryo_redundancy_all() + _logger.info("同步坯料冗余完成") except Exception as e: _logger.info("sf_all_sync error: %s" % e) diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py index 29d32e5f..78566198 100644 --- a/sf_mrs_connect/models/sync_common.py +++ b/sf_mrs_connect/models/sync_common.py @@ -76,6 +76,8 @@ class MrStaticResourceDataSync(models.Model): _logger.info("同步刀具物料每齿走刀量完成") self.env['sf.machining.accuracy'].sync_machining_accuracy_all() _logger.info("同步加工精度完成") + self.env['sf.embryo.redundancy'].sync_embryo_redundancy_all() + _logger.info("同步坯料冗余完成") except Exception as e: traceback_error = traceback.format_exc() logging.error("同步静态资源库失败:%s" % traceback_error) @@ -3149,7 +3151,7 @@ class MachiningAccuracySync(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - _logger.info('加工精度:%s' % result) + # _logger.info('加工精度:%s' % result) if result['status'] == 1: machining_accuracy_all_list = result['machining_accuracy_all_list'] # 获取同步的id集合 @@ -3168,3 +3170,40 @@ class MachiningAccuracySync(models.Model): "name": time['name'], "standard_tolerance": time['standard_tolerance'], }) + +class EmbryoRedundancySync(models.Model): + _inherit = 'sf.embryo.redundancy' + _description = '坯料冗余' + url = '/api/embryo_redundancy/list' + + def sync_embryo_redundancy_all(self): + config = self.env['res.config.settings'].get_values() + headers = Common.get_headers(self, config['token'], config['sf_secret_key']) + strUrl = config['sf_url'] + self.url + r = requests.post(strUrl, json={}, data=None, headers=headers) + r = r.json() + result = json.loads(r['result']) + # _logger.info('加工精度:%s' % result) + if result['status'] == 1: + embryo_redundancy_all_list = result['embryo_redundancy_all_list'] + # 获取同步的id集合 + codes = [obj['code'] for obj in embryo_redundancy_all_list] + self.env['sf.embryo.redundancy'].sudo().search( + [('code', 'not in', codes)]).unlink() + for item in embryo_redundancy_all_list: + embryo_redundancy = self.env['sf.embryo.redundancy'].sudo().search( + [('code', '=', item['code'])]) + if embryo_redundancy: + embryo_redundancy.name = item['name'] + embryo_redundancy.code = item['code'] + embryo_redundancy.long = item['long'] + embryo_redundancy.width = item['width'] + embryo_redundancy.height = item['height'] + else: + self.env['sf.embryo.redundancy'].sudo().create({ + "name": item['name'], + "code": item['code'], + "long": item['long'], + "width": item['width'], + "height": item['height'], + }) \ No newline at end of file