package com.ruoyi.system.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.dto.asset.OaApprovalApplicationAssetReceiveDTO;
import com.ruoyi.system.dto.asset.OaApprovalApplicationAssetReturnDTO;
import com.ruoyi.system.model.OaApprovalApplicationAsset;
import com.ruoyi.system.query.OaApprovalApplicationAssetPageQuery;
import com.ruoyi.system.vo.asset.AssetMainVO;
import com.ruoyi.system.vo.asset.OaApprovalApplicationAssetDetailVO;
import com.ruoyi.system.vo.asset.OaApprovalApplicationAssetPageVO;
import java.util.List;
/**
*
* 资产领用单明细表 服务类
*
*
* @author WuGuanFengYue
* @since 2025-09-15
*/
public interface OaApprovalApplicationAssetService extends IService {
/**
* 提交资产领用/归还申请
* @param dto 领用申请DTO
*/
void submitReceiveBorrow(OaApprovalApplicationAssetReceiveDTO dto);
/**
* 获取资产领用申请分页列表
*/
IPage getReceivePageList(OaApprovalApplicationAssetPageQuery pageQuery);
/**
* 获取资产领用/借用/归还详情
* @param id 领用/借用/归还明细表ID(oa_approval_application_asset.id)
*/
OaApprovalApplicationAssetDetailVO getDetail(Integer id);
/**
* 获取借用资产申请列表
* @param pageQuery
* @return
*/
IPage getBorrowPageList(OaApprovalApplicationAssetPageQuery pageQuery);
/**
* 获取借用单详情
* @param id
* @return
*/
OaApprovalApplicationAssetDetailVO getBorrowDetail(Integer id);
/**
* 查询当前登录人未归还的借用单列表
* @return
*/
List getBorrowDetailByApplicationCode();
/**
* 根据审批单ID获取借用单详情列表
* @param id
* @return
*/
List getBorrowDetailList(Integer applicationId);
/**
* 归还申请
* @param dto
*/
void submitReturn(OaApprovalApplicationAssetReturnDTO dto);
/**
* 归还列表
* @param pageQuery
* @return
*/
IPage getReturnPageList(OaApprovalApplicationAssetPageQuery pageQuery);
/**
* 获取归还提醒列表
* @param pageQuery
* @return
*/
IPage getReturnNotifyPageList(OaApprovalApplicationAssetPageQuery pageQuery);
}