From 13c8b105a7ddf7ac43fbbdea93946f389cd032e9 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 28 八月 2023 18:00:13 +0800
Subject: [PATCH] 工艺路线+技术指标

---
 base-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java |   99 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 88 insertions(+), 11 deletions(-)

diff --git a/base-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java b/base-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java
index aa8345b..65a3728 100644
--- a/base-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java
+++ b/base-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java
@@ -1,19 +1,25 @@
 package com.yuanchu.mom.service.impl;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.yuanchu.mom.mapper.DeviceMapper;
-import com.yuanchu.mom.mapper.TechnologyTemplateMapper;
+import com.yuanchu.mom.mapper.*;
+import com.yuanchu.mom.pojo.ElementTechnology;
 import com.yuanchu.mom.pojo.TechnologyTemplate;
 import com.yuanchu.mom.pojo.dto.TechnologyTemplateDto;
+import com.yuanchu.mom.service.ElementTechnologyService;
 import com.yuanchu.mom.service.TechnologyTemplateService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 宸ヨ壓璺嚎缁存姢琛�(TechnologyTemplate)琛ㄦ湇鍔″疄鐜扮被
@@ -30,48 +36,119 @@
     @Resource
     DeviceMapper deviceMapper;
 
+    @Resource
+    ElementMapper elementMapper;
 
-    //閫夋嫨璁惧缁�
+    @Resource
+    ElementTechnologyService elementTechnologyService;
+
+    @Resource
+    TechnicalModelMapper technicalModelMapper;
+
+
+    //鏂板宸ヨ壓璺嚎-->閫夋嫨璁惧缁�
     @Override
     public List<Map<String, Object>> chooseDevGroup() {
         return deviceMapper.chooseDevGroup();
     }
 
+    //鏂板宸ヨ壓璺嚎-->閫夋嫨宸ュ簭
+    @Override
+    public List<String> chooseTech() {
+        return technologyTemplateMapper.chooseTech();
+    }
+
+    //鏂板宸ヨ壓璺嚎-->閫夋嫨鍏冧欢
+    @Override
+    public List<Map<String, Object>> chooseElement() {
+        return elementMapper.chooseElement();
+    }
+
     //鏂板宸ヨ壓璺嚎
     @Override
-    public void addSale(TechnologyTemplateDto technologyTemplateDto) {
+    @Transactional(rollbackFor = Exception.class)
+    public void addTechTemp(TechnologyTemplateDto technologyTemplateDto) {
+        /*鏂板宸ヨ壓*/
         TechnologyTemplate technologyTemplate = new TechnologyTemplate();
-        BeanUtils.copyProperties(technologyTemplateDto,technologyTemplate);
+        BeanUtils.copyProperties(technologyTemplateDto, technologyTemplate);
         technologyTemplateMapper.insert(technologyTemplate);
+        /*鏂板宸ヨ壓鍏冧欢涓棿琛�*/
+        String[] split = technologyTemplateDto.getElementId().split(",");
+        List<ElementTechnology> elementTechnologies = Arrays.stream(split).map(s -> {
+            ElementTechnology elementTechnology = new ElementTechnology();
+            elementTechnology.setTechTemId(technologyTemplate.getId());
+            elementTechnology.setElementId(Integer.parseInt(s));
+            return elementTechnology;
+        }).collect(Collectors.toList());
+        elementTechnologyService.saveBatch(elementTechnologies);
     }
 
-    //鏌ヨ宸ヨ壓璺嚎鍒楄〃
+    //鏌ヨ宸ヨ壓璺嚎鍒楄〃-->宸﹁竟浜岀骇灞曠ず
     @Override
-    public IPage<Map<String, Object>> selectAllTechTem(Page<Object> page, Integer type, String name, String father) {
-        return technologyTemplateMapper.selectAllTechTem(page,type,name,father);
+    public List<Map<String, Object>> selectAllTechTem(Integer type, String message) {
+        return technologyTemplateMapper.selectAllTechTem(type, message);
     }
 
-    //缂栬緫
+    //鏌ヨ宸ヨ壓璺嚎鍒楄〃-->鍙宠竟灞曠ず宸ヨ壓鍜岃澶�
     @Override
+    public List<Map<String, Object>> selectAllTechNam(String father) {
+        return technologyTemplateMapper.selectAllTechNam(father);
+    }
+
+    //鏍规嵁id鏌ョ湅璇︽儏
+    @Override
+    public List<Map<String, Object>> selecTechById(Integer id) {
+        return technologyTemplateMapper.selecTechById(id);
+    }
+
+    //缂栬緫 (宸ヨ壓id)
+    @Override
+    @Transactional(rollbackFor = Exception.class)
     public void writeTechById(Integer id, TechnologyTemplateDto technologyTemplateDto) {
+        /*宸ヨ壓琛ㄦ洿鏂�*/
         TechnologyTemplate technologyTemplate = new TechnologyTemplate();
-        BeanUtils.copyProperties(technologyTemplateDto,technologyTemplate);
+        BeanUtils.copyProperties(technologyTemplateDto, technologyTemplate);
         technologyTemplate.setId(id);
         technologyTemplateMapper.updateById(technologyTemplate);
+        /*鏇存敼涓棿琛�*/
+        //鎵归噺鍒犻櫎鍘熸湁鐨勪腑闂磋〃(鏍规嵁宸ュ簭id)
+        elementTechnologyService.delElemaByTechsId(id);
+        //鎵归噺娣诲姞涓棿琛�
+        String[] split = technologyTemplateDto.getElementId().split(",");
+        List<ElementTechnology> elementTechnologies = Arrays.stream(split).map(s -> {
+            ElementTechnology elementTechnology = new ElementTechnology();
+            elementTechnology.setTechTemId(technologyTemplate.getId());
+            elementTechnology.setElementId(Integer.parseInt(s));
+            return elementTechnology;
+        }).collect(Collectors.toList());
+        elementTechnologyService.saveBatch(elementTechnologies);
     }
 
-    //鍒犻櫎
+    //鍒犻櫎(宸ヨ壓璺嚎id)
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void delTechById(Integer id) {
+        //鍒犻櫎宸ヨ壓琛�
         TechnologyTemplate technologyTemplate = new TechnologyTemplate();
         technologyTemplate.setId(id).setState(0);
         technologyTemplateMapper.updateById(technologyTemplate);
+        //鍒犻櫎涓棿琛�
+        elementTechnologyService.delElemaByTechsId(id);
+        //鍒犻櫎鎶�鏈寚鏍囩淮鎶よ〃
+        technicalModelMapper.delTeMoByTechId(id);
+        //todo:鍒犻櫎鏈畬寰呯画
     }
 
     //鎵归噺鍒犻櫎
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void delAllTech(String ids) {
+        //鎵归噺鍒犻櫎宸ヨ壓琛�
         technologyTemplateMapper.delAllTech(ids);
+        //鎵归噺鍒犻櫎涓棿琛�
+        elementTechnologyService.delAllByTechId(ids);
+        //鎵归噺鍒犻櫎鎸囨爣缁存姢琛�
+        technicalModelMapper.delAllByTechId(ids);
     }
 }
 

--
Gitblit v1.9.3