private async Task <WfApplyBase> GetModel(TableSource src, long id, JsonModel result) { WfApplyBase model = null; switch (src) { case TableSource.LeaveInfo: model = new LeaveInfoModel() { Days = 1, StartTime = DateTime.Now.AddDays(1), EndTime = DateTime.Now.AddDays(2) }; break; case TableSource.SealInfo: model = new SealInfoModel() { ApplyUserName = User.UserInfo.RealName, ApplyTime = DateTime.Now }; break; case TableSource.MeetingRoomInfo: model = new MeetingRoomInfoModel() { UsedTime = DateTime.Now, ApplyTime = DateTime.Now, ApplyName = User.UserInfo.RealName }; break; default: break; } if (id != 0) { var sourceData = await WorkflowSvc.GetSourceAsync(src, id); if (sourceData == null) { result.message = $"找不到Id为{model.Id}的{src}!"; return(null); } Mapper.Map(sourceData, model); } return(model); }
private async Task DealProcess(WfApplyBase model, long srcId, JsonModel result, string conditions = null) { if (model.ProcessInstanceId != 0) { var processInstance = await WorkflowSvc.GetProcessInstanceAsync(model.ProcessInstanceId); if (processInstance == null) { result.statusCode = 300; result.message = $"找不到id为{model.ProcessInstanceId}的流程实例!"; return; } processInstance.Conditions = conditions; result = await WorkflowSvc.DealProcess(model.ProcessInstanceId, model.CurrActInsId, WfActivityButton.Send, "重新提交信息", model.NextStepId, model.AssignToUserIds, model.AssignToUserNames); return; } //创建流程 result = await WorkflowSvc.StartProcess(model.ProcessId, srcId, conditions, model.NextStepId, model.AssignToUserIds, model.AssignToUserNames); if (result.statusCode == 200) { result.message = "申请成功,请等待审批!"; } }