From c462811cd33e81a80bc089e3677975c069d9cda5 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 09 五月 2026 17:50:06 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java |   90 ++++++++++++++++++++++++++-------------------
 1 files changed, 52 insertions(+), 38 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 2958338..d5944ea 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateServiceImpl.java
@@ -33,9 +33,9 @@
     @Autowired
     private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper;
     @Autowired
-    private TemplateDeptMapper templateDeptMapper;
-    @Autowired
     private SvyLibTemplateTagMapper svyLibTemplateTagMapper;
+    @Autowired
+    private SvyLibScriptCategoryMapper svyLibScriptCategoryMapper;
     @Autowired
     private Icd10AssociationMapper icd10AssociationMapper;
 
@@ -56,22 +56,19 @@
         svyLibTemplateReq.setSvyid(svyLibTemplate.getSvyid());
         svyLibTemplateReq.setCategoryid(svyLibTemplate.getCategoryid());
         svyLibTemplateReq.setDescription(svyLibTemplate.getDescription());
+        svyLibTemplateReq.setSvyname(svyLibTemplate.getSvyname());
+        svyLibTemplateReq.setOrgid(svyLibTemplate.getOrgid());
         List<SvyLibTemplate> svyLibTemplates = svyLibTemplateMapper.selectSvyLibTemplateList(svyLibTemplateReq);
-        for (SvyLibTemplate svyLibTemplate1 : svyLibTemplates) {
-            SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
-            svyLibTemplateScript.setSvyid(svyLibTemplate1.getSvyid());
-            List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
-            for (SvyLibTemplateScript svyLibTemplateScript1 : svyLibTemplateScripts) {
-                if (svyLibTemplateScript1.getScriptType().equals("1") || svyLibTemplateScript1.getScriptType().equals("2")) {
-                    SvyLibTemplateTargetoption svyLibTemplateTargetoption = new SvyLibTemplateTargetoption();
-                    svyLibTemplateTargetoption.setScriptid(svyLibTemplateScript1.getId());
-                    List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTemplateTargetoption);
-                    svyLibTemplateScript1.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions);
-                }
-            }
-            svyLibTemplate1.setSvyTemplateLibScripts(svyLibTemplateScripts);
-        }
+        svyLibTemplatesCycle(svyLibTemplates);
+        return svyLibTemplates;
+    }
 
+    @Override
+    public List<SvyLibTemplate> getSviLibTemplateByDeptCode(TemplateDeptVO templateDeptVO) {
+        if (templateDeptVO.getType() == null) templateDeptVO.setType(1L);
+        if (templateDeptVO.getDeptType() == null) templateDeptVO.setDeptType("1");
+        List<SvyLibTemplate> svyLibTemplates = svyLibTemplateMapper.selectSvyLibTemplateListByDeptCode(templateDeptVO);
+        svyLibTemplatesCycle(svyLibTemplates);
         return svyLibTemplates;
     }
 
@@ -89,6 +86,7 @@
         for (int i = 0; i < svyLibTemplateVOS.size(); i++) {
             SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
             svyLibTemplateScript.setSvyid(svyLibTemplateVOS.get(i).getSvyid());
+            svyLibTemplateScript.setOrgid(svyLibTemplateVOS.get(i).getOrgid());
             List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
             //鑾峰彇棰樼洰閫夐」
             a:
@@ -100,6 +98,7 @@
                 } else {
                     SvyLibTemplateTargetoption svyLibTopicoption = new SvyLibTemplateTargetoption();
                     svyLibTopicoption.setScriptid(svyLibTemplateScripts.get(j).getId());
+                    svyLibTopicoption.setOrgid(svyLibTemplateVOS.get(i).getOrgid());
                     List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTopicoption);
                     //灏嗘煡璇㈠嚭鐨勯�夐」鐩斁鍒伴鐩腑
                     svyLibTemplateScripts.get(j).setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions);
@@ -107,12 +106,6 @@
             }
             //灏嗛鐩斁鍒伴棶鍗峰垪琛ㄤ腑
             svyLibTemplateVOS.get(i).setSvyTemplateLibScripts(svyLibTemplateScripts);
-
-            //鑾峰彇姣忎釜闂嵎瀵瑰簲鐨勭瀹�
-            TemplateDept templateDept = new TemplateDept();
-            templateDept.setTempid(svyLibTemplateVOS.get(i).getSvyid());
-            List<TemplateDept> tempDetpRelevances = templateDeptMapper.selectTemplateDeptList(templateDept);
-            svyLibTemplateVOS.get(i).setTempDetpRelevances(CollectionUtils.isNotEmpty(tempDetpRelevances) ? tempDetpRelevances : new ArrayList<>());
 
             //鑾峰彇鏍囩
             SvyLibTemplateTag svyLibTemplateTag = new SvyLibTemplateTag();
@@ -184,6 +177,13 @@
             for (SvyLibTemplateScript svyLibScript : svyLibTemplate.getSvyTemplateLibScripts()) {
                 svyLibScript.setGuid(svyLibTemplateVO.getGuid());
                 svyLibScript.setOrgid(svyLibTemplateVO.getOrgid());
+                //鑾峰彇涓�涓嬪垎绫诲悕绉�
+                if (StringUtils.isEmpty(svyLibScript.getCategoryName())) {
+                    SvyLibScriptCategory svyLibScriptCategory = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryById(svyLibScript.getCategoryid());
+                    if (svyLibScriptCategory != null) svyLibScript.setCategoryName(svyLibScriptCategory.getName());
+                }
+
+
                 //瀵归鐩繘琛屽鐞�
                 if (svyLibScript.getIsoperation() != null) {
                     //闂鐨勬搷浣滀笉涓虹┖
@@ -210,22 +210,6 @@
                     }
                 }
             }
-        }
-
-        if (CollectionUtils.isNotEmpty(svyLibTemplate.getTempDetpRelevances())) {
-            for (TemplateDept tempDetpRelevance : svyLibTemplate.getTempDetpRelevances()) {
-                tempDetpRelevance.setGuid(svyLibTemplateVO.getGuid());
-                tempDetpRelevance.setOrgid(svyLibTemplateVO.getOrgid());
-                if (tempDetpRelevance.getId() == null) {
-                    //鏂板
-                    tempDetpRelevance.setTempid(svyLibTemplate.getSvyid());
-                    tempDetpRelevance.setType(1L);
-                    templateDeptMapper.insertTemplateDept(tempDetpRelevance);
-                } else {
-                    templateDeptMapper.updateTemplateDept(tempDetpRelevance);
-                }
-            }
-
         }
 
         //鏍囩澶勭悊
@@ -326,4 +310,34 @@
             svyLibTemplateTargetoptionMapper.deleteSvyLibTemplateTargetoptionById(svyLibTemplateTargetoption.getId());
         }
     }
+
+    private void svyLibTemplatesCycle(List<SvyLibTemplate> svyLibTemplates) {
+        for (SvyLibTemplate svyLibTemplate1 : svyLibTemplates) {
+            SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
+            svyLibTemplateScript.setSvyid(svyLibTemplate1.getSvyid());
+            svyLibTemplateScript.setOrgid(svyLibTemplate1.getOrgid());
+            List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
+
+            // 鏀堕泦鎵�鏈夐渶瑕佹煡璇㈤�夐」鐨剆criptId锛坰criptType涓�1鎴�2鐨勯鐩墠闇�瑕侀�夐」锛�
+            List<Long> scriptIds = svyLibTemplateScripts.stream().filter(s -> "1".equals(s.getScriptType()) || "2".equals(s.getScriptType())).map(SvyLibTemplateScript::getId).filter(Objects::nonNull).collect(Collectors.toList());
+
+            // 鎵归噺鏌ヨ鎵�鏈夐�夐」锛屾寜scriptId鍒嗙粍
+            Map<Long, List<SvyLibTemplateTargetoption>> optionMap;
+            if (CollectionUtils.isNotEmpty(scriptIds)) {
+                List<SvyLibTemplateTargetoption> allOptions = svyLibTemplateTargetoptionMapper.selectByScriptIds(scriptIds, svyLibTemplate1.getOrgid());
+                optionMap = allOptions.stream().collect(Collectors.groupingBy(SvyLibTemplateTargetoption::getScriptid));
+            } else {
+                optionMap = new HashMap<>();
+            }
+
+            // 灏嗛�夐」鍒嗛厤鍒板搴旈鐩�
+            for (SvyLibTemplateScript svyLibTemplateScript1 : svyLibTemplateScripts) {
+                if ("1".equals(svyLibTemplateScript1.getScriptType()) || "2".equals(svyLibTemplateScript1.getScriptType())) {
+                    svyLibTemplateScript1.setSvyLibTemplateTargetoptions(optionMap.getOrDefault(svyLibTemplateScript1.getId(), new ArrayList<>()));
+                }
+            }
+
+            svyLibTemplate1.setSvyTemplateLibScripts(svyLibTemplateScripts);
+        }
+    }
 }

--
Gitblit v1.9.3