package com.casic.PgInterface.devData.manager; /** * Created by yxw on 2017/11/28. */ import com.casic.PgInterface.core.hibernate.HibernateEntityDao; import com.casic.PgInterface.core.util.DateUtils; import com.casic.PgInterface.core.util.StringUtils; import com.casic.PgInterface.devData.domain.PgTempHum; import com.casic.PgInterface.devData.dto.PgTempHumDto; import com.casic.PgInterface.devTable.domain.PgDevice; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Calendar; import java.util.List; @Service public class PgTempHumManager extends HibernateEntityDao<PgTempHum> { //获取设备时间段内所有的监测数据 public List<PgTempHumDto> getAllTempHumData(PgDevice pgDevice,String startDate,String endDate) { List<PgTempHumDto> pgTempHumDtoList=new ArrayList<PgTempHumDto>(); try { Criteria criteria = createCriteria(PgTempHum.class); criteria.addOrder(Order.desc("id")); criteria.add(Restrictions.eq("pgDeviceId", pgDevice)); if (StringUtils.isNotBlank(startDate)) { criteria.add(Restrictions.ge("upTime", DateUtils.sdf4.parse(startDate))); } if(StringUtils.isNotBlank(endDate)){ Calendar calendar=Calendar.getInstance(); calendar.setTime(DateUtils.sdf4.parse(endDate)); calendar.add(Calendar.DATE,1); criteria.add(Restrictions.le("upTime",calendar.getTime())); } List<PgTempHum> pgTempHumList=criteria.list(); for (PgTempHum pgTempHum : pgTempHumList) { pgTempHumDtoList.add(new PgTempHumDto(pgTempHum)); } } catch(Exception ex) { return null; } return pgTempHumDtoList; } //获取设备最新数据 public PgTempHumDto getNewestTempHumData(PgDevice pgDevice) { try { String sql="select id,TEMP,HUM,LOGTIME,LOGTIME from PG_TEMPHUM where PGDEVICEID = '"+pgDevice.getId()+"' AND rownum < 2 order by UPTIME"; List<Object[]> pgTempHumList=(List<Object[]>)this.getSession().createSQLQuery(sql).list(); if(pgTempHumList.size()==0) return null; Object[] objects = pgTempHumList.get(0); PgTempHumDto pgTempHumDto=new PgTempHumDto(null); pgTempHumDto.setId(objects[0].toString()); pgTempHumDto.setValueTemp(objects[1].toString()); pgTempHumDto.setValueHum(objects[2].toString()); pgTempHumDto.setLogTime(objects[3].toString()); pgTempHumDto.setUpTime(objects[4].toString()); pgTempHumDto.setDevCode(pgDevice.getDevCode()); pgTempHumDto.setDevName(pgDevice.getAssetName()); //获取devName和devCode return pgTempHumDto; } catch(Exception ex) { return null; } } }