2021与蓝度共同重构项目,服务端
liuhaonan
2022-05-23 28f1086fd40ef730837690e1346cc968b880cccd
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
@@ -184,6 +184,7 @@
        List<LightTaskPoleRelation> newPoleAll = new ArrayList<>();
        List<LightTaskPoleRelation> newPoleSuccess = new ArrayList<>();
        List<LightTaskPoleRelation> newPoleFail = new ArrayList<>();
        if (CollectionUtil.isNotEmpty(newPoleIdList)) {
            //新灯杆下发新任务
            Map<String, List<LightTaskPoleRelation>> newPoleMap = sendControllerFrame(newPoleIdList, lightTask.getFramePayload(), param.getLightAddress());
@@ -191,6 +192,7 @@
            //newPoleAll集合后面用于存储关系表
            newPoleAll = newPoleMap.getOrDefault("all", new ArrayList<>());
            newPoleSuccess = newPoleMap.getOrDefault("success", new ArrayList<>());
            newPoleFail = newPoleMap.getOrDefault("fail", new ArrayList<>());
        }
        List<LightTaskPoleRelation> oldPoleFail = new ArrayList<>();
@@ -203,14 +205,14 @@
        }
        List<LightTaskPoleRelation> closePoleFail = new ArrayList<>();
        List<LightTaskPoleRelation> closeSuccess = new ArrayList<>();
        List<LightTaskPoleRelation> closePoleSuccess = new ArrayList<>();
        if (CollectionUtil.isNotEmpty(closeLight)) {
            //执行关灯内帧
            String framePayloadClose = "7f0000007f173b00";
            //覆盖操作灯杆
            Map<String, List<LightTaskPoleRelation>> closePoleMap = sendControllerFrame(closeLight, framePayloadClose, param.getLightAddress());
            closePoleFail = closePoleMap.getOrDefault("fail", new ArrayList<>());
            closeSuccess = closePoleMap.getOrDefault("success", new ArrayList<>());
            closePoleSuccess = closePoleMap.getOrDefault("success", new ArrayList<>());
        }
        //有失敗的需要保存旧的任務
@@ -231,12 +233,7 @@
                poleCodeList = poleList.stream().map(Pole::getDeviceCode).collect(Collectors.toList());
            }
        }
        String content = "{任务ID:" + newLightTask.getTaskId()
                + ", 任务名:" + newLightTask.getTaskName()
                + "},{内帧指令" + newLightTask.getFramePayload()
                + ", 灯杆ID:" + param.getPoleIdList().toString()
                + ", 控制的灯头地址:" + param.getLightAddress()
                + " }";
        String content = "{任务ID:" + newLightTask.getTaskId() + ", 任务名:" + newLightTask.getTaskName() + "},{内帧指令" + newLightTask.getFramePayload() + ", 灯杆ID:" + param.getPoleIdList().toString() + ", 控制的灯头地址:" + param.getLightAddress() + " }";
        StoreOperationRecordsUtils.storeOperationData(poleCodeList, null, "编辑路灯任务", content);
        /**
         * 编辑路灯任务日志记录结束
@@ -279,28 +276,45 @@
        /**
         * 下发路灯任务日志记录开始
         */
        String content1 = "{任务ID:" + newLightTask.getTaskId()
                + ", 任务名:" + newLightTask.getTaskName()
                + "}," + " 灯杆ID:" + param.getPoleIdList().toString()
                + " }";
        String content1 = "{任务ID:" + newLightTask.getTaskId() + ", 任务名:" + newLightTask.getTaskName() + "}," + " 灯杆ID:" + param.getPoleIdList().toString() + " }";
        StoreOperationRecordsUtils.storeOperationData(poleCodeList, null, "下发路灯任务", content1);
        /**
         * 下发路灯任务日志记录结束
         */
        if(oldPoleFail.isEmpty()&&closePoleFail.isEmpty()){
            //全部成功
            return 0;
        }else if(!closeLight.isEmpty()||!oldPoleFail.isEmpty()){
            //关灯失败  或者覆盖任务失败
            return 1;
        }else if(newPoleSuccess.isEmpty()&&oldPoleSuccess.isEmpty()&&closeSuccess.isEmpty()){
            //编辑全部失败
            return 2;
        }else {
            //其他情况
            return -1;
        }
//        if (oldPoleFail.isEmpty() && closePoleFail.isEmpty()) {
//            //全部成功
//            return 0;
//        } else if (!closeLight.isEmpty() || !oldPoleFail.isEmpty()) {
//            //关灯失败  或者覆盖任务失败
//            return 1;
//        } else if (newPoleSuccess.isEmpty() && oldPoleSuccess.isEmpty() && closeSuccess.isEmpty()) {
//            //编辑全部失败
//            return 2;
//        } else {
//            //其他情况
//            return -1;
//        }
//        if (newPoleFail.isEmpty() && oldPoleFail.isEmpty() && closePoleFail.isEmpty()) {
//            //编辑成功
//            return 0;
//        } else if (newPoleSuccess.isEmpty() && oldPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) {
//            //编辑失败, 新旧任务都有
//            return 1;
//        } else if ((newPoleSuccess.isEmpty() && newPoleFail.isEmpty())) {
//            if (oldPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) {
//                //编辑失败,保留原先任务没有改变,只有旧任务
//                return 2;
//            } else {
//                //编辑部分成功部分失败,新旧任务同时存在
//                return 3;
//            }
//        } else {
//            return -1;
//        }
        return 0;
    }