ZhuDongming
2019-11-21 154b73d12f9e39039fc7b099beab3881c94b2d8d
update:请求合并
7 files modified
403 ■■■■ changed files
src/main/java/com/moral/controller/ScreenController.java 40 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/mapper/SensorMapper.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/moral/service/SensorService.java 14 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/SensorServiceImpl.java 112 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/SensorMapper.xml 204 ●●●● patch | view | raw | blame | history
src/main/webapp/js/moralmap.js 22 ●●●● patch | view | raw | blame | history
src/main/webapp/view/map.jsp 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/controller/ScreenController.java
@@ -545,21 +545,9 @@
    }
    @GetMapping("/getSensorsMap")
    public ResultBean getSensorsMapOnly(String mac){
        Map<String, String> paramMap = sensorService.getSensorsMapOnly(mac);
        ResultBean<Map<String, String>> resultBean = new ResultBean();
        resultBean.setData(paramMap);
        resultBean.setCode(ResultBean.SUCCESS);
        return resultBean;
    }
    @GetMapping("/getSensorsUnitMap")
    public ResultBean getSensorsUnitMap(String mac){
        Map<String, String> paramMap = sensorService.getSensorsUnitMap(mac);
        ResultBean<Map<String, String>> resultBean = new ResultBean();
        resultBean.setData(paramMap);
        resultBean.setCode(ResultBean.SUCCESS);
        return resultBean;
    public List<Map<String, String>> getSensorsMapOnly(String mac) {
        List<Map<String, String>> sensorsMapList = sensorService.getSensorsMaps(mac);
        return sensorsMapList;
    }
    @RequestMapping(value = "/get-monitorpoints", method = RequestMethod.GET)
@@ -1049,8 +1037,8 @@
        String monitor_point_id = (String) parameters.get("monitor_point_id");
        List<Map<String, Object>> list = sensorService.getSensorByMonitorPointId(monitor_point_id);
        List<Map<String, Object>> sensorUnitList = sensorUnitService.getSensorsByMonitPointId2(monitor_point_id);
        System.out.println("list:"+list);
        System.out.println("sensorUnitList:"+sensorUnitList);
        System.out.println("list:" + list);
        System.out.println("sensorUnitList:" + sensorUnitList);
        for (Map<String, Object> sensorMap : list) {
            for (Map<String, Object> sensorUnitMap : sensorUnitList) {
                if (sensorUnitMap.get("sensor_key").equals(sensorMap.get("sensorKey"))) {
@@ -1076,7 +1064,7 @@
        String intoTime = parameters.get("time").toString();
        Date date = new SimpleDateFormat("yy-MM-dd").parse(intoTime);
        DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
        String alterTime = df1.format(date.getTime()-15*24*60*60*1000);
        String alterTime = df1.format(date.getTime() - 15 * 24 * 60 * 60 * 1000);
        parameters.put("time", alterTime);
        ParameterUtils.getTimeType4Time(parameters);
        String monitor_point_id = (String) parameters.get("monitorPoint");
@@ -1095,15 +1083,15 @@
        Map<String, Object> weatherMap = new HashMap<>();
        Map<String, Object> tempMap = new HashMap<>();
        Boolean tf = false;
        for(int i=0;i<sensorKeys.length;i++) {
            if(sensorKeys[i].equals("e7")) {
                tf = true;
            }
        for (int i = 0; i < sensorKeys.length; i++) {
            if (sensorKeys[i].equals("e7")) {
                tf = true;
            }
        }
        if (tf) {
            weatherMap = weatherService.get15DayWeatherDataByRegion(weatherParameters);
            tempMap = TempAllocationUtils.tempAllocation(weatherMap);
        }
        }
        //获取单位信息
        Map<String, Map<String, Object>> sensorUnitMap = sensorUnitService.getSensorsByMonitPointId(monitor_point_id);
@@ -1111,9 +1099,9 @@
            String time = map.get("time").toString();
            time = time.substring(time.length() - 2);
            map.put("time", Integer.valueOf(time));
            if (tempMap!=null) {
                map.put("temp", tempMap.get(map.get("time").toString()));
            }
            if (tempMap != null) {
                map.put("temp", tempMap.get(map.get("time").toString()));
            }
            List<Number> values = new ArrayList<Number>();
            List<String> units = new ArrayList<String>();
            for (String string : sensorKeys) {
src/main/java/com/moral/mapper/SensorMapper.java
@@ -28,5 +28,5 @@
    List<Sensor> getSensorsByMac(Map<String, Object> parameters);
    List<Sensor> getSensorsByMacOnly(@Param("mac") String mac);
    List<Sensor> getSensorsInfoByMac(@Param("mac") String mac);
}
src/main/java/com/moral/service/SensorService.java
@@ -20,21 +20,21 @@
    List<Sensor> queryListByVersionNo(Integer versionNo);
    public void addOrModify(Sensor sensor);
    public void deleteByIds(Integer... ids);
    List<Sensor> queryByOrgId(Integer organizationId);
    public List<Sensor> getAllSensors();
    Map<String, Object> getSensorBySensorKey(String SensorKey);
    List<Map<String,Object>> getSensorByDeviceId(String id);
    List<Map<String,Object>> getSensorByMonitorPointId(String monitor_point_id);
    List<Map<String, Object>> getSensorByDeviceId(String id);
    List<Map<String, Object>> getSensorByMonitorPointId(String monitor_point_id);
    Map<String, String> getSensorsMap(Map<String, Object> parameters) throws Exception;
    Map<String, String> getSensorsMapOnly(String mac);
    List<Map<String, String>> getSensorsMaps(String mac);
    Map<String, String> getSensorsUnitMap(String mac);
}
src/main/java/com/moral/service/impl/SensorServiceImpl.java
@@ -5,17 +5,21 @@
import com.moral.entity.Sensor;
import com.moral.mapper.SensorMapper;
import com.moral.service.SensorService;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class SensorServiceImpl implements SensorService{
public class SensorServiceImpl implements SensorService {
    @Resource
    SensorMapper sensorMapper;
@@ -23,47 +27,52 @@
    /**
     * 查询所有的传感器类型
     *
     * @return
     */
    @Override
    public List<Sensor> queryAll(){
    public List<Sensor> queryAll() {
        return sensorMapper.selectByExample(null);
    }
    public PageBean<Sensor> queryByPageBean(PageBean pageBean){
        return MyBatisBaseMapUtil.queryPage(sensorMapper,pageBean,ENTITY_CLASS);
    public PageBean<Sensor> queryByPageBean(PageBean pageBean) {
        return MyBatisBaseMapUtil.queryPage(sensorMapper, pageBean, ENTITY_CLASS);
    }
    @Override
    public PageBean queryByVersionId(Integer deviceVersionId){
    public PageBean queryByVersionId(Integer deviceVersionId) {
        List<Sensor> sensorList = sensorMapper.selectByVersionId(deviceVersionId);
        return  new PageBean(sensorList);
        return new PageBean(sensorList);
    }
    @Override
    public List<Sensor> queryListByVersionId(Integer deviceVersionId){
    public List<Sensor> queryListByVersionId(Integer deviceVersionId) {
        return sensorMapper.selectByVersionId(deviceVersionId);
    }
    @Override
    public List<Sensor> queryListByVersionNo(Integer versionNo){
    public List<Sensor> queryListByVersionNo(Integer versionNo) {
        return sensorMapper.selectByVersionNo(versionNo);
    }
    public void addOrModify(Sensor sensor){
        try{
            if(sensor.getId()==null){
    public void addOrModify(Sensor sensor) {
        try {
            if (sensor.getId() == null) {
                sensorMapper.insertSelective(sensor);
            }else{
            } else {
                sensorMapper.updateByPrimaryKeySelective(sensor);
            }
        }
        catch (Exception ex){
            throw  ex;
        } catch (Exception ex) {
            throw ex;
        }
    }
    @Override
    public void deleteByIds(Integer... ids) {
        if(ids!=null&&ids.length>0){
            if(ids.length==1){
        if (ids != null && ids.length > 0) {
            if (ids.length == 1) {
                sensorMapper.deleteByPrimaryKey(ids[0]);
            }else{
            } else {
                Example example = new Example(ENTITY_CLASS);
                example.or().andIn("id", Arrays.asList(ids));
                sensorMapper.deleteByExample(example);
@@ -74,6 +83,7 @@
    /**
     * 获取当前组织下所有传感器并集
     *
     * @param organizationId
     * @return
     */
@@ -81,25 +91,29 @@
    public List<Sensor> queryByOrgId(Integer organizationId) {
        return sensorMapper.selectByOrgId(organizationId);
    }
    @Override
    public List<Sensor> getAllSensors() {
        return sensorMapper.selectAll();
    }
    @Override
    public Map<String, Object> getSensorBySensorKey(String sensorKey) {
        Map<String, Object> map = sensorMapper.getSensorBySensorKey(sensorKey);
        return map;
    }
    @Override
    public List<Map<String, Object>> getSensorByDeviceId(String id) {
        List<Map<String,Object>> list = sensorMapper.getSensorByDeviceId(id);
        return list;
    }
    @Override
    public List<Map<String, Object>> getSensorByMonitorPointId(String monitor_point_id) {
        List<Map<String,Object>> list = sensorMapper.getSensorByMonitorPointId(monitor_point_id);
        return list;
    }
    public List<Sensor> getAllSensors() {
        return sensorMapper.selectAll();
    }
    @Override
    public Map<String, Object> getSensorBySensorKey(String sensorKey) {
        Map<String, Object> map = sensorMapper.getSensorBySensorKey(sensorKey);
        return map;
    }
    @Override
    public List<Map<String, Object>> getSensorByDeviceId(String id) {
        List<Map<String, Object>> list = sensorMapper.getSensorByDeviceId(id);
        return list;
    }
    @Override
    public List<Map<String, Object>> getSensorByMonitorPointId(String monitor_point_id) {
        List<Map<String, Object>> list = sensorMapper.getSensorByMonitorPointId(monitor_point_id);
        return list;
    }
    @Override
    public Map<String, String> getSensorsMap(Map<String, Object> parameters) {
@@ -112,22 +126,20 @@
    }
    @Override
    public Map<String, String> getSensorsMapOnly(String mac) {
        List<Sensor> sensors = sensorMapper.getSensorsByMacOnly(mac);
        Map<String, String> sensorMap = new HashMap<>();
    public List<Map<String, String>> getSensorsMaps(String mac) {
        List<Sensor> sensors = sensorMapper.getSensorsInfoByMac(mac);
        Map<String, String> sensorsDescriptionMap = new HashMap<>();
        for (Sensor sensor : sensors) {
            sensorMap.put(sensor.getSensorKey(), sensor.getDescription());
            sensorsDescriptionMap.put(sensor.getSensorKey(), sensor.getDescription());
        }
        return sensorMap;
        Map<String, String> sensorsUnitMap = new HashMap<>();
        for (Sensor sensor : sensors) {
            sensorsUnitMap.put(sensor.getSensorKey(), sensor.getUnit());
        }
        List<Map<String, String>> sensorsMapList = new ArrayList<>();
        sensorsMapList.add(sensorsDescriptionMap);
        sensorsMapList.add(sensorsUnitMap);
        return sensorsMapList;
    }
    @Override
    public Map<String, String> getSensorsUnitMap(String mac) {
        List<Sensor> sensors = sensorMapper.getSensorsByMacOnly(mac);
        Map<String, String> sensorMap = new HashMap<>();
        for (Sensor sensor : sensors) {
            sensorMap.put(sensor.getSensorKey(), sensor.getUnit());
        }
        return sensorMap;
    }
}
src/main/resources/mapper/SensorMapper.xml
@@ -1,68 +1,68 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.moral.mapper.SensorMapper" >
  <resultMap id="BaseResultMap" type="com.moral.entity.Sensor" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="sensor_key" property="sensorKey" jdbcType="VARCHAR" />
    <result column="upper" property="upper" jdbcType="DOUBLE" />
    <result column="lower" property="lower" jdbcType="DOUBLE" />
    <result column="unit" property="unit" jdbcType="VARCHAR" />
    <result column="description" property="description" jdbcType="VARCHAR" />
  </resultMap>
  <sql id="Base_Column_List" >
<mapper namespace="com.moral.mapper.SensorMapper">
    <resultMap id="BaseResultMap" type="com.moral.entity.Sensor">
        <id column="id" property="id" jdbcType="INTEGER"/>
        <result column="name" property="name" jdbcType="VARCHAR"/>
        <result column="sensor_key" property="sensorKey" jdbcType="VARCHAR"/>
        <result column="upper" property="upper" jdbcType="DOUBLE"/>
        <result column="lower" property="lower" jdbcType="DOUBLE"/>
        <result column="unit" property="unit" jdbcType="VARCHAR"/>
        <result column="description" property="description" jdbcType="VARCHAR"/>
    </resultMap>
    <sql id="Base_Column_List">
    id, name, sensor_key, upper, lower, unit, description
  </sql>
  <select id="selectByVersionId" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select
    <include refid="Base_Column_List" />
    from sensor sen
    where EXISTS
    (  select id
       from device_version_sensor dvs
       where sen.id = dvs.sensor_id and dvs.device_version_id = #{deviceVersionId,jdbcType=INTEGER}
    )
  </select>
  <select id="selectByVersionNo" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select
    <include refid="Base_Column_List" />
    from sensor sen
    where EXISTS
    (  select id
       from device_version_sensor dvs
       where sen.id = dvs.sensor_id
       and dvs.device_version_id in
          (
              select dev.id from device_version dev
                where dev.version = #{deviceVersionNo,jdbcType=INTEGER}
          )
    )
  </select>
  <select id="selectByVersionNos" resultMap="BaseResultMap" parameterType="java.util.List" >
    select
    <include refid="Base_Column_List" />
    from sensor sen
    where EXISTS
    (  select id
       from device_version_sensor dvs
       where sen.id = dvs.sensor_id
       and dvs.device_version_id in
          (
              select dev.id from device_version dev
                 <where>
                   1 > 1
                   <if test="versionNos!=null and versionNos.size() > 0">
                   or dev.version in
                      <foreach collection="versionNos" item="versionNo" open="(" close=")" separator=",">
                             #{versionNo,jdbcType=INTEGER}
                      </foreach>
                   </if>
              </where>
          )
    )
  </select>
      <select id="getSensorsByDeviceVersionId" resultType="java.util.Map">
    <select id="selectByVersionId" resultMap="BaseResultMap" parameterType="java.lang.Integer">
        select
        <include refid="Base_Column_List"/>
        from sensor sen
        where EXISTS
        ( select id
        from device_version_sensor dvs
        where sen.id = dvs.sensor_id and dvs.device_version_id = #{deviceVersionId,jdbcType=INTEGER}
        )
    </select>
    <select id="selectByVersionNo" resultMap="BaseResultMap" parameterType="java.lang.Integer">
        select
        <include refid="Base_Column_List"/>
        from sensor sen
        where EXISTS
        ( select id
        from device_version_sensor dvs
        where sen.id = dvs.sensor_id
        and dvs.device_version_id in
        (
        select dev.id from device_version dev
        where dev.version = #{deviceVersionNo,jdbcType=INTEGER}
        )
        )
    </select>
    <select id="selectByVersionNos" resultMap="BaseResultMap" parameterType="java.util.List">
        select
        <include refid="Base_Column_List"/>
        from sensor sen
        where EXISTS
        ( select id
        from device_version_sensor dvs
        where sen.id = dvs.sensor_id
        and dvs.device_version_id in
        (
        select dev.id from device_version dev
        <where>
            1 > 1
            <if test="versionNos!=null and versionNos.size() > 0">
                or dev.version in
                <foreach collection="versionNos" item="versionNo" open="(" close=")" separator=",">
                    #{versionNo,jdbcType=INTEGER}
                </foreach>
            </if>
        </where>
        )
        )
    </select>
    <select id="getSensorsByDeviceVersionId" resultType="java.util.Map">
        SELECT
            s.* 
        FROM
@@ -73,38 +73,38 @@
            AND dvs.device_version_id = #{deviceVersionId}        
    </select>
      <select id="getSensorsByCriteria" resultMap="BaseResultMap">
        SELECT
            DISTINCT s.*
        FROM
            sensor s,
            device_version_sensor dvs,
            device d,
            monitor_point mp
        WHERE
            s.id = dvs.sensor_id
            AND dvs.device_version_id = d.device_version_id
            AND d.monitor_point_id = mp.id
            <if test="provinceCode != null">
            AND mp.province_code = #{provinceCode}
            </if>
            <if test="cityCode != null">
            AND mp.city_code = #{cityCode}
            </if>
            <if test="areaCode != null">
            AND mp.area_code = #{areaCode}
            </if>
            <if test="monitorPointId != null">
            AND mp.id =    #{monitorPointId}
            </if>
            <if test="mac != null">
            AND d.mac =    #{mac}
            </if>
            <if test="professionId != null">
            AND d.profession_id = #{professionId}
            </if>
    </select>
    <select id="selectByOrgId" resultMap="BaseResultMap">
    <select id="getSensorsByCriteria" resultMap="BaseResultMap">
        SELECT
        DISTINCT s.*
        FROM
        sensor s,
        device_version_sensor dvs,
        device d,
        monitor_point mp
        WHERE
        s.id = dvs.sensor_id
        AND dvs.device_version_id = d.device_version_id
        AND d.monitor_point_id = mp.id
        <if test="provinceCode != null">
            AND mp.province_code = #{provinceCode}
        </if>
        <if test="cityCode != null">
            AND mp.city_code = #{cityCode}
        </if>
        <if test="areaCode != null">
            AND mp.area_code = #{areaCode}
        </if>
        <if test="monitorPointId != null">
            AND mp.id = #{monitorPointId}
        </if>
        <if test="mac != null">
            AND d.mac = #{mac}
        </if>
        <if test="professionId != null">
            AND d.profession_id = #{professionId}
        </if>
    </select>
    <select id="selectByOrgId" resultMap="BaseResultMap">
          select * from sensor sen where sen.id in
            (
               select DISTINCT sensor_id from device_version_sensor dvs
@@ -122,22 +122,22 @@
              )
             order by sen.id asc
    </select>
    <select id="getSensorBySensorKey" resultType="java.util.Map">
    <select id="getSensorBySensorKey" resultType="java.util.Map">
        SELECT *
        FROM sensor
        WHERE sensor_key = #{sensor_key}
    </select>
    <select id="getSensorByDeviceId" resultType="java.util.Map">
    <select id="getSensorByDeviceId" resultType="java.util.Map">
        SELECT DISTINCT d.id,d.monitor_point_id,s.*
        FROM device d,device_version dv,device_version_sensor dvs,sensor s
        WHERE d.device_version_id = dvs.device_version_id
        AND dvs.sensor_id = s.id
        AND d.id = #{id}
    </select>
    <select id="getSensorByMonitorPointId" resultType="java.util.Map">
    <select id="getSensorByMonitorPointId" resultType="java.util.Map">
        SELECT DISTINCT s.sensor_key sensorKey,s.unit,s.name,s.description,s.id
        FROM device d,device_version dv,device_version_sensor dvs,sensor s
        WHERE d.device_version_id = dvs.device_version_id
@@ -156,11 +156,11 @@
        s.id = dvs.sensor_id
        AND dvs.device_version_id = d.device_version_id
        <if test="mac != null">
            AND d.mac =    #{mac}
            AND d.mac = #{mac}
        </if>
    </select>
    <select id="getSensorsByMacOnly" resultMap="BaseResultMap">
    <select id="getSensorsInfoByMac" resultMap="BaseResultMap">
        SELECT
        DISTINCT s.*
        FROM
@@ -171,7 +171,7 @@
        s.id = dvs.sensor_id
        AND dvs.device_version_id = d.device_version_id
        <if test="mac != null">
            AND d.mac =    #{mac}
            AND d.mac = #{mac}
        </if>
    </select>
</mapper>
src/main/webapp/js/moralmap.js
@@ -654,23 +654,15 @@
    //设备以mac为key储存
    //监控点对象 包装MoralMark对象
    moralMap.Equipment = function (option) {
        var sensorsMap;
        var sensorsDescriptionMap;
        var sensorsUnitMap;
        $.ajax({
            url: "getSensorsMap?mac=" + option['mac'],
            type: "get",
            dataType: "json",
            success: function (data) {
                sensorsMap = data.data;
            }
        });
        $.ajax({
            url: "getSensorsUnitMap?mac=" + option['mac'],
            type: "get",
            dataType: "json",
            success: function (data) {
                sensorsUnitMap = data.data;
                sensorsDescriptionMap = data[0];
                sensorsUnitMap = data[1];
            }
        });
@@ -844,10 +836,6 @@
            }
            moralMap.showSensors = function (jsonData) {
                var address = (option["address"] == null) ? "" : option["address"];
                if (address.length > 18) {
                    address = address.slice(0, 18) + "...";
                }
                var adressOutHtml = '<div style="min-height:20px;overflow:auto;max-height:400px;font-size: 12px;" onmouseover="moralMap.clearCloseInfoWindow()" onmouseout="moralMap.closeInfoWindow()">';
                var y, m, d, h, mm, s;
                var date = new Date(jsonData['time']);
@@ -861,9 +849,9 @@
                adressOutHtml += '<p style="height: 18px;line-height: 18px">' + "时间:&nbsp;" + date + "&nbsp;</p>";
                for (var prop in jsonData) {
                    if (jsonData.hasOwnProperty(prop) && prop != 'ver' && prop != 'methodName' && prop != 'mac' && prop != 'time') {
                        for (var key in sensorsMap) {
                        for (var key in sensorsDescriptionMap) {
                            if (prop == key) {
                                var sensorsDescription = sensorsMap[key];
                                var sensorsDescription = sensorsDescriptionMap[key];
                            }
                        }
                        for (var key in sensorsUnitMap) {
src/main/webapp/view/map.jsp
@@ -351,10 +351,10 @@
        <div class="charts_btn">
        </div>
    </div>
    <!--<div class="search_box">
        <button id="searchBtn" type="button">搜索</button>
        <textarea style="width: 200px;height:200px;" id="searchParam"></textarea>
    </div>-->
    <!-- <div class="search_box">
         <button id="searchBtn" type="button">搜索</button>
         <textarea style="width: 200px;height:200px;" id="searchParam"></textarea>
     </div>-->
    <!-- <div id="popup_box">
          <div id="equ_list" class="listview">
          </div>
@@ -749,7 +749,6 @@
    }
    function callJS(jsonData) {
        // $("#searchParam").val(jsonData);
        var jsonData = JSON.parse(jsonData);
        var methodName = jsonData.methodName;
        if ("JumpBaiduMap" == methodName) {