using APT.BaseData.Domain.ApiModel;
using APT.BaseData.Domain.Entities;
using APT.BaseData.Domain.Enums;
using APT.Infrastructure.Core;
using System;
using System.Collections.Generic;
using APT.Infrastructure.Api;
namespace APT.BaseData.Domain.IServices
{
    public interface IPFApproveCallBackService : ICommonService
    {

        /// <summary>
        /// 添加审批流
        /// </summary>
        /// <param name="CALLBACK_INTERFACE"></param>
        /// <param name="listDATA_ID"></param>
        /// <returns></returns>
        bool CallBack(string CALLBACK_INTERFACE, List<string> listDATA_ID);

        /// <summary>
        /// 添加审批流
        /// </summary>
        /// <param name="CALLBACK_INTERFACE"></param>
        /// <param name="DATA_ID"></param>
        /// <returns></returns>
        bool CallBack(string CALLBACK_INTERFACE, string DATA_ID);
      
        string RejectContent(Guid id);

        /// <summary>
        /// 获取信息到审批流
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="modelApp"></param>
        /// <param name="listAppDetail"></param>
        /// <param name="taskFinish"></param>
        /// <param name="taskCodeCheck"></param>
        bool GetApproject(T_PF_APPROVE entity, ref T_PF_APPROVE modelApp, ref List<T_PF_APPROVE_DETAIL> listAppDetail, ref T_FM_NOTIFICATION_TASK taskFinish, ref string taskCodeCheck);

        /// <summary>
        /// 获取信息到审批流
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="modelApp"></param>
        /// <param name="listAppDetail"></param>
        /// <param name="taskFinish"></param>
        /// <param name="taskCodeCheck"></param>
        /// <param name="isLast"></param>
        /// <param name="listTaskNext"></param>
        /// <returns></returns>
        bool GetApproject2(T_PF_APPROVE entity, ref T_PF_APPROVE modelApp, ref List<T_PF_APPROVE_DETAIL> listAppDetail, ref T_FM_NOTIFICATION_TASK taskFinish, ref string taskCodeCheck, ref bool isLast, ref List<T_FM_NOTIFICATION_TASK> listTaskNext);
        /// <summary>
        /// 添加审批流
        /// </summary>
        /// <param name="CALLBACK_INTERFACE"></param>
        /// <param name="listDATA_ID"></param>
        /// <returns></returns>
        bool CallBackNew(string CALLBACK_INTERFACE, T_PF_APPROVE entity, bool isApprovel = true);

    }
}
