Browse Source

Merge branch 'master' of http://116.63.33.55/git/read_opc

MS-FUUVYHVOEAYJ\Administrator 1 year ago
parent
commit
32c93e6661
27 changed files with 523 additions and 333 deletions
  1. 1 1
      chaunyi_opc/opc_common/src/main/java/com/example/opc_common/entity/TableTemplate.java
  2. 1 1
      chaunyi_opc/opc_common/src/main/java/com/example/opc_common/entity/TableTemplateTableItem.java
  3. 18 1
      chaunyi_opc/opc_da/src/main/java/com/example/opc_da/controller/ItemGroupController.java
  4. 3 3
      chaunyi_opc/opc_da/src/main/java/com/example/opc_da/dao/ReportTableDao.java
  5. 2 0
      chaunyi_opc/opc_da/src/main/java/com/example/opc_da/service/ItemGroupService.java
  6. 45 5
      chaunyi_opc/opc_da/src/main/java/com/example/opc_da/service/impl/ChartServiceImpl.java
  7. 71 0
      chaunyi_opc/opc_da/src/main/java/com/example/opc_da/service/impl/ItemGroupServiceImpl.java
  8. 14 17
      chaunyi_opc/opc_da/src/main/java/com/example/opc_da/service/impl/ReportTableServiceImpl.java
  9. 12 12
      chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/OpcAsyncTask.java
  10. 4 7
      chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/ReportTableTask.java
  11. 3 6
      chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/ReportTask.java
  12. 33 30
      chaunyi_opc/opc_da/src/main/resources/mapper/ReportTableDao.xml
  13. 1 1
      chaunyi_opc/opc_ua/src/main/java/com/example/opc_ua/dao/ReportTableDao.java
  14. 12 12
      chaunyi_opc/opc_ua/src/main/java/com/example/opc_ua/task/OpcAsyncTask.java
  15. 17 17
      chaunyi_opc/opc_ua/src/main/resources/mapper/ReportTableDao.xml
  16. BIN
      chuanyi-admin/src/assets/images/cqcybg.png
  17. 1 1
      chuanyi-admin/src/views/dashboard/onlineUsers.vue
  18. 89 82
      chuanyi-admin/src/views/login/index.vue
  19. 7 6
      chuanyi-admin/src/views/system/user/index.vue
  20. BIN
      chuanyi_client2/src/assets/images/cqcybg.png
  21. BIN
      chuanyi_client2/src/assets/images/manager_user.png
  22. 37 34
      chuanyi_client2/src/components/HeaderMain/index.vue
  23. 6 1
      chuanyi_client2/src/components/HeaderPersonal/index.vue
  24. 35 8
      chuanyi_client2/src/components/LeftMenu/index.vue
  25. 1 1
      chuanyi_client2/src/views/index.vue
  26. 102 86
      chuanyi_client2/src/views/login.vue
  27. 8 1
      chuanyi_client2/src/views/run_config/index.vue

+ 1 - 1
chaunyi_opc/opc_common/src/main/java/com/example/opc_common/entity/TableTemplate.java

@@ -46,5 +46,5 @@ public class TableTemplate implements Serializable {
      */
      */
     private Date createTime;
     private Date createTime;
 
 
-    List<TableTemplateItem> tableTemplateItemList;
+    List<TableTemplateTableItem> tableTemplateItemList;
 }
 }

+ 1 - 1
chaunyi_opc/opc_common/src/main/java/com/example/opc_common/entity/TableTemplateItem.java → chaunyi_opc/opc_common/src/main/java/com/example/opc_common/entity/TableTemplateTableItem.java

@@ -6,7 +6,7 @@ import java.io.Serializable;
 import java.util.Date;
 import java.util.Date;
 
 
 @Data
 @Data
-public class TableTemplateItem implements Serializable {
+public class TableTemplateTableItem implements Serializable {
 
 
     /**
     /**
      * id
      * id

+ 18 - 1
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/controller/ItemGroupController.java

@@ -171,7 +171,7 @@ public class ItemGroupController {
         return itemGroupService.getTableItemGroupById(id);
         return itemGroupService.getTableItemGroupById(id);
     }
     }
 
 
-    @PostMapping("batchSetExpresses")
+    @PostMapping("/batchSetExpresses")
     @WebLog(ServerEnum = ServerEnum.CLIENT, ModelEnum = ModelEnum.REPORTTABLE, OperationEnum = OperationEnum.SELECT)
     @WebLog(ServerEnum = ServerEnum.CLIENT, ModelEnum = ModelEnum.REPORTTABLE, OperationEnum = OperationEnum.SELECT)
     public Result batchSetExpresses(@RequestBody ItemGroup itemGroup) {
     public Result batchSetExpresses(@RequestBody ItemGroup itemGroup) {
         if (Blank.isEmpty(itemGroup, itemGroup.getItemList())) {
         if (Blank.isEmpty(itemGroup, itemGroup.getItemList())) {
@@ -179,4 +179,21 @@ public class ItemGroupController {
         }
         }
         return itemGroupService.batchSetExpresses(itemGroup);
         return itemGroupService.batchSetExpresses(itemGroup);
     }
     }
+
+    /**
+     * 通过id查询数据项的相关数据
+     *
+     * @param id
+     * @param valueType 0取原始值,1取计算值
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    @GetMapping("/itemDataQuery")
+    public Result itemDataQuery(@PathVariable Integer id, Integer valueType, String startTime, String endTime) {
+        if (Blank.isEmpty(id, valueType, startTime, endTime)) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "数据项、开始、结束时间不能为空");
+        }
+        return itemGroupService.itemDataQuery(id, valueType, startTime, endTime);
+    }
 }
 }

+ 3 - 3
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/dao/ReportTableDao.java

@@ -78,13 +78,13 @@ public interface ReportTableDao {
 
 
     Integer delAutoChLog(Integer autoChTableId);
     Integer delAutoChLog(Integer autoChTableId);
 
 
-    Integer addTableTemplateItem(List<TableTemplateItem> tableTemplateItemList);
+    Integer addTableTemplateItem(List<TableTemplateTableItem> tableTemplateTableItemList);
 
 
     //根据报表模板id,获取报表模板项的基础信息
     //根据报表模板id,获取报表模板项的基础信息
-    List<TableTemplateItem> getTtiByTemplateId(Integer tableTemplateId);
+    List<TableTemplateTableItem> getTtiByTemplateId(Integer tableTemplateId);
 
 
     //根据报表模板id,获取报表模板项的详细信息
     //根据报表模板id,获取报表模板项的详细信息
-    List<TableTemplateItem> getTtiDataByTemplateId(Integer tableTemplateId);
+    List<TableTemplateTableItem> getTtiDataByTemplateId(Integer tableTemplateId);
 
 
     //删除报表模板关联的项
     //删除报表模板关联的项
     Integer delTtiByTtId(Integer tableTemplateId);
     Integer delTtiByTtId(Integer tableTemplateId);

+ 2 - 0
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/service/ItemGroupService.java

@@ -28,4 +28,6 @@ public interface ItemGroupService {
     Result getItemById(Integer id);
     Result getItemById(Integer id);
 
 
     Result batchSetExpresses(ItemGroup itemGroup);
     Result batchSetExpresses(ItemGroup itemGroup);
+
+    Result itemDataQuery(Integer id, Integer valueType, String startTime, String endTime);
 }
 }

+ 45 - 5
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/service/impl/ChartServiceImpl.java

@@ -20,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
@@ -145,13 +146,52 @@ public class ChartServiceImpl implements ChartService {
                     }
                     }
                     if (Blank.isNotEmpty(rawDataList)) {
                     if (Blank.isNotEmpty(rawDataList)) {
                         String dataType = rawDataList.get(0).getDataType();
                         String dataType = rawDataList.get(0).getDataType();
-                        if (dataType.equals("boolean")) {
-//                            map = ReportTask.genBoolean(rawDataList, startTime, endTime, valueTakingMode, bucketType, bucketValue);
-                        } else {
+                        if (!dataType.toLowerCase().equals("boolean")) {
                             try {
                             try {
-//                                map = ReportTask.genBigDecimal(rawDataList, startTime, endTime, valueTakingMode, bucketType, bucketValue);
+                                List<BigDecimal> orgRawList = new ArrayList<>();
+                                List<BigDecimal> rawList = new ArrayList<>();
+                                List<String> rawTimeList = new ArrayList<>();
+                                for (int j = 0; j < rawDataList.size(); j++) {
+                                    RawData rawData = rawDataList.get(i);
+                                    orgRawList.addAll(new ArrayList<>(Arrays.asList(JSON.parseObject(rawData.getOrgDataValue(), BigDecimal[].class))));
+                                    rawList.addAll(new ArrayList<>(Arrays.asList(JSON.parseObject(rawData.getDataValue(), BigDecimal[].class))));
+                                    rawTimeList.addAll(new ArrayList<>(Arrays.asList(JSON.parseObject(rawData.getDataValueTime(), String[].class))));
+                                }
+                                List<BigDecimal> orgValueList = new ArrayList<>();
+                                List<BigDecimal> valueList = new ArrayList<>();
+                                List<String> valueTimeList = new ArrayList<>();
+                                List<Long> valueIndexList = new ArrayList<>();
+                                for (int j = 0; j < timeLength; j++) {
+                                    List<BigDecimal> orgList = new ArrayList<>();
+                                    List<BigDecimal> list = new ArrayList<>();
+                                    if (i != timeLength - 1) {
+                                        endTimeTime = DateUtil.addTimeStamp(startTimeTime, pattern, bucketValue);
+                                    } else {
+                                        endTimeTime = endTime.getTime();
+                                    }
+                                    for (int k = 0; k < rawTimeList.size(); k++) {
+                                        long time = DateUtil.strYmdhmssChangeDate(rawTimeList.get(j)).getTime();
+                                        if (startTimeTime <= time) {
+                                            orgList.add(orgRawList.get(j));
+                                            list.add(rawList.get(j));
+                                        }
+                                        if (time > endTimeTime) {
+                                            break;
+                                        }
+                                    }
+                                    orgValueList.add(ReportTask.genBigDecimalValue(orgList, valueTakingMode));
+                                    valueList.add(ReportTask.genBigDecimalValue(list, valueTakingMode));
+                                    valueTimeList.add(DateUtil.dateChangeStrYmdhmss(new Date(startTimeTime)));
+                                    valueIndexList.add(((long) j));
+                                    startTimeTime = endTimeTime;
+                                    orgList = new ArrayList<>();
+                                    list = new ArrayList<>();
+                                }
+                                chartItem.setValueList(flage ? valueList.toString() : orgValueList.toString());
+                                chartItem.setValueTimeList(valueTimeList.toString());
+                                chartItem.setValueIndexList(valueIndexList.toString());
                             } catch (Exception e) {
                             } catch (Exception e) {
-//                                map = ReportTask.genString(rawDataList, startTime, endTime, bucketType, bucketValue);
+
                             }
                             }
                         }
                         }
                     }
                     }

+ 71 - 0
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/service/impl/ItemGroupServiceImpl.java

@@ -1,5 +1,7 @@
 package com.example.opc_da.service.impl;
 package com.example.opc_da.service.impl;
 
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.example.opc_common.entity.*;
 import com.example.opc_common.entity.*;
 import com.example.opc_common.enums.ResultEnum;
 import com.example.opc_common.enums.ResultEnum;
 import com.example.opc_common.exception.CustomException;
 import com.example.opc_common.exception.CustomException;
@@ -7,10 +9,12 @@ import com.example.opc_common.util.*;
 import com.example.opc_da.dao.DataModelDao;
 import com.example.opc_da.dao.DataModelDao;
 import com.example.opc_da.dao.DataSourceDao;
 import com.example.opc_da.dao.DataSourceDao;
 import com.example.opc_da.dao.ItemGroupDao;
 import com.example.opc_da.dao.ItemGroupDao;
+import com.example.opc_da.dao.RawDataDao;
 import com.example.opc_da.dynamicSchedule.CronTaskRegister;
 import com.example.opc_da.dynamicSchedule.CronTaskRegister;
 import com.example.opc_da.dynamicSchedule.SchedulingRunnable;
 import com.example.opc_da.dynamicSchedule.SchedulingRunnable;
 import com.example.opc_da.service.ItemGroupService;
 import com.example.opc_da.service.ItemGroupService;
 import com.example.opc_da.task.OpcDaTask;
 import com.example.opc_da.task.OpcDaTask;
+import com.example.opc_da.task.ReportTask;
 import com.example.opc_da.util.OpcDaUtil;
 import com.example.opc_da.util.OpcDaUtil;
 import com.example.opc_da.util.RedisUtil;
 import com.example.opc_da.util.RedisUtil;
 import com.example.opc_da.util.UserUtil;
 import com.example.opc_da.util.UserUtil;
@@ -23,6 +27,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.client.RestTemplate;
 
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -54,6 +59,9 @@ public class ItemGroupServiceImpl implements ItemGroupService {
     private DataModelDao dataModelDao;
     private DataModelDao dataModelDao;
 
 
     @Autowired
     @Autowired
+    private RawDataDao rawDataDao;
+
+    @Autowired
     private RestTemplate restTemplate;
     private RestTemplate restTemplate;
 
 
     @Value("${opc_ua_server.address}")
     @Value("${opc_ua_server.address}")
@@ -398,4 +406,67 @@ public class ItemGroupServiceImpl implements ItemGroupService {
         }
         }
         return Result.ok("设置表达式成功");
         return Result.ok("设置表达式成功");
     }
     }
+
+    @Override
+    public Result itemDataQuery(Integer id, Integer valueType, String startTime, String endTime) {
+        Item item = itemGroupDao.getItemById(id);
+        String itemName = item.getItemName();
+        Integer itemType = item.getItemType();
+        Integer itemGroupId = item.getItemGroupId();
+        Integer remainder = itemGroupId % ConstantStr.SUB_TABLE_NUM;
+        ItemGroup itemGroup = itemGroupDao.getItemGroupById(itemGroupId);
+        Integer dataSourceId = itemGroup.getDataSourceId();
+        Boolean flage = valueType.equals(ConstantStr.CALCULATED_VALUE);
+        if (itemType.equals(ConstantStr.BASIC_ATTRIBUTES)) {
+            String startBelongTime = startTime.substring(0, ConstantStr.TIME_HOUR_STR.length());
+            String endBelongTime = endTime.substring(0, ConstantStr.TIME_HOUR_STR.length());
+            List<RawData> rawDataList = rawDataDao.getTableData(itemGroupId, remainder, dataSourceId, itemName, startBelongTime, endBelongTime);
+            List<String> sqlCurrentYmdhList = rawDataDao.getCursorYmdh(itemGroupId, dataSourceId, itemName, startBelongTime, endBelongTime);
+            if (Blank.isNotEmpty(sqlCurrentYmdhList)) {
+                for (String sqlCurrentYmdh : sqlCurrentYmdhList) {
+                    List<CursorRawData> cursorRawDataList = rawDataDao.getTableCursorData(itemGroupId, dataSourceId, itemName, sqlCurrentYmdh);
+                    rawDataList = ReportTask.genRawAddCursor(rawDataList, cursorRawDataList, itemGroupId, dataSourceId, sqlCurrentYmdh);
+                }
+            }
+            if (Blank.isNotEmpty(rawDataList)) {
+                String dataType = rawDataList.get(0).getDataType();
+                if (dataType.toLowerCase().equals("boolean")) {
+                    Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "此数据项数据类型为boolean类型,不支持,请重新选择数据项");
+                } else {
+                    try {
+                        List<BigDecimal> orgRawList = new ArrayList<>();
+                        List<BigDecimal> rawList = new ArrayList<>();
+                        List<String> rawTimeList = new ArrayList<>();
+                        long startTimeTime = DateUtil.strYmdhmsChangeDate(startTime).getTime();
+                        long endTimeTime = DateUtil.strYmdhmsChangeDate(endTime).getTime();
+                        for (int i = 0; i < rawDataList.size(); i++) {
+                            RawData rawData = rawDataList.get(i);
+                            BigDecimal[] orgDataValue = JSON.parseObject(rawData.getOrgDataValue(), BigDecimal[].class);
+                            BigDecimal[] dataValue = JSON.parseObject(rawData.getDataValue(), BigDecimal[].class);
+                            String[] dataValueTime = JSON.parseObject(rawData.getDataValueTime(), String[].class);
+                            for (int j = 0; j < dataValueTime.length; j++) {
+                                long time = DateUtil.strYmdhmssChangeDate(dataValueTime[j]).getTime();
+                                if (endTimeTime > time) {
+                                    break;
+                                }
+                                if (startTimeTime <= time) {
+                                    orgRawList.add(orgDataValue[j]);
+                                    rawList.add(dataValue[j]);
+                                    rawTimeList.add(dataValueTime[j]);
+                                }
+                            }
+                        }
+                        JSONObject jsonObject = new JSONObject();
+                        jsonObject.put("valueList", flage ? rawList : orgRawList);
+                        jsonObject.put("valueTimeList", rawTimeList);
+                        return Result.ok(jsonObject);
+                    } catch (Exception e) {
+                        Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "此数据项数据类型为字符串类型,不支持,请重新选择数据项");
+                    }
+                }
+            }
+            return Result.ok(null);
+        }
+        return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "所选数据项是附属属性,不支持,请重新选择数据项");
+    }
 }
 }

+ 14 - 17
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/service/impl/ReportTableServiceImpl.java

@@ -1,6 +1,5 @@
 package com.example.opc_da.service.impl;
 package com.example.opc_da.service.impl;
 
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.example.opc_common.entity.*;
 import com.example.opc_common.entity.*;
 import com.example.opc_common.enums.ResultEnum;
 import com.example.opc_common.enums.ResultEnum;
@@ -24,8 +23,6 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.client.RestTemplate;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.util.*;
 import java.util.*;
 
 
 @Service
 @Service
@@ -99,17 +96,17 @@ public class ReportTableServiceImpl implements ReportTableService {
             return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "添加报表模板失败");
             return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "添加报表模板失败");
         }
         }
         Integer id = tableTemplate.getId();
         Integer id = tableTemplate.getId();
-        List<TableTemplateItem> tableTemplateItemList = tableTemplate.getTableTemplateItemList();
+        List<TableTemplateTableItem> tableTemplateItemList = tableTemplate.getTableTemplateItemList();
         if (Blank.isNotEmpty(tableTemplateItemList)) {
         if (Blank.isNotEmpty(tableTemplateItemList)) {
             if (templateType.equals(ConstantStr.MANUAL_REPORT)) {
             if (templateType.equals(ConstantStr.MANUAL_REPORT)) {
-                for (TableTemplateItem t : tableTemplateItemList) {
+                for (TableTemplateTableItem t : tableTemplateItemList) {
                     t.setTableTemplateId(id);
                     t.setTableTemplateId(id);
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis())) {
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis())) {
                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "数据项、占位符、横、纵坐标都不能为空");
                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "数据项、占位符、横、纵坐标都不能为空");
                     }
                     }
                 }
                 }
             } else if (templateType.equals(ConstantStr.AUTOMATIC_REPORT)) {
             } else if (templateType.equals(ConstantStr.AUTOMATIC_REPORT)) {
-                for (TableTemplateItem t : tableTemplateItemList) {
+                for (TableTemplateTableItem t : tableTemplateItemList) {
                     t.setTableTemplateId(id);
                     t.setTableTemplateId(id);
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis(), t.getValueTakingMode(), t.getBucketType(), t.getBucketValue())) {
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis(), t.getValueTakingMode(), t.getBucketType(), t.getBucketValue())) {
                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "数据项、占位符、横、纵坐标、取值模式、时段类型、值都不能为空");
                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "数据项、占位符、横、纵坐标、取值模式、时段类型、值都不能为空");
@@ -120,7 +117,7 @@ public class ReportTableServiceImpl implements ReportTableService {
                 if (Blank.isEmpty(eventNum)) {
                 if (Blank.isEmpty(eventNum)) {
                     throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "事件驱动显示数量设置不能为空");
                     throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "事件驱动显示数量设置不能为空");
                 }
                 }
-                for (TableTemplateItem t : tableTemplateItemList) {
+                for (TableTemplateTableItem t : tableTemplateItemList) {
                     t.setTableTemplateId(id);
                     t.setTableTemplateId(id);
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis())) {
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis())) {
                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "数据项、占位符、横、纵坐标都不能为空");
                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "数据项、占位符、横、纵坐标都不能为空");
@@ -158,11 +155,11 @@ public class ReportTableServiceImpl implements ReportTableService {
         if (reportTableDao.updateTableTemplate(tableTemplate) <= 0) {
         if (reportTableDao.updateTableTemplate(tableTemplate) <= 0) {
             return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "修改报表模板失败");
             return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "修改报表模板失败");
         }
         }
-        List<TableTemplateItem> tableTemplateItemList = tableTemplate.getTableTemplateItemList();
+        List<TableTemplateTableItem> tableTemplateItemList = tableTemplate.getTableTemplateItemList();
         reportTableDao.delTtiByTtId(id);
         reportTableDao.delTtiByTtId(id);
         if (Blank.isNotEmpty(tableTemplateItemList)) {
         if (Blank.isNotEmpty(tableTemplateItemList)) {
             if (templateType.equals(ConstantStr.MANUAL_REPORT)) {
             if (templateType.equals(ConstantStr.MANUAL_REPORT)) {
-                for (TableTemplateItem t : tableTemplateItemList) {
+                for (TableTemplateTableItem t : tableTemplateItemList) {
                     t.setTableTemplateId(id);
                     t.setTableTemplateId(id);
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis(), t.getValueTakingMode(), t.getBucketType(),
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis(), t.getValueTakingMode(), t.getBucketType(),
                             t.getBucketValue(), t.getStartTime(), t.getEndTime())) {
                             t.getBucketValue(), t.getStartTime(), t.getEndTime())) {
@@ -170,7 +167,7 @@ public class ReportTableServiceImpl implements ReportTableService {
                     }
                     }
                 }
                 }
             } else if (templateType.equals(ConstantStr.AUTOMATIC_REPORT)) {
             } else if (templateType.equals(ConstantStr.AUTOMATIC_REPORT)) {
-                for (TableTemplateItem t : tableTemplateItemList) {
+                for (TableTemplateTableItem t : tableTemplateItemList) {
                     t.setTableTemplateId(id);
                     t.setTableTemplateId(id);
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis(), t.getValueTakingMode(), t.getBucketType(), t.getBucketValue())) {
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis(), t.getValueTakingMode(), t.getBucketType(), t.getBucketValue())) {
                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "数据项、占位符、横、纵坐标、取值模式、时段类型、值都不能为空");
                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "数据项、占位符、横、纵坐标、取值模式、时段类型、值都不能为空");
@@ -181,7 +178,7 @@ public class ReportTableServiceImpl implements ReportTableService {
                 if (Blank.isEmpty(eventNum)) {
                 if (Blank.isEmpty(eventNum)) {
                     throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "显示数量不能为空");
                     throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "显示数量不能为空");
                 }
                 }
-                for (TableTemplateItem t : tableTemplateItemList) {
+                for (TableTemplateTableItem t : tableTemplateItemList) {
                     t.setTableTemplateId(id);
                     t.setTableTemplateId(id);
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis())) {
                     if (Blank.isEmpty(t.getItemId(), t.getPlaceHolder(), t.getXaxis(), t.getYaxis())) {
                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "数据项、占位符、横、纵坐标都不能为空");
                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "数据项、占位符、横、纵坐标都不能为空");
@@ -234,7 +231,7 @@ public class ReportTableServiceImpl implements ReportTableService {
     @Override
     @Override
     public Result getTableTemplateById(Integer id) {
     public Result getTableTemplateById(Integer id) {
         TableTemplate tableTemplate = reportTableDao.getTableTemplateById(id);
         TableTemplate tableTemplate = reportTableDao.getTableTemplateById(id);
-        List<TableTemplateItem> tableItemList = reportTableDao.getTtiByTemplateId(id);
+        List<TableTemplateTableItem> tableItemList = reportTableDao.getTtiByTemplateId(id);
         tableTemplate.setTableTemplateItemList(tableItemList);
         tableTemplate.setTableTemplateItemList(tableItemList);
         return Result.ok(tableTemplate);
         return Result.ok(tableTemplate);
     }
     }
@@ -254,7 +251,7 @@ public class ReportTableServiceImpl implements ReportTableService {
         Integer reportTableType = reportTable.getReportTableType();
         Integer reportTableType = reportTable.getReportTableType();
         Integer tableTemplateId = reportTable.getTableTemplateId();
         Integer tableTemplateId = reportTable.getTableTemplateId();
         TableTemplate tableTemplate = reportTableDao.getTableTemplateById(tableTemplateId);
         TableTemplate tableTemplate = reportTableDao.getTableTemplateById(tableTemplateId);
-        List<TableTemplateItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
+        List<TableTemplateTableItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
         if (Blank.isEmpty(tableTemplate)) {
         if (Blank.isEmpty(tableTemplate)) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "此报表模板不存在");
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "此报表模板不存在");
         }
         }
@@ -454,13 +451,13 @@ public class ReportTableServiceImpl implements ReportTableService {
                 if (Blank.isEmpty(tableTemplate)) {
                 if (Blank.isEmpty(tableTemplate)) {
                     return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "模板不存在");
                     return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "模板不存在");
                 }
                 }
-                List<TableTemplateItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
+                List<TableTemplateTableItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
                 String cron = reportTable.getCron();
                 String cron = reportTable.getCron();
                 Date startTime = CronUtil.mappingTime(cron, reportTable.getStartTime());
                 Date startTime = CronUtil.mappingTime(cron, reportTable.getStartTime());
                 Date endTime = CronUtil.mappingTime(cron, reportTable.getEndTime());
                 Date endTime = CronUtil.mappingTime(cron, reportTable.getEndTime());
                 List<ReportTableItem> reportTableItemList = new ArrayList<>();
                 List<ReportTableItem> reportTableItemList = new ArrayList<>();
                 if (Blank.isNotEmpty(tableTemplateItemList)) {
                 if (Blank.isNotEmpty(tableTemplateItemList)) {
-                    for (TableTemplateItem t : tableTemplateItemList) {
+                    for (TableTemplateTableItem t : tableTemplateItemList) {
                         Integer itemGroupId = t.getItemGroupId();
                         Integer itemGroupId = t.getItemGroupId();
                         if (Blank.isEmpty(itemGroupId)) {
                         if (Blank.isEmpty(itemGroupId)) {
                             continue;
                             continue;
@@ -562,9 +559,9 @@ public class ReportTableServiceImpl implements ReportTableService {
         }
         }
         if (reportTableType.equals(ConstantStr.EVENT_DRIVEN_REPORT)) {
         if (reportTableType.equals(ConstantStr.EVENT_DRIVEN_REPORT)) {
             Integer tableTemplateId = reportTable.getTableTemplateId();
             Integer tableTemplateId = reportTable.getTableTemplateId();
-            List<TableTemplateItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
+            List<TableTemplateTableItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
             if (Blank.isNotEmpty(tableTemplateItemList)) {
             if (Blank.isNotEmpty(tableTemplateItemList)) {
-                TableTemplateItem tableTemplateItem = tableTemplateItemList.get(0);
+                TableTemplateTableItem tableTemplateItem = tableTemplateItemList.get(0);
                 ItemGroup itemGroup = itemGroupDao.getItemGroupById(tableTemplateItem.getItemGroupId());
                 ItemGroup itemGroup = itemGroupDao.getItemGroupById(tableTemplateItem.getItemGroupId());
                 if (Blank.isNotEmpty(itemGroup)) {
                 if (Blank.isNotEmpty(itemGroup)) {
                     if (itemGroup.getRunState().equals(ConstantStr.START_UP)) {
                     if (itemGroup.getRunState().equals(ConstantStr.START_UP)) {

+ 12 - 12
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/OpcAsyncTask.java

@@ -103,7 +103,7 @@ public class OpcAsyncTask {
                         TableTemplate tableTemplate = reportTableDao.getTableTemplateById(tableTemplateId);
                         TableTemplate tableTemplate = reportTableDao.getTableTemplateById(tableTemplateId);
                         Integer eventNum = tableTemplate.getEventNum();
                         Integer eventNum = tableTemplate.getEventNum();
                         Integer chTableId = reportTableDao.getEventChTableId(tableId);
                         Integer chTableId = reportTableDao.getEventChTableId(tableId);
-                        List<TableTemplateItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
+                        List<TableTemplateTableItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
                         if (Blank.isEmpty(chTableId)) {
                         if (Blank.isEmpty(chTableId)) {
                             //如果没有子报表,则新增报表,则只需要生成新报表,并向新报表添加数据即可
                             //如果没有子报表,则新增报表,则只需要生成新报表,并向新报表添加数据即可
                             //如果模板设置的数量大于等于当前拿数据的数量,则只需要添加一张新报表存储数据即可
                             //如果模板设置的数量大于等于当前拿数据的数量,则只需要添加一张新报表存储数据即可
@@ -122,7 +122,7 @@ public class OpcAsyncTask {
                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                 }
                                 }
                                 //根据索引进行排序,将数据丢到相应的位置
                                 //根据索引进行排序,将数据丢到相应的位置
-                                for (TableTemplateItem t : tableTemplateItemList) {
+                                for (TableTemplateTableItem t : tableTemplateItemList) {
                                     Integer itemId = t.getItemId();
                                     Integer itemId = t.getItemId();
                                     Item item = itemGroupDao.getItemById(itemId);
                                     Item item = itemGroupDao.getItemById(itemId);
                                     if (Blank.isEmpty(item)) {
                                     if (Blank.isEmpty(item)) {
@@ -168,7 +168,7 @@ public class OpcAsyncTask {
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                         }
                                         }
                                         //根据索引进行排序,并添加数据
                                         //根据索引进行排序,并添加数据
-                                        for (TableTemplateItem t : tableTemplateItemList) {
+                                        for (TableTemplateTableItem t : tableTemplateItemList) {
                                             Integer itemId = t.getItemId();
                                             Integer itemId = t.getItemId();
                                             Item item = itemGroupDao.getItemById(itemId);
                                             Item item = itemGroupDao.getItemById(itemId);
                                             if (Blank.isEmpty(item)) {
                                             if (Blank.isEmpty(item)) {
@@ -213,7 +213,7 @@ public class OpcAsyncTask {
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                         }
                                         }
                                         //根据索引进行排序,并添加数据
                                         //根据索引进行排序,并添加数据
-                                        for (TableTemplateItem t : tableTemplateItemList) {
+                                        for (TableTemplateTableItem t : tableTemplateItemList) {
                                             Integer itemId = t.getItemId();
                                             Integer itemId = t.getItemId();
                                             Item item = itemGroupDao.getItemById(itemId);
                                             Item item = itemGroupDao.getItemById(itemId);
                                             if (Blank.isEmpty(item)) {
                                             if (Blank.isEmpty(item)) {
@@ -255,7 +255,7 @@ public class OpcAsyncTask {
                                         reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                         reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                     }
                                     }
                                     //根据索引进行排序,将数据丢到相应的位置
                                     //根据索引进行排序,将数据丢到相应的位置
-                                    for (TableTemplateItem t : tableTemplateItemList) {
+                                    for (TableTemplateTableItem t : tableTemplateItemList) {
                                         Integer itemId = t.getItemId();
                                         Integer itemId = t.getItemId();
                                         Item item = itemGroupDao.getItemById(itemId);
                                         Item item = itemGroupDao.getItemById(itemId);
                                         if (Blank.isEmpty(item)) {
                                         if (Blank.isEmpty(item)) {
@@ -298,7 +298,7 @@ public class OpcAsyncTask {
                                                 reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                 reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                             }
                                             }
                                             //根据索引进行排序,并添加数据
                                             //根据索引进行排序,并添加数据
-                                            for (TableTemplateItem t : tableTemplateItemList) {
+                                            for (TableTemplateTableItem t : tableTemplateItemList) {
                                                 Integer itemId = t.getItemId();
                                                 Integer itemId = t.getItemId();
                                                 Item item = itemGroupDao.getItemById(itemId);
                                                 Item item = itemGroupDao.getItemById(itemId);
                                                 if (Blank.isEmpty(item)) {
                                                 if (Blank.isEmpty(item)) {
@@ -343,7 +343,7 @@ public class OpcAsyncTask {
                                                 reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                 reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                             }
                                             }
                                             //根据索引进行排序,并添加数据
                                             //根据索引进行排序,并添加数据
-                                            for (TableTemplateItem t : tableTemplateItemList) {
+                                            for (TableTemplateTableItem t : tableTemplateItemList) {
                                                 Integer itemId = t.getItemId();
                                                 Integer itemId = t.getItemId();
                                                 Item item = itemGroupDao.getItemById(itemId);
                                                 Item item = itemGroupDao.getItemById(itemId);
                                                 if (Blank.isEmpty(item)) {
                                                 if (Blank.isEmpty(item)) {
@@ -372,7 +372,7 @@ public class OpcAsyncTask {
                                     if (reportTableDao.updateReportTableNum(chTableId, currentNum + size) <= 0) {
                                     if (reportTableDao.updateReportTableNum(chTableId, currentNum + size) <= 0) {
                                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "修改失败");
                                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "修改失败");
                                     }
                                     }
-                                    for (TableTemplateItem t : tableTemplateItemList) {
+                                    for (TableTemplateTableItem t : tableTemplateItemList) {
                                         Integer itemId = t.getItemId();
                                         Integer itemId = t.getItemId();
                                         Item item = itemGroupDao.getItemById(itemId);
                                         Item item = itemGroupDao.getItemById(itemId);
                                         if (Blank.isEmpty(item)) {
                                         if (Blank.isEmpty(item)) {
@@ -406,7 +406,7 @@ public class OpcAsyncTask {
                                     if (reportTableDao.updateReportTableNum(chTableId, currentNum + difference) <= 0) {
                                     if (reportTableDao.updateReportTableNum(chTableId, currentNum + difference) <= 0) {
                                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "修改失败");
                                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "修改失败");
                                     }
                                     }
-                                    for (TableTemplateItem t : tableTemplateItemList) {
+                                    for (TableTemplateTableItem t : tableTemplateItemList) {
                                         Integer itemId = t.getItemId();
                                         Integer itemId = t.getItemId();
                                         Item item = itemGroupDao.getItemById(itemId);
                                         Item item = itemGroupDao.getItemById(itemId);
                                         if (Blank.isEmpty(item)) {
                                         if (Blank.isEmpty(item)) {
@@ -441,7 +441,7 @@ public class OpcAsyncTask {
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                         }
                                         }
                                         //根据索引进行排序,将数据丢到相应的位置
                                         //根据索引进行排序,将数据丢到相应的位置
-                                        for (TableTemplateItem t : tableTemplateItemList) {
+                                        for (TableTemplateTableItem t : tableTemplateItemList) {
                                             Integer itemId = t.getItemId();
                                             Integer itemId = t.getItemId();
                                             Item item = itemGroupDao.getItemById(itemId);
                                             Item item = itemGroupDao.getItemById(itemId);
                                             if (Blank.isEmpty(item)) {
                                             if (Blank.isEmpty(item)) {
@@ -484,7 +484,7 @@ public class OpcAsyncTask {
                                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                 }
                                                 }
                                                 //根据索引进行排序,并添加数据
                                                 //根据索引进行排序,并添加数据
-                                                for (TableTemplateItem t : tableTemplateItemList) {
+                                                for (TableTemplateTableItem t : tableTemplateItemList) {
                                                     Integer itemId = t.getItemId();
                                                     Integer itemId = t.getItemId();
                                                     Item item = itemGroupDao.getItemById(itemId);
                                                     Item item = itemGroupDao.getItemById(itemId);
                                                     if (Blank.isEmpty(item)) {
                                                     if (Blank.isEmpty(item)) {
@@ -529,7 +529,7 @@ public class OpcAsyncTask {
                                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                 }
                                                 }
                                                 //根据索引进行排序,并添加数据
                                                 //根据索引进行排序,并添加数据
-                                                for (TableTemplateItem t : tableTemplateItemList) {
+                                                for (TableTemplateTableItem t : tableTemplateItemList) {
                                                     Integer itemId = t.getItemId();
                                                     Integer itemId = t.getItemId();
                                                     Item item = itemGroupDao.getItemById(itemId);
                                                     Item item = itemGroupDao.getItemById(itemId);
                                                     if (Blank.isEmpty(item)) {
                                                     if (Blank.isEmpty(item)) {

+ 4 - 7
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/ReportTableTask.java

@@ -1,7 +1,6 @@
 package com.example.opc_da.task;
 package com.example.opc_da.task;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.example.opc_common.entity.*;
 import com.example.opc_common.entity.*;
 import com.example.opc_common.enums.ResultEnum;
 import com.example.opc_common.enums.ResultEnum;
@@ -18,14 +17,12 @@ import org.openscada.opc.dcom.da.OPCSERVERSTATE;
 import org.openscada.opc.lib.da.Group;
 import org.openscada.opc.lib.da.Group;
 import org.openscada.opc.lib.da.ItemState;
 import org.openscada.opc.lib.da.ItemState;
 import org.openscada.opc.lib.da.Server;
 import org.openscada.opc.lib.da.Server;
-import org.quartz.CronExpression;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.*;
-import java.util.stream.Collectors;
 
 
 @Slf4j
 @Slf4j
 @Component
 @Component
@@ -52,10 +49,10 @@ public class ReportTableTask {
      * @param id
      * @param id
      * @param tableTemplateItemList
      * @param tableTemplateItemList
      */
      */
-    public void manualReport(Integer id, List<TableTemplateItem> tableTemplateItemList) {
+    public void manualReport(Integer id, List<TableTemplateTableItem> tableTemplateItemList) {
         if (Blank.isNotEmpty(tableTemplateItemList)) {
         if (Blank.isNotEmpty(tableTemplateItemList)) {
             List<ReportTableItem> reportTableItemList = new ArrayList<>();
             List<ReportTableItem> reportTableItemList = new ArrayList<>();
-            for (TableTemplateItem t : tableTemplateItemList) {
+            for (TableTemplateTableItem t : tableTemplateItemList) {
                 Integer itemGroupId = t.getItemGroupId();
                 Integer itemGroupId = t.getItemGroupId();
                 if (Blank.isEmpty(itemGroupId)) {
                 if (Blank.isEmpty(itemGroupId)) {
                     continue;
                     continue;
@@ -142,7 +139,7 @@ public class ReportTableTask {
         if (Blank.isEmpty(tableTemplate)) {
         if (Blank.isEmpty(tableTemplate)) {
             log.info("报表模板不存在");
             log.info("报表模板不存在");
         }
         }
-        List<TableTemplateItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
+        List<TableTemplateTableItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
         Date date = new Date();
         Date date = new Date();
         ReportTable reportTable1 = new ReportTable(
         ReportTable reportTable1 = new ReportTable(
                 ConstantStr.AUTOMATIC_GENERATE_REPORT, valueType, tableTemplateId, reportTable.getUserId(),
                 ConstantStr.AUTOMATIC_GENERATE_REPORT, valueType, tableTemplateId, reportTable.getUserId(),
@@ -162,7 +159,7 @@ public class ReportTableTask {
         Date endTime = CronUtil.mappingTime(cron, reportTable.getEndTime());
         Date endTime = CronUtil.mappingTime(cron, reportTable.getEndTime());
         Integer id = reportTable1.getId();
         Integer id = reportTable1.getId();
         if (Blank.isNotEmpty(tableTemplateItemList)) {
         if (Blank.isNotEmpty(tableTemplateItemList)) {
-            for (TableTemplateItem t : tableTemplateItemList) {
+            for (TableTemplateTableItem t : tableTemplateItemList) {
                 Integer itemGroupId = t.getItemGroupId();
                 Integer itemGroupId = t.getItemGroupId();
                 if (Blank.isEmpty(itemGroupId)) {
                 if (Blank.isEmpty(itemGroupId)) {
                     continue;
                     continue;

+ 3 - 6
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/ReportTask.java

@@ -3,19 +3,16 @@ package com.example.opc_da.task;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.example.opc_common.entity.CursorRawData;
 import com.example.opc_common.entity.CursorRawData;
 import com.example.opc_common.entity.RawData;
 import com.example.opc_common.entity.RawData;
-import com.example.opc_common.entity.TableTemplateItem;
 import com.example.opc_common.enums.ResultEnum;
 import com.example.opc_common.enums.ResultEnum;
 import com.example.opc_common.exception.CustomException;
 import com.example.opc_common.exception.CustomException;
 import com.example.opc_common.util.ArrayUtil;
 import com.example.opc_common.util.ArrayUtil;
 import com.example.opc_common.util.Blank;
 import com.example.opc_common.util.Blank;
 import com.example.opc_common.util.ConstantStr;
 import com.example.opc_common.util.ConstantStr;
 import com.example.opc_common.util.DateUtil;
 import com.example.opc_common.util.DateUtil;
-import org.apache.commons.lang3.StringUtils;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.math.RoundingMode;
 import java.util.*;
 import java.util.*;
-import java.util.stream.Collectors;
 
 
 public class ReportTask {
 public class ReportTask {
 
 
@@ -42,12 +39,12 @@ public class ReportTask {
             pattern = ConstantStr.TIME_SECOND_STR;
             pattern = ConstantStr.TIME_SECOND_STR;
         }
         }
         List<Boolean> orgRawList = new ArrayList<>();
         List<Boolean> orgRawList = new ArrayList<>();
-        List<Boolean> RawList = new ArrayList<>();
+        List<Boolean> rawList = new ArrayList<>();
         List<String> rawTimeList = new ArrayList<>();
         List<String> rawTimeList = new ArrayList<>();
         for (int i = 0; i < rawDataList.size(); i++) {
         for (int i = 0; i < rawDataList.size(); i++) {
             RawData rawData = rawDataList.get(i);
             RawData rawData = rawDataList.get(i);
             orgRawList.addAll(new ArrayList<>(Arrays.asList(JSON.parseObject(rawData.getOrgDataValue(), Boolean[].class))));
             orgRawList.addAll(new ArrayList<>(Arrays.asList(JSON.parseObject(rawData.getOrgDataValue(), Boolean[].class))));
-            RawList.addAll(new ArrayList<>(Arrays.asList(JSON.parseObject(rawData.getDataValue(), Boolean[].class))));
+            rawList.addAll(new ArrayList<>(Arrays.asList(JSON.parseObject(rawData.getDataValue(), Boolean[].class))));
             rawTimeList.addAll(new ArrayList<>(Arrays.asList(JSON.parseObject(rawData.getDataValueTime(), String[].class))));
             rawTimeList.addAll(new ArrayList<>(Arrays.asList(JSON.parseObject(rawData.getDataValueTime(), String[].class))));
         }
         }
         List<Boolean> orgValueList = new ArrayList<>();
         List<Boolean> orgValueList = new ArrayList<>();
@@ -69,7 +66,7 @@ public class ReportTask {
                 long time = DateUtil.strYmdhmssChangeDate(rawTimeList.get(j)).getTime();
                 long time = DateUtil.strYmdhmssChangeDate(rawTimeList.get(j)).getTime();
                 if (startTimeTime <= time) {
                 if (startTimeTime <= time) {
                     orgList.add(orgRawList.get(j));
                     orgList.add(orgRawList.get(j));
-                    list.add(RawList.get(j));
+                    list.add(rawList.get(j));
                 }
                 }
                 if (time > endTimeTime) {
                 if (time > endTimeTime) {
                     break;
                     break;

+ 33 - 30
chaunyi_opc/opc_da/src/main/resources/mapper/ReportTableDao.xml

@@ -12,7 +12,7 @@
         , user_id, template_name , template_type, event_num, version, update_time, create_time
         , user_id, template_name , template_type, event_num, version, update_time, create_time
     </sql>
     </sql>
 
 
-    <sql id="tableTemplateItem">
+    <sql id="tableTemplateTableItem">
         id
         id
         , table_template_id, item_id , place_holder, xaxis, yaxis, value_taking_mode, bucket_type,
         , table_template_id, item_id , place_holder, xaxis, yaxis, value_taking_mode, bucket_type,
             bucket_value, start_time, end_time, standby
             bucket_value, start_time, end_time, standby
@@ -97,17 +97,20 @@
     </insert>
     </insert>
 
 
     <insert id="addTableTemplateItem">
     <insert id="addTableTemplateItem">
-        <if test="tableTemplateItemList!= null and tableTemplateItemList.size() >0">
-            insert into t_table_template_item (table_template_id, item_id, place_holder, xaxis, yaxis,
+        <if test="tableTemplateTableItemList!= null and tableTemplateTableItemList.size() >0">
+            insert into t_table_template_table_item (table_template_id, item_id, place_holder, xaxis, yaxis,
             value_taking_mode, bucket_type, bucket_value, start_time,
             value_taking_mode, bucket_type, bucket_value, start_time,
             end_time, standby)
             end_time, standby)
             values
             values
-            <foreach collection="tableTemplateItemList" item="tableTemplateItem" separator=",">
-                (#{tableTemplateItem.tableTemplateId}, #{tableTemplateItem.itemId}, #{tableTemplateItem.placeHolder},
-                #{tableTemplateItem.xaxis}
-                , #{tableTemplateItem.yaxis}, #{tableTemplateItem.valueTakingMode}, #{tableTemplateItem.bucketType},
-                #{tableTemplateItem.bucketValue}
-                , #{tableTemplateItem.startTime}, #{tableTemplateItem.endTime}, #{tableTemplateItem.standby})
+            <foreach collection="tableTemplateTableItemList" item="tableTemplateTableItem" separator=",">
+                (#{tableTemplateTableItem.tableTemplateId}, #{tableTemplateTableItem.itemId},
+                #{tableTemplateTableItem.placeHolder},
+                #{tableTemplateTableItem.xaxis}
+                , #{tableTemplateTableItem.yaxis}, #{tableTemplateTableItem.valueTakingMode},
+                #{tableTemplateTableItem.bucketType},
+                #{tableTemplateTableItem.bucketValue}
+                , #{tableTemplateTableItem.startTime}, #{tableTemplateTableItem.endTime},
+                #{tableTemplateTableItem.standby})
             </foreach>
             </foreach>
         </if>
         </if>
     </insert>
     </insert>
@@ -218,7 +221,7 @@
 
 
     <delete id="delTtiByTtId">
     <delete id="delTtiByTtId">
         delete
         delete
-        from t_table_template_item
+        from t_table_template_table_item
         where table_template_id = #{tableTemplateId}
         where table_template_id = #{tableTemplateId}
     </delete>
     </delete>
 
 
@@ -560,33 +563,33 @@
         where auto_table_id=#{autoTableId})
         where auto_table_id=#{autoTableId})
     </select>
     </select>
 
 
-    <select id="getTtiByTemplateId" resultType="com.example.opc_common.entity.TableTemplateItem">
+    <select id="getTtiByTemplateId" resultType="com.example.opc_common.entity.TableTemplateTableItem">
         select
         select
-        <include refid="tableTemplateItem"/>
-        from t_table_template_item
+        <include refid="tableTemplateTableItem"/>
+        from t_table_template_table_item
         where table_template_id = #{tableTemplateId}
         where table_template_id = #{tableTemplateId}
     </select>
     </select>
 
 
-    <select id="getTtiDataByTemplateId" resultType="com.example.opc_common.entity.TableTemplateItem">
-        SELECT ttti.id,
-               ttti.table_template_id,
-               ttti.item_id,
+    <select id="getTtiDataByTemplateId" resultType="com.example.opc_common.entity.TableTemplateTableItem">
+        SELECT tttti.id,
+               tttti.table_template_id,
+               tttti.item_id,
                ti.item_group_id,
                ti.item_group_id,
                ti.item_name,
                ti.item_name,
                tig.data_source_id,
                tig.data_source_id,
-               ttti.place_holder,
-               ttti.xaxis,
-               ttti.yaxis,
-               ttti.value_taking_mode,
-               ttti.bucket_type,
-               ttti.bucket_value,
-               ttti.start_time,
-               ttti.end_time,
-               ttti.standby
-        FROM t_table_template_item ttti
-                 LEFT JOIN t_item ti ON ttti.item_id = ti.id
+               tttti.place_holder,
+               tttti.xaxis,
+               tttti.yaxis,
+               tttti.value_taking_mode,
+               tttti.bucket_type,
+               tttti.bucket_value,
+               tttti.start_time,
+               tttti.end_time,
+               tttti.standby
+        FROM t_table_template_table_item tttti
+                 LEFT JOIN t_item ti ON tttti.item_id = ti.id
                  LEFT JOIN t_item_group tig ON ti.item_group_id = tig.id
                  LEFT JOIN t_item_group tig ON ti.item_group_id = tig.id
-        WHERE table_template_id = #{tableTemplateId}
+        WHERE tttti.table_template_id = #{tableTemplateId}
     </select>
     </select>
 
 
     <select id="getTableByItemId" resultType="java.lang.Integer">
     <select id="getTableByItemId" resultType="java.lang.Integer">
@@ -594,7 +597,7 @@
         FROM t_report_table
         FROM t_report_table
         WHERE table_template_id IN
         WHERE table_template_id IN
         (SELECT DISTINCT (table_template_id) AS table_template_id
         (SELECT DISTINCT (table_template_id) AS table_template_id
-        FROM t_table_template_item
+        FROM t_table_template_table_item
         WHERE 1=1
         WHERE 1=1
         <if test="itemList!= null and itemList.size() >0">
         <if test="itemList!= null and itemList.size() >0">
             and item_id in
             and item_id in

+ 1 - 1
chaunyi_opc/opc_ua/src/main/java/com/example/opc_ua/dao/ReportTableDao.java

@@ -21,7 +21,7 @@ public interface ReportTableDao {
 
 
     Integer getEventChTableId(Integer tableId);
     Integer getEventChTableId(Integer tableId);
 
 
-    List<TableTemplateItem> getTtiDataByTemplateId(Integer tableTemplateId);
+    List<TableTemplateTableItem> getTtiDataByTemplateId(Integer tableTemplateId);
 
 
     Integer addReportTableItem(ReportTableItem reportTableItem);
     Integer addReportTableItem(ReportTableItem reportTableItem);
 
 

+ 12 - 12
chaunyi_opc/opc_ua/src/main/java/com/example/opc_ua/task/OpcAsyncTask.java

@@ -90,7 +90,7 @@ public class OpcAsyncTask {
                         TableTemplate tableTemplate = reportTableDao.getTableTemplateById(tableTemplateId);
                         TableTemplate tableTemplate = reportTableDao.getTableTemplateById(tableTemplateId);
                         Integer eventNum = tableTemplate.getEventNum();
                         Integer eventNum = tableTemplate.getEventNum();
                         Integer chTableId = reportTableDao.getEventChTableId(tableId);
                         Integer chTableId = reportTableDao.getEventChTableId(tableId);
-                        List<TableTemplateItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
+                        List<TableTemplateTableItem> tableTemplateItemList = reportTableDao.getTtiDataByTemplateId(tableTemplateId);
                         if (Blank.isEmpty(chTableId)) {
                         if (Blank.isEmpty(chTableId)) {
                             //如果没有子报表,则新增报表,则只需要生成新报表,并向新报表添加数据即可
                             //如果没有子报表,则新增报表,则只需要生成新报表,并向新报表添加数据即可
                             //如果模板设置的数量大于等于当前拿数据的数量,则只需要添加一张新报表存储数据即可
                             //如果模板设置的数量大于等于当前拿数据的数量,则只需要添加一张新报表存储数据即可
@@ -109,7 +109,7 @@ public class OpcAsyncTask {
                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                 }
                                 }
                                 //根据索引进行排序,将数据丢到相应的位置
                                 //根据索引进行排序,将数据丢到相应的位置
-                                for (TableTemplateItem t : tableTemplateItemList) {
+                                for (TableTemplateTableItem t : tableTemplateItemList) {
                                     Integer itemId = t.getItemId();
                                     Integer itemId = t.getItemId();
                                     List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, indexList);
                                     List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, indexList);
                                     if (Blank.isNotEmpty(cursorRawDataList)) {
                                     if (Blank.isNotEmpty(cursorRawDataList)) {
@@ -147,7 +147,7 @@ public class OpcAsyncTask {
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                         }
                                         }
                                         //根据索引进行排序,并添加数据
                                         //根据索引进行排序,并添加数据
-                                        for (TableTemplateItem t : tableTemplateItemList) {
+                                        for (TableTemplateTableItem t : tableTemplateItemList) {
                                             Integer itemId = t.getItemId();
                                             Integer itemId = t.getItemId();
                                             List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, dataIndexList);
                                             List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, dataIndexList);
                                             if (Blank.isNotEmpty(cursorRawDataList)) {
                                             if (Blank.isNotEmpty(cursorRawDataList)) {
@@ -184,7 +184,7 @@ public class OpcAsyncTask {
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                         }
                                         }
                                         //根据索引进行排序,并添加数据
                                         //根据索引进行排序,并添加数据
-                                        for (TableTemplateItem t : tableTemplateItemList) {
+                                        for (TableTemplateTableItem t : tableTemplateItemList) {
                                             Integer itemId = t.getItemId();
                                             Integer itemId = t.getItemId();
                                             List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, dataIndexList);
                                             List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, dataIndexList);
                                             if (Blank.isNotEmpty(cursorRawDataList)) {
                                             if (Blank.isNotEmpty(cursorRawDataList)) {
@@ -218,7 +218,7 @@ public class OpcAsyncTask {
                                         reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                         reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                     }
                                     }
                                     //根据索引进行排序,将数据丢到相应的位置
                                     //根据索引进行排序,将数据丢到相应的位置
-                                    for (TableTemplateItem t : tableTemplateItemList) {
+                                    for (TableTemplateTableItem t : tableTemplateItemList) {
                                         Integer itemId = t.getItemId();
                                         Integer itemId = t.getItemId();
                                         List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, indexList);
                                         List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, indexList);
                                         if (Blank.isNotEmpty(cursorRawDataList)) {
                                         if (Blank.isNotEmpty(cursorRawDataList)) {
@@ -253,7 +253,7 @@ public class OpcAsyncTask {
                                                 reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                 reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                             }
                                             }
                                             //根据索引进行排序,并添加数据
                                             //根据索引进行排序,并添加数据
-                                            for (TableTemplateItem t : tableTemplateItemList) {
+                                            for (TableTemplateTableItem t : tableTemplateItemList) {
                                                 Integer itemId = t.getItemId();
                                                 Integer itemId = t.getItemId();
                                                 List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, dataIndexList);
                                                 List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, dataIndexList);
                                                 if (Blank.isNotEmpty(cursorRawDataList)) {
                                                 if (Blank.isNotEmpty(cursorRawDataList)) {
@@ -290,7 +290,7 @@ public class OpcAsyncTask {
                                                 reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                 reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                             }
                                             }
                                             //根据索引进行排序,并添加数据
                                             //根据索引进行排序,并添加数据
-                                            for (TableTemplateItem t : tableTemplateItemList) {
+                                            for (TableTemplateTableItem t : tableTemplateItemList) {
                                                 Integer itemId = t.getItemId();
                                                 Integer itemId = t.getItemId();
                                                 List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, dataIndexList);
                                                 List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, dataIndexList);
                                                 if (Blank.isNotEmpty(cursorRawDataList)) {
                                                 if (Blank.isNotEmpty(cursorRawDataList)) {
@@ -311,7 +311,7 @@ public class OpcAsyncTask {
                                     if (reportTableDao.updateReportTableNum(chTableId, currentNum + size) <= 0) {
                                     if (reportTableDao.updateReportTableNum(chTableId, currentNum + size) <= 0) {
                                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "修改失败");
                                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "修改失败");
                                     }
                                     }
-                                    for (TableTemplateItem t : tableTemplateItemList) {
+                                    for (TableTemplateTableItem t : tableTemplateItemList) {
                                         Integer itemId = t.getItemId();
                                         Integer itemId = t.getItemId();
                                         ReportTableItem reportTableItem = reportTableDao.getReportTableItem(chTableId, itemId);
                                         ReportTableItem reportTableItem = reportTableDao.getReportTableItem(chTableId, itemId);
                                         List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, indexList);
                                         List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, indexList);
@@ -337,7 +337,7 @@ public class OpcAsyncTask {
                                     if (reportTableDao.updateReportTableNum(chTableId, currentNum + difference) <= 0) {
                                     if (reportTableDao.updateReportTableNum(chTableId, currentNum + difference) <= 0) {
                                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "修改失败");
                                         throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "修改失败");
                                     }
                                     }
-                                    for (TableTemplateItem t : tableTemplateItemList) {
+                                    for (TableTemplateTableItem t : tableTemplateItemList) {
                                         Integer itemId = t.getItemId();
                                         Integer itemId = t.getItemId();
                                         ReportTableItem reportTableItem = reportTableDao.getReportTableItem(chTableId, itemId);
                                         ReportTableItem reportTableItem = reportTableDao.getReportTableItem(chTableId, itemId);
                                         List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, oldIndexList);
                                         List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, oldIndexList);
@@ -364,7 +364,7 @@ public class OpcAsyncTask {
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                             reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                         }
                                         }
                                         //根据索引进行排序,将数据丢到相应的位置
                                         //根据索引进行排序,将数据丢到相应的位置
-                                        for (TableTemplateItem t : tableTemplateItemList) {
+                                        for (TableTemplateTableItem t : tableTemplateItemList) {
                                             Integer itemId = t.getItemId();
                                             Integer itemId = t.getItemId();
                                             List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, newIndexList);
                                             List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, newIndexList);
                                             if (Blank.isNotEmpty(cursorRawDataList)) {
                                             if (Blank.isNotEmpty(cursorRawDataList)) {
@@ -399,7 +399,7 @@ public class OpcAsyncTask {
                                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                 }
                                                 }
                                                 //根据索引进行排序,并添加数据
                                                 //根据索引进行排序,并添加数据
-                                                for (TableTemplateItem t : tableTemplateItemList) {
+                                                for (TableTemplateTableItem t : tableTemplateItemList) {
                                                     Integer itemId = t.getItemId();
                                                     Integer itemId = t.getItemId();
                                                     List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, newIndexList);
                                                     List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, newIndexList);
                                                     if (Blank.isNotEmpty(cursorRawDataList)) {
                                                     if (Blank.isNotEmpty(cursorRawDataList)) {
@@ -436,7 +436,7 @@ public class OpcAsyncTask {
                                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                     reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
                                                 }
                                                 }
                                                 //根据索引进行排序,并添加数据
                                                 //根据索引进行排序,并添加数据
-                                                for (TableTemplateItem t : tableTemplateItemList) {
+                                                for (TableTemplateTableItem t : tableTemplateItemList) {
                                                     Integer itemId = t.getItemId();
                                                     Integer itemId = t.getItemId();
                                                     List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, dataIndexList);
                                                     List<CursorRawData> cursorRawDataList = rawDataDao.getEventDataList(itemGroupId, dataSourceId, itemId, dataIndexList);
                                                     if (Blank.isNotEmpty(cursorRawDataList)) {
                                                     if (Blank.isNotEmpty(cursorRawDataList)) {

+ 17 - 17
chaunyi_opc/opc_ua/src/main/resources/mapper/ReportTableDao.xml

@@ -117,7 +117,7 @@
         FROM t_report_table
         FROM t_report_table
         WHERE table_template_id IN
         WHERE table_template_id IN
         (SELECT DISTINCT (table_template_id) AS table_template_id
         (SELECT DISTINCT (table_template_id) AS table_template_id
-        FROM t_table_template_item
+        FROM t_table_template_table_item
         WHERE 1=1
         WHERE 1=1
         <if test="itemList!= null and itemList.size() >0">
         <if test="itemList!= null and itemList.size() >0">
             and item_id in
             and item_id in
@@ -146,26 +146,26 @@
         order by id desc limit 1
         order by id desc limit 1
     </select>
     </select>
 
 
-    <select id="getTtiDataByTemplateId" resultType="com.example.opc_common.entity.TableTemplateItem">
-        SELECT ttti.id,
-               ttti.table_template_id,
-               ttti.item_id,
+    <select id="getTtiDataByTemplateId" resultType="com.example.opc_common.entity.TableTemplateTableItem">
+        SELECT tttti.id,
+               tttti.table_template_id,
+               tttti.item_id,
                ti.item_group_id,
                ti.item_group_id,
                ti.item_name,
                ti.item_name,
                tig.data_source_id,
                tig.data_source_id,
-               ttti.place_holder,
-               ttti.xaxis,
-               ttti.yaxis,
-               ttti.value_taking_mode,
-               ttti.bucket_type,
-               ttti.bucket_value,
-               ttti.start_time,
-               ttti.end_time,
-               ttti.standby
-        FROM t_table_template_item ttti
-                 LEFT JOIN t_item ti ON ttti.item_id = ti.id
+               tttti.place_holder,
+               tttti.xaxis,
+               tttti.yaxis,
+               tttti.value_taking_mode,
+               tttti.bucket_type,
+               tttti.bucket_value,
+               tttti.start_time,
+               tttti.end_time,
+               tttti.standby
+        FROM t_table_template_table_item tttti
+                 LEFT JOIN t_item ti ON tttti.item_id = ti.id
                  LEFT JOIN t_item_group tig ON ti.item_group_id = tig.id
                  LEFT JOIN t_item_group tig ON ti.item_group_id = tig.id
-        WHERE table_template_id = #{tableTemplateId}
+        WHERE tttti.table_template_id = #{tableTemplateId}
     </select>
     </select>
 
 
     <select id="getReportTableItem" resultType="com.example.opc_common.entity.ReportTableItem">
     <select id="getReportTableItem" resultType="com.example.opc_common.entity.ReportTableItem">

BIN
chuanyi-admin/src/assets/images/cqcybg.png


+ 1 - 1
chuanyi-admin/src/views/dashboard/onlineUsers.vue

@@ -16,7 +16,7 @@
             type="text"
             type="text"
             icon="el-icon-delete"
             icon="el-icon-delete"
             @click="handelClick(scope.row)"
             @click="handelClick(scope.row)"
-          >清空用户登录信息</el-button>
+          >强制下线</el-button>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
     </el-table>
     </el-table>

+ 89 - 82
chuanyi-admin/src/views/login/index.vue

@@ -1,89 +1,91 @@
 <template>
 <template>
   <div class="login-container">
   <div class="login-container">
-    <el-form
-      ref="loginForm"
-      :model="loginForm"
-      :rules="loginRules"
-      class="login-form"
-      autocomplete="on"
-      label-position="left"
-    >
-      <div class="title-container">
-        <h3 class="title">Easy Industrial Report管理系统</h3>
-      </div>
-      <el-form-item prop="userName">
+    <div class="login-div">
+      <el-form
+        ref="loginForm"
+        :model="loginForm"
+        :rules="loginRules"
+        class="login-form"
+        autocomplete="on"
+        label-position="left"
+      >
+        <div class="title-container">
+          <h3 class="title">Easy Industrial Report 后台管理系统</h3>
+        </div>
+        <el-form-item prop="userName">
         <span class="svg-container">
         <span class="svg-container">
           <svg-icon icon-class="user" />
           <svg-icon icon-class="user" />
         </span>
         </span>
-        <el-input
-          ref="userName"
-          v-model="loginForm.userName"
-          placeholder="用户名"
-          name="userName"
-          type="text"
-          tabindex="1"
-          auto-complete="off"
-        />
-      </el-form-item>
-      <el-tooltip
-        v-model="capsTooltip"
-        content="已开启大写字母"
-        placement="bottom-start"
-        manual
-      >
-        <el-form-item prop="password">
-          <span class="svg-container">
-            <svg-icon icon-class="password" />
-          </span>
           <el-input
           <el-input
-            :key="passwordType"
-            ref="password"
-            v-model="loginForm.password"
-            :type="passwordType"
-            placeholder="密码"
-            name="password"
-            tabindex="2"
+            ref="userName"
+            v-model="loginForm.userName"
+            placeholder="用户名"
+            name="userName"
+            type="text"
+            tabindex="1"
             auto-complete="off"
             auto-complete="off"
-            @keyup.native="checkCapslock"
-            @blur="capsTooltip = false"
-            @keyup.enter.native="handleLogin"
           />
           />
-          <span class="show-pwd" @click="showPwd">
+        </el-form-item>
+        <el-tooltip
+          v-model="capsTooltip"
+          content="已开启大写字母"
+          placement="bottom-start"
+          manual
+        >
+          <el-form-item prop="password">
+          <span class="svg-container">
+            <svg-icon icon-class="password" />
+          </span>
+            <el-input
+              :key="passwordType"
+              ref="password"
+              v-model="loginForm.password"
+              :type="passwordType"
+              placeholder="密码"
+              name="password"
+              tabindex="2"
+              auto-complete="off"
+              @keyup.native="checkCapslock"
+              @blur="capsTooltip = false"
+              @keyup.enter.native="handleLogin"
+            />
+            <span class="show-pwd" @click="showPwd">
             <svg-icon
             <svg-icon
               :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'"
               :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'"
             />
             />
           </span>
           </span>
-        </el-form-item>
-      </el-tooltip>
-      <!-- <el-form-item v-if="captchaEnabled" prop="code" class="code-div">
-        <div class="el-form-item" style="width: 63%; float: left">
-          <span class="svg-container">
-            <svg-icon icon-class="validCode" />
-          </span>
-          <el-input
-            ref="code"
-            v-model="loginForm.code"
-            placeholder="验证码"
-            name="code"
-            type="text"
-            tabindex="3"
-            auto-complete="off"
-            @keydown.enter.native="handleLogin"
-          />
-        </div>
-        <div class="login-code">
-          <img :src="url" class="login-code-img" @click="getCode">
-        </div>
-      </el-form-item> -->
-      <el-button
-        :loading="loading"
-        type="primary"
-        style="width: 100%; margin-bottom: 30px"
-        @click.native.prevent="handleLogin"
-      >
-        登录
-      </el-button>
-    </el-form>
+          </el-form-item>
+        </el-tooltip>
+        <!-- <el-form-item v-if="captchaEnabled" prop="code" class="code-div">
+          <div class="el-form-item" style="width: 63%; float: left">
+            <span class="svg-container">
+              <svg-icon icon-class="validCode" />
+            </span>
+            <el-input
+              ref="code"
+              v-model="loginForm.code"
+              placeholder="验证码"
+              name="code"
+              type="text"
+              tabindex="3"
+              auto-complete="off"
+              @keydown.enter.native="handleLogin"
+            />
+          </div>
+          <div class="login-code">
+            <img :src="url" class="login-code-img" @click="getCode">
+          </div>
+        </el-form-item> -->
+        <el-button
+          :loading="loading"
+          type="primary"
+          style="width: 100%; margin-bottom: 30px"
+          @click.native.prevent="handleLogin"
+        >
+          登录
+        </el-button>
+      </el-form>
+    </div>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -230,7 +232,7 @@ export default {
 </script>
 </script>
 
 
 <style lang="scss">
 <style lang="scss">
-$imgBg: url("~@/assets/images/loginbg.png");
+$imgBg: url("~@/assets/images/cqcybg.png");
 $dark_gray: #889aa4;
 $dark_gray: #889aa4;
 
 
 .login-container {
 .login-container {
@@ -254,15 +256,19 @@ $dark_gray: #889aa4;
 }
 }
 
 
 .login-container {
 .login-container {
-  display: flex;
-  justify-content: center;
-  align-items: center;
   height: 100%;
   height: 100%;
-  background-color: #2c3e50;
-  //background-image: $imgBg;
-  //background-size: cover;
+  background-image: $imgBg;
+  background-size: cover;
   overflow: hidden;
   overflow: hidden;
 
 
+  .login-div {
+    display: flex;
+    justify-content: flex-end;
+    align-items: center;
+    height: 100%;
+    margin-right: 10%;
+  }
+
   .login-form {
   .login-form {
     border-radius: 6px;
     border-radius: 6px;
     background: #ffffff;
     background: #ffffff;
@@ -295,7 +301,8 @@ $dark_gray: #889aa4;
   .title {
   .title {
     margin: 0px auto 30px auto;
     margin: 0px auto 30px auto;
     text-align: center;
     text-align: center;
-    color: #707070;
+    font-weight: 600;
+    color: black;
   }
   }
 
 
   .show-pwd {
   .show-pwd {

+ 7 - 6
chuanyi-admin/src/views/system/user/index.vue

@@ -163,6 +163,7 @@
           <el-table-column
           <el-table-column
             label="操作"
             label="操作"
             align="center"
             align="center"
+            width="250"
             class-name="small-padding fixed-width"
             class-name="small-padding fixed-width"
           >
           >
             <template v-if="scope.row.userId !== 1" slot-scope="scope">
             <template v-if="scope.row.userId !== 1" slot-scope="scope">
@@ -175,16 +176,16 @@
               <el-button
               <el-button
                 size="mini"
                 size="mini"
                 type="text"
                 type="text"
+                icon="el-icon-key"
+                @click="handleResetPwd(scope.row)"
+              >重置密码</el-button>
+              <el-button
+                size="mini"
+                type="text"
                 icon="el-icon-delete"
                 icon="el-icon-delete"
                 :disabled="!multiple"
                 :disabled="!multiple"
                 @click="handleDelete(scope.row)"
                 @click="handleDelete(scope.row)"
               >删除</el-button>
               >删除</el-button>
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-key"
-                @click="handleResetPwd(scope.row)"
-              >重置密码</el-button>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
         </el-table>
         </el-table>

BIN
chuanyi_client2/src/assets/images/cqcybg.png


BIN
chuanyi_client2/src/assets/images/manager_user.png


+ 37 - 34
chuanyi_client2/src/components/HeaderMain/index.vue

@@ -39,7 +39,7 @@
       <div>
       <div>
         <el-tree class="cy-group-tree"
         <el-tree class="cy-group-tree"
                  ref="groupTree"
                  ref="groupTree"
-                 :indent="10"
+                 :indent="0"
                  node-key="id"
                  node-key="id"
                  :load="loadGroupNode"
                  :load="loadGroupNode"
                  :props="groupProps"
                  :props="groupProps"
@@ -51,9 +51,9 @@
                 <svg-icon v-if="data.itemName" icon-class="file-bg"/>
                 <svg-icon v-if="data.itemName" icon-class="file-bg"/>
                 <svg-icon v-else-if="data.id == -1" icon-class="groups"/>
                 <svg-icon v-else-if="data.id == -1" icon-class="groups"/>
                 <template v-else>
                 <template v-else>
-                  <svg-icon v-if="data.runState == 1" icon-class="green"/>
-                  <svg-icon v-else-if="data.runState == 0" icon-class="grey"/>
-                  <svg-icon v-else icon-class="red"/>
+                  <svg-icon v-if="data.runState == 1" style="width: 30px; height: 30px;" icon-class="green"/>
+                  <svg-icon v-else-if="data.runState == 0" style="width: 30px; height: 30px;" icon-class="grey"/>
+                  <svg-icon v-else style="width: 30px; height: 30px;" icon-class="red"/>
                 </template>
                 </template>
                 <span :title='data.groupName || data.itemName'
                 <span :title='data.groupName || data.itemName'
                       style="margin-left: 2px;">{{ data.groupName || data.itemName }}</span>
                       style="margin-left: 2px;">{{ data.groupName || data.itemName }}</span>
@@ -170,7 +170,7 @@
                 </el-select>
                 </el-select>
               </el-form-item>
               </el-form-item>
               <!-- 周期读取 -->
               <!-- 周期读取 -->
-              <el-form-item v-if="groupRateForm.readMode == 0" label='' prop="modeValue">
+              <el-form-item v-if="groupRateForm.readMode == 0" label='读取频率' prop="modeValue">
                 <el-input-number v-model="groupRateForm.modeValueH" @change="withModeValueTime(1)" :min="0" :max="9999" :controls="false" style="width: 100px;"></el-input-number>
                 <el-input-number v-model="groupRateForm.modeValueH" @change="withModeValueTime(1)" :min="0" :max="9999" :controls="false" style="width: 100px;"></el-input-number>
                 <span style="margin: 0 5px;">时</span>
                 <span style="margin: 0 5px;">时</span>
                 <el-input-number v-model="groupRateForm.modeValueM" @change="withModeValueTime(2)" :min="0" :max="59" :controls="false" style="width: 100px;"></el-input-number>
                 <el-input-number v-model="groupRateForm.modeValueM" @change="withModeValueTime(2)" :min="0" :max="59" :controls="false" style="width: 100px;"></el-input-number>
@@ -199,34 +199,37 @@
                           style="width: 120px;float: right;"></el-input>
                           style="width: 120px;float: right;"></el-input>
                 <span style="float: left;color: #8a8888;font-size: 12px;line-height: 12px;">{{reportEventConfigForm.itemName}}</span>
                 <span style="float: left;color: #8a8888;font-size: 12px;line-height: 12px;">{{reportEventConfigForm.itemName}}</span>
               </el-form-item>
               </el-form-item>
-              <el-form-item label='日期设置' prop="daySetting" style="margin-top: 20px;">
-                <el-checkbox-group v-model="groupRateForm.daySetting">
-                  <el-checkbox name="daySetting" label="MON">周一</el-checkbox>
-                  <el-checkbox name="daySetting" label="TUE">周二</el-checkbox>
-                  <el-checkbox name="daySetting" label="WED">周三</el-checkbox>
-                  <el-checkbox name="daySetting" label="THU">周四</el-checkbox>
-                  <el-checkbox name="daySetting" label="FRI">周五</el-checkbox>
-                  <el-checkbox name="daySetting" label="SAT">周六</el-checkbox>
-                  <el-checkbox name="daySetting" label="SUN">周日</el-checkbox>
-                </el-checkbox-group>
-              </el-form-item>
-              <el-form-item label='记录周期' prop="valuePeriod">
-                <el-time-picker
-                    style="width: 100%;"
-                    is-range
-                    :clearable="false"
-                    :editable="false"
-                    v-model="groupRateForm.valuePeriod"
-                    :picker-options="{
+              <el-divider content-position="left">周期设置</el-divider>
+              <div class="cy-line">
+                <el-form-item label='日期设置' prop="daySetting" style="margin-top: 20px;">
+                  <el-checkbox-group v-model="groupRateForm.daySetting">
+                    <el-checkbox name="daySetting" label="MON">周一</el-checkbox>
+                    <el-checkbox name="daySetting" label="TUE">周二</el-checkbox>
+                    <el-checkbox name="daySetting" label="WED">周三</el-checkbox>
+                    <el-checkbox name="daySetting" label="THU">周四</el-checkbox>
+                    <el-checkbox name="daySetting" label="FRI">周五</el-checkbox>
+                    <el-checkbox name="daySetting" label="SAT">周六</el-checkbox>
+                    <el-checkbox name="daySetting" label="SUN">周日</el-checkbox>
+                  </el-checkbox-group>
+                </el-form-item>
+                <el-form-item label='时间域' prop="valuePeriod">
+                  <el-time-picker
+                      style="width: 100%;"
+                      is-range
+                      :clearable="false"
+                      :editable="false"
+                      v-model="groupRateForm.valuePeriod"
+                      :picker-options="{
                       format: 'HH:mm:ss'
                       format: 'HH:mm:ss'
                     }"
                     }"
-                    value-format="HH:mm:ss"
-                    range-separator="至"
-                    start-placeholder="开始时间"
-                    end-placeholder="结束时间"
-                    placeholder="选择时间范围">
-                </el-time-picker>
-              </el-form-item>
+                      value-format="HH:mm:ss"
+                      range-separator="至"
+                      start-placeholder="开始时间"
+                      end-placeholder="结束时间"
+                      placeholder="选择时间范围">
+                  </el-time-picker>
+                </el-form-item>
+              </div>
             </el-form>
             </el-form>
           </div>
           </div>
         </el-tab-pane>
         </el-tab-pane>
@@ -609,7 +612,7 @@ export default {
         modeValueH: 0,
         modeValueH: 0,
         modeValueM: 0,
         modeValueM: 0,
         modeValueS: 0,
         modeValueS: 0,
-        daySetting: [],
+        daySetting: ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"],
         valuePeriod: ['00:00:00', '23:59:59']
         valuePeriod: ['00:00:00', '23:59:59']
       },
       },
       updateGroupData: null,
       updateGroupData: null,
@@ -1014,7 +1017,7 @@ export default {
         modeValueH: 0,
         modeValueH: 0,
         modeValueM: 0,
         modeValueM: 0,
         modeValueS: 0,
         modeValueS: 0,
-        daySetting: [],
+        daySetting: ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"],
         valuePeriod: ['00:00:00', '23:59:59']
         valuePeriod: ['00:00:00', '23:59:59']
       }
       }
       this.updateGroupData = null
       this.updateGroupData = null
@@ -1491,7 +1494,7 @@ export default {
       let _mv = parseFloat(this.groupRateForm.modeValue)
       let _mv = parseFloat(this.groupRateForm.modeValue)
       // 周期读取
       // 周期读取
       if (this.groupRateForm.readMode == 0 && (isNaN(_mv) || _mv == 0)) {
       if (this.groupRateForm.readMode == 0 && (isNaN(_mv) || _mv == 0)) {
-        showAlertMsgWin(this, null, '策略设置中周期读取值不能为0!')
+        showAlertMsgWin(this, null, '策略设置中读取频率不能为0!')
         return false
         return false
       }
       }
       // 值改变读取
       // 值改变读取

+ 6 - 1
chuanyi_client2/src/components/HeaderPersonal/index.vue

@@ -2,7 +2,10 @@
   <div class="cy-person">
   <div class="cy-person">
     <el-dropdown>
     <el-dropdown>
       <div class="menu-userinfo">
       <div class="menu-userinfo">
-        <el-avatar shape="square" size="small" @error="errorHandler">
+        <el-avatar v-if="roleCodeList.indexOf(__self.clientRole) > -1" shape="square" size="small" @error="errorHandler" style="background: #FFFFFF;">
+          <img :src="avatarManager"/>
+        </el-avatar>
+        <el-avatar v-else shape="square" size="small" @error="errorHandler">
           <img :src="avatarDefault"/>
           <img :src="avatarDefault"/>
         </el-avatar>
         </el-avatar>
         <span>{{ name }}</span>
         <span>{{ name }}</span>
@@ -145,6 +148,7 @@
 
 
 <script>
 <script>
 import avatarDefault from '@/assets/images/default.png'
 import avatarDefault from '@/assets/images/default.png'
+import avatarManager from '@/assets/images/manager_user.png'
 import {mapGetters} from 'vuex'
 import {mapGetters} from 'vuex'
 import {updatePwd} from '@/api/user'
 import {updatePwd} from '@/api/user'
 import {getPubKey} from '@/utils/auth'
 import {getPubKey} from '@/utils/auth'
@@ -171,6 +175,7 @@ export default {
     return {
     return {
       roleCodeList: [],
       roleCodeList: [],
       avatarDefault: avatarDefault,
       avatarDefault: avatarDefault,
+      avatarManager: avatarManager,
       dialogPwdVisible: false,
       dialogPwdVisible: false,
       dialogAboutVisible: false,
       dialogAboutVisible: false,
       dialogNoticeVisible: false,
       dialogNoticeVisible: false,

+ 35 - 8
chuanyi_client2/src/components/LeftMenu/index.vue

@@ -1,27 +1,37 @@
 <template>
 <template>
   <el-row>
   <el-row>
-    <el-col class="cy-conn cy-logo" @click.native="goHome">
+    <el-col :class="currMenuIndex == 0 ? 'cy-conn' : 'cy-conn'"
+            @click.native="changeNavTypeAction(0)">
       <el-image :src="require('@/assets/images/home1.png')" fit="contain" class="c-logo"></el-image>
       <el-image :src="require('@/assets/images/home1.png')" fit="contain" class="c-logo"></el-image>
       <span style="margin-top: -5px;">首页</span>
       <span style="margin-top: -5px;">首页</span>
 <!--      <el-image :src="require('@/assets/images/cytxt.png')" fit="contain" class="c-logo-txt"></el-image>-->
 <!--      <el-image :src="require('@/assets/images/cytxt.png')" fit="contain" class="c-logo-txt"></el-image>-->
     </el-col>
     </el-col>
-    <el-col v-if="roleCodeList.indexOf(__self.clientRole) > -1" class="cy-conn" @click.native="createDatasourceEvent">
+    <el-col v-if="roleCodeList.indexOf(__self.clientRole) > -1"
+            :class="currMenuIndex == -1 ? 'cy-conn cy-conn-select' : 'cy-conn'"
+            @click.native="changeNavTypeAction(-1)">
       <el-image :src="require('@/assets/images/datasource.png')" fit="contain"></el-image>
       <el-image :src="require('@/assets/images/datasource.png')" fit="contain"></el-image>
       <span>数据源配置</span>
       <span>数据源配置</span>
     </el-col>
     </el-col>
-    <el-col v-if="roleCodeList.indexOf(__self.clientRole) > -1" class="cy-conn" @click.native="changeNavTypeAction(3)">
+    <el-col v-if="roleCodeList.indexOf(__self.clientRole) > -1"
+            :class="currMenuIndex == 3 ? 'cy-conn cy-conn-select' : 'cy-conn'"
+            @click.native="changeNavTypeAction(3)">
       <el-image :src="require('@/assets/images/model.png')" fit="contain"></el-image>
       <el-image :src="require('@/assets/images/model.png')" fit="contain"></el-image>
       <span>数据模型</span>
       <span>数据模型</span>
     </el-col>
     </el-col>
-    <el-col v-if="roleCodeList.indexOf(__self.clientRole) > -1" class="cy-conn" @click.native="changeNavTypeAction(1)">
+    <el-col v-if="roleCodeList.indexOf(__self.clientRole) > -1"
+            :class="currMenuIndex == 1 ? 'cy-conn cy-conn-select' : 'cy-conn'"
+            @click.native="changeNavTypeAction(1)">
       <el-image :src="require('@/assets/images/run.png')" fit="contain"></el-image>
       <el-image :src="require('@/assets/images/run.png')" fit="contain"></el-image>
       <span>运行配置</span>
       <span>运行配置</span>
     </el-col>
     </el-col>
-    <el-col v-if="roleCodeList.indexOf(__self.clientRole) > -1" class="cy-conn" @click.native="changeNavTypeAction(4)">
+    <el-col v-if="roleCodeList.indexOf(__self.clientRole) > -1"
+            :class="currMenuIndex == 4 ? 'cy-conn cy-conn-select' : 'cy-conn'"
+            @click.native="changeNavTypeAction(4)">
       <el-image :src="require('@/assets/images/users.png')" fit="contain"></el-image>
       <el-image :src="require('@/assets/images/users.png')" fit="contain"></el-image>
       <span style="width: 100%; text-align: center;">用户组</span>
       <span style="width: 100%; text-align: center;">用户组</span>
     </el-col>
     </el-col>
-    <el-col class="cy-conn" @click.native="changeNavTypeAction(2)">
+    <el-col :class="currMenuIndex == 2 ? 'cy-conn cy-conn-select' : 'cy-conn'"
+            @click.native="changeNavTypeAction(2)">
       <el-image :src="require('@/assets/images/report.png')" fit="contain"></el-image>
       <el-image :src="require('@/assets/images/report.png')" fit="contain"></el-image>
       <span>我的报表</span>
       <span>我的报表</span>
     </el-col>
     </el-col>
@@ -29,7 +39,7 @@
     <!-- 数据源配置弹出层 -->
     <!-- 数据源配置弹出层 -->
     <el-dialog
     <el-dialog
         :title="datasourceDialogTitle"
         :title="datasourceDialogTitle"
-        width="80%"
+        width="60%"
         top="10vh"
         top="10vh"
         center
         center
         v-dialog-drag-and-zoom
         v-dialog-drag-and-zoom
@@ -200,6 +210,7 @@ export default {
       connDialogVisible: false,
       connDialogVisible: false,
       labelPosition: 'top',
       labelPosition: 'top',
       chooseDatasourceType: '',
       chooseDatasourceType: '',
+      currMenuIndex: null,
       // 选择的服务类型
       // 选择的服务类型
       chooseServerType: null,
       chooseServerType: null,
       // 选择的连接服务
       // 选择的连接服务
@@ -335,6 +346,15 @@ export default {
     },
     },
     /** 左侧菜单点击事件 */
     /** 左侧菜单点击事件 */
     changeNavTypeAction(type) {
     changeNavTypeAction(type) {
+      this.currMenuIndex = type
+      if (type == 0) {
+        this.goHome()
+        return
+      }
+      if (type == -1) {
+        this.createDatasourceEvent()
+        return
+      }
       checkReportChangeStatusAction(this, () => {
       checkReportChangeStatusAction(this, () => {
         this.changeNavType(type)
         this.changeNavType(type)
       })
       })
@@ -688,6 +708,7 @@ export default {
           this.connDialogVisible = false
           this.connDialogVisible = false
           break
           break
         case 'datasource':
         case 'datasource':
+          this.currMenuIndex = null
           this.initConfigForm()
           this.initConfigForm()
           this.clearDatasourceBg()
           this.clearDatasourceBg()
           this.$refs['datasourceForm'].resetFields()
           this.$refs['datasourceForm'].resetFields()
@@ -712,6 +733,7 @@ export default {
     },
     },
     /** 弹出层关闭事件 */
     /** 弹出层关闭事件 */
     handleClose(done) {
     handleClose(done) {
+      this.currMenuIndex = null
       this.initConfigForm()
       this.initConfigForm()
       this.clearDatasourceBg()
       this.clearDatasourceBg()
       this.chooseConnServer = null
       this.chooseConnServer = null
@@ -731,8 +753,13 @@ export default {
   align-items: center;
   align-items: center;
   font-size: 12px;
   font-size: 12px;
   color: #FFFFFF;
   color: #FFFFFF;
-  margin-bottom: 15px;
   cursor: pointer;
   cursor: pointer;
+  flex-direction: column;
+  padding: 10px 0;
+}
+
+.cy-conn-select {
+  background: #606266;
 }
 }
 
 
 .cy-conn img {
 .cy-conn img {

+ 1 - 1
chuanyi_client2/src/views/index.vue

@@ -131,7 +131,7 @@ export default {
 
 
 .el-aside {
 .el-aside {
   width: 80px !important;
   width: 80px !important;
-  padding: 10px 5px;
+  padding: 0;
   background-color: #2c3e50;
   background-color: #2c3e50;
   margin-bottom: 0;
   margin-bottom: 0;
 }
 }

+ 102 - 86
chuanyi_client2/src/views/login.vue

@@ -1,83 +1,86 @@
 <template>
 <template>
   <div class="login">
   <div class="login">
-    <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
-      <i class="el-icon-setting"
-         @click="editHostEvent"
-         style="float: right; margin-top: -17px; margin-right: -10px; cursor: pointer; display: none;"></i>
-      <h3 class="title">{{ applicationName }}</h3>
-      <el-form-item prop="username">
-        <el-input
-            v-model="loginForm.username"
-            type="text"
-            auto-complete="off"
-            placeholder="帐号"
-        >
-          <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon"/>
-        </el-input>
-      </el-form-item>
-      <el-form-item prop="password">
-        <el-input
-            v-model="loginForm.password"
-            type="password"
-            auto-complete="off"
-            placeholder="密码"
-            @keyup.enter.native="handleLogin"
-        >
-          <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon"/>
-        </el-input>
-      </el-form-item>
-      <el-form-item prop="code" v-if="captchaEnabled">
-        <el-input
-            v-model="loginForm.code"
-            auto-complete="off"
-            placeholder="验证码"
-            style="width: 63%"
-            @keyup.enter.native="handleLogin"
-        >
-          <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon"/>
-        </el-input>
-        <div class="login-code">
-          <img :src="codeUrl" @click="getCode" class="login-code-img"/>
-        </div>
-      </el-form-item>
-      <el-form-item prop="ip">
-        <el-input
-            v-model="loginForm.ip"
-            type="text"
-            auto-complete="off"
-            placeholder="IP地址"
-        >
-          <svg-icon slot="prefix" icon-class="ip" class="el-input__icon input-icon"/>
-        </el-input>
-      </el-form-item>
-      <el-form-item prop="port">
-        <el-input
-            v-model="loginForm.port"
-            type="text"
-            auto-complete="off"
-            placeholder="端口号"
-        >
-          <svg-icon slot="prefix" icon-class="port" class="el-input__icon input-icon"/>
-        </el-input>
-      </el-form-item>
-      <el-checkbox v-model="loginForm.rememberMe" v-if="rememberMeView" style="margin:0px 0px 25px 0px;">记住帐号
-      </el-checkbox>
-      <el-form-item style="width:100%;">
-        <el-button
-            :loading="loading"
-            size="medium"
-            type="primary"
-            style="width:100%;"
-            @click.native.prevent="handleLogin"
-        >
-          <span v-if="!loading">登 录</span>
-          <span v-else>登录中</span>
-        </el-button>
-        <div style="float: right;" v-if="register">
-          <router-link class="link-type" :to="'/register'">立即注册</router-link>
-        </div>
-      </el-form-item>
-    </el-form>
+    <div class="login-bg">
+      <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
+        <i class="el-icon-setting"
+           @click="editHostEvent"
+           style="float: right; margin-top: -17px; margin-right: -10px; cursor: pointer; display: none;"></i>
+        <h3 class="title">{{ applicationName }}</h3>
+        <div class="title-bg"></div>
+        <el-form-item prop="username">
+          <el-input
+              v-model="loginForm.username"
+              type="text"
+              auto-complete="off"
+              placeholder="帐号"
+          >
+            <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon"/>
+          </el-input>
+        </el-form-item>
+        <el-form-item prop="password">
+          <el-input
+              v-model="loginForm.password"
+              type="password"
+              auto-complete="off"
+              placeholder="密码"
+              @keyup.enter.native="handleLogin"
+          >
+            <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon"/>
+          </el-input>
+        </el-form-item>
+        <el-form-item prop="code" v-if="captchaEnabled">
+          <el-input
+              v-model="loginForm.code"
+              auto-complete="off"
+              placeholder="验证码"
+              style="width: 63%"
+              @keyup.enter.native="handleLogin"
+          >
+            <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon"/>
+          </el-input>
+          <div class="login-code">
+            <img :src="codeUrl" @click="getCode" class="login-code-img"/>
+          </div>
+        </el-form-item>
+        <el-form-item prop="ip">
+          <el-input
+              v-model="loginForm.ip"
+              type="text"
+              auto-complete="off"
+              placeholder="IP地址"
+          >
+            <svg-icon slot="prefix" icon-class="ip" class="el-input__icon input-icon"/>
+          </el-input>
+        </el-form-item>
+        <el-form-item prop="port">
+          <el-input
+              v-model="loginForm.port"
+              type="text"
+              auto-complete="off"
+              placeholder="端口号"
+          >
+            <svg-icon slot="prefix" icon-class="port" class="el-input__icon input-icon"/>
+          </el-input>
+        </el-form-item>
+        <el-checkbox v-model="loginForm.rememberMe" v-if="rememberMeView" style="margin:0px 0px 25px 0px;">记住帐号
+        </el-checkbox>
+        <el-form-item style="width:100%;">
+          <el-button
+              :loading="loading"
+              size="medium"
+              type="primary"
+              style="width:100%;"
+              @click.native.prevent="handleLogin"
+          >
+            <span v-if="!loading">登 录</span>
+            <span v-else>登录中</span>
+          </el-button>
+          <div style="float: right;" v-if="register">
+            <router-link class="link-type" :to="'/register'">立即注册</router-link>
+          </div>
+        </el-form-item>
+      </el-form>
+    </div>
     <!--  底部  -->
     <!--  底部  -->
     <div class="el-login-footer">
     <div class="el-login-footer">
       <span>Copyright © {{ copyrightDate }} 重庆川仪控制系统有限公司版权所有</span>
       <span>Copyright © {{ copyrightDate }} 重庆川仪控制系统有限公司版权所有</span>
@@ -287,25 +290,38 @@ export default {
 
 
 <style rel="stylesheet/scss" lang="scss">
 <style rel="stylesheet/scss" lang="scss">
 .login {
 .login {
-  display: flex;
-  justify-content: center;
-  align-items: center;
   height: 100%;
   height: 100%;
-  background-color: #2c3e50;
-  //background-image: url("../assets/images/loginbg.png");
+  background-image: url("../assets/images/cqcybg.png");
   background-size: cover;
   background-size: cover;
 }
 }
 
 
 .title {
 .title {
-  margin: 0px auto 30px auto;
+  margin: 0px auto 5px auto;
   text-align: center;
   text-align: center;
-  color: #707070;
+  font-weight: 600;
+  color: black;
+}
+
+.title-bg {
+  height: 4px;
+  width: 35px;
+  background: #1890ff;
+  margin: auto auto 25px;
+}
+
+.login-bg {
+  display: flex;
+  justify-content: flex-end;
+  height: 100%;
+  align-items: center;
+  margin-right: 10%;
 }
 }
 
 
 .login-form {
 .login-form {
   border-radius: 6px;
   border-radius: 6px;
   background: #ffffff;
   background: #ffffff;
   width: 400px;
   width: 400px;
+  height: 425px;
   padding: 25px 25px 5px 25px;
   padding: 25px 25px 5px 25px;
 
 
   .el-input {
   .el-input {
@@ -347,7 +363,7 @@ export default {
   bottom: 0;
   bottom: 0;
   width: 100%;
   width: 100%;
   text-align: center;
   text-align: center;
-  color: #fff;
+  color: #4a4a4a;
   font-family: Arial;
   font-family: Arial;
   font-size: 12px;
   font-size: 12px;
   letter-spacing: 1px;
   letter-spacing: 1px;

+ 8 - 1
chuanyi_client2/src/views/run_config/index.vue

@@ -1273,6 +1273,7 @@ export default {
         params.endBelongTime = getNowFormatDate('yyyy-MM-dd') + ' 18:00:00'
         params.endBelongTime = getNowFormatDate('yyyy-MM-dd') + ' 18:00:00'
       }
       }
       this.getChartData(params, (res) => {
       this.getChartData(params, (res) => {
+        console.log(res)
         let result = (res instanceof Array) ? res : []
         let result = (res instanceof Array) ? res : []
         // 系列
         // 系列
         let series = info.option.series
         let series = info.option.series
@@ -1287,7 +1288,13 @@ export default {
                 'value': result[j].value
                 'value': result[j].value
               })
               })
             } else {
             } else {
-              temp.data = result[i].dataList ? result[i].dataList : []
+              let _t = []
+              let t = result[i].dataList ? result[i].dataList : []
+              t.forEach((temp) => {
+                _t.push(parseFloat(temp))
+              })
+              console.log(_t)
+              temp.data = _t
             }
             }
           }
           }
         }
         }