From fbde0b947b4641081b558302ea77d88c902c4cd1 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 30 四月 2025 10:03:24 +0800
Subject: [PATCH] 可靠性计划优化检验项

---
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanProductServiceImpl.java |   53 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanProductServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanProductServiceImpl.java
index cb7d510..5d4abd1 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanProductServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanProductServiceImpl.java
@@ -1,18 +1,22 @@
 package com.ruoyi.inspect.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.inspect.dto.ReliabilityPlanProductDto;
+import com.ruoyi.inspect.mapper.ReliabilityPlanProductItemMapper;
 import com.ruoyi.inspect.pojo.ReliabilityPlanProduct;
 import com.ruoyi.inspect.mapper.ReliabilityPlanProductMapper;
+import com.ruoyi.inspect.pojo.ReliabilityPlanProductItem;
 import com.ruoyi.inspect.service.ReliabilityPlanProductService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
-import java.util.Objects;
+import java.util.*;
 
 /**
  * <p>
@@ -27,6 +31,7 @@
 public class ReliabilityPlanProductServiceImpl extends ServiceImpl<ReliabilityPlanProductMapper, ReliabilityPlanProduct> implements ReliabilityPlanProductService {
 
     private ReliabilityPlanProductMapper reliabilityPlanProductMapper;
+    private ReliabilityPlanProductItemMapper reliabilityPlanProductItemMapper;
 
     @Override
     public IPage<ReliabilityPlanProduct> selectProduct(Page page, ReliabilityPlanProductDto reliabilityPlanProductDto) {
@@ -35,16 +40,48 @@
 
     @Override
     public int addOrUpdateProduct(ReliabilityPlanProductDto reliabilityPlanProductDto) {
+        int i;
         if (Objects.isNull(reliabilityPlanProductDto.getId())) {
-            reliabilityPlanProductDto.setState(null);
-            return reliabilityPlanProductMapper.insert(reliabilityPlanProductDto);
+            reliabilityPlanProductDto.setState(0);
+            i = reliabilityPlanProductMapper.insert(reliabilityPlanProductDto);
         } else {
-            //1宸插鏍�
-            if (!StringUtils.isNotBlank(reliabilityPlanProductDto.getState())) {
-                reliabilityPlanProductDto.setState(null);
+            // 瀹℃牳鐘舵�� 0.寰呮彁浜�1.寰呭鏍�2.閫氳繃3.涓嶉�氳繃
+            int state = reliabilityPlanProductDto.getState();
+            if (state != 0 && state != 1 && state != 2) {
+                reliabilityPlanProductDto.setState(3);
             }
-            return reliabilityPlanProductMapper.updateById(reliabilityPlanProductDto);
+            i = reliabilityPlanProductMapper.updateById(reliabilityPlanProductDto);
         }
+        if (i > 0) {
+            Long id = reliabilityPlanProductDto.getId(); // 浠庢暟鎹簱涓煡璇㈡柊鐨勬暟鎹�
+            List<Map<String, Object>> maps = reliabilityPlanProductItemMapper.itemList(id);
+            List<ReliabilityPlanProductItem> newItemList = new ArrayList<>();
+            for (Map<String, Object> map : maps) {
+                ReliabilityPlanProductItem item = new ReliabilityPlanProductItem();
+                item.setInspectionItem((String) map.get("inspectionItem"));
+                item.setStandard((String) map.get("standard"));
+                item.setFrequency((String) map.get("frequency"));
+                item.setPlanId(id);
+                item.setType(reliabilityPlanProductDto.getItemType());
+                newItemList.add(item);
+            }
+            // 鏌ヨ鏁版嵁搴撲腑宸插瓨鍦ㄧ殑鏁版嵁
+            List<ReliabilityPlanProductItem> existingItemList = reliabilityPlanProductItemMapper.selectList(
+                    new LambdaQueryWrapper<ReliabilityPlanProductItem>()
+                            .eq(ReliabilityPlanProductItem::getPlanId, id)
+                            .eq(ReliabilityPlanProductItem::getType, reliabilityPlanProductDto.getItemType())
+            );
+
+            if (!existingItemList.isEmpty()) {
+                // 濡傛灉鏈夋暟鎹紝鎵ц鍒犻櫎鎿嶄綔
+                reliabilityPlanProductItemMapper.delete(new LambdaUpdateWrapper<ReliabilityPlanProductItem>()
+                                .eq(ReliabilityPlanProductItem::getPlanId, id)
+                                .eq(ReliabilityPlanProductItem::getType, reliabilityPlanProductDto.getItemType())
+                );
+            }
+            reliabilityPlanProductItemMapper.insertBatchSomeColumn(newItemList);
+        }
+        return i;
     }
 
     @Override

--
Gitblit v1.9.3