From 4f45f8f3ec334a73ba24fc5d16017b5c044168aa Mon Sep 17 00:00:00 2001
From: Administrator <1051256694@qq.com>
Date: 星期五, 13 三月 2026 11:24:01 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/api/controller/params/WorkTaskParams.java | 6 ++
src/main/java/com/zy/asrs/controller/OpenController.java | 35 +++++++++++
src/main/java/com/zy/asrs/entity/param/ErpPakoutReportParam.java | 2
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 60 ++++++++++----------
src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 9 --
src/main/java/com/zy/common/web/WcsController.java | 2
src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java | 18 ++++++
src/main/resources/application.yml | 2
src/main/java/com/zy/asrs/task/handler/WorkOutErpReportHandler.java | 4 +
9 files changed, 97 insertions(+), 41 deletions(-)
diff --git a/src/main/java/com/zy/api/controller/params/WorkTaskParams.java b/src/main/java/com/zy/api/controller/params/WorkTaskParams.java
index 8c462b9..6318ca0 100644
--- a/src/main/java/com/zy/api/controller/params/WorkTaskParams.java
+++ b/src/main/java/com/zy/api/controller/params/WorkTaskParams.java
@@ -45,5 +45,11 @@
@ApiModelProperty("鏄惁浣欐枡")
private Integer isSuplus;
+ @ApiModelProperty("缁�")
+ private Integer batch;
+
+ @ApiModelProperty("搴忓彿")
+ private Integer batchSeq;
+
}
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 60af588..19c03a1 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -7,6 +7,7 @@
import com.core.annotations.AppAuth;
import com.core.common.*;
import com.core.exception.CoolException;
+import com.google.common.collect.Lists;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.LocDetlService;
@@ -16,6 +17,7 @@
import com.zy.common.model.DetlDto;
import com.zy.common.model.LocDetlDto;
import com.zy.common.model.enums.WorkNoType;
+import com.zy.common.utils.Synchro;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -423,6 +425,7 @@
*/
@PostMapping("/comb/auth")
public synchronized R comb(@RequestBody ArrayList<MesToCombParam> param){
+ List<MesToCombReturnParam> errorComb = Lists.newArrayList();
for (MesToCombParam mesToCombParam : param) {
// if (mesToCombParam.getPalletId().length() != 8) {
// return R.error(mesToCombParam.getPalletId()+"-璇ユ墭鐩樼爜涓嶄负8浣�");
@@ -435,7 +438,10 @@
int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", mesToCombParam.getPalletId()));
// int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getPalletId()));
if (countLoc > 0 || countWrk > 0) {
- return R.error(mesToCombParam.getPalletId()+"-宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�");
+ MesToCombReturnParam mesToCombReturnParam = new MesToCombReturnParam();
+ Synchro.Copy(mesToCombParam, mesToCombReturnParam);
+ errorComb.add(mesToCombReturnParam);
+// return R.error(mesToCombParam.getPalletId()+"-宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�");
}
// 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
@@ -445,6 +451,10 @@
}
for (MesToCombParam mesToCombParam : param) {
openService.mesToComb(mesToCombParam);
+ }
+ // TODO:寰呮祴璇�
+ if(errorComb.size() > 0) {
+ return R.error("鎵樼洏宸插湪搴撳瓨涓�/宸插紑濮嬪叆搴�").add(errorComb);
}
return R.ok();
@@ -456,9 +466,30 @@
@PostMapping("/outOrder")
public synchronized R outOrder (@RequestBody ArrayList<OutTaskParam> params){
+ List<OutTaskReturnParam> errorOutOrders = Lists.newArrayList();
for (OutTaskParam outTaskParam : params) {
- openService.outOrder(outTaskParam);
+ // TODO:寰呮脯瑭︼紝鏍¢搴瓨淇℃伅锛屼笉瀛樺湪鍓囪繑鍥�
+ int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", outTaskParam.getPalletId()));
+ if (countLoc == 0){
+ OutTaskReturnParam outTaskReturnParam = new OutTaskReturnParam();
+ Synchro.Copy(outTaskParam, outTaskReturnParam);
+ errorOutOrders.add(outTaskReturnParam);
+
+ params.remove(outTaskParam);
+ }
}
+
+ for (OutTaskParam outTaskParam : params) {
+ R r = openService.outOrder(outTaskParam);
+ if (!r.get("code").equals(200)){
+ return r;
+ }
+ }
+
+ if(errorOutOrders.size() > 0) {
+ return R.error("搴撳瓨涓笉瀛樺湪璇ユ墭鐩�").add(errorOutOrders);
+ }
+
return R.ok();
}
diff --git a/src/main/java/com/zy/asrs/entity/param/ErpPakoutReportParam.java b/src/main/java/com/zy/asrs/entity/param/ErpPakoutReportParam.java
index 79c5610..1f5ffb7 100644
--- a/src/main/java/com/zy/asrs/entity/param/ErpPakoutReportParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/ErpPakoutReportParam.java
@@ -10,4 +10,6 @@
private String createTime;
private String startTime;
+
+ private String orderId;
}
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 449a143..2029fd8 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1535,37 +1535,37 @@
}
}
for (WrkDetl wrkDetl : wrkDetls) {
- if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
-// if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
-// throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
-// }
- OrderInAndOutUtil.decrease(Boolean.FALSE,wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),
- wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
- wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(), wrkDetl.getAnfme());
-
- //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼
- boolean flag = true;
-// List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo()));
- Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, wrkDetl.getOrderNo());
- List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId());
- for(OrderDetl orderDetl : orderDetls){
- if(orderDetl.getWorkQty() > 0){
- flag = false;
- }
- }
- if(flag){
-// Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()));
- if(!Cools.isEmpty(order) && order.getSettle()==2){
- order.setSettle(1L);
- order.setUpdateBy(userId);
- order.setUpdateTime(now);
- }
-// if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){
-// throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
+// if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+//// if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
+//// throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
+//// }
+// OrderInAndOutUtil.decrease(Boolean.FALSE,wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),
+// wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),
+// wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(), wrkDetl.getAnfme());
+//
+// //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼
+// boolean flag = true;
+//// List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo()));
+// Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, wrkDetl.getOrderNo());
+// List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId());
+// for(OrderDetl orderDetl : orderDetls){
+// if(orderDetl.getWorkQty() > 0){
+// flag = false;
// }
- OrderInAndOutUtil.updateOrder(Boolean.FALSE,order.getId(),order.getSettle(),userId);
- }
- }
+// }
+// if(flag){
+//// Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()));
+// if(!Cools.isEmpty(order) && order.getSettle()==2){
+// order.setSettle(1L);
+// order.setUpdateBy(userId);
+// order.setUpdateTime(now);
+// }
+//// if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){
+//// throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
+//// }
+// OrderInAndOutUtil.updateOrder(Boolean.FALSE,order.getId(),order.getSettle(),userId);
+// }
+// }
}
}
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index d672fdb..d0a61ca 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -73,13 +73,6 @@
if (wrkMast.getIoType()>100&& !wrkMast.getPdcType().equals("Y")) {
continue;
}
- Integer crnNo = wrkMast.getCrnNo();
- //璇ュ爢鍨涙満宸茬粡涓嬪彂浠诲姟缁檞cs鍚庝笉鍐嶄笅鍙戞柊鐨勬惉杩愪换鍔�
- List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("wrk_sts", Arrays.asList(2L, 12L)));
- if (!wrkMasts1.isEmpty()) {
- continue;
- }
-
String wcsSourceLocNo = Cools.isEmpty(wrkMast.getSourceLocNo()) ? "" : Utils.WMSLocToWCSLoc(wrkMast.getSourceLocNo());
String wcsLocNo = Cools.isEmpty(wrkMast.getLocNo()) ? "" : Utils.WMSLocToWCSLoc(wrkMast.getLocNo());
WorkTaskParams params = new WorkTaskParams();
@@ -90,6 +83,8 @@
.setLocNo(wcsSourceLocNo)
.setStaNo(String.valueOf(wrkMast.getStaNo()))
.setTaskPri(wrkMast.getIoPri().intValue())
+ .setBatch(1)
+ .setBatchSeq(wrkMast.getPltType())
.setBarcode(wrkMast.getBarcode());
}else if(wrkMast.getIoType()==2&& !Cools.isEmpty(wrkMast.getSourceStaNo())){
params.setType("in")
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java
index 87043a6..c0ac56b 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java
@@ -77,6 +77,24 @@
WaitPakin waitPakin = findWaitPakin(wrkMast.getBarcode());
ErpPakinReportParam param = buildParam(wrkMast, wrkDetls, waitPakin);
+
+ // 搴綅杞夋彌
+ String locId = param.getLocId();
+ String row = locId.substring(0, 2);
+ String col = locId.substring(2, 5);
+ String lev = locId.substring(5, 7);
+ if(Integer.parseInt(row) >= 37) {
+ row = "C" + row;
+ } else if(Integer.parseInt(row) >= 13) {
+ row = "B" + row;
+ } else {
+ row = "A" + row;
+ }
+ String newLocId = row + "-" + col + "-" + lev;
+ param.setLocId(newLocId);
+ // TODO锛氭ā鎿姝婚噸閲�1000KG锛岄渶寰岀簩鍒櫎
+ param.setWeight(1000.0);
+
String request = JSON.toJSONString(param);
String response = "";
boolean success = false;
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkOutErpReportHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkOutErpReportHandler.java
index 433efdb..062c901 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkOutErpReportHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkOutErpReportHandler.java
@@ -65,6 +65,10 @@
}
ErpPakoutReportParam param = buildParam(wrkMast);
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ if (wrkDetls != null && wrkDetls.size() > 0) {
+ param.setOrderId(wrkDetls.get(0).getOrderNo());
+ }
String request = JSON.toJSONString(param);
String response = "";
boolean success = false;
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 80df050..8f099ca 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -79,7 +79,7 @@
return R.ok(dto1);
}
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("io_type", 1));
- if (!Cools.isEmpty(wrkMasts) && wrkMasts.size() > 1) {
+ if (!Cools.isEmpty(wrkMasts) && wrkMasts.size() > 10) {
return R.error("闄愯");
}
waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c9a4ea6..1f5ceb9 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -97,7 +97,7 @@
#鍏ュ簱涓婃姤
Inaddress: /api/Service/InPalletCompleted
#鍑哄簱涓婃姤
- Outaddress: /kapi/v2/eap7/basedata/bd_material/batchQuery
+ Outaddress: /api/Service/OutPalletCompleted
#wcs浠诲姟涓嬪彂
wcs:
--
Gitblit v1.9.1