|
@@ -240,7 +240,7 @@ public class ContractInfoController extends BladeController {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 项目分配用户批量保存-项目分配维护人员
|
|
|
+ * 保存-项目分配维护人员
|
|
|
*/
|
|
|
@PostMapping("/saveUserInfoByProject")
|
|
|
@ApiOperationSupport(order = 12)
|
|
@@ -248,11 +248,15 @@ public class ContractInfoController extends BladeController {
|
|
|
public R saveUserInfoByProject(@RequestBody List<SaveUserInfoByProjectDTO> list) {
|
|
|
if (list.size() > 0) {
|
|
|
list.forEach((lists) -> {
|
|
|
+ //设置postId字段,置空roleId,表示为维护角色
|
|
|
+ lists.setPostId(lists.getRoleId());
|
|
|
+ lists.setRoleId(null);
|
|
|
+
|
|
|
Long row = saveUserInfoByProjectMapper.selectCount(
|
|
|
Wrappers.<SaveUserInfoByProjectDTO>query().lambda().
|
|
|
eq(SaveUserInfoByProjectDTO::getProjectId, lists.getProjectId()).
|
|
|
eq(SaveUserInfoByProjectDTO::getContractId, lists.getContractId()).
|
|
|
- eq(SaveUserInfoByProjectDTO::getRoleId, lists.getRoleId()).
|
|
|
+ eq(SaveUserInfoByProjectDTO::getPostId, lists.getPostId()).
|
|
|
eq(SaveUserInfoByProjectDTO::getUserId, lists.getUserId()));
|
|
|
if (row > 0L) {
|
|
|
throw new ServiceException("当前用户角色已存在该合同段,请重新选择");
|
|
@@ -265,36 +269,38 @@ public class ContractInfoController extends BladeController {
|
|
|
Long row2 = saveUserInfoByProjectMapper.selectCount(
|
|
|
Wrappers.<SaveUserInfoByProjectDTO>query().lambda().
|
|
|
eq(SaveUserInfoByProjectDTO::getProjectId, lists.getProjectId()).
|
|
|
- eq(SaveUserInfoByProjectDTO::getRoleId, lists.getRoleId()).
|
|
|
+ eq(SaveUserInfoByProjectDTO::getPostId, lists.getPostId()).
|
|
|
eq(SaveUserInfoByProjectDTO::getUserId, lists.getUserId()));
|
|
|
if (row2 > 0L) {
|
|
|
throw new ServiceException("当前用户已存在,请重新选择");
|
|
|
}
|
|
|
- Long id = SnowFlakeUtil.getId();
|
|
|
- lists.setId(id);
|
|
|
+ lists.setId(SnowFlakeUtil.getId());
|
|
|
lists.setStatus(1);
|
|
|
saveUserInfoByProjectService.save(lists);
|
|
|
+
|
|
|
} else {
|
|
|
contractInfos.forEach(contractInfo -> {
|
|
|
Long row1 = saveUserInfoByProjectMapper.selectCount(
|
|
|
Wrappers.<SaveUserInfoByProjectDTO>query().lambda().
|
|
|
eq(SaveUserInfoByProjectDTO::getProjectId, lists.getProjectId()).
|
|
|
eq(SaveUserInfoByProjectDTO::getContractId, contractInfo.getId()).
|
|
|
- eq(SaveUserInfoByProjectDTO::getRoleId, lists.getRoleId()).
|
|
|
+ eq(SaveUserInfoByProjectDTO::getPostId, lists.getPostId()).
|
|
|
eq(SaveUserInfoByProjectDTO::getUserId, lists.getUserId()));
|
|
|
if (row1 > 0L) {
|
|
|
throw new ServiceException("当前用户角色已在合同段下存在,请重新选择");
|
|
|
}
|
|
|
- Long id = SnowFlakeUtil.getId();
|
|
|
- lists.setId(id);
|
|
|
+ lists.setId(SnowFlakeUtil.getId());
|
|
|
lists.setStatus(1);
|
|
|
lists.setContractId(String.valueOf(contractInfo.getId()));
|
|
|
saveUserInfoByProjectService.save(lists);
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
} else {
|
|
|
//单合同段
|
|
|
- saveUserInfoByProjectService.saveBatch(list);
|
|
|
+ lists.setId(SnowFlakeUtil.getId());
|
|
|
+ lists.setStatus(1);
|
|
|
+ saveUserInfoByProjectService.save(lists);
|
|
|
}
|
|
|
});
|
|
|
return R.success("保存成功");
|
|
@@ -328,7 +334,9 @@ public class ContractInfoController extends BladeController {
|
|
|
Wrappers.<SaveUserInfoByProjectDTO>query().lambda().
|
|
|
eq(SaveUserInfoByProjectDTO::getProjectId, lists.getProjectId()).
|
|
|
eq(SaveUserInfoByProjectDTO::getContractId, lists.getContractId()).
|
|
|
- eq(SaveUserInfoByProjectDTO::getUserId, lists.getUserId()));
|
|
|
+ eq(SaveUserInfoByProjectDTO::getUserId, lists.getUserId()).
|
|
|
+ isNull(SaveUserInfoByProjectDTO::getPostId).
|
|
|
+ isNotNull(SaveUserInfoByProjectDTO::getRoleId));
|
|
|
if (row > 0L) {
|
|
|
throw new ServiceException("当前用户类型已存在合同段,请重新选择项目合同段添加");
|
|
|
}
|
|
@@ -345,28 +353,40 @@ public class ContractInfoController extends BladeController {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 项目分配用户逻辑删除
|
|
|
+ * 项目分配用户删除
|
|
|
*/
|
|
|
@PostMapping("/removeUsersByIds")
|
|
|
@ApiOperationSupport(order = 14)
|
|
|
- @ApiOperation(value = "项目分配用户逻辑删除", notes = "传入当前列表用户的ids")
|
|
|
+ @ApiOperation(value = "项目分配用户删除", notes = "传入当前列表用户的ids")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public R removeUsersByIds(@ApiParam(value = "ids", required = true) @RequestParam String ids) {
|
|
|
if (StringUtils.isEmpty(ids)) {
|
|
|
throw new ServiceException("请选择要删除的用户");
|
|
|
}
|
|
|
- if (Func.toLongList(ids).size() > 1) {
|
|
|
- //全部删除
|
|
|
- List<Long> idsList = Func.toLongList(ids);
|
|
|
- return R.status(saveUserInfoByProjectService.deleteBatchByIdsList(idsList));
|
|
|
+ //查询当前角色信息是否存在
|
|
|
+ List<Long> idsListTemp = Func.toLongList(ids);
|
|
|
+ String roleIdTemp = "";
|
|
|
+ for (Long idTemp : idsListTemp) {
|
|
|
+ SaveUserInfoByProjectDTO saveUserInfoByProjectDTO = saveUserInfoByProjectMapper.selectOne(Wrappers.<SaveUserInfoByProjectDTO>query().lambda().eq(SaveUserInfoByProjectDTO::getId, idTemp));
|
|
|
+ roleIdTemp = saveUserInfoByProjectDTO.getRoleId();
|
|
|
+ }
|
|
|
+ if (StringUtils.isEmpty(roleIdTemp)) {
|
|
|
+ //roleId = null 表示为运营维护人员角色分配 - 物理删除
|
|
|
+ return R.status(saveUserInfoByProjectService.deleteByIdsPhysical(idsListTemp));
|
|
|
} else {
|
|
|
- //单删除
|
|
|
- SaveUserInfoByProjectDTO saveUserInfoByProjectDTO = saveUserInfoByProjectMapper.selectById(ids);
|
|
|
- String userId = saveUserInfoByProjectDTO.getUserId();
|
|
|
- String roleId = saveUserInfoByProjectDTO.getRoleId();
|
|
|
- //删除用户RoleId
|
|
|
- iUserClient.updateUserRoleIdTwo(userId, roleId);
|
|
|
- return R.status(saveUserInfoByProjectService.deleteLogic(Func.toLongList(ids)));
|
|
|
+ //roleId != null 表示合同段人员角色分配
|
|
|
+ if (idsListTemp.size() > 1) {
|
|
|
+ //全部删除
|
|
|
+ return R.status(saveUserInfoByProjectService.deleteBatchByIdsList(idsListTemp));
|
|
|
+ } else {
|
|
|
+ //单删除
|
|
|
+ SaveUserInfoByProjectDTO saveUserInfoByProjectDTO = saveUserInfoByProjectMapper.selectById(ids);
|
|
|
+ String userId = saveUserInfoByProjectDTO.getUserId();
|
|
|
+ String roleId = saveUserInfoByProjectDTO.getRoleId();
|
|
|
+ //删除用户RoleId
|
|
|
+ iUserClient.updateUserRoleIdTwo(userId, roleId);
|
|
|
+ return R.status(saveUserInfoByProjectService.deleteByIdsPhysical(idsListTemp));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|