Crunchy
2024-08-03 d6520e90ce34127c0a994e22e3fb54767aebecc0
cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
@@ -180,7 +180,14 @@
        Map<String, Object> map = DataAcquisition.dataAcquisitionEntrance(list1, device.get(0), entrustCode, sampleCode, ip);
        // 4、造循环次数
        if (ObjectUtils.isNotEmpty(map)) {
            return Result.success(DataAcquisition.createFrequency(entrustCode, sampleCode, map));
            Object result;
            Map<String, Object> frequency = DataAcquisition.createFrequency(entrustCode, sampleCode, map);
            if (ObjectUtils.isEmpty(device.get(0).getEntrustCode()) && ObjectUtils.isEmpty(device.get(0).getSampleCode())) {
                result = formulaCalculation(frequency, true);
            } else {
                result = formulaCalculation(frequency, false);
            }
            return Result.success(result);
        } else {
            return Result.success(null);
        }
@@ -990,7 +997,7 @@
    }
    @Override
    public Object formulaCalculation(Map<String, Object> map) {
    public Object formulaCalculation(Map<String, Object> map, Boolean isAdopt) {
        map.forEach((key, value) -> {
            Map<String, Object> jsonObject = JSONObject.parseObject(JSON.toJSONString(map.get(key)), Map.class);
            for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
@@ -1001,8 +1008,6 @@
                    if (formulaData.containsKey("result") && formulaData.containsKey("isCalculation") &&
                    formulaData.containsKey("formula")) {
                        String formula = formulaData.get("formula").toString();
                        Boolean isCalculation = Boolean.valueOf(formulaData.get("isCalculation").toString());
                        if (isCalculation) {
                            List<Object> resultList = new ArrayList<>();
                            try {
                                resultList = JSONObject.parseArray(JSON.toJSONString(formulaData.get("result")), Object.class);
@@ -1011,14 +1016,19 @@
                                resultList.add(result);
                            }
                            ArrayList<Object> list = new ArrayList<>();
                            resultList.forEach(i -> {
                                List<Object> strings = Arrays.asList(i.toString().split(","));
                                String result = calculationFormula(strings, formula);
                            if (isAdopt) {
                                String result = calculationFormula(resultList, formula);
                                list.add(result);
                            });
                            } else {
                                resultList.forEach(i -> {
                                    List<Object> strings = Arrays.asList(i.toString().split(","));
                                    String result = calculationFormula(strings, formula);
                                    list.add(result);
                                });
                            }
                            formulaData.put("isCalculation", false);
                            formulaData.put("result", list);
                        }
                    }
                    jsonObject.put(sonKey, formulaData);
                }