From b44db60114b159cd438a0fe0259b9ddc94a16ba3 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 06 一月 2026 16:45:07 +0800
Subject: [PATCH] 【市一】随访满意度明细调整

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   31 +++++++++++++++++++++----------
 1 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index cf53baf..28e168c 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -3051,23 +3051,31 @@
 
         for(ServiceSubtaskScriptCount count : allCounts){
             Map<String, ServiceSubtaskScriptCount> itemCountMap = new HashMap<>();
-            if(ObjectUtils.isNotEmpty(count.getTemplateid())){
-                SvyTaskTemplateVO svyTaskTemplateVO = new SvyTaskTemplateVO();
-                svyTaskTemplateVO.setId(count.getTemplateid());
-                SvyTaskTemplateVO svyTaskTemplateResultVo = svyTaskTemplateService.selectInfoByCondition(svyTaskTemplateVO);
-                if(ObjectUtils.isNotEmpty(svyTaskTemplateResultVo)){
-                    List<SvyTaskTemplateScriptVO> templateScriptVOS = svyTaskTemplateResultVo.getSvyTaskTemplateScriptVOS();
-                    if(ObjectUtils.isNotEmpty(templateScriptVOS)){
+            //闂嵎鍔犱笂绌虹櫧閫夐」
+            if(ObjectUtils.isNotEmpty(count.getTemplateid())
+                    && ObjectUtils.isNotEmpty(count.getSubtaskType())
+                    && count.getSubtaskType().equals("2")){
+                SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = new SvyTaskTemplateScriptVO();
+                svyTaskTemplateScriptVO.setId(count.getScriptid());
+                SvyTaskTemplateScriptVO svyTaskTemplateScriptResultVo = svyTaskTemplateScriptService.selectInfoByCondition(svyTaskTemplateScriptVO);
+                if(ObjectUtils.isNotEmpty(svyTaskTemplateScriptResultVo)){
+                    List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateScriptResultVo.getSvyTaskTemplateTargetoptions();
+                    if(ObjectUtils.isNotEmpty(svyTaskTemplateTargetoptions)){
                         //濉叆绌虹櫧淇℃伅
-                        templateScriptVOS.forEach(templateScriptVO ->{
+                        svyTaskTemplateTargetoptions.forEach(targetoption ->{
                             ServiceSubtaskScriptCount emptyCount = new ServiceSubtaskScriptCount();
+                            emptyCount.setScriptid(count.getScriptid());
                             emptyCount.setScriptContent(count.getScriptContent());
                             emptyCount.setScriptType(count.getScriptType());
+                            emptyCount.setSubtaskType(count.getSubtaskType());
                             emptyCount.setCompletedQuantity(count.getCompletedQuantity());
                             emptyCount.setAllQuantity(count.getAllQuantity());
+                            emptyCount.setCompletedPercentage(count.getCompletedPercentage());
+                            emptyCount.setTemplateid(count.getTemplateid());
                             emptyCount.setChosenQuantity(0);
                             emptyCount.setChosenPercentage("0.0");
-                            itemCountMap.put(templateScriptVO.getScriptResult(),emptyCount);
+                            emptyCount.setOptionText(targetoption.getOptioncontent());
+                            itemCountMap.put(targetoption.getOptioncontent(),emptyCount);
                         });
                     }
                 }
@@ -3078,8 +3086,11 @@
                         //鏀惧叆缁熻淇℃伅
                         itemCount.setScriptContent(count.getScriptContent());
                         itemCount.setScriptType(count.getScriptType());
+                        itemCount.setSubtaskType(count.getSubtaskType());
                         itemCount.setCompletedQuantity(count.getCompletedQuantity());
                         itemCount.setAllQuantity(count.getAllQuantity());
+                        itemCount.setCompletedPercentage(count.getCompletedPercentage());
+                        itemCount.setTemplateid(count.getTemplateid());
                         //璁$畻閫夋嫨姣斾緥
                         int chosenQuantity = ObjectUtils.isNotEmpty(itemCount.getChosenQuantity())?itemCount.getChosenQuantity():0;
                         int completedQuantity = itemCount.getCompletedQuantity();
@@ -3087,7 +3098,7 @@
                             BigDecimal chosenPercentage = (new BigDecimal(chosenQuantity)).divide(new BigDecimal(completedQuantity), 2, RoundingMode.HALF_UP);
                             itemCount.setChosenPercentage(chosenPercentage.toString());
                         }
-                        itemCountMap.put(count.getOptionText(), itemCount);
+                        itemCountMap.put(itemCount.getOptionText(), itemCount);
                     }
                 }
             });

--
Gitblit v1.9.3