protected void Page_Load(object sender, EventArgs e) { //获取以当前FK_Node为起点所能到达的所有结点方向信息 //added by liuxc,2014.11.29 var sql = new StringBuilder(); FrmSubFlow sf = new FrmSubFlow("ND" + this.FK_Node); if (sf.SFActiveFlows.Length <= 2) { // this.Alert("您没有设置要启动的子流程,所以您不能设置触发子流程的条件。"); this.WinCloseWithMsg("在节点【" + sf.NodeID + " " + sf.Name + "】上您没有设置要启动的子流程,所以您不能设置触发子流程的条件。"); return; } BP.WF.Flows fls = new BP.WF.Flows(); string[] strs = sf.SFActiveFlows.Split(','); foreach (string str in strs) { if (string.IsNullOrEmpty(str)) { continue; } BP.WF.Flow fl = new BP.WF.Flow(str); fls.AddEntity(fl); } //sql.AppendLine("SELECT wd.Node,"); //sql.AppendLine(" wn2.Name AS NodeName,"); //sql.AppendLine(" wd.ToNode,"); //sql.AppendLine(" wn.Name AS ToNodeName,"); //sql.AppendLine(" wd.DirType"); //sql.AppendLine("FROM WF_Direction wd"); //sql.AppendLine(" INNER JOIN WF_Node wn"); //sql.AppendLine(" ON wn.NodeID = wd.ToNode"); //sql.AppendLine(" INNER JOIN WF_Node wn2"); //sql.AppendLine(" ON wn2.NodeID = wd.Node"); //sql.AppendLine("WHERE wd.Node = " + FK_Node); rptLines.DataSource = fls.ToDataTableField(); // DBAccess.RunSQLReturnTable(sql.ToString()); rptLines.DataBind(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { FrmSubFlow frmSubFlow = new FrmSubFlow(this.FK_Node); //控件状态 if (frmSubFlow.SFSta == FrmSubFlowSta.Disable) { this.RB_Disable.Checked = true; } if (frmSubFlow.SFSta == FrmSubFlowSta.Enable) { this.RB_Enable.Checked = true; } if (frmSubFlow.SFSta == FrmSubFlowSta.Readonly) { this.RB_Readonly.Checked = true; } //显示方式 if (frmSubFlow.SFShowModel == FrmWorkShowModel.Table) { this.RB_Table.Checked = true; } if (frmSubFlow.SFShowModel == FrmWorkShowModel.Free) { this.RB_Free.Checked = true; } this.TB_SFCaption.Text = frmSubFlow.SFCaption; this.TB_SFDefInfo.Text = frmSubFlow.SFDefInfo; //高度,宽度. this.SF_H.Text = frmSubFlow.SF_H.ToString(); this.SF_W.Text = frmSubFlow.SF_W.ToString(); } }
/// <summary> /// 生成所有表单元素. /// </summary> /// <returns></returns> public string CCForm_AllElements_ResponseJson() { try { DataSet ds = new DataSet(); MapData mapData = new MapData(this.FK_MapData); //属性. MapAttrs attrs = new MapAttrs(this.FK_MapData); attrs.Retrieve(MapAttrAttr.FK_MapData, this.FK_MapData, MapAttrAttr.UIVisible, 1); ds.Tables.Add(attrs.ToDataTableField("Sys_MapAttr")); FrmBtns btns = new FrmBtns(this.FK_MapData); ds.Tables.Add(btns.ToDataTableField("Sys_FrmBtn")); FrmRBs rbs = new FrmRBs(this.FK_MapData); ds.Tables.Add(rbs.ToDataTableField("Sys_FrmRB")); FrmLabs labs = new FrmLabs(this.FK_MapData); ds.Tables.Add(labs.ToDataTableField("Sys_FrmLab")); FrmLinks links = new FrmLinks(this.FK_MapData); ds.Tables.Add(links.ToDataTableField("Sys_FrmLink")); FrmImgs imgs = new FrmImgs(this.FK_MapData); ds.Tables.Add(imgs.ToDataTableField("Sys_FrmImg")); FrmImgAths imgAths = new FrmImgAths(this.FK_MapData); ds.Tables.Add(imgAths.ToDataTableField("Sys_FrmImgAth")); FrmAttachments aths = new FrmAttachments(this.FK_MapData); ds.Tables.Add(aths.ToDataTableField("Sys_FrmAttachment")); MapDtls dtls = new MapDtls(this.FK_MapData); ds.Tables.Add(dtls.ToDataTableField("Sys_MapDtl")); FrmLines lines = new FrmLines(this.FK_MapData); ds.Tables.Add(lines.ToDataTableField("Sys_FrmLine")); BP.Sys.FrmUI.MapFrameExts mapFrameExts = new BP.Sys.FrmUI.MapFrameExts(this.FK_MapData); ds.Tables.Add(mapFrameExts.ToDataTableField("Sys_MapFrame")); //组织节点组件信息. string sql = ""; if (this.FK_Node > 100) { sql += "select '轨迹图' AS Name,'FlowChart' AS No,FrmTrackSta Sta,FrmTrack_X X,FrmTrack_Y Y,FrmTrack_H H,FrmTrack_W W from WF_Node WHERE nodeid=" + SystemConfig.AppCenterDBVarStr + "nodeid"; sql += " union select '审核组件'AS Name, 'FrmCheck'AS No,FWCSta Sta,FWC_X X,FWC_Y Y,FWC_H H, FWC_W W from WF_Node WHERE nodeid=" + SystemConfig.AppCenterDBVarStr + "nodeid"; sql += " union select '子流程' AS Name,'SubFlowDtl'AS No,SFSta Sta,SF_X X,SF_Y Y,SF_H H, SF_W W from WF_Node WHERE nodeid=" + SystemConfig.AppCenterDBVarStr + "nodeid"; sql += " union select '子线程' AS Name, 'ThreadDtl'AS No,FrmThreadSta Sta,FrmThread_X X,FrmThread_Y Y,FrmThread_H H,FrmThread_W W from WF_Node WHERE nodeid=" + SystemConfig.AppCenterDBVarStr + "nodeid"; sql += " union select '流转自定义' AS Name,'FrmTransferCustom' AS No,FTCSta Sta,FTC_X X,FTC_Y Y,FTC_H H,FTC_W W FROM WF_Node WHERE nodeid=" + SystemConfig.AppCenterDBVarStr + "nodeid"; Paras ps = new Paras(); ps.SQL = sql; ps.Add("nodeid", this.FK_Node); DataTable dt = null; try { dt = DBAccess.RunSQLReturnTable(ps); } catch (Exception ex) { FrmSubFlow sb = new FrmSubFlow(); sb.CheckPhysicsTable(); TransferCustom tc = new TransferCustom(); tc.CheckPhysicsTable(); FrmThread ft = new FrmThread(); ft.CheckPhysicsTable(); FrmTrack ftd = new FrmTrack(); ftd.CheckPhysicsTable(); FrmTransferCustom ftd1 = new FrmTransferCustom(); ftd1.CheckPhysicsTable(); throw ex; } dt.TableName = "FigureCom"; if (SystemConfig.AppCenterDBType == DBType.Oracle || SystemConfig.AppCenterDBType == DBType.PostgreSQL) { // figureComCols = "Name,No,Sta,X,Y,H,W"; dt.Columns[0].ColumnName = "Name"; dt.Columns[1].ColumnName = "No"; dt.Columns[2].ColumnName = "Sta"; dt.Columns[3].ColumnName = "X"; dt.Columns[4].ColumnName = "Y"; dt.Columns[5].ColumnName = "H"; dt.Columns[6].ColumnName = "W"; } ds.Tables.Add(dt); } return(BP.Tools.Json.ToJson(ds)); } catch (Exception ex) { return("err@" + ex.Message); } }
protected void BtnSave_Click(object sender, EventArgs e) { FrmSubFlow frmSubFlow = new FrmSubFlow(this.FK_Node); //显示方式 if (this.RB_Table.Checked) { frmSubFlow.SFShowModel = FrmWorkShowModel.Table; } if (this.RB_Free.Checked) { frmSubFlow.SFShowModel = FrmWorkShowModel.Free; } //控件状态 禁用 if (this.RB_Disable.Checked) { frmSubFlow.SFSta = FrmSubFlowSta.Disable; } if (this.RB_Enable.Checked) { frmSubFlow.SFSta = FrmSubFlowSta.Enable; } if (this.RB_Readonly.Checked) { frmSubFlow.SFSta = FrmSubFlowSta.Readonly; } //标题 frmSubFlow.SFCaption = string.IsNullOrWhiteSpace(this.TB_SFCaption.Text.Trim()) ? "" : this.TB_SFCaption.Text.Trim(); //可手工启动的子流程 if (string.IsNullOrWhiteSpace(this.TB_SFDefInfo.Text.Trim()) == false) { string[] flows = this.TB_SFDefInfo.Text.Trim().Split(','); string errorMsg = ""; foreach (string flowNo in flows) //101,,,,102也是错误格式 { if (string.IsNullOrEmpty(flowNo)) { continue; } Flow flEn = new Flow(); flEn.No = flowNo; if (flEn.IsExits == false) { errorMsg = "@流程编号[" + flowNo + "]不存在"; } } if (string.IsNullOrWhiteSpace(errorMsg) == false) { BP.Sys.PubClass.Alert(errorMsg); return; } frmSubFlow.SFDefInfo = this.TB_SFDefInfo.Text.Trim(); } //高度. frmSubFlow.SF_H = float.Parse(this.SF_H.Text.Trim()); frmSubFlow.SF_W = float.Parse(this.SF_W.Text.Trim()); frmSubFlow.Update(); }
protected void Page_Load(object sender, EventArgs e) { //查询出来所有子流程的数据. FrmSubFlow sf = new FrmSubFlow(this.FK_Node); Node nd = new Node(this.FK_Node); this.AddTable(" width='100%' "); if (sf.SFCaption.Length != 0) { this.AddCaption(sf.SFCaption); //标题可以为空 } if (sf.SFDefInfo.Trim().Length == 0) { return; } this.AddTR(); this.AddTDTitleExt("标题"); this.AddTDTitleExt("停留节点"); this.AddTDTitleExt("状态"); this.AddTDTitleExt("处理人"); this.AddTDTitleExt("处理时间"); this.AddTDTitleExt("信息"); this.AddTREnd(); /*有要启动的子流程, 生成启动子流程的连接.*/ string html = ""; string[] strs = sf.SFDefInfo.Split(','); foreach (string str in strs) { if (string.IsNullOrEmpty(str) == true) { continue; } if (str.Length != 3) { continue; } //输出标题. BP.WF.Flow fl = new Flow(str); if (sf.SFSta == FrmSubFlowSta.Enable) { html = "<div style='float:left'><img src='../Img/Max.gif' /> " + fl.Name + "</div> <div style='float:right'><a href=\"javascript:OpenIt('../MyFlow.aspx?FK_Flow=" + fl.No + "&PWorkID=" + this.WorkID + "&PNodeID=" + sf.NodeID + "&PFlowNo=" + nd.FK_Flow + "&PFID=" + this.FID + "')\" >[启动流程]</a></style>"; } if (sf.SFSta == FrmSubFlowSta.Readonly) { html = "<div style='float:left'><img src='../Img/Max.gif' /> " + fl.Name + "</div></style>"; } this.AddTR(); this.AddTD(" class=TRSum colspan=6", html); this.AddTREnd(); //该流程的子流程信息. GenerWorkFlows gwfs = new GenerWorkFlows(); gwfs.Retrieve(GenerWorkFlowAttr.PWorkID, this.WorkID, GenerWorkFlowAttr.FK_Flow, str); //流程. foreach (GenerWorkFlow item in gwfs) { if (item.WFState == WFState.Blank) { continue; } this.AddTR(); this.AddTD("style='word-break:break-all;'", "<a href=\"javascript:OpenIt('../WFRpt.aspx?WorkID=" + item.WorkID + "&FK_Flow=" + item.FK_Flow + "')\" ><img src='../Img/Dot.png' width='9px' /> " + item.Title + "</a>"); this.AddTD(item.NodeName); //到达节点名称. if (item.WFState == WFState.Complete) { this.AddTD("已完成"); } else { this.AddTD("未完成"); } this.AddTD(item.TodoEmps); //到达人员. this.AddTD(BP.DA.DataType.ParseSysDate2DateTimeFriendly(item.RDT)); //日期. this.AddTD(item.FlowNote); //流程备注. this.AddTREnd(); //加载他下面的子流程. InsertSubFlows(item.FK_Flow, item.FK_Node, item.WorkID, 1); } } this.AddTableEnd(); }