protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request["ID"] == null) { return; } hiddenRunProcess.Text = Request["ID"]; int id = int.Parse(hiddenRunProcess.Text); FineOffice.Modules.OA_FlowRunProcess model = runProcessBll.GetModel(d => d.ID == id); if (Request["Version"] != null) { hiddenVersion.Text = Request["Version"]; } else { hiddenVersion.Text = this.ByteToJson(model.Version); } btnFind.OnClientClick = frmPersonnel.GetSaveStateReference(txtPersonnel.ClientID, hiddenPersonnel.ClientID) + frmPersonnel.GetShowReference("FrmTransmitPerson.aspx?Process=" + model.ProcessID); btnClose.OnClientClick = ActiveWindow.GetConfirmHidePostBackReference(); } }
protected void btnEnterNextProcess_Click(object sender, EventArgs e) { if (processGrid.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("请选择工作步骤!"); return; } object[] process = processGrid.DataKeys[processGrid.SelectedRowIndex]; object[] person = null; if (!(bool)process[3]) { if (personGrid.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("请选办理人员!"); return; } person = personGrid.DataKeys[personGrid.SelectedRowIndex]; } FineOffice.Modules.OA_FlowRunProcess handle = runProcessBll.GetModel(p => p.ID == int.Parse(hiddenRunProcess.Text)); handle.State = 1;//已办理,转入下一步 handle.TrackingState = TrackingInfo.Updated; handle.Version = this.JsonTobyte(hiddenVersion.Text); handle.HandleTime = DateTime.Now; handle.TransmitAdvice = txtTransmitAdvice.Text; //创建新步骤 FineOffice.Modules.OA_FlowRunProcess runProcess = new FineOffice.Modules.OA_FlowRunProcess(); runProcess.AcceptTime = handle.HandleTime; runProcess.ProcessID = process[0].ToString(); runProcess.RunID = handle.RunID; runProcess.State = 0; runProcess.Pattern = 1;//正常转入 runProcess.SendID = handle.AcceptID; if (person != null) { runProcess.AcceptID = int.Parse(person[0].ToString()); } else { runProcess.AcceptID = handle.AcceptID; } runProcess.PreviousID = handle.ID; runProcess.TrackingState = TrackingInfo.Created; try { runHandlerBll.HandleCreateRunProcess(handle, runProcess); PageContext.RegisterStartupScript("saveRunProcess();"); } catch { Alert.ShowInParent("该流程已办理,不能操作!"); } }
protected void Grid_RowDataBound(object sender, FineUI.GridRowEventArgs e) { FineOffice.Modules.OA_FlowRunProcess row = e.DataItem as FineOffice.Modules.OA_FlowRunProcess; if (row != null) { if (row.State == 3) { highlightRows.Text += e.RowIndex.ToString() + ","; } } }
/// <summary> /// 保存 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSave_Click(object sender, EventArgs e) { int id = int.Parse(hiddenRunProcess.Text); FineOffice.Modules.OA_FlowRunProcess model = runProcessBll.GetModel(p => p.ID == id); model.TransmitAdvice = txtTransmitAdvice.Text.Trim(); model.Version = JsonTobyte(hiddenVersion.Text); model = runProcessBll.Update(model); hiddenVersion.Text = ByteToJson(model.Version); }
/// <summary> /// 退回步骤 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnEnterSendBack_Click(object sender, EventArgs e) { FineOffice.Modules.OA_FlowRunProcess currentProcess = runProcessBll.GetModel(p => p.ID == int.Parse(hiddenRunProcess.Text)); currentProcess.State = 4;//退回 currentProcess.TrackingState = TrackingInfo.Updated; currentProcess.Version = this.JsonTobyte(hiddenVersion.Text); currentProcess.HandleTime = DateTime.Now; currentProcess.TransmitAdvice = txtTransmitAdvice.Text; int backID = int.Parse(radRunProcess.SelectedValue); //查找要退回的步骤 FineOffice.Modules.OA_FlowRunProcess backProcess = runProcessBll.GetModel(p => p.ID == backID); //创建办理 FineOffice.Modules.OA_FlowRunProcess process = new FineOffice.Modules.OA_FlowRunProcess(); process.State = 0; process.RunID = backProcess.RunID; //退回的操作,刚刚是反转过来 process.Pattern = 4; process.SendID = currentProcess.AcceptID; process.IsEntrance = backProcess.IsEntrance; process.AcceptID = backProcess.SendID; process.AcceptTime = currentProcess.HandleTime; process.ProcessID = backProcess.ProcessID; process.TransmitAdvice = backProcess.TransmitAdvice; process.PreviousID = backProcess.PreviousID; process.TrackingState = TrackingInfo.Created; try { runHandlerBll.SendBackRunProcess(currentProcess, process); PageContext.RegisterStartupScript("saveRunProcess();"); } catch { Alert.ShowInParent("该流程已办理,不能操作!"); } }
protected void btnSave_Click(object sender, EventArgs e) { int id = int.Parse(hiddenRunProcess.Text); FineOffice.Modules.OA_FlowRunProcess currentProcess = runProcessBll.GetModel(p => p.ID == int.Parse(hiddenRunProcess.Text)); currentProcess.State = 2;//委托 currentProcess.TrackingState = TrackingInfo.Updated; currentProcess.Version = this.JsonTobyte(hiddenVersion.Text); currentProcess.HandleTime = DateTime.Now; currentProcess.TransmitAdvice = txtTransmitAdvice.Text; //创建办理 FineOffice.Modules.OA_FlowRunProcess process = new FineOffice.Modules.OA_FlowRunProcess(); process.State = 0; process.RunID = currentProcess.RunID; //退回的操作,刚刚是反转过来 process.Pattern = 2; process.SendID = currentProcess.AcceptID; process.IsEntrance = currentProcess.IsEntrance; process.AcceptID = int.Parse(hiddenPersonnel.Text); process.AcceptTime = currentProcess.HandleTime; process.ProcessID = currentProcess.ProcessID; process.TransmitAdvice = currentProcess.TransmitAdvice; process.PreviousID = currentProcess.PreviousID; process.TrackingState = TrackingInfo.Created; try { runHandlerBll.SendBackRunProcess(currentProcess, process); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference("transmitClose")); } catch { Alert.ShowInParent("该流程已办理,不能操作!"); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request["RunProcess"] != null) { hiddenTabID.Text = Request["TabID"]; int runProcessID = int.Parse(Request["RunProcess"]); FineOffice.Modules.OA_FlowRunProcess model = runProcessBll.GetModel(r => r.ID == runProcessID); hiddenVersion.Text = this.ByteToJson(model.Version); hiddenRunProcess.Text = model.ID.ToString(); txtTransmitAdvice.Text = model.TransmitAdvice; lblRemrk.Text = model.Remark; lblCreateTime.Text = string.Format("{0:yyyy-MM-dd mm:ss}", model.WorkCreateTime); lblCreator.Text = model.CreateName; lblWorkName.Text = model.WorkName; lblWorkNO.Text = model.WorkNO; hiddenWork.Text = model.RunID.ToString(); ChangeTrackingList <EntitySearcher> changeTrackingList = new ChangeTrackingList <EntitySearcher>(); ViewState["formSql"] = changeTrackingList; GridColumn formColumn = formGrid.FindColumn(formGrid.SortColumn); formGrid_Bind(changeTrackingList, formColumn.SortField, formGrid.SortDirection); ViewState["attachmentSql"] = changeTrackingList; GridColumn attachmentColumn = attachmentGrid.FindColumn(attachmentGrid.SortColumn); attachmentGrid_Bind(changeTrackingList, attachmentColumn.SortField, attachmentGrid.SortDirection); btnPreview.OnClientClick = formGrid.GetNoSelectionAlertReference("请选择要预览的表单!"); btnDownForm.OnClientClick = formGrid.GetNoSelectionAlertReference("请选择要下载的表单!"); btnDownAttachment.OnClientClick = attachmentGrid.GetNoSelectionAlertReference("请选择要下载的附件!"); } } }
protected void btnSave_Click(object sender, EventArgs e) { if (this.CookiePersonnel == null) { Alert.ShowInParent("当前用户不存在职员信息,不能新建工作!"); return; } FineOffice.Modules.OA_FlowRun model = new FineOffice.Modules.OA_FlowRun(); model.WorkNO = txtWorkNO.Text; model.FlowID = int.Parse(txtFlowID.Text); FineOffice.Modules.OA_FlowProcess process = processBll.GetModel(r => r.FlowID == model.FlowID && r.IsStart == true); if (process == null) { Alert.ShowInParent("工作流程没有开始步骤,不能新建工作!"); return; } bool state = false; if (process.ProcessDepartment != null) { string[] deparment = process.ProcessDepartment.Split(','); if (deparment.Where(s => s == this.CookiePersonnel.DepartmentID.ToString()).Count() > 0) { state = true; } } if (process.ProcessPersonnel != null) { string[] personnel = process.ProcessPersonnel.Split(','); if (personnel.Where(s => s == this.CookiePersonnel.ID.ToString()).Count() > 0) { state = true; } } if (process.ProcessDepartment == null && process.ProcessPersonnel == null) { state = true; } if (!state) { Alert.ShowInParent("当前用户没有操作该步骤的权限,不能新建工作!"); return; } model.WorkName = txtWorkName.Text.Trim(); model.CreateTime = DateTime.Parse(dtpDate.Text.Trim() + " " + dtpTime.Text); model.Remark = txtRemark.Text; model.Creator = CookiePersonnel.ID; FineOffice.Modules.OA_FlowRunProcess runProcess = new FineOffice.Modules.OA_FlowRunProcess(); runProcess.AcceptID = this.CookiePersonnel.ID; runProcess.SendID = this.CookiePersonnel.ID; runProcess.ProcessID = process.ID; runProcess.AcceptTime = model.CreateTime; runProcess.RunID = model.ID; runProcess.State = 0; runProcess.Pattern = 0; runProcess.AcceptTime = model.CreateTime; runProcess.State = 0; runProcess.IsEntrance = true; runProcess.AcceptID = this.CookiePersonnel.ID; model.OA_FlowRunProcessList.Add(runProcess); try { model = runBll.Add(model); ChangeTrackingList <EntitySearcher> searchList = new ChangeTrackingList <EntitySearcher>(); EntitySearcher searcher = new EntitySearcher(); searcher.Content = model.ID.ToString(); searcher.Operator = "="; searcher.Field = "RunID"; searcher.Relation = "OR"; searchList.Add(searcher); FineOffice.Modules.OA_FlowRunProcess temp = runProcessBll.GetList(searchList)[0]; PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference("Close&" + temp.ID)); } catch (Exception ex) { Alert.ShowInParent(ex.Message); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { hiddenTabID.Text = Request["TabID"]; int runProcessID = int.Parse(Request["RunProcess"]); FineOffice.Modules.OA_FlowRunProcess model = runProcessBll.GetModel(r => r.ID == runProcessID); btnReject.Visible = !model.IsStart.Value; tssReject.Visible = !model.IsStart.Value; btnSendback.Visible = !model.IsStart.Value; tssSendback.Visible = !model.IsStart.Value; hiddenVersion.Text = this.ByteToJson(model.Version); hiddenRunProcess.Text = model.ID.ToString(); txtTransmitAdvice.Text = model.TransmitAdvice; lblRemrk.Text = model.Remark; lblCreateTime.Text = string.Format("{0:yyyy-MM-dd mm:ss}", model.WorkCreateTime); lblCreator.Text = model.CreateName; lblWorkName.Text = model.WorkName; lblWorkNO.Text = model.WorkNO; hiddenWork.Text = model.RunID.ToString(); this.formGrid.PageIndex = 0; ChangeTrackingList <EntitySearcher> changeTrackingList = new ChangeTrackingList <EntitySearcher>(); ViewState["formSql"] = changeTrackingList; GridColumn formColumn = formGrid.FindColumn(formGrid.SortColumn); formGrid_Bind(changeTrackingList, formColumn.SortField, formGrid.SortDirection); this.attachmentGrid.PageIndex = 0; ViewState["attachmentSql"] = changeTrackingList; GridColumn attachmentColumn = attachmentGrid.FindColumn(attachmentGrid.SortColumn); attachmentGrid_Bind(changeTrackingList, attachmentColumn.SortField, attachmentGrid.SortDirection); btnNewForm.OnClientClick = frmNewFlowForm.GetShowReference("FrmNewFlowForm.aspx?ProcessID=" + model.ProcessID + "&RunProcess=" + model.ID); btnModifyForm.OnClientClick = formGrid.GetNoSelectionAlertReference("请选择要操作的表单!"); btnDownForm.OnClientClick = formGrid.GetNoSelectionAlertReference("请选择要下载的表单!"); btnPreview.OnClientClick = formGrid.GetNoSelectionAlertReference("请选择要预览的表单!"); btnDownAttachment.OnClientClick = attachmentGrid.GetNoSelectionAlertReference("请选择要下载的附件!"); btnModifyFileName.OnClientClick = attachmentGrid.GetNoSelectionAlertReference("请选择要操作的附件!"); btnReject.ConfirmText = String.Format("你确认要拒绝吗?"); #region 加载选择下一步的数据 btnNext.OnClientClick = this.frmNextProcess.GetShowReference(); btnCloseNextProcess.OnClientClick = this.frmNextProcess.GetHideReference(); if (model.Next != null) { string[] strList = model.Next.Split(','); List <FineOffice.Modules.OA_FlowProcess> processList = processBll.GetList(p => strList.Contains(p.ID)); if (processList.Count > 0) { this.processGrid.DataSource = processList; this.processGrid.DataBind(); this.processGrid.SelectedRowIndex = 0; } } #endregion #region 加载退回的数据 btnSendback.OnClientClick = this.frmSendBack.GetShowReference(); btnCloseSendBack.OnClientClick = this.frmSendBack.GetHideReference(); List <FineOffice.Modules.OA_FlowRunProcess> runProcessList = runHandlerBll.FlowRunProcessList(new FineOffice.Modules.OA_FlowRun { ID = (int)model.RunID }); foreach (FineOffice.Modules.OA_FlowRunProcess temp in runProcessList) { if (temp.State != 0) { radRunProcess.Items.Add(temp.ProcessName, temp.ID.ToString()); } } radRunProcess.SelectedIndex = radRunProcess.Items.Count - 1; #endregion } if (Request.Form["__EVENTARGUMENT"] == "refreshRunData") { ChangeTrackingList <EntitySearcher> changeTrackingList = ViewState["formSql"] as ChangeTrackingList <EntitySearcher>; GridColumn column = formGrid.FindColumn(formGrid.SortColumn); formGrid_Bind(changeTrackingList, column.SortField, formGrid.SortDirection); } if (Request.Form["__EVENTARGUMENT"] == "refresh_attachment") { ChangeTrackingList <EntitySearcher> changeTrackingList = ViewState["attachmentSql"] as ChangeTrackingList <EntitySearcher>; GridColumn column = attachmentGrid.FindColumn(attachmentGrid.SortColumn); attachmentGrid_Bind(changeTrackingList, column.SortField, attachmentGrid.SortDirection); } if (Request.Form["__EVENTARGUMENT"] == "transmitClose") { PageContext.RegisterStartupScript("saveRunProcess();"); } }