public string SF2_Save()
        {
            SFTable sf = new SFTable();

            sf.No = this.GetValFromFrmByKey("No");
            if (sf.IsExits)
            {
                return("err@标记:" + sf.No + "已经存在.");
            }

            sf.Name        = this.GetValFromFrmByKey("Name");
            sf.FK_SFDBSrc  = this.GetValFromFrmByKey("FK_DBSrc");
            sf.SrcTable    = this.GetValFromFrmByKey("SrcTable");
            sf.CodeStruct  = (CodeStruct)this.GetValIntFromFrmByKey("CodeStruct");
            sf.ColumnValue = this.GetValFromFrmByKey("ColumnValue");
            sf.ColumnText  = this.GetValFromFrmByKey("ColumnText");
            if (sf.CodeStruct == CodeStruct.Tree)
            {
                sf.ParentValue = this.GetValFromFrmByKey("ParentValue");
                sf.DefVal      = this.GetValFromFrmByKey("RootValue");
            }
            sf.SelectStatement = this.GetValFromFrmByKey("Selectstatement");
            sf.SrcType         = SrcType.TableOrView;
            sf.FK_Val          = "FK_" + sf.No;
            sf.Save();

            return("保存成功!");
        }
예제 #2
0
        void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                SFTable main = new SFTable();
                main.No = this.RefNo;
                main.RetrieveFromDBSources();
                main = (SFTable)this.Ucsys1.Copy(main);

                if (this.RefNo == null)
                {
                    if (main.IsExits == true)
                    {
                        throw new Exception("编号[" + main.No + "]已经存在");
                    }
                }

                //设置它的数据源类型.
                main.SrcType = SrcType.SQL;

                #region 检查必填项.
                if (main.No.Length == 0)
                {
                    throw new Exception("编号不能为空");
                }

                if (main.Name.Length == 0)
                {
                    throw new Exception("名称不能为空");
                }

                if (main.SelectStatement == "")
                {
                    throw new Exception("查询的数据源不能为空.");
                }

                if (main.CashMinute <= 0)
                {
                    main.CashMinute = 0;
                }
                #endregion 检查必填项.

                if (this.RefNo == null)
                {
                    main.FK_Val = main.No;
                }

                main.Save();

                //重新生成
                this.Response.Redirect("SFSQL.aspx?RefNo=" + main.No + "&MyPK=" + this.MyPK + "&IDX=" + this.IDX + "&FromApp=" + this.FromApp, true);
            }
            catch (Exception ex)
            {
                this.Alert(ex.Message);
            }
        }
예제 #3
0
    void btn_Click(object sender, EventArgs e)
    {
        string  no   = this.UCSys1.GetTextBoxByID("TB_No").Text;
        string  name = this.UCSys1.GetTextBoxByID("TB_Name").Text;
        SFTable m    = new SFTable();

        m.No = no;
        m.RetrieveFromDBSources();
        m.Name = name;
        if (string.IsNullOrEmpty(name))
        {
            this.Alert("编码表名称不能为空");
            return;
        }
        //  m.HisSFTableType = SFTableType.SFTable;
        m.Save();
        this.Response.Redirect("SFTableList.aspx?RefNo=" + m.No, true);
    }
예제 #4
0
        void btn_Create_Click(object sender, EventArgs e)
        {
            SFTable table = new SFTable();

            table                 = this.Pub1.Copy(table) as SFTable;
            table.FK_SFDBSrc      = Request.QueryString["FK_SFDBSrc"];
            table.SrcTable        = this.Request.QueryString["LB_Table"];
            table.FK_Val          = "FK_" + table.SrcTable;
            table.ColumnText      = this.Request.QueryString["DDL_ColText"];
            table.ColumnValue     = this.Request.QueryString["DDL_ColValue"];
            table.ParentValue     = this.Request.QueryString["DDL_ColParentNo"];
            table.SelectStatement = Uri.UnescapeDataString(Request.QueryString["TB_SelectStatement"]);
            table.SFTableType     = int.Parse(Request.QueryString["DDL_SFTableType"]);

            if (table.SFTableType == 1)
            {
                table.IsTree = true;
            }
            else
            {
                table.IsTree      = false;
                table.ParentValue = null;
            }

            if (BP.DA.DBAccess.IsExitsObject(table.No))
            {
                EasyUiHelper.AddEasyUiMessagerAndBack(this, "@对象(" + table.No + ")已经存在.", "错误", "error");
                return;
            }

            var sql = "CREATE VIEW " + table.No + ""
                      + " AS "
                      + table.SelectStatement;

            BP.DA.DBAccess.RunSQL(sql);

            table.Save();

            EasyUiHelper.AddEasyUiMessagerAndGo(this, "创建成功!查看数据……", "提示", "info", "../../MapDef/SFTableEditData.aspx?RefNo=" + table.No);
        }
예제 #5
0
        void btn_Create_WebService_Click(object sender, EventArgs e)
        {
            SFTable table = new SFTable();

            table         = this.Pub1.Copy(table) as SFTable;
            table.SrcType = SrcType.WebServices;  //9表示WebService数据源表类型,added by liuxc,2015-9-12


            if (string.IsNullOrWhiteSpace(table.No) || string.IsNullOrWhiteSpace(table.Name) || string.IsNullOrWhiteSpace(table.TableDesc) || string.IsNullOrWhiteSpace(table.SrcTable))
            {
                EasyUiHelper.AddEasyUiMessagerAndBack(this, "@编号、名称、Url、接口名称必须填写.", "错误", "error");
                return;
            }

            if (table.IsExit(SFTableAttr.No, table.No))
            {
                EasyUiHelper.AddEasyUiMessagerAndBack(this, "@对象(" + table.No + ")已经存在.", "错误", "error");
                return;
            }

            table.Save();

            EasyUiHelper.AddEasyUiMessagerAndGo(this, "创建成功!", "提示", "info", "SFGuide.aspx?Step=1");
        }
예제 #6
0
        void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                SFTable main = new SFTable();
                main = (SFTable)this.Ucsys1.Copy(main);

                if (main.No.Length == 0 || main.Name.Length == 0)
                {
                    throw new Exception("编号与名称不能为空");
                }

                try
                {
                    main.HisEns.GetNewEntity.CheckPhysicsTable();
                }
                catch
                {
                }


                if (this.RefNo == null)
                {
                    main.No = this.Ucsys1.GetTBByID("TB_No").Text;

                    if (main.IsExits)
                    {
                        string sql = "select No,Name from " + main.No + " WHERE 1=2";
                        try
                        {
                            BP.DA.DBAccess.RunSQLReturnTable(sql);
                        }
                        catch
                        {
                            this.Alert("错误:表或视图不存在No,Name列不符合约定规则  Key=" + main.No);
                            return;
                        }
                    }
                }
                else
                {
                    main.No = this.RefNo;
                    main.Retrieve();
                    main = (SFTable)this.Ucsys1.Copy(main);
                    if (main.No.Length == 0 || main.Name.Length == 0)
                    {
                        throw new Exception("编号与名称不能为空");
                    }
                }

                if (main.Name.Length == 0)
                {
                    throw new Exception("编号与名称不能为空");
                }

                if (main.TableDesc.Length == 0)
                {
                    throw new Exception("描述不能为空");
                }

                if (this.RefNo == null)
                {
                    //if (main.No.Contains("SF_") == false)
                    //    throw new Exception("物理表不符合命名规则,必须以 SF_ 开头。");
                    //  main.FK_Val = main.No.Replace("SF_", "FK_");
                    main.FK_Val = main.No; //.Replace("SF_", "FK_");
                }

                //string cfgVal = "";
                //int idx = -1;
                //while (idx < 19)
                //{
                //    idx++;
                //    string t = this.Ucsys1.GetTBByID("TB_" + idx).Text.Trim();
                //    if (t.Length == 0)
                //        continue;
                //    cfgVal += "@" + idx + "=" + t;
                //}
                //main.CfgVal = cfgVal;
                //if (main.CfgVal == "")
                //    throw new Exception("错误,您必须输入表,请参考帮助。");
                // main.IsDel = true;
                main.Save();


                //重新生成
                this.Response.Redirect("SFTable.aspx?RefNo=" + main.No + "&MyPK=" + this.MyPK + "&IDX=" + this.IDX, true);
            }
            catch (Exception ex)
            {
                this.Alert(ex.Message);
            }
        }
예제 #7
0
        void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                SFTable main = new SFTable();
                main.No = this.RefNo;
                if (this.RefNo != null)
                {
                    main.RetrieveFromDBSources();
                }

                main = (SFTable)this.Ucsys1.Copy(main);
                if (main.No.Length == 0 || main.Name.Length == 0)
                {
                    throw new Exception("编号与名称不能为空");
                }

                if (this.RefNo == null)
                {
                    main.No = this.Ucsys1.GetTBByID("TB_No").Text;
                    if (main.IsExits)
                    {
                        string sql = "select No,Name FROM " + main.No + " WHERE 1=2";
                        try
                        {
                            BP.DA.DBAccess.RunSQLReturnTable(sql);
                        }
                        catch
                        {
                            this.Alert("错误:表或视图不存在No,Name列不符合约定规则  Key=" + main.No);
                            return;
                        }
                    }
                }
                else
                {
                    main.No = this.RefNo;
                    main.RetrieveFromDBSources();
                    main = (SFTable)this.Ucsys1.Copy(main);

                    if (main.No.Length == 0 || main.Name.Length == 0)
                    {
                        throw new Exception("编号与名称不能为空");
                    }
                }

                if (main.Name.Length == 0)
                {
                    throw new Exception("编号与名称不能为空");
                }

                if (main.No.Length == 0)
                {
                    throw new Exception("编号与名称不能为空");
                }

                if (this.RefNo == null)
                {
                    main.FK_Val = main.No;
                }

                main.Save();

                //重新生成
                this.Response.Redirect("SFTable.aspx?RefNo=" + main.No + "&MyPK=" + this.MyPK + "&IDX=" + this.IDX + "&FromApp=" + this.FromApp, true);
            }
            catch (Exception ex)
            {
                this.Alert(ex.Message);
            }
        }
예제 #8
0
        void btn_Create_Local_Click(object sender, EventArgs e)
        {
            SFTable table = new SFTable();

            table             = this.Pub1.Copy(table) as SFTable;
            table.FK_SFDBSrc  = Request.QueryString["FK_SFDBSrc"];
            table.SrcTable    = table.No;
            table.ColumnText  = "Name";
            table.ColumnValue = "No";
            table.IsTree      = false;

            if (BP.DA.DBAccess.IsExitsObject(table.No))
            {
                //判断已经存在的表是否符合NoName规则,如果符合,则自动加入到SFTable中
                var src     = new SFDBSrc(this.FK_SFDBSrc);
                var columns = src.GetColumns(table.No);
                var cols    = new List <string>();

                foreach (DataRow dr in columns.Rows)
                {
                    cols.Add(dr["name"].ToString());
                }

                var regColValue    = cols.FirstOrDefault(o => regs[0].Contains(o.ToLower()));
                var regColText     = cols.FirstOrDefault(o => regs[1].Contains(o.ToLower()));
                var regColParentNo = cols.FirstOrDefault(o => regs[2].Contains(o.ToLower()));

                if (regColValue != null && regColText != null && regColParentNo != null)
                {
                    table.SFTableType = 1;
                    table.IsTree      = true;
                    table.ColumnValue = regColValue;
                    table.ColumnText  = regColText;
                    table.ParentValue = regColParentNo;
                    table.FK_SFDBSrc  = "local";

                    table.Save();
                    EasyUiHelper.AddEasyUiMessagerAndGo(this, "您所创建的“" + table.No + "” 名称的字典表,本地库已经存在,已成功注册!编辑数据……", "提示", "info", "../../MapDef/SFTableEditData.aspx?RefNo=" + table.No);
                }
                else if (regColValue != null && regColText != null)
                {
                    table.SFTableType = 0;
                    table.IsTree      = false;
                    table.ColumnValue = regColValue;
                    table.ColumnText  = regColText;
                    table.ParentValue = null;
                    table.FK_SFDBSrc  = "local";

                    table.Save();
                    EasyUiHelper.AddEasyUiMessagerAndGo(this, "您所创建的“" + table.No + "” 名称的字典表,本地库已经存在,已成功注册!编辑数据……", "提示", "info", "../../MapDef/SFTableEditData.aspx?RefNo=" + table.No);
                }
                else
                {
                    EasyUiHelper.AddEasyUiMessagerAndBack(this, "@对象(" + table.No + ")已经存在.", "错误", "error");
                }

                return;
            }

            var sql = new StringBuilder();

            sql.AppendLine(string.Format("CREATE TABLE dbo.{0}", table.No));
            sql.AppendLine("(");
            sql.AppendLine("No    NVARCHAR(50) NOT NULL PRIMARY KEY,");
            sql.AppendLine("Name  NVARCHAR(100) NULL");
            sql.AppendLine(") ");

            BP.DA.DBAccess.RunSQL(sql.ToString());

            sql.Clear();
            sql.Append("INSERT INTO [dbo].[{0}] ([No], [Name]) VALUES ('0{1}', 'Item{1}')");

            for (var i = 1; i < 4; i++)
            {
                BP.DA.DBAccess.RunSQL(string.Format(sql.ToString(), table.No, i));
            }

            sql.Clear();
            sql.AppendFormat(
                "EXECUTE sp_addextendedproperty N'MS_Description', N'{0}', N'SCHEMA', N'dbo', N'TABLE', N'{1}', NULL, NULL",
                table.Name, table.No);

            BP.DA.DBAccess.RunSQL(sql.ToString());

            table.Save();

            EasyUiHelper.AddEasyUiMessagerAndGo(this, "创建成功!编辑数据……", "提示", "info", "../../MapDef/SFTableEditData.aspx?RefNo=" + table.No);
        }
예제 #9
0
        void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                SFTable main = new SFTable();
                main.No = this.RefNo;
                main.RetrieveFromDBSources();
                main = (SFTable)this.Ucsys1.Copy(main);

                #region 检查必填项.

                if (main.FK_SFDBSrc.Length == 0)
                {
                    throw new Exception("必须选择数据源");
                }

                if (main.TableDesc.Length == 0)
                {
                    throw new Exception("必须选择接口");
                }

                if (main.No.Length == 0)
                {
                    throw new Exception("接口英文名称不能为空");
                }

                if (main.Name.Length == 0)
                {
                    throw new Exception("接口中文名称不能为空");
                }

                var restype = this.Ucsys1.GetDDLByID("DDL_ResultType").SelectedItemStringVal;
                if (restype.Length == 0)
                {
                    throw new Exception("选择接口返回值类型");
                }

                #endregion 检查必填项.

                if (this.RefNo == null)
                {
                    if (main.IsExits == true)
                    {
                        throw new Exception("编号[" + main.No + "]已经存在");
                    }
                }

                //设置它的数据源类型.
                main.SrcType    = SrcType.WebServices;
                main.TableDesc += "," + restype;

                if (this.RefNo == null)
                {
                    main.FK_Val = main.No;
                }

                main.Save();

                //重新生成
                this.Response.Redirect("SFWS.aspx?RefNo=" + main.No + "&MyPK=" + this.MyPK + "&IDX=" + this.IDX + "&FromApp=" + this.FromApp + "&t=" + DateTime.Now.ToString("yyyyMMddHHmmssffffff"), true);
            }
            catch (Exception ex)
            {
                this.Alert(ex.Message);
            }
        }
예제 #10
0
        public string DoType(string dotype, string v1, string v2, string v3, string v4, string v5)
        {
            string sql = "";

            try
            {
                switch (dotype)
                {
                case "CreateCheckGroup":
                    string gKey    = v1;
                    string gName   = v2;
                    string enName1 = v3;

                    MapAttr attrN = new MapAttr();
                    int     i     = attrN.Retrieve(MapAttrAttr.FK_MapData, enName1, MapAttrAttr.KeyOfEn, gKey + "_Note");
                    i += attrN.Retrieve(MapAttrAttr.FK_MapData, enName1, MapAttrAttr.KeyOfEn, gKey + "_Checker");
                    i += attrN.Retrieve(MapAttrAttr.FK_MapData, enName1, MapAttrAttr.KeyOfEn, gKey + "_RDT");
                    if (i > 0)
                    {
                        return("前缀已经使用:" + gKey + " , 请确认您是否增加了这个审核分组或者,请您更换其他的前缀。");
                    }

                    GroupField gf = new GroupField();
                    gf.Lab    = gName;
                    gf.EnName = enName1;
                    gf.Insert();

                    attrN               = new MapAttr();
                    attrN.FK_MapData    = enName1;
                    attrN.KeyOfEn       = gKey + "_Note";
                    attrN.Name          = "审核意见";
                    attrN.MyDataType    = DataType.AppString;
                    attrN.UIContralType = UIContralType.TB;
                    attrN.UIIsEnable    = true;
                    attrN.UIIsLine      = true;
                    attrN.MaxLen        = 4000;
                    attrN.GroupID       = gf.OID;
                    attrN.UIHeight      = 23 * 3;
                    attrN.IDX           = 1;
                    attrN.Insert();

                    attrN               = new MapAttr();
                    attrN.FK_MapData    = enName1;
                    attrN.KeyOfEn       = gKey + "_Checker";
                    attrN.Name          = "审核人";// "审核人";
                    attrN.MyDataType    = DataType.AppString;
                    attrN.UIContralType = UIContralType.TB;
                    attrN.MaxLen        = 50;
                    attrN.MinLen        = 0;
                    attrN.UIIsEnable    = true;
                    attrN.UIIsLine      = false;
                    attrN.DefVal        = "@WebUser.Name";
                    attrN.UIIsEnable    = false;
                    attrN.GroupID       = gf.OID;
                    attrN.IsSigan       = true;
                    attrN.IDX           = 2;
                    attrN.Insert();

                    attrN               = new MapAttr();
                    attrN.FK_MapData    = enName1;
                    attrN.KeyOfEn       = gKey + "_RDT";
                    attrN.Name          = "审核日期"; // "审核日期";
                    attrN.MyDataType    = DataType.AppDateTime;
                    attrN.UIContralType = UIContralType.TB;
                    attrN.UIIsEnable    = true;
                    attrN.UIIsLine      = false;
                    attrN.DefVal        = "@RDT";
                    attrN.UIIsEnable    = false;
                    attrN.GroupID       = gf.OID;
                    attrN.IDX           = 3;
                    attrN.Insert();
                    return(null);

                case "NewDtl":
                    MapDtl dtlN = new MapDtl();
                    dtlN.No = v1;
                    if (dtlN.RetrieveFromDBSources() != 0)
                    {
                        return("从表已存在");
                    }
                    dtlN.Name       = v1;
                    dtlN.FK_MapData = v2;
                    dtlN.PTable     = v1;
                    dtlN.Insert();
                    dtlN.IntMapAttrs();
                    return(null);

                case "DelM2M":
                    MapM2M m2mDel = new MapM2M();
                    m2mDel.MyPK = v1;
                    m2mDel.Delete();
                    //M2M m2mData = new M2M();
                    //m2mData.Delete(M2MAttr.FK_MapData, v1);
                    return(null);

                case "NewAthM":     // 新建 NewAthM.
                    string fk_mapdataAth = v1;
                    string athName       = v2;

                    BP.Sys.FrmAttachment athM = new FrmAttachment();
                    athM.MyPK = athName;
                    if (athM.IsExits)
                    {
                        return("多选名称:" + athName + ",已经存在。");
                    }

                    athM.X          = float.Parse(v3);
                    athM.Y          = float.Parse(v4);
                    athM.Name       = "多文件上传";
                    athM.FK_MapData = fk_mapdataAth;
                    athM.Insert();
                    return(null);

                case "NewM2M":
                    string fk_mapdataM2M = v1;
                    string m2mName       = v2;
                    MapM2M m2m           = new MapM2M();
                    m2m.FK_MapData = v1;
                    m2m.NoOfObj    = v2;
                    if (v3 == "0")
                    {
                        m2m.HisM2MType = M2MType.M2M;
                        m2m.Name       = "新建一对多";
                    }
                    else
                    {
                        m2m.HisM2MType = M2MType.M2MM;
                        m2m.Name       = "新建一对多多";
                    }

                    m2m.X    = float.Parse(v4);
                    m2m.Y    = float.Parse(v5);
                    m2m.MyPK = m2m.FK_MapData + "_" + m2m.NoOfObj;
                    if (m2m.IsExits)
                    {
                        return("多选名称:" + m2mName + ",已经存在。");
                    }
                    m2m.Insert();
                    return(null);

                case "DelEnum":
                    // 检查这个物理表是否被使用。
                    sql = "SELECT  * FROM Sys_MapAttr WHERE UIBindKey='" + v1 + "'";
                    DataTable dtEnum     = DBAccess.RunSQLReturnTable(sql);
                    string    msgDelEnum = "";
                    foreach (DataRow dr in dtEnum.Rows)
                    {
                        msgDelEnum += "\n 表单编号:" + dr["FK_MapData"] + " , 字段:" + dr["KeyOfEn"] + ", 名称:" + dr["Name"];
                    }

                    if (msgDelEnum != "")
                    {
                        return("该枚举已经被如下字段所引用,您不能删除它。" + msgDelEnum);
                    }

                    sql  = "DELETE FROM Sys_EnumMain WHERE No='" + v1 + "'";
                    sql += "@DELETE FROM Sys_Enum WHERE EnumKey='" + v1 + "' ";
                    DBAccess.RunSQLs(sql);
                    return(null);

                case "DelSFTable":     /* 删除自定义的物理表. */
                    // 检查这个物理表是否被使用。
                    sql = "SELECT  * FROM Sys_MapAttr WHERE UIBindKey='" + v1 + "'";
                    DataTable dt     = DBAccess.RunSQLReturnTable(sql);
                    string    msgDel = "";
                    foreach (DataRow dr in dt.Rows)
                    {
                        msgDel += "\n 表单编号:" + dr["FK_MapData"] + " , 字段:" + dr["KeyOfEn"] + ", 名称:" + dr["Name"];
                    }

                    if (msgDel != "")
                    {
                        return("该数据表已经被如下字段所引用,您不能删除它。" + msgDel);
                    }

                    SFTable sfDel = new SFTable();
                    sfDel.No = v1;
                    sfDel.DirectDelete();
                    return(null);

                case "SaveSFTable":
                    string enName = v2;
                    string chName = v1;
                    if (string.IsNullOrEmpty(v1) || string.IsNullOrEmpty(v2))
                    {
                        return("视图中的中英文名称不能为空。");
                    }

                    SFTable sf = new SFTable();
                    sf.No   = enName;
                    sf.Name = chName;

                    sf.No   = enName;
                    sf.Name = chName;

                    sf.FK_Val = enName;
                    sf.Save();
                    if (DBAccess.IsExitsObject(enName) == true)
                    {
                        /*已经存在此对象,检查一下是否有No,Name列。*/
                        sql = "SELECT No,Name FROM " + enName;
                        try
                        {
                            DBAccess.RunSQLReturnTable(sql);
                        }
                        catch (Exception ex)
                        {
                            return("您指定的表或视图(" + enName + "),不包含No,Name两列,不符合ccflow约定的规则。技术信息:" + ex.Message);
                        }
                        return(null);
                    }
                    else
                    {
                        /*创建这个表,并且插入基础数据。*/
                        try
                        {
                            // 如果没有该表或者视图,就要创建它。
                            sql = "CREATE TABLE " + enName + "(No varchar(30) NOT NULL,Name varchar(50) NULL)";
                            DBAccess.RunSQL(sql);
                            DBAccess.RunSQL("INSERT INTO " + enName + " (No,Name) VALUES('001','Item1')");
                            DBAccess.RunSQL("INSERT INTO " + enName + " (No,Name) VALUES('002','Item2')");
                            DBAccess.RunSQL("INSERT INTO " + enName + " (No,Name) VALUES('003','Item3')");
                        }
                        catch (Exception ex)
                        {
                            sf.DirectDelete();
                            return("创建物理表期间出现错误,可能是非法的物理表名.技术信息:" + ex.Message);
                        }
                    }
                    return(null);      /*创建成功后返回空值*/

                case "FrmTempleteExp": //导出表单.
                    MapData mdfrmtem = new MapData();
                    mdfrmtem.No = v1;
                    if (mdfrmtem.RetrieveFromDBSources() == 0)
                    {
                        if (v1.Contains("ND"))
                        {
                            int  nodeId = int.Parse(v1.Replace("ND", ""));
                            Node nd     = new Node(nodeId);
                            mdfrmtem.Name   = nd.Name;
                            mdfrmtem.PTable = v1;
                            mdfrmtem.EnPK   = "OID";
                            mdfrmtem.Insert();
                        }
                    }

                    DataSet ds   = mdfrmtem.GenerHisDataSet();
                    string  file = System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\Temp\\" + v1 + ".xml";
                    if (System.IO.File.Exists(file))
                    {
                        System.IO.File.Delete(file);
                    }
                    ds.WriteXml(file);

                    // BP.PubClass.DownloadFile(file, mdfrmtem.Name + ".xml");
                    //this.DownLoadFile(System.Web.HttpContext.Current, file, mdfrmtem.Name);
                    return(null);

                case "FrmTempleteImp":     //导入表单.
                    DataSet dsImp   = new DataSet();
                    string  fileImp = System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\Temp\\" + v1 + ".xml";
                    dsImp.ReadXml(fileImp);     //读取文件.
                    MapData.ImpMapData(v1, dsImp, true);
                    return(null);

                case "NewHidF":
                    string  fk_mapdataHid = v1;
                    string  key           = v2;
                    string  name          = v3;
                    int     dataType      = int.Parse(v4);
                    MapAttr mdHid         = new MapAttr();
                    mdHid.MyPK        = fk_mapdataHid + "_" + key;
                    mdHid.FK_MapData  = fk_mapdataHid;
                    mdHid.KeyOfEn     = key;
                    mdHid.Name        = name;
                    mdHid.MyDataType  = dataType;
                    mdHid.HisEditType = EditType.Edit;
                    mdHid.MaxLen      = 100;
                    mdHid.MinLen      = 0;
                    mdHid.LGType      = FieldTypeS.Normal;
                    mdHid.UIVisible   = false;
                    mdHid.UIIsEnable  = false;
                    mdHid.Insert();
                    return(null);

                case "DelDtl":
                    MapDtl dtl = new MapDtl(v1);
                    dtl.Delete();
                    return(null);

                case "DeleteFrm":
                    string  delFK_Frm = v1;
                    MapData mdDel     = new MapData(delFK_Frm);
                    mdDel.Delete();
                    sql = "@DELETE FROM Sys_MapData WHERE No='" + delFK_Frm + "'";
                    sql = "@DELETE FROM WF_FrmNode WHERE FK_Frm='" + delFK_Frm + "'";
                    DBAccess.RunSQLs(sql);
                    return(null);

                case "FrmUp":
                case "FrmDown":
                    FrmNode myfn = new FrmNode();
                    myfn.Retrieve(FrmNodeAttr.FK_Node, v1, FrmNodeAttr.FK_Frm, v2);
                    if (dotype == "FrmUp")
                    {
                        myfn.DoUp();
                    }
                    else
                    {
                        myfn.DoDown();
                    }
                    return(null);

                case "SaveFlowFrm":
                    // 转化参数意义.
                    string vals    = v1;
                    string fk_Node = v2;
                    string fk_flow = v3;
                    bool   isPrint = false;
                    if (v5 == "1")
                    {
                        isPrint = true;
                    }

                    bool isReadonly = false;
                    if (v4 == "1")
                    {
                        isReadonly = true;
                    }

                    string msg = this.SaveEn(vals);
                    if (msg.Contains("Error"))
                    {
                        return(msg);
                    }

                    string fk_frm = msg;
                    Frm    fm     = new Frm();
                    fm.No = fk_frm;
                    fm.Retrieve();

                    FrmNode fn = new FrmNode();
                    if (fn.Retrieve(FrmNodeAttr.FK_Frm, fk_frm,
                                    FrmNodeAttr.FK_Node, fk_Node) == 1)
                    {
                        fn.IsEdit  = !isReadonly;
                        fn.IsPrint = isPrint;
                        fn.FK_Flow = fk_flow;
                        fn.Update();
                        BP.DA.DBAccess.RunSQL("UPDATE Sys_MapData SET FK_FrmSort='01',AppType=1  WHERE No='" + fk_frm + "'");
                        return(fk_frm);
                    }

                    fn.FK_Frm  = fk_frm;
                    fn.FK_Flow = fk_flow;
                    fn.FK_Node = int.Parse(fk_Node);
                    fn.IsEdit  = !isReadonly;
                    fn.IsPrint = isPrint;
                    fn.Idx     = 100;
                    fn.FK_Flow = fk_flow;
                    fn.Insert();

                    MapData md = new MapData();
                    md.No = fm.No;
                    if (md.RetrieveFromDBSources() == 0)
                    {
                        md.Name = fm.Name;
                        md.EnPK = "OID";
                        md.Insert();
                    }

                    MapAttr attr = new MapAttr();
                    attr.FK_MapData    = md.No;
                    attr.KeyOfEn       = "OID";
                    attr.Name          = "WorkID";
                    attr.MyDataType    = BP.DA.DataType.AppInt;
                    attr.UIContralType = UIContralType.TB;
                    attr.LGType        = FieldTypeS.Normal;
                    attr.UIVisible     = false;
                    attr.UIIsEnable    = false;
                    attr.DefVal        = "0";
                    attr.HisEditType   = BP.En.EditType.Readonly;
                    attr.Insert();

                    attr               = new MapAttr();
                    attr.FK_MapData    = md.No;
                    attr.KeyOfEn       = "FID";
                    attr.Name          = "FID";
                    attr.MyDataType    = BP.DA.DataType.AppInt;
                    attr.UIContralType = UIContralType.TB;
                    attr.LGType        = FieldTypeS.Normal;
                    attr.UIVisible     = false;
                    attr.UIIsEnable    = false;
                    attr.DefVal        = "0";
                    attr.HisEditType   = BP.En.EditType.Readonly;
                    attr.Insert();

                    attr               = new MapAttr();
                    attr.FK_MapData    = md.No;
                    attr.KeyOfEn       = "RDT";
                    attr.Name          = "记录日期";
                    attr.MyDataType    = BP.DA.DataType.AppDateTime;
                    attr.UIContralType = UIContralType.TB;
                    attr.LGType        = FieldTypeS.Normal;
                    attr.UIVisible     = false;
                    attr.UIIsEnable    = false;
                    attr.DefVal        = "@RDT";
                    attr.HisEditType   = BP.En.EditType.Readonly;
                    attr.Insert();
                    return(fk_frm);

                default:
                    return("Error:" + dotype + " , 未设置此标记.");
                }
            }
            catch (Exception ex)
            {
                return("Error:" + ex.Message);
            }
        }