public BizEntityAction(string bizID, Flow_StateActionDefine action, SinoRequestUser su, string desdwid, string desuserid, string infoID) { BizID = bizID; Action = action; ActionUser = su; DesDWID = desdwid; DesUserID = desuserid; ActionInfoID = infoID; }
public BizEntityAction(string _bizID, ActionEntity _action, SinoRequestUser _su, string _desdwid, string _desuserid, string _infoID) { BizID = _bizID; Action = _action; ActionUser = _su; DesDWID = _desdwid; DesUserID = _desuserid; ActionInfoID = _infoID; }
public static string BuildItem(MDModel_Table_Column mcolumn, SinoRequestUser requestUser) { if ((mcolumn.SecretLevel > requestUser.BaseInfo.SecretLevel) || (!mcolumn.CanDisplay)) { return(string.Format("'***' {0}", mcolumn.ColumnAlias)); } if (mcolumn.ColumnRefDMB == string.Empty) { if (mcolumn.ColumnDataType == "NUMBER") { return(string.Format("Round({0}.{1},20) {2}", mcolumn.TableName, mcolumn.ColumnName, mcolumn.ColumnAlias)); } else if (mcolumn.ColumnDataType == "单位名称") { return(string.Format("ZHTJ_ZZJG2.GETDWMC(to_number({0}.{1})) {2}", mcolumn.TableName, mcolumn.ColumnName, mcolumn.ColumnAlias)); } else if (mcolumn.ColumnDataType == "用户名称") { return(string.Format("ZHTJ_ZZJG2.Get_YHXM(to_number({0}.{1})) {2}", mcolumn.TableName, mcolumn.ColumnName, mcolumn.ColumnAlias)); } else { return(string.Format("{0}.{1} {2}", mcolumn.TableName, mcolumn.ColumnName, mcolumn.ColumnAlias)); } } else { if (mcolumn.DMBLevelFormat == "多选") { return(string.Format("ZHCX.GetCTMuti_FGF(TO_CHAR({0}.{1}),'{3}','{4}') {2}", mcolumn.TableName, mcolumn.ColumnName, mcolumn.ColumnAlias, mcolumn.ColumnRefDMB, ';')); } else { return(string.Format("ZHCX.GetCT(TO_CHAR({0}.{1}),'{3}') {2}", mcolumn.TableName, mcolumn.ColumnName, mcolumn.ColumnAlias, mcolumn.ColumnRefDMB)); } } }
public static string CreateDataFilterStr(MDModel_QueryModel _qv, SinoRequestUser RequestUser) { string _res = ""; if (_qv.MainTable.SecretFun.Trim() != "") { _res = string.Format(" {0}({1}.ZHCX_DW,'{2}') = '1' and ", _qv.MainTable.SecretFun, _qv.MainTable.TableName, RequestUser.SinoPost.PostDWDM); } else { _res = ""; } if (_qv.MainTable.ExtSecret.Trim() != "") { _res = string.Format("{0} and {1}", ReplaceExtSecret(_qv, _qv.MainTable.ExtSecret, RequestUser), _res); } return(_res); }
private static string CreateTableRelationString(MDModel_QueryModel _qv, List <string> _usedTableList, SinoRequestUser RequestUser) { StringBuilder _ret = new StringBuilder(); foreach (string _tname in _usedTableList) { if (_tname != _qv.MainTable.TableName) { MDModel_Table _cTable = (from _t in _qv.ChildTables where _t.TableName == _tname select _t).First(); if (_cTable != null) { if (_cTable.TableRelation != string.Empty) { _ret.Append(string.Format("and {0} ", ReplaceExtSecret(_qv, _cTable.TableRelation, RequestUser))); } } } } if (_ret.Length > 3) { return("(" + _ret.ToString().Substring(3) + ") and "); } else { return(""); } }
public static string GetChildTableData(MDModel_QueryModel model, MDModel_Table childTable, string MainKey, SinoRequestUser RequestUser) { StringBuilder _sql = new StringBuilder(); _sql.Append("select "); _sql.Append(childTable.TableName); _sql.Append("."); _sql.Append(childTable.MainKey); _sql.Append(" MAINKEY"); foreach (MDModel_Table_Column _tc in childTable.Columns) { if (_tc.CanDisplay && _tc.CanResultShow) { _sql.Append(","); _sql.Append(OraResultItemBuilder.BuildItem(_tc, RequestUser)); } } _sql.Append(" from "); _sql.Append(string.Format(" {0},{1} ", model.MainTable.TableName, childTable.TableName)); _sql.Append(" where "); _sql.Append(string.Format(" {0}.{1} ", model.MainTable.TableName, model.MainTable.MainKey)); _sql.Append(" = '"); _sql.Append(MainKey); _sql.Append("' and "); _sql.Append(childTable.TableRelation); _sql.Append(string.Format(" order by {0}.{1} ", childTable.TableName, childTable.MainKey)); return(_sql.ToString()); }
public static string GetChildTableCountData(MDModel_QueryModel model, MDModel_Table childTable, string mainKey, SinoRequestUser requestUser) { StringBuilder _sql = new StringBuilder(); _sql.Append(string.Format("select count({0}.{1}) ", childTable.TableName, childTable.MainKey)); _sql.Append(" from "); _sql.Append(string.Format(" {0},{1} ", model.MainTable.TableName, childTable.TableName)); _sql.Append(" where "); _sql.Append(string.Format(" {0}.{1} ", model.MainTable.TableName, model.MainTable.MainKey)); _sql.Append(" = '"); _sql.Append(mainKey); _sql.Append("' and "); _sql.Append(childTable.TableRelation); return(_sql.ToString()); }
public static string GetMainTableData(MDModel_Table maintable, string mainKey, SinoRequestUser requestUser) { StringBuilder sql = new StringBuilder(); sql.Append("select "); sql.Append(maintable.MainKey); sql.Append(" MAINKEY"); foreach (MDModel_Table_Column _tc in maintable.Columns) { if (_tc.CanDisplay && _tc.CanResultShow) { sql.Append(","); sql.Append(OraResultItemBuilder.BuildItem(_tc, requestUser)); } } sql.Append(" from "); sql.Append(maintable.TableName); sql.Append(" where "); sql.Append(maintable.MainKey); sql.Append(" = '"); sql.Append(mainKey); sql.Append("' "); return(sql.ToString()); }
public static string BuildItem(MDQuery_TableColumn rColumn, MDModel_QueryModel qv, SinoRequestUser requestUser) { switch (rColumn.ColumnType) { case QueryColumnType.TableColumn: return(BuildTableColumnResult(rColumn, qv, requestUser)); case QueryColumnType.CalculationColumn: return(BuildCalculationColumnResult(rColumn, qv, requestUser)); case QueryColumnType.StatisticsColumn: return(BuildStatisticsColumnResult(rColumn, qv, requestUser));; } return(""); }
/// <summary> /// 取所有主键的值 /// </summary> /// <param name="guideLineId"></param> /// <param name="param"></param> /// <param name="keyField"></param> /// <param name="requestUser"></param> /// <returns></returns> public static string GetAllKeyField(string guideLineId, Dictionary <string, object> param, string keyField, SinoRequestUser requestUser) { int count = 0; DataTable tb = new DataTable("ResultTable"); MD_GuideLine define = GetGuidelineDefine(guideLineId); if (define != null) { string queryStr = GetGuidelineMethod(guideLineId); List <MDQuery_GuideLineParameter> glPara = new List <MDQuery_GuideLineParameter>(); if (param != null && define.Parameters != null) { foreach (var p in param) { MD_GuideLineParameter md_pa = define.Parameters.Find(pa => pa.ParameterName == p.Key); if (md_pa != null) { glPara.Add(new MDQuery_GuideLineParameter(md_pa, p.Value)); } } } foreach (MDQuery_GuideLineParameter gp in glPara) { queryStr = OraQueryBuilder.RebuildGuideLineQueryString(queryStr, gp); } if (requestUser != null) { queryStr = OraQueryBuilder.ReplaceExtSecret(null, queryStr, requestUser); } tb = OraQueryModelHelper.FillResultData(queryStr, "ResultTable", ref count); try { tb.PrimaryKey = new DataColumn[] { tb.Columns[keyField] }; } catch { string errMsg = string.Format("取指标[zbid={0}]的结果集中所有主键[KeyField={1}]的值时设置主键出错,请检查主键是否唯一!", guideLineId, keyField); //OracleLogWriter.WriteSystemLog(errMsg, "ERROR"); return(""); } } List <string> listKeyField = new List <string>(); foreach (DataRow row in tb.Rows) { listKeyField.Add(row[keyField].ToString()); } return(string.Join(",", listKeyField)); }
/// <summary> /// 取指标结果集 /// </summary> /// <param name="guideLineId"></param> /// <param name="param"></param> /// <param name="filterWord"></param> /// <param name="requestUser"></param> /// <returns></returns> public static DataTable QueryGuideline(string guideLineId, Dictionary <string, object> param, string filterWord, SinoRequestUser requestUser) { int getQueryStartTime = Environment.TickCount; int count = 0; DataTable tb = new DataTable("ResultTable"); MD_GuideLine define = GetGuidelineDefine(guideLineId); if (define != null) { string queryStr = GetGuidelineMethod(guideLineId); List <MDQuery_GuideLineParameter> glPara = new List <MDQuery_GuideLineParameter>(); if (param != null && define.Parameters != null) { foreach (var p in param) { MD_GuideLineParameter md_pa = define.Parameters.Find(pa => pa.ParameterName == p.Key); if (md_pa != null) { glPara.Add(new MDQuery_GuideLineParameter(md_pa, p.Value)); } } } foreach (MDQuery_GuideLineParameter gp in glPara) { queryStr = OraQueryBuilder.RebuildGuideLineQueryString(queryStr, gp); } if (requestUser != null) { queryStr = OraQueryBuilder.ReplaceExtSecret(null, queryStr, requestUser); } if (!string.IsNullOrEmpty(filterWord)) { queryStr = string.Format("select * from (\n {0} \n) where {1}", queryStr, filterWord); } tb = OraQueryModelHelper.FillResultData(queryStr, "ResultTable", ref count); if (requestUser != null && requestUser.BaseInfo != null) { //OracleLogWriter.WriteQueryLog(BuildQueryLogStr(guideLineId, param, requestUser), Environment.TickCount - getQueryStartTime, count.ToString(), requestUser.BaseInfo.UserId, "2"); } } return(tb); }
public static int GetQueryResultCount(string guideLineId, Dictionary <string, object> param, string filterWord, SinoRequestUser requestUser, MySqlConnection cn) { int ret = 0; string queryStr = GetGuidelineMethod(guideLineId); MD_GuideLine define = GetGuidelineDefine(guideLineId); if (define != null) { List <MDQuery_GuideLineParameter> glPara = new List <MDQuery_GuideLineParameter>(); if (param != null && define.Parameters != null) { foreach (var p in param) { MD_GuideLineParameter md_pa = define.Parameters.Find(pa => pa.ParameterName == p.Key); if (md_pa != null) { glPara.Add(new MDQuery_GuideLineParameter(md_pa, p.Value)); } } } foreach (MDQuery_GuideLineParameter gp in glPara) { queryStr = OraQueryBuilder.RebuildGuideLineQueryString(queryStr, gp); } if (requestUser != null) { queryStr = OraQueryBuilder.ReplaceExtSecret(null, queryStr, requestUser); } if (!string.IsNullOrEmpty(filterWord)) { queryStr = string.Format("select * from (\n {0} \n) where {1}", queryStr, filterWord); } try { ret = Convert.ToInt32(MysqlDBHelper.ExecuteScalar(cn, CommandType.Text, string.Format("select count(*) from (\n {0} \n) ", queryStr))); } catch (Exception exception) { string errorMessage = string.Format("取指标[{0}]的结果记录数出错,错误信息为{1}", guideLineId, exception.Message); //OracleLogWriter.WriteSystemLog(errorMessage, "ERROR"); } } return(ret); }
public static Dictionary <string, string> GetQueryStr(MDModel_QueryModel _qv, MDQuery_Request _queryRequest, ref string _mainQueryStr, SinoRequestUser RequestUser) { _mainQueryStr = ""; string _filterStr = CreateDataFilterStr(_qv, RequestUser); bool canQueryOnce = IsOneResultTable(_qv, _queryRequest); string _conditionStr = CreateConditionString(_qv, _queryRequest); if (canQueryOnce) { //单查询语句 List <string> _usedTableList = GetSingleQueryUsedTable(_qv, _queryRequest); string _displayStr = CreateSingleDisplayString(_qv, _queryRequest, RequestUser); string _tableStr = CreateTableString(_qv, _usedTableList); string _tableRelationStr = CreateTableRelationString(_qv, _usedTableList, RequestUser); _mainQueryStr = string.Format("select * from (select DISTINCT {0} from {1} where {4} ( {2} ({3})) ) where rownum<{5}", _displayStr, _tableStr, _tableRelationStr, _conditionStr, _filterStr, QueryMaxReturnRows); return(new Dictionary <string, string>()); } else { //多查询语句 List <string> _QueryUsedTableList = GetQueryUsedTable(_qv, _queryRequest); string _tableStr = CreateTableString(_qv, _QueryUsedTableList); string _tableRelationStr = CreateTableRelationString(_qv, _QueryUsedTableList, RequestUser); string _displayStr = string.Format("{0}.{1} MAINID", _qv.MainTable.TableName, _qv.MainTable.MainKey); _mainQueryStr = string.Format("select * from (select {0} from {1} where {4} ( {2} ({3})) ) where rownum<{5} ", _displayStr, _tableStr, _tableRelationStr, _conditionStr, _filterStr, QueryMaxReturnRows); Dictionary <string, string> _ret = new Dictionary <string, string>(); _ret.Add(_qv.MainTable.TableName, CreateMainTableResult(_qv, _queryRequest.MainResultTable, RequestUser)); foreach (MDQuery_ResultTable _rt in _queryRequest.ChildResultTables) { _ret.Add(_rt.TableName, CreateChildTableResult(_qv, _rt, RequestUser)); } return(_ret); } }
/// <summary> /// 把数据列存到实体 /// </summary> /// <param name="column"></param> /// <param name="entity"></param> /// <param name="sinoRequestUser"></param> private void SaveInputDataToEntityByColumns(MD_InputModel_Column column, MD_InputEntity entity, SinoRequestUser sinoRequestUser) { if (entity.InputData == null) { entity.InputData = new Dictionary <string, string>(); } switch (column.ColumnType) { case "组织机构": //string orgCode = string.IsNullOrEmpty(HttpContext.Current.Request.Form[column.ColumnName]) ? "" : HttpContext.Current.Request.Form[column.ColumnName].ToString(); string orgCode = string.IsNullOrEmpty("") ? "" : "".ToString(); if (orgCode.Trim().IndexOf('[') > -1) { string code = orgCode.Substring(orgCode.IndexOf('[') + 1, orgCode.IndexOf(']') - orgCode.IndexOf('[') - 1); entity.InputData.Add(column.ColumnName, code); } else { entity.InputData.Add(column.ColumnName, ""); } break; case "代码表": case "移送管辖移往单位": case "派转移往单位": //string refCodeList = string.IsNullOrEmpty(HttpContext.Current.Request.Form[column.ColumnName]) ? "" : HttpContext.Current.Request.Form[column.ColumnName].ToString(); string refCodeList = string.IsNullOrEmpty("") ? "" : "".ToString(); //先判断是否为多选代码表,暂时判断只要不为空就为多选 if (!string.IsNullOrEmpty(column.CanEditRule)) { if (refCodeList.Contains(',')) { entity.InputData.Add(column.ColumnName, refCodeList); } else { string code = String.Empty; if (refCodeList.Contains('[')) { code = refCodeList.Substring(refCodeList.IndexOf('[') + 1, refCodeList.IndexOf(']') - refCodeList.IndexOf('[') - 1); } else { code = refCodeList; } entity.InputData.Add(column.ColumnName, code); } } else { if (refCodeList.Trim().IndexOf(',') > -1) { entity.InputData.Add(column.ColumnName, refCodeList); } else { if (refCodeList.Length > 1) { int temp = 0; if (int.TryParse(refCodeList, out temp)) { entity.InputData.Add(column.ColumnName, refCodeList); } else { string code = refCodeList.Substring(refCodeList.IndexOf('[') + 1, refCodeList.IndexOf(']') - refCodeList.IndexOf('[') - 1); entity.InputData.Add(column.ColumnName, code); } } else { entity.InputData.Add(column.ColumnName, ""); } } } break; case "DATE": case "日期型": //if (!string.IsNullOrEmpty(HttpContext.Current.Request.Form[column.ColumnName])) if (!string.IsNullOrEmpty("")) { //entity.InputData.Add(column.ColumnName, DateTime.Parse(HttpContext.Current.Request.Form[column.ColumnName]).ToString("s")); } break; case "RADIO": //string value = HttpContext.Current.Request.Form[column.ColumnName]; string value = ""; // if (!string.IsNullOrEmpty(value)) { var array = value.Split(','); entity.InputData.Add(column.ColumnName, array[0]); } break; case "VARCHAR": case "字符型": case "多行文本": case "NUMBER": case "数值型": case "目标单位": switch (column.EditFormat) { case "当前单位": if (!string.IsNullOrEmpty("")) { //entity.InputData.Add(column.ColumnName, sinoRequestUser.BaseInfo.CurrentPost.PostDwId); } break; case "当前用户": //if (!string.IsNullOrEmpty(HttpContext.Current.Request.QueryString["MenuId"])) if (!string.IsNullOrEmpty("")) { entity.InputData.Add(column.ColumnName, sinoRequestUser.BaseInfo.UserId); } break; default: if (column.EditFormat.ToUpper() == "HSBM") { //todo:还待处理HSBM保存时只保存HS编码 //string code = HttpContext.Current.Request.Form[column.ColumnName]; string code = ""; if (!string.IsNullOrEmpty(code)) { if (code.IsDigit()) { entity.InputData.Add(column.ColumnName, code); } else { try { code = code.Substring(code.IndexOf('[') + 1, code.IndexOf(']') - code.IndexOf('[') - 1); entity.InputData.Add(column.ColumnName, code); } catch (Exception exception) { string errorMessage = string.Format("HS编码[{0}]保存时格式异常{1}", code, exception.Message); //LogClient.WriteSystemLog(errorMessage, "ERROR"); } } } else { entity.InputData.Add(column.ColumnName, ""); } } else if (column.EditFormat.ToUpper() == "PERSONLIST") { if (column.InputRule == "MutiSelect") { string tempText = ""; // HttpContext.Request.Form[column.ColumnName]; if (!string.IsNullOrEmpty(tempText)) { if (tempText == column.ToolTipText) { tempText = ""; } } entity.InputData.Add(column.ColumnName, tempText); } else { string userId = ""; // HttpContext.Current.Request.Form[column.ColumnName]; entity.InputData.Add(column.ColumnName, !string.IsNullOrEmpty(userId) ? userId : ""); } } else { string tempText = ""; // HttpContext.Current.Request.Form[column.ColumnName]; if (!string.IsNullOrEmpty(tempText)) { if (tempText == column.ToolTipText) { tempText = ""; } } entity.InputData.Add(column.ColumnName, tempText); } break; } break; default: //entity.InputData.Add(column.ColumnName, (HttpContext.Current.Request.Form[column.ColumnName].LastIndexOf(',') == HttpContext.Current.Request.Form[column.ColumnName].Length - 1) ? HttpContext.Current.Request.Form[column.ColumnName].Substring(0, HttpContext.Current.Request.Form[column.ColumnName].Length - 1) : HttpContext.Current.Request.Form[column.ColumnName]); entity.InputData.Add(column.ColumnName, ("".LastIndexOf(',') == "".Length - 1) ? "".Substring(0, "".Length - 1) : ""); break; } }
public MD_InputEntity GetInputEntity(SinoRequestUser sinoRequestUser, ref string errorMessage, string confirm_parm) { string formId = "aehyok"; MD_InputEntity inputEntity = new MD_InputEntity(formId); Dictionary <string, string> dictionary = new Dictionary <string, string>(); //TODO 获取Form表单配置信息 MD_InputModel inputModel = new MD_InputModel(); // GetInputModelByModelName(); List <MD_InputModel_ColumnGroup> columnGroups = inputModel.Groups; if (columnGroups.Count > 0) { foreach (MD_InputModel_ColumnGroup group in columnGroups) { if ((group.GroupType.ToUpper() != "QUERYMODEL") && (group.GroupType.ToUpper() != "APPREG")) { if (group.Columns != null) { foreach (MD_InputModel_Column mdColumn in group.Columns) { SaveInputDataToEntityByColumns(mdColumn, inputEntity, sinoRequestUser); #region 代码表 if (mdColumn.ColumnType == "代码表") { if (inputEntity.InputData.ContainsKey(mdColumn.ColumnName)) { var inputCodeValue = inputEntity.InputData[mdColumn.ColumnName]; if (string.IsNullOrWhiteSpace(inputCodeValue)) //如果取得得代码表值为空 { if (mdColumn.Required) { AddErrorMessage(dictionary, mdColumn); continue; } } else { bool unlawful = false; var fullRefCodeData = new List <Object>();// SinoSZJS.Common.V2.Common.OraRefTableFactory.GetFullRefCodeData(mdColumn.EditFormat); #region 多选 if (!string.IsNullOrEmpty(mdColumn.CanEditRule)) { #region 输入值为多个 if (inputCodeValue.IndexOf(",") > -1) { var inputCodeValueArray = inputCodeValue.Split(','); foreach (string str in inputCodeValueArray) { //if (fullRefCodeData.FindIndex(q => q.Code == str) == -1) //{ // unlawful = true; // break; //} } } #endregion #region 输入值为单个 else { //if (fullRefCodeData.FindIndex(q => q.Code == inputCodeValue) == -1) //{ // unlawful = true; //} } #endregion } #endregion #region 单选 else { //if (fullRefCodeData.FindIndex(q => q.Code == inputCodeValue) == -1) //{ // unlawful = true; //} } #endregion if (unlawful) { dictionary.Add(mdColumn.ColumnName, mdColumn.ColumnName + ""); AddErrorMessage(dictionary, mdColumn); continue; } } } else { AddErrorMessage(dictionary, mdColumn); } } #endregion #region 必填项 if (mdColumn.Required) { if (inputEntity.InputData.ContainsKey(mdColumn.ColumnName)) { object value = inputEntity.InputData[mdColumn.ColumnName]; if (value == null || value.ToString() == "") { AddErrorMessage(dictionary, mdColumn); } else { if (mdColumn.MaxInputLength > 0) { if (value.ToString().IsDigit() && value.ToString().Length > mdColumn.MaxInputLength) { dictionary.Add(mdColumn.ColumnName, mdColumn.DisplayName + "输入的值非法!"); } } } } else { AddErrorMessage(dictionary, mdColumn); } } #endregion } } } } } else { foreach (MD_InputModel_Column md in inputModel.Columns) { SaveInputDataToEntityByColumns(md, inputEntity, sinoRequestUser); } } //errorMessage = dictionary.Count > 0 ? string.Join("\n", dictionary.Values.ToArray()) : ""; var json = JsonConvert.SerializeObject(dictionary, Formatting.Indented); string error = ""; //根据confirm_parm参数 返回不同格式的errorMessage数据。 //confirm_parm参数为1返回Common.Modal所需要的Json格式。 //confirm_parm参数为2返回Common.alert所需要的string字符串格式。 if (confirm_parm == "1") //返回为Common.Modal (Json格式) { errorMessage = dictionary.Count > 0 ? json : ""; } else if (confirm_parm == "2") //返回为Common.Alert (string字符串) { foreach (var error_lst in dictionary) { error += "" + error_lst.Value + "<br/>"; } errorMessage = dictionary.Count > 0 ? error : ""; } else //如果不传confirm_parm参数1或者2,默认返回为Common.Modal (Json格式)。 { errorMessage = dictionary.Count > 0 ? json : ""; } return(inputEntity); }
private static string BuildTableColumnResult(MDQuery_TableColumn rColumn, MDModel_QueryModel qv, SinoRequestUser requestUser) { MDModel_Table_Column _mcolumn = GetColumnDefineByName(qv, rColumn.TableName, rColumn.ColumnName); if (_mcolumn == null) { return(""); } return("," + BuildItem(_mcolumn, requestUser)); }
private static string BuildCalculationColumnResult(MDQuery_TableColumn rColumn, MDModel_QueryModel qv, SinoRequestUser requestUser) { string _itemString = ""; if (rColumn.ColumnDataType == "NUMBER") { _itemString = string.Format("Round({0},20) {1}", rColumn.ColumnAlgorithm, rColumn.ColumnAlias); } else { _itemString = string.Format("{0} {1}", rColumn.ColumnAlgorithm, rColumn.ColumnAlias); } return("," + _itemString); }
/// <summary> /// added by lqm 2014.12.26 /// </summary> /// <param name="guideLineId"></param> /// <param name="param"></param> /// <param name="requestUser"></param> /// <returns></returns> public static DataTable QueryGuideline(string guideLineId, Dictionary <string, object> param, SinoRequestUser requestUser, MySqlConnection MySqlConnection) { return(QueryGuideline(guideLineId, param, "", requestUser, MySqlConnection)); }
private static string CreateDisplayString(MDModel_QueryModel _qv, MDQuery_ResultTable _ResultTable, SinoRequestUser RequestUser) { StringBuilder _sql = new StringBuilder(); _sql.Append(string.Format("{0}.{1} MAINID", _qv.MainTable.TableName, _qv.MainTable.MainKey)); foreach (MDQuery_TableColumn _rc in _ResultTable.Columns) { _sql.Append(OraResultItemBuilder.BuildItem(_rc, _qv, RequestUser)); } return(_sql.ToString()); }
/// <summary> /// 分页取指标结果集 /// </summary> /// <param name="guideLineId"></param> /// <param name="param"></param> /// <param name="filterWord"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="sortBy"></param> /// <param name="sortDirection"></param> /// <param name="requestUser"></param> /// <param name="recordCount"></param> /// <returns></returns> public static DataTable QueryGuideline(string guideLineId, Dictionary <string, object> param, string filterWord, decimal pageIndex, decimal pageSize, string sortBy, string sortDirection, SinoRequestUser requestUser, ref int recordCount) { int getQueryStartTime = Environment.TickCount; int count = 0; DataTable tb = new DataTable("ResultTable"); MD_GuideLine define = GetGuidelineDefine(guideLineId); if (define != null) { string queryStr = GetGuidelineMethod(guideLineId); List <MDQuery_GuideLineParameter> glPara = new List <MDQuery_GuideLineParameter>(); if (param != null && define.Parameters != null) { foreach (var p in param) { MD_GuideLineParameter md_pa = define.Parameters.Find(pa => pa.ParameterName == p.Key); if (md_pa != null) { glPara.Add(new MDQuery_GuideLineParameter(md_pa, p.Value)); } } } foreach (MDQuery_GuideLineParameter gp in glPara) { queryStr = OraQueryBuilder.RebuildGuideLineQueryString(queryStr, gp); } if (requestUser != null) { queryStr = OraQueryBuilder.ReplaceExtSecret(null, queryStr, requestUser); } if (!string.IsNullOrEmpty(filterWord)) { queryStr = string.Format("select * from (\n {0} \n) where {1}", queryStr, filterWord); } try { recordCount = Convert.ToInt32(MysqlDBHelper.ExecuteScalar(MysqlDBHelper.conf, CommandType.Text, string.Format("select count(*) from (\n {0} \n) ", queryStr))); } catch (Exception e) { //OracleLogWriter.WriteSystemLog("Exception :QueryGuideline310行异常,异常信息为" + e.Message, "ERROR"); } queryStr = OraQueryBuilder.BuildPagingSQL(queryStr, pageIndex, pageSize, sortBy, sortDirection); tb = OraQueryModelHelper.FillResultData(queryStr, "ResultTable", ref count); if (requestUser != null && requestUser.BaseInfo != null) { //OracleLogWriter.WriteQueryLog(BuildQueryLogStr(guideLineId, param, requestUser), Environment.TickCount - getQueryStartTime, count.ToString(), requestUser.BaseInfo.UserId, "2"); } } return(tb); }
private static string CreateChildTableResult(MDModel_QueryModel _qv, MDQuery_ResultTable _rt, SinoRequestUser RequestUser) { List <string> _usedTables = new List <string>(); _usedTables.Add(_qv.MainTable.TableName); _usedTables.Add(_rt.TableName); string _displayStr = CreateDisplayString(_qv, _rt, RequestUser); string _conditionRes = CreateConditionStringByMainID(_qv); string _tableStr = CreateTableString(_qv, _usedTables); string _tableRelationStr = CreateTableRelationString(_qv, _usedTables, RequestUser); return(string.Format("select {0} from {1} where ( {2} ({3})) ", _displayStr, _tableStr, _tableRelationStr, _conditionRes)); }
/// <summary> /// 组织指标查询日志语句 /// </summary> /// <param name="zbid"></param> /// <param name="param"></param> /// <param name="requestUser"></param> /// <returns></returns> private static string BuildQueryLogStr(string zbid, Dictionary <string, object> param, SinoRequestUser requestUser) { string paraStr = ""; if (param != null) { foreach (var p in param) { paraStr += p.Key + ":" + p.Value + ";"; } } return(string.Format("用户{0}查看了 {1}(指标id={2},参数={3})", requestUser.BaseInfo.UserName, GetGuidelineDefine(zbid).GuideLineName, zbid, paraStr)); }
public static string ReplaceExtSecret(MDModel_QueryModel _qv, string _secret, SinoRequestUser RequestUser) { if (_secret == null) { return(_secret); } string _retstr = _secret; if (RequestUser.BaseInfo != null) { _retstr = _retstr.Replace("%USERID%", RequestUser.BaseInfo.UserId); _retstr = _retstr.Replace("%USERNAME%", RequestUser.BaseInfo.UserName); } if (RequestUser.SinoPost != null) { _retstr = _retstr.Replace("%DWDM%", RequestUser.SinoPost.PostDWDM); _retstr = _retstr.Replace("%DWID%", RequestUser.SinoPost.PostDwId); _retstr = _retstr.Replace("%DWMC%", RequestUser.SinoPost.PostDWMC); _retstr = _retstr.Replace("%POSTID%", RequestUser.SinoPost.PostId); } _retstr = _retstr.Replace("%SYSTEMID%", RequestUser.SystemId); //_retstr = _retstr.Replace("%ROOTDWID%", ServerConfig.SystemOrganzationId); if (_qv != null) { _retstr = _retstr.Replace("%MODELID%", _qv.ViewID); } _retstr = ReplaceFunction(_retstr); _retstr = ReplaceProcedureResult(_retstr); return(_retstr); }