``优化资产申请流程,引入资产类型接口及调整相关DTO- 引入AssetsTypeApi`接口,用于获取资产类型详细信息。

- 在`BpmOAAssetClaimRespVO`中新增`assetsTypeName`字段,展示资产类型名称。
- 调整`BpmOAAssetClaimCreateReqVO`,增加业务类型、数量、单位和申请原因字段,以优化资产申请的信息结构。
- 更新`BpmOAAssetClaimDO`,添加业务类型字段,为资产申请引入新的业务维度。

所有相关调整旨在优化资产申请流程,通过引入更多细节和接口集成,提高业务流程的效率与准确性。
```
This commit is contained in:
furongxin 2024-09-26 16:27:21 +08:00
parent 5baf87fa58
commit ef83474112
6 changed files with 44 additions and 24 deletions

View File

@ -6,6 +6,8 @@ import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.assetClaim.BpmOAAssetC
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.assetClaim.BpmOAAssetClaimRespVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAAssetClaimDO;
import cn.iocoder.yudao.module.bpm.service.oa.BpmOAAssetClaimService;
import cn.iocoder.yudao.module.system.api.assets.AssetsTypeApi;
import cn.iocoder.yudao.module.system.api.assets.dto.AssetsTypeDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -27,6 +29,9 @@ public class BpmOAAssetClaimController {
@Resource
private BpmOAAssetClaimService assetClaimService;
@Resource
private AssetsTypeApi assetsTypeApi;
@PostMapping("/create")
@Operation(summary = "创建请求申请")
public CommonResult<Long> createAssetClaim(@Valid @RequestBody BpmOAAssetClaimCreateReqVO createReqVO) {
@ -41,7 +46,10 @@ public class BpmOAAssetClaimController {
BpmOAAssetClaimDO assetClaimDO = assetClaimService.getAssetClaim(id);
return success(BeanUtils.toBean(assetClaimDO, BpmOAAssetClaimRespVO.class));
AssetsTypeDTO assetsTypeDTO = assetsTypeApi.get(assetClaimDO.getAssetsTypeId()).getCheckedData();
return success(BeanUtils.toBean(assetClaimDO, BpmOAAssetClaimRespVO.class)
.setAssetsTypeName(assetsTypeDTO.getName()));
}
@GetMapping("/getByProcessInstanceId")
@ -51,6 +59,9 @@ public class BpmOAAssetClaimController {
BpmOAAssetClaimDO assetClaimDO = assetClaimService.getByProcessInstanceId(processInstanceId);
return success(BeanUtils.toBean(assetClaimDO, BpmOAAssetClaimRespVO.class));
AssetsTypeDTO assetsTypeDTO = assetsTypeApi.get(assetClaimDO.getAssetsTypeId()).getCheckedData();
return success(BeanUtils.toBean(assetClaimDO, BpmOAAssetClaimRespVO.class)
.setAssetsTypeName(assetsTypeDTO.getName()));
}
}

View File

@ -20,16 +20,22 @@ import java.util.List;
@ToString(callSuper = true)
public class BpmOAAssetClaimCreateReqVO {
@Schema(description = "收款人信息", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "报销总金额不能为空")
@Schema(description = "资产类型编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "资产类型不能为空")
private Long assetsTypeId;
@Schema(description = "现金支出明细")
@Schema(description = "业务类型")
private Integer businessType;
@Schema(description = "数量")
private Integer num;
@Schema(description = "单位")
private String util;
@Schema(description = "申请原因")
private String reason;
@Schema(description = "流程实例编号")
private String processInstanceId;

View File

@ -2,14 +2,11 @@ package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.assetClaim;
import cn.iocoder.yudao.framework.common.pojo.UploadUserFile;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.BpmOABaseRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.cash.Cash;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
/**
@ -21,15 +18,23 @@ import java.util.List;
@ToString(callSuper = true)
public class BpmOAAssetClaimRespVO extends BpmOABaseRespVO {
@Schema(description = "收款人信息")
@Schema(description = "资产类型编号")
private Long assetsTypeId;
@Schema(description = "现金支出明细")
private List<Cash> num;
@Schema(description = "资产类型名称")
private String assetsTypeName;
@Schema(description = "报销总金额", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "报销总金额不能为空")
private BigDecimal util;
@Schema(description = "业务类型")
private Integer businessType;
@Schema(description = "数量")
private Integer num;
@Schema(description = "单位")
private String util;
@Schema(description = "申请原因")
private String reason;
@Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED)
private List<UploadUserFile> fileItems;

View File

@ -42,6 +42,11 @@ public class BpmOAAssetClaimDO extends BaseDO {
*/
private Long assetsTypeId;
/**
* 业务类型
*/
private Integer businessType;
/**
* 数量
*/

View File

@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.bpm.framework.rpc.config;
import cn.iocoder.yudao.module.infra.api.config.ConfigApi;
import cn.iocoder.yudao.module.infra.api.file.FileApi;
import cn.iocoder.yudao.module.system.api.assets.AssetsApi;
import cn.iocoder.yudao.module.system.api.assets.AssetsTypeApi;
import cn.iocoder.yudao.module.system.api.attendance.AttendanceApi;
import cn.iocoder.yudao.module.system.api.bank.BankApi;
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
@ -22,7 +23,8 @@ import org.springframework.context.annotation.Configuration;
@Configuration(proxyBeanMethods = false)
@EnableFeignClients(clients = {FileApi.class, RoleApi.class, DeptApi.class, PostApi.class, AdminUserApi.class, SmsSendApi.class, DictDataApi.class, NotifyMessageSendApi.class,
SubscribeMessageSendApi.class, SocialClientApi.class, UsersExtApi.class, AttendanceApi.class, BankApi.class, ConfigApi.class, PositionApi.class, SupplierApi.class, AssetsApi.class
SubscribeMessageSendApi.class, SocialClientApi.class, UsersExtApi.class, AttendanceApi.class, BankApi.class, ConfigApi.class, PositionApi.class, SupplierApi.class, AssetsApi.class,
AssetsTypeApi.class
})
public class RpcConfiguration {
}

View File

@ -4,24 +4,15 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
import cn.iocoder.yudao.module.system.api.assets.dto.AssetsTypeDTO;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import cn.iocoder.yudao.module.system.api.user.dto.UserSaveRespDTO;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.assets.AssetsTypeDO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import cn.iocoder.yudao.module.system.service.assets.AssetsTypeService;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
@RestController // 提供 RESTful API 接口 Feign 调用
@Validated