|
|
|
@ -108,13 +108,11 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRe |
|
|
|
// 任务启动/出仓状态:更新起始位置
|
|
|
|
// 任务启动/出仓状态:更新起始位置
|
|
|
|
case TaskExecuteRecord.STATUS_START: |
|
|
|
case TaskExecuteRecord.STATUS_START: |
|
|
|
case TaskExecuteRecord.STATUS_OUTBIN: |
|
|
|
case TaskExecuteRecord.STATUS_OUTBIN: |
|
|
|
// taskExecuteRecord.setStartPos(agvCallBack.getCurrentPositionCode());
|
|
|
|
|
|
|
|
log.info("任务单号{}:更新起始位置为{},状态为{}", |
|
|
|
log.info("任务单号{}:更新起始位置为{},状态为{}", |
|
|
|
agvCallBack.getTaskCode(), agvCallBack.getCurrentPositionCode(), method); |
|
|
|
agvCallBack.getTaskCode(), agvCallBack.getCurrentPositionCode(), method); |
|
|
|
break; |
|
|
|
break; |
|
|
|
// 任务结束状态:更新结束位置
|
|
|
|
// 任务结束状态:更新结束位置
|
|
|
|
case TaskExecuteRecord.STATUS_END: |
|
|
|
case TaskExecuteRecord.STATUS_END: |
|
|
|
// taskExecuteRecord.setEndPos(agvCallBack.getCurrentPositionCode());
|
|
|
|
|
|
|
|
log.info("任务单号{}:更新结束位置为{},状态为{}", |
|
|
|
log.info("任务单号{}:更新结束位置为{},状态为{}", |
|
|
|
agvCallBack.getTaskCode(), agvCallBack.getCurrentPositionCode(), method); |
|
|
|
agvCallBack.getTaskCode(), agvCallBack.getCurrentPositionCode(), method); |
|
|
|
break; |
|
|
|
break; |
|
|
|
@ -146,6 +144,20 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRe |
|
|
|
return R.fail("任务Task不存在"); |
|
|
|
return R.fail("任务Task不存在"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//释放虚拟货架
|
|
|
|
|
|
|
|
if(null != taskExecuteRecord.getVirtualShelvesCode()){ |
|
|
|
|
|
|
|
VirtualShelves virtualShelves = virtualShelvesService.selectByVirtualShelvesCode(taskExecuteRecord.getVirtualShelvesCode()); |
|
|
|
|
|
|
|
if(null == virtualShelves){ |
|
|
|
|
|
|
|
log.info("虚拟货架号不存在,无需释放:{}", taskExecuteRecord.getVirtualShelvesCode()); |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
virtualShelves.setIsBound(VirtualShelves.BOUND_NO); |
|
|
|
|
|
|
|
boolean update = virtualShelvesService.updateById(virtualShelves); |
|
|
|
|
|
|
|
if(update){ |
|
|
|
|
|
|
|
log.info("虚拟货架号释放成功:{}", taskExecuteRecord.getVirtualShelvesCode()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info("当前Task状态为{},任务TaskCode为{}", task.getTaskStatus(),agvCallBack.getTaskCode()); |
|
|
|
log.info("当前Task状态为{},任务TaskCode为{}", task.getTaskStatus(),agvCallBack.getTaskCode()); |
|
|
|
//状态为暂存 需要调用
|
|
|
|
//状态为暂存 需要调用
|
|
|
|
@ -276,7 +288,7 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRe |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public boolean inboundRecord(AgvSchedulingTaskVO agvSchedulingTaskVO, Task task) { |
|
|
|
public boolean inboundRecord(AgvSchedulingTaskVO agvSchedulingTaskVO, Task task,String virtualShelvesCode) { |
|
|
|
if(null == agvSchedulingTaskVO ){ |
|
|
|
if(null == agvSchedulingTaskVO ){ |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -290,6 +302,7 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRe |
|
|
|
taskExecuteRecord.setTaskCode(agvSchedulingTaskVO.getTaskCode()); |
|
|
|
taskExecuteRecord.setTaskCode(agvSchedulingTaskVO.getTaskCode()); |
|
|
|
taskExecuteRecord.setStartPos(agvSchedulingTaskVO.getStartPos()); |
|
|
|
taskExecuteRecord.setStartPos(agvSchedulingTaskVO.getStartPos()); |
|
|
|
taskExecuteRecord.setEndPos(agvSchedulingTaskVO.getEndPos()); |
|
|
|
taskExecuteRecord.setEndPos(agvSchedulingTaskVO.getEndPos()); |
|
|
|
|
|
|
|
taskExecuteRecord.setVirtualShelvesCode(virtualShelvesCode); |
|
|
|
int insert = baseMapper.insert(taskExecuteRecord); |
|
|
|
int insert = baseMapper.insert(taskExecuteRecord); |
|
|
|
return insert > 0; |
|
|
|
return insert > 0; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -370,7 +383,7 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRe |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 7. 添加入库记录
|
|
|
|
// 7. 添加入库记录
|
|
|
|
boolean record = inboundRecord(ctuSchedulingTask, task); |
|
|
|
boolean record = inboundRecord(ctuSchedulingTask, task,null); |
|
|
|
if(!record){ |
|
|
|
if(!record){ |
|
|
|
log.error("添加入库记录失败,taskCode:{}", taskCode); |
|
|
|
log.error("添加入库记录失败,taskCode:{}", taskCode); |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
@ -563,7 +576,7 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRe |
|
|
|
log.info("AGV调度成功,taskCode:{},from:{},to:{}", |
|
|
|
log.info("AGV调度成功,taskCode:{},from:{},to:{}", |
|
|
|
taskCode, location.getLocationCode(), station.getStationCode()); |
|
|
|
taskCode, location.getLocationCode(), station.getStationCode()); |
|
|
|
|
|
|
|
|
|
|
|
// todo 更新任务状态
|
|
|
|
// 更新任务状态
|
|
|
|
task.setTaskStatus(Task.STATUS_CONVEYOR_END); |
|
|
|
task.setTaskStatus(Task.STATUS_CONVEYOR_END); |
|
|
|
boolean taskUpdate = taskService.updateById(task); |
|
|
|
boolean taskUpdate = taskService.updateById(task); |
|
|
|
if (!taskUpdate) { |
|
|
|
if (!taskUpdate) { |
|
|
|
@ -615,6 +628,9 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRe |
|
|
|
); |
|
|
|
); |
|
|
|
if (!shelves) { |
|
|
|
if (!shelves) { |
|
|
|
throw new ServiceException("站点绑定虚拟货架失败"); |
|
|
|
throw new ServiceException("站点绑定虚拟货架失败"); |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
virtualShelves.setIsBound(VirtualShelves.BOUND_YES); |
|
|
|
|
|
|
|
virtualShelvesService.updateById(virtualShelves); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 调用AGV
|
|
|
|
// 调用AGV
|
|
|
|
@ -634,7 +650,7 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl<TaskExecuteRe |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
boolean record = inboundRecord(agvSchedulingTaskVO, task); |
|
|
|
boolean record = inboundRecord(agvSchedulingTaskVO, task,virtualShelves.getVirtualShelvesCode()); |
|
|
|
if (!record) { |
|
|
|
if (!record) { |
|
|
|
throw new ServiceException("入库记录保存失败"); |
|
|
|
throw new ServiceException("入库记录保存失败"); |
|
|
|
} |
|
|
|
} |
|
|
|
|