示例#1
0
        // 如果用户安装时选择不安装案例,则流程树、表单树和组织结构表都不存在根节点,此时需要手动添加根节点,
        // 流程设计器初始化时调用
        // 此功能应该添加到安装时,因为每次流程树加载都需要执行一次检查
        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);
            }
        }
示例#2
0
 /// <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);
         }
     }
 }
示例#3
0
 public string Demo_HandlerDepts()
 {
     BP.Port.Depts depts = new BP.Port.Depts();
     depts.RetrieveAll();
     return(depts.ToJson());
 }
示例#4
0
        /// <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));
        }
示例#5
0
        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) + "' >&nbsp;&nbsp;" + myen.GetValStringByKey(this.RefKey) + "&nbsp;&nbsp;" + 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("-", "&nbsp;&nbsp;&nbsp;");
                        //    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 + "' >&nbsp;&nbsp;" + Dept.No + "&nbsp;&nbsp;" + 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("&nbsp;&nbsp;<a name='ID_2" + Dept.No + "' >" + Dept.No + "</A>&nbsp;&nbsp;<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("&nbsp;&nbsp;" + Dept.No + "&nbsp;&nbsp;<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>&nbsp;&nbsp;" + 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 />数据选择导航&nbsp;&nbsp;&nbsp;<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) + "' >&nbsp;&nbsp;" + groupen.GetValStringByKey(attr.UIRefKeyValue) + "&nbsp;&nbsp;" + 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>&nbsp;&nbsp;" + 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();
            }
        }