Compare commits

...

9 Commits

7 changed files with 100 additions and 55 deletions

View File

@ -1,6 +1,7 @@
package com.zcloud.basic.info.web;
import com.alibaba.cola.exception.BizException;
import com.zcloud.basic.info.api.PostServiceI;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.PostCO;
@ -35,6 +36,10 @@ public class PostController {
@PostMapping("/save")
public SingleResponse<PostCO> add(@Validated @RequestBody PostAddCmd cmd) {
SSOUser ssoUser = AuthContext.getCurrentUser();
// 监管端不用校验, 企业端必填
if(cmd.getCorpFlag() == 2 && cmd.getSupervisionFlag() == null){
throw new BizException("是否监管岗位不能为空");
}
return postService.add(cmd);
}
@ -74,8 +79,12 @@ public class PostController {
@ApiOperation("修改")
@PutMapping("/edit")
public SingleResponse edit(@Validated @RequestBody PostUpdateCmd postUpdateCmd) {
postService.edit(postUpdateCmd);
public SingleResponse edit(@Validated @RequestBody PostUpdateCmd cmd) {
// 监管端不用校验, 企业端必填
if(cmd.getCorpFlag() == 2 && cmd.getSupervisionFlag() == null){
throw new BizException("是否监管岗位不能为空");
}
postService.edit(cmd);
return SingleResponse.buildSuccess();
}
}

View File

@ -2,15 +2,19 @@ package com.zcloud.basic.info.command.query;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.MultiResponse;
import com.zcloud.basic.info.command.convertor.DepartmentCoConvertor;
import com.zcloud.basic.info.command.convertor.PostCoConvertor;
import com.zcloud.basic.info.command.convertor.PostDepartmentCoConvertor;
import com.zcloud.basic.info.dto.PostDepartmentPageQry;
import com.zcloud.basic.info.dto.PostListQry;
import com.zcloud.basic.info.dto.PostPageQry;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.basic.info.dto.clientobject.PostCO;
import com.zcloud.basic.info.dto.clientobject.PostDepartmentCO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.dataobject.PostDO;
import com.zcloud.basic.info.persistence.dataobject.PostDepartmentDO;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.basic.info.persistence.repository.PostDepartmentRepository;
import com.zcloud.basic.info.persistence.repository.PostRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper;
@ -20,6 +24,7 @@ import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.beans.BeanUtils;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -37,6 +42,8 @@ import java.util.stream.Collectors;
public class PostQueryExe {
private final PostRepository postRepository;
private final PostDepartmentRepository postDepartmentRepository;
private final DepartmentRepository departmentRepository;
private final DepartmentCoConvertor departmentCoConvertor;
private final PostCoConvertor postCoConvertor;
private final PostDepartmentCoConvertor postDepartmentCoConvertor;
@ -49,8 +56,30 @@ public class PostQueryExe {
public PageResponse<PostCO> execute(PostPageQry postPageQry) {
Map<String, Object> params = PageQueryHelper.toHashMap(postPageQry);
PageResponse<PostDO> pageResponse = postRepository.listPage(params);
List<PostCO> examCenterCOS = postCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
Long[] departmentIds = pageResponse.getData().stream().map(PostDO::getDepartmentId).toArray(Long[]::new);
List<DepartmentDO> departmentDOList = departmentRepository.listByIds(Arrays.asList(departmentIds));
// Map<部门id, 部门名称>
Map<Long, String> departmentMap = new HashMap<>();
if(CollUtil.isNotEmpty(departmentDOList)) {
List<DepartmentCO> departmentCOList = departmentCoConvertor.converDOsToCOs(departmentDOList);
departmentMap = departmentCOList.stream().collect(Collectors.toMap(
DepartmentCO::getId,
DepartmentCO::getName
));
}
List<PostCO> postCOList = postCoConvertor.converDOsToCOs(pageResponse.getData());
if(CollUtil.isNotEmpty(postCOList)) {
for (PostCO postCO : postCOList) {
if(CollUtil.isNotEmpty(departmentMap)) {
postCO.setDepartmentName(departmentMap.get(postCO.getDepartmentId()));
}
}
}
return PageResponse.of(postCOList, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public MultiResponse<PostCO> execute(PostListQry qry) {
@ -62,8 +91,10 @@ public class PostQueryExe {
return new MultiResponse<>();
}
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<DepartmentDO> departmentDOList = departmentRepository.listByIds(Arrays.asList(departmentIds));
// Map<岗位id, List<岗位部门对象>>
Map<Long, List<PostDepartmentCO>> postDepartmentMap = new HashMap<>();
@ -71,6 +102,15 @@ public class PostQueryExe {
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)) {
List<DepartmentCO> departmentCOList = departmentCoConvertor.converDOsToCOs(departmentDOList);
departmentMap = departmentCOList.stream().collect(Collectors.toMap(
DepartmentCO::getId,
DepartmentCO::getName
));
}
// 赋值
List<PostDO> postDOList = postMRDO.getData();
@ -80,6 +120,9 @@ public class PostQueryExe {
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()));
}
}
}
@ -96,6 +139,10 @@ public class PostQueryExe {
BeanUtils.copyProperties(postDO.getData(), co);
postCO.setData(co);
// 查询部门名称
DepartmentDO departmentDO = departmentRepository.getById(postDO.getData().getDepartmentId());
postCO.getData().setDepartmentName(departmentDO.getName());
// 岗位-部门权限关联代码
if(co.getSupervisionFlag() == 1){
PostDepartmentPageQry qry = new PostDepartmentPageQry();

View File

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

View File

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

View File

@ -20,9 +20,6 @@ public class PostCO extends ClientObject {
//主键
@ApiModelProperty(value = "主键")
private Long id;
//业务主键id
@ApiModelProperty(value = "业务主键id")
private String postId;
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
@ -34,10 +31,10 @@ public class PostCO extends ClientObject {
private String postName;
// 岗位职责
@ApiModelProperty(value = "岗位职责")
private String postDuty;
private String remarks;
//状态 1-启用, 2-禁用
@ApiModelProperty(value = "状态 1-启用, 2-禁用")
private Integer status;
// @ApiModelProperty(value = "状态 1-启用, 2-禁用")
// private Integer status;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ -45,9 +42,8 @@ public class PostCO extends ClientObject {
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
//是否监管岗位 1-是, 2-不是
@ApiModelProperty(value = "是否监管岗位 1-是, 2-不是")
@ApiModelProperty(value = "是否监管岗位0-否, 1-是")
private Integer supervisionFlag;
@ApiModelProperty(value = "监管部门数据权限-部门列表")
private List<PostDepartmentCO> departmentList;
@ -74,9 +70,6 @@ public class PostCO extends ClientObject {
@ApiModelProperty(value = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime updateTime;
//描述
@ApiModelProperty(value = "描述")
private String remarks;
//是否删除
@ApiModelProperty(value = "是否删除")
private String deleteEnum;

View File

@ -23,19 +23,17 @@ public class PostE extends BaseE {
private String postId;
//部门id
private Long departmentId;
//部门名称
private String departmentName;
//岗位名称
private String postName;
//岗位职责
private String postDuty;
private String remarks;
//状态 1-启用, 2-禁用
private Integer status;
// private Integer status;
//企业id
private Long corpinfoId;
//企业名称
private String corpinfoName;
//是否监管岗位 1-是, 2-不
//是否监管岗位 0-否, 1-
private Integer supervisionFlag;
// 添加关联部门行为

View File

@ -24,18 +24,15 @@ public class PostDO extends BaseDO {
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
//部门名称
@ApiModelProperty(value = "部门名称")
private String departmentName;
//岗位名称
@ApiModelProperty(value = "岗位名称")
private String postName;
//岗位职责
@ApiModelProperty(value = "岗位职责")
private String postDuty;
private String remarks;
//状态 1-启用, 2-禁用
@ApiModelProperty(value = "状态 1-启用, 2-禁用")
private Integer status;
// @ApiModelProperty(value = "状态 1-启用, 2-禁用")
// private Integer status;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ -43,7 +40,7 @@ public class PostDO extends BaseDO {
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
//是否监管岗位 1-是, 2-不是
@ApiModelProperty(value = "是否监管岗位 1-是, 2-不是")
@ApiModelProperty(value = "是否监管岗位 0-否, 1-是")
private Integer supervisionFlag;
public PostDO(String postId) {