diff --git a/dev_wms_client/src/api/wcsTask.js b/dev_wms_client/src/api/wcsTask.js new file mode 100644 index 0000000..e4ffec0 --- /dev/null +++ b/dev_wms_client/src/api/wcsTask.js @@ -0,0 +1,9 @@ +import request from "@/http/request"; + +export const queryWcsTaskInfoByPage = (params) => { + return request({ + url: '/wcsTask/queryWcsTasksByPage', + method: 'post', + data: params + }) +} \ No newline at end of file diff --git a/dev_wms_client/src/layout/wcsTask.vue b/dev_wms_client/src/layout/wcsTask.vue new file mode 100644 index 0000000..e9b13e9 --- /dev/null +++ b/dev_wms_client/src/layout/wcsTask.vue @@ -0,0 +1,276 @@ + + + + + \ No newline at end of file diff --git a/dev_wms_client/src/router/index.js b/dev_wms_client/src/router/index.js index 25a5ff0..e8f2514 100644 --- a/dev_wms_client/src/router/index.js +++ b/dev_wms_client/src/router/index.js @@ -41,6 +41,7 @@ const routes = [ {path: '/job', component: () => import('@/layout/job.vue')}, {path: '/pickPlan', component: () => import('@/layout/pickPlan.vue')}, {path: '/pickTaskBak', component: () => import('@/layout/pickTaskBak.vue')}, + {path: '/wcsTask', component: () => import('@/layout/wcsTask.vue')}, ] }, { diff --git a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/WcsTaskController.java b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/WcsTaskController.java new file mode 100644 index 0000000..cdc031a --- /dev/null +++ b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/WcsTaskController.java @@ -0,0 +1,28 @@ +package com.wms_main.controller.wms; + +import com.wms_main.model.dto.query.WcsTaskQuery; +import com.wms_main.model.dto.response.wms.WmsApiResponse; +import com.wms_main.model.vo.wms.PageVo; +import com.wms_main.model.vo.wms.WcsTaskVo; +import com.wms_main.service.controller.IWcsTaskControllerService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +@RestController +@ResponseBody +@CrossOrigin +@RequiredArgsConstructor +@RequestMapping("/wms/wcsTask") +public class WcsTaskController { + private final IWcsTaskControllerService wcsTaskControllerService; + + /** + * 分页查询拣选计划 + * @param wcsTaskQuery 查询参数 + * @return 查询结果 + */ + @PostMapping("/queryWcsTasksByPage") + public WmsApiResponse> queryWcsTasksByPage(@RequestBody WcsTaskQuery wcsTaskQuery) { + return wcsTaskControllerService.queryWcsTaskInfoByPage(wcsTaskQuery); + } +} diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/WcsTaskQuery.java b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/WcsTaskQuery.java new file mode 100644 index 0000000..46055bb --- /dev/null +++ b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/WcsTaskQuery.java @@ -0,0 +1,71 @@ +package com.wms_main.model.dto.query; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@EqualsAndHashCode(callSuper = true) +@Data +@AllArgsConstructor +@NoArgsConstructor +public class WcsTaskQuery extends PageQuery { + /** + * wcs任务id + */ + @JsonProperty(value = "wcsTaskId") + private String wcsTaskId; + /** + * wcs任务状态 + */ + @JsonProperty(value = "wcsTaskStatus") + private Integer wcsTaskStatus; + /** + * wcs任务类型 + */ + @JsonProperty(value = "wcsTaskType") + private Integer wcsTaskType; + /** + * wcs任务优先级 + */ + @JsonProperty(value = "taskPriority") + private Integer taskPriority; + /** + * 载具号 + */ + @JsonProperty(value = "vehicleId") + private String vehicleId; + /** + * 起点 + */ + @JsonProperty(value = "origin") + private String origin; + /** + * 终点 + */ + @JsonProperty(value = "destination") + private String destination; + /** + * 创建时间 + */ + @JsonProperty(value = "createTime") + private LocalDateTime createTime; + /** + * 发送时间 + */ + @JsonProperty(value = "sendTime") + private LocalDateTime sendTime; + /** + * 完成时间 + */ + @JsonProperty(value = "finishTime") + private LocalDateTime finishTime; + /** + * 备注 + */ + @JsonProperty(value = "remark") + private String remark; +} diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/WcsTaskVo.java b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/WcsTaskVo.java index e4e4325..528547c 100644 --- a/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/WcsTaskVo.java +++ b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/WcsTaskVo.java @@ -2,6 +2,7 @@ package com.wms_main.model.vo.wms; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; +import com.wms_main.model.po.TAppWcsTask; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -79,4 +80,30 @@ public class WcsTaskVo { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String remark; + + /** + * 将TAppWcsTask转换为WcsTaskVo + * + * @param wcsTask wcs任务实体 + * @return wcs任务视图对象 + */ + public static WcsTaskVo of(TAppWcsTask wcsTask) { + if (wcsTask == null) { + return null; + } + + WcsTaskVo wcsTaskVo = new WcsTaskVo(); + wcsTaskVo.setWcsTaskId(wcsTask.getWcsTaskId()); + wcsTaskVo.setWcsTaskStatus(wcsTask.getWcsTaskStatus()); + wcsTaskVo.setWcsTaskType(wcsTask.getWcsTaskType()); + wcsTaskVo.setTaskPriority(wcsTask.getTaskPriority()); + wcsTaskVo.setVehicleId(wcsTask.getVehicleId()); + wcsTaskVo.setOrigin(wcsTask.getOrigin()); + wcsTaskVo.setDestination(wcsTask.getDestination()); + wcsTaskVo.setCreateTime(wcsTask.getCreateTime()); + wcsTaskVo.setSendTime(wcsTask.getSendTime()); + wcsTaskVo.setFinishTime(wcsTask.getFinishTime()); + wcsTaskVo.setRemark(wcsTask.getRemark()); + return wcsTaskVo; + } } diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/IWcsTaskControllerService.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/IWcsTaskControllerService.java new file mode 100644 index 0000000..3add8ae --- /dev/null +++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/IWcsTaskControllerService.java @@ -0,0 +1,10 @@ +package com.wms_main.service.controller; + +import com.wms_main.model.dto.query.WcsTaskQuery; +import com.wms_main.model.dto.response.wms.WmsApiResponse; +import com.wms_main.model.vo.wms.PageVo; +import com.wms_main.model.vo.wms.WcsTaskVo; + +public interface IWcsTaskControllerService { + WmsApiResponse> queryWcsTaskInfoByPage(WcsTaskQuery wcsTaskQuery); +} diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/WcsTaskControllerServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/WcsTaskControllerServiceImpl.java new file mode 100644 index 0000000..e1ac811 --- /dev/null +++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/WcsTaskControllerServiceImpl.java @@ -0,0 +1,39 @@ +package com.wms_main.service.controller.serviceImpl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.wms_main.dao.ITAppWcsTaskService; +import com.wms_main.model.dto.query.WcsTaskQuery; +import com.wms_main.model.dto.response.wms.WmsApiResponse; +import com.wms_main.model.po.TAppWcsTask; +import com.wms_main.model.vo.wms.PageVo; +import com.wms_main.model.vo.wms.WcsTaskVo; +import com.wms_main.repository.utils.StringUtils; +import com.wms_main.service.controller.IWcsTaskControllerService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +@Slf4j +public class WcsTaskControllerServiceImpl implements IWcsTaskControllerService { + private final ITAppWcsTaskService appWcsTaskService; + + @Override + public WmsApiResponse> queryWcsTaskInfoByPage(WcsTaskQuery wcsTaskQuery) { + if (wcsTaskQuery == null) { + return WmsApiResponse.error("查询参数不能为NULL", null); + } + Page page = wcsTaskQuery.toMpPage(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper() + .eq(StringUtils.isNotEmpty(wcsTaskQuery.getVehicleId()), TAppWcsTask::getVehicleId, wcsTaskQuery.getVehicleId()) + .eq(wcsTaskQuery.getWcsTaskStatus() != null, TAppWcsTask::getWcsTaskStatus, wcsTaskQuery.getWcsTaskStatus()) + .like(StringUtils.isNotEmpty(wcsTaskQuery.getOrigin()), TAppWcsTask::getOrigin, wcsTaskQuery.getOrigin()) + .like(StringUtils.isNotEmpty(wcsTaskQuery.getDestination()), TAppWcsTask::getDestination, wcsTaskQuery.getDestination()); + Page poPage = appWcsTaskService.page(page, lambdaQueryWrapper); + + PageVo pageVo = PageVo.of(poPage, WcsTaskVo::of); + return WmsApiResponse.success("查询wcs任务成功", pageVo); + } +}