From d8fb6d11aa24b77b8bbcc5740140d31f5692837d Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期四, 16 十一月 2023 16:11:05 +0800 Subject: [PATCH] feat: 调拨调整 --- consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java | 106 ++++++++++++++++++++++++++++++----------------------- 1 files changed, 60 insertions(+), 46 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java index 853a005..69fcc5e 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java @@ -70,14 +70,25 @@ // 鍑哄簱鍗旾D Long outWarehouseFormId = null; try { - // 鏍规嵁璋冩嫧鍗� 鐢熸垚 鍑哄簱鍗� + // 鏍规嵁璋冩嫧鍗� 鐢熸垚 鍑哄簱鍗� 杩欐牱灏辫兘鍏敤鍑哄簱 outWarehouseFormId = lWhFormOutputCoreService.createOutFormByTransId(whFormTransferId, currentUser, dealTime); } catch (Exception e) { log.error(e.getMessage()); return; } + //鍗曟嵁绫诲瀷銆�0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為�� + Integer businessType = lWhFormTransfer.getBusinessType(); + businessType = businessType == null ? 0 : businessType; + WhBusinessEnum businessEnum = WhBusinessEnum.DIAOBO; + if (businessType == 0) { + businessEnum = WhBusinessEnum.DIAOBO; + } else if (businessType == 1) { + businessEnum = WhBusinessEnum.BUMENFENFA; + } else if (businessType == 2) { + businessEnum = WhBusinessEnum.BUMENTUIHUI; + } // 鍑哄簱鍗� 鍑哄簱锛岃繑鍥� 鍑哄簱鍗曟祦姘碔d - Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, WhBusinessEnum.DIAOBO, currentUser, dealTime); + Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, businessEnum, currentUser, dealTime); // 鏇存柊璋冩嫧鍗� lWhFormTransfer = new LWhFormTransfer(whFormTransferId); @@ -165,52 +176,54 @@ List<Long> outGoodsIds = getGoodsidByFlowId(outWarehouseFlowId, oldRecordId); // 搴撳瓨鐗╁搧璇︽儏锛圠_WH_GOODS锛変腑 鐘舵�佽缃负1 lWhGoodsService.modGoodsTransfering(outGoodsIds, inWarehouseType, inWarehouseId, inWarehouseName, goodsStatus); - //姝ゆ椂瑕佸線 鐗╁搧浣跨敤璁板綍銆怢_GOODS_USER_RECORD銆戞坊鍔犳暟鎹� - //鏌ヨ閮ㄩ棬鍒嗗彂浣跨敤浜� - LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser(); - lWhProcureModelUser.setTransBusinessId(whFormTransferId); - lWhProcureModelUser.setBaseGoodsModelsId(baseGoodsModelsId); - List<LWhProcureModelUser> goodsUserInfo = goodsBaseService.select(lWhProcureModelUser); - int totalGoodsNum = goodsUserInfo.stream().mapToInt(LWhProcureModelUser::getGoodsNum).sum(); - if (totalGoodsNum != outGoodsIds.size()) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�"); + if (businessType == 1){ + // 1閮ㄩ棬鍒嗗彂 姝ゆ椂瑕佸線 鐗╁搧浣跨敤璁板綍銆怢_GOODS_USER_RECORD銆戞坊鍔犳暟鎹� + //鏌ヨ閮ㄩ棬鍒嗗彂浣跨敤浜� + LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser(); + lWhProcureModelUser.setTransBusinessId(whFormTransferId); + lWhProcureModelUser.setBaseGoodsModelsId(baseGoodsModelsId); + List<LWhProcureModelUser> goodsUserInfo = goodsBaseService.select(lWhProcureModelUser); + int totalGoodsNum = goodsUserInfo.stream().mapToInt(LWhProcureModelUser::getGoodsNum).sum(); + if (totalGoodsNum != outGoodsIds.size()) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�"); // log.error("鍒涘缓鍏ュ簱鍗曞け璐�"); - } - //灏嗙墿鍝佸瀷鍙蜂互鍓嶇殑浣跨敤璁板綍璁剧疆涓洪潪鏈�鏂� - lGoodsUserRecordService.updSetNotLast(outGoodsIds); - ArrayList<LGoodsUserRecord> goodsUserRecordList = new ArrayList<>(); - int startIndex = 0; - for (LWhProcureModelUser whProcureModelUser : goodsUserInfo) { - Integer goodsNum = whProcureModelUser.getGoodsNum(); - String nowUserName = whProcureModelUser.getNowUserName(); - Long nowUserPhone = whProcureModelUser.getNowUserPhone(); - Long procureModelUserRecordId = whProcureModelUser.getProcureModelUserRecordId(); - List<Long> goodsIds = outGoodsIds.subList(startIndex, startIndex + goodsNum); - for (Long goodsId : goodsIds) { - LGoodsUserRecord tmp = new LGoodsUserRecord(); - tmp.setWhGoodsId(goodsId); - tmp.setRecordType(recordType); - tmp.setTransBusinessId(whFormTransferId); - if (businessType == 1) { - tmp.setNowUserName(nowUserName); - tmp.setNowUserPhone(nowUserPhone); - } else if (businessType == 2) { - tmp.setNowUserName(null); - tmp.setNowUserPhone(null); - } - tmp.setProcureModelUserRecordId(procureModelUserRecordId); - tmp.setOperatorId(userId); - tmp.setOperatorName(nickName); - tmp.setDealTime(dealTime); - tmp.setLastRecord(1); - goodsUserRecordList.add(tmp); } - // 鏇存柊涓嬫爣浣嶇疆 - startIndex += goodsNum; + //灏嗙墿鍝佸瀷鍙蜂互鍓嶇殑浣跨敤璁板綍璁剧疆涓洪潪鏈�鏂� + lGoodsUserRecordService.updSetNotLast(outGoodsIds); + ArrayList<LGoodsUserRecord> goodsUserRecordList = new ArrayList<>(); + int startIndex = 0; + for (LWhProcureModelUser whProcureModelUser : goodsUserInfo) { + Integer goodsNum = whProcureModelUser.getGoodsNum(); + String nowUserName = whProcureModelUser.getNowUserName(); + Long nowUserPhone = whProcureModelUser.getNowUserPhone(); + Long procureModelUserRecordId = whProcureModelUser.getProcureModelUserRecordId(); + List<Long> goodsIds = outGoodsIds.subList(startIndex, startIndex + goodsNum); + for (Long goodsId : goodsIds) { + LGoodsUserRecord tmp = new LGoodsUserRecord(); + tmp.setWhGoodsId(goodsId); + tmp.setRecordType(recordType); + tmp.setTransBusinessId(whFormTransferId); + if (businessType == 1) { + tmp.setNowUserName(nowUserName); + tmp.setNowUserPhone(nowUserPhone); + } else if (businessType == 2) { + tmp.setNowUserName(null); + tmp.setNowUserPhone(null); + } + tmp.setProcureModelUserRecordId(procureModelUserRecordId); + tmp.setOperatorId(userId); + tmp.setOperatorName(nickName); + tmp.setDealTime(dealTime); + tmp.setLastRecord(1); + goodsUserRecordList.add(tmp); + } + // 鏇存柊涓嬫爣浣嶇疆 + startIndex += goodsNum; + } + //鎵归噺鎻掑叆浣跨敤浜鸿褰� + lGoodsUserRecordService.insertBatch(goodsUserRecordList); } - //鎵归噺鎻掑叆浣跨敤浜鸿褰� - lGoodsUserRecordService.insertBatch(goodsUserRecordList); //灏嗕繚绠′粨搴撲俊鎭洿鏂板埌 鐗╁搧浠撳簱淇濈璁板綍銆怢_GOODS_WH_RECORD銆� lGoodsWhRecordService.insertNewRecord(outGoodsIds, inWarehouseFlowId, dealTime); @@ -223,7 +236,8 @@ lWhGoodsRecordDetails.setWhGoodsRecordId(oldRecordId); List<LWhGoodsRecordDetails> goodsRecordDetailsList = lWhGoodsRecordDetailsService.select(lWhGoodsRecordDetails); for (LWhGoodsRecordDetails whGoodsRecordDetails : goodsRecordDetailsList) { - whGoodsRecordDetails.setId(NumberGenerator.getLongSequenceNumber()); + whGoodsRecordDetails.setId(null); + whGoodsRecordDetails.setWhGoodsRecordId(whGoodsRecord.getId()); whGoodsRecordDetails.setThisType(1); } lWhGoodsRecordDetailsService.insertBatch(goodsRecordDetailsList); -- Gitblit v1.9.1