Exemplo n.º 1
0
        public Dictionary <string, string> GetNewChildRecord(MD_InputModel_Child _child, MD_InputEntity entity)
        {
            List <MDQuery_GuideLineParameter> _callParam = new List <MDQuery_GuideLineParameter>();

            foreach (MD_InputModel_ChildParam _p in _child.Parameters)
            {
                string _pValue = ConvetDataByMainEntityData(_p.Value, entity);
                MDQuery_GuideLineParameter _cp = new MDQuery_GuideLineParameter(new MD_GuideLineParameter(_p.Name, "", _p.DataType, 0, 0, "", false, ""), _pValue);
                _callParam.Add(_cp);
            }

            DataTable _dt = QueryFactory.QueryGuideLine(_child.ChildModel.GetNewRecordGuideLine, _callParam);

            return(GetInputDataByDataTable(_dt));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 以指标方式显示详细信息
        /// </summary>
        /// <param name="_df"></param>
        /// <param name="_dr"></param>
        private void ShowDetailByGuideLine(MD_GuideLineDetailDefine _df, DataRow _dr)
        {
            MDQuery_GuideLineParameter _param;
            List <MD_GuideLine>        _gls;
            string _guideLineID = _df.DetailMethodID;

            using (MetaDataQueryServiceClient _msc = new MetaDataQueryServiceClient())
            {
                _gls = _msc.GetRootGuideLineList(_guideLineID).ToList <MD_GuideLine>();
            }

            //取链接明细参数定义
            List <MD_GuideLineDetailParameter> _detailParamList = MC_GuideLine.GetGuideLineDetailParam(_df.DetailParameterMeta);
            Dictionary <string, string>        _detailParamDict = new Dictionary <string, string>();

            foreach (MD_GuideLineDetailParameter _dparam in _detailParamList)
            {
                _detailParamDict.Add(_dparam.Name, _dparam.DataValue);
            }

            if (_gls.Count > 0)
            {
                //取指标
                MD_GuideLine _guideLine = _gls[0];

                //建立查询参数
                List <MDQuery_GuideLineParameter> _queryParams = new List <MDQuery_GuideLineParameter>();

                //建立指标参数字典
                List <MD_GuideLineParameter> _gParam = MC_GuideLine.GetParametersFromMeta(_guideLine.GuideLineMeta);
                foreach (MD_GuideLineParameter _p in _gParam)
                {
                    if (_detailParamDict.ContainsKey(_p.ParameterName))
                    {
                        string _dataDefine = _detailParamDict[_p.ParameterName];
                        string _data       = ReplaceVerByRowData(_dr, _dataDefine);
                        _param = new MDQuery_GuideLineParameter(_p, _data);
                        _queryParams.Add(_param);
                    }
                    else
                    {
                        XtraMessageBox.Show("缺少参数定义!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                }
                RaiseShowDetailDatal(new ShowDetailDataArgs(_guideLine, _queryParams));
            }
        }
Exemplo n.º 3
0
        private string GetChildGridData(MD_InputModel_Child _child, MD_InputEntity entity)
        {
            List <MD_InputEntity> _ret = new List <MD_InputEntity>();

            List <MDQuery_GuideLineParameter> _callParam = new List <MDQuery_GuideLineParameter>();

            foreach (MD_InputModel_ChildParam _p in _child.Parameters)
            {
                string _pValue = ConvetDataByMainEntityData(_p.Value, entity);
                MDQuery_GuideLineParameter _cp = new MDQuery_GuideLineParameter(new MD_GuideLineParameter(_p.Name, "", _p.DataType, 0, 0, "", false, ""), _pValue);
                _callParam.Add(_cp);
            }

            DataTable _dt = QueryFactory.QueryGuideLine(_child.ChildModel.GetDataGuideLine, _callParam);

            return(_dt.DataTableToXml());
        }
Exemplo n.º 4
0
        public override MDQuery_GuideLineParameter GetParameter()
        {
            MDQuery_GuideLineParameter _ret = new MDQuery_GuideLineParameter(paramDefine, this._uc.Code);

            return(_ret);
        }
Exemplo n.º 5
0
        virtual public MDQuery_GuideLineParameter GetParameter()
        {
            MDQuery_GuideLineParameter _ret = new MDQuery_GuideLineParameter(paramDefine, this.te_Value.EditValue);

            return(_ret);
        }
Exemplo n.º 6
0
        public static string RebuildGuideLineQueryString(string _queryStr, MDQuery_GuideLineParameter _gp)
        {
            string _ret = _queryStr;

            switch (_gp.ParameterType)
            {
            case "数值型":
                string _s3 = string.Format(" {0}", _gp.ParameterValue == null ? "" : _gp.ParameterValue);
                return(_queryStr.Replace(_gp.ParameterName, _s3));

            case "代码表":
                string   _refStr  = "";
                string[] _rtNames = _gp.RefTableName.Split('.');
                if (_gp.ParameterName == "strYN")
                {
                    _refStr = string.Format("1 = {0}", _gp.ParameterValue);
                }
                else
                {
                    string _tName = (_rtNames.Length > 1) ? _rtNames[1] : _rtNames[0];
                    if (_gp.IncludeChildren)
                    {
                        //对于树型代码表
                        if (_gp.ParameterValue.ToString() == _gp.SelectAllCode)
                        {
                            _refStr = string.Format(" ('{0}') ", _gp.ParameterValue);
                        }
                        else
                        {
                            _refStr = string.Format(" (select TO_CHAR(dm) from jsods.{1} start with dm='{0}' connect by prior DM=FATHERCODE) ",
                                                    _gp.ParameterValue, _tName);
                        }
                    }
                    else
                    {
                        //对于非树型代码表
                        _refStr = string.Format(" '{0}' ", _gp.ParameterValue);
                    }
                }
                return(_queryStr.Replace(_gp.ParameterName, _refStr));

            case "日期型":
                string _s1 = DateTime.MaxValue.ToString("yyyy-MM-dd");
                if (_gp.ParameterValue.GetType() == typeof(DateTime))
                {
                    _s1 = ((DateTime)_gp.ParameterValue).ToString("yyyy-MM-dd HH:mm:ss");
                }
                else if (_gp.ParameterValue.GetType() == typeof(string))
                {
                    _s1 = StrUtils.String2Date(_gp.ParameterValue.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
                }

                if (_s1.Length == 10)
                {
                    _s1 = string.Format(" to_date('{0}','YYYY-MM-DD') ", _s1);
                }
                if (_s1.Length == 19)
                {
                    _s1 = string.Format("to_date('{0}','YYYY-MM-DD HH24:MI:SS') ", _s1);
                }
                return(_queryStr.Replace(_gp.ParameterName, _s1));

            case "逻辑型":
                return(_queryStr = _queryStr + " and " + _gp.ParameterName + " like " + "'%" + _gp.ParameterValue + "%'");

            default:
                string _s2 = string.Format(" '{0}'", _gp.ParameterValue.ToString());
                return(_queryStr.Replace(_gp.ParameterName, _s2));
            }
        }
Exemplo n.º 7
0
        public static string RebuildGuideLineQueryString(string _queryStr, MDQuery_GuideLineParameter _gp)
        {
            string _ret = _queryStr;

            switch (_gp.Paramter.ParameterType)
            {
            case "数值型":
                string _s3 = string.Format(" {0}", _gp.Data.ToString());
                return(_queryStr.Replace(_gp.Paramter.ParameterName, _s3));

            case "代码表":
                string   _refStr  = "";
                string[] _rtNames = _gp.Paramter.RefTableName.Split('.');
                if (_gp.Paramter.ParameterName == "strYN")
                {
                    _refStr = string.Format("1 = {0}", _gp.Data);
                }
                else
                {
                    string _tName = (_rtNames.Length > 1) ? _rtNames[1] : _rtNames[0];
                    if (_gp.Paramter.IncludeChildren)
                    {
                        //对于树型代码表
                        if (_gp.Data.ToString() == _gp.Paramter.SelectAllCode)
                        {
                            _refStr = string.Format(" ('{0}') ", _gp.Data);
                        }
                        else
                        {
                            return(string.Format("(select dm from dm_reftabledata where `type`='{0}' and FIND_IN_SET('{1}',allfathercode) )",
                                                 _tName, _gp.Data));
                        }
                    }
                    else
                    {
                        //对于非树型代码表
                        _refStr = string.Format(" '{0}' ", _gp.Data);
                    }
                }
                return(_queryStr.Replace(_gp.Paramter.ParameterName, _refStr));

            case "日期型":
                string _s1 = _gp.Data.ToString();
                if (_s1.Length == 10)
                {
                    _s1 = string.Format(" STR_TO_DATE('{0}','%Y-%m-%d') ", _s1);
                }
                if (_s1.Length == 19)
                {
                    _s1 = string.Format("STR_TO_DATE('{0}','%Y-%m-%d %H:%i:%s') ", _s1);
                }
                return(_queryStr.Replace(_gp.Paramter.ParameterName, _s1));


            default:
                string _s2 = string.Format(" '{0}'", _gp.Data.ToString());
                return(_queryStr.Replace(_gp.Paramter.ParameterName, _s2));
            }

            return(_ret);
        }
Exemplo n.º 8
0
        public static string RebuildGuideLineQueryString(string _queryStr, MDQuery_GuideLineParameter _gp)
        {
            string _ret = _queryStr;

            switch (_gp.Paramter.ParameterType)
            {
            case "数值型":
                string _s3 = string.Format(" {0}", _gp.Data.ToString());
                return(_queryStr.Replace(_gp.Paramter.ParameterName, _s3));

            case "代码表":
                string   _refStr  = "";
                string[] _rtNames = _gp.Paramter.RefTableName.Split('.');
                if (_gp.Paramter.ParameterName == "strYN")
                {
                    _refStr = string.Format("1 = {0}", _gp.Data);
                }
                else
                {
                    string _tName = (_rtNames.Length > 1) ? _rtNames[1] : _rtNames[0];
                    if (_gp.Paramter.IncludeChildren)
                    {
                        //对于树型代码表
                        if (_gp.Data.ToString() == _gp.Paramter.SelectAllCode)
                        {
                            _refStr = string.Format(" ('{0}') ", _gp.Data);
                        }
                        else
                        {
                            _refStr = string.Format("(select TO_CHAR(dm) from jsods.{1} start with dm='{0}' connect by prior DM=FATHERCODE)",
                                                    _gp.Data, _tName);
                        }
                    }
                    else
                    {
                        //对于非树型代码表
                        _refStr = string.Format(" '{0}' ", _gp.Data);
                    }
                }
                return(_queryStr.Replace(_gp.Paramter.ParameterName, _refStr));

            case "日期型":
                string _s1 = _gp.Data.ToString();
                if (_s1.Length == 10)
                {
                    _s1 = string.Format(" to_date('{0}','YYYY-MM-DD') ", _s1);
                }
                if (_s1.Length == 19)
                {
                    _s1 = string.Format("to_date('{0}','YYYY-MM-DD HH24:MI:SS') ", _s1);
                }
                return(_queryStr.Replace(_gp.Paramter.ParameterName, _s1));


            default:
                string _s2 = string.Format(" '{0}'", _gp.Data.ToString());
                return(_queryStr.Replace(_gp.Paramter.ParameterName, _s2));
            }

            return(_ret);
        }