From be4f9dc87f5b839895e3c5c0e323d680a33e4820 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 14 九月 2026 11:09:59 +0800
Subject: [PATCH] 1.省立同德新增满意度接口(未开发完) 2.字段修改将isMust修改成ismandatory (是否必填 1必填 2不必填(默认))
---
smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptWjx.java | 2
smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml | 12
smartor/src/main/java/com/smartor/domain/SvyTopic.java | 4
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 91 ++++--
smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml | 12
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java | 9
smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java | 6
smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java | 14
smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScript.java | 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailController.java | 10
smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailService.java | 1
smartor/src/main/java/com/smartor/domain/VO/QuestionResultVO.java | 8
smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java | 2
smartor/src/main/java/com/smartor/domain/SvyTaskScript.java | 4
smartor/src/main/java/com/smartor/domain/SvyLibTemplateScript.java | 4
smartor/src/main/java/com/smartor/domain/VO/QuestionCountKsOrBqVO.java | 73 +++++
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java | 8
smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java | 2
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 347 +++++++++++++++-----------
smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptVO.java | 4
smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java | 6
smartor/src/main/java/com/smartor/domain/DTO/QuestionCountKsOrBqDTO.java | 77 +++++
smartor/src/main/resources/mapper/smartor/SvyTaskTemplateScriptMapper.xml | 12
smartor/src/main/java/com/smartor/domain/SvyTaskScriptoption.java | 4
smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailRatioExport.java | 26 ++
25 files changed, 507 insertions(+), 233 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 1141e12..6204bdb 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,6 +12,7 @@
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;
@@ -221,8 +222,7 @@
// 鎸� 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();
@@ -234,4 +234,10 @@
return success(result);
}
+
+ @ApiOperation("鐪佺珛鍚屽痉婊℃剰搴︽暟鎹粺璁¢�氳繃绉戝鎴栫梾鍖�")
+ @PostMapping("/statQuestionOptionByKsOrBq")
+ public Map<String, Object> statQuestionOptionByKsOrBq(@RequestBody QuestionCountKsOrBqVO questionResultVO) {
+ return success(serviceSubtaskService.statQuestionOptionByKsOrBq(questionResultVO));
+ }
}
diff --git a/smartor/src/main/java/com/smartor/domain/DTO/QuestionCountKsOrBqDTO.java b/smartor/src/main/java/com/smartor/domain/DTO/QuestionCountKsOrBqDTO.java
new file mode 100644
index 0000000..cb497aa
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/DTO/QuestionCountKsOrBqDTO.java
@@ -0,0 +1,77 @@
+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;
+
+}
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
index 47e2ca5..31f78a4 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
@@ -329,9 +329,9 @@
/**
* 鏄惁蹇呭~锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�
*/
- @Excel(name = "鏄惁蹇呭~锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�")
- @ApiModelProperty(value = "鏄惁蹇呭~锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�")
- private String isMust;
+ @Excel(name = "鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿)锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�")
+ @ApiModelProperty(value = "鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿)")
+ private String ismandatory;
/**
* 缁勫埆
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java
index 789d515..59b4950 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java
@@ -357,9 +357,9 @@
/**
* 鏄惁蹇呭~锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�
*/
- @Excel(name = "鏄惁蹇呭~锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�")
- @ApiModelProperty(value = "鏄惁蹇呭~锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�")
- private String isMust;
+ @Excel(name = "鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿)鏄惁蹇呭~锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�")
+ @ApiModelProperty(value = "鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿) 缁欎汉宸ョ敤鐨勶紝AI涓嶇敤閬靛畧锛�")
+ private String ismandatory;
/**
* 闂缁撴灉锛堢粰鈥滃�肩被鍨嬧�濇槸鏂囨湰鎴栬�呮暟鍊肩敤鐨勶級
diff --git a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java
index 1f699af..dcd0eae 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java
@@ -276,7 +276,7 @@
*/
@Excel(name = "鏄惁蹇呭~,1:蹇呭~ 2锛氬彲浠ヤ笉濉� ", readConverterExp = "缁�=浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧")
@ApiModelProperty(value = "鏄惁蹇呭~,1:蹇呭~ 2锛氬彲浠ヤ笉濉� 锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�")
- private String isMust;
+ private String ismandatory;
/**
* 闂缁撴灉锛堢粰鈥滃�肩被鍨嬧�濇槸鏂囨湰鎴栬�呮暟鍊肩敤鐨勶級
diff --git a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java
index cc39114..b8d2389 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java
@@ -320,7 +320,7 @@
*/
@Excel(name = "鏄惁蹇呭~,1:蹇呭~ 2锛氬彲浠ヤ笉濉� ", readConverterExp = "缁�=浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧")
@ApiModelProperty(value = "鏄惁蹇呭~,1:蹇呭~ 2锛氬彲浠ヤ笉濉� 锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�")
- private String isMust;
+ private String ismandatory;
/**
* 闂缁撴灉锛堢粰鈥滃�肩被鍨嬧�濇槸鏂囨湰鎴栬�呮暟鍊肩敤鐨勶級
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailRatioExport.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailRatioExport.java
index aaaf228..87845e4 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailRatioExport.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailRatioExport.java
@@ -50,4 +50,30 @@
@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;
}
diff --git a/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScript.java b/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScript.java
index ed891b3..af2f444 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScript.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScript.java
@@ -96,8 +96,8 @@
/**
* 鏄惁蹇呭~ 0蹇呭~ 1涓嶅繀濉�
*/
- @Excel(name = " 鏄惁蹇呭~ 0蹇呭~ 1涓嶅繀濉�")
- @ApiModelProperty("鏄惁蹇呭~ 0蹇呭~ 1涓嶅繀濉�")
+ @Excel(name = " 鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿)")
+ @ApiModelProperty("鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿)")
private String ismandatory;
/**
diff --git a/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptVO.java b/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptVO.java
index 2bdbe3b..175c700 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptVO.java
@@ -132,8 +132,8 @@
/**
* 鏄惁蹇呭~ 0蹇呭~ 1涓嶅繀濉�
*/
- @Excel(name = " 鏄惁蹇呭~ 0蹇呭~ 1涓嶅繀濉�")
- @ApiModelProperty("鏄惁蹇呭~ 0蹇呭~ 1涓嶅繀濉�")
+ @Excel(name = " 鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿)")
+ @ApiModelProperty("鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿)")
private String ismandatory;
/**
diff --git a/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptWjx.java b/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptWjx.java
index 4f69ffb..b76e6f3 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptWjx.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyLibTemplateScriptWjx.java
@@ -89,7 +89,7 @@
/**
* 鏄惁蹇呭~ 0蹇呭~ 1涓嶅繀濉�
*/
- @ApiModelProperty(value = "鏄惁蹇呭~ 0蹇呭~ 1涓嶅繀濉�")
+ @ApiModelProperty(value = "鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿)")
private String ismandatory;
/**
diff --git a/smartor/src/main/java/com/smartor/domain/SvyTaskScript.java b/smartor/src/main/java/com/smartor/domain/SvyTaskScript.java
index f817668..dcdf6ef 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyTaskScript.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyTaskScript.java
@@ -64,8 +64,8 @@
/**
* 鏄惁蹇呭~
*/
- @Excel(name = " 鏄惁蹇呭~ ")
- @ApiModelProperty(value = "鏄惁蹇呭~")
+ @Excel(name = " 鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿) ")
+ @ApiModelProperty(value = "鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿)")
private Long ismandatory;
/**
diff --git a/smartor/src/main/java/com/smartor/domain/SvyTaskScriptoption.java b/smartor/src/main/java/com/smartor/domain/SvyTaskScriptoption.java
index 9b6fa47..5fe978c 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyTaskScriptoption.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyTaskScriptoption.java
@@ -78,8 +78,8 @@
/**
* 鏄庣粏鏄惁蹇呭~
*/
- @Excel(name = " 鏄庣粏鏄惁蹇呭~ ")
- @ApiModelProperty(value = "鏄庣粏鏄惁蹇呭~")
+ @Excel(name = " 鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿) ")
+ @ApiModelProperty(value = "鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿)")
private Long detailismandatory;
/**
diff --git a/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScript.java b/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScript.java
index 076d5bf..1b2b967 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScript.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScript.java
@@ -104,7 +104,7 @@
* 鏄惁蹇呭~,1:蹇呭~ 2锛氬彲浠ヤ笉濉� 锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�
*/
@ApiModelProperty(value = "鏄惁蹇呭~,1:蹇呭~ 2锛氬彲浠ヤ笉濉� ")
- private String isMust;
+ private String ismandatory;
/**
* 鏄惁瀛樺湪鎿嶄綔锛�1 鏂板 2淇敼 3鍒犻櫎
diff --git a/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java b/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java
index 774b826..061e2e0 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java
@@ -95,14 +95,6 @@
@ApiModelProperty(value = "璇濇湳鍐呭")
private String scriptContent;
-
- /**
- * 鏄惁蹇呭~,1:蹇呭~ 2锛氬彲浠ヤ笉濉� 锛堢粰浜哄伐鐢ㄧ殑锛孉I涓嶇敤閬靛畧锛�
- */
- @ApiModelProperty(value = "鏄惁蹇呭~,1:蹇呭~ 2锛氬彲浠ヤ笉濉� ")
- private String isMust;
-
-
/**
* 鍒犻櫎鏍囪
*/
@@ -311,10 +303,10 @@
private Long categoryid;
/**
- * 鏄惁蹇呭~ 0蹇呭~ 1涓嶅繀濉�
+ * 鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�
*/
- @Excel(name = " 鏄惁蹇呭~ 0蹇呭~ 1涓嶅繀濉�")
- @ApiModelProperty("鏄惁蹇呭~ 0蹇呭~ 1涓嶅繀濉�")
+ @Excel(name = " 鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�")
+ @ApiModelProperty("鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�")
private String ismandatory;
diff --git a/smartor/src/main/java/com/smartor/domain/SvyTopic.java b/smartor/src/main/java/com/smartor/domain/SvyTopic.java
index f8773d1..3630d8a 100644
--- a/smartor/src/main/java/com/smartor/domain/SvyTopic.java
+++ b/smartor/src/main/java/com/smartor/domain/SvyTopic.java
@@ -55,9 +55,9 @@
private Long sort;
/**
- * 鏄惁蹇呭~
+ * 鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿)
*/
- @Excel(name = " 鏄惁蹇呭~ ")
+ @Excel(name = " 鏄惁蹇呭~ 1蹇呭~ 2涓嶅繀濉�(榛樿) ")
private Long ismandatory;
/**
diff --git a/smartor/src/main/java/com/smartor/domain/VO/QuestionCountKsOrBqVO.java b/smartor/src/main/java/com/smartor/domain/VO/QuestionCountKsOrBqVO.java
new file mode 100644
index 0000000..c59a800
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/VO/QuestionCountKsOrBqVO.java
@@ -0,0 +1,73 @@
+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;
+
+ /**
+ * 绉戝涓庣梾鍖虹殑鏌ヨ鏄痮r杩樻槸and: 1:and(榛樿)(绂婚櫌鐥呭尯涓庣闄㈢瀹ょ粍鍚�) 2:or(绂婚櫌鐥呭尯涓庣闄㈢瀹ょ粍鍚�) 3:and(绂婚櫌鐥呭尯涓庨殢璁跨瀹ょ粍鍚�) 4:or(绂婚櫌鐥呭尯涓庨殢璁跨瀹ょ粍鍚�)
+ */
+ @ApiModelProperty(value = "绉戝涓庣梾鍖虹殑鏌ヨ鏄痮r杩樻槸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;
+}
diff --git a/smartor/src/main/java/com/smartor/domain/VO/QuestionResultVO.java b/smartor/src/main/java/com/smartor/domain/VO/QuestionResultVO.java
index bd82a67..fb22abe 100644
--- a/smartor/src/main/java/com/smartor/domain/VO/QuestionResultVO.java
+++ b/smartor/src/main/java/com/smartor/domain/VO/QuestionResultVO.java
@@ -41,6 +41,13 @@
@ApiModelProperty(value = "鍑洪櫌鐥呭尯闆嗗悎(蹇呭~)")
private List<String> leavehospitaldistrictcodes;
+ /**
+ * 閮ㄩ棬code
+ */
+ @Excel(name = " 閮ㄩ棬code")
+ @ApiModelProperty(value = "閮ㄩ棬code闆嗗悎")
+ private List<String> leaveldeptcodes;
+
/**
* 涓婚敭id闆嗗悎
@@ -64,7 +71,6 @@
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "缁撴潫鍑洪櫌鏃ユ湡")
private Date endOutHospTime;
-
/**
* 闂鍐呭
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
index 3ea8b6c..7c54fe0 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -1,8 +1,10 @@
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;
@@ -274,4 +276,11 @@
*/
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);
+
}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailService.java
index 0323b0d..c917f84 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailService.java
@@ -31,6 +31,7 @@
public Map<String, Object> selectServiceSubtaskDetailList(ServiceSubtaskDetail serviceSubtaskDetail);
public List<Map<String, Object>> getServiceSubtaskDetails(ServiceSubtaskDetailVO serviceSubtaskDetailVo);
+
/**
* 鏂板璇煶浠诲姟鍛煎彨鏄庣粏
*
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
index d1d22e1..61ebaaf 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -2,12 +2,10 @@
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;
@@ -236,6 +234,8 @@
*/
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);
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 ad85650..fb0add6 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -22,13 +22,11 @@
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.*;
@@ -672,10 +670,8 @@
//濡傛灉涓嶅瓨鍦紝鍒欐柊澧�
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());
}
@@ -2923,12 +2919,10 @@
collect = rawData.stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDrcode()).orElse("Unknown")));
break;
case "management_doctor_code":
- rawData = rawData.stream()
- .peek(item -> {
- item.setDrname(item.getManagementDoctor());
- item.setDrcode(item.getManagementDoctorCode());
- })
- .collect(Collectors.toList());
+ rawData = rawData.stream().peek(item -> {
+ item.setDrname(item.getManagementDoctor());
+ item.setDrcode(item.getManagementDoctorCode());
+ }).collect(Collectors.toList());
collect = rawData.stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getManagementDoctorCode()).orElse("Unknown")));
break;
case "deptcode":
@@ -5012,7 +5006,7 @@
}
@Override
- public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd,String valueType) {
+ public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd, String valueType) {
//鍏堟竻鐞嗕竴涓嬮噸澶嶆暟鎹�
List<Long> repeatIds = serviceSubtaskDetailMapper.selectRepeatDetailIds();
if (!CollectionUtils.isEmpty(repeatIds)) {
@@ -5028,14 +5022,10 @@
// 濡傛灉鏈夊鏉$洰鏍囧�硷紝鎷嗗垎鎴愬琛�
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())) {
+ if (value.equals(export.getOptionresult())) {
existingExport.setRatio(export.getRatio());
existingExport.setScore(export.getScore());
existingExport.setCount(export.getCount());
@@ -5063,15 +5053,62 @@
return result;
}
+ /*
+ * 鏍规嵁绉戝鎴栫梾鍖虹粺璁¢棶鍗烽�夐」(绉戝銆侀鐩煡璇㈢殑绉戝璇勫垎琛�)
+ */
@Override
- 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) {
+ 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) {
//鍏堟竻鐞嗕竴涓嬮噸澶嶆暟鎹�
List<Long> repeatIds = serviceSubtaskDetailMapper.selectRepeatDetailIds();
if (!CollectionUtils.isEmpty(repeatIds)) {
serviceSubtaskDetailMapper.deleteRepeatDetailByIds(repeatIds);
}
- List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = serviceSubtaskMapper.statQuestionOptionBySubtaskIds(subtaskIds, startOutHospTime, endOutHospTime, scoreStart, scoreEnd, scriptContent,valueType);
+ List<ServiceSubtaskDetailRatioExport> serviceSubtaskDetailRatioExports = serviceSubtaskMapper.statQuestionOptionBySubtaskIds(subtaskIds, startOutHospTime, endOutHospTime, scoreStart, scoreEnd, scriptContent, valueType);
// 澶勭悊 targetvalue锛氭寜 & 鍒嗗壊鎴愬鏉¤褰�
List<ServiceSubtaskDetailRatioExport> result = new ArrayList<>();
for (ServiceSubtaskDetailRatioExport export : serviceSubtaskDetailRatioExports) {
@@ -5080,14 +5117,10 @@
// 濡傛灉鏈夊鏉$洰鏍囧�硷紝鎷嗗垎鎴愬琛�
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())) {
+ if (value.equals(export.getOptionresult())) {
existingExport.setRatio(export.getRatio());
existingExport.setScore(export.getScore());
existingExport.setCount(export.getCount());
@@ -5813,11 +5846,11 @@
if (StringUtils.isNotEmpty(questionResultVO.getServiceType()) && questionResultVO.getServiceType().equals("2")) {
//鑾峰彇serviceSubtaskList涓殑鎵�鏈塼askid
List<Long> taskIds = serviceSubtaskRes.stream().map(ServiceSubtaskRes::getTaskid).filter(ObjectUtils::isNotEmpty).distinct().collect(Collectors.toList());
- serviceSubtaskDetailRatioExports = statQuestionOption(taskIds, questionResultVO.getStartOutHospTime(), questionResultVO.getEndOutHospTime(), questionResultVO.getQuestionContent(), questionResultVO.getStartScore(), questionResultVO.getEndScore(),questionResultVO.getValueType());
+ serviceSubtaskDetailRatioExports = statQuestionOption(taskIds, questionResultVO.getStartOutHospTime(), questionResultVO.getEndOutHospTime(), questionResultVO.getQuestionContent(), questionResultVO.getStartScore(), questionResultVO.getEndScore(), questionResultVO.getValueType());
} else if (StringUtils.isNotEmpty(questionResultVO.getServiceType()) && questionResultVO.getServiceType().equals("6")) {
//婊℃剰搴︾粺璁� 锛堥�氳繃 subtask 鐨� id 鍘荤粺璁★級
List<Long> subtaskIds = serviceSubtaskRes.stream().map(ServiceSubtaskRes::getId).collect(Collectors.toList());
- serviceSubtaskDetailRatioExports = statQuestionOptionBySubtaskIds(subtaskIds, questionResultVO.getStartOutHospTime(), questionResultVO.getEndOutHospTime(), questionResultVO.getQuestionContent(), questionResultVO.getStartScore(), questionResultVO.getEndScore(),questionResultVO.getValueType());
+ serviceSubtaskDetailRatioExports = statQuestionOptionBySubtaskIds(subtaskIds, questionResultVO.getStartOutHospTime(), questionResultVO.getEndOutHospTime(), questionResultVO.getQuestionContent(), questionResultVO.getStartScore(), questionResultVO.getEndScore(), questionResultVO.getValueType());
}
return serviceSubtaskDetailRatioExports;
}
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
index 935c7f2..f7d7118 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
@@ -40,7 +40,7 @@
<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"/>
@@ -107,7 +107,7 @@
next_scriptno,
otherdata,
score,
- is_must,
+ ismandatory,
playWavOnly,
del_flag,
update_by,
@@ -181,7 +181,7 @@
<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>
@@ -273,7 +273,7 @@
<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>
@@ -329,7 +329,7 @@
<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>
@@ -394,7 +394,7 @@
<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>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml
index 1daca12..bd05dd2 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml
@@ -36,7 +36,7 @@
<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"/>
@@ -99,7 +99,7 @@
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>
@@ -157,7 +157,7 @@
<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>
@@ -231,7 +231,7 @@
<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>
@@ -287,7 +287,7 @@
<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>
@@ -347,7 +347,7 @@
<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 =
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 31c1134..c48146a 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -752,7 +752,8 @@
<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)
@@ -1793,132 +1794,132 @@
<select id="getSfStatisticsHyperlink" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
resultMap="ServiceSubtaskResult">
- select id,
- visit_count,
- is_visit_again,
- type,
- orgid,
- drcode,
- drname,
- leavehospitaldistrictcode,
- leavehospitaldistrictname,
- deptcode,
- deptname,
- sendstate,
- preachform,
- current_preachform,
- excep,
- nurse_id,
- nurse_name,
- taskid,
- task_name,
- visit_time,
- finishtime,
- endtime,
- senddate,
- suggest,
- result,
- templateid,
- templatename,
- patid,
- sendname,
- send_type,
- recordid,
- exrecallcount,
- continue_flag,
- continue_time_now,
- continue_content,
- continue_count,
- continue_time_next,
- task_situation,
- remark
- from service_subtask
- where 1=1
- and del_flag = 0
- <if test="orgid != null and orgid != ''">
- and orgid = #{orgid}
+ select id,
+ visit_count,
+ is_visit_again,
+ type,
+ orgid,
+ drcode,
+ drname,
+ leavehospitaldistrictcode,
+ leavehospitaldistrictname,
+ deptcode,
+ deptname,
+ sendstate,
+ preachform,
+ current_preachform,
+ excep,
+ nurse_id,
+ nurse_name,
+ taskid,
+ task_name,
+ visit_time,
+ finishtime,
+ endtime,
+ senddate,
+ suggest,
+ result,
+ templateid,
+ templatename,
+ patid,
+ sendname,
+ send_type,
+ recordid,
+ exrecallcount,
+ continue_flag,
+ continue_time_now,
+ continue_content,
+ continue_count,
+ continue_time_next,
+ task_situation,
+ remark
+ from service_subtask
+ where 1=1
+ and del_flag = 0
+ <if test="orgid != null and orgid != ''">
+ and orgid = #{orgid}
+ </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="deptcodes != null and deptcodes.size() > 0">
+ AND deptcode IN
+ <foreach collection="deptcodes" item="deptcode" open="(" separator=","
+ close=")">
+ #{deptcode}
+ </foreach>
+ </if>
+ <if test="serviceType != null and serviceType.size() > 0">
+ AND service_type IN
+ <foreach collection="serviceType" item="serviceType" open="(" separator=","
+ close=")">
+ #{serviceType}
+ </foreach>
+ </if>
+ <if test="startTime != null and endTime!=null">
+ AND visit_time >= DATE(#{startTime})
+ AND visit_time < DATE_ADD(DATE(#{endTime}), INTERVAL 1 DAY)
+ </if>
+ <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
+ <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
+ <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
+ <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
+ <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow,jdbcType=TIMESTAMP}</if>
+ <if test="continueCount != null ">and continue_count = #{continueCount}</if>
+ <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext,jdbcType=TIMESTAMP}</if>
+ <!-- 鐩墠鍙粺璁¤闊冲拰闂嵎 -->
+ <if test="type != null">
+ and type = #{type}
+ </if>
+ <if test="visitCount != null and visitCount == 1">
+ AND visit_count = 1
+ </if>
+ <if test="visitCount != null and visitCount > 1">
+ AND visit_count > 1
+ </if>
+ <if test="groupKey != null and groupKey != '' and groupKeyList != null and groupKeyList.size>0">
+ AND ${groupKey} IN
+ <foreach collection="groupKeyList" item="key" open="(" separator=","
+ close=")">
+ #{key}
+ </foreach>
+ </if>
+ AND sendstate IS NOT NULL
+ <if test="sendstates != null and sendstates.size() > 0">
+ AND sendstate IN
+ <foreach collection="sendstates" item="state" open="(" separator="," close=")">
+ #{state}
+ </foreach>
+ </if>
+ <if test="currentPreachform != null">
+ AND current_preachform = #{currentPreachform}
+ <if test="followUpCountStyle != null and followUpCountStyle = '1'">
+ AND sendstate != 4
</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="deptcodes != null and deptcodes.size() > 0">
- AND deptcode IN
- <foreach collection="deptcodes" item="deptcode" open="(" separator=","
- close=")">
- #{deptcode}
- </foreach>
- </if>
- <if test="serviceType != null and serviceType.size() > 0">
- AND service_type IN
- <foreach collection="serviceType" item="serviceType" open="(" separator=","
- close=")">
- #{serviceType}
- </foreach>
- </if>
- <if test="startTime != null and endTime!=null">
- AND visit_time >= DATE(#{startTime})
- AND visit_time < DATE_ADD(DATE(#{endTime}), INTERVAL 1 DAY)
- </if>
- <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
- <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
- <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
- <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
- <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow,jdbcType=TIMESTAMP}</if>
- <if test="continueCount != null ">and continue_count = #{continueCount}</if>
- <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext,jdbcType=TIMESTAMP}</if>
- <!-- 鐩墠鍙粺璁¤闊冲拰闂嵎 -->
- <if test="type != null">
- and type = #{type}
- </if>
- <if test="visitCount != null and visitCount == 1">
- AND visit_count = 1
- </if>
- <if test="visitCount != null and visitCount > 1">
- AND visit_count > 1
- </if>
- <if test="groupKey != null and groupKey != '' and groupKeyList != null and groupKeyList.size>0">
- AND ${groupKey} IN
- <foreach collection="groupKeyList" item="key" open="(" separator=","
- close=")">
- #{key}
- </foreach>
- </if>
- AND sendstate IS NOT NULL
- <if test="sendstates != null and sendstates.size() > 0">
- AND sendstate IN
- <foreach collection="sendstates" item="state" open="(" separator="," close=")">
- #{state}
- </foreach>
- </if>
- <if test="currentPreachform != null">
- AND current_preachform = #{currentPreachform}
- <if test="followUpCountStyle != null and followUpCountStyle = '1'">
- AND sendstate != 4
- </if>
- </if>
- <if test="excep != null and excep != ''">
- AND excep = #{excep}
- </if>
- <if test="taskSituation != null">
- AND task_situation = #{taskSituation}
- </if>
- <if test="drcode != null and drcode != ''">
- AND drcode = #{drcode}
- </if>
- <if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''">
- AND leavehospitaldistrictcode = #{leavehospitaldistrictcode}
- </if>
- <if test="deptcode != null and deptcode != ''">
- AND deptcode = #{deptcode}
- </if>
- order by endtime desc
- <if test="pageSize != null and pageNum != null">
- limit ${pageSize} OFFSET ${pageNum}
- </if>
+ </if>
+ <if test="excep != null and excep != ''">
+ AND excep = #{excep}
+ </if>
+ <if test="taskSituation != null">
+ AND task_situation = #{taskSituation}
+ </if>
+ <if test="drcode != null and drcode != ''">
+ AND drcode = #{drcode}
+ </if>
+ <if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''">
+ AND leavehospitaldistrictcode = #{leavehospitaldistrictcode}
+ </if>
+ <if test="deptcode != null and deptcode != ''">
+ AND deptcode = #{deptcode}
+ </if>
+ order by endtime desc
+ <if test="pageSize != null and pageNum != null">
+ limit ${pageSize} OFFSET ${pageNum}
+ </if>
</select>
<select id="getSfStatisticsJoy" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
@@ -2966,8 +2967,8 @@
<select id="selectByScheduleIdAndLoop" resultMap="ServiceSubtaskResult">
<include refid="selectServiceSubtaskVo"/>
where schedule_id = #{scheduleId}
- and loop_count = #{loopCount}
- and (del_flag is null or del_flag = '0')
+ and loop_count = #{loopCount}
+ and (del_flag is null or del_flag = '0')
order by schedule_seq asc, id asc
</select>
@@ -3134,6 +3135,10 @@
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,
@@ -3144,43 +3149,47 @@
INNER JOIN service_subtask_detail d ON d.sub_id = s.id
INNER JOIN (
SELECT
- d.questiontext,
- COUNT(*) AS total_count
+ d.questiontext,
+ COUNT(*) AS total_count
FROM
- service_task t
- INNER JOIN service_subtask s ON s.taskid = t.taskid
- INNER JOIN service_subtask_detail d ON d.sub_id = s.id
- WHERE 1=1
- <if test="subtaskIds != null and subtaskIds.size() > 0">
+ service_task t
+ INNER JOIN service_subtask s ON s.taskid = t.taskid
+ INNER JOIN service_subtask_detail d ON d.sub_id = s.id
+ WHERE 1=1
+ <if test="subtaskIds != null and subtaskIds.size() > 0">
AND s.id IN
<foreach collection="subtaskIds" item="subtaskId" open="(" separator="," close=")">
#{subtaskId}
</foreach>
- </if>
+ </if>
<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>
- AND s.sendstate = 6
- AND d.del_flag=0
- GROUP BY d.questiontext
+ <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
) t2 ON t2.questiontext = d.questiontext
WHERE 1=1
<if test="subtaskIds != null and subtaskIds.size() > 0">
- AND s.id IN
- <foreach collection="subtaskIds" item="subtaskId" open="(" separator="," close=")">
- #{subtaskId}
- </foreach>
+ AND s.id IN
+ <foreach collection="subtaskIds" item="subtaskId" open="(" separator="," close=")">
+ #{subtaskId}
+ </foreach>
</if>
AND s.sendstate = 6
AND d.del_flag=0
<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="startOutHospTime != null">
- AND date_format(s.endtime,'%y%m%d') >= date_format(#{startOutHospTime},'%y%m%d')
- </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>
<if test="endOutHospTime != null">
AND date_format(s.endtime,'%y%m%d') <= date_format(#{endOutHospTime},'%y%m%d')
</if>
@@ -3195,6 +3204,48 @@
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"/>
diff --git a/smartor/src/main/resources/mapper/smartor/SvyTaskTemplateScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/SvyTaskTemplateScriptMapper.xml
index cdfa059..6cfd428 100644
--- a/smartor/src/main/resources/mapper/smartor/SvyTaskTemplateScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SvyTaskTemplateScriptMapper.xml
@@ -15,7 +15,7 @@
<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"/>
@@ -82,7 +82,7 @@
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
@@ -118,7 +118,7 @@
'%')
</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>
@@ -180,7 +180,7 @@
<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>
@@ -233,7 +233,7 @@
<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>
@@ -290,7 +290,7 @@
<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>
--
Gitblit v1.9.3