From f2cc333b963cb0de81aebc5ae3a8c247e99243d8 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 02 六月 2026 18:21:27 +0800
Subject: [PATCH] 【市一】同步手术视图
---
smartor/src/main/java/com/smartor/service/impl/PatSatisfactionServiceImpl.java | 309 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 309 insertions(+), 0 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatSatisfactionServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatSatisfactionServiceImpl.java
index 46c43db..f1802b9 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatSatisfactionServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatSatisfactionServiceImpl.java
@@ -315,6 +315,182 @@
return result;
}
+ /**
+ * 鎮h�呮弧鎰忓害缁熻锛堢淮搴︼級
+ *
+ * @param patSatisfactionReqVO 鎮h�呮弧鎰忓害缁熻鏉′欢
+ * @return 鎮h�呮弧鎰忓害缁熻缁撴灉
+ */
+ @Override
+ public PatSatisfactionResVO statisticsByDimension(PatSatisfactionReqVO patSatisfactionReqVO) {
+ //瀹氫箟杩斿弬
+ PatSatisfactionResVO result = new PatSatisfactionResVO();
+ //绛旈鎬讳汉鏁�(宸茬粡鍥炵瓟闂鐨�)
+ int totalPerson = 0;
+ // 鎬讳汉鏁帮紙鍖呭惈鏈洖绛旂殑锛�
+ int allPerson = 0;
+ //鎮h�呮弧鎰忓害缁熻鎯�
+ List<PatSatisfactionDetailEntity> patSatisfactionDetailEntities = new ArrayList<>();
+ List<ServiceSubtask> serviceSubtasks = serviceSubtaskMapper.selectSatisfactionSubtaskList(patSatisfactionReqVO);
+ // 鎸塼ype鍒嗙粍锛�1-璇煶锛�2-闂嵎
+ Map<String, List<ServiceSubtask>> groupByType = serviceSubtasks.stream().filter(s -> s.getType() != null).collect(Collectors.groupingBy(ServiceSubtask::getType));
+ List<ServiceSubtask> voiceList = groupByType.getOrDefault("1", Collections.emptyList());
+ List<ServiceSubtask> questionnaireList = groupByType.getOrDefault("2", Collections.emptyList());
+
+ if (CollectionUtils.isNotEmpty(voiceList)) {
+ //1. 鍏堣幏鍙栧叆鍙備腑鐨勭淮鎶ら泦鍚�
+ IvrLibaTemplateScript iltscript = new IvrLibaTemplateScript();
+ iltscript.setDimensionList(patSatisfactionReqVO.getDimensionList());
+
+ //2 鍐嶈幏鍙栬闂婊℃剰搴﹀垎绫讳笅鐨処vrLibaTemplateScript鐨勯泦鍚�
+ List<IvrLibaTemplateScript> ivrLibaTemplateScripts = ivrLibaTemplateScriptMapper.selectILTSBydimension(iltscript);
+ if (CollectionUtils.isNotEmpty(ivrLibaTemplateScripts)) {
+ //3 鍐嶉�氳繃鍗曚釜ivr_liba_template鑾峰彇鍒版墍鏈夌殑婊℃剰搴﹂棶棰� 鍜� 浣跨敤璇ユā鏉跨殑subTask浜烘暟
+ for (IvrLibaTemplateScript ivrLibaTemplateScript : ivrLibaTemplateScripts) {
+ //璁板綍鍗曚釜鏄庣粏淇℃伅
+ PatSatisfactionDetailEntity patSatisfactionDetailEntity = new PatSatisfactionDetailEntity();
+
+ //閫氳繃闂ID锛岃幏鍙栭棶棰橀�夐」(涓轰簡鑾峰彇閫夐」涓婄殑鏈�楂樺垎鏈�浣庡垎)
+ IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption = new IvrLibaTemplateTargetoption();
+ ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getScriptid());
+ List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = ivrLibaTemplateTargetoptionMapper.selectIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoption);
+
+ //鑾峰彇libTemplateId
+ List<Long> libTemplateIds = new ArrayList<>();
+ libTemplateIds.add(ivrLibaTemplateScript.getTemplateid());
+
+ // 鍐嶉�氳繃妯℃澘id鑾峰彇闂鍙戦�佹�婚噺
+ ServiceSubtaskSatisfactionEntity serviceSubtaskSatisfactionEntity = DtoConversionUtils.sourceToTarget(patSatisfactionReqVO, ServiceSubtaskSatisfactionEntity.class);
+ serviceSubtaskSatisfactionEntity.setLibTemplateIds(libTemplateIds);
+ serviceSubtaskSatisfactionEntity.setType(1);
+ List<Long> subids = serviceSubtaskMapper.querySendCount(serviceSubtaskSatisfactionEntity);
+
+ //鑾峰彇濉姤鏁伴噺
+ List<ServiceSubtaskDetailDTO> fillCount = null;
+ if (CollectionUtils.isNotEmpty(subids))
+ fillCount = serviceSubtaskDetailMapper.queryFillCount(subids, ivrLibaTemplateScript.getScriptContent());
+
+ // 鏍规嵁matchedtext鍒嗙粍锛岀粺璁″悇閫夐」鏁伴噺鍙婂崰姣�
+ Map<String, Map<String, Object>> matchedtextStats = new HashMap<>();
+ if (CollectionUtils.isNotEmpty(fillCount)) {
+ int totalFill = fillCount.size();
+ fillCount.stream().filter(dto -> dto.getMatchedtext() != null).collect(Collectors.groupingBy(ServiceSubtaskDetailDTO::getMatchedtext, Collectors.counting())).forEach((matchedtext, count) -> {
+ Map<String, Object> stat = new HashMap<>();
+ stat.put("count", count);
+ stat.put("ratio", new BigDecimal((double) count / totalFill * 100).setScale(1, RoundingMode.HALF_UP).doubleValue());
+ matchedtextStats.put(matchedtext, stat);
+ });
+ // 浠巉illCount涓彇targetvalue锛�&鍒嗛殧鐨勫綋鍓嶉棶棰樼殑鎵�鏈夐�夐」锛夛紝琛ュ叏鏈嚭鐜扮殑閫夐」锛宑ount鍜宺atio鍧囦负0
+ fillCount.stream().filter(dto -> dto.getTargetvalue() != null).findFirst().ifPresent(dto -> {
+ for (String option : dto.getTargetvalue().split("&")) {
+ String optionTrim = option.trim();
+ if (!matchedtextStats.containsKey(optionTrim)) {
+ Map<String, Object> emptyStat = new HashMap<>();
+ emptyStat.put("count", 0L);
+ emptyStat.put("ratio", 0.0);
+ matchedtextStats.put(optionTrim, emptyStat);
+ }
+ }
+ });
+ }
+
+ patSatisfactionDetailEntity.setScriptContent(ivrLibaTemplateScript.getScriptContent());
+ patSatisfactionDetailEntity.setAnswerPerson(CollectionUtils.isEmpty(fillCount) ? 0 : fillCount.size());
+ patSatisfactionDetailEntity.setNoAnswerPerson(CollectionUtils.isNotEmpty(fillCount) && CollectionUtils.isNotEmpty(subids) ? (subids.size() - fillCount.size()) : CollectionUtils.isNotEmpty(subids) ? subids.size() : 0);
+ patSatisfactionDetailEntity.setAverageScore(averageScore(fillCount));
+ patSatisfactionDetailEntity.setMaxScore(maxScore(ivrLibaTemplateTargetoptions));
+ patSatisfactionDetailEntity.setMinScore(minScore(ivrLibaTemplateTargetoptions));
+ patSatisfactionDetailEntity.setAnswerRate(CollectionUtils.isEmpty(subids) ? 0 : CollectionUtils.isEmpty(fillCount) ? 0 : fillCount.size() * 1.0 / subids.size());
+ patSatisfactionDetailEntity.setMatchedtextStats(matchedtextStats);
+ patSatisfactionDetailEntities.add(patSatisfactionDetailEntity);
+
+ totalPerson += CollectionUtils.isEmpty(fillCount) ? 0 : fillCount.size();
+ allPerson += subids.size();
+ }
+ }
+ }
+
+ if (CollectionUtils.isNotEmpty(questionnaireList)) {
+ //1. 鍏堣幏鍙栧叆鍙備腑鐨勬弧鎰忓害缁村害
+ SvyLibTemplateScriptVO svyLibTemplateScriptVO = new SvyLibTemplateScriptVO();
+ svyLibTemplateScriptVO.setDimensionList(patSatisfactionReqVO.getDimensionList());
+ //2 鍐嶈幏鍙栬闂婊℃剰搴﹀垎绫讳笅鐨処vrLibaTemplateScript鐨勯泦鍚�
+ List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSLTScriptListBydimension(svyLibTemplateScriptVO);
+ if (CollectionUtils.isNotEmpty(svyLibTemplateScripts)) {
+ for (SvyLibTemplateScript svyLibTemplateScript : svyLibTemplateScripts) {
+ //璁板綍鍗曚釜鏄庣粏淇℃伅
+ PatSatisfactionDetailEntity patSatisfactionDetailEntity = new PatSatisfactionDetailEntity();
+
+ //閫氳繃闂ID锛岃幏鍙栭棶棰橀�夐」(涓轰簡鑾峰彇閫夐」涓婄殑鏈�楂樺垎鏈�浣庡垎)
+ SvyLibTemplateTargetoption svyLibTemplateTargetoption = new SvyLibTemplateTargetoption();
+ svyLibTemplateTargetoption.setScriptid(svyLibTemplateScript.getId());
+ List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTemplateTargetoption);
+
+ //鑾峰彇libTemplateId
+ List<Long> libTemplateIds = new ArrayList<>();
+ libTemplateIds.add(svyLibTemplateScript.getSvyid());
+
+ // 鍐嶉�氳繃妯℃澘id鑾峰彇闂鍙戦�佹�婚噺
+ ServiceSubtaskSatisfactionEntity serviceSubtaskSatisfactionEntity = DtoConversionUtils.sourceToTarget(patSatisfactionReqVO, ServiceSubtaskSatisfactionEntity.class);
+ serviceSubtaskSatisfactionEntity.setLibTemplateIds(libTemplateIds);
+ serviceSubtaskSatisfactionEntity.setType(2);
+ List<Long> subids = serviceSubtaskMapper.querySendCount(serviceSubtaskSatisfactionEntity);
+
+ //鑾峰彇濉姤鏁伴噺
+ List<ServiceSubtaskDetailDTO> fillCount = null;
+ if (CollectionUtils.isNotEmpty(subids))
+ fillCount = serviceSubtaskDetailMapper.queryFillCount(subids, svyLibTemplateScript.getScriptContent());
+
+ // 鏍规嵁matchedtext鍒嗙粍锛岀粺璁″悇閫夐」鏁伴噺鍙婂崰姣�
+ Map<String, Map<String, Object>> matchedtextStats = new HashMap<>();
+ if (CollectionUtils.isNotEmpty(fillCount)) {
+ int totalFill = fillCount.size();
+ fillCount.stream().filter(dto -> dto.getMatchedtext() != null).collect(Collectors.groupingBy(ServiceSubtaskDetailDTO::getMatchedtext, Collectors.counting())).forEach((matchedtext, count) -> {
+ Map<String, Object> stat = new HashMap<>();
+ stat.put("count", count);
+ stat.put("ratio", new BigDecimal((double) count / totalFill * 100).setScale(1, RoundingMode.HALF_UP).doubleValue());
+ matchedtextStats.put(matchedtext, stat);
+ });
+ // 浠巉illCount涓彇targetvalue锛�&鍒嗛殧鐨勫綋鍓嶉棶棰樼殑鎵�鏈夐�夐」锛夛紝琛ュ叏鏈嚭鐜扮殑閫夐」锛宑ount鍜宺atio鍧囦负0
+ fillCount.stream().filter(dto -> dto.getTargetvalue() != null).findFirst().ifPresent(dto -> {
+ for (String option : dto.getTargetvalue().split("&")) {
+ String optionTrim = option.trim();
+ if (!matchedtextStats.containsKey(optionTrim)) {
+ Map<String, Object> emptyStat = new HashMap<>();
+ emptyStat.put("count", 0L);
+ emptyStat.put("ratio", 0.0);
+ matchedtextStats.put(optionTrim, emptyStat);
+ }
+ }
+ });
+ }
+ patSatisfactionDetailEntity.setScriptContent(svyLibTemplateScript.getScriptContent());
+ patSatisfactionDetailEntity.setAnswerPerson(CollectionUtils.isEmpty(fillCount) ? 0 : fillCount.size());
+ patSatisfactionDetailEntity.setNoAnswerPerson(CollectionUtils.isNotEmpty(fillCount) && CollectionUtils.isNotEmpty(subids) ? (subids.size() - fillCount.size()) : CollectionUtils.isNotEmpty(subids) ? subids.size() : 0);
+ patSatisfactionDetailEntity.setAverageScore(averageScore(fillCount));
+
+ OptionalDouble maxOpt = svyLibTemplateTargetoptions.stream().filter(dto -> dto.getScore() != null).mapToDouble(dto -> dto.getScore().doubleValue()).max();
+ patSatisfactionDetailEntity.setMaxScore(maxOpt.isPresent() ? new BigDecimal(maxOpt.getAsDouble()).setScale(1, RoundingMode.HALF_UP).doubleValue() : 0.0);
+
+ OptionalDouble minOpt = svyLibTemplateTargetoptions.stream().filter(dto -> dto.getScore() != null).mapToDouble(dto -> dto.getScore().doubleValue()).min();
+ patSatisfactionDetailEntity.setMinScore(minOpt.isPresent() ? new BigDecimal(minOpt.getAsDouble()).setScale(1, RoundingMode.HALF_UP).doubleValue() : 0.0);
+
+ patSatisfactionDetailEntity.setAnswerRate(CollectionUtils.isEmpty(subids) ? 0 : CollectionUtils.isEmpty(fillCount) ? 0 : fillCount.size() * 1.0 / subids.size());
+ patSatisfactionDetailEntity.setMatchedtextStats(matchedtextStats);
+ patSatisfactionDetailEntities.add(patSatisfactionDetailEntity);
+
+ totalPerson += CollectionUtils.isEmpty(fillCount) ? 0 : fillCount.size();
+ allPerson += subids.size();
+ }
+ }
+ }
+ result.setTotalAnswerRate(Arith.div(totalPerson, allPerson));
+ result.setPatSatisfactionDetailEntities(patSatisfactionDetailEntities);
+ result.setTotalPerson(totalPerson);
+
+ return result;
+ }
+
@Override
public Map<String, Object> satisfactionGraph(PatSatisfactionReqVO patSatisfactionReqVO) {
//鐢ㄦ潵璁板綍鏌辩姸鍥句俊鎭紙key=婊℃剰搴﹀垎绫诲悕绉帮紝value=婊℃剰搴﹀垎绫讳笅鐨勬�讳汉鏁板拰濉姤浜烘暟锛�
@@ -449,6 +625,139 @@
return zzt;
}
+
+ @Override
+ public Map<String, Object> satisfactionGraphDimension(PatSatisfactionReqVO patSatisfactionReqVO) {
+ //鐢ㄦ潵璁板綍鏌辩姸鍥句俊鎭紙key=婊℃剰搴﹀垎绫诲悕绉帮紝value=婊℃剰搴﹀垎绫讳笅鐨勬�讳汉鏁板拰濉姤浜烘暟锛�
+ Map<String, Object> zzt = new HashMap<>();
+
+ // 璁板綍涓�涓嬫瘡绉嶅垎绫荤殑濉姤鎯呭喌
+ Map<String, List<ServiceSubtaskDetailDTO>> assortNameFillCountMap = new HashMap<>();
+
+ if (patSatisfactionReqVO.getType() == null || patSatisfactionReqVO.getType() == 1) {
+ //1. 浠庡叆鍙備腑鑾峰彇婊℃剰搴︾淮缁村害
+ IvrLibaTemplateScript ivrLibaTemplateScript2 = new IvrLibaTemplateScript();
+ ivrLibaTemplateScript2.setDimensionList(patSatisfactionReqVO.getDimensionList());
+
+ //2 鍐嶈幏鍙栬闂婊℃剰搴﹀垎绫讳笅鐨処vrLibaTemplateScript鐨勯泦鍚�
+ List<IvrLibaTemplateScript> ivrLibaTemplateScripts = ivrLibaTemplateScriptMapper.selectILTSBydimension(ivrLibaTemplateScript2);
+ if (ivrLibaTemplateScripts != null && !ivrLibaTemplateScripts.isEmpty()) {
+ //3 鎸塪imension缁村害鍒嗙粍,骞惰幏鍙栨瘡涓泦鍚堣繘琛岄亶鍘嗭紝璁$畻姣忎釜鍒嗙被鐨勬�讳汉鏁板拰濉姤浜烘暟
+ Map<String, List<IvrLibaTemplateScript>> groupByDimension = ivrLibaTemplateScripts.stream().filter(item -> item.getDimension() != null).collect(Collectors.groupingBy(IvrLibaTemplateScript::getDimension));
+
+ if (groupByDimension != null && !groupByDimension.isEmpty()) {
+ for (String dimension : groupByDimension.keySet()) {
+ //璁板綍鎬讳汉鏁�
+ Double subidAll = 0.0;
+ //璁板綍鎬荤殑濉姤浜烘暟
+ Double fillCountAll = 0.0;
+ //鑾峰彇璇ョ淮搴︾殑濉姤鎬绘暟閲�
+ List<ServiceSubtaskDetailDTO> allFillCountList = new ArrayList<>();
+
+ List<IvrLibaTemplateScript> ivrLibaTemplateScriptList = groupByDimension.get(dimension);
+ for (IvrLibaTemplateScript ivrLibaTemplateScript : ivrLibaTemplateScriptList) {
+ //鑾峰彇libTemplateId
+ List<Long> libTemplateIds = new ArrayList<>();
+ libTemplateIds.add(ivrLibaTemplateScript.getTemplateid());
+ // 鍐嶉�氳繃妯℃澘id鑾峰彇闂鍙戦�佹�婚噺
+ ServiceSubtaskSatisfactionEntity serviceSubtaskSatisfactionEntity = DtoConversionUtils.sourceToTarget(patSatisfactionReqVO, ServiceSubtaskSatisfactionEntity.class);
+ serviceSubtaskSatisfactionEntity.setLibTemplateIds(libTemplateIds);
+ serviceSubtaskSatisfactionEntity.setType(1);
+ List<Long> subids = serviceSubtaskMapper.querySendCount(serviceSubtaskSatisfactionEntity);
+
+ //鑾峰彇濉姤鏁伴噺
+ List<ServiceSubtaskDetailDTO> fillCount = null;
+ if (CollectionUtils.isNotEmpty(subids)) {
+ fillCount = serviceSubtaskDetailMapper.queryFillCount(subids, ivrLibaTemplateScript.getScriptContent());
+ if (CollectionUtils.isNotEmpty(fillCount)) allFillCountList.addAll(fillCount);
+ }
+ subidAll += subids.size();
+ fillCountAll += CollectionUtils.isEmpty(fillCount) ? 0 : fillCount.size();
+ }
+
+ // 杩欓噷鍏堣褰曚竴涓嬫瘡涓垎绫荤殑鎬讳汉鏁板拰濉姤浜烘暟
+ Map<String, Object> personCount = new HashMap<>();
+ personCount.put("fillCountAll", fillCountAll);
+ personCount.put("subidAll", subidAll);
+ personCount.put("receiveRate", Arith.div(fillCountAll, subidAll));
+ personCount.put("averageScore", averageScore(allFillCountList));
+ zzt.put(dimension, personCount);
+ assortNameFillCountMap.put(dimension, allFillCountList);
+ }
+ }
+ }
+ }
+
+ if (patSatisfactionReqVO.getType() == null || patSatisfactionReqVO.getType() == 2) {
+ //1. 浠庡叆鍙備腑鑾峰彇婊℃剰搴︾淮缁村害
+ SvyLibTemplateScriptVO svyLibTemplateScriptVO = new SvyLibTemplateScriptVO();
+ svyLibTemplateScriptVO.setDimensionList(patSatisfactionReqVO.getDimensionList());
+
+ //2 鍐嶈幏鍙栬闂婊℃剰搴﹀垎绫讳笅鐨処vrLibaTemplateScript鐨勯泦鍚�
+ List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSLTScriptListBydimension(svyLibTemplateScriptVO);
+ if (svyLibTemplateScripts != null && !svyLibTemplateScripts.isEmpty()) {
+ //3 鎸塻criptAssortname鍒嗙粍,骞惰幏鍙栨瘡涓泦鍚堣繘琛岄亶鍘嗭紝璁$畻姣忎釜鍒嗙被鐨勬�讳汉鏁板拰濉姤浜烘暟
+ Map<String, List<SvyLibTemplateScript>> groupByDimension = svyLibTemplateScripts.stream().filter(item -> item.getDimension() != null).collect(Collectors.groupingBy(SvyLibTemplateScript::getDimension));
+ if (groupByDimension != null && !groupByDimension.isEmpty()) {
+ for (String dimension : groupByDimension.keySet()) {
+ //璁板綍鎬讳汉鏁�
+ Double subidAll = 0.0;
+ //璁板綍鎬荤殑濉姤浜烘暟
+ Double fillCountAll = 0.0;
+ //鑾峰彇璇ュ垎绫荤殑濉姤鎬绘暟閲�
+ List<ServiceSubtaskDetailDTO> allFillCountList = new ArrayList<>();
+
+ List<SvyLibTemplateScript> svyLibTemplateScriptList = groupByDimension.get(dimension);
+ for (SvyLibTemplateScript svyLibTemplateScript : svyLibTemplateScriptList) {
+ //鑾峰彇libTemplateId
+ List<Long> libTemplateIds = new ArrayList<>();
+ libTemplateIds.add(svyLibTemplateScript.getSvyid());
+ // 鍐嶉�氳繃妯℃澘id鑾峰彇闂鍙戦�佹�婚噺
+ ServiceSubtaskSatisfactionEntity serviceSubtaskSatisfactionEntity = DtoConversionUtils.sourceToTarget(patSatisfactionReqVO, ServiceSubtaskSatisfactionEntity.class);
+ serviceSubtaskSatisfactionEntity.setLibTemplateIds(libTemplateIds);
+ serviceSubtaskSatisfactionEntity.setType(2);
+ List<Long> subids = serviceSubtaskMapper.querySendCount(serviceSubtaskSatisfactionEntity);
+
+ //鑾峰彇濉姤鏁伴噺
+ List<ServiceSubtaskDetailDTO> fillCount = null;
+ if (CollectionUtils.isNotEmpty(subids)) {
+ fillCount = serviceSubtaskDetailMapper.queryFillCount(subids, svyLibTemplateScript.getScriptContent());
+ if (CollectionUtils.isNotEmpty(fillCount)) allFillCountList.addAll(fillCount);
+ }
+ subidAll += subids.size();
+ fillCountAll += CollectionUtils.isEmpty(fillCount) ? 0 : fillCount.size();
+ }
+
+
+ // 杩欓噷鍏堣褰曚竴涓嬫瘡涓垎绫荤殑鎬讳汉鏁板拰濉姤浜烘暟
+ Map<String, Object> personCount = (Map<String, Object>) zzt.get(dimension);
+ if (!Objects.isNull(personCount)) {
+ Double fillCountAll2 = (Double) personCount.get("fillCountAll");
+ Double subidAll2 = (Double) personCount.get("subidAll");
+ personCount.put("fillCountAll", fillCountAll2 + fillCountAll);
+ personCount.put("subidAll", subidAll2 + subidAll);
+ personCount.put("receiveRate", Arith.div((Double) personCount.get("fillCountAll"), (Double) personCount.get("subidAll")));
+
+ //鐪嬩竴涓嬩箣鍓嶆湁娌℃湁璇ュ垎绫荤殑濉姤閲�
+ List<ServiceSubtaskDetailDTO> serviceSubtaskDetailDTOS = assortNameFillCountMap.get(dimension);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskDetailDTOS))
+ allFillCountList.addAll(serviceSubtaskDetailDTOS);
+ personCount.put("averageScore", averageScore(allFillCountList));
+ } else {
+ personCount = new HashMap<>();
+ personCount.put("fillCountAll", fillCountAll);
+ personCount.put("subidAll", subidAll);
+ personCount.put("receiveRate", Arith.div(fillCountAll, subidAll));
+ personCount.put("averageScore", averageScore(allFillCountList));
+ zzt.put(dimension, personCount);
+ }
+ }
+ }
+ }
+ }
+ return zzt;
+ }
+
/**
* 鑾峰彇鏈�楂樺垎
*
--
Gitblit v1.9.3