From 8107dedd85ceec29491293d8ebf69f7d7213aa6b Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 21 九月 2026 15:24:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java | 83 +++++++++++++++++++++++++++++++----------
1 files changed, 62 insertions(+), 21 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
index 6204bdb..77e9b08 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java
@@ -12,17 +12,21 @@
import com.smartor.domain.*;
import com.smartor.domain.DTO.QuestionResultDTO;
import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
+import com.smartor.domain.VO.MydTrendReqVO;
import com.smartor.domain.VO.QuestionCountKsOrBqVO;
import com.smartor.domain.VO.QuestionResultVO;
+import com.smartor.domain.VO.SltdMydTotalVO;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.service.IServiceSubtaskDetailService;
import com.smartor.service.IServiceSubtaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -204,32 +208,56 @@
* 鏌ヨ鎮h�呴殢璁夸俊鎭�
*/
@ApiOperation("鐪佺珛鍚屽痉婊℃剰搴︽暟鎹粺璁�")
- @PostMapping("/sltaMydTotalByScore")
- public Map<String, Object> sltaMydTotal(@RequestBody QuestionResultVO questionResultVO) {
+ @PostMapping("/sltdMydTotalByScore")
+ public Map<String, Object> sltdMydTotalByScore(@RequestBody SltdMydTotalVO sltdMydTotalVO) {
List<ServiceSubtaskRes> serviceSubtaskResList = null;
- ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
- serviceSubtaskEntity.setServiceType(questionResultVO.getServiceType());
- serviceSubtaskEntity.setEndOutHospTime(questionResultVO.getEndOutHospTime());
- serviceSubtaskEntity.setStartOutHospTime(questionResultVO.getStartOutHospTime());
- serviceSubtaskEntity.setDeptOrDistrict(questionResultVO.getDeptOrDistrict());
- serviceSubtaskEntity.setLeavehospitaldistrictcodes(questionResultVO.getLeavehospitaldistrictcodes());
- if (serviceSubtaskEntity != null) {
- List<ServiceSubtask> serviceSubtasks = serviceSubtaskService.getServiceSubtasks(serviceSubtaskEntity);
- serviceSubtaskResList = DtoConversionUtils.sourceToTarget(serviceSubtasks, ServiceSubtaskRes.class);
+ if (CollectionUtils.isNotEmpty(sltdMydTotalVO.getServiceTypeList())) {
+ //serviceType鍙兘浼氬嚭鐜板涓紝涓嶆兂澶氬啓鏂规硶浜嗭紝涓�涓竴涓煡璇㈠惂
+ for (String st : sltdMydTotalVO.getServiceTypeList()) {
+ ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
+ serviceSubtaskEntity.setServiceType(st);
+ serviceSubtaskEntity.setEndOutHospTime(sltdMydTotalVO.getEndOutHospTime());
+ serviceSubtaskEntity.setStartOutHospTime(sltdMydTotalVO.getStartOutHospTime());
+ serviceSubtaskEntity.setDeptOrDistrict(sltdMydTotalVO.getDeptOrDistrict());
+ serviceSubtaskEntity.setLeavehospitaldistrictcodes(sltdMydTotalVO.getLeavehospitaldistrictcodes());
+ serviceSubtaskEntity.setLeaveldeptcodes(sltdMydTotalVO.getLeaveldeptcodes());
+ if (serviceSubtaskEntity != null) {
+ List<ServiceSubtask> serviceSubtasks = serviceSubtaskService.getServiceSubtasks(serviceSubtaskEntity);
+ List<ServiceSubtaskRes> serviceSubtaskRes = DtoConversionUtils.sourceToTarget(serviceSubtasks, ServiceSubtaskRes.class);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskResList)) {
+ serviceSubtaskResList.addAll(serviceSubtaskRes);
+ } else {
+ if (CollectionUtils.isEmpty(serviceSubtaskResList)) serviceSubtaskResList = serviceSubtaskRes;
+ }
+ }
+ }
}
- List<ServiceSubtaskDetailRatioExport> detailList = serviceSubtaskService.getDetailRatio(questionResultVO, serviceSubtaskResList);
-
// 鎸� questiontext 鍒嗙粍鍚庤浆鎹负 QuestionResultVO
List<QuestionResultDTO> result = new ArrayList<>();
- if (!detailList.isEmpty()) {
- Map<String, List<ServiceSubtaskDetailRatioExport>> groupedMap = detailList.stream().collect(Collectors.groupingBy(ServiceSubtaskDetailRatioExport::getQuestiontext));
+ if (CollectionUtils.isNotEmpty(serviceSubtaskResList)) {
+ List<ServiceSubtaskDetailRatioExport> detailList = serviceSubtaskService.getDetailRatio(sltdMydTotalVO, serviceSubtaskResList);
- groupedMap.forEach((questionText, exportList) -> {
- QuestionResultDTO questionResultDTO = new QuestionResultDTO();
- questionResultDTO.setQeustionText(questionText);
- questionResultDTO.setSubtaskDetailRatioExportList(exportList);
- result.add(questionResultDTO);
- });
+ if (CollectionUtils.isNotEmpty(detailList)) {
+ Map<String, List<ServiceSubtaskDetailRatioExport>> groupedMap = detailList.stream().collect(Collectors.groupingBy(ServiceSubtaskDetailRatioExport::getQuestiontext));
+
+ groupedMap.forEach((questionText, exportList) -> {
+ QuestionResultDTO questionResultDTO = new QuestionResultDTO();
+ questionResultDTO.setQeustionText(questionText);
+ questionResultDTO.setSubtaskDetailRatioExportList(exportList);
+ BigDecimal allCount = new BigDecimal("0");
+ BigDecimal allScore = new BigDecimal("0.00");
+
+ for (ServiceSubtaskDetailRatioExport ssdre : exportList) {
+ if (StringUtils.isNotEmpty(ssdre.getCount()))
+ allCount.add(BigDecimal.valueOf(Long.valueOf(ssdre.getCount())));
+ allScore.add(BigDecimal.valueOf(Double.valueOf(ssdre.getScore())));
+ }
+
+ if (allCount.compareTo(BigDecimal.ZERO) > 0)
+ questionResultDTO.setAvgScore(allScore.divide(allCount, 2).toString());
+ result.add(questionResultDTO);
+ });
+ }
}
return success(result);
@@ -240,4 +268,17 @@
public Map<String, Object> statQuestionOptionByKsOrBq(@RequestBody QuestionCountKsOrBqVO questionResultVO) {
return success(serviceSubtaskService.statQuestionOptionByKsOrBq(questionResultVO));
}
+
+ @ApiOperation("鐪佺珛鍚屽痉鎮h�呮弧鎰忓害瓒嬪娍")
+ @PostMapping("/mydTrend")
+ public Map<String, Object> mydTrend(@RequestBody MydTrendReqVO mydTrendReqVO) {
+ return success(serviceSubtaskService.mydTrend(mydTrendReqVO));
+ }
+
+ @ApiOperation("鐪佺珛鍚屽痉鎮h�呮弧鎰忓害缁存姢")
+ @PostMapping("/sltdMydTotalByDimension")
+ public Map<String, Object> sltdMydTotalByDimension(@RequestBody MydTrendReqVO mydTrendReqVO) {
+ return success(serviceSubtaskService.sltdMydTotalByDimension(mydTrendReqVO));
+ }
+
}
--
Gitblit v1.9.3