From f330903e12d38af89d61f16c96856924d241a0f2 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 26 七月 2023 09:08:58 +0800
Subject: [PATCH] 查删检验计划

---
 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardsServiceImpl.java |   69 ++++++++++++++++++++++++++++++++--
 1 files changed, 65 insertions(+), 4 deletions(-)

diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardsServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardsServiceImpl.java
index d82050d..7eb47b0 100644
--- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardsServiceImpl.java
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardsServiceImpl.java
@@ -1,14 +1,17 @@
 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.Standards;
 import com.yuanchu.limslaboratory.mapper.StandardsMapper;
 import com.yuanchu.limslaboratory.pojo.User;
-import com.yuanchu.limslaboratory.service.StandardsService;
+import com.yuanchu.limslaboratory.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.yuanchu.limslaboratory.service.UserService;
 import com.yuanchu.limslaboratory.utils.MyUtil;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
@@ -33,6 +36,20 @@
     @Autowired
     private UserService userService;
 
+    @Lazy
+    @Autowired
+    private SerialNumberService serialNumberService;
+
+    @Lazy
+    @Autowired
+    private SpecificationsService specificationsService;
+
+    @Autowired
+    private MaterialService materialService;
+
+    @Autowired
+    private ProductService productService;
+
     @Override
     public Integer addStandardsInformation(Standards standards) {
         Boolean userIsNull = userService.userIsNull(standards.getUserId());
@@ -43,8 +60,20 @@
     }
 
     @Override
-    public List<Map<String, Object>>  listStandardsInformation(String IdOrNameOfStandards) {
-        return standardsMapper.listStandardsInformation(IdOrNameOfStandards);
+    public List<Map<String, Object>> listStandardsInformation() {
+        LambdaQueryWrapper<Standards> wrapper = new LambdaQueryWrapper<>();
+        wrapper.select(Standards::getId, Standards::getName);
+        List<Map<String, Object>> maps = standardsMapper.selectMaps(wrapper);
+        for (Map<String, Object> map : maps){
+            String id = map.get("id").toString();
+            List<Map<String, Object>> serialNumberList = serialNumberService.selectIdSerialNumberInformation(id);
+            if (ObjectUtils.isEmpty(serialNumberList)){
+                map.put("serialNumber", null);
+            } else {
+                map.put("serialNumber", serialNumberList);
+            }
+        }
+        return maps;
     }
 
     @Override
@@ -54,4 +83,36 @@
         Standards standardsIsNull = standardsMapper.selectOne(wrapper);
         return !ObjectUtils.isEmpty(standardsIsNull);
     }
+
+    @Override
+    public IPage<Map<String, Object>> listPageStandardsInformation(Page<Object> page, String idOrNameOfStandards) {
+        return standardsMapper.listPageStandardsInformation(page, idOrNameOfStandards);
+    }
+
+    @Override
+    public Integer updateStandardsInformation(Standards standards) {
+        return standardsMapper.updateById(standards);
+    }
+
+    @Override
+    public Integer deleteStandardsInformation(String standardsId) {
+        LambdaUpdateWrapper<Standards> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.eq(Standards::getId, standardsId);
+        updateWrapper.set(Standards::getState, 0);
+        int isDeleteSuccess = standardsMapper.update(new Standards(), updateWrapper);
+        if (isDeleteSuccess == 1){
+            List<String> deleteSerialNumberId = serialNumberService.StandardsIdDeleteSerialNumber(standardsId);
+            if (!ObjectUtils.isEmpty(deleteSerialNumberId)){
+                List<Integer> deleteSpecificationsId = specificationsService.SerialNumberIdDeleteSpecifications(deleteSerialNumberId);
+                if (!ObjectUtils.isEmpty(deleteSpecificationsId)){
+                    List<String> deleteMaterialId = materialService.specificationsIdDeleteMaterial(deleteSpecificationsId);
+                    if (!ObjectUtils.isEmpty(deleteMaterialId)){
+                        productService.MaterialIdDeleteProduct(deleteMaterialId);
+                    }
+                }
+            }
+            return 1;
+        }
+        return 0;
+    }
 }

--
Gitblit v1.9.3