修改扫码判断起点接驳站逻辑
This commit is contained in:
@@ -179,18 +179,14 @@ class WorkpieceDeliveryWizard(models.TransientModel):
|
|||||||
self.feeder_station_destination_id = self.route_id.end_site_id.id
|
self.feeder_station_destination_id = self.route_id.end_site_id.id
|
||||||
|
|
||||||
def on_barcode_scanned(self, barcode):
|
def on_barcode_scanned(self, barcode):
|
||||||
|
delivery_type = self.env.context.get('default_delivery_type')
|
||||||
# 判断barcode是否是数字
|
# 判断barcode是否是数字
|
||||||
if not barcode.isdigit():
|
if not barcode.isdigit():
|
||||||
# 判断是否是AGV接驳站名称
|
# 判断是否是AGV接驳站名称
|
||||||
agv_site = self.env['sf.agv.site'].search([('name', '=', barcode)])
|
agv_site = self.env['sf.agv.site'].search([('name', '=', barcode)])
|
||||||
if agv_site:
|
self.feeder_station_start_id = agv_site.id # 修正:移除 .id
|
||||||
if not self.feeder_station_start_id:
|
|
||||||
self.feeder_station_start_id = agv_site.id
|
|
||||||
else:
|
|
||||||
if self.feeder_station_start_id.id != agv_site.id:
|
|
||||||
raise UserError('起点接驳站不匹配!')
|
|
||||||
return
|
return
|
||||||
delivery_type = self.env.context.get('default_delivery_type')
|
|
||||||
if delivery_type == '上产线':
|
if delivery_type == '上产线':
|
||||||
workorder = self.env['mrp.workorder'].search(
|
workorder = self.env['mrp.workorder'].search(
|
||||||
[('production_line_state', '=', '待上产线'), ('rfid_code', '=', barcode),
|
[('production_line_state', '=', '待上产线'), ('rfid_code', '=', barcode),
|
||||||
@@ -214,7 +210,7 @@ class WorkpieceDeliveryWizard(models.TransientModel):
|
|||||||
self.production_ids |= workorder.production_id
|
self.production_ids |= workorder.production_id
|
||||||
self.workorder_ids |= workorder
|
self.workorder_ids |= workorder
|
||||||
|
|
||||||
down_product_agv_scheduling = self.get_down_product_agv_scheduling()
|
down_product_agv_scheduling = workorder.get_down_product_agv_scheduling()
|
||||||
if down_product_agv_scheduling:
|
if down_product_agv_scheduling:
|
||||||
if not self.feeder_station_start_id:
|
if not self.feeder_station_start_id:
|
||||||
self.feeder_station_start_id = down_product_agv_scheduling.end_site_id.id
|
self.feeder_station_start_id = down_product_agv_scheduling.end_site_id.id
|
||||||
@@ -226,4 +222,11 @@ class WorkpieceDeliveryWizard(models.TransientModel):
|
|||||||
raise UserError('该rfid码对应的工单不存在')
|
raise UserError('该rfid码对应的工单不存在')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@api.onchange('feeder_station_start_id')
|
||||||
|
def on_start_id_change(self):
|
||||||
|
if self.delivery_type == '运送空料架' and len(self.workorder_ids) > 0:
|
||||||
|
down_product_agv_scheduling = self.workorder_ids[0].get_down_product_agv_scheduling()
|
||||||
|
if down_product_agv_scheduling and self.feeder_station_start_id \
|
||||||
|
and down_product_agv_scheduling.end_site_id.id != self.feeder_station_start_id.id:
|
||||||
|
raise UserError('当前接驳站不匹配!')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user