diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java index 65f2b77f..2cc741f2 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java @@ -25,6 +25,6 @@ public interface SarStandardWarningDao extends BaseMapper { public List getWarningDateOfItems(TermDTO term); - public String getStandTextStateByStandId(String standId); + public String getStandTextStateByStandId(@Param(value = "standId") String standId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java index 6ca4d2aa..a58e9ba2 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java @@ -65,6 +65,13 @@ public class TsUserController extends BaseController { return tsUserService.setPositionBatch(userPositionVO); } + @ApiOperation("配置岗位") + @PostMapping("/positionBatchByOrgId") + public ResponseMessage setPositionBatchByOrgId(@Valid @RequestBody UserPositionBatchVO userPositionVO){ + return tsUserService.setPositionBatchByOrgId(userPositionVO); + } + + @ApiOperation("查询当前登录用户权限") @GetMapping("/menu") public ResponseMessage> getMenu(){ diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java index 89c0a4c7..c2628318 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java @@ -51,6 +51,8 @@ public interface TsUserDao extends BaseMapper { List userUnderInstitution(@Param("start")Integer start, @Param("end")Integer end,@Param("TsUser") TsUser tsUser,@Param("ids") List ids); + List getUserUnderInstitutionAll(@Param("ids") List ids); + Integer getUserAndPositionCount(@Param("TsUser") TsUser tsUser); Integer userUnderInstitutionCount(@Param("TsUser") TsUser tsUser,@Param("ids") List ids); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/UserPositionBatchVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/UserPositionBatchVO.java index 336a011e..baecbceb 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/UserPositionBatchVO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/UserPositionBatchVO.java @@ -11,4 +11,7 @@ public class UserPositionBatchVO { private List userId; @NotNull(message = "positionIds不能为空") private List positionIds; + @NotNull(message = "orgId不能为空") + private String orgId; + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java index 7cc78866..d850a34a 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java @@ -47,6 +47,8 @@ public interface ITsUserService extends IService { ResponseMessage setPositionBatch(UserPositionBatchVO userPositionVO); + ResponseMessage setPositionBatchByOrgId(UserPositionBatchVO userPositionVO); + /** * 查询当前登录的用户权限 * @return List diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java index 58692e30..e1c7977b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java @@ -194,6 +194,71 @@ public class TsUserServiceImpl extends ServiceImpl implements } } + /** + * 配置岗位 + * @param userPositionVO2:用户、岗位ID + * @return ResponseMessage + */ + @Override + @Transactional + public ResponseMessage setPositionBatchByOrgId(UserPositionBatchVO userPositionVO2) { + + boolean flag=true; + //首先将所有用户查出来 + List orgIds=new ArrayList<>(); + orgIds.add(userPositionVO2.getOrgId()); + List middle=new ArrayList<>(); + middle.addAll(orgIds); + boolean Orgflag=true; + while (Orgflag){ + QueryWrapper queryWrapper=new QueryWrapper<>(); + queryWrapper.in("parent_id",middle); + List tsmiddle=tsInstitutionService.list(queryWrapper); + if (tsmiddle.size()>0){ + tsmiddle.forEach(tsInstitution -> { + middle.add(tsInstitution.getId()); + }); + middle.removeAll(orgIds); + orgIds.addAll(middle); + }else { + tsmiddle.forEach(tsInstitution -> { + middle.add(tsInstitution.getId()); + }); + middle.removeAll(orgIds); + orgIds.addAll(middle); + Orgflag=false; + } + } + orgIds.removeIf(s -> null==s); + List allUsers = tsUserDao.getUserUnderInstitutionAll(orgIds); + + for (TsUser user : allUsers) { + String userId = user.getUserId(); + UserPositionVO userPositionVO=new UserPositionVO(); + userPositionVO.setUserId(userId); + userPositionVO.setPositionIds(userPositionVO2.getPositionIds()); + TsUser tsUser=tsUserDao.selectById(userPositionVO.getUserId()); + if(tsUser==null){ + continue; + } + List oldPositionIds=tsUserDao.selectPositionIds(userPositionVO.getUserId()); + Map> ids= ListUtil.difList(userPositionVO.getPositionIds(),oldPositionIds); + List insertIds=ids.get("insert"); + List deleteIds=ids.get("delete"); + if(insertIds!=null&&insertIds.size()>0){ + for(String positionId:insertIds){ + tsUserDao.addPosition(userPositionVO.getUserId(),positionId); + } + } + if(deleteIds!=null&&deleteIds.size()>0){ + for(String positionId:deleteIds){ + tsUserDao.delPosition(userPositionVO.getUserId(),positionId); + } + } + } + return Result.success(); + } + /** * 查询当前登录的用户权限 * @return List diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml index b696d004..fd9e9371 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml @@ -121,7 +121,7 @@ select A.* from diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml index 601a5bd3..c1f47fad 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml @@ -48,6 +48,31 @@ limit #{start},#{end} + + +