Преглед изворни кода

报表获取表格数据适配平均值,最大值,最小值

gt пре 2 година
родитељ
комит
38424f3e54

+ 1 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/RawDataDao.java

@@ -20,5 +20,5 @@ public interface RawDataDao {
 
     List<Map<String, Object>> getPieData(Integer itemGroupId, Integer remainder, Integer dataSourceId, List<Item> itemList);
 
-    List<Map<String, Object>> getTableDataEavg(int itemGroupId, Integer remainder, String itemName, Integer dataSourceId);
+    List<Map<String, Object>> getTableDataEvery(int itemGroupId, Integer remainder, String itemName, Integer dataSourceId,String sqlParameter);
 }

+ 6 - 2
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/RawDataServiceImpl.java

@@ -138,7 +138,11 @@ public class RawDataServiceImpl implements RawDataService {
             List<Map<String, Object>> tableDataList = new ArrayList<>();
             if (tableDataDto.getReportValueFormat() == ConstantStr.EVERY_DAY_ES) {
                 if (itemGroup.getValueCondition() == ConstantStr.AVERAGE_VALUE) {
-                    tableDataList = rawDataDao.getTableDataEavg(itemGroupId, remainder, itemName, itemGroup.getDataSourceId());
+                    tableDataList = rawDataDao.getTableDataEvery(itemGroupId, remainder, itemName, itemGroup.getDataSourceId(), ConstantStr.AVERAGE_VALUE_PAR);
+                } else if (itemGroup.getValueCondition() == ConstantStr.MAX_VALUE) {
+                    tableDataList = rawDataDao.getTableDataEvery(itemGroupId, remainder, itemName, itemGroup.getDataSourceId(), ConstantStr.MAX_VALUE_PAR);
+                } else if (itemGroup.getValueCondition() == ConstantStr.MIN_VALUE) {
+                    tableDataList = rawDataDao.getTableDataEvery(itemGroupId, remainder, itemName, itemGroup.getDataSourceId(), ConstantStr.MIN_VALUE_PAR);
                 } else {
                     throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "目前还未适配此种类型数据组的取值条件");
                 }
@@ -154,7 +158,7 @@ public class RawDataServiceImpl implements RawDataService {
             } else if (dataSourceType.getDataSourceTypeKey().equals(DataSourceTypeEnum.OPC_DA_REAL.getValue()) ||
                     dataSourceType.getDataSourceTypeKey().equals(DataSourceTypeEnum.OPC_HDA_HISTORY.getValue()) ||
                     dataSourceType.getDataSourceTypeKey().equals(DataSourceTypeEnum.OPC_AE_ALARMS.getValue())) {
-
+                item = itemGroupDao.getItemByKepGroupIdName(itemGroupId, itemName);
             } else if (dataSourceType.getDataSourceTypeKey().equals(DataSourceTypeEnum.KEP_SERVER_REAL.getValue())) {
                 item = itemGroupDao.getItemByKepGroupIdName(itemGroupId, itemName);
             } else {

+ 5 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/util/ConstantStr.java

@@ -69,6 +69,11 @@ public class ConstantStr {
     public static final Integer MAX_VALUE = 1;
     public static final Integer MIN_VALUE = 2;
     public static final Integer INSTANTANEOUS_VALUE = 3;
+    //取值条件对应的参数
+    public static final String AVERAGE_VALUE_PAR = "avg";
+    public static final String MAX_VALUE_PAR = "max";
+    public static final String MIN_VALUE_PAR = "min";
+//    public static final String INSTANTANEOUS_VALUE_PAR = "avg";
 
     //报表取值格式
     //每天的08:00到第二天的07:00

+ 3 - 10
chuanyi_server/src/main/resources/mapper/RawDataDao.xml

@@ -61,14 +61,7 @@
         a ORDER BY a.item_name,a.create_time
     </select>
 
-    <select id="getTableDataEavg" resultType="java.util.Map">
-        SELECT data_value
-        FROM t_raw_data${remainder}
-        WHERE item_group_id = #{itemGroupId}
-          AND item_name = #{itemName}
-          AND data_source_id = #{dataSourceId}
-        order by create_time
-        LIMIT 10;
+    <select id="getTableDataEvery" resultType="java.util.Map">
         SELECT
         IF
         (
@@ -135,7 +128,7 @@
         LEFT JOIN ((
         SELECT HOUR
         ( create_time ) AS data_hour,
-        avg( data_value ) AS data_val
+        ${sqlParameter}( data_value ) AS data_val
         FROM
         t_raw_data${remainder}
         WHERE
@@ -150,7 +143,7 @@
         (
         SELECT HOUR
         ( create_time ),
-        avg( data_value )
+        ${sqlParameter}( data_value )
         FROM
         t_raw_data${remainder}
         WHERE