瀏覽代碼

bug修改提交

jingyuanchao 1 年之前
父節點
當前提交
1b57d60f37

+ 3 - 0
project_data/sql/0.1.1/soc/soc.sql

@@ -1059,3 +1059,6 @@ INSERT INTO  `iot_alarm_system_field`(`id`, `source_type`, `source_type_des`, `s
 INSERT INTO  `iot_alarm_system_field`(`id`, `source_type`, `source_type_des`, `sys_field_code`, `name`, `property_name`, `specs`, `operators`, `type`, `type_des`, `unit`, `enable`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (159, 408, 'UPS', '408_5', '电池剩余备用时间', 'batteryRemainingStandbyTime', '{}', '{}', 'FLOAT', '浮点型', 's', 1, NULL, NULL, NULL, NULL);
 INSERT INTO  `iot_alarm_system_field`(`id`, `source_type`, `source_type_des`, `sys_field_code`, `name`, `property_name`, `specs`, `operators`, `type`, `type_des`, `unit`, `enable`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (160, 408, 'UPS', '408_6', '电池电压低告警', 'lowBatteryVoltageAlarm', '{\"0\": \"正常\",\"1\": \"告警\"}', '{\"EQUALS\": \"等于\"}', 'ENUM', '枚举', NULL, 1, NULL, NULL, NULL, NULL);
 INSERT INTO  `iot_alarm_system_field`(`id`, `source_type`, `source_type_des`, `sys_field_code`, `name`, `property_name`, `specs`, `operators`, `type`, `type_des`, `unit`, `enable`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (161, 4186, '8小时回路', '4186', '8小时回路通电状态', 'status', '{\"0\": \"断电\",\"1\": \"通电\"}', '{\"EQUALS\": \"等于\"}', 'ENUM', '枚举', NULL, 1, NULL, NULL, NULL, NULL);
+
+delete from sys_dict_data where dict_type = 'sensor_alarm_status' and dict_value='2';
+insert into sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, status, create_by, create_time) values (2, '未知', '2', 'sensor_alarm_status', 'default', '0', '', sysdate());

+ 4 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/dto/sensor/SensorPageDto.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * @author jingyuanchao
@@ -31,6 +32,9 @@ public class SensorPageDto extends PageRequest {
     @ApiModelProperty(value = "告警状态,0:正常,1:告警")
     private Integer state;
 
+    @ApiModelProperty(value = "传感器设备类型")
+    private List<String> deviceTypeList;
+
 
 
 }

+ 23 - 1
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/IotCommonSensorServiceImpl.java

@@ -8,11 +8,13 @@ import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
 import com.xunmei.common.core.constant.CacheConstants;
 import com.xunmei.common.core.constant.DictConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.iot.domain.IotSensor;
 import com.xunmei.common.core.enums.OrgTypeEnum;
+import com.xunmei.common.core.enums.iot.BaseDeviceTypeEnum;
 import com.xunmei.common.core.exception.ServiceException;
 import com.xunmei.common.core.utils.bean.BeanUtils;
 import com.xunmei.common.core.web.page.TableDataInfo;
@@ -71,6 +73,26 @@ public class IotCommonSensorServiceImpl extends ServiceImpl<IotCommonSensorMappe
     @Override
     public TableDataInfo<SensorPageVo> selectSensorDataPage(SensorPageDto request) {
         dealPageParam(request);
+        if (ObjectUtil.isEmpty(request.getDeviceTypeList())){
+            List<String> list = Lists.newArrayList(
+                    BaseDeviceTypeEnum.FSU.getCode(),
+                    BaseDeviceTypeEnum.FSU_Smoke.getCode(),
+                    BaseDeviceTypeEnum.FSU_Infrared.getCode(),
+                    BaseDeviceTypeEnum.FSU_TemperatureAndHumidity.getCode(),
+                    BaseDeviceTypeEnum.FSU_DoorMagnetic.getCode(),
+                    BaseDeviceTypeEnum.FSU_Gas.getCode(),
+                    BaseDeviceTypeEnum.FSU_RollingShutterDoor.getCode(),
+                    BaseDeviceTypeEnum.FSU_Water.getCode(),
+                    BaseDeviceTypeEnum.FSU_SmartMeter.getCode(),
+                    BaseDeviceTypeEnum.FSU_AirConditioner.getCode(),
+                    BaseDeviceTypeEnum.FSU_Ups.getCode(),
+                    BaseDeviceTypeEnum.FSU_DoPowerControl.getCode(),
+                    BaseDeviceTypeEnum.FSU_ThreePhaseACVoltage.getCode(),
+                    BaseDeviceTypeEnum.FSU_Theft.getCode(),
+                    BaseDeviceTypeEnum.FSU_DoPowerCollection.getCode()
+            );
+            request.setDeviceTypeList(list);
+        }
 
         Page<SensorPageVo> page = sensorMapper.selectPageData(request.getPageRequest(), request);
         final List<SysOrgVO> cacheList = RedisUtils.getCacheList(CacheConstants.ORG_CACHE_LIST_KEY);
@@ -83,7 +105,7 @@ public class IotCommonSensorServiceImpl extends ServiceImpl<IotCommonSensorMappe
             //行社名称
             cacheList.stream().filter(org->collect.contains(org.getId())&&OrgTypeEnum.HANG_SHE.getCode().equals(org.getType())).findFirst().ifPresent(org->record.setSecondOrgName(org.getShortName()));
             record.setInfo(dealInfoData(info));
-            record.setDeviceType(DictUtils.getDictLabel(DictConstants.SENSOR_DEVICE_TYPE, Integer.parseInt(record.getDeviceType())));
+            record.setDeviceType(BaseDeviceTypeEnum.getDescByCode(record.getDeviceType()));
             record.setStateText(DictUtils.getDictLabel(DictConstants.SENSOR_ALARM_STATUS, record.getState()));
         }
         return TableDataInfo.build(page);

+ 8 - 5
soc-modules/soc-modules-iot/src/main/resources/mapper/IotSensorMapper.xml

@@ -28,8 +28,8 @@
         </if>
     </select>-->
     <select id="selectPageData" resultType="com.xunmei.iot.vo.sensor.SensorPageVo">
-        select s.id, s.org_id, s.org_name,s.org_path, s.device_name, ds.device_type, ds.info as info,s.device_code, ds.state_update_time as updateTime,ds.state
-        from iot_device_info s inner join iot_device_status ds on s.id=ds.device_id
+        select s.id, s.org_id, s.org_name,s.org_path, s.device_name, s.device_type, ds.info as info,s.device_code, ds.state_update_time as updateTime,ds.state
+        from iot_device_info s left join iot_device_status ds on s.id=ds.device_id
         where s.deleted=0
         <if test="request.orgId!= null">
             and s.org_id=#{request.orgId}
@@ -43,15 +43,18 @@
         <if test="request.state!= null">
             and ds.state = #{request.state}
         </if>
-        <if test="request.deviceType!= null and request.deviceType!= ''">
-            and ds.device_type = #{request.deviceType}
-        </if>
         <if test="request.startTime!= null">
             and ds.state_update_time >=#{request.startTime}
         </if>
         <if test="request.endTime!= null">
             and ds.state_update_time <![CDATA[<=]]>  #{request.endTime}
         </if>
+        <if test="request.deviceTypeList!= null and request.deviceTypeList.size() > 0">
+            and s.device_type in
+            <foreach collection="request.deviceTypeList" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
     </select>
     <select id="selectAppPageData" resultType="com.xunmei.iot.vo.sensor.SensorAppPageVo">
         select s.id, s.org_id, s.org_name, s.device_name, ds.device_type, ds.info as info, ds.state_update_time,ds.state