From be96b79932aaaf0bd6a1c143e6f1d045c6a8935a Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期四, 07 十二月 2023 16:16:05 +0800 Subject: [PATCH] 分发列表去重 --- consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java | 73 +++++++++++++++++++++--------------- consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java | 3 - consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java | 2 3 files changed, 44 insertions(+), 34 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java index c6ed00a..0784857 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java @@ -32,7 +32,6 @@ import com.consum.base.pojo.response.GoodsTemplateCountVO; import com.consum.base.pojo.response.GoodsTemplateInfoVO; import com.consum.base.pojo.response.LWhFormProcureExtendVO; -import com.consum.base.service.BaseGoodsTemplateService; import com.consum.base.service.LWhFormProcureGoodsService; import com.consum.base.service.LWhFormProcureService; import com.consum.base.service.LWhProcureModelService; @@ -71,8 +70,6 @@ private LWhFormProcureGoodsService lWhFormProcureGoodsServiceImpl; @Resource private LWhFormProcureCoreService lWhFormProcureCoreService; - @Resource - private BaseGoodsTemplateService baseGoodsTemplateService; @Resource private LWhProcureModelService lWhProcureModelService; diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java index 61a10c7..ee77afb 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java @@ -1,12 +1,5 @@ package com.consum.base.service.impl; -import com.consum.base.service.GoodsBaseServiceImpl; -import com.consum.base.service.LGoodsUserRecordServiceImpl; -import com.consum.base.service.LGoodsWhRecordServiceImpl; -import com.consum.base.service.LWarehouseFlowService; -import com.consum.base.service.LWhFormTransferService; -import com.consum.base.service.LWhGoodsRecordService; -import com.consum.base.service.LWhGoodsService; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -24,6 +17,13 @@ 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.LGoodsUserRecordServiceImpl; +import com.consum.base.service.LGoodsWhRecordServiceImpl; +import com.consum.base.service.LWarehouseFlowService; +import com.consum.base.service.LWhFormTransferService; +import com.consum.base.service.LWhGoodsRecordService; +import com.consum.base.service.LWhGoodsService; import com.consum.model.po.LGoodsUserRecord; import com.consum.model.po.LWarehouseFlow; import com.consum.model.po.LWhFormTransfer; @@ -86,7 +86,7 @@ Long userId = currentUser.getId(); String nickName = currentUser.getNick_name(); long dealTime = DateUtils.getDateTimeNumber(System.currentTimeMillis()); - //鍗曟嵁绫诲瀷銆�0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為�� + // 鍗曟嵁绫诲瀷銆�0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為�� Integer businessType = lWhFormTransfer.getBusinessType(); businessType = businessType == null ? 0 : businessType; WhBusinessEnum businessEnum = WhBusinessEnum.DIAOBO; @@ -103,13 +103,15 @@ try { // 鏍规嵁璋冩嫧鍗� 鐢熸垚 鍑哄簱鍗� 杩欐牱灏辫兘鍏敤鍑哄簱 lWhFormTransfer.getBusinessType(); - outWarehouseFormId = lWhFormOutputCoreService.createOutFormByTransId(whFormTransferId, businessEnum, currentUser, dealTime); + outWarehouseFormId = + lWhFormOutputCoreService.createOutFormByTransId(whFormTransferId, businessEnum, currentUser, dealTime); } catch (Exception e) { log.error(e.getMessage()); return; } // 鍑哄簱鍗� 鍑哄簱锛岃繑鍥� 鍑哄簱鍗曟祦姘碔d - Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, businessEnum, currentUser, dealTime, whFormTransferId); + Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, businessEnum, currentUser, + dealTime, whFormTransferId); // 鏇存柊璋冩嫧鍗� lWhFormTransfer = new LWhFormTransfer(whFormTransferId); @@ -156,11 +158,11 @@ // 娴佹按璁板綍鎬昏〃ID long inWarehouseFlowId = NumberGenerator.getLongSequenceNumber(); - //鍗曟嵁绫诲瀷銆�0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為�� + // 鍗曟嵁绫诲瀷銆�0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為�� Integer businessType = lWhFormTransfer.getBusinessType(); - //鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾 4 闆舵槦鍑哄簱锛� + // 鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾 4 闆舵槦鍑哄簱锛� Integer goodsStatus = 1; - //绫诲瀷0鍒嗗彂浣跨敤1 鍙嶅簱 + // 绫诲瀷0鍒嗗彂浣跨敤1 鍙嶅簱 Integer recordType = null; if (businessType == 1) { goodsStatus = 2; @@ -198,7 +200,7 @@ whGoodsRecord.setWarehouseType(inWarehouseType); whGoodsRecord.setWarehouseId(inWarehouseId); whGoodsRecord.setDealTime(dealTime); - //閫氳繃LockManage鑾峰緱閿� + // 閫氳繃LockManage鑾峰緱閿� Object warehouseModelLockObj = LockManage.acquireLock(inWarehouseType, inWarehouseId, baseGoodsModelsId); List<Long> outGoodsIds = null; synchronized (warehouseModelLockObj) { @@ -209,32 +211,41 @@ throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝鏈煡璇㈠埌鐗╁搧锛�"); } // 搴撳瓨鐗╁搧璇︽儏锛圠_WH_GOODS锛変腑 鐘舵�佽缃负1 - lWhGoodsService.modGoodsTransfering(outGoodsIds, inWarehouseType, inWarehouseId, inWarehouseName, goodsStatus); + lWhGoodsService.modGoodsTransfering(outGoodsIds, inWarehouseType, inWarehouseId, inWarehouseName, + goodsStatus); + + // 閫氳繃鐗╁搧id鏌ヨ鎵�鏈夊晢鍝佺殑鎬婚噾棰� +// long amount = lWhGoodsService.queryGoodsPriceById(outGoodsIds); +// LWhProcureModel lWhFormScrappedGoods = new LWhProcureModel(formScrappedGood.getId()); +// lWhFormScrappedGoods.setTotalAmount(amount); +// lWhFormTransferService.update(lWhFormScrappedGoods); // 鑾峰緱閿佸悗鏌ヨ璇ュ瀷鍙风殑鏈熷垵鏁伴噺 - int goodsModelNum = lWhGoodsService.queryGoodsModelNum(inWarehouseType, inWarehouseId, baseGoodsModelsId, 1, null); + int goodsModelNum = + lWhGoodsService.queryGoodsModelNum(inWarehouseType, inWarehouseId, baseGoodsModelsId, 1, null); whGoodsRecord.setInitialCount(goodsModelNum); whGoodsRecord.setEndCount(goodsModelNum + whGoodsRecord.getThisCount()); long totalAmount = lWhGoodsService.queryGoodsPriceById(outGoodsIds); whGoodsRecord.setTotalPrice(totalAmount); } if (businessType == 1) { -// List<Map<String, Object>> modelInfo = baseGoodsModelsService.queryGoodsModelInfo(baseGoodsModelsId); + // List<Map<String, Object>> modelInfo = baseGoodsModelsService.queryGoodsModelInfo(baseGoodsModelsId); // 1閮ㄩ棬鍒嗗彂 姝ゆ椂瑕佸線 鐗╁搧浣跨敤璁板綍銆怢_GOODS_USER_RECORD銆戞坊鍔犳暟鎹� - //鏌ヨ閮ㄩ棬鍒嗗彂浣跨敤浜� + // 鏌ヨ閮ㄩ棬鍒嗗彂浣跨敤浜� LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser(); lWhProcureModelUser.setTransBusinessId(whFormTransferId); lWhProcureModelUser.setBaseGoodsModelsId(baseGoodsModelsId); List<LWhProcureModelUser> goodsUserInfo = goodsBaseService.select(lWhProcureModelUser); - //灏嗙墿鍝佸瀷鍙蜂互鍓嶇殑浣跨敤璁板綍璁剧疆涓洪潪鏈�鏂� + // 灏嗙墿鍝佸瀷鍙蜂互鍓嶇殑浣跨敤璁板綍璁剧疆涓洪潪鏈�鏂� lGoodsUserRecordService.updSetNotLast(outGoodsIds); if (!CollectionUtils.isEmpty(goodsUserInfo)) { - //璁や负鏄疉绫荤墿鍝� - int totalGoodsNum = goodsUserInfo.stream().filter(item -> item.getGoodsNum() != null).mapToInt(LWhProcureModelUser::getGoodsNum).sum(); + // 璁や负鏄疉绫荤墿鍝� + int totalGoodsNum = goodsUserInfo.stream().filter(item -> item.getGoodsNum() != null) + .mapToInt(LWhProcureModelUser::getGoodsNum).sum(); if (totalGoodsNum != outGoodsIds.size()) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�"); -// log.error("鍒涘缓鍏ュ簱鍗曞け璐�"); + // log.error("鍒涘缓鍏ュ簱鍗曞け璐�"); } ArrayList<LGoodsUserRecord> goodsUserRecordList = new ArrayList<>(); @@ -267,16 +278,17 @@ // 鏇存柊涓嬫爣浣嶇疆 startIndex += goodsNum; } - //鎵归噺鎻掑叆浣跨敤浜鸿褰� + // 鎵归噺鎻掑叆浣跨敤浜鸿褰� lGoodsUserRecordService.insertBatch(goodsUserRecordList); } } - //灏嗕繚绠′粨搴撲俊鎭洿鏂板埌 鐗╁搧浠撳簱淇濈璁板綍銆怢_GOODS_WH_RECORD銆� + // 灏嗕繚绠′粨搴撲俊鎭洿鏂板埌 鐗╁搧浠撳簱淇濈璁板綍銆怢_GOODS_WH_RECORD銆� lGoodsWhRecordService.insertNewRecord(outGoodsIds, inWarehouseFlowId, dealTime); LWhGoodsRecordDetails lWhGoodsRecordDetails = new LWhGoodsRecordDetails(); lWhGoodsRecordDetails.setWhGoodsRecordId(oldRecordId); - List<LWhGoodsRecordDetails> goodsRecordDetailsList = lWhGoodsRecordDetailsService.select(lWhGoodsRecordDetails); + List<LWhGoodsRecordDetails> goodsRecordDetailsList = + lWhGoodsRecordDetailsService.select(lWhGoodsRecordDetails); for (LWhGoodsRecordDetails whGoodsRecordDetails : goodsRecordDetailsList) { whGoodsRecordDetails.setId(null); whGoodsRecordDetails.setWhGoodsRecordId(whGoodsRecord.getId()); @@ -296,16 +308,17 @@ lWhFormTransfer.setInTime(dealTime); lWhFormTransferService.update(lWhFormTransfer); - //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉� + // 褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉� if (inWarehouseType == 0) { - lWhWarningCoreService.updateKuCun(Convert.toShort(inWarehouseType, (short) 0), inWarehouseId, allChangModelList, null, dealTime); + lWhWarningCoreService.updateKuCun(Convert.toShort(inWarehouseType, (short)0), inWarehouseId, + allChangModelList, null, dealTime); } log.info("璋冩嫧鍗曪細{} 鍏ュ簱瀹屾垚", whFormTransferId); return; } - - private static String GET_GOODSID_BY_FLOWID = "SELECT goods.id FROM L_WH_GOODS_RECORD gr LEFT JOIN L_WH_GOODS_RECORD_DETAILS grd ON gr.id=grd.WH_GOODS_RECORD_ID LEFT JOIN L_WH_GOODS goods ON goods.id=grd.WH_GOODS_ID WHERE 1=1"; + private static String GET_GOODSID_BY_FLOWID = + "SELECT goods.id FROM L_WH_GOODS_RECORD gr LEFT JOIN L_WH_GOODS_RECORD_DETAILS grd ON gr.id=grd.WH_GOODS_RECORD_ID LEFT JOIN L_WH_GOODS goods ON goods.id=grd.WH_GOODS_ID WHERE 1=1"; /** * 鏍规嵁鍑哄簱娴佹按ID 鏌ヨ 鍑哄簱鐨勭墿鍝両D @@ -327,7 +340,7 @@ if (CollectionUtils.isEmpty(outGoods)) { return null; } - List<Long> whGoodsIds = outGoods.stream().map(map -> (Long) map.get("id")).collect(Collectors.toList()); + List<Long> whGoodsIds = outGoods.stream().map(map -> (Long)map.get("id")).collect(Collectors.toList()); return whGoodsIds; } } diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java index c7a342f..473f57a 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java @@ -81,7 +81,7 @@ private BaseWarehouseManagerService baseWarehouseManagerService; private static final String QUERY_FORM_TRANSFER_LIST = - "SELECT ft.* FROM l_wh_form_transfer ft " + "left join L_WH_PROCURE_MODEL pm on pm.BUSINESS_ID = ft.id " + "SELECT DISTINCT ft.* FROM l_wh_form_transfer ft " + "left join L_WH_PROCURE_MODEL pm on pm.BUSINESS_ID = ft.id " + "LEFT JOIN BASE_GOODS_MODELS bgm ON pm.BASE_GOODS_MODELS_ID=bgm.ID " + "LEFT JOIN BASE_GOODS_TEMPLATE bgt ON bgm.GOODS_TEMPLATES_ID=bgt.id WHERE 1 = 1 "; -- Gitblit v1.9.1