From 1c8b2be08e6c7655bab6d8a99f15b883768f0d38 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 30 七月 2024 17:15:43 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java |  155 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 94 insertions(+), 61 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
index c81b222..e11b3c6 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
@@ -1,7 +1,6 @@
 package com.smartor.service.impl;
 
 import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.smartor.domain.*;
 import com.smartor.mapper.*;
@@ -12,8 +11,10 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -29,13 +30,13 @@
     @Autowired
     private SvyLibTemplateMapper svyLibTemplateMapper;
     @Autowired
-    private Icd10AssociationMapper icd10AssociationMapper;
-    @Autowired
     private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper;
     @Autowired
     private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper;
     @Autowired
     private TempDetpRelevanceMapper tempDetpRelevanceMapper;
+    @Autowired
+    private SvyLibTemplateTagMapper svyLibTemplateTagMapper;
 
     /**
      * 鏌ヨ闂嵎
@@ -46,6 +47,15 @@
     @Override
     public SvyLibTemplate selectSvyLibTemplateBySvyid(Long svyid) {
         return svyLibTemplateMapper.selectSvyLibTemplateBySvyid(svyid);
+    }
+
+    @Override
+    public List<SvyLibTemplate> getSviLibTemplate(SvyLibTemplate svyLibTemplate) {
+        SvyLibTemplateReq svyLibTemplateReq=new SvyLibTemplateReq();
+        svyLibTemplateReq.setSvyid(svyLibTemplate.getSvyid());
+        svyLibTemplateReq.setCategoryid(svyLibTemplate.getCategoryid());
+        svyLibTemplateReq.setDescription(svyLibTemplate.getDescription());
+        return svyLibTemplateMapper.selectSvyLibTemplateList(svyLibTemplateReq);
     }
 
     /**
@@ -59,9 +69,6 @@
         List<SvyLibTemplate> svyLibTemplates = svyLibTemplateMapper.selectSvyLibTemplateList(svyLibTemplateReq);
         //娣诲姞棰樼洰
         for (int i = 0; i < svyLibTemplates.size(); i++) {
-//            SvyLibScript svyLibScript = new SvyLibScript();
-//            svyLibScript.setSvyid(svyLibTemplates.get(i).getSvyid());
-//            List<SvyLibScript> svyLibTopics = svyLibScriptMapper.selectSvyLibScriptList(svyLibScript);
             SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
             svyLibTemplateScript.setSvyid(svyLibTemplates.get(i).getSvyid());
             List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
@@ -81,13 +88,19 @@
                 }
             }
             //灏嗛鐩斁鍒伴棶鍗峰垪琛ㄤ腑
-            svyLibTemplates.get(i).setSvyLibScripts(svyLibTemplateScripts);
+            svyLibTemplates.get(i).setSvyTemplateLibScripts(svyLibTemplateScripts);
 
             //鑾峰彇姣忎釜闂嵎瀵瑰簲鐨勭瀹�
             TempDetpRelevance tempDetpRelevance = new TempDetpRelevance();
             tempDetpRelevance.setTempid(svyLibTemplates.get(i).getSvyid());
             List<TempDetpRelevance> tempDetpRelevances = tempDetpRelevanceMapper.selectTempDetpRelevanceList(tempDetpRelevance);
             svyLibTemplates.get(i).setTempDetpRelevances(CollectionUtils.isNotEmpty(tempDetpRelevances) ? tempDetpRelevances : new ArrayList<>());
+
+            //鑾峰彇鏍囩
+            SvyLibTemplateTag svyLibTemplateTag = new SvyLibTemplateTag();
+            svyLibTemplateTag.setTemplateid(svyLibTemplates.get(i).getSvyid());
+            List<SvyLibTemplateTag> svyLibTemplateTags = svyLibTemplateTagMapper.selectSvyLibTemplateTagList(svyLibTemplateTag);
+            svyLibTemplates.get(i).setSvyLibTemplateTagList(svyLibTemplateTags);
         }
 
         //鍏堝皢鐩稿悓鐨刬d鐨刬cdname,鏁寸悊鍒颁竴鍧�
@@ -108,86 +121,56 @@
         return libTemplates;
     }
 
-//    /**
-//     * 鏂板闂嵎
-//     *
-//     * @param svyLibTemplate 闂嵎
-//     * @return 缁撴灉
-//     */
-//    @Transactional
-//    @Override
-//    public int insertSvyLibTemplate(SvyLibTemplate svyLibTemplate) {
-//        svyLibTemplate.setCreateTime(DateUtils.getNowDate());
-//        svyLibTemplateMapper.insertSvyLibTemplate(svyLibTemplate);
-//        //鍏宠仈闂嵎鐤剧梾
-//        for (String icdId : svyLibTemplate.getIcdID()) {
-//            Icd10Association icd10Association = new Icd10Association();
-//            icd10Association.setIcd10code(icdId);
-//            icd10Association.setSvyid(svyLibTemplate.getSvyid());
-//            icd10AssociationMapper.insertIcd10Association(icd10Association);
-//        }
-//        //鏂板闂棰樼洰
-//        for (int i = 0; i < svyLibTemplate.getSvyLibScripts().size(); i++) {
-//            SvyLibScript svyLibScript = svyLibTemplate.getSvyLibScripts().get(i);
-//            svyLibScript.setSvyid(svyLibTemplate.getSvyid());
-//            //棰樼洰鐨勯�夐」鐩紝鐩存帴鐢╯vy_topicoption琛紝鐢╯vyTopicidf鍘诲叧鑱�
-//            svyLibScriptMapper.insertSvyLibScript(svyLibScript);
-//        }
-//        return 1;
-//    }
-
     /**
      * 鏂板鎴栦慨鏀归棶鍗锋ā鏉夸俊鎭�
      *
      * @param svyLibTemplate
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public Integer saveOrUpdateTemplate(SvyLibTemplate svyLibTemplate) {
         Integer i = null;
         if (svyLibTemplate.getIsoperation() != null && svyLibTemplate.getIsoperation() == 1) {
             //鏂板
             svyLibTemplate.setCreateTime(DateUtils.getNowDate());
-            i = svyLibTemplateMapper.insertSvyLibTemplate(svyLibTemplate);
+            svyLibTemplateMapper.insertSvyLibTemplate(svyLibTemplate);
         } else if (svyLibTemplate.getIsoperation() != null && svyLibTemplate.getIsoperation() == 2) {
             //淇敼
             svyLibTemplate.setUpdateTime(DateUtils.getNowDate());
-            i = svyLibTemplateMapper.updateSvyLibTemplate(svyLibTemplate);
+            svyLibTemplateMapper.updateSvyLibTemplate(svyLibTemplate);
+        } else if (svyLibTemplate.getIsoperation() != null && svyLibTemplate.getIsoperation() == 3) {
+            //鍒犻櫎
+            svyLibTemplateMapper.deleteSvyLibTemplateBySvyid(svyLibTemplate.getSvyid());
         }
+        i = svyLibTemplate.getSvyid().intValue();
 
         //澶勭悊棰樼洰
-        if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyLibScripts())) {
-            for (SvyLibTemplateScript svyLibScript : svyLibTemplate.getSvyLibScripts()) {
-                SvyLibTemplateScript svyLibTemplateScript = DtoConversionUtils.sourceToTarget(svyLibScript, SvyLibTemplateScript.class);
+        if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyTemplateLibScripts())) {
+            for (SvyLibTemplateScript svyLibScript : svyLibTemplate.getSvyTemplateLibScripts()) {
                 //瀵归鐩繘琛屽鐞�
-                if (svyLibScript.getIsoperation() != null && svyLibScript.getIsoperation() == 1) {
-                    //鏂板
-                    svyLibTemplateScript.setSvyid(svyLibTemplate.getSvyid());
-                    svyLibTemplateScript.setId(null);
-                    svyLibTemplateScriptMapper.insertSvyLibTemplateScript(svyLibTemplateScript);
-
-                } else if (svyLibScript.getIsoperation() != null && svyLibScript.getIsoperation() == 2) {
-                    //淇敼
-                    svyLibTemplateScript.setSvyid(svyLibTemplate.getSvyid());
-                    svyLibTemplateScriptMapper.updateSvyLibTemplateScript(svyLibTemplateScript);
+                if (svyLibScript.getIsoperation() != null) {
+                    //闂鐨勬搷浣滀笉涓虹┖
+                    scriptHandle(svyLibTemplate.getSvyid(), svyLibScript, svyLibScript.getIsoperation());
+                } else if (svyLibScript.getIsoperation() == null && svyLibTemplate.getIsoperation() != null) {
+                    //妯℃澘鐨勬搷浣滀笉涓虹┖
+                    scriptHandle(svyLibTemplate.getSvyid(), svyLibScript, svyLibTemplate.getIsoperation());
                 }
-
                 //瀵归鐩�夐」杩涜澶勭悊
                 if (CollectionUtils.isNotEmpty(svyLibScript.getSvyLibTemplateTargetoptions())) {
                     for (SvyLibTemplateTargetoption svyLibTemplateTargetoption : svyLibScript.getSvyLibTemplateTargetoptions()) {
-                        if (svyLibTemplateTargetoption.getIsoperation() != null && svyLibTemplateTargetoption.getIsoperation() == 1) {
-                            //鏂板
-                            svyLibTemplateTargetoption.setScriptid(svyLibScript.getId());
-                            svyLibTemplateTargetoptionMapper.insertSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
-                        } else if (svyLibTemplateTargetoption.getIsoperation() != null && svyLibTemplateTargetoption.getIsoperation() == 2) {
-                            //淇敼
-                            svyLibTemplateTargetoption.setScriptid(svyLibScript.getId());
-                            svyLibTemplateTargetoptionMapper.updateSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
+                        if (svyLibTemplateTargetoption.getIsoperation() != null) {
+                            //閫夐�夐」鐨勬搷浣滀笉涓虹┖
+                            optionHandle(svyLibTemplateTargetoption, svyLibScript.getId(), svyLibTemplateTargetoption.getIsoperation());
+                        } else if (svyLibTemplateTargetoption.getIsoperation() == null && svyLibScript.getIsoperation() != null) {
+                            //闂鐨勬搷浣滀笉涓虹┖
+                            optionHandle(svyLibTemplateTargetoption, svyLibScript.getId(), svyLibScript.getIsoperation());
+                        } else if (svyLibTemplateTargetoption.getIsoperation() == null && svyLibScript.getIsoperation() == null && svyLibTemplate.getIsoperation() != null) {
+                            //妯℃澘鐨勬搷浣滀笉涓虹┖
+                            optionHandle(svyLibTemplateTargetoption, svyLibScript.getId(), svyLibTemplate.getIsoperation());
                         }
                     }
-
                 }
-
             }
         }
 
@@ -200,6 +183,21 @@
                     tempDetpRelevanceMapper.insertTempDetpRelevance(tempDetpRelevance);
                 } else {
                     tempDetpRelevanceMapper.updateTempDetpRelevance(tempDetpRelevance);
+                }
+            }
+
+        }
+
+        //鏍囩澶勭悊
+        if (CollectionUtils.isNotEmpty(svyLibTemplate.getSvyLibTemplateTagList())) {
+            for (SvyLibTemplateTag svyLibTemplateTag : svyLibTemplate.getSvyLibTemplateTagList()) {
+                if (svyLibTemplateTag.getId() == null) {
+                    //鏂板
+                    svyLibTemplateTag.setTemplateid(svyLibTemplate.getSvyid());
+                    svyLibTemplateTagMapper.insertSvyLibTemplateTag(svyLibTemplateTag);
+                } else {
+                    svyLibTemplateTag.setTemplateid(svyLibTemplate.getSvyid());
+                    svyLibTemplateTagMapper.updateSvyLibTemplateTag(svyLibTemplateTag);
                 }
             }
 
@@ -240,4 +238,39 @@
     public int deleteSvyLibTemplateBySvyid(Long svyid) {
         return svyLibTemplateMapper.deleteSvyLibTemplateBySvyid(svyid);
     }
+
+    private void scriptHandle(Long svyid, SvyLibTemplateScript svyLibScript, Integer isoperation) {
+        if (isoperation == 1) {
+            //鏂板
+            svyLibScript.setSvyid(svyid);
+            svyLibScript.setId(null);
+            svyLibScript.setCreateTime(new Date());
+            svyLibTemplateScriptMapper.insertSvyLibTemplateScript(svyLibScript);
+
+        } else if (isoperation == 2) {
+            //淇敼
+            svyLibScript.setSvyid(svyid);
+            svyLibScript.setUpdateTime(new Date());
+            svyLibTemplateScriptMapper.updateSvyLibTemplateScript(svyLibScript);
+        } else if (isoperation == 3) {
+            svyLibTemplateScriptMapper.deleteSvyLibTemplateScriptByTopicid(svyLibScript.getId());
+        }
+    }
+
+    private void optionHandle(SvyLibTemplateTargetoption svyLibTemplateTargetoption, Long scriptId, Integer isoperation) {
+        if (isoperation == 1) {
+            //鏂板
+            svyLibTemplateTargetoption.setScriptid(scriptId);
+            svyLibTemplateTargetoption.setCreateTime(new Date());
+            svyLibTemplateTargetoptionMapper.insertSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
+        } else if (isoperation == 2) {
+            //淇敼
+            svyLibTemplateTargetoption.setScriptid(scriptId);
+            svyLibTemplateTargetoption.setUpdateTime(new Date());
+            svyLibTemplateTargetoptionMapper.updateSvyLibTemplateTargetoption(svyLibTemplateTargetoption);
+        } else if (isoperation == 3) {
+            //鍒犻櫎
+            svyLibTemplateTargetoptionMapper.deleteSvyLibTemplateTargetoptionById(svyLibTemplateTargetoption.getId());
+        }
+    }
 }

--
Gitblit v1.9.3