From b43bef45af4d88d4b71c27e6c167010e65b6a040 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期五, 05 十二月 2025 12:59:40 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 392 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 382 insertions(+), 10 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 2cefd0f..2368ec4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -11,15 +11,20 @@
import com.zy.asrs.mapper.LocMastMapper;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
+import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.MatUtils;
import com.zy.asrs.utils.OrderInAndOutUtil;
+import com.zy.asrs.utils.Utils;
+import com.zy.common.constant.AgvConstant;
import com.zy.common.constant.MesConstant;
import com.zy.common.entity.Parameter;
import com.zy.common.model.DetlDto;
+import com.zy.common.model.LocDto;
import com.zy.common.model.MesCombParam;
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;
@@ -553,8 +558,8 @@
throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
}
- if(param.getBarcode().length()!=8){
- throw new CoolException("鏉$爜闀垮害涓嶆槸8浣�===>>" + param.getBarcode());
+ if(param.getBarcode().length()!=6){
+ throw new CoolException("鏉$爜闀垮害涓嶆槸6浣�===>>" + param.getBarcode());
}
// if (param.getCombMats().size()>1){
// throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode());
@@ -568,15 +573,27 @@
}
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 (Cools.isEmpty(param.getOrderNo())) {
+ 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;
@@ -603,6 +620,16 @@
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け璐�");
}
@@ -610,7 +637,7 @@
// 鍏宠仈缁勬墭
} else {
// Order order = orderService.selectByNo(param.getOrderNo());
- Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, param.getOrderNo());
+ Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, param.getCombMats().get(0).getOrderNo());
if (Cools.isEmpty(order) || order.getSettle() > 2) {
throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
}
@@ -625,14 +652,14 @@
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;
@@ -658,13 +685,330 @@
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
+ 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瀹瑰櫒瑙g粦",
+ 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();
+
+ String orderNo = null;
+ for (CombParam.CombMat combMat : param.getCombMats()) {
+ 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()));
+ 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("鍗曟嵁缂栧彿宸茶繃鏈�");
+ }
+ // 鐢熸垚鍏ュ簱閫氱煡妗�
+ 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);
+
}
@@ -812,8 +1156,36 @@
@Override
@Transactional
public void kittingCall(String locNo, Long userId) {
+ try{
+ List<StockOutParam.LocDetl> locDetls = new ArrayList<>();
-
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locNo));
+ if (locMast.getLocSts().equals("F")){
+ List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo));
+ for (LocDetl locDetl:locDetlList){
+ StockOutParam.LocDetl locDto = new StockOutParam.LocDetl();
+ locDto.setLocNo(locDetl.getLocNo());
+ locDto.setMatnr(locDetl.getMatnr());
+ locDto.setBatch(locDetl.getBatch());
+ locDto.setBrand(locDetl.getBrand());
+ locDto.setCount(locDetl.getAnfme());
+ locDto.setStandby1(locDetl.getStandby1());
+ locDto.setStandby2(locDetl.getStandby2());
+ locDto.setStandby3(locDetl.getStandby3());
+ locDto.setBoxType1(locDetl.getBoxType1());
+ locDto.setBoxType2(locDetl.getBoxType2());
+ locDto.setBoxType3(locDetl.getBoxType3());
+ locDetls.add(locDto);
+ }
+ }
+ StockOutParam param = new StockOutParam();
+ param.setOutSite(101);
+ param.setLocDetls(locDetls);
+ WorkService workService = SpringUtils.getBean(WorkService.class);
+ workService.locCheckOut(param,userId);
+ } catch (Exception e){
+ throw new CoolException("鐩樼偣鍚姩澶辫触锛侊紒锛�");
+ }
}
@Override
--
Gitblit v1.9.1