From b7380ff70bcc962494cd6640fcc3eac21aaab0a1 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期四, 15 一月 2026 08:09:29 +0800
Subject: [PATCH] 1.自动下发出库任务给wcs 2.wcs申请入库
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 366 ----------------------------------------------------
1 files changed, 0 insertions(+), 366 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 8121973..26dc432 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -24,7 +24,6 @@
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
-import com.zy.erp.kingdee.utils.PostMesDataUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -706,334 +705,6 @@
}
}
- @Override
- @Transactional
- public void combAgv(CombParam param, Long userId) {
- if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
- throw new CoolException(BaseRes.PARAM);
- }
-// if(param.getCombMats().size()>1){
-// throw new CoolException("璇锋彁鍙栦竴涓晢鍝侊紝鎴栬�呭埛鏂伴噸鏂扮粍鎵橈紒");
-// }
- // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
- if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
- eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
- throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
- }
-
- if(param.getBarcode().length()!=6){
- throw new CoolException("鏉$爜闀垮害涓嶆槸6浣�===>>" + param.getBarcode());
- }
-// if (param.getCombMats().size()>1){
-// throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode());
-// }
-
- int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
- int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
- int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode()));
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",param.getLocNo()));
- if (countLoc > 0 || countWrk > 0 || countwait > 0) {
- throw new CoolException("缁勬墭妗�/宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
- }
-
-
- Date now = new Date();
- boolean allEmpty = true;
- if (param.getCombMats() != null) {
- for (CombParam.CombMat mat : param.getCombMats()) {
- if (!Cools.isEmpty(mat.getOrderNo())) {
- allEmpty = false;
- break;
- }
- }
- }
- // 鏃犲崟缁勬墭
- if (allEmpty) {
-
- // 鐢熸垚鍏ュ簱閫氱煡妗�
- List<DetlDto> detlDtos = new ArrayList<>();
- param.getCombMats().forEach(elem -> {
- DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(),
- elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme());
- detlDto.setMemo(elem.getMemo());
- detlDto.setSupp(elem.getSupp());
- detlDto.setManu(elem.getManu());
- detlDto.setSuppCode(elem.getSuppCode());
- if (DetlDto.has(detlDtos, detlDto)) {
- DetlDto one = DetlDto.findDto(detlDtos, detlDto);
- assert one != null;
- one.setAnfme(one.getAnfme() + detlDto.getAnfme());
- } else {
- detlDtos.add(detlDto);
- }
- });
-
-
- for (DetlDto detlDto : detlDtos) {
- Mat mat = matService.selectByMatnr(detlDto.getMatnr());
- if (Cools.isEmpty(mat)) {
- throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
- }
- WaitPakin waitPakin = new WaitPakin();
- waitPakin.sync(mat);
- waitPakin.setBatch(detlDto.getBatch());
- waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
- waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
- waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
- waitPakin.setStatus("Y"); // 鐘舵��
- waitPakin.setAppeUser(userId);
- waitPakin.setAppeTime(now);
- waitPakin.setModiUser(userId);
- waitPakin.setModiTime(now);
- waitPakin.setMemo(detlDto.getMemo());
- waitPakin.setSupp(detlDto.getSupp());
- waitPakin.setSuppCode(detlDto.getSuppCode());
- waitPakin.setManu(detlDto.getManu());
- waitPakin.setStandby1(detlDto.getStandby1());
- waitPakin.setStandby2(detlDto.getStandby2());
- waitPakin.setStandby3(detlDto.getStandby3());
- waitPakin.setBoxType1(detlDto.getBoxType1());
- waitPakin.setBoxType2(detlDto.getBoxType2());
- waitPakin.setBoxType3(detlDto.getBoxType3());
- if (!waitPakinService.insert(waitPakin)) {
- throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
- }
- }
- // 鍏宠仈缁勬墭
- } else {
-// Order order = orderService.selectByNo(param.getOrderNo());
- Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, param.getCombMats().get(0).getOrderNo());
- if (Cools.isEmpty(order) || order.getSettle() > 2) {
- throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
- }
- // 鐢熸垚鍏ュ簱閫氱煡妗�
- List<DetlDto> detlDtos = new ArrayList<>();
- param.getCombMats().forEach(elem -> {
-
- // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
-// OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
- OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.TRUE, order.getId(), elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(),
- elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3());
- if (elem.getAnfme() > orderDetl.getEnableQty()) {
- throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
- }
- OrderInAndOutUtil.increaseWorkQty(Boolean.TRUE,order.getId(), elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(),
- elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme());
- DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(),
- elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme());
- detlDto.setMemo(elem.getMemo());
- detlDto.setSupp(elem.getSupp());
- detlDto.setManu(elem.getManu());
- detlDto.setSuppCode(elem.getSuppCode());
- if (DetlDto.has(detlDtos, detlDto)) {
- DetlDto one = DetlDto.findDto(detlDtos, detlDto);
- assert one != null;
- one.setAnfme(one.getAnfme() + detlDto.getAnfme());
- } else {
- detlDtos.add(detlDto);
- }
- });
- for (DetlDto detlDto : detlDtos) {
- Mat mat = matService.selectByMatnr(detlDto.getMatnr());
- if (Cools.isEmpty(mat)) {
- throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
- }
- WaitPakin waitPakin = new WaitPakin();
- waitPakin.sync(mat);
- waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿
- waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮�
- waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
- waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
- waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
- waitPakin.setStatus("Y"); // 鐘舵��
- waitPakin.setAppeUser(userId);
- waitPakin.setAppeTime(now);
- waitPakin.setModiUser(userId);
- waitPakin.setModiTime(now);
- waitPakin.setMemo(detlDto.getMemo());
- waitPakin.setSupp(detlDto.getSupp());
- waitPakin.setSuppCode(detlDto.getSuppCode());
- waitPakin.setManu(detlDto.getManu());
- waitPakin.setStandby1(detlDto.getStandby1());
- waitPakin.setStandby2(detlDto.getStandby2());
- waitPakin.setStandby3(detlDto.getStandby3());
- waitPakin.setBoxType1(detlDto.getBoxType1());
- waitPakin.setBoxType2(detlDto.getBoxType2());
- waitPakin.setBoxType3(detlDto.getBoxType3());
- if (!waitPakinService.insert(waitPakin)) {
- throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
- }
- }
-
- BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
- BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", param.getLocNo()));
- AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam();
- agvBindCtnrAndBinParam.setCtnrCode(param.getBarcode());
- agvBindCtnrAndBinParam.setCtnrTyp("1");
- agvBindCtnrAndBinParam.setStgBinCode(basAgvLocNoSou.getAgvLocNo());
- agvBindCtnrAndBinParam.setReqCode(String.valueOf(System.currentTimeMillis()));
- agvBindCtnrAndBinParam.setIndBind("1");
- ReturnT<String> resultBind = new PostMesDataUtils().postMesDataArmGrating("AGV瀹瑰櫒缁戝畾",
- AgvConstant.AGV_URL+"/"+AgvConstant.AGV_1LBind,AgvConstant.getAGVADAPTOR(1), agvBindCtnrAndBinParam);
- if(resultBind.getCode() != 200){
- throw new CoolException("agv鍏ュ簱缁戝畾澶辫触");
- }
- locMast.setBarcode(param.getBarcode());
- locMast.setLocSts("R");
- if(!locMastService.updateById(locMast)){
- throw new CoolException("鏂板agv鍏ュ簱浠诲姟澶辫触");
- }
- OrderInAndOutUtil.updateOrder(Boolean.TRUE,order.getId(), 2L, userId);
- }
- }
-
- @Override
- @Transactional
- public void
- combAuto(CombParam param, Long userId) {
- if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
- throw new CoolException(BaseRes.PARAM);
- }
-// if(param.getCombMats().size()>1){
-// throw new CoolException("璇锋彁鍙栦竴涓晢鍝侊紝鎴栬�呭埛鏂伴噸鏂扮粍鎵橈紒");
-// }
- // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
- if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
- eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
- throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
- }
-
- if(param.getBarcode().length()!=6){
- throw new CoolException("鏉$爜闀垮害涓嶆槸6浣�===>>" + param.getBarcode());
- }
-// if (param.getCombMats().size()>1){
-// throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode());
-// }
-
- int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
- int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
- int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode()));
- if (countLoc > 0 || countWrk > 0 || countwait > 0) {
- throw new CoolException("缁勬墭妗�/宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
- }
-
- Date now = new Date();
- boolean result = false;
- String orderNo = null;
- String orderNo1 = null;
- for (CombParam.CombMat combMat : param.getCombMats()) {
- if(combMat.getSupplier().equals("1")){
- List<OrderDetlPakin> orderDetlPakins2 = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
- .eq("matnr", combMat.getMatnr()).eq("box_type3", combMat.getOrderNo())
- .eq("box_type2","BU-00001"));
- if (orderDetlPakins2.size() > 0) {
- orderNo1 = orderDetlPakins2.get(0).getOrderNo();
- } else {
- throw new CoolException("鏈煡璇㈠埌鐩稿叧璁㈠崟===>>" + param.getBarcode());
- }
- result = true;
- }
- //0
- List<OrderDetlPakin> orderDetlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
- .eq("matnr", combMat.getMatnr()).eq("box_type3", combMat.getOrderNo())
- .eq("standby1", combMat.getStandby1()).eq("standby2", combMat.getStandby2())
- .eq("standby3", combMat.getStandby3()).eq("box_type2","shyucheng.test"));
- if (orderDetlPakins.size() > 0) {
- orderNo = orderDetlPakins.get(0).getOrderNo();
- combMat.setBoxType1(orderDetlPakins.get(0).getBoxType1());
- combMat.setBoxType2(orderDetlPakins.get(0).getBoxType2());
- combMat.setBoxType3(orderDetlPakins.get(0).getBoxType3());
- combMat.setMemo(orderDetlPakins.get(0).getMemo());
- combMat.setSupp(orderDetlPakins.get(0).getSupp());
- combMat.setSuppCode(orderDetlPakins.get(0).getSuppCode());
- combMat.setManu(orderDetlPakins.get(0).getManu());//浠撳簱缂栫爜
- } else {
- throw new CoolException("鏈煡璇㈠埌鐩稿叧璁㈠崟===>>" + param.getBarcode());
- }
- }
-
-
-
-// Order order = orderService.selectByNo(param.getOrderNo());
- Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, orderNo);
- if (Cools.isEmpty(order) || order.getSettle() > 2) {
- throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
- }
- Order order1 = orderService.selectByNo(orderNo);
- if (Cools.isEmpty(order1) || order1.getSettle() > 2) {
- throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
- }
- if(result){
- order1.setPayType(1);// y->h
- order1.setSalesman(orderNo1);
- orderService.updateById(order1);
- }
- // 鐢熸垚鍏ュ簱閫氱煡妗�
- List<DetlDto> detlDtos = new ArrayList<>();
- param.getCombMats().forEach(elem -> {
- // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
-// OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
- OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.TRUE, order.getId(), elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(),
- elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3());
- if (elem.getAnfme() > orderDetl.getEnableQty()) {
- throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
- }
- // 淇敼璁㈠崟浣滀笟鏁伴噺
-// if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
-// throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
-// }
- OrderInAndOutUtil.increaseWorkQty(Boolean.TRUE,order.getId(), elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(),
- elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme());
- DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(),
- elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme());
- detlDto.setMemo(elem.getMemo());
- detlDto.setSupp(elem.getSupp());
- detlDto.setManu(elem.getManu());
- detlDto.setSuppCode(elem.getSuppCode());
- if (DetlDto.has(detlDtos, detlDto)) {
- DetlDto one = DetlDto.findDto(detlDtos, detlDto);
- assert one != null;
- one.setAnfme(one.getAnfme() + detlDto.getAnfme());
- } else {
- detlDtos.add(detlDto);
- }
- });
- for (DetlDto detlDto : detlDtos) {
- Mat mat = matService.selectByMatnr(detlDto.getMatnr());
- if (Cools.isEmpty(mat)) {
- throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
- }
- WaitPakin waitPakin = new WaitPakin();
- waitPakin.sync(mat);
- waitPakin.setOrderNo(orderNo); // 鍗曟嵁缂栧彿
- waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮�
- waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
- waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
- waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
- waitPakin.setStatus("Y"); // 鐘舵��
- waitPakin.setAppeUser(userId);
- waitPakin.setAppeTime(now);
- waitPakin.setModiUser(userId);
- waitPakin.setModiTime(now);
- waitPakin.setMemo(detlDto.getMemo());
- waitPakin.setSupp(detlDto.getSupp());
- waitPakin.setSuppCode(detlDto.getSuppCode());
- waitPakin.setManu(detlDto.getManu());
- waitPakin.setStandby1(detlDto.getStandby1());
- waitPakin.setStandby2(detlDto.getStandby2());
- waitPakin.setStandby3(detlDto.getStandby3());
- waitPakin.setBoxType1(detlDto.getBoxType1());
- waitPakin.setBoxType2(detlDto.getBoxType2());
- waitPakin.setBoxType3(detlDto.getBoxType3());
- if (!waitPakinService.insert(waitPakin)) {
- throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
- }
- }
-// orderService.updateSettle(order.getId(), 2L, userId);
- OrderInAndOutUtil.updateOrder(Boolean.TRUE,order.getId(), 2L, userId);
-
-
- }
@Override
@Transactional
@@ -1680,42 +1351,5 @@
} else {
throw new CoolException(locDetl.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
}
- }
- @Override
- public void agvUnlockLoc(AgvUnlockLoc agvUnlockLoc){
- Date now = new Date();
- if(agvUnlockLoc.getFloorNo().equals(1)){
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",agvUnlockLoc.getPositionCode()));
- if(locMast != null){
- locMast.setLocSts("O");
- locMast.setBarcode("");
- locMast.setIoTime(now);
- locMast.setModiTime(now);
- if (!locMastService.updateById(locMast)) {
- throw new CoolException(agvUnlockLoc.getPositionCode() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
- }
- }
- }else{
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",agvUnlockLoc.getPositionCode()));
- AgvBindCtnrAndBinTwoParam agvBindCtnrAndBinTwoParam = new AgvBindCtnrAndBinTwoParam();
- agvBindCtnrAndBinTwoParam.setReqCode(String.valueOf(snowflakeIdWorker.nextId()));
- agvBindCtnrAndBinTwoParam.setPodcode(agvUnlockLoc.getPodcode());
- agvBindCtnrAndBinTwoParam.setPositionCode(agvUnlockLoc.getPositionCode());
- agvBindCtnrAndBinTwoParam.setIndBind("0");;
- ReturnT<String> resultBind = new PostMesDataUtils().postMesDataArmGrating("AGV搴撲綅瑙g粦",
- AgvConstant.AGV_URL+"/"+AgvConstant.AGV_hikRpcService,AgvConstant.getAGVADAPTOR(2), agvBindCtnrAndBinTwoParam);
- if (resultBind.getCode()!=1){
- if(locMast != null){
- locMast.setLocSts("O");
- locMast.setBarcode("");
- locMast.setIoTime(now);
- locMast.setModiTime(now);
- if (!locMastService.updateById(locMast)) {
- throw new CoolException(agvUnlockLoc.getPositionCode() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
- }
- }
- }
- }
-
}
}
--
Gitblit v1.9.1