| 
						
						
							
								
							
						
						
					 | 
					@ -829,28 +829,47 @@ module.exports = function (app, opts) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                   t_sensor.name AS name, | 
					 | 
					 | 
					                                   t_sensor.name AS name, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                   t_sensor.structure AS structureId, | 
					 | 
					 | 
					                                   t_sensor.structure AS structureId, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                   t_sensor.factor AS factorId, | 
					 | 
					 | 
					                                   t_sensor.factor AS factorId, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                                   t_device_sensor.iota_device_id AS iotaDeviceId, | 
					 | 
					 | 
					                                   t_device_sensor.iota_device_id AS iotaDeviceId | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					                                   ${dataAlarm}.alarms.State AS state,  | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                   ${dataAlarm}.alarms.AlarmGroup AS alarmGroup, | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                   ${dataAlarm}.alarms.SourceId AS sourceId | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					                                   FROM  | 
					 | 
					 | 
					                                   FROM  | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                       t_sensor | 
					 | 
					 | 
					                                       t_sensor | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                   LEFT JOIN t_device_sensor | 
					 | 
					 | 
					                                   LEFT JOIN t_device_sensor | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                      ON t_device_sensor.sensor = t_sensor.id | 
					 | 
					 | 
					                                      ON t_device_sensor.sensor = t_sensor.id | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                   LEFT JOIN ${dataAlarm}.alarms | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                      ON ${dataAlarm}.alarms.SourceId = t_device_sensor.iota_device_id | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                   WHERE  | 
					 | 
					 | 
					                                   WHERE  | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                    t_sensor.structure = (${d.StructureId}) | 
					 | 
					 | 
					                                    t_sensor.structure = (${d.StructureId}) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                    AND | 
					 | 
					 | 
					                                    AND | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                    t_sensor.factor IN (${factorId.join(',')}) | 
					 | 
					 | 
					                                    t_sensor.factor IN (${factorId.join(',')}) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                ` | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                              ).toPromise() || [] | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                              const alarmDatas = await clickHouse.dataAlarm.query( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                 `  
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                   SELECT  | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                   alarms.id AS id, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                   alarms.State AS state,  | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                   alarms.AlarmGroup AS alarmGroup, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                   alarms.SourceId AS sourceId | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                   FROM  | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                   alarms | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                   WHERE  | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    alarms.StructureId = (${d.StructureId}) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    AND | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    alarms.AlarmGroup = 1 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                    AND | 
					 | 
					 | 
					                                    AND | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                                    ${dataAlarm}.alarms.AlarmGroup = 1 | 
					 | 
					 | 
					                                    alarms.State < 3 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					                                ` | 
					 | 
					 | 
					                                ` | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                              ).toPromise() || [] | 
					 | 
					 | 
					                              ).toPromise() || [] | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                               | 
					 | 
					 | 
					                               | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                              equipment.map(r => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                 alarmDatas.map(u => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    if (r.iotaDeviceId == u.sourceId) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                       r.sourceId = u.sourceId | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                 }) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                              }) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                              d.factor = [] | 
					 | 
					 | 
					                              d.factor = [] | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                              factorData.map(c => { | 
					 | 
					 | 
					                              factorData.map(c => { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                                 let breakData = equipment.filter(m => (m.iotaDeviceId && m.sourceId && m.state < 3 && m.alarmGroup == 1 && m.factorId == c.id)) | 
					 | 
					 | 
					                                 let breakData = equipment.filter(m => (m.factorId == c.id && m.sourceId)) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					                                 d.factor.push({ | 
					 | 
					 | 
					                                 d.factor.push({ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                    name: c.name, | 
					 | 
					 | 
					                                    name: c.name, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                                    sum: equipment.length, | 
					 | 
					 | 
					                                    sum: equipment.length, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |