dev:岗位管理去掉关联部门数据权限

main
SondonYong 2025-11-10 14:07:01 +08:00
parent afe539b2f9
commit bb0bec3639
10 changed files with 100 additions and 115 deletions

View File

@ -41,9 +41,9 @@ public class PostController {
cmd.setCorpinfoId(AuthContext.getTenantId());
cmd.setCorpinfoName(AuthContext.getName());
// 监管端不用校验, 企业端必填
if(cmd.getCorpFlag() == 2 && cmd.getSupervisionFlag() == null){
throw new BizException("是否监管岗位不能为空");
}
// if(cmd.getCorpFlag() == 2 && cmd.getSupervisionFlag() == null){
// throw new BizException("是否监管岗位不能为空");
// }
return postService.add(cmd);
}
@ -121,9 +121,9 @@ public class PostController {
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody PostUpdateCmd cmd) {
// 监管端不用校验, 企业端必填
if(cmd.getCorpFlag() == 2 && cmd.getSupervisionFlag() == null){
throw new BizException("是否监管岗位不能为空");
}
// if(cmd.getCorpFlag() == 2 && cmd.getSupervisionFlag() == null){
// throw new BizException("是否监管岗位不能为空");
// }
postService.edit(cmd);
return SingleResponse.buildSuccess();
}

View File

@ -37,13 +37,13 @@ public class PostAddExe {
if(StrUtil.isNotBlank(cmd.getDepartmentIdString())){
cmd.setDepartmentId(Long.valueOf(cmd.getDepartmentIdString()));
}
if(cmd.getDepartmentIdsString() != null && cmd.getDepartmentIdsString().length > 0){
cmd.setDepartmentIds(Arrays.stream(cmd.getDepartmentIdsString())
.filter(Objects::nonNull) // 过滤掉null
.filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串
.map(Long::valueOf)
.toArray(Long[]::new));
}
// if(cmd.getDepartmentIdsString() != null && cmd.getDepartmentIdsString().length > 0){
// cmd.setDepartmentIds(Arrays.stream(cmd.getDepartmentIdsString())
// .filter(Objects::nonNull) // 过滤掉null
// .filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串
// .map(Long::valueOf)
// .toArray(Long[]::new));
// }
PostE postE = new PostE();
BeanUtils.copyProperties(cmd, postE);
@ -56,12 +56,12 @@ public class PostAddExe {
}
// 岗位部门关联
if(res && cmd.getSupervisionFlag() != null && cmd.getSupervisionFlag() == 1) {
List<PostDepartmentE> postDepartmentEList = postE.addDepartmentIds(postId, cmd.getDepartmentIds());
if(CollUtil.isNotEmpty(postDepartmentEList)){
res = postDepartmentGateway.addList(postDepartmentEList);
}
}
// if(res && cmd.getSupervisionFlag() != null && cmd.getSupervisionFlag() == 1) {
// List<PostDepartmentE> postDepartmentEList = postE.addDepartmentIds(postId, cmd.getDepartmentIds());
// if(CollUtil.isNotEmpty(postDepartmentEList)){
// res = postDepartmentGateway.addList(postDepartmentEList);
// }
// }
} catch (Exception e) {
throw new RuntimeException(e);

View File

@ -47,13 +47,13 @@ public class PostUpdateExe {
if(StrUtil.isNotBlank(postUpdateCmd.getDepartmentIdString())){
postUpdateCmd.setDepartmentId(Long.valueOf(postUpdateCmd.getDepartmentIdString()));
}
if(postUpdateCmd.getDepartmentIdsString() != null && postUpdateCmd.getDepartmentIdsString().length > 0){
postUpdateCmd.setDepartmentIds(Arrays.stream(postUpdateCmd.getDepartmentIdsString())
.filter(Objects::nonNull) // 过滤掉null
.filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串
.map(Long::valueOf)
.toArray(Long[]::new));
}
// if(postUpdateCmd.getDepartmentIdsString() != null && postUpdateCmd.getDepartmentIdsString().length > 0){
// postUpdateCmd.setDepartmentIds(Arrays.stream(postUpdateCmd.getDepartmentIdsString())
// .filter(Objects::nonNull) // 过滤掉null
// .filter(str -> !str.trim().isEmpty()) // 过滤掉空字符串
// .map(Long::valueOf)
// .toArray(Long[]::new));
// }
PostDO postDO = postRepository.getById(postUpdateCmd.getId());
if (postDO == null) {
@ -66,18 +66,18 @@ public class PostUpdateExe {
// 岗位关联部门
// 修改时如果改为不是监管岗位, 则删除岗位-部门关联表数据
if(res){
if (postUpdateCmd.getSupervisionFlag() == null || postUpdateCmd.getSupervisionFlag() == 0){
postDepartmentGateway.deletedPostDepartment(postE.getId());
}else if(postUpdateCmd.getSupervisionFlag() != null && postUpdateCmd.getSupervisionFlag() == 1){
// 是监管单位
postDepartmentGateway.deletedPostDepartment(postE.getId());
List<PostDepartmentE> postDepartmentEList = postE.addDepartmentIds(postE.getId(), postUpdateCmd.getDepartmentIds());
if(CollUtil.isNotEmpty(postDepartmentEList)){
res = postDepartmentGateway.addList(postDepartmentEList);
}
}
}
// if(res){
// if (postUpdateCmd.getSupervisionFlag() == null || postUpdateCmd.getSupervisionFlag() == 0){
// postDepartmentGateway.deletedPostDepartment(postE.getId());
// }else if(postUpdateCmd.getSupervisionFlag() != null && postUpdateCmd.getSupervisionFlag() == 1){
// // 是监管单位
// postDepartmentGateway.deletedPostDepartment(postE.getId());
// List<PostDepartmentE> postDepartmentEList = postE.addDepartmentIds(postE.getId(), postUpdateCmd.getDepartmentIds());
// if(CollUtil.isNotEmpty(postDepartmentEList)){
// res = postDepartmentGateway.addList(postDepartmentEList);
// }
// }
// }
if (!res) {
throw new BizException("修改失败");

View File

@ -58,7 +58,7 @@ public class PostQueryExe {
if (pageResponse == null || CollUtil.isEmpty(pageResponse.getData())) {
List<PostCO> postCOList = new ArrayList<>();
return PageResponse.of(postCOList, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
return PageResponse.of(postCOList, 0, 0, 0);
}
Long[] departmentIds = pageResponse.getData().stream().map(PostDO::getDepartmentId).toArray(Long[]::new);
@ -97,18 +97,18 @@ public class PostQueryExe {
if (postMRDO == null || CollUtil.isEmpty(postMRDO.getData())) {
return new MultiResponse<>();
}
Long[] postIds = postMRDO.getData().stream().map(PostDO::getId).toArray(Long[]::new);
// Long[] postIds = postMRDO.getData().stream().map(PostDO::getId).toArray(Long[]::new);
Long[] departmentIds = postMRDO.getData().stream().map(PostDO::getDepartmentId).toArray(Long[]::new);
// 岗位部门集合
List<PostDepartmentDO> postDepartmentDOList = postDepartmentRepository.list(postIds);
// List<PostDepartmentDO> postDepartmentDOList = postDepartmentRepository.list(postIds);
List<DepartmentDO> departmentDOList = departmentRepository.listByIds(Arrays.asList(departmentIds));
// Map<岗位id, List<岗位部门对象>>
Map<Long, List<PostDepartmentCO>> postDepartmentMap = new HashMap<>();
if (CollUtil.isNotEmpty(postDepartmentDOList)) {
List<PostDepartmentCO> postDepartmentCOList = postDepartmentCoConvertor.converDOsToCOs(postDepartmentDOList);
postDepartmentMap = postDepartmentCOList.stream().collect(Collectors.groupingBy(PostDepartmentCO::getPostId));
}
// Map<Long, List<PostDepartmentCO>> postDepartmentMap = new HashMap<>();
// if (CollUtil.isNotEmpty(postDepartmentDOList)) {
// List<PostDepartmentCO> postDepartmentCOList = postDepartmentCoConvertor.converDOsToCOs(postDepartmentDOList);
// postDepartmentMap = postDepartmentCOList.stream().collect(Collectors.groupingBy(PostDepartmentCO::getPostId));
// }
// Map<部门id, 部门名称>
Map<Long, String> departmentMap = new HashMap<>();
if (CollUtil.isNotEmpty(departmentDOList)) {
@ -121,9 +121,9 @@ public class PostQueryExe {
List<PostCO> postCOList = postCoConvertor.converDOsToCOs(postDOList);
if (CollUtil.isNotEmpty(postCOList)) {
for (PostCO postCO : postCOList) {
if (CollUtil.isNotEmpty(postDepartmentMap) && CollUtil.isNotEmpty(postDepartmentMap.get(postCO.getId()))) {
postCO.setDepartmentList(postDepartmentMap.get(postCO.getId()));
}
// if (CollUtil.isNotEmpty(postDepartmentMap) && CollUtil.isNotEmpty(postDepartmentMap.get(postCO.getId()))) {
// postCO.setDepartmentList(postDepartmentMap.get(postCO.getId()));
// }
if (CollUtil.isNotEmpty(departmentMap)) {
postCO.setDepartmentName(departmentMap.get(postCO.getDepartmentId()));
}
@ -151,17 +151,19 @@ public class PostQueryExe {
// 查询部门名称
DepartmentDO departmentDO = departmentRepository.getById(postDO.getData().getDepartmentId());
postCO.getData().setDepartmentName(departmentDO.getName());
if(departmentDO != null) {
postCO.getData().setDepartmentName(departmentDO.getName());
}
// 岗位-部门权限关联代码
if (co.getSupervisionFlag() == 1) {
PostDepartmentPageQry qry = new PostDepartmentPageQry();
qry.setEqPostId(id);
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
List<PostDepartmentDO> postDepartmentDOS = postDepartmentRepository.list(params);
List<PostDepartmentCO> postDepartmentCOS = postDepartmentCoConvertor.converDOsToCOs(postDepartmentDOS);
postCO.getData().setDepartmentList(postDepartmentCOS);
}
// if (co.getSupervisionFlag() == 1) {
// PostDepartmentPageQry qry = new PostDepartmentPageQry();
// qry.setEqPostId(id);
// Map<String, Object> params = PageQueryHelper.toHashMap(qry);
// List<PostDepartmentDO> postDepartmentDOS = postDepartmentRepository.list(params);
// List<PostDepartmentCO> postDepartmentCOS = postDepartmentCoConvertor.converDOsToCOs(postDepartmentDOS);
// postCO.getData().setDepartmentList(postDepartmentCOS);
// }
return postCO;
}

View File

@ -33,24 +33,18 @@ public class PostAddCmd extends Command {
@NotEmpty(message = "岗位职责不能为空")
private String remarks;
// @ApiModelProperty(value = "状态 1-启用, 2-禁用", name = "status", required = true)
// @NotNull(message = "状态 1-启用, 2-禁用不能为空")
// private Integer status;
@ApiModelProperty(value = "企业id", name = "corpinfoId")
// @NotNull(message = "企业id不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "企业名称", name = "corpinfoName")
// @NotEmpty(message = "企业名称不能为空")
private String corpinfoName;
@ApiModelProperty(value = "是否监管岗位 0-否, 1-是", name = "supervisionFlag")
private Integer supervisionFlag;
@ApiModelProperty(value = "岗位-部门权限", name = "departmentIdsString")
private String[] departmentIdsString;
private Long[] departmentIds;
// @ApiModelProperty(value = "是否监管岗位 0-否, 1-是", name = "supervisionFlag")
// private Integer supervisionFlag;
//
// @ApiModelProperty(value = "岗位-部门权限", name = "departmentIdsString")
// private String[] departmentIdsString;
// private Long[] departmentIds;
@ApiModelProperty(value = "监管端/企业端标识,1-监管端, 2-企业端", name = "corpFlag", required = true)
@NotNull(message = "监管端/企业端标识不能为空")

View File

@ -38,24 +38,18 @@ public class PostUpdateCmd extends Command {
@NotEmpty(message = "岗位职责不能为空")
private String remarks;
// @ApiModelProperty(value = "状态 1-启用, 2-禁用", name = "status", required = true)
// @NotNull(message = "状态 1-启用, 2-禁用不能为空")
// private Integer status;
@ApiModelProperty(value = "企业id", name = "corpinfoId")
// @NotNull(message = "企业id不能为空")
private Long corpinfoId;
@ApiModelProperty(value = "企业名称", name = "corpinfoName")
// @NotEmpty(message = "企业名称不能为空")
private String corpinfoName;
@ApiModelProperty(value = "是否监管岗位 0-否, 1-是", name = "supervisionFlag")
private Integer supervisionFlag;
@ApiModelProperty(value = "岗位 部门权限", name = "departmentIdsString")
private String[] departmentIdsString;
private Long[] departmentIds;
// @ApiModelProperty(value = "是否监管岗位 0-否, 1-是", name = "supervisionFlag")
// private Integer supervisionFlag;
//
// @ApiModelProperty(value = "岗位 部门权限", name = "departmentIdsString")
// private String[] departmentIdsString;
// private Long[] departmentIds;
@ApiModelProperty(value = "监管端/企业端标识,1-监管端, 2-企业端", name = "corpFlag", required = true)
@NotNull(message = "监管端/企业端标识不能为空")

View File

@ -33,9 +33,6 @@ public class PostCO extends ClientObject {
// 岗位职责
@ApiModelProperty(value = "岗位职责")
private String remarks;
//状态 1-启用, 2-禁用
// @ApiModelProperty(value = "状态 1-启用, 2-禁用")
// private Integer status;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ -43,10 +40,10 @@ public class PostCO extends ClientObject {
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
//是否监管岗位 1-是, 2-不是
@ApiModelProperty(value = "是否监管岗位0-否, 1-是")
private Integer supervisionFlag;
@ApiModelProperty(value = "监管部门数据权限-部门列表")
private List<PostDepartmentCO> departmentList;
// @ApiModelProperty(value = "是否监管岗位0-否, 1-是")
// private Integer supervisionFlag;
// @ApiModelProperty(value = "监管部门数据权限-部门列表")
// private List<PostDepartmentCO> departmentList;
//乐观锁
@ApiModelProperty(value = "乐观锁")

View File

@ -26,30 +26,28 @@ public class PostE extends BaseE {
private String postName;
//岗位职责
private String remarks;
//状态 1-启用, 2-禁用
// private Integer status;
//企业id
private Long corpinfoId;
//企业名称
private String corpinfoName;
//是否监管岗位 0-否, 1-是
private Integer supervisionFlag;
// private Integer supervisionFlag;
// 添加关联部门行为
public List<PostDepartmentE> addDepartmentIds(Long postId, Long[] departmentIds) {
if(Objects.isNull(departmentIds) || departmentIds.length == 0){
// 没有部门id集合, 可能是没有给部门权限
return new ArrayList<>();
}
List<PostDepartmentE> postDepartmentEList = new ArrayList<>();
for (Long departmentId : departmentIds) {
PostDepartmentE e = new PostDepartmentE();
e.setPostDepartmentId(UuidUtil.get32UUID());
e.setPostId(postId);
e.setDepartmentId(departmentId);
postDepartmentEList.add(e);
}
return postDepartmentEList;
}
// public List<PostDepartmentE> addDepartmentIds(Long postId, Long[] departmentIds) {
// if(Objects.isNull(departmentIds) || departmentIds.length == 0){
// // 没有部门id集合, 可能是没有给部门权限
// return new ArrayList<>();
// }
// List<PostDepartmentE> postDepartmentEList = new ArrayList<>();
// for (Long departmentId : departmentIds) {
// PostDepartmentE e = new PostDepartmentE();
// e.setPostDepartmentId(UuidUtil.get32UUID());
// e.setPostId(postId);
// e.setDepartmentId(departmentId);
// postDepartmentEList.add(e);
// }
// return postDepartmentEList;
// }
}

View File

@ -43,9 +43,9 @@ public class PostGatewayImpl implements PostGateway {
if(StringUtils.isEmpty(d.getPostId())){
d.setPostId(UuidUtil.get32UUID());
}
if(d.getSupervisionFlag() == null){
d.setSupervisionFlag(0);
}
// if(d.getSupervisionFlag() == null){
// d.setSupervisionFlag(0);
// }
postRepository.save(d);
return d.getId();
}
@ -65,9 +65,9 @@ public class PostGatewayImpl implements PostGateway {
PostDO d = new PostDO();
BeanUtils.copyProperties(postE, d);
if(d.getSupervisionFlag() == null){
d.setSupervisionFlag(0);
}
// if(d.getSupervisionFlag() == null){
// d.setSupervisionFlag(0);
// }
postRepository.updateById(d);
return true;

View File

@ -40,8 +40,8 @@ public class PostDO extends BaseDO {
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
//是否监管岗位 1-是, 2-不是
@ApiModelProperty(value = "是否监管岗位 0-否, 1-是")
private Integer supervisionFlag;
// @ApiModelProperty(value = "是否监管岗位 0-否, 1-是")
// private Integer supervisionFlag;
public PostDO(String postId) {
this.postId = postId;