Administrator
2024-06-20 91f6317d381bb399d31781c59cb4d21194d36517
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
@@ -71,7 +71,7 @@
    public BaseResponse<Boolean> open(@RequestBody @Valid ValveOpen valve, BindingResult bindingResult) {
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyMMddHHmmss");
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        Long intakeId = valve.getIntakeId();
@@ -87,7 +87,7 @@
        if(vcId == null) {
            vcId = commandSv.getVcIdByIntakeId(intakeId);
            if(vcId == null) {
                return BaseResponseUtils.buildFail(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
                return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
            }
        }
@@ -99,10 +99,10 @@
        // 虚拟卡ID换虚拟卡对象
        VoVirtualCard vc = commandSv.getVcById(vcId);
        if(vc == null) {
            return BaseResponseUtils.buildFail(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
        }
        if(vc.getInUse() == 1) {
            return BaseResponseUtils.buildFail(RemoteResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getMessage());
            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getMessage());
        }
        // 获取水价
@@ -111,7 +111,7 @@
        // 取水口ID换阀控器地址及通讯协议
        JSONObject job_rtu = getRtu(intakeId, null);
        if(job_rtu == null) {
            return BaseResponseUtils.buildError(RemoteResultCode.RTU_NOT_EXIST.getMessage());
            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
        }
        String rtuAddr = job_rtu.getString("rtuAddr");
        String protocol = job_rtu.getString("protocol");
@@ -159,8 +159,8 @@
                    //rmCommandHistory.setId(comId);
                    //rmCommandHistory.setResult((byte)0);
                    //commandSv.updateCommandResult(rmCommandHistory);
                    return BaseResponseUtils.buildFail(response_CallBack.getMsg());
                    //return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg());
                    //return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
                }
                // 回调成功,再判断执行是否成功
@@ -170,19 +170,20 @@
                System.out.println(job_subData);
                Boolean dealResult = job_subData.getBoolean("success");
                if(!dealResult) {
                    return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
                }
                /**
                 * 执行成功
                 * 更改虚拟卡状态:是否使用中、最后操作、最后操作时间
                 */
                //SeVirtualCard virtualCard = new SeVirtualCard();
                //virtualCard.setId(vcId);
                //virtualCard.setInUse((byte) 1);
                //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
                //virtualCard.setLastOperateTime(new Date());
                //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
//                SeVirtualCard virtualCard = new SeVirtualCard();
//                virtualCard.setId(vcId);
//                virtualCard.setInUse((byte) 1);
//                virtualCard.setIntakeId(intakeId);
//                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
//                virtualCard.setLastOperateTime(new Date());
//                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
                // 回调返回的内容
                //Data myData = (Data)response_CallBack.getContent();
@@ -197,7 +198,7 @@
            } else {
                // 请求失败
                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
                return BaseResponseUtils.buildFail(job_param.getString("message"));
                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
            }
        } else if(protocol.equals("p206V1_0_1")) {
            // 获取功能码
@@ -234,31 +235,39 @@
                    rmCommandHistory.setId(comId);
                    rmCommandHistory.setResult((byte)0);
                    commandSv.updateCommandResult(rmCommandHistory);
                    return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
                }
                // 回调超时
                if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) {
                    /**
                     * 糊掉超时,暂时认为执行成功
                     * 更改虚拟卡状态:是否使用中、最后操作、最后操作时间
                     * 返回开阀需要的参数
                     * 回调超时,暂时认为执行失败
                     * 命令置为失败
                     * 虚拟卡依旧保持使用中的状态
                     * 不返回关阀参数
                     */
                    SeVirtualCard virtualCard = new SeVirtualCard();
                    virtualCard.setId(vcId);
                    virtualCard.setInUse((byte) 1);
                    virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
                    virtualCard.setLastOperateTime(new Date());
                    seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
                    JSONObject job_response = new JSONObject();
                    job_response.put("message", RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
                    job_response.put("rtuAddr", rtuAddr);
                    job_response.put("vcNum", vc.getVcNum());
                    job_response.put("orderNo", orderNo);
                    //job_response.put("operator", operator);
                    return BaseResponseUtils.buildSuccess(job_response);
                    //return BaseResponseUtils.buildSuccess(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
                    rmCommandHistory = new RmCommandHistory();
                    rmCommandHistory.setId(comId);
                    rmCommandHistory.setResult((byte)0);
                    commandSv.updateCommandResult(rmCommandHistory);
                    //SeVirtualCard virtualCard = new SeVirtualCard();
                    //virtualCard.setId(vcId);
                    //virtualCard.setInUse((byte) 1);
                    //virtualCard.setIntakeId(intakeId);
                    //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
                    //virtualCard.setLastOperateTime(new Date());
                    //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
                    //JSONObject job_response = new JSONObject();
                    //job_response.put("message", RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
                    //job_response.put("rtuAddr", rtuAddr);
                    //job_response.put("vcNum", vc.getVcNum());
                    //job_response.put("orderNo", orderNo);
                    //return BaseResponseUtils.buildSuccess(job_response);
                    return BaseResponseUtils.buildErrorMsg(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
                }
                // 回调成功,再判断执行是否成功
@@ -268,7 +277,7 @@
                System.out.println(job_subData);
                Boolean dealResult = job_subData.getBoolean("success");
                if(!dealResult) {
                    return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
                }
                /**
@@ -278,6 +287,7 @@
                SeVirtualCard virtualCard = new SeVirtualCard();
                virtualCard.setId(vcId);
                virtualCard.setInUse((byte) 1);
                virtualCard.setIntakeId(intakeId);
                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
                virtualCard.setLastOperateTime(new Date());
                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
@@ -297,10 +307,10 @@
            } else {
                // 请求失败
                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
                return BaseResponseUtils.buildFail(job_param.getString("message"));
                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
            }
        } else {
            return BaseResponseUtils.buildFail("系统暂不支持该协议");
            return BaseResponseUtils.buildErrorMsg("系统暂不支持该协议");
        }
    }
@@ -316,7 +326,7 @@
    public BaseResponse<Boolean> close(@RequestBody @Valid ValveClose valve, BindingResult bindingResult) {
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyMMddHHmmss");
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        String rtuAddr = valve.getRtuAddr();
@@ -333,7 +343,7 @@
        // 阀控器地址换取水口ID和通讯协议
        JSONObject job_rtu = getRtu(null, rtuAddr);
        if(job_rtu == null) {
            return BaseResponseUtils.buildError(RemoteResultCode.RTU_NOT_EXIST.getMessage());
            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
        }
        Long intakeId = job_rtu.getLong("intakeId");
        String protocol = job_rtu.getString("protocol");
@@ -373,8 +383,8 @@
                    //rmCommandHistory.setId(comId);
                    //rmCommandHistory.setResult((byte)0);
                    //commandSv.updateCommandResult(rmCommandHistory);
                    return BaseResponseUtils.buildFail(response_CallBack.getMsg());
                    //return BaseResponseUtils.buildError(WechatResultCode.GET_RESULT_ERROR.getMessage());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg());
                    //return BaseResponseUtils.buildErrorMsgMsg(WechatResultCode.GET_RESULT_ERROR.getMessage());
                }
                // 回调成功,再判断执行是否成功
@@ -384,20 +394,19 @@
                System.out.println(job_subData);
                Boolean dealResult = job_subData.getBoolean("success");
                if(!dealResult) {
                    return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
                }
                /**
                 * 执行成功
                 * 更改虚拟卡状态:是否使用中、最后操作、最后操作时间
                 */
                //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
                //SeVirtualCard virtualCard = new SeVirtualCard();
                //virtualCard.setId(vcId);
                //SeVirtualCard virtualCard = seVirtualCardMapper.getVcCardByNum(vcNum);
                //virtualCard.setInUse((byte) 0);
                //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
                //virtualCard.setIntakeId(null);
                //virtualCard.setLastOperate(LastOperateENUM.CLOSE_VALVE.getCode());
                //virtualCard.setLastOperateTime(new Date());
                //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
                //seVirtualCardMapper.updateByPrimaryKey(virtualCard);
                // 回调返回的内容
                Data myData = (Data)response_CallBack.getContent();
@@ -405,7 +414,7 @@
            } else {
                // 请求失败
                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
                return BaseResponseUtils.buildFail(job_param.getString("message"));
                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
            }
        } else if(protocol.equals("p206V1_0_1")) {
            // 获取功能码
@@ -440,23 +449,30 @@
                    rmCommandHistory.setId(comId);
                    rmCommandHistory.setResult((byte)0);
                    commandSv.updateCommandResult(rmCommandHistory);
                    return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
                }
                // 回调超时
                if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) {
                    /**
                     * 糊掉超时,暂时认为执行成功
                     * 更改虚拟卡状态:是否使用中、最后操作、最后操作时间
                     * 回调超时,暂时认为执行失败
                     * 命令置为失败
                     * 虚拟卡依旧保持使用中的状态
                     */
                    Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
                    SeVirtualCard virtualCard = new SeVirtualCard();
                    virtualCard.setId(vcId);
                    virtualCard.setInUse((byte) 0);
                    virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
                    virtualCard.setLastOperateTime(new Date());
                    seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
                    return BaseResponseUtils.buildSuccess(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
                    rmCommandHistory = new RmCommandHistory();
                    rmCommandHistory.setId(comId);
                    rmCommandHistory.setResult((byte)0);
                    commandSv.updateCommandResult(rmCommandHistory);
                    //SeVirtualCard virtualCard = seVirtualCardMapper.getVcCardByNum(vcNum);
                    //virtualCard.setInUse((byte) 0);
                    //virtualCard.setIntakeId(null);
                    //virtualCard.setLastOperate(LastOperateENUM.CLOSE_VALVE.getCode());
                    //virtualCard.setLastOperateTime(new Date());
                    //seVirtualCardMapper.updateByPrimaryKey(virtualCard);
                    return BaseResponseUtils.buildErrorMsg(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
                }
                // 回调成功,再判断执行是否成功
@@ -466,20 +482,19 @@
                System.out.println(job_subData);
                Boolean dealResult = job_subData.getBoolean("success");
                if(!dealResult) {
                    return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
                }
                /**
                 * 执行成功
                 * 更改虚拟卡状态:是否使用中、最后操作、最后操作时间
                 */
                Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
                SeVirtualCard virtualCard = new SeVirtualCard();
                virtualCard.setId(vcId);
                SeVirtualCard virtualCard = seVirtualCardMapper.getVcCardByNum(vcNum);
                virtualCard.setInUse((byte) 0);
                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
                virtualCard.setIntakeId(null);
                virtualCard.setLastOperate(LastOperateENUM.CLOSE_VALVE.getCode());
                virtualCard.setLastOperateTime(new Date());
                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
                seVirtualCardMapper.updateByPrimaryKey(virtualCard);
                // 回调返回的内容
                Data myData = (Data)response_CallBack.getContent();
@@ -487,10 +502,10 @@
            } else {
                // 请求失败
                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
                return BaseResponseUtils.buildFail(job_param.getString("message"));
                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
            }
        } else {
            return BaseResponseUtils.buildFail("系统暂不支持该协议");
            return BaseResponseUtils.buildErrorMsg("系统暂不支持该协议");
        }
    }
@@ -506,15 +521,21 @@
    public BaseResponse<Boolean> closeByIntake(@RequestBody @Valid DtoBase dtoBase, BindingResult bindingResult) {
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyMMddHHmmss");
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        Long intakeId = dtoBase.getIntakeId();
        Long operator = dtoBase.getOperator();
        VoUnclosedParam voUnclosedParam = commandSv.getUncloseParam(intakeId);
        VoUnclosedParam voUnclosedParam = null;
        try {
            voUnclosedParam = commandSv.getUncloseParam(intakeId);
        }catch (Exception e) {
            return BaseResponseUtils.buildErrorMsg("获取未关阀信息错误");
        }
        if(voUnclosedParam == null) {
            return BaseResponseUtils.buildFail(RemoteResultCode.VALVE_CLOSED.getMessage());
            return BaseResponseUtils.buildSuccess(RemoteResultCode.VALVE_CLOSED.getMessage());
        }
        String rtuAddr = voUnclosedParam.getRtuAddr();
        String vcNum = voUnclosedParam.getVcNum();
@@ -529,7 +550,7 @@
        // 阀控器地址换取水口ID和通讯协议
        JSONObject job_rtu = getRtu(null, rtuAddr);
        if(job_rtu == null) {
            return BaseResponseUtils.buildError(RemoteResultCode.RTU_NOT_EXIST.getMessage());
            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
        }
        //Long intakeId = job_rtu.getLong("intakeId");
        String protocol = job_rtu.getString("protocol");
@@ -569,8 +590,8 @@
                    //rmCommandHistory.setId(comId);
                    //rmCommandHistory.setResult((byte)0);
                    //commandSv.updateCommandResult(rmCommandHistory);
                    return BaseResponseUtils.buildFail(response_CallBack.getMsg());
                    //return BaseResponseUtils.buildError(WechatResultCode.GET_RESULT_ERROR.getMessage());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg());
                    //return BaseResponseUtils.buildErrorMsgMsg(WechatResultCode.GET_RESULT_ERROR.getMessage());
                }
                // 回调成功,再判断执行是否成功
@@ -580,7 +601,7 @@
                System.out.println(job_subData);
                Boolean dealResult = job_subData.getBoolean("success");
                if(!dealResult) {
                    return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
                }
                /**
@@ -601,7 +622,7 @@
            } else {
                // 请求失败
                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
                return BaseResponseUtils.buildFail(job_param.getString("message"));
                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
            }
        } else if(protocol.equals("p206V1_0_1")) {
            // 获取功能码
@@ -636,23 +657,30 @@
                    rmCommandHistory.setId(comId);
                    rmCommandHistory.setResult((byte)0);
                    commandSv.updateCommandResult(rmCommandHistory);
                    return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
                }
                // 回调超时
                if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) {
                    /**
                     * 糊掉超时,暂时认为执行成功
                     * 更改虚拟卡状态:是否使用中、最后操作、最后操作时间
                     * 回调超时,暂时认为执行失败
                     * 命令置为失败
                     * 虚拟卡依旧保持使用中的状态
                     */
                    Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
                    SeVirtualCard virtualCard = new SeVirtualCard();
                    virtualCard.setId(vcId);
                    virtualCard.setInUse((byte) 0);
                    virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
                    virtualCard.setLastOperateTime(new Date());
                    seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
                    return BaseResponseUtils.buildSuccess(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
                    rmCommandHistory = new RmCommandHistory();
                    rmCommandHistory.setId(comId);
                    rmCommandHistory.setResult((byte)0);
                    commandSv.updateCommandResult(rmCommandHistory);
                    //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
                    //SeVirtualCard virtualCard = new SeVirtualCard();
                    //virtualCard.setId(vcId);
                    //virtualCard.setInUse((byte) 0);
                    //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
                    //virtualCard.setLastOperateTime(new Date());
                    //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
                    return BaseResponseUtils.buildErrorMsg(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
                }
                // 回调成功,再判断执行是否成功
@@ -662,7 +690,7 @@
                System.out.println(job_subData);
                Boolean dealResult = job_subData.getBoolean("success");
                if(!dealResult) {
                    return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
                }
                /**
@@ -683,10 +711,10 @@
            } else {
                // 请求失败
                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
                return BaseResponseUtils.buildFail(job_param.getString("message"));
                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
            }
        } else {
            return BaseResponseUtils.buildFail("系统暂不支持该协议");
            return BaseResponseUtils.buildErrorMsg("系统暂不支持该协议");
        }
    }