diff --git a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/agvTask/entity/AgvTask.java b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/agvTask/entity/AgvTask.java index a1146eb..b5975ef 100644 --- a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/agvTask/entity/AgvTask.java +++ b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/agvTask/entity/AgvTask.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.sql.Timestamp; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -66,6 +67,9 @@ public class AgvTask implements Serializable { @JsonSerialize(using = ToStringSerializer.class) private java.lang.Long itemId; + @TableField(exist = false) + private String itemCode; + /** * 柜号 */ diff --git a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/agvTask/mapper/AgvTaskMapper.java b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/agvTask/mapper/AgvTaskMapper.java index d547b6d..aac4c69 100644 --- a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/agvTask/mapper/AgvTaskMapper.java +++ b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/agvTask/mapper/AgvTaskMapper.java @@ -74,5 +74,12 @@ public interface AgvTaskMapper extends BaseMapper { @Select(value = "select end_code,count(end_code) from data_agv_task where type='OUTBOUND' and status in (1,2) and agv_vendor='TES' group by end_code") List> pointTaskCountMap(); + List queryIsExecuteAgvTask(); + + /** + * 查询正在执行的AGV任务前5个 + */ + @Select(value = "select * from data_agv_task where type in ('INBOUND','OUTBOUND') and status=2 LIMIT 5") + List queryExecuteTopFive(); } diff --git a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/dashboard/controller/DashBoardController.java b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/dashboard/controller/DashBoardController.java index 68c0e61..dd5f683 100644 --- a/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/dashboard/controller/DashBoardController.java +++ b/cpte-boot-module/cpte-module-wms/src/main/java/org/cpte/modules/dashboard/controller/DashBoardController.java @@ -12,7 +12,11 @@ import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; 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.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.inventory.mapper.InventoryMapper; import org.cpte.modules.receive.mapper.AsnDetailMapper; @@ -51,6 +55,12 @@ public class DashBoardController { @Autowired private TaskMapper taskMapper; + @Autowired + private AgvTaskMapper agvTaskMapper; + + @Autowired + private IItemService itemService; + @GetMapping("/getChartCardList") public Result getChartCardList() { JSONArray jsonArray = new JSONArray(); @@ -99,4 +109,19 @@ public class DashBoardController { return Result.OK(outAndInDataList); } + @GetMapping("/queryExecuteTopFive") + public Result> queryExecuteTopFive() { + //前5条执行中的AGV任务 + List agvTasks = agvTaskMapper.queryExecuteTopFive(); + List itemIds=agvTasks.stream().map(AgvTask::getItemId).distinct().toList(); + Map 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); + } + }