From a1b85ef72062ca80db35546e4216dd564f3e0f57 Mon Sep 17 00:00:00 2001 From: WangHan <wwh_work@126,com> Date: 星期四, 03 四月 2025 15:58:19 +0800 Subject: [PATCH] 问题与漏洞修改 --- consum-base/src/main/java/com/consum/base/service/core/LWhFormTransferCoreService.java | 61 ++++++++++++++---------------- 1 files changed, 28 insertions(+), 33 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/core/LWhFormTransferCoreService.java b/consum-base/src/main/java/com/consum/base/service/core/LWhFormTransferCoreService.java index b2b55fc..b3d2dfd 100644 --- a/consum-base/src/main/java/com/consum/base/service/core/LWhFormTransferCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/core/LWhFormTransferCoreService.java @@ -7,8 +7,7 @@ import java.util.Map; import java.util.stream.Collectors; -import javax.annotation.Resource; - +import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -134,7 +133,6 @@ lWhFormTransferService.update(lWhFormTransfer); log.info("璋冩嫧鍗曪細{} 鍑哄簱瀹屾垚", whFormTransferId); - return; } @@ -144,12 +142,13 @@ * @param whFormTransferId * @param currentUser */ - public Long doTransferOutPutNew(Long whFormTransferId, S_user_core currentUser) { + public Long doTransferOutPutNew(Long whFormTransferId, S_user_core currentUser, WhBusinessEnum whBusinessEnum) + throws Exception { LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(whFormTransferId); lWhFormTransfer = lWhFormTransferService.get(lWhFormTransfer); if (lWhFormTransfer == null || lWhFormTransfer.getStates() != 0) { log.error("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��"); - return null; + throw new Exception("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��"); } Long userId = currentUser.getId(); @@ -157,10 +156,10 @@ long dealTime = DateUtils.getDateTimeNumber(System.currentTimeMillis()); // 鐢宠璋冩嫧鐨勭墿鍝� List<LWhProcureModel> goodsModelNumList = - lWhProcureModelService.getModelByForm(WhBusinessEnum.DIAOBO, whFormTransferId); + lWhProcureModelService.getModelByForm(whBusinessEnum, whFormTransferId); if (CollectionUtils.isEmpty(goodsModelNumList)) { log.error("娌℃湁瑕佸嚭搴撶殑鐗╁搧"); - return null; + throw new Exception("娌℃湁瑕佸嚭搴撶殑鐗╁搧"); } List<LWhProcureModel> goodsModelNumUpdList = new ArrayList<>(goodsModelNumList.size()); @@ -173,26 +172,21 @@ String inWarehouseName = lWhFormTransfer.getInWarehouseName(); // 娴佹按璁板綍鎬昏〃ID - long lWarehouseFlowId = NumberGenerator.getLongSequenceNumberNano(); + long lWarehouseFlowId = IdUtil.generateId(); // 娴佹按璁板綍鎬昏〃涓� 涓氬姟ID 銆傝皟鎷ㄥ崟鏃� 淇濆瓨璋冩嫧鍗昳d 鍑哄簱鍗曟椂 淇濆瓨鍑哄簱鍗昳d long lWarehouseFlowBusinessId = whFormTransferId; // 鐗╁搧鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛� - Integer queryModelStatusT = 1; + Integer queryModelStatus = 1; // 閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛� - Integer buyTypeT = null; - Integer modGoodsTransferingStatusT = null; - // 璋冩嫧鍑哄簱 - queryModelStatusT = 1; - buyTypeT = 1; - modGoodsTransferingStatusT = 0; - - Integer queryModelStatus = queryModelStatusT; - Integer buyType = buyTypeT; - Integer modGoodsTransferingStatus = modGoodsTransferingStatusT; + Integer buyType = 1; + if (whBusinessEnum == WhBusinessEnum.BUMENFENFA) { + buyType = null; + } + Integer modGoodsStatus = 0; ArrayList<Long> allChangModelList = new ArrayList<>(); - goodsModelNumList.forEach(itemModelInfo -> { + for (LWhProcureModel itemModelInfo : goodsModelNumList) { // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鐨勬煇涓瀷鍙� Long baseGoodsModelsId = itemModelInfo.getBaseGoodsModelsId(); LWhProcureModel updWhProcureModel = new LWhProcureModel(itemModelInfo.getId()); @@ -209,7 +203,7 @@ String modelName = (String)tempGoodsInfo.get("modelname"); // 鎻掑叆 鍚勮鏍肩墿鍝佺殑杩涘嚭搴撹褰� L_WH_GOODS_RECORD - long whGoodsRecordId = NumberGenerator.getLongSequenceNumberNano(); + long whGoodsRecordId = IdUtil.generateId(); LWhGoodsRecord whGoodsRecord = new LWhGoodsRecord(); whGoodsRecord.setId(whGoodsRecordId); whGoodsRecord.setWarehouseId(outWarehouseId); @@ -235,7 +229,8 @@ log.error("鍑哄簱澶辫触锛佸瀷鍙穥} 鐨勬暟閲忎笉瓒筹紝闇�瑕佽皟鎷▄}涓紝浠撳簱涓幇瀛榹}涓�", baseGoodsModelsId, counts, goodsModelNum); // 鎵嬪姩鍥炴粴 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - throw new RuntimeException("鍑哄簱澶辫触!鍨嬪彿鏁伴噺涓嶈冻"); + //throw new RuntimeException("鍑哄簱澶辫触!鍨嬪彿鏁伴噺涓嶈冻"); + return -1L; } whGoodsRecord.setInitialCount(goodsModelNum); whGoodsRecord.setEndCount(goodsModelNum - counts); @@ -244,7 +239,7 @@ outGoodsId = lWhGoodsService.queryOutGoodsId(outWarehouseType, outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType, counts); lWhGoodsService.modGoodsTransfering(outGoodsId, inWarehouseType, inWarehouseId, inWarehouseName, - modGoodsTransferingStatus); + modGoodsStatus); // 鎵归噺鎻掑叆 杩涘嚭搴撴祦姘存槑缁哰L_WH_GOODS_RECORD_DETAILS] lWhGoodsRecordDetailsService.sameGoodsInsertMore(outGoodsId, whGoodsRecordId, (short)0); } @@ -256,7 +251,7 @@ lWhProcureModelService.update(lWhProcureModel); updWhProcureModel.setTotalAmount(totalAmount); goodsModelNumUpdList.add(updWhProcureModel); - }); + } // 鏇存柊L_WH_PROCURE_MODEL琛ㄥ唴閲戦 lWhProcureModelService.updateBatch(goodsModelNumUpdList); @@ -265,7 +260,7 @@ warehouseFlow.setWarehouseId(outWarehouseId); warehouseFlow.setWarehouseName(warehouseName); warehouseFlow.setThisType(2); - warehouseFlow.setBusinessType(WhBusinessEnum.DIAOBO.getValue() + 0); + warehouseFlow.setBusinessType(whBusinessEnum.getValue()); warehouseFlow.setBusinessFormId(whFormTransferId == null ? lWarehouseFlowBusinessId : whFormTransferId); warehouseFlow.setOperatorId(userId); @@ -305,20 +300,21 @@ * @param whFormTransferId * @param currentUser */ - public void doTransferInPut(Long whFormTransferId, S_user_core currentUser, String inOperatorName) { + public void doTransferInPut(Long whFormTransferId, S_user_core currentUser, String inOperatorName) + throws Exception { LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(whFormTransferId); lWhFormTransfer = lWhFormTransferService.get(lWhFormTransfer); if (lWhFormTransfer == null || lWhFormTransfer.getStates() != 1) { - log.error("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��"); - return; + log.info("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��"); + throw new RuntimeException("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��"); } Long userId = currentUser.getId(); String nickName = currentUser.getNick_name(); // 鍑哄簱鍗曟祦姘磇d Long outWarehouseFlowId = lWhFormTransfer.getOutWarehouseFlowId(); if (outWarehouseFlowId == null) { - log.error("璋冩嫧澶辫触锛佹湭鎵惧埌鍑哄簱鍗�"); - return; + log.info("璋冩嫧澶辫触锛佹湭鎵惧埌鍑哄簱鍗�"); + throw new RuntimeException("璋冩嫧澶辫触锛佹湭鎵惧埌鍑哄簱鍗�"); } // 鍏ュ簱浠撳簱绫诲瀷 0鏈烘瀯1閮ㄩ棬 Integer inWarehouseType = lWhFormTransfer.getInWarehouseType(); @@ -328,7 +324,7 @@ long dealTime = DateUtils.getDateTimeNumber(System.currentTimeMillis()); // 娴佹按璁板綍鎬昏〃ID - long inWarehouseFlowId = NumberGenerator.getLongSequenceNumber(); + long inWarehouseFlowId = IdUtil.generateId(); // 鍗曟嵁绫诲瀷銆�0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為�� Integer businessType = lWhFormTransfer.getBusinessType(); // 鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾 4 闆舵槦鍑哄簱锛� @@ -411,8 +407,8 @@ .mapToInt(LWhProcureModelUser::getGoodsNum).sum(); if (totalGoodsNum != outGoodsIds.size()) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.info("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�"); throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�"); - // log.error("鍒涘缓鍏ュ簱鍗曞け璐�"); } ArrayList<LGoodsUserRecord> goodsUserRecordList = new ArrayList<>(); @@ -486,7 +482,6 @@ allChangModelList, null, dealTime); } log.info("璋冩嫧鍗曪細{} 鍏ュ簱瀹屾垚", whFormTransferId); - return; } private static String GET_GOODSID_BY_FLOWID = -- Gitblit v1.9.1