package com.ld.igds.protocol.bhzn.verb.analysis; import com.alibaba.fastjson.JSONObject; import com.ld.igds.common.CoreCommonService; import com.ld.igds.common.CoreDeviceService; import com.ld.igds.constant.BizType; import com.ld.igds.es.dto.EsData; import com.ld.igds.es.service.CoreEsService; import com.ld.igds.gas.CoreGasService; import com.ld.igds.io.constant.OrderRespEnum; import com.ld.igds.io.notify.NotifyWebInvoker; import com.ld.igds.models.DepotConf; import com.ld.igds.models.DeviceSer; import com.ld.igds.models.Gas; import com.ld.igds.models.GasInfo; import com.ld.igds.protocol.bhzn.verb.command.BaseRemoteImpl; import com.ld.igds.protocol.bhzn.verb.dto.IoMessage; import com.ld.igds.protocol.bhzn.verb.dto.Res208; import com.ld.igds.protocol.bhzn.verb.dto.Res209; import com.ld.igds.util.ContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * 能耗解析 */ @Slf4j @Component(AnalysisES.BEAN_ID) public class AnalysisES extends BaseRemoteImpl { public static final String BEAN_ID = "bhzn.analysisEs"; @Autowired private CoreDeviceService deviceService; @Autowired private NotifyWebInvoker notifyInvoker; @Autowired private CoreCommonService commonService; @Autowired private CoreEsService esService; /** * 设备状态 * * @param reMessage * @param ser */ public void analysis(IoMessage reMessage, DeviceSer ser) { log.info("能耗开始解析"); Res208 res208 = JSONObject.parseObject(reMessage.getContentStr(), Res208.class); if(2==res208.getState()){ }else{ log.info("气体没有采集完成,取消解析!"); return; } DepotConf depotConf = commonService.getCacheDepotConfBySerId(ser.getCompanyId(),ser.getId() ); EsData esData = new EsData(); esData.setCompanyId(ser.getCompanyId()); esData.setDepotId(depotConf.getDepotId()); esData.setDeviceId("0"); esData.setDeviceName(""); esData.setUpdateTime(new Date()); esData.setUa(Double.valueOf(res208.getVA())); esData.setUb(Double.valueOf(res208.getVB())); esData.setUc(Double.valueOf(res208.getVC())); esData.setIa(Double.valueOf(res208.getIA())); esData.setIb(Double.valueOf(res208.getIB())); esData.setIc(Double.valueOf(res208.getIC())); esData.setF(Double.valueOf(res208.getZPL())); esData.setEp(0.0); esData.setEq(0.0); esData.setEs(0.0); esData.setEsFan(0.0); esData.setEsAir(0.0); esData.setEsLamp(0.0); esData.setEs(res208.getZNH()); log.info("控制柜----->>>平台:能耗数据解析完成-仓库={}", esData.getDepotId()); esService.saveAndUpdateInc(esData); } }