/// <summary> /// 流程成功启动后操作 /// </summary> protected override bool AfterWorkflowStart(int wfInstanceId) { string stepId = Guid.NewGuid().ToString(); BizContext.OA_ITSupport_Step.InsertOnSubmit(new OA_ITSupport_Step() { Id = stepId, FormID = FormId, InstanceId = _BPMContext.ProcID, StartTime = DateTime.Now, StartType = (int)ITSupportStatus.待领取, OrderId = 1, ProcessGroupId = BizContext.V_ITSupport_Catalog.FirstOrDefault(x => x.Id.ToString() == ddlTypes.SelectedValue).GroupId.Value.ToString() }); foreach (var item in ITSupportCommon.GetUserListByType(ddlTypes.SelectedValue)) { BizContext.OA_ITSupport_Step_Users.InsertOnSubmit(new OA_ITSupport_Step_Users() { StepId = stepId, UserCode = item.EmployeeCode, LoginName = item.LoginName }); NotifyToUser(item.LoginName); } var formInfo = BizContext.OA_ITSupport_Form.FirstOrDefault(x => x.FormID == FormId); if (formInfo != null) { formInfo.CurrentStepId = stepId; formInfo.ProcessGroupId = BizContext.V_ITSupport_Catalog.FirstOrDefault(x => x.Id.ToString() == ddlTypes.SelectedValue).GroupId.Value.ToString(); } BizContext.SubmitChanges(); return(true); }
private void ShowGroupUsers() { StringBuilder displayUsers = new StringBuilder(); var userList = ITSupportCommon.GetUserListByGroupId(int.Parse(ddlGroups.SelectedItem.Value)); foreach (var item in userList) { displayUsers.AppendFormat("{0},", item.EmployeeName); } Div_groupUsers.InnerHtml = "组内成员:" + displayUsers.ToString().TrimEnd(','); }
/// <summary> /// 设置用户DataField /// </summary> /// <returns></returns> protected override List <K2_DataFieldInfo> LoadUserDataField() { List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>(); dfInfos.Add(new K2_DataFieldInfo() { Result = ITSupportCommon.GetK2DataFieldByType(ddlTypes.SelectedValue), Name = "GroupUsers" }); return(dfInfos); }
protected void btnQuery_Click(object sender, EventArgs e) { NameValueCollection kvs = new NameValueCollection(); kvs.Add("GroupUsers", ITSupportCommon.GetK2DataFieldByGroupId(int.Parse(ddlGroups.SelectedItem.Value))); WorkflowHelper.UpdateDataFields(_BPMContext.Sn, kvs); string Opinion = Request["optionTxt"]; var appInfo = AppflowFactory.GetAppflow(_BPMContext.ProcID); appInfo.IsFromPC = true; string groupId = BizContext.V_ITSupport_Catalog.FirstOrDefault(x => x.Id.ToString() == ddlGroups.SelectedValue).GroupId.Value.ToString(); appInfo.AssistObject = groupId; bool isSuccess = appInfo.StartApproval(_BPMContext.Sn, _BPMContext.ProcID, Opinion, "转出"); if (isSuccess) { var formInfo = BizContext.OA_ITSupport_Form.FirstOrDefault(x => x.FormID == _BPMContext.ProcInst.FormId); formInfo.ProcessGroupId = groupId; BizContext.SubmitChanges(); } DisplayMessage.ExecuteJs(string.Format("window.returnValue = {0};window.close();", isSuccess ? "1" : "0")); }
protected override bool AfterApproval(string instanceId, string option, string action) { ///对于加签 if (IsAddSign()) { return(true); } var context = DBContext.GetSysContext(); var bizContext = DBContext.GetBizContext(); ///更新当前步骤审批人处理记录 /// var bizInfo = bizContext.OA_ITSupport_Form.FirstOrDefault(x => x.FormID == _BPMContext.ProcInst.FormId); var currentStep = bizContext.OA_ITSupport_Step.FirstOrDefault(x => x.Id == bizInfo.CurrentStepId); currentStep.FinishTime = DateTime.Now; currentStep.StartType = (int)ITSupportStatus.已转出; ITSupportStatus nextStatus = ITSupportStatus.结束; switch (action) { case "转出": nextStatus = ITSupportStatus.待领取; break; case "领取": nextStatus = ITSupportStatus.处理; break; default: break; } if (nextStatus != ITSupportStatus.结束) { string stepId = Guid.NewGuid().ToString(); if (nextStatus == ITSupportStatus.待领取) { bizInfo.ProcessGroupId = AssistObject.ToString();//更换组 } bizContext.OA_ITSupport_Step.InsertOnSubmit(new Pkurg.PWorldBPM.Business.BIZ.OA_ITSupport_Step() { Id = stepId, FormID = _BPMContext.ProcInst.FormId, InstanceId = _BPMContext.ProcID, StartTime = DateTime.Now, OrderId = currentStep.OrderId.Value + 1, StartType = (int)nextStatus, ProcessGroupId = bizInfo.ProcessGroupId }); List <Pkurg.PWorldBPM.Business.Sys.V_Pworld_UserInfo> stepUsers = new List <Pkurg.PWorldBPM.Business.Sys.V_Pworld_UserInfo>(); if (nextStatus == ITSupportStatus.待领取) { stepUsers = ITSupportCommon.GetUserListByGroupId(int.Parse(AssistObject.ToString())); NotifyUsers(stepUsers); } else if (nextStatus == ITSupportStatus.处理) { stepUsers.Add(new Pkurg.PWorldBPM.Business.Sys.V_Pworld_UserInfo() { LoginName = _BPMContext.CurrentUser.LoginId, EmployeeCode = _BPMContext.CurrentPWordUser.EmployeeCode }); } foreach (var item in stepUsers) { bizContext.OA_ITSupport_Step_Users.InsertOnSubmit(new OA_ITSupport_Step_Users() { StepId = stepId, UserCode = item.EmployeeCode, LoginName = item.LoginName }); } bizInfo.CurrentStepId = stepId;//更换步骤 } else//处理或驳回 { bizInfo.CurrentStepId = "-1"; if (action == "处理") { bizInfo.ProcessResult = 1; } if (action == "驳回") { bizInfo.ProcessResult = 2; } } bizContext.SubmitChanges(); return(true); }