refactor(bpm): 优化流程抄送配置功能
- 修改 OA 活动经费申请相关代码 - 优化补卡申请逻辑,增加对可补卡次数的检查 - 重构流程抄送配置相关控制器和数据对象 - 优化公司部门和用户组数据的获取和展示
This commit is contained in:
parent
b32f00b2d0
commit
4a3d32c0a4
@ -26,7 +26,7 @@ import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
|
||||
|
||||
@Tag(name = "管理后台 - BPM 流程抄送配置")
|
||||
@RestController
|
||||
@ -74,10 +74,6 @@ public class BpmProcessCcController {
|
||||
public CommonResult<BpmProcessCcRespVO> getProcessCc(@RequestParam("id") Long id) {
|
||||
BpmProcessCcDO processCc = processCcService.getProcessCc(id);
|
||||
BpmProcessCcRespVO respVO = BeanUtils.toBean(processCc, BpmProcessCcRespVO.class);
|
||||
// 获取用户组详情
|
||||
List<BpmUserGroupDO> groupDOS = groupService.getUserGroupList(processCc.getUserGroupId());
|
||||
// 设置用户组名称
|
||||
respVO.setGroupName(groupDOS.stream().map(BpmUserGroupDO::getName).collect(Collectors.joining(",")));
|
||||
|
||||
return success(respVO);
|
||||
}
|
||||
@ -90,15 +86,25 @@ public class BpmProcessCcController {
|
||||
PageResult<BpmProcessCcRespVO> respVOPageResult = BeanUtils.toBean(pageResult, BpmProcessCcRespVO.class);
|
||||
|
||||
// 获取公司部门Map
|
||||
Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(convertSet(respVOPageResult.getList(), BpmProcessCcRespVO::getCompanyDeptId));
|
||||
Map<Long, DeptRespDTO> deptMap = convertMap(deptApi.getCompanyDept().getCheckedData(), DeptRespDTO::getId);
|
||||
// 获取列表中所有用户组详情
|
||||
List<BpmUserGroupDO> groupDOS = groupService.getUserGroupList(
|
||||
respVOPageResult.getList().stream()
|
||||
.flatMap(item -> item.getUserGroupId().stream())
|
||||
.collect(Collectors.toSet()));
|
||||
// 转换Map
|
||||
Map<Long, String> groupNameMap = convertMap(groupDOS, BpmUserGroupDO::getId, BpmUserGroupDO::getName);
|
||||
|
||||
respVOPageResult.getList().forEach(data -> {
|
||||
|
||||
// 获取用户组详情
|
||||
List<BpmUserGroupDO> groupDOS = groupService.getUserGroupList(data.getUserGroupId());
|
||||
// 设置用户组名称
|
||||
data.setGroupName(groupDOS.stream().map(BpmUserGroupDO::getName).collect(Collectors.joining(",")));
|
||||
data.setGroupName(data.getUserGroupId().stream()
|
||||
.map(groupNameMap::get)
|
||||
.collect(Collectors.joining("、")));
|
||||
// 设置公司名称
|
||||
data.setCompanyName(deptMap.get(data.getCompanyDeptId()).getName());
|
||||
data.setCompanyName(data.getCompanyDeptId().stream()
|
||||
.map(item -> deptMap.get(item).getName())
|
||||
.collect(Collectors.joining("、")));
|
||||
});
|
||||
return success(respVOPageResult);
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ public class BpmProcessCcPageReqVO extends PageParam {
|
||||
private String userGroupId;
|
||||
|
||||
@Schema(description = "公司部门编号", example = "114")
|
||||
private Long companyDeptId;
|
||||
private String companyDeptId;
|
||||
|
||||
@Schema(description = "状态(0正常 1停用)")
|
||||
private Integer status;
|
||||
|
@ -17,7 +17,7 @@ public class BpmProcessCcRespVO {
|
||||
private String name;
|
||||
|
||||
@Schema(description = "公司部门编号", example = "114")
|
||||
private Long companyDeptId;
|
||||
private Set<Long> companyDeptId;
|
||||
|
||||
@Schema(description = "公司部门名称", example = "114")
|
||||
private String companyName;
|
||||
|
@ -18,7 +18,7 @@ public class BpmProcessCcSaveReqVO {
|
||||
private String name;
|
||||
|
||||
@Schema(description = "公司部门编号", example = "114")
|
||||
private Long companyDeptId;
|
||||
private Set<Long> companyDeptId;
|
||||
|
||||
@Schema(description = "绑定用户组编号")
|
||||
private Set<Long> userGroupId;
|
||||
|
@ -33,11 +33,12 @@ public class BpmProcessCcDO extends BaseDO {
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 公司部门编号
|
||||
* 公司部门编号列表
|
||||
*/
|
||||
private Long companyDeptId;
|
||||
@TableField(typeHandler = JsonLongSetTypeHandler.class)
|
||||
private Set<Long> companyDeptId;
|
||||
/**
|
||||
* 绑定用户组编号
|
||||
* 绑定用户组编号列表
|
||||
*/
|
||||
@TableField(typeHandler = JsonLongSetTypeHandler.class)
|
||||
private Set<Long> userGroupId;
|
||||
|
@ -9,7 +9,6 @@ import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOAFinanceMapper;
|
||||
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
|
||||
import cn.iocoder.yudao.module.bpm.service.task.BpmHistoryProcessInstanceService;
|
||||
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
|
||||
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -23,7 +22,7 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU
|
||||
import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.OA_FINANCE_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* OA 外出申请 Service 实现类
|
||||
* OA 活动经费申请 Service 实现类
|
||||
*
|
||||
* @author 符溶馨
|
||||
|
||||
@ -33,7 +32,7 @@ import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.OA_FINANCE_NO
|
||||
public class BpmOAFinanceServiceImpl extends BpmOABaseService implements BpmOAFinanceService{
|
||||
|
||||
/**
|
||||
* OA 外出对应的流程定义 KEY
|
||||
* OA 活动经费的流程定义 KEY
|
||||
*/
|
||||
public static final String PROCESS_KEY = "oa_finance_2";
|
||||
|
||||
|
@ -71,6 +71,12 @@ public class BpmOAReplacementCardServiceImpl extends BpmOABaseService implements
|
||||
@Override
|
||||
public Long createReplacementCard(Long userId, BpmOAReplacementCardCreateReqVO createReqVO) {
|
||||
|
||||
// 获取用户可补卡次数
|
||||
Integer count = attendanceApi.getReplacementCardNum().getCheckedData();
|
||||
if (count <= 0) {
|
||||
throw exception(INSUFFICIENT_NUMBER_OF_CARD_REFILLS);
|
||||
}
|
||||
|
||||
//插入OA 补卡申请
|
||||
BpmOAReplacementCardDO replacementCard = BeanUtils.toBean(createReqVO, BpmOAReplacementCardDO.class)
|
||||
.setUserId(userId)
|
||||
|
Loading…
Reference in New Issue
Block a user