package org.springblade.system.service;

import org.springblade.common.core.domain.AjaxResult;
import org.springblade.common.core.domain.entity.SysDept;
import org.springblade.system.domain.DaKyProFilesContentsDto;
import org.springblade.system.domain.ProSelectDto;
import org.springblade.system.domain.TransferApplyDto;
import org.springblade.system.domain.TransferFileDto;

import java.util.List;

/**
 * @Author：liang.chao
 * @Date：2025/9/15 - 11:26
 */
public interface TransferApplyService {
    List<TransferApplyDto> list(TransferApplyDto dto);

    AjaxResult save(TransferApplyDto dto);

    TransferApplyDto getTransferApply(TransferApplyDto dto);

    AjaxResult edit(TransferApplyDto dto);

    AjaxResult del(TransferApplyDto dto);

    AjaxResult audit(TransferApplyDto dto);

    List<SysDept> getDeptSelect(TransferApplyDto dto);

    List<ProSelectDto> getProSelect(TransferApplyDto dto);

    List<DaKyProFilesContentsDto> getTransferApplyFiles(TransferApplyDto dto);

    List<TransferFileDto> getTransferRecordFiles(TransferFileDto dto);

    AjaxResult updateTransferRecordFile(TransferFileDto dto);

    List<DaKyProFilesContentsDto> getTransferApplyFilesByApplyId(TransferApplyDto dto);

    AjaxResult transferReceive(TransferFileDto dto);

    AjaxResult updateTransferRecordFilesStatus(TransferFileDto dto);
}
