// 如果用户安装时选择不安装案例,则流程树、表单树和组织结构表都不存在根节点,此时需要手动添加根节点, // 流程设计器初始化时调用 // 此功能应该添加到安装时,因为每次流程树加载都需要执行一次检查 private bool TreeRootCheck() { try { // 流程树根节点校验 string tmp = "SELECT Name FROM WF_FlowSort where ParentNo =0"; tmp = DBAccess.RunSQLReturnString(tmp); if (string.IsNullOrEmpty(tmp)) { tmp = "INSERT INTO WF_FlowSort(No,Name,ParentNo,TreeNo,idx,IsDir) values('99','流程树','0','',0,0)"; DBAccess.RunSQLReturnString(tmp); } // 表单树根节点校验 tmp = "SELECT Name FROM Sys_FormTree where ParentNo =0"; tmp = DBAccess.RunSQLReturnString(tmp); if (string.IsNullOrEmpty(tmp)) { tmp = "INSERT INTO Sys_FormTree(No,Name,ParentNo,TreeNo,idx,IsDir) values('99','表单树','0','',0,0)"; DBAccess.RunSQLReturnString(tmp); } // 组织结构校验 model = (OSModel)Enum.Parse(typeof(OSModel), this.GetConfig("OSModel"), true); if (model == BP.Sys.OSModel.OneOne) { BP.GPM.Depts rootDepts = new BP.GPM.Depts("0"); if (rootDepts == null || rootDepts.Count == 0) { BP.GPM.Dept rootDept = new BP.GPM.Dept(); rootDept.Name = "集团总部"; rootDept.No = "0"; rootDept.Idx = 0; rootDept.Insert(); } } else if (model == BP.Sys.OSModel.OneOne) { BP.Port.Depts rootDepts = new BP.Port.Depts("0"); if (rootDepts == null || rootDepts.Count == 0) { BP.GPM.Dept rootDept = new BP.GPM.Dept(); rootDept.Name = "集团总部"; rootDept.No = "0"; rootDept.Idx = 0; rootDept.Insert(); } } return(true); } catch (Exception e) { throw new Exception("流程树根节点检查错误", e); } }
/// <summary> /// 增加子级 /// </summary> /// <param name="parentNo"></param> /// <param name="depts"></param> private void GetChildDept(string parentNo, ref string strDepts) { BP.Port.Depts depts = new BP.Port.Depts(parentNo); if (depts != null && depts.Count > 0) { foreach (BP.Port.Dept item in depts) { strDepts += ",'" + item.No + "'"; GetChildDept(item.No, ref strDepts); } } }
public string Demo_HandlerDepts() { BP.Port.Depts depts = new BP.Port.Depts(); depts.RetrieveAll(); return(depts.ToJson()); }
/// <summary> /// 获取指定部门下一级子部门列表 /// </summary> /// <returns></returns> public string Dot2DotTreeDeptModel_GetSubDepts() { string parentid = this.GetRequestVal("parentid"); string nid = this.GetRequestVal("nodeid"); if (string.IsNullOrWhiteSpace(parentid)) { throw new Exception("参数parentid不能为空"); } if (string.IsNullOrWhiteSpace(nid)) { throw new Exception("参数nodeid不能为空"); } EasyuiTreeNode node = null; List <EasyuiTreeNode> d = new List <EasyuiTreeNode>(); BP.WF.Template.NodeDepts sdepts = new BP.WF.Template.NodeDepts(); sdepts.Retrieve(BP.WF.Template.NodeDeptAttr.FK_Node, int.Parse(nid)); if (BP.WF.Glo.OSModel == OSModel.OneOne) { BP.Port.Dept parentDept = new BP.Port.Dept(parentid); BP.Port.Depts depts = new BP.Port.Depts(); depts.Retrieve(BP.Port.DeptAttr.ParentNo, parentid); //增加部门 foreach (BP.Port.Dept dept in depts) { node = new EasyuiTreeNode(); node.id = "DEPT_" + dept.No; node.text = dept.Name; node.iconCls = "icon-department"; node.@checked = sdepts.GetEntityByKey(BP.WF.Template.NodeDeptAttr.FK_Dept, dept.No) != null; node.attributes = new EasyuiTreeNodeAttributes(); node.attributes.No = dept.No; node.attributes.Name = dept.Name; node.attributes.ParentNo = parentDept.No; node.attributes.ParentName = parentDept.Name; node.attributes.TType = "DEPT"; node.attributes.Code = BP.Tools.chs2py.ConvertStr2Code(dept.Name); node.state = "closed"; node.children = new List <EasyuiTreeNode>(); node.children.Add(new EasyuiTreeNode()); node.children[0].text = "loading..."; d.Add(node); } } else { BP.GPM.Dept parentDept = new BP.GPM.Dept(parentid); BP.GPM.Depts depts = new BP.GPM.Depts(); depts.Retrieve(BP.GPM.DeptAttr.ParentNo, parentid, BP.GPM.DeptAttr.Idx); //增加部门 foreach (BP.GPM.Dept dept in depts) { node = new EasyuiTreeNode(); node.id = "DEPT_" + dept.No; node.text = dept.Name; node.iconCls = "icon-department"; node.@checked = sdepts.GetEntityByKey(BP.WF.Template.NodeDeptAttr.FK_Dept, dept.No) != null; node.attributes = new EasyuiTreeNodeAttributes(); node.attributes.No = dept.No; node.attributes.Name = dept.Name; node.attributes.ParentNo = parentDept.No; node.attributes.ParentName = parentDept.Name; node.attributes.TType = "DEPT"; node.attributes.Code = BP.Tools.chs2py.ConvertStr2Code(dept.Name); node.state = "closed"; node.children = new List <EasyuiTreeNode>(); node.children.Add(new EasyuiTreeNode()); node.children[0].text = "loading..."; d.Add(node); } } return(Newtonsoft.Json.JsonConvert.SerializeObject(d)); }
public void SetDataV2() { this.UCSys1.Clear(); Entities ens = DA.ClassFactory.GetEns(this.Request.QueryString["EnsName"]); ens.RetrieveAll(); Entity en = ens.GetNewEntity; string space = ""; if (this.DropDownList1.SelectedValue == "None") { bool isGrade = ens.IsGradeEntities; if (isGrade) { this.UCSys1.Add("<a name='top' ></a>"); int num = ens.GetCountByKey("Grade", 2); if (num > 1) { int i = 0; this.UCSys1.AddTable(); this.UCSys1.AddTR(); this.UCSys1.AddTDTitle("序号"); this.UCSys1.AddTDTitle("<img src='../Images/Home.gif' border=0 />数据选择导航"); this.UCSys1.AddTREnd(); foreach (Entity myen in ens) { if (myen.GetValIntByKey("Grade") != 2) { continue; } i++; this.UCSys1.AddTR(); this.UCSys1.AddTDIdx(i); this.UCSys1.AddTD("<a href='#ID" + myen.GetValStringByKey(this.RefKey) + "' > " + myen.GetValStringByKey(this.RefKey) + " " + myen.GetValStringByKey(this.RefText) + "</a>"); this.UCSys1.AddTREnd(); } this.UCSys1.AddTableEnd(); } } this.UCSys1.AddTable(); this.UCSys1.AddTR(); this.UCSys1.AddTDTitle("IDX"); this.UCSys1.AddTDTitle(""); this.UCSys1.AddTREnd(); bool is1 = false; int idx = 0; foreach (Entity myen in ens) { idx++; is1 = this.UCSys1.AddTR(is1); this.UCSys1.AddTDIdx(idx); RadioBtn rb = new RadioBtn(); rb.GroupName = "s"; if (isGrade) { int grade = myen.GetValIntByKey("Grade"); space = ""; space = space.PadLeft(grade - 1, '-'); space = space.Replace("-", " "); // this.UCSys1.AddTD(space); switch (grade) { case 2: rb.Text = "<a href='#top' name='ID" + myen.GetValStringByKey(this.RefKey) + "' ><Img src='../Images/Top.gif' border=0 /></a><b><font color=green>" + myen.GetValStringByKey(this.RefKey) + myen.GetValStringByKey(this.RefText) + "</font></b>"; break; case 3: rb.Text = "<b>" + myen.GetValStringByKey(this.RefKey) + myen.GetValStringByKey(this.RefText) + "</b>"; break; default: rb.Text = myen.GetValStringByKey(this.RefKey) + myen.GetValStringByKey(this.RefText); break; } } else { rb.Text = myen.GetValStringByKey(this.RefText); } rb.ID = "RB_" + myen.GetValStringByKey(this.RefKey); string clientscript = "window.returnValue = '" + myen.GetValStringByKey(this.RefKey) + "';window.close();"; rb.Attributes["onclick"] = clientscript; //this.UCSys1.Add(rb); //this.UCSys1.AddBR(); this.UCSys1.AddTD(rb); this.UCSys1.AddTREnd(); } this.UCSys1.AddTableEnd(); return; } string key = this.DropDownList1.SelectedValue; Attr attr = en.EnMap.GetAttrByKey(key); if (attr.MyFieldType == FieldType.Enum || attr.MyFieldType == FieldType.PKEnum) { SysEnums ses = new SysEnums(attr.Key); this.UCSys1.AddTable(); //("<TABLE border=1 >"); foreach (SysEnum se in ses) { this.UCSys1.Add("<TR><TD class='Toolbar'>"); this.UCSys1.Add(se.Lab); this.UCSys1.Add("</TD></TR>"); this.UCSys1.Add("<TR><TD>"); #region add dtl this.UCSys1.AddTable(); int i = -1; foreach (Entity myen in ens) { if (myen.GetValIntByKey(attr.Key) != se.IntKey) { continue; } i++; if (i == 3) { i = 0; } if (i == 0) { this.UCSys1.Add("<TR>"); } RadioBtn rb = new RadioBtn(); rb.GroupName = "dsfsd"; rb.Text = myen.GetValStringByKey(this.RefText); rb.ID = "RB_" + myen.GetValStringByKey(this.RefKey); string clientscript = "window.returnValue = '" + myen.GetValStringByKey(this.RefKey) + "';window.close();"; // rb.Attributes["ondblclick"] = clientscript; rb.Attributes["onclick"] = clientscript; this.UCSys1.AddTD(rb); if (i == 2) { this.UCSys1.Add("</TR>"); } } this.UCSys1.Add("</TABLE>"); #endregion add dtl. this.UCSys1.Add("</TD></TR>"); } this.UCSys1.Add("</TABLE>"); return; } if (attr.Key == "FK_Dept") { BP.Port.Depts Depts = new BP.Port.Depts(); Depts.RetrieveAll(); this.UCSys1.AddTR(); this.UCSys1.AddTDToolbar("一级分组"); this.UCSys1.AddTREnd(); this.UCSys1.AddTR(); this.UCSys1.AddTDBegin(); this.UCSys1.AddTable(); /* 显示导航信息 */ int i = 0; //int span = 2; foreach (BP.Port.Dept Dept in Depts) { if (Dept.Grade == 2 || Dept.Grade == 1) { i++; this.UCSys1.Add("<TR>"); this.UCSys1.AddTDIdx(i); this.UCSys1.AddTD("<a href='#ID_2" + Dept.No + "' > " + Dept.No + " " + Dept.Name + "</a><BR>"); this.UCSys1.Add("</TR>"); } } this.UCSys1.AddTableEnd(); this.UCSys1.AddTDEnd(); this.UCSys1.AddTREnd(); // ===================== this.UCSys1.AddTR(); this.UCSys1.AddTDToolbar("二级分组"); this.UCSys1.AddTREnd(); this.UCSys1.AddTDBegin(); this.UCSys1.AddTable(); /* 显示导航信息 */ // int i = 0; //int span = 2; i = 0; foreach (BP.Port.Dept Dept in Depts) { i++; this.UCSys1.Add("<TR>"); this.UCSys1.AddTDIdx(i); if (Dept.Grade == 2) { this.UCSys1.AddTD(" <a name='ID_2" + Dept.No + "' >" + Dept.No + "</A> <a href='#ID" + Dept.No + "' ><b>" + Dept.Name + "</b></a><A HREF='#top'><Img src='../Images/Top.gif' border=0 /></a><BR>"); } else { this.UCSys1.AddTD(" " + Dept.No + " <a href='#ID" + Dept.No + "' name='#ID_2" + Dept.No + "' >" + Dept.Name + "</a><BR>"); } this.UCSys1.Add("</TR>"); } this.UCSys1.Add("</Table>"); this.UCSys1.Add("</TD></TR>"); //============ 数据 foreach (BP.Port.Dept groupen in Depts) { this.UCSys1.Add("<TR><TD class='Toolbar' >"); this.UCSys1.Add("<a href='#ID_2" + groupen.No + "' name='ID" + groupen.No + "' ><Img src='../Images/Top.gif' border=0 /></a> " + groupen.GetValStringByKey(attr.UIRefKeyText)); this.UCSys1.Add("</TD></TR>"); this.UCSys1.Add("<TR><TD>"); #region add info . this.UCSys1.AddTable(); i = -1; foreach (Entity myen in ens) { if (myen.GetValStringByKey(attr.Key) != groupen.GetValStringByKey(attr.UIRefKeyValue)) { continue; } i++; if (i == 3) { i = 0; } if (i == 0) { this.UCSys1.Add("<TR>"); } RadioBtn rb = new RadioBtn(); rb.GroupName = "dsfsd"; rb.Text = myen.GetValStringByKey(this.RefText); rb.ID = "RB_" + myen.GetValStringByKey(this.RefKey); string clientscript = "window.returnValue = '" + myen.GetValStringByKey(this.RefKey) + "';window.close();"; // rb.Attributes["ondblclick"] = clientscript; rb.Attributes["onclick"] = clientscript; this.UCSys1.AddTD(rb); if (i == 2) { this.UCSys1.Add("</TR>"); } } this.UCSys1.Add("</Table>"); #endregion add info . this.UCSys1.Add("</TD></TR>"); } this.UCSys1.Add("</TABLE>"); } else { Entities groupens = ClassFactory.GetEns(attr.UIBindKey); groupens.RetrieveAll(); this.UCSys1.AddTable(); //("<TABLE border=1 >"); if (groupens.Count > 19) { this.UCSys1.Add("<TR><TD class='Toolbar' ><img src='../Images/Home.gif' border=0 />数据选择导航 <font size='2'>提示:点分组连接就可到达分组数据</font></TD></TR>"); this.UCSys1.Add("<TR><TD>"); this.UCSys1.AddTable(); /* 显示导航信息 */ int i = 0; //int span = 2; foreach (Entity groupen in groupens) { i++; this.UCSys1.AddTR(); this.UCSys1.AddTDIdx(i); this.UCSys1.AddTD("<a href='#ID" + groupen.GetValStringByKey(attr.UIRefKeyValue) + "' > " + groupen.GetValStringByKey(attr.UIRefKeyValue) + " " + groupen.GetValStringByKey(attr.UIRefKeyText) + "</a><BR>"); this.UCSys1.AddTREnd(); } this.UCSys1.Add("</Table>"); this.UCSys1.Add("</TD></TR>"); } foreach (Entity groupen in groupens) { this.UCSys1.Add("<TR><TD class='Toolbar' >"); this.UCSys1.Add("<a href='#top' name='ID" + groupen.GetValStringByKey(attr.UIRefKeyValue) + "' ><Img src='../Images/Top.gif' border=0 /></a> " + groupen.GetValStringByKey(attr.UIRefKeyText)); this.UCSys1.Add("</TD></TR>"); this.UCSys1.Add("<TR><TD>"); #region add info . this.UCSys1.AddTable(); int i = -1; foreach (Entity myen in ens) { if (myen.GetValStringByKey(attr.Key) != groupen.GetValStringByKey(attr.UIRefKeyValue)) { continue; } i++; if (i == 3) { i = 0; } if (i == 0) { this.UCSys1.AddTR(); } RadioBtn rb = new RadioBtn(); rb.GroupName = "dsfsd"; rb.Text = myen.GetValStringByKey(this.RefText); rb.ID = "RB_" + myen.GetValStringByKey(this.RefKey); string clientscript = "window.returnValue = '" + myen.GetValStringByKey(this.RefKey) + "';window.close();"; // rb.Attributes["ondblclick"] = clientscript; rb.Attributes["onclick"] = clientscript; this.UCSys1.AddTD(rb); if (i == 2) { this.UCSys1.AddTREnd(); } } this.UCSys1.AddTableEnd(); #endregion add info . this.UCSys1.Add("</TD></TR>"); } this.UCSys1.AddTableEnd(); } }