Merge branch 'feature/制造、工单优化' into feature/工单rfid优化
This commit is contained in:
@@ -151,6 +151,12 @@ class JdEclp(models.Model):
|
|||||||
_logger.info('准备调接口1')
|
_logger.info('准备调接口1')
|
||||||
url1 = config['bfm_url_new'] + '/api/create/jd/order'
|
url1 = config['bfm_url_new'] + '/api/create/jd/order'
|
||||||
requests.post(url1, json=json1, data=None)
|
requests.post(url1, json=json1, data=None)
|
||||||
|
# ===============修改销售订单状态为【物流中】===================
|
||||||
|
item = self.env['sale.order'].sudo().search([('name', '=', self.origin)])
|
||||||
|
if not item:
|
||||||
|
raise ValidationError('没有查询到订单号为【%s】的销售订单!' % self.origin)
|
||||||
|
else:
|
||||||
|
item.write({'state': 'physical_distribution'})
|
||||||
_logger.info('调用成功1')
|
_logger.info('调用成功1')
|
||||||
_logger.info('准备调接口2')
|
_logger.info('准备调接口2')
|
||||||
json2 = {
|
json2 = {
|
||||||
|
|||||||
@@ -1423,8 +1423,7 @@ class ResMrpWorkOrder(models.Model):
|
|||||||
len(done_workorder) == len(record.production_id.workorder_ids)):
|
len(done_workorder) == len(record.production_id.workorder_ids)):
|
||||||
is_production_id = True
|
is_production_id = True
|
||||||
if record.routing_type in ['解除装夹'] or (
|
if record.routing_type in ['解除装夹'] or (
|
||||||
record.is_rework is True and record.routing_type in ['装夹预调']) or (
|
record.is_rework is True and record.routing_type in ['装夹预调']):
|
||||||
record.test_results in ['返工', '报废'] and record.routing_type in ['CNC加工']):
|
|
||||||
for workorder in record.production_id.workorder_ids:
|
for workorder in record.production_id.workorder_ids:
|
||||||
if workorder.processing_panel == record.processing_panel:
|
if workorder.processing_panel == record.processing_panel:
|
||||||
rfid_code = workorder.rfid_code
|
rfid_code = workorder.rfid_code
|
||||||
|
|||||||
@@ -85,7 +85,8 @@ class ReworkWizard(models.TransientModel):
|
|||||||
# 2、当FM工单在CNC工单进行选择返工,并将已全部完成的ZM面工序全部勾选上时,FM工单上所有的已完成的工单(装夹预调工单)也必须进行勾选
|
# 2、当FM工单在CNC工单进行选择返工,并将已全部完成的ZM面工序全部勾选上时,FM工单上所有的已完成的工单(装夹预调工单)也必须进行勾选
|
||||||
if not wk_ids.filtered(lambda wk: wk.name == '装夹预调' and wk.processing_panel == panel):
|
if not wk_ids.filtered(lambda wk: wk.name == '装夹预调' and wk.processing_panel == panel):
|
||||||
if wk_ids.filtered(lambda wk: wk.name == 'CNC加工' and wk.processing_panel == panel):
|
if wk_ids.filtered(lambda wk: wk.name == 'CNC加工' and wk.processing_panel == panel):
|
||||||
sequence_max = wk_ids.filtered(lambda wk: wk.name == 'CNC加工' and wk.processing_panel == panel).sequence
|
sequence_max = wk_ids.filtered(
|
||||||
|
lambda wk: wk.name == 'CNC加工' and wk.processing_panel == panel).sequence
|
||||||
for wk_id in wk_ids.filtered(lambda wk: wk.sequence < sequence_max):
|
for wk_id in wk_ids.filtered(lambda wk: wk.sequence < sequence_max):
|
||||||
if len(wk_ids.filtered(lambda wk: wk.processing_panel == wk_id.processing_panel)) == 3:
|
if len(wk_ids.filtered(lambda wk: wk.processing_panel == wk_id.processing_panel)) == 3:
|
||||||
raise ValidationError(
|
raise ValidationError(
|
||||||
@@ -114,19 +115,17 @@ class ReworkWizard(models.TransientModel):
|
|||||||
else:
|
else:
|
||||||
raise ValidationError('请选择返工工单!!!')
|
raise ValidationError('请选择返工工单!!!')
|
||||||
if rework_workorder_ids:
|
if rework_workorder_ids:
|
||||||
clamp_workorder_ids = None
|
# 限制
|
||||||
if rework_workorder_ids:
|
# 1、单独返工CNC工单则不解绑托盘RFID,如单独返工装夹预调工单,则自动解绑托盘RFID;
|
||||||
# 限制
|
# 2、返工CNC工单和装夹预调工单则自动解绑RFID
|
||||||
# 1、单独返工CNC工单则不解绑托盘RFID,如单独返工装夹预调工单,则自动解绑托盘RFID;
|
clamp_workorder_ids = rework_workorder_ids.filtered(lambda rp: rp.routing_type == '装夹预调')
|
||||||
# 2、返工CNC工单和装夹预调工单则自动解绑RFID
|
if clamp_workorder_ids:
|
||||||
clamp_workorder_ids = rework_workorder_ids.filtered(lambda rp: rp.routing_type == '装夹预调')
|
for clamp_workorder_id in clamp_workorder_ids:
|
||||||
if clamp_workorder_ids:
|
self.production_id.workorder_ids.filtered(
|
||||||
for clamp_workorder_id in clamp_workorder_ids:
|
lambda wk: wk.processing_panel == clamp_workorder_id.processing_panel).write(
|
||||||
self.production_id.workorder_ids.filtered(
|
{'rfid_code': None})
|
||||||
lambda wk: wk.processing_panel == clamp_workorder_id.processing_panel).write(
|
# 返工工单状态设置为【返工】
|
||||||
{'rfid_code': None})
|
rework_workorder_ids.write({'state': 'rework'})
|
||||||
# 返工工单状态设置为【返工】
|
|
||||||
rework_workorder_ids.write({'state': 'rework'})
|
|
||||||
# 查询返工工单对应的工艺设计记录,并调用方法拼接数据,用于创建新的工单
|
# 查询返工工单对应的工艺设计记录,并调用方法拼接数据,用于创建新的工单
|
||||||
workorders_values = []
|
workorders_values = []
|
||||||
for work in rework_workorder_ids:
|
for work in rework_workorder_ids:
|
||||||
@@ -147,6 +146,11 @@ class ReworkWizard(models.TransientModel):
|
|||||||
new_pre_workorder_ids = self.production_id.workorder_ids.filtered(
|
new_pre_workorder_ids = self.production_id.workorder_ids.filtered(
|
||||||
lambda kw: kw.routing_type == '装夹预调' and kw.sequence == 0)
|
lambda kw: kw.routing_type == '装夹预调' and kw.sequence == 0)
|
||||||
self.production_id._reset_work_order_sequence()
|
self.production_id._reset_work_order_sequence()
|
||||||
|
# ====新工单绑定rfid===
|
||||||
|
for new_work_id in new_work_ids:
|
||||||
|
if new_work_id.routing_type in ['CNC加工', '解除装夹']:
|
||||||
|
new_work_id.write({'rfid_code': self.production_id.workorder_ids.filtered(
|
||||||
|
lambda wk: wk.sequence == new_work_id.sequence - 1).rfid_code})
|
||||||
self.production_id.detection_result_ids.filtered(
|
self.production_id.detection_result_ids.filtered(
|
||||||
lambda ap1: ap1.handle_result == '待处理').write({'handle_result': '已处理'})
|
lambda ap1: ap1.handle_result == '待处理').write({'handle_result': '已处理'})
|
||||||
panels = [] # 返工的加工面
|
panels = [] # 返工的加工面
|
||||||
|
|||||||
Reference in New Issue
Block a user