From 0e1722e96e5483d560eda8f1cf96282955d4f224 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 27 七月 2023 15:04:40 +0800
Subject: [PATCH] 检验模块

---
 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SerialNumberServiceImpl.java |   74 +++++++++++++++++++++++++++++++++----
 1 files changed, 66 insertions(+), 8 deletions(-)

diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SerialNumberServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SerialNumberServiceImpl.java
index 2c00278..9448406 100644
--- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SerialNumberServiceImpl.java
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SerialNumberServiceImpl.java
@@ -1,12 +1,15 @@
 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.mapper.SerialNumberMapper;
-import com.yuanchu.limslaboratory.service.SerialNumberService;
+import com.yuanchu.limslaboratory.pojo.Standards;
+import com.yuanchu.limslaboratory.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.yuanchu.limslaboratory.service.StandardsService;
-import com.yuanchu.limslaboratory.service.UserService;
+import com.yuanchu.limslaboratory.utils.MyUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
@@ -36,6 +39,15 @@
     @Autowired
     private StandardsService standardsService;
 
+    @Autowired
+    private SpecificationsService specificationsService;
+
+    @Autowired
+    private MaterialService materialService;
+
+    @Autowired
+    private ProductService productService;
+
     @Override
     public Integer addSerialNumberInformation(SerialNumber serialNumber) {
         Boolean userIsNull = userService.userIsNull(serialNumber.getUserId());
@@ -50,12 +62,58 @@
 
 
     @Override
-    public List<Map<String, Object>> listSerialNumberInformation(String idOrNameOfSerialNumber, String standardsId) {
+    public IPage<Map<String, Object>> listSerialNumberInformation(String idOrNameOfSerialNumber, String standardsId, Page<Object> page) {
+        return serialNumberMapper.listSerialNumberInformation(idOrNameOfSerialNumber, standardsId, page);
+    }
+
+    @Override
+    public List<Map<String, Object>> selectIdSerialNumberInformation(String id) {
+        LambdaQueryWrapper<SerialNumber> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SerialNumber::getStandardsId, id);
+        wrapper.select(SerialNumber::getId,SerialNumber::getName);
+        return serialNumberMapper.selectMaps(wrapper);
+    }
+
+    @Override
+    public Integer updateSerialNumberInformation(SerialNumber serialNumber) {
+        return serialNumberMapper.updateById(serialNumber);
+    }
+
+    @Override
+    public List<String> StandardsIdDeleteSerialNumber(String standardsId) {
         LambdaQueryWrapper<SerialNumber> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(SerialNumber::getStandardsId, standardsId);
-        wrapper.like(SerialNumber::getId, idOrNameOfSerialNumber);
-        wrapper.or().like(SerialNumber::getName, idOrNameOfSerialNumber);
-        wrapper.select(SerialNumber::getId, SerialNumber::getName);
-        return serialNumberMapper.selectMaps(wrapper);
+        wrapper.select(SerialNumber::getId);
+        List<String> serialNumberId = new ArrayList<>();
+        List<SerialNumber> maps = serialNumberMapper.selectList(wrapper);
+        for (SerialNumber map:maps){
+            LambdaUpdateWrapper<SerialNumber> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(SerialNumber::getStandardsId, standardsId);
+            updateWrapper.set(SerialNumber::getState, 0);
+            serialNumberMapper.update(new SerialNumber(), updateWrapper);
+            serialNumberId.add(map.getId());
+        }
+        return serialNumberId;
+    }
+
+    @Override
+    public Integer deleteSerialNumberInformation(String serialNumberId) {
+        LambdaUpdateWrapper<SerialNumber> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.eq(SerialNumber::getId, serialNumberId);
+        updateWrapper.set(SerialNumber::getState, 0);
+        List<String> list = new ArrayList<>();
+        list.add(serialNumberId);
+        int isDeleteSuccess = serialNumberMapper.update(new SerialNumber(), updateWrapper);
+        if (isDeleteSuccess == 1){
+            List<Integer> deleteSpecificationsId = specificationsService.SerialNumberIdDeleteSpecifications(list);
+            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