ZhuDongming
2020-07-06 f145f5ca0b1beef1300ef73ed1393af63413779d
src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -1,5 +1,16 @@
package com.moral.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import com.alibaba.fastjson.TypeReference;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
@@ -12,6 +23,7 @@
import com.moral.common.util.ValidateUtil;
import com.moral.entity.Device;
import com.moral.entity.DeviceProperty;
import com.moral.entity.MonitorPoint;
import com.moral.mapper.DeviceMapper;
import com.moral.mapper.DevicePropertyMapper;
import com.moral.mapper.DeviceVersionMapper;
@@ -29,19 +41,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class DeviceServiceImpl implements DeviceService {
@@ -207,6 +207,7 @@
     */
    @Override
    public List<Device> query(Map<String, Object> params) {
        List<Integer> dv = deviceMapper.getHasWindDirAndWindSpeedDeviceVersion();
        Object orgIdObj = params.get("orgId");
        List<Device> deviceList = null;
        if (orgIdObj != null) {
@@ -214,7 +215,32 @@
            List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
            params.put("orgIds", orgIds);
            deviceList = deviceMapper.selectByMap(params);
            loadDeviceState(deviceList);
            // loadDeviceState(deviceList);
        }
        Example deviceExample = new Example(Device.class);//实例化
        Example.Criteria deviceCriteria = deviceExample.createCriteria();
        deviceCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE);
        List<Device> devicesInfo = deviceMapper.selectByExample(deviceExample);
        Example monitorExample = new Example(MonitorPoint.class);//实例化
        Example.Criteria monitorCriteria = monitorExample.createCriteria();
        monitorCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE);
        List<MonitorPoint> monitorsInfo = monitorPointMapper.selectByExample(monitorExample);
        for (Device d : deviceList) {
            if (dv.contains(d.getDeviceVersionId())) {
                d.setHasWindInfo(true);
            } else {
                d.setHasWindInfo(false);
            }
            for (Device temp : devicesInfo) {
                if (d.getId().equals(temp.getId())) {
                    d.setState(temp.getState());
                }
            }
            for (MonitorPoint mp : monitorsInfo) {
                if (d.getMonitorPointId().equals(mp.getId())) {
                    d.setMonitorPoint(mp);
                }
            }
        }
        return deviceList;
    }
@@ -631,4 +657,44 @@
        }
        return null;
    }
    @Override
    public List<String> getMacsByOrganizationId(List<Object> organizationIdList) {
        return deviceMapper.getMacsByOrganizationId(organizationIdList);
    }
    @Override
    public List<Device> getDeviceById1(int id) {
        return deviceMapper.getDeviceById1(id);
    }
    @Override
    public List<Device> getDeviceById2(int id) {
        return deviceMapper.getDeviceById2(id);
    }
    @Override
    public List<Device> getDeviceById3(int id) {
        return deviceMapper.getDeviceById3(id);
    }
    @Override
    public List<Device> queryDevice(Map<String, Object> params) {
        List<Integer> dv = deviceMapper.getHasWindDirAndWindSpeedDeviceVersion();
        Object orgIdObj = params.get("orgId");
        List<Device> deviceList = null;
        if (orgIdObj != null) {
            Integer orgId = Integer.parseInt(orgIdObj.toString());
            List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
            params.put("orgIds", orgIds);
            deviceList = deviceMapper.selectDevicesAll(params);
        }
        List<Device> deviceListHasWind=new ArrayList<>();
        for (Device d : deviceList) {
            if (dv.contains(d.getDeviceVersionId())) {
                deviceListHasWind.add(d);
            }
        }
        return deviceListHasWind;
    }
}