package cn.iocoder.yudao.module.research.service.fund; import cn.iocoder.yudao.module.research.controller.admin.fund.vo.ResearchFundRecordSaveReqVO; import cn.iocoder.yudao.module.research.dal.dataobject.fund.ResearchFundRecordDO; import jakarta.validation.Valid; import java.util.List; public interface ResearchFundRecordService { Long createFundRecord(@Valid ResearchFundRecordSaveReqVO createReqVO); void updateFundRecord(@Valid ResearchFundRecordSaveReqVO updateReqVO); void deleteFundRecord(Long id); /** 某课题申报书下的全部经费拨付记录(按创建时间倒序) */ List getFundRecordListByApplicationId(Long applicationId); /** * 财务报销审批结果回写台账状态 * * @param reimbursementId 财务报销单编号 * @param bpmStatus BPM 审批结果(BpmTaskStatusEnum) * @param reason 驳回原因 */ void updateFundStatusByReimbursement(Long reimbursementId, Integer bpmStatus, String reason); }