大家好,我是雷工!
最近参与的一个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系统在传统实时数据采集和监督控制的基础上,不断衍生出更多信息化,智能化应用,不仅可以对生产环节数据实时监控和综合调度,还可以较大地提升企业信息化水平和生产管理水平,促进企业快速发展。