Newspaper hace 1 año
padre
commit
93ac25cff7

+ 6 - 7
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/EnergyElectricityServiceImpl.java

@@ -96,13 +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 (ObjectUtil.isEmpty(lastDayElectricity)){
-            lastDayElectricity = BigDecimal.ZERO;
-        }
-        if (lastDayElectricity.equals(BigDecimal.ZERO)){
+        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);
+            dayGap = dayElectricity.subtract(lastDayElectricity).divide(lastDayElectricity,BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
         }
 
         //本月
@@ -116,10 +113,12 @@ 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.equals(BigDecimal.ZERO)){
+        System.out.println(monthElectricity);
+        System.out.println(lastMonthElectricity);
+        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);
+            monthGap = monthElectricity.subtract(lastMonthElectricity).divide(lastMonthElectricity,BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
         }
         int dayTrend =dayElectricity.compareTo(lastDayElectricity);
         int monthTrend =monthElectricity.compareTo(lastMonthElectricity);

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

@@ -158,7 +158,7 @@ public class EnergyWaterServiceImpl extends ServiceImpl<EnergyWaterMapper, Energ
         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);
+            monthGap = monthWater.subtract(lastMonthWater).divide(lastMonthWater,BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
         }
         int dayTrend =dayWater.compareTo(lastDayWater);
         int monthTrend =monthWater.compareTo(lastMonthWater);

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

@@ -149,7 +149,7 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
         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);
+            dayGap = dayFeed.subtract(lastDayFeed).divide(lastDayFeed,BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
         }
         //本月
         QueryWrapper<EnvRegularCallFeeding> queryWrapper3 = new QueryWrapper<>();
@@ -165,7 +165,7 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
         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);
+            monthGap = monthFeed.subtract(lastMonthFeed).divide(lastMonthFeed,BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.UP);
         }
         int dayTrend =dayFeed.compareTo(lastDayFeed);
         int monthTrend =monthFeed.compareTo(lastMonthFeed);

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

@@ -61,14 +61,14 @@
     </select>
 
     <select id="listSixMonthElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
-        SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
+        SELECT IFNUll(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 COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
+        SELECT IFNUll(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")

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

@@ -38,7 +38,7 @@
     </select>
 
     <select id="listSixMonthFeed" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
-        SELECT COALESCE(ROUND(SUM(f.duck_weight),2),0) 'duckWeight', f.call_date FROM `env_regular_call_feeding` f
+        SELECT IFNUll(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,8 +47,9 @@
     </select>
 
     <select id="listSevenDayFeed" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
-        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
+        SELECT IFNULL(ROUND(SUM(f.duck_weight), 2), 0) AS 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)
         And f.event_type = 0
@@ -56,7 +57,7 @@
     </select>
 
     <select id="listScreen" resultType="com.huimv.guowei.admin.entity.vo.EnvRegularCallFeedingVo">
-        SELECT (IFNUll(sum(duck_weight),'0')) 'duckWeight',duck_num 'duckNum',call_date 'callDate',Round(avg(duck_weight),2) avgWeight  FROM `env_regular_call_feeding`
+        SELECT (IFNUll(sum(duck_weight)),'0') 'duckWeight',duck_num 'duckNum',call_date 'callDate',Round(avg(duck_weight),2) avgWeight  FROM `env_regular_call_feeding`
          ${ew.customSqlSegment}
         GROUP BY DATE_FORMAT(call_date,'%Y-%m-%d')
         And event_type = 0