Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

sangwenwei 1 tahun lalu
induk
melakukan
0dd5ea9869

+ 5 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/factory/UserApiFallbackFactory.java

@@ -216,6 +216,11 @@ public class UserApiFallbackFactory implements FallbackFactory <IUserApi> {
                 return null;
             }
 
+            @Override
+            public List<String> hasUser() {
+                return null;
+            }
+
         };
     }
 }

+ 7 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/feign/IUserApi.java

@@ -315,6 +315,13 @@ public interface IUserApi {
      */
     @GetMapping(value = BASE_URL + "/getUserPostCountById")
     Integer getUserPostCountById(@RequestParam(value = "id")String id);
+
+    /**
+     * 根据当前人管理的部门id查询这些部门信息
+     * @return
+     */
+    @RequestMapping(value = BASE_URL +  "/hasUser", method = RequestMethod.POST)
+    List<String> hasUser();
 }
 
 

+ 6 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/controller/ReimbursementInfoController.java

@@ -114,6 +114,12 @@ public class ReimbursementInfoController {
         List<TreeUserDto> list = service.userTree2(name);
         return ResponseEntity.ok(list);
     }
+    @ApiOperation(value = "用户树形")
+    @GetMapping(value = "/userTreeSelectBySignatureScribe")
+    public ResponseEntity<List<TreeUserDto>> userTreeSelectBySignatureScribe(@RequestParam String name) {
+        List<TreeUserDto> list = service.userTreeSelectBySignatureScribe(name);
+        return ResponseEntity.ok(list);
+    }
 
 
     @ApiLog(value = "评估报销数据")

+ 3 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/ReimbursementInfoMapper.java

@@ -93,4 +93,7 @@ public interface ReimbursementInfoMapper extends BaseMapper<ReimbursementInfo> {
     List<TreeUserDto> finduserAllList(@Param("name")String name);
     @InterceptorIgnore(tenantLine = "true")
     List<TreeUserDto> findCertUserList(@Param("name")String name);
+
+    @InterceptorIgnore(tenantLine = "true")
+    List<TreeUserDto> findOfficeListByIdList(@Param("idList") List<String> idList);
 }

+ 10 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/xml/ReimbursementInfoMapper.xml

@@ -462,4 +462,14 @@
 			</foreach>
 		</where>
 	</select>
+	<select id="findOfficeListByIdList" resultType="com.jeeplus.assess.reimbursement.reimbursementInfo.service.dto.TreeUserDto">
+		SELECT id,`name`,parent_id FROM sys_office
+		<where>
+			del_flag = 0
+			and id in
+			<foreach collection="idList" item="id" index="index" open="(" close=")" separator=",">
+				#{id}
+			</foreach>
+		</where>
+	</select>
 </mapper>

+ 58 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/service/ReimbursementInfoService.java

@@ -979,6 +979,64 @@ public class ReimbursementInfoService {
         return newList;
     }
 
+    //用户树形(用于查询会计公司有资质的员工)
+    public List<TreeUserDto> userTreeSelectBySignatureScribe(String name) {
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        List<TreeUserDto> list = new ArrayList<>();
+        List<TreeUserDto> officeList = Lists.newArrayList();
+        List<String> strings = SpringUtil.getBean(IUserApi.class).hasUser();
+
+        List<TreeUserDto> officeAllList = infoMapper.findOfficeListByIdList(strings);
+
+        // 查询部门
+        if(userDTO.isAdmin() || (null != userDTO.getTenantDTO() && "10002".equals(userDTO.getTenantDTO().getId()))){
+            officeList = infoMapper.findOfficeListByNotTenantId("10000");
+        }else{
+            officeList = infoMapper.findOfficeListByCompanyId(userDTO.getCompanyDTO().getId());
+        }
+        List<TreeUserDto> filterList = new ArrayList<>();
+        filterList.addAll(officeList);
+        filterList.addAll(officeAllList);
+        //查询综合管理公司
+        UserDTO dtoByName = SpringUtil.getBean(IUserApi.class).getByLoginNameNoTen("潘中");
+        List<TreeUserDto> officeList1 = infoMapper.findOfficeListByCompanyId2(dtoByName.getCompanyDTO().getId());
+        filterList.addAll(officeList1);
+        ArrayList<TreeUserDto> treeUsers = new ArrayList<>();
+
+        //如果当前登录人是会计公司,则查询有资质的员工
+        //if ("10003".equals(userDTO.getTenantDTO().getId())){
+            List<TreeUserDto> certUserList = infoMapper.findCertUserList(name);
+            treeUsers.addAll(certUserList);
+        //}
+        // 查询用户
+//        List<TreeUserDto> userList = infoMapper.findUserList(name);
+        //查询综合管理公司用户信息
+        List<TreeUserDto> userList1=infoMapper.findZhglgsUserList2(name);
+        /*if (CollectionUtils.isNotEmpty(userList)) {
+            list.addAll(userList);
+        }*/
+        ArrayList<TreeUserDto> treeUserDtos = new ArrayList<>();
+//        treeUserDtos.addAll(userList);
+        treeUserDtos.addAll(userList1);
+        treeUserDtos.addAll(treeUsers);
+        list = disposeUserTree(treeUserDtos, filterList);
+        for (TreeUserDto officeDto : officeList) {
+            if("0".equals(officeDto.getParentId())){
+                list.add(officeDto);
+            }
+        }
+        for (TreeUserDto officeDto : officeList1) {
+            if("0".equals(officeDto.getParentId())){
+                list.add(officeDto);
+            }
+        }
+        //去重
+        List<TreeUserDto> newList = list.stream().collect(Collectors.collectingAndThen(
+                Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TreeUserDto::getId))), ArrayList::new)
+        );
+        return newList;
+    }
+
     /**
      * 用户树形数据处理
      * @param userList

+ 2 - 2
jeeplus-modules/jeeplus-assess/src/main/resources/application-assess.yml

@@ -1,2 +1,2 @@
-#active: development
-active: production
+active: development
+#active: production

+ 5 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/feign/UserApiImpl.java

@@ -249,4 +249,9 @@ public class UserApiImpl implements IUserApi {
         return userService.getUserPostCountById(id) ;
     }
 
+    @Override
+    public List<String> hasUser() {
+        return userService.hasUser();
+    }
+
 }