Browse Source

修改饼图柱状图折现图获取数据不用数据模型,表格获取数据不用数据模型

gt 2 years ago
parent
commit
abe8b05535

+ 3 - 3
chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/DataSource.java

@@ -52,15 +52,15 @@ public class DataSource implements Serializable {
      */
     private Integer isAnonymous;
     /**
-     * 是否匿名;0不匿名,1匿名
+     * 驱动的注册表id
      */
     private String clsId;
     /**
-     * 是否匿名;0不匿名,1匿名
+     * 驱动名称
      */
     private String progId;
     /**
-     * 是否匿名;0不匿名,1匿名
+     * 驱动描述
      */
     private String driverDescribe;
     /**

+ 16 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/ItemGroupServiceImpl.java

@@ -8,6 +8,7 @@ import com.judong.chuanyiserver.dao.ItemGroupDao;
 import com.judong.chuanyiserver.entity.*;
 import com.judong.chuanyiserver.entity.Item;
 import com.judong.chuanyiserver.enums.DataSourceTypeEnum;
+import com.judong.chuanyiserver.enums.OpcDaDriverEnum;
 import com.judong.chuanyiserver.enums.ResultEnum;
 import com.judong.chuanyiserver.exception.CustomException;
 import com.judong.chuanyiserver.service.ItemGroupService;
@@ -202,6 +203,21 @@ public class ItemGroupServiceImpl implements ItemGroupService {
                 //读取数据并保存
                 Timer timer = new Timer();
                 List<String> itemList = itemGroupDao.getItemByIdChange(id);
+                //如果驱动是kepserver,则不进行变化
+                if (dataSource.getClsId().equals(OpcDaDriverEnum.OPCIFIX.getValue())) {
+                    if (Blank.isNotEmpty(itemList)) {
+                        for (int i = 0; i < itemList.size(); i++) {
+                            String itemName = itemList.get(i);
+                            int j = itemName.indexOf(".");
+                            String s = itemName.substring(j + 1);
+                            itemList.set(i, itemName.substring(0, j) + s.substring(s.indexOf(".")));
+                        }
+                    }
+                } else if (dataSource.getClsId().equals(OpcDaDriverEnum.WINCC.getValue())) {
+
+                } else {
+                    throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "目前未适配此种驱动类型");
+                }
                 String[] items = itemList.toArray(new String[]{});
                 timer.schedule(new OpcTimerTask(redisUtil, opcAsyncTask, itemGroupDao, timer, itemGroup, dataSource, map, items),
                         DateUtil.strChangeDate(DateUtil.getCurrentYmd() + " " + itemGroup.getStartReadTime()), ConstantStr.PERIOD_DAY);

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

@@ -66,30 +66,6 @@ public class RawDataServiceImpl implements RawDataService {
                 }
             }
         }
-        //判断传入的itemList是否有数据模型
-        Boolean flage = false;
-        for (Item item : itemList) {
-            if (Blank.isNotEmpty(item.getDataModelId())) {
-                flage = true;
-                break;
-            }
-        }
-        List<DataModel> dataModelList = new ArrayList<>();
-        //将请求过来的itemList的数据模型转换为map<itemName,DataModel>
-        Map<String, DataModel> dmMap = new HashMap<>();
-        if (flage) {
-            dataModelList = dataModelDao.getDmListByItemList(itemList);
-            if (Blank.isNotEmpty(dataModelList)) {
-                for (DataModel dm : dataModelList) {
-                    for (Item item : itemList) {
-                        if (item.getDataModelId() == dm.getId()) {
-                            dmMap.put(item.getItemName(), dm);
-                            break;
-                        }
-                    }
-                }
-            }
-        }
 
         ItemGroup itemGroup = itemGroupDao.getItemGroupById(itemGroupId);
         Integer remainder = itemGroupId % ConstantStr.SUB_TABLE_NUM;
@@ -99,18 +75,10 @@ public class RawDataServiceImpl implements RawDataService {
                 JSONObject jsonObject = new JSONObject();
                 String itemName = item.getItemName();
                 List<RawData> rawDataList = rawDataDao.getLineOrBarData(itemGroupId, remainder, itemGroup.getDataSourceId(), itemName);
-                DataModel dataModel = dmMap.get(itemName);
                 if (Blank.isNotEmpty(rawDataList)) {
                     BigDecimal[] data = new BigDecimal[6];
-                    if (Blank.isNotEmpty(dataModel)) {
-                        String mathParameter = dataModel.getMathParameter();
-                        String operationRule = dataModel.getOperationRule();
-                        for (int i = 0; i < rawDataList.size(); i++) {
-                            data[i] = MathUtil.quadricOperation(mathParameter, operationRule, Double.valueOf(rawDataList.get(i).getDataValue()));
-                        }
-                    }
                     for (int i = 0; i < rawDataList.size(); i++) {
-                        data[i] = Blank.isNotEmpty(dataModel) ? MathUtil.quadricOperation(dataModel.getMathParameter(), dataModel.getOperationRule(), Double.valueOf(rawDataList.get(i).getDataValue())) : new BigDecimal(rawDataList.get(i).getDataValue());
+                        data[i] = new BigDecimal(rawDataList.get(i).getDataValue());
                     }
                     if (rawDataList.size() < 6) {
                         for (int i = rawDataList.size(); i < 6; i++) {
@@ -135,8 +103,7 @@ public class RawDataServiceImpl implements RawDataService {
                 Boolean isFlage = true;
                 for (Map<String, Object> map : dataList) {
                     if (map.get("item_name").toString().equals(itemName)) {
-                        DataModel dataModel = dmMap.get(itemName);
-                        jsonObject.put("value", Blank.isNotEmpty(dmMap.get(itemList.get(i).getItemName())) ? MathUtil.quadricOperation(dataModel.getMathParameter(), dataModel.getOperationRule(), Double.valueOf(map.get("data_value").toString())).toString() : map.get("data_value").toString());
+                        jsonObject.put("value", new BigDecimal(map.get("data_value").toString()));
                         isFlage = false;
                         break;
                     }
@@ -157,31 +124,6 @@ public class RawDataServiceImpl implements RawDataService {
     @Override
     public Result getTableData(List<TableDataDto> tableDataDtoList) {
         List<JSONObject> jsonObjectList = new ArrayList<>();
-        Map<String, Object> map = new HashMap<>();
-        //判断传入的tableDataDtoList是否有数据模型
-        Boolean flage = false;
-        for (TableDataDto tableDataDto : tableDataDtoList) {
-            if (Blank.isNotEmpty(tableDataDto.getDataModelId())) {
-                flage = true;
-                break;
-            }
-        }
-        List<DataModel> dataModelList = new ArrayList<>();
-        //将数据模型用map<itemGroupId.itemName,DataModel>形式包装起来
-        Map<String, DataModel> dmMap = new HashMap<>();
-        if (flage) {
-            dataModelList = dataModelDao.getDmListByTdList(tableDataDtoList);
-            if (Blank.isNotEmpty(dataModelList)) {
-                for (DataModel dm : dataModelList) {
-                    for (TableDataDto tableDataDto : tableDataDtoList) {
-                        if (tableDataDto.getDataModelId() == dm.getId()) {
-                            dmMap.put(tableDataDto.getItemGroupId() + "." + tableDataDto.getItemName(), dm);
-                            break;
-                        }
-                    }
-                }
-            }
-        }
 
         for (TableDataDto tableDataDto : tableDataDtoList) {
             JSONObject jsonObject = new JSONObject();
@@ -205,14 +147,6 @@ public class RawDataServiceImpl implements RawDataService {
             } else {
                 throw new CustomException(ResultEnum.SERVER_ERROR.getRespCode(), "目前还没有此种类型的连接方式");
             }
-            jsonObject.put("rawDataList", tableDataList);
-            DataModel dataModel = dmMap.get(itemGroupId + "." + itemName);
-            if (Blank.isNotEmpty(tableDataList)) {
-                for (int j = 0; j < tableDataList.size(); j++) {
-                    tableDataList.set(j, Blank.isNotEmpty(dataModel) ? MathUtil.quadricOperation(dataModel.getMathParameter(), dataModel.getOperationRule(), Double.valueOf(tableDataList.get(j))).toString() : tableDataList.get(j));
-                }
-            }
-            map.put(itemGroupId + "." + itemName, tableDataList);
             jsonObject.put("itemName", itemName);
             jsonObject.put("describe", Blank.isEmpty(item) ? "" : item.getDescribe());
             jsonObject.put("itemGroupId", itemGroupId);

+ 11 - 6
chuanyi_server/src/main/java/com/judong/chuanyiserver/util/TestUtil.java

@@ -58,33 +58,38 @@ public class TestUtil {
     }
 
     @Test
-    public void test3(){
-        ConnectionInformation ci =new ConnectionInformation();
-        Server server =null;
+    public void test3() {
+        ConnectionInformation ci = new ConnectionInformation();
+        Server server = null;
         try {
             ci.setHost("192.168.1.99");
             ci.setDomain("");
             ci.setUser("administrator");
             ci.setPassword("asdf");
-            ci.setClsid("3C5702A2-EB8E-11D4-83A4-00105A984CBD");
+            ci.setClsid("7BC0CC8E-482C-47CA-ABDC-0FE7F9C6E729");
+//            ci.setClsid("3C5702A2-EB8E-11D4-83A4-00105A984CBD");
 //            ci.setClsid("75d00bbb-dda5-11d1-b944-9e614d000000");
             server = new Server(ci, Executors.newSingleThreadScheduledExecutor());
 
             server.connect();
             Group group = server.addGroup();
+//            Item item = group.addItem("通道 1.设备 1._System._SecondsInError");
+//            Item item = group.addItem("通道 1.设备 1._System._SecondsInError");
+
 //            Item item = group.addItem("FIX.RM.LT001.F_CV");
             Item item = group.addItem("FIX.LT001.F_CV");
+
 //            Item item = group.addItem("@LOCALMACHINE::.内部变量.AI2");
 //            Item item = group.addItem("AI2");
 //            opcAsyncTask.read(item);
 
-                Map<String, Object> value = KepOpcServerUtil.getVal(item.read(true).getValue());
+            Map<String, Object> value = KepOpcServerUtil.getVal(item.read(true).getValue());
             System.err.println(value);
 
 
 //            dumpTree(server.getTreeBrowser().browse(), 0);
 //            dumpFlat(server.getFlatBrowser());
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }