diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEvectionController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEvectionController.java index 87032694..a5d23909 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEvectionController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEvectionController.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.bpm.controller.admin.oa; +import cn.hutool.core.collection.CollectionUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.evection.BpmOAEvectionCreateReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.evection.BpmOAEvectionRespVO; @@ -17,7 +18,11 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.List; +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.convertList; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; /** @@ -54,9 +59,9 @@ public class BpmOAEvectionController { BpmOAEvectionRespVO respVO = BpmOAEvectionConvert.INSTANCE.convert(evection); - if (evection.getTogetherUserId() != null) { - AdminUserRespDTO userRespDTO = userApi.getUser(evection.getTogetherUserId()).getCheckedData(); - respVO.setTogetherUserName(userRespDTO.getNickname()); + if (CollectionUtil.isNotEmpty(evection.getTogetherUserIds())) { + List userRespDTOs = userApi.getUserList(respVO.getTogetherUserIds()).getCheckedData(); + respVO.setTogetherUserName(String.join("、", convertList(userRespDTOs, AdminUserRespDTO::getNickname))); } return success(respVO); @@ -71,9 +76,9 @@ public class BpmOAEvectionController { BpmOAEvectionRespVO respVO = BpmOAEvectionConvert.INSTANCE.convert(evection); - if (evection.getTogetherUserId() != null) { - AdminUserRespDTO userRespDTO = userApi.getUser(evection.getTogetherUserId()).getCheckedData(); - respVO.setTogetherUserName(userRespDTO.getNickname()); + if (CollectionUtil.isNotEmpty(evection.getTogetherUserIds())) { + List userRespDTOs = userApi.getUserList(evection.getTogetherUserIds()).getCheckedData(); + respVO.setTogetherUserName(String.join("、", convertList(userRespDTOs, AdminUserRespDTO::getNickname))); } return success(respVO); diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/evection/BpmOAEvectionCreateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/evection/BpmOAEvectionCreateReqVO.java index 6f11302f..f73ff020 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/evection/BpmOAEvectionCreateReqVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/evection/BpmOAEvectionCreateReqVO.java @@ -11,6 +11,7 @@ import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; +import java.util.Set; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -30,7 +31,7 @@ public class BpmOAEvectionCreateReqVO { private String reason; @Schema(description = "随行人用户编号") - private Long togetherUserId; + private Set togetherUserIds; @Schema(description = "出差起点", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "出差起点不能为空") diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/evection/BpmOAEvectionRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/evection/BpmOAEvectionRespVO.java index b62c17ea..0e882979 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/evection/BpmOAEvectionRespVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/evection/BpmOAEvectionRespVO.java @@ -12,6 +12,7 @@ import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; +import java.util.Set; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -29,7 +30,7 @@ public class BpmOAEvectionRespVO extends BpmOABaseRespVO { private String reason; @Schema(description = "随行人用户编号") - private Long togetherUserId; + private Set togetherUserIds; @Schema(description = "随行人用户名称") private String togetherUserName; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAEvectionDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAEvectionDO.java index 10d2006d..08b8bbbe 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAEvectionDO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAEvectionDO.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; +import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler; import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -12,6 +13,7 @@ import lombok.*; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; +import java.util.Set; /** * OA 出差申请 DO @@ -48,9 +50,10 @@ public class BpmOAEvectionDO extends BaseDO { private String reason; /** - * 随行人用户编号 + * 随行人用户编号组 */ - private Long togetherUserId; + @TableField(typeHandler = JsonLongSetTypeHandler.class) + private Set togetherUserIds; /** * 出差地点 起点