Browse Source

添加告警参数属性

lihui001 3 years ago
parent
commit
38cdd7d1c0

+ 6 - 0
zoniot-water/zoniot-water-api/src/main/java/com/bz/zoneiot/water/api/dto/AlarmTypeDTO.java

@@ -22,6 +22,12 @@ public class AlarmTypeDTO {
     @ApiModelProperty(value="设备ID")
     private Long deviceId;
 
+    @ApiModelProperty(value="属性ID")
+    private Long attributeId;
+
+    @ApiModelProperty(value="属性标识符")
+    private String identifier;
+
     @ApiModelProperty(value="物联网产品ID")
     private Integer iotProductId;
 

+ 4 - 0
zoniot-water/zoniot-water-api/src/main/java/com/bz/zoneiot/water/api/vo/AlarmSettingVo.java

@@ -77,6 +77,10 @@ public class AlarmSettingVo  {
     @ApiModelProperty(value = "备注")
     private String remark;
 
+
+    @ApiModelProperty(value = "属性标识符")
+    private String identifier;
+
     /**
      * 数据删除标识
      */

+ 3 - 0
zoniot-water/zoniot-water-core/src/main/java/com/bz/zoneiot/water/core/entity/AlarmType.java

@@ -47,6 +47,9 @@ public class AlarmType {
     @ApiModelProperty(value="设备ID")
     private Long deviceId;
 
+    @ApiModelProperty(value="属性Id")
+    private Long attributeId;
+
     @ApiModelProperty(value="测点代码")
     private String code;
 

+ 7 - 2
zoniot-water/zoniot-water-core/src/main/java/com/bz/zoneiot/water/core/mapper/AlarmSettingMapper.xml

@@ -24,6 +24,7 @@
         <result property="dateUpdate" column="date_update" jdbcType="TIMESTAMP"/>
         <result property="startTime" column="start_time" jdbcType="VARCHAR"/>
         <result property="endTime" column="end_time" jdbcType="VARCHAR"/>
+        <result property="identifier" column="identifier" jdbcType="VARCHAR"/>
     </resultMap>
 
     <!-- 基本字段 -->
@@ -97,11 +98,15 @@
     </select>
 
     <select id="selectAttributes" resultMap="alarmSettingMap">
-        select t2.id attribute_id,t2.name attribute_name
+        select t2.id attribute_id,t2.name attribute_name, t2.identifier
         from  sms_device t1
         inner join sms_device_attribute t2 on t1.device_type_id=t2.device_type_id and t2.status =1
         inner join sms_device_parm t3 on t3.device_id=t1.id and t3.attribute_id=t2.id and t3.status=1
-        where t3.device_id=#{deviceId} and t3.scene_id=#{sceneId} and t1.status=1 and t3.is_alarm=1
+        where t3.device_id=#{deviceId}
+        <if test="sceneId != null and sceneId != ''">
+            and t3.scene_id=#{sceneId}
+        </if>
+         and t1.status=1 and t3.is_alarm=1
         order by t3.seq
     </select>
 

+ 9 - 0
zoniot-water/zoniot-water-core/src/main/java/com/bz/zoneiot/water/core/mapper/AlarmTypeMapper.xml

@@ -45,6 +45,9 @@
         <if test="tenantId != null">
           tenant_id,
         </if>
+        <if test="attributeId != null">
+          attribute_id,
+        </if>
         <if test="customerId != null">
           customer_id,
         </if>
@@ -110,6 +113,9 @@
         <if test="tenantId != null">
           #{tenantId},
         </if>
+        <if test="attributeId != null">
+          #{attributeId},
+        </if>
         <if test="customerId != null">
           #{customerId},
         </if>
@@ -180,6 +186,9 @@
         <if test="deviceId != null">
           device_id = #{deviceId},
         </if>
+        <if test="attributeId != null">
+          attribute_id = #{attributeId}
+        </if>
         <if test="productId != null">
           product_id = #{productId},
         </if>

+ 2 - 4
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/controller/AlarmSettingController.java

@@ -120,10 +120,8 @@ public class AlarmSettingController {
 
     @RequestMapping(value = "selectAttributes", method = RequestMethod.GET)
     @ApiOperation(value = "根据设备id查询属性信息")
-    public AjaxMessage selectAttributes(
-            @ApiParam(value = "场景id", required = true)@RequestParam Integer sceneId,
-            @ApiParam(value = "设备id", required = true)@RequestParam Integer deviceId) {
-        if ( deviceId == null || sceneId == null) {
+    public AjaxMessage selectAttributes(@RequestParam(defaultValue = "") Integer sceneId, @ApiParam(value = "设备id", required = true)@RequestParam Integer deviceId) {
+        if ( deviceId == null) {
             return AjaxMessage.fail(WaterErrorEnum.PARAM_ERROR);
         }
         return AjaxMessage.success(alarmSettingService.selectAttributes(deviceId,sceneId));

+ 4 - 0
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/service/impl/AlarmTypeServiceImpl.java

@@ -97,12 +97,14 @@ public class AlarmTypeServiceImpl implements AlarmTypeService {
             dataDTO.setCustomerId(loginUser.getCustomerId());
             dataDTO.setDeviceId(dto.getIotDeviceId());
             dataDTO.setProductId(dto.getIotProductId());
+            dataDTO.setCode(dto.getIdentifier());
             iotAlarmId = syncAlarmService.addDataWaringConfig(dataDTO);
         } else if (AlarmCategoryEnum.OFFLINE_ALARM.getType() == dto.getAlarmCategory()) {
             AlarmOfflineDTO dataDTO = BeanCopyUtils.copy(dto, AlarmOfflineDTO.class);
             dataDTO.setCustomerId(loginUser.getCustomerId());
             dataDTO.setDeviceId(dto.getIotDeviceId());
             dataDTO.setProductId(dto.getIotProductId());
+            dataDTO.setCode(dto.getIdentifier());
             iotAlarmId = syncAlarmService.addOfflineConfig(dataDTO);
         }
         if (iotAlarmId == null || iotAlarmId == 0) {
@@ -141,6 +143,7 @@ public class AlarmTypeServiceImpl implements AlarmTypeService {
             dataDTO.setDeviceId(dto.getIotDeviceId());
             dataDTO.setProductId(dto.getIotProductId());
             dataDTO.setRuleId(alarm.getIotAlarmId());
+            dataDTO.setCode(dto.getIdentifier());
             iotAlarmId = syncAlarmService.updateDataWaringConfig(dataDTO);
         } else if (AlarmCategoryEnum.OFFLINE_ALARM.getType() == dto.getAlarmCategory()) {
             AlarmOfflineDTO dataDTO = BeanCopyUtils.copy(dto, AlarmOfflineDTO.class);
@@ -148,6 +151,7 @@ public class AlarmTypeServiceImpl implements AlarmTypeService {
             dataDTO.setDeviceId(dto.getIotDeviceId());
             dataDTO.setProductId(dto.getIotProductId());
             dataDTO.setRuleId(alarm.getIotAlarmId());
+            dataDTO.setCode(dto.getIdentifier());
             iotAlarmId = syncAlarmService.updateOfflineConfig(dataDTO);
         }
         if (iotAlarmId == null || iotAlarmId == 0) {