From 20c30d26f8bab22a4cb6b6459962fa92d6da490f Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期一, 27 十一月 2023 14:20:29 +0800 Subject: [PATCH] feat: 漏洞修改 --- consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java | 32 ++++++++++++++++++++++---------- 1 files changed, 22 insertions(+), 10 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java index d85b03e..144e817 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java @@ -6,19 +6,20 @@ import com.walker.infrastructure.utils.NumberGenerator; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.SqlParameterSource; import org.springframework.jdbc.core.simple.SimpleJdbcCall; import org.springframework.stereotype.Service; +import javax.annotation.PostConstruct; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * @ClassName LWarehouseFlowService - * @Date 2023/10/24 * @Description * @Version 1.0 @@ -34,14 +35,22 @@ private LWhGoodsRecordService lWhGoodsRecordService; private BaseGoodsTemplateServiceImpl baseGoodsTemplateService; + @Value("${spring.datasource.dataBaseName}") + private String dataBaseName; + + @PostConstruct + public void init() { + this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withCatalogName(dataBaseName).withProcedureName("InsertL_WH_GOODS"); + } + @Autowired - public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsRecordService lWhGoodsRecordService) { + public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, + BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsRecordService lWhGoodsRecordService) { this.jdbcTemplate = jdbcTemplate; this.lWarehouseFlowService = lWarehouseFlowService; this.baseGoodsTemplateService = baseGoodsTemplateService; this.lWhGoodsService = lWhGoodsService; this.lWhGoodsRecordService = lWhGoodsRecordService; - this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("InsertL_WH_GOODS"); } /** @@ -118,24 +127,28 @@ Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId); synchronized (warehouseModelLockObj) { // 鑾峰緱閿佸悗鏌ヨ璇ュ瀷鍙风殑鏈熷垵鏁伴噺 - int goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, (short) 1, null); + int goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 1, null); whGoodsRecord.setInitialCount(goodsModelNum); whGoodsRecord.setThisCount(modelCount); whGoodsRecord.setEndCount(goodsModelNum + modelCount); + long totalPrice = 0; //灏嗗悓鍨嬪彿鐨勭墿鍝佹彃鍏� 搴撳瓨鐗╁搧璇︽儏 List<LWhProcureModel> lWhProcureModels = sameModelList.get(baseGoodsModelsId); - lWhProcureModels.forEach(item -> { + for (LWhProcureModel item : lWhProcureModels) { //渚涘簲鍟� String supplier = item.getSupplier(); //浠锋牸 Long price = item.getPrice(); //鐗╁搧涓暟 Integer counts = item.getCounts(); + totalPrice = totalPrice + counts * price; sameGoodsInsertMore(warehouseFlowId, warehouseType, warehouseId, whGoodsRecordId, (short) 1, warehouseName, classification, tempGoodsId, goodsName, baseGoodsModelsId, modelName, supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts); - }); + } + ; + whGoodsRecord.setTotalPrice(totalPrice); } lWhGoodsRecordService.insert(whGoodsRecord); }); @@ -145,9 +158,7 @@ /** - * 鍚屾牱瑙勬牸鐨勭墿鍝� 鎻掑叆澶氭锛� - * 鍚屾椂灏嗕富閿褰曞湪 杩涘嚭搴撴祦姘存槑缁嗐�怢_WH_GOODS_RECORD_DETAILS銆�, - * 鏇存柊 鐗╁搧浠撳簱淇濈璁板綍銆怢_GOODS_WH_RECORD銆� + * 鍚屾牱瑙勬牸鐨勭墿鍝� 鎻掑叆澶氭锛� 鍚屾椂灏嗕富閿褰曞湪 杩涘嚭搴撴祦姘存槑缁嗐�怢_WH_GOODS_RECORD_DETAILS銆�, 鏇存柊 鐗╁搧浠撳簱淇濈璁板綍銆怢_GOODS_WH_RECORD銆� * * @param pWarehouseId 浠撳簱id * @param pWarehouseName 浠撳簱鍚嶇О @@ -164,7 +175,8 @@ * @param pStates 鐘舵�� * @param pTimes 鎻掑叆鏉℃暟 */ - public void sameGoodsInsertMore(long pWarehouseFlowId, Integer warehouseType, long pWarehouseId, long pWhGoodsRecordId, short pRecordType, String pWarehouseName, short pCostType, + public void sameGoodsInsertMore(long pWarehouseFlowId, Integer warehouseType, long pWarehouseId, long pWhGoodsRecordId, short pRecordType, + String pWarehouseName, short pCostType, long pBaseGoodsTemplateId, String pGoodsTemplateName, long pBaseGoodsModelsId, String pBaseGoodsModelsName, String pSupplier, short pBuyType, String pUnit, long pPrice, long pProcureDate, -- Gitblit v1.9.1