项目代码第6讲:UpdownController.cs;理解 工艺/工序 流程、机台信息;前端的“历史 警报/工艺 记录”;每个机台各个管道的数据(温度、压力、气体)
一、UpdownController.cs
1、前端传入
当用户在下图的“记录查询”中的 两个界面选项 中,点击“导出”功能时,向后端发起请求,请求服务器下载文件的权限
【权限是在Program.cs中检测的,这个控制器里只需要进行“谁在哪个接口下载了文件”的日志记录】
【导出:是用户把当前界面上的东西导出为xlsx文件,不用存到数据库,只需要进行日志记录就行了】
2、该控制器的作用
1>在Logger日志中记录“谁在哪个接口下载了文件”
权限是在Program.cs中检测的,这个控制器里只需要进行“谁在哪个接口下载了文件”的日志记录。
2>返回字符串“OK”
二、记录查询——历史警报查询记(HistoryWarningView.vue)
1、属性选择:右边弹出的界面,实际是数据库HistoryWarnings表的各个表头
可以勾选多个查看对应的列。
2、AlarmID:对应数据库HistoryWarnings表的AlarmID。这个才是真正的此警报的ID
/// 报警类型。比如是Lift(机械手报警),比如是Tube(管道报警)
public string AlarmType { get; set; }
/// 设备警报ID。具体是机台上的哪个机械手、哪个管道报的警。比如Tube5
public string DeviceID { get; set; }
/// 设备警报。这个对应前端界面“属性选择”的AlarmID。这个才是真正的此警报的ID
public string AlarmID { get; set; }//上位机就定义的是string类型
3、前端从后端取数据:一次取完所有的数据,再根据取出的数据在上述1、2、中做前端显示界面的筛选
(因为如果每次先在前端筛选后,再去后端取数据的话,太麻烦消耗也很大)
1>HistoryWarningsController.cs
1》前端传入的参数
startTimeF //选择开始时间,Time类型
endTimeF //选择结束时间,Time类型
state //选中机台名,string类型
TubeAndLiftNumbe //选中管和机械手数据,string类型【注意,ALL选项并不是设备报警ID中有的,所以在后端要分情况讨论。见下面2》2)】
2》该控制器的作用
1)控制器中先进行日志记录,记录“谁查看了历史警报”
2)根据传入的TubeAndLiftNumbe参数,选择要返回的数据:
如果TubeAndLiftNumbe = ALL,返回这个时间段内这个机台的所有报警信息。
如果TubeAndLiftNumbe = Lift / 或者具体的管号Tube5等,返回具体到管 的这个时间段内这个机台的所有报警信息。
3)返回一个包含若干HistoryWarnings的List
下图中的“示例”路由,%20代表一个空格
3》控制器返回的数据结构【即数据库中的表HistoryWarnings,即上述2、中的显示数据】
2>GetAllHostname(原项目代码的文件名后面忘记加Controller了)
想要的效果:如下图红框所示,当点击下图“请输入机台名”按钮时,能自动弹出下面的选项。