debug: 補足 email 內容中的異常訊息
This commit is contained in:
parent
cad8e37fbd
commit
edeb83b59a
@ -694,36 +694,68 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var sql = @$"SELECT a.`*`,ns.Id FROM
|
//var sql = @$"SELECT a.`*`,ns.Id FROM
|
||||||
(
|
// (
|
||||||
select a.id, site_id, `timestamp`, FROM_UNIXTIME((`timestamp` / 1000), '%Y-%m-%d %H:%i:%s') dev_time ,
|
// select a.id, site_id, `timestamp`, FROM_UNIXTIME((`timestamp` / 1000), '%Y-%m-%d %H:%i:%s') dev_time ,
|
||||||
a.sourceState err_status, FROM_UNIXTIME( (a.normalTime / 1000), '%Y-%m-%d %H:%i:%s') normalTime,
|
// a.sourceState err_status, FROM_UNIXTIME( (a.normalTime / 1000), '%Y-%m-%d %H:%i:%s') normalTime,
|
||||||
a.alarmClass, b.alarmClass as alarmClassName,ps.Name as PowerStationName,ps.Id as PowerStationId, errDevice, err_valueKind, errValue, FROM_UNIXTIME( (a.lastUpdate / 1000), '%Y-%m-%d %H:%i:%s') lastUpdate, d.errMsg_tw errMsg,
|
// a.alarmClass, b.alarmClass as alarmClassName,ps.Name as PowerStationName,ps.Id as PowerStationId, errDevice, err_valueKind, errValue, FROM_UNIXTIME( (a.lastUpdate / 1000), '%Y-%m-%d %H:%i:%s') lastUpdate, d.errMsg_tw errMsg,
|
||||||
case when c.errMsg_tw is null then
|
// case when c.errMsg_tw is null then
|
||||||
case when err_valueKind = 'b' then d.errMsg_tw
|
// case when err_valueKind = 'b' then d.errMsg_tw
|
||||||
when err_valueKind = 'd' then CONCAT(d.errMsg_tw, ': ', round(a.errValue, 2))
|
// when err_valueKind = 'd' then CONCAT(d.errMsg_tw, ': ', round(a.errValue, 2))
|
||||||
when d.errMsg_tw is null then a.errValue
|
// when d.errMsg_tw is null then a.errValue
|
||||||
when a.errValue is null then d.errMsg_tw
|
// when a.errValue is null then d.errMsg_tw
|
||||||
else CONCAT(a.errValue, ', ' , ifNull(d.errMsg_tw, '')) end
|
// else CONCAT(a.errValue, ', ' , ifNull(d.errMsg_tw, '')) end
|
||||||
else
|
// else
|
||||||
case when err_valueKind = 'b' then c.errMsg_tw
|
// case when err_valueKind = 'b' then c.errMsg_tw
|
||||||
when err_valueKind = 'd' then CONCAT(c.errMsg_tw, ': ', round(a.errValue, 2))
|
// when err_valueKind = 'd' then CONCAT(c.errMsg_tw, ': ', round(a.errValue, 2))
|
||||||
when c.errMsg_tw is null then a.errValue
|
// when c.errMsg_tw is null then a.errValue
|
||||||
when a.errValue is null then c.errMsg_tw
|
// when a.errValue is null then c.errMsg_tw
|
||||||
else CONCAT(a.errValue, ', ' , ifNull(c.errMsg_tw, '')) end
|
// else CONCAT(a.errValue, ', ' , ifNull(c.errMsg_tw, '')) end
|
||||||
end errMsgT
|
// end errMsgT
|
||||||
from err_main a
|
// from err_main a
|
||||||
join alarmorion_orionalarmclass b on a.alarmclass = b.id
|
// join alarmorion_orionalarmclass b on a.alarmclass = b.id
|
||||||
left join ref_err_device c on trim(b.alarmClass) = c.deviceType
|
// left join ref_err_device c on trim(b.alarmClass) = c.deviceType
|
||||||
left join ref_err_inv d on lower(b.alarmClass) = d.deviceType
|
// left join ref_err_inv d on lower(b.alarmClass) = d.deviceType
|
||||||
# and case when lower(b.alarmClass) = 'inverter' and err_valuekind = 'e' then errvalue else '' end = d.errCode
|
// # and case when lower(b.alarmClass) = 'inverter' and err_valuekind = 'e' then errvalue else '' end = d.errCode
|
||||||
and a.errDeviceBrand = d.brend and a.errDeviceModel = d.model and a.errValue = d.errCode
|
// and a.errDeviceBrand = d.brend and a.errDeviceModel = d.model and a.errValue = d.errCode
|
||||||
left join power_station ps on ps.Code = site_id
|
// left join power_station ps on ps.Code = site_id
|
||||||
left join operation_record pr on pr.ErrorCode = a.id
|
// left join operation_record pr on pr.ErrorCode = a.id
|
||||||
) a
|
// ) a
|
||||||
LEFT JOIN
|
// LEFT JOIN
|
||||||
notice_schedule ns ON ns.ExceptionId = a.id
|
// notice_schedule ns ON ns.ExceptionId = a.id
|
||||||
WHERE ns.Id IS NULL AND a.err_status = 1 AND a.PowerStationId IS NOT null";
|
// WHERE ns.Id IS NULL AND a.err_status = 1 AND a.PowerStationId IS NOT null";
|
||||||
|
var sql = $@"
|
||||||
|
SELECT a.`*`,ns.Id FROM
|
||||||
|
(
|
||||||
|
select pr.FormId as FormId, pr.Id as ErrorID, a.id, site_id, `timestamp`,
|
||||||
|
FROM_UNIXTIME((`timestamp` / 1000), '%Y-%m-%d %H:%i:%s') dev_time ,
|
||||||
|
a.sourceState err_status, FROM_UNIXTIME( (a.normalTime / 1000), '%Y-%m-%d %H:%i:%s') normalTime,
|
||||||
|
a.alarmClass, b.alarmClass as alarmClassName,ps.Name as PowerStationName, ps.Id as PowerStationId,errDevice, err_valueKind, errValue,
|
||||||
|
FROM_UNIXTIME( (a.lastUpdate / 1000), '%Y-%m-%d %H:%i:%s') lastUpdate, c.errMsg_tw cerrMsg_tw, d.errMsg_tw derrMsg_tw,
|
||||||
|
case when c.errMsg_tw is null then
|
||||||
|
case when err_valueKind = 'b' then d.errMsg_tw
|
||||||
|
when err_valueKind = 'd' then CONCAT(d.errMsg_tw, ': ', round(a.errValue, 2))
|
||||||
|
when d.errMsg_tw is null then a.errValue
|
||||||
|
when a.errValue is null then d.errMsg_tw
|
||||||
|
else CONCAT(a.errValue, ', ' , ifNull(d.errMsg_tw, '')) end
|
||||||
|
else
|
||||||
|
case when err_valueKind = 'b' then c.errMsg_tw
|
||||||
|
when err_valueKind = 'd' then CONCAT(c.errMsg_tw, ': ', round(a.errValue, 2))
|
||||||
|
when c.errMsg_tw is null then a.errValue
|
||||||
|
when a.errValue is null then c.errMsg_tw
|
||||||
|
else CONCAT(a.errValue, ', ' , ifNull(c.errMsg_tw, '')) end
|
||||||
|
end errMsg
|
||||||
|
#, a.errDeviceBrand , d.brend , a.errDeviceModel, d.model , a.errValue , d.errCode
|
||||||
|
from err_main a
|
||||||
|
left join alarmorion_orionalarmclass b on a.alarmclass = b.id
|
||||||
|
left join ref_err_device c on trim(b.alarmClass) = c.deviceType
|
||||||
|
left join ref_err_inv d on lower(b.alarmClass) = d.deviceType
|
||||||
|
and a.errDeviceBrand = d.brend and a.errDeviceModel = d.model and a.errValue = d.errCode
|
||||||
|
left join power_station ps on ps.`Code` = site_id
|
||||||
|
left join operation_record pr on pr.ErrorCode = a.id
|
||||||
|
where sourceState = 1 and ps.`Code` is not null
|
||||||
|
) a LEFT JOIN notice_schedule ns ON ns.ExceptionId = a.id
|
||||||
|
WHERE ns.Id IS NULL ";
|
||||||
exceptionEmailInfos = (await conn.QueryAsync<ExceptionEmailInfo>(sql)).ToList();
|
exceptionEmailInfos = (await conn.QueryAsync<ExceptionEmailInfo>(sql)).ToList();
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user