Parcourir la source

优化查询子科室

DESKTOP-0GD05B0\Administrator il y a 2 ans
Parent
commit
8038bdd37e

+ 6 - 4
src/main/java/thyyxxk/webserver/dao/his/PublicDao.java

@@ -76,8 +76,11 @@ public interface PublicDao {
      * @param deptCode 科室编码
      * @return 返回自生和子科室
      */
-    @Select("select code,case when parent_code = code then null else parent_code end as parent_code from zd_unit_code where (parent_code = #{deptCode} or code = #{deptCode}) and isnull(del_flag,0) = 0")
-    List<GetDropdownBox> getKeShiLieBiao(String deptCode);
+    @Select("select RTRIM(code) " +
+            "from zd_unit_code " +
+            "where (parent_code = #{deptCode}) " +
+            "  and isnull(del_flag, 0) = 0;")
+    List<String> getKeShiLieBiao(String deptCode);
 
     @Select("<script>" +
             "select code from zd_unit_code where (parent_code in " +
@@ -313,7 +316,7 @@ public interface PublicDao {
     @Update("update rs_config " + "set rs_code = #{code}")
     void updateStaffCodeTable(Integer code);
 
-    @Select("SELECT             rtrim(code_rs) as uid,\n" + "                   rtrim(name)    as displayName,\n" + "    manager      = '', /*1 就是有审核权限*/\n" + "    oldUid       = '',\n" + "    userPassword = '123456',\n" + "    ou=            '001',\n" + "    _id          = 'Emr.model.EmrUsers-' + cast(row_number() over (order by code ) + 2 as varchar),\n" + "                   phone_no       as mobile\n" + "from a_employee_mi\n" + "where isnull(del_flag, 0) = 0\n" + "  and (select role_id from dj_user_role where dj_user_role.user_code = a_employee_mi.code and role_id = 11) = 11")
+    @Select("SELECT             rtrim(code_rs) as uid, " + "                   rtrim(name)    as displayName, " + "    manager      = '', /*1 就是有审核权限*/ " + "    oldUid       = '', " + "    userPassword = '123456', " + "    ou=            '001', " + "    _id          = 'Emr.model.EmrUsers-' + cast(row_number() over (order by code ) + 2 as varchar), " + "                   phone_no       as mobile " + "from a_employee_mi " + "where isnull(del_flag, 0) = 0 " + "  and (select role_id from dj_user_role where dj_user_role.user_code = a_employee_mi.code and role_id = 11) = 11")
     List<Map<String, String>> emrAdd();
 
     @Select("SELECT rtrim(dept_code)  code ,rtrim(dept_name) name  FROM zy_adtward WHERE PATINDEX('8%',ward_code)=0 ")
@@ -331,5 +334,4 @@ public interface PublicDao {
                              String userCode);
 
 
-
 }

+ 4 - 6
src/main/java/thyyxxk/webserver/service/PublicServer.java

@@ -292,12 +292,10 @@ public class PublicServer {
      * @return 返回科室
      */
     public List<String> getKeShiLieBiaoList(String deptCode) {
-        if (noNeedRule(1)) {
-            Map<String, GetDropdownBox> map = dao.getKeShiLieBiao(deptCode).stream().collect(Collectors.toMap(GetDropdownBox::getCode, a -> a, (k1, k2) -> k1));
-            if (StringUtil.isBlank(map.get(deptCode).getParentCode())) {
-                return new ArrayList<>(map.keySet());
-            }
-            return Stream.of(deptCode).collect(Collectors.toList());
+        if (noNeedRule()) {
+            List<String> list = dao.getKeShiLieBiao(deptCode);
+            list.add(deptCode);
+            return list;
         }
         return new ArrayList<>();
     }