From b095a7e8079d299359432a2d3e3a151f238486f9 Mon Sep 17 00:00:00 2001 From: b110212000 Date: Wed, 16 Feb 2022 18:36:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9email=E7=95=B0=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implement/OverviewRepository.cs | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/SolarPower/Repository/Implement/OverviewRepository.cs b/SolarPower/Repository/Implement/OverviewRepository.cs index a1907e3..a3f3b11 100644 --- a/SolarPower/Repository/Implement/OverviewRepository.cs +++ b/SolarPower/Repository/Implement/OverviewRepository.cs @@ -696,17 +696,30 @@ namespace SolarPower.Repository.Implement { 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 , 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, - case when c.errMsg_tw is null then d.errMsg_tw else c.errMsg_tw end errMsg ,case when c.errMsg is null then d.errMsg else c.errMsg end errMsgT - from err_main a - 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 case when lower(b.alarmClass) = 'inverter' and err_valuekind = 'e' then errvalue else '' end = d.errCode - left join power_station ps on ps.Code = site_id - left join operation_record pr on pr.ErrorCode = a.id + 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.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 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 errMsgT + from err_main a + 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 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 + left join power_station ps on ps.Code = site_id + left join operation_record pr on pr.ErrorCode = a.id ) a LEFT JOIN notice_schedule ns ON ns.ExceptionId = a.id