|  |  | 
 |  |  | import com.alibaba.fastjson2.JSONObject; | 
 |  |  | import com.dy.common.aop.SsoAop; | 
 |  |  | import com.dy.common.mw.protocol.Command; | 
 |  |  | import com.dy.common.mw.protocol.p206V202404.upVos.DataCd93_A3Vo; | 
 |  |  | import com.dy.common.mw.protocol.p206V202404.upVos.DataCd93_9D_A3Vo; | 
 |  |  | import com.dy.common.util.Callback; | 
 |  |  | import com.dy.common.webUtil.BaseResponse; | 
 |  |  | import com.dy.common.webUtil.BaseResponseUtils; | 
 |  |  | import com.dy.pipIrrGlobal.voRm.VoUnclosedParam; | 
 |  |  | import com.dy.pipIrrGlobal.pojoRm.RmCommandOpen; | 
 |  |  | import com.dy.pipIrrRemote.common.dto.DtoBase; | 
 |  |  | import com.dy.pipIrrRemote.monitor.common.ComCtrl; | 
 |  |  | import io.swagger.v3.oas.annotations.tags.Tag; | 
 |  |  | 
 |  |  |             res = super.pre2(sv, ComCode, dto, bindingResult); | 
 |  |  |             if (res == null) { | 
 |  |  |                 //获取开阀命令参数 | 
 |  |  |                 /* | 
 |  |  |                 2025-06-27原来的实现,原来没有设计RmCommandOpen对象及其对应的数据库表 | 
 |  |  |                 VoUnclosedParam opPa = sv.selectUncloseParam(dto.getIntakeId(), ctrlPo.getRtuAddr()); | 
 |  |  |                 if(opPa == null) { | 
 |  |  |                     return BaseResponseUtils.buildFail("该取水口上无您最近的开阀操作"); | 
 |  |  | 
 |  |  |                 CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType) | 
 |  |  |                         .icCardNo(opPa.getVcNum())//用户卡序列号(17位数字)(6字节BCD,2字节HEX) | 
 |  |  |                         .orderNo(opPa.getOrderNo())//订单号(16位数字) | 
 |  |  |                         .build(); | 
 |  |  |                 */ | 
 |  |  |                 RmCommandOpen comOpen = sv.getCommandOpen(dto.getIntakeId()) ; | 
 |  |  |                 if(comOpen == null) { | 
 |  |  |                     return BaseResponseUtils.buildFail("该取水口上无您最近的开阀操作"); | 
 |  |  |                 } | 
 |  |  |                 Long vcId = sv.getVcIdByNum("" + comOpen.vcNum) ; | 
 |  |  |                 if(vcId == null) { | 
 |  |  |                     return BaseResponseUtils.buildFail("服务端出错,未得到虚拟卡ID"); | 
 |  |  |                 } | 
 |  |  |                 //发送命令前-3:保存命令日志 | 
 |  |  |                 CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType) | 
 |  |  |                         .icCardNo("" + comOpen.vcNum)//用户卡序列号(17位数字)(6字节BCD,2字节HEX) | 
 |  |  |                         .orderNo(comOpen.orderNo)//订单号(16位数字) | 
 |  |  |                         .build(); | 
 |  |  |                 res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam); | 
 |  |  |                 if (res == null) { | 
 |  |  | 
 |  |  |                 msg = RtuSuccessMsg ; | 
 |  |  |             }else { | 
 |  |  |                 String json = codeData.toJSONString(); | 
 |  |  |                 DataCd93_A3Vo cvo = JSON.parseObject(json, DataCd93_A3Vo.class) ; | 
 |  |  |                 DataCd93_9D_A3Vo cvo = JSON.parseObject(json, DataCd93_9D_A3Vo.class) ; | 
 |  |  |                 if(cvo != null){ | 
 |  |  |                     if(callback != null){ | 
 |  |  |                         if(cvo.clResult != null && cvo.clResult == 0){ |