优化工件配送

This commit is contained in:
jinling.yang
2024-04-26 13:57:47 +08:00
parent 1293c327c6
commit 41e551fe48
6 changed files with 24 additions and 26 deletions

View File

@@ -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: