From f6e17ebcf5e66b590391e13595968b7e05a7f966 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 28 十月 2025 19:08:22 +0800
Subject: [PATCH] *待判接口开发
---
src/main/java/com/zy/asrs/utils/OutpandianBoxExeclListener.java | 110 ++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 93 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/OutpandianBoxExeclListener.java b/src/main/java/com/zy/asrs/utils/OutpandianBoxExeclListener.java
index dbbbb42..c4b3b36 100644
--- a/src/main/java/com/zy/asrs/utils/OutpandianBoxExeclListener.java
+++ b/src/main/java/com/zy/asrs/utils/OutpandianBoxExeclListener.java
@@ -8,14 +8,19 @@
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WorkService;
import com.zy.common.entity.pandianExcel;
import com.zy.common.model.LocDto;
+import com.zy.system.entity.OperateLog;
+import com.zy.system.service.OperateLogService;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -24,13 +29,21 @@
private int total = 0;
+ private String errorMsgOrderLoc = "";
private Long userId;
+ private String remoteAddr;
+ private boolean sign = true;
List<String[]> OutLocBoxCs = new ArrayList<>();
public OutpandianBoxExeclListener() {
}
public OutpandianBoxExeclListener(Long userId) {
+ this.userId = userId;
+ }
+
+ public OutpandianBoxExeclListener(String remoteAddr,Long userId) {
+ this.remoteAddr = remoteAddr;
this.userId = userId;
}
@@ -71,9 +84,12 @@
@Override
@ManagerAuth
public void doAfterAllAnalysed(AnalysisContext ctx) {
- ArrayList<LocDetl> locDetls1 = new ArrayList<>();
+ ArrayList<StockOutParam.LocDetl> locDetls1 = new ArrayList<StockOutParam.LocDetl>();
+ ArrayList<StockOutParam.LocDetl> locDetls122 = new ArrayList<StockOutParam.LocDetl>();
+ ArrayList<StockOutParam.LocDetl> locDetls171 = new ArrayList<StockOutParam.LocDetl>();
if (!Cools.isEmpty(OutLocBoxCs) && OutLocBoxCs.size() != 0) {
LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
+ LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
WorkService workService = SpringUtils.getBean(WorkService.class);
List<LocDto> locDtos = new ArrayList<>();
List<String[]> outLocBoxCList = new ArrayList<>();
@@ -83,17 +99,34 @@
if (!outLocBoxCNew.contains(outLocBoxC[0])){
LocDetl locDetlSou = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch", outLocBoxC[0]));
if (Cools.isEmpty(locDetlSou)){
- throw new CoolException("绠卞彿锛�"+outLocBoxC[0]+" 鏈煡璇㈠埌鏁版嵁锛侊紒锛�");
+ sign = false;
+ errorMsgOrderLoc = errorMsgOrderLoc + "[===銆�" +"绠卞彿锛�"+outLocBoxC[0]+" 鏈煡璇㈠埌鏁版嵁锛侊紒锛�"+"銆�===]";
+ continue;
+// throw new CoolException("绠卞彿锛�"+outLocBoxC[0]+" 鏈煡璇㈠埌鏁版嵁锛侊紒锛�");
}
- List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
- .eq("loc_no", locDetlSou.getLocNo()).eq("origin", locDetlSou.getOrigin()));
- for (LocDetl locDetl:locDetls){
- total++;
- String[] locDetlNow=new String[2];
- locDetlNow[0] = locDetl.getBatch();
- locDetlNow[1] = outLocBoxC[1];
- outLocBoxCList.add(locDetlNow);
- outLocBoxCNew.add(outLocBoxC[0]);
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlSou.getLocNo()));
+ if (Cools.isEmpty(locMast)){
+ sign = false;
+ errorMsgOrderLoc = errorMsgOrderLoc + "[===銆�" +"绠卞彿锛�"+outLocBoxC[0]+" 鎵�鍦ㄥ簱浣嶄笉婊¤冻鍑哄簱鏉′欢锛侊紒锛佹湭鏌ヨ鍒版绠卞彿鎵�鍦ㄥ簱浣�"+"銆�===]";
+ continue;
+// throw new CoolException("绠卞彿锛�"+outLocBoxC[0]+" 鎵�鍦ㄥ簱浣嶄笉婊¤冻鍑哄簱鏉′欢锛侊紒锛佹湭鏌ヨ鍒版绠卞彿鎵�鍦ㄥ簱浣�");
+ }
+ if (!locMast.getLocSts().equals("F")){
+ sign = false;
+ errorMsgOrderLoc = errorMsgOrderLoc + "[===銆�" +"绠卞彿锛�"+outLocBoxC[0]+" 鎵�鍦ㄥ簱浣嶄笉婊¤冻鍑哄簱鏉′欢锛侊紒锛佸簱浣嶇姸鎬佷笉涓篎锛侊紒锛佸簱浣嶇姸鎬侊細"+locMast.getLocSts$()+"銆�===]";
+ continue;
+// throw new CoolException("绠卞彿锛�"+outLocBoxC[0]+" 鎵�鍦ㄥ簱浣嶄笉婊¤冻鍑哄簱鏉′欢锛侊紒锛佸簱浣嶇姸鎬佷笉涓篎锛侊紒锛佸簱浣嶇姸鎬侊細"+locMast.getLocSts$());
+ }
+ if (sign){
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+ .eq("loc_no", locDetlSou.getLocNo()).eq("origin", locDetlSou.getOrigin()));
+ for (LocDetl locDetl:locDetls){
+ total++;
+ String[] locDetlNow=new String[2];
+ locDetlNow[0] = locDetl.getBatch();
+ outLocBoxCList.add(locDetlNow);
+ outLocBoxCNew.add(outLocBoxC[0]);
+ }
}
}
}
@@ -111,7 +144,7 @@
locDtos.add(locDto);
}
- StockOutParam param = new StockOutParam();
+
List<LocDto> locDtosList = new ArrayList<>();
List<String> batchList = new ArrayList<>();
for (LocDto locDto : locDtos) {
@@ -121,7 +154,7 @@
}
}
for (LocDto locDto:locDtosList){
- LocDetl locDetl = new LocDetl();
+ StockOutParam.LocDetl locDetl = new StockOutParam.LocDetl();
locDetl.setBrand(locDto.getBrand());
locDetl.setLocNo(locDto.getLocNo());
locDetl.setAnfme(locDto.getAnfme());
@@ -134,17 +167,60 @@
locDetl.setWeight(locDto.getWeight());
locDetls1.add(locDetl);
+ if (Utils.getRow(locDetl.getLocNo())>12){
+ locDetls171.add(locDetl);
+ } else {
+ locDetls122.add(locDetl);
+ }
}
- //if (total>0){
- // workService.startupFullTakeStoreOrder(param,9999L);
- //}
+ if (sign){
+ Date date = new Date();
+ StockOutParam param122 = new StockOutParam();
+ param122.setOutSite(122);
+ param122.setLocDetls(locDetls122);
+ param122.setNowTime(date);
+
+ if (total>0 && locDetls122.size()>0){
+ workService.locCheckOut(param122,9999L);
+ }
+
+ StockOutParam param171 = new StockOutParam();
+ param171.setOutSite(171);
+ param171.setLocDetls(locDetls171);
+ param171.setNowTime(date);
+ if (total>0 && locDetls171.size()>0){
+ workService.locCheckOut(param171,9999L);
+ }
+ }
+
+ try {
+ OperateLogService operateLogService = SpringUtils.getBean(OperateLogService.class);
+ // 璁板綍鎿嶄綔鏃ュ織
+ OperateLog operateLog = new OperateLog();
+ operateLog.setAction("瀵煎叆绠卞彿鎵归噺鐩樼偣鍑哄簱");
+ operateLog.setIp(remoteAddr);
+ operateLog.setUserId(userId);
+ operateLog.setRequest("");
+ operateLog.setResponse(errorMsgOrderLoc.equals("")? "姝e父" : (sign && total>0)? "鎴愬姛:"+errorMsgOrderLoc : "澶辫触:"+errorMsgOrderLoc);
+ operateLogService.insert(operateLog);
+ } catch (Exception e){
+ log.error("璁板綍鎿嶄綔鏃ュ織澶辫触锛�"+e.getMessage());
+ }
}
- //return locDetls1;
+ log.info("鐩樼偣鍑哄簱{}鏉$鍙凤紒", total);
}
public int getTotal() {
return total;
}
+ public boolean getSign() {
+ return sign;
+ }
+
+ public String getErrorMsgOrderLoc() {
+ return errorMsgOrderLoc;
+ }
+
}
--
Gitblit v1.9.1