瀏覽代碼

环境监测

wwh 2 年之前
父節點
當前提交
0237ae57ab

+ 16 - 1
huimv-admin/src/main/java/com/huimv/admin/controller/EnergyWarningInfoController.java

@@ -1,13 +1,21 @@
 package com.huimv.admin.controller;
 
 
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.service.IEnergyWarningInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author author
@@ -15,6 +23,13 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/energy-warning-info")
+@CrossOrigin
 public class EnergyWarningInfoController {
+    @Autowired
+    private IEnergyWarningInfoService energyWarningInfoService;
 
+    @RequestMapping("/list")
+    public Result list(HttpServletRequest httpServletRequest, @RequestBody Map<String,String> paramsMap) {
+        return energyWarningInfoService.list(httpServletRequest,paramsMap);
+    }
 }

+ 14 - 0
huimv-admin/src/main/java/com/huimv/admin/controller/EnvDeviceController.java

@@ -53,4 +53,18 @@ public class EnvDeviceController {
         return envDeviceService.delete(httpServletRequest,paramsMap);
     }
 
+    @RequestMapping("/listPigpen")
+    public Result listPigpen(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return envDeviceService.listPigpen(httpServletRequest,paramsMap);
+    }
+
+    @RequestMapping("/listEnv")
+    public Result listEnv(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return envDeviceService.listEnv(httpServletRequest,paramsMap);
+    }
+
+    @RequestMapping("/listDeviceCount")
+    public Result listDeviceCount(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return envDeviceService.listDeviceCount(httpServletRequest,paramsMap);
+    }
 }

+ 5 - 0
huimv-admin/src/main/java/com/huimv/admin/controller/ProtDataController.java

@@ -32,4 +32,9 @@ public class ProtDataController {
     public Result list(HttpServletRequest httpServletRequest, @RequestBody Map<String,String> paramsMap) {
         return protDataService.list(httpServletRequest,paramsMap);
     }
+
+    @RequestMapping("/listWarning")
+    public Result listWarning(HttpServletRequest httpServletRequest, @RequestBody Map<String,String> paramsMap) {
+        return protDataService.listProt(httpServletRequest,paramsMap);
+    }
 }

+ 6 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/EnvData.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -60,5 +63,8 @@ public class EnvData implements Serializable {
 
     private String other3;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date createTime;
+
 
 }

+ 6 - 4
huimv-admin/src/main/java/com/huimv/admin/entity/ProtWarningInfo.java

@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalTime;
 import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -58,10 +61,9 @@ public class ProtWarningInfo implements Serializable {
      */
     private Integer deviceId;
 
-    /**
-     * 日期
-     */
-    private LocalTime date;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date date;
 
     /**
      * 人员id

+ 14 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/vo/ProDataVo.java

@@ -0,0 +1,14 @@
+package com.huimv.admin.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+
+public class ProDataVo {
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date time;
+    private Integer count;
+    private Integer weekCount;
+    private Integer monthCount;
+}

+ 1 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IEnergyWarningInfoService.java

@@ -16,5 +16,6 @@ import java.util.Map;
  * @since 2023-02-14
  */
 public interface IEnergyWarningInfoService extends IService<EnergyWarningInfo> {
+
     Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
 }

+ 4 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IEnvDeviceService.java

@@ -27,4 +27,8 @@ public interface IEnvDeviceService extends IService<EnvDevice> {
     Result delete(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
 
     Result listPigpen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result listEnv(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result listDeviceCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
 }

+ 2 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IProtDataService.java

@@ -20,4 +20,6 @@ public interface IProtDataService extends IService<ProtData> {
     Result list(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
 /*
     Result listType(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);*/
+
+    Result listProt(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
 }

+ 23 - 2
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyWarningInfoServiceImpl.java

@@ -1,13 +1,18 @@
 package com.huimv.admin.service.impl;
 
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.entity.EnergyWarningInfo;
 import com.huimv.admin.mapper.EnergyWarningInfoMapper;
 import com.huimv.admin.service.IEnergyWarningInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -21,12 +26,28 @@ import java.util.Map;
 @Service
 public class EnergyWarningInfoServiceImpl extends ServiceImpl<EnergyWarningInfoMapper, EnergyWarningInfo> implements IEnergyWarningInfoService {
 
+    @Autowired
+    private EnergyWarningInfoMapper energyWarningInfoMapper;
+
     @Override
     public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+
         String farmId = paramsMap.get("farmId");
         String pageSize = paramsMap.get("pageSize");
         String pageNo = paramsMap.get("pageNo");
+        String userIds = paramsMap.get("userIds");
+
+        if (pageSize == null || pageSize == "") {
+            pageSize = "10";
+        }
+        if (pageNo == null || pageNo == "") {
+            pageNo = "1";
+        }
 
-        return null;
+        QueryWrapper<EnergyWarningInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).eq("user_ids",userIds);
+        Page<EnergyWarningInfo> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
+        Page<EnergyWarningInfo> energyWarningInfoPage = energyWarningInfoMapper.selectPage(page, queryWrapper);
+        return new Result(ResultCode.SUCCESS, energyWarningInfoPage);
     }
 }

+ 132 - 1
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnvDeviceServiceImpl.java

@@ -1,13 +1,21 @@
 package com.huimv.admin.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.admin.common.utils.DataUill;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.entity.BasePigpen;
+import com.huimv.admin.entity.EnvData;
 import com.huimv.admin.entity.EnvDevice;
 import com.huimv.admin.entity.dto.DeviceDto;
+import com.huimv.admin.mapper.BasePigpenMapper;
+import com.huimv.admin.mapper.EnvDataMapper;
 import com.huimv.admin.mapper.EnvDeviceMaintainMapper;
 import com.huimv.admin.mapper.EnvDeviceMapper;
 import com.huimv.admin.service.IEnvDeviceService;
@@ -17,6 +25,8 @@ import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
 import java.text.NumberFormat;
+import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -35,6 +45,10 @@ public class EnvDeviceServiceImpl extends ServiceImpl<EnvDeviceMapper, EnvDevice
     private EnvDeviceMapper envDeviceMapper;
     @Autowired
     private EnvDeviceMaintainMapper envDeviceMaintainMapper;
+    @Autowired
+    private BasePigpenMapper basePigpenMapper;
+    @Autowired
+    private EnvDataMapper dataMapper;
 
     @Override
     public Result count(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
@@ -155,7 +169,124 @@ public class EnvDeviceServiceImpl extends ServiceImpl<EnvDeviceMapper, EnvDevice
     @Override
     public Result listPigpen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
-        return null;
+        String id = paramsMap.get("id");//楼层id
+
+        QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        queryWrapper.like("other2", id);
+
+        JSONArray jsonArray = new JSONArray();
+        List<BasePigpen> basePigpens = basePigpenMapper.selectList(queryWrapper);//得到栋舍单元
+        for (int i = 0; i < basePigpens.size(); i++) {
+           /* QueryWrapper<EnvDevice> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("unit_name",basePigpens.get(i).getId());
+            EnvDevice envDevice = envDeviceMapper.selectOne(queryWrapper1);//找到栋舍绑定的设备,利用单元id*/
+
+            QueryWrapper<EnvData> queryWrapper2 = new QueryWrapper<>();
+            queryWrapper2.eq("unit_id",basePigpens.get(i).getId());//通过设备id来拿取数据
+            EnvData envData = dataMapper.selectOne(queryWrapper2);
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("temp", envData.getEnvTemp());//温度
+            jsonObject.put("hum", envData.getEnvHum());//湿度
+            jsonObject.put("location", basePigpens.get(i).getBuildName());
+            jsonArray.add(jsonObject);
+        }
+        return new Result(ResultCode.SUCCESS,jsonArray);
+    }
+
+    @Override
+    public Result listEnv(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String id = paramsMap.get("id");//单元id
+        String type = paramsMap.get("type");//查询类型
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+
+        if (type == null || type == "") {
+            type = "1";
+        }
+
+        QueryWrapper<BasePigpen> basePigpenQueryWrapper = new QueryWrapper<>();
+        basePigpenQueryWrapper.eq("farm_id", farmId).eq("id", id);
+        BasePigpen basePigpen = basePigpenMapper.selectOne(basePigpenQueryWrapper);
+
+        QueryWrapper<EnvData> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("unit_id", id).eq("farm_id", farmId);
+
+        Map map = new HashMap<>();
+        //自定义查询
+        if ("4".equals(type)) {
+            startTime = startTime + " 00:00:00";
+            endTime = endTime + " 23:59:59";
+            queryWrapper.between("create_time", startTime, endTime);
+            List<EnvData> envData = dataMapper.selectList(queryWrapper);
+            map.put("location", basePigpen.getBuildName());
+            map.put("data", envData);
+        }
+
+        //本月
+        else if ("3".equals(type)) {
+            Date timesMonthmorning = DataUill.getTimesMonthmorning();
+            queryWrapper.ge("create_time", timesMonthmorning);
+            List<EnvData> envData = dataMapper.selectList(queryWrapper);
+            map.put("location", basePigpen.getBuildName());
+            map.put("data", envData);
+
+        }
+
+        //本周
+        else if ("2".equals(type)) {
+            DateTime dateTime = DateUtil.beginOfWeek(new Date());
+            queryWrapper.ge("create_time",dateTime);
+            List<EnvData> envData = dataMapper.selectList(queryWrapper);
+            map.put("location", basePigpen.getBuildName());
+            map.put("data", envData);
+        }
+
+        //今日
+        else if ("1".equals(type)) {
+            Date timesmorning = DataUill.getTimesmorning();
+            queryWrapper.ge("create_time", timesmorning);
+            List<EnvData> envData = dataMapper.selectList(queryWrapper);
+            map.put("location", basePigpen.getBuildName());
+            map.put("data", envData);
+        }
+        return new Result(ResultCode.SUCCESS,map);
+    }
+
+    @Override
+    public Result listDeviceCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        Integer offCount = 0;
+        Integer onCount = 0;
+        QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).eq("parent_id", 0);
+        List<BasePigpen> basePigpens = basePigpenMapper.selectList(queryWrapper);
+        JSONArray jsonArray = new JSONArray();
+        for (int i = 0; i < basePigpens.size(); i++) {
+            QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.like("other2", basePigpens.get(i).getId());
+            List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(queryWrapper1);
+            for (int j = 0; j < basePigpens1.size(); j++) {
+                QueryWrapper<EnvDevice> deviceQueryWrapper = new QueryWrapper<>();
+                deviceQueryWrapper.eq("build_location",basePigpens1.get(j).getId());
+                EnvDevice envDevice = envDeviceMapper.selectOne(deviceQueryWrapper);
+                if (ObjectUtil.isNotEmpty(envDevice)) {
+                    if (envDevice.getDeviceStatus() == 0) {
+                        offCount++;
+                    } else {
+                        onCount++;
+                    }
+                }
+
+            }
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("location",basePigpens.get(i).getBuildName());
+            jsonObject.put("onDevice", onCount);
+            jsonObject.put("offDevice", offCount);
+            jsonArray.add(jsonObject);
+        }
+        return new Result(ResultCode.SUCCESS,jsonArray);
     }
 
 

+ 49 - 0
huimv-admin/src/main/java/com/huimv/admin/service/impl/ProtDataServiceImpl.java

@@ -2,12 +2,17 @@ package com.huimv.admin.service.impl;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.admin.common.utils.DataUill;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.entity.ProtData;
+import com.huimv.admin.entity.ProtWarningInfo;
+import com.huimv.admin.entity.vo.ProDataVo;
 import com.huimv.admin.mapper.ProtDataMapper;
+import com.huimv.admin.mapper.ProtWarningInfoMapper;
 import com.huimv.admin.service.IProtDataService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +36,8 @@ public class ProtDataServiceImpl extends ServiceImpl<ProtDataMapper, ProtData> i
 
     @Autowired
     private ProtDataMapper protDataMapper;
+    @Autowired
+    private ProtWarningInfoMapper protWarningInfoMapper;
 
     @Override
     public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
@@ -240,6 +247,48 @@ public class ProtDataServiceImpl extends ServiceImpl<ProtDataMapper, ProtData> i
         return new Result(ResultCode.SUCCESS,protDataList);
     }
 
+    @Override
+    public Result listProt(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        ProDataVo proDataVo = new ProDataVo();
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<ProtWarningInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        List<ProtWarningInfo> protWarningInfos = protWarningInfoMapper.selectList(queryWrapper);
+        JSONArray jsonArray = new JSONArray();
+        //今日
+        Date timesmorning = DataUill.getTimesmorning();
+        Integer dayCount = 0;
+        //本周
+        DateTime dateTime = DateUtil.beginOfWeek(new Date());
+        Integer weekCount = 0;
+        //本月
+        Date timesMonthmorning = DataUill.getTimesMonthmorning();
+        Integer monthCount = 0;
+        for (int i = 0; i < protWarningInfos.size(); i++) {
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("content",protWarningInfos.get(i).getWarningContent());
+            jsonObject.put("time",protWarningInfos.get(i).getDate());
+            if (protWarningInfos.get(i).getDate().after(timesmorning)) {
+                dayCount++;
+            }
+            if (protWarningInfos.get(i).getDate().after(dateTime)) {
+                weekCount++;
+            }
+            if (protWarningInfos.get(i).getDate().after(timesMonthmorning)) {
+                monthCount++;
+            }
+            jsonArray.add(jsonObject);
+        }
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("dayCount", dayCount);
+        jsonObject.put("weekCount", weekCount);
+        jsonObject.put("monthCount", monthCount);
+        jsonObject.put("count", protWarningInfos.size());
+        jsonArray.add(jsonObject);
+
+        return new Result(ResultCode.SUCCESS,proDataVo);
+    }
+
     /*@Override
     public Result listType(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");

+ 1 - 0
huimv-admin/src/main/resources/com/huimv/admin/mapper/EnvDataMapper.xml

@@ -14,6 +14,7 @@
         <result column="other1" property="other1" />
         <result column="other2" property="other2" />
         <result column="other3" property="other3" />
+        <result column="create_time" property="createTime"/>
     </resultMap>
 
 </mapper>