package org.flume.alarm.manager; import org.flume.alarm.core.hibernate.HibernateEntityDao; import org.flume.alarm.domain.Device; import org.flume.alarm.domain.DeviceType; import org.hibernate.Criteria; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; import javax.transaction.Transactional; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service @Transactional public class DeviceManager extends HibernateEntityDao<Device> { public Criteria getCriteria() { return getSession().createCriteria(Device.class); } public Device getDeviceByDevCode(String devcode, String typeName) { Criteria criteria = getSession().createCriteria(Device.class); criteria.add(Restrictions.eq("devCode", devcode)); criteria.createAlias("deviceType", "deviceType"); criteria.add(Restrictions.eq("deviceType.typeName", typeName)); criteria.add(Restrictions.eq("active", true)); List<Device> devices = criteria.list(); if (devices != null && devices.size() > 0) return devices.get(0); return null; } public List<Device> getBrqList(){ List<Device> deviceList = new ArrayList<Device>(); String sql= "select t.标识器id号,t.x坐标,t.y坐标,t.所属道路 from 标识器 t "; List<Object[]> objectList = this.getSession().createSQLQuery(sql).list(); for(Object[] object : objectList){ String devcode = object[0]!=null?object[0].toString():""; String x = object[1]!=null?object[1].toString():""; String y = object[2]!=null?object[2].toString():""; // String road = object[3].toString(); Device device = new Device(); DeviceType deviceType = new DeviceType(); deviceType.setTypeName("电子标识器"); device.setDeviceType(deviceType); device.setLongtitude(x); device.setLatitude(y); // device.setFactory(road); device.setDevCode(devcode); device.setDevName("电子标签"+devcode); deviceList.add(device); } return deviceList; } }