瀏覽代碼

no message

FengChaoYu 2 周之前
父節點
當前提交
78a235364a

+ 57 - 49
mall-server-api/src/main/java/com/gree/mall/manager/logic/material/stock/WebsitStockLogic.java

@@ -197,6 +197,15 @@ public class WebsitStockLogic {
             websitStockAccs.add(websitStockAcc);
         }
 
+        Map<String, List<WebsitStock>> stockGroupMap = websitStocks.stream().collect(Collectors.groupingBy(WebsitStock::getGoodsId));
+
+        for (Map.Entry<String, List<WebsitStock>> entry : stockGroupMap.entrySet()) {
+            if (entry.getValue().size() > 1) {
+                throw new RemoteServiceException(entry.getKey() + " 有重复的辅材编号");
+            }
+        }
+
+
         // 辅材价格表初始化
         if (websitGoodsTypeEnum.getKey().equals(WebsitGoodsTypeEnum.M.getKey())
                 && CollectionUtil.isNotEmpty(websitStocks)) {
@@ -241,64 +250,63 @@ public class WebsitStockLogic {
                     price.setRemark("初始化");
 
                     priceList.add(price);
-
-                    // 初始化采购明细
-                    WebsitPurchaseItem purchaseItem = new WebsitPurchaseItem();
-                    purchaseItem.setPurchaseId(purchaseId)
-                            .setCompanyWechatId(websitStocks.get(0).getCompanyWechatId())
-                            .setWebsitId(websitStocks.get(0).getWebsitId())
-                            .setWebsitName(websitStocks.get(0).getWebsitName())
-                            .setGoodsType(WebsitGoodsTypeEnum.M.getKey())
-                            .setGoodsId(stock.getGoodsId())
-                            .setGoodsName(stock.getGoodsName())
-                            .setApplyCost(stock.getLastCost())
-                            .setApplyCostValue(stock.getLastCost().multiply(stock.getQty()))
-                            .setApplyQty(stock.getQty())
-                            .setCheckQty(stock.getQty())
-                            .setCost(stock.getLastCost())
-                            .setCostValue(stock.getLastCost().multiply(stock.getQty()))
-                            .setRecQty(stock.getQty())
-                            .setNote("库存初始化")
-                            .setInStockQty(stock.getQty())
-                            .setInStockCost(stock.getLastCost());
-
-                    purchaseTotalAmount = purchaseTotalAmount.add(purchaseItem.getCostValue());
-
-                    purchaseItemList.add(purchaseItem);
                 }
-            }
 
-            if (CollectionUtil.isNotEmpty(priceList)) {
-                websitGoodsPriceService.saveBatch(priceList);
-            }
-
-            if (CollectionUtil.isNotEmpty(purchaseItemList)) {
-                // 初始化辅材采购入库
-                WebsitPurchase purchase = new WebsitPurchase();
-                purchase.setPurchaseId(purchaseId)
+                // 初始化采购明细
+                WebsitPurchaseItem purchaseItem = new WebsitPurchaseItem();
+                purchaseItem.setPurchaseId(purchaseId)
                         .setCompanyWechatId(websitStocks.get(0).getCompanyWechatId())
-                        .setCompanyWechatName(websitStocks.get(0).getCompanyWechatName())
                         .setWebsitId(websitStocks.get(0).getWebsitId())
                         .setWebsitName(websitStocks.get(0).getWebsitName())
                         .setGoodsType(WebsitGoodsTypeEnum.M.getKey())
-                        .setPurchaseTime(websitStocks.get(0).getCreateTime())
-                        .setVenderId("1010")
-                        .setVenderName("其他")
-                        .setFlag(ExamineStatusEnum.OK.getKey())
-                        .setIsRecheck(IsYesNoEnum.YES.getKey())
-                        .setConfirmRemark("库存初始化")
-                        .setStorageId(websitStocks.get(0).getStorageId())
-                        .setStorageName("默认")
-                        .setConfirmBy(adminUser.getNickName())
-                        .setConfirmTime(websitStocks.get(0).getCreateTime())
-                        .setCheckTime(websitStocks.get(0).getCreateTime())
-                        .setSubmitTime(websitStocks.get(0).getCreateTime())
-                        .setTotalAmount(purchaseTotalAmount);
-                websitPurchaseService.save(purchase);
-                websitPurchaseItemService.saveBatch(purchaseItemList);
+                        .setGoodsId(stock.getGoodsId())
+                        .setGoodsName(stock.getGoodsName())
+                        .setApplyCost(stock.getLastCost())
+                        .setApplyCostValue(stock.getLastCost().multiply(stock.getQty()))
+                        .setApplyQty(stock.getQty())
+                        .setCheckQty(stock.getQty())
+                        .setCost(stock.getLastCost())
+                        .setCostValue(stock.getLastCost().multiply(stock.getQty()))
+                        .setRecQty(stock.getQty())
+                        .setNote("库存初始化")
+                        .setInStockQty(stock.getQty())
+                        .setInStockCost(stock.getLastCost());
+
+                purchaseTotalAmount = purchaseTotalAmount.add(purchaseItem.getCostValue());
+
+                purchaseItemList.add(purchaseItem);
             }
 
+            if (CollectionUtil.isEmpty(purchaseItemList)) {
+                throw new RemoteServiceException("初始化采购明细失败");
+            }
+            // 初始化辅材采购入库
+            WebsitPurchase purchase = new WebsitPurchase();
+            purchase.setPurchaseId(purchaseId)
+                    .setCompanyWechatId(websitStocks.get(0).getCompanyWechatId())
+                    .setCompanyWechatName(websitStocks.get(0).getCompanyWechatName())
+                    .setWebsitId(websitStocks.get(0).getWebsitId())
+                    .setWebsitName(websitStocks.get(0).getWebsitName())
+                    .setGoodsType(WebsitGoodsTypeEnum.M.getKey())
+                    .setPurchaseTime(websitStocks.get(0).getCreateTime())
+                    .setVenderId("1010")
+                    .setVenderName("其他")
+                    .setFlag(ExamineStatusEnum.OK.getKey())
+                    .setIsRecheck(IsYesNoEnum.YES.getKey())
+                    .setConfirmRemark("库存初始化")
+                    .setStorageId(websitStocks.get(0).getStorageId())
+                    .setStorageName("默认")
+                    .setConfirmBy(adminUser.getNickName())
+                    .setConfirmTime(websitStocks.get(0).getCreateTime())
+                    .setCheckTime(websitStocks.get(0).getCreateTime())
+                    .setSubmitTime(websitStocks.get(0).getCreateTime())
+                    .setTotalAmount(purchaseTotalAmount);
+            websitPurchaseService.save(purchase);
+            websitPurchaseItemService.saveBatch(purchaseItemList);
 
+            if (CollectionUtil.isNotEmpty(priceList)) {
+                websitGoodsPriceService.saveBatch(priceList);
+            }
         }
         websitStockService.saveBatch(websitStocks);
         websitStockAccService.saveBatch(websitStockAccs);