1、修复feature/修复工单cnc校验bug
This commit is contained in:
@@ -33,6 +33,10 @@ class CNCprocessing(models.Model):
|
||||
"""
|
||||
根据传入的工单信息,查询是否有需要的功能刀具,如果没有则生成CAM工单程序用刀计划
|
||||
"""
|
||||
logging.info('开始进行工单cnc程序用刀校验!!!')
|
||||
logging.info(f'cnc_processing_ids:{cnc_processing_ids}')
|
||||
if not cnc_processing_ids:
|
||||
return False
|
||||
cam_id = self.env['sf.cam.work.order.program.knife.plan']
|
||||
production_ids = [] # 制造订单集
|
||||
datas = {'缺刀': {}, '无效刀': {}} # 缺刀/无效刀集
|
||||
@@ -45,7 +49,7 @@ class CNCprocessing(models.Model):
|
||||
datas['无效刀'].update({production_name: {processing_panel: []}})
|
||||
production_ids.append(cnc_processing.workorder_id.production_id)
|
||||
else:
|
||||
if processing_panel not in list[datas['缺刀'].get(production_name).keys()]:
|
||||
if processing_panel not in list(datas['缺刀'].get(production_name).keys()):
|
||||
datas['缺刀'].get(production_name).update({processing_panel: []})
|
||||
datas['无效刀'].get(production_name).update({processing_panel: []})
|
||||
# ======================================
|
||||
@@ -74,8 +78,9 @@ class CNCprocessing(models.Model):
|
||||
# 创建CAM申请装刀记录
|
||||
cam_id.create_cam_work_plan(cnc_processing)
|
||||
logging.info('成功调用CAM工单程序用刀计划创建方法!!!')
|
||||
logging.info(datas)
|
||||
logging.info(f'datas:{datas}')
|
||||
for production_id in production_ids:
|
||||
logging.info(f'production_id: {production_id}')
|
||||
if production_id:
|
||||
data1 = datas['无效刀'].get(production_id.name) # data1: {'加工面1': [], ...}
|
||||
data2 = datas['缺刀'].get(production_id.name) # data2: {'加工面1': [], ...}
|
||||
@@ -90,6 +95,7 @@ class CNCprocessing(models.Model):
|
||||
tool_state_remark1 = f'{key}无效刀:{data1.get(key)}'
|
||||
# 无效刀处理逻辑
|
||||
# 1、创建制造订单无效刀检测结果记录
|
||||
logging.info('创建制造订单无效刀检测结果记录!')
|
||||
production_id.detection_result_ids.create({
|
||||
'production_id': production_id.id,
|
||||
'processing_panel': key,
|
||||
@@ -100,9 +106,9 @@ class CNCprocessing(models.Model):
|
||||
'handle_result': '待处理'
|
||||
})
|
||||
# 2、将制造订单状态改为返工
|
||||
production_id.write({
|
||||
'state': 'rework'
|
||||
})
|
||||
# production_id.write({
|
||||
# 'state': 'rework'
|
||||
# })
|
||||
# 对缺刀信息进行处理
|
||||
if tool_state_remark1 == '':
|
||||
for key in data2:
|
||||
@@ -112,6 +118,7 @@ class CNCprocessing(models.Model):
|
||||
else:
|
||||
tool_state_remark2 = f'{key}缺刀:{data2.get(key)}'
|
||||
# 将备注信息存入制造订单功能刀具状态的备注字段
|
||||
logging.info('修改制造订单功能刀具状态的备注字段')
|
||||
if production_id.tool_state_remark2 == '':
|
||||
production_id.write({
|
||||
'tool_state_remark': tool_state_remark2,
|
||||
@@ -122,6 +129,7 @@ class CNCprocessing(models.Model):
|
||||
'tool_state_remark': tool_state_remark2,
|
||||
'tool_state_remark2': f'{production_id.tool_state_remark1}\n{tool_state_remark1}'
|
||||
})
|
||||
logging.info('工单cnc程序用刀校验已完成!')
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, vals):
|
||||
|
||||
Reference in New Issue
Block a user