Sfoglia il codice sorgente

不良事件科室字典维护

lighter 4 mesi fa
parent
commit
fce51d9387

+ 12 - 4
src/main/java/thyyxxk/webserver/controller/inpatient/adverseevent/AdverseEventController.java

@@ -3,12 +3,10 @@ package thyyxxk.webserver.controller.inpatient.adverseevent;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import thyyxxk.webserver.entity.ResultVo;
-import thyyxxk.webserver.entity.adverseevent.HandlerInfo;
-import thyyxxk.webserver.entity.adverseevent.QueryParam;
-import thyyxxk.webserver.entity.adverseevent.ReportDetail;
-import thyyxxk.webserver.entity.adverseevent.ReportIndex;
+import thyyxxk.webserver.entity.adverseevent.*;
 import thyyxxk.webserver.entity.dictionary.CodeName;
 import thyyxxk.webserver.service.inpatient.adverseevent.AdverseEventService;
+import thyyxxk.webserver.utils.ResultVoUtil;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
@@ -83,4 +81,14 @@ public class AdverseEventController {
     public ResultVo<String> updateFeedback(@RequestBody HandlerInfo body) {
         return service.updateFeedback(body);
     }
+
+    @GetMapping("/getAllAdverseDept")
+    public ResultVo<List<AdverseDept>> getAllAdverseDept() {
+        return ResultVoUtil.success(service.getAllAdverseDept());
+    }
+
+    @PostMapping("/saveAdverseDept")
+    public ResultVo<String> saveAdverseDept(@RequestBody AdverseDept adverseDept) {
+        return ResultVoUtil.success(service.saveAdverseDept(adverseDept));
+    }
 }

+ 15 - 10
src/main/java/thyyxxk/webserver/dao/his/inpatient/adverseevent/AdverseEventDao.java

@@ -2,6 +2,7 @@ package thyyxxk.webserver.dao.his.inpatient.adverseevent;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.*;
+import thyyxxk.webserver.entity.adverseevent.AdverseDept;
 import thyyxxk.webserver.entity.adverseevent.HandlerInfo;
 import thyyxxk.webserver.entity.adverseevent.ReportDetail;
 import thyyxxk.webserver.entity.adverseevent.ReportIndex;
@@ -66,16 +67,6 @@ public interface AdverseEventDao {
             "</script>")
     List<ReportIndex> getReportsForDeptLeader(List<String> deptCodes);
 
-    @Select("<script>" +
-            "select p_id,category,occur_datetime,submit_datetime,user_name " +
-            "from adverse_event with(nolock) where dept_code in " +
-            "<foreach collection='deptCodes' item='deptCode' separator=',' open='(' close=')'>" +
-            "#{deptCode}" +
-            "</foreach> " +
-            "and handled=1 and deleted=0 order by occur_datetime desc" +
-            "</script>")
-    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 " +
@@ -113,4 +104,18 @@ public interface AdverseEventDao {
             "feedback_staff_id=#{userId},feedback_staff_name=#{userName}, " +
             "feedback_time=getdate() where p_id=#{pid}")
     void updateFeedback(HandlerInfo handlerInfo);
+
+    @Select("select * from adverse_dept with(nolock)")
+    List<AdverseDept> getAllAdverseDept();
+
+    @Insert("insert into adverse_dept (dept_id, dept_name, leader_id, leader_name, leader_code) " +
+            "values (#{deptId},#{deptName},#{leaderId},#{leaderName},#{leaderCode})")
+    void insertAdverseDept(AdverseDept adverseDept);
+
+    @Update("update adverse_dept set dept_name=#{deptName},leader_id=#{leaderId}, " +
+            "leader_name=#{leaderName},leader_code=#{leaderCode} where dept_id=#{deptId}")
+    void updateAdverseDept(AdverseDept adverseDept);
+
+    @Delete("delete from adverse_dept where dept_id=#{deptId} and leader_code=#{leaderCode}")
+    void deleteAdverseDept(AdverseDept adverseDept);
 }

+ 6 - 1
src/main/java/thyyxxk/webserver/dao/his/search/SearchDao.java

@@ -8,11 +8,16 @@ import thyyxxk.webserver.entity.dictionary.CodeName;
 
 @Mapper
 public interface SearchDao {
-    @Select("select rtrim(code) as code,rtrim(name) as name,rtrim(yb_code) as ybCode, " +
+    @Select("select rtrim(code) as code,rtrim(name) as name, " +
+            "rtrim(yb_code) as ybCode,rtrim(code_rs) as codeRs, " +
             "deptName=(select rtrim(d.name) from zd_unit_code d where d.code=dept_code) " +
             "from a_employee_mi where isnull(del_flag,0)!=1 and ${method} like #{content}")
     IPage<CodeName> searchPhysician(IPage<CodeName> iPage, String method, String content);
 
+    @Select("select rtrim(code) as code,rtrim(name) as name " +
+            "from zd_unit_code where isnull(del_flag,0)!=1 and ${method} like #{content}")
+    IPage<CodeName> searchDept(IPage<CodeName> iPage, String method, String content);
+
     @Select("select distinct rtrim(yb_code) as code, rtrim(yb_name) as name from zd_icd_code_new where ${method} like #{content} and del_flag=0")
     IPage<CodeName> searchSiDiagnose(IPage<CodeName> iPage, String method, String content);
 

+ 15 - 0
src/main/java/thyyxxk/webserver/entity/adverseevent/AdverseDept.java

@@ -0,0 +1,15 @@
+package thyyxxk.webserver.entity.adverseevent;
+
+import lombok.Data;
+
+@Data
+public class AdverseDept {
+    private String deptId;
+    private String deptName;
+    private String leaderId; // 人事工号
+    private String leaderName;
+    private String leaderCode; // 人员编码
+
+    // 修改类型:ADD:新增,UPDATE:修改,DELETE:删除
+    private String editType;
+}

+ 1 - 0
src/main/java/thyyxxk/webserver/entity/dictionary/CodeName.java

@@ -11,6 +11,7 @@ import java.math.BigDecimal;
 public class CodeName {
     private String code;
     private String name;
+    private String codeRs;
     private String opScale;
     private String opType;
     private String opTypeName;

+ 16 - 4
src/main/java/thyyxxk/webserver/service/inpatient/adverseevent/AdverseEventService.java

@@ -9,10 +9,7 @@ import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.constants.Capacity;
 import thyyxxk.webserver.dao.his.inpatient.adverseevent.AdverseEventDao;
 import thyyxxk.webserver.entity.ResultVo;
-import thyyxxk.webserver.entity.adverseevent.HandlerInfo;
-import thyyxxk.webserver.entity.adverseevent.QueryParam;
-import thyyxxk.webserver.entity.adverseevent.ReportDetail;
-import thyyxxk.webserver.entity.adverseevent.ReportIndex;
+import thyyxxk.webserver.entity.adverseevent.*;
 import thyyxxk.webserver.entity.dictionary.CodeName;
 import thyyxxk.webserver.service.hutoolcache.DeptCache;
 import thyyxxk.webserver.service.hutoolcache.UserCache;
@@ -200,4 +197,19 @@ public class AdverseEventService {
         }
         return arr;
     }
+
+    public List<AdverseDept> getAllAdverseDept() {
+        return dao.getAllAdverseDept();
+    }
+
+    public String saveAdverseDept(AdverseDept adverseDept) {
+        if (adverseDept.getEditType().equals("ADD")) {
+            dao.insertAdverseDept(adverseDept);
+        } else if (adverseDept.getEditType().equals("UPDATE")) {
+            dao.updateAdverseDept(adverseDept);
+        } else {
+            dao.deleteAdverseDept(adverseDept);
+        }
+        return "操作成功";
+    }
 }

+ 9 - 0
src/main/java/thyyxxk/webserver/service/search/SearchService.java

@@ -56,6 +56,9 @@ public class SearchService {
             case "ZL":
                 iPage = deepinZlItems(params.getMethod(), params.getContent(), iPage);
                 break;
+            case "dept":
+                iPage = deepinDept(params.getMethod(), params.getContent(), iPage);
+                break;
         }
         if (iPage.getTotal() > 0) {
             Map<String, Object> map = new HashMap<>();
@@ -72,6 +75,12 @@ public class SearchService {
         return dao.searchPhysician(iPage, column, content);
     }
 
+    private IPage<CodeName> deepinDept(String method, String content, IPage<CodeName> iPage) {
+        content = '%' + content.toUpperCase() + '%';
+        String column = filterCommonColumn(method);
+        return dao.searchDept(iPage, column, content);
+    }
+
     private IPage<CodeName> deepinIcd9Cm3(String method, String content, IPage<CodeName> iPage) {
         content = '%' + content.toUpperCase() + '%';
         String column = filterCommonColumn(method);