From 5322edbcc5529864aaea26d78289df7a8a36fb77 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期四, 20 七月 2023 11:25:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 34 insertions(+), 12 deletions(-)

diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java
index f8e4807..ac60c11 100644
--- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java
@@ -1,18 +1,21 @@
 package com.yuanchu.limslaboratory.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.pojo.SerialNumber;
 import com.yuanchu.limslaboratory.pojo.Specifications;
 import com.yuanchu.limslaboratory.mapper.SpecificationsMapper;
 import com.yuanchu.limslaboratory.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.yuanchu.limslaboratory.utils.MyUtil;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -78,20 +81,39 @@
     }
 
     @Override
-    public Integer deleteSpecifications(String specificationsId) {
-        LambdaQueryWrapper<Specifications> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(Specifications::getId, specificationsId);
-        // 鍒犻櫎Specifications涓殑鏁版嵁
-        int delete = specificationsMapper.delete(wrapper);
-        if (delete == 1){
-            // 鍒犻櫎绛変簬SpecificationsId鐨凪aterial琛ㄦ牸涓殑鏁版嵁锛屽苟涓旇幏鍙栬鏁版嵁鐨処d锛岀敤浜庡垹闄roduct琛ㄦ牸涓殑鏁版嵁
-            List<String> materialListId = materialService.deleteMaterialEqSpecification(specificationsId);
-            if (!ObjectUtils.isEmpty(materialListId)){
-                // 鏍规嵁Material琛ㄨ繑鍥炵殑鍒楄〃Id锛屽垹闄roduct琛ㄤ腑鎵�鏈塎aterialId绛変簬璇ュ垪琛ㄤ腑鐨勬墍鏈夋暟鎹紝鏃犺繑鍥炲��
-                productService.deleteProductEqMaterialId(materialListId);
+    public Integer deleteSpecifications(Integer specificationsId) {
+        LambdaUpdateWrapper<Specifications> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.eq(Specifications::getId, specificationsId);
+        updateWrapper.set(Specifications::getState, 0);
+        List<Integer> list = new ArrayList<>();
+        list.add(specificationsId);
+        int isDeleteSuccess = specificationsMapper.update(new Specifications(), updateWrapper);
+        if (isDeleteSuccess == 1){
+            List<String> deleteMaterialId = materialService.specificationsIdDeleteMaterial(list);
+            if (!ObjectUtils.isEmpty(deleteMaterialId)){
+                productService.MaterialIdDeleteProduct(deleteMaterialId);
             }
             return 1;
         }
         return 0;
     }
+
+    @Override
+    public List<Integer> SerialNumberIdDeleteSpecifications(List<String> deleteSerialNumberId) {
+        List<Integer> list = new ArrayList<>();
+        for (String serialNumberId:deleteSerialNumberId){
+            LambdaQueryWrapper<Specifications> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(Specifications::getSerialId, serialNumberId);
+            wrapper.select(Specifications::getId);
+            List<Specifications> maps1 = specificationsMapper.selectList(wrapper);
+            for (Specifications specifications:maps1){
+                LambdaUpdateWrapper<Specifications> updateWrapper = new LambdaUpdateWrapper<>();
+                updateWrapper.eq(Specifications::getId, specifications.getId());
+                updateWrapper.set(Specifications::getState, 0);
+                specificationsMapper.update(new Specifications(), updateWrapper);
+                list.add(specifications.getId());
+            }
+        }
+        return list;
+    }
 }

--
Gitblit v1.9.3