From 6a698875b0557c1e06a7e7958d2109aa210412f5 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期二, 27 五月 2025 10:18:58 +0800 Subject: [PATCH] 13 --- src/main/java/com/zy/asrs/service/WorkService.java | 2 src/main/java/com/zy/asrs/entity/param/CombParam.java | 6 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 136 +++++++------ src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 10 src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java | 4 src/main/java/com/zy/asrs/controller/MobileController.java | 26 ++ src/main/java/com/zy/common/web/WcsController.java | 53 +++-- src/main/java/com/zy/asrs/entity/param/MatParam.java | 4 src/main/java/com/zy/asrs/entity/param/MobileAdjustParam.java | 2 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 220 ++++++++++++++++++++++ src/main/java/com/zy/asrs/entity/result/MobileAdjustResult.java | 2 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 46 +++- src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 22 + src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 34 ++- 14 files changed, 441 insertions(+), 126 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index 716d347..fd3c763 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -15,7 +15,6 @@ import com.zy.asrs.service.*; import com.zy.asrs.utils.OrderInAndOutUtil; import com.zy.common.model.WrkDto; -import com.zy.common.model.enumUtils.OrderEnumVo; import com.zy.common.utils.Synchro; import com.zy.common.web.BaseController; import com.zy.nc.entity.NccJcQilibcBarcodeflowWms; @@ -207,11 +206,13 @@ LinkedList<CombParam.CombMat> combMats = new LinkedList<>(); for (OrderDetl orderDetl : orderDetls) { CombParam.CombMat combMat = new CombParam.CombMat(); + Synchro.Copy(orderDetl, combMat); combMat.setMatnr(orderDetl.getMatnr()); combMat.setBatch(orderDetl.getBatch()); combMat.setAnfme(orderDetl.getAnfme() - orderDetl.getWorkQty()); combMat.setMaktx(orderDetl.getMaktx()); combMat.setSpecs(orderDetl.getSpecs()); + combMat.setEnableQty(orderDetl.getAnfme() - orderDetl.getWorkQty()); combMats.add(combMat); } combParam.setCombMats(combMats); @@ -240,7 +241,7 @@ MatParam matParam = new MatParam(); Synchro.Copy(mat, matParam); matParam.setBatch(nccJcQilibcBarcodeflowWms.getVbatchcode()); - matParam.setAnfme(12D); + matParam.setAnfme(nccJcQilibcBarcodeflowWms.getNastnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getNastnum().doubleValue()); return R.ok().add(matParam); } @@ -501,6 +502,27 @@ return R.ok(); } + @RequestMapping("/checkDetl/auth/v2") + @ManagerAuth + public R getCheckDetlV2(@RequestParam(required = false) String barcode) { + if (Cools.isEmpty(barcode)) { + return R.ok(); + } + WrkMast wrkMast = wrkMastService.selectByBarcode(barcode); + if (wrkMast != null && (wrkMast.getIoType() == 107 || wrkMast.getIoType() == 57)) { + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + if (!Cools.isEmpty(wrkDetls)) { + MobileAdjustResult result = new MobileAdjustResult(); + result.setBarcode(barcode); + result.setWrkNo(wrkMast.getWrkNo()); + result.setWrkDetls(wrkDetls); + return R.ok().add(result); + } + } + return R.ok(); + } + + @RequestMapping("/adjust/auth") @ManagerAuth(memo = "鐩樼偣") public R adjust(@RequestBody MobileAdjustParam combParam) { diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java index a8880ee..ce18692 100644 --- a/src/main/java/com/zy/asrs/entity/param/CombParam.java +++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java @@ -25,8 +25,7 @@ @Data public static class CombMat { - // 鏉$爜 - private String vbarcode; + private Long id; private String orderNo; @@ -47,6 +46,9 @@ // 鐗╂枡鏁伴噺 private Double anfme; + // 鐗╂枡鏁伴噺 + private Double enableQty; + // 鍟嗗搧鍚嶇О private String maktx; diff --git a/src/main/java/com/zy/asrs/entity/param/MatParam.java b/src/main/java/com/zy/asrs/entity/param/MatParam.java index 9844976..a1373e9 100644 --- a/src/main/java/com/zy/asrs/entity/param/MatParam.java +++ b/src/main/java/com/zy/asrs/entity/param/MatParam.java @@ -192,5 +192,9 @@ * 澶囨敞 */ private String memo; + /** + * 澶囨敞 + */ + private Integer times = 0; } diff --git a/src/main/java/com/zy/asrs/entity/param/MobileAdjustParam.java b/src/main/java/com/zy/asrs/entity/param/MobileAdjustParam.java index 87f9c6f..f26bae7 100644 --- a/src/main/java/com/zy/asrs/entity/param/MobileAdjustParam.java +++ b/src/main/java/com/zy/asrs/entity/param/MobileAdjustParam.java @@ -13,6 +13,8 @@ private Integer staNo; + private String barcode; + private Integer wrkNo; private List<WrkDetl> wrkDetls; diff --git a/src/main/java/com/zy/asrs/entity/result/MobileAdjustResult.java b/src/main/java/com/zy/asrs/entity/result/MobileAdjustResult.java index 53616e9..ddf0f34 100644 --- a/src/main/java/com/zy/asrs/entity/result/MobileAdjustResult.java +++ b/src/main/java/com/zy/asrs/entity/result/MobileAdjustResult.java @@ -13,6 +13,8 @@ private Integer staNo; + private String barcode; + private Integer wrkNo; private List<WrkDetl> wrkDetls; diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java index 8d34c6e..6957b76 100644 --- a/src/main/java/com/zy/asrs/service/WorkService.java +++ b/src/main/java/com/zy/asrs/service/WorkService.java @@ -102,4 +102,6 @@ void turnMatLocDetl(EmptyPlateOutParam param, Long userId); + void adjustLocDetl2(LocDetlAdjustParam param, Long userId); + } 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 2238830..f6962d0 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -17,7 +17,6 @@ import com.zy.common.model.DetlDto; import com.zy.common.model.enums.WorkNoType; import com.zy.common.service.CommonService; -import com.zy.nc.entity.NccJcQilibcBarcodeflowWms; import com.zy.nc.service.NccJcQilibcBarcodeflowWmsService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -47,6 +46,8 @@ private BasDevpService basDevpService; @Autowired private WrkMastService wrkMastService; + @Autowired + private WorkService workService; @Autowired private WrkDetlService wrkDetlService; @Autowired @@ -605,6 +606,12 @@ waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); + waitPakin.setBoxType1(detlDto.getBoxType1()); + waitPakin.setBoxType2(detlDto.getBoxType2()); + waitPakin.setBoxType3(detlDto.getBoxType3()); + waitPakin.setStandby1(detlDto.getStandby1()); + waitPakin.setStandby2(detlDto.getStandby2()); + waitPakin.setStandby3(detlDto.getStandby3()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } @@ -620,7 +627,6 @@ List<DetlDto> detlDtos = new ArrayList<>(); param.getCombMats().forEach(elem -> { - // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 // OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch()); @@ -662,6 +668,12 @@ waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); + waitPakin.setBoxType1(detlDto.getBoxType1()); + waitPakin.setBoxType2(detlDto.getBoxType2()); + waitPakin.setBoxType3(detlDto.getBoxType3()); + waitPakin.setStandby1(detlDto.getStandby1()); + waitPakin.setStandby2(detlDto.getStandby2()); + waitPakin.setStandby3(detlDto.getStandby3()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } @@ -731,14 +743,14 @@ @Override @Transactional public void adjust(MobileAdjustParam param, Long userId) { - BasDevp basDevp = basDevpService.selectById(param.getStaNo()); - if (null == basDevp || basDevp.getWrkNo() == null) { - throw new CoolException(param.getStaNo() + "鐩樼偣绔欐棤鏁�"); - } - if (!param.getWrkNo().equals(basDevp.getWrkNo())) { - throw new CoolException(param.getStaNo() + "鐩樼偣绔欐洿鏂帮紝璇烽噸鏂版绱�"); - } - WrkMast wrkMast = wrkMastService.selectById(param.getWrkNo()); +// BasDevp basDevp = basDevpService.selectById(param.getStaNo()); +// if (null == basDevp || basDevp.getWrkNo() == null) { +// throw new CoolException(param.getStaNo() + "鐩樼偣绔欐棤鏁�"); +// } +// if (!param.getWrkNo().equals(basDevp.getWrkNo())) { +// throw new CoolException(param.getStaNo() + "鐩樼偣绔欐洿鏂帮紝璇烽噸鏂版绱�"); +// } + WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); if (wrkMast.getWrkSts() < 10) { throw new CoolException("鐩樼偣鏃犳晥锛屼换鍔″凡鐩樼偣鍐嶅叆搴�"); } @@ -746,7 +758,10 @@ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); List<WrkDetl> list = param.getWrkDetls(); + LocDetlAdjustParam adjustParam = new LocDetlAdjustParam(); + List<LocDetlAdjustParam.LocDetlAdjust> locDetlAdjusts = new ArrayList<>(); + adjustParam.setLocNo(wrkMast.getSourceLocNo()); // 淇敼鏁伴噺 Iterator<WrkDetl> iterator = wrkDetls.iterator(); while (iterator.hasNext()) { @@ -796,15 +811,22 @@ if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("娣诲姞" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触"); } - } + } + List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + for (WrkDetl wrkDetl : wrkDetls1) { + LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme()); + locDetlAdjusts.add(locDetlAdjust); + } // 淇敼鐩樼偣浠诲姟涓绘。鐘舵�� - wrkMast.setFullPlt(wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()).size() != 0 ? "Y" : "N"); + wrkMast.setFullPlt(wrkDetls1.size() != 0 ? "Y" : "N"); wrkMast.setModiTime(now); wrkMast.setModiUser(userId); if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("淇敼鐩樼偣浠诲姟涓绘。澶辫触"); } + adjustParam.setList(locDetlAdjusts); + workService.adjustLocDetl2(adjustParam, userId); } diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 77062bf..7976cd9 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -49,18 +49,29 @@ private TagService tagService; @Autowired private TagMapper tagMapper; + @Autowired + private OrderDetlPakoutServiceImpl orderDetlPakoutService; + @Autowired + private OrderPakoutServiceImpl orderPakoutService; + @Autowired + private OrderPakinServiceImpl orderPakinService; @Override @Transactional public void pakinOrderCreate(OpenOrderPakinParam param) { - Order order = orderService.selectByNo(param.getOrderNo()); - if (!Cools.isEmpty(order)) { - throw new CoolException(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦"); + OrderPakin orderPakin = orderPakinService.selectByNo(param.getOrderNo()); + if (!Cools.isEmpty(orderPakin)) { + if (orderPakin.getSettle() > 1L) { + throw new CoolException(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦"); + } + orderPakinService.remove(orderPakin.getId()); + Order order = orderService.selectByNo(param.getOrderNo()); + orderService.remove(order.getId()); } DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.TRUE); Date now = new Date(); // 鍗曟嵁涓绘。 - order = new Order( + Order order = new Order( String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] param.getOrderNo(), // 璁㈠崟缂栧彿 DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 @@ -215,19 +226,20 @@ @Override @Transactional public void pakoutOrderCreate(OpenOrderPakoutParam param) { - Order order = orderService.selectByNo(param.getOrderNo()); + OrderPakout orderPakout = orderPakoutService.selectByNo(param.getOrderNo()); // 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹� - if (!Cools.isEmpty(order)) { - if (order.getSettle() > 1L) { - //TODO - //throw new CoolException(param.getOrderNo() + "姝e湪鍑哄簱锛屾棤娉曚慨鏀瑰崟鎹�"); + if (!Cools.isEmpty(orderPakout)) { + if (orderPakout.getSettle() > 1L) { + throw new CoolException(param.getOrderNo() + "姝e湪鍑哄簱锛屾棤娉曚慨鏀瑰崟鎹�"); } - orderService.remove(order.getId()); + orderService.remove(orderPakout.getId()); + Order order = orderService.selectByNo(param.getOrderNo()); + orderPakoutService.remove(order.getId()); } DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE); Date now = new Date(); // 鍗曟嵁涓绘。 - order = new Order( + Order order = new Order( String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] param.getOrderNo(), // 璁㈠崟缂栧彿 DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 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 e0ea69d..446d560 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -1055,6 +1055,226 @@ } } + @Override + @Transactional + public void adjustLocDetl2(LocDetlAdjustParam param, Long userId) { + param.integrate(); + LocMast locMast = locMastService.selectById(param.getLocNo()); + if (Cools.isEmpty(locMast)) { + throw new CoolException("搴撲綅涓嶅瓨鍦�"); + } + if (!(locMast.getLocSts().equals("P"))) { + throw new CoolException("褰撳墠搴撲綅涓嶅彲璋冩暣锛佸簱浣嶇姸鎬侊細" + locMast.getLocSts$()); + } + + Date now = new Date(); + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", param.getLocNo())); + + List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList(); + + // 娣诲姞鍘嗗彶宸ヤ綔涓绘。 + WrkMastLog wrkMast = new WrkMastLog(); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(5); + wrkMast.setIoPri(13D); // 浼樺厛绾� + wrkMast.setCrnNo(locMast.getCrnNo()); + wrkMast.setSourceLocNo(locMast.getLocNo()); + wrkMast.setLocNo(locMast.getLocNo()); + wrkMast.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("Y"); + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + wrkMast.setAppeUser(userId); + wrkMast.setModiUser(userId); + + // 澧炲垹鏀瑰彧鍒涘缓涓�娆″伐浣滀富妗� + boolean updateFlag = true; + boolean deleteFlag = true; + boolean addFlag = true; + + // 淇敼鏁伴噺 + Iterator<LocDetl> iterator = locDetls.iterator(); + while (iterator.hasNext()) { + LocDetl locDetl = iterator.next(); + + Iterator<LocDetlAdjustParam.LocDetlAdjust> iterator1 = list.iterator(); + while (iterator1.hasNext()) { + LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next(); + if (adjust.getCount() == 0) { continue; } + if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) { + if (!locDetl.getAnfme().equals(adjust.getCount())) { + // todo 鐩樼偣璁板綍 + // 淇敼搴撳瓨 + if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), + locDetl.getStandby1(),locDetl.getStandby2(),locDetl.getStandby3(),locDetl.getBoxType1(),locDetl.getBoxType2(),locDetl.getBoxType3())) { + throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触"); + } + // 淇濆瓨璋冩暣璁板綍 + AdjDetl adjDetl = new AdjDetl(); + adjDetl.setLocNo(locDetl.getLocNo()); + adjDetl.setMatnr(locDetl.getMatnr()); + adjDetl.setBatch(locDetl.getBatch()); + adjDetl.setOriQty(locDetl.getAnfme()); + adjDetl.setAdjQty(adjust.getCount()); + adjDetl.setModiTime(now); + adjDetl.setModiUser(userId); + adjDetl.setAppeTime(now); + adjDetl.setAppeUser(userId); + adjDetlService.save(adjDetl, userId); + + if (updateFlag) { + wrkMast.setWrkNo(commonService.getWorkNo(3)); + wrkMast.setIoType(23); + boolean res = wrkMastLogService.insert(wrkMast); + if (!res) { + throw new CoolException("搴撳瓨璋冩暣-淇敼 淇濆瓨宸ヤ綔妗eけ璐�"); + } + updateFlag = false; + } + + // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏 + WrkDetlLog wrkDetl = new WrkDetlLog(); + wrkDetl.sync(locDetl); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setAnfme(adjust.getCount()); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + wrkMast.setAppeUser(userId); + wrkMast.setModiUser(userId); + if (!wrkDetlLogService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } + } + iterator.remove(); + iterator1.remove(); + } + } + } + + // 鍒犻櫎搴撳瓨 + for (LocDetl locDetl : locDetls) { + // todo 鐩樼偣璁板綍 + if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBrand(), + locDetl.getStandby1(),locDetl.getStandby2(),locDetl.getStandby3(),locDetl.getBoxType1(),locDetl.getBoxType2(),locDetl.getBoxType3())) { + throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触"); + } + // 淇濆瓨璋冩暣璁板綍 + AdjDetl adjDetl = new AdjDetl(); + adjDetl.setLocNo(locDetl.getLocNo()); + adjDetl.setMatnr(locDetl.getMatnr()); + adjDetl.setBatch(locDetl.getBatch()); + adjDetl.setOriQty(locDetl.getAnfme()); + adjDetl.setAdjQty(0.0D); + adjDetl.setModiTime(now); + adjDetl.setModiUser(userId); + adjDetl.setAppeTime(now); + adjDetl.setAppeUser(userId); + adjDetlService.save(adjDetl, userId); + + if (deleteFlag) { + wrkMast.setWrkNo(commonService.getWorkNo(3)); + wrkMast.setIoType(22); + boolean res = wrkMastLogService.insert(wrkMast); + if (!res) { + throw new CoolException("搴撳瓨璋冩暣-鍒犻櫎 淇濆瓨宸ヤ綔妗eけ璐�"); + } + deleteFlag = false; + } + + // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏 + WrkDetlLog wrkDetl = new WrkDetlLog(); + wrkDetl.sync(locDetl); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setAnfme(0.0); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + wrkMast.setAppeUser(userId); + wrkMast.setModiUser(userId); + if (!wrkDetlLogService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } + } + + // 娣诲姞搴撳瓨 + for (LocDetlAdjustParam.LocDetlAdjust adjust : list) { + if (adjust.getCount() == 0.0D) { continue; } + Mat mat = matService.selectByMatnr(adjust.getMatnr()); + LocDetl locDetl = new LocDetl(); + locDetl.sync(mat); + locDetl.setBatch(adjust.getBatch()); + locDetl.setLocNo(locMast.getLocNo()); + locDetl.setZpallet(locMast.getBarcode()); + locDetl.setAnfme(adjust.getCount()); // 鏁伴噺 + locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅 + locDetl.setModiTime(now); + locDetl.setAppeUser(userId); + locDetl.setAppeTime(now); + if (!locDetlService.insert(locDetl)) { + throw new CoolException("娣诲姞" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触"); + } + // 淇濆瓨璋冩暣璁板綍 + AdjDetl adjDetl = new AdjDetl(); + adjDetl.setLocNo(locMast.getLocNo()); + adjDetl.setMatnr(adjust.getMatnr()); + adjDetl.setBatch(adjust.getBatch()); + adjDetl.setOriQty(0.0D); + adjDetl.setAdjQty(adjust.getCount()); + adjDetl.setModiTime(now); + adjDetl.setModiUser(userId); + adjDetl.setAppeTime(now); + adjDetl.setAppeUser(userId); + adjDetlService.save(adjDetl, userId); + + if (addFlag) { + wrkMast.setWrkNo(commonService.getWorkNo(3)); + wrkMast.setIoType(21); + boolean res = wrkMastLogService.insert(wrkMast); + if (!res) { + throw new CoolException("搴撳瓨璋冩暣-鏂板 淇濆瓨宸ヤ綔妗eけ璐�"); + } + addFlag = false; + } + + // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏 + WrkDetlLog wrkDetl = new WrkDetlLog(); + wrkDetl.sync(locDetl); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setAnfme(adjust.getCount()); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + wrkMast.setAppeUser(userId); + wrkMast.setModiUser(userId); + if (!wrkDetlLogService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } + } + // 淇敼搴撲綅鐘舵�� + int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); + if (locMast.getLocSts().equals("F")) { + if (count == 0) { + locMast.setLocSts("D"); + } + } + if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O")) { + if (count > 0) { + locMast.setLocSts("F"); + } + } + locMast.setModiUser(userId); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�"); + } + } + @Override @Transactional diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java index fee5c4c..04026e3 100644 --- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java +++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java @@ -141,7 +141,15 @@ if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) { List<InventoryCheckOrder> inventoryCheckOrders = inventoryCheckOrderService.selectList(new EntityWrapper<InventoryCheckOrder>().eq("status", 2)); for (InventoryCheckOrder inventoryCheckOrder : inventoryCheckOrders) { - + try { + ReturnT<String> result = orderSyncHandler.reportCheck(inventoryCheckOrder); + if (!result.isSuccess()) { + log.error("鐩樼偣鍗昜orderNo={}]涓婃姤erp澶辫触", inventoryCheckOrder.getOrderNo()); + } + } catch (Exception e) { + log.error(e.getMessage()); + log.error("鐩樼偣鍗昜orderNo={}]涓婃姤erp澶辫触", inventoryCheckOrder.getOrderNo()); + } } } } diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java index b0a687a..c20dd4a 100644 --- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java @@ -1,14 +1,10 @@ package com.zy.asrs.task.handler; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; -import com.zy.asrs.entity.DocType; -import com.zy.asrs.entity.Order; -import com.zy.asrs.entity.OrderDetl; -import com.zy.asrs.service.DocTypeService; -import com.zy.asrs.service.OrderDetlService; -import com.zy.asrs.service.OrderService; -import com.zy.asrs.service.ReportToThirdService; +import com.zy.asrs.entity.*; +import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.utils.OrderInAndOutUtil; @@ -35,6 +31,9 @@ private OrderService orderService; @Autowired private OrderDetlService orderDetlService; + + @Autowired + private InventoryCheckOrderDetlService inventoryCheckOrderDetlService; @Autowired private DocTypeService docTypeService; @@ -176,4 +175,13 @@ } + + @Transactional + public ReturnT<String> reportCheck(InventoryCheckOrder checkOrder) { + List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", checkOrder.getOrderNo())); + for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls){ + + } + return SUCCESS; + } } diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index 2326428..caa84f5 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -44,14 +44,14 @@ // 4.鍏ュ簱瀹屾垚 if (wrkMast.getWrkSts() == 4) { return doIn(wrkMast); - // 14.鍑哄簱瀹屾垚 - } else if (wrkMast.getWrkSts() == 14) { + // 14.鍑哄簱瀹屾垚 + } else if (wrkMast.getWrkSts() == 14) { return doOut(wrkMast); } return SUCCESS; } - private ReturnT<String> doIn(WrkMast wrkMast){ + private ReturnT<String> doIn(WrkMast wrkMast) { Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); try { @@ -96,11 +96,11 @@ // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗� for (WrkDetl wrkDetl : wrkDetls) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand() - ,wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand() + , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3() - ,wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3())) { + if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3() + , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); @@ -122,26 +122,27 @@ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem - (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); - if (orderDetlPakin==null){ + (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + if (orderDetlPakin == null) { orderDetlPakin = orderDetlPakinService.selectItem (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), - wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); } try { - if(!Cools.isEmpty(orderDetlPakin)){ - if(!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetlPakin.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){ + if (!Cools.isEmpty(orderDetlPakin)) { + if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), + orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", // wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } - } catch (Exception ignore){} + } catch (Exception ignore) { + } } // 淇敼搴撲綅鐘舵�� S ====>> F @@ -212,11 +213,11 @@ } for (WrkDetl wrkDetl : wrkDetls53) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand() - ,wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand() + , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); if (null != locDetl) { - if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3() - ,wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3())) { + if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3() + , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { // exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); @@ -225,26 +226,27 @@ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem - (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(), - wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); - if (orderDetlPakin==null){ + (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), + wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + if (orderDetlPakin == null) { orderDetlPakin = orderDetlPakinService.selectItem - (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); } try { - if(!Cools.isEmpty(orderDetlPakin)){ - if(!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetlPakin.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){ + if (!Cools.isEmpty(orderDetlPakin)) { + if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), + orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { // exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", // wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } - } catch (Exception ignore){} + } catch (Exception ignore) { + } } // 淇敼搴撲綅鐘舵�� Q ====>> F @@ -270,13 +272,13 @@ return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� - for (WrkDetl wrkDetl:wrkDetls54) { + for (WrkDetl wrkDetl : wrkDetls54) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand() - ,wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand() + , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3() - ,wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3())) { + if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3() + , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { // exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); @@ -296,17 +298,17 @@ } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(), wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); try { - if(!Cools.isEmpty(orderDetlPakin)){ - if(!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetlPakin.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){ + if (!Cools.isEmpty(orderDetlPakin)) { + if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), + orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } - } catch (Exception ignore){ + } catch (Exception ignore) { } @@ -350,7 +352,7 @@ } // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { - locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D"); + locMast.setLocSts(wrkMast.getFullPlt().equals("Y") ? "F" : "D"); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); @@ -419,7 +421,7 @@ return SUCCESS; } - private ReturnT<String> doOut(WrkMast wrkMast){ + private ReturnT<String> doOut(WrkMast wrkMast) { Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); try { @@ -445,24 +447,25 @@ } for (WrkDetl wrkDetl : wrkDetls101) { // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); - if (orderDetlPakout==null){ - orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + if (orderDetlPakout == null) { + orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); } try { - if(!Cools.isEmpty(orderDetlPakout)){ - if(!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetlPakout.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){ + if (!Cools.isEmpty(orderDetlPakout)) { + if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), + orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { // exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", // wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } - } catch (Exception ignore){} + } catch (Exception ignore) { + } } // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { @@ -492,28 +495,29 @@ return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } for (WrkDetl wrkDetl : wrkDetls108) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand() - ,wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand() + , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); if (null != locDetl) { - if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3() - ,wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3())) { + if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3() + , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3()); + OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); try { - if(!Cools.isEmpty(orderDetlPakout)){ - if(!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetlPakout.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(), - wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3(),wrkDetl.getAnfme())){ + if (!Cools.isEmpty(orderDetlPakout)) { + if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), + orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("骞舵澘閫斾腑鎹℃枡 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } - } catch (Exception ignore){} + } catch (Exception ignore) { + } } break; // 绌烘澘鍑哄簱 diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index fd48d94..a116de4 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.stream.Collectors; /** * Created by vincent on 2020/10/30 @@ -45,7 +44,7 @@ @Autowired private WaitPakinService waitPakinService; @Autowired - private LocDetlService locDetlService; + private LocDetlService locDetlService; @Autowired private RowLastnoService rowLastnoService; @Autowired @@ -74,13 +73,13 @@ } return R.parse(CodeRes.NO_COMB_700); } - int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); - int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); + int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode())); + int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode())); if (countLoc > 0 || countWrk > 0) { return R.error(CodeRes.EXIST_500); } } - if (Cools.isEmpty(param.getLocType1())){ + if (Cools.isEmpty(param.getLocType1())) { return R.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�"); } @@ -107,14 +106,14 @@ @PostMapping("/auto/emptyIn/v1") @ResponseBody - public R autoEmptyIn(@RequestBody LocTypeDto locTypeDto){ + public R autoEmptyIn(@RequestBody LocTypeDto locTypeDto) { // 婧愮珯鐐圭姸鎬佹娴� BasDevp sourceStaNo = basDevpService.checkSiteStatus(12, true); // 妫�绱㈠簱浣� FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); - StartupDto dto = commonService.getLocNo( 10, 12, findLocNoAttributeVo, locTypeDto); + StartupDto dto = commonService.getLocNo(10, 12, findLocNoAttributeVo, locTypeDto); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); @@ -137,12 +136,12 @@ wrkMast.setAppeTime(now); wrkMast.setModiTime(now); wrkMast.setMemo("鑷姩绌烘墭鍏ュ簱"); - return wrkMastService.insert(wrkMast) ? R.ok("鑷姩绌烘墭鍏ュ簱鎴愬姛,宸ヤ綔鍙�:"+wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍏ュ簱澶辫触"); + return wrkMastService.insert(wrkMast) ? R.ok("鑷姩绌烘墭鍏ュ簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍏ュ簱澶辫触"); } @PostMapping("auto/emptyOut/v1") @ResponseBody - public R autoEmptyOut(){ + public R autoEmptyOut() { LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() .eq("loc_sts", "D")); if (Cools.isEmpty(locMast)) { @@ -150,9 +149,11 @@ } EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam(); emptyPlateOutParam.setOutSite(12); - emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locMast.getLocNo()+"");}}); + emptyPlateOutParam.setLocNos(new ArrayList<String>() {{ + add(locMast.getLocNo() + ""); + }}); WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam); - return R.ok(!Cools.isEmpty(wrkMast)? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触")); + return R.ok(!Cools.isEmpty(wrkMast) ? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触")); } /** @@ -167,7 +168,17 @@ // List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList()); // FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0)); FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0)); - StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto); + + //TODO 娴嬭瘯 + StartupDto dto = new StartupDto(); + dto.setCrnNo(1); + dto.setSourceStaNo(devpNo); + dto.setStaNo(103); + LocMast locMastxx = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "O")); + dto.setLocNo(locMastxx.getLocNo()); + dto.setWorkNo(Math.round(1000)); + + //StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto); int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� @@ -220,19 +231,19 @@ // 鏇存柊婧愮珯鐐逛俊鎭� sourceStaNo.setWrkNo(workNo); sourceStaNo.setModiTime(now); - if (!basDevpService.updateById(sourceStaNo)){ + if (!basDevpService.updateById(sourceStaNo)) { throw new CoolException("鏇存柊婧愮珯澶辫触"); } // 鏇存柊鐩爣搴撲綅鐘舵�� LocMast locMast = locMastService.selectById(dto.getLocNo()); - if (locMast.getLocSts().equals("O")){ + if (locMast.getLocSts().equals("O")) { locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 locMast.setModiTime(now); - if (!locMastService.updateById(locMast)){ + if (!locMastService.updateById(locMast)) { throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); } } else { - throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤"); + throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤"); } return dto; } @@ -244,7 +255,7 @@ // 妫�绱㈠簱浣� FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); - StartupDto dto = commonService.getLocNo( 10, devpNo, findLocNoAttributeVo, locTypeDto); + StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto); int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); @@ -274,19 +285,19 @@ // 鏇存柊婧愮珯鐐逛俊鎭� sourceStaNo.setWrkNo(workNo); sourceStaNo.setModiTime(new Date()); - if (!basDevpService.updateById(sourceStaNo)){ + if (!basDevpService.updateById(sourceStaNo)) { throw new CoolException("鏇存柊婧愮珯澶辫触"); } // 鏇存柊鐩爣搴撲綅鐘舵�� LocMast locMast = locMastService.selectById(dto.getLocNo()); - if (locMast.getLocSts().equals("O")){ + if (locMast.getLocSts().equals("O")) { locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 locMast.setModiTime(new Date()); - if (!locMastService.updateById(locMast)){ + if (!locMastService.updateById(locMast)) { throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); } } else { - throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤"); + throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤"); } return dto; } diff --git a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java index fa91563..6ac3409 100644 --- a/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java +++ b/src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java @@ -219,10 +219,6 @@ if (Cools.isEmpty(mat)) { throw new CoolException(nccScZkmxbWms.getWlbm() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); } - List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", nccScZkmxbWms.getVbillcode()).eq("matnr", mat.getMatnr()).eq("batch", nccScZkmxbWms.getVbatchcode())); - if (checkOrderDetls != null && !checkOrderDetls.isEmpty()) { - //throw new CoolException(nccScZkmxbWms.getWlbm() + "鐩樼偣鍗曠殑鏄庣粏閲嶅浜�"); - } checkOrderDetl = new InventoryCheckOrderDetl(); checkOrderDetl.setMatnr(nccScZkmxbWms.getWlbm()); checkOrderDetl.setMaktx(mat.getMaktx()); -- Gitblit v1.9.1