package cn.iocoder.yudao.module.bpm.service.oa;

import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.assetClaim.BpmOAAssetClaimCreateReqVO;
import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAAssetClaimDO;

public interface BpmOAAssetClaimService {

    /**
     * 创建请求申请
     * @param userId 用户id
     * @param createReqVO 创建信息
     * @return 创建的申请id
     */
    Long createAssetClaim(Long userId, BpmOAAssetClaimCreateReqVO createReqVO);

    /**
     * 获得资产申领申请
     * @param id id
     * @return 资产申领申请
     */
    BpmOAAssetClaimDO getAssetClaim(Long id);

    /**
     * 获得资产申领申请
     * @param processInstanceId 流程实例编号
     * @return 资产申领申请
     */
    BpmOAAssetClaimDO getByProcessInstanceId(String processInstanceId);

    /**
     * 更新资产申领的状态
     *
     * @param id     编号
     * @param result 结果
     */
    void updateAssetClaimResult(String processInstanceId, Long id, Integer result);
}
