Exemple #1
0
 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;
 }
Exemple #2
0
 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;
 }
Exemple #3
0
        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());
        }
Exemple #9
0
        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);
            }
        }
Exemple #14
0
        /// <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;
            }
        }
Exemple #15
0
        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);
        }
Exemple #16
0
        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));
        }
Exemple #17
0
        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);
        }