From 6dcaeac0440ef7dd86d9513cea7d3033d68f7e65 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 24 三月 2026 10:43:18 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 80 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 771bdeb..bf6fa7f 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -1,6 +1,7 @@
package com.zy.common.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.domain.Result.CancelTaskBatchResult;
@@ -48,6 +49,8 @@
private BasOutStationAreaService basOutStationAreaService;
@Autowired
private WrkCommandRollbackService wrkCommandRollbackService;
+ @Autowired
+ private WrkAnalysisService wrkAnalysisService;
/**
* 鐢熸垚宸ヤ綔鍙�
@@ -180,6 +183,80 @@
return true;
}
+ public CancelTaskBatchResult cancelOutTaskBatchInfo(CancelTaskBatchParam param) {
+ if (param == null) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
+ }
+ List<CancelTaskParam> taskList = param.getTaskList();
+ if (taskList == null || taskList.isEmpty()) {
+ throw new CoolException("浠诲姟鍙傛暟鍒楄〃涓虹┖");
+ }
+
+ List<String> successList = new ArrayList<>();
+ List<String> failList = new ArrayList<>();
+ for (CancelTaskParam taskParam : taskList) {
+ if (taskParam == null) {
+ throw new CoolException("浠诲姟鍙傛暟涓嶈兘涓虹┖");
+ }
+ boolean cancelStatus = false;
+ try {
+ cancelStatus = cancelSingleOutTaskBatchInfo(taskParam);
+ } catch (Exception e) {
+ }
+
+ if (cancelStatus) {
+ successList.add(resolveTaskIdentifier(taskParam));
+ } else {
+ failList.add(resolveTaskIdentifier(taskParam));
+ }
+ }
+
+ CancelTaskBatchResult result = new CancelTaskBatchResult();
+ result.setSuccessList(successList);
+ result.setFailList(failList);
+ return result;
+ }
+
+ private boolean cancelSingleOutTaskBatchInfo(CancelTaskParam param) {
+ WrkMast wrkMast = null;
+ Integer wrkNo = param.getWrkNo();
+ String taskNo = param.getTaskNo();
+ if (wrkNo == null) {
+ if (Cools.isEmpty(taskNo)) {
+ throw new CoolException("WMS浠诲姟鍙蜂笉鑳戒负绌�");
+ }
+ wrkMast = wrkMastService.getOne(new QueryWrapper<WrkMast>().eq("wms_wrk_no", taskNo));
+ } else {
+ wrkMast = wrkMastService.selectByWorkNo(wrkNo);
+ }
+ if (wrkMast == null) {
+ throw new CoolException("浠诲姟涓嶅瓨鍦�");
+ }
+ if (!wrkMast.getIoType().equals(WrkIoType.OUT.id)) {
+ throw new CoolException("浠呮敮鎸佸嚭搴撲换鍔�");
+ }
+
+ boolean updated = wrkMast.getWrkNo() != null && wrkMastService.update(null, new UpdateWrapper<WrkMast>()
+ .eq("wrk_no", wrkMast.getWrkNo())
+ .set("batch", null)
+ .set("batch_seq", null)
+ .set("modi_time", new Date()));
+ if (!updated) {
+ throw new CoolException("鍙栨秷鍑哄簱浠诲姟鎵规鍜屾壒娆″簭鍙峰け璐�");
+ }
+ return true;
+ }
+
+ private String resolveTaskIdentifier(CancelTaskParam param) {
+ if (!Cools.isEmpty(param.getTaskNo())) {
+ return param.getTaskNo();
+ }
+ if (param.getWrkNo() != null) {
+ return String.valueOf(param.getWrkNo());
+ }
+ return "";
+ }
+
public CancelTaskBatchResult cancelTaskBatch(CancelTaskBatchParam param) {
if (param == null) {
throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
@@ -290,6 +367,7 @@
News.error("绉诲簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
+ wrkAnalysisService.initForTask(wrkMast);
sourceLocMast.setLocSts("R");
sourceLocMast.setModiTime(new Date());
@@ -358,6 +436,7 @@
News.error("鍏ュ簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
+ wrkAnalysisService.initForTask(wrkMast);
locMast.setLocSts("S");
locMast.setModiTime(new Date());
@@ -475,6 +554,7 @@
News.error("鍑哄簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
+ wrkAnalysisService.initForTask(wrkMast);
locMast.setLocSts("R");
locMast.setModiTime(new Date());
--
Gitblit v1.9.1