From 024bbae458e2ae9bf785fe38472100f52d9f6946 Mon Sep 17 00:00:00 2001 From: liyuqi Date: Fri, 13 Jun 2025 09:08:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dev_wms_client/src/api/job.js | 13 + dev_wms_client/src/constant/options.js | 22 ++ dev_wms_client/src/layout/job.vue | 274 ++++++++++++++++++ dev_wms_client/src/router/index.js | 1 + .../controller/wms/JobController.java | 21 +- .../wms_main/model/dto/query/JobQuery.java | 48 +++ .../java/com/wms_main/model/vo/wms/JobVo.java | 67 +++++ .../controller/IJobControllerService.java | 6 + .../serviceImpl/JobControllerServiceImpl.java | 36 +++ 9 files changed, 484 insertions(+), 4 deletions(-) create mode 100644 dev_wms_client/src/api/job.js create mode 100644 dev_wms_client/src/layout/job.vue create mode 100644 dev_wms_serve/src/main/java/com/wms_main/model/dto/query/JobQuery.java create mode 100644 dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/JobVo.java diff --git a/dev_wms_client/src/api/job.js b/dev_wms_client/src/api/job.js new file mode 100644 index 0000000..3650b41 --- /dev/null +++ b/dev_wms_client/src/api/job.js @@ -0,0 +1,13 @@ +import request from "@/http/request"; + +const getJobsByPage = (params) => { + return request({ + url: '/job/queryJobInfoByPage', + method: 'post', + data: params + }) +} + +export { + getJobsByPage +} \ No newline at end of file diff --git a/dev_wms_client/src/constant/options.js b/dev_wms_client/src/constant/options.js index 37cd769..9d6597c 100644 --- a/dev_wms_client/src/constant/options.js +++ b/dev_wms_client/src/constant/options.js @@ -322,4 +322,26 @@ export const equipmentStatusOptions = [ value: 1, label: '可用' } +] +// 定时器类型枚举 +export const timerTypeOptions = [ + { + value: 1, + label: '普通定时器' + }, + { + value: 2, + label: 'Cron表达式' + } +] +// 任务状态枚举 +export const jobStatusOptions = [ + { + value: 0, + label: '不生效' + }, + { + value: 1, + label: '生效' + } ] \ No newline at end of file diff --git a/dev_wms_client/src/layout/job.vue b/dev_wms_client/src/layout/job.vue new file mode 100644 index 0000000..b849623 --- /dev/null +++ b/dev_wms_client/src/layout/job.vue @@ -0,0 +1,274 @@ + + + + \ 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 2b60c69..d8f5a4c 100644 --- a/dev_wms_client/src/router/index.js +++ b/dev_wms_client/src/router/index.js @@ -38,6 +38,7 @@ const routes = [ {path: '/kittingRelation', component: () => import('@/layout/kittingRelation.vue')},// 对应关系 {path: '/imageTable', component: () => import('@/layout/ImageTable.vue')}, {path: '/equipment', component: () => import('@/layout/equipment.vue')}, + {path: '/job', component: () => import('@/layout/job.vue')}, ] }, { diff --git a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/JobController.java b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/JobController.java index 0e0f9ed..37812ca 100644 --- a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/JobController.java +++ b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/JobController.java @@ -1,10 +1,12 @@ package com.wms_main.controller.wms; +import com.wms_main.model.dto.query.JobQuery; +import com.wms_main.model.dto.response.wms.WmsApiResponse; +import com.wms_main.model.vo.wms.JobVo; +import com.wms_main.model.vo.wms.PageVo; +import com.wms_main.service.controller.IJobControllerService; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * 定时类控制类 @@ -15,4 +17,15 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor @RequestMapping("/wms/job") public class JobController { + private final IJobControllerService jobControllerService; + + /** + * 查询堆垛机信息 + * @param jobQuery 查询参数 + * @return 查询结果 + */ + @PostMapping("/queryJobInfoByPage") + public WmsApiResponse> queryJobInfoByPage(@RequestBody JobQuery jobQuery) { + return jobControllerService.queryJobInfoByPage(jobQuery); + } } diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/JobQuery.java b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/JobQuery.java new file mode 100644 index 0000000..154db76 --- /dev/null +++ b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/JobQuery.java @@ -0,0 +1,48 @@ +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; + +@EqualsAndHashCode(callSuper = true) +@Data +@AllArgsConstructor +@NoArgsConstructor +public class JobQuery extends PageQuery { + /** + * 任务名 + */ + @JsonProperty(value = "jobName") + private String jobName; + /** + * 任务类class + */ + @JsonProperty(value = "jobClass") + private String jobClass; + /** + * cron表达式 + */ + @JsonProperty(value = "cronExpression") + private String cronExpression; + /** + * 普通定时器---单位:毫秒。 + */ + @JsonProperty(value = "timer") + private Integer timer; + /** + * timer类型 + * 1: 普通定时器 + * 2:cron + */ + @JsonProperty(value = "timerType") + private Integer timerType; + /** + * 任务状态 + * 1:启用 + * 0:未启用 + */ + @JsonProperty(value = "jobStatus") + private Integer jobStatus; +} diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/JobVo.java b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/JobVo.java new file mode 100644 index 0000000..c99e181 --- /dev/null +++ b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/JobVo.java @@ -0,0 +1,67 @@ +package com.wms_main.model.vo.wms; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.wms_main.model.po.TAppJobs; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class JobVo { + /** + * 任务名 + */ + @JsonProperty(value = "jobName") + private String jobName; + /** + * 任务类class + */ + @JsonProperty(value = "jobClass") + private String jobClass; + /** + * cron表达式 + */ + @JsonProperty(value = "cronExpression") + private String cronExpression; + /** + * 普通定时器---单位:毫秒。 + */ + @JsonProperty(value = "timer") + private Integer timer; + /** + * timer类型 + * 1: 普通定时器 + * 2:cron + */ + @JsonProperty(value = "timerType") + private Integer timerType; + /** + * 任务状态 + * 1:启用 + * 0:未启用 + */ + @JsonProperty(value = "jobStatus") + private Integer jobStatus; + + /** + * 将po对象转换为vo对象 + * @param po po对象 + * @return vo + */ + public static JobVo of(TAppJobs po) { + if (po == null) { + return new JobVo(); + } + // 返回vo + return new JobVo( + po.getJobName(), + po.getJobClass(), + po.getCronExpression(), + po.getTimer(), + po.getTimerType(), + po.getJobStatus() + ); + } +} diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/IJobControllerService.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/IJobControllerService.java index 4f6d9af..ba9f5a7 100644 --- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/IJobControllerService.java +++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/IJobControllerService.java @@ -1,4 +1,10 @@ package com.wms_main.service.controller; +import com.wms_main.model.dto.query.JobQuery; +import com.wms_main.model.dto.response.wms.WmsApiResponse; +import com.wms_main.model.vo.wms.JobVo; +import com.wms_main.model.vo.wms.PageVo; + public interface IJobControllerService { + WmsApiResponse> queryJobInfoByPage(JobQuery jobQuery); } diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/JobControllerServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/JobControllerServiceImpl.java index 297dd42..eec664a 100644 --- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/JobControllerServiceImpl.java +++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/JobControllerServiceImpl.java @@ -1,8 +1,44 @@ 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.ITAppJobsService; +import com.wms_main.model.dto.query.EquipmentQuery; +import com.wms_main.model.dto.query.JobQuery; +import com.wms_main.model.dto.response.wms.WmsApiResponse; +import com.wms_main.model.po.TAppEquipment; +import com.wms_main.model.po.TAppJobs; +import com.wms_main.model.vo.wms.EquipmentVo; +import com.wms_main.model.vo.wms.JobVo; +import com.wms_main.model.vo.wms.PageVo; +import com.wms_main.repository.utils.StringUtils; import com.wms_main.service.controller.IJobControllerService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @Service +@RequiredArgsConstructor +@Slf4j public class JobControllerServiceImpl implements IJobControllerService { + private final ITAppJobsService jobsService; + + @Override + public WmsApiResponse> queryJobInfoByPage(JobQuery jobQuery) { + if (jobQuery == null) { + return WmsApiResponse.error("查询参数不能为NULL", null); + } + Page page = jobQuery.toMpPage(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper() + .like(StringUtils.isNotEmpty(jobQuery.getJobName()), TAppJobs::getJobName, jobQuery.getJobName()) + .like(StringUtils.isNotEmpty(jobQuery.getJobClass()), TAppJobs::getJobClass, jobQuery.getJobClass()) + .like(StringUtils.isNotEmpty(jobQuery.getCronExpression()), TAppJobs::getCronExpression, jobQuery.getCronExpression()) + .eq(jobQuery.getTimer() != null, TAppJobs::getTimer, jobQuery.getTimer()) + .eq(jobQuery.getTimerType() != null, TAppJobs::getTimerType, jobQuery.getTimerType()) + .eq(jobQuery.getJobStatus() != null, TAppJobs::getJobStatus, jobQuery.getJobStatus()); + Page poPage = jobsService.page(page, lambdaQueryWrapper); + + PageVo pageVo = PageVo.of(poPage, JobVo::of); + return WmsApiResponse.success("查询堆垛机成功", pageVo); + } }