using System; using System.Collections.Generic; using System.Linq; using System.Text; using EMIS.ViewModel.SystemView; using Bowin.Common.Linq.Entity; using System.Linq.Expressions; using EMIS.Entities; using EMIS.ViewModel.WorkflowManage; namespace EMIS.CommonLogic.SystemServices { public interface IBaseWorkflowServices { /// /// 查询对应的接入流程表开始流程环节的Pid(对应的流程环节Pid) /// /// int? GetStartStatus(); /// /// 查询对应的接入流程表已退回流程环节Pid(注:不包含开始环节、结束环节且为[BP]标识) /// /// int? GetSendBackStatus(); /// /// 查询对应的接入流程表已通过流程环节Pid(注:不包含开始环节、结束环节且为[PASS]标识) /// /// int? GetPassNoEndStatus(); /// /// 查询对应的结束流程环节Pid /// /// List GetEndStatus(); /// /// 查询对应的结束流程环节且正常结束的流程环节Pid(注:结束环节且不为[BP]标识的) /// /// int? GetCorrectEndStatus(); /// /// 查询对应的接入流程表非正常结束的流程环节Pid(注:通常为结束环节且为[BP]标识的) /// /// List GetBackpointStatus(); /// /// 查询对应的接入流程表中开始环节、审核流程环节Pid(注:不包含结束、非正常[BP]结束环节) /// /// List GetStartApproveStatusList(); /// /// 查询对应的接入流程表中全部流程环节信息(WorkflowStatusView) /// /// List GetStatusViewList(); /// /// 查询对应的接入流程表中审核流程环节信息(WorkflowStatusView,不包含开始、结束、非正常[BP]结束环节) /// /// List GetApproveStatusViewList(); /// /// 查询重录待审,重新录入环节Pid(用于期末设定学生名单背景颜色) /// /// List GetRebutStatus(); /// /// 重载方法,根据当前流程环节ID获取全部审批动作 /// /// List GetActionView(); /// /// 查询开始流程环节的动作列表List /// /// List GetStartActionView(); /// /// 根据当前环节ID、用户ID查询下一步审批动作信息List(ActionView) /// /// 表单ID /// 当前用户ID /// List GetActionView(Guid formID, Guid userID); /// /// 查询对应的工作流程中是否有对应的操作权限 /// /// /// /// bool IsCanApprove(Guid formID, Guid userID); List IsCanApprove(Guid userID, List formIDs); /// /// 根据当前用户ID、actionID、formIDs判断是否有权限 /// /// /// bool GetRangeUserList(Guid userID, Guid actionID, List formIDs); /// /// 启动对应的流程并执行指定的动作至下一环节(提交) /// /// 需要提交的记录主键ID /// 提交人ID /// 提交意见 void StartUp(List formIDList, Guid userID, string comment = ""); /// /// 重载方法,启动对应的流程并执行指定的动作至下一环节(提交),适用于开始节点有两个以上动作时 /// /// 需要提交的记录主键ID /// 提交人ID /// 动作ID /// 提交意见 void StartUp(Guid formID, Guid userID, Guid actionID, string comment = ""); /// /// 审核流程(不包括提交——不包含流程启动) /// /// 需要审核的记录主键ID /// 审核人ID /// 审核动作ID /// 提交意见 void Approve(List formIDList, Guid userID, Guid actionID, string comment = ""); /// /// 工作流流程状态修改(通常用于取消申请、撤销等环节) /// /// 表单ID /// 状态:A为活动,D为结束、其他的自己定义 /// 描述改变内容 void ModifyProcessState(Guid formID, string status, string description); /// /// 查询对应的审核历史信息列表List(WorkflowApproveHistoryView) /// /// 需要获取的记录主键ID /// IList GetApproveHistoryViewList(Guid formID); /// /// 根据相应的信息查询待办信息View /// /// /// 查询视图,指定一个IQueryable决定如何获取表单记录 /// 待办用户ID /// 指定主键列 /// 页码 /// 每页行数 /// IGridResultSet QueryByPendingJob(IQueryable query, Guid userID, Expression> pkSelector, Expression> orderby, bool isDescending = false, int? pageIndex = null, int? pageSize = null); } }