From 7a99dc66a52651adffaa919fb03e73136986b775 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期二, 29 七月 2025 13:44:41 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OrderController.java | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 150 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 90ba253..389ce8f 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -11,8 +11,17 @@ 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 com.zy.nc.entity.NccCgCgdhdWms; +import com.zy.nc.entity.NccSaleDbddWms; +import com.zy.nc.entity.NccSaleXsfhmxWms; +import com.zy.nc.entity.NccScZkmxbWms; +import com.zy.nc.service.NccCgCgdhdWmsService; +import com.zy.nc.service.NccSaleDbddWmsService; +import com.zy.nc.service.NccSaleXsfhmxWmsService; +import com.zy.nc.service.NccScZkmxbWmsService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -28,11 +37,17 @@ @Autowired private OrderDetlService orderDetlService; @Autowired + private OrderPakoutService orderPakoutService; + @Autowired + private OrderDetlPakoutService orderDetlPakoutService; + @Autowired private SnowflakeIdWorker snowflakeIdWorker; @Autowired private DocTypeService docTypeService; @Autowired private WrkDetlService wrkDetlService; + @Autowired + private WrkDetlLogService wrkDetlLogService; @Autowired private WaitPakinService waitPakinService; @Autowired @@ -41,6 +56,15 @@ private WrkMastService wrkMastService; @Autowired private WrkMastLogService wrkMastLogService; + + @Autowired + private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService; + @Autowired + private NccCgCgdhdWmsService nccCgCgdhdWmsService; + @Autowired + private NccScZkmxbWmsService nccScZkmxbWmsService; + @Autowired + private NccSaleDbddWmsService nccSaleDbddWmsService; @RequestMapping(value = "/order/nav/list/auth") @ManagerAuth @@ -125,15 +149,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 +192,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 +207,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 +228,14 @@ Date now = new Date(); Long userId = getUserId(); // 淇敼涓绘。 - if (!param.getDocType().equals(order.getDocType()) || param.getItemId() != order.getItemId()) { + 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("淇敼璁㈠崟绫诲瀷澶辫触"); } @@ -226,7 +256,7 @@ OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), 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,7 +270,7 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); - orderDetl.setStandby1(param.getItemId()); + orderDetl.setStandby1(param.getDefNumber()); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); } @@ -266,7 +296,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) { @@ -438,4 +468,114 @@ 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(); + } + + @RequestMapping(value = "/order/restartSyncOrder") + @ManagerAuth(memo = "閲嶆柊鍚屾鍑哄簱璁㈠崟") + public R restartSyncOrder(@RequestBody List<Long> ids) { + if (ids.isEmpty()) { + return R.error(); + } + OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectById(ids.get(0)); + if (orderDetlPakout == null) { + return R.error(); + } + + String orderNoStr = orderDetlPakout.getOrderNo(); + String[] split = orderNoStr.split("-"); + String orderNo = split[0]; + + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().like("order_no", orderNo)); + if (!wrkDetls.isEmpty()) { + return R.error("璁㈠崟宸茶鎵ц锛屾棤娉曞悓姝�"); + } + + List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>().like("order_no", orderNo)); + if (!wrkDetlLogs.isEmpty()) { + return R.error("璁㈠崟宸茶鎵ц锛屾棤娉曞悓姝�"); + } + + OrderPakout orderPakout = orderPakoutService.selectByNo(orderNo); + if(orderPakout == null) { + return R.error("鍑哄簱璁㈠崟涓嶅瓨鍦�"); + } + + if (orderPakout.getDocType$().equals("閿�鍞彂璐�")) { + NccSaleXsfhmxWms nccSaleXsfhmxWms = new NccSaleXsfhmxWms(); + nccSaleXsfhmxWms.setWmsFlag(0); + nccSaleXsfhmxWmsService.update(nccSaleXsfhmxWms, new EntityWrapper<NccSaleXsfhmxWms>().eq("vbillcode", orderNo)); + } else if (orderPakout.getDocType$().equals("閲囪喘鍒拌揣")) { + NccCgCgdhdWms nccCgCgdhdWms = new NccCgCgdhdWms(); + nccCgCgdhdWms.setWmsFlag(0); + nccCgCgdhdWmsService.update(nccCgCgdhdWms, new EntityWrapper<NccCgCgdhdWms>().eq("vbillcode", orderNo)); + } else if (orderPakout.getDocType$().equals("杞簱-鍑哄簱")) { + NccScZkmxbWms nccScZkmxbWms = new NccScZkmxbWms(); + nccScZkmxbWms.setWmsFlag(0); + nccScZkmxbWmsService.update(nccScZkmxbWms, new EntityWrapper<NccScZkmxbWms>().eq("vbillcode", orderNo)); + } else if (orderPakout.getDocType$().equals("璋冩嫧鍑哄簱")) { + NccSaleDbddWms nccSaleDbddWms = new NccSaleDbddWms(); + nccSaleDbddWms.setWmsFlag(0); + nccSaleDbddWmsService.update(nccSaleDbddWms, new EntityWrapper<NccSaleDbddWms>().eq("vbillcode", orderNo)); + } + + orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>().like("order_no", orderNo)); + orderPakoutService.delete(new EntityWrapper<OrderPakout>().like("order_no", orderNo)); + + orderDetlService.delete(new EntityWrapper<OrderDetl>().like("order_no", orderNo)); + orderService.delete(new EntityWrapper<Order>().like("order_no", orderNo)); + return R.ok(); + } + } -- Gitblit v1.9.1