Przeglądaj źródła

不良事件查询添加条件

lighter 9 miesięcy temu
rodzic
commit
41431fe58d

+ 14 - 13
src/main/java/thyyxxk/webserver/dao/his/inpatient/adverseevent/AdverseEventDao.java

@@ -13,7 +13,7 @@ import java.util.List;
 @Mapper
 public interface AdverseEventDao {
     @Select("select rtrim(code_rs) from a_employee_mi with(nolock) where code=#{code}")
-    String selectCodeRsByCode(@Param("code") String code);
+    String selectCodeRsByCode(String code);
 
     @Insert("insert into adverse_event (t_id, category, occur_datetime, submit_datetime, " +
             "department, dept_code, user_name, user_level, work_year, course, result, nurse_reason, " +
@@ -47,14 +47,14 @@ public interface AdverseEventDao {
     @Select("select p_id,category,occur_datetime,submit_datetime,handled " +
             "from adverse_event with(nolock) where user_id=#{userId} and deleted=0 " +
             "order by occur_datetime desc")
-    List<ReportIndex> getHistories(@Param("userId") String paramString);
+    List<ReportIndex> getHistories(String userId);
 
     @Select("select * from adverse_event with(nolock) where p_id=#{pid}")
-    ReportDetail getReportDetail(@Param("pid") Integer pid);
+    ReportDetail getReportDetail(Integer pid);
 
     @Select("select dept_id as deptId from adverse_dept with(nolock) where leader_code=#{code} " +
             "union select rtrim(dept_code) as deptId from a_employee_mi where code=#{code}")
-    List<String> getLeaderDepts(@Param("code") String code);
+    List<String> getLeaderDepts(String code);
 
     @Select("<script>" +
             "select p_id,category,occur_datetime,submit_datetime,user_name,handled " +
@@ -64,7 +64,7 @@ public interface AdverseEventDao {
             "</foreach> " +
             "order by occur_datetime desc" +
             "</script>")
-    List<ReportIndex> getReportsForDeptLeader(@Param("deptCodes") List<String> deptCodes);
+    List<ReportIndex> getReportsForDeptLeader(List<String> deptCodes);
 
     @Select("<script>" +
             "select p_id,category,occur_datetime,submit_datetime,user_name " +
@@ -74,18 +74,19 @@ public interface AdverseEventDao {
             "</foreach> " +
             "and handled=1 and deleted=0 order by occur_datetime desc" +
             "</script>")
-    List<ReportIndex> getHandledReports(@Param("deptCodes") List<String> deptCodes);
+    List<ReportIndex> getHandledReports(List<String> deptCodes);
 
     @Select("select p_id,category,occur_datetime,submit_datetime,handled," +
             "user_name,dept_code, department, dept_dealer_name, printed " +
             "from adverse_event with(nolock) where " +
             "deleted=0 and occur_datetime>=#{start} and occur_datetime<=#{end} " +
-            "and dept_code like #{ward} order by occur_datetime desc")
-    IPage<ReportIndex> getAllReports(IPage<ReportIndex> iPage, @Param("start") Date start,
-                                    @Param("end") Date end, @Param("ward") String ward);
+            "and dept_code like #{ward} ${statement} order by occur_datetime desc")
+    IPage<ReportIndex> getAllReports(IPage<ReportIndex> iPage, Date start, Date end, 
+                                     String ward, String statement);
 
-    @Select("select rtrim(code_rs) code, rtrim(name) name from a_employee_mi with(nolock) where code=#{code}")
-    CodeName selectUserCodeRsAndName(@Param("code") String code);
+    @Select("select rtrim(code_rs) as code, rtrim(name) as  name " +
+            "from a_employee_mi with(nolock) where code=#{code}")
+    CodeName selectUserCodeRsAndName(String code);
 
     @Update("update adverse_event set handled=1, dept_dealing=#{dealing}, " +
             "dept_dealer_id=#{userId}, dept_dealer_name=#{userName}, " +
@@ -103,10 +104,10 @@ public interface AdverseEventDao {
 
     @Update("update adverse_event set deleted=1,delete_operate_id=#{operId}, " +
             "delete_time=getdate() where p_id=#{pid}")
-    void updateDeleted(@Param("pid") Integer pid, @Param("operId") String operId);
+    void updateDeleted(Integer pid, String operId);
 
     @Update("update adverse_event set printed=1 where p_id=#{pid}")
-    void updatePrinted(@Param("pid") Integer pid);
+    void updatePrinted(Integer pid);
 
     @Update("update adverse_event set feedback=#{feedback}," +
             "feedback_staff_id=#{userId},feedback_staff_name=#{userName}, " +

+ 6 - 0
src/main/java/thyyxxk/webserver/entity/adverseevent/QueryParam.java

@@ -10,10 +10,16 @@ import java.util.Date;
 public class QueryParam {
     private Date start;
     private Date end;
+    private Integer type;
+    private Integer level;
     private String wardCode;
     private Integer currentPage;
     private Integer pageSize;
 
+    public Integer getType() {
+        return null == type ? 0 : type;
+    }
+
     public Date getStart() {
         return null == start ? DateUtil.parse("2012-01-01 00:00:01") : start;
     }

+ 17 - 2
src/main/java/thyyxxk/webserver/service/inpatient/adverseevent/AdverseEventService.java

@@ -92,7 +92,8 @@ public class AdverseEventService {
 
     public ResultVo<Map<String, Object>> getAllReports(QueryParam param) {
         IPage<ReportIndex> iPage = new Page<>(param.getCurrentPage(), param.getPageSize());
-        iPage = dao.getAllReports(iPage, param.getStart(), param.getEnd(), param.getWardCode());
+        String statement = makeQueryStatement(param);
+        iPage = dao.getAllReports(iPage, param.getStart(), param.getEnd(), param.getWardCode(), statement);
         Map<String, Object> map = new HashMap<>(Capacity.TWO);
         map.put("list", iPage.getRecords());
         map.put("totalSize", iPage.getTotal());
@@ -101,7 +102,8 @@ public class AdverseEventService {
 
     public void exportExcel(HttpServletResponse response, QueryParam param) {
         IPage<ReportIndex> iPage = new Page<>(1, -1);
-        iPage = dao.getAllReports(iPage, param.getStart(), param.getEnd(), param.getWardCode());
+        String statement = makeQueryStatement(param);
+        iPage = dao.getAllReports(iPage, param.getStart(), param.getEnd(), param.getWardCode(), statement);
         List<ReportIndex> list = iPage.getRecords();
         String[] title = {"报告id", "发生时间", "事件类型", "提交时间", "提交人", "科室", "处理状态", "处理人", "打印状态"};
         String[][] content = new String[list.size()][];
@@ -121,6 +123,19 @@ public class AdverseEventService {
         ExcelUtil.exportExcel(response, title, content);
     }
 
+    private String makeQueryStatement(QueryParam param) {
+        String statement = "";
+        if (param.getType() == 1) {
+            statement = " and category not like '医疗%' ";
+        } else if (param.getType() == 2) {
+            statement = " and category like '医疗%' ";
+        }
+        if (null != param.getLevel()) {
+            statement += " and event_level='" + param.getLevel() + "'";
+        }
+        return statement;
+    }
+
     public ResultVo<ReportDetail> updateFinalHandled(HandlerInfo indata) {
         CodeName userCodeName = dao.selectUserCodeRsAndName(TokenUtil.getInstance().getTokenUserId());
         indata.setUserId(userCodeName.getCode());