wuzeyu
2024-07-26 8ca2d2b49dccc417baad02c003eb7d9ae7dacc56
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
@@ -326,33 +326,46 @@
        }
        Long intakeId = automaticClose.getIntakeId();
        String rtuAddr = automaticClose.getRtuAddr();
        String vcNum = automaticClose.getVcNum();
        String orderNo = automaticClose.getOrderNo();
        Long vcId = automaticClose.getVcId();
        Integer minutes = automaticClose.getMinutes();
        Long operator = automaticClose.getOperator();
        Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L);
        Long comId = idLongGenerator.generate();
        /**
         * 如果农户选择了虚拟卡,则使用该虚拟卡
         * 如果农户未选择虚拟卡,则根据取水口ID获取与之绑定的虚拟卡
         * 如果取水口没有与之绑定的虚拟卡,则提示农户选择一张虚拟卡
         */
        if(vcId == null) {
            vcId = commandSv.getVcIdByIntakeId(intakeId);
            if(vcId == null) {
                return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
            }
        }
        // 虚拟卡ID换虚拟卡对象
        VoVirtualCard vc = commandSv.getVcById(vcId);
        if (vc == null) {
            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
        }
        String vcNum = vc.getVcNum().toString();
        Double moneyRemain = vc.getMoney();
        // 获取水价
        Double waterPrice = commandSv.getPrice();
        // 阀控器地址换取水口ID和通讯协议
        JSONObject job_rtu = getRtu(null, rtuAddr);
        // 取水口ID换阀控器地址及通讯协议
        JSONObject job_rtu = getRtu(intakeId, null);
        if(job_rtu == null) {
            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
        }
        String rtuAddr = job_rtu.getString("rtuAddr");
        String protocol = job_rtu.getString("protocol");
        String orgTag = job_rtu.getString("orgTag");
        comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
        // 生成订单号
        String orderNo = generateOrderNo();
        String commandCode = null;
        if(protocol.equals("p206V202404")) {
@@ -407,34 +420,47 @@
        }
        Long intakeId = automaticClose.getIntakeId();
        String rtuAddr = automaticClose.getRtuAddr();
        String vcNum = automaticClose.getVcNum();
        String orderNo = automaticClose.getOrderNo();
        Long vcId = automaticClose.getVcId();
        Integer waterAmount = automaticClose.getWaterAmount();
        Long operator = automaticClose.getOperator();
        Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L);
        Long comId = idLongGenerator.generate();
        /**
         * 如果农户选择了虚拟卡,则使用该虚拟卡
         * 如果农户未选择虚拟卡,则根据取水口ID获取与之绑定的虚拟卡
         * 如果取水口没有与之绑定的虚拟卡,则提示农户选择一张虚拟卡
         */
        if(vcId == null) {
            vcId = commandSv.getVcIdByIntakeId(intakeId);
            if(vcId == null) {
                return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
            }
        }
        // 虚拟卡ID换虚拟卡对象
        VoVirtualCard vc = commandSv.getVcById(vcId);
        if (vc == null) {
            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.PLEASE_SELECT_A_VC.getMessage());
        }
        String vcNum = vc.getVcNum().toString();
        Double moneyRemain = vc.getMoney();
        // 获取水价
        Double waterPrice = commandSv.getPrice();
        // 阀控器地址换取水口ID和通讯协议
        JSONObject job_rtu = getRtu(null, rtuAddr);
        // 取水口ID换阀控器地址及通讯协议
        JSONObject job_rtu = getRtu(intakeId, null);
        if(job_rtu == null) {
            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
        }
        String rtuAddr = job_rtu.getString("rtuAddr");
        String protocol = job_rtu.getString("protocol");
        String orgTag = job_rtu.getString("orgTag");
        comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
        // 生成订单号
        String orderNo = generateOrderNo();
        String commandCode = null;
        if(protocol.equals("p206V202404")) {
            return BaseResponseUtils.buildSuccess();