From d8a687741273d121586b83745280c57f7e9d3297 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期一, 07 八月 2023 17:51:28 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/yuanchu_code/lims-management-system

---
 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java |  100 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 0 deletions(-)

diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java
new file mode 100644
index 0000000..7b13059
--- /dev/null
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java
@@ -0,0 +1,100 @@
+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.toolkit.ObjectUtils;
+import com.yuanchu.limslaboratory.mapper.StandardMapper;
+import com.yuanchu.limslaboratory.pojo.Material;
+import com.yuanchu.limslaboratory.pojo.Specifications;
+import com.yuanchu.limslaboratory.pojo.Standard;
+import com.yuanchu.limslaboratory.pojo.dto.AddStandardDto;
+import com.yuanchu.limslaboratory.service.*;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2023-07-11
+ */
+@Service
+public class StandardServiceImpl extends ServiceImpl<StandardMapper, Standard> implements StandardService {
+
+    @Resource
+    private StandardMapper standardMapper;
+
+    @Lazy
+    @Autowired
+    private SpecificationsService specificationsService;
+
+    @Autowired
+    private ProductService productService;
+
+
+    @Override
+    public List<Integer> deleteStandardsInformation(Integer materialId) {
+        LambdaQueryWrapper<Standard> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Standard::getMaterialId, materialId);
+        wrapper.select(Standard::getId);
+        List<Integer> list = new ArrayList<>();
+        List<Standard> standards = standardMapper.selectList(wrapper);
+        for (Standard standard : standards){
+            LambdaUpdateWrapper<Standard> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(Standard::getMaterialId, materialId);
+            updateWrapper.set(Standard::getState, 0);
+            standardMapper.update(new Standard(), updateWrapper);
+            list.add(standard.getId());
+        }
+        return list;
+    }
+
+    @Override
+    public Integer deleteStandardInformation(Integer standardsId) {
+        LambdaUpdateWrapper<Standard> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.eq(Standard::getId, standardsId);
+        updateWrapper.set(Standard::getState, 0);
+        List<Integer> list = new ArrayList<>();
+        int isDeleteSuccess = standardMapper.update(new Standard(), updateWrapper);
+        if (isDeleteSuccess == 1){
+            list.add(standardsId);
+            List<Integer> idDeleteSpecifications = specificationsService.StandardIdDeleteSpecifications(list);
+            if (!ObjectUtils.isEmpty(idDeleteSpecifications)){
+                productService.deleteProductInformation(idDeleteSpecifications);
+            }
+            return 1;
+        }
+        return 0;
+    }
+
+    @Override
+    public Integer addStandardInformation(AddStandardDto addStandardDto) {
+        Standard standard = new Standard()
+                .setMaterialId(addStandardDto.getMaterialId())
+                .setName(addStandardDto.getStandardName());
+        int save = standardMapper.insert(standard);
+        if (save == 1){
+            Specifications specifications = new Specifications()
+                    .setName(addStandardDto.getSpecificationsName())
+                    .setStandardId(standard.getId());
+            boolean save1 = specificationsService.save(specifications);
+            if (save1)
+                return 1;
+        }
+        return 0;
+    }
+
+    @Override
+    public List<Map<String, Object>> getSpecificationIdAndName(String materialId) {
+        return standardMapper.getSpecificationIdAndName(materialId);
+    }
+}

--
Gitblit v1.9.3