Exemple #1
0
        public frmSinoSZ_RelationQuery(string _qv, string _param)
        {
            InitializeComponent();
            QueryModelName = _qv;
            string _title = StrUtils.GetMetaByName("标题", _param);

            if (_qv != "")
            {
                _queryModel = MetaDataCache.GetQueryModelDefine(_qv);
                if (_queryModel != null)
                {
                    if (_title != "")
                    {
                        this.Text = string.Format("{0}关联查询", _title);
                    }
                    else
                    {
                        this.Text = string.Format("查询[{0}]", _queryModel.DisplayName);
                    }

                    this.sinoSZUC_MD_Model_FieldList1.QueryModel = _queryModel;
                    this.sinoSZUC_MD_Model_FieldList1.ShowFieldsList();
                    this.sinoSZUC_MD_Model_FieldList1.FieldSelected += new EventHandler <FieldSelectEventArgs>(sinoSZUC_MD_Model_FieldList1_FieldSelected);
                    this.sinoSZUC_ConditionPanel1.MenuChanged       += new EventHandler <EventArgs>(sinoSZUC_ConditionPanel1_MenuChanged);
                }
                else
                {
                    XtraMessageBox.Show("查询模型未找到!");
                }
                this._initFinished = true;
            }
        }
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            StringBuilder _sb = new StringBuilder();

            if (QueryModelName != "")
            {
                try
                {
                    _queryModel = MetaDataCache.GetQueryModelDefine(QueryModelName);
                }
                catch (Exception ex)
                {
                    _sb.Append(string.Format("取QueryModel={0}出错!{1}", QueryModelName, ex.Message));
                }

                try
                {
                    _ruleList = MetaDataCache.GetDataCheckRuleDefine(QueryModelName, true);
                }
                catch (Exception ex2)
                {
                    _sb.Append(string.Format("取规则定义{0}出错!{1}", QueryModelName, ex2.Message));
                }
                e.Result = _sb.ToString();
            }
        }
Exemple #3
0
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            string _fname = "";

            QueryModel = MetaDataCache.GetQueryModelDefine(compareRequest.QueryModelName);
            //处理比对数据表

            srcData = new DataTable();
            foreach (DataColumn _dc in compareRequest.ExcelData.Columns)
            {
                if (_dc.ColumnName == "XH")
                {
                    _fname = "XH";
                }
                else
                {
                    ExcelColumnAlias _alias = ExcelColumns[_dc.ColumnName];
                    _fname = _alias.Alias;
                }
                srcData.Columns.Add(_fname, _dc.DataType);
            }

            foreach (DataRow _dr in compareRequest.ExcelData.Rows)
            {
                DataRow _newrow = srcData.NewRow();
                foreach (DataColumn _dc in compareRequest.ExcelData.Columns)
                {
                    if (_dc.ColumnName == "XH")
                    {
                        _fname = "XH";
                    }
                    else
                    {
                        ExcelColumnAlias _alias = ExcelColumns[_dc.ColumnName];
                        _fname = _alias.Alias;
                    }
                    _newrow[_fname] = _dr[_dc.ColumnName];
                }
                srcData.Rows.Add(_newrow);
            }

            //调用比对服务
            using (MetaDataQueryServiceClient _msc = new MetaDataQueryServiceClient())
            {
                CompareResult = _msc.CompareData(compareRequest, srcData);
            }

            //建立关系
            MC_QueryModel.CreateDataRelation(this.QueryModel, CompareResult);
            DataTable _mtable = CompareResult.Tables[QueryModel.MainTable.TableName];
            DataTable _ctable = CompareResult.Tables["EXCELRESULTDATA"];

            CompareResult.Relations.Add("比对的EXCEL文件", _mtable.Columns["MAINID"], _ctable.Columns["MAINID"]);
        }
 public frmSinoSZ_DataDetail(MDSearch_ResultDataIndex _searchResutIndex)
 {
     InitializeComponent();
     QueryModel = MetaDataCache.GetQueryModelDefine(_searchResutIndex.SourceColumn.QueryModel.FullName);
     using (MetaDataQueryServiceClient _msc = new MetaDataQueryServiceClient())
     {
         MainKeyID = _msc.GetMainTableKeyByChildKey(_searchResutIndex.SourceColumn, _searchResutIndex.MainKey);
     }
     this.Text        = string.Format("{0}的详细信息", QueryModel.DisplayName);
     SearchResutIndex = _searchResutIndex;
     ShowKKPanel();
 }
Exemple #5
0
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            //查询记录
            this.backgroundWorker1.ReportProgress(0, "正在按条件查询记录");
            try
            {
                _queryModel = MetaDataCache.GetQueryModelDefine(CheckParam.Request.QueryModelName);


                DataTable _dt = QueryRecord();

                if (_dt == null || _dt.Rows.Count < 1)
                {
                    _resultTable = null;
                    return;
                }
                else
                {
                    _resultTable = CreateResultTable(_dt);
                }
                //按规则检验】
                if (CheckParam.Rules.Count > 0)
                {
                    int i     = 0;
                    int _step = 40 / CheckParam.Rules.Count;
                    foreach (MD_CheckRule _rule in CheckParam.Rules)
                    {
                        this.backgroundWorker1.ReportProgress(25 + i * _step, string.Format("正在检验第{0}条规则", i + 1));
                        CheckRule(_rule, _queryModel);
                    }
                }
                //检查更新记录
                this.backgroundWorker1.ReportProgress(70, "正在检查更新记录");
                CheckUpdateRecord();

                //筛选记录
                this.backgroundWorker1.ReportProgress(85, "正在筛选记录");
                FilterRecord();
                e.Result = "";
            }
            catch (Exception ex)
            {
                this.backgroundWorker1.ReportProgress(0, string.Format("检记录发生错误!{0}", ex.Message));
                e.Result = "ERROR!" + ex.Message;
            }
        }
        private MDQuery_Request CreateZGDQueryRequest(string _dh, DateTime _sdate, DateTime _edate)
        {
            string                 _qvName = "HG_GDFS.海关报关单";
            MDModel_QueryModel     _qv     = MetaDataCache.GetQueryModelDefine(_qvName);
            MC_QueryRequsetFactory _rf     = new MC_QueryRequsetFactory();

            _rf.QueryModelName = _qvName;
            //加条件
            MDQuery_ConditionItem _cItem = new MDQuery_ConditionItem();

            _cItem.ColumnIndex = "1";
            _cItem.Column      = new MDQuery_TableColumn(_qv.MainTable.GetColumnByName("VOYAGE_NO"));
            _cItem.Operator    = "等于";
            _cItem.Values      = new List <string>();
            _cItem.Values.Add(_dh);
            _rf.AddConditonItem(_cItem);

            _cItem             = new MDQuery_ConditionItem();
            _cItem.ColumnIndex = "2";
            _cItem.Column      = new MDQuery_TableColumn(_qv.MainTable.GetColumnByName("D_DATE"));
            _cItem.Operator    = "时间段";
            _cItem.Values      = new List <string>();
            _cItem.Values.Add(_sdate.ToString("yyyyMMdd"));
            _cItem.Values.Add(_edate.ToString("yyyyMMdd"));
            _rf.AddConditonItem(_cItem);
            _rf.AddExpression("1*2");

            //加结果
            _rf.AddResultTable(_qv.MainTable);
            foreach (MDModel_Table_Column _tc in _qv.MainTable.Columns)
            {
                _rf.AddResultTableColumn(_qv.MainTable, _tc);
            }
            foreach (string _cTName in _qv.ChildTableDict.Keys)
            {
                MDModel_Table _ctable = _qv.ChildTableDict[_cTName];
                _rf.AddResultTable(_ctable);
                foreach (MDModel_Table_Column _ccol in _ctable.Columns)
                {
                    _rf.AddResultTableColumn(_ctable, _ccol);
                }
            }
            return(_rf.GetQueryRequest());
        }
Exemple #7
0
        public frmDataCompare(string _param)
        {
            InitializeComponent();
            QueryModelName = StrUtils.GetMetaByName("查询模型", _param);
            string _title = StrUtils.GetMetaByName("标题", _param);

            if (_title != "")
            {
                this.Text = _title;
            }
            if (QueryModelName != "")
            {
                _queryModel = MetaDataCache.GetQueryModelDefine(QueryModelName);
                this.sinoSZUC_MD_Model_FieldList1.QueryModel = _queryModel;
                this.sinoSZUC_MD_Model_FieldList1.ShowFieldsList();
                this.sinoSZUC_MD_Model_FieldList1.FieldSelected += new EventHandler <FieldSelectEventArgs>(sinoSZUC_MD_Model_FieldList1_FieldSelected);

                this._initFinished = true;
            }
        }
        public static void ShowDetail(ShowDetailDataArgs _showArgs, IApplication _application)
        {
            if (_showArgs.Type == "GuideLine")
            {
                frmGuideLineQueryWithoutInput _f = new frmGuideLineQueryWithoutInput(_showArgs.GuideLine, _showArgs.QueryParams);
                _application.AddForm(Guid.NewGuid().ToString(), _f);
            }

            if (_showArgs.Type == "QueryModel")
            {
                using (MetaDataQueryServiceClient _msc = new MetaDataQueryServiceClient())
                {
                    string _mainKey = _msc.GetMainTableKeyByColumnCondition(_showArgs.QueryModelName,
                                                                            _showArgs.QueryColumnName,
                                                                            _showArgs.QueryDataValue);
                    MDModel_QueryModel   _model = MetaDataCache.GetQueryModelDefine(_showArgs.QueryModelName);
                    frmSinoSZ_DataDetail _f     = new frmSinoSZ_DataDetail(_model, _mainKey);
                    _application.AddForm(Guid.NewGuid().ToString(), _f);
                }
            }
        }
        private MDQuery_Request CreateBGDQueryRequest(string _dh)
        {
            string                 _qvName = "HG_GDFS.海关报关单";
            MDModel_QueryModel     _qv     = MetaDataCache.GetQueryModelDefine(_qvName);
            MC_QueryRequsetFactory _rf     = new MC_QueryRequsetFactory();

            _rf.QueryModelName = _qvName;
            //加条件
            MDQuery_ConditionItem _cItem = new MDQuery_ConditionItem();

            _cItem.ColumnIndex = "1";
            _cItem.Column      = new MDQuery_TableColumn(_qv.MainTable.GetColumnByName("ENTRY_ID_14"));
            _cItem.Operator    = "等于";
            _cItem.Values      = new List <string>();
            foreach (string _s in _dh.Split(','))
            {
                _cItem.Values.Add(_s);
            }
            _rf.AddConditonItem(_cItem);
            _rf.AddExpression("1");

            //加结果
            _rf.AddResultTable(_qv.MainTable);
            foreach (MDModel_Table_Column _tc in _qv.MainTable.Columns)
            {
                _rf.AddResultTableColumn(_qv.MainTable, _tc);
            }
            foreach (string _cTName in _qv.ChildTableDict.Keys)
            {
                MDModel_Table _ctable = _qv.ChildTableDict[_cTName];
                _rf.AddResultTable(_ctable);
                foreach (MDModel_Table_Column _ccol in _ctable.Columns)
                {
                    _rf.AddResultTableColumn(_ctable, _ccol);
                }
            }
            return(_rf.GetQueryRequest());
        }
        private void QueryTaskID()
        {
            if (this._queryTask != null)
            {
                using (MetaDataQueryServiceClient _msc = new MetaDataQueryServiceClient())
                {
                    QueryRequest = _msc.GetQueryTaskRequestContext(this._queryTask.TaskID);
                    QueryModel   = MetaDataCache.GetQueryModelDefine(QueryRequest.QueryModelName);
                    switch (this._queryTask.TaskType)
                    {
                    case "HGSQL":
                        QueryResultData = _msc.GetTaskQueryResult_DataSet(this._queryTask.TaskID);
                        MC_QueryModel.CreateDataRelation(this.QueryModel, QueryResultData);
                        break;

                    case "LOCALORA":
                        QueryResultData = _msc.GetTaskQueryResult_ORA(this._queryTask.TaskID);
                        MC_QueryModel.CreateDataRelation(this.QueryModel, QueryResultData);
                        break;
                    }
                }
            }
        }
Exemple #11
0
 private void InitForm()
 {
     _queryModel = MetaDataCache.GetQueryModelDefine(this.QueryModelName);
     this.sinoSZUC_FixConditionPanel1.ShowConditionItems(_queryModel);
     this.checkedListBoxControl1.Items.Clear();
     foreach (MDModel_Table _cTable in _queryModel.ChildTableDict.Values)
     {
         bool _canShow = false;
         foreach (MDModel_Table_Column _tc in _cTable.Columns)
         {
             if (_tc.ColumnDefine.DefaultResult)
             {
                 _canShow = true;
             }
         }
         if (_canShow)
         {
             FixChildItem       _item = new FixChildItem(_cTable.TableDefine.DisplayTitle, _cTable);
             CheckedListBoxItem _cb   = new CheckedListBoxItem();
             _cb.Value = _item;
             this.checkedListBoxControl1.Items.Add(_cb);
         }
     }
 }
        private MDQuery_Request CreateBGDQueryRequest2(DateTime I_E_Date, string _IEFlagNum, string _formID)
        {
            string                 _qvName = "HG_GDFS.海关报关单";
            MDModel_QueryModel     _qv     = MetaDataCache.GetQueryModelDefine(_qvName);
            MC_QueryRequsetFactory _rf     = new MC_QueryRequsetFactory();

            _rf.QueryModelName = _qvName;
            //加条件  D_Date> I_E_DATE-半年
            MDQuery_ConditionItem _cItem_startDate = new MDQuery_ConditionItem();

            _cItem_startDate.ColumnIndex = "1";
            _cItem_startDate.Column      = new MDQuery_TableColumn(_qv.MainTable.GetColumnByName("D_DATE"));
            _cItem_startDate.Operator    = "大于";
            _cItem_startDate.Values      = new List <string>();
            DateTime _startDate = I_E_Date.AddMonths(-6);

            _cItem_startDate.Values.Add(_startDate.ToString("yyyyMMdd"));
            _rf.AddConditonItem(_cItem_startDate);

            //加条件 ENTRY_ID_SHORT = 进出口标志+单证号
            MDQuery_ConditionItem _cItem = new MDQuery_ConditionItem();

            _cItem.ColumnIndex = "2";
            _cItem.Column      = new MDQuery_TableColumn(_qv.MainTable.GetColumnByName("ENTRY_ID_SHORT"));
            _cItem.Operator    = "等于";
            _cItem.Values      = new List <string>();
            _cItem.Values.Add(string.Format("{0}{1}", _IEFlagNum, _formID));
            _rf.AddConditonItem(_cItem);

            //加条件 D_DATE<I_E_DATE
            MDQuery_ConditionItem _cItem_endDate = new MDQuery_ConditionItem();

            _cItem_endDate.ColumnIndex = "3";
            _cItem_endDate.Column      = new MDQuery_TableColumn(_qv.MainTable.GetColumnByName("D_DATE"));
            _cItem_endDate.Operator    = "小于";
            _cItem_endDate.Values      = new List <string>();
            DateTime _endDate = I_E_Date.AddDays(1);

            _cItem_endDate.Values.Add(_endDate.ToString("yyyyMMdd"));
            _rf.AddConditonItem(_cItem_endDate);


            _rf.AddExpression("1*2*3");

            //加结果
            _rf.AddResultTable(_qv.MainTable);
            foreach (MDModel_Table_Column _tc in _qv.MainTable.Columns)
            {
                _rf.AddResultTableColumn(_qv.MainTable, _tc);
            }
            foreach (string _cTName in _qv.ChildTableDict.Keys)
            {
                MDModel_Table _ctable = _qv.ChildTableDict[_cTName];
                _rf.AddResultTable(_ctable);
                foreach (MDModel_Table_Column _ccol in _ctable.Columns)
                {
                    _rf.AddResultTableColumn(_ctable, _ccol);
                }
            }
            return(_rf.GetQueryRequest());
        }
        private string StartQueryOtherLib()
        {
            string          _ret      = "";
            string          Task_Name = "";
            string          _taskid   = "";
            MDQuery_Request _request;

            if (ResultData == null)
            {
                return("");
            }
            if (ResultData.Rows.Count < 1)
            {
                return("");
            }
            var _find = from _c in this.QueryModel.MainTable.Columns
                        where _c.ColumnName == "FORM_ID"
                        select _c;

            if (_find == null || _find.Count() < 1)
            {
                return("");
            }
            MDModel_Table_Column tc_FORM_ID       = this.QueryModel.MainTable.GetColumnByName("FORM_ID");
            MDModel_Table_Column tc_FORM_TYPE     = this.QueryModel.MainTable.GetColumnByName("FORM_TYPE");
            MDModel_Table_Column tc_I_E_PORT      = this.QueryModel.MainTable.GetColumnByName("I_E_PORT");
            MDModel_Table_Column tc_I_E_FLAG      = this.QueryModel.MainTable.GetColumnByName("I_E_FLAG");
            MDModel_Table_Column tc_I_E_DATETIME  = this.QueryModel.MainTable.GetColumnByName("I_E_DATETIME");
            MDModel_Table_Column tc_VE_CUSTOMS_NO = this.QueryModel.MainTable.GetColumnByName("VE_CUSTOMS_NO");
            DataRow _dr         = ResultData.Rows[0];
            string  _formType   = _dr[tc_FORM_TYPE.ColumnAlias].ToString().Trim();
            string  _formID     = _dr[tc_FORM_ID.ColumnAlias].ToString().Trim();
            string  _portCode   = _dr[tc_I_E_PORT.ColumnAlias].ToString().Trim();
            string  _customs_no = _dr[tc_VE_CUSTOMS_NO.ColumnAlias].ToString().Trim();

            _portCode = _portCode.Substring(0, 2);

            string   _IEFlag     = _dr[tc_I_E_FLAG.ColumnAlias].ToString().Trim();
            string   _IEFlagNum  = (_IEFlag == "I") ? "1" : "0";
            DateTime I_E_Date    = (DateTime)_dr[tc_I_E_DATETIME.ColumnAlias];
            DateTime Min_SB_Date = I_E_Date.AddMonths(-1);

            switch (_formType)
            {
            case "1":                           //清单
                XtraMessageBox.Show("本记录为清单,无法查询详细内容", "系统提示");
                return("");

            case "2":                           //报关单

                string _FormIDPre = _formID.Substring(0, 2);
                //生成一个单号
                _ret     = string.Format("{0}{1}{2}", I_E_Date.Year, _IEFlagNum, _formID);
                _request = CreateBGDQueryRequest2(I_E_Date, _IEFlagNum, _formID);
                string                _qvName = "HG_GDFS.海关报关单";
                MDModel_QueryModel    _qv     = MetaDataCache.GetQueryModelDefine(_qvName);
                frmSinoSZ_QueryResult _qr     = new frmSinoSZ_QueryResult(_qv, _request, false);
                _application.AddForm(Guid.NewGuid().ToString(), _qr);
                return(_taskid);


            case "4":                           //转关单
                string _prestr = _formID.Substring(0, 4);
                if (_prestr == "1000" || _prestr == "5000")
                {
                    _request  = CreateZGDQueryRequest("@" + _formID, Min_SB_Date, I_E_Date);
                    Task_Name = string.Format("查询编号为{0}的转关单[{1}]", _ret, DateTime.Now.ToString("yyyyMMdd"));
                    using (MetaDataQueryServiceClient _msc = new MetaDataQueryServiceClient())
                    {
                        _taskid = _msc.AddNewQueryTask(Task_Name, _request);
                    }
                    return(_taskid);
                }
                break;
            }

            return("");
        }