From c0df58a6fb50ee32e7336b5901000549700ebc82 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 16 三月 2026 15:02:59 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 103 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 79 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 6026fd8..10b671c 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -1,8 +1,9 @@
package com.zy.common.service;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
+import com.zy.asrs.domain.Result.CancelTaskBatchResult;
import com.zy.asrs.domain.param.*;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
@@ -12,10 +13,8 @@
import com.zy.common.utils.NavigateUtils;
import com.zy.common.utils.RedisUtil;
import com.zy.core.News;
-import com.zy.core.enums.RedisKeyType;
-import com.zy.core.enums.SlaveType;
-import com.zy.core.enums.WrkIoType;
-import com.zy.core.enums.WrkStsType;
+import com.zy.core.service.WrkCommandRollbackService;
+import com.zy.core.enums.*;
import com.zy.core.model.StationObjModel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -46,13 +45,15 @@
private RedisUtil redisUtil;
@Autowired
private BasOutStationAreaService basOutStationAreaService;
+ @Autowired
+ private WrkCommandRollbackService wrkCommandRollbackService;
/**
* 鐢熸垚宸ヤ綔鍙�
* @return workNo(宸ヤ綔鍙�)
*/
public synchronized int getWorkNo(Integer wrkMk) {
- WrkLastno wrkLastno = wrkLastnoService.selectById(wrkMk);
+ WrkLastno wrkLastno = wrkLastnoService.getById(wrkMk);
if (Cools.isEmpty(wrkLastno)) {
throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
}
@@ -92,7 +93,7 @@
if(wrkNo == null) {
if (!Cools.isEmpty(taskNo)) {
- wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", taskNo));
+ wrkMast = wrkMastService.getOne(new QueryWrapper<WrkMast>().eq("wms_wrk_no", taskNo));
}
}else {
wrkMast = wrkMastService.selectByWorkNo(wrkNo);
@@ -122,7 +123,7 @@
if(wrkNo == null) {
if (!Cools.isEmpty(taskNo)) {
- wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", taskNo));
+ wrkMast = wrkMastService.getOne(new QueryWrapper<WrkMast>().eq("wms_wrk_no", taskNo));
}
}else {
wrkMast = wrkMastService.selectByWorkNo(wrkNo);
@@ -132,10 +133,64 @@
throw new CoolException("浠诲姟涓嶅瓨鍦�");
}
+ boolean cancelSuccess = false;
+ if (wrkMast.getIoType().equals(WrkIoType.IN.id) && !wrkMast.getWrkSts().equals(WrkStsType.NEW_INBOUND.sts)) {
+ cancelSuccess = true;
+ } else if (wrkMast.getIoType().equals(WrkIoType.OUT.id) && !wrkMast.getWrkSts().equals(WrkStsType.NEW_OUTBOUND.sts)) {
+ cancelSuccess = true;
+ } else if (wrkMast.getIoType().equals(WrkIoType.LOC_MOVE.id) && !wrkMast.getWrkSts().equals(WrkStsType.NEW_LOC_MOVE.sts)) {
+ cancelSuccess = true;
+ }
+
+ if (cancelSuccess) {
+ throw new CoolException("浠诲姟宸叉墽琛岋紝鍙栨秷澶辫触");
+ }
+
wrkMast.setMk("taskCancel");
wrkMast.setModiTime(new Date());
wrkMastService.updateById(wrkMast);
return true;
+ }
+
+ public CancelTaskBatchResult cancelTaskBatch(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 cancelTaskParam : taskList) {
+ if (cancelTaskParam == null) {
+ throw new CoolException("浠诲姟鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ boolean cancelStatus = false;
+ try {
+ cancelStatus = cancelTask(cancelTaskParam);
+ } catch (Exception e) {
+ }
+
+ if (cancelStatus) {
+ successList.add(cancelTaskParam.getTaskNo());
+ }else {
+ failList.add(cancelTaskParam.getTaskNo());
+ }
+ }
+
+ CancelTaskBatchResult result = new CancelTaskBatchResult();
+ result.setSuccessList(successList);
+ result.setFailList(failList);
+ return result;
+ }
+
+ public boolean manualRollbackTask(ManualRollbackTaskParam param) {
+ return wrkCommandRollbackService.manualRollbackTask(param);
}
//绉诲簱浠诲姟
@@ -202,7 +257,7 @@
throw new CoolException("鏈煡璁惧绫诲瀷");
}
- boolean res = wrkMastService.insert(wrkMast);
+ boolean res = wrkMastService.save(wrkMast);
if (!res) {
News.error("绉诲簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
@@ -270,7 +325,7 @@
throw new CoolException("鏈煡璁惧绫诲瀷");
}
- boolean res = wrkMastService.insert(wrkMast);
+ boolean res = wrkMastService.save(wrkMast);
if (!res) {
News.error("鍏ュ簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
@@ -312,7 +367,7 @@
}
if(Cools.isEmpty(staNo)) {
- List<BasOutStationArea> areaList = basOutStationAreaService.selectList(new EntityWrapper<BasOutStationArea>().eq("area_code", outArea));
+ List<BasOutStationArea> areaList = basOutStationAreaService.list(new QueryWrapper<BasOutStationArea>().eq("area_code", outArea));
if (areaList.isEmpty()) {
throw new CoolException("鍑哄簱鍖哄煙涓嶅瓨鍦�");
}
@@ -352,11 +407,11 @@
}
if (findCrnResult.getCrnType().equals(SlaveType.Crn)) {
- BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", crnNo));
+ BasCrnp basCrnp = basCrnpService.getOne(new QueryWrapper<BasCrnp>().eq("crn_no", crnNo));
if(basCrnp == null) {
throw new CoolException("鏈壘鍒板搴斿爢鍨涙満鏁版嵁");
}
- List<WrkMast> outWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ List<WrkMast> outWrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>()
.eq("crn_no", crnNo)
.eq("io_type", WrkIoType.OUT.id)
);
@@ -368,11 +423,11 @@
wrkMast.setCrnNo(findCrnResult.getCrnNo());
} else if (findCrnResult.getCrnType().equals(SlaveType.DualCrn)) {
- BasDualCrnp basDualCrnp = basDualCrnpService.selectOne(new EntityWrapper<BasDualCrnp>().eq("crn_no", crnNo));
+ BasDualCrnp basDualCrnp = basDualCrnpService.getOne(new QueryWrapper<BasDualCrnp>().eq("crn_no", crnNo));
if(basDualCrnp == null) {
throw new CoolException("鏈壘鍒板搴斿弻宸ヤ綅鍫嗗灈鏈烘暟鎹�");
}
- List<WrkMast> outWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ List<WrkMast> outWrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>()
.eq("dual_crn_no", crnNo)
.eq("io_type", WrkIoType.OUT.id)
);
@@ -387,7 +442,7 @@
throw new CoolException("鏈煡璁惧绫诲瀷");
}
- boolean res = wrkMastService.insert(wrkMast);
+ boolean res = wrkMastService.save(wrkMast);
if (!res) {
News.error("鍑哄簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒");
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
@@ -400,7 +455,7 @@
}
public FindCrnNoResult findCrnNoByLocNo(String locNo) {
- List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
+ List<BasCrnp> basCrnps = basCrnpService.list(new QueryWrapper<>());
for (BasCrnp basCrnp : basCrnps) {
List<List<Integer>> rowList = basCrnp.getControlRows$();
for (List<Integer> rows : rowList) {
@@ -413,7 +468,7 @@
}
}
- List<BasDualCrnp> basDualCrnps = basDualCrnpService.selectList(new EntityWrapper<>());
+ List<BasDualCrnp> basDualCrnps = basDualCrnpService.list(new QueryWrapper<>());
for (BasDualCrnp basDualCrnp : basDualCrnps) {
List<List<Integer>> rowList = basDualCrnp.getControlRows$();
for (List<Integer> rows : rowList) {
@@ -432,13 +487,13 @@
List<StationObjModel> stationList = new ArrayList<>();
Integer crnNo = findCrnNoResult.getCrnNo();
if (findCrnNoResult.getCrnType().equals(SlaveType.Crn)) {
- BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", crnNo));
+ BasCrnp basCrnp = basCrnpService.getOne(new QueryWrapper<BasCrnp>().eq("crn_no", crnNo));
if(basCrnp == null) {
return null;
}
stationList = basCrnp.getInStationList$();
} else if (findCrnNoResult.getCrnType().equals(SlaveType.DualCrn)) {
- BasDualCrnp basDualCrnp = basDualCrnpService.selectOne(new EntityWrapper<BasDualCrnp>().eq("crn_no", crnNo));
+ BasDualCrnp basDualCrnp = basDualCrnpService.getOne(new QueryWrapper<BasDualCrnp>().eq("crn_no", crnNo));
if(basDualCrnp == null) {
return null;
}
@@ -449,7 +504,7 @@
for (StationObjModel stationObjModel : stationList) {
try {
List<NavigateNode> navigateNodes = navigateUtils.calcByStationId(sourceStationId, stationObjModel.getStationId());
- if(navigateNodes != null) {
+ if(!navigateNodes.isEmpty()) {
targetStationId = stationObjModel.getStationId();
break;
}
@@ -464,13 +519,13 @@
List<StationObjModel> stationList = new ArrayList<>();
Integer crnNo = findCrnNoResult.getCrnNo();
if (findCrnNoResult.getCrnType().equals(SlaveType.Crn)) {
- BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", crnNo));
+ BasCrnp basCrnp = basCrnpService.getOne(new QueryWrapper<BasCrnp>().eq("crn_no", crnNo));
if(basCrnp == null) {
return null;
}
stationList = basCrnp.getOutStationList$();
} else if (findCrnNoResult.getCrnType().equals(SlaveType.DualCrn)) {
- BasDualCrnp basDualCrnp = basDualCrnpService.selectOne(new EntityWrapper<BasDualCrnp>().eq("crn_no", crnNo));
+ BasDualCrnp basDualCrnp = basDualCrnpService.getOne(new QueryWrapper<BasDualCrnp>().eq("crn_no", crnNo));
if(basDualCrnp == null) {
return null;
}
@@ -481,7 +536,7 @@
for (StationObjModel stationObjModel : stationList) {
try {
List<NavigateNode> navigateNodes = navigateUtils.calcByStationId(stationObjModel.getStationId(), targetStationId);
- if(navigateNodes != null) {
+ if(!navigateNodes.isEmpty()) {
finalSourceStationId = stationObjModel.getStationId();
break;
}
--
Gitblit v1.9.1