Newspaper 1 년 전
부모
커밋
bf823d6f9b

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

@@ -262,7 +262,7 @@ public class BaseBuildingServiceImpl extends ServiceImpl<BaseBuildingMapper, Bas
         Map resultMap = new HashMap();
         List<ScreenDuckVo> screenDuckVos = baseBuildingMapper.listScreenDuck(farmId);
         resultMap.put("list",screenDuckVos);
-        Integer count = baseDuckInfoMapper.selectCount(new QueryWrapper<BaseDuckInfo>().eq("farm_id", 21));
+        Integer count = baseDuckInfoMapper.selectCount(new QueryWrapper<BaseDuckInfo>().eq("farm_id", farmId));
         resultMap.put("totalDuck",count);
         return new Result(ResultCode.SUCCESS,resultMap);
     }

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

@@ -2,6 +2,7 @@ package com.huimv.guowei.admin.service.impl;
 
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+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;
@@ -95,7 +96,10 @@ 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);
         //日环比
-        if (lastDayElectricity.toString().equals("0.0")){
+        if (ObjectUtil.isEmpty(lastDayElectricity)){
+            lastDayElectricity = BigDecimal.ZERO;
+        }
+        if (lastDayElectricity.equals(BigDecimal.ZERO)){
             dayGap = BigDecimal.valueOf(100);
         }else {
             dayGap = dayElectricity.subtract(lastDayElectricity).divide(lastDayElectricity).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
@@ -112,15 +116,18 @@ 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);
         //月环比
-        if (lastMonthElectricity.toString().equals("0.0")){
+        if (lastMonthElectricity.equals(BigDecimal.ZERO)){
             monthGap = BigDecimal.valueOf(100);
         }else {
             monthGap = monthElectricity.subtract(lastMonthElectricity).divide(lastMonthElectricity).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
         }
-
+        int dayTrend =dayElectricity.compareTo(lastDayElectricity);
+        int monthTrend =monthElectricity.compareTo(lastMonthElectricity);
         resultMap.put("dayElectricity",dayElectricity);
+        resultMap.put("dayTrend",dayTrend);
         resultMap.put("dayElectricityGap",dayGap+"%");
         resultMap.put("monthElectricity",monthElectricity);
+        resultMap.put("monthTrend",monthTrend);
         resultMap.put("monthElectricityGap",monthGap+"%");
         return new Result(ResultCode.SUCCESS,resultMap);
     }

+ 6 - 2
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnergyWaterServiceImpl.java

@@ -160,10 +160,13 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
         }else {
             monthGap = monthWater.subtract(lastMonthWater).divide(lastMonthWater).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
         }
-
+        int dayTrend =dayWater.compareTo(lastDayWater);
+        int monthTrend =monthWater.compareTo(lastMonthWater);
         resultMap.put("dayWater",dayWater);
+        resultMap.put("dayTrend",dayTrend);
         resultMap.put("dayWaterGap",dayGap+"%");
         resultMap.put("monthWater",monthWater);
+        resultMap.put("monthTrend",monthTrend);
         resultMap.put("monthWaterGap",monthGap+"%");
         return new Result(ResultCode.SUCCESS,resultMap);
     }
@@ -172,8 +175,9 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
     public Result listScreenWaterLine(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
         String type = paramsMap.get("type");
+        String unitId = paramsMap.get("unitId");
         List<WaterLineVo> waterLineList = new ArrayList<>();
-        List<EnvDeviceChip> deviceChipList = envDeviceChipMapper.selectList(new QueryWrapper<EnvDeviceChip>().eq("chip_type", 3));
+        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);
         }

+ 6 - 3
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnvRegularCallFeedingServiceImpl.java

@@ -146,7 +146,7 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
         queryWrapper2.eq("d.unit_id",unitId).eq("f.farm_id",farmId).eq("f.event_type",0).between("f.call_date",startOfDay,endOfDay);
         BigDecimal lastDayFeed = feedingMapper.getFeed(queryWrapper2);
         //日环比
-        if (lastDayFeed.toString().equals("0.0")){
+        if (lastDayFeed.toString().equals("0.00")){
             dayGap = BigDecimal.valueOf(100);
         }else {
             dayGap = dayFeed.subtract(lastDayFeed).divide(lastDayFeed).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
@@ -162,15 +162,18 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
         queryWrapper4.eq("d.unit_id",unitId).eq("f.farm_id",farmId).eq("f.event_type",0).between("f.call_date",lastMonthStartMorning,lastMonthEndNight);
         BigDecimal lastMonthFeed = feedingMapper.getFeed(queryWrapper4);
         //月环比
-        if (lastMonthFeed.toString().equals("0.0")){
+        if (lastMonthFeed.toString().equals("0.00")){
             monthGap = BigDecimal.valueOf(100);
         }else {
             monthGap = monthFeed.subtract(lastMonthFeed).divide(lastMonthFeed).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
         }
-
+        int dayTrend =dayFeed.compareTo(lastDayFeed);
+        int monthTrend =monthFeed.compareTo(lastMonthFeed);
         resultMap.put("dayFeed",dayFeed);
+        resultMap.put("dayTrend",dayTrend);
         resultMap.put("dayFeedGap",dayGap+"%");
         resultMap.put("monthFeed",monthFeed);
+        resultMap.put("monthTrend",monthTrend);
         resultMap.put("monthFeedGap",monthGap+"%");
 
         return new Result(ResultCode.SUCCESS,resultMap);

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

@@ -17,65 +17,65 @@
     </resultMap>
 
     <select id="listDayDetail" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
-        SELECT ROUND(electricity_value,2) 'electricityValue', create_date FROM `energy_electricity`
+        SELECT COALESCE(ROUND(electricity_value,2),0) 'electricityValue', create_date FROM `energy_electricity`
         WHERE farm_id = #{farmId}
         AND TO_DAYS(create_date) = TO_DAYS(NOW()) ORDER BY create_date ASC
     </select>
 
     <select id="listWeekDetail" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
-        SELECT ROUND(SUM(electricity_value),2) 'electricityValue', create_date FROM `energy_electricity`
+        SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
         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.EnergyElectricity">
-        SELECT ROUND(SUM(electricity_value),2) 'electricityValue', create_date FROM `energy_electricity`
+        SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
         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")
     </select>
 
     <select id="listCustomDetail" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
-        SELECT ROUND(SUM(electricity_value),2) 'electricityValue', create_date FROM `energy_electricity`
+        SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
         WHERE farm_id = #{farmId}
         AND create_date BETWEEN '${startDate}' AND '${endDate}'
         GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
     </select>
 
     <select id="getDayElectricity" resultType="java.math.BigDecimal">
-        SELECT ROUND(SUM(electricity_value),2) 'electricityValue' FROM `energy_electricity`
+        SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
         WHERE farm_id = #{farmId}
         AND TO_DAYS(create_date) = TO_DAYS(NOW())
     </select>
 
     <select id="getMonthElectricity" resultType="java.math.BigDecimal">
-        SELECT ROUND(SUM(electricity_value),2) 'electricityValue' FROM `energy_electricity`
+        SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
         WHERE farm_id = #{farmId}
         AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
     </select>
 
     <select id="getElectricity" resultType="java.math.BigDecimal">
-        SELECT ROUND(SUM(electricity_value),2) 'electricityValue' FROM `energy_electricity`
+        SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
         ${ew.customSqlSegment}
     </select>
 
     <select id="listSixMonthElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
-        SELECT ROUND(SUM(electricity_value),2) 'electricityValue', create_date FROM `energy_electricity`
+        SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
         WHERE farm_id = #{farmId} and unit_id = #{unitId}
         AND create_date &gt;= DATE_SUB(NOW(), INTERVAL 6 MONTH)
         GROUP BY DATE_FORMAT(create_date,"%Y-%m")
     </select>
 
     <select id="listSevenDayElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
-        SELECT ROUND(SUM(electricity_value),2) 'electricityValue', create_date FROM `energy_electricity`
+        SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
         WHERE farm_id = #{farmId} and unit_id = #{unitId}
         AND create_date &gt;= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
         GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
     </select>
 
     <select id="getLastFlowByUnitId" resultType="java.math.BigDecimal">
-        SELECT ROUND(electricity_value,2) 'electricityValue' FROM `energy_electricity`
+        SELECT COALESCE(ROUND(electricity_value,2),0) 'electricityValue' FROM `energy_electricity`
         WHERE id = ( SELECT MAX(id) FROM `energy_electricity` WHERE unit_id = #{unitId}) AND farm_id = #{farmId}
     </select>
 

+ 3 - 3
huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/EnvRegularCallFeedingMapper.xml

@@ -31,14 +31,14 @@
     </select>
 
     <select id="getFeed" resultType="java.math.BigDecimal">
-        SELECT ROUND(SUM(f.duck_weight),2) 'duckWeight' FROM `env_regular_call_feeding` f
+        SELECT COALESCE(ROUND(SUM(f.duck_weight),2),0) 'duckWeight' FROM `env_regular_call_feeding` f
         LEFT JOIN `base_duck_info` d ON f.duck_id = d.id
         And f.event_type = 0
         ${ew.customSqlSegment}
     </select>
 
     <select id="listSixMonthFeed" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
-        SELECT ROUND(SUM(f.duck_weight),2) 'duckWeight', f.call_date FROM `env_regular_call_feeding` f
+        SELECT COALESCE(ROUND(SUM(f.duck_weight),2),0) 'duckWeight', f.call_date FROM `env_regular_call_feeding` f
         LEFT JOIN `base_duck_info` d ON f.duck_id = d.id
         WHERE f.farm_id = #{farmId} and d.unit_id = #{unitId}
         AND f.call_date &gt;= DATE_SUB(NOW(), INTERVAL 6 MONTH)
@@ -47,7 +47,7 @@
     </select>
 
     <select id="listSevenDayFeed" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
-        SELECT ROUND(SUM(f.duck_weight),2) 'duckWeight', f.call_date FROM `env_regular_call_feeding` f
+        SELECT COALESCE(ROUND(SUM(f.duck_weight),2),0) 'duckWeight', f.call_date FROM `env_regular_call_feeding` f
         LEFT JOIN `base_duck_info` d ON f.duck_id = d.id
         WHERE f.farm_id = #{farmId} and d.unit_id = #{unitId}
         AND f.call_date &gt;= DATE_SUB(CURDATE(), INTERVAL 6 DAY)