6 changed files with 122 additions and 4 deletions
			
			
		@ -0,0 +1,64 @@ | 
				
			|||||||
 | 
					package com.mh.quartz.task; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.mh.common.core.domain.entity.CollectionParamsManage; | 
				
			||||||
 | 
					import com.mh.common.core.redis.RedisCache; | 
				
			||||||
 | 
					import com.mh.framework.dealdata.DataProcessService; | 
				
			||||||
 | 
					import lombok.extern.slf4j.Slf4j; | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
				
			||||||
 | 
					import org.springframework.stereotype.Component; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.time.Duration; | 
				
			||||||
 | 
					import java.time.LocalDateTime; | 
				
			||||||
 | 
					import java.time.format.DateTimeFormatter; | 
				
			||||||
 | 
					import java.util.*; | 
				
			||||||
 | 
					import java.util.stream.Collectors; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author LJF | 
				
			||||||
 | 
					 * @version 1.0 | 
				
			||||||
 | 
					 * @project EEMCS | 
				
			||||||
 | 
					 * @description 处理上来的数据报文 | 
				
			||||||
 | 
					 * @date 2025-02-10 14:19:36 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Slf4j | 
				
			||||||
 | 
					@Component("dealDataTask") | 
				
			||||||
 | 
					public class DealDataTask { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final RedisCache redisCache; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final DataProcessService dataProcessService; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Autowired | 
				
			||||||
 | 
					    public DealDataTask(RedisCache redisCache, DataProcessService dataProcessService) { | 
				
			||||||
 | 
					        this.redisCache = redisCache; | 
				
			||||||
 | 
					        this.dataProcessService = dataProcessService; | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void dealDeviceData() { | 
				
			||||||
 | 
					        List<CollectionParamsManage> cacheList = redisCache.getCacheList("CHILLERS", CollectionParamsManage.class); | 
				
			||||||
 | 
					        if (null == cacheList || cacheList.isEmpty()) { | 
				
			||||||
 | 
					            return; | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        //清空redis
 | 
				
			||||||
 | 
					        redisCache.deleteObject("CHILLERS"); | 
				
			||||||
 | 
					        //处理chillers数据
 | 
				
			||||||
 | 
					        try { | 
				
			||||||
 | 
					            //todo 处理没有对象curValue和curTime的异常
 | 
				
			||||||
 | 
					            dealChillersCollect(cacheList); | 
				
			||||||
 | 
					        } catch (Exception e) { | 
				
			||||||
 | 
					            log.error("处理主机参数异常:{}", e); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 处理主机秒级数据,再计算主机运行时间 | 
				
			||||||
 | 
					     * | 
				
			||||||
 | 
					     * @param cacheList | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    private void dealChillersCollect(List<CollectionParamsManage> cacheList) throws Exception { | 
				
			||||||
 | 
					        //插入报表,将历史数据插入chillers_data_min
 | 
				
			||||||
 | 
					        //1.插入register_id,当前值,当前时间,名字
 | 
				
			||||||
 | 
					        dataProcessService.insertChillerReport(cacheList); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,30 @@ | 
				
			|||||||
 | 
					package com.mh.system.mapper.device; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.mh.common.core.domain.entity.CollectionParamsManage; | 
				
			||||||
 | 
					import org.apache.ibatis.annotations.*; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @Author : ljf | 
				
			||||||
 | 
					 * @date : 2025-02-10 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Mapper | 
				
			||||||
 | 
					public interface DataProcessMapper { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 批量插入冷水机组分钟记录保存表 | 
				
			||||||
 | 
					     * | 
				
			||||||
 | 
					     * @param batchList | 
				
			||||||
 | 
					     * @param tableName | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Select("<script>" + | 
				
			||||||
 | 
					            "insert into ${tableName}(device_num, device_code, register_address,register_name, cur_value,cur_time,grade,register_id)" + | 
				
			||||||
 | 
					            "values " + | 
				
			||||||
 | 
					            "<foreach collection='batchList' item='item' index='index' separator=','>" + | 
				
			||||||
 | 
					            "(#{item.mtNum},#{item.mtCode},#{item.registerAddr},#{item.otherName},#{item.curValue},#{item.curTime},#{item.grade},#{item.id})" + | 
				
			||||||
 | 
					            "</foreach>" + | 
				
			||||||
 | 
					            "</script>") | 
				
			||||||
 | 
					    void batchInsertChiller(@Param("batchList") List<CollectionParamsManage> batchList, @Param("tableName") String tableName); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue