瀏覽代碼

fix:“优化报警消除功能“

soobin 1 年之前
父節點
當前提交
1bc1d4780d

+ 68 - 2
src/main/java/com/szwl/controller/AlarmRecordIndexController.java

@@ -22,6 +22,10 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.ZoneId;
 import java.util.Date;
 import java.util.List;
 
@@ -58,11 +62,36 @@ public class AlarmRecordIndexController {
         String clientId = alarmRecordVo.getClientId();
         LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
         query.eq(TEquipment::getClientId, clientId);
-        List<TEquipment> list = equipmentService.list(query);
-        TEquipment equipment = list.get(0);
+//        List<TEquipment> list = equipmentService.list(query);
+//        TEquipment equipment = list.get(0);
+        TEquipment equipment = equipmentService.getOne(query);
         if (equipment == null) {
             return "添加报警记录失败";
         }
+
+        // 获取今天的日期
+        LocalDate today = LocalDate.now();
+        // 获取今天的0时0分0秒
+        LocalDateTime startOfDay = today.atTime(LocalTime.MIN);
+        // 获取今天的23时59分59秒999毫秒
+        LocalDateTime endOfDay = today.atTime(LocalTime.MAX);
+        // 转换为Date对象
+        Date startDate = Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
+        Date endDate = Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
+        // 查询当天是否已有报警,如果有就消除掉
+        LambdaQueryWrapper<TAlarmRecord> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(TAlarmRecord::getClientId, clientId);
+        queryWrapper.eq(TAlarmRecord::getIsEliminate, 0);
+        queryWrapper.gt(TAlarmRecord::getCreateDate, startDate);
+        queryWrapper.le(TAlarmRecord::getCreateDate, endDate);
+        List<TAlarmRecord> list = alarmRecordService.list(queryWrapper);
+        if (list.size() > 0) {
+            for (TAlarmRecord tAlarmRecord : list) {
+                tAlarmRecord.setIsEliminate(1);
+                alarmRecordService.updateById(tAlarmRecord);
+            }
+        }
+
         Integer type = equipment.getType();
         Long adminId = equipment.getAdminId();
         Long equipmentId = equipment.getId();
@@ -241,4 +270,41 @@ public class AlarmRecordIndexController {
 //        return JsonMessage.success("success");
         return "success";
     }
+
+    /**
+     * 消除报警记录
+     *
+     * @param
+     * @return
+     */
+    @GetMapping(value = "/eliminateAlarm", produces = "text/html;charset=utf-8")
+    @ResponseBody
+    public String eliminateAlarm(String clientId) {
+        // 获取今天的日期
+        LocalDate today = LocalDate.now();
+
+        // 获取今天的0时0分0秒
+        LocalDateTime startOfDay = today.atTime(LocalTime.MIN);
+
+        // 获取今天的23时59分59秒999毫秒
+        LocalDateTime endOfDay = today.atTime(LocalTime.MAX);
+
+        // 转换为Date对象
+        Date startDate = Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
+        Date endDate = Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
+
+
+        LambdaQueryWrapper<TAlarmRecord> query = Wrappers.lambdaQuery();
+        query.eq(TAlarmRecord::getClientId, clientId);
+        query.gt(TAlarmRecord::getCreateDate, startDate);
+        query.le(TAlarmRecord::getCreateDate, endDate);
+        List<TAlarmRecord> recordList = alarmRecordService.list(query);
+        if(recordList.size() > 0) {
+            for (TAlarmRecord record : recordList) {
+                record.setIsEliminate(1);
+                alarmRecordService.updateById(record);
+            }
+        }
+        return "success";
+    }
 }

+ 16 - 8
src/main/java/com/szwl/controller/TEquipmentController.java

@@ -277,6 +277,7 @@ public class TEquipmentController {
 //            query1.le(TAlarmRecord::getOccurrenceTime, date_end);
             query1.gt(TAlarmRecord::getCreateDate, date_start);
             query1.le(TAlarmRecord::getCreateDate, date_end);
+            query1.orderByDesc(TAlarmRecord::getOccurrenceTime);
             List<TAlarmRecord> alarmRecordList = tAlarmRecordService.list(query1);
             if (alarmRecordList.size() > 0) {
                 equipmentDTO.setHasTodayAlarm(true);
@@ -723,16 +724,23 @@ public class TEquipmentController {
 
     @ApiOperation(value = "消除报警")
     @PostMapping("/eliminate")
-    public ResponseEntity<?> eliminate(@RequestBody TAlarmRecord param) {
+    public ResponseModel<?> eliminate(@RequestBody TAlarmRecord param) {
         TAlarmRecord tAlarmRecord = tAlarmRecordService.getById(param.getId());
         TEquipment equipment = tEquipmentService.getById(tAlarmRecord.getEquipmentId());
-        JSONObject kindData = new JSONObject();
-        kindData.put("id", param.getId());
-        kindData.put("content", tAlarmRecord.getAlarmContent());
-        tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("eliminate", kindData.toString()).toString());
-//        PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("eliminate", kindData.toString()).toString());
-        return ResponseEntity.status(HttpStatus.OK)
-                .body(new ResultMessage().setCode(true).setData("0").setMessage("已发送"));
+        if (equipment == null) {
+            return R.fail(A0001, "设备不存在");
+        }
+        String machineType = equipment.getMachineType();
+        if (StringUtils.isNotEmpty(machineType) && machineType.equals("2")) {
+            tAlarmRecord.setIsEliminate(1);
+            tAlarmRecordService.updateById(tAlarmRecord);
+        } else {
+            JSONObject kindData = new JSONObject();
+            kindData.put("id", param.getId());
+            kindData.put("content", tAlarmRecord.getAlarmContent());
+            tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("eliminate", kindData.toString()).toString());
+        }
+        return R.ok();
     }
 
     @ApiOperation(value = "修改机器音量")