From 41e551fe48e2371681be18de856f7aeac9c7c34e Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Fri, 26 Apr 2024 13:57:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B7=A5=E4=BB=B6=E9=85=8D?= =?UTF-8?q?=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/controllers/controllers.py | 5 +--- sf_manufacturing/controllers/workpiece.py | 5 ++-- sf_manufacturing/models/mrp_workorder.py | 24 +++++++------------ sf_manufacturing/views/mrp_workorder_view.xml | 8 ++++++- .../wizard/workpiece_delivery_views.xml | 2 +- sf_plan/models/custom_plan.py | 6 ++++- 6 files changed, 24 insertions(+), 26 deletions(-) diff --git a/sf_manufacturing/controllers/controllers.py b/sf_manufacturing/controllers/controllers.py index 9d05f883..33c1bb07 100644 --- a/sf_manufacturing/controllers/controllers.py +++ b/sf_manufacturing/controllers/controllers.py @@ -446,9 +446,6 @@ class Manufacturing_Connect(http.Controller): if next_workpiece: logging.info('next_workpiece:%s' % next_workpiece.delivery_num) next_workpiece.write({'status': '待下发'}) - - - else: res = {'Succeed': False, 'ErrorCode': 203, 'Error': '该DeviceId没有对应的已配送工件数据'} else: @@ -507,7 +504,7 @@ class Manufacturing_Connect(http.Controller): if delivery_workpiece: logging.info('开始向agv下发下产线任务') delivery_workpiece._delivery_avg() - logging.info('agv下发下产线任务已配送') + logging.info('agv下发下产线任务下发完成') except Exception as e: res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} logging.info('AGVDownProduct error:%s' % e) diff --git a/sf_manufacturing/controllers/workpiece.py b/sf_manufacturing/controllers/workpiece.py index 1d16af7f..d8cbabac 100644 --- a/sf_manufacturing/controllers/workpiece.py +++ b/sf_manufacturing/controllers/workpiece.py @@ -25,12 +25,11 @@ class Workpiece(http.Controller): if 'reqCode' in ret: if 'method' in ret: if ret['method'] == 'end': - logging.info('backfeed-ret:%s' % ret['reqCode'].rsplit('-', 1)[0]) req_codes = ret['reqCode'].split(',') for req_code in req_codes: workpiece_delivery = request.env['sf.workpiece.delivery'].sudo().search( - [('production_id.name', '=', ret['reqCode'].rsplit('-', 1)[0]), - ('delivery_num', '=', req_code)]) + [('production_id.name', '=', req_code.rsplit('-', 1)[0]), + ('delivery_num', '=', req_code.strip())]) if workpiece_delivery: workpiece_delivery.write({'status': '已配送', 'task_completion_time': ret['reqTime']}) else: diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 8e4b2fbe..cd1ffab5 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -990,20 +990,11 @@ class SfWorkOrderBarcodes(models.Model): def on_barcode_scanned(self, barcode): workorder = self.env['mrp.workorder'].browse(self.ids) - workorder_preset = self.env['mrp.workorder'].search( - [('routing_type', '=', '装夹预调'), ('rfid_code', '=', barcode)]) - # workorder_old = self.env['mrp.workorder'].search([('rfid_code', '=', barcode)]) - if len(workorder_preset) <= 4: - workpiece_ids = [] - for item in workorder_preset: - if item.production_line_id.id == workorder.production_line_id.id: - workpiece_ids.append(item.production_id.id) - else: - raise UserError('工件生产线不一致,请重新确认') - if workpiece_ids: - workorder.workpiece_delivery_ids.write({'sametransport_production_ids': [(6, 0, workpiece_ids)]}) - - # raise UserError('该托盘已绑定【%s】制造订单,请先解除绑定!!!' % workorder_old.production_id.name) + # workorder_preset = self.env['mrp.workorder'].search( + # [('routing_type', '=', '装夹预调'), ('rfid_code', '=', barcode)]) + workorder_old = self.env['mrp.workorder'].search([('rfid_code', '=', barcode)]) + if workorder_old: + raise UserError('该托盘已绑定【%s】制造订单,请先解除绑定!!!' % workorder_old.production_id.name) if workorder: if workorder.routing_type == '装夹预调': if workorder.state in ['done']: @@ -1200,7 +1191,6 @@ class WorkPieceDelivery(models.Model): 'podDir': '', 'materialLot': '', 'priority': '', 'taskCode': '', 'agvCode': '', 'materialLot': '', 'data': ''} try: - # config['agv_rcs_url'] = 'http://172.16.10.114:8182/rcms/services/rest/hikRpcService/genAgvSchedulingTask' logging.info('AGV请求路径:%s' % config['agv_rcs_url']) logging.info('AGV-json:%s' % res) headers = {'Content-Type': 'application/json'} @@ -1211,11 +1201,13 @@ class WorkPieceDelivery(models.Model): req_codes = ret['reqCode'].split(',') for delivery_item in self: for req_code in req_codes: - if delivery_item.delivery_num == req_code: + if delivery_item.delivery_num == req_code.strip(): + logging.info('delivery_num:%s' % delivery_item.delivery_num) delivery_item.write({ 'task_delivery_time': fields.Datetime.now(), 'status': '待配送' }) + delivery_item.workorder_id.write({'is_delivery': True}) else: raise UserError(ret['message']) except Exception as e: diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml index 7a731073..f381e481 100644 --- a/sf_manufacturing/views/mrp_workorder_view.xml +++ b/sf_manufacturing/views/mrp_workorder_view.xml @@ -608,6 +608,9 @@ sf.workpiece.delivery + + + @@ -618,6 +621,7 @@ + @@ -627,8 +631,10 @@ 工件配送 sf.workpiece.delivery + + tree,search - + diff --git a/sf_manufacturing/wizard/workpiece_delivery_views.xml b/sf_manufacturing/wizard/workpiece_delivery_views.xml index 82d89bda..a65593d7 100644 --- a/sf_manufacturing/wizard/workpiece_delivery_views.xml +++ b/sf_manufacturing/wizard/workpiece_delivery_views.xml @@ -5,7 +5,7 @@ sf.workpiece.delivery.wizard
- +
是否确定配送?