From ceecebe477faf5a45b19f3b258f7add8f93b4583 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期二, 05 十二月 2023 10:00:24 +0800 Subject: [PATCH] 代码优化 结构调整 --- consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java | 115 ++++++++++++++++++++++++++++++--------------------------- 1 files changed, 60 insertions(+), 55 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 e890509..25ab0e0 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 @@ -1,6 +1,18 @@ package com.consum.base.service; -import cn.hutool.core.convert.Convert; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; + import com.consum.base.core.WhBusinessEnum; import com.consum.base.core.service.LWhWarningCoreServiceImpl; import com.consum.base.core.utils.IdUtil; @@ -15,17 +27,9 @@ import com.walker.infrastructure.utils.CollectionUtils; import com.walker.infrastructure.utils.DateUtils; import com.walker.infrastructure.utils.NumberGenerator; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import javax.annotation.Resource; + +import cn.hutool.core.convert.Convert; import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.interceptor.TransactionAspectSupport; /** * @ClassName LWhFormTransferCoreService @@ -45,7 +49,7 @@ @Resource private GoodsBaseServiceImpl goodsBaseService; @Resource - private LWhGoodsRecordService lWhGoodsRecordService; + private LWhGoodsRecordService lWhGoodsRecordServiceImpl; @Resource private LWhGoodsService lWhGoodsService; @Resource @@ -98,7 +102,7 @@ return; } // 鍑哄簱鍗� 鍑哄簱锛岃繑鍥� 鍑哄簱鍗曟祦姘碔d - Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, businessEnum, currentUser, dealTime); + Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, businessEnum, currentUser, dealTime, whFormTransferId); // 鏇存柊璋冩嫧鍗� lWhFormTransfer = new LWhFormTransfer(whFormTransferId); @@ -177,12 +181,13 @@ ArrayList<Long> allChangModelList = new ArrayList<>(); LWhGoodsRecord lWhGoodsRecord = new LWhGoodsRecord(); lWhGoodsRecord.setWarehouseFlowId(outWarehouseFlowId); - List<LWhGoodsRecord> whGoodsRecordList = lWhGoodsRecordService.select(lWhGoodsRecord); + List<LWhGoodsRecord> whGoodsRecordList = lWhGoodsRecordServiceImpl.select(lWhGoodsRecord); for (LWhGoodsRecord whGoodsRecord : whGoodsRecordList) { Long oldRecordId = whGoodsRecord.getId(); Long baseGoodsModelsId = whGoodsRecord.getBaseGoodsModelsId(); allChangModelList.add(baseGoodsModelsId); whGoodsRecord.setId(IdUtil.generateId()); + whGoodsRecord.setWarehouseFlowId(inWarehouseFlowId); whGoodsRecord.setWarehouseType(inWarehouseType); whGoodsRecord.setWarehouseId(inWarehouseId); whGoodsRecord.setDealTime(dealTime); @@ -208,56 +213,56 @@ } if (businessType == 1) { // List<Map<String, Object>> modelInfo = baseGoodsModelsService.queryGoodsModelInfo(baseGoodsModelsId); - // 1閮ㄩ棬鍒嗗彂 姝ゆ椂瑕佸線 鐗╁搧浣跨敤璁板綍銆怢_GOODS_USER_RECORD銆戞坊鍔犳暟鎹� //鏌ヨ閮ㄩ棬鍒嗗彂浣跨敤浜� LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser(); lWhProcureModelUser.setTransBusinessId(whFormTransferId); lWhProcureModelUser.setBaseGoodsModelsId(baseGoodsModelsId); List<LWhProcureModelUser> goodsUserInfo = goodsBaseService.select(lWhProcureModelUser); - if (CollectionUtils.isEmpty(goodsUserInfo)) { - continue; - } - int totalGoodsNum = goodsUserInfo.stream().filter(item -> item.getGoodsNum() != null).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); + if (!CollectionUtils.isEmpty(goodsUserInfo)) { + //璁や负鏄疉绫荤墿鍝� + int totalGoodsNum = goodsUserInfo.stream().filter(item -> item.getGoodsNum() != null).mapToInt(LWhProcureModelUser::getGoodsNum).sum(); + if (totalGoodsNum != outGoodsIds.size()) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�"); +// log.error("鍒涘缓鍏ュ簱鍗曞け璐�"); } - // 鏇存柊涓嬫爣浣嶇疆 - startIndex += goodsNum; + + 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); @@ -272,7 +277,7 @@ } lWhGoodsRecordDetailsService.insertBatch(goodsRecordDetailsList); } - lWhGoodsRecordService.insertBatch(whGoodsRecordList); + lWhGoodsRecordServiceImpl.insertBatch(whGoodsRecordList); // 鏇存柊璋冩嫧鍗� lWhFormTransfer = new LWhFormTransfer(whFormTransferId); -- Gitblit v1.9.1