Sfoglia il codice sorgente

新建查询警报功能(接口)。

zhuoning 3 anni fa
parent
commit
0047a24a73

+ 45 - 0
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/controller/AlarmController.java

@@ -0,0 +1,45 @@
+package com.huimv.env.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.huimv.common.utils.Result;
+import com.huimv.env.service.IAlarm;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.text.ParseException;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@CrossOrigin
+@RestController
+@RequestMapping("/alarm")
+@Slf4j
+public class AlarmController {
+    @Autowired
+    private IAlarm iAlarm;
+
+    @RequestMapping(value = "/getAlarm",method = RequestMethod.GET)
+    public Result getAlarmByFarmIdAndDate(@RequestParam(value = "farmId",required = true) Integer farmId,
+                                          @RequestParam(value="alarmType",required=false) Integer alarmType,
+                                          @RequestParam(value = "alarmDate") String alarmDate,
+                                          @RequestParam(value = "pageSize") Integer pageSize,
+                                          @RequestParam(value = "pageNo") Integer pageNo) throws ParseException {
+        log.info("farmId>>"+farmId);
+        log.info("alarmType>>"+alarmType);
+        log.info("alarmDate>>"+alarmDate);
+        log.info("pageNo>>"+pageNo);
+        log.info("pageSize>>"+pageSize);
+        //
+        return iAlarm.getAlarm(farmId,alarmType,alarmDate,pageNo,pageSize);
+    }
+
+}

+ 137 - 0
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/dao/entity/BaseWarningInfoEntity.java

@@ -0,0 +1,137 @@
+package com.huimv.env.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "base_warning_info")
+public class BaseWarningInfoEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "farm_id")
+    private Integer farmId;
+
+    @Column(name = "level")
+    private Integer level;
+
+    @Column(name = "msg")
+    private String msg;
+
+    @Column(name = "level_name")
+    private String levelName;
+
+    @Column(name = "warning_name")
+    private String warningName;
+
+    @Column(name = "warning_time")
+    private Timestamp warningTime;
+
+    @Column(name = "upload_time")
+    private Timestamp uploadTime;
+
+    /**
+     * 警报类型
+     */
+    @Column(name = "alarm_type")
+    private Integer alarmType;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setFarmId(Integer farmId) {
+        this.farmId = farmId;
+    }
+
+    public Integer getFarmId() {
+        return farmId;
+    }
+
+    public void setLevel(Integer level) {
+        this.level = level;
+    }
+
+    public Integer getLevel() {
+        return level;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setLevelName(String levelName) {
+        this.levelName = levelName;
+    }
+
+    public String getLevelName() {
+        return levelName;
+    }
+
+    public void setWarningName(String warningName) {
+        this.warningName = warningName;
+    }
+
+    public String getWarningName() {
+        return warningName;
+    }
+
+    public void setWarningTime(Timestamp warningTime) {
+        this.warningTime = warningTime;
+    }
+
+    public Timestamp getWarningTime() {
+        return warningTime;
+    }
+
+    public void setUploadTime(Timestamp uploadTime) {
+        this.uploadTime = uploadTime;
+    }
+
+    public Timestamp getUploadTime() {
+        return uploadTime;
+    }
+
+    /**
+     * 警报类型
+     */
+    public void setAlarmType(Integer alarmType) {
+        this.alarmType = alarmType;
+    }
+
+    /**
+     * 警报类型
+     */
+    public Integer getAlarmType() {
+        return alarmType;
+    }
+
+    @Override
+    public String toString() {
+        return "BaseWarningInfoEntity{" +
+                "id=" + id + '\'' +
+                "farmId=" + farmId + '\'' +
+                "level=" + level + '\'' +
+                "msg=" + msg + '\'' +
+                "levelName=" + levelName + '\'' +
+                "warningName=" + warningName + '\'' +
+                "warningTime=" + warningTime + '\'' +
+                "uploadTime=" + uploadTime + '\'' +
+                "alarmType=" + alarmType + '\'' +
+                '}';
+    }
+}

+ 9 - 0
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/dao/repo/BaseWarningInfoRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.env.dao.repo;
+
+import com.huimv.env.dao.entity.BaseWarningInfoEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface BaseWarningInfoRepo extends JpaRepository<BaseWarningInfoEntity, Integer>, JpaSpecificationExecutor<BaseWarningInfoEntity> {
+
+}

+ 3 - 3
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/environ/service/impl/EnvironImpl.java

@@ -70,11 +70,11 @@ public class EnvironImpl implements IEnviron {
      */
     @Override
     public Result getLastSevenDayEnviron(Integer farmId,Integer days) throws ParseException {
-        System.out.println("dateUtil.getTodayDate()>>"+dateUtil.getTodayDate());
-        System.out.println("days>>"+days);
+        System.out.println(">>>>> dateUtil.getTodayDate()>>"+dateUtil.getTodayDate());
+        System.out.println(">>>>> days>>"+days);
         //查询最近N天记录
         List<EnvDayEntity> envDayEntityList = envDayRepo.findByFarmIdAndAddDate(farmId,days);
-        System.out.println("envDayEntityList.size>>"+envDayEntityList.size());
+        System.out.println(">>>>> envDayEntityList.size>>"+envDayEntityList.size());
         if(envDayEntityList.size()>0){
             JSONArray dateJa = new JSONArray();
             JSONArray codJa = new JSONArray();

+ 10 - 0
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/service/IAlarm.java

@@ -0,0 +1,10 @@
+package com.huimv.env.service;
+
+import com.huimv.common.utils.Result;
+
+import java.text.ParseException;
+
+public interface IAlarm {
+    //
+    Result getAlarm(Integer farmId, Integer alarmType, String alarmDate, Integer pageSize, Integer pageNo) throws ParseException;
+}

+ 76 - 0
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/service/impl/AlarmImpl.java

@@ -0,0 +1,76 @@
+package com.huimv.env.service.impl;
+
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.env.dao.entity.BaseWarningInfoEntity;
+import com.huimv.env.dao.repo.BaseWarningInfoRepo;
+import com.huimv.env.service.IAlarm;
+import com.huimv.env.utils.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.*;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+import javax.persistence.criteria.*;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Service
+public class AlarmImpl implements IAlarm {
+    @Autowired
+    private BaseWarningInfoRepo warningInfoRepo;
+    @Autowired
+    private DateUtil dateUtil;
+
+    @Override
+    public Result getAlarm(Integer farmId, Integer alarmType, String alarmDateText, Integer pageNo, Integer pageSize) throws ParseException {
+        //转换为日期才能比较
+        Date alarmDate = dateUtil.formatDate(alarmDateText);
+        Specification<BaseWarningInfoEntity> sf = (Specification<BaseWarningInfoEntity>) (root, criteriaQuery, criteriaBuilder) -> {
+            //
+            List<Predicate> predList = new ArrayList<>();
+            if (null != farmId) {
+                predList.add(criteriaBuilder.equal(root.get("farmId").as(Integer.class), farmId));
+            }
+            if (null != alarmType) {
+                predList.add(criteriaBuilder.equal(root.get("alarmType").as(Integer.class), alarmType));
+            }
+            if (null != alarmDate) {
+                predList.add(criteriaBuilder.equal(root.get("warningTime").as(Date.class), alarmDate));
+            }
+//            if (null != returnState) {
+//                predList.add(criteriaBuilder.equal(root.get("returnState").as(Integer.class), returnState));
+//            }
+//            if (null != deliverState) {
+//                predList.add(criteriaBuilder.equal(root.get("deliverState").as(Integer.class), deliverState));
+//            }
+            //
+            Predicate[] pred = new Predicate[predList.size()];
+            Predicate and = criteriaBuilder.and(predList.toArray(pred));
+            criteriaQuery.where(and);
+            //
+            List<Order> orders = new ArrayList<>();
+            orders.add(criteriaBuilder.desc(root.get("id")));
+            return criteriaQuery.orderBy(orders).getRestriction();
+        };
+        Pageable pageable = PageRequest.of( pageNo - 1, pageSize);
+//        return new Result(ResultCode.SUCCESS,applyRepo.listApply(pageable,applyId));
+        Page<BaseWarningInfoEntity>  warningInfoEntityPage = warningInfoRepo.findAll(sf, pageable);
+        //格式化日期
+//        List<BaseWarningInfoEntity> warningInfoEntityList = warningInfoEntityPage.getContent();
+//        for(BaseWarningInfoEntity warningInfoEntity:warningInfoEntityList){
+//            warningInfoEntity.setWarningTime(new Timestamp(dateUtil.formatDate(dateUtil.fromLongToDate(warningInfoEntity.getWarningTime().getTime(),"yyyy-MM-dd")).getTime()));
+//            warningInfoEntity.setUploadTime(new Timestamp(dateUtil.formatDate(dateUtil.fromLongToDate(warningInfoEntity.getUploadTime().getTime(),"yyyy-MM-dd")).getTime()));
+//        }
+        return new Result(ResultCode.SUCCESS, warningInfoEntityPage);
+    }
+}

+ 7 - 0
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/utils/DateUtil.java

@@ -22,6 +22,13 @@ import java.util.Date;
 @Slf4j
 public class DateUtil {
 
+    //Long转换为Date格式
+    public String fromLongToDate(Long time ,String format) {
+        SimpleDateFormat sdf = new SimpleDateFormat(format);
+        Date date = new Date(time);
+        return sdf.format(date);
+    }
+
     //格式化本年
     public String getThisYear(){
         Calendar cal = Calendar.getInstance();