screen-manage
插入组织型号关系的时候,原始单位默认作为显示单位插入
7 files modified
106 ■■■■■ changed files
screen-manage/src/main/java/com/moral/api/controller/TestController.java 6 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/entity/Device.java 7 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/entity/Sensor.java 12 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/mapper/DeviceMapper.java 2 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java 1 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/util/CacheUtils.java 13 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/resources/mapper/DeviceMapper.xml 65 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/TestController.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.moral.api.entity.Test;
import com.moral.api.service.TestService;
import com.moral.api.util.CacheUtils;
import com.moral.constant.ResultMessage;
import com.moral.redis.RedisUtil;
import com.moral.util.PageResult;
@@ -164,4 +165,9 @@
        writer.close();
        fis.close();
    }
    @GetMapping("testCacheUtils")
    public void testCacheUtils(){
        CacheUtils.flushDeviceAlarmUnit();
    }
}
screen-manage/src/main/java/com/moral/api/entity/Device.java
@@ -1,6 +1,7 @@
package com.moral.api.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -129,6 +130,12 @@
     */
    private String extend;
    /*
    * 设备型号
    * */
    @TableField(exist = false)
    private Version version;
    @Override
    protected Serializable pkVal() {
        return this.id;
screen-manage/src/main/java/com/moral/api/entity/Sensor.java
@@ -84,4 +84,16 @@
    @TableField(exist = false)
    private String unitKey;
    @TableField(exist = false)
    private String showUnit;
    @TableField(exist = false)
    private String showUnitKey;
    @TableField(exist = false)
    private String alarmLevel;
    @TableField(exist = false)
    private String formula;
}
screen-manage/src/main/java/com/moral/api/mapper/DeviceMapper.java
@@ -24,4 +24,6 @@
    DeviceVO selectDeviceInfoById(Integer deviceId);
    List<Device> queryDeviceUnitAlarmInfo();
}
screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -445,6 +445,7 @@
                    organizationUnitAlarm.setVersionId(versionId);
                    organizationUnitAlarm.setSensorCode(versionSensorUnit.getSensorCode());
                    organizationUnitAlarm.setUnitKey(versionSensorUnit.getUnitKey());
                    organizationUnitAlarm.setShowUnitKey(versionSensorUnit.getUnitKey());
                    organizationUnitAlarmMapper.insert(organizationUnitAlarm);
                }
            }
screen-manage/src/main/java/com/moral/api/util/CacheUtils.java
@@ -1,11 +1,15 @@
package com.moral.api.util;
import com.moral.api.entity.Device;
import com.moral.api.mapper.DeviceMapper;
import com.moral.constant.RedisConstants;
import com.moral.util.TokenUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.util.List;
/**
 * @ClassName CacheUtils
@@ -20,14 +24,23 @@
    private static RedisTemplate redisTemplate;
    private static DeviceMapper deviceMapper;
    @Autowired
    public void setRedisTemplate(RedisTemplate redisTemplate) {
        CacheUtils.redisTemplate = redisTemplate;
    }
    @Autowired
    public void setDeviceMapper(DeviceMapper deviceMapper) { CacheUtils.deviceMapper = deviceMapper; }
    public static void clearDictionariesCache(){
        redisTemplate.delete(RedisConstants.DICT_DATA_KEY);
        redisTemplate.delete(RedisConstants.DICT_TYPE_KEY);
    }
    public static void flushDeviceAlarmUnit(){
        List<Device> devices = deviceMapper.queryDeviceUnitAlarmInfo();
        System.out.println(devices);
    }
}
screen-manage/src/main/resources/mapper/DeviceMapper.xml
@@ -65,6 +65,34 @@
        </collection>
    </resultMap>
    <resultMap id="queryDeviceUnitAlarmInfoMap" type="com.moral.api.entity.Device">
        <id column="d.id" property="id"/>
        <result column="d.name" property="name"/>
        <result column="d.mac" property="mac"/>
        <result column="d.address" property="address"/>
        <result column="d.longitude" property="longitude"/>
        <result column="d.latitude" property="latitude"/>
        <result column="d.operate_ids" property="operateIds"/>
        <result column="d.monitor_point_id" property="monitorPointId"/>
        <result column="d.organization_id" property="organizationId"/>
        <result column="oua.version_id" property="deviceVersionId"/>
        <result column="d.profession" property="profession"/>
        <result column="d.tech" property="tech"/>
        <result column="d.detector" property="detector"/>
        <result column="d.purchaser" property="purchaser"/>
        <result column="d.extend" property="extend" javaType="String" />
        <association property="version" column="d.device_version_id" javaType="com.moral.api.entity.Version">
            <id column="v.id" property="id"></id>
            <result column="v.name" property="name"></result>
            <collection column="d.device_version_id" property="sensors" ofType="com.moral.api.entity.Sensor">
                <result column="oua.sensor_code" property="code" ></result>
                <result column="oua.unit_key" property="unitKey"></result>
                <result column="oua.show_unit_key" property="showUnitKey"></result>
                <result column="oua.alarm_level" property="alarmLevel" javaType="String" ></result>
            </collection>
        </association>
    </resultMap>
    <select id="selectDeviceInfoById" resultMap="resultMap">
        SELECT
            d.id,
@@ -151,5 +179,42 @@
        WHERE d.id = #{deviceId}
    </select>
    <select id="queryDeviceUnitAlarmInfo" resultMap="queryDeviceUnitAlarmInfoMap">
        select
            d.id as `d.id`,
            d.mac as `d.mac`,
            d.name as `d.name`,
            d.address as `d.address`,
            d.longitude as `d.longitude`,
            d.latitude as `d.latitude`,
            d.operate_ids as `d.operate_ids`,
            d.monitor_point_id as `d.monitor_point_id`,
            d.organization_id as `d.organization_id`,
            d.profession as `d.profession`,
            d.tech as `d.tech`,
            d.detector as `d.detector`,
            d.purchaser as `d.purchaser`,
            d.extend as `d.extend`,
            oua.version_id as `oua.version_id`,
            oua.sensor_code as `oua.sensor_code`,
            oua.unit_key as `oua.unit_key`,
            oua.show_unit_key as `oua.show_unit_key`,
            oua.alarm_level as `oua.alarm_level`,
            v.id as `v.id`,
            v.name as `v.name`
        from
            device d
        join
            version v
        on
            v.`id` = d.`device_version_id` and v.`is_delete` = 0
        join
            organization_unit_alarm oua
        on
            d.`device_version_id` = oua.`version_id`   and d.`organization_id` = oua.`organization_id` and oua.`is_delete` = 0
        where
            d.`is_delete` = 0;
    </select>
</mapper>