protected void Page_Load(object sender, EventArgs e) { if (this.MyPK == null) { throw new Exception("Mypk==null"); } this.Title = "编辑字段"; switch (this.DoType) { case "Add": this.Add(); break; case "Edit": MapAttr attr = new MapAttr(); attr.MyPK = this.RefNo; attr.RetrieveFromDBSources(); attr.MyDataType = this.FType; if (attr.UIContralType == UIContralType.DDL) { this.Response.Redirect("EditSQL.aspx?MyPK=" + this.MyPK + "&RefNo=" + this.RefNo, true); return; } switch (attr.MyDataType) { case BP.DA.DataType.AppString: this.EditString(attr); break; case BP.DA.DataType.AppDateTime: case BP.DA.DataType.AppDate: case BP.DA.DataType.AppInt: case BP.DA.DataType.AppFloat: case BP.DA.DataType.AppMoney: case BP.DA.DataType.AppDouble: this.EditInt(attr); break; case BP.DA.DataType.AppBoolean: this.EditBool(attr); break; default: throw new Exception("为考虑的类型" + this.FType); } break; default: break; } }
protected override void afterInsertUpdateAction() { MapAttr mapAttr = new MapAttr(); mapAttr.MyPK = this.MyPK; mapAttr.RetrieveFromDBSources(); mapAttr.Update(); //调用frmEditAction, 完成其他的操作. BP.Sys.CCFormAPI.AfterFrmEditAction(this.FK_MapData); base.afterInsertUpdateAction(); }
protected void Page_Load(object sender, EventArgs e) { if (this.MyPK == null) { throw new Exception("Mypk==null"); } this.Title = "编辑字段"; switch (this.DoType) { case "Add": this.Add(); break; case "Edit": MapAttr attr = new MapAttr(); attr.MyPK = this.RefNo; attr.RetrieveFromDBSources(); attr.MyDataType = this.FType; switch (attr.MyDataType) { case BP.DA.DataType.AppString: this.EditString(attr); break; case BP.DA.DataType.AppDateTime: case BP.DA.DataType.AppDate: case BP.DA.DataType.AppInt: case BP.DA.DataType.AppFloat: case BP.DA.DataType.AppMoney: this.EditInt(attr); break; case BP.DA.DataType.AppBoolean: this.EditBool(attr); break; default: throw new Exception("为考虑的类型" + this.FType); } break; default: break; } }
/// <summary> /// 保存列的顺序名称. /// </summary> /// <returns></returns> public string S3ColsLabel_Save() { string orders = this.GetRequestVal("Orders"); //格式为 @KeyOfEn,Lable,idx 比如: @DianHua,电话,1@Addr,地址,2 string rptNo = this.GetRequestVal("RptNo"); string[] strs = orders.Split('@'); foreach (string item in strs) { if (DataType.IsNullOrEmpty(item) == true) { continue; } string[] vals = item.Split(','); string mypk = rptNo + "_" + vals[0]; MapAttr attr = new MapAttr(); attr.MyPK = mypk; attr.Retrieve(); attr.Name = vals[1]; attr.Idx = int.Parse(vals[2]); attr.Update(); //执行更新. } MapAttr myattr = new MapAttr(); myattr.MyPK = rptNo + "_OID"; myattr.RetrieveFromDBSources(); myattr.Idx = 200; myattr.Name = "工作ID"; myattr.Update(); myattr = new MapAttr(); myattr.MyPK = rptNo + "_Title"; myattr.RetrieveFromDBSources(); myattr.Idx = -100; myattr.Name = "标题"; myattr.Update(); return("保存成功.."); }
protected override bool beforeUpdateInsertAction() { MapAttr attr = new MapAttr(); attr.MyPK = this.MyPK; attr.RetrieveFromDBSources(); //是否启用高级js设置. attr.IsEnableJS = this.GetValBooleanByKey("IsEnableJS"); //单选按钮的展现方式. attr.RBShowModel = this.GetValIntByKey("RBShowModel"); //执行保存. attr.Save(); return(base.beforeUpdateInsertAction()); }
protected override bool beforeUpdateInsertAction() { //如果没默认值. if (this.DefVal == "") { this.DefVal = "0"; } MapAttr attr = new MapAttr(); attr.MyPK = this.MyPK; attr.RetrieveFromDBSources(); //是否显示合计 attr.IsSum = this.GetValBooleanByKey("ExtIsSum"); //增加保留小数位数. attr.SetPara("DecimalDigits", this.GetValIntByKey("DecimalDigits")); attr.Update(); return(base.beforeUpdateInsertAction()); }
/// <summary> /// 替换名称 /// </summary> /// <param name="fieldOldName">旧名称</param> /// <param name="newField">新字段</param> /// <param name="newFieldName">新字段名称(可以为空)</param> /// <returns></returns> public string DoChangeFieldName(string fieldOld, string newField, string newFieldName) { MapAttr attrOld = new MapAttr(); attrOld.KeyOfEn = fieldOld; attrOld.FK_MapData = this.No; attrOld.MyPK = attrOld.FK_MapData + "_" + attrOld.KeyOfEn; if (attrOld.RetrieveFromDBSources() == 0) { return("@旧字段输入错误[" + attrOld.KeyOfEn + "]."); } //检查是否存在该字段? MapAttr attrNew = new MapAttr(); attrNew.KeyOfEn = newField; attrNew.FK_MapData = this.No; attrNew.MyPK = attrNew.FK_MapData + "_" + attrNew.KeyOfEn; if (attrNew.RetrieveFromDBSources() == 1) { return("@该字段[" + attrNew.KeyOfEn + "]已经存在."); } //删除旧数据. attrOld.Delete(); //copy这个数据,增加上它. attrNew.Copy(attrOld); attrNew.KeyOfEn = newField; attrNew.FK_MapData = this.No; if (newFieldName != "") { attrNew.Name = newFieldName; } attrNew.Insert(); //更新处理他的相关业务逻辑. MapExts exts = new MapExts(this.No); foreach (MapExt item in exts) { item.MyPK = item.MyPK.Replace("_" + fieldOld, "_" + newField); if (item.AttrOfOper == fieldOld) { item.AttrOfOper = newField; } if (item.AttrsOfActive == fieldOld) { item.AttrsOfActive = newField; } item.Tag = item.Tag.Replace(fieldOld, newField); item.Tag1 = item.Tag1.Replace(fieldOld, newField); item.Tag2 = item.Tag2.Replace(fieldOld, newField); item.Tag3 = item.Tag3.Replace(fieldOld, newField); item.AtPara = item.AtPara.Replace(fieldOld, newField); item.Doc = item.Doc.Replace(fieldOld, newField); item.Save(); } return("执行成功"); }
protected override bool beforeUpdateInsertAction() { MapAttr attr = new MapAttr(); attr.MyPK = this.MyPK; attr.RetrieveFromDBSources(); //高度. // attr.UIHeightInt = this.GetValIntByKey("ExtRows") * 23; attr.IsRichText = this.GetValBooleanByKey(MapAttrAttr.IsRichText); //是否是富文本? attr.IsSupperText = this.GetValBooleanByKey(MapAttrAttr.IsSupperText); //是否是大块文本? if (attr.IsRichText || attr.IsSupperText) { attr.MaxLen = 4000; this.SetValByKey(MapAttrAttr.MaxLen, 4000); } #region 自动扩展字段长度. @杜. 需要翻译. if (attr.MaxLen < 4000) { string sql = ""; MapData md = new MapData(); md.No = this.FK_MapData; if (md.RetrieveFromDBSources() == 1) { if (DBAccess.IsExitsTableCol(md.PTable, this.KeyOfEn) == true) { if (SystemConfig.AppCenterDBType == DBType.MSSQL) { sql = "ALTER TABLE " + md.PTable + " ALTER column " + this.KeyOfEn + " NVARCHAR(" + attr.MaxLen + ")"; } if (SystemConfig.AppCenterDBType == DBType.MySQL) { sql = "alter table " + md.PTable + " modify " + attr.Field + " NVARCHAR(" + attr.MaxLen + ")"; } if (SystemConfig.AppCenterDBType == DBType.Oracle) { sql = "alter table " + md.PTable + " modify " + attr.Field + " NVARCHAR2(" + attr.MaxLen + ")"; } if (SystemConfig.AppCenterDBType == DBType.PostgreSQL) { sql = "alter table " + md.PTable + " modify " + attr.Field + " VARCHAR(" + attr.MaxLen + ")"; } DBAccess.RunSQL(sql); //如果是oracle如果有nvarchar与varchar类型,就会出错. } } } #endregion 自动扩展字段长度. //默认值. string defval = this.GetValStrByKey("ExtDefVal"); if (defval == "" || defval == "0") { string defVal = this.GetValStrByKey("DefVal"); if (defval.Contains("@") == true) { this.SetValByKey("DefVal", ""); } } else { this.SetValByKey("DefVal", this.GetValByKey("ExtDefVal")); } //执行保存. attr.Save(); if (this.GetValStrByKey("GroupID") == "无") { this.SetValByKey("GroupID", "0"); } return(base.beforeUpdateInsertAction()); }
protected void Page_Load(object sender, EventArgs e) { try { switch (this.DoType) { case "DownTempFrm": MapData md = new MapData(this.FK_MapData); DataSet ds = md.GenerHisDataSet(); string name = "ccflow表单模板." + md.Name + "." + md.No + ".xml"; string file = this.Request.PhysicalApplicationPath + "\\Temp\\" + this.FK_MapData + ".xml"; ds.WriteXml(file); this.Response.Redirect("../../Temp/" + this.FK_MapData + ".xml", true); this.WinClose(); break; case "CCForm": this.Application.Clear(); if (WebUser.NoOfRel != "admin") { BP.Port.Emp emp = new BP.Port.Emp("admin"); BP.Web.WebUser.SignInOfGener(emp); } MapAttr mattr = new MapAttr(); mattr.MyPK = this.Request.QueryString["MyPK"]; int i = mattr.RetrieveFromDBSources(); mattr.KeyOfEn = this.Request.QueryString["KeyOfEn"]; mattr.FK_MapData = this.Request.QueryString["FK_MapData"]; mattr.MyDataType = int.Parse(this.Request.QueryString["DataType"]); if (!string.IsNullOrEmpty(this.Request.QueryString["UIBindKey"] + "")) { mattr.UIBindKey = this.Request.QueryString["UIBindKey"]; } mattr.UIContralType = (UIContralType)int.Parse(this.Request.QueryString["UIContralType"]); mattr.LGType = (BP.En.FieldTypeS) int.Parse(this.Request.QueryString["LGType"]); if (i == 0) { mattr.Name = System.Web.HttpUtility.UrlDecode(this.Request.QueryString["KeyName"], System.Text.Encoding.GetEncoding("GB2312")); mattr.UIIsEnable = true; mattr.UIVisible = true; if (mattr.LGType == FieldTypeS.Enum) { mattr.DefVal = "0"; } mattr.Insert(); } else { mattr.Update(); } switch (mattr.LGType) { case BP.En.FieldTypeS.Enum: this.Response.Redirect("EditEnum.aspx?MyPK=" + mattr.FK_MapData + "&RefNo=" + mattr.MyPK, true); return; case BP.En.FieldTypeS.Normal: this.Response.Redirect("EditF.aspx?DoType=Edit&MyPK=" + mattr.FK_MapData + "&RefNo=" + mattr.MyPK + "&FType=" + mattr.MyDataType + "&GroupField=0", true); return; case BP.En.FieldTypeS.FK: this.Response.Redirect("EditTable.aspx?DoType=Edit&MyPK=" + mattr.FK_MapData + "&RefNo=" + mattr.MyPK + "&FType=" + mattr.MyDataType + "&GroupField=0", true); return; default: break; } break; case "DobackToF": MapAttr ma = new MapAttr(this.RefNo); switch (ma.LGType) { case FieldTypeS.Normal: this.Response.Redirect("EditF.aspx?RefNo=" + this.RefNo, true); return; case FieldTypeS.FK: this.Response.Redirect("EditTable.aspx?RefNo=" + this.RefNo, true); return; case FieldTypeS.Enum: this.Response.Redirect("EditEnum.aspx?RefNo=" + this.RefNo, true); return; default: return; } break; case "AddEnum": SysEnumMain sem1 = new SysEnumMain(this.Request.QueryString["EnumKey"]); MapAttr attrAdd = new MapAttr(); attrAdd.KeyOfEn = sem1.No; if (attrAdd.IsExit(MapAttrAttr.FK_MapData, this.MyPK, MapAttrAttr.KeyOfEn, sem1.No)) { BP.Sys.PubClass.Alert("字段已经存在 [" + sem1.No + "]。"); BP.Sys.PubClass.WinClose(); return; } attrAdd.FK_MapData = this.MyPK; attrAdd.Name = sem1.Name; attrAdd.UIContralType = UIContralType.DDL; attrAdd.UIBindKey = sem1.No; attrAdd.MyDataType = BP.DA.DataType.AppInt; attrAdd.LGType = FieldTypeS.Enum; attrAdd.DefVal = "0"; attrAdd.UIIsEnable = true; if (this.Idx == null || this.Idx == "") { MapAttrs attrs1 = new MapAttrs(this.MyPK); attrAdd.Idx = 0; } else { attrAdd.Idx = int.Parse(this.Idx); } attrAdd.Insert(); this.Response.Redirect("EditEnum.aspx?MyPK=" + this.MyPK + "&RefNo=" + attrAdd.MyPK, true); this.WinClose(); return; case "DelEnum": string eKey = this.Request.QueryString["EnumKey"]; SysEnumMain sem = new SysEnumMain(); sem.No = eKey; sem.Delete(); this.WinClose(); return; case "AddSysEnum": this.AddFEnum(); break; case "AddSFTable": this.AddSFTable(); break; case "AddSFTableAttr": SFTable sf = new SFTable(this.Request.QueryString["RefNo"]); this.Response.Redirect("EditTable.aspx?MyPK=" + this.MyPK + "&SFKey=" + sf.No, true); this.WinClose(); return; case "AddFG": /*执行一个插入列组的命令.*/ switch (this.RefNo) { case "IsPass": MapDtl dtl = new MapDtl(this.FK_MapData); dtl.IsEnablePass = true; /*更新是否启动审核分组字段.*/ MapAttr attr = new MapAttr(); attr.FK_MapData = this.FK_MapData; attr.KeyOfEn = "Check_Note"; attr.Name = "审核意见"; attr.MyDataType = DataType.AppString; attr.UIContralType = UIContralType.TB; attr.DefVal = "同意"; attr.UIIsEnable = true; attr.UIIsLine = true; attr.MaxLen = 4000; attr.ColSpan = 4; // 默认为4列。 attr.Idx = 1; attr.Insert(); attr = new MapAttr(); attr.FK_MapData = this.FK_MapData; attr.KeyOfEn = "Checker"; attr.Name = "审核人";// "审核人"; attr.MyDataType = DataType.AppString; attr.UIContralType = UIContralType.TB; attr.MaxLen = 50; attr.MinLen = 0; attr.UIIsEnable = true; attr.UIIsLine = false; attr.DefVal = "@WebUser.Name"; attr.UIIsEnable = false; attr.IsSigan = true; attr.Idx = 2; attr.Insert(); attr = new MapAttr(); attr.FK_MapData = this.FK_MapData; attr.KeyOfEn = "IsPass"; attr.Name = "通过否?";// "审核人"; attr.MyDataType = DataType.AppBoolean; attr.UIContralType = UIContralType.CheckBok; attr.UIIsEnable = true; attr.UIIsLine = false; attr.UIIsEnable = false; attr.IsSigan = true; attr.DefVal = "1"; attr.Idx = 2; attr.DefVal = "0"; attr.Insert(); attr = new MapAttr(); attr.FK_MapData = this.FK_MapData; attr.KeyOfEn = "Check_RDT"; attr.Name = "审核日期"; // "审核日期"; attr.MyDataType = DataType.AppDateTime; attr.UIContralType = UIContralType.TB; attr.UIIsEnable = true; attr.UIIsLine = false; attr.DefVal = "@RDT"; attr.UIIsEnable = false; attr.Idx = 3; attr.Insert(); /* 处理批次ID*/ attr = new MapAttr(); attr.FK_MapData = this.FK_MapData; attr.KeyOfEn = "BatchID"; attr.Name = "BatchID"; // this.ToE("IsPass", "是否通过");// "审核人"; attr.MyDataType = DataType.AppInt; attr.UIIsEnable = false; attr.UIIsLine = false; attr.UIIsEnable = false; attr.UIVisible = false; attr.Idx = 2; attr.DefVal = "0"; attr.Insert(); dtl.Update(); this.WinClose(); return; case "Eval": /* 质量评价 */ attr = new MapAttr(); attr.FK_MapData = this.FK_MapData; attr.KeyOfEn = "EvalEmpNo"; attr.Name = "被评价人员编号"; attr.MyDataType = DataType.AppString; attr.UIContralType = UIContralType.TB; attr.MaxLen = 50; attr.MinLen = 0; attr.UIIsEnable = true; attr.UIIsLine = false; attr.UIIsEnable = false; attr.IsSigan = true; attr.Idx = 1; attr.Insert(); attr = new MapAttr(); attr.FK_MapData = this.FK_MapData; attr.KeyOfEn = "EvalEmpName"; attr.Name = "被评价人员名称"; attr.MyDataType = DataType.AppString; attr.UIContralType = UIContralType.TB; attr.MaxLen = 50; attr.MinLen = 0; attr.UIIsEnable = true; attr.UIIsLine = false; attr.UIIsEnable = false; attr.IsSigan = true; attr.Idx = 2; attr.Insert(); attr = new MapAttr(); attr.FK_MapData = this.FK_MapData; attr.KeyOfEn = "EvalCent"; attr.Name = "工作得分"; attr.MyDataType = DataType.AppFloat; attr.UIContralType = UIContralType.TB; attr.MaxLen = 50; attr.MinLen = 0; attr.UIIsEnable = true; attr.UIIsLine = false; attr.UIIsEnable = true; attr.Idx = 3; attr.Insert(); attr = new MapAttr(); attr.FK_MapData = this.FK_MapData; attr.KeyOfEn = "EvalNote"; attr.Name = "评价信息"; attr.MyDataType = DataType.AppString; attr.UIContralType = UIContralType.TB; attr.MaxLen = 50; attr.MinLen = 0; attr.UIIsEnable = true; attr.UIIsEnable = true; attr.Idx = 4; attr.Insert(); this.WinClose(); return; default: break; } break; case "AddFGroup": this.AddFGroup(); return; case "AddF": case "ChoseFType": this.AddF(); break; case "Up": MapAttr attrU = new MapAttr(this.RefNo); if (this.Request.QueryString["IsDtl"] != null) { attrU.DoDtlUp(); } else { attrU.DoUp(); } this.WinClose(); break; case "Down": //让一个字段下移动. MapAttr attrD = new MapAttr(this.RefNo); attrD.DoDown(); this.WinClose(); break; case "DownAttr": //让一个字段下移动. MapAttr attrAttr = new MapAttr(this.RefNo); attrAttr.DoDtlDown(); this.WinClose(); break; case "Jump": MapAttr attrFrom = new MapAttr(this.Request.QueryString["FromID"]); MapAttr attrTo = new MapAttr(this.Request.QueryString["ToID"]); attrFrom.DoJump(attrTo); this.WinClose(); break; case "MoveTo": string toID = this.Request.QueryString["ToID"]; int toGFID = int.Parse(this.Request.QueryString["ToGID"]); int fromGID = int.Parse(this.Request.QueryString["FromGID"]); string fromID = this.Request.QueryString["FromID"]; MapAttr fromAttr = new MapAttr(); fromAttr.MyPK = fromID; fromAttr.Retrieve(); if (toGFID == fromAttr.GroupID && fromAttr.MyPK == toID) { /* 如果没有移动. */ this.WinClose(); return; } if (toGFID != fromAttr.GroupID && fromAttr.MyPK == toID) { MapAttr toAttr = new MapAttr(toID); fromAttr.Update(MapAttrAttr.GroupID, toAttr.GroupID, MapAttrAttr.Idx, toAttr.Idx); this.WinClose(); return; } this.Response.Redirect(this.Request.RawUrl.Replace("MoveTo", "Jump"), true); return; case "Edit": Edit(); break; case "Del": MapAttr attrDel = new MapAttr(); attrDel.MyPK = this.RefNo; attrDel.Delete(); this.WinClose(); break; case "GFDoUp": GroupField gf = new GroupField(this.RefOID); gf.DoUp(); gf.Retrieve(); if (gf.Idx == 0) { this.WinClose(); return; } int oidIdx = gf.Idx; gf.Idx = gf.Idx - 1; GroupField gfUp = new GroupField(); if (gfUp.Retrieve(GroupFieldAttr.EnName, gf.EnName, GroupFieldAttr.Idx, gf.Idx) == 1) { gfUp.Idx = oidIdx; gfUp.Update(); } gf.Update(); this.WinClose(); break; case "GFDoDown": GroupField mygf = new GroupField(this.RefOID); mygf.DoDown(); mygf.Retrieve(); int oidIdx1 = mygf.Idx; mygf.Idx = mygf.Idx + 1; GroupField gfDown = new GroupField(); if (gfDown.Retrieve(GroupFieldAttr.EnName, mygf.EnName, GroupFieldAttr.Idx, mygf.Idx) == 1) { gfDown.Idx = oidIdx1; gfDown.Update(); } mygf.Update(); this.WinClose(); break; case "AthDoUp": FrmAttachment frmAth = new FrmAttachment(this.MyPK); if (frmAth.RowIdx > 0) { frmAth.RowIdx = frmAth.RowIdx - 1; frmAth.Update(); } this.WinClose(); break; case "AthDoDown": FrmAttachment frmAthD = new FrmAttachment(this.MyPK); if (frmAthD.RowIdx < 10) { frmAthD.RowIdx = frmAthD.RowIdx + 1; frmAthD.Update(); } this.WinClose(); break; case "DtlDoUp": MapDtl dtl1 = new MapDtl(this.MyPK); if (dtl1.RowIdx > 0) { dtl1.RowIdx = dtl1.RowIdx - 1; dtl1.Update(); } this.WinClose(); break; case "DtlDoDown": MapDtl dtl2 = new MapDtl(this.MyPK); if (dtl2.RowIdx < 10) { dtl2.RowIdx = dtl2.RowIdx + 1; dtl2.Update(); } this.WinClose(); break; case "M2MDoUp": MapM2M ddtl1 = new MapM2M(this.MyPK); if (ddtl1.RowIdx > 0) { ddtl1.RowIdx = ddtl1.RowIdx - 1; ddtl1.Update(); } this.WinClose(); break; case "M2MDoDown": MapM2M ddtl2 = new MapM2M(this.MyPK); if (ddtl2.RowIdx < 10) { ddtl2.RowIdx = ddtl2.RowIdx + 1; ddtl2.Update(); } this.WinClose(); break; case "FrameDoUp": MapFrame frame1 = new MapFrame(this.MyPK); if (frame1.RowIdx > 0) { frame1.RowIdx = frame1.RowIdx - 1; frame1.Update(); } this.WinClose(); break; case "FrameDoDown": MapFrame frame2 = new MapFrame(this.MyPK); if (frame2.RowIdx < 10) { frame2.RowIdx = frame2.RowIdx + 1; frame2.Update(); } this.WinClose(); break; default: break; } } catch (Exception ex) { this.Pub1.AddMsgOfWarning("错误:", ex.Message + " <br>" + this.Request.RawUrl); } }