From 0b02577ab12ac83a0530b7e0495b513dd0cdabca Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 02 七月 2024 11:25:08 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/SvyTaskServiceImpl.java |  113 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 97 insertions(+), 16 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyTaskServiceImpl.java
index 6f74476..830c70d 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyTaskServiceImpl.java
@@ -1,13 +1,22 @@
 package com.smartor.service.impl;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.common.utils.DateUtils;
-import com.smartor.domain.SvyTask;
-import com.smartor.mapper.SvyTaskMapper;
+import com.ruoyi.common.utils.DtoConversionUtils;
+import com.smartor.domain.*;
+import com.smartor.mapper.*;
 import com.smartor.service.ISvyTaskService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 缁煎悎闂嵎浠诲姟锛堜换鍔★級Service涓氬姟灞傚鐞�
@@ -15,11 +24,23 @@
  * @author ruoyi
  * @date 2024-06-12
  */
+@Slf4j
 @Service
-public class SvyTaskServiceImpl implements ISvyTaskService
-{
+public class SvyTaskServiceImpl implements ISvyTaskService {
     @Autowired
     private SvyTaskMapper svyTaskMapper;
+
+    @Autowired
+    private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper;
+
+    @Autowired
+    private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper;
+
+    @Autowired
+    private SvyTaskSingleMapper svyTaskSingleMapper;
+
+    @Autowired
+    private PatArchiveMapper patArchiveMapper;
 
     /**
      * 鏌ヨ缁煎悎闂嵎浠诲姟锛堜换鍔★級
@@ -28,8 +49,7 @@
      * @return 缁煎悎闂嵎浠诲姟锛堜换鍔★級
      */
     @Override
-    public SvyTask selectSvyTaskByTaskid(Long taskid)
-    {
+    public SvyTask selectSvyTaskByTaskid(Long taskid) {
         return svyTaskMapper.selectSvyTaskByTaskid(taskid);
     }
 
@@ -40,8 +60,7 @@
      * @return 缁煎悎闂嵎浠诲姟锛堜换鍔★級
      */
     @Override
-    public List<SvyTask> selectSvyTaskList(SvyTask svyTask)
-    {
+    public List<SvyTask> selectSvyTaskList(SvyTask svyTask) {
         return svyTaskMapper.selectSvyTaskList(svyTask);
     }
 
@@ -52,8 +71,7 @@
      * @return 缁撴灉
      */
     @Override
-    public int insertSvyTask(SvyTask svyTask)
-    {
+    public int insertSvyTask(SvyTask svyTask) {
         svyTask.setCreateTime(DateUtils.getNowDate());
         return svyTaskMapper.insertSvyTask(svyTask);
     }
@@ -65,8 +83,7 @@
      * @return 缁撴灉
      */
     @Override
-    public int updateSvyTask(SvyTask svyTask)
-    {
+    public int updateSvyTask(SvyTask svyTask) {
         svyTask.setUpdateTime(DateUtils.getNowDate());
         return svyTaskMapper.updateSvyTask(svyTask);
     }
@@ -78,8 +95,7 @@
      * @return 缁撴灉
      */
     @Override
-    public int deleteSvyTaskByTaskids(Long[] taskids)
-    {
+    public int deleteSvyTaskByTaskids(Long[] taskids) {
         return svyTaskMapper.deleteSvyTaskByTaskids(taskids);
     }
 
@@ -90,8 +106,73 @@
      * @return 缁撴灉
      */
     @Override
-    public int deleteSvyTaskByTaskid(Long taskid)
-    {
+    public int deleteSvyTaskByTaskid(Long taskid) {
         return svyTaskMapper.deleteSvyTaskByTaskid(taskid);
     }
+
+    @Override
+    public List<SvyLibTemplateScriptVO> getScriptInfoByCondition(Long taskid, Long patid) {
+        //閫氳繃浠诲姟ID鑾峰彇妯℃澘ID
+        SvyTask svyTask = selectSvyTaskByTaskid(taskid);
+
+        //閫氳繃妯℃澘ID鑾峰彇闂淇℃伅
+        SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
+        svyLibTemplateScript.setSvyid(Long.valueOf(svyTask.getTemplateid()));
+        svyLibTemplateScript.setDelFlag("0");
+        List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
+        if (CollectionUtils.isEmpty(svyLibTemplateScripts) || svyLibTemplateScripts.size() == 0) {
+            log.info("ivrLibaTemplateScripts涓虹┖浜嗭紝璇峰敖蹇仈绯荤鐞嗗憳澶勭悊");
+            return new ArrayList<>();
+        }
+        List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyLibTemplateScripts, SvyLibTemplateScriptVO.class);
+
+        //鑾峰彇鎮h�呬俊鎭�
+        PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid);
+
+        //閫氳繃鎮h�呬俊鎭拰浠诲姟淇℃伅涓殑textParam瀵归棶棰樹腑鐨勫彉閲忚繘琛屽~鍏�
+        ObjectMapper objectMapper = new ObjectMapper();
+        Map<String, Map<String, String>> ivrTaskMap = null;
+        try {
+            ivrTaskMap = objectMapper.readValue(svyTask.getTextParam(), Map.class);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+        List<Map<String, String>> mapList = new ArrayList<>();
+
+        for (Map<String, String> map : ivrTaskMap.values()) {
+            mapList.add(map);
+        }
+
+        //灏嗘ā鏉块棶棰樿瘽鏈噷鐨勯�氶厤绗︽浛鎹�
+        for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOS) {
+            if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent())) {
+                for (Map<String, String> map : mapList) {
+                    for (String key : map.keySet()) {
+
+                        svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
+                    }
+                }
+                //鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹�
+                svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
+                svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
+                svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
+
+                //鑾峰彇闂閫夐」
+                SvyLibTemplateTargetoption svyLibTemplateTargetoption = new SvyLibTemplateTargetoption();
+                svyLibTemplateTargetoption.setScriptid(svyLibTemplateScriptVO.getId());
+                List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTemplateTargetoption);
+                svyLibTemplateScriptVO.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions);
+            }
+        }
+
+        //鍙鎵撳紑浜嗛〉闈㈠氨绠楁垚鍔�
+        SvyTaskSingle svyTaskSingle = new SvyTaskSingle();
+        svyTaskSingle.setTaskid(taskid);
+        svyTaskSingle.setPatid(patid);
+        svyTaskSingle.setResult("success");
+        svyTaskSingle.setFinishtime(new Date());
+        svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle);
+
+        return svyLibTemplateScriptVOS;
+    }
 }

--
Gitblit v1.9.3