Пример #1
0
        private void Debug(string jydbh = "", string quertBH = "")
        {
            string        jcxmBH    = this.txt_jcxmbh.Text.Trim();
            List <string> listJYDBH = new List <string>();
            var           whWtdbh   = "";

            #region  入参数
            string strIOParams = "";
            string strIParams  = "";
            whWtdbh = _projectInfo.GetWTDBH(quertBH);

            if (string.IsNullOrEmpty(whWtdbh))
            {
                MessageBox.Show("通过单组编号找不到对应的委托单编号");
                return;
            }
            //查询输入输出字段
            List <string> zdzdIOParms = _manage.GetIOFields(jcxmBH, whWtdbh);
            //查询输入字段
            List <string> zdzdIParms = _manage.GetIFields(jcxmBH, whWtdbh);

            if (!string.IsNullOrEmpty(whWtdbh))
            {
                //获取乌海的数据
                quertBH = whWtdbh;
                //参数
                strIOParams = GetParams(zdzdIOParms, whWtdbh, ESqlConnType.ConnectionStringJCJT, "WH");
                strIParams  = GetParams(zdzdIParms, whWtdbh, ESqlConnType.ConnectionStringJCJT, "WH");
            }

            //代码
            string strCode = this.ritCode.Text.Trim();

            //输入的参数
            IDictionary <string, IList <IDictionary <string, string> > > dicIOParams = null;
            dicIOParams = Common.DBUtility.JsonHelper.GetAfferentDictionaryNew(strIOParams);

            IDictionary <string, IList <IDictionary <string, string> > > dicIParams = new Dictionary <string, IList <IDictionary <string, string> > >(StringComparer.OrdinalIgnoreCase);
            dicIParams = Common.DBUtility.JsonHelper.GetAfferentDictionaryNew(strIParams);
            //帮助表
            Dictionary <string, IList <IDictionary <string, string> > > listExtraData = new Dictionary <string, IList <IDictionary <string, string> > >(StringComparer.OrdinalIgnoreCase);
            if (!string.IsNullOrEmpty(this.txt_helper.Text.Trim()))
            {
                listExtraData = GetExtraData(this.txt_helper.Text.Trim());
            }

            #region 初始化dataGridView
            //创建DataSet对象
            DataSet ds = new DataSet();
            //创建DataTable对象
            DataTable dt = new DataTable();
            //创建列
            dt.Columns.Add("字段", typeof(string));
            dt.Columns.Add("计算前", typeof(string));
            dt.Columns.Add("计算后", typeof(string));
            //创建行
            DataRow row = dt.NewRow();
            //添加数据

            //赤峰数据库获取的字段值
            DataSet ch_sdata = null;
            if (!string.IsNullOrEmpty(whWtdbh))
            {
                ch_sdata = _projectInfo.GetParmsWH(jcxmBH, zdzdIOParms, quertBH);
            }

            //给字段列赋值
            int flag = 0;
            foreach (DataColumn mDc in ch_sdata.Tables[0].Columns)
            {
                row = dt.NewRow();
                dt.Rows.Add(row);
                dt.Rows[flag]["字段"] = mDc.ToString();
                flag++;
            }
            flag = 0;
            foreach (DataRow mDr in ch_sdata.Tables[0].Rows)
            {
                flag = 0;
                foreach (var item in mDr.ItemArray)
                {
                    dt.Rows[flag]["计算前"] = item;
                    flag++;
                }
            }

            #endregion
            #endregion
            var isSuccess = true;
            CodeDebug(listExtraData, ref dicIParams, out isSuccess, true);

            if (!isSuccess)
            {
                return;
            }
            #region 绑定dataGridView
            List <string> dicKeys = dicIParams.Keys.ToList();
            if (dicKeys.Count == 0)
            {
                MessageBox.Show($"返回试验项目{jcxmBH}数据异常");
            }

            var sItem = dicIParams[$"S_{jcxmBH}"];

            string ikey = "";
            foreach (var item in sItem)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ikey = dt.Rows[i]["字段"].ToString().ToUpper();
                    if (item.Keys.Contains(ikey))
                    {
                        dt.Rows[i]["计算后"] = item[ikey];
                    }
                }
            }

            //将数据表添加到DataSet中
            ds.Tables.Add(dt);

            this.dataGridViewResult.DataSource = ds.Tables[0];
            #endregion
        }