From 6eb6a4b530627471d41979ccbc977a7371e99c1f Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期一, 04 十一月 2024 15:36:59 +0800
Subject: [PATCH] 找库位
---
src/main/java/com/zy/asrs/controller/AgvMobileController.java | 67 ++++++++++++++++++++++++++++++---
1 files changed, 60 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 4fcccae..34ec03d 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -5,10 +5,12 @@
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
+import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.OrderServiceImpl;
import com.zy.common.web.BaseController;
import io.swagger.models.auth.In;
import lombok.Synchronized;
@@ -47,6 +49,12 @@
private AgvWrkMastService agvWrkMastService;
@Autowired
private AgvWrkDetlService agvWrkDetlService;
+ @Autowired
+ private SnowflakeIdWorker snowflakeIdWorker;
+ @Autowired
+ private FlowLogService flowLogService;
+ @Autowired
+ private OrderServiceImpl orderService;
/*
@@ -373,9 +381,7 @@
- if((!Cools.eq("F",agvLocMastByContainerCode.getLocSts())
- && !Cools.eq("D",agvLocMastByContainerCode.getLocSts()))
- || (!Cools.eq("F",agvLocMastByLocNo.getLocSts())
+ if((!Cools.eq("F",agvLocMastByLocNo.getLocSts())
&& !Cools.eq("D",agvLocMastByLocNo.getLocSts()))){
return R.error("搴撲綅鐘舵�佷笉涓篎鎴栬�匘锛屾棤娉曠淮鎶�");
@@ -428,7 +434,13 @@
}
if((listByLocNo == null && listByContainerCode == null) || listByLocNo.equals(listByContainerCode)){
- return R.ok("璇ュ簱浣嶄笌璐ф灦搴撳瓨涓�鑷达紝鏃犻渶缁存姢");
+ //agvLocMastByContainerCode.setBarcode(agvLocMastByLocNo.getBarcode());
+ //agvLocMastService.updateById(agvLocMastByContainerCode);
+
+ agvLocMastByLocNo.setBarcode(containerCode);
+ agvLocMastService.updateById(agvLocMastByLocNo);
+ //return R.ok("璇ュ簱浣嶄笌璐ф灦搴撳瓨涓�鑷达紝鏃犻渶缁存姢");
+ return R.ok("缁存姢鎴愬姛");
}
@@ -514,6 +526,7 @@
List<HashMap<String,String>> dbList = (List<HashMap<String, String>>) params.get("dbList");
params.get("dbList");
Object mT = params.get("moveType");
+ String orderNo = params.get("orderNo").toString();
String moveType = "";
Integer ioType = 0;
if (mT.equals("unAuto")) {
@@ -541,12 +554,14 @@
}
AgvWrkMast wrkMast = createWrkMast(ioType, 22L, locNo, "", barcode, now, getUserId(), 30,floor);
// 鍚屾璋冩嫧鍗�
+ long flowId = snowflakeIdWorker.nextId();
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
for (AgvLocDetl agvLocDetl : agvLocDetls) {
AgvWrkDetl wrkDetl = new AgvWrkDetl();
wrkDetl.setWrkNo(wrkMast.getWrkNo());
wrkDetl.sync(agvLocDetl);
wrkDetl.setSuppCode(agvLocDetl.getSuppCode());
+ wrkDetl.setModel(orderNo);
wrkDetl.setIoTime(now);
wrkDetl.setAppeUser(getUserId());
wrkDetl.setAppeTime(now);
@@ -556,10 +571,48 @@
throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
}
// 鏇存柊璁㈠崟
- OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("source",33).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
+ OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no",orderNo).eq("source",33).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
+ // 鍒ゆ柇璁㈠崟鏄惁瓒呴噺
+ if (orderDetl.getQty() >= orderDetl.getAnfme()) {
+ throw new CoolException("璋冩嫧鍗�:" + orderNo + "鐨�<" + agvLocDetl.getMatnr() + ">宸插畬鎴愯皟鎷ㄦ暟閲�,璇锋鏌�!");
+ }
+ // FlowLog flowLog = new FlowLog();
+// flowLog.setFid(String.valueOf(flowId));
+// flowLog.setSpare2(wrkMast.getWrkNo().toString());
+// flowLog.setLocNo(wrkMast.getSourceLocNo());
+// flowLog.setSpare1(barcode);
+// flowLog.setOpType(5L);
+// flowLog.setOrderNo(orderDetl.getOrderNo());
+// flowLog.setThreeCode(orderDetl.getThreeCode());
+// flowLog.setMatnr(agvLocDetl.getMatnr());
+// flowLog.setMaktx(agvLocDetl.getMaktx());
+// flowLog.setOrderPrevious(orderDetl.getAnfme());
+// flowLog.setOrderCurrent(orderDetl.getAnfme());
+// flowLog.setOrderChanged(0.0);
+//
+// flowLog.setQtyPrevious(orderDetl.getQty());
+// flowLog.setQtyCurrent(orderDetl.getQty() + agvLocDetl.getAnfme());
+// flowLog.setQtyChanged(agvLocDetl.getAnfme());
+//
+// flowLog.setLocPrevious(agvLocDetl.getAnfme());
+// flowLog.setLocCurrent(0.0d);
+// flowLog.setLocChanged(agvLocDetl.getAnfme());
+// flowLog.setUserId(getUserId());
+// flowLog.setAppeTime(now);
+// if (!flowLogService.insert(flowLog)) {
+// throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
+// }
orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
- if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("source",33).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
- throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr());
+ if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no",orderNo).eq("source",33).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
+ throw new CoolException("璁㈠崟鍙凤細{"+orderNo+"}鏇存柊璁㈠崟鏄庣粏澶辫触锛� 寮傚父鐗╂枡:"+agvLocDetl.getMatnr()+"(鍗婃垚鍝佽皟鎷ㄥ崟浠诲姟)" );
+ }
+ // 鏇存柊璁㈠崟鐘舵��
+ Order order = orderService.selectByNo(orderDetl.getOrderNo());
+ Long settle = order.getSettle();
+ if (settle == 1L) {
+ if (!orderService.updateSettle(order.getId(),2L,getUserId())) {
+ throw new CoolException("璁㈠崟鍙凤細{"+order.getOrderNo()+"}鏇存柊璁㈠崟鐘舵�侊細1-->2 澶辫触锛�(鍗婃垚鍝佽皟鎷ㄥ崟浠诲姟)" );
+ }
}
}
// 鏇存柊婧愬簱浣�
--
Gitblit v1.9.1