999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ASP.NET的油田生產時率統計網站的設計與實現

2021-06-04 01:24:34李高鵬樓海龍
天津科技 2021年5期
關鍵詞:頁面數據庫產量

李高鵬,樓海龍,楊 靜

(1. 中海油伊拉克有限公司 天津300450;2. 中海油采油技術服務有限公司 天津300450)

生產時率是油田開發生產過程中的重要基礎數據,通過生產時率可以反應油田的油井利用率以及整體開發生產效率。生產過程中由于各種原因導致的油井關停事件是造成生產時率損失和產量損失的主要因素。本文以伊拉克某中資油田為背景,該油田投產于20世紀70年代,生產管理手段仍在沿用手工報表,效率低且不便于跟蹤統計。該油田主要包括近200口油井,隨著地層壓力的衰減,生產模式逐漸由自噴生產轉向電潛泵開發,生產時率對地面設備和供電的穩定性要求越來越高。

生產時率的影響因素多種多樣,如電網波動和停電、管線泄漏、井下電潛泵故障、驅動電潛泵發電機的保養和故障停機、設施流程維修改造、地層原因、偷盜等都會造成生產關停。

常規Excel表格統計生產時率有以下不足:①不能同時多人對表格進行編輯;②在Excel中輸入關停事件時,不僅要計算每個關停事件的時長,還要查詢單井產量,計算產量損失,工作量大且容易出錯; ③Excel安全性差,容易被篡改或刪除;④隨著數據的增多,Excel運行速度越來越慢。

本文介紹了一種通過網站+數據庫的方式實現對關停信息的收集,同時在后臺計算出相應的產量損失和生產時率等信息。網站具有共享性好,數據庫具有存儲量大的優點,對數據的處理和計算上也更加靈活。通過盡量少的輸入信息減少人員工作強度,盡可能多地通過后臺運算處理來展示更多分析結果。

1 網站實現功能的具體要求

①通過網站頁面實現對關停事件的信息采集,包括井名、站名、關停復產時間、關停原因等。

②通過頁面實現對最新油井測井信息的采集,包括單井總產液量、含水率、自噴產量等,并在后臺自動計算出純油產量、產水量、ESP泵的增加產量等信息,補充到該關停事件信息中。

③在信息輸入過程中對輸入的信息進行必要的數據有效性驗證,增強數據可靠性。

④通過頁面端查詢、更新和刪除某一時間段內的油井的所有關停事件信息。

⑤當頁面輸入關停事件時,根據最新的油井測井信息,自動在后臺計算出產量損失和該關停事件對應的當天的生產時率損失,將生產時率的計算精確到每一次關停事件。

⑥查詢和顯示某一時間段內的按關停原因分組的總的時率損失。

⑦通過頁面端輸入、查詢、更新和刪除某一時間段內的所有油井或某一口井的計量和狀態信息。

⑧查詢和顯示截至輸入的查詢日期,總的油井數量以及總的開井數量,以便快速得出開井率。

⑨通過Excel批量上傳油井的測井信息,并在上傳數據前進行數據有效性驗證,并核對數據庫,進行查重。

⑩將查詢到符合條件的關停事件信息或者油井信息導出到Excel中。

2 開發工具和環境

通過ASP.net編程搭建動態網站作為前臺頁面,以及MSSQL數據庫作為后臺數據存儲,主要開發平臺及軟件:Visual Studio 2015;MSSQL 2012數據庫;開發語言C#;Bootstrap 4.0 HTML網頁頁面架構;Microsoft.Net Framework 4.5.2 平臺;Windows7+IIS服務。

3 開發過程和具體實現

3.1 數據流

如圖1所示,前臺網頁頁面通過Visual Studio和Bootstrap進行快速開發,作為信息的收集和展示,后臺通過Action類作為頁面行為的引導,最終通過Sqlhelper類建立和數據庫之間的數據交換,實現信息的動態存取。

3.2 數據庫設計

在進行前端開發前,首先需要對數據庫進行配置,規劃好所有存儲的數據類型和表格。在數據庫中建立1個名稱為SDcollection的數據庫,同時建立 2個表格dbo.SDstatistic和dbo.Wellinfor,分別用來存儲關停事件信息和油井測井信息。

圖1 數據交換流程 Fig.1 Data exchange process

3.2.1 油井測井信息數據表

油井測井信息數據表總共包含14列,分別用來存儲油井的類型、各種產量、含水、測井時間等信息,具體如圖2所示,其中產油量Oil、產水量Water、電潛泵增產量ESPproduction,這3項不需要在頁面端輸入,將根據其他輸入的油井測試信息在后臺進行計算得出,然后合并填入數據庫。

圖2 數據庫油井信息表結構設計 Fig.2 Structure design of oil well information table in database

3.2.2 關停信息數據表

關停信息數據表包含14列,分別用來存儲關停信息的井名、關停時間、關停原因、產量損失及該關停事件所對應的當天的時率損失等信息,具體如圖3所示。其中只有SDtime、Starttime、CloseWellYN、SDreason為必填項,Detailreason為選填項,其他項在輸入關停信息時,將自動查詢測井信息數據表,并計算出對應的信息,一并填入關停事件信息表。

3.2.3 時率計算原則

時率計算根據統計規則的不同,結果也會有差別,本文所列時率計算原則具體如下:

①當輸入某油井關停事件時,將首先查詢測井信息表中有關該井的最近一條信息,并由此計算出“產 量損失”和“關停時長”,讀取該井的“Active”狀態、該井的“自噴產量”,關停時“X-tree閥門是否關閉”,“關停和時間”等,并查詢截至當天Active=Y的總井數,然后計算出該關停事件的“當天損失時率”,合并以上信息后,作為一條關停記錄寫入數據庫。

圖3 數據庫關停信息表結構設計 Fig.3 Structure design of shutdown information table in database

②當查詢某個時段的時率時,記入時率損失的 2種情況為:如果該井狀態Active=Y,并且自噴產量NFproduction>0,并且關閉了采油樹閥門CloseValveYN=Y;如果該井狀態Active=Y,并且自噴產量NFproduction=0,并且沒有關閉采油樹閥門CloseValveYN=N。

③當查詢某個時段的時率時,不計入時率損失的2種情況:該井狀態Active=Y,并且自噴產量NFproduction>0,且沒有關閉采油樹閥門CloseValveYN=N;該井Active=N,則該關停事件不計入時率損失。

④當輸入的關停事件跨越多天時,輸入時會自動分解到每一天,并計算每一天的時率損失。

⑤關停事件當天的單井損失時率如式(1)所示:

式中:ts為關停事件當天損失時率;h為該油井關停時長;n為當前狀態Active=Y的所有油井數。

⑥當查詢某個時間段的總時率時,在檢索時間段內,根據條件②、③計算關停損失時率如式(2):

式中:χ為檢索時間段內的總生產時率;Tstart為檢索起始日期;Tend為檢索結束日期。

3.2.4 數據庫觸發器的設計

在關停信息數據表中,定義了觸發器SDstatistic_ AutoEx_trigger,觸發器的使用主要滿足當輸入關停事件時,自動計算相關項目,并更新到數據庫中。具體實現以下功能:

①自動計算關停時長、液量損失、油量損失;

②查詢測井信息表獲得該井的自噴產量,用于后面時率計算的判斷依據;

③當關停事件跨越多天時,自動將其拆分到每 一天;

④自動計算每一個關停事件所對應的當天的時率損失。

具體代碼邏輯如下,由于篇幅限制,本文以下程序只說明邏輯結構,并非可執行源碼。

insert into SDstatistic(*)values(*)

3.2.5 數據庫時率計算函數的使用

數據庫中定義了1個表值函數FN_TimeRate ByReason,當頁面請求計算某個時間段的時率時,數據庫將查詢該時間段內的每一條關停事件,根據時率計算原則的第②、③、④條判斷是否計入時率損失,最后按關停原因分組,返回一個List給頁面后臺代碼,然后綁定到頁面GridView中。數據庫時率計算函數代碼如下:

3.3 前端頁面開發

根據前端頁面信息輸入和展示的需要,總共規劃7個頁面:

①Shutdown Event Input輸入關停事件信息;

②Shutdown Event State查詢關停事件和生產時率;

③Well-Info Import油井測井信息錄入;

④Well-Info State查詢油井測井信息;

⑤Backup Database備份MSSQL數據庫;

讓法比感到安全的是,叫趙玉墨的女人,永遠不會愛上他。她那含意萬千的凝視是她的技巧,是她用來為自己換便利的,由此他更加恨她。他糊涂了,若是她死心塌地真心誠意地愛他,他不就完結了嗎?難道他不該感激她只和他玩技巧?

⑥Detail Shutdown Infor展示某一關停事件的詳細信息(間接打開);

⑦Detail Well-Info 展示某油井的某條詳細測井信息(間接打開)。

前端頁面的樣式設計使用Bootstrap框架,能夠滿足快速開發的需求,同時使用母版頁,在母版頁中對主導航欄進行設計后,可以直接在其他子頁面中進行調用,而避免重復開發。

本文著重講述前2個頁面,其他頁面具體功能代碼、Excel上傳下載、Bootstrap頁面架構以及Web發布等不再詳述。

3.3.1 頁面ShutdownEventInput的設計

由于各個脫氣站的油井數量是動態變化的,為避免每次有新的油井投產,就要從后臺修改網頁的頁面設計,那么油井輸入頁面也需要根據各個站的油井數量動態顯示所有井。如圖4所示。

3.3.2 ShutdownEventInput前臺頁面

在前臺頁面中使用DropDownList控件,羅列 9個站的站名,當需要輸入某個站的關停事件時,選擇該站的站名,在后臺程序中將查詢油井測井信息表中所有隸屬該站的井,并將該站的井名和有油井類型綁定到頁面的GridView中,各列功能為:

圖4 關停事件輸入頁面 Fig.4 Input page of shutdown events

②WellName,DGS和Type是從數據庫查詢出來后直接綁定無需填寫;

③SDtime和Starttime為文本框,用于輸入時間,通過彈窗方便選取時間;

④XtreeValveClose和SDreason則為下拉菜單,便于填寫;

⑤Detailreason為多行文本框。

3.3.3 ShutdownEventInput前臺頁面代碼

3.3.4 ShutdownEventInput后臺處理

在后臺代碼中,當點擊提交submit按鈕后,將首先對各個checkbox打勾的行所填內容進行有效性驗證,如果不滿足下面條件,則會在頁面彈出報警提示用戶:

①輸入的 SDtime和 Startime必須符合InputTimeValidation()函數所規定的日期格式;

②XtreeValveClose和SDreason不能為空;

③點擊提交后,通過action.TotalCount()類獲得該站總的井數;

④通過action類的GetWellName()方法,來獲得該站所有井的井名并綁定到GridView。

3.3.5 ShutdownEventInput頁面后臺代碼

3.3.6 Active類的邏輯處理

后臺代碼響應前臺頁面請求時,通過傳遞過來的參數“DGS”名字,查詢數據庫中對應站所有的井,并生成列表返回到頁面后臺代碼中,最后綁定到頁面的GridView。在Action類中,首先定義好查詢SQL數據庫的字符串sql語句,以及內部形參,然后通過內部方法給形參賦值;最終調用Sqlhelper類中的ExecuteReader()方法獲取油井列表返回給頁面后臺。Active類代碼如下:

3.3.7 Sqlhelper類邏輯功能

Sqlhelper類專門用來處理與數據庫之間的數據交換,包含5個方法,分別用來實現對數據庫的讀寫等各種操作:

①ExecuteNonQuery()方法,執行SQL語句并返回受影響的行數;

②ExecuteScalar()方法,執行SQL語句并返回查詢結果集的第一行第一列的內容;

③ExecuteReader()方法,執行SQL語句并返回查詢結果集;

④ExecuteDataTable()方法,執行SQL語句并以表的形式返回查詢結果集;

⑤ExecuteProc()方法,執行數據庫中預定義的存儲過程,并返回第一行第一列的值,以判斷是否執行成功,該方法用作備份數據庫使用。

4 頁面ShutdownEventState的設計

如圖5所示,在關停事件展示頁中,定義了檢索條件行,可以分別查詢某個時間段的所有關停事件,或者某個井的關停事件,以及對應的時間段內按關停原因分組的生產時率損失和總時率。

圖5 關停事件展示頁面 Fig.5 Shutdown event state

同時在查詢結果表中,通過按鈕實現查詢結果導出到Excel中。由于在Shutdown Event Input頁面中已詳細介紹了Action和Sqlhelper類的功能,下面的內容中將不再贅述。

如圖6所示,同時展示了符合查詢時間的關停事件的列表,在列表的首列定義了超鏈接,可以打開關于該事件的詳細信息。

圖6 關停事件列表展示頁 Fig.6 Shutdown event list

5 結論

本文提出了一種時率統計方法,通過網站開發部署和完善,能夠滿足生產需求,從而減輕了數據統計工作量,有效保障數據的準確性,同時提高了統計的數字化水平,便于后期維護。

猜你喜歡
頁面數據庫產量
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
2022年11月份我國鋅產量同比增長2.9% 鉛產量同比增長5.6%
今年前7個月北海道魚糜產量同比減少37%
當代水產(2021年10期)2021-12-05 16:31:48
海水稻產量測評平均產量逐年遞增
今日農業(2020年20期)2020-11-26 06:09:10
2018上半年我國PVC產量數據
聚氯乙烯(2018年9期)2018-02-18 01:11:34
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 99精品国产电影| 中文字幕无线码一区| 中国国语毛片免费观看视频| 午夜国产理论| 欧美一区福利| 国产无码制服丝袜| 国产日本视频91| a毛片免费看| 亚洲成人在线网| 亚洲无码视频喷水| 粉嫩国产白浆在线观看| 国产精品美人久久久久久AV| 乱系列中文字幕在线视频 | 亚洲一区毛片| 玖玖精品在线| 午夜福利网址| 中文字幕资源站| 免费看美女自慰的网站| 久久这里只有精品66| 日韩精品亚洲人旧成在线| www成人国产在线观看网站| 成人av手机在线观看| 亚洲国产精品一区二区第一页免| 中国一级特黄视频| 日韩欧美网址| 亚洲欧洲日本在线| 久久情精品国产品免费| 成人免费一区二区三区| 91精品国产麻豆国产自产在线| 在线高清亚洲精品二区| 亚洲Va中文字幕久久一区 | 久久6免费视频| 国产流白浆视频| 1769国产精品视频免费观看| 久久黄色小视频| 日韩欧美91| 精品91在线| 毛片视频网| 国产精品无码久久久久久| 亚洲免费毛片| 99国产在线视频| 亚洲天堂网在线视频| 国产h视频在线观看视频| 在线观看欧美国产| 亚洲91精品视频| 久久男人资源站| 国产喷水视频| 久久亚洲综合伊人| 精品日韩亚洲欧美高清a| 无码一区二区三区视频在线播放| 99er这里只有精品| 波多野结衣中文字幕久久| 久草视频一区| 久久99精品久久久久久不卡| 91精品专区国产盗摄| 国产三级国产精品国产普男人| 怡春院欧美一区二区三区免费| 国产香蕉国产精品偷在线观看| 日韩毛片视频| 一级毛片免费的| 又爽又黄又无遮挡网站| 成人中文在线| 国产网站免费| 日本一区二区不卡视频| 无码区日韩专区免费系列| 999精品视频在线| 日本久久网站| 日韩欧美91| 欧美日韩午夜| 99re这里只有国产中文精品国产精品| 四虎永久免费地址在线网站| 天天综合天天综合| 久久综合伊人77777| 国产精品片在线观看手机版| 午夜天堂视频| 亚洲一区二区无码视频| 激情成人综合网| 国产精品区视频中文字幕| 人人爱天天做夜夜爽| 2021国产精品自产拍在线| 伊人五月丁香综合AⅤ| 免费一级毛片在线播放傲雪网|