1.省立同德新增满意度接口(未开发完)
2.字段修改将isMust修改成ismandatory (是否必填 1必填 2不必填(默认))
| | |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.DTO.QuestionResultDTO; |
| | | import com.smartor.domain.DTO.ServiceSubtaskDetailDTO; |
| | | import com.smartor.domain.VO.QuestionCountKsOrBqVO; |
| | | import com.smartor.domain.VO.QuestionResultVO; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.service.IServiceSubtaskDetailService; |
| | |
| | | // æ questiontext åç»å转æ¢ä¸º QuestionResultVO |
| | | List<QuestionResultDTO> result = new ArrayList<>(); |
| | | if (!detailList.isEmpty()) { |
| | | Map<String, List<ServiceSubtaskDetailRatioExport>> groupedMap = detailList.stream() |
| | | .collect(Collectors.groupingBy(ServiceSubtaskDetailRatioExport::getQuestiontext)); |
| | | Map<String, List<ServiceSubtaskDetailRatioExport>> groupedMap = detailList.stream().collect(Collectors.groupingBy(ServiceSubtaskDetailRatioExport::getQuestiontext)); |
| | | |
| | | groupedMap.forEach((questionText, exportList) -> { |
| | | QuestionResultDTO questionResultDTO = new QuestionResultDTO(); |
| | |
| | | |
| | | return success(result); |
| | | } |
| | | |
| | | @ApiOperation("çç«å德满æåº¦æ°æ®ç»è®¡éè¿ç§å®¤æç
åº") |
| | | @PostMapping("/statQuestionOptionByKsOrBq") |
| | | public Map<String, Object> statQuestionOptionByKsOrBq(@RequestBody QuestionCountKsOrBqVO questionResultVO) { |
| | | return success(serviceSubtaskService.statQuestionOptionByKsOrBq(questionResultVO)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.domain.DTO; |
| | | |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import com.smartor.domain.ServiceSubtaskDetailRatioExport; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é®å·ç»æ |
| | | * |
| | | * @author ruoyi |
| | | * @date 2024-02-02 |
| | | */ |
| | | |
| | | @ApiModel(value = "QuestionResultDTO", description = "é®å·ç»æ") |
| | | @Data |
| | | public class QuestionCountKsOrBqDTO extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * é®å·é¢ç® |
| | | */ |
| | | @ApiModelProperty(value = "é®å·é¢ç®") |
| | | private String qeustionText; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "ä»»å¡id") |
| | | private Long taskid; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "é¨é¨åç§°") |
| | | private String deptname; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "ç
åºåç§°") |
| | | private String leavehospitaldistrictname; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "é项") |
| | | private String targetvalue; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "éé¡¹ç»æ") |
| | | private String asrtext; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "åçæ°é") |
| | | private String answerCount; |
| | | |
| | | /** |
| | | * é®å·ç»æéå |
| | | */ |
| | | @ApiModelProperty(value = "åé¢å¾å") |
| | | private String singleScore; |
| | | |
| | | /** |
| | | * å¹³åå¾å |
| | | */ |
| | | @ApiModelProperty(value = "å¹³åå¾å") |
| | | private String avgScore; |
| | | |
| | | } |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼ |
| | | */ |
| | | @Excel(name = "æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | private String isMust; |
| | | @Excel(name = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private String ismandatory; |
| | | |
| | | /** |
| | | * ç»å« |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼ |
| | | */ |
| | | @Excel(name = "æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | private String isMust; |
| | | @Excel(name = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)æ¯å¦å¿
å¡«ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤) ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | private String ismandatory; |
| | | |
| | | /** |
| | | * é®é¢ç»æï¼ç»âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨çï¼ |
| | |
| | | */ |
| | | @Excel(name = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ", readConverterExp = "ç»=人工ç¨çï¼AIä¸ç¨éµå®") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | private String isMust; |
| | | private String ismandatory; |
| | | |
| | | /** |
| | | * é®é¢ç»æï¼ç»âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨çï¼ |
| | |
| | | */ |
| | | @Excel(name = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ", readConverterExp = "ç»=人工ç¨çï¼AIä¸ç¨éµå®") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼") |
| | | private String isMust; |
| | | private String ismandatory; |
| | | |
| | | /** |
| | | * é®é¢ç»æï¼ç»âå¼ç±»åâæ¯ææ¬æè
æ°å¼ç¨çï¼ |
| | |
| | | @Excel(name = "ä»»å¡ç¼å·") |
| | | private String taskid; |
| | | |
| | | /** |
| | | * é¨é¨code |
| | | */ |
| | | @Excel(name = " é¨é¨code") |
| | | @ApiModelProperty(value = "é¨é¨code") |
| | | private String deptcode; |
| | | |
| | | /** |
| | | * ç§å®¤åç§° |
| | | */ |
| | | @Excel(name = "ç§å®¤åç§°") |
| | | @ApiModelProperty(value = "ç§å®¤åç§°") |
| | | private String deptname; |
| | | |
| | | /** |
| | | * åºé¢ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºç¼å·") |
| | | private String leavehospitaldistrictcode; |
| | | |
| | | /** |
| | | * åºé¢ç
åºåç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºåç§°") |
| | | @Excel(name = " åºé¢ç
åºåç§° ") |
| | | private String leavehospitaldistrictname; |
| | | } |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡« |
| | | */ |
| | | @Excel(name = " æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private String ismandatory; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡« |
| | | */ |
| | | @Excel(name = " æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private String ismandatory; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡« |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private String ismandatory; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * æ¯å¦å¿
å¡« |
| | | */ |
| | | @Excel(name = " æ¯å¦å¿
å¡« ") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤) ") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private Long ismandatory; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * æç»æ¯å¦å¿
å¡« |
| | | */ |
| | | @Excel(name = " æç»æ¯å¦å¿
å¡« ") |
| | | @ApiModelProperty(value = "æç»æ¯å¦å¿
å¡«") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤) ") |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤)") |
| | | private Long detailismandatory; |
| | | |
| | | /** |
| | |
| | | * æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼ |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ") |
| | | private String isMust; |
| | | private String ismandatory; |
| | | |
| | | /** |
| | | * æ¯å¦å卿ä½ï¼1 æ°å¢ 2ä¿®æ¹ 3å é¤ |
| | |
| | | @ApiModelProperty(value = "è¯æ¯å
容") |
| | | private String scriptContent; |
| | | |
| | | |
| | | /** |
| | | * æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ï¼ç»äººå·¥ç¨çï¼AIä¸ç¨éµå®ï¼ |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦å¿
å¡«,1:å¿
å¡« 2ï¼å¯ä»¥ä¸å¡« ") |
| | | private String isMust; |
| | | |
| | | |
| | | /** |
| | | * å 餿 è®° |
| | | */ |
| | |
| | | private Long categoryid; |
| | | |
| | | /** |
| | | * æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡« |
| | | * æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡« |
| | | */ |
| | | @Excel(name = " æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 0å¿
å¡« 1ä¸å¿
å¡«") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«") |
| | | @ApiModelProperty("æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«") |
| | | private String ismandatory; |
| | | |
| | | |
| | |
| | | private Long sort; |
| | | |
| | | /** |
| | | * æ¯å¦å¿
å¡« |
| | | * æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤) |
| | | */ |
| | | @Excel(name = " æ¯å¦å¿
å¡« ") |
| | | @Excel(name = " æ¯å¦å¿
å¡« 1å¿
å¡« 2ä¸å¿
å¡«(é»è®¤) ") |
| | | private Long ismandatory; |
| | | |
| | | /** |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.domain.VO; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import com.smartor.domain.ServiceSubtaskDetailRatioExport; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é®é¢ç»è®¡æ ¹æ®ç§å®¤æç
åºæ¥è¯¢ |
| | | * |
| | | * @author ls |
| | | * @date 2026-09-11 |
| | | */ |
| | | |
| | | @ApiModel(value = "QuestionCountKsOrBqVO", description = "é®é¢ç»è®¡æ ¹æ®ç§å®¤æç
åºæ¥è¯¢") |
| | | @Data |
| | | public class QuestionCountKsOrBqVO extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * ç§å®¤ä¸ç
åºçæ¥è¯¢æ¯orè¿æ¯and: 1:and(é»è®¤)(离é¢ç
åºä¸ç¦»é¢ç§å®¤ç»å) 2:or(离é¢ç
åºä¸ç¦»é¢ç§å®¤ç»å) 3:and(离é¢ç
åºä¸é访ç§å®¤ç»å) 4:or(离é¢ç
åºä¸é访ç§å®¤ç»å) |
| | | */ |
| | | @ApiModelProperty(value = "ç§å®¤ä¸ç
åºçæ¥è¯¢æ¯orè¿æ¯and: 1:and(é»è®¤)(离é¢ç
åºä¸ç¦»é¢ç§å®¤ç»å) 2:or(离é¢ç
åºä¸ç¦»é¢ç§å®¤ç»å) 3:and(离é¢ç
åºä¸é访ç§å®¤ç»å) 4:or(离é¢ç
åºä¸é访ç§å®¤ç»å)") |
| | | private String deptOrDistrict = "1"; |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | @ApiModelProperty(value = "主é®id") |
| | | private Long subId; |
| | | |
| | | /** |
| | | * åºé¢ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºéå(å¿
å¡«)") |
| | | private List<String> leavehospitaldistrictcodes; |
| | | |
| | | /** |
| | | * é¨é¨code |
| | | */ |
| | | @Excel(name = " é¨é¨code") |
| | | @ApiModelProperty(value = "é¨é¨codeéå") |
| | | private List<String> leaveldeptcodes; |
| | | |
| | | |
| | | /** |
| | | * å¼å§åºé¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "å¼å§å®ææ¥æ") |
| | | private Date startFinisTime; |
| | | |
| | | /** |
| | | * ç»æåºé¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "ç»æå®ææ¥æ") |
| | | private Date endFinishTime; |
| | | |
| | | |
| | | @ApiModelProperty(value = "é®é¢ç±»åï¼1.åé 2å¤é 3é®ç 4填空 5å
¶å®ï¼") |
| | | private String valueType; |
| | | } |
| | |
| | | @ApiModelProperty(value = "åºé¢ç
åºéå(å¿
å¡«)") |
| | | private List<String> leavehospitaldistrictcodes; |
| | | |
| | | /** |
| | | * é¨é¨code |
| | | */ |
| | | @Excel(name = " é¨é¨code") |
| | | @ApiModelProperty(value = "é¨é¨codeéå") |
| | | private List<String> leaveldeptcodes; |
| | | |
| | | |
| | | /** |
| | | * 主é®idéå |
| | |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "ç»æåºé¢æ¥æ") |
| | | private Date endOutHospTime; |
| | | |
| | | |
| | | /** |
| | | * é®é¢å
容 |
| | |
| | | package com.smartor.mapper; |
| | | |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.DTO.QuestionCountKsOrBqDTO; |
| | | import com.smartor.domain.VO.PatSatisfactionReqVO; |
| | | import com.smartor.domain.VO.HeLibraryCountVO; |
| | | import com.smartor.domain.VO.QuestionCountKsOrBqVO; |
| | | import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.domain.entity.ServiceSubtaskSatisfactionEntity; |
| | |
| | | */ |
| | | List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(@Param("subtaskIds") List<Long> subtaskIds, @Param("startOutHospTime") Date startOutHospTime, @Param("endOutHospTime") Date endOutHospTime, @Param("scoreStart") Double scoreStart, @Param("scoreEnd") Double scoreEnd, @Param("questiontext") String questiontext, @Param("valueType") String valueType); |
| | | |
| | | /** |
| | | * æ ¹æ®ç§å®¤ãç
åºãé¢ç®ç±»åç»è®¡çç§å®¤ãç
åºè¯å |
| | | * @param questionCountKsOrBqVO |
| | | * @return |
| | | */ |
| | | List<QuestionCountKsOrBqDTO> statQuestionOptionByKsOrBq(QuestionCountKsOrBqVO questionCountKsOrBqVO); |
| | | |
| | | } |
| | |
| | | public Map<String, Object> selectServiceSubtaskDetailList(ServiceSubtaskDetail serviceSubtaskDetail); |
| | | |
| | | public List<Map<String, Object>> getServiceSubtaskDetails(ServiceSubtaskDetailVO serviceSubtaskDetailVo); |
| | | |
| | | /** |
| | | * æ°å¢è¯é³ä»»å¡å¼å«æç» |
| | | * |
| | |
| | | |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.DTO.QuestionCountKsOrBqDTO; |
| | | import com.smartor.domain.DTO.QuestionResultDTO; |
| | | import com.smartor.domain.ServiceSubtask; |
| | | import com.smartor.domain.VO.HeLibraryCountVO; |
| | | import com.smartor.domain.VO.QuestionResultVO; |
| | | import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO; |
| | | import com.smartor.domain.VO.TransferDeptVO; |
| | | import com.smartor.domain.VO.*; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | |
| | |
| | | */ |
| | | public List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(List<Long> subtaskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd, String valueType); |
| | | |
| | | public List<QuestionCountKsOrBqDTO> statQuestionOptionByKsOrBq(QuestionCountKsOrBqVO questionCountKsOrBqVO); |
| | | |
| | | public String scanGenerateSubtask(ServiceTask serviceTaskVo); |
| | | |
| | | public Integer matchOptionIndex(String url, String questionText, String voiceText, List<IvrTaskTemplateTargetoption> options, String uuid); |
| | |
| | | import com.smartor.common.MtSubmitSmUtil; |
| | | import com.smartor.common.ScheduleSubtaskBuilder; |
| | | import com.smartor.config.PhoneUtils; |
| | | import com.smartor.domain.DTO.QuestionCountKsOrBqDTO; |
| | | import com.smartor.domain.DTO.QuestionResultDTO; |
| | | import com.smartor.domain.DTO.ServiceSubtaskDetailDTO; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.VO.HeLibraryCountVO; |
| | | import com.smartor.domain.VO.QuestionResultVO; |
| | | import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO; |
| | | import com.smartor.domain.VO.TransferDeptVO; |
| | | import com.smartor.domain.VO.*; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.mapper.*; |
| | | import com.smartor.service.*; |
| | |
| | | //妿ä¸åå¨ï¼åæ°å¢ |
| | | ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); |
| | | if (ObjectUtils.isNotEmpty(serviceTask)) { |
| | | serviceSubtask.setDeptcode(serviceTask.getDeptcode()); |
| | | serviceSubtask.setTaskDesc(serviceTask.getTaskDesc()); |
| | | serviceSubtask.setTaskName(serviceTask.getTaskName()); |
| | | serviceSubtask.setDeptname(serviceTask.getDeptname()); |
| | | serviceSubtask.setTemplatename(serviceTask.getTemplatename()); |
| | | } |
| | | |
| | |
| | | collect = rawData.stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDrcode()).orElse("Unknown"))); |
| | | break; |
| | | case "management_doctor_code": |
| | | rawData = rawData.stream() |
| | | .peek(item -> { |
| | | rawData = rawData.stream().peek(item -> { |
| | | item.setDrname(item.getManagementDoctor()); |
| | | item.setDrcode(item.getManagementDoctorCode()); |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | }).collect(Collectors.toList()); |
| | | collect = rawData.stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getManagementDoctorCode()).orElse("Unknown"))); |
| | | break; |
| | | case "deptcode": |
| | |
| | | // 妿æå¤æ¡ç®æ å¼ï¼æåæå¤è¡ |
| | | for (String value : values) { |
| | | //å
å» result 䏿¥ä¸ä¸ï¼ææ²¡æè¿ä¸ª questiontext å对åºç targetvalue |
| | | ServiceSubtaskDetailRatioExport existingExport = result.stream() |
| | | .filter(e -> e.getQuestiontext().equals(export.getQuestiontext()) |
| | | && value.trim().equals(e.getTargetvalue())) |
| | | .findFirst() |
| | | .orElse(null); |
| | | ServiceSubtaskDetailRatioExport existingExport = result.stream().filter(e -> e.getQuestiontext().equals(export.getQuestiontext()) && value.trim().equals(e.getTargetvalue())).findFirst().orElse(null); |
| | | if (existingExport != null && existingExport.getRatio().equals("0") && existingExport.getCount().equals("0")) { |
| | | //妿åå¨ï¼åå° result éçè¿ä¸ªé®é¢æå¯¹åºç Targetvalue=value è¿æ¡æ°æ®æ´æ°æå½åè¿æ¡æ°æ® |
| | | if(value.equals(export.getOptionresult())) { |
| | |
| | | return result; |
| | | } |
| | | |
| | | /* |
| | | * æ ¹æ®ç§å®¤æç
åºç»è®¡é®å·é项(ç§å®¤ãé¢ç®æ¥è¯¢çç§å®¤è¯å表) |
| | | */ |
| | | @Override |
| | | public List<QuestionCountKsOrBqDTO> statQuestionOptionByKsOrBq(QuestionCountKsOrBqVO questionCountKsOrBqVO) { |
| | | List<QuestionCountKsOrBqDTO> questionCountKsOrBqDTOS = serviceSubtaskMapper.statQuestionOptionByKsOrBq(questionCountKsOrBqVO); |
| | | |
| | | // å¤ç targetvalueï¼æ & å岿夿¡è®°å½ |
| | | List<QuestionCountKsOrBqDTO> result = new ArrayList<>(); |
| | | for (QuestionCountKsOrBqDTO questionCountKsOrBqDTO : questionCountKsOrBqDTOS) { |
| | | if (StringUtils.isNotEmpty(questionCountKsOrBqDTO.getTargetvalue()) && questionCountKsOrBqDTO.getTargetvalue().contains("&")) { |
| | | String[] values = questionCountKsOrBqDTO.getTargetvalue().split("&"); |
| | | // 妿æå¤æ¡ç®æ å¼ï¼æåæå¤è¡ |
| | | for (String value : values) { |
| | | //å
å» result 䏿¥ä¸ä¸ï¼ææ²¡æè¿ä¸ª questiontext å对åºç targetvalue |
| | | QuestionCountKsOrBqDTO existingExport = result.stream().filter(e -> e.getQeustionText().equals(questionCountKsOrBqDTO.getQeustionText()) && value.trim().equals(e.getTargetvalue())).findFirst().orElse(null); |
| | | if (existingExport != null && existingExport.getAnswerCount().equals("0") && existingExport.getSingleScore().equals("0")) { |
| | | //妿åå¨ï¼åå° result éçè¿ä¸ªé®é¢æå¯¹åºç Targetvalue=value è¿æ¡æ°æ®æ´æ°æå½åè¿æ¡æ°æ® |
| | | if (value.equals(questionCountKsOrBqDTO.getAsrtext())) { |
| | | existingExport.setAsrtext(questionCountKsOrBqDTO.getAsrtext()); |
| | | existingExport.setAnswerCount(questionCountKsOrBqDTO.getAnswerCount()); |
| | | existingExport.setSingleScore(questionCountKsOrBqDTO.getSingleScore()); |
| | | existingExport.setAvgScore(questionCountKsOrBqDTO.getAvgScore()); |
| | | } |
| | | } else if (existingExport != null && !existingExport.getAnswerCount().equals("0")) { |
| | | continue; |
| | | } else { |
| | | QuestionCountKsOrBqDTO qcDto = DtoConversionUtils.sourceToTarget(questionCountKsOrBqDTO, QuestionCountKsOrBqDTO.class); |
| | | qcDto.setTargetvalue(value.trim()); // targetvalue æ¾ç¤ºå个é项 |
| | | if (!value.equals(qcDto.getAsrtext())) { |
| | | existingExport.setAsrtext(null); |
| | | existingExport.setAnswerCount("0"); |
| | | existingExport.setSingleScore("0"); |
| | | existingExport.setAvgScore("0"); |
| | | } |
| | | result.add(qcDto); |
| | | } |
| | | } |
| | | } else { |
| | | // targetvalue ä¸å
å« &ï¼ç´æ¥æ·»å å°ç»æ |
| | | result.add(questionCountKsOrBqDTO); |
| | | } |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(List<Long> subtaskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd,String valueType) { |
| | | //å
æ¸
çä¸ä¸é夿°æ® |
| | |
| | | // 妿æå¤æ¡ç®æ å¼ï¼æåæå¤è¡ |
| | | for (String value : values) { |
| | | //å
å» result 䏿¥ä¸ä¸ï¼ææ²¡æè¿ä¸ª questiontext å对åºç targetvalue |
| | | ServiceSubtaskDetailRatioExport existingExport = result.stream() |
| | | .filter(e -> e.getQuestiontext().equals(export.getQuestiontext()) |
| | | && value.trim().equals(e.getTargetvalue())) |
| | | .findFirst() |
| | | .orElse(null); |
| | | ServiceSubtaskDetailRatioExport existingExport = result.stream().filter(e -> e.getQuestiontext().equals(export.getQuestiontext()) && value.trim().equals(e.getTargetvalue())).findFirst().orElse(null); |
| | | if (existingExport != null && existingExport.getRatio().equals("0") && existingExport.getCount().equals("0")) { |
| | | //妿åå¨ï¼åå° result éçè¿ä¸ªé®é¢æå¯¹åºç Targetvalue=value è¿æ¡æ°æ®æ´æ°æå½åè¿æ¡æ°æ® |
| | | if(value.equals(export.getOptionresult())) { |
| | |
| | | <result property="scriptTopic" column="script_topic"/> |
| | | <result property="nextScriptno" column="next_scriptno"/> |
| | | <result property="otherdata" column="otherdata"/> |
| | | <result property="isMust" column="is_must"/> |
| | | <result property="ismandatory" column="ismandatory"/> |
| | | <result property="scriptDesc" column="script_desc"/> |
| | | <result property="scriptType" column="script_type"/> |
| | | <result property="branchFlag" column="branch_flag"/> |
| | |
| | | next_scriptno, |
| | | otherdata, |
| | | score, |
| | | is_must, |
| | | ismandatory, |
| | | playWavOnly, |
| | | del_flag, |
| | | update_by, |
| | |
| | | <if test="guid != null and guid != ''">and guid = #{guid}</if> |
| | | <if test="targetid != null ">and targetid = #{targetid}</if> |
| | | <if test="targetvalue != null and targetvalue != ''">and targetvalue = #{targetvalue}</if> |
| | | <if test="isMust != null and isMust != ''">and is_must = #{isMust}</if> |
| | | <if test="ismandatory != null and ismandatory != ''">and ismandatory = #{ismandatory}</if> |
| | | <if test="scriptType != null">and script_type = #{scriptType}</if> |
| | | <if test="sort != null">and sort = #{sort}</if> |
| | | <if test="score != null">and score = #{score}</if> |
| | |
| | | <if test="scriptTopic != null">script_topic,</if> |
| | | <if test="nextScriptno != null">next_scriptno,</if> |
| | | <if test="otherdata != null">otherdata,</if> |
| | | <if test="isMust != null and isMust != ''">is_must,</if> |
| | | <if test="ismandatory != null and ismandatory != ''">ismandatory,</if> |
| | | <if test="scriptDesc != null ">script_desc,</if> |
| | | <if test="scriptType != null ">script_type,</if> |
| | | <if test="branchFlag != null and branchFlag != ''">branch_flag,</if> |
| | |
| | | <if test="scriptTopic != null">#{scriptTopic},</if> |
| | | <if test="nextScriptno != null">#{nextScriptno},</if> |
| | | <if test="otherdata != null">#{otherdata},</if> |
| | | <if test="isMust != null and isMust != ''">#{isMust},</if> |
| | | <if test="ismandatory != null and ismandatory != ''">#{ismandatory},</if> |
| | | <if test="scriptDesc != null ">#{scriptDesc},</if> |
| | | <if test="scriptType != null ">#{scriptType},</if> |
| | | <if test="branchFlag != null and branchFlag != ''">#{branchFlag},</if> |
| | |
| | | <if test="scriptTopic != null">script_topic = #{scriptTopic},</if> |
| | | <if test="nextScriptno != null">next_scriptno = #{nextScriptno},</if> |
| | | <if test="otherdata != null">otherdata = #{otherdata},</if> |
| | | <if test="isMust != null and isMust != ''">is_must = #{isMust},</if> |
| | | <if test="ismandatory != null and ismandatory != ''">ismandatory = #{ismandatory},</if> |
| | | <if test="scriptDesc != null ">script_desc = #{scriptDesc},</if> |
| | | <if test="scriptType != null ">script_type = #{scriptType},</if> |
| | | <if test="isMydException != null and isMydException != ''">is_myd_exception = #{isMydException},</if> |
| | |
| | | <result property="targetid" column="targetid"/> |
| | | <result property="targetvalue" column="targetvalue"/> |
| | | <result property="otherdata" column="otherdata"/> |
| | | <result property="isMust" column="is_must"/> |
| | | <result property="ismandatory" column="ismandatory"/> |
| | | <result property="questionResult" column="question_result"/> |
| | | <result property="branchFlag" column="branch_flag"/> |
| | | <result property="branchNextscriptno" column="branch_nextscriptno"/> |
| | |
| | | noClearlyText, |
| | | noClearlyVoice, |
| | | script_assortname, |
| | | targetOptions, language, playWavOnly, value_type, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid, targettype, targetid, targetvalue, otherdata, is_must, question_result |
| | | targetOptions, language, playWavOnly, value_type, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid, targettype, targetid, targetvalue, otherdata, ismandatory, question_result |
| | | from ivr_task_template_script |
| | | </sql> |
| | | |
| | |
| | | <if test="targetid != null ">and targetid = #{targetid}</if> |
| | | <if test="targetvalue != null and targetvalue != ''">and targetvalue = #{targetvalue}</if> |
| | | <if test="otherdata != null and otherdata != ''">and otherdata = #{otherdata}</if> |
| | | <if test="isMust != null and isMust != ''">and is_must = #{isMust}</if> |
| | | <if test="ismandatory != null and ismandatory != ''">and ismandatory = #{ismandatory}</if> |
| | | <if test="questionResult != null and questionResult != ''">and question_result = #{questionResult}</if> |
| | | <if test="branchFlag != null and branchFlag != ''">and branch_flag = #{branchFlag}</if> |
| | | <if test="scriptType != null and scriptType != ''">and script_type = #{scriptType}</if> |
| | |
| | | <if test="targetid != null">targetid,</if> |
| | | <if test="targetvalue != null">targetvalue,</if> |
| | | <if test="otherdata != null">otherdata,</if> |
| | | <if test="isMust != null">is_must,</if> |
| | | <if test="ismandatory != null">ismandatory,</if> |
| | | <if test="questionResult != null">question_result,</if> |
| | | <if test="branchFlag != null and branchFlag != ''">branch_flag,</if> |
| | | <if test="branchNextscriptno != null and branchNextscriptno != ''">branch_nextscriptno,</if> |
| | |
| | | <if test="targetid != null">#{targetid},</if> |
| | | <if test="targetvalue != null">#{targetvalue},</if> |
| | | <if test="otherdata != null">#{otherdata},</if> |
| | | <if test="isMust != null">#{isMust},</if> |
| | | <if test="ismandatory != null">#{ismandatory},</if> |
| | | <if test="questionResult != null">#{questionResult},</if> |
| | | <if test="branchFlag != null and branchFlag != ''">#{branchFlag},</if> |
| | | <if test="branchNextscriptno != null and branchNextscriptno != ''">#{branchNextscriptno},</if> |
| | |
| | | <if test="targetid != null">targetid = #{targetid},</if> |
| | | <if test="targetvalue != null">targetvalue = #{targetvalue},</if> |
| | | <if test="otherdata != null">otherdata = #{otherdata},</if> |
| | | <if test="isMust != null">is_must = #{isMust},</if> |
| | | <if test="ismandatory != null">ismandatory = #{ismandatory},</if> |
| | | <if test="questionResult != null">question_result = #{questionResult},</if> |
| | | <if test="branchFlag != null and branchFlag != ''">branch_flag = #{branchFlag},</if> |
| | | <if test="branchNextscriptno != null and branchNextscriptno != ''">branch_nextscriptno = |
| | |
| | | <if test="groupKey != null and groupKey != ''"> |
| | | ss.${groupKey} as groupKey, |
| | | </if> |
| | | SUM(CASE WHEN ss.finishtime IS NOT NULL AND DATE(ss.visit_time) <= DATE(ss.finishtime) THEN 1 ELSE 0 END) / COUNT(*) AS finishRate, |
| | | SUM(CASE WHEN ss.finishtime IS NOT NULL AND DATE(ss.visit_time) <= DATE(ss.finishtime) THEN 1 ELSE 0 END) / |
| | | COUNT(*) AS finishRate, |
| | | <if test="rateDay != null"> |
| | | SUM(CASE WHEN ss.finishtime IS NOT NULL |
| | | AND DATEDIFF(ss.finishtime, ss.endtime) <= #{rateDay} + COALESCE(cp.compensate_days, 0) |
| | |
| | | t.task_name AS taskName, |
| | | d.asrtext AS optionresult, |
| | | d.score AS score, |
| | | s.deptcode AS deptcode, |
| | | s.deptname AS deptname, |
| | | s.leavehospitaldistrictcode AS leavehospitaldistrictcode, |
| | | s.leavehospitaldistrictname AS leavehospitaldistrictname, |
| | | d.targetvalue AS targetvalue, |
| | | d.value_type AS valueType, |
| | | COUNT(*) AS count, |
| | |
| | | <if test="valueType != null">AND d.value_type >= #{valueType}</if> |
| | | <if test="scoreStart != null">AND d.score = #{scoreStart}</if> |
| | | <if test="scoreEnd != null">AND d.score <= #{scoreEnd}</if> |
| | | <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext}, '%')</if> |
| | | <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext}, |
| | | '%') |
| | | </if> |
| | | AND s.sendstate = 6 |
| | | AND d.del_flag=0 |
| | | GROUP BY d.questiontext |
| | |
| | | <if test="valueType != null">AND d.value_type >= #{valueType}</if> |
| | | <if test="scoreStart != null">AND d.score >= #{scoreStart}</if> |
| | | <if test="scoreEnd != null">AND d.score <= #{scoreEnd}</if> |
| | | <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext}, '%')</if> |
| | | <if test="questiontext != null and questiontext != ''">and d.questiontext like concat('%', #{questiontext}, |
| | | '%') |
| | | </if> |
| | | <if test="startOutHospTime != null"> |
| | | AND date_format(s.endtime,'%y%m%d') >= date_format(#{startOutHospTime},'%y%m%d') |
| | | </if> |
| | |
| | | t.taskid |
| | | </select> |
| | | |
| | | <select id="statQuestionOptionByKsOrBq" resultType="com.smartor.domain.DTO.QuestionCountKsOrBqDTO" |
| | | parameterType="com.smartor.domain.VO.QuestionCountKsOrBqVO"> |
| | | SELECT questiontext, |
| | | d.taskid, |
| | | s.deptname, |
| | | s.leavehospitaldistrictname, |
| | | d.targetvalue, |
| | | d.asrtext, |
| | | COUNT(d.asrtext) AS answercount, |
| | | SUM(d.score) AS singleScore |
| | | FROM service_subtask_detail d, |
| | | service_task s |
| | | WHERE d.taskid = s.taskid |
| | | AND deptname IS NOT NULL |
| | | AND leavehospitaldistrictname IS NOT NULL |
| | | <if test="endFinishTime != null"> |
| | | AND create_time < #{endFinishTime} |
| | | </if> |
| | | <if test="startFinishTime != null"> |
| | | AND create_time >= #{startFinishTime} |
| | | </if> |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0"> |
| | | AND leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" |
| | | separator="," |
| | | close=")"> |
| | | #{leavehospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0"> |
| | | AND deptcode IN |
| | | <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator="," |
| | | close=")"> |
| | | #{leaveldeptcode} |
| | | </foreach> |
| | | </if> |
| | | GROUP BY d.questiontext, |
| | | d.taskid, |
| | | d.asrtext |
| | | ORDER BY d.taskid |
| | | </select> |
| | | |
| | | <select id="selectServiceSubtaskListDeadLine" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" |
| | | resultMap="ServiceSubtaskResult"> |
| | | <include refid="selectServiceSubtaskVo"/> |
| | |
| | | <result property="language" column="language"/> |
| | | <result property="categoryName" column="categoryName"/> |
| | | <result property="scriptContent" column="script_content"/> |
| | | <result property="isMust" column="is_must"/> |
| | | <result property="ismandatory" column="ismandatory"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | <result property="updateBy" column="update_by"/> |
| | | <result property="updateTime" column="update_time"/> |
| | |
| | | scriptno, |
| | | templateID, |
| | | scriptid, |
| | | script_topic, language, categoryName, script_content, is_must, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid, value_type, targetoptions, script_type, targetid, targetvalue, next_scriptno, script_result, otherdata, picture_path |
| | | script_topic, language, categoryName, script_content, ismandatory, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pid, guid, value_type, targetoptions, script_type, targetid, targetvalue, next_scriptno, script_result, otherdata, picture_path |
| | | , duty_dept_person_name, duty_dept_person_code, report_dept_person_name, report_dept_person_code |
| | | , circulation_dept_person_code, circulation_dept_person_name |
| | | from svy_task_template_script |
| | |
| | | '%') |
| | | </if> |
| | | <if test="scriptContent != null and scriptContent != ''">and script_content = #{scriptContent}</if> |
| | | <if test="isMust != null and isMust != ''">and is_must = #{isMust}</if> |
| | | <if test="ismandatory != null and ismandatory != ''">and ismandatory = #{ismandatory}</if> |
| | | <if test="isupload != null ">and isupload = #{isupload}</if> |
| | | <if test="uploadTime != null ">and upload_time = #{uploadTime}</if> |
| | | <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if> |
| | |
| | | <if test="language != null">language,</if> |
| | | <if test="categoryName != null">categoryName,</if> |
| | | <if test="scriptContent != null">script_content,</if> |
| | | <if test="isMust != null">is_must,</if> |
| | | <if test="ismandatory != null">ismandatory,</if> |
| | | <if test="delFlag != null">del_flag,</if> |
| | | <if test="updateBy != null">update_by,</if> |
| | | <if test="updateTime != null">update_time,</if> |
| | |
| | | <if test="language != null">#{language},</if> |
| | | <if test="categoryName != null">#{categoryName},</if> |
| | | <if test="scriptContent != null">#{scriptContent},</if> |
| | | <if test="isMust != null">#{isMust},</if> |
| | | <if test="ismandatory != null">#{ismandatory},</if> |
| | | <if test="delFlag != null">#{delFlag},</if> |
| | | <if test="updateBy != null">#{updateBy},</if> |
| | | <if test="updateTime != null">#{updateTime},</if> |
| | |
| | | <if test="language != null">language = #{language},</if> |
| | | <if test="categoryName != null">categoryName = #{categoryName},</if> |
| | | <if test="scriptContent != null">script_content = #{scriptContent},</if> |
| | | <if test="isMust != null">is_must = #{isMust},</if> |
| | | <if test="ismandatory != null">ismandatory = #{ismandatory},</if> |
| | | <if test="delFlag != null">del_flag = #{delFlag},</if> |
| | | <if test="updateBy != null">update_by = #{updateBy},</if> |
| | | <if test="updateTime != null">update_time = #{updateTime},</if> |