no message

main
HUOJIN\92525 2026-03-19 21:48:39 +08:00
parent ad73ee2324
commit 99ee0a23eb
3 changed files with 32 additions and 21 deletions

View File

@ -63,11 +63,11 @@ public interface AgvTaskMapper extends BaseMapper<AgvTask> {
List<AgvTask> queryAgvTaskList(@Param("status") Integer status, @Param("agvVendor") String agvVendor); 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);
/** /**
* IDAGV * IDAGV

View File

@ -64,24 +64,6 @@
order by agv.id order by agv.id
</select> </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 id="pointTaskCountMap" resultType="java.util.Map">
SELECT SELECT
bp.point_code, bp.point_code,
@ -146,4 +128,14 @@
AND bp.iz_active = 1 AND bp.iz_active = 1
ORDER BY bp.col_num ORDER BY bp.col_num
</select> </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> </mapper>

View File

@ -8,6 +8,7 @@ import org.cpte.modules.agvTask.entity.AgvTask;
import org.cpte.modules.agvTask.mapper.AgvTaskMapper; import org.cpte.modules.agvTask.mapper.AgvTaskMapper;
import org.cpte.modules.agvTask.service.IAgvTaskService; import org.cpte.modules.agvTask.service.IAgvTaskService;
import org.cpte.modules.base.entity.*; import org.cpte.modules.base.entity.*;
import org.cpte.modules.base.mapper.PointMapper;
import org.cpte.modules.base.service.IPointService; import org.cpte.modules.base.service.IPointService;
import org.cpte.modules.constant.enums.*; import org.cpte.modules.constant.enums.*;
import org.cpte.modules.conveyorLine.vo.Station; import org.cpte.modules.conveyorLine.vo.Station;
@ -46,6 +47,9 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements IT
@Autowired @Autowired
private AgvTaskMapper agvTaskMapper; private AgvTaskMapper agvTaskMapper;
@Autowired
private PointMapper pointMapper;
@Autowired @Autowired
private IPointService pointService; private IPointService pointService;
@ -272,7 +276,22 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements IT
//当前所有工作站正在执行的任务 //当前所有工作站正在执行的任务
Map<String, String> workStationTaskMap = getWorkStationTaskMap(); 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) { 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()); Point fromPoint = fromPointMap.get(task.getFromPointId());
//出库单 //出库单