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/DepFormScrappedCoreServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++++------ 1 files changed, 37 insertions(+), 6 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java b/consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java index 2316f69..192da2b 100644 --- a/consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java @@ -3,13 +3,18 @@ import cn.hutool.core.convert.Convert; import com.consum.base.core.utils.IdUtil; import com.consum.base.core.utils.LockManage; -import com.consum.base.service.*; +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.DepFormScrapped; import com.consum.model.po.LWarehouseFlow; import com.consum.model.po.LWhGoodsRecord; 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; @@ -41,7 +46,7 @@ @Resource private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService; @Resource - private LWhGoodsRecordService lWhGoodsRecordService; + private LWhGoodsRecordService lWhGoodsRecordServiceImpl; @Resource private LWarehouseFlowService lWarehouseFlowService; @@ -84,7 +89,7 @@ Map<String, Integer> procureModelMap = new HashMap<>(); for (Object key : groupByModelIdMap.keySet()) { - Long modelTotalPrice = 0l; + Long modelTotalPrice = 0L; //瑕佹姤搴熺殑鎬绘暟閲� int modelTotalNum = 0; @@ -114,7 +119,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"); @@ -178,7 +184,7 @@ return null; } // 鎵归噺鎻掑叆 鍚勮鏍肩墿鍝佺殑杩涘嚭搴撱�怢_WH_GOODS_RECORD銆� - lWhGoodsRecordService.insertBatch(lWhGoodsRecordList); + lWhGoodsRecordServiceImpl.insertBatch(lWhGoodsRecordList); // 鏇存柊鎶ュ簾鍗� depFormScrapped = new DepFormScrapped(lWhFormScrappedId); @@ -199,6 +205,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<>(); @@ -221,7 +252,7 @@ sb.append(modelUseingNum).append(" >=0"); goodsBaseService.update(sb.toString()); } -// goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL set USE_COUNT=USE_COUNT-? where BUSINESS_TYPE=4 and BUSINESS_ID=? and BASE_GOODS_MODELS_ID=? and USE_COUNT=USE_COUNT-? >0", parameterList); +// goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL set USE_COUNT=USE_COUNT-? where BUSINESS_TYPE=4 and BUSINESS_ID=? and BASE_GOODS_MODELS_ID=? and USE_COUNT=USE_COUNT-? >0", procureModelParameterList); //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉� //lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType,(short) 0), warehouseId, allChangModelList, null, dealTime); return null; -- Gitblit v1.9.1