From f915165192845acd12aca37fecec6976eb1f870c Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期四, 12 六月 2025 11:02:57 +0800 Subject: [PATCH] 转库出库初步完成,生成单据也成功了;显示需要添加菜单及其权限 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 156 insertions(+), 18 deletions(-) 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 6eaf9a2..aaa1f36 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.SnowflakeIdWorker; +import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; @@ -42,6 +45,13 @@ private OrderDetlPakoutService orderDetlPakoutService; @Autowired private OrderService orderService; + @Autowired + private StoreTypeService storeTypeService; + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + @Autowired + private DocTypeService docTypeService; + public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 @@ -204,6 +214,66 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } + + + + // 鍒ゆ柇鏄惁涓鸿浆搴撳嚭搴� + StoreType storeType = null; + Order order = null; + if (!Cools.isEmpty(wrkMast.getPacked())) { + storeType = storeTypeService.selectById(wrkMast.getPacked()); + if (null != storeType) { + DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "杞簱-鍑哄簱")); + String convert = DateUtils.convert(now, DateUtils.yyyyMMdd); + order = new Order( + String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] + convert + "_" + wrkMast.getPacked() + "_" + wrkMast.getWrkNo(), // 璁㈠崟缂栧彿 + DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 + docType.getDocId(), // 鍗曟嵁绫诲瀷 + storeType.getStoreId(), // 椤圭洰缂栧彿 + storeType.getStoreName(), // + null, // 璋冩嫧椤圭洰缂栧彿 + null, // 鍒濆绁ㄦ嵁鍙� + null, // 绁ㄦ嵁鍙� + null, // 瀹㈡埛缂栧彿 + null, // 瀹㈡埛 + null, // 鑱旂郴鏂瑰紡 + wrkMast.getAppeUser$(), // 鎿嶄綔浜哄憳 + null, // 鍚堣閲戦 + null, // 浼樻儬鐜� + null, // 浼樻儬閲戦 + null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 + null, // 瀹炰粯閲戦 + null, // 浠樻绫诲瀷 + null, // 涓氬姟鍛� + null, // 缁撶畻澶╂暟 + null, // 閭垂鏀粯绫诲瀷 + null, // 閭垂 + null, // 浠樻鏃堕棿 + null, // 鍙戣揣鏃堕棿 + null, // 鐗╂祦鍚嶇О + null, // 鐗╂祦鍗曞彿 + 1L, // 璁㈠崟鐘舵�� + 4, // 鐘舵�� + wrkMast.getAppeUser(), // 娣诲姞浜哄憳 + now, // 娣诲姞鏃堕棿 + wrkMast.getAppeUser(), // 淇敼浜哄憳 + now, // 淇敼鏃堕棿 + null, // 澶囨敞 + docType.getPakin() == 1 ? 1 : 2 + ); + if (!orderService.insert(order)) { + throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触"); + } + } + + } + + + + + + 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()); @@ -443,30 +513,98 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } - for (WrkDetl wrkDetl : wrkDetls101) { - // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - //addOrderDetlQty(wrkMast, wrkDetl); - OrderDetlPakout orderDetlPakout; - if (!Cools.isEmpty(wrkDetl.getThreeCode())) { - orderDetlPakout = orderDetlPakoutService.selectById(Long.parseLong(wrkDetl.getThreeCode())); - } else { - 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(), null, wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); + // 鍒ゆ柇鏄惁涓鸿浆搴撳嚭搴� + StoreType storeType = null; + Order order = null; + if (!Cools.isEmpty(wrkMast.getPacked())) { + storeType = storeTypeService.selectById(wrkMast.getPacked()); + if (null != storeType) { + DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "杞簱-鍑哄簱")); + String convert = DateUtils.convert(now, DateUtils.yyyyMMdd); + order = new Order( + String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] + convert + "_" + wrkMast.getPacked() + "_" + wrkMast.getWrkNo(), // 璁㈠崟缂栧彿 + DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 + docType.getDocId(), // 鍗曟嵁绫诲瀷 + storeType.getStoreId(), // 椤圭洰缂栧彿 + storeType.getStoreName(), // + null, // 璋冩嫧椤圭洰缂栧彿 + null, // 鍒濆绁ㄦ嵁鍙� + null, // 绁ㄦ嵁鍙� + null, // 瀹㈡埛缂栧彿 + null, // 瀹㈡埛 + null, // 鑱旂郴鏂瑰紡 + wrkMast.getAppeUser$(), // 鎿嶄綔浜哄憳 + null, // 鍚堣閲戦 + null, // 浼樻儬鐜� + null, // 浼樻儬閲戦 + null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 + null, // 瀹炰粯閲戦 + null, // 浠樻绫诲瀷 + null, // 涓氬姟鍛� + null, // 缁撶畻澶╂暟 + null, // 閭垂鏀粯绫诲瀷 + null, // 閭垂 + null, // 浠樻鏃堕棿 + null, // 鍙戣揣鏃堕棿 + null, // 鐗╂祦鍚嶇О + null, // 鐗╂祦鍗曞彿 + 1L, // 璁㈠崟鐘舵�� + 4, // 鐘舵�� + wrkMast.getAppeUser(), // 娣诲姞浜哄憳 + now, // 娣诲姞鏃堕棿 + wrkMast.getAppeUser(), // 淇敼浜哄憳 + now, // 淇敼鏃堕棿 + null, // 澶囨敞 + docType.getPakin() == 1 ? 1 : 2 + ); + if (!orderService.insert(order)) { + throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触"); } } - try { - if (!Cools.isEmpty(orderDetlPakout)) { - if (!orderDetlPakoutService.increaseQtyById(orderDetlPakout.getId(), wrkDetl.getAnfme())) { -// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", -// wrkMast.getWrkNo(), wrkMast.getLocNo()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + for (WrkDetl wrkDetl : wrkDetls101) { + if (storeType != null) { + OrderDetl orderDetl = new OrderDetl(); + orderDetl.sync(wrkDetl); + orderDetl.setOrderId(order.getId()); + orderDetl.setOrderNo(order.getOrderNo()); + orderDetl.setCreateBy(order.getCreateBy()); + orderDetl.setCreateTime(now); + orderDetl.setUpdateBy(order.getCreateBy()); + orderDetl.setUpdateTime(now); + orderDetl.setStatus(1); + orderDetl.setQty(wrkDetl.getAnfme()); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); + } + } else { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + //addOrderDetlQty(wrkMast, wrkDetl); + OrderDetlPakout orderDetlPakout; + if (!Cools.isEmpty(wrkDetl.getThreeCode())) { + orderDetlPakout = orderDetlPakoutService.selectById(Long.parseLong(wrkDetl.getThreeCode())); + } else { + 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(), null, wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); } } - } catch (Exception ignore) { + + try { + if (!Cools.isEmpty(orderDetlPakout)) { + if (!orderDetlPakoutService.increaseQtyById(orderDetlPakout.getId(), 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) { + } } + } // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { -- Gitblit v1.9.1