示例#1
0
        public static void InsertOutLib(string User,
                                        string PumpName,
                                        string DrawType,
                                        string PumpClass)
        {
            ISession session = ThreadLocalSession.CurrentSession();
            OutLib   ol      = new OutLib();

            ol.User     = User;
            ol.OutTime  = DateTime.Now;
            ol.DrawType = DrawType;
            ol.PumpName = PumpName;
            ol.PumpType = PumpClass;

            ITransaction trans = session.BeginTransaction();

            try
            {
                session.Save(ol);
                trans.Commit();
            }
            catch (HibernateException he)
            {
                trans.Rollback();
            }
            ThreadLocalSession.CloseCurrentSession();
        }
示例#2
0
        /// <summary>
        /// 多B库合并
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void menuLibBMerge_Click(object sender, EventArgs e)
        {
            OpenFileDialog saveFileDialog = new OpenFileDialog();

            saveFileDialog.Filter           = "原油数据文件 (*.libB)|*.libB";
            saveFileDialog.RestoreDirectory = true;
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                this._outLib = Serialize.Read <OutLib>(saveFileDialog.FileName);
                this.Visible = true;

                FrmLibBIn tempFrmLibBIn = (FrmLibBIn)this.GetChildFrm("FrmLibBIn");
                if (tempFrmLibBIn == null)   //导入B库,只能存在一个窗口
                {
                    FrmLibBIn frmLibBIn = new FrmLibBIn();
                    frmLibBIn.Init(this._outLib);
                    frmLibBIn.Name = "FrmLibBIn";
                    frmLibBIn.Show();
                }
                else
                {
                    tempFrmLibBIn.Init(this._outLib);
                }
            }
        }
示例#3
0
        /// <summary>
        /// 初始化导入数据
        /// </summary>
        private void init()
        {
            OpenFileDialog saveFileDialog = new OpenFileDialog();

            saveFileDialog.Filter           = "原油数据文件 (*.libB)|*.libB";
            saveFileDialog.RestoreDirectory = true;
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                _outLib      = Serialize.Read <OutLib>(saveFileDialog.FileName);
                this.Visible = true;
            }
            else
            {
                this.Visible = false;
            }
        }
示例#4
0
        /// <summary>
        /// 导出Lib
        /// </summary>
        /// <param name="fileName"></param>
        private void outLib(string fileName)
        {
            this.gridList.EndEdit();
            string strWhere  = "";  //获取选中的原油ID,用于在oilInfo表中获取数据
            string strWhere2 = "";  //获取选中的原油ID,用于在oilData表中获取数据

            foreach (DataGridViewRow row in this.gridList.Rows)
            {
                if (bool.Parse(row.Cells["select"].Value.ToString()) == true)
                {
                    strWhere  += " or ID=" + int.Parse(row.Cells["ID"].Value.ToString());
                    strWhere2 += " or oilInfoID=" + int.Parse(row.Cells["ID"].Value.ToString());
                }
            }
            strWhere  = strWhere.Trim().Substring(2);
            strWhere2 = strWhere2.Trim().Substring(2);

            OilInfoOutAccess  oilInfoOutAccess = new OilInfoOutAccess();
            List <OilInfoOut> oilInfoOuts      = oilInfoOutAccess.Get(strWhere); //oilInfo表中获取数据

            OilDataOutAccess  acess       = new OilDataOutAccess();
            List <OilDataOut> oilDataAlls = acess.Get(strWhere2);          //在oilData表中获取数据

            OutLib outLib = new OutLib();
            OilTableRowOutAccess oilTableRowAccess = new OilTableRowOutAccess();
            OilTableColOutAccess oilTableColAccess = new OilTableColOutAccess();

            outLib.oilTableRows = oilTableRowAccess.Get("1=1"); //获取oilTableRow表中所有行
            outLib.oilTableCols = oilTableColAccess.Get("1=1"); //获取oilTableCol表中所有列

            foreach (OilInfoOut oilInfoOut in oilInfoOuts)      //构建一条一条的原油信息,形成原油列表
            {
                oilInfoOut.oilDatas = oilDataAlls.Where(c => c.oilInfoID == oilInfoOut.ID).ToList();
                outLib.oilInfoOuts.Add(oilInfoOut);
            }

            Serialize.Write <OutLib>(outLib, fileName);
        }
示例#5
0
 public void Init(OutLib outLib)
 {
     this._outLib = outLib;
     // init();
     GridListBind();
 }
示例#6
0
        /// <summary>
        /// 以Lib的形式导出B库
        /// </summary>
        /// <param name="fileName"></param>
        private void outLib(string fileName)
        {
            this.gridList.EndEdit();
            string strWhere  = "";  //获取选中的原油ID,用于在oilInfoB表中获取数据
            string strWhere2 = "";  //获取选中的原油ID,用于在oilDataB表中获取数据

            //string strWhereDataSearch = ""; //获取选中的原油ID,用于在oilDataSearch表中获取数据
            foreach (DataGridViewRow row in this.gridList.Rows)
            {
                if (bool.Parse(row.Cells["select"].Value.ToString()) == true)
                {
                    strWhere  += " or ID=" + int.Parse(row.Cells["ID"].Value.ToString());
                    strWhere2 += " or oilInfoID=" + int.Parse(row.Cells["ID"].Value.ToString());
                    //strWhereDataSearch += " or oilInfoID=" + int.Parse(row.Cells["ID"].Value.ToString());
                }
            }
            strWhere  = strWhere.Trim().Substring(2);
            strWhere2 = strWhere2.Trim().Substring(2);
            // strWhereDataSearch = strWhere2.Trim().Substring(2);

            #region "要导入的oilInfoB数据"
            OilInfoOutAccess  oilInfoOutAccess = new OilInfoOutAccess("OilInfoB"); //导出数据连接
            List <OilInfoOut> oilInfoOuts      = oilInfoOutAccess.Get(strWhere);   //oilInfoB表中获取数据
            #endregion

            #region "B库未切割的数据"
            OilDataBAccess        acess = new OilDataBAccess();
            List <OilDataBEntity> OilDataBEntityAlls = acess.Get(strWhere2);          //在OilDataB表中获取B库要的性质表,GC标准表数据
            List <OilDataBEntity> OilDataBEntityBs   = OilDataBEntityAlls.Where(c => c.OilTableRow.oilTableTypeID == (int)EnumTableType.Whole || c.OilTableRow.oilTableTypeID == (int)EnumTableType.GCLevel).ToList();


            List <OilDataOut> oilDataAlls = new List <OilDataOut>();
            foreach (OilDataBEntity OilDataBEntity in OilDataBEntityBs)  //把OilDataBEntity数据转为OilDataBOut数据
            {
                OilDataOut oilDataOut = new OilDataOut();
                oilDataOut.ID            = OilDataBEntity.ID;
                oilDataOut.oilInfoID     = OilDataBEntity.oilInfoID;
                oilDataOut.oilTableColID = OilDataBEntity.oilTableColID;
                oilDataOut.oilTableRowID = OilDataBEntity.oilTableRowID;
                oilDataOut.labData       = "";
                oilDataOut.calData       = OilDataBEntity.calData;
                oilDataAlls.Add(oilDataOut);
            }
            #endregion

            #region "B库切割后(查询库)的数据"
            OilDataSearchAccess        oilDataSearchAccess     = new OilDataSearchAccess();
            List <OilDataSearchEntity> oilDataSearchEntityList = oilDataSearchAccess.Get(strWhere2); //在oilDataSearch表中获取C库要数据
            List <OilDataSearchOut>    oilDataSearchAlls       = new List <OilDataSearchOut>();
            foreach (OilDataSearchEntity OilDataSearchEntity in oilDataSearchEntityList)             //把OilDataSearchEntity数据转为OilDataSearchOut数据
            {
                OilDataSearchOut oilDataSearchOut = new OilDataSearchOut();
                oilDataSearchOut.ID            = OilDataSearchEntity.ID;
                oilDataSearchOut.oilInfoID     = OilDataSearchEntity.oilInfoID;
                oilDataSearchOut.oilTableColID = OilDataSearchEntity.oilTableColID;
                oilDataSearchOut.oilTableRowID = OilDataSearchEntity.oilTableRowID;
                oilDataSearchOut.labData       = "";
                oilDataSearchOut.calData       = OilDataSearchEntity.calData;
                oilDataSearchAlls.Add(oilDataSearchOut);
            }
            #endregion

            #region "新建OutLib"
            OutLib outLib = new OutLib();
            OilTableRowOutAccess oilTableRowAccess = new OilTableRowOutAccess();
            OilTableColOutAccess oilTableColAccess = new OilTableColOutAccess();
            CurveTypeAccess      curveTypeAccess   = new CurveTypeAccess();   //添加曲线类别
            outLib.oilTableRows = oilTableRowAccess.Get("1=1");               //获取oilTableRow表中所有行
            outLib.oilTableCols = oilTableColAccess.Get("1=1");               //获取oilTableCol表中所有列
            outLib.curveTypes   = curveTypeAccess.Get("1=1");                 //添加曲线类别
            #endregion

            #region "根据选择原油编号来选择原油曲线类型"
            CurveAccess        curveAccess = new CurveAccess();
            CurveDataAccess    dataAccess  = new CurveDataAccess();
            List <CurveEntity> curvesAll   = new List <CurveEntity>();
            curvesAll = curveAccess.Get(strWhere2);            //获取选中原油的所有曲线
            #endregion

            #region "根据选择原油编号的选择原油曲线类型来选择曲线对应的数据"
            string strWherecurveID = "";//根据选中的原有的曲线ID来选择对应的曲线数据
            foreach (var curve in curvesAll)
            {
                strWherecurveID += " or curveID=" + curve.ID;
            }
            List <CurveDataEntity> curveDatasAll = new List <CurveDataEntity>();
            if (strWherecurveID.Length > 2)
            {
                strWherecurveID = strWherecurveID.Trim().Substring(2);
                curveDatasAll   = dataAccess.Get(strWherecurveID); //获取选中原油的所有曲线的所有曲线数据
            }
            #endregion


            foreach (OilInfoOut oilInfoOut in oilInfoOuts)                                                          //循环查看导出了多少条数据
            {
                oilInfoOut.oilDatas          = oilDataAlls.Where(c => c.oilInfoID == oilInfoOut.ID).ToList();       //添加oilDatas数据
                oilInfoOut.oilDataSearchOuts = oilDataSearchAlls.Where(c => c.oilInfoID == oilInfoOut.ID).ToList(); //添加oilDataSearchs数据
                oilInfoOut.curves            = curvesAll.Where(c => c.oilInfoID == oilInfoOut.ID).ToList();         //添加一条原油数据的曲线

                foreach (CurveEntity curve in oilInfoOut.curves)                                                    //添加一条原油数据的曲线的曲线点数据
                {
                    curve.curveDatas = new List <CurveDataEntity>();
                    curve.curveDatas = curveDatasAll.Where(c => c.curveID == curve.ID).ToList();
                }
                outLib.oilInfoOuts.Add(oilInfoOut);                 //构建一条一条的原油信息,形成原油列表
            }
            Serialize.Write <OutLib>(outLib, fileName);
        }