diff --git a/sf_bf_connect/models/process_status.py b/sf_bf_connect/models/process_status.py
index 47ad70f1..09fecfae 100644
--- a/sf_bf_connect/models/process_status.py
+++ b/sf_bf_connect/models/process_status.py
@@ -49,15 +49,15 @@ class StatusChange(models.Model):
'process_start_time': process_start_time,
},
}
- # url1 = config['bfm_url_new'] + '/api/get/state/get_order'
- # ret = requests.post(url1, json=json1, data=None)
- # ret = ret.json()
- # if not ret.get('error'):
- # logging.info('接口已经执行=============')
- # else:
- # traceback_error = traceback.format_exc()
- # logging.error("bfm订单状态同步失败:%s" % traceback_error)
- # raise UserError('工厂加工同步订单状态到bfm失败')
+ url1 = config['bfm_url_new'] + '/api/get/state/get_order'
+ ret = requests.post(url1, json=json1, data=None)
+ ret = ret.json()
+ if not ret.get('error'):
+ logging.info('接口已经执行=============')
+ else:
+ traceback_error = traceback.format_exc()
+ logging.error("bfm订单状态同步失败:%s" % traceback_error)
+ raise UserError('工厂加工同步订单状态到bfm失败')
except UserError as e:
traceback_error = traceback.format_exc()
logging.error("工厂加工同步订单状态失败:%s " % traceback_error)
diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py
index e398ecfc..ba35824f 100644
--- a/sf_manufacturing/models/mrp_workorder.py
+++ b/sf_manufacturing/models/mrp_workorder.py
@@ -1273,11 +1273,11 @@ class ResMrpWorkOrder(models.Model):
def button_finish(self):
for record in self:
if record.routing_type == '装夹预调':
- # if not record.rfid_code and record.is_rework is False:
- # raise UserError("请扫RFID码进行绑定")
- # if record.is_rework is False:
- # if not record.material_center_point:
- # raise UserError("坯料中心点为空,请检查")
+ if not record.rfid_code and record.is_rework is False:
+ raise UserError("请扫RFID码进行绑定")
+ if record.is_rework is False:
+ if not record.material_center_point:
+ raise UserError("坯料中心点为空,请检查")
# if record.X_deviation_angle <= 0:
# raise UserError("X偏差角度小于等于0,请检查!本次计算的X偏差角度为:%s" % record.X_deviation_angle)
record.process_state = '待加工'
diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml
index a43d287b..44eadaf3 100644
--- a/sf_manufacturing/views/mrp_workorder_view.xml
+++ b/sf_manufacturing/views/mrp_workorder_view.xml
@@ -251,7 +251,7 @@
decoration-danger="tag_type == '重新加工'"/>
+ attrs="{'invisible': [('rfid_code_old', '!=', False)]}" widget='qrcode_widget' />
diff --git a/sf_mrs_connect/controllers/controllers.py b/sf_mrs_connect/controllers/controllers.py
index 1afcc1ce..c91057a7 100644
--- a/sf_mrs_connect/controllers/controllers.py
+++ b/sf_mrs_connect/controllers/controllers.py
@@ -34,21 +34,21 @@ class Sf_Mrs_Connect(http.Controller, MultiInheritController):
request.env.ref("base.user_admin")).search(domain)
if productions:
# 拉取所有加工面的程序文件
- # for r in ret['processing_panel'].split(','):
- # program_path_tmp_r = os.path.join('/tmp', ret['folder_name'], 'return', r)
- # if os.path.exists(program_path_tmp_r):
- # files_r = os.listdir(program_path_tmp_r)
- # if files_r:
- # for file_name in files_r:
- # file_path = os.path.join(program_path_tmp_r, file_name)
- # os.remove(file_path)
- # download_state = request.env['sf.cnc.processing'].with_user(
- # request.env.ref("base.user_admin")).download_file_tmp(
- # ret['folder_name'], r)
- # if download_state is False:
- # res['status'] = -2
- # res['message'] = '编程单号为%s的CNC程序文件从FTP拉取失败' % (ret['programming_no'])
- # return json.JSONEncoder().encode(res)
+ for r in ret['processing_panel'].split(','):
+ program_path_tmp_r = os.path.join('/tmp', ret['folder_name'], 'return', r)
+ if os.path.exists(program_path_tmp_r):
+ files_r = os.listdir(program_path_tmp_r)
+ if files_r:
+ for file_name in files_r:
+ file_path = os.path.join(program_path_tmp_r, file_name)
+ os.remove(file_path)
+ download_state = request.env['sf.cnc.processing'].with_user(
+ request.env.ref("base.user_admin")).download_file_tmp(
+ ret['folder_name'], r)
+ if download_state is False:
+ res['status'] = -2
+ res['message'] = '编程单号为%s的CNC程序文件从FTP拉取失败' % (ret['programming_no'])
+ return json.JSONEncoder().encode(res)
for production in productions:
for panel in ret['processing_panel'].split(','):
# 查询状态为进行中且工序类型为CNC加工的工单
@@ -65,29 +65,29 @@ class Sf_Mrs_Connect(http.Controller, MultiInheritController):
cnc_workorder_has.write(
{'cnc_ids': cnc_workorder_has.cnc_ids.sudo()._json_cnc_processing(panel, ret),
'cmm_ids': cnc_workorder_has.cmm_ids.sudo()._json_cmm_program(panel, ret)})
- # for panel in ret['processing_panel'].split(','):
- # # 查询状态为进行中且工序类型为CNC加工的工单
- # cnc_workorder = productions.workorder_ids.filtered(
- # lambda ac: ac.routing_type == 'CNC加工' and ac.state not in ['progress', 'done', 'rework'
- # 'cancel'] and ac.processing_panel == panel)
- # if cnc_workorder:
- # # program_path_tmp_panel = os.path.join('C://Users//43484//Desktop//fsdownload//test',
- # # panel)
- # program_path_tmp_panel = os.path.join('/tmp', ret['folder_name'], 'return', panel)
- # files_panel = os.listdir(program_path_tmp_panel)
- # if files_panel:
- # for file in files_panel:
- # file_extension = os.path.splitext(file)[1]
- # if file_extension.lower() == '.pdf':
- # panel_file_path = os.path.join(program_path_tmp_panel, file)
- # logging.info('panel_file_path:%s' % panel_file_path)
- # cnc_workorder.write({'cnc_worksheet': base64.b64encode(open(panel_file_path, 'rb').read())})
- # pre_workorder = productions.workorder_ids.filtered(
- # lambda ap: ap.routing_type == '装夹预调' and ap.state not in ['done', 'rework'
- # 'cancel'] and ap.processing_panel == panel)
- # if pre_workorder:
- # pre_workorder.write(
- # {'processing_drawing': base64.b64encode(open(panel_file_path, 'rb').read())})
+ for panel in ret['processing_panel'].split(','):
+ # 查询状态为进行中且工序类型为CNC加工的工单
+ cnc_workorder = productions.workorder_ids.filtered(
+ lambda ac: ac.routing_type == 'CNC加工' and ac.state not in ['progress', 'done', 'rework'
+ 'cancel'] and ac.processing_panel == panel)
+ if cnc_workorder:
+ # program_path_tmp_panel = os.path.join('C://Users//43484//Desktop//fsdownload//test',
+ # panel)
+ program_path_tmp_panel = os.path.join('/tmp', ret['folder_name'], 'return', panel)
+ files_panel = os.listdir(program_path_tmp_panel)
+ if files_panel:
+ for file in files_panel:
+ file_extension = os.path.splitext(file)[1]
+ if file_extension.lower() == '.pdf':
+ panel_file_path = os.path.join(program_path_tmp_panel, file)
+ logging.info('panel_file_path:%s' % panel_file_path)
+ cnc_workorder.write({'cnc_worksheet': base64.b64encode(open(panel_file_path, 'rb').read())})
+ pre_workorder = productions.workorder_ids.filtered(
+ lambda ap: ap.routing_type == '装夹预调' and ap.state not in ['done', 'rework'
+ 'cancel'] and ap.processing_panel == panel)
+ if pre_workorder:
+ pre_workorder.write(
+ {'processing_drawing': base64.b64encode(open(panel_file_path, 'rb').read())})
productions.write({'programming_state': '已编程', 'work_state': '已编程'})
logging.info('已更新制造订单编程状态:%s' % productions.ids)
res.update({