大家好,我是雷工!
最近參與的一個SCADA項目,客戶要求增加裝置維保的功能,對裝置的報修,維修,回報過程進行記錄查詢,進一步提升企業的資訊化能力。
該過程的實作是通過建立三個表分别記錄報修-維修-回報的過程流轉資訊,由不同環節的的人員分别入錄相關資訊。查詢時通過選擇報修時間段,裝置名稱查詢對應時間段内該裝置的維保情況。
為了直覺檢視裝置報修所處的環節及維修情況,通過維修單号關聯查詢三個表格資訊并展示。
下面簡單記錄三表連查的方法及簡單的應用示例。
一、建立相關資料表
1、建立報修單記錄表(BXD)記錄報修單的資訊
2、建立維修單記錄表(WXD)記錄維修單的資訊
3、建立回報單記錄表(FKD)記錄對維修結果的回報資訊
二、開發資訊入錄界面
1、報修入錄彈窗
2、維修入錄界面
3、回報處理界面
三、資料查詢語句
資料的查詢涉及三表連查,此處采用的方法是左外連接配接(LEFT JOIN ON)。
此方法是以左表為主表,依次向右比對,比對到,傳回結果,比對不到,則傳回NULL值填充。
SQL語句如下:
SELECT
BXD.裝置名稱,BXD.班組長,BXD.單号,BXD.報修時間,BXD.報修人,BXD.維修班,BXD.問題描述,BXD.備注,BXD.維修序列,
WXD.值班員,WXD.班組長,WXD.報修人,WXD.接報時間,WXD.修複人,WXD.修複時間,WXD.驗收人,WXD.維修人,WXD.問題描述,WXD.故障分析,
FKD.班組長,FKD.回報時間,FKD.回報人,FKD.運作班,FKD.處理意見,FKD.備注
FROM [SCADASQL].[dbo].[BXD]
LEFT JOIN [SCADASQL].[dbo].[WXD] ON BXD.單号= WXD.單号
LEFT JOIN [SCADASQL].[dbo].[FKD] ON WXD.單号= FKD.單号
where BXD.裝置名稱 like '%清水泵%' AND BXD.報修時間 between '2023-05-18' AND '2023-05-18'
ORDER BY 單号
四、查詢結果
1、SQLServer資料庫查詢結果
2、SCADA内查詢結果
結束語:
随着工業網際網路的發展,SCADA系統在傳統實時資料采集和監督控制的基礎上,不斷衍生出更多資訊化,智能化應用,不僅可以對生産環節資料實時監控和綜合排程,還可以較大地提升企業資訊化水準和生産管理水準,促進企業快速發展。