using System.Collections.Generic;
using System.Threading.Tasks;
using Yh.SchClass.OpenApi.Model;
using YhCore.Entity;
using YhCore.Model.Dto;
using YhCore.Model.Vo;
namespace YhCore.Service.Interfaces
{
///
/// 审核流程管理服务(对应旧 BestSchool.Service.Reviewprocess + UserFlowRole)。
///
public interface IReviewProcessService
{
/// 审核流程列表(分页)。
Task> ListAsync(string name, int pageSize, int pageIndex, int flowType, bool edit, string schSerId);
/// 审核流程列表【局版】(新框架无 groupId,降级为与 List 同源)。
Task> List2Async(string name, int pageSize, int pageIndex, int flowType, bool edit, string schSerId);
/// 步骤流程列表。
Task> StepListAsync(string name, int serid);
/// 添加审核流程。
Task CreateAsync(Common_flowinfo model);
/// 修改审核流程。
Task EditAsync(Common_flowinfo model);
/// 添加步骤流程。
Task StepCreateAsync(Common_flowstep model);
/// 修改步骤流程。
Task StepEditAsync(Common_flowstep model);
/// 删除审核流程(软删除 enable=3)。
Task DeleteAsync(string ids);
/// 删除步骤。
Task StepDeleteAsync(decimal[] ids);
/// 流程绑定的步骤列表。
Task> BindstepListAsync(int serid);
/// 绑定步骤的人员。
Task> BindGroupuserListAsync(int flowid, int prestep);
/// 绑定流程(流程 + 抄送人)。
Task> BindflowinfoAsync(string schSerId, int flowType);
/// 当前学校教师列表。
Task> GetTeaListAsync(string schSerId);
/// 学校 + 教育局教师列表(降级为当前学校)。
Task> GetTeaListSupAsync(string schSerId);
/// 教师信息分页。
Task> GetUserinfoAsync(string schSerId, string name, int statetype, int pageSize, int pageIndex);
/// 非中层领导人员(teaId 数组)。
Task GetNoLeadingMiddleInfoAsync(string schSerId);
/// 非中层领导人员【局版】(降级为当前学校)。
Task GetNoLeadingMiddleInfoSupAsync(string schSerId);
/// 设置/取消中层领导(教务 SDK 未提供写接口,暂不支持)。
Task ChangeLeadingMiddleStatusAsync(int state, string userTeaSerIdStr);
/// 附件数据源。
Task> FilelistAsync(string ids);
/// 该校审核流程是固定还是自由。
Task IsShenheflowAsync(string schSerId, int userId);
/// 绑定抄送默认人。
Task> IsSendUserAsync(string schSerId, int userId);
/// 当前用户基础信息。
Task GetUserAsync();
/// 用户流程角色(1 有固定/自由流程,0 无)。
Task GetUserFlowRoleAsync(int userId);
}
}