From fc24827d4eb7b15c28a184123376eb758d93a9ad Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 10 四月 2026 17:25:30 +0800
Subject: [PATCH] feat: 生产计划导入验证产品是否存在、申请单编号重复、强度是否正确

---
 src/main/java/com/ruoyi/production/service/impl/ProductMaterialServiceImpl.java |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductMaterialServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductMaterialServiceImpl.java
index f54b264..b2a7397 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductMaterialServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductMaterialServiceImpl.java
@@ -106,7 +106,10 @@
 
             String searchFieldJson = searchConditions.toJSONString();
 
-            JSONArray dataArr = AliDingUtils.getFormDataList(aliDingConfig, aliDingConfig.getMaterialCodeFormUuid(), searchFieldJson, productMaterialSkuService, ProductMaterialSku::getFormModifiedTime);
+            LambdaQueryWrapper<ProductMaterialSku> countWrapper = new LambdaQueryWrapper<>();
+            countWrapper.eq(ProductMaterialSku::getType, 1);
+
+            JSONArray dataArr = AliDingUtils.getFormDataList(aliDingConfig, aliDingConfig.getMaterialCodeFormUuid(), searchFieldJson, productMaterialSkuService, ProductMaterialSku::getFormModifiedTime, countWrapper);
 
             if (dataArr.isEmpty()) {
                 log.info("娌℃湁鏇村鏂版暟鎹渶瑕佸悓姝�");
@@ -169,6 +172,7 @@
             sku.setFormModifiedTime(AliDingUtils.parseUtcTime(item.getString("modifiedTimeGMT")));
             sku.setCreateTime(now);
             sku.setUpdateTime(now);
+            sku.setType(1);
 
             list.add(sku);
         }
@@ -407,6 +411,13 @@
         if (ids == null || ids.isEmpty()) {
             throw new ServiceException("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
         }
+
+        //  瀛樺湪瑙勬牸灏变笉鑳藉垹闄�
+        long skuCount = productMaterialSkuService.count(new LambdaQueryWrapper<ProductMaterialSku>().in(ProductMaterialSku::getProductId, ids));
+        if (skuCount > 0) {
+            throw new ServiceException("璇ョ墿鏂欎笅瀛樺湪瑙勬牸鏁版嵁锛屾棤娉曞垹闄�");
+        }
+
         if (!this.removeByIds(ids)) {
             throw new ServiceException("鍒犻櫎鐗╂枡澶辫触");
         }

--
Gitblit v1.9.3