-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dev_wms_client/src/layout/wmsConfigNew.vue b/dev_wms_client/src/layout/wmsConfigNew.vue
index bbf8770..715edf2 100644
--- a/dev_wms_client/src/layout/wmsConfigNew.vue
+++ b/dev_wms_client/src/layout/wmsConfigNew.vue
@@ -1,127 +1,142 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 编辑
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/dev_wms_client/src/layout/workSummary.vue b/dev_wms_client/src/layout/workSummary.vue
index b098f2f..d443ae0 100644
--- a/dev_wms_client/src/layout/workSummary.vue
+++ b/dev_wms_client/src/layout/workSummary.vue
@@ -793,4 +793,9 @@ const getPrintTabs = (boxSummary) => {
font-weight: bold;
text-align: left;
}
+
+.dialog-footer {
+ display: flex;
+ justify-content: center;
+}
\ 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 e386a4b..c508e66 100644
--- a/dev_wms_client/src/router/index.js
+++ b/dev_wms_client/src/router/index.js
@@ -27,6 +27,7 @@ const routes = [
{ path: '/wmsLog', component: () => import('@/layout/wmsLog.vue') },// 日志
{ path: '/workSummary', component: () => import('@/layout/workSummary.vue') },// 工作总结
{ path: '/pickTask', component: () => import('@/layout/pickTaskMonitor.vue') },// 拣选任务
+ { path: '/outsMonitor', component: () => import('@/layout/OutsMonitor.vue') },// 任务表单
{ path: '/clcKanban', component: () => import('@/layout/clcKanban.vue') },// 需求看板
{ path: '/stockUpdateRecord', component: () => import('@/layout/stockUpdateRecord.vue') },// 库存更新记录
{ path: '/roleUser', component: () => import('@/layout/role_user.vue') },// 角色——用户列表
diff --git a/dev_wms_client/src/utils/formatter.js b/dev_wms_client/src/utils/formatter.js
index 0d3702c..359b35a 100644
--- a/dev_wms_client/src/utils/formatter.js
+++ b/dev_wms_client/src/utils/formatter.js
@@ -2,7 +2,7 @@ import moment from "moment";
import { revertSeconds } from '@/utils/dateUtils'
// 时间格式化
export const timeFormatter = (date) => {
- if (date === null || date === undefined) {
+ if (date === null || date === undefined || date === '') {
return ''
}
return moment(date).format('yyyy-MM-DD HH:mm:ss');
@@ -24,13 +24,13 @@ export const dueFormatter = (date) => {
// 库位格式化
export const locationFormatter = (locationId) => {
- if (locationId === null || locationId == undefined) {
+ if (locationId === null || locationId === undefined || locationId === '') {
return ''
}
const locationArray = locationId.split('-')
- if (locationArray.length == 3) {
+ if (locationArray.length === 3) {
return locationArray[0] + '排' + locationArray[1] + '列' + locationArray[2] + '层'
- } else if (locationArray.length == 4) {
+ } else if (locationArray.length === 4) {
return locationArray[0] + '排' + locationArray[1] + '列' + locationArray[2] + '层' + locationArray[3] + '深度'
} else {
return ''
@@ -104,11 +104,11 @@ export const replaceEnglishAndNumberIGAI = (value) => {
}
// 是否格式化
export const yesOrNoFormatter = (value) => {
- return value == 1 ? '是' : '否'
+ return value === 1 ? '是' : '否'
}
// 反转是否格式化
export const converseYesOrNoFormatter = (value) => {
- return value == 0 ? '是' : '否'
+ return value === 0 ? '是' : '否'
}
// 任务类型格式化
export const wmsTaskTypeFormatter = (value) => {
@@ -160,4 +160,44 @@ export const vehicleStatusFormatter = (value) => {
default:
return '未知状态'
}
+}
+// 拣选任务状态
+export const pickTaskStatusFormatter = (value) => {
+ switch (value) {
+ case -2:
+ return '入库用'
+ case -1:
+ return '暂存中'
+ case 0:
+ return '待下发'
+ case 1:
+ return '已下发'
+ case 2:
+ return '执行中'
+ case 3:
+ return '已到达'
+ case 4:
+ return '已离开'
+ case 5:
+ return '拣选取消'
+ default:
+ return '已取消'
+ }
+}
+// 出库单类型格式化
+export const outTaskTypeFormatter = (value) => {
+ switch (value) {
+ case 1:
+ return '空箱出库'
+ case 2:
+ return '普通出库'
+ case 4:
+ return '完整出库'
+ case 5:
+ return '入库使用'
+ case 9:
+ return '紧急出库'
+ default:
+ return '未知类型'
+ }
}
\ No newline at end of file
diff --git a/dev_wms_serve/src/main/java/com/wms_main/WmsMainApplication.java b/dev_wms_serve/src/main/java/com/wms_main/WmsMainApplication.java
index 8661a7e..a1e73ed 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/WmsMainApplication.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/WmsMainApplication.java
@@ -1,13 +1,40 @@
package com.wms_main;
+import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ConfigurableApplicationContext;
+/**
+ * 系统启动类
+ */
@SpringBootApplication
public class WmsMainApplication {
+ /**
+ * 用于重启程序的上下文
+ */
+ private static ConfigurableApplicationContext context;
+
+ /**
+ * 主函数,程序的入口
+ *
+ * @param args 命令行参数,以字符串数组形式传入
+ */
public static void main(String[] args) {
- SpringApplication.run(WmsMainApplication.class, args);
+ context = SpringApplication.run(WmsMainApplication.class, args);
}
+ /**
+ * 重启程序
+ */
+ public static void restart() {
+ ApplicationArguments args = context.getBean(ApplicationArguments.class);
+ Thread thread = new Thread(() -> {
+ context.close();
+ context = SpringApplication.run(WmsMainApplication.class, args.getSourceArgs());
+ });
+ thread.setDaemon(false);
+ thread.start();
+ }
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/KateWorkController.java b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/KateWorkController.java
index bd0407d..316cd70 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/KateWorkController.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/KateWorkController.java
@@ -202,4 +202,14 @@ public class KateWorkController {
WmsApiResponse
requestPrintBoxTags(@RequestBody KateWorksQuery kateWorksQuery) {
return kateWorkControllerService.requestPrintBoxTags(kateWorksQuery);
}
+
+ /**
+ * 删除当前dbs工单计划
+ * @param dbsRequest 关闭请求
+ * @return 删除结果
+ */
+ @PostMapping("/deleteDbsPlan")
+ public BaseWmsApiResponse deleteDbsPlan(@RequestBody DbsRequest dbsRequest) {
+ return kateWorkControllerService.deleteDbsPlan(dbsRequest);
+ }
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/TaskOperationController.java b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/TaskOperationController.java
index ac5e408..c9e675d 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/TaskOperationController.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/TaskOperationController.java
@@ -1,10 +1,10 @@
package com.wms_main.controller.wms;
+import com.wms_main.model.dto.request.wms.WmsTaskRequest;
+import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
+import com.wms_main.service.controller.ITaskOperationControllerService;
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.*;
/**
* 任务操作控制类
@@ -16,4 +16,25 @@ import org.springframework.web.bind.annotation.RestController;
@RequiredArgsConstructor
@RequestMapping("/wms/taskOperation")
public class TaskOperationController {
+ private final ITaskOperationControllerService taskOperationControllerService;
+
+ /**
+ * 删除任务
+ * @param wmsTaskRequest 请求
+ * @return 结果
+ */
+ @PostMapping("/deleteWmsTask")
+ public BaseWmsApiResponse deleteWmsTask(@RequestBody WmsTaskRequest wmsTaskRequest) {
+ return taskOperationControllerService.deleteWmsTask(wmsTaskRequest);
+ }
+
+ /**
+ * 更新任务
+ * @param wmsTaskRequest 请求
+ * @return 结果
+ */
+ @PostMapping("/updateWmsTask")
+ public BaseWmsApiResponse updateWmsTask(@RequestBody WmsTaskRequest wmsTaskRequest) {
+ return taskOperationControllerService.updateWmsTask(wmsTaskRequest);
+ }
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/TaskQueryController.java b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/TaskQueryController.java
index 6f3efa1..968d469 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/TaskQueryController.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/TaskQueryController.java
@@ -1,10 +1,10 @@
package com.wms_main.controller.wms;
+import com.wms_main.model.dto.query.OutsQuery;
+import com.wms_main.model.dto.query.PickTaskQuery;
import com.wms_main.model.dto.query.WmsTaskQuery;
import com.wms_main.model.dto.response.wms.WmsApiResponse;
-import com.wms_main.model.vo.wms.PageVo;
-import com.wms_main.model.vo.wms.TaskRecordVo;
-import com.wms_main.model.vo.wms.TaskVo;
+import com.wms_main.model.vo.wms.*;
import com.wms_main.service.controller.ITaskQueryControllerService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
@@ -53,4 +53,26 @@ public class TaskQueryController {
{
return taskQueryControllerService.queryOutTaskRecordByPage(wmsTaskQuery);
}
+
+ /**
+ * Wms拣选任务分页查询
+ * @param pickTaskQuery 查询参数
+ * @return 查询结果
+ */
+ @PostMapping("/queryPickTasksByPage")
+ public WmsApiResponse> queryPickTasksByPage(@RequestBody PickTaskQuery pickTaskQuery)
+ {
+ return taskQueryControllerService.queryPickTasksByPage(pickTaskQuery);
+ }
+
+ /**
+ * 出库单分页查询
+ * @param outsQuery 查询参数
+ * @return 查询结果
+ */
+ @PostMapping("/queryOutsByPage")
+ public WmsApiResponse> queryOutsByPage(@RequestBody OutsQuery outsQuery)
+ {
+ return taskQueryControllerService.queryOutsByPage(outsQuery);
+ }
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/DbsQuery.java b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/DbsQuery.java
index 99b74e5..75d5d07 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/DbsQuery.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/DbsQuery.java
@@ -1,6 +1,7 @@
package com.wms_main.model.dto.query;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -21,59 +22,72 @@ public class DbsQuery extends PageQuery {
/**
* 主键id
*/
+ @JsonProperty("dbsId")
private String dbsId;
/**
* 工单
*/
+ @JsonProperty("workOrder")
private String workOrder;
/**
* dbs原始未处理的零件号,成品号
*/
+ @JsonProperty("productIdOrigin")
private String productIdOrigin;
/**
* 零件号,成品号
*/
+ @JsonProperty("productId")
private String productId;
/**
* 计划开始时间
*/
+ @JsonProperty("planStartDate")
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate planStartDate;
/**
* 计划产量/套
*/
+ @JsonProperty("planProduction")
private Integer planProduction;
/**
* Family
*/
+ @JsonProperty("family")
private String family;
/**
* Test No#
*/
+ @JsonProperty("testNo")
private String testNo;
/**
* 状态
*/
+ @JsonProperty("dbsStatus")
private Integer dbsStatus;
/**
* 工作站台
*/
+ @JsonProperty("workStand")
private String workStand;
/**
* 实际工作日期
*/
+ @JsonProperty("realWorkDate")
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate realWorkDate;
/**
* 完成时间
*/
+ @JsonProperty("finishTime")
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
private LocalDateTime finishTime;
/**
* 备注
*/
+ @JsonProperty("remark")
private String remark;
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/OutsQuery.java b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/OutsQuery.java
new file mode 100644
index 0000000..02e0337
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/OutsQuery.java
@@ -0,0 +1,79 @@
+package com.wms_main.model.dto.query;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 出库单查询
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class OutsQuery extends PageQuery {
+ /**
+ * 任务号
+ */
+ @JsonProperty("taskId")
+ private String taskId;
+ /**
+ * 料号
+ */
+ @JsonProperty("goodsId")
+ private String goodsId;
+ /**
+ * 载具号
+ */
+ @JsonProperty("vehicleId")
+ private String vehicleId;
+ /**
+ * 需求数量
+ */
+ @JsonProperty("needNum")
+ private Integer needNum;
+ /**
+ * 已分发数量
+ */
+ @JsonProperty("distributeNum")
+ private Integer distributeNum;
+ /**
+ * 已拣选数量
+ */
+ @JsonProperty("pickNum")
+ private Integer pickNum;
+ /**
+ * 出库类型
+ */
+ @JsonProperty("outType")
+ private Integer outType;
+ /**
+ * 目的地
+ */
+ @JsonProperty("destination")
+ private String destination;
+ /**
+ * 用户名
+ */
+ @JsonProperty("userName")
+ private String userName;
+ /**
+ * 出库理由
+ * 紧急出库必填
+ */
+ @JsonProperty("reason")
+ private String reason;
+ /**
+ * 请求时间
+ */
+ @JsonProperty("requestTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime requestTime;
+}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/PickTaskQuery.java b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/PickTaskQuery.java
new file mode 100644
index 0000000..9f4a7c4
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/PickTaskQuery.java
@@ -0,0 +1,69 @@
+package com.wms_main.model.dto.query;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 拣选任务查询参数
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PickTaskQuery extends PageQuery {
+ /**
+ * 任务id
+ */
+ @JsonProperty("pickId")
+ private String pickId;
+ /**
+ * 拣选站台
+ */
+ @JsonProperty("pickStand")
+ private String pickStand;
+ /**
+ * 载具号
+ */
+ @JsonProperty("vehicleId")
+ private String vehicleId;
+ /**
+ * 任务状态
+ */
+ @JsonProperty("pickStatus")
+ private Integer pickStatus;
+ /**
+ * 创建时间
+ */
+ @JsonProperty("createTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+ /**
+ * 发送时间
+ */
+ @JsonProperty("sendTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime sendTime;
+ /**
+ * 到达时间
+ */
+ @JsonProperty("arriveTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime arriveTime;
+ /**
+ * 离开时间
+ */
+ @JsonProperty("leaveTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime leaveTime;
+}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/dto/request/wms/DbsRequest.java b/dev_wms_serve/src/main/java/com/wms_main/model/dto/request/wms/DbsRequest.java
new file mode 100644
index 0000000..7bc44ae
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/model/dto/request/wms/DbsRequest.java
@@ -0,0 +1,79 @@
+package com.wms_main.model.dto.request.wms;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * Dbs请求
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DbsRequest extends BaseWmsRequest {
+ /**
+ * 主键id
+ */
+ private String dbsId;
+ /**
+ * 工单
+ */
+ private String workOrder;
+ /**
+ * dbs原始未处理的零件号,成品号
+ */
+ private String productIdOrigin;
+ /**
+ * 零件号,成品号
+ */
+ private String productId;
+ /**
+ * 计划开始时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate planStartDate;
+ /**
+ * 计划产量/套
+ */
+ private Integer planProduction;
+ /**
+ * Family
+ */
+ private String family;
+ /**
+ * Test No#
+ */
+ private String testNo;
+ /**
+ * 状态
+ */
+ private Integer dbsStatus;
+ /**
+ * 工作站台
+ */
+ private String workStand;
+ /**
+ * 实际工作日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate realWorkDate;
+ /**
+ * 完成时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
+ private LocalDateTime finishTime;
+ /**
+ * 备注
+ */
+ private String remark;
+}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/dto/request/wms/WmsTaskRequest.java b/dev_wms_serve/src/main/java/com/wms_main/model/dto/request/wms/WmsTaskRequest.java
new file mode 100644
index 0000000..a4511dd
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/model/dto/request/wms/WmsTaskRequest.java
@@ -0,0 +1,110 @@
+package com.wms_main.model.dto.request.wms;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * Wms任务请求
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class WmsTaskRequest extends BaseWmsRequest {
+ /**
+ * 任务ID
+ */
+ @JsonProperty("taskId")
+ private String taskId;
+ /**
+ * 任务类型
+ */
+ @JsonProperty("taskType")
+ private Integer taskType;
+ /**
+ * 任务状态
+ */
+ @JsonProperty("taskStatus")
+ private Integer taskStatus;
+ /**
+ * 任务优先级
+ */
+ @JsonProperty("taskPriority")
+ private Integer taskPriority;
+ /**
+ * 载具号
+ */
+ @JsonProperty("vehicleId")
+ private String vehicleId;
+ /**
+ * 起点
+ */
+ @JsonProperty("origin")
+ private String origin;
+ /**
+ * 终点
+ */
+ @JsonProperty("destination")
+ private String destination;
+ /**
+ * wcs任务id
+ */
+ @JsonProperty("wcsTaskId")
+ private String wcsTaskId;
+ /**
+ * 创建时间
+ */
+ @JsonProperty("createTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+ /**
+ * 完成时间
+ */
+ @JsonProperty("finishTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime finishTime;
+ /**
+ * 料号
+ */
+ @JsonProperty("goodsId")
+ private String goodsId;
+ /**
+ * 操作数量
+ */
+ @JsonProperty("opNum")
+ private Integer opNum;
+ /**
+ * 库存数量
+ */
+ @JsonProperty("stockNum")
+ private Integer stockNum;
+ /**
+ * 操纵用户
+ */
+ @JsonProperty("opUser")
+ private String opUser;
+ /**
+ * 备注
+ */
+ @JsonProperty("remark")
+ private String remark;
+ /**
+ * 申请出库的站台
+ */
+ @JsonProperty("callStand")
+ private String callStand;
+ /**
+ * 物料描述
+ */
+ @JsonProperty("goodsDesc")
+ private String goodsDesc;
+}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/OutsVo.java b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/OutsVo.java
new file mode 100644
index 0000000..c023940
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/OutsVo.java
@@ -0,0 +1,102 @@
+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.TAppOuts;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 出库单Vo
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class OutsVo {
+ /**
+ * 任务号
+ */
+ @JsonProperty("taskId")
+ private String taskId;
+ /**
+ * 料号
+ */
+ @JsonProperty("goodsId")
+ private String goodsId;
+ /**
+ * 载具号
+ */
+ @JsonProperty("vehicleId")
+ private String vehicleId;
+ /**
+ * 需求数量
+ */
+ @JsonProperty("needNum")
+ private Integer needNum;
+ /**
+ * 已分发数量
+ */
+ @JsonProperty("distributeNum")
+ private Integer distributeNum;
+ /**
+ * 已拣选数量
+ */
+ @JsonProperty("pickNum")
+ private Integer pickNum;
+ /**
+ * 出库类型
+ */
+ @JsonProperty("outType")
+ private Integer outType;
+ /**
+ * 目的地
+ */
+ @JsonProperty("destination")
+ private String destination;
+ /**
+ * 用户名
+ */
+ @JsonProperty("userName")
+ private String userName;
+ /**
+ * 出库理由
+ * 紧急出库必填
+ */
+ @JsonProperty("reason")
+ private String reason;
+ /**
+ * 请求时间
+ */
+ @JsonProperty("requestTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime requestTime;
+
+ /**
+ * 将po转换为vo
+ * @param po 数据库实体
+ * @return 转化结果
+ */
+ public static OutsVo of(TAppOuts po) {
+ if (po == null) {
+ return new OutsVo();
+ }
+ return new OutsVo(
+ po.getTaskId(),
+ po.getGoodsId(),
+ po.getVehicleId(),
+ po.getNeedNum(),
+ po.getDistributeNum(),
+ po.getPickNum(),
+ po.getOutType(),
+ po.getDestination(),
+ po.getUserName(),
+ po.getReason(),
+ po.getRequestTime()
+ );
+ }
+}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/PickTaskVo.java b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/PickTaskVo.java
new file mode 100644
index 0000000..8569ee5
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/PickTaskVo.java
@@ -0,0 +1,89 @@
+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.TAppPickTask;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 拣选任务Vo
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PickTaskVo {
+ /**
+ * 任务id
+ */
+ @JsonProperty("pickId")
+ private String pickId;
+ /**
+ * 拣选站台
+ */
+ @JsonProperty("pickStand")
+ private String pickStand;
+ /**
+ * 载具号
+ */
+ @JsonProperty("vehicleId")
+ private String vehicleId;
+ /**
+ * 任务状态
+ */
+ @JsonProperty("pickStatus")
+ private Integer pickStatus;
+ /**
+ * 创建时间
+ */
+ @JsonProperty("createTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+ /**
+ * 发送时间
+ */
+ @JsonProperty("sendTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime sendTime;
+ /**
+ * 到达时间
+ */
+ @JsonProperty("arriveTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime arriveTime;
+ /**
+ * 离开时间
+ */
+ @JsonProperty("leaveTime")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime leaveTime;
+
+ /**
+ * 将Po转化为Vo
+ * @param po 数据库实体
+ * @return 转化结果
+ */
+ public static PickTaskVo of(TAppPickTask po) {
+ if (po == null) {
+ return new PickTaskVo();
+ }
+ return new PickTaskVo(
+ po.getPickId(),
+ po.getPickStand(),
+ po.getVehicleId(),
+ po.getPickStatus(),
+ po.getCreateTime(),
+ po.getSendTime(),
+ po.getArriveTime(),
+ po.getLeaveTime()
+ );
+ }
+}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/TaskVo.java b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/TaskVo.java
index 4ac0204..5eec9dd 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/TaskVo.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/model/vo/wms/TaskVo.java
@@ -105,7 +105,7 @@ public class TaskVo {
* 物料描述
*/
@JsonProperty("goodsDesc")
- private String goodsDesc;
+ private String goodsDesc;
/**
* 将po转换为vo
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/IKateWorkControllerService.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/IKateWorkControllerService.java
index b5d76d6..005f45b 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/IKateWorkControllerService.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/IKateWorkControllerService.java
@@ -138,4 +138,11 @@ public interface IKateWorkControllerService {
* @return 需要打印的料盒标签
*/
WmsApiResponse requestPrintBoxTags(KateWorksQuery kateWorksQuery);
+
+ /**
+ * 删除dbs计划
+ * @param dbsRequest 删除请求
+ * @return 删除结果
+ */
+ BaseWmsApiResponse deleteDbsPlan(DbsRequest dbsRequest);
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/ITaskOperationControllerService.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/ITaskOperationControllerService.java
index 540cb61..7db65eb 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/ITaskOperationControllerService.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/ITaskOperationControllerService.java
@@ -1,8 +1,23 @@
package com.wms_main.service.controller;
+import com.wms_main.model.dto.request.wms.WmsTaskRequest;
+import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
+
/**
* 任务操作控制类 服务接口
*/
public interface ITaskOperationControllerService {
+ /**
+ * 删除Wms任务
+ * @param wmsTaskRequest 请求参数
+ * @return 删除结果
+ */
+ BaseWmsApiResponse deleteWmsTask(WmsTaskRequest wmsTaskRequest);
+ /**
+ * 更新Wms任务
+ * @param wmsTaskRequest 请求参数
+ * @return 更新结果
+ */
+ BaseWmsApiResponse updateWmsTask(WmsTaskRequest wmsTaskRequest);
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/ITaskQueryControllerService.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/ITaskQueryControllerService.java
index dd073bb..c397449 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/ITaskQueryControllerService.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/ITaskQueryControllerService.java
@@ -1,10 +1,10 @@
package com.wms_main.service.controller;
+import com.wms_main.model.dto.query.OutsQuery;
+import com.wms_main.model.dto.query.PickTaskQuery;
import com.wms_main.model.dto.query.WmsTaskQuery;
import com.wms_main.model.dto.response.wms.WmsApiResponse;
-import com.wms_main.model.vo.wms.PageVo;
-import com.wms_main.model.vo.wms.TaskRecordVo;
-import com.wms_main.model.vo.wms.TaskVo;
+import com.wms_main.model.vo.wms.*;
/**
* 任务查询控制类 服务接口
@@ -30,4 +30,18 @@ public interface ITaskQueryControllerService {
* @return 查询结果---分页
*/
WmsApiResponse> queryOutTaskRecordByPage(WmsTaskQuery wmsTaskQuery);
+
+ /**
+ * 查询拣选任务信息---分页
+ * @param pickTaskQuery 查询参数
+ * @return 查询结果---分页
+ */
+ WmsApiResponse> queryPickTasksByPage(PickTaskQuery pickTaskQuery);
+
+ /**
+ * 查询出库单信息---分页
+ * @param outsQuery 查询参数
+ * @return 查询结果---分页
+ */
+ WmsApiResponse> queryOutsByPage(OutsQuery outsQuery);
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/KateWorkControllerServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/KateWorkControllerServiceImpl.java
index 773a62d..267c242 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/KateWorkControllerServiceImpl.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/KateWorkControllerServiceImpl.java
@@ -1192,6 +1192,38 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
return WmsApiResponse.success("获取料盒标签数据成功。", boxSummary);
}
+ /**
+ * 删除dbs计划---实现
+ * @param dbsRequest 删除请求
+ * @return 删除结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public BaseWmsApiResponse deleteDbsPlan(DbsRequest dbsRequest) {
+ if (dbsRequest == null) {
+ // 请求为空
+ return BaseWmsApiResponse.error("请求为空。");
+ }
+ if (StringUtils.isEmpty(dbsRequest.getDbsId()) && StringUtils.isEmpty(dbsRequest.getWorkOrder())) {
+ return BaseWmsApiResponse.error("dbsId、工单号必须输入一个。");
+ }
+ // 查询对应的dbs信息
+ List targetDbsList = appDbsService.list(new LambdaQueryWrapper()
+ .eq(StringUtils.isNotEmpty(dbsRequest.getDbsId()), TAppDbs::getDbsId, dbsRequest.getDbsId())
+ .eq(StringUtils.isNotEmpty(dbsRequest.getWorkOrder()), TAppDbs::getWorkOrder, dbsRequest.getWorkOrder()));
+ if (targetDbsList == null || targetDbsList.isEmpty()) {
+ // 未查询到对应的dbs信息
+ return BaseWmsApiResponse.error("未查询到对应的dbs信息。");
+ }
+ TAppDbs targetDbs = targetDbsList.getFirst();
+ if (!Objects.equals(targetDbs.getDbsStatus(), DbsStatusEnums.NEW.getValue())) {
+ // 当前dbs状态为关闭
+ return BaseWmsApiResponse.error("当前DBS已经在做,无法删除。");
+ }
+ // 删除dbs
+ return appDbsService.removeById(targetDbs.getDbsId()) ? BaseWmsApiResponse.success("删除DBS成功。") : BaseWmsApiResponse.error("删除DBS失败。");
+ }
+
/**
* 获取服务件成品号的物料需求
*
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskOperationControllerServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskOperationControllerServiceImpl.java
index cbf30c5..594705f 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskOperationControllerServiceImpl.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskOperationControllerServiceImpl.java
@@ -1,8 +1,28 @@
package com.wms_main.service.controller.serviceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.wms_main.constant.enums.wcs.WcsStackerTaskStatusEnums;
+import com.wms_main.constant.enums.wms.WmsStackerTaskStatusEnums;
+import com.wms_main.dao.ITAppTaskBakService;
+import com.wms_main.dao.ITAppTaskService;
+import com.wms_main.dao.ITAppWcsTaskBakService;
+import com.wms_main.dao.ITAppWcsTaskService;
+import com.wms_main.model.dto.request.wms.WmsTaskRequest;
+import com.wms_main.model.dto.response.wms.BaseWmsApiResponse;
+import com.wms_main.model.po.TAppTask;
+import com.wms_main.model.po.TAppTaskBak;
+import com.wms_main.model.po.TAppWcsTask;
+import com.wms_main.model.po.TAppWcsTaskBak;
+import com.wms_main.repository.utils.ConvertUtils;
+import com.wms_main.repository.utils.StringUtils;
import com.wms_main.service.controller.ITaskOperationControllerService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Objects;
/**
* 任务操作控制类 服务实现
@@ -10,5 +30,170 @@ import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class TaskOperationControllerServiceImpl implements ITaskOperationControllerService {
+ private final ITAppTaskService appTaskService;// wms任务服务
+ private final ITAppTaskBakService appTaskBakService;// wms任务记录服务
+ private final ITAppWcsTaskService appWcsTaskService;// wcs任务服务
+ private final ITAppWcsTaskBakService appWcsTaskBakService;// wcs任务记录服务
+ /**
+ * 删除wms任务
+ * @param wmsTaskRequest 请求参数
+ * @return 删除结果
+ */
+ @Override
+ public BaseWmsApiResponse deleteWmsTask(WmsTaskRequest wmsTaskRequest) {
+ if (wmsTaskRequest == null) {
+ return BaseWmsApiResponse.error("请求参数不能为NULL");
+ }
+ if (StringUtils.isEmpty(wmsTaskRequest.getTaskId())) {
+ return BaseWmsApiResponse.error("请求参数不完整,缺少taskId。");
+ }
+ // 查询对应的任务
+ List tasks = appTaskService.list(new LambdaQueryWrapper()
+ .eq(TAppTask::getTaskId, wmsTaskRequest.getTaskId()));
+ if (tasks == null || tasks.isEmpty()) {
+ return BaseWmsApiResponse.error("未查询到对应的任务");
+ }
+ TAppTask targetTask = tasks.getFirst();
+ return appTaskService.removeById(targetTask.getTaskId()) ? BaseWmsApiResponse.success("删除任务成功。") : BaseWmsApiResponse.error("删除任务失败。");
+ }
+
+ /**
+ * 更新wms任务
+ * @param wmsTaskRequest 请求参数
+ * @return 更新结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public BaseWmsApiResponse updateWmsTask(WmsTaskRequest wmsTaskRequest) {
+ if (wmsTaskRequest == null) {
+ return BaseWmsApiResponse.error("请求参数不能为NULL");
+ }
+ if (StringUtils.isEmpty(wmsTaskRequest.getTaskId())) {
+ return BaseWmsApiResponse.error("请求参数不完整,缺少taskId。");
+ }
+ // 查询对应的任务
+ List tasks = appTaskService.list(new LambdaQueryWrapper()
+ .eq(TAppTask::getTaskId, wmsTaskRequest.getTaskId()));
+ if (tasks == null || tasks.isEmpty()) {
+ return BaseWmsApiResponse.error("未查询到对应的任务");
+ }
+ TAppTask targetTask = tasks.getFirst();
+ // 更新除任务状态之外的其他信息
+ updateDetailInfoExceptStatus(targetTask, wmsTaskRequest);
+ // 判断任务状态是否变更
+ if (!Objects.equals(targetTask.getTaskStatus(), wmsTaskRequest.getTaskStatus())) {
+ // 如果是取消任务
+ if (Objects.equals(wmsTaskRequest.getTaskStatus(), WmsStackerTaskStatusEnums.CANCEL.getCode())) {
+ // 判断当前任务状态是已发送、正在执行、已完成状态,那么不允许修改状态
+ if (!Objects.equals(targetTask.getTaskStatus(), WmsStackerTaskStatusEnums.TEMP.getCode()) &&
+ !Objects.equals(targetTask.getTaskStatus(), WmsStackerTaskStatusEnums.WAIT.getCode())) {
+ return BaseWmsApiResponse.error("当前任务已生成wcs任务,如需取消,请先取消对应的wcs任务。");
+ }
+ // 将这个载具的任务删除,并存进备份表
+ List thisVehicleTasks = appTaskService.list(new LambdaQueryWrapper()
+ .eq(TAppTask::getVehicleId, targetTask.getVehicleId())
+ .eq(TAppTask::getTaskType, targetTask.getTaskType()));
+ List thisVehicleTasksBak = thisVehicleTasks.stream()
+ .map(task -> new TAppTaskBak(
+ task.getTaskId(),
+ task.getTaskType(),
+ WmsStackerTaskStatusEnums.CANCEL.getCode(),
+ task.getTaskPriority(),
+ task.getVehicleId(),
+ task.getOrigin(),
+ task.getDestination(),
+ task.getWcsTaskId(),
+ task.getCreateTime(),
+ task.getFinishTime(),
+ task.getGoodsId(),
+ task.getOpNum(),
+ task.getStockNum(),
+ task.getOpUser(),
+ task.getRemark(),
+ task.getCallStand(),
+ task.getGoodsDesc()
+ )).toList();
+ if (appTaskService.removeByIds(thisVehicleTasks.stream().map(TAppTask::getTaskId).toList())) {
+ return appTaskBakService.saveBatch(thisVehicleTasksBak) ? BaseWmsApiResponse.success("取消任务成功。") : BaseWmsApiResponse.error("取消任务失败,添加任务记录失败。");
+ } else {
+ return BaseWmsApiResponse.error("取消任务失败,删除任务失败。");
+ }
+ } else if (Objects.equals(wmsTaskRequest.getTaskStatus(), WmsStackerTaskStatusEnums.FINISH.getCode())) {
+ // 将对应的wcs任务完成,并存进备份表
+ List wcsTasks = appWcsTaskService.list(new LambdaQueryWrapper()
+ .eq(TAppWcsTask::getWcsTaskId, targetTask.getWcsTaskId()));
+ if (wcsTasks != null && !wcsTasks.isEmpty()) {
+ TAppWcsTask wcsTask = wcsTasks.getFirst();
+ // 移除wcs任务,并向wcs备份表添加记录
+ TAppWcsTaskBak wcsTaskBak = new TAppWcsTaskBak(
+ wcsTask.getWcsTaskId(),
+ WcsStackerTaskStatusEnums.FINISH.getCode(),
+ wcsTask.getWcsTaskType(),
+ wcsTask.getTaskPriority(),
+ wcsTask.getVehicleId(),
+ wcsTask.getOrigin(),
+ wcsTask.getDestination(),
+ wcsTask.getCreateTime(),
+ wcsTask.getSendTime(),
+ wcsTask.getFinishTime(),
+ wmsTaskRequest.getUserName() + "手动完成"
+ );
+ appWcsTaskService.removeById(wcsTask.getWcsTaskId());
+ appWcsTaskBakService.save(wcsTaskBak);
+ }
+ // 更新这个箱子的任务为完成状态
+ appTaskService.update(
+ new LambdaUpdateWrapper()
+ .set(TAppTask::getTaskStatus, WmsStackerTaskStatusEnums.FINISH.getCode())
+ .eq(TAppTask::getTaskType, targetTask.getTaskType())
+ .eq(TAppTask::getVehicleId, targetTask.getVehicleId())
+ );
+ return BaseWmsApiResponse.success("完成任务成功。");
+ } else {
+ // 更新任务状态
+ targetTask.setTaskStatus(wmsTaskRequest.getTaskStatus());
+ // 更新任务信息
+ appTaskService.updateById(targetTask);
+ // 更新这个箱子其他任务的状态
+ appTaskService.update(
+ new LambdaUpdateWrapper()
+ .set(TAppTask::getTaskStatus, wmsTaskRequest.getTaskStatus())
+ .eq(TAppTask::getTaskType, targetTask.getTaskType())
+ .eq(TAppTask::getVehicleId, targetTask.getVehicleId())
+ .ne(TAppTask::getTaskId, targetTask.getTaskId())
+ );
+ // 转化wcs任务状态
+ Integer wcsTaskStatus = ConvertUtils.convertWmsTaskStatusToWcsStackerTaskStatus(wmsTaskRequest.getTaskStatus());
+ appWcsTaskService.update(new LambdaUpdateWrapper()
+ .set(TAppWcsTask::getWcsTaskStatus, wcsTaskStatus)
+ .eq(TAppWcsTask::getWcsTaskId, targetTask.getWcsTaskId()));
+ return BaseWmsApiResponse.success("更新任务信息成功。");
+ }
+ } else {
+ // 只更新数据
+ return appTaskService.updateById(targetTask) ? BaseWmsApiResponse.success("更新任务信息成功。") : BaseWmsApiResponse.error("更新任务信息失败。");
+ }
+ }
+
+ /**
+ * 更新详情
+ * @param targetTask 目标任务
+ * @param wmsTaskRequest 请求信息
+ */
+ private void updateDetailInfoExceptStatus(TAppTask targetTask, WmsTaskRequest wmsTaskRequest) {
+ targetTask.setTaskType(wmsTaskRequest.getTaskType());
+ targetTask.setTaskPriority(wmsTaskRequest.getTaskPriority());
+ targetTask.setVehicleId(wmsTaskRequest.getVehicleId());
+ targetTask.setOrigin(wmsTaskRequest.getOrigin());
+ targetTask.setDestination(wmsTaskRequest.getDestination());
+ targetTask.setWcsTaskId(wmsTaskRequest.getWcsTaskId());
+ targetTask.setGoodsId(wmsTaskRequest.getGoodsId());
+ targetTask.setOpNum(wmsTaskRequest.getOpNum());
+ targetTask.setStockNum(wmsTaskRequest.getStockNum());
+ targetTask.setOpUser(wmsTaskRequest.getOpUser());
+ targetTask.setRemark(wmsTaskRequest.getRemark());
+ targetTask.setCallStand(wmsTaskRequest.getCallStand());
+ targetTask.setGoodsDesc(wmsTaskRequest.getGoodsDesc());
+ }
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskQueryControllerServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskQueryControllerServiceImpl.java
index b0312c1..75dc6a8 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskQueryControllerServiceImpl.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskQueryControllerServiceImpl.java
@@ -3,15 +3,19 @@ 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.constant.enums.wms.WmsTaskTypeEnums;
+import com.wms_main.dao.ITAppOutsService;
+import com.wms_main.dao.ITAppPickTaskService;
import com.wms_main.dao.ITAppTaskBakService;
import com.wms_main.dao.ITAppTaskService;
+import com.wms_main.model.dto.query.OutsQuery;
+import com.wms_main.model.dto.query.PickTaskQuery;
import com.wms_main.model.dto.query.WmsTaskQuery;
import com.wms_main.model.dto.response.wms.WmsApiResponse;
+import com.wms_main.model.po.TAppOuts;
+import com.wms_main.model.po.TAppPickTask;
import com.wms_main.model.po.TAppTask;
import com.wms_main.model.po.TAppTaskBak;
-import com.wms_main.model.vo.wms.PageVo;
-import com.wms_main.model.vo.wms.TaskRecordVo;
-import com.wms_main.model.vo.wms.TaskVo;
+import com.wms_main.model.vo.wms.*;
import com.wms_main.repository.utils.StringUtils;
import com.wms_main.service.controller.ITaskQueryControllerService;
import lombok.RequiredArgsConstructor;
@@ -25,6 +29,8 @@ import org.springframework.stereotype.Service;
public class TaskQueryControllerServiceImpl implements ITaskQueryControllerService {
private final ITAppTaskService appTaskService;// 任务服务
private final ITAppTaskBakService appTaskBakService;// 任务记录服务
+ private final ITAppPickTaskService appPickTaskService;// 拣选任务服务
+ private final ITAppOutsService appOutsService;// 出库单服务
/**
* 查询wms任务监控---分页
@@ -114,4 +120,48 @@ public class TaskQueryControllerServiceImpl implements ITaskQueryControllerServi
PageVo pageVo = PageVo.of(outTaskRecordsPage, TaskRecordVo::of);
return WmsApiResponse.success("查询出库记录成功。", pageVo);
}
+
+ /**
+ * 分页查询拣选任务---实现
+ * @param pickTaskQuery 查询参数
+ * @return 查询结果
+ */
+ @Override
+ public WmsApiResponse> queryPickTasksByPage(PickTaskQuery pickTaskQuery) {
+ if (pickTaskQuery == null) {
+ return WmsApiResponse.error("查询参数不能为NULL", null);
+ }
+ Page page = pickTaskQuery.toMpPage();
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper()
+ .like(StringUtils.isNotEmpty(pickTaskQuery.getPickId()), TAppPickTask::getPickId, pickTaskQuery.getPickId())
+ .like(StringUtils.isNotEmpty(pickTaskQuery.getPickStand()), TAppPickTask::getPickStand, pickTaskQuery.getPickStand())
+ .like(StringUtils.isNotEmpty(pickTaskQuery.getVehicleId()), TAppPickTask::getVehicleId, pickTaskQuery.getVehicleId())
+ .eq(pickTaskQuery.getPickStatus() != null, TAppPickTask::getPickStatus, pickTaskQuery.getPickStatus());
+ Page tasksPage = appPickTaskService.page(page, lambdaQueryWrapper);
+
+ PageVo pageVo = PageVo.of(tasksPage, PickTaskVo::of);
+ return WmsApiResponse.success("查询拣选任务成功。", pageVo);
+ }
+
+ /**
+ * 分页查询出库单---实现
+ * @param outsQuery 查询参数
+ * @return 查询结果
+ */
+ @Override
+ public WmsApiResponse> queryOutsByPage(OutsQuery outsQuery) {
+ if (outsQuery == null) {
+ return WmsApiResponse.error("查询参数不能为NULL", null);
+ }
+ Page page = outsQuery.toMpPage();
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper()
+ .like(StringUtils.isNotEmpty(outsQuery.getTaskId()), TAppOuts::getTaskId, outsQuery.getTaskId())
+ .like(StringUtils.isNotEmpty(outsQuery.getGoodsId()), TAppOuts::getGoodsId, outsQuery.getGoodsId())
+ .like(StringUtils.isNotEmpty(outsQuery.getVehicleId()), TAppOuts::getVehicleId, outsQuery.getVehicleId())
+ .eq(outsQuery.getOutType() != null, TAppOuts::getOutType, outsQuery.getOutType());
+ Page outsPage = appOutsService.page(page, lambdaQueryWrapper);
+
+ PageVo pageVo = PageVo.of(outsPage, OutsVo::of);
+ return WmsApiResponse.success("查询出库单成功。", pageVo);
+ }
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/quartz_job/job_executor/WmsTaskFinisher.java b/dev_wms_serve/src/main/java/com/wms_main/service/quartz_job/job_executor/WmsTaskFinisher.java
index ce0330d..9c39589 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/service/quartz_job/job_executor/WmsTaskFinisher.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/quartz_job/job_executor/WmsTaskFinisher.java
@@ -39,7 +39,7 @@ public class WmsTaskFinisher implements Job {
*/
@Override
public void execute(JobExecutionContext jobExecutionContext) {
- // 获取到所有待下发的任务
+ // 获取到所有已完成的任务
List waitFinishWmsTaskList = appTaskService.list(
new LambdaQueryWrapper()
.eq(TAppTask::getTaskStatus, WmsStackerTaskStatusEnums.FINISH.getCode())
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/system/ISystemService.java b/dev_wms_serve/src/main/java/com/wms_main/service/system/ISystemService.java
new file mode 100644
index 0000000..fe5ad9f
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/system/ISystemService.java
@@ -0,0 +1,16 @@
+package com.wms_main.service.system;
+
+/**
+ * 系统服务接口
+ */
+public interface ISystemService {
+ /**
+ * 重启系统
+ */
+ boolean restartSystem();
+
+ /**
+ * 重新加载配置
+ */
+ boolean reloadConfig();
+}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/system/serviceImpl/SystemServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/service/system/serviceImpl/SystemServiceImpl.java
new file mode 100644
index 0000000..9beaa90
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/system/serviceImpl/SystemServiceImpl.java
@@ -0,0 +1,45 @@
+package com.wms_main.service.system.serviceImpl;
+
+import com.wms_main.WmsMainApplication;
+import com.wms_main.app.AppCommon;
+import com.wms_main.dao.ITAppConfigService;
+import com.wms_main.service.system.ISystemService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 系统服务接口实现
+ */
+@Service
+@RequiredArgsConstructor
+public class SystemServiceImpl implements ISystemService {
+ /**
+ * 应用共通数据
+ */
+ private final AppCommon appCommon;
+
+ /**
+ * 重启系统
+ * @return 重启结果
+ */
+ @Override
+ public boolean restartSystem() {
+ try {
+ WmsMainApplication.restart();
+ } catch (Exception e) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * 重载配置
+ * @return 重载结果
+ */
+ @Override
+ public boolean reloadConfig() {
+ return appCommon.initConfigMap();
+ }
+}
diff --git a/dev_wms_serve/src/main/resources/application.yml b/dev_wms_serve/src/main/resources/application.yml
index 9485fb9..3523c4a 100644
--- a/dev_wms_serve/src/main/resources/application.yml
+++ b/dev_wms_serve/src/main/resources/application.yml
@@ -9,13 +9,13 @@ spring:
# username: developer
# password: developer
# 本地
-# url: jdbc:mysql://localhost:3306/wms_kate_wuxi?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true
-# username: root
-# password: liangzhou
+ url: jdbc:mysql://localhost:3306/wms_kate_wuxi?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true
+ username: root
+ password: liangzhou
# 卡特服务器
- url: jdbc:mysql://10.90.83.37:3306/wms_kate_wuxi?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true
- username: developer
- password: baokai
+# url: jdbc:mysql://10.90.83.37:3306/wms_kate_wuxi?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true
+# username: developer
+# password: baokai
profiles:
active: online