Parcourir la source

解决能源管理日统计异常问题,列表按日期倒排

wukai il y a 1 mois
Parent
commit
10cbb30243

+ 9 - 5
jjt-admin/src/test/java/com/jjt/data/EnergyTest.java

@@ -72,10 +72,14 @@ public class EnergyTest {
 
     @Test
     void day() {
-        for (int i = 8; i < 17; i++) {
-            String d = "2025-03-" + (i < 10 ? "0" + i : i);
-            LocalDate localDate = LocalDate.parse(d);
-            calcService.calc(localDate);
-        }
+//        for (int i = 8; i < 17; i++) {
+//            String d = "2025-03-" + (i < 10 ? "0" + i : i);
+//            LocalDate localDate = LocalDate.parse(d);
+//            calcService.calc(localDate);
+//        }
+
+        String d = "2025-04-08";
+        LocalDate localDate = LocalDate.parse(d);
+        calcService.calc(localDate);
     }
 }

+ 14 - 2
jjt-biz/src/main/java/com/jjt/ws/service/impl/TwinWorkshopCalcServiceImpl.java

@@ -167,8 +167,20 @@ public class TwinWorkshopCalcServiceImpl implements ITwinWorkshopCalcService {
             TwinWorkshopCalc calc = new TwinWorkshopCalc();
             calc.setWsId(wsId);
             calc.setDataDate(date);
-            calc.setValue(resultMap.get("A").getTotalValue(), resultMap.get("B").getTotalValue());
-            calc.setPrice(resultMap.get("A").getTotalPrice(), resultMap.get("B").getTotalPrice());
+            BigDecimal totalA = BigDecimal.ZERO;
+            BigDecimal totalB = BigDecimal.ZERO;
+            BigDecimal priceA = BigDecimal.ZERO;
+            BigDecimal priceB = BigDecimal.ZERO;
+            if (resultMap.get("A") != null) {
+                totalA = resultMap.get("A").getTotalValue();
+                priceA = resultMap.get("A").getTotalPrice();
+            }
+            if (resultMap.get("B") != null) {
+                totalB = resultMap.get("B").getTotalValue();
+                priceB = resultMap.get("B").getTotalPrice();
+            }
+            calc.setValue(totalA, totalB);
+            calc.setPrice(priceA, priceB);
             calcList.add(calc);
 
         }

+ 1 - 0
jjt-biz/src/main/resources/mapper/ws/TwinWorkshopCalcMapper.xml

@@ -49,6 +49,7 @@
             <if test="bValue != null ">and B_VALUE = #{bValue}</if>
             <if test="params.beginDataDate != null and params.beginDataDate != '' and params.endDataDate != null and params.endDataDate != ''"> and DATA_DATE between #{params.beginDataDate} and #{params.endDataDate}</if>
         </where>
+        order by DATA_DATE desc
     </select>
 
     <select id="selectTwinWorkshopCalcByCalcId" parameterType="Long" resultMap="TwinWorkshopCalcResult">