From fda942a13398486e58f60b8897dd168e771ac8dc Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期四, 21 十二月 2023 13:23:14 +0800 Subject: [PATCH] 机构新增和编辑 --- consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java | 65 ++++++++++++++++++++++---------- 1 files changed, 45 insertions(+), 20 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java b/consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java index 0248e3f..39cbf33 100644 --- a/consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java @@ -1,26 +1,14 @@ package com.consum.base.core; -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 cn.hutool.core.convert.Convert; import com.consum.base.core.service.LWhWarningCoreServiceImpl; import com.consum.base.core.utils.IdUtil; import com.consum.base.core.utils.LockManage; import com.consum.base.service.GoodsBaseServiceImpl; import com.consum.base.service.LWarehouseFlowService; -import com.consum.base.service.impl.LWhGoodsRecordDetailsService; import com.consum.base.service.LWhGoodsRecordService; import com.consum.base.service.LWhGoodsService; +import com.consum.base.service.impl.LWhGoodsRecordDetailsService; import com.consum.model.po.BaseWarehouse; import com.consum.model.po.LWarehouseFlow; import com.consum.model.po.LWhGoodsRecord; @@ -28,9 +16,19 @@ import com.iplatform.model.po.S_user_core; import com.walker.infrastructure.utils.CollectionUtils; import com.walker.web.ResponseValue; - -import cn.hutool.core.convert.Convert; +import java.util.Arrays; 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; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @ClassName DepFormScrappedCoreServiceImpl @@ -95,7 +93,7 @@ Map<String, Integer> procureModelMap = new HashMap<>(); for (Object key : groupByModelIdMap.keySet()) { - Long modelTotalPrice = 0l; + Long modelTotalPrice = 0L; //瑕佹姤搴熺殑鎬绘暟閲� int modelTotalNum = 0; @@ -125,7 +123,8 @@ Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId); int goodsModelNum = 0; synchronized (warehouseModelLockObj) { - goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 2, null); + List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId)); + goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseIds, baseGoodsModelsId, 2, null); for (Map<String, Object> depFormScrappedModel : eachFfModelList) { // 璋冩嫧鍗曚俊鎭� Long transBusinessId = (Long) depFormScrappedModel.get("TRANS_BUSINESS_ID"); @@ -138,7 +137,7 @@ // 鏍规嵁鍒嗗彂鍗曘�佸瀷鍙枫�佷娇鐢ㄤ汉淇℃伅鏌ヨ鐗╁搧淇℃伅 List<Map<String, Object>> scrappedGoodsList = lWhGoodsService.queryScrappedGoods(warehouseType, warehouseId, transBusinessId, nowUserName, baseGoodsModelsId, (short) 2, counts); if (CollectionUtils.isEmpty(scrappedGoodsList) || scrappedGoodsList.size() < counts) { - log.error("瑕佹姤搴熺殑鐗╁搧鏁伴噺涓嶈冻锛�"); + log.error("瑕侀��鍥炵殑鐗╁搧鏁伴噺涓嶈冻锛�"); // 鎵嬪姩鍥炴粴 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); throw new RuntimeException("鎶ュ簾澶辫触!鍨嬪彿鏁伴噺涓嶈冻"); @@ -209,6 +208,31 @@ parameterList.add(one); } goodsBaseService.execBatchUpdate("update DEP_FORM_SCRAPPED_MODEL set TOTAL_AMOUNT=? where id=?", parameterList); + + //濡傛灉鏄疉绫荤墿鍝侊紝鍒欐洿鏂� 鍒嗗彂鐗╁搧浣跨敤浜恒�怢_WH_PROCURE_MODEL_USER銆� 涓� 鏍规嵁id 鏇存柊 鍦ㄧ敤鏁伴噺(USE_COUNT) + List<Object[]> procureModelUserIdList = new ArrayList<>(); + for (Map<String, Object> itemMap : bfModelList) { + Long procureModelUserId = Convert.toLong(itemMap.get("PROCURE_MODEL_USER_ID")); + if (procureModelUserId==null){ + continue; + } + Integer counts = Convert.toInt(itemMap.get("COUNTS")); + +// StringBuilder sb = new StringBuilder("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT-").append(counts); +// sb.append(" where id=").append(procureModelUserId); +// sb.append(" and USE_COUNT-").append(counts).append(" >=0"); +// goodsBaseService.update(sb.toString()); + + Object[] one = new Object[3]; + one[0] = counts; + one[1] = procureModelUserId; + one[2] = counts; + procureModelUserIdList.add(one); + } + if (!CollectionUtils.isEmpty(procureModelUserIdList)) { + goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT- ? where id= ? and USE_COUNT- ? >=0", procureModelUserIdList); + } + //閲囪喘銆佽皟鎷ㄣ�佸嚭搴撶瓑鐨勭墿鍝佸瀷鍙枫�怢_WH_PROCURE_MODEL銆戜腑 鏍规嵁璋冩嫧鍗�+鍨嬪彿 鏇存柊 鍦ㄧ敤鏁伴噺 List<Object[]> procureModelParameterList = new ArrayList<>(); @@ -302,7 +326,8 @@ List<Map<String, Object>> scrappedAllGoodsList = new ArrayList<>(); synchronized (warehouseModelLockObj) { //鏌ヨ鏈熷垵鏁伴噺 - goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, inWarehouseId, baseGoodsModelsId, 1, null); + List<Long> warehouseIds = new ArrayList<>(Arrays.asList(inWarehouseId)); + goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, warehouseIds, baseGoodsModelsId, 1, null); for (Map<String, Object> depFormScrappedModel : eachFfModelList) { scrappedAllGoodsList.addAll((List<Map<String, Object>>) depFormScrappedModel.get("scrappedGoodsList")); } -- Gitblit v1.9.1