From 87ff2a60723119530d071f6ed6b16fc2f3f023ca Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期二, 05 十二月 2023 16:32:05 +0800 Subject: [PATCH] 报废单导出金额信息 --- consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedCoreService.java | 72 ++++++++++++++++++++--------------- 1 files changed, 41 insertions(+), 31 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedCoreService.java similarity index 77% rename from consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java rename to consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedCoreService.java index c1a5c9e..1442df9 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedCoreService.java @@ -1,4 +1,4 @@ -package com.consum.base.service; +package com.consum.base.service.impl; import java.util.ArrayList; import java.util.List; @@ -15,6 +15,12 @@ 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.BaseGoodsTemplateService; +import com.consum.base.service.GoodsBaseServiceImpl; +import com.consum.base.service.LWarehouseFlowService; +import com.consum.base.service.LWhFormScrappedGoodsService; +import com.consum.base.service.LWhGoodsRecordService; +import com.consum.base.service.LWhGoodsService; import com.consum.model.po.LWarehouseFlow; import com.consum.model.po.LWhFormScrapped; import com.consum.model.po.LWhFormScrappedGoods; @@ -47,14 +53,11 @@ @Autowired public LWhFormScrappedCoreService(GoodsBaseServiceImpl goodsBaseService, - LWhFormScrappedGoodsService lWhFormScrappedGoodsService, - BaseGoodsTemplateService baseGoodsTemplateService, - LWhGoodsService lWhGoodsService, - LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService, - LWhGoodsRecordService lWhGoodsRecordServiceImpl, - LWarehouseFlowService lWarehouseFlowService, - LWhWarningCoreServiceImpl lWhWarningCoreService) { -// this.lWhFormScrappedService = lWhFormScrappedService; + LWhFormScrappedGoodsService lWhFormScrappedGoodsService, BaseGoodsTemplateService baseGoodsTemplateService, + LWhGoodsService lWhGoodsService, LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService, + LWhGoodsRecordService lWhGoodsRecordServiceImpl, LWarehouseFlowService lWarehouseFlowService, + LWhWarningCoreServiceImpl lWhWarningCoreService) { + // this.lWhFormScrappedService = lWhFormScrappedService; this.lWhFormScrappedGoodsService = lWhFormScrappedGoodsService; this.baseGoodsTemplateService = baseGoodsTemplateService; this.lWhGoodsService = lWhGoodsService; @@ -64,7 +67,6 @@ this.goodsBaseService = goodsBaseService; this.lWhWarningCoreService = lWhWarningCoreService; } - /** * 鏍规嵁 鎶ュ簾鍗曘�怢_WH_FORM_SCRAPPED銆� 鎶ュ簾鐗╁搧 @@ -93,7 +95,7 @@ // 娴佹按璁板綍鎬昏〃ID long lWarehouseFlowId = IdUtil.generateId(); - //瑕佹姤搴熺殑鐗╁搧 + // 瑕佹姤搴熺殑鐗╁搧 LWhFormScrappedGoods goods = new LWhFormScrappedGoods(); goods.setFormScrappedId(formScrappedId); List<LWhFormScrappedGoods> formScrappedGoods = lWhFormScrappedGoodsService.select(goods); @@ -105,21 +107,21 @@ // 鎸夊瀷鍙峰垎缁� ArrayList<Long> allChangModelList = new ArrayList<>(); - Map<Long, List<LWhFormScrappedGoods>> modelGroup = formScrappedGoods.stream() - .collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsModelsId)); + Map<Long, List<LWhFormScrappedGoods>> modelGroup = + formScrappedGoods.stream().collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsModelsId)); for (Map.Entry<Long, List<LWhFormScrappedGoods>> entry : modelGroup.entrySet()) { - //瑙勬牸鍨嬪彿缂栧彿 + // 瑙勬牸鍨嬪彿缂栧彿 Long baseGoodsModelsId = entry.getKey(); allChangModelList.add(baseGoodsModelsId); - //瀵规瘡缁勪腑瑕佹姤搴熺殑鏁伴噺姹傚拰 + // 瀵规瘡缁勪腑瑕佹姤搴熺殑鏁伴噺姹傚拰 List<LWhFormScrappedGoods> modelGoodsList = entry.getValue(); - //鏌ヨ鍨嬪彿淇℃伅 + // 鏌ヨ鍨嬪彿淇℃伅 Map<String, Object> tempGoodsInfo = baseGoodsTemplateService.queryGoodsInfoByModelId(baseGoodsModelsId); - //瑕佹姤搴熺殑鎬绘暟閲� + // 瑕佹姤搴熺殑鎬绘暟閲� int modelTotalNum = modelGoodsList.stream().mapToInt(LWhFormScrappedGoods::getCounts).sum(); - Long tempGoodsId = (Long) tempGoodsInfo.get("goodsid"); - String goodsName = (String) tempGoodsInfo.get("goodsname"); - String modelName = (String) tempGoodsInfo.get("modelname"); + Long tempGoodsId = (Long)tempGoodsInfo.get("goodsid"); + String goodsName = (String)tempGoodsInfo.get("goodsname"); + String modelName = (String)tempGoodsInfo.get("modelname"); // 鎻掑叆 鍚勮鏍肩墿鍝佺殑杩涘嚭搴撹褰� L_WH_GOODS_RECORD long whGoodsRecordId = IdUtil.generateId(); LWhGoodsRecord whGoodsRecord = new LWhGoodsRecord(); @@ -132,36 +134,43 @@ whGoodsRecord.setBaseGoodsModelsId(baseGoodsModelsId); whGoodsRecord.setBaseGoodsModelsName(modelName); whGoodsRecord.setDealTime(dealTime); - //鏈璋冩暣绫诲瀷 1=璋冨锛�2=璋冨噺 + // 鏈璋冩暣绫诲瀷 1=璋冨锛�2=璋冨噺 whGoodsRecord.setThisType(2); whGoodsRecord.setThisCount(modelTotalNum); - //閫氳繃LockManage鑾峰緱閿� + // 閫氳繃LockManage鑾峰緱閿� Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId); synchronized (warehouseModelLockObj) { for (LWhFormScrappedGoods formScrappedGood : modelGoodsList) { - //鎶ュ簾鏁伴噺 + // 鎶ュ簾鏁伴噺 Integer counts = formScrappedGood.getCounts(); - //鎶ュ簾鍗曠紪鍙� + // 鎶ュ簾鍗曠紪鍙� Long transBusinessId = formScrappedGood.getTransBusinessId(); int goodsModelNum = 0; List<Long> srappedGoodsIds = null; if (warehouseType == null || warehouseType == 0) { - srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, null, null, baseGoodsModelsId, (short) 1, counts); + srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, null, null, + baseGoodsModelsId, (short)1, counts); } else { - //浣跨敤浜哄憳鍚嶇О + // 浣跨敤浜哄憳鍚嶇О String userName = formScrappedGood.getUserName(); // 鏍规嵁鍒嗗彂鍗曘�佽鏍煎瀷鍙风紪鍙枫�佷娇鐢ㄤ汉鍛樺悕绉帮紝杩涜鎶ュ簾 - srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, transBusinessId, userName, baseGoodsModelsId, - (short) 2, counts); + srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, + transBusinessId, userName, baseGoodsModelsId, (short)2, counts); } + if (CollectionUtils.isEmpty(srappedGoodsIds) || srappedGoodsIds.size() < counts) { log.error("瑕佹姤搴熺殑鐗╁搧鏁伴噺涓嶈冻锛�"); // 鎵嬪姩鍥炴粴 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); throw new RuntimeException("鎶ュ簾澶辫触!鍨嬪彿鏁伴噺涓嶈冻"); } + // 閫氳繃鐗╁搧id鏌ヨ鎵�鏈夊晢鍝佺殑鎬婚噾棰� + long amount = lWhGoodsService.queryGoodsPriceById(srappedGoodsIds); + LWhFormScrappedGoods lWhFormScrappedGoods = new LWhFormScrappedGoods(formScrappedGood.getId()); + lWhFormScrappedGoods.setTotalAmount((int)amount); + lWhFormScrappedGoodsService.update(lWhFormScrappedGoods); whGoodsRecord.setInitialCount(goodsModelNum); whGoodsRecord.setEndCount(goodsModelNum - counts); @@ -169,7 +178,7 @@ // 璁剧疆鐗╁搧涓烘姤搴熺姸鎬� lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3); // 鎵归噺鎻掑叆 杩涘嚭搴撴祦姘存槑缁哰L_WH_GOODS_RECORD_DETAILS] - lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short) 2); + lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short)2); } lWhGoodsRecordServiceImpl.insert(whGoodsRecord); } @@ -201,8 +210,9 @@ lWhFormScrapped.setDealTime(dealTime); goodsBaseService.update(lWhFormScrapped); - //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉� - lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType,(short) 0), warehouseId, allChangModelList, null, dealTime); + // 褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉� + lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType, (short)0), warehouseId, allChangModelList, + null, dealTime); return lWarehouseFlowId; } -- Gitblit v1.9.1