Newer
Older
sink / src / main / java / org / flume / alarm / manager / DeviceManager.java
zhout on 2 Mar 2022 2 KB first commit
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;
    }


}