コード例 #1
0
        protected override bool beforeUpdateInsertAction()
        {
            if (this.No == "admin")
            {
                this.RootOfDept = "0";
                this.RootOfFlow = "0";
                this.RootOfForm = "0";
            }
            else
            {
                if (this.UserType == 1)
                {
                    //为树目录更新OrgNo编号.
                    BP.WF.Template.FlowSort fs = new Template.FlowSort();
                    fs.No = this.RootOfFlow;  //周朋需要对照翻译.
                    if (fs.RetrieveFromDBSources() == 1)
                    {
                        fs.OrgNo = this.RootOfDept;
                        fs.Update();

                        //更新本级目录.
                        BP.WF.Template.FlowSorts fsSubs = new Template.FlowSorts();
                        fsSubs.Retrieve(BP.WF.Template.FlowSortAttr.ParentNo, fs.No);
                        foreach (BP.WF.Template.FlowSort item in fsSubs)
                        {
                            item.OrgNo = this.RootOfDept;
                            item.Update();
                        }
                    }
                    BP.DA.DBAccess.RunSQL("UPDATE WF_FlowSort SET OrgNo='0' WHERE OrgNo NOT IN (SELECT RootOfDept FROM WF_Emp WHERE UserType=1 )");
                }
            }
            return(base.beforeUpdateInsertAction());
        }
コード例 #2
0
ファイル: GenerSubInc.cs プロジェクト: gzcw/MyWebApplication
        /// <summary>
        /// 执行
        /// </summary>
        /// <returns>返回执行结果</returns>
        public override object Do()
        {
            //找到根目录.
            string sql = "SELECT No FROM WF_FlowSort where ParentNo='0'";
            string rootNo = DBAccess.RunSQLReturnString(sql, null);
            if (rootNo == null)
                return "没有找到根目录节点" + sql;

            //求出分公司集合(组织结构集合)
            sql = "SELECT No,Name FROM Port_Body where dtype!=3";
            DataTable dtInc = DBAccess.RunSQLReturnTable(sql);


            //把该模版发布到子公司里面去.
            foreach (DataRow dr in dtInc.Rows)
            {
                string incNo = dr["No"].ToString();
                string incName = dr["Name"].ToString();

                //检查该公司是否创建了树节点, 如果没有就插入一个.
                BP.WF.Template.FlowSort fs = new Template.FlowSort();
                fs.No = incNo;
                if (fs.RetrieveFromDBSources() == 0)
                {
                    fs.Name = incName;
                    fs.OrgNo = incNo;
                    fs.ParentNo = rootNo;
                    fs.OrgNo = incNo;
                    fs.Insert();
                }
            }

            return "执行成功";
        }
コード例 #3
0
        /// <summary>
        /// 执行
        /// </summary>
        /// <returns>返回执行结果</returns>
        public override object Do()
        {
            //找到根目录.
            string sql    = "SELECT No FROM WF_FlowSort where ParentNo='0'";
            string rootNo = DBAccess.RunSQLReturnString(sql, null);

            if (rootNo == null)
            {
                return("没有找到根目录节点" + sql);
            }

            //求出分公司集合(组织结构集合)
            sql = "SELECT No,Name FROM Port_Dept where xxx=000";
            DataTable dtInc = DBAccess.RunSQLReturnTable(sql);

            //取得所有根目录下的流程模版.
            Flows fls = new Flows(rootNo);

            string infos = "";

            foreach (Flow fl in fls)
            {
                //不是模版.
                if (fl.FlowMark.Equals("") == true)
                {
                    continue;
                }

                infos += "@开始发布流程模版:" + fl.Name + " 标记:" + fl.FlowMark;

                //把该模版发布到子公司里面去.
                foreach (DataRow dr in dtInc.Rows)
                {
                    string incNo   = dr["No"].ToString();
                    string incName = dr["Name"].ToString();

                    //检查该公司是否创建了树节点, 如果没有就插入一个.
                    BP.WF.Template.FlowSort fs = new Template.FlowSort();
                    fs.No = incNo;
                    if (fs.RetrieveFromDBSources() == 0)
                    {
                        fs.Name     = incName;
                        fs.OrgNo    = incNo;
                        fs.ParentNo = rootNo;
                        fs.Insert();
                    }

                    //开始把该模版发布到该公司下.
                    Flow flInc = new Flow();
                    int  num   = flInc.Retrieve(BP.WF.Template.FlowAttr.FK_FlowSort, incNo,
                                                BP.WF.Template.FlowAttr.FlowMark, fl.FlowMark);
                    if (num == 1)
                    {
                        continue; //模版已经存在.
                    }
                    string filePath = fl.GenerFlowXmlTemplete();

                    //作为一个新的流程编号,导入该流程树的子节点下.
                    BP.WF.Flow.DoLoadFlowTemplate(incNo, filePath, ImpFlowTempleteModel.AsNewFlow);

                    infos += "@模版:" + fl.Name + " 标记:" + fl.FlowMark + " 已经发布到子公司:" + incName;
                }
            }

            return(infos);
        }
コード例 #4
0
ファイル: Dept.cs プロジェクト: gzcw/MyWebApplication
        private void InitFlowSortTree()
        {
            //设置流程树权限.
            BP.WF.Template.FlowSort fs = new WF.Template.FlowSort();
            fs.No = "Inc" + this.No;
            if (fs.RetrieveFromDBSources() != 0)
            {
                fs.OrgNo = this.No;
                fs.Update();
                return;
            }

            //获得根目录节点.
            BP.WF.Template.FlowSort root = new Template.FlowSort();
            int i = root.Retrieve(BP.WF.Template.FlowSortAttr.ParentNo, "0");

            //设置流程树权限.
            fs.Name     = this.Name;
            fs.ParentNo = root.No;
            fs.OrgNo    = this.No;
            fs.Idx      = 999;
            fs.Save();


            //创建下一级目录.
            EntityTree en = fs.DoCreateSubNode();

            en.Name = "流程目录1";
            en.Update();

            en      = fs.DoCreateSubNode();
            en.Name = "流程目录2";
            en.Update();

            //表单根目录.
            BP.Sys.FrmTree ftRoot = new Sys.FrmTree();
            ftRoot.Retrieve(BP.WF.Template.FlowSortAttr.ParentNo, "0");


            //设置表单树权限.
            BP.Sys.FrmTree ft = new Sys.FrmTree();
            ft.No = "Inc" + this.No;
            if (ft.RetrieveFromDBSources() == 0)
            {
                ft.Name     = this.Name;
                ft.ParentNo = ftRoot.No;
                ft.OrgNo    = this.No;
                ft.Idx      = 999;
                ft.Insert();

                //创建两个目录.
                ft.DoCreateSubNode();
                ft.DoCreateSubNode();
            }
            else
            {
                ft.Name     = this.Name;
                ft.ParentNo = ftRoot.No;
                ft.OrgNo    = this.No;
                ft.Idx      = 999;
                ft.Update();
            }
        }