From 6a7617cdc6b06ab061417b8cc8b6a4fd13a47a7b Mon Sep 17 00:00:00 2001 From: ytfl <ytfl@qq.com> Date: 星期二, 22 七月 2025 16:07:34 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OrderController.java | 88 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 76 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 8a9ffd2..c4e3732 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -11,6 +11,7 @@ import com.zy.asrs.entity.param.OrderDomainParam; import com.zy.asrs.entity.result.WrkTraceVo; import com.zy.asrs.service.*; +import com.zy.asrs.utils.MathUtils; import com.zy.common.model.DetlDto; import com.zy.common.web.BaseController; import org.springframework.beans.BeanUtils; @@ -33,6 +34,8 @@ private DocTypeService docTypeService; @Autowired private WrkDetlService wrkDetlService; + @Autowired + private WrkDetlLogService wrkDetlLogService; @Autowired private WaitPakinService waitPakinService; @Autowired @@ -125,15 +128,15 @@ param.getOrderNo(), // 璁㈠崟缂栧彿 DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 param.getDocType(), // 鍗曟嵁绫诲瀷 - null, // 椤圭洰缂栧彿 - null, // + param.getItemId(), // 椤圭洰缂栧彿 + param.getItemName(), // null, // 璋冩嫧椤圭洰缂栧彿 - null, // 鍒濆绁ㄦ嵁鍙� - null, // 绁ㄦ嵁鍙� + param.getDefNumber(), // 鍒濆绁ㄦ嵁鍙� + param.getCstmr(), // 绁ㄦ嵁鍙� null, // 瀹㈡埛缂栧彿 null, // 瀹㈡埛 null, // 鑱旂郴鏂瑰紡 - null, // 鎿嶄綔浜哄憳 + getUser().getUsername(), // 鎿嶄綔浜哄憳 null, // 鍚堣閲戦 null, // 浼樻儬鐜� null, // 浼樻儬閲戦 @@ -168,7 +171,8 @@ if (DetlDto.has(list, dto)) { OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3()); - item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); + item.setAnfme(MathUtils.add(item.getAnfme(), orderDetl.getAnfme())); + item.setStandby1(param.getDefNumber()); if (!orderDetlService.updateById(item)) { throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); } @@ -182,6 +186,7 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setStandby1(param.getDefNumber()); orderDetl.setPakinPakoutStatus(status); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); @@ -202,10 +207,14 @@ Date now = new Date(); Long userId = getUserId(); // 淇敼涓绘。 - if (!param.getDocType().equals(order.getDocType())) { + if (!param.getDocType().equals(order.getDocType()) || param.getItemId() != order.getItemId() || param.getDefNumber() != order.getDefNumber()) { order.setDocType(param.getDocType()); order.setUpdateBy(userId); order.setUpdateTime(now); + order.setItemId(param.getItemId()); + order.setItemName(param.getItemName()); + order.setDefNumber(param.getDefNumber()); + order.setNumber(param.getCstmr()); if (!orderService.updateById(order)) { throw new CoolException("淇敼璁㈠崟绫诲瀷澶辫触"); } @@ -220,13 +229,13 @@ List<DetlDto> list = new ArrayList<>(); for (OrderDetl orderDetl : param.getOrderDetlList()) { DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), - orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), + param.getItemId(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3()); if (DetlDto.has(list, dto)) { OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), - orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), + param.getItemId(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3()); - item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); + item.setAnfme(MathUtils.add(item.getAnfme() , orderDetl.getAnfme())); if (!orderDetlService.updateById(item)) { throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); } @@ -240,6 +249,7 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setStandby1(param.getDefNumber()); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); } @@ -265,7 +275,7 @@ totalQty = totalQty + orderDetl.getAnfme(); wrkQty = wrkQty + orderDetl.getWorkQty(); endQty = endQty + orderDetl.getQty(); - double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); + double issued = Optional.of(MathUtils.subtract(orderDetl.getAnfme(), orderDetl.getWorkQty())).orElse(0.0D); if (issued > 0.0) { List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOrigin(), null); for (LocDetl locDetl : locDetls) { @@ -416,7 +426,7 @@ public R query(String condition) { EntityWrapper<Order> wrapper = new EntityWrapper<>(); wrapper.like("id", condition); - Page<Order> page = orderService.selectPage(new Page<>(0, 10), wrapper); + Page<Order> page = orderService.selectPage(new Page<>(0, 10000), wrapper); List<Map<String, Object>> result = new ArrayList<>(); for (Order order : page.getRecords()) { Map<String, Object> map = new HashMap<>(); @@ -437,4 +447,58 @@ return R.ok(); } + @GetMapping("/order/logTransferDBDD/{orderNo}") + @Transactional + public R logTransferDBDD(@PathVariable("orderNo") String orderNo) { + Order orderSou = orderService.selectByNo(orderNo); + if (!orderSou.getSettle().equals(2L)) { + return R.error("璁㈠崟鐘舵�佷笉姝g‘锛岃鑱旂郴绠$悊鍛�"); + } + + List<OrderDetl> old = orderDetlService.selectByOrderId(orderSou.getId()); + if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_no", orderNo))) { + throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + orderNo + "銆戞槑缁嗗け璐�"); + } + List<WrkDetlLog> wrkDetls = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>() + .eq("order_no", orderNo)); + for (WrkDetlLog wrkDetlLog : wrkDetls) { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(wrkDetlLog); + + OrderDetl orderDetl = new OrderDetl(); + orderDetl.sync(wrkDetl); + orderDetl.setQty(wrkDetl.getAnfme()); + orderDetl.setOrderId(orderSou.getId()); + orderDetl.setOrderNo(orderSou.getOrderNo()); + orderDetl.setStatus(1); + orderDetl.setCreateTime(orderSou.getCreateTime()); + orderDetl.setCreateBy(orderSou.getCreateBy()); + orderDetl.setUpdateTime(orderSou.getUpdateTime()); + orderDetl.setUpdateBy(orderSou.getUpdateBy()); + orderDetl.setId(null); + //鍏堟寜鐓ф壒娆″尮閰嶏紝鍐嶆寜鐓ф棤鎵规鍙锋壒娆★紝鍥犱负閿�鍞彂璐э紝鎵规鍙峰彲鑳藉甫锛屾湁鍙兘涓嶆惡甯︼紝鎵�浠ュ氨浼氭湁闂锛涜�屼笖鑰冭檻鍒颁竴鏉¤鍗曢噷濡傛灉鐩稿悓鐗╂枡锛屼竴鏉″甫鎵规锛屼竴鏉′笉甯︽壒娆★紝鎯呭喌 + for (OrderDetl xxx : old) { + if (xxx.beSimilar(wrkDetl)) { + orderDetl.setRemark(xxx.getRemark()); + } + } + if (Cools.isEmpty(orderDetl.getRemark())) { + for (OrderDetl xxx : old) { + if (xxx.beSimilarByWrkDetl(wrkDetl)) { + orderDetl.setRemark(xxx.getRemark()); + } + } + } + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + orderNo + "銆戞槑缁嗗け璐�"); + } + } + + // 淇敼璁㈠崟鐘舵�� 2.浣滀笟涓� ===>> 4.寰呬笂鎶� + if (!orderService.updateSettle(orderSou.getId(), 4L, null)) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + return R.ok(); + } + } -- Gitblit v1.9.1