no message
parent
952351f951
commit
118ac65dcb
|
|
@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
import org.cpte.modules.agvTask.entity.AgvTask;
|
import org.cpte.modules.agvTask.entity.AgvTask;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.cpte.modules.dashboard.vo.WorkstationTask;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -78,9 +79,7 @@ public interface AgvTaskMapper extends BaseMapper<AgvTask> {
|
||||||
List<Map<String, Object>> pointTaskMap();
|
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<WorkstationTask> queryWorkstationTask();
|
||||||
List<AgvTask> queryExecuteTopFive();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,4 +50,26 @@
|
||||||
GROUP BY bp.point_code
|
GROUP BY bp.point_code
|
||||||
ORDER BY bp.point_code
|
ORDER BY bp.point_code
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
@ -18,6 +18,7 @@ import org.cpte.modules.base.entity.Item;
|
||||||
import org.cpte.modules.base.mapper.ItemMapper;
|
import org.cpte.modules.base.mapper.ItemMapper;
|
||||||
import org.cpte.modules.base.service.IItemService;
|
import org.cpte.modules.base.service.IItemService;
|
||||||
import org.cpte.modules.dashboard.vo.OutAndInData;
|
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.inventory.mapper.InventoryMapper;
|
||||||
import org.cpte.modules.receive.mapper.AsnDetailMapper;
|
import org.cpte.modules.receive.mapper.AsnDetailMapper;
|
||||||
import org.cpte.modules.receive.mapper.ReceiveRecordMapper;
|
import org.cpte.modules.receive.mapper.ReceiveRecordMapper;
|
||||||
|
|
@ -109,18 +110,10 @@ public class DashBoardController {
|
||||||
return Result.OK(outAndInDataList);
|
return Result.OK(outAndInDataList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/queryExecuteTopFive")
|
@GetMapping("/queryWorkstationTask")
|
||||||
public Result<List<AgvTask>> queryExecuteTopFive() {
|
public Result<List<WorkstationTask>> queryWorkstationTask() {
|
||||||
//前5条执行中的AGV任务
|
//出库工作站任务列表
|
||||||
List<AgvTask> agvTasks = agvTaskMapper.queryExecuteTopFive();
|
List<WorkstationTask> agvTasks = agvTaskMapper.queryWorkstationTask();
|
||||||
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());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return Result.OK(agvTasks);
|
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