From 5ef44ce6297e223faecc3819911d2891a3c582c7 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 06 一月 2026 10:16:07 +0800
Subject: [PATCH] 【市一】随访满意度明细调整
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 26 ++++++++++++++++++++++++--
1 files changed, 24 insertions(+), 2 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 8982e03..34be16f 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -17,6 +17,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.ListUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -3027,7 +3028,8 @@
Map<String, ServiceSubtaskScriptCount> result = new HashMap<>();
List<ServiceSubtaskScriptCount> allCounts = new ArrayList<>();
List<ServiceSubtaskScriptCount> allItemCounts = new ArrayList<>();
- if(ObjectUtils.isEmpty(serviceSubtaskCountReq.getType())){
+ String type = serviceSubtaskCountReq.getType();
+ if(ObjectUtils.isEmpty(type)){
//鏌ヨ璇煶缁熻鏄庣粏
serviceSubtaskCountReq.setType("1");
List<ServiceSubtaskScriptCount> ivyCounts = serviceSubtaskMapper.getSfStatisticsScriptDetails(serviceSubtaskCountReq);
@@ -3049,12 +3051,31 @@
for(ServiceSubtaskScriptCount count : allCounts){
+ Map<String, ServiceSubtaskScriptCount> itemCountMap = new HashMap<>();
+ if(ObjectUtils.isNotEmpty(count.getOptions())){
+ String[] optionsArray = count.getOptions().split(",");
+ List<String> optionsList = Arrays.stream(optionsArray).map(String::valueOf).collect(Collectors.toList());
+ if(ObjectUtils.isNotEmpty(optionsList)){
+ //濉叆绌虹櫧淇℃伅
+ optionsList.forEach(option ->{
+ ServiceSubtaskScriptCount emptyCount = new ServiceSubtaskScriptCount();
+ emptyCount.setScriptContent(count.getScriptContent());
+ emptyCount.setScriptType(count.getScriptType());
+ emptyCount.setCompletedQuantity(count.getCompletedQuantity());
+ emptyCount.setAllQuantity(count.getAllQuantity());
+ emptyCount.setChosenQuantity(0);
+ emptyCount.setChosenPercentage("0.0");
+ itemCountMap.put(option,emptyCount);
+ });
+ }
+ }
List<ServiceSubtaskScriptCount> itemCounts = new ArrayList<>();
allItemCounts.forEach(itemCount ->{
if(ObjectUtils.isNotEmpty(count.getScriptid()) && ObjectUtils.isNotEmpty(itemCount.getScriptid())){
if(count.getScriptid().equals(itemCount.getScriptid())){
//鏀惧叆缁熻淇℃伅
itemCount.setScriptContent(count.getScriptContent());
+ itemCount.setScriptType(count.getScriptType());
itemCount.setCompletedQuantity(count.getCompletedQuantity());
itemCount.setAllQuantity(count.getAllQuantity());
//璁$畻閫夋嫨姣斾緥
@@ -3064,10 +3085,11 @@
BigDecimal chosenPercentage = (new BigDecimal(chosenQuantity)).divide(new BigDecimal(completedQuantity), 2, RoundingMode.HALF_UP);
itemCount.setChosenPercentage(chosenPercentage.toString());
}
- itemCounts.add(itemCount);
+ itemCountMap.put(count.getOptionText(), itemCount);
}
}
});
+ itemCounts = new ArrayList<>(itemCountMap.values());
count.setDetails(itemCounts);
result.put(count.getScriptid().toString(),count);
}
--
Gitblit v1.9.3