diff --git a/sf_machine_connect/views/WorkCenterBarcodes.xml b/sf_machine_connect/views/WorkCenterBarcodes.xml
index 0a0cccd6..d44c8a82 100644
--- a/sf_machine_connect/views/WorkCenterBarcodes.xml
+++ b/sf_machine_connect/views/WorkCenterBarcodes.xml
@@ -10,6 +10,7 @@
+
@@ -19,7 +20,11 @@
-
+
+
+
+
+
\ No newline at end of file
diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py
index 94a9d646..df9ed02e 100644
--- a/sf_manufacturing/models/stock.py
+++ b/sf_manufacturing/models/stock.py
@@ -269,6 +269,13 @@ class ProductionLot(models.Model):
rfid = fields.Char('Rfid', readonly=True)
product_specification = fields.Char('规格', compute='_compute_product_specification', store=True)
+ def search_lot_put_rfid(self):
+ # 使用SQL将所有刀柄Rfid不满十位的值在前方补零
+ self.env.cr.execute(
+ '''UPDATE stock_lot SET rfid = LPAD(rfid, 10, '0') WHERE rfid IS NOT NULL AND LENGTH(rfid) < 10'''
+ )
+ self.env.cr.commit()
+
@api.depends('product_id')
def _compute_product_specification(self):
for stock in self:
diff --git a/sf_manufacturing/views/mrp_production_addional_change.xml b/sf_manufacturing/views/mrp_production_addional_change.xml
index 3d822104..0e1695ef 100644
--- a/sf_manufacturing/views/mrp_production_addional_change.xml
+++ b/sf_manufacturing/views/mrp_production_addional_change.xml
@@ -67,6 +67,7 @@
progress,pending_cam,pending_processing,pending_era_cam,completed,done
+
diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml
index 50566ebd..5541cbc4 100644
--- a/sf_manufacturing/views/mrp_workorder_view.xml
+++ b/sf_manufacturing/views/mrp_workorder_view.xml
@@ -23,6 +23,9 @@
+
+
+
@@ -174,6 +177,8 @@
attrs="{'invisible': [('production_state','=', 'draft')], 'readonly': [('is_user_working', '=', True)]}"
sum="real duration"/>
+
+
+
+
+
+
+
+
+ stock.production.lot.view
+ stock.lot
+
+
+
+
+
+
+
+
+
+ stock.production.lot.tree.inherit.product.expiry
+ stock.lot
+
+
+
+
+
\ No newline at end of file
diff --git a/sf_quality/models/quality.py b/sf_quality/models/quality.py
index 92914344..6fc04154 100644
--- a/sf_quality/models/quality.py
+++ b/sf_quality/models/quality.py
@@ -20,6 +20,9 @@ class QualityCheck(models.Model):
production_id = self.env['mrp.production'].sudo().search([('name', '=', origin)])
rfid = '' if not production_id.workorder_ids else production_id.workorder_ids[-1].rfid_code or ''
val = [rfid]
+ # todo 需修改
+ val = ['0037818516']
+ logging.info('获取到的工单信息%s' % val)
r = requests.post(crea_url, json=val, headers=headers)
ret = r.json()
logging.info('_register_quality_check:%s' % ret)
@@ -28,10 +31,10 @@ class QualityCheck(models.Model):
else:
raise ValidationError("零件特采发送失败")
- def do_fail(self):
- self.write({
- 'quality_state': 'fail',
- 'user_id': self.env.user.id,
- 'control_date': datetime.now()})
- if self.picking_id and 'WH/MO/' in self.picking_id.origin:
- self._register_quality_check()
+ # def do_fail(self):
+ # self.write({
+ # 'quality_state': 'fail',
+ # 'user_id': self.env.user.id,
+ # 'control_date': datetime.now()})
+ # if self.picking_id and 'WH/MO/' in self.picking_id.origin:
+ # self._register_quality_check()
diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py
index e6e5d1eb..ed1cf129 100644
--- a/sf_tool_management/models/base.py
+++ b/sf_tool_management/models/base.py
@@ -258,10 +258,6 @@ class CAMWorkOrderProgramKnifePlan(models.Model):
names = categories._search([], order=order, access_rights_uid=SUPERUSER_ID)
return categories.browse(names)
- def knife_plan_cnc_processing(self):
- # MES装刀指令接口 測試
- self.env['sf.cnc.processing'].register_cnc_processing(self)
-
def apply_for_tooling(self):
"""
申请装刀
diff --git a/sf_tool_management/models/maintenance_equipment.py b/sf_tool_management/models/maintenance_equipment.py
index fef6c67c..135bf200 100644
--- a/sf_tool_management/models/maintenance_equipment.py
+++ b/sf_tool_management/models/maintenance_equipment.py
@@ -63,10 +63,11 @@ class SfMaintenanceEquipment(models.Model):
for data in datas:
maintenance_equipment_id = self.search([('name', '=', data['DeviceId'])])
if maintenance_equipment_id:
+ tool_id = '%s%s' % (data['ToolId'][0:1], data['ToolId'][1:].zfill(2))
equipment_tool_id = self.env['maintenance.equipment.tool'].sudo().search(
- [('equipment_id', '=', maintenance_equipment_id.id), ('code', '=', data['ToolId'])])
+ [('equipment_id', '=', maintenance_equipment_id.id), ('code', '=', tool_id)])
functional_tool_id = self.env['sf.functional.cutting.tool.entity'].sudo().search(
- [('rfid', '=', data['RfidCode'])])
+ [('rfid', '=', str(int(data['RfidCode'])))])
time = None
if data['AddDatetime']:
datatime = str(data['AddDatetime'])
diff --git a/sf_tool_management/models/mrp_workorder.py b/sf_tool_management/models/mrp_workorder.py
index 45ddb317..44c4ef95 100644
--- a/sf_tool_management/models/mrp_workorder.py
+++ b/sf_tool_management/models/mrp_workorder.py
@@ -11,23 +11,23 @@ class CNCprocessing(models.Model):
_description = 'CNC加工用刀检测'
# ==========MES装刀指令接口==========
- def register_cnc_processing(self, knife_plan):
- config = self.env['res.config.settings'].get_values()
- # token = sf_sync_config['token'Ba F2CF5DCC-1A00-4234-9E95-65603F70CC8A]
- headers = {'Authorization': config['center_control_Authorization']}
- crea_url = config['center_control_url'] + "/AutoDeviceApi/ToolLoadInstruct"
- val = {
- 'DeviceId': knife_plan.machine_table_name,
- 'RfidCode': knife_plan.sf_functional_tool_assembly_id.rfid,
- 'ToolId': int(knife_plan.cutter_spacing_code_id.code[1:])
- }
- r = requests.post(crea_url, json=val, headers=headers)
- ret = r.json()
- logging.info('register_cnc_processing:%s' % ret)
- if ret['Succeed']:
- return "MES装刀指令发送成功"
- else:
- raise ValidationError("MES装刀指令发送失败")
+ # def register_cnc_processing(self, knife_plan):
+ # config = self.env['res.config.settings'].get_values()
+ # # token = sf_sync_config['token'Ba F2CF5DCC-1A00-4234-9E95-65603F70CC8A]
+ # headers = {'Authorization': config['center_control_Authorization']}
+ # crea_url = config['center_control_url'] + "/AutoDeviceApi/ToolLoadInstruct"
+ # val = {
+ # 'DeviceId': knife_plan.machine_table_name,
+ # 'RfidCode': knife_plan.sf_functional_tool_assembly_id.rfid.zfill(10),
+ # 'ToolId': int(knife_plan.cam_cutter_spacing_code[1:])
+ # }
+ # r = requests.post(crea_url, json=val, headers=headers)
+ # ret = r.json()
+ # logging.info('register_cnc_processing:%s' % ret)
+ # if ret['Succeed']:
+ # return "MES装刀指令发送成功"
+ # else:
+ # raise ValidationError("MES装刀指令发送失败")
@api.model_create_multi
def create(self, vals):
diff --git a/sf_tool_management/views/tool_base_views.xml b/sf_tool_management/views/tool_base_views.xml
index 1db89ddb..274d3bcc 100644
--- a/sf_tool_management/views/tool_base_views.xml
+++ b/sf_tool_management/views/tool_base_views.xml
@@ -321,8 +321,6 @@
attrs="{'invisible': [('plan_execute_status', '!=', '0')]}" confirm="是否确认申请装刀"/>
-
diff --git a/sf_tool_management/wizard/wizard.py b/sf_tool_management/wizard/wizard.py
index 267e9a32..7a4f1553 100644
--- a/sf_tool_management/wizard/wizard.py
+++ b/sf_tool_management/wizard/wizard.py
@@ -602,7 +602,6 @@ class FunctionalToolAssemblyOrder(models.TransientModel):
('id', '=', functional_tool_assembly.sf_cam_work_order_program_knife_plan_id.id)
])
cam_plan.write({'plan_execute_status': '2'})
- self.env['sf.cnc.processing'].register_cnc_processing(cam_plan)
# 关闭弹出窗口
return {'type': 'ir.actions.act_window_close'}