From 1c0dbad152362ac704a27ecfc5b5d08247385d87 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期二, 21 十月 2025 17:12:48 +0800 Subject: [PATCH] 13 --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 228 +++++++++------------------------------------------------ 1 files changed, 36 insertions(+), 192 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 82eb1e2..2759dad 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -53,8 +53,6 @@ @Autowired private WrkDetlService wrkDetlService; @Autowired - private PackService packService; - @Autowired private OpenService openService; @Autowired private SnowflakeIdWorker snowflakeIdWorker; @@ -303,7 +301,7 @@ // 鍏宠仈缁勬墭 } else { - Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", param.getOrderNo())); + OrderPakin order = orderService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", param.getOrderNo())); if (Cools.isEmpty(order) || order.getSettle() > 2) { throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�"); } @@ -312,23 +310,23 @@ param.getCombMats().forEach(elem -> { // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 - OrderDetl orderDetl = orderDetlService.selectById(elem.getDetlId()); - if (elem.getAnfme() > orderDetl.getEnableQty()) { - throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); + OrderDetlPakout orderDetlPakout = orderDetlService.selectById(elem.getDetlId()); + if (elem.getAnfme() > orderDetlPakout.getEnableQty()) { + throw new CoolException(orderDetlPakout.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); } // 淇敼璁㈠崟浣滀笟鏁伴噺 - if (!orderDetlService.increaseWorkQtyById(orderDetl.getId(), elem.getAnfme())) { + if (!orderDetlService.increaseWorkQtyById(orderDetlPakout.getId(), elem.getAnfme())) { throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); } - Mat mat = matService.selectByMatnr(orderDetl.getMatnr()); + Mat mat = matService.selectByMatnr(orderDetlPakout.getMatnr()); if (Cools.isEmpty(mat)) { - throw new CoolException(orderDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); + throw new CoolException(orderDetlPakout.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); } WaitPakin waitPakin = new WaitPakin(); waitPakin.sync(mat); waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿 - waitPakin.setBatch(orderDetl.getBatch()); // 搴忓垪鐮� + waitPakin.setBatch(orderDetlPakout.getBatch()); // 搴忓垪鐮� waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮� waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� waitPakin.setAnfme(elem.getAnfme()); // 鏁伴噺 @@ -338,7 +336,7 @@ waitPakin.setModiUser(userId); waitPakin.setModiTime(now); - waitPakin.setBatch(orderDetl.getBatch()); + waitPakin.setBatch(orderDetlPakout.getBatch()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } @@ -360,7 +358,7 @@ if (param.getCombMats().stream().anyMatch(obj -> obj.getAnfme() == null)) { throw new CoolException("鍏ュ簱鐗╂枡鏁伴噺涓嶈兘涓虹┖"); } - Order order = orderService.selectByNo(param.getOrderNo()); + OrderPakin order = orderService.selectByNo(param.getOrderNo()); if (Cools.isEmpty(order) || order.getSettle() > 2) { throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�"); } @@ -386,12 +384,12 @@ Date now = new Date(); for (CombParam.CombMat combMat : param.getCombMats()) { // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 - OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch()); - if (Cools.isEmpty(orderDetl)) { + OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch()); + if (Cools.isEmpty(orderDetlPakout)) { throw new CoolException("璇ュ崟鎹腑鏈壘鍒板搴旂墿鏂欐槑缁�"); } - if (combMat.getAnfme() > orderDetl.getEnableQty()) { - throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); + if (combMat.getAnfme() > orderDetlPakout.getEnableQty()) { + throw new CoolException(orderDetlPakout.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); } // 淇敼璁㈠崟浣滀笟鏁伴噺 if (!orderDetlService.increaseWorkQty(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) { @@ -411,12 +409,12 @@ wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); wrkDetl.setModiUser(userId); - wrkDetl.setManu(orderDetl.getManu()); - wrkDetl.setSupp(orderDetl.getSupp()); - wrkDetl.setTemp1(orderDetl.getTemp1()); - wrkDetl.setTemp2(orderDetl.getTemp2()); - wrkDetl.setTemp3(orderDetl.getTemp3()); - wrkDetl.setTemp4(orderDetl.getTemp4()); + wrkDetl.setManu(orderDetlPakout.getManu()); + wrkDetl.setSupp(orderDetlPakout.getSupp()); + wrkDetl.setTemp1(orderDetlPakout.getTemp1()); + wrkDetl.setTemp2(orderDetlPakout.getTemp2()); + wrkDetl.setTemp3(orderDetlPakout.getTemp3()); + wrkDetl.setTemp4(orderDetlPakout.getTemp4()); wrkDetlService.insert(wrkDetl); } @@ -507,161 +505,7 @@ } - @Override - @Transactional - public void packComb(CombParam param, Long userId) { - if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { - throw new CoolException(BaseRes.PARAM); - } - // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁 - if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) { - throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱"); - } - Date now = new Date(); - boolean packDown = Parameter.get().getPackDown().equals("true"); - - // 鏃犲崟缁勬墭 - if (Cools.isEmpty(param.getOrderNo())) { - - // 鐢熸垚鍏ュ簱閫氱煡妗� - List<DetlDto> detlDtos = new ArrayList<>(); - param.getCombMats().forEach(elem -> { - // 鎵撳寘涓婄嚎鏁版嵁鏍¢獙 - if (packDown) { - Pack pack = packService.selectByBarcode(elem.getMatnr()); - if (pack == null) { - throw new CoolException(elem.getMatnr() + "鏉$爜鍐椾綑锛岃妫�鏌ワ紒"); - } - if (pack.getSettle() != 1) { - throw new CoolException(elem.getMatnr() + "鏉$爜宸蹭笅绾匡紝璇锋鏌ワ紒"); - } - } - Mat analyse = MatUtils.analyseMat(elem.getMatnr()); - // 鏉$爜銆佺墿鏂欎唬鐮併�佸簭鍒楀彿銆佹暟閲� - DetlDto detlDto = new DetlDto(elem.getMatnr(), analyse.getMatnr(), analyse.getBarcode(), elem.getAnfme()); -// DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); - if (DetlDto.has(detlDtos, detlDto)) { - DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); - assert one != null; - one.setAnfme(one.getAnfme() + detlDto.getAnfme()); - } else { - detlDtos.add(detlDto); - } - }); - - if (packDown) { - MesCombParam mesCombParam = new MesCombParam(); - mesCombParam.setZpallet(param.getBarcode()); - mesCombParam.setPakinTime(DateUtils.convert(now)); - mesCombParam.setLgort("5008"); - mesCombParam.setPlantCode("5000"); - mesCombParam.setFromCode("5012-20"); - mesCombParam.setStationCode("JJQ-PFZPDB-XX"); - for (DetlDto detlDto : detlDtos) { - mesCombParam.getList().add(new MesCombParam.Detl(detlDto.getOrderNo(), detlDto.getAnfme())); - } - String response = ""; - boolean success = false; -// try { -// response = new HttpHandler.Builder() -// .setUri(url) -// .setPath(code) -// .setJson(JSON.toJSONString(mesCombParam)) -// .build() -// .doPost(); -// JSONObject jsonObject = JSON.parseObject(response); -// if (jsonObject.getInteger("code").equals(200)) { -// success = true; -// } else if (jsonObject.getInteger("code").equals(500)) { -// log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response); -// throw new CoolException(jsonObject.getString("msg")); -// } else { -// log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response); -// throw new CoolException("涓婃姤mes绯荤粺澶辫触"); -// } -// } catch (Exception e) { -// log.error("fail", e); -// throw new CoolException(e.getMessage()); -// } finally { -// try { -// // 淇濆瓨鎺ュ彛鏃ュ織 -// apiLogService.save( -// "鎵撳寘涓嬬嚎甯墭涓婃姤", -// MesConstant.URL + MesConstant.PACK_DOWN_URL, -// null, -// "127.0.0.1", -// JSON.toJSONString(mesCombParam), -// response, -// success -// ); -// } catch (Exception e) { log.error("", e); } -// } - - } - - // 鐢熸垚鍏ュ簱鍗曟嵁 - String orderNo = "PACK" + snowflakeIdWorker.nextId(); - OpenOrderPakinParam openParam = new OpenOrderPakinParam(); - openParam.setOrderNo(orderNo); - openParam.setInboundDate(DateUtils.convert(now)); - openParam.setOrderType("鎵撳寘鍏ュ簱鍗�"); - openParam.setDetails(detlDtos); - openService.pakinOrderCreate(openParam); - Order order = orderService.selectByNo(orderNo); - if (null == order) { - throw new CoolException("鐢熸垚鍗曟嵁澶辫触"); - } - if (!orderService.updateSettle(order.getId(), 2L, userId)) { - throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�"); - } - - // 鐢熸垚鍏ュ簱閫氱煡妗� - for (DetlDto detlDto : detlDtos) { - - // 淇敼浣滀笟鏁伴噺 ---------------------------------------- - // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 - OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch()); - if (detlDto.getAnfme() > orderDetl.getEnableQty()) { - throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); - } - // 淇敼璁㈠崟浣滀笟鏁伴噺 - if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) { - throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); - } - - // 淇濆瓨鍏ュ簱閫氱煡妗� - 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); - if (!waitPakinService.insert(waitPakin)) { - throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); - } - // 淇敼鎵撳寘鏁版嵁鐘舵�� - Pack pack = packService.selectByBarcode(detlDto.getOrderNo()); - pack.setSettle(2L); - pack.setUpdateTime(now); - pack.setUpdateBy(userId); - if (!packService.updateById(pack)) { - throw new CoolException("淇敼鎵撳寘鏁版嵁寮傚父"); - } - } - - } - } @Override @Transactional @@ -671,16 +515,16 @@ BasDevp sta = basDevpService.checkSiteStatus(staNo); //鏍规嵁璁㈠崟鍙风敓鎴愬嚭搴撲换鍔″伐浣滄。 - Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderNo)); + OrderPakin order = orderService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", orderNo)); if (order.getSettle() != 1 && order.getSettle() != 2) { throw new CoolException("璇ヨ鍗曞凡澶勭悊"); } - List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo)); + List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo)); Date now = new Date(); - for (OrderDetl orderDetl : orderDetls) { + for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) { //鏌ヨ鎵�鏈夊簱浣嶇姸鎬佷负F鐨勫簱浣嶄俊鎭� - List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, null, orderDetl.getSupp(), orderDetl.getTemp1(), orderDetl.getTemp2()); + List<LocDetl> locDetls = locDetlService.queryStock(orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), null, null, orderDetlPakout.getSupp(), orderDetlPakout.getTemp1(), orderDetlPakout.getTemp2()); if (locDetls.size() == 0) { throw new CoolException("搴撳瓨涓病鏈夎鐗╂枡"); } @@ -696,7 +540,7 @@ } //鍙嚭搴撴暟閲� = 璁㈠崟鏁伴噺 - 浣滀笟涓暟閲� - Double outQty = orderDetl.getAnfme() - orderDetl.getWorkQty(); + Double outQty = orderDetlPakout.getAnfme() - orderDetlPakout.getWorkQty(); if (outQty <= 0) { break; } @@ -705,21 +549,21 @@ Double curOutQty = outQty >= locDetl.getAnfme() ? locDetl.getAnfme() : outQty; //鏈鍑哄簱閲� int ioType = sumCount <= curOutQty ? 101 : 103; - stockOut(orderDetl, sta, locDetl, curOutQty, ioType, userId, now); + stockOut(orderDetlPakout, sta, locDetl, curOutQty, ioType, userId, now); order.setSettle(2L); order.setUpdateBy(userId); order.setUpdateTime(now); - if (!orderService.update(order, new EntityWrapper<Order>().eq("order_no", orderNo))) { + if (!orderService.update(order, new EntityWrapper<OrderPakin>().eq("order_no", orderNo))) { throw new CoolException("鏇存柊璁㈠崟鐘舵�佸け璐�"); } - orderDetl.setWorkQty(orderDetl.getWorkQty() + curOutQty); - orderDetl.setUpdateBy(userId); - orderDetl.setUpdateTime(now); - Wrapper wrapper = new EntityWrapper<OrderDetl>().eq("order_no", orderNo).eq("matnr", orderDetl.getMatnr()); - if (!Cools.isEmpty(orderDetl.getBatch())) { - wrapper.eq("batch", orderDetl.getBatch()); + orderDetlPakout.setWorkQty(orderDetlPakout.getWorkQty() + curOutQty); + orderDetlPakout.setUpdateBy(userId); + orderDetlPakout.setUpdateTime(now); + Wrapper wrapper = new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo).eq("matnr", orderDetlPakout.getMatnr()); + if (!Cools.isEmpty(orderDetlPakout.getBatch())) { + wrapper.eq("batch", orderDetlPakout.getBatch()); } - if (!orderDetlService.update(orderDetl, wrapper)) { + if (!orderDetlService.update(orderDetlPakout, wrapper)) { throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触"); } } @@ -793,7 +637,7 @@ @Override @Transactional - public void stockOut(OrderDetl orderDetl, BasDevp staNo, LocDetl locDetl, Double curOutQty, Integer ioType, Long userId, Date now) { + public void stockOut(OrderDetlPakout orderDetlPakout, BasDevp staNo, LocDetl locDetl, Double curOutQty, Integer ioType, Long userId, Date now) { // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(locDetl.getLocNo()); // 鑾峰彇璺緞 @@ -835,7 +679,7 @@ wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(now); wrkDetl.setAnfme(curOutQty); // 鏁伴噺 - wrkDetl.setOrderNo(orderDetl.getOrderNo()); + wrkDetl.setOrderNo(orderDetlPakout.getOrderNo()); wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); -- Gitblit v1.9.1