Browse Source

满意度调查优化

lighter 1 year ago
parent
commit
4a33f58513

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>web-server</artifactId>
-    <version>12.2.4</version>
+    <version>12.3.2</version>
     <name>web-server</name>
     <description>server for yibao-web</description>
     <properties>

+ 15 - 2
src/main/java/thyyxxk/webserver/entity/outpatient/interactive/clinicsatisfied/response/SatisfiedBody.java

@@ -16,6 +16,7 @@ public class SatisfiedBody {
     //(门诊)1-2、您对药剂科工作人员哪些服务不满意?
     //(住院)1-2、您对住院科室护理人员哪些服务不满意?
     private String item2;
+    private String item2Input;
 
     //(门诊)2-1、您对放射科工作人员服务满意吗?
     //(住院)2-1、您对住院科室医生服务满意吗?
@@ -23,6 +24,7 @@ public class SatisfiedBody {
     //(门诊)2-2、您对放射科工作人员哪些服务不满意?
     //(住院)2-2、您对住院科室医生哪些服务不满意?
     private String item4;
+    private String item4Input;
 
     //(门诊)3-1、您对超声影像科工作人员服务满意吗?
     //(住院)3-1、您对医院环境卫生满意吗?
@@ -30,13 +32,15 @@ public class SatisfiedBody {
     //(门诊)3-2、您对超声影像科工作人员哪些服务不满意?
     //(住院)3-2、您对医院环境卫生哪些项目不满意?
     private String item6;
+    private String item6Input;
 
     //(门诊)4-1、您对检验科工作人员服务满意吗?
     //(住院)4-1、您对医院食堂满意吗?
     private String item7;
     //(门诊)4-2、您对检验科工作人员哪些服务不满意?
-    //(住院)4-2、您对医院环境卫生哪些项目不满意?
+    //(住院)4-2、您对医院食堂哪些项目不满意?
     private String item8;
+    private String item8Input;
 
     //(门诊)5-1、您对收费窗口工作人员服务满意吗?
     //(住院)5-1、您对药剂科工作人员服务满意吗?
@@ -44,6 +48,7 @@ public class SatisfiedBody {
     //(门诊)5-2、您对收费窗口工作人员哪些服务不满意?
     //(住院)5-2、您对药剂科工作人员哪些服务不满意?
     private String item10;
+    private String item10Input;
 
     //(门诊)6-1、您对门急诊导诊及护理人员服务满意吗?
     //(住院)6-1、您对放射科工作人员服务满意吗?
@@ -51,6 +56,7 @@ public class SatisfiedBody {
     //(门诊)6-2、您对门急诊导诊及护理人员哪些服务不满意?
     //(住院)6-2、您对放射科工作人员哪些服务不满意?
     private String item12;
+    private String item12Input;
 
     //(门诊)7-1、您对门急诊医生服务满意吗?
     //(住院)7-1、您对超声影像科工作人员服务满意吗?
@@ -58,7 +64,7 @@ public class SatisfiedBody {
     //(门诊)7-2、您对门急诊医生哪些服务不满意?
     //(住院)7-2、您对超声影像科工作人员哪些服务不满意?
     private String item14;
-
+    private String item14Input;
 
     //(门诊)8-1、您对医保科工作人员服务满意吗?
     //(住院)4-1、您对检验科工作人员服务满意吗?
@@ -66,29 +72,35 @@ public class SatisfiedBody {
     //(门诊)8-2、您对医保科工作人员服务不满意的原因是?
     //(住院)4-2、您对检验科工作人员哪些服务不满意?
     private String item16;
+    private String item16Input;
 
     //(住院)9-1、您对收费窗口工作人员服务满意吗?
     private String item17;
     //(住院)9-2、您对收费窗口工作人员哪些服务不满意?
     private String item18;
+    private String item18Input;
 
     //(住院)10-1、您对门诊医护人员服务满意吗?
     private String item19;
     //(住院)10-2、您对门诊医护人员哪些服务不满意?
     private String item20;
+    private String item20Input;
 
     //(住院)11-1、您对急诊医护人员服务满意吗?
     private String item21;
     //(住院)11-2、您对急诊医护人员哪些服务不满意?
     private String item22;
+    private String item22Input;
 
     //(住院)12-1、您对医保科工作人员服务满意吗?
     private String item23;
     //(住院)12-2、您对医保科工作人员服务不满意的原因是?
     private String item24;
+    private String item24Input;
 
     // (所有)您选择我院的主要原因是什么?
     private String item1002;
+    private String item1002Input;
     // (所有)如果您或亲朋好友需要医疗保健、治疗服务时,您会选择再来或推荐来吗?
     private String item1004;
     // (所有)请您对本次就诊的医疗服务全过程给予整体评价(1-10分)
@@ -100,6 +112,7 @@ public class SatisfiedBody {
 
     // (门诊)急诊标志(1-是,0-否)
     private Integer jzFlag;
+    private String jzFlagLabel;
 
     private Integer deleted;
     private Date createDatetime;

+ 35 - 29
src/main/java/thyyxxk/webserver/service/outpatient/interactive/clinicsatisfied/ClinicSatisfiedService.java

@@ -129,38 +129,39 @@ public class ClinicSatisfiedService {
     private void analyzeAssessmentItems(VisitType visitType, List<SatisfiedBody> list) {
         if (visitType == VisitType.OUTPATIENT) {
             list.forEach(item -> {
-                item.setItem1(combineAnswerAndOptions(item.getItem1(), item.getItem2(), 0));
-                item.setItem3(combineAnswerAndOptions(item.getItem3(), item.getItem4(), 0));
-                item.setItem5(combineAnswerAndOptions(item.getItem5(), item.getItem6(), 0));
-                item.setItem7(combineAnswerAndOptions(item.getItem7(), item.getItem8(), 0));
-                item.setItem9(combineAnswerAndOptions(item.getItem9(), item.getItem10(), 0));
-                item.setItem11(combineAnswerAndOptions(item.getItem11(), item.getItem12(), 6));
-                item.setItem13(combineAnswerAndOptions(item.getItem13(), item.getItem14(), 1));
-                item.setItem15(combineAnswerAndOptions(item.getItem15(), item.getItem16(), 9));
-                item.setItem1002(analyzedCheckboxOptions(item.getItem1002(), 7));
-                item.setItem1004(analyzedCheckboxOptions(item.getItem1004(), 8));
+                item.setItem1(combineAnswerAndOptions(item.getItem1(), item.getItem2(), 0, item.getItem2Input()));
+                item.setItem3(combineAnswerAndOptions(item.getItem3(), item.getItem4(), 0, item.getItem4Input()));
+                item.setItem5(combineAnswerAndOptions(item.getItem5(), item.getItem6(), 0, item.getItem6Input()));
+                item.setItem7(combineAnswerAndOptions(item.getItem7(), item.getItem8(), 0, item.getItem8Input()));
+                item.setItem9(combineAnswerAndOptions(item.getItem9(), item.getItem10(), 0, item.getItem10Input()));
+                item.setItem11(combineAnswerAndOptions(item.getItem11(), item.getItem12(), 6, item.getItem12Input()));
+                item.setItem13(combineAnswerAndOptions(item.getItem13(), item.getItem14(), 1, item.getItem14Input()));
+                item.setItem15(combineAnswerAndOptions(item.getItem15(), item.getItem16(), 9, item.getItem16Input()));
+                item.setItem1002(analyzedCheckboxOptions(item.getItem1002(), 7, item.getItem1002Input()));
+                item.setItem1004(analyzedCheckboxOptions(item.getItem1004(), 8, null));
+                item.setJzFlagLabel(1 == item.getJzFlag() ? "急诊" : "门诊");
             });
         } else {
             list.forEach(item -> {
-                item.setItem1(combineAnswerAndOptions(item.getItem1(), item.getItem2(), 2));
-                item.setItem3(combineAnswerAndOptions(item.getItem3(), item.getItem4(), 3));
-                item.setItem5(combineAnswerAndOptions(item.getItem5(), item.getItem6(), 4));
-                item.setItem7(combineAnswerAndOptions(item.getItem7(), item.getItem8(), 5));
-                item.setItem9(combineAnswerAndOptions(item.getItem9(), item.getItem10(), 3));
-                item.setItem11(combineAnswerAndOptions(item.getItem11(), item.getItem12(), 3));
-                item.setItem13(combineAnswerAndOptions(item.getItem13(), item.getItem14(), 0));
-                item.setItem15(combineAnswerAndOptions(item.getItem15(), item.getItem16(), 0));
-                item.setItem17(combineAnswerAndOptions(item.getItem17(), item.getItem18(), 0));
-                item.setItem19(combineAnswerAndOptions(item.getItem19(), item.getItem20(), 0));
-                item.setItem21(combineAnswerAndOptions(item.getItem21(), item.getItem22(), 0));
-                item.setItem23(combineAnswerAndOptions(item.getItem23(), item.getItem24(), 9));
-                item.setItem1002(analyzedCheckboxOptions(item.getItem1002(), 7));
-                item.setItem1004(analyzedCheckboxOptions(item.getItem1004(), 8));
+                item.setItem1(combineAnswerAndOptions(item.getItem1(), item.getItem2(), 2, item.getItem2Input()));
+                item.setItem3(combineAnswerAndOptions(item.getItem3(), item.getItem4(), 3, item.getItem4Input()));
+                item.setItem5(combineAnswerAndOptions(item.getItem5(), item.getItem6(), 4, item.getItem6Input()));
+                item.setItem7(combineAnswerAndOptions(item.getItem7(), item.getItem8(), 5, item.getItem8Input()));
+                item.setItem9(combineAnswerAndOptions(item.getItem9(), item.getItem10(), 3, item.getItem10Input()));
+                item.setItem11(combineAnswerAndOptions(item.getItem11(), item.getItem12(), 3, item.getItem12Input()));
+                item.setItem13(combineAnswerAndOptions(item.getItem13(), item.getItem14(), 0, item.getItem14Input()));
+                item.setItem15(combineAnswerAndOptions(item.getItem15(), item.getItem16(), 0, item.getItem16Input()));
+                item.setItem17(combineAnswerAndOptions(item.getItem17(), item.getItem18(), 0, item.getItem18Input()));
+                item.setItem19(combineAnswerAndOptions(item.getItem19(), item.getItem20(), 0, item.getItem20Input()));
+                item.setItem21(combineAnswerAndOptions(item.getItem21(), item.getItem22(), 0, item.getItem22Input()));
+                item.setItem23(combineAnswerAndOptions(item.getItem23(), item.getItem24(), 9, item.getItem24Input()));
+                item.setItem1002(analyzedCheckboxOptions(item.getItem1002(), 7, item.getItem1002Input()));
+                item.setItem1004(analyzedCheckboxOptions(item.getItem1004(), 8, null));
             });
         }
     }
 
-    private String combineAnswerAndOptions(String answer, String options, int optionIndex) {
+    private String combineAnswerAndOptions(String answer, String options, int optionIndex, String input) {
         if (StringUtil.isBlank(answer)) {
             return "";
         }
@@ -168,12 +169,17 @@ public class ClinicSatisfiedService {
         if (!answer.equals("B")) {
             return transferredAnswer;
         }
-        return transferredAnswer + analyzedCheckboxOptions(options, optionIndex);
+        return transferredAnswer + analyzedCheckboxOptions(options, optionIndex, input);
     }
 
-    private String analyzedCheckboxOptions(String checkboxString, int optionIndex) {
+    private String analyzedCheckboxOptions(String checkboxString, int optionIndex, String input) {
+        if (StringUtil.isBlank(input)) {
+            input = "";
+        } else {
+            input = "【" + input + "】";
+        }
         if (StringUtil.isBlank(checkboxString)) {
-            return "";
+            return input;
         }
         JSONObject options = checkboxOptions.getJSONObject(optionIndex);
         String[] arr = checkboxString.split("\\^");
@@ -186,7 +192,7 @@ public class ClinicSatisfiedService {
             builder.append(val).append(";");
         }
         builder.append(options.getString(arr[arr.length - 1])).append("。");
-        return builder.toString();
+        return builder + input;
     }
 
     public ResultVo<String> updateAssessmentStatus(ModifyStatus modifyStatus) {