| | |
| | | import com.whyc.constant.DevStateEnum; |
| | | import com.whyc.dto.Real.PwrHisRealDcoutInDto; |
| | | import com.whyc.dto.Real.RealDateDTO; |
| | | import com.whyc.dto.RealDataStatic.ResRealDataAc; |
| | | import com.whyc.dto.RealDataStatic.SticRealDataAc; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.mapper.BattRtstateMapper; |
| | | import com.whyc.pojo.db_ram_db.BattRtstate; |
| | | import com.whyc.pojo.db_ram_db.PwrdevAcdcdata; |
| | | import com.whyc.util.ActionUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.lang.reflect.Field; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | |
| | | RealDateDTO hrDto=mapper.getBattRealHr(battgroupId); |
| | | return hrDto; |
| | | } |
| | | //实时数据统计曲线-核容设备 |
| | | public ResRealDataAc getSticRealDataAc(SticRealDataAc realDataAc) throws NoSuchFieldException, IllegalAccessException { |
| | | Integer battgroupId=realDataAc.getBattgroupId(); |
| | | Map<String, List<String>> propertyInfo=realDataAc.getPropertyInfo(); |
| | | QueryWrapper wrapper=new QueryWrapper(); |
| | | wrapper.eq("battgroup_id",battgroupId); |
| | | wrapper.last("limit 1"); |
| | | BattRtstate batt=mapper.selectOne(wrapper); |
| | | ResRealDataAc data=new ResRealDataAc(); |
| | | if(batt!=null){ |
| | | data.setRecordDatetime(batt.getRecDatetime()); |
| | | Map<String, Map<String,Float>>dataMap=new HashMap<>(); |
| | | for (Map.Entry<String, List<String>> entry : propertyInfo.entrySet()) { |
| | | String key = entry.getKey(); |
| | | List<String> valueList = entry.getValue(); |
| | | Map<String,Float> propertyMap=new HashMap<>(); |
| | | for (String value : valueList) { |
| | | String propertyName = ActionUtil.toCamelCase(value); |
| | | Field field = BattRtstate.class.getDeclaredField(propertyName); |
| | | field.setAccessible(true); // 如果字段是私有的,需要设置为可访问 |
| | | Float propertyValue = (Float) field.get(batt); |
| | | propertyMap.put(value,propertyValue); |
| | | } |
| | | dataMap.put(key,propertyMap); |
| | | } |
| | | data.setPropertyInfo(dataMap); |
| | | } |
| | | return data; |
| | | } |
| | | } |