no message
parent
952351f951
commit
118ac65dcb
|
|
@ -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();
|
||||
|
||||
/**
|
||||
* 查询正在执行的AGV任务前5个
|
||||
* 每个出库工作站当前任务-首页展示
|
||||
*/
|
||||
@Select(value = "select * from data_agv_task where type in ('INBOUND','OUTBOUND') and status=2 LIMIT 5")
|
||||
List<AgvTask> queryExecuteTopFive();
|
||||
|
||||
List<WorkstationTask> queryWorkstationTask();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
Loading…
Reference in New Issue