lighter 3 лет назад
Родитель
Сommit
4dad9257da

+ 1 - 1
pom.xml

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

+ 3 - 3
src/main/java/thyyxxk/webserver/controller/casefrontsheet/CaseFrontSheetController.java

@@ -125,9 +125,9 @@ public class CaseFrontSheetController {
         return service.fetchSsfz(code, bah, times);
     }
 
-    @GetMapping("/analyzeDismissCount")
-    public ResultVo<List<DismissCount>> analyzeDismissCount(@RequestParam("type") Integer type, @RequestParam("month") String month) {
-        return service.analyzeDismissCount(type, month);
+    @PostMapping("/analyzeDismissCount")
+    public ResultVo<List<DismissCount>> analyzeDismissCount(@RequestBody GetDisCount param) {
+        return service.analyzeDismissCount(param);
     }
 
     @GetMapping("/increaseDiagWeight")

+ 10 - 4
src/main/java/thyyxxk/webserver/dao/his/casefrontsheet/CaseFrontSheetDao.java

@@ -724,7 +724,8 @@ public interface CaseFrontSheetDao extends BaseMapper<CaseFrontsheetMain> {
     List<TempDismissCount> selectDismissCount(@Param("start") String start,
                                           @Param("end") String end);
 
-    @Select("select rtrim(a.inpatient_no) as patNo,a.admiss_times as times, " +
+    @Select("<script>" +
+            "select rtrim(a.inpatient_no) as patNo,a.admiss_times as times, " +
             "rtrim(a.name) as name,gender=(case when a.sex='1' then '男' else '女' end), " +
             "age=datediff(year,b.birth_date,getdate()),a.admiss_date,a.dis_date, " +
             "inHospDays=datediff(day, a.admiss_date, a.dis_date),a.total_charge, " +
@@ -738,12 +739,17 @@ public interface CaseFrontSheetDao extends BaseMapper<CaseFrontsheetMain> {
             "from zy_inactpatient a, a_patient_mi b, batj_ba2 c where " +
             "a.inpatient_no not like 'S%' and " +
             "a.inpatient_no not like 'JT%' and " +
+            "<if test=\" dept!=null and dept!='' \">" +
+            "a.zk_ward=#{dept} and " +
+            "</if>" +
             "charindex('$',a.inpatient_no)=0 and " +
-            "a.dis_date>=#{begntime} and a.dis_date<=#{endtime} and " +
+            "a.dis_date&gt;=#{begntime} and a.dis_date&lt;=#{endtime} and " +
             "a.inpatient_no=b.inpatient_no and a.inpatient_no=c.zyh and a.admiss_times=c.zycs " +
-            "order by a.zk_ward")
+            "order by a.zk_ward " +
+            "</script>")
     List<DismissCount> selectDismissDetailCount(@Param("begntime") String begntime,
-                                                @Param("endtime") String endtime);
+                                                @Param("endtime") String endtime,
+                                                @Param("dept") String dept);
 
     @Update("update zd_icd_code set weight=(weight+1) where code=#{code}")
     void increaseDiagWeight(@Param("code") String code);

+ 10 - 0
src/main/java/thyyxxk/webserver/entity/casefrontsheet/GetDisCount.java

@@ -0,0 +1,10 @@
+package thyyxxk.webserver.entity.casefrontsheet;
+
+import lombok.Data;
+
+@Data
+public class GetDisCount {
+    private String month;
+    private Integer type;
+    private String dept;
+}

+ 5 - 4
src/main/java/thyyxxk/webserver/service/casefrontsheet/CaseFrontSheetService.java

@@ -658,9 +658,10 @@ public class CaseFrontSheetService {
         return (int) days;
     }
 
-    public ResultVo<List<DismissCount>> analyzeDismissCount(Integer type, String month) {
-        String begntime = month + "-01 00:00:00.000";
-        String endtime = DateUtil.getMonthEndtime(month);
+    public ResultVo<List<DismissCount>> analyzeDismissCount(GetDisCount param) {
+        String begntime = param.getMonth() + "-01 00:00:00.000";
+        String endtime = DateUtil.getMonthEndtime(param.getMonth());
+        int type = param.getType();
         List<DismissCount> list;
         if (type == 1) {
             List<TempDismissCount> templist = dao.selectDismissCount(begntime, endtime);
@@ -693,7 +694,7 @@ public class CaseFrontSheetService {
                 list.add(entry.getValue());
             }
         } else {
-            list = dao.selectDismissDetailCount(begntime, endtime);
+            list = dao.selectDismissDetailCount(begntime, endtime, param.getDept());
             if (type == 3) {
                 list.removeIf(item -> item.getDeadOrder() == 0);
             }