private void SetState() { try { this.Btn_ComeBackFlow.Enabled = false; this.Btn_DeleteFlowByFlag.Enabled = false; this.Btn_DeleteWFByRealReal.Enabled = false; this.Btn_StopWorkFlow.Enabled = false; Int64 workId = Int64.Parse(this.Request.QueryString["WorkID"]); //int nodeId=int.Parse(this.Request.QueryString["WorkID"]); string flowNo = this.Request.QueryString["FK_Flow"]; if (workId == 0) { this.Alert("@您没有选择流程,操作无效。", false); this.WinClose(); return; } WorkFlow wf = new WorkFlow(new Flow(flowNo), workId); if (wf.IsComplete) { this.Alert("@流程已经完成,操作无效。", false); this.WinClose(); return; } GenerWorkFlow gwf = new GenerWorkFlow(); //workId,flowNo gwf.WorkID = workId; gwf.FK_Flow = flowNo; if (gwf.IsExits == false) { wf.DoDeleteWorkFlowByReal(true); throw new Exception("系统出现错误,请与管理员联系:错误原因是当前的流程[" + flowNo + " id=" + workId + "],没有完成,但是流程表里已经不存在这此信息,此流程已经成为无效的流程,可能是测试信息,系统已经删除它。"); } else { gwf.Retrieve(); } if (gwf.WFState == WFState.Complete) { this.Alert("@流程已经完成,不能够对此操作.", false); this.WinClose(); return; } else if (gwf.WFState == 0) { this.Btn_DeleteFlowByFlag.Enabled = true; this.Btn_StopWorkFlow.Enabled = true; } else { throw new Exception("error "); } this.Label1.Text = "当前流程状态:" + gwf.WFState; Flow fl = new Flow(gwf.FK_Flow); //显示日志信息 StartWork sw = (StartWork)fl.HisStartNode.HisWork; sw.OID = workId; if (sw.IsExits == false) { gwf.Delete(); throw new Exception("@开始节点已经物理删除.流程出现错误, 此条流程已经失效, 请你关闭窗口返回系统,刷新记录."); } sw.Retrieve(); // 判断流程能不能够删除的权限. /* * 如果是 4 涉税审批流程. * 就让征收科室来处理, * 否则让mdg 处理. * */ if (fl.FK_FlowSort == "4") { /* 法征科 */ if (WebUser.FK_Dept == "000003") { this.Btn_DeleteWFByRealReal.Enabled = true; } } else { if (WebUser.FK_Dept == "000001") { this.Btn_DeleteWFByRealReal.Enabled = true; } } //this.UCWFRpt1.BindDataV2(wf); } catch (Exception ex) { this.Alert(ex); this.WinClose(); } }