|
@@ -220,15 +220,21 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
|
|
|
@ApiOperation("集合查询")
|
|
|
public R<List<SysWorkVo>> list(ListDto listDto) {
|
|
|
Long sysId = listDto.getSysId();
|
|
|
+ //部门分配为可选,先判断是否存在
|
|
|
+ List<SysUserDept> sysUserDepts = sysUserDeptService.list(Wrappers.<SysUserDept>lambdaQuery().eq(SysUserDept::getSysId, sysId).eq(SysUserDept::getWorkUserId, listDto.getId()));
|
|
|
+
|
|
|
//条件构造
|
|
|
JoinLambdaWrapper<SysWorkUser> joinLambdaWrapper = new JoinLambdaWrapper<>(SysWorkUser.class)
|
|
|
.in(SysWorkUser::getId, listDto.getId())
|
|
|
.leftJoin(SysUserRole.class, SysUserRole::getWorkUserId, SysWorkUser::getId).eq(sysId != null, SysUserRole::getSysId, sysId)
|
|
|
.manyToManySelect(SysWorkVo::getRoleIds, Long.class, cb -> cb.add(SysUserRole::getRoleId))
|
|
|
- .end()
|
|
|
- .leftJoin(SysUserDept.class, SysUserDept::getWorkUserId, SysWorkUser::getId).eq(sysId != null, SysUserDept::getSysId, sysId)
|
|
|
- .manyToManySelect(SysWorkVo::getDeptIds, Long.class, cb -> cb.add(SysUserDept::getDeptId))
|
|
|
.end();
|
|
|
+ if (CollUtil.isNotEmpty(sysUserDepts)) {
|
|
|
+ joinLambdaWrapper.leftJoin(SysUserDept.class, SysUserDept::getWorkUserId, SysWorkUser::getId).eq(sysId != null, SysUserDept::getSysId, sysId)
|
|
|
+ .manyToManySelect(SysWorkVo::getDeptIds, Long.class, cb -> cb.add(SysUserDept::getDeptId))
|
|
|
+ .end();
|
|
|
+ }
|
|
|
+
|
|
|
//查询数据
|
|
|
List<SysWorkVo> sysWorkVos = baseMapper.joinSelectList(joinLambdaWrapper, SysWorkVo.class);
|
|
|
if (sysWorkVos.size() > 0) {
|