From 5f54ba90abcc0ccf1b578472eac54fc98056767c Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期二, 08 四月 2025 17:15:13 +0800 Subject: [PATCH] 灌溉计划终止接口,包括远程关阀和取消灌溉计划 --- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java | 146 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 146 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java index e940483..f23d3b8 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java @@ -8,11 +8,13 @@ import com.dy.common.mw.protocol.p206V1.CodeV1; import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1; import com.dy.common.mw.protocol.p206V1.downVos.Com97Vo; +import com.dy.common.mw.protocol.p206V1.downVos.Com98Vo; import com.dy.common.mw.protocol.p206V1.downVos.ComA1Vo; import com.dy.common.mw.protocol.p206V2.ProtocolConstantV206V2; import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404; import com.dy.common.mw.protocol.p206V202404.downVos.ComCd92_A2Vo; +import com.dy.common.mw.protocol.p206V202404.downVos.ComCd93_A3Vo; import com.dy.common.util.IDLongGenerator; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; @@ -36,6 +38,7 @@ import com.dy.pipIrrGlobal.voRm.VoUnclosedValve; import com.dy.pipIrrGlobal.voSe.VoVirtualCard; import com.dy.pipIrrWechat.command.dto.AutomaticClose; +import com.dy.pipIrrWechat.command.dto.ValveClose; import com.dy.pipIrrWechat.command.dto.ValveOpen; import com.dy.pipIrrWechat.result.WechatResultCode; import lombok.RequiredArgsConstructor; @@ -429,6 +432,13 @@ } } + /** + * 灏忕▼搴忚繙绋嬪紑闃� + * @param valve + * @param planId + * @param operatetype + * @return + */ public Map openWx(ValveOpen valve, Long planId, Byte operatetype) { Long intakeId = valve.getIntakeId(); String intakeName = valve.getIntakeName(); @@ -657,4 +667,140 @@ return map; } } + + /** + * 灏忕▼搴忚繙绋嬪叧闃� + * @param valve + * @param planId + * @param operatetype + * @return + */ + public Map closeWx(ValveClose valve, Long planId, Byte operatetype) { + String rtuAddr = valve.getRtuAddr(); + String vcNum = valve.getVcNum(); + Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L); + String orderNo = valve.getOrderNo(); + Long operator = valve.getOperator(); + Byte openType = valve.getOpenType(); + Long comId = new IDLongGenerator().generate(); + + // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚 + JSONObject job_rtu = getRtu(null, rtuAddr); + if (job_rtu == null) { + irIntakeOperateMapper.updateByCommandId(comId, (byte)2, WechatResultCode.RTU_NOT_EXIST.getMessage()); + + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", WechatResultCode.RTU_NOT_EXIST.getMessage()); + map.put("content", null); + return map; + //return BaseResponseUtils.buildErrorMsg(WechatResultCode.RTU_NOT_EXIST.getMessage()); + } + Long intakeId = job_rtu.getLong("intakeId"); + String protocol = job_rtu.getString("protocol"); + + // 濡傛灉鏄疆鐏� + if(openType != null && openType == 1) { + IrIntakeOperate irIntakeOperate = new IrIntakeOperate(); + irIntakeOperate.setPlanId(planId); + irIntakeOperate.setOperateType(operatetype); + irIntakeOperate.setCommandId(comId); + irIntakeOperate.setIntakeId(intakeId); + + Long id = addIntakeOperate(irIntakeOperate); + if(id == null) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", "娣诲姞鍙栨按鍙f搷浣滆褰曞け璐�"); + map.put("content", null); + return map; + } + } + + comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw); + + String commandCode = null; + if (protocol.equals(ProtocolConstantV206V202404.protocolName)) { + // 鑾峰彇鍔熻兘鐮� + commandCode = CodeV202404.cd_A3; + + // 鍒涘缓瑙嗗浘 + ComCd93_A3Vo param = new ComCd93_A3Vo(); + param.controllerType = controllerType; + param.projectNo = projectNo; + param.icCardNo = vcNum; + param.orderNo = orderNo; + + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setComType((byte)2); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV202404.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setVcId(vcId); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx); + myParam.setOperator(operator); + //return dealWithCommandResult(myParam); + BaseResponse<Boolean> result = dealWithCommandResult(myParam); + + Map map = new HashMap<>(); + map.put("success", result.isSuccess()); + map.put("msg", result.getMsg()); + map.put("content", result.getContent()); + return map; + } else if (protocol.equals(ProtocolConstantV206V1.protocolName) || protocol.equals(ProtocolConstantV206V2.protocolName)) { + // 鑾峰彇鍔熻兘鐮� + commandCode = CodeV1.cd_98; + + // 鍒涘缓瑙嗗浘 + Com98Vo param = new Com98Vo(); + param.icCardNo = vcNum; + param.orderNo = orderNo; + + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setComType((byte)2); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV1.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setVcId(vcId); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx); + myParam.setOperator(operator); + //return dealWithCommandResult(myParam); + BaseResponse<Boolean> result = dealWithCommandResult(myParam); + + Map map = new HashMap<>(); + map.put("success", result.isSuccess()); + map.put("msg", result.getMsg()); + map.put("content", result.getContent()); + return map; + + } else { + irIntakeOperateMapper.updateByCommandId(comId, (byte)2, "绯荤粺鏆備笉鏀寔璇ュ崗璁�" + "(" + intakeId + ")"); + + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", "绯荤粺鏆備笉鏀寔璇ュ崗璁�"); + map.put("content", null); + return map; + //return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); + } + + } } -- Gitblit v1.8.0