From 6a19365f5dea396622b32afe28b3e4b9b067e0e1 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 01 九月 2023 16:33:08 +0800
Subject: [PATCH] 标准BOM(完结)

---
 standard-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyServiceImpl.java |  100 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 96 insertions(+), 4 deletions(-)

diff --git a/standard-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyServiceImpl.java b/standard-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyServiceImpl.java
index e66d960..f713884 100644
--- a/standard-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyServiceImpl.java
+++ b/standard-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyServiceImpl.java
@@ -2,11 +2,15 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.Technology;
-import com.yuanchu.mom.mapper.TechnologyMapper;
+import com.yuanchu.mom.pojo.dto.TechnologyDto;
 import com.yuanchu.mom.service.TechnologyService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.List;
@@ -14,7 +18,7 @@
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
@@ -26,6 +30,18 @@
     @Resource
     TechnologyMapper technologyMapper;
 
+    @Resource
+    DeviceMapper deviceMapper;
+
+    @Resource
+    ProductMapper productMapper;
+
+    @Resource
+    MbomMapper mbomMapper;
+
+    @Resource
+    TechniqueMapper techniqueMapper;
+
 
     //鏍规嵁鍨嬪彿id鏌ヨ鐗堟湰
     @Override
@@ -35,7 +51,83 @@
 
     //鍙充晶鏁版嵁灞曠ず-->宸ヨ壓璺嚎
     @Override
-    public List<Map<String, Object>> selectAllTec(Integer specificationsId, Integer version,String message) {
-        return technologyMapper.selectAllTec(specificationsId,version,message);
+    public List<Map<String, Object>> selectAllTec(Integer specificationsId, Integer version, String message) {
+        return technologyMapper.selectAllTec(specificationsId, version, message);
+    }
+
+    //鍙充笂瑙掓柊澧�-->宸ヨ壓璺嚎-->閫夋嫨璁惧缁�
+    @Override
+    public List<Map<String, Object>> chooseDevice() {
+        return deviceMapper.chooseDevGroup();
+    }
+
+    //鍙充笂瑙掓柊澧�-->宸ヨ壓璺嚎-->閫夋嫨宸ュ簭
+    @Override
+    public List<Map<String, Object>> chooseFather(Integer specificationsId) {
+        return technologyMapper.chooseFather(specificationsId);
+    }
+
+    //鍙充笂瑙掓柊澧�-->宸ヨ壓璺嚎
+    @Override
+    public void addTechnology(Integer specificationsId, TechnologyDto technologyDto) {
+        Technology technology = new Technology();
+        BeanUtils.copyProperties(technologyDto, technology);
+        technology.setSpecificationsId(specificationsId);
+        technologyMapper.insert(technology);
+    }
+
+    //濉啓鐢熶骇瀹氶,榧犳爣绉诲紑淇濆瓨
+    @Override
+    public Integer write(Integer id, Integer productionQuota) {
+        Technology technology = new Technology();
+        technology.setId(id);
+        technology.setProductionQuota(productionQuota);
+        return technologyMapper.updateById(technology);
+    }
+
+    //娣诲姞鍚屼竴涓瀷鍙峰伐鑹鸿矾绾跨殑鐗堟湰
+    @Override
+    public Integer addVersion(Integer specificationsId, Integer version) {
+        List<Technology> technologyList = technologyMapper.selectList(Wrappers.<Technology>query()
+                .eq("specifications_id", specificationsId)
+                .eq("version", version));
+        for (Technology technology : technologyList) {
+            technology.setId(null);
+            //鏈�鏂扮増鏈�+!
+            technology.setVersion(technologyMapper.selectVerByTec(specificationsId).get(0) + 1);
+        }
+        saveBatch(technologyList);
+        return technologyList.get(0).getVersion();
+    }
+
+    //鍒犻櫎
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void delTechById(Integer id) {
+        //鍒犻櫎宸ヨ壓璺嚎琛�
+        Technology technology = new Technology();
+        technology.setId(id);
+        technology.setState(0);
+        technologyMapper.updateById(technology);
+        //鍒犻櫎鎶�鏈寚鏍囪〃
+        productMapper.delProByTecId(id);
+        //鍒犻櫎鐗╂枡娓呭崟琛�
+        mbomMapper.delMbomByTecId(id);
+        //鍒犻櫎鐢熶骇宸ヨ壓琛�
+        techniqueMapper.delTeqByTecId(id);
+    }
+
+    //鎵归噺鍒犻櫎
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void delAllTech(String ids) {
+        //鎵归噺鍒犻櫎宸ヨ壓璺嚎琛�
+        technologyMapper.delAllTech(ids);
+        //鎵归噺鍒犻櫎鎶�鏈寚鏍囪〃
+        productMapper.delAllByTechId(ids);
+        //鎵归噺鍒犻櫎鐗╂枡娓呭崟琛�
+        mbomMapper.delAllByTecId(ids);
+        //鎵归噺鍒犻櫎鐢熶骇宸ヨ壓琛�
+        techniqueMapper.delAllByTecId(ids);
     }
 }

--
Gitblit v1.9.3