Explorar o código

人员查询调整

wangqiang hai 1 ano
pai
achega
a6052fc735

+ 21 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/controller/OfficeController.java

@@ -124,6 +124,27 @@ public class OfficeController {
         List <OfficeDTO> rootTree = officeService.getOldRootTree (parentId,list, extId, type, showAll );
         return ResponseEntity.ok ( rootTree );
     }
+
+    /**
+     * 获取机构JSON数据。
+     *
+     * @param extId   排除的ID
+     * @param type    类型(1:公司;2:部门)
+     * @param showAll 是否显示不可用数据 1 显示 0 隐藏
+     * @return
+     */
+    @ApiLog("获取签字注师2部门数据")
+    @GetMapping("qzTreeData")
+    public ResponseEntity <List <OfficeDTO>> qzTreeData(@RequestParam(required = false) String tenantId,
+                                                      @RequestParam(required = false) String parentId,
+                                                      @RequestParam(required = false) String extId,
+                                                      @RequestParam(required = false) String type,
+                                                      @RequestParam(required = false, defaultValue = CommonConstants.NO) String showAll) {
+        List <OfficeDTO> list = officeService.findList2 ( tenantId, parentId );
+        //List <OfficeDTO> rootTree = officeService.getRootTree (list, extId, type, showAll,"1" );
+        List <OfficeDTO> rootTree = officeService.getOldRootTree (parentId,list, extId, type, showAll );
+        return ResponseEntity.ok ( rootTree );
+    }
     /**
      * 根据签字注师岗位获取部门数据。
      *

+ 7 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/OfficeMapper.java

@@ -109,4 +109,11 @@ public interface OfficeMapper extends TreeMapper <Office> {
      */
     @InterceptorIgnore(tenantLine = "true")
     List<Office> getFinanceChildren(@Param("rootId")String rootId);
+
+    /**
+     * 根据父节点id获取子id
+     * @param id
+     * @return
+     */
+    List<String> getIds(String id);
 }

+ 3 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/xml/OfficeMapper.xml

@@ -327,5 +327,8 @@
             and parent_id = #{rootId}
             and NAME LIKE concat('%','会计','%')
     </select>
+    <select id="getIds" resultType="java.lang.String">
+        SELECT id FROM sys_office WHERE parent_id = #{id} and del_flag = 0
+    </select>
 
 </mapper>

+ 30 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/OfficeService.java

@@ -5,14 +5,17 @@ package com.jeeplus.sys.service;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.extra.spring.SpringUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import com.jeeplus.common.TokenProvider;
 import com.jeeplus.common.constant.CommonConstants;
 import com.jeeplus.common.constant.enums.OfficeTypeEnum;
 import com.jeeplus.core.service.TreeService;
 import com.jeeplus.sys.domain.Office;
+import com.jeeplus.sys.feign.IUserApi;
 import com.jeeplus.sys.mapper.OfficeMapper;
 import com.jeeplus.sys.service.dto.OfficeDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
@@ -61,6 +64,33 @@ public class OfficeService extends TreeService <OfficeMapper, Office> {
      */
     public List <OfficeDTO> findList(String tenantId, String parentId) {
         QueryWrapper queryWrapper = new QueryWrapper ( );
+        //根据当前人的所属部门去查相关数据
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        queryWrapper.like ( StringUtils.isNotBlank ( parentId ), "a.parent_ids", "," + parentId + "," );
+        queryWrapper.eq ( StringUtils.isNotBlank ( tenantId ), "a.tenant_id", tenantId );
+        queryWrapper.eq ( "a.del_flag", 0 );
+        if (StringUtils.isNotBlank(userDTO.getCompanyDTO().getName())){
+            if (userDTO.getCompanyDTO().getName().contains("评估")) {
+                queryWrapper.like ( "a.name", "%评估%" );
+            }else if (userDTO.getCompanyDTO().getName().contains("会计")){
+                //获取兴光会计师事务所的子集id
+                List<String> ids = baseMapper.getIds(userDTO.getCompanyDTO().getId());
+                ids.add(userDTO.getCompanyDTO().getId());
+                queryWrapper.in ( "a.id", ids );
+            }
+        }
+
+        queryWrapper.orderByAsc ( "a.sort" );
+        return baseMapper.findList ( queryWrapper );
+    }
+
+    /**
+     * 获取列表
+     *
+     * @return
+     */
+    public List <OfficeDTO> findList2(String tenantId, String parentId) {
+        QueryWrapper queryWrapper = new QueryWrapper ( );
         // 查询岗位用户信息
         List<String> offId = userService.findOffId();
         queryWrapper.like ( StringUtils.isNotBlank ( parentId ), "a.parent_ids", "," + parentId + "," );