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