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);
/**
* TES
* Tes
*
* @param endCode
* @param carrierCodes
*/
AgvTask queryByLastEndCode(@Param("endCode") String endCode);
List<AgvTask> queryByCarrierCode(@Param("carrierCodes") List<String> carrierCodes);
/**
* IDAGV

View File

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

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.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());
//出库单