Ver código fonte

大屏水线

Newspaper 1 ano atrás
pai
commit
33fb11d41d
19 arquivos alterados com 226 adições e 31 exclusões
  1. 5 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/EnergyElectricityController.java
  2. 5 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/EnergyWaterController.java
  3. 4 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/EnergyWaterPressureController.java
  4. 1 1
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/ScreenDuckVo.java
  5. 5 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/WaterLinePressureVo.java
  6. 6 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/EnergyElectricityMapper.java
  7. 6 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/EnergyWaterMapper.java
  8. 4 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/EnergyWaterPressureMapper.java
  9. 2 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/IEnergyElectricityService.java
  10. 2 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/IEnergyWaterPressureService.java
  11. 2 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/IEnergyWaterService.java
  12. 4 4
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseBuildingServiceImpl.java
  13. 28 3
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnergyElectricityServiceImpl.java
  14. 35 3
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnergyWaterPressureServiceImpl.java
  15. 39 10
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnergyWaterServiceImpl.java
  16. 11 4
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnvRegularCallFeedingServiceImpl.java
  17. 20 0
      huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/EnergyElectricityMapper.xml
  18. 27 6
      huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/EnergyWaterMapper.xml
  19. 20 0
      huimv-admin/src/main/resources/mapper/EnergyWaterPressureMapper.xml

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

@@ -33,6 +33,11 @@ public class EnergyElectricityController {
         return energyElectricityService.listElectricity(paramsMap);
     }
 
+    @PostMapping("/listUnitElectricity")
+    public Result listUnitElectricity(@RequestBody Map<String ,String> paramsMap){
+        return energyElectricityService.listUnitElectricity(paramsMap);
+    }
+
     @PostMapping("/getScreenElectricity")
     public Result getScreenElectricity(@RequestBody Map<String ,String> paramsMap){
         return energyElectricityService.getScreenElectricity(paramsMap);

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

@@ -48,4 +48,9 @@ public class EnergyWaterController {
         return energyWaterService.listScreenWaterLine(paramsMap);
     }
 
+    @PostMapping("/listScreenUnitWater")
+    public Result listScreenUnitWater(@RequestBody Map<String ,String> paramsMap){
+        return energyWaterService.listScreenUnitWater(paramsMap);
+    }
+
 }

+ 4 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/EnergyWaterPressureController.java

@@ -28,5 +28,9 @@ public class EnergyWaterPressureController {
         return energyWaterPressureService.getWaterPressure(paramsMap);
     }
 
+    @PostMapping("/listWaterPressure")
+    public Result listWaterPressure(@RequestBody Map<String, String> paramsMap){
+        return energyWaterPressureService.listWaterPressure(paramsMap);
+    }
 
 }

+ 1 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/ScreenDuckVo.java

@@ -7,6 +7,6 @@ public class ScreenDuckVo {
     private String duckNum;
     private Integer eggNum;
     private String nowWeight;
-    private String feddWeight;
+    private String feedWeight;
     private String unitName;
 }

+ 5 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/WaterLinePressureVo.java

@@ -1,9 +1,14 @@
 package com.huimv.guowei.admin.entity.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
+import java.util.Date;
+
 @Data
 public class WaterLinePressureVo {
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date createDate;
     private String value1;
     private String value2;
     private String value3;

+ 6 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/EnergyElectricityMapper.java

@@ -38,4 +38,10 @@ public interface EnergyElectricityMapper extends BaseMapper<EnergyElectricity> {
     List<EnergyElectricity> listSevenDayElectricity(String farmId,String unitId);
 
     BigDecimal getLastFlowByUnitId(String farmId, String unitId);
+
+    BigDecimal getDayUnitElectricity(String farmId, String unitId);
+
+    List<EnergyElectricity> listUnitDayElectricity(String farmId, String unitId);
+
+    List<EnergyElectricity> listUnitMonthElectricity(String farmId, String unitId);
 }

+ 6 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/EnergyWaterMapper.java

@@ -48,4 +48,10 @@ public interface EnergyWaterMapper extends BaseMapper<EnergyWater> {
     List<WaterLineVo> listSevenDayWaterLine(String farmId, List<String> chipCodeList, String chipCodes);
 
     BigDecimal getLastFlowByUnitId(String farmId, String unitId);
+
+    BigDecimal getUnitDayWater(String farmId, String unitId);
+
+    List<EnergyWater> listUnitDayDetail(String farmId);
+
+    List<EnergyWater> listUnitMonthDetail(String farmId);
 }

+ 4 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/EnergyWaterPressureMapper.java

@@ -18,4 +18,8 @@ import java.util.List;
 public interface EnergyWaterPressureMapper extends BaseMapper<EnergyWaterPressure> {
 
     WaterLinePressureVo getWaterPressure(String farmId, List<String> chipCodeList, String chipCodes);
+
+    List<WaterLinePressureVo> listDayWaterPressure(String farmId, List<String> chipCodeList, String chipCodes);
+
+    List<WaterLinePressureVo> listMonthWaterPressure(String farmId, List<String> chipCodeList, String chipCodes);
 }

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

@@ -23,4 +23,6 @@ public interface IEnergyElectricityService extends IService<EnergyElectricity> {
     Result getScreenElectricity(Map<String, String> paramsMap);
 
     Result listScreenElectricity(Map<String, String> paramsMap);
+
+    Result listUnitElectricity(Map<String, String> paramsMap);
 }

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

@@ -17,4 +17,6 @@ import java.util.Map;
 public interface IEnergyWaterPressureService extends IService<EnergyWaterPressure> {
 
     Result getWaterPressure(Map<String, String> paramsMap);
+
+    Result listWaterPressure(Map<String, String> paramsMap);
 }

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

@@ -25,4 +25,6 @@ public interface IEnergyWaterService extends IService<EnergyWater> {
     Result getScreenWaterLine(Map<String, String> paramsMap);
 
     Result listScreenWaterLine(Map<String, String> paramsMap);
+
+    Result listScreenUnitWater(Map<String, String> paramsMap);
 }

+ 4 - 4
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseBuildingServiceImpl.java

@@ -197,14 +197,14 @@ public class BaseBuildingServiceImpl extends ServiceImpl<BaseBuildingMapper, Bas
             resultMap.put("envTemp",envDataVo.getEnvTemp());
             resultMap.put("envHum",envDataVo.getEnvHum());
         }
-        resultMap.put("energyWater",energyWaterMapper.getLastFlowByUnitId(farmId, unitId));
-        resultMap.put("energyElectricity",energyElectricityMapper.getLastFlowByUnitId(farmId, unitId));
+        resultMap.put("energyWater", energyWaterMapper.getUnitDayWater(farmId, unitId));
+        resultMap.put("energyElectricity",energyElectricityMapper.getDayUnitElectricity(farmId, unitId));
         List<EnvDeviceEquipment> fanList = envDeviceEquipmentMapper.selectList(new QueryWrapper<EnvDeviceEquipment>().eq("unit_id",unitId).eq("equipment_type", 1));
         resultMap.put("fanList",fanList);
         List<EnvDeviceEquipment> tpList = envDeviceEquipmentMapper.selectList(new QueryWrapper<EnvDeviceEquipment>().eq("unit_id",unitId).eq("equipment_type", 2));
-        resultMap.put("fanList",tpList);
+        resultMap.put("tpList",tpList);
         List<EnvDeviceEquipment> sprayList = envDeviceEquipmentMapper.selectList(new QueryWrapper<EnvDeviceEquipment>().eq("unit_id",unitId).eq("equipment_type", 3));
-        resultMap.put("fanList",sprayList);
+        resultMap.put("sprayList",sprayList);
         return new Result(ResultCode.SUCCESS,resultMap);
     }
 

+ 28 - 3
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnergyElectricityServiceImpl.java

@@ -81,7 +81,7 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
         String farmId = paramsMap.get("farmId");
         Date timesmorning = DataUill.getTimesmorning();
         Date timesMonthmorning = DataUill.getTimesMonthmorning();
-
+        BigDecimal dayGap,monthGap;
         Map resultMap = new HashMap();
         //今日
         QueryWrapper<EnergyElectricity> queryWrapper1 = new QueryWrapper<>();
@@ -95,7 +95,11 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
         queryWrapper2.eq("unit_id",unitId).eq("farm_id",farmId).between("create_date",startOfDay,endOfDay);
         BigDecimal lastDayElectricity = energyElectricityMapper.getElectricity(queryWrapper2);
         //日环比
-        BigDecimal dayGap = dayElectricity.subtract(lastDayElectricity).divide(lastDayElectricity).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
+        if (lastDayElectricity.toString().equals("0.0")){
+            dayGap = BigDecimal.valueOf(100);
+        }else {
+            dayGap = dayElectricity.subtract(lastDayElectricity).divide(lastDayElectricity).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
+        }
 
         //本月
         QueryWrapper<EnergyElectricity> queryWrapper3 = new QueryWrapper<>();
@@ -108,7 +112,11 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
         queryWrapper4.eq("unit_id",unitId).eq("farm_id",farmId).between("create_date",lastMonthStartMorning,lastMonthEndNight);
         BigDecimal lastMonthElectricity = energyElectricityMapper.getElectricity(queryWrapper4);
         //月环比
-        BigDecimal monthGap = monthElectricity.subtract(lastMonthElectricity).divide(lastMonthElectricity).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
+        if (lastMonthElectricity.toString().equals("0.0")){
+            monthGap = BigDecimal.valueOf(100);
+        }else {
+            monthGap = monthElectricity.subtract(lastMonthElectricity).divide(lastMonthElectricity).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
+        }
 
         resultMap.put("dayElectricity",dayElectricity);
         resultMap.put("dayElectricityGap",dayGap+"%");
@@ -133,4 +141,21 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
         }
         return new Result(ResultCode.SUCCESS,energyElectricityList);
     }
+
+    @Override
+    public Result listUnitElectricity(Map<String, String> paramsMap) {
+        String unitId = paramsMap.get("unitId");
+        String farmId = paramsMap.get("farmId");
+        String type = paramsMap.get("type");
+        List<EnergyElectricity> energyElectricityList;
+        //日
+        if ("1".equals(type)){
+            energyElectricityList = energyElectricityMapper.listUnitDayElectricity(farmId, unitId);
+        }
+        //月
+        else {
+            energyElectricityList = energyElectricityMapper.listUnitMonthElectricity(farmId, unitId);
+        }
+        return new Result(ResultCode.SUCCESS,energyElectricityList);
+    }
 }

+ 35 - 3
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnergyWaterPressureServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huimv.guowei.admin.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.common.utils.ResultCode;
@@ -38,16 +39,47 @@ public class EnergyWaterPressureServiceImpl extends ServiceImpl<EnergyWaterPress
     @Override
     public Result getWaterPressure(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
-
-        List<EnvDeviceChip> deviceChipList = envDeviceChipMapper.selectList(new QueryWrapper<EnvDeviceChip>().eq("chip_type", 3));
+        String unitId = paramsMap.get("unitId");
+        List<EnvDeviceChip> deviceChipList = envDeviceChipMapper.selectList(new QueryWrapper<EnvDeviceChip>().eq("unit_id",unitId).eq("chip_type", 3));
         List<String> chipCodeList = new ArrayList<>();
         for (EnvDeviceChip envDeviceChip : deviceChipList) {
             chipCodeList.add(envDeviceChip.getChipCode());
         }
         String chipCodes = String.join(",", chipCodeList);
         WaterLinePressureVo waterLinePressureVo = new WaterLinePressureVo();
+        waterLinePressureVo.setValue1("0");
+        waterLinePressureVo.setValue2("0");
+        waterLinePressureVo.setValue3("0");
+        waterLinePressureVo.setValue4("0");
+        chipCodes = "("+chipCodes+")";
+        if (ObjectUtil.isNotEmpty(deviceChipList)){
+            waterLinePressureVo = energyWaterPressureMapper.getWaterPressure(farmId,chipCodeList,chipCodes);
+        }
+        return new Result(ResultCode.SUCCESS,waterLinePressureVo);
+    }
+
+    @Override
+    public Result listWaterPressure(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String unitId = paramsMap.get("unitId");
+        String type = paramsMap.get("type");
+        List<EnvDeviceChip> deviceChipList = envDeviceChipMapper.selectList(new QueryWrapper<EnvDeviceChip>().eq("unit_id",unitId).eq("chip_type", 3));
+        List<String> chipCodeList = new ArrayList<>();
+        for (EnvDeviceChip envDeviceChip : deviceChipList) {
+            chipCodeList.add(envDeviceChip.getChipCode());
+        }
+        String chipCodes = String.join(",", chipCodeList);
+        List<WaterLinePressureVo> waterLinePressureVo = new ArrayList<>();
         chipCodes = "("+chipCodes+")";
-        waterLinePressureVo = energyWaterPressureMapper.getWaterPressure(farmId,chipCodeList,chipCodes);
+        if (ObjectUtil.isEmpty(deviceChipList)){
+            return new Result(ResultCode.SUCCESS,waterLinePressureVo);
+        }
+        if ("1".equals(type)){
+            waterLinePressureVo = energyWaterPressureMapper.listDayWaterPressure(farmId,chipCodeList,chipCodes);
+        }else {
+            waterLinePressureVo = energyWaterPressureMapper.listMonthWaterPressure(farmId,chipCodeList,chipCodes);
+        }
+
         return new Result(ResultCode.SUCCESS,waterLinePressureVo);
     }
 }

+ 39 - 10
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnergyWaterServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huimv.guowei.admin.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.guowei.admin.common.utils.DataUill;
 import com.huimv.guowei.admin.common.utils.Result;
@@ -81,16 +82,20 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
     public Result listWaterLine(Map<String, String> paramsMap) {
         String type = paramsMap.get("type");
         String farmId = paramsMap.get("farmId");
+        String unitId = paramsMap.get("unitId");
         String startDate = paramsMap.get("startDate");
         String endDate = paramsMap.get("endDate")+" 23:59:59";
-        List<EnvDeviceChip> deviceChipList = envDeviceChipMapper.selectList(new QueryWrapper<EnvDeviceChip>().eq("chip_type", 3));
-
+        List<WaterLineVo> waterLineList = new ArrayList<>();
+        List<EnvDeviceChip> deviceChipList = envDeviceChipMapper.selectList(new QueryWrapper<EnvDeviceChip>().eq("unit_id",unitId).eq("chip_type", 3));
+        if (ObjectUtil.isEmpty(deviceChipList)){
+            return new Result(ResultCode.SUCCESS,waterLineList);
+        }
         List<String> chipCodeList = new ArrayList<>();
         for (EnvDeviceChip envDeviceChip : deviceChipList) {
             chipCodeList.add(envDeviceChip.getChipCode());
         }
         String chipCodes = String.join(",", chipCodeList);
-        List<WaterLineVo> waterLineList = new ArrayList<>();
+
         chipCodes = "("+chipCodes+")";
         if ("1".equals(type)){
             waterLineList = energyWaterMapper.listWaterLineDayDetail(farmId,chipCodeList,chipCodes);
@@ -114,7 +119,7 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
         String farmId = paramsMap.get("farmId");
         Date timesmorning = DataUill.getTimesmorning();
         Date timesMonthmorning = DataUill.getTimesMonthmorning();
-
+        BigDecimal dayGap,monthGap;
         Map resultMap = new HashMap();
         //今日
         QueryWrapper<EnergyWater> queryWrapper1 = new QueryWrapper<>();
@@ -127,9 +132,14 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
         QueryWrapper<EnergyWater> queryWrapper2 = new QueryWrapper<>();
         queryWrapper2.eq("unit_id",unitId).eq("farm_id",farmId).between("create_date",startOfDay,endOfDay);
         BigDecimal lastDayWater = energyWaterMapper.getWater(queryWrapper2);
-        //日环比
-        BigDecimal dayGap = dayWater.subtract(lastDayWater).divide(lastDayWater).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
 
+        System.out.println(lastDayWater);
+        //日环比
+        if (lastDayWater.toString().equals("0.0")){
+            dayGap = BigDecimal.valueOf(100);
+        }else {
+            dayGap = dayWater.subtract(lastDayWater).divide(lastDayWater).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
+        }
         //本月
         QueryWrapper<EnergyWater> queryWrapper3 = new QueryWrapper<>();
         queryWrapper3.eq("unit_id",unitId).eq("farm_id",farmId).ge("create_date",timesMonthmorning);
@@ -141,7 +151,11 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
         queryWrapper4.eq("unit_id",unitId).eq("farm_id",farmId).between("create_date",lastMonthStartMorning,lastMonthEndNight);
         BigDecimal lastMonthWater = energyWaterMapper.getWater(queryWrapper4);
         //月环比
-        BigDecimal monthGap = monthWater.subtract(lastMonthWater).divide(lastMonthWater).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
+        if (lastMonthWater.toString().equals("0.0")){
+            monthGap = BigDecimal.valueOf(100);
+        }else {
+            monthGap = monthWater.subtract(lastMonthWater).divide(lastMonthWater).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
+        }
 
         resultMap.put("dayWater",dayWater);
         resultMap.put("dayWaterGap",dayGap+"%");
@@ -154,15 +168,17 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
     public Result listScreenWaterLine(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
         String type = paramsMap.get("type");
-
+        List<WaterLineVo> waterLineList = new ArrayList<>();
         List<EnvDeviceChip> deviceChipList = envDeviceChipMapper.selectList(new QueryWrapper<EnvDeviceChip>().eq("chip_type", 3));
-
+        if (ObjectUtil.isEmpty(deviceChipList)){
+            return new Result(ResultCode.SUCCESS,waterLineList);
+        }
         List<String> chipCodeList = new ArrayList<>();
         for (EnvDeviceChip envDeviceChip : deviceChipList) {
             chipCodeList.add(envDeviceChip.getChipCode());
         }
         String chipCodes = String.join(",", chipCodeList);
-        List<WaterLineVo> waterLineList;
+
         chipCodes = "("+chipCodes+")";
         //六个月
         if ("1".equals(type)){
@@ -174,4 +190,17 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
         }
         return new Result(ResultCode.SUCCESS,waterLineList);
     }
+
+    @Override
+    public Result listScreenUnitWater(Map<String, String> paramsMap) {
+        String type = paramsMap.get("type");
+        String farmId = paramsMap.get("farmId");
+        List<EnergyWater> energyWaterList = new ArrayList<>();
+        if ("1".equals(type)){
+            energyWaterList = energyWaterMapper.listUnitDayDetail(farmId);
+        }else {
+            energyWaterList = energyWaterMapper.listUnitMonthDetail(farmId);
+        }
+        return new Result(ResultCode.SUCCESS,energyWaterList);
+    }
 }

+ 11 - 4
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnvRegularCallFeedingServiceImpl.java

@@ -127,7 +127,7 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
         String farmId = paramsMap.get("farmId");
         Date timesmorning = DataUill.getTimesmorning();
         Date timesMonthmorning = DataUill.getTimesMonthmorning();
-
+        BigDecimal dayGap,monthGap;
         Map resultMap = new HashMap();
         //今日
         QueryWrapper<EnvRegularCallFeeding> queryWrapper1 = new QueryWrapper<>();
@@ -141,8 +141,11 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
         queryWrapper2.eq("d.unit_id",unitId).eq("f.farm_id",farmId).between("f.call_date",startOfDay,endOfDay);
         BigDecimal lastDayFeed = feedingMapper.getFeed(queryWrapper2);
         //日环比
-        BigDecimal dayGap = dayFeed.subtract(lastDayFeed).divide(lastDayFeed).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
-
+        if (lastDayFeed.toString().equals("0.0")){
+            dayGap = BigDecimal.valueOf(100);
+        }else {
+            dayGap = dayFeed.subtract(lastDayFeed).divide(lastDayFeed).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
+        }
         //本月
         QueryWrapper<EnvRegularCallFeeding> queryWrapper3 = new QueryWrapper<>();
         queryWrapper3.eq("d.unit_id",unitId).eq("f.farm_id",farmId).ge("f.call_date",timesMonthmorning);
@@ -154,7 +157,11 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
         queryWrapper4.eq("d.unit_id",unitId).eq("f.farm_id",farmId).between("f.call_date",lastMonthStartMorning,lastMonthEndNight);
         BigDecimal lastMonthFeed = feedingMapper.getFeed(queryWrapper4);
         //月环比
-        BigDecimal monthGap = monthFeed.subtract(lastMonthFeed).divide(lastMonthFeed).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
+        if (lastMonthFeed.toString().equals("0.0")){
+            monthGap = BigDecimal.valueOf(100);
+        }else {
+            monthGap = monthFeed.subtract(lastMonthFeed).divide(lastMonthFeed).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
+        }
 
         resultMap.put("dayFeed",dayFeed);
         resultMap.put("dayFeedGap",dayGap+"%");

+ 20 - 0
huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/EnergyElectricityMapper.xml

@@ -78,4 +78,24 @@
         SELECT ROUND(electricity_value,2) 'electricityValue' FROM `energy_electricity`
         WHERE id = ( SELECT MAX(id) FROM `energy_electricity` WHERE unit_id = #{unitId}) AND farm_id = #{farmId}
     </select>
+
+    <select id="getDayUnitElectricity" resultType="java.math.BigDecimal">
+        SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
+        WHERE farm_id = #{farmId} and unit_id = #{unitId}
+        AND TO_DAYS(create_date) = TO_DAYS(NOW())
+    </select>
+
+    <select id="listUnitDayElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
+        SELECT ROUND(electricity_value,2) 'electricityValue', create_date FROM `energy_electricity`
+        WHERE farm_id = #{farmId} and unit_id = #{unitId}
+        AND TO_DAYS(create_date) = TO_DAYS(NOW())
+    </select>
+
+
+    <select id="listUnitMonthElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
+        SELECT ROUND(SUM(electricity_value),2) 'electricityValue', create_date FROM `energy_electricity`
+        WHERE farm_id = #{farmId} and unit_id = #{unitId}
+        AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
+        GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
+    </select>
 </mapper>

+ 27 - 6
huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/EnergyWaterMapper.xml

@@ -17,7 +17,7 @@
     </resultMap>
 
     <select id="listDayDetail" resultType="com.huimv.guowei.admin.entity.EnergyWater">
-        SELECT ROUND(SUM(water_value),2) 'waterValue', create_date FROM `energy_water`
+        SELECT COALESCE(ROUND(SUM(water_value),2),0) 'waterValue', create_date FROM `energy_water`
         WHERE farm_id = #{farmId}
         AND TO_DAYS(create_date) = TO_DAYS(NOW())
         group by create_date
@@ -25,14 +25,14 @@
     </select>
 
     <select id="listWeekDetail" resultType="com.huimv.guowei.admin.entity.EnergyWater">
-        SELECT ROUND(SUM(water_value),2) 'waterValue', create_date FROM `energy_water`
+        SELECT COALESCE(ROUND(SUM(water_value),2),0) 'waterValue', create_date FROM `energy_water`
         WHERE farm_id = #{farmId}
         AND create_date BETWEEN (SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) DAY)) AND NOW()
         GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
     </select>
 
     <select id="listMonthDetail" resultType="com.huimv.guowei.admin.entity.EnergyWater">
-        SELECT ROUND(SUM(water_value),2) 'waterValue', create_date FROM `energy_water`
+        SELECT COALESCE(ROUND(SUM(water_value),2),0) 'waterValue', create_date FROM `energy_water`
         WHERE farm_id = #{farmId}
         AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
         GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
@@ -46,19 +46,19 @@
     </select>
 
     <select id="getDayWater" resultType="java.math.BigDecimal">
-        SELECT ROUND(SUM(water_value),2) 'waterValue' FROM `energy_water`
+        SELECT COALESCE(ROUND(SUM(water_value),2),0) 'waterValue' FROM `energy_water`
         WHERE farm_id = #{farmId}
         AND TO_DAYS(create_date) = TO_DAYS(NOW())
     </select>
 
     <select id="getMonthWater" resultType="java.math.BigDecimal">
-        SELECT ROUND(SUM(water_value),2) 'waterValue' FROM `energy_water`
+        SELECT COALESCE(ROUND(SUM(water_value),2),0) 'waterValue' FROM `energy_water`
         WHERE farm_id = #{farmId}
         AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
     </select>
 
     <select id="getWater" resultType="java.math.BigDecimal">
-        SELECT ROUND(SUM(water_value),2) 'waterValue' FROM `energy_water`
+        SELECT COALESCE(ROUND(SUM(water_value),2),0) 'waterValue' FROM `energy_water`
         ${ew.customSqlSegment}
     </select>
 
@@ -129,4 +129,25 @@
         AND create_date = ( SELECT MAX(create_date) FROM `env_data` WHERE unit_id = #{unitId})
     </select>
 
+    <select id="getUnitDayWater" resultType="java.math.BigDecimal">
+        SELECT COALESCE(ROUND(SUM(water_value),2),0) 'waterValue' FROM `energy_water`
+        WHERE farm_id = #{farmId} and unit_id = #{unitId}
+        AND TO_DAYS(create_date) = TO_DAYS(NOW())
+    </select>
+
+    <select id="listUnitDayDetail" resultType="com.huimv.guowei.admin.entity.EnergyWater">
+        SELECT COALESCE(ROUND(water_value,2),0) 'waterValue', create_date FROM `energy_water`
+        WHERE farm_id = #{farmId} and unit_id = #{unitId}
+        AND TO_DAYS(create_date) = TO_DAYS(NOW())
+        group by create_date
+    </select>
+
+
+    <select id="listUnitMonthDetail" resultType="com.huimv.guowei.admin.entity.EnergyWater">
+        SELECT COALESCE(ROUND(SUM(water_value),2),0) 'waterValue', create_date FROM `energy_water`
+        WHERE farm_id = #{farmId} and unit_id = #{unitId}
+        AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
+        GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
+    </select>
+
 </mapper>

+ 20 - 0
huimv-admin/src/main/resources/mapper/EnergyWaterPressureMapper.xml

@@ -24,4 +24,24 @@
         FROM `energy_water_pressure`
         WHERE chip_code IN ${chipCodes} AND farm_id = #{farmId} AND create_date = ( SELECT MAX(create_date) FROM `energy_water_pressure`)
     </select>
+
+    <select id="listDayWaterPressure" resultType="com.huimv.guowei.admin.entity.vo.WaterLinePressureVo">
+        SELECT create_date,
+        <foreach collection="chipCodeList" item="code" index="index" separator=",">
+            COALESCE(ROUND(MAX(CASE WHEN chip_code = ${code} THEN water_value END),2),0) AS 'value${index+1}'
+        </foreach>
+        FROM `energy_water_pressure`
+        WHERE chip_code IN ${chipCodes} AND farm_id = #{farmId} AND TO_DAYS(create_date) = TO_DAYS(NOW())
+        GROUP BY create_date
+    </select>
+
+    <select id="listMonthWaterPressure" resultType="com.huimv.guowei.admin.entity.vo.WaterLinePressureVo">
+        SELECT create_date,
+        <foreach collection="chipCodeList" item="code" index="index" separator=",">
+            COALESCE(ROUND(MAX(CASE WHEN chip_code = ${code} THEN water_value END),2),0) AS 'value${index+1}'
+        </foreach>
+        FROM `energy_water_pressure`
+        WHERE chip_code IN ${chipCodes} AND farm_id = #{farmId} AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
+        GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
+    </select>
 </mapper>