Browse Source

Merge remote-tracking branch 'origin/master'

wangyangyang 4 years ago
parent
commit
a66933a20b

+ 2 - 1
sms_water/src/main/java/com/huaxu/dao/AlarmDetailMapper.java

@@ -6,6 +6,7 @@ import com.huaxu.entity.AlarmDetailsEntity;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -43,7 +44,7 @@ public interface AlarmDetailMapper {
      * 单条删除设备
      * @return
      */
-    Integer suspendedById( @Param("id") Integer id, @Param("satte") Integer state);
+    Integer suspendedById(@Param("id") Integer id, @Param("state") Integer state,@Param("dateUpdate")  Date dateUpdate ,@Param("updateBy") String updateBy);
 
     /**
      * 修改设备信息

+ 11 - 0
sms_water/src/main/java/com/huaxu/dto/AlarmDetailsDto.java

@@ -31,6 +31,17 @@ public class AlarmDetailsDto extends AlarmDetailsEntity {
     private BigDecimal pointX;
     @ApiModelProperty("维度")
     private BigDecimal pointY;
+    @ApiModelProperty("持续时间,单位分钟")
+    private Integer duration;
+
+    @ApiModelProperty(value ="属性单位")
+    private String unit;
+
+    @ApiModelProperty(value ="报警参数")
+    private String attributeName;
+
+    @ApiModelProperty(value ="报警规则")
+    private String alermRule;
 
     @ApiModelProperty(value ="查询条件:场景名称/设备名称",hidden = true)
     private String condition;

+ 8 - 0
sms_water/src/main/java/com/huaxu/entity/AlarmDetailsEntity.java

@@ -39,6 +39,14 @@ public class AlarmDetailsEntity implements Serializable {
     private Integer attributeId;
     @ApiModelProperty(value = "当前数值")
     private BigDecimal alarmValue;
+    @ApiModelProperty(value = "最小告警数值")
+    private BigDecimal minValue;
+    @ApiModelProperty(value = "最大告警数值")
+    private BigDecimal maxValue;
+
+
+
+
     @ApiModelProperty(value = "报警详情")
     private String alarmContent;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")

+ 5 - 1
sms_water/src/main/java/com/huaxu/service/impl/AlarmDetailsServiceImpl.java

@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.huaxu.dao.AlarmDetailMapper;
 import com.huaxu.dto.AlarmDetailsDto;
 import com.huaxu.entity.AlarmDetailsEntity;
+import com.huaxu.model.LoginUser;
 import com.huaxu.service.AlarmDetailsService;
+import com.huaxu.util.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -43,7 +46,8 @@ public class AlarmDetailsServiceImpl implements AlarmDetailsService {
 
     @Override
     public Integer suspendedById(Integer id , Integer state) {
-        return alarmDetailMapper.suspendedById(id,state);
+        LoginUser loginUser = UserUtil.getCurrentUser();
+        return alarmDetailMapper.suspendedById(id,state,new Date(),loginUser.getUsername());
     }
 
     @Override

+ 10 - 1
sms_water/src/main/resources/mapper/AlarmDetailMapper.xml

@@ -22,19 +22,28 @@
             ,a.CREATE_BY as "createBy"
             ,a.DATE_UPDATE as "dateUpdate"
             ,a.UPDATE_BY as "updateBy"
+            ,a.MIN_VALUE as "minValue"
+            ,a.MAX_VALUE as "maxValue"
 
+            ,(case when ALARM_END_TIME is not null then timestampdiff(MINUTE,a.ALARM_END_TIME,a.ALARM_START_TIME) else null end ) as "duration"
+            ,att.`NAME` as "attributeName"
             ,s.SCENE_NAME as "sceneName"
             ,d.DEVICE_NAME as "deviceName"
             ,t.DEVICE_TYPE as "devcieType"
             ,d.ADDRESS as "address"
             ,d.POINT_X as "pointX"
             ,d.POINT_Y as "pointY"
+            ,ast.ALARM_CONDITION +" " +ast.ALARM_VALUE as "alermRule"
+            ,concat(ifnull(ast.ALARM_CONDITION,''),ifnull(ast.ALARM_VALUE,'')) as "alermRule"
+            ,att.UNIT as "unit"
     </sql>
 
     <sql id="alarmDetailJoins">
         left join sms_device d on a.DEVICE_ID =d.id and d.`STATUS` = 1
         left join sms_scene s on d.SCENE_ID =s.id and s.`STATUS` =1
         left join sms_device_type t on d.DEVICE_TYPE_ID =t.ID
+        left join sms_alarm_setting ast on ast.id= a.ATTRIBUTE_ID
+        left join sms_device_attribute att on att.id=ast.ATTRIBUTE_ID
     </sql>
     <select id="selectById" resultType="com.huaxu.dto.AlarmDetailsDto">
         select
@@ -151,7 +160,7 @@
 
     <!-- 报警挂起、恢复 -->
     <delete id="suspendedById">
-         UPDATE  sms_alarm_details set STATE  = #{state} where id = #{id}
+         UPDATE  sms_alarm_details set STATE  = #{state} , DATE_UPDATE  = #{dateUpdate}, UPDATE_BY  = #{updateBy} where id = #{id}
     </delete>
 
     <!-- 分页查询 -->