Explorar o código

同比环比优化2

jichaobo %!s(int64=3) %!d(string=hai) anos
pai
achega
17b407aed6

+ 18 - 9
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/HtAnalogDataMapper.java

@@ -63,39 +63,48 @@ public interface HtAnalogDataMapper extends CrudMapper<HtAnalogData> {
 
     List<HtAnalogDataVo> yearOnYearOne(@Param("deviceCode") List deviceCode,
                                        @Param("startTime") String startTime,
-                                       @Param("endTime") String endTime);
+                                       @Param("endTime") String endTime,
+                                       @Param("variableCoding") List variableCoding);
 
     List<HtAnalogDataVo> yearOnYearTwo(@Param("deviceCode") List deviceCode,
                                        @Param("startTime") String startTime,
-                                       @Param("endTime") String endTime);
+                                       @Param("endTime") String endTime,
+                                       @Param("variableCoding") List variableCoding);
 
     List<HtAnalogDataVo> yearOnYearThree(@Param("deviceCode") List deviceCode,
                                          @Param("startTime") String startTime,
-                                         @Param("endTime") String endTime);
+                                         @Param("endTime") String endTime,
+                                         @Param("variableCoding") List variableCoding);
 
     List<HtAnalogDataVo> dayMaxDataList(@Param("deviceCode") List deviceCode,
                                         @Param("startTime") String startTime,
-                                        @Param("endTime") String endTime);
+                                        @Param("endTime") String endTime,
+                                        @Param("variableCoding") List variableCoding);
 
     List<HtAnalogDataVo> dayMinDataList(@Param("deviceCode") List deviceCode,
                                         @Param("startTime") String startTime,
-                                        @Param("endTime") String endTime);
+                                        @Param("endTime") String endTime,
+                                        @Param("variableCoding") List variableCoding);
 
     List<HtAnalogDataVo> daySumDataList(@Param("deviceCode") List deviceCode,
                                         @Param("startTime") String startTime,
-                                        @Param("endTime") String endTime);
+                                        @Param("endTime") String endTime,
+                                        @Param("variableCoding") List variableCoding);
 
     List<HtAnalogDataVo> monthMaxDataList(@Param("deviceCode") List deviceCode,
                                           @Param("startTime") String startTime,
-                                          @Param("endTime") String endTime);
+                                          @Param("endTime") String endTime,
+                                          @Param("variableCoding") List variableCoding);
 
     List<HtAnalogDataVo> monthMinDataList(@Param("deviceCode") List deviceCode,
                                           @Param("startTime") String startTime,
-                                          @Param("endTime") String endTime);
+                                          @Param("endTime") String endTime,
+                                          @Param("variableCoding") List variableCoding);
 
     List<HtAnalogDataVo> monthSumDataList(@Param("deviceCode") List deviceCode,
                                           @Param("startTime") String startTime,
-                                          @Param("endTime") String endTime);
+                                          @Param("endTime") String endTime,
+                                          @Param("variableCoding") List variableCoding);
 
     List<HtAnalogDataVo> energyUseList(@Param("deviceCode") String deviceCode,
                                        @Param("startTime") String startTime,

+ 36 - 0
fiveep-persistence/src/main/resources/mapper/mysql/HtAnalogDataMapper.xml

@@ -200,6 +200,10 @@
             <foreach item="item"  collection="deviceCode" open="(" separator="," close=")">
                 #{item.displayField}
             </foreach>
+            AND c.variable_coding in
+            <foreach item="item"  collection="variableCoding" open="(" separator="," close=")">
+                #{item.variableCoding}
+            </foreach>
             <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
                 and a.dataTime BETWEEN #{startTime} and #{endTime}
             </if>
@@ -287,6 +291,10 @@
             <foreach item="item"  collection="deviceCode" open="(" separator="," close=")">
                 #{item.displayField}
             </foreach>
+            AND c.variable_coding in
+            <foreach item="item"  collection="variableCoding" open="(" separator="," close=")">
+                #{item.variableCoding}
+            </foreach>
             <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
                 and a.dataTime BETWEEN #{startTime} and #{endTime}
             </if>
@@ -375,6 +383,10 @@
             <foreach item="item"  collection="deviceCode" open="(" separator="," close=")">
                 #{item.displayField}
             </foreach>
+            AND c.variable_coding in
+            <foreach item="item"  collection="variableCoding" open="(" separator="," close=")">
+                #{item.variableCoding}
+            </foreach>
             <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
                 and a.dataTime BETWEEN #{startTime} and #{endTime}
             </if>
@@ -462,6 +474,10 @@
             <foreach item="item"  collection="deviceCode" open="(" separator="," close=")">
                 #{item.displayField}
             </foreach>
+            AND c.variable_coding in
+            <foreach item="item"  collection="variableCoding" open="(" separator="," close=")">
+                #{item.variableCoding}
+            </foreach>
             <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
                 and a.dataTime BETWEEN #{startTime} and #{endTime}
             </if>
@@ -549,6 +565,10 @@
             <foreach item="item"  collection="deviceCode" open="(" separator="," close=")">
                 #{item.displayField}
             </foreach>
+            AND c.variable_coding in
+            <foreach item="item"  collection="variableCoding" open="(" separator="," close=")">
+                #{item.variableCoding}
+            </foreach>
             <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
                 and a.dataTime BETWEEN #{startTime} and #{endTime}
             </if>
@@ -636,6 +656,10 @@
             <foreach item="item"  collection="deviceCode" open="(" separator="," close=")">
                 #{item.displayField}
             </foreach>
+            AND c.variable_coding in
+            <foreach item="item"  collection="variableCoding" open="(" separator="," close=")">
+                #{item.variableCoding}
+            </foreach>
             <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
                 and a.dataTime BETWEEN #{startTime} and #{endTime}
             </if>
@@ -723,6 +747,10 @@
             <foreach item="item"  collection="deviceCode" open="(" separator="," close=")">
                 #{item.displayField}
             </foreach>
+            AND c.variable_coding in
+            <foreach item="item"  collection="variableCoding" open="(" separator="," close=")">
+                #{item.variableCoding}
+            </foreach>
             <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
                 and a.dataTime BETWEEN #{startTime} and #{endTime}
             </if>
@@ -810,6 +838,10 @@
             <foreach item="item"  collection="deviceCode" open="(" separator="," close=")">
                 #{item.displayField}
             </foreach>
+            AND c.variable_coding in
+            <foreach item="item"  collection="variableCoding" open="(" separator="," close=")">
+                #{item.variableCoding}
+            </foreach>
             <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
                 and a.dataTime BETWEEN #{startTime} and #{endTime}
             </if>
@@ -1027,6 +1059,10 @@
             <foreach item="item"  collection="deviceCode" open="(" separator="," close=")">
                 #{item.displayField}
             </foreach>
+            AND c.variable_coding in
+            <foreach item="item"  collection="variableCoding" open="(" separator="," close=")">
+                #{item.variableCoding}
+            </foreach>
             <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
                 and a.dataTime BETWEEN #{startTime} and #{endTime}
             </if>

+ 26 - 19
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java

@@ -330,6 +330,7 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         List<String> newListOne = new ArrayList<>();
         List<String> newListTwo = new ArrayList<>();
         List<String> newListThree = new ArrayList<>();
+        List<DeviceAnalogVariableList> variableCodingList = new ArrayList<>();
         newListOne.add("dataTime");
         for (int i = 0; i < dataManagementOneVO.getDisplayField().size(); i++) {
             DataManagementVO dataManagementVO = new DataManagementVO();
@@ -338,6 +339,9 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
             newListOne.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
             newListTwo.add(dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
             newListThree.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]+"_"+dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
+            DeviceAnalogVariableList deviceAnalogVariableList = new DeviceAnalogVariableList();
+            deviceAnalogVariableList.setVariableCoding(dataManagementOneVO.getDisplayField().get(i).split("_")[0]+"_"+dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
+            variableCodingList.add(deviceAnalogVariableList);
         }
         Set set = new  HashSet();
         List<DataManagementVO> newList = new  ArrayList();
@@ -356,26 +360,26 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
 
         if (dataManagementOneVO.getType() == 1) {
             if (dataManagementOneVO.getValueCalculation() == 1) {
-                yearOnYearList = baseMapper.yearOnYearOne(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                yearOnYearList = baseMapper.yearOnYearOne(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 2) {
-                yearOnYearList = baseMapper.dayMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                yearOnYearList = baseMapper.dayMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 3) {
-                yearOnYearList = baseMapper.dayMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                yearOnYearList = baseMapper.dayMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 4) {
-                yearOnYearList = baseMapper.daySumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                yearOnYearList = baseMapper.daySumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             }
         } else if (dataManagementOneVO.getType() == 2) {
             if (dataManagementOneVO.getValueCalculation() == 1) {
-                yearOnYearList = baseMapper.yearOnYearTwo(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                yearOnYearList = baseMapper.yearOnYearTwo(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 2) {
-                yearOnYearList = baseMapper.monthMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                yearOnYearList = baseMapper.monthMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 3) {
-                yearOnYearList = baseMapper.monthMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                yearOnYearList = baseMapper.monthMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 4) {
-                yearOnYearList = baseMapper.monthSumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                yearOnYearList = baseMapper.monthSumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             }
         } else {
-            yearOnYearList = baseMapper.yearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+            yearOnYearList = baseMapper.yearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
         }
         FieldEscapeUtils.remove1(list);
         List<CommonIcoVO> reListOne = new ArrayList<>();
@@ -461,7 +465,7 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         List<String> newListTwo = new ArrayList<>();
         List<String> newListThree = new ArrayList<>();
         newListOne.add("dataTime");
-
+        List<DeviceAnalogVariableList> variableCodingList = new ArrayList<>();
         for (int i = 0; i < dataManagementOneVO.getDisplayField().size(); i++) {
             DataManagementVO dataManagementVO = new DataManagementVO();
             dataManagementVO.setDisplayField(dataManagementOneVO.getDisplayField().get(i).split("_")[0]);
@@ -469,6 +473,9 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
             newListOne.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
             newListTwo.add(dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
             newListThree.add(dataManagementOneVO.getDisplayField().get(i).split("_")[1]+"_"+dataManagementOneVO.getDisplayField().get(i).split("_")[2]);
+            DeviceAnalogVariableList deviceAnalogVariableList = new DeviceAnalogVariableList();
+            deviceAnalogVariableList.setVariableCoding(dataManagementOneVO.getDisplayField().get(i).split("_")[0]+"_"+dataManagementOneVO.getDisplayField().get(i).split("_")[1]);
+            variableCodingList.add(deviceAnalogVariableList);
         }
         Set set = new  HashSet();
         List<DataManagementVO> newList = new  ArrayList();
@@ -493,26 +500,26 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
 //        String lastPeriodStartTime = sfOne.format(new Date(startLong - (interval * 14)));
         if (dataManagementOneVO.getType() == 1) {
             if (dataManagementOneVO.getValueCalculation() == 1) {
-                currentPeriodRingRatioList = baseMapper.yearOnYearOne(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                currentPeriodRingRatioList = baseMapper.yearOnYearOne(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 2) {
-                currentPeriodRingRatioList = baseMapper.dayMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                currentPeriodRingRatioList = baseMapper.dayMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 3) {
-                currentPeriodRingRatioList = baseMapper.dayMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                currentPeriodRingRatioList = baseMapper.dayMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 4) {
-                currentPeriodRingRatioList = baseMapper.daySumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                currentPeriodRingRatioList = baseMapper.daySumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             }
         } else if (dataManagementOneVO.getType() == 2) {
             if (dataManagementOneVO.getValueCalculation() == 1) {
-                currentPeriodRingRatioList = baseMapper.yearOnYearTwo(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                currentPeriodRingRatioList = baseMapper.yearOnYearTwo(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 2) {
-                currentPeriodRingRatioList = baseMapper.monthMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                currentPeriodRingRatioList = baseMapper.monthMaxDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 3) {
-                currentPeriodRingRatioList = baseMapper.monthMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                currentPeriodRingRatioList = baseMapper.monthMinDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             } else if (dataManagementOneVO.getValueCalculation() == 4) {
-                currentPeriodRingRatioList = baseMapper.monthSumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+                currentPeriodRingRatioList = baseMapper.monthSumDataList(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
             }
         } else {
-            currentPeriodRingRatioList = baseMapper.yearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime());
+            currentPeriodRingRatioList = baseMapper.yearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(),variableCodingList);
         }
 
         FieldEscapeUtils.remove1(list);