diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAAssetClaimController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAAssetClaimController.java index 49b9bac7..4ea694a7 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAAssetClaimController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAAssetClaimController.java @@ -4,6 +4,8 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.assetClaim.BpmOAAssetClaimCreateReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.assetClaim.BpmOAAssetClaimRespVO; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.assetClaim.Receive; +import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.assetClaim.ReceiveRespVO; 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; @@ -17,7 +19,13 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.List; +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.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @Tag(name = "管理后台 - OA 资金申领") @@ -46,10 +54,16 @@ public class BpmOAAssetClaimController { BpmOAAssetClaimDO assetClaimDO = assetClaimService.getAssetClaim(id); - AssetsTypeDTO assetsTypeDTO = assetsTypeApi.get(assetClaimDO.getAssetsTypeId()).getCheckedData(); + List assetsTypeDTO = assetsTypeApi.getList(convertList(assetClaimDO.getReceive(), Receive::getAssetsTypeId)).getCheckedData(); + Map assetsTypeNameMap = convertMap(assetsTypeDTO, AssetsTypeDTO::getId, AssetsTypeDTO::getName); + + List respVOS = assetClaimDO.getReceive().stream() + .map(item -> BeanUtils.toBean(item, ReceiveRespVO.class) + .setAssetsTypeName(assetsTypeNameMap.get(item.getAssetsTypeId()))) + .collect(Collectors.toList()); return success(BeanUtils.toBean(assetClaimDO, BpmOAAssetClaimRespVO.class) - .setAssetsTypeName(assetsTypeDTO.getName())); + .setReceive(respVOS)); } @GetMapping("/getByProcessInstanceId") @@ -59,9 +73,15 @@ public class BpmOAAssetClaimController { BpmOAAssetClaimDO assetClaimDO = assetClaimService.getByProcessInstanceId(processInstanceId); - AssetsTypeDTO assetsTypeDTO = assetsTypeApi.get(assetClaimDO.getAssetsTypeId()).getCheckedData(); + List assetsTypeDTO = assetsTypeApi.getList(convertList(assetClaimDO.getReceive(), Receive::getAssetsTypeId)).getCheckedData(); + Map assetsTypeNameMap = convertMap(assetsTypeDTO, AssetsTypeDTO::getId, AssetsTypeDTO::getName); + + List respVOS = assetClaimDO.getReceive().stream() + .map(item -> BeanUtils.toBean(item, ReceiveRespVO.class) + .setAssetsTypeName(assetsTypeNameMap.get(item.getAssetsTypeId()))) + .collect(Collectors.toList()); return success(BeanUtils.toBean(assetClaimDO, BpmOAAssetClaimRespVO.class) - .setAssetsTypeName(assetsTypeDTO.getName())); + .setReceive(respVOS)); } }