Browse Source

修复问卷分析数据不对的问题

lighter 2 years ago
parent
commit
e63ba1e499

+ 5 - 3
src/main/java/thyyxxk/webserver/dao/his/outpatient/interactive/clinicsatisfied/ClinicSatisfiedDao.java

@@ -29,7 +29,9 @@ public interface ClinicSatisfiedDao {
     @Select("select * from t_clinic_satisfied_assessment ${ew.customSqlSegment} order by id")
     List<ClinicSatisfiedBody> selectAllClinicSatisfiedBodies(@Param(Constants.WRAPPER) QueryWrapper<?> queryWrapper);
 
-    @Select("select count(1) from t_clinic_satisfied_assessment where " +
-            "(item1='B' or item3='B' or item5='B' or item7='B' or item9='B' or item11='B' or item13='B')")
-    int selectUnsatisfiedCount();
+    @Select("select count(1) from t_clinic_satisfied_assessment ${ew.customSqlSegment} ")
+    int selectAllClinicSatisfiedCount(@Param(Constants.WRAPPER) QueryWrapper<?> queryWrapper);
+
+    @Select("select * from t_clinic_satisfied_assessment ${ew.customSqlSegment}")
+    List<ClinicSatisfiedBody> selectUnsatisfiedCount(@Param(Constants.WRAPPER) QueryWrapper<?> queryWrapper);
 }

+ 7 - 3
src/main/java/thyyxxk/webserver/service/outpatient/interactive/clinicsatisfied/ClinicSatisfiedService.java

@@ -137,10 +137,14 @@ public class ClinicSatisfiedService {
 
     public ResultVo<AnalyzeResult> assessmentsAnalyse(ClinicSatisfiedInquiry inquiry) {
         QueryWrapper<?> wrapper = makeQueryWrapper(inquiry);
-        List<ClinicSatisfiedBody> list = dao.selectAllClinicSatisfiedBodies(wrapper);
         AnalyzeResult result = new AnalyzeResult();
-        result.setTotalAssessmentsCount(list.size());
-        result.setTotalUnsatisfiedCount(dao.selectUnsatisfiedCount());
+        result.setTotalAssessmentsCount(dao.selectAllClinicSatisfiedCount(wrapper));
+        if (!inquiry.getOnlyShowUnsatisfied()) {
+            inquiry.setOnlyShowUnsatisfied(true);
+            wrapper = makeQueryWrapper(inquiry);
+        }
+        List<ClinicSatisfiedBody> list = dao.selectUnsatisfiedCount(wrapper);
+        result.setTotalUnsatisfiedCount(list.size());
         result.setTotalUnsatisfiedPercentage(makePercentage(result.getTotalUnsatisfiedCount(),result.getTotalAssessmentsCount()));
         int yjkUnsatisfiedCount = 0;
         int fskUnsatisfiedCount = 0;