From 0d704977a91adb83c3ff9c1769fe4b73fc54a565 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期四, 21 十二月 2023 17:29:38 +0800 Subject: [PATCH] 采购单模板下载和导入 --- consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java | 53 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 44 insertions(+), 9 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 02f9f1f..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 @@ -4,11 +4,19 @@ 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.*; -import com.consum.model.po.*; +import com.consum.base.service.GoodsBaseServiceImpl; +import com.consum.base.service.LWarehouseFlowService; +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; +import com.consum.model.po.UsingFormBack; import com.iplatform.model.po.S_user_core; import com.walker.infrastructure.utils.CollectionUtils; import com.walker.web.ResponseValue; +import java.util.Arrays; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -40,7 +48,7 @@ @Resource private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService; @Resource - private LWhGoodsRecordService lWhGoodsRecordService; + private LWhGoodsRecordService lWhGoodsRecordServiceImpl; @Resource private LWarehouseFlowService lWarehouseFlowService; @Resource @@ -85,7 +93,7 @@ Map<String, Integer> procureModelMap = new HashMap<>(); for (Object key : groupByModelIdMap.keySet()) { - Long modelTotalPrice = 0l; + Long modelTotalPrice = 0L; //瑕佹姤搴熺殑鎬绘暟閲� int modelTotalNum = 0; @@ -115,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"); @@ -128,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("鎶ュ簾澶辫触!鍨嬪彿鏁伴噺涓嶈冻"); @@ -181,7 +190,7 @@ return null; } // 鎵归噺鎻掑叆 鍚勮鏍肩墿鍝佺殑杩涘嚭搴撱�怢_WH_GOODS_RECORD銆� - lWhGoodsRecordService.insertBatch(lWhGoodsRecordList); + lWhGoodsRecordServiceImpl.insertBatch(lWhGoodsRecordList); // 鏇存柊鎶ュ簾鍗� depFormScrapped = new UsingFormBack(lWhFormBackId); @@ -199,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<>(); @@ -292,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")); } @@ -331,7 +366,7 @@ return null; } // 鎵归噺鎻掑叆 鍚勮鏍肩墿鍝佺殑杩涘嚭搴撱�怢_WH_GOODS_RECORD銆� - lWhGoodsRecordService.insertBatch(flowRecordArrayList); + lWhGoodsRecordServiceImpl.insertBatch(flowRecordArrayList); return null; } -- Gitblit v1.9.1