no message

main
HUOJIN\92525 2026-02-04 15:49:58 +08:00
parent 952351f951
commit 118ac65dcb
4 changed files with 45 additions and 16 deletions

View File

@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.cpte.modules.agvTask.entity.AgvTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.cpte.modules.dashboard.vo.WorkstationTask;
import java.util.List;
import java.util.Map;
@ -78,9 +79,7 @@ public interface AgvTaskMapper extends BaseMapper<AgvTask> {
List<Map<String, Object>> pointTaskMap();
/**
* AGV5
* -
*/
@Select(value = "select * from data_agv_task where type in ('INBOUND','OUTBOUND') and status=2 LIMIT 5")
List<AgvTask> queryExecuteTopFive();
List<WorkstationTask> queryWorkstationTask();
}

View File

@ -50,4 +50,26 @@
GROUP BY bp.point_code
ORDER BY bp.point_code
</select>
<select id="queryWorkstationTask" resultType="org.cpte.modules.dashboard.vo.WorkstationTask">
SELECT
bp.point_code as workstation,
GROUP_CONCAT(DISTINCT CONCAT(item.item_code) ORDER BY item.item_code SEPARATOR ', ') as taskName,
COUNT(DISTINCT agv.carrier_code) as taskCount,
CASE
WHEN COUNT(DISTINCT agv.carrier_code) > 0 THEN '执行中'
ELSE '空闲'
END as taskStatus
FROM base_area ba
JOIN base_point bp ON bp.area_id = ba.id
LEFT JOIN data_agv_task agv ON agv.end_code = bp.point_code
AND agv.type = 'OUTBOUND'
AND agv.status in (1,2)
AND agv.agv_vendor = 'TES'
LEFT JOIN base_item item on item.id = agv.item_id
WHERE ba.area_code = 'CK_DOCK'
AND bp.iz_active = 1
GROUP BY bp.point_code
ORDER BY bp.point_code
</select>
</mapper>

View File

@ -18,6 +18,7 @@ import org.cpte.modules.base.entity.Item;
import org.cpte.modules.base.mapper.ItemMapper;
import org.cpte.modules.base.service.IItemService;
import org.cpte.modules.dashboard.vo.OutAndInData;
import org.cpte.modules.dashboard.vo.WorkstationTask;
import org.cpte.modules.inventory.mapper.InventoryMapper;
import org.cpte.modules.receive.mapper.AsnDetailMapper;
import org.cpte.modules.receive.mapper.ReceiveRecordMapper;
@ -109,18 +110,10 @@ public class DashBoardController {
return Result.OK(outAndInDataList);
}
@GetMapping("/queryExecuteTopFive")
public Result<List<AgvTask>> queryExecuteTopFive() {
//前5条执行中的AGV任务
List<AgvTask> agvTasks = agvTaskMapper.queryExecuteTopFive();
List<Long> itemIds=agvTasks.stream().map(AgvTask::getItemId).distinct().toList();
Map<Long, Item> itemMap=itemService.queryByItemIdsToMap(itemIds);
for (AgvTask agvTask : agvTasks){
Item item=itemMap.get(agvTask.getItemId());
if(item!=null){
agvTask.setItemCode(item.getItemCode());
}
}
@GetMapping("/queryWorkstationTask")
public Result<List<WorkstationTask>> queryWorkstationTask() {
//出库工作站任务列表
List<WorkstationTask> agvTasks = agvTaskMapper.queryWorkstationTask();
return Result.OK(agvTasks);
}

View File

@ -0,0 +1,15 @@
package org.cpte.modules.dashboard.vo;
import lombok.Data;
@Data
public class WorkstationTask {
//工作站
private String workstation;
//任务名称
private String taskName;
//任务数量
private Integer taskCount;
//任务状态
private String taskStatus;
}