public void ProcessRequest(HttpContext context) { string ensName = context.Request.QueryString["EnsName"]; string PKVal = context.Request.QueryString["PKVal"]; BP.En.Entities ens = BP.En.ClassFactory.GetEns(ensName); BP.En.Entity en = ens.GetNewEntity; if (PKVal != null) { en.PKVal = PKVal; en.RetrieveFromDBSources(); } en = BP.Sys.PubClass.CopyFromRequest(en, context.Request); en.Save(); #region 保存 属性 附件 try { //AttrFiles fils = en.EnMap.HisAttrFiles; //SysFileManagers sfs = new SysFileManagers(en.ToString(), en.PKVal.ToString()); //foreach (AttrFile fl in fils) //{ // HtmlInputFile file = (HtmlInputFile)this.UCEn1.FindControl("F" + fl.FileNo); // if (file.Value.Contains(".") == false) // continue; // SysFileManager enFile = sfs.GetEntityByKey(SysFileManagerAttr.AttrFileNo, fl.FileNo) as SysFileManager; // SysFileManager enN = null; // if (enFile == null) // { // enN = this.FileSave(null, file, en); // } // else // { // enFile.Delete(); // enN = this.FileSave(null, file, en); // } // enN.AttrFileNo = fl.FileNo; // enN.AttrFileName = fl.FileName; // enN.EnName = en.ToString(); // enN.Update(); //} } catch { // this.Alert("保存附件出现错误:" + ex.Message); } #endregion }
/// <summary> /// 设置 /// </summary> public void SetDGData() { string sql = ""; if (this.CurrentSelectedCheckButton.Index == 0) { sql = "SELECT Val FROM Sys_DefVal WHERE FK_Emp='" + this.FK_Emp + "' AND EnsName='" + this.EnsName + "' AND AttrKey='" + this.AttrKey + "'"; } else if (this.CurrentSelectedCheckButton.Index == 1) { if (this.FK_Emp != "admin") { this.Btn_Delete.Enabled = false; } else { this.Btn_Delete.Enabled = true; } sql = "SELECT Val FROM Sys_DefVal WHERE EnsName='" + this.EnsName + "' AND AttrKey='" + this.AttrKey + "' AND FK_Emp='0'"; } else if (this.CurrentSelectedCheckButton.Index == 2) { BP.En.Entity en = ClassFactory.GetEn(this.EnsName); string field = en.EnMap.GetFieldByKey(this.AttrKey); switch (DBAccess.AppCenterDBType) { case DBType.Oracle: sql = "SELECT DISTINCT " + field + " FROM " + en.EnMap.PhysicsTable + " WHERE length( trim(" + field + " ) ) > 0 AND rownum <=40 "; break; default: sql = "SELECT DISTINCT TOP 40 " + field + " FROM " + en.EnMap.PhysicsTable + " WHERE len(rtrim(ltrim(" + field + " )) ) > 0 "; break; } } DataTable dt = DBAccess.RunSQLReturnTable(sql); this.CBL1.Items.Clear(); foreach (DataRow dr in dt.Rows) { this.CBL1.Items.Add(dr[0].ToString()); } }
public string SystemClass_EnsCheck() { try { BP.En.Entity en = BP.En.ClassFactory.GetEn(this.EnName); BP.En.Map map = en.EnMap; en.CheckPhysicsTable(); string msg = ""; // string msg = ""; string table = ""; string sql = ""; string sql1 = ""; string sql2 = ""; int COUNT1 = 0; int COUNT2 = 0; DataTable dt = new DataTable(); Entity refen = null; foreach (Attr attr in map.Attrs) {
/// <summary> /// 将实体类转为json格式 /// </summary> /// <param name="ens"></param> /// <param name="hidenKeys">隐藏字段</param> /// <returns></returns> public string TranslateEntityToJson(BP.En.Entity en, string hidenKeys) { Attrs attrs = en.EnMap.Attrs; StringBuilder append = new StringBuilder(); append.Append("{"); foreach (Attr attr in attrs) { if (!string.IsNullOrEmpty(hidenKeys) && hidenKeys.Contains("@" + attr.Key)) { continue; } string strValue = en.GetValStrByKey(attr.Key); if (!string.IsNullOrEmpty(strValue) && strValue.LastIndexOf("\\") > -1) { strValue = strValue.Substring(0, strValue.LastIndexOf("\\")); } append.Append(attr.Key + ":'" + strValue + "',"); } append = append.Remove(append.Length - 1, 1); append.Append("}"); return(ReplaceIllgalChart(append.ToString())); }
public void BindCheck() { BP.En.Entity en = BP.En.ClassFactory.GetEn(this.EnsName); BP.En.Map map = en.EnMap; en.CheckPhysicsTable(); string msg = ""; // string msg = ""; string table = ""; string sql = ""; string sql1 = ""; string sql2 = ""; int COUNT1 = 0; int COUNT2 = 0; DataTable dt = new DataTable(); Entity refen = null; foreach (Attr attr in map.Attrs) { /**/ if (attr.MyFieldType == FieldType.FK || attr.MyFieldType == FieldType.PKFK) { refen = ClassFactory.GetEns(attr.UIBindKey).GetNewEntity; table = refen.EnMap.PhysicsTable; sql1 = "SELECT COUNT(*) FROM " + table; Attr pkAttr = refen.EnMap.GetAttrByKey(refen.PK); sql2 = "SELECT COUNT( distinct " + pkAttr.Field + ") FROM " + table; COUNT1 = DBAccess.RunSQLReturnValInt(sql1); COUNT2 = DBAccess.RunSQLReturnValInt(sql2); if (COUNT1 != COUNT2) { msg += "<BR>@关联表(" + refen.EnMap.EnDesc + ")主键不唯一,它会造成数据查询不准确或者意向不到的错误:<BR>sql1=" + sql1 + " <BR>sql2=" + sql2; msg += "@SQL= SELECT * FROM ( select " + refen.PK + ", COUNT(*) AS NUM from " + table + " GROUP BY " + refen.PK + " ) WHERE NUM!=1"; } sql = "SELECT " + attr.Field + " FROM " + map.PhysicsTable + " WHERE " + attr.Field + " NOT IN (SELECT " + pkAttr.Field + " FROM " + table + " )"; dt = DBAccess.RunSQLReturnTable(sql); if (dt.Rows.Count == 0) { continue; } else { msg += "<BR>:有" + dt.Rows.Count + "个错误。" + attr.Desc + " sql= " + sql; } } if (attr.MyFieldType == FieldType.PKEnum || attr.MyFieldType == FieldType.Enum) { sql = "SELECT " + attr.Field + " FROM " + map.PhysicsTable + " WHERE " + attr.Field + " NOT IN ( select Intkey from sys_enum WHERE ENUMKEY='" + attr.UIBindKey + "' )"; dt = DBAccess.RunSQLReturnTable(sql); if (dt.Rows.Count == 0) { continue; } else { msg += "<BR>:有" + dt.Rows.Count + "个错误。" + attr.Desc + " sql= " + sql; } } } // 检查pk是否一致。 if (en.PKs.Length == 1) { sql1 = "SELECT COUNT(*) FROM " + map.PhysicsTable; COUNT1 = DBAccess.RunSQLReturnValInt(sql1); Attr attrMyPK = en.EnMap.GetAttrByKey(en.PK); sql2 = "SELECT COUNT(DISTINCT " + attrMyPK.Field + ") FROM " + map.PhysicsTable; COUNT2 = DBAccess.RunSQLReturnValInt(sql2); if (COUNT1 != COUNT2) { msg += "@物理表(" + map.EnDesc + ")中主键不唯一;它会造成数据查询不准确或者意向不到的错误:<BR>sql1=" + sql1 + " <BR>sql2=" + sql2; msg += "@SQL= SELECT * FROM ( select " + en.PK + ", COUNT(*) AS NUM from " + map.PhysicsTable + " GROUP BY " + en.PK + " ) WHERE NUM!=1"; } } if (msg == "") { this.UCSys1.AddMsgOfInfo(map.EnDesc + ":数据体检信息:", "体检成功。"); } else { this.UCSys1.AddMsgOfWarning(map.EnDesc + ":数据体检信息:", "体检失败<BR>" + msg.Replace("@", "<BR>@")); } string help = ""; help += "@什么是数据体检?"; help += " 数据体检就是检查数据的完整性。"; help += "@如果系统升级,一些字段的长度发生变化,字段的类型发生变化系统就会自动修复。"; help += "@系统会检查出来,外键枚举对应不上的信息,并把该信息列出来让管理员处理。"; this.UCSys1.AddMsgOfInfo("什么是数据体检?", help); }
public void ProcessRequest(HttpContext context) { string ensName = context.Request.QueryString["EnsName"]; string PKVal = context.Request.QueryString["PKVal"]; BP.En.Entities ens = BP.En.ClassFactory.GetEns(ensName); BP.En.Entity en = ens.GetNewEntity; if (PKVal != null) { en.PKVal = PKVal; en.RetrieveFromDBSources(); } en = BP.Sys.PubClass.CopyFromRequest(en, context.Request); en.Save(); #region 保存 实体附件 try { if (en.EnMap.Attrs.Contains("MyFileName")) { //HtmlInputFile file = this.UCEn1.FindControl("file") as HtmlInputFile; //if (file != null && file.Value.IndexOf(".") != -1) //{ // BP.Sys.EnCfg cfg = new EnCfg(en.ToString()); // if (System.IO.Directory.Exists(cfg.FJSavePath) == false) // System.IO.Directory.CreateDirectory(cfg.FJSavePath); // /* 如果包含这二个字段。*/ // string fileName = file.PostedFile.FileName; // fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1); // string filePath = cfg.FJSavePath; // en.SetValByKey("MyFilePath", filePath); // string ext = ""; // if (fileName.IndexOf(".") != -1) // ext = fileName.Substring(fileName.LastIndexOf(".") + 1); // en.SetValByKey("MyFileExt", ext); // en.SetValByKey("MyFileName", fileName); // en.SetValByKey("WebPath", cfg.FJWebPath + en.PKVal + "." + ext); // string fullFile = filePath + "/" + en.PKVal + "." + ext; // file.PostedFile.SaveAs(fullFile); // file.PostedFile.InputStream.Close(); // file.PostedFile.InputStream.Dispose(); // file.Dispose(); // System.IO.FileInfo info = new System.IO.FileInfo(fullFile); // en.SetValByKey("MyFileSize", BP.DA.DataType.PraseToMB(info.Length)); // if (DataType.IsImgExt(ext)) // { // System.Drawing.Image img = System.Drawing.Image.FromFile(fullFile); // en.SetValByKey("MyFileH", img.Height); // en.SetValByKey("MyFileW", img.Width); // img.Dispose(); // } // en.Update(); //} } } catch (Exception ex) { // this.Alert("保存附件出现错误:" + ex.Message); } #endregion #region 保存 属性 附件 try { //AttrFiles fils = en.EnMap.HisAttrFiles; //SysFileManagers sfs = new SysFileManagers(en.ToString(), en.PKVal.ToString()); //foreach (AttrFile fl in fils) //{ // HtmlInputFile file = (HtmlInputFile)this.UCEn1.FindControl("F" + fl.FileNo); // if (file.Value.Contains(".") == false) // continue; // SysFileManager enFile = sfs.GetEntityByKey(SysFileManagerAttr.AttrFileNo, fl.FileNo) as SysFileManager; // SysFileManager enN = null; // if (enFile == null) // { // enN = this.FileSave(null, file, en); // } // else // { // enFile.Delete(); // enN = this.FileSave(null, file, en); // } // enN.AttrFileNo = fl.FileNo; // enN.AttrFileName = fl.FileName; // enN.EnName = en.ToString(); // enN.Update(); //} } catch { // this.Alert("保存附件出现错误:" + ex.Message); } #endregion }