示例#1
0
        /// <summary>
        /// 执行
        /// </summary>
        /// <returns>返回执行结果</returns>
        public override object Do()
        {
            string keys = "~!@#$%^&*()+{}|:<>?`=[];,./~!@#¥%……&×()——+{}|:“《》?`-=[];',./";

            char[] cc = keys.ToCharArray();
            foreach (char c in cc)
            {
                DBAccess.RunSQL("update sys_mapattr set keyofen=REPLACE(keyofen,'" + c + "' , '')");
            }

            BP.Sys.MapAttrs attrs = new Sys.MapAttrs();
            attrs.RetrieveAll();
            int    idx = 0;
            string msg = "";

            foreach (BP.Sys.MapAttr item in attrs)
            {
                string f = item.KeyOfEn.Clone().ToString();
                try
                {
                    int i = int.Parse(item.KeyOfEn.Substring(0, 1));
                    item.KeyOfEn = "F" + item.KeyOfEn;
                    try
                    {
                        MapAttr itemCopy = new MapAttr();
                        itemCopy.Copy(item);
                        itemCopy.Insert();
                        item.DirectDelete();
                    }
                    catch (Exception ex)
                    {
                        msg += "@" + ex.Message;
                    }
                }
                catch
                {
                    continue;
                }
                DBAccess.RunSQL("UPDATE sys_mapAttr set KeyOfEn='" + item.KeyOfEn + "', mypk=FK_MapData+'_'+keyofen where keyofen='" + item.KeyOfEn + "'");
                msg += "@第(" + idx + ")个错误修复成功,原(" + f + ")修复成(" + item.KeyOfEn + ").";
                idx++;
            }

            BP.DA.DBAccess.RunSQL("UPDATE Sys_MapAttr SET MyPK=FK_MapData+'_'+KeyOfEn WHERE MyPK!=FK_MapData+'_'+KeyOfEn");
            return("修复信息如下:" + msg);
        }
示例#2
0
        /// <summary>
        /// 重置当前用户编号
        /// </summary>
        /// <param name="userNo">当前用户编号</param>
        /// <returns>返回重置信息</returns>
        public string DoChangeUserNo(string userNo)
        {
            if (BP.Web.WebUser.No != "admin")
            {
                return("非超级管理员,不能执行。");
            }

            string msg = "";
            int    i   = 0;
            //更新待办.
            string sql = "update wf_generworkerlist set fk_emp='" + userNo + "' where fk_emp='" + this.No + "'";

            i = BP.DA.DBAccess.RunSQL(sql);
            if (i != 0)
            {
                msg += "@待办更新[" + i + "]个。";
            }

            sql = "UPDATE WF_GENERWORKFLOW  SET STARTER='" + userNo + "'  WHERE STARTER='" + this.No + "'";
            i   = BP.DA.DBAccess.RunSQL(sql);
            if (i != 0)
            {
                msg += "@流程注册更新[" + i + "]个。";
            }


            //更换流程信息的数据表
            BP.WF.Flows fls = new Flows();
            fls.RetrieveAll();
            foreach (Flow fl in fls)
            {
                sql = "UPDATE " + fl.PTable + " SET FlowEnder='" + userNo + "' WHERE FlowEnder='" + this.No + "'";
                i   = DBAccess.RunSQL(sql);

                if (i != 0)
                {
                    msg += "@流程注册更新[" + i + "]个。";
                }

                sql = "UPDATE  " + fl.PTable + "  SET FlowStarter='" + userNo + "' WHERE FlowStarter='" + this.No + "'";
                i   = DBAccess.RunSQL(sql);
                if (i != 0)
                {
                    msg += "@流程业务表发起人,更新了[" + i + "]个。";
                }


                sql = "UPDATE  " + fl.PTable + "  SET Rec='" + userNo + "' WHERE Rec='" + this.No + "'";
                i   = DBAccess.RunSQL(sql);
                if (i != 0)
                {
                    msg += "@流程业务表记录人,更新了[" + i + "]个。";
                }

                string trackTable = "ND" + int.Parse(fl.No) + "Track";
                sql = "UPDATE  " + trackTable + "  SET EmpFrom='" + userNo + "' WHERE EmpFrom='" + this.No + "'";
                i   = DBAccess.RunSQL(sql);
                if (i != 0)
                {
                    msg += "@轨迹表 EmpFrom,更新了[" + i + "]个。";
                }


                sql = "UPDATE  " + trackTable + "  SET EmpTo='" + userNo + "' WHERE EmpTo='" + this.No + "'";
                i   = DBAccess.RunSQL(sql);
                if (i != 0)
                {
                    msg += "@轨迹表 EmpTo,更新了[" + i + "]个。";
                }


                sql = "UPDATE  " + trackTable + "  SET Exer='" + userNo + "' WHERE Exer='" + this.No + "'";
                i   = DBAccess.RunSQL(sql);
                if (i != 0)
                {
                    msg += "@轨迹表 Exer,更新了[" + i + "]个。";
                }
            }


            //更新其他字段.
            BP.Sys.MapAttrs attrs = new Sys.MapAttrs();
            attrs.RetrieveAll();
            foreach (BP.Sys.MapAttr attr in attrs)
            {
                if (attr.DefValReal.Contains("@WebUser.No") == true)
                {
                    try
                    {
                        BP.Sys.MapData md = new Sys.MapData(attr.FK_MapData);
                        sql = "UPDATE " + md.PTable + " SET " + attr.KeyOfEn + "='" + userNo + "' WHERE " + attr.KeyOfEn + "='" + this.No + "'";
                        i   = DBAccess.RunSQL(sql);
                        if (i != 0)
                        {
                            msg += "@表[" + md.Name + "],[" + md.PTable + "] [" + attr.KeyOfEn + "],更新了[" + i + "]个。";
                        }
                    }
                    catch
                    {
                    }
                }
            }
            //人员主表信息-手动修改

            return(msg);
        }
示例#3
0
        /// <summary>
        /// 设计自由表单
        /// </summary>
        /// <returns></returns>
        public string DFreeFrm()
        {
            FrmLabs labs = new Sys.FrmLabs(this.No);

            if (labs.Count == 0)
            {
                //进行初始化控件位置及标签
                MapData md = new MapData();
                md.No = this.No;
                md.RetrieveFromDBSources();
                float maxEnd = 200;
                bool  isLeft = true;

                #region 字段顺序调整
                MapAttrs mapAttrs = new Sys.MapAttrs(md.No);
                foreach (MapAttr attr in mapAttrs)
                {
                    if (attr.UIVisible == false)
                    {
                        continue;
                    }

                    //生成lab.
                    FrmLab lab = null;
                    if (isLeft == true)
                    {
                        maxEnd = maxEnd + 40;
                        /* 是否是左边 */
                        lab            = new FrmLab();
                        lab.MyPK       = BP.DA.DBAccess.GenerGUID();
                        lab.FK_MapData = attr.FK_MapData;
                        lab.Text       = attr.Name;
                        lab.FontName   = "Arial";
                        lab.X          = 40;
                        lab.Y          = maxEnd;
                        lab.Insert();

                        attr.X = lab.X + 80;
                        attr.Y = maxEnd;
                        attr.Update();
                    }
                    else
                    {
                        lab            = new FrmLab();
                        lab.MyPK       = BP.DA.DBAccess.GenerGUID();
                        lab.FK_MapData = attr.FK_MapData;
                        lab.Text       = attr.Name;
                        lab.FontName   = "Arial";
                        lab.X          = 350;
                        lab.Y          = maxEnd;
                        lab.Insert();

                        attr.X = lab.X + 80;
                        attr.Y = maxEnd;
                        attr.Update();
                    }
                    isLeft = !isLeft;
                }
                #endregion

                #region 明细表重置排序
                MapDtls mapDtls = new Sys.MapDtls(this.No);
                foreach (MapDtl dtl in mapDtls)
                {
                    maxEnd = maxEnd + 40;
                    /* 是否是左边 */
                    FrmLab lab = new FrmLab();
                    lab.MyPK       = BP.DA.DBAccess.GenerGUID();
                    lab.FK_MapData = dtl.FK_MapData;
                    lab.Text       = dtl.Name;
                    lab.FontName   = "Arial";
                    lab.X          = 40;
                    lab.Y          = maxEnd;
                    lab.Insert();

                    dtl.X = lab.X + 80;
                    dtl.Y = maxEnd;
                    dtl.Update();
                    maxEnd = maxEnd + dtl.H;
                }
                #endregion

                md.ResetMaxMinXY();
            }
            string url = "../../Admin/CCFormDesigner/FormDesigner.htm?FK_MapData=" + this.No + "&FromDtl=1&UserNo=" + BP.Web.WebUser.No + "&SID=" + Web.WebUser.SID + "&AppCenterDBType=" + BP.DA.DBAccess.AppCenterDBType + "&CustomerNo=" + BP.Sys.SystemConfig.CustomerNo;
            return(url);
        }