yzh
2022-05-26 3b18a48485f7207438d9d0eb3038d979e069431d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<%@ WebHandler Language="C#" Class="AlarmLogHandler" %>
 
using System;
using System.Web;
using Model;
using Dao;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using Common;
using System.Text;
 
public class AlarmLogHandler : PageHandler<SysUser> 
{
    
    public override JsonPageResult ProcessRequestInternal(PageContext<Model.SysUser> context)
    {
        string action = context.GetString("action");
 
        switch (action)
        {
            case "getTopAlarmList":
                return GetTopAlarmList(context);
            case "getUnrestoredAlarmList":
                return GetUnrestoredAlarmList(context);
            case "loadAlarmLogList":
                return LoadAlarmLogList(context);
            default:
                throw new Exception("Invalid Action=" + action);
        }
    }
 
    private GwAlarmDao _Dao = new GwAlarmDao();
 
    private JsonPageResult LoadAlarmLogList(PageContext<SysUser> context)
    {
        int recordCount = 0;
        int pageSize = context.GetInt("pageSize", 20);
        int pageIndex = context.GetInt("pageIndex", 1);
 
        using (GwAlarmDao dao = new GwAlarmDao())
        {
            StringBuilder sb = new StringBuilder();
            
            DataTable table = dao.GetTopAlarmLog(1000, out recordCount, pageIndex, pageSize);
 
            foreach (DataRow row in table.Rows)
            {
                DataRowReader reader = new DataRowReader(row);
 
                sb.Append("<tr>");
 
                sb.AppendFormat("<td>{0}</td>", reader.GetString("ALARM_ID"));
                sb.AppendFormat("<td>{0}</td>", reader.GetString("ALARM_TYPE"));
                sb.AppendFormat("<td>{0}</td>", reader.GetString("ALARM_CONTENT"));
                sb.AppendFormat("<td>{0}</td>", reader.GetDateTime("ALARM_TIME").ToString("yy-MM-dd HH:mm:ss"));
 
                if (reader.GetInt("RESTORE_FLAG") == 1)
                {
                    sb.AppendFormat("<td>{0}</td>", "<span class='label label-primary'>已经恢复</span>");
                    sb.AppendFormat("<td>{0}</td>", reader.GetDateTime("RESTORE_TIME").ToString("yy-MM-dd HH:mm:ss"));
                    sb.AppendFormat("<td>{0}</td>", reader.GetString("RESTORE_CONTENT"));
                }
                else
                {
                    sb.AppendFormat(@"<td colspan=""3""><span class='label label-warning'>未恢复</span></td>");
                }
 
                sb.Append("</tr>");
            }
 
            return new JsonPageResult(true, new { Table = sb.ToString(), TotalCount = recordCount });
        }
    }
    
    private JsonPageResult GetUnrestoredAlarmList(PageContext<SysUser> context)
    {
 
        return new JsonPageResult(true, _Dao.GetUnrestoredAlarmLog());
    }
 
    private JsonPageResult GetTopAlarmList(PageContext<SysUser> context)
    {
        return new JsonPageResult(true, _Dao.GetTopAlarmLog(50));
    }    
 
    public decimal Divide(decimal v, decimal total)
    {
        if (total == 0)
        {
            return 0;
        }
 
        return Math.Round(v / total, 2);
    }
}