no message
parent
ad73ee2324
commit
99ee0a23eb
|
|
@ -63,11 +63,11 @@ public interface AgvTaskMapper extends BaseMapper<AgvTask> {
|
|||
List<AgvTask> queryAgvTaskList(@Param("status") Integer status, @Param("agvVendor") String agvVendor);
|
||||
|
||||
/**
|
||||
* 查询当前点位最新的TES任务
|
||||
* 根据容器查询Tes
|
||||
*
|
||||
* @param endCode 终点
|
||||
* @param carrierCodes 容器
|
||||
*/
|
||||
AgvTask queryByLastEndCode(@Param("endCode") String endCode);
|
||||
List<AgvTask> queryByCarrierCode(@Param("carrierCodes") List<String> carrierCodes);
|
||||
|
||||
/**
|
||||
* 根据业务ID查询AGV任务
|
||||
|
|
|
|||
|
|
@ -64,24 +64,6 @@
|
|||
order by agv.id
|
||||
</select>
|
||||
|
||||
<select id="queryByLastEndCode" resultType="org.cpte.modules.agvTask.entity.AgvTask">
|
||||
(SELECT * FROM data_agv_task
|
||||
WHERE start_code = #{endCode}
|
||||
AND type = 'INBOUND'
|
||||
AND agv_vendor = 'TES'
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 1)
|
||||
UNION ALL
|
||||
(SELECT * FROM data_agv_task
|
||||
WHERE end_code = #{endCode}
|
||||
AND type ='OUTBOUND'
|
||||
AND agv_vendor = 'TES'
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 1)
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="pointTaskCountMap" resultType="java.util.Map">
|
||||
SELECT
|
||||
bp.point_code,
|
||||
|
|
@ -146,4 +128,14 @@
|
|||
AND bp.iz_active = 1
|
||||
ORDER BY bp.col_num
|
||||
</select>
|
||||
|
||||
<select id="queryByCarrierCode" resultType="org.cpte.modules.agvTask.entity.AgvTask">
|
||||
SELECT * FROM data_agv_task agv
|
||||
WHERE agv.status in (1,2,3)
|
||||
AND agv.agv_vendor = 'TES'
|
||||
AND agv.carrier_code in
|
||||
<foreach collection="carrierCodes" item="carrierCode" open="(" separator="," close=")">
|
||||
#{carrierCode}
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -8,6 +8,7 @@ import org.cpte.modules.agvTask.entity.AgvTask;
|
|||
import org.cpte.modules.agvTask.mapper.AgvTaskMapper;
|
||||
import org.cpte.modules.agvTask.service.IAgvTaskService;
|
||||
import org.cpte.modules.base.entity.*;
|
||||
import org.cpte.modules.base.mapper.PointMapper;
|
||||
import org.cpte.modules.base.service.IPointService;
|
||||
import org.cpte.modules.constant.enums.*;
|
||||
import org.cpte.modules.conveyorLine.vo.Station;
|
||||
|
|
@ -46,6 +47,9 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements IT
|
|||
@Autowired
|
||||
private AgvTaskMapper agvTaskMapper;
|
||||
|
||||
@Autowired
|
||||
private PointMapper pointMapper;
|
||||
|
||||
@Autowired
|
||||
private IPointService pointService;
|
||||
|
||||
|
|
@ -272,7 +276,22 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements IT
|
|||
|
||||
//当前所有工作站正在执行的任务
|
||||
Map<String, String> workStationTaskMap = getWorkStationTaskMap();
|
||||
|
||||
//查询所有执行的任务
|
||||
List<String> stockCodeList = taskList.stream().map(Task::getStockCode).distinct().toList();
|
||||
List<AgvTask> agvTaskList = agvTaskMapper.queryByCarrierCode(stockCodeList);
|
||||
Map<String, AgvTask> agvTaskMap = agvTaskList.stream().collect(Collectors.toMap(AgvTask::getCarrierCode, agvTask -> agvTask));
|
||||
for (Task task : taskList) {
|
||||
//根据容器找执行中的Tes任务
|
||||
AgvTask agvTask = agvTaskMap.get(task.getStockCode());
|
||||
if (agvTask != null) {
|
||||
Point toPoint = pointMapper.queryByPointCode(agvTask.getEndCode());
|
||||
task.setAgvTaskId(agvTask.getId());
|
||||
task.setToPointCode(agvTask.getEndCode());
|
||||
task.setToPointId(toPoint.getId());
|
||||
continue;
|
||||
}
|
||||
|
||||
//起点
|
||||
Point fromPoint = fromPointMap.get(task.getFromPointId());
|
||||
//出库单
|
||||
|
|
|
|||
Loading…
Reference in New Issue