Prechádzať zdrojové kódy

feat:“添加根据机器状态(异常,开关机)筛选功能“

soobin 1 rok pred
rodič
commit
3f1544cf39

+ 16 - 0
src/main/java/com/szwl/constant/ConfigConsts.java

@@ -85,4 +85,20 @@ public class ConfigConsts {
      *
      */
     public static final String SC_RETURN_URL = "http://sevencloud.com.cn";
+
+    /**
+     * 异常状态
+     */
+    public static final String ABNORMAL = "ABNORMAL";
+
+    /**
+     * 开机状态
+     */
+    public static final String ON = "ON";
+
+    /**
+     * 关机状态
+     */
+    public static final String OFF = "OFF";
+
 }

+ 24 - 36
src/main/java/com/szwl/controller/AlarmRecordIndexController.java

@@ -4,20 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.szwl.model.dto.AlarmRecordVo;
-import com.szwl.model.entity.TAdmin;
-import com.szwl.model.entity.TAlarmRecord;
-import com.szwl.model.entity.TEquipment;
-import com.szwl.model.entity.TWechat;
+import com.szwl.model.entity.*;
 import com.szwl.model.utils.MailUtil;
 import com.szwl.model.utils.YunPianSms;
-import com.szwl.service.TAdminService;
-import com.szwl.service.TAlarmRecordService;
-import com.szwl.service.TEquipmentService;
-import com.szwl.service.TWechatService;
+import com.szwl.service.*;
 import com.szwl.util.TimezoneFmtUtil;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 
@@ -44,7 +37,7 @@ public class AlarmRecordIndexController {
     private TAdminService adminService;
 
     @Autowired
-    private StringRedisTemplate redisTemplate;
+    private TEquipmentDescService equipmentDescService;
 
     @Resource
     TWechatService wechatService;
@@ -68,29 +61,6 @@ public class AlarmRecordIndexController {
             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.isEmpty()) {
-//            for (TAlarmRecord tAlarmRecord : list) {
-//                tAlarmRecord.setIsEliminate(1);
-//                alarmRecordService.updateById(tAlarmRecord);
-//            }
-//        }
-
         Integer type = equipment.getType();
         Long adminId = equipment.getAdminId();
         Long equipmentId = equipment.getId();
@@ -98,6 +68,9 @@ public class AlarmRecordIndexController {
         if (StringUtils.isEmpty(name)) {
             name = clientId.substring(clientId.length() - 6);
         }
+        // 更新设备状态为报警
+        equipment.setIsAlarm(true);
+        equipmentService.updateById(equipment);
         String adminUserName = equipment.getAdminUserName();
         alarmRecord.setEquipmentId(equipmentId);
         alarmRecord.setName(name);
@@ -274,8 +247,15 @@ public class AlarmRecordIndexController {
         wrapper.le(TAlarmRecord::getCreateDate, new Date());
         wrapper.set(TAlarmRecord::getIsEliminate, 1);
         alarmRecordService.update(wrapper);
-//        alarmRecord.setIsEliminate(1);
-//        alarmRecordService.updateById(alarmRecord);
+        // 修改机器状态
+        String clientId = alarmRecord.getClientId();
+        LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
+        query.eq(TEquipment::getClientId, clientId);
+        TEquipment equipment = equipmentService.getOne(query);
+        if (equipment != null) {
+            equipment.setIsAlarm(false);
+            equipmentService.updateById(equipment);
+        }
         return "success";
     }
 
@@ -307,12 +287,20 @@ public class AlarmRecordIndexController {
         query.gt(TAlarmRecord::getCreateDate, startDate);
         query.le(TAlarmRecord::getCreateDate, endDate);
         List<TAlarmRecord> recordList = alarmRecordService.list(query);
-        if(recordList.size() > 0) {
+        if(!recordList.isEmpty()) {
             for (TAlarmRecord record : recordList) {
                 record.setIsEliminate(1);
                 alarmRecordService.updateById(record);
             }
         }
+        // 修改机器状态
+        LambdaQueryWrapper<TEquipment> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(TEquipment::getClientId, clientId);
+        TEquipment equipment = equipmentService.getOne(queryWrapper);
+        if (equipment != null) {
+            equipment.setIsAlarm(false);
+            equipmentService.updateById(equipment);
+        }
         return "success";
     }
 }

+ 20 - 37
src/main/java/com/szwl/controller/TEquipmentController.java

@@ -3,6 +3,7 @@ package com.szwl.controller;
 
 import cn.com.crbank.ommo.bean.ResultMessage;
 import cn.com.crbank.ommo.esUtil.BeanUtils;
+import cn.hutool.core.util.NumberUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -232,17 +233,24 @@ public class TEquipmentController {
         }
         // 分组ID
         if (StringUtils.isNotEmpty(labelId)) {
-            TLabel label = labelService.getById(labelId);
-            String equipmentIds = label.getEquipmentIds();
-            equipmentIds = equipmentIds.replace("\"", "").replace("[", "").replace("]", "");
-            String[] split = equipmentIds.split(",");
-            query.in(TEquipment::getId, split);
+            if (NumberUtil.isInteger(labelId)) {
+                TLabel label = labelService.getById(labelId);
+                String equipmentIds = label.getEquipmentIds();
+                equipmentIds = equipmentIds.replace("\"", "").replace("[", "").replace("]", "");
+                String[] split = equipmentIds.split(",");
+                query.in(TEquipment::getId, split);
+            } else if (ConfigConsts.ABNORMAL.equals(labelId)) {
+                query.eq(TEquipment::getIsAlarm, 1);
+            } else if (ConfigConsts.ON.equals(labelId)) {
+                query.eq(TEquipment::getEqeStatus, 1);
+            } else if (ConfigConsts.OFF.equals(labelId)) {
+                query.eq(TEquipment::getEqeStatus, 0);
+            }
         }
         query.orderByDesc(TEquipment::getCreateDate);
         Page<TEquipment> page = new Page<>(current, size, true);
         IPage<TEquipment> iPage = tEquipmentService.page(page, query);
-        Page<TEquipmentDTO> pageDTO = new Page<>(current, size, true);
-        IPage<TEquipmentDTO> iPageDTO = pageDTO;
+        IPage<TEquipmentDTO> iPageDTO = new Page<>(current, size, true);
         iPageDTO.setCurrent(iPage.getCurrent());
         iPageDTO.setPages(iPage.getPages());
         iPageDTO.setSize(iPage.getSize());
@@ -254,45 +262,19 @@ public class TEquipmentController {
             return equipmentDTO;
         }).collect(Collectors.toList());
         for (TEquipmentDTO equipmentDTO : equipmentDTOList) {
-//            Date date = new Date();
-//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-//            Date date = null;
-//            try {
-//                date = sdf.parse(todayDate);
-//            } catch (ParseException e) {
-//                e.printStackTrace();
-//            }
             LocalDateTime dateTime = LocalDateTime.parse(todayDate + "T00:00:00");
             // 获取前一天的0点时间
             LocalDateTime startDateTime = dateTime.minusDays(1).with(LocalTime.MIN);
             // 获取当天的24点时间
             LocalDateTime endDateTime = dateTime.with(LocalTime.MAX);
-//            Calendar calendar = new GregorianCalendar();
-//            Calendar calendarEnd = new GregorianCalendar();
-//            calendar.setTime(date);
-//            calendarEnd.setTime(date);
-//
-//            calendar.set(Calendar.HOUR_OF_DAY, 0);
-//            calendar.set(Calendar.MINUTE, 0);
-//            calendar.set(Calendar.SECOND, 0);
-//            calendar.set(Calendar.MILLISECOND, 0);
-//
-//            calendarEnd.set(Calendar.HOUR_OF_DAY, 23);
-//            calendarEnd.set(Calendar.MINUTE, 59);
-//            calendarEnd.set(Calendar.SECOND, 59);
-//            calendarEnd.set(Calendar.MILLISECOND, 999);
-//            Date date_start = calendar.getTime();
-//            Date date_end = calendarEnd.getTime();
             LambdaQueryWrapper<TAlarmRecord> query1 = Wrappers.lambdaQuery();
             query1.eq(TAlarmRecord::getEquipmentId, equipmentDTO.getId());
             query1.eq(TAlarmRecord::getIsEliminate, 0);
             query1.gt(TAlarmRecord::getOccurrenceTime, startDateTime);
             query1.le(TAlarmRecord::getOccurrenceTime, endDateTime);
-//            query1.gt(TAlarmRecord::getCreateDate, date_start);
-//            query1.le(TAlarmRecord::getCreateDate, date_end);
             query1.orderByDesc(TAlarmRecord::getLevel).orderByDesc(TAlarmRecord::getOccurrenceTime);
             List<TAlarmRecord> alarmRecordList = tAlarmRecordService.list(query1);
-            if (alarmRecordList.size() > 0) {
+            if (!alarmRecordList.isEmpty()) {
                 equipmentDTO.setHasTodayAlarm(true);
                 equipmentDTO.setAlarmList(alarmRecordList);
             } else {
@@ -727,9 +709,7 @@ public class TEquipmentController {
             return R.fail(A0001, "设备不存在");
         }
         String machineType = equipment.getMachineType();
-        if (StringUtils.isNotEmpty(machineType) && machineType.equals("2")) {
-//            tAlarmRecord.setIsEliminate(1);
-//            tAlarmRecordService.updateById(tAlarmRecord);
+        if (StringUtils.isNotEmpty(machineType) && "2".equals(machineType)) {
             // 消除过往的报警
             LambdaUpdateWrapper<TAlarmRecord> wrapper = Wrappers.lambdaUpdate();
             wrapper.eq(TAlarmRecord::getClientId, tAlarmRecord.getClientId());
@@ -737,6 +717,9 @@ public class TEquipmentController {
             wrapper.le(TAlarmRecord::getCreateDate, new Date());
             wrapper.set(TAlarmRecord::getIsEliminate, 1);
             tAlarmRecordService.update(wrapper);
+            // 更改机器状态
+            equipment.setIsAlarm(false);
+            tEquipmentService.updateById(equipment);
         } else {
             JSONObject kindData = new JSONObject();
             kindData.put("id", param.getId());

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2 - 1
src/main/java/com/szwl/mapper/xml/TEquipmentMapper.xml


+ 9 - 2
src/main/java/com/szwl/model/entity/TEquipment.java

@@ -1,14 +1,15 @@
 package com.szwl.model.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 设备表
@@ -43,6 +44,7 @@ public class TEquipment implements Serializable {
     @ApiModelProperty(value = "机器超级管理员admin密码")
     private String adminPwd;
 
+    @ApiModelProperty(value = "地区ID")
     private Long areaId;
 
     @ApiModelProperty(value = "柜内湿度")
@@ -127,10 +129,12 @@ public class TEquipment implements Serializable {
 
     private Long merchantId;
 
+    @ApiModelProperty(value = "公司电话")
     private String companyPhone;
 
     private Long personageId;
 
+    @ApiModelProperty(value = "0:分账方2个,1:分账方3个,3:分账方4个,3:分账方超4个")
     private Integer type;
 
     @ApiModelProperty(value = "地址全名")
@@ -198,5 +202,8 @@ public class TEquipment implements Serializable {
     @ApiModelProperty(value = "支付方式:为了远程修改支付方式")
     private String paymentType;
 
+    @ApiModelProperty(value = "是否有报警")
+    private Boolean isAlarm;
+
 
 }

+ 1 - 0
src/main/java/com/szwl/model/entity/TEquipmentDesc.java

@@ -57,6 +57,7 @@ public class TEquipmentDesc implements Serializable {
     @ApiModelProperty(value = "当前机器购物车模式,0:原始模式,1:第二件半价")
     private String payType;
 
+    @ApiModelProperty(value = "信号检查标志,0:默认状态,1:待检查状态")
     private String note;
 
     @ApiModelProperty(value = "机器状态;0:空闲,1:在做糖")