Quellcode durchsuchen

添加按手术级别统计

lighter vor 2 Monaten
Ursprung
Commit
45f175f04c

+ 2 - 1
src/main/java/thyyxxk/webserver/entity/surgeryarrangement/request/StatisticsInquiry.java

@@ -12,6 +12,7 @@ public class StatisticsInquiry {
 
     public enum Label {
         BY_DEPARTMENT,
-        BY_SURGERY
+        BY_SURGERY,
+        BY_LEVEL
     }
 }

+ 13 - 6
src/main/java/thyyxxk/webserver/service/surgicalmanagement/SurgeryArrangementService.java

@@ -172,12 +172,7 @@ public class SurgeryArrangementService {
         Map<String, List<OpRecord>> map = new HashMap<>();
 
         for (OpRecord record : opRecordList) {
-            String key;
-            if (inquiry.getStatisticsLabel() == StatisticsInquiry.Label.BY_DEPARTMENT) {
-                key = record.getDeptName();
-            } else {
-                key = record.getOpName();
-            }
+            String key = getKey(inquiry, record);
             if (StringUtil.isBlank(key)) {
                 continue;
             }
@@ -192,4 +187,16 @@ public class SurgeryArrangementService {
         response.setSurgeryMap(map);
         return response;
     }
+
+    private static String getKey(StatisticsInquiry inquiry, OpRecord record) {
+        switch (inquiry.getStatisticsLabel()) {
+            case BY_SURGERY:
+                return record.getOpName();
+            case BY_LEVEL:
+                return record.getOpScaleName();
+            case BY_DEPARTMENT:
+            default:
+                return record.getDeptName();
+        }
+    }
 }