Browse Source

获取兼职科室和自己科室下面的子科室

DESKTOP-0GD05B0\Administrator 2 years ago
parent
commit
36ed13cc71

+ 8 - 0
src/main/java/thyyxxk/webserver/dao/his/PublicDao.java

@@ -1,6 +1,7 @@
 package thyyxxk.webserver.dao.his;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.*;
 import thyyxxk.webserver.entity.casefrontsheet.YshHzRecord;
@@ -17,6 +18,7 @@ import thyyxxk.webserver.entity.zhuyuanyisheng.jianyanjiancha.YshYjReq;
 import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.OpRecord;
 import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.YaoPinXiangMu;
 
+import javax.print.DocFlavor;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
@@ -82,6 +84,12 @@ public interface PublicDao {
             "  and isnull(del_flag, 0) = 0;")
     List<String> getKeShiLieBiao(String deptCode);
 
+    @Select("select RTRIM(code) " +
+            "from zd_unit_code " +
+            "where ${ew.sqlSegment}" +
+            "and isnull(del_flag, 0) = 0")
+    List<String> selectChildDeptByCodeList(@Param(Constants.WRAPPER) QueryWrapper<?> queryWrapper);
+
     @Select("<script>" +
             "select code from zd_unit_code where (parent_code in " +
             "<foreach collection='deptCodeList' item='item' index='index' open='(' close=')' separator=','>" +

+ 25 - 8
src/main/java/thyyxxk/webserver/service/PublicServer.java

@@ -43,12 +43,7 @@ import thyyxxk.webserver.websocket.WebSocketServer;
 
 import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -318,9 +313,31 @@ public class PublicServer {
     }
 
     /**
-     * 获取科室的子科室和本科
+     * 获取医生的子科室 和 兼职科室 以及兼职下面的子科室
+     *
+     * @return 返回科室
+     */
+    public Set<String> getChildDeptByUserCode() {
+        UserInfo userInfo = redisLikeService.getUserInfoByToken();
+        Set<String> list = new HashSet<>();
+
+        if (ListUtil.notBlank(userInfo.getPartTimeDept())) {
+            list.addAll(userInfo.getPartTimeDept());
+        }
+        list.add(userInfo.getDeptCode());
+        QueryWrapper<?> qw = new QueryWrapper<>();
+        qw.in("parent_code", list);
+        List<String> temp = dao.selectChildDeptByCodeList(qw);
+        if (ListUtil.notBlank(temp)) {
+            list.addAll(temp);
+        }
+        return list;
+    }
+
+    /**
+     * 获取科室 列表 下面的子科室
      *
-     * @param deptCodeList 科室代码
+     * @param deptCodeList 科室列表
      * @return 返回科室
      */
     public List<String> getKeShiLieBiaoList(List<String> deptCodeList) {