| | |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.utils.DtoConversionUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.smartor.domain.ServiceSubTaskDetailReq; |
| | | import com.smartor.domain.ServiceSubtask; |
| | | import com.smartor.domain.ServiceSubtaskDetail; |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.DTO.QuestionResultDTO; |
| | | import com.smartor.domain.DTO.ServiceSubtaskDetailDTO; |
| | | import com.smartor.domain.VO.QuestionResultVO; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.service.IServiceSubtaskDetailService; |
| | | import com.smartor.service.IServiceSubtaskService; |
| | | import io.swagger.annotations.Api; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.ruoyi.framework.datasource.DynamicDataSourceContextHolder.log; |
| | | |
| | | /** |
| | | * 语音任务结果明细Controller |
| | |
| | | private IServiceSubtaskDetailService ServiceSubtaskDetailService; |
| | | @Autowired |
| | | private IServiceSubtaskService serviceSubtaskService; |
| | | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | /** |
| | | * 查询单个人的语音信息 |
| | |
| | | return success(ServiceSubtaskDetailService.countPatByTarget(targetid)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取随访详情-指标详情(超链接) |
| | | */ |
| | | @ApiOperation("获取随访详情-指标详情") |
| | | @PostMapping("/getServiceSubtaskDetails") |
| | | public List<Map<String, Object>> getServiceSubtaskDetails(@RequestBody ServiceSubtaskDetailVO serviceSubtaskDetailVO) { |
| | | List<Map<String, Object>> map = new ArrayList<>(); |
| | | map = ServiceSubtaskDetailService.getServiceSubtaskDetails(serviceSubtaskDetailVO); |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 获取随访详情-指标详情(超链接) |
| | | */ |
| | | @ApiOperation("获取随访详情-指标详情(超链接)") |
| | | @PostMapping("/getServiceSubtaskDetailsHyperlink") |
| | | public List<Map<String, Object>> getServiceSubtaskDetailsHyperlink(@RequestBody ServiceSubtaskDetailVO serviceSubtaskDetailVO) { |
| | | LoginUser loginUser = getLoginUser(); |
| | | String orgid = loginUser.getUser().getOrgid(); |
| | | String configKey = serviceSubtaskDetailVO.getConfigKey(); |
| | | if (StringUtils.isNotEmpty(configKey)) { |
| | | String configValue = configService.selectConfigByKey(configKey, orgid); |
| | | serviceSubtaskDetailVO.setConfigValue(configValue); |
| | | if (StringUtils.isEmpty(configValue)) { |
| | | String logInfo = "getSfStatisticsCount-参数 " + configKey + " 未配置, 请配置好后重试"; |
| | | log.error(logInfo); |
| | | } |
| | | } |
| | | List<Map<String, Object>> map = new ArrayList<>(); |
| | | map = ServiceSubtaskDetailService.getServiceSubtaskDetails(serviceSubtaskDetailVO); |
| | | return map; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询患者随访信息 |
| | | */ |
| | | @ApiOperation("省立同德满意度数据统计") |
| | | @PostMapping("/sltaMydTotalByScore") |
| | | public Map<String, Object> sltaMydTotal(@RequestBody QuestionResultVO questionResultVO) { |
| | | 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); |
| | | } |
| | | 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)); |
| | | |
| | | groupedMap.forEach((questionText, exportList) -> { |
| | | QuestionResultDTO questionResultDTO = new QuestionResultDTO(); |
| | | questionResultDTO.setQeustionText(questionText); |
| | | questionResultDTO.setSubtaskDetailRatioExportList(exportList); |
| | | result.add(questionResultDTO); |
| | | }); |
| | | } |
| | | |
| | | return success(result); |
| | | } |
| | | } |