diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessCcController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessCcController.java index ce8d91fa..65078ee1 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessCcController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessCcController.java @@ -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 getProcessCc(@RequestParam("id") Long id) { BpmProcessCcDO processCc = processCcService.getProcessCc(id); BpmProcessCcRespVO respVO = BeanUtils.toBean(processCc, BpmProcessCcRespVO.class); - // 获取用户组详情 - List 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 respVOPageResult = BeanUtils.toBean(pageResult, BpmProcessCcRespVO.class); // 获取公司部门Map - Map deptMap = deptApi.getDeptMap(convertSet(respVOPageResult.getList(), BpmProcessCcRespVO::getCompanyDeptId)); + Map deptMap = convertMap(deptApi.getCompanyDept().getCheckedData(), DeptRespDTO::getId); + // 获取列表中所有用户组详情 + List groupDOS = groupService.getUserGroupList( + respVOPageResult.getList().stream() + .flatMap(item -> item.getUserGroupId().stream()) + .collect(Collectors.toSet())); + // 转换Map + Map groupNameMap = convertMap(groupDOS, BpmUserGroupDO::getId, BpmUserGroupDO::getName); + respVOPageResult.getList().forEach(data -> { - // 获取用户组详情 - List 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); } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcPageReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcPageReqVO.java index b2015ff2..b0eac7aa 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcPageReqVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcPageReqVO.java @@ -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; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcRespVO.java index 909f30f7..96f51bee 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcRespVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcRespVO.java @@ -17,7 +17,7 @@ public class BpmProcessCcRespVO { private String name; @Schema(description = "公司部门编号", example = "114") - private Long companyDeptId; + private Set companyDeptId; @Schema(description = "公司部门名称", example = "114") private String companyName; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcSaveReqVO.java index 19d35e64..963ccf6c 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcSaveReqVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/cc/BpmProcessCcSaveReqVO.java @@ -18,7 +18,7 @@ public class BpmProcessCcSaveReqVO { private String name; @Schema(description = "公司部门编号", example = "114") - private Long companyDeptId; + private Set companyDeptId; @Schema(description = "绑定用户组编号") private Set userGroupId; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmProcessCcDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmProcessCcDO.java index f3450fb4..20200873 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmProcessCcDO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmProcessCcDO.java @@ -33,11 +33,12 @@ public class BpmProcessCcDO extends BaseDO { */ private String name; /** - * 公司部门编号 + * 公司部门编号列表 */ - private Long companyDeptId; + @TableField(typeHandler = JsonLongSetTypeHandler.class) + private Set companyDeptId; /** - * 绑定用户组编号 + * 绑定用户组编号列表 */ @TableField(typeHandler = JsonLongSetTypeHandler.class) private Set userGroupId; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAFinanceServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAFinanceServiceImpl.java index ca56a3d4..ef004305 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAFinanceServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAFinanceServiceImpl.java @@ -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"; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAReplacementCardServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAReplacementCardServiceImpl.java index 12021f57..e0049db5 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAReplacementCardServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAReplacementCardServiceImpl.java @@ -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)