Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
Conflicts:
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
| | |
| | | protected HashMap<String, CodeParse> downCode2ClassInstance = new HashMap<>() ; |
| | | |
| | | /** |
| | | * æ¸
空èªå·± |
| | | */ |
| | | public abstract void clear() ; |
| | | /** |
| | | * å线ç¨åä¾Driver模å¼ä¸è¿è¡ |
| | | * æ«æè¯å«åè½ç 注解类 |
| | | * @throws Exception å¼å¸¸ |
| | |
| | | * æ«æè¯å«åè½ç 注解类 |
| | | * @param driver é©±å¨ |
| | | * @param protocolName åè®®åç§° |
| | | * @param uri URI |
| | | * @param scanRootPackage æ«æå
|
| | | * @throws Exception å¼å¸¸ |
| | | */ |
| | |
| | | */ |
| | | void callback(String rtuAddr, |
| | | String code, |
| | | String codeName, |
| | | String upHex, |
| | | Boolean reportOrResponse_trueOrFalse, |
| | | boolean parseFail, |
| | |
| | | public String rtuAddr ;//Rtuå°å |
| | | public String commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | public String downCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | public String downCodeName ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | public byte[] downBuffer ;//ä¸è¡å½ä»¤æ°æ® |
| | | public String downBufHex ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | public boolean hasResponse ;//æ¯å¦æåºç |
| | |
| | | (code.equals(cd_B0) ? "æ¥è¯¢å®æ¶æ°æ®" : |
| | | (code.equals(cd_C0) ? "èªæ¥(æ´ç¹)宿¶æ°æ®" : |
| | | ""))))))))))))))))))))))))))))))))))))))))))) ; |
| | | if(name == null || name.equals("")){ |
| | | name = code ; |
| | | } |
| | | return name ; |
| | | } |
| | | |
| | |
| | | downCpParams = new ParseParamsForDownV1_0_1() ; |
| | | } |
| | | |
| | | /** |
| | | * æ¸
空èªå·± |
| | | */ |
| | | @Override |
| | | public void clear() { |
| | | if(this.upCpParams != null){ |
| | | this.upCpParams.clear(); |
| | | } |
| | | if(this.downCpParams != null){ |
| | | this.downCpParams.clear(); |
| | | } |
| | | this.reportOrResponse_trueOrFalse = null ; |
| | | this.rtuAddrInData = null ; |
| | | } |
| | | |
| | | /** |
| | | * æ«æè¯å«åè½ç 注解类 |
| | |
| | | */ |
| | | @Override |
| | | public MidResult[] parseData(Boolean isLowPower, String rtuAddr, byte[] upBuffer, String upHex, DriverParserDataCallback callback, Object... params) { |
| | | reportOrResponse_trueOrFalse = null ; |
| | | this.clear(); |
| | | boolean isFail = false ; |
| | | String upCode = null ; |
| | | try{ |
| | |
| | | |
| | | upData.setSubData(dV1_0_1) ; |
| | | |
| | | this.upCpParams.clear(); |
| | | this.upCpParams.setValue(ProtocolConstantV206V1_0_0.protocolName, |
| | | this.upCpParams.setValue(ProtocolConstantV206V1_0_0.protocolName, |
| | | rtuAddr, |
| | | upCode, |
| | | upHex, |
| | |
| | | isFail = true ; |
| | | return new MidResult[]{(new MidResultError(ProtocolConstantV206V1_0_0.protocolName, rtuAddr, "严éé误ï¼åæRtuæ°æ®åºéï¼æ°æ®ä¸ºï¼" + upHex + (e.getMessage() == null?"":("ï¼åºéä¿¡æ¯ï¼" + e.getMessage())), e))} ; |
| | | } finally{ |
| | | callback.callback(rtuAddr, upCode, upHex, reportOrResponse_trueOrFalse, isFail, rtuAddrInData); |
| | | callback.callback(rtuAddr, upCode, CodeV1_0_1.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public MidResult[] createCommand(Boolean isLowPower, Command command, Object... params) { |
| | | this.clear(); |
| | | String RtuResultSendWebUrl = command.getRtuResultSendWebUrl() ; |
| | | if(RtuResultSendWebUrl == null || RtuResultSendWebUrl.trim().equals("")){ |
| | | return new MidResult[]{(new MidResultError(ProtocolConstantV206V1_0_0.protocolName, null, "严éé误ï¼å½ä»¤ä¸rtuè¿åå½ä»¤ç»æååç®çå°web URL为空ï¼ä¸è½æå»ºä»»ä½å½ä»¤ï¼", null))} ; |
| | |
| | | try { |
| | | String commandCode = command.getCode() ; |
| | | |
| | | this.downCpParams.clear(); |
| | | this.downCpParams.setValue( |
| | | RtuResultSendWebUrl, |
| | | ProtocolConstantV206V1_0_0.protocolName, |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV1_0_1.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV1_0_1.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV1_0_1.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | cdData.rtuDt = GlParse.parseTp(bs, index) ; |
| | | //index += 6 ; |
| | | } |
| | | |
| | | public static void main(String[] args) throws Exception { |
| | | Cd_83_Up obj = new Cd_83_Up() ; |
| | | String hex = "683C68B08485353448830200000000001000282353FE739444000001000313000101211615000101210000000000000000000200019000011518000101210A7B16"; |
| | | byte[] bs = ByteUtil.hex2Bytes(hex) ; |
| | | |
| | | Data data = new Data() ; |
| | | data.setSubData(new DataV1_0_1()) ; |
| | | |
| | | int bsLen = new CommonV1_0_1().parseDataLen(bs) ; |
| | | if(bsLen > 0){ |
| | | try { |
| | | obj.doParse(bs, |
| | | bsLen, |
| | | "83", |
| | | data) ; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | System.out.println("data = " + data); |
| | | } |
| | | } |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV1_0_1.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV1_0_1.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV1_0_1.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV1_0_1.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | return flag ; |
| | | } |
| | | |
| | | |
| | | public boolean hasAlarmExcludeLoss(){ |
| | | boolean flag = false ; |
| | | if((batteryVolt != null && batteryVolt == 1) || |
| | | (meter != null && meter == 1) || |
| | | (valve != null && valve == 1)){ |
| | | flag = true ; |
| | | } |
| | | return flag ; |
| | | } |
| | | |
| | | public String alarmContent(){ |
| | | String txt = "" ; |
| | | boolean hasTxt = false ; |
| | |
| | | return txt ; |
| | | } |
| | | |
| | | public String alarmContentExcludeLoss(){ |
| | | String txt = "" ; |
| | | boolean hasTxt = false ; |
| | | if(batteryVolt != null && batteryVolt == 1){ |
| | | txt += (hasTxt?"ã":"") + "èçµæ± çµåæ¥è¦" ; |
| | | hasTxt = true ; |
| | | } |
| | | if(meter != null && meter == 1){ |
| | | txt += (hasTxt?"ã":"") + "æµé计æ
鿥è¦" ; |
| | | hasTxt = true ; |
| | | } |
| | | if(valve != null && valve == 1){ |
| | | txt += (hasTxt?"ã":"") + "é鍿
鿥è¦" ; |
| | | hasTxt = true ; |
| | | } |
| | | return txt ; |
| | | } |
| | | public String toString(){ |
| | | StringBuilder str = new StringBuilder() ; |
| | | str.append(" æ¥è¦:\n"); |
| | |
| | | (code.equals(cd_9C) ? "é»ååè¿ç¨å¼ºå¶å
³éæ°´æ³µ/éé¨" : |
| | | (code.equals(cd_C2) ? "å¼å
³æ°´æ³µ/éé¨ç»æä¸æ¥" : |
| | | ""))))))))))))))))))))))))))))))))))))))) ; |
| | | if(name == null || name.equals("")){ |
| | | name = code ; |
| | | } |
| | | return name ; |
| | | } |
| | | |
| | |
| | | downCpParams = new ParseParamsForDownV202404() ; |
| | | } |
| | | |
| | | /** |
| | | * æ¸
空èªå·± |
| | | */ |
| | | @Override |
| | | public void clear() { |
| | | if(this.upCpParams != null){ |
| | | this.upCpParams.clear(); |
| | | } |
| | | if(this.downCpParams != null){ |
| | | this.downCpParams.clear(); |
| | | } |
| | | this.reportOrResponse_trueOrFalse = null ; |
| | | this.rtuAddrInData = null ; |
| | | } |
| | | |
| | | /** |
| | | * æ«æè¯å«åè½ç 注解类 |
| | |
| | | */ |
| | | @Override |
| | | public MidResult[] parseData(Boolean isLowPower, String rtuAddr, byte[] upBuffer, String upHex, DriverParserDataCallback callback, Object... params) { |
| | | reportOrResponse_trueOrFalse = null ; |
| | | this.clear(); |
| | | boolean isFail = false ; |
| | | String upCode = null ; |
| | | try{ |
| | |
| | | |
| | | upData.setSubData(dV1_0_1) ; |
| | | |
| | | this.upCpParams.clear(); |
| | | this.upCpParams.setValue(ProtocolConstantV206V202404.protocolName, |
| | | this.upCpParams.setValue(ProtocolConstantV206V202404.protocolName, |
| | | rtuAddr, |
| | | upCode, |
| | | upHex, |
| | |
| | | isFail = true ; |
| | | return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "严éé误ï¼åæRtuæ°æ®åºéï¼æ°æ®ä¸ºï¼" + upHex + (e.getMessage() == null?"":("ï¼åºéä¿¡æ¯ï¼" + e.getMessage())), e))} ; |
| | | } finally{ |
| | | callback.callback(rtuAddr, upCode, upHex, reportOrResponse_trueOrFalse, isFail, rtuAddrInData); |
| | | callback.callback(rtuAddr, upCode, CodeV202404.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public MidResult[] createCommand(Boolean isLowPower, Command command, Object... params) { |
| | | this.clear(); |
| | | String RtuResultSendWebUrl = command.getRtuResultSendWebUrl() ; |
| | | if(RtuResultSendWebUrl == null || RtuResultSendWebUrl.trim().equals("")){ |
| | | return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, null, "严éé误ï¼å½ä»¤ä¸rtuè¿åå½ä»¤ç»æååç®çå°web URL为空ï¼ä¸è½æå»ºä»»ä½å½ä»¤ï¼", null))} ; |
| | |
| | | try { |
| | | String commandCode = command.getCode() ; |
| | | |
| | | this.downCpParams.clear(); |
| | | this.downCpParams.setValue( |
| | | RtuResultSendWebUrl, |
| | | ProtocolConstantV206V202404.protocolName, |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV202404.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV202404.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV202404.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV202404.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV202404.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV202404.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = true ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæå½ä»¤åºçæ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | midRs.commandId = para.commandId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | midRs.downCode = para.commandCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | midRs.downCodeName = CodeV202404.getCodeName(para.commandCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | midRs.downBuffer = bs ;//ä¸è¡å½ä»¤æ°æ® |
| | | midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | midRs.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | para.upCode, |
| | | para.data) ; |
| | | } |
| | | log.info("åæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | log.info("\nåæä¸è¡æ°æ®<" + CodeV202404.getCodeName(para.upCode) + " RTUå°å=" + para.rtuAddr + ">:\n" + para.data.toString()); |
| | | |
| | | MidResultFromRtu midRs = new MidResultFromRtu() ; |
| | | midRs.protocolName = para.protocolName ;//åè®®åç§° |
| | |
| | | confirmCommand.rtuAddr = para.rtuAddr ;//Rtuå°å |
| | | confirmCommand.commandId = Command.defaultId ;//å½ä»¤IDï¼åèµ·å½ä»¤ç客æ·ç«¯(web端)çæï¼ä»¥å¹é
å½ä»¤ç»æ |
| | | confirmCommand.downCode = confirmComCode ;//ä¸è¡å½ä»¤åè½ç ; |
| | | confirmCommand.downCodeName = CodeV202404.getCodeName(confirmComCode) ;//ä¸è¡å½ä»¤åè½ç åç§°; |
| | | confirmCommand.downBuffer = data ;//ä¸è¡å½ä»¤æ°æ® |
| | | confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//ä¸è¡å½ä»¤æ°æ®åå
è¿å¶å½¢å¼ |
| | | confirmCommand.hasResponse = false ;//æ¯å¦æåºç |
| | |
| | | import com.taobao.api.ApiException; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.codec.binary.Base64; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.core.env.Environment; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.crypto.Mac; |
| | |
| | | import java.security.InvalidKeyException; |
| | | import java.security.NoSuchAlgorithmException; |
| | | import java.util.Collections; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | |
| | | @Slf4j |
| | | @Component |
| | | public class DingTalk { |
| | | private static final String dingTalkConfigPriFix = "dingtalk"; |
| | | private static final Map<String, Option> optionsMap = new HashMap(); |
| | | |
| | | class Option{ |
| | | public Boolean enable ; |
| | | public String robotUrl ; |
| | | public String robotAccessToken ; |
| | | public String secret ; |
| | | public Boolean atAll ; |
| | | public String mobile ; |
| | | } |
| | | /* |
| | | @Value("${dingtalk.robot.url}") |
| | | private String URL; |
| | | |
| | |
| | | |
| | | @Value("${dingtalk.mobile}") |
| | | private String MOBILE; |
| | | */ |
| | | |
| | | public void sendMessage(String message) { |
| | | try { |
| | | Long timestamp = System.currentTimeMillis(); |
| | | String secret = SECRET; |
| | | String stringToSign = timestamp + "\n" + secret; |
| | | Mac mac = Mac.getInstance("HmacSHA256"); |
| | | mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256")); |
| | | byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8")); |
| | | String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), "UTF-8"); |
| | | |
| | | //signåæ®µåtimestampåæ®µå¿
é¡»æ¼æ¥å°è¯·æ±URLä¸ï¼å¦åä¼åºç° 310000 çéè¯¯ä¿¡æ¯ |
| | | DingTalkClient client = new DefaultDingTalkClient( URL + "?sign=" + sign + "×tamp=" + timestamp); |
| | | OapiRobotSendRequest req = new OapiRobotSendRequest(); |
| | | /** |
| | | * åéææ¬æ¶æ¯ |
| | | */ |
| | | //å®ä¹ææ¬å
容 |
| | | OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text(); |
| | | text.setContent(message); |
| | | //å®ä¹ @对象 |
| | | OapiRobotSendRequest.At at = new OapiRobotSendRequest.At(); |
| | | if(AT_ALL) { |
| | | at.setIsAtAll(true); |
| | | }else { |
| | | at.setAtMobiles(Collections.singletonList(MOBILE)); |
| | | private Option getOptions(String orgTag, Environment env){ |
| | | Option vo = null ; |
| | | try{ |
| | | vo = optionsMap.get(orgTag); |
| | | if(vo == null){ |
| | | vo = new Option(); |
| | | String enableStr = env.getProperty(dingTalkConfigPriFix + "." + orgTag + ".enable"); |
| | | if(enableStr != null && !enableStr.trim().equals("")){ |
| | | vo.enable = Boolean.valueOf(enableStr); |
| | | }else{ |
| | | vo.enable = true ; |
| | | } |
| | | vo.robotUrl = env.getProperty(dingTalkConfigPriFix + "." + orgTag + ".robot.url"); |
| | | vo.robotAccessToken = env.getProperty(dingTalkConfigPriFix + "." + orgTag + ".robot.access-token"); |
| | | vo.secret = env.getProperty(dingTalkConfigPriFix + "." + orgTag + ".robot.secret"); |
| | | String atAllStr = env.getProperty(dingTalkConfigPriFix + "." + orgTag + ".at-all"); |
| | | if(atAllStr != null && !atAllStr.trim().equals("")){ |
| | | vo.atAll = Boolean.valueOf(atAllStr); |
| | | }else{ |
| | | vo.atAll = true ; |
| | | } |
| | | vo.mobile = env.getProperty(dingTalkConfigPriFix + "." + orgTag + ".mobile"); |
| | | optionsMap.put(orgTag, vo) ; |
| | | } |
| | | //è®¾ç½®æ¶æ¯ç±»å |
| | | req.setMsgtype("text"); |
| | | req.setText(text); |
| | | req.setAt(at); |
| | | OapiRobotSendResponse rsp = client.execute(req, CUSTOM_ROBOT_TOKEN); |
| | | log.info(rsp.getBody()); |
| | | } catch (ApiException e) { |
| | | log.error("ééåéæ¶æ¯å¼å¸¸", e); |
| | | //e.printStackTrace(); |
| | | } catch (UnsupportedEncodingException e) { |
| | | log.error("ééåéæ¶æ¯å¼å¸¸", e); |
| | | //e.printStackTrace(); |
| | | } catch (NoSuchAlgorithmException e) { |
| | | log.error("ééåéæ¶æ¯å¼å¸¸", e); |
| | | //e.printStackTrace(); |
| | | } catch (InvalidKeyException e) { |
| | | log.error("ééåéæ¶æ¯å¼å¸¸", e); |
| | | //e.printStackTrace(); |
| | | } catch (Exception e){ |
| | | log.error("ééåéæ¶æ¯å¼å¸¸", e); |
| | | //e.printStackTrace(); |
| | | }catch (Exception e){ |
| | | vo = null ; |
| | | } |
| | | return vo ; |
| | | } |
| | | |
| | | /** |
| | | * åéé群åéæ¶æ¯ |
| | | * @param orgTag |
| | | * @param env |
| | | * @param message |
| | | */ |
| | | public void sendMessage(String orgTag, Environment env, String message) { |
| | | if(orgTag == null || orgTag.trim().equals("")){ |
| | | log.error("ééåéæ¶æ¯å¼å¸¸ï¼æºææ ç¾ä¸ºç©º"); |
| | | return; |
| | | } |
| | | if(env == null){ |
| | | log.error("ééåéæ¶æ¯å¼å¸¸ï¼Springç¯å¢ä¸ºç©º"); |
| | | return; |
| | | } |
| | | if(message == null || message.trim().equals("")){ |
| | | log.error("ééåéæ¶æ¯å¼å¸¸ï¼æ¶æ¯ä¸ºç©º"); |
| | | return; |
| | | } |
| | | Option vo = this.getOptions(orgTag.trim(), env) ; |
| | | if(vo == null){ |
| | | log.error("ééåéæ¶æ¯å¼å¸¸ï¼ééé
ç½®é误"); |
| | | return; |
| | | } |
| | | if(vo.enable){ |
| | | try { |
| | | Long timestamp = System.currentTimeMillis() ; |
| | | String stringToSign = timestamp + "\n" + vo.secret; |
| | | Mac mac = Mac.getInstance("HmacSHA256"); |
| | | mac.init(new SecretKeySpec(vo.secret.getBytes("UTF-8"), "HmacSHA256")); |
| | | byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8")); |
| | | String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), "UTF-8"); |
| | | |
| | | //å®ä¹ææ¬å
容 |
| | | OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text(); |
| | | text.setContent(message); |
| | | //å®ä¹ @对象 |
| | | OapiRobotSendRequest.At at = new OapiRobotSendRequest.At(); |
| | | if(vo.atAll) { |
| | | at.setIsAtAll(true); |
| | | }else { |
| | | at.setAtMobiles(Collections.singletonList(vo.mobile)); |
| | | } |
| | | |
| | | OapiRobotSendRequest req = new OapiRobotSendRequest(); |
| | | //è®¾ç½®æ¶æ¯ç±»å |
| | | req.setMsgtype("text"); |
| | | req.setText(text); |
| | | req.setAt(at); |
| | | |
| | | //signåæ®µåtimestampåæ®µå¿
é¡»æ¼æ¥å°è¯·æ±URLä¸ï¼å¦åä¼åºç° 310000 çéè¯¯ä¿¡æ¯ |
| | | DingTalkClient client = new DefaultDingTalkClient( vo.robotUrl + "?sign=" + sign + "×tamp=" + timestamp); |
| | | OapiRobotSendResponse rsp = client.execute(req, vo.robotAccessToken); |
| | | log.info(rsp.getBody()); |
| | | } catch (ApiException e) { |
| | | log.error("ééåéæ¶æ¯å¼å¸¸", e); |
| | | //e.printStackTrace(); |
| | | } catch (UnsupportedEncodingException e) { |
| | | log.error("ééåéæ¶æ¯å¼å¸¸", e); |
| | | //e.printStackTrace(); |
| | | } catch (NoSuchAlgorithmException e) { |
| | | log.error("ééåéæ¶æ¯å¼å¸¸", e); |
| | | //e.printStackTrace(); |
| | | } catch (InvalidKeyException e) { |
| | | log.error("ééåéæ¶æ¯å¼å¸¸", e); |
| | | //e.printStackTrace(); |
| | | } catch (Exception e){ |
| | | log.error("ééåéæ¶æ¯å¼å¸¸", e); |
| | | //e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | int deleteByPrimaryKey(Long id); |
| | | |
| | | /** |
| | | * æ¸
ç©ºæµæµªæ§å¶å¨è¡¨ |
| | | * @return |
| | | */ |
| | | int emptyTrampController(); |
| | | |
| | | /** |
| | | * insert record to table |
| | | * @param record the record |
| | | * @return insert count |
| | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast; |
| | | import com.dy.pipIrrGlobal.voRm.VoOnHour; |
| | | import com.dy.pipIrrGlobal.voSt.VoBatteryVolt; |
| | | import com.dy.pipIrrGlobal.voSt.VoCumulativeFlow; |
| | | import com.dy.pipIrrGlobal.voSt.VoSignalIntensity; |
| | | import com.dy.pipIrrGlobal.voSt.*; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.util.List; |
| | |
| | | */ |
| | | List<VoSignalIntensity> getSpecifiedSignalIntakes(Map<?, ?> params); |
| | | |
| | | /** |
| | | * æè¿æªæ¥æ°çåæ°´å£æ°é |
| | | * @param params |
| | | * @return |
| | | */ |
| | | Long getUnReportedIntakesCount(Map<String, Object> params); |
| | | |
| | | /** |
| | | * æè¿æªæ¥æ°çåæ°´å£ |
| | | * @param params |
| | | * @return |
| | | */ |
| | | List<VoIntakeUnReported> getUnReportedIntakes(Map<String, Object> params); |
| | | } |
| | |
| | | List<VoClient> getLargeWaterConsumptionClients(Map<String, Object> params); |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
ç¨æ°´éä½äºæå®å¼çåæ·æ°é |
| | | * @param params |
| | | * @return |
| | | */ |
| | | Long getSmallWaterConsumptionClientsCount(Map<String, Object> params); |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
ç¨æ°´éä½äºæå®å¼çåæ· |
| | | * @param params |
| | | * @return |
| | | */ |
| | | List<VoClient> getSmallWaterConsumptionClients(Map<String, Object> params); |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
æ¶è´¹éé¢è¶
è¿æå®å¼çåæ·æ°é |
| | | * @param params |
| | | * @return |
| | |
| | | List<VoClient> getLargeAmountSpentClients(Map<String, Object> params); |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
æ¶è´¹éé¢ä½äºæå®å¼çåæ·æ°é |
| | | * @param params |
| | | * @return |
| | | */ |
| | | Long getSmallAmountSpentClientsCount(Map<String, Object> params); |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
æ¶è´¹éé¢ä½äºæå®å¼çåæ· |
| | | * @param params |
| | | * @return |
| | | */ |
| | | List<VoClient> getSmallAmountSpentClients(Map<String, Object> params); |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
ç¨æ°´æ¶é¿è¶
è¿æå®å¼çåæ·æ°é |
| | | * @param params |
| | | * @return |
| | |
| | | List<VoClient> getLargeWaterDurationClients(Map<String, Object> params); |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
ç¨æ°´æ¶é¿ä½äºæå®å¼çåæ·æ°é |
| | | * @param params |
| | | * @return |
| | | */ |
| | | Long getSmallWaterDurationClientsCount(Map<String, Object> params); |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
ç¨æ°´æ¶é¿ä½äºæå®å¼çåæ· |
| | | * @param params |
| | | * @return |
| | | */ |
| | | List<VoClient> getSmallWaterDurationClients(Map<String, Object> params); |
| | | |
| | | /** |
| | | * æå®æ¶é´æ®µç¨æ°´éè¶
è¿æå®å¼çåæ°´å£æ°é |
| | | * @param params |
| | | * @return |
| New file |
| | |
| | | package com.dy.pipIrrGlobal.voSt; |
| | | |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * @author :WuZeYu |
| | | * @Date :2024/10/11 9:45 |
| | | * @LastEditTime :2024/10/11 9:45 |
| | | * @Description |
| | | */ |
| | | @Data |
| | | public class VoIntakeUnReported { |
| | | |
| | | /** |
| | | * åæ°´å£ç¼å· |
| | | */ |
| | | private String intakeNum; |
| | | /** |
| | | * éæ§å¨å°å |
| | | */ |
| | | private String rtuAddr; |
| | | /** |
| | | * 鿧卿¶é´ |
| | | */ |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private String rtuDt; |
| | | } |
| New file |
| | |
| | | logging: |
| | | charset: |
| | | console: UTF-8 |
| | | config: |
| | | classpath: log4j2.yml |
| | | #ç¦ç¨ç½æ éè¯¯é¡µé¢ |
| | | server: |
| | | error: |
| | | whitelabel: |
| | | enabled: false |
| | | #servleté
ç½® |
| | | servlet: |
| | | encoding: |
| | | #åæ¶é»è®¤çå符éç¼ç |
| | | enabled: true |
| | | #设置强å¶ä½¿ç¨æå®å符ç¼ç é |
| | | force: true |
| | | #使ç¨çå符ç¼ç |
| | | charset: utf-8 |
| | | # actuatoré
ç½®ï¼å
includeäºå
¨é¨ï¼ç¶ååexcludeæå®çendpoint |
| | | management: |
| | | endpoints: |
| | | web: |
| | | exposure: |
| | | include: '*' |
| | | #exclude: beans |
| | | .shutdown: |
| | | enabled: true #æ¯å¦å¼å¯/actuator/shutdown |
| | | |
| | | # SpringDoc-OpenApi é
ç½® |
| | | springdoc: |
| | | swagger-ui: |
| | | #åºç¨actuatoræ¶ï¼è®¿é®: http://[IP]:[port]/actuator/swagger-ui/index.html ä¾å¦http://127.0.0.1:9080/actuator/swagger-ui/index.html |
| | | #æªç¨actuatoræ¶ï¼è®¿é®: http://[IP]:[port]/[context]/swagger-ui/index.html ä¾å¦http://127.0.0.1:8080/[åç³»ç»ä¸ä¸æï¼baseï¼]/swagger-ui/index.html |
| | | path: /swagger-ui |
| | | operationsSorter: method # HTTP æ¹æ³æåº |
| | | tagsSorter: alpha # API æåº |
| | | api-docs: |
| | | path: /v3/apiDocs |
| | | groups: |
| | | enabled: true |
| | | show-actuator: true #å¨actuatoré
ç½®ç端å£åä¸ä¸æä¸è®¿é® SpringDoc-OpenApi |
| | | use-management-port: true #åºç¨actuatoré
ç½®ç端å£ï¼ä½ä¸é¢çswagger-ui:pathåªä¼éç¨é»è®¤å¼swagger-ui |
| | | packages-to-scan: com.dy |
| | | #paths-to-match: /sys/**, /demo/**, /** |
| | | paths-to-match: /** |
| | | web: |
| | | title: å¤§ç¦¹èæ°´ç®¡ççæ§ç³»ç»API |
| | | description: å¤§ç¦¹èæ°´ç®¡ççæ§ç³»ç»æå¡ç«¯ Restfull API |
| | | version: v1.0.0 |
| | | license-name: å¤§ç¦¹èæ°´ç ç©¶é¢ |
| | | |
| | | #MybatisPlus é
ç½®æ¥å¿æ¾ç¤ºæ§è¡SQL |
| | | mybatis-plus: |
| | | #å¹é
sqlè¯å¥çæ å°æä»¶çä½ç½®ï¼classpath代表å¨resourcesä¸ |
| | | mapper-locations: classpath:mapper/*.xml |
| | | #以ä¸ä¸¤ä¸ªé
ç½®å¯ä»¥çç¥ï¼å¨mapperæ å°æä»¶ä¸é
ç½®â@Mapperâ乿¯å¯ä»¥çã |
| | | #使ç¨type-aliases-package䏿å®entityæ«æå
è·¯å¾ï¼è®©mybatisèªå¨æ«æèªå®ä¹çentity |
| | | #type-aliases-package: com.dy.pipIrrGlobal.daoBa |
| | | configuration: |
| | | #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #æ¶èè¾åºæ¥å¿ï¼æ¶èä¸è¾åºæ¥å¿ |
| | | log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl |
| | | #å¼å¯é©¼å³°uNameèªå¨æ å°å°u_name |
| | | #2023-10-24ç»å®éªï¼ä¸é¢é
ç½®trueæfalseï¼é½è½ä»u_nameæ å°å°uName |
| | | #map-underscore-to-camel-case: true |
| | | lazyLoadingEnabled: true # å¼å¯å»¶æ¶å è½½å¼å
³ |
| | | aggressiveLazyLoading: false # å°ç§¯æå è½½æ¹ä¸ºæ¶æå è½½ï¼å³æéå è½½ï¼ï¼é»è®¤å¼æ¯false |
| | | lazy-load-trigger-methods: "" # 黿¡ä¸ç¸å¹²çæä½è§¦åï¼å®ç°æå è½½ |
| | | cache-enabled: true #æå¼å
¨å±ç¼åå¼å
³ï¼äºçº§ç¯å¢ï¼ï¼é»è®¤å¼æ¯true |
| | | default-enum-type-handler: com.dy.common.mybatis.envm.EnumCodeTypeHandler |
| | | |
| | | pipIrr: |
| | | global: |
| | | dev: false #æ¯å¦å¼åé¶æ®µï¼trueæfalse |
| | | dsName: ym #å¼åé¶æ®µï¼è®¾ç½®ä¸´æ¶çæ°æ®åºåç§° |
| | | mw: |
| | | webPort: 8072 |
| | | actutorPort: 9072 |
| | | idSuffix: 0 |
| | | sso: |
| | | cacheMaximumSize: 10000 #ç»å½ç¨æ·ç¼åå¯ç¼åç¨æ·çæå¤§å¼ |
| | | cacheDuration: 720 #ç¼åç»å½ç¨æ·ååæå¤§æ¶é¿ï¼åéï¼ |
| | | checkUrl: http://127.0.0.1:8079/sso/sso/ssoCheck |
| | | webPort: 8079 |
| | | actutorPort: 9079 |
| | | idSuffix: 1 |
| | | base: |
| | | webPort: 8080 |
| | | actutorPort: 9080 |
| | | idSuffix: 2 |
| | | remote: |
| | | webPort: 8081 |
| | | actutorPort: 9081 |
| | | idSuffix: 3 |
| | | statistics: |
| | | webPort: 8082 |
| | | actutorPort: 9082 |
| | | idSuffix: 4 |
| | | gis: |
| | | webPort: 8083 |
| | | actutorPort: 9083 |
| | | idSuffix: 5 |
| | | demo: |
| | | webPort: 8000 |
| | | actutorPort: 9000 |
| | | idSuffix: 99 |
| | | sell: |
| | | webPort: 8084 |
| | | actutorPort: 9084 |
| | | idSuffix: 6 |
| | | project: |
| | | webPort: 8085 |
| | | actutorPort: 9085 |
| | | idSuffix: 7 |
| | | irrigate: |
| | | webPort: 8086 |
| | | actutorPort: 9086 |
| | | idSuffix: 8 |
| | | wechat: |
| | | webPort: 8087 |
| | | actutorPort: 9087 |
| | | idSuffix: 9 |
| | | app: |
| | | webPort: 8088 |
| | | actutorPort: 9088 |
| | | idSuffix: 10 |
| | | operation: |
| | | webPort: 8089 |
| | | actutorPort: 9089 |
| | | idSuffix: 11 |
| | | #项ç®ç¼å· |
| | | #projectCode: |
| | | # ym: 100 |
| | | # pj: 101 |
| | | |
| | | #项ç®é
ç½® |
| | | project: |
| | | #项ç®ç¼ç |
| | | projectNo: 10 |
| | | #æ§å¶å¨ç±»å |
| | | controllerType: 57 |
| | | #é»è®¤è¡æ¿åºåç¼ç ï¼å¤©æ´¥-天津å¸-æ¦æ¸
åº-京滨工ä¸å-å¤§ç¦¹èæ°´ï¼ |
| | | divisionCode: 120114403100 |
| | | |
| | | |
| | | #é讯åè®® |
| | | #protocol: DYJS_2023,DYJS_2024 |
| | | mw: |
| | | #å½ä»¤åéå°å(ä¸ç¼æ¯æºætagï¼å
¶ä¹æ¯æ°æ®æºåç¼åç§°) |
| | | ym: |
| | | comSendUrl: "http://127.0.0.1:8070/rtuMw/com/send" |
| | | rtuLogFileUrl: "http://127.0.0.1:8070/rtuMw/com/rtuLogFile" |
| | | rtuLogTextUrl: "http://127.0.0.1:8070/rtuMw/com/rtuLogText" |
| | | pj: |
| | | comSendUrl: "http://127.0.0.1:8071/rtuMw/com/send" |
| | | rtuLogFileUrl: "http://127.0.0.1:8071/rtuMw/com/rtuLogFile" |
| | | rtuLogTextUrl: "http://127.0.0.1:8071/rtuMw/com/rtuLogText" |
| | | test: |
| | | comSendUrl: "http://127.0.0.1:8072/rtuMw/com/send" |
| | | rtuLogFileUrl: "http://127.0.0.1:8072/rtuMw/com/rtuLogFile" |
| | | rtuLogTextUrl: "http://127.0.0.1:8072/rtuMw/com/rtuLogText" |
| | | #çæµæ§å¶æ¨¡ååè°å°å |
| | | rtuCallbackUrl_rm: "http://127.0.0.1:8081/remote/comRes/receive" |
| | | #微信å°ç¨åºåè°å°å |
| | | rtuCallbackUrl_wx: "http://127.0.0.1:8087/wx/comRes/receive" |
| | | |
| | | #ä¸è¿è¡userTokenè¿æ»¤çURLï¼@ConfigurationPropertiesè¦æ±tokennofilter䏿æåæ¯é½å°å |
| | | tokennofilter: |
| | | urls: |
| | | - /sso/sso |
| | | - /remote/comRes/receive |
| | | - /wx/comRes/receive |
| | | - /app/captcha/get |
| | | #èªå¨ç»è®¡é
ç½®ï¼èªå¨ç»è®¡å®æ¶ä»»å¡ä¼æ¯å¤©å®æ¶è¿è¡ |
| | | auto-statistics: |
| | | startHour: 0 #å¼å§å°æ¶ 0 |
| | | startMinute: 5 #å¼å§åé 5 |
| | | |
| | | #ééæ¶æ¯æ¨é |
| | | dingtalk: |
| | | ym: |
| | | enable: true #æ¯å¦å¯ç¨ |
| | | robot: |
| | | url: https://oapi.dingtalk.com/robot/send |
| | | access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f |
| | | secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 |
| | | at-all: true |
| | | mobile: 18602657034 |
| | | pj: |
| | | enable: true #æ¯å¦å¯ç¨ |
| | | robot: |
| | | url: https://oapi.dingtalk.com/robot/send |
| | | access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f |
| | | secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 |
| | | at-all: true |
| | | mobile: 18602657034 |
| | | test: |
| | | enable: true #æ¯å¦å¯ç¨ |
| | | robot: |
| | | url: https://oapi.dingtalk.com/robot/send |
| | | access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f |
| | | secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 |
| | | at-all: true |
| | | mobile: 18602657034 |
| | | #éæ§å¨åæ° |
| | | rtu: |
| | | batteryVolt: 17 |
| | | signalIntensity: |
| | | weak: 10 |
| | | ordinary: 20 |
| | | # strong: 20 |
| | | |
| | | #èæå¡é
ç½®åæ° |
| | | vc: |
| | | #èæå¡æä½ä½é¢æ¥è¦å¼ |
| | | alarmValue: 10 |
| New file |
| | |
| | | logging: |
| | | charset: |
| | | console: UTF-8 |
| | | config: |
| | | classpath: log4j2.yml |
| | | #ç¦ç¨ç½æ éè¯¯é¡µé¢ |
| | | server: |
| | | error: |
| | | whitelabel: |
| | | enabled: false |
| | | #servleté
ç½® |
| | | servlet: |
| | | encoding: |
| | | #åæ¶é»è®¤çå符éç¼ç |
| | | enabled: true |
| | | #设置强å¶ä½¿ç¨æå®å符ç¼ç é |
| | | force: true |
| | | #使ç¨çå符ç¼ç |
| | | charset: utf-8 |
| | | # actuatoré
ç½®ï¼å
includeäºå
¨é¨ï¼ç¶ååexcludeæå®çendpoint |
| | | management: |
| | | endpoints: |
| | | web: |
| | | exposure: |
| | | include: '*' |
| | | #exclude: beans |
| | | .shutdown: |
| | | enabled: true #æ¯å¦å¼å¯/actuator/shutdown |
| | | |
| | | # SpringDoc-OpenApi é
ç½® |
| | | springdoc: |
| | | swagger-ui: |
| | | #åºç¨actuatoræ¶ï¼è®¿é®: http://[IP]:[port]/actuator/swagger-ui/index.html ä¾å¦http://127.0.0.1:9080/actuator/swagger-ui/index.html |
| | | #æªç¨actuatoræ¶ï¼è®¿é®: http://[IP]:[port]/[context]/swagger-ui/index.html ä¾å¦http://127.0.0.1:8080/[åç³»ç»ä¸ä¸æï¼baseï¼]/swagger-ui/index.html |
| | | path: /swagger-ui |
| | | operationsSorter: method # HTTP æ¹æ³æåº |
| | | tagsSorter: alpha # API æåº |
| | | api-docs: |
| | | path: /v3/apiDocs |
| | | groups: |
| | | enabled: true |
| | | show-actuator: true #å¨actuatoré
ç½®ç端å£åä¸ä¸æä¸è®¿é® SpringDoc-OpenApi |
| | | use-management-port: true #åºç¨actuatoré
ç½®ç端å£ï¼ä½ä¸é¢çswagger-ui:pathåªä¼éç¨é»è®¤å¼swagger-ui |
| | | packages-to-scan: com.dy |
| | | #paths-to-match: /sys/**, /demo/**, /** |
| | | paths-to-match: /** |
| | | web: |
| | | title: å¤§ç¦¹èæ°´ç®¡ççæ§ç³»ç»API |
| | | description: å¤§ç¦¹èæ°´ç®¡ççæ§ç³»ç»æå¡ç«¯ Restfull API |
| | | version: v1.0.0 |
| | | license-name: å¤§ç¦¹èæ°´ç ç©¶é¢ |
| | | |
| | | #MybatisPlus é
ç½®æ¥å¿æ¾ç¤ºæ§è¡SQL |
| | | mybatis-plus: |
| | | #å¹é
sqlè¯å¥çæ å°æä»¶çä½ç½®ï¼classpath代表å¨resourcesä¸ |
| | | mapper-locations: classpath:mapper/*.xml |
| | | #以ä¸ä¸¤ä¸ªé
ç½®å¯ä»¥çç¥ï¼å¨mapperæ å°æä»¶ä¸é
ç½®â@Mapperâ乿¯å¯ä»¥çã |
| | | #使ç¨type-aliases-package䏿å®entityæ«æå
è·¯å¾ï¼è®©mybatisèªå¨æ«æèªå®ä¹çentity |
| | | #type-aliases-package: com.dy.pipIrrGlobal.daoBa |
| | | configuration: |
| | | #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #æ¶èè¾åºæ¥å¿ï¼æ¶èä¸è¾åºæ¥å¿ |
| | | log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl |
| | | #å¼å¯é©¼å³°uNameèªå¨æ å°å°u_name |
| | | #2023-10-24ç»å®éªï¼ä¸é¢é
ç½®trueæfalseï¼é½è½ä»u_nameæ å°å°uName |
| | | #map-underscore-to-camel-case: true |
| | | lazyLoadingEnabled: true # å¼å¯å»¶æ¶å è½½å¼å
³ |
| | | aggressiveLazyLoading: false # å°ç§¯æå è½½æ¹ä¸ºæ¶æå è½½ï¼å³æéå è½½ï¼ï¼é»è®¤å¼æ¯false |
| | | lazy-load-trigger-methods: "" # 黿¡ä¸ç¸å¹²çæä½è§¦åï¼å®ç°æå è½½ |
| | | cache-enabled: true #æå¼å
¨å±ç¼åå¼å
³ï¼äºçº§ç¯å¢ï¼ï¼é»è®¤å¼æ¯true |
| | | default-enum-type-handler: com.dy.common.mybatis.envm.EnumCodeTypeHandler |
| | | |
| | | pipIrr: |
| | | global: |
| | | dev: false #æ¯å¦å¼åé¶æ®µï¼trueæfalse |
| | | dsName: ym #å¼åé¶æ®µï¼è®¾ç½®ä¸´æ¶çæ°æ®åºåç§° |
| | | mw: |
| | | webPort: 8070 |
| | | actutorPort: 9070 |
| | | idSuffix: 0 |
| | | sso: |
| | | cacheMaximumSize: 10000 #ç»å½ç¨æ·ç¼åå¯ç¼åç¨æ·çæå¤§å¼ |
| | | cacheDuration: 720 #ç¼åç»å½ç¨æ·ååæå¤§æ¶é¿ï¼åéï¼ |
| | | checkUrl: http://127.0.0.1:8079/sso/sso/ssoCheck |
| | | webPort: 8079 |
| | | actutorPort: 9079 |
| | | idSuffix: 1 |
| | | base: |
| | | webPort: 8080 |
| | | actutorPort: 9080 |
| | | idSuffix: 2 |
| | | remote: |
| | | webPort: 8081 |
| | | actutorPort: 9081 |
| | | idSuffix: 3 |
| | | statistics: |
| | | webPort: 8082 |
| | | actutorPort: 9082 |
| | | idSuffix: 4 |
| | | gis: |
| | | webPort: 8083 |
| | | actutorPort: 9083 |
| | | idSuffix: 5 |
| | | demo: |
| | | webPort: 8000 |
| | | actutorPort: 9000 |
| | | idSuffix: 99 |
| | | sell: |
| | | webPort: 8084 |
| | | actutorPort: 9084 |
| | | idSuffix: 6 |
| | | project: |
| | | webPort: 8085 |
| | | actutorPort: 9085 |
| | | idSuffix: 7 |
| | | irrigate: |
| | | webPort: 8086 |
| | | actutorPort: 9086 |
| | | idSuffix: 8 |
| | | wechat: |
| | | webPort: 8087 |
| | | actutorPort: 9087 |
| | | idSuffix: 9 |
| | | app: |
| | | webPort: 8088 |
| | | actutorPort: 9088 |
| | | idSuffix: 10 |
| | | operation: |
| | | webPort: 8089 |
| | | actutorPort: 9089 |
| | | idSuffix: 11 |
| | | #项ç®ç¼å· |
| | | #projectCode: |
| | | # ym: 100 |
| | | # pj: 101 |
| | | |
| | | #项ç®é
ç½® |
| | | project: |
| | | #项ç®ç¼ç |
| | | projectNo: 10 |
| | | #æ§å¶å¨ç±»å |
| | | controllerType: 57 |
| | | #é»è®¤è¡æ¿åºåç¼ç ï¼å¤©æ´¥-天津å¸-æ¦æ¸
åº-京滨工ä¸å-å¤§ç¦¹èæ°´ï¼ |
| | | divisionCode: 120114403100 |
| | | |
| | | |
| | | #é讯åè®® |
| | | #protocol: DYJS_2023,DYJS_2024 |
| | | mw: |
| | | #å½ä»¤åéå°å(ä¸ç¼æ¯æºætagï¼å
¶ä¹æ¯æ°æ®æºåç¼åç§°) |
| | | ym: |
| | | comSendUrl: "http://127.0.0.1:8070/rtuMw/com/send" |
| | | rtuLogFileUrl: "http://127.0.0.1:8070/rtuMw/com/rtuLogFile" |
| | | rtuLogTextUrl: "http://127.0.0.1:8070/rtuMw/com/rtuLogText" |
| | | pj: |
| | | comSendUrl: "http://127.0.0.1:8071/rtuMw/com/send" |
| | | rtuLogFileUrl: "http://127.0.0.1:8071/rtuMw/com/rtuLogFile" |
| | | rtuLogTextUrl: "http://127.0.0.1:8071/rtuMw/com/rtuLogText" |
| | | test: |
| | | comSendUrl: "http://127.0.0.1:8072/rtuMw/com/send" |
| | | rtuLogFileUrl: "http://127.0.0.1:8072/rtuMw/com/rtuLogFile" |
| | | rtuLogTextUrl: "http://127.0.0.1:8072/rtuMw/com/rtuLogText" |
| | | #çæµæ§å¶æ¨¡ååè°å°å |
| | | rtuCallbackUrl_rm: "http://127.0.0.1:8081/remote/comRes/receive" |
| | | #微信å°ç¨åºåè°å°å |
| | | rtuCallbackUrl_wx: "http://127.0.0.1:8087/wx/comRes/receive" |
| | | |
| | | #ä¸è¿è¡userTokenè¿æ»¤çURLï¼@ConfigurationPropertiesè¦æ±tokennofilter䏿æåæ¯é½å°å |
| | | tokennofilter: |
| | | urls: |
| | | - /sso/sso |
| | | - /remote/comRes/receive |
| | | - /wx/comRes/receive |
| | | - /app/captcha/get |
| | | #èªå¨ç»è®¡é
ç½®ï¼èªå¨ç»è®¡å®æ¶ä»»å¡ä¼æ¯å¤©å®æ¶è¿è¡ |
| | | auto-statistics: |
| | | startHour: 0 #å¼å§å°æ¶ 0 |
| | | startMinute: 5 #å¼å§åé 5 |
| | | |
| | | #ééæ¶æ¯æ¨é |
| | | dingtalk: |
| | | ym: |
| | | enable: true #æ¯å¦å¯ç¨ |
| | | robot: |
| | | url: https://oapi.dingtalk.com/robot/send |
| | | access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f |
| | | secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 |
| | | at-all: true |
| | | mobile: 18602657034 |
| | | pj: |
| | | enable: true #æ¯å¦å¯ç¨ |
| | | robot: |
| | | url: https://oapi.dingtalk.com/robot/send |
| | | access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f |
| | | secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 |
| | | at-all: true |
| | | mobile: 18602657034 |
| | | test: |
| | | enable: true #æ¯å¦å¯ç¨ |
| | | robot: |
| | | url: https://oapi.dingtalk.com/robot/send |
| | | access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f |
| | | secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 |
| | | at-all: true |
| | | mobile: 18602657034 |
| | | |
| | | #éæ§å¨åæ° |
| | | rtu: |
| | | batteryVolt: 17 |
| | | signalIntensity: |
| | | weak: 10 |
| | | ordinary: 20 |
| | | # strong: 20 |
| | | |
| | | #èæå¡é
ç½®åæ° |
| | | vc: |
| | | #èæå¡æä½ä½é¢æ¥è¦å¼ |
| | | alarmValue: 10 |
| | |
| | | |
| | | #ééæ¶æ¯æ¨é |
| | | dingtalk: |
| | | robot: |
| | | url: https://oapi.dingtalk.com/robot/send |
| | | access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f |
| | | secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 |
| | | at-all: true |
| | | mobile: 18602657034 |
| | | ym: |
| | | enable: true #æ¯å¦å¯ç¨ |
| | | robot: |
| | | url: https://oapi.dingtalk.com/robot/send |
| | | access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f |
| | | secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 |
| | | at-all: true |
| | | mobile: 18602657034 |
| | | pj: |
| | | enable: true #æ¯å¦å¯ç¨ |
| | | robot: |
| | | url: https://oapi.dingtalk.com/robot/send |
| | | access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f |
| | | secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 |
| | | at-all: true |
| | | mobile: 18602657034 |
| | | test: |
| | | enable: true #æ¯å¦å¯ç¨ |
| | | robot: |
| | | url: https://oapi.dingtalk.com/robot/send |
| | | access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f |
| | | secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 |
| | | at-all: true |
| | | mobile: 18602657034 |
| | | |
| | | #éæ§å¨åæ° |
| | | rtu: |
| | |
| | | delete from pr_controller_tramp |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </delete> |
| | | <!--æ¸
ç©ºæµæµªæ§å¶å¨è¡¨--> |
| | | <delete id="emptyTrampController"> |
| | | delete from pr_controller_tramp |
| | | </delete> |
| | | <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrControllerTramp"> |
| | | <!--@mbg.generated--> |
| | | insert into pr_controller_tramp (id, rtuAddr, protocol, |
| | |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | |
| | | <!--è·åæè¿æªæ¥æ°çåæ°´å£æ°é--> |
| | | <select id="getUnReportedIntakesCount" resultType="java.lang.Long"> |
| | | SELECT |
| | | count(*) |
| | | FROM pr_intake pit |
| | | LEFT JOIN `rm_on_hour_report_last` rohrl ON pit.id = rohrl.intake_id |
| | | LEFT JOIN pr_controller pct ON pit.id = pct.intakeId |
| | | WHERE rohrl.id is NULL |
| | | <if test="timeStart != null and timeStart != '' "> |
| | | OR rohrl.rtu_dt < #{timeStart} |
| | | </if> |
| | | <if test="timeStop != null and timeStop != '' "> |
| | | OR rohrl.rtu_dt > #{timeStop} |
| | | </if> |
| | | ORDER BY rtu_dt ASC |
| | | </select> |
| | | <!--è·åæè¿æªæ¥æ°çåæ°´å£--> |
| | | <select id="getUnReportedIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeUnReported"> |
| | | SELECT |
| | | pit.`name` intakeNum, |
| | | pct.rtuAddr, |
| | | rohrl.rtu_dt rtuDt |
| | | FROM pr_intake pit |
| | | LEFT JOIN `rm_on_hour_report_last` rohrl ON pit.id = rohrl.intake_id |
| | | LEFT JOIN pr_controller pct ON pit.id = pct.intakeId |
| | | WHERE rohrl.id is NULL |
| | | <if test="timeStart != null"> |
| | | OR rohrl.rtu_dt < #{timeStart} |
| | | </if> |
| | | <if test="timeStop != null"> |
| | | OR rohrl.rtu_dt > #{timeStop} |
| | | </if> |
| | | ORDER BY rtu_dt ASC |
| | | </select> |
| | | </mapper> |
| | |
| | | oh.client_name AS clientName, |
| | | oh.op_ic_card_no AS openIcNum, |
| | | oh.op_ic_card_addr AS openIcAddr, |
| | | oh.op_dt AS openTime, |
| | | oh.open_dt AS openTime, |
| | | CASE |
| | | WHEN oh.op_type = 1 THEN 'å·å¡å¼é' |
| | | WHEN oh.op_type = 3 THEN 'ä¸å¿ç«å¼é' |
| | |
| | | oh.op_ele_total_amount AS openEleTotalAmount, |
| | | oh.cl_ic_card_no AS closeIcNum, |
| | | oh.cl_ic_card_addr AS closeIcAddr, |
| | | oh.cl_dt AS closeTime, |
| | | oh.close_dt AS closeTime, |
| | | CASE |
| | | WHEN oh.cl_type = 2 THEN 'å·å¡å
³é' |
| | | WHEN oh.cl_type = 4 THEN 'ä¸å¿ç«å
³é' |
| | |
| | | </trim> |
| | | </select> |
| | | |
| | | <!--è·åæå®æ¶é´æ®µå
ç¨æ°´éä½äºæå®å¼çåæ·æ°é--> |
| | | <select id="getSmallWaterConsumptionClientsCount" resultType="java.lang.Long"> |
| | | SELECT COUNT(*) AS recordCount |
| | | FROM se_client cli |
| | | <where> |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null"> |
| | | (SELECT SUM(his.cl_this_amount) |
| | | FROM rm_open_close_valve_history his |
| | | WHERE his.client_id = cli.id |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterConsumption} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--è·åæå®æ¶é´æ®µå
ç¨æ°´éä½äºæå®å¼çåæ·--> |
| | | <select id="getSmallWaterConsumptionClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient"> |
| | | SELECT cli.id AS clientId, |
| | | cli.name AS clientName, |
| | | cli.clientNum, |
| | | CONCAT(cli.districtTitle, cli.address) AS address, |
| | | cli.phone, |
| | | cli.idCard, |
| | | IFNULL((SELECT SUM(his.cl_this_amount) |
| | | FROM rm_open_close_valve_history his |
| | | <where> |
| | | his.client_id = cli.id |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </if> |
| | | </where> |
| | | ),0) AS waterConsumption |
| | | FROM se_client cli |
| | | <where> |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null"> |
| | | (SELECT SUM(his.cl_this_amount) |
| | | FROM rm_open_close_valve_history his |
| | | WHERE his.client_id = cli.id |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterConsumption} |
| | | </if> |
| | | </where> |
| | | ORDER BY cli.id |
| | | <trim prefix="limit "> |
| | | <if test="start != null and count != null"> |
| | | #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | |
| | | <!--è·åæå®æ¶é´æ®µå
æ¶è´¹éé¢è¶
è¿æå®å¼çåæ·æ°é--> |
| | | <select id="getLargeAmountSpentClientsCount" resultType="java.lang.Long"> |
| | | SELECT COUNT(*) AS recordCount |
| | |
| | | FROM rm_open_close_valve_history his |
| | | WHERE his.client_id = cli.id |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent} |
| | | </if> |
| | | </where> |
| | | ORDER BY cli.id |
| | | <trim prefix="limit "> |
| | | <if test="start != null and count != null"> |
| | | #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | |
| | | <!--è·åæå®æ¶é´æ®µå
æ¶è´¹éé¢ä½äºæå®å¼çåæ·æ°é--> |
| | | <select id="getSmallAmountSpentClientsCount" resultType="java.lang.Long"> |
| | | SELECT COUNT(*) AS recordCount |
| | | FROM se_client cli |
| | | <where> |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null"> |
| | | (SELECT SUM(his.cl_this_money) |
| | | FROM rm_open_close_valve_history his |
| | | WHERE his.client_id = cli.id |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{amountSpent} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | <!--è·åæå®æ¶é´æ®µå
æ¶è´¹éé¢ä½äºæå®å¼çåæ·--> |
| | | <select id="getSmallAmountSpentClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient"> |
| | | SELECT cli.id AS clientId, |
| | | cli.name AS clientName, |
| | | cli.clientNum, |
| | | CONCAT(cli.districtTitle, cli.address) AS address, |
| | | cli.phone, |
| | | cli.idCard, |
| | | IFNULL((SELECT SUM(his.cl_this_money) |
| | | FROM rm_open_close_valve_history his |
| | | <where> |
| | | his.client_id = cli.id |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </if> |
| | | </where> |
| | | ),0) AS amountSpent |
| | | FROM se_client cli |
| | | <where> |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null"> |
| | | (SELECT SUM(his.cl_this_money) |
| | | FROM rm_open_close_valve_history his |
| | | WHERE his.client_id = cli.id |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{amountSpent} |
| | | </if> |
| | | </where> |
| | | ORDER BY cli.id |
| | |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | |
| | | <!--è·åæå®æ¶é´æ®µå
ç¨æ°´æ¶é¿ä½äºæå®å¼çåæ·æ°é--> |
| | | <select id="getSmallWaterDurationClientsCount" resultType="java.lang.Long"> |
| | | SELECT COUNT(*) AS recordCount |
| | | FROM se_client cli |
| | | <where> |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null"> |
| | | (SELECT SUM(his.cl_this_time) |
| | | FROM rm_open_close_valve_history his |
| | | WHERE his.client_id = cli.id |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterDuration} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--è·åæå®æ¶é´æ®µå
ç¨æ°´æ¶é¿ä½äºæå®å¼çåæ·--> |
| | | <select id="getSmallWaterDurationClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient"> |
| | | SELECT cli.id AS clientId, |
| | | cli.name AS clientName, |
| | | cli.clientNum, |
| | | CONCAT(cli.districtTitle, cli.address) AS address, |
| | | cli.phone, |
| | | cli.idCard, |
| | | IFNULL((SELECT SUM(his.cl_this_time) |
| | | FROM rm_open_close_valve_history his |
| | | <where> |
| | | his.client_id = cli.id |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </if> |
| | | </where> |
| | | ),0) AS waterDuration |
| | | FROM se_client cli |
| | | <where> |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null"> |
| | | (SELECT SUM(his.cl_this_time) |
| | | FROM rm_open_close_valve_history his |
| | | WHERE his.client_id = cli.id |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterDuration} |
| | | </if> |
| | | </where> |
| | | ORDER BY cli.id |
| | | <trim prefix="limit "> |
| | | <if test="start != null and count != null"> |
| | | #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | <!--æå®æ¶é´æ®µç¨æ°´éè¶
è¿æå®å¼çåæ°´å£æ°é--> |
| | | <select id="getUseWaterGtValueIntakesCount" resultType="java.lang.Long"> |
| | | select |
| | |
| | | oh.client_name AS clientName, |
| | | oh.op_ic_card_no AS openIcNum, |
| | | oh.op_ic_card_addr AS openIcAddr, |
| | | oh.op_dt AS openTime, |
| | | oh.open_dt AS openTime, |
| | | CASE |
| | | WHEN oh.op_type = 1 THEN 'å·å¡å¼é' |
| | | WHEN oh.op_type = 3 THEN 'ä¸å¿ç«å¼é' |
| | |
| | | oh.op_ele_total_amount AS openEleTotalAmount, |
| | | oh.cl_ic_card_no AS closeIcNum, |
| | | oh.cl_ic_card_addr AS closeIcAddr, |
| | | oh.cl_dt AS closeTime, |
| | | oh.close_dt AS closeTime, |
| | | CASE |
| | | WHEN oh.cl_type = 2 THEN 'å·å¡å
³é' |
| | | WHEN oh.cl_type = 4 THEN 'ä¸å¿ç«å
³é' |
| | |
| | | //工使¥å¤ªé¢ç¹ï¼Næ¬¡ä¸æ¥å¤ç1次ï¼åå¼èå´æ¯1-100 |
| | | ServerProperties.workReportDealOneByTimes = conf.getSetAttrPlusInt(doc, "config.base", "workReportDealOneByTimes", null, 1, 100, null) ; |
| | | |
| | | //触ååéééæ¥è¦æ¶æ¯çåæ°´å£æ¥æ¼æéçæå°å¼ï¼å
æ¬ä½é¤0.0å¤ï¼ |
| | | ServerProperties.intakeAlarmLossMinValue = conf.getSetAttrPlusDouble(doc, "config.base", "intakeAlarmLossMinValue", null, 0.0, 1000000.0, null) ; |
| | | |
| | | //ææ¥è¦åçæ¶ï¼åééåéæ¶æ¯çé´éæ¶é¿ï¼åéï¼ |
| | | ServerProperties.sendDingDingAlarmMsInterval = conf.getSetAttrPlusInt(doc, "config.base", "sendDingDingAlarmMsInterval", null, 1, 600, null) ; |
| | | |
| | |
| | | /** |
| | | * è®°å½Rtuæ¥å¿ |
| | | * @param rtuAddr æ§å¶å¨å°å |
| | | * @param conent æ¥å¿å
容 |
| | | * @param content æ¥å¿å
容 |
| | | */ |
| | | private void log(String rtuAddr , String conent){ |
| | | File f = getFileForWrite(ResourceUnit.confVo.rtuLogDir , rtuAddr.trim()) ; |
| | | if(f != null){ |
| | | writeLog(f , DateTime.yyyy_MM_dd_HH_mm_ss() + " " + conent) ; |
| | | private void log(String rtuAddr , String content){ |
| | | Object[] res = getFileForWrite(ResourceUnit.confVo.rtuLogDir , rtuAddr.trim()) ; |
| | | if(res[0] != null){ |
| | | writeLog((File)res[0] , DateTime.yyyy_MM_dd_HH_mm_ss() + " " + content) ; |
| | | }else{ |
| | | log.error("ä¸è½å¾å°å°å为:" + rtuAddr + "çRtuæ¥å¿æä»¶ï¼") ; |
| | | log.error("ä¸è½å¾å°å°å为:" + rtuAddr + "çRtuæ¥å¿æä»¶ï¼ï¼ä¿¡æ¯ç¼ç " + res[1] + "ï¼") ; |
| | | } |
| | | } |
| | | |
| | |
| | | * @param rtuAddr æ§å¶å¨å°å |
| | | * @return æ¥å¿æä»¶ |
| | | */ |
| | | private File getFileForWrite(String path , String rtuAddr) { |
| | | private Object[] getFileForWrite(String path , String rtuAddr) { |
| | | File dir = new File(path) ; |
| | | if(!dir.exists()){ |
| | | if(!dir.mkdirs()){ |
| | | return null ; |
| | | return new Object[]{null, 1} ; |
| | | } |
| | | } |
| | | File f = new File(path + rtuAddr + ".log"); |
| | |
| | | File oldestLog = new File(path + rtuAddr + ".log." + (ResourceUnit.confVo.rtuLogFileMaxCount - 1)) ; |
| | | if(oldestLog.exists()){ |
| | | if(!oldestLog.delete()){ |
| | | return null ; |
| | | return new Object[]{null, 2} ; |
| | | } |
| | | } |
| | | for(int i = (ResourceUnit.confVo.rtuLogFileMaxCount - 2) ; i > 0 ; i--){ |
| | | File oldLog = new File(path + rtuAddr + ".log." + i) ; |
| | | if(oldLog.exists()){ |
| | | if(!oldLog.renameTo(new File(path + rtuAddr + ".log." + (i + 1)))){ |
| | | return null ; |
| | | return new Object[]{null, 3} ; |
| | | } |
| | | if(!oldLog.delete()){ |
| | | return null ; |
| | | return new Object[]{null, 4} ; |
| | | } |
| | | } |
| | | } |
| | | if(!f.renameTo(new File(path + rtuAddr + ".log." + 1))){ |
| | | return null ; |
| | | return new Object[]{null, 5} ; |
| | | } |
| | | if(!f.delete()){ |
| | | return null ; |
| | | } |
| | | //2024-10-11 ä¸é¢renameäºï¼åºè¯¥ä¸ç¨deleteäº |
| | | //if(!f.delete()){ |
| | | // return new Object[]{null, 6} ; |
| | | //} |
| | | |
| | | f = new File(path + rtuAddr + ".log"); |
| | | if(!f.exists()){ |
| | | if(f.createNewFile()){ |
| | | return f ; |
| | | return new Object[]{f, 7} ; |
| | | }else{ |
| | | return null ; |
| | | return new Object[]{null, 8} ; |
| | | } |
| | | } |
| | | }else{ |
| | | return f ; |
| | | return new Object[]{f, 9} ; |
| | | } |
| | | }else{ |
| | | if(f.createNewFile()){ |
| | | return f ; |
| | | return new Object[]{f, 10} ; |
| | | }else{ |
| | | return null ; |
| | | return new Object[]{null, 11} ; |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | |
| | | log.error("å
³éRtuæ¥å¿æä»¶(" + f.getName() + ")读å
¥æµæ¶åºé" , e) ; |
| | | } |
| | | } |
| | | return null; |
| | | return new Object[]{null, 12} ; |
| | | } |
| | | |
| | | /** |
| | |
| | | //工使¥å¤ªé¢ç¹ï¼Næ¬¡ä¸æ¥å¤ç1次 |
| | | public static Integer workReportDealOneByTimes = 5 ; |
| | | |
| | | //触ååéééæ¥è¦æ¶æ¯çåæ°´å£æ¥æ¼æéçæå°å¼ï¼å
æ¬ä½é¤0.0å¤ï¼ |
| | | public static Double intakeAlarmLossMinValue = 1.0 ; |
| | | |
| | | //ææ¥è¦åçæ¶ï¼åééåéæ¶æ¯çé´éæ¶é¿ï¼åéï¼ |
| | | public static Integer sendDingDingAlarmMsInterval = 60 ; |
| | | |
| | |
| | | import com.dy.common.queue.NodeObj; |
| | | import com.dy.common.springUtil.SpringContextUtil; |
| | | import com.dy.pipIrrGlobal.config.DingTalk; |
| | | import com.dy.rtuMw.server.ServerProperties; |
| | | import org.apache.logging.log4j.LogManager; |
| | | import org.apache.logging.log4j.Logger; |
| | | import org.springframework.core.env.Environment; |
| | | |
| | | /** |
| | | * @Author: liurunyu |
| | |
| | | */ |
| | | public boolean dealSelf(){ |
| | | DingTalk dingTalk = SpringContextUtil.getBean(DingTalk.class) ; |
| | | dingTalk.sendMessage(ms); |
| | | Environment env = SpringContextUtil.getApplicationContext().getEnvironment() ; |
| | | dingTalk.sendMessage(ServerProperties.orgTag, env, ms); |
| | | return true ; |
| | | } |
| | | } |
| | |
| | | RtuLogNode logNode = new RtuLogNode(rtuAddr, content) ; |
| | | |
| | | ResourceUnit.getInstance().rtuLog(logNode); |
| | | |
| | | ///////////////////// |
| | | // æè
åæ¶æ¯ä¸é´ä»¶åæ¶æ¯ |
| | | //////////////////// |
| | | } |
| | | |
| | | } |
| | |
| | | this.lastSendStamp = now ; |
| | | |
| | | //è®°å½æ¥å¿ |
| | | RtuLogDealer.log(this.result.rtuAddr, "ä¸è¡æ°æ® " + this.result.downCode + "ï¼" + this.result.downBufHex); |
| | | RtuLogDealer.log(this.result.rtuAddr, "ä¸è¡æ°æ® " + this.result.downCode + (this.result.downCodeName==null?"":("ï¼" + this.result.downCodeName + "ï¼")) + "ï¼" + this.result.downBufHex); |
| | | //è®°å½ç¶æ |
| | | RtuStatusDealer.downData(this.result.rtuAddr, this.result.downBuffer.length); |
| | | |
| | | log.info("ä¸è¡RTUï¼å°å=" + this.result.rtuAddr + "ï¼å½ä»¤ï¼åè½ç =" + this.result.downCode + "ï¼ " + this.result.downBufHex ) ; |
| | | log.info("ä¸è¡RTUï¼å°å=" + this.result.rtuAddr + "ï¼å½ä»¤[åè½ç =" + this.result.downCode + (this.result.downCodeName==null?"":("ï¼" + this.result.downCodeName + "ï¼")) + "] " + this.result.downBufHex ) ; |
| | | } |
| | | |
| | | return removeNodeFromCach ; |
| | |
| | | log.info("ç½ç»è¿æ¥å»ºç«ï¼ç»ç«¯ç½åæ¯ï¼" + session.getRemoteAddress().toString()) ; |
| | | if(session != null) { |
| | | String rtuAddr = (String) session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrIdKey); |
| | | RtuLogDealer.log(rtuAddr, "ç½ç»æ¥å
¥"); |
| | | if(rtuAddr != null && !rtuAddr.trim().equals("")){ |
| | | RtuLogDealer.log(rtuAddr, "ç½ç»æ¥å
¥"); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | if(session != null){ |
| | | String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrIdKey) ; |
| | | |
| | | if(rtuAddr != null){ |
| | | if(rtuAddr != null && !rtuAddr.trim().equals("")){ |
| | | //è®°å½ç¶æ |
| | | RtuStatusDealer.offLine(rtuAddr); |
| | | RtuLogDealer.log(rtuAddr, "ç½ç»è¿æ¥å
³é"); |
| | | } |
| | | RtuLogDealer.log(rtuAddr, "ç½ç»è¿æ¥å
³é"); |
| | | log.info("ç½ç»è¿æ¥å
³éï¼" |
| | | + (rtuAddr==null?"":("ç»ç«¯å°åæ¯ï¼" + rtuAddr))) ; |
| | | //+ (session==null?"":(session.getRemoteAddress() == null?"":(session.getRemoteAddress().toString()==null?"":("ï¼ç»ç«¯ç½åæ¯ï¼" + session.getRemoteAddress().toString()))))) ; |
| | |
| | | po.intakeId = controller==null?null:controller.getIntakeId() ; |
| | | po.rtuAddr = rtuAddr ; |
| | | po.valueFrom(dV1_0_1, rtuDt, alarmVo, stateVo); |
| | | if(alarmVo.hasAlarm()){ |
| | | if(alarmVo.hasAlarmExcludeLoss()){ |
| | | po.sendMsTime = System.currentTimeMillis() ; |
| | | this.sendMessage(controller, alarmVo); |
| | | } |
| | | sv.saveRmAlarmStateLast(po) ; |
| | | }else{ |
| | | if(po.sendMsTime == null){ |
| | | if(alarmVo.hasAlarm()) { |
| | | if(alarmVo.hasAlarmExcludeLoss()) { |
| | | po.sendMsTime = System.currentTimeMillis(); |
| | | this.sendMessage(controller, alarmVo); |
| | | } |
| | | }else{ |
| | | if(alarmVo.hasAlarm()){ |
| | | if(alarmVo.hasAlarmExcludeLoss()){ |
| | | Long now = System.currentTimeMillis() ; |
| | | if(((now - po.sendMsTime) / (1000 * 60)) > ServerProperties.sendDingDingAlarmMsInterval){ |
| | | //大äºè§å®çé´éæ¶é´ |
| | |
| | | * @param alarmVo |
| | | */ |
| | | private void sendMessage(PrController controller, DataAlarmVo alarmVo){ |
| | | String ms = "åæ°´å£â" + controller.getIntakeName() + "âäº§çæ¥è¦ï¼" + alarmVo.alarmContent() ; |
| | | String ms = "åæ°´å£â" + controller.getIntakeName() + "âäº§çæ¥è¦ï¼" + alarmVo.alarmContentExcludeLoss() ; |
| | | try{ |
| | | SendMsCache.cacheMs(ms); |
| | | }catch (Exception e){ |
| | |
| | | |
| | | import com.dy.common.mw.protocol.Data; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataAlarmVo; |
| | | import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCdC0Vo; |
| | | import com.dy.common.mw.protocol.p206V202404.DataV202404; |
| | | import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo; |
| | |
| | | import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast; |
| | | import com.dy.pipIrrGlobal.pojoRm.RmTimingReportHistory; |
| | | import com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast; |
| | | import com.dy.rtuMw.server.ServerProperties; |
| | | import com.dy.rtuMw.server.forMs.SendMsCache; |
| | | import com.dy.rtuMw.server.rtuData.TaskSurpport; |
| | | import com.dy.rtuMw.server.rtuData.dbSv.DbSv; |
| | | import org.apache.logging.log4j.LogManager; |
| | |
| | | po.rtuAddr = rtuAddr; |
| | | po.valueFrom(dV1_0_1, cdData); |
| | | sv.saveRmOnHourReportLast(po) ; |
| | | if(po.lossAmount >= ServerProperties.intakeAlarmLossMinValue){ |
| | | this.sendMessage(controller, po.lossAmount); |
| | | } |
| | | }else{ |
| | | po.controllerId = controller==null?null:controller.getId(); |
| | | po.intakeId = controller==null?null:controller.getIntakeId(); |
| | | po.valueFrom(dV1_0_1, cdData); |
| | | sv.updateRmOnHourReportLast(po); |
| | | if(po.lossAmount >= ServerProperties.intakeAlarmLossMinValue){ |
| | | this.sendMessage(controller, po.lossAmount); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | po.valueFrom(dV1_0_1, cdData); |
| | | sv.saveRmOnHourReportHistory(po); ; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * åééåéæ¶æ¯ |
| | | * @param controller |
| | | */ |
| | | private void sendMessage(PrController controller, Double lossAmount){ |
| | | String ms = "åæ°´å£â" + controller.getIntakeName() + "âæ¼æ°´æ¥è¦ï¼ä»æ¥æ¼æé" + lossAmount + "ç«æ¹ç±³"; |
| | | try{ |
| | | SendMsCache.cacheMs(ms); |
| | | }catch (Exception e){ |
| | | log.error("ç¼åééæ¶æ¯å¼å¸¸ï¼", e); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | }else{ |
| | | MidResult[] midRs = dri.parseData(ServerProperties.isLowPower, rtuAddrAtHead, upBuf, upHex, new DriverParserDataCallback(){ |
| | | @Override |
| | | public void callback(String rtuAddrAtHead, String code, String upHex, Boolean reportOrResponse_trueOrFalse, boolean parseFail, String rtuAddrInData) { |
| | | public void callback(String rtuAddrAtHead, String code, String codeName, String upHex, Boolean reportOrResponse_trueOrFalse, boolean parseFail, String rtuAddrInData) { |
| | | //æ´æ°ç»ç«¯ç¶æ |
| | | if(rtuAddrInData != null && !rtuAddrInData.equals(rtuAddrAtHead)){ |
| | | //æ°æ®å¤´ä¸çRTUå°å䏿°æ®ä¸çRTUå°åä¸ä¸è´ï¼æ´æ¢ææ°æ®ä¸çRTUå°å |
| | |
| | | |
| | | //è®°å½æ¥å¿ |
| | | if(parseFail){ |
| | | RtuLogDealer.log(rtuAddr, (isOnLine?"ä¸çº¿æ°æ® ":"ä¸è¡æ°æ® ") + "" + code + "ï¼" + upHex + "ï¼è§£æå¤±è´¥ï¼"); |
| | | RtuLogDealer.log(rtuAddr, (isOnLine?"ä¸çº¿æ°æ® ":"ä¸è¡æ°æ® ") + code + ("ï¼" + codeName + "ï¼") + "ï¼" + upHex + "ï¼è§£æå¤±è´¥ï¼"); |
| | | }else{ |
| | | RtuLogDealer.log(rtuAddr, (isOnLine?"ä¸çº¿æ°æ® ":"ä¸è¡æ°æ® ") + "" + code + "ï¼" + upHex); |
| | | RtuLogDealer.log(rtuAddr, (isOnLine?"ä¸çº¿æ°æ® ":"ä¸è¡æ°æ® ") + code + ("ï¼" + codeName + "ï¼") + "ï¼" + upHex); |
| | | } |
| | | } |
| | | }) ; |
| | |
| | | |
| | | import java.io.*; |
| | | import java.util.ArrayList; |
| | | import java.util.Comparator; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.Stream; |
| | | |
| | | |
| | | /** |
| | |
| | | */ |
| | | @GetMapping("/rtuLogText") |
| | | public BaseResponse<List<String>> rtuLogText(String rtuAddr){ |
| | | List<String> list = new ArrayList() ; |
| | | List<String> list ; |
| | | File logFile = ResourceUnit.getInstance().getLogFile(rtuAddr + ".log") ; |
| | | if(logFile != null && logFile.exists()){ |
| | | BufferedReader reader = null ; |
| | | try { |
| | | reader = new BufferedReader(new FileReader(logFile)) ; |
| | | //æ°çå®ç°æ¹æ³ |
| | | Stream<String> linesStream = reader.lines() ; |
| | | //list = linesStream.toList() ; //æåæ¥é¡ºåº |
| | | list = linesStream.sorted(Comparator.reverseOrder()).collect(Collectors.toList()) ;//ååº |
| | | /* 忥çå®ç°æ¹æ³ |
| | | list = new ArrayList() ; |
| | | String line ; |
| | | while((line = reader.readLine()) != null){ |
| | | list.add(line) ; |
| | | } |
| | | */ |
| | | return BaseResponseUtils.buildSuccess(list); |
| | | } catch (Exception e) { |
| | | list = new ArrayList() ; |
| | | list.add("è¯»åæ§å¶å¨ï¼" + rtuAddr + "ï¼çæ¥å¿æä»¶å¼å¸¸ï¼" + (e.getMessage() == null?"":("ï¼" + e.getMessage()))) ; |
| | | return BaseResponseUtils.buildSuccess(list); |
| | | }finally{ |
| | |
| | | } |
| | | } |
| | | }else{ |
| | | list = new ArrayList() ; |
| | | list.add("æªå¾å°æ§å¶å¨ï¼" + rtuAddr + "ï¼çæ¥å¿æä»¶") ; |
| | | return BaseResponseUtils.buildSuccess(list); |
| | | } |
| New file |
| | |
| | | # æ°æ®æºé
ç½® |
| | | spring: |
| | | datasource: #é
ç½®æ°æ®æº |
| | | type: com.alibaba.druid.pool.DruidDataSource |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | url: jdbc:mysql://127.0.0.1:3306/pipIrr_test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull |
| | | username: root |
| | | password: dysql,;.abc!@# |
| | | druid: |
| | | #æ°æ®æºåç§°ï¼å½åå¨å¤ä¸ªæ°æ®æºæ¶ï¼è®¾ç½®ååå¯ä»¥å¾æ¹ä¾¿çæ¥è¿è¡åºå,é»è®¤èªå¨çæåç§°ï¼æ ¼å¼æ¯ï¼"DataSource-" + System.identityHashCode(this) |
| | | #name: name: druid-mysql-mw-rtu åæ°æ®æºä¸èµ·ä½ç¨ï¼æä»¥æ³¨éæ |
| | | #é
ç½®åå§å大å°ãæå°ãæå¤§ |
| | | initialSize: 10 |
| | | minIdle: 10 |
| | | maxActive: 200 |
| | | # è·åè¿æ¥æ¶æå¤§çå¾
æ¶é´,å使¯«ç§ãé
ç½®äºmaxWaitä¹å,缺çå¯ç¨å
¬å¹³é,å¹¶åæç伿æä¸é,妿éè¦å¯ä»¥éè¿é
ç½®useUnfairLock屿§ä¸ºtrue使ç¨éå
¬å¹³é |
| | | maxWait: 60000 |
| New file |
| | |
| | | # æ°æ®æºé
ç½® |
| | | spring: |
| | | datasource: #é
ç½®æ°æ®æº |
| | | type: com.alibaba.druid.pool.DruidDataSource |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull |
| | | username: root |
| | | password: dysql,;.abc!@# |
| | | druid: |
| | | #æ°æ®æºåç§°ï¼å½åå¨å¤ä¸ªæ°æ®æºæ¶ï¼è®¾ç½®ååå¯ä»¥å¾æ¹ä¾¿çæ¥è¿è¡åºå,é»è®¤èªå¨çæåç§°ï¼æ ¼å¼æ¯ï¼"DataSource-" + System.identityHashCode(this) |
| | | #name: name: druid-mysql-mw-rtu åæ°æ®æºä¸èµ·ä½ç¨ï¼æä»¥æ³¨éæ |
| | | #é
ç½®åå§å大å°ãæå°ãæå¤§ |
| | | initialSize: 10 |
| | | minIdle: 10 |
| | | maxActive: 200 |
| | | # è·åè¿æ¥æ¶æå¤§çå¾
æ¶é´,å使¯«ç§ãé
ç½®äºmaxWaitä¹å,缺çå¯ç¨å
¬å¹³é,å¹¶åæç伿æä¸é,妿éè¦å¯ä»¥éè¿é
ç½®useUnfairLock屿§ä¸ºtrue使ç¨éå
¬å¹³é |
| | | maxWait: 60000 |
| | |
| | | type: com.alibaba.druid.pool.DruidDataSource |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull |
| | | # url: jdbc:mysql://8.130.130.233:3306/pipIrr_test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull |
| | | username: root |
| | | password: dysql,;.abc!@# |
| | | druid: |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <config> |
| | | <server name="éä¿¡ä¸é´ä»¶" showStartInfo="true" company="http://www.dyjs.com"/> |
| | | <!-- |
| | | åºæ¬é
ç½® |
| | | orgTag æºætag(å¯¹åºæºætag,åæ°æ®æºåç¼) |
| | | isLowPower: æ¯å¦ä¸ºä½åè |
| | | onlyDealRtus:åªå¤çæå®RTUå°å设å¤ï¼å
¶ä»è®¾å¤æ°æ®ä¸¢å¼ï¼å¤ä¸ªRTUå°åç¨è±æéå·éå¼ï¼ |
| | | onlyOneProtocolï¼å¨æ¯æå¤éä¿¡åè®®æ¶ï¼åªæRTUä¸çº¿äºï¼æè½è¯å«åºè¯¥RTUå®é
ç¨çéä¿¡åè®®ï¼è¿èç¨æ¤å议解æä¸è¡æ°æ®åæé ä¸è¡å½ä»¤ã |
| | | 妿RTUæªæ¾ä¸çº¿ï¼éä¿¡ä¸é´ä»¶å¯å¨å该RTUæªæ¾ä¸çº¿ï¼ï¼é£ä¹å¨åå®åéä¸è¡å½ä»¤æ¶ï¼ä¸è½å¤æåºå
¶éç¨çåè®®ï¼ä¹ä¸è½æé å½ä»¤ï¼å°¤å
¶æ¯ä½åèæ
åµä¸ï¼ä¸ä¸çº¿æ¯æ£å¸¸ç°è±¡ã |
| | | å½åªæä¸ä¸ªåè®®æ
åµä¸ï¼å¨RTUæªæ¾ä¸çº¿æ¶ï¼ä¹è½ç¨æ¤åè®®æé å½ä»¤å¹¶ç¼å䏿¥ï¼å°¤å
¶éåä½åèæ
åµã |
| | | onlyOneProtocol=true: éä¿¡ä¸é´ä»¶å½ååªæä¸ä¸ªåè®® |
| | | downComandMaxResendTimes: ä¸è¡å½ä»¤å
许åéçæå¤§æ¬¡æ°Xï¼å³å
许éåX-1 |
| | | commandSendInterval: é对ä¸ä¸ªRTUï¼ä¸åå½ä»¤çæ¶é´é´é(ç§) |
| | | cachWaitResultTimeout: å½ä»¤å·²ç»åéè¾¾æå¤§æ¬¡æ°ï¼ä»æªæ¶å°å½ä»¤ç»æï¼éè¦å¨ç¼åç»§ç»çå¾
ï¼å
¶çå¾
æå¤§æ¶é¿(ç§)ï¼æ¬ç³»ç»RTUï¼å¯¹äºå¼å
³æ³µå½ä»¤ï¼å
¶å
æ§è¡å¼å
³æ³µæ¥ï¼ç¶ååè¿è¡å½ä»¤åºçï¼æä»¥æ¤å¼ è¦å¤§ä¸äº |
| | | offLineCachTimeout: ä¸å¨çº¿ç¼åçå½ä»¤æå¤§ç¼åæ¶é¿(ç§) |
| | | lastUpDataTimeLive: TCPä¸è¡æ°æ®æ¶å»ç¼åæ¶é¿(毫ç§)ï¼å½è¾¾å°æ¶é¿æ¶ï¼TCPä¸è¡æ°æ®æ¶å»è¢«æ¸
空ï¼éç¨TCPä¸è¡æ°æ®æ¶å»ç®çæ¯ï¼é»æ¢ä¸è¡æ°æ®åæ¶ä¸åæ°æ®ï¼å 为RTUå¤çä¸è¿æ¥(ç»å次å®éªï¼1ç§è¿æ¯æé®é¢ï¼2ç§æ é®é¢) |
| | | dbDataIdSuffixï¼æ°æ®åºæ°æ®idçæå¨çidåç¼ï¼0æ¯é»è®¤çåç¼ï¼ä¸è¬webç³»ç»åºç¨ï¼æ°æ®ä¸é´ä»¶idåç¼å¤§äºçäº1 |
| | | cacheUpDownDataWarnCountï¼ä¸ä¸è¡æ°æ®ç¼åéåä¸ç¼åæ°æ®ä¸ªæ°çæ¥è¦éï¼è¿ä¸ªä¸ç°å®é¡¹ç®ææ¥æ°´è¡¨æ°ç¸å
³ |
| | | cacheUpDownDataMaxCountï¼ä¸ä¸è¡æ°æ®ç¼åéåä¸ç¼åæ°æ®ä¸ªæ°çæå¤§å¼ï¼è¿ä¸ªä¸ç°å®é¡¹ç®ææ¥æ°´è¡¨æ°ç¸å
³ |
| | | disconnectedByNoUpDataMinutesï¼æ²¡æä¸è¡æ°æ®çåéæ°ï¼è¾¾å°è¿ä¸ªåéæ°ï¼è®¤ä¸ºRTUæç½äºï¼åå¼èå´æ¯2-100 |
| | | workReportDealOneByTimes: 工使¥å¤ªé¢ç¹ï¼Næ¬¡ä¸æ¥å¤ç1次ï¼åå¼èå´æ¯1-100 |
| | | intakeAlarmLossMinValue: 触ååéééæ¥è¦æ¶æ¯çåæ°´å£æ¥æ¼æéçæå°å¼ï¼å
æ¬ï¼ |
| | | sendDingDingAlarmMsInterval: ææ¥è¦åçæ¶ï¼åééåéæ¶æ¯çé´éæ¶é¿ï¼åéï¼ |
| | | --> |
| | | <base |
| | | orgTag="test" |
| | | isLowPower="false" |
| | | onlyDealRtus="" |
| | | onlyOneProtocol="false" |
| | | downComandMaxResendTimes="1" |
| | | commandSendInterval="2" |
| | | cachWaitResultTimeout="120" |
| | | offLineCachTimeout="86400" |
| | | lastUpDataTimeLive="500" |
| | | dbDataIdSuffix="0" |
| | | cacheUpDownDataWarnCount="100000" |
| | | cacheUpDownDataMaxCount="110000" |
| | | disconnectedByNoUpDataMinutes="3" |
| | | workReportDealOneByTimes="5" |
| | | intakeAlarmLossMinValue="1" |
| | | sendDingDingAlarmMsInterval="60" |
| | | /> |
| | | |
| | | <!-- |
| | | 2024-08-22 æ¤é
ç½®ææ¶æªåºç¨ |
| | | centerAddr: ä¸å¿å°åï¼å½åï¼centerAddræªç¨å° |
| | | synchroRtuClock: æ¯å¦å¯¹RTUæ ¡æ¶ |
| | | synchroRtuClockTimepiecesï¼å½RTU䏿å¡å¨æ¶éç¸å·®ä¸å®æ¯«ç§ï¼é
ç½®æä»¶æ¯ç§éï¼åï¼è¿è¡æ ¡æ¶ |
| | | --> |
| | | <protocol |
| | | centerAddr="1" |
| | | synchroRtuClock="true" |
| | | synchroRtuClockTimepieces="300000" |
| | | /> |
| | | |
| | | |
| | | <!-- 2024-10-08 æ¤é
ç½®ææ¶æªåºç¨ |
| | | 软件å级 --> |
| | | <updateRtuSoft enable="true"> |
| | | <soft1 enable="true" oldVersionName="meter_v2_0,meter_v1_0" > |
| | | <newVersion newVersionName="meter_v3_0" file="rtuSoft/meter_v3_0.txt"></newVersion> |
| | | </soft1> |
| | | <!-- |
| | | <soft2 enable="false" oldVersionName="rtu_v1_0,rtu_v2_0,rtu_v3_0" > |
| | | <newVersion newVersionName="rtu_v4_0" file="rtuSoft/rtu_v4_0.txt"></newVersion> |
| | | </soft2> |
| | | --> |
| | | </updateRtuSoft> |
| | | |
| | | <!-- |
| | | æ¯ææ¨¡å |
| | | ç工使¶é¿çº¿ç¨æ± ï¼çº¿ç¨è´è´£ç¨æ¶è¾ççå·¥ä½ä»»å¡ |
| | | short_maxThreadï¼ æ± ä¸æå¤§çº¿ç¨æ°ä¸ºææCPUæ ¸æ°+1ï¼shortæ± ä¸longæ± ååä¸åï¼ï¼è¥ä¸º-1ï¼ä¸åéå¶ ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | short_minThreadï¼ æ± ä¸æå°çº¿ç¨æ°ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | short_freeTimeoutï¼ çº¿ç¨æ°ç©ºé²æ¶é¿ï¼è¥æ± ä¸çº¿ç¨æ°é大äºminThreadï¼ä¸æç线ç¨ç©ºé²æ¶é¿è¶
è¿freeTimeoutï¼åæ¸
é¤è¯¥çº¿ç¨ï¼ä¸ºäºä¸æ¸
é¤ï¼æminThreadä¸maxThread设置ç¸ç |
| | | short_busyTimeoutï¼çº¿ç¨ä¸é´æå·¥ä½æ¶é¿ï¼åä½ä¸ºç§)è¶
æ¶éï¼è®¤ä¸ºçº¿ç¨å·²ç»äºå´©æºï¼å°å¼ºå¶æ¸
é¤ï¼ç工使¶é¿è®¾ç½®ä¸º5ç§ |
| | | é¿å·¥ä½æ¶é¿çº¿ç¨æ± ï¼çº¿ç¨è´è´£ç¨æ¶è¾é¿çå·¥ä½ä»»å¡ï¼ä¾å¦æ°æ®åºååæä½ |
| | | long_maxThreadï¼ æ± ä¸æå¤§çº¿ç¨æ°ä¸ºææCPUæ ¸æ°+1ï¼shortæ± ä¸longæ± ååä¸åï¼ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | long_minThreadï¼ æ± ä¸æå°çº¿ç¨æ°ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | long_freeTimeoutï¼ çº¿ç¨æ°ç©ºé²æ¶é¿ï¼è¥æ± ä¸çº¿ç¨æ°é大äºminThreadï¼ä¸æç线ç¨ç©ºé²æ¶é¿è¶
è¿freeTimeoutï¼åæ¸
é¤è¯¥çº¿ç¨ |
| | | long_busyTimeoutï¼çº¿ç¨ä¸é´æå·¥ä½æ¶é¿ï¼åä½ä¸ºç§)è¶
æ¶éï¼è¥ä¸º-1ï¼ä¸åéå¶ |
| | | enableThreadPoolï¼æ¯å¦å¯ç¨çº¿ç¨æ± |
| | | --> |
| | | <support |
| | | short_maxThread="6" |
| | | short_minThread="6" |
| | | short_freeTimeout="60" |
| | | short_busyTimeout="5" |
| | | long_maxThread="6" |
| | | long_minThread="6" |
| | | long_freeTimeout="60" |
| | | long_busyTimeout="-1" |
| | | enableThreadPool="true" |
| | | /> |
| | | |
| | | <!-- |
| | | èµæºæ¨¡å |
| | | rtuLogDirï¼RTUæ¥å¿æä»¶åå¨ç®å½(ç¸å¯¹ç®å½) |
| | | rtuLogFileMaxSizeï¼RTUæ¥å¿æä»¶æå¤§åèæ°(KB) |
| | | rtuLogFileMaxCountï¼RTUæ¥å¿æä»¶æå¤§æä»¶æ° |
| | | monitorIntervalï¼Rtuç¶æçè§é´é(åé) |
| | | saveDbIntervalï¼Rtuç¶æåæ°æ®åºé´é(åé) |
| | | --> |
| | | <resource |
| | | rtuLogDir="rtuLogs/" |
| | | rtuLogFileMaxSize="1000" |
| | | rtuLogFileMaxCount="2" |
| | | monitorInterval="2" |
| | | saveDbInterval="10" |
| | | /> |
| | | |
| | | |
| | | <!-- |
| | | 2024-08-22 æ¤é
ç½®ææ¶æªåºç¨ |
| | | portï¼rmiæå¡ç«¯å£å· |
| | | contextï¼rmiæå¡ä¸ä¸æ |
| | | --> |
| | | <rmi enable="true" |
| | | port="65400" |
| | | context="rtuMw" |
| | | /> |
| | | |
| | | <!-- |
| | | sleepBigBusyï¼ä¸»çº¿ç¨å¤§å¿æ¶æ¯æ¬¡æ§è¡é´éæ¶é¿ï¼æ¯«ç§ï¼ |
| | | sleepSmallBusyï¼ä¸»çº¿ç¨å°å¿æ¶æ¯æ¬¡æ§è¡é´éæ¶é¿ï¼æ¯«ç§ï¼ |
| | | queueWarnSize: ç¼åéåèç¹æ°è¦åæ°é |
| | | queueMaxSize: ç¼åéåèç¹æ°æå¤§æ°é |
| | | --> |
| | | <core |
| | | sleepBigBusy="100" |
| | | sleepSmallBusy="500" |
| | | queueWarnSize="100000" |
| | | queueMaxSize="300000" |
| | | /> |
| | | |
| | | <!-- |
| | | portï¼ç«¯å£ |
| | | processorsï¼ Mina IO å¤çä¸ä¸è¡æ°æ®ççº¿ç¨æ°ï¼ä¸è¬æ¯CPUæ»æ ¸æ°+1 |
| | | idle: ååæ¶é¿ï¼ç§ï¼ |
| | | --> |
| | | <tcp enable="true" |
| | | port="65000" |
| | | processors="3" |
| | | idle="10" |
| | | /> |
| | | |
| | | </config> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <config> |
| | | <server name="éä¿¡ä¸é´ä»¶" showStartInfo="true" company="http://www.dyjs.com"/> |
| | | <!-- |
| | | åºæ¬é
ç½® |
| | | orgTag æºætag(å¯¹åºæºætag,åæ°æ®æºåç¼) |
| | | isLowPower: æ¯å¦ä¸ºä½åè |
| | | onlyDealRtus:åªå¤çæå®RTUå°å设å¤ï¼å
¶ä»è®¾å¤æ°æ®ä¸¢å¼ï¼å¤ä¸ªRTUå°åç¨è±æéå·éå¼ï¼ |
| | | onlyOneProtocolï¼å¨æ¯æå¤éä¿¡åè®®æ¶ï¼åªæRTUä¸çº¿äºï¼æè½è¯å«åºè¯¥RTUå®é
ç¨çéä¿¡åè®®ï¼è¿èç¨æ¤å议解æä¸è¡æ°æ®åæé ä¸è¡å½ä»¤ã |
| | | 妿RTUæªæ¾ä¸çº¿ï¼éä¿¡ä¸é´ä»¶å¯å¨å该RTUæªæ¾ä¸çº¿ï¼ï¼é£ä¹å¨åå®åéä¸è¡å½ä»¤æ¶ï¼ä¸è½å¤æåºå
¶éç¨çåè®®ï¼ä¹ä¸è½æé å½ä»¤ï¼å°¤å
¶æ¯ä½åèæ
åµä¸ï¼ä¸ä¸çº¿æ¯æ£å¸¸ç°è±¡ã |
| | | å½åªæä¸ä¸ªåè®®æ
åµä¸ï¼å¨RTUæªæ¾ä¸çº¿æ¶ï¼ä¹è½ç¨æ¤åè®®æé å½ä»¤å¹¶ç¼å䏿¥ï¼å°¤å
¶éåä½åèæ
åµã |
| | | onlyOneProtocol=true: éä¿¡ä¸é´ä»¶å½ååªæä¸ä¸ªåè®® |
| | | downComandMaxResendTimes: ä¸è¡å½ä»¤å
许åéçæå¤§æ¬¡æ°Xï¼å³å
许éåX-1 |
| | | commandSendInterval: é对ä¸ä¸ªRTUï¼ä¸åå½ä»¤çæ¶é´é´é(ç§) |
| | | cachWaitResultTimeout: å½ä»¤å·²ç»åéè¾¾æå¤§æ¬¡æ°ï¼ä»æªæ¶å°å½ä»¤ç»æï¼éè¦å¨ç¼åç»§ç»çå¾
ï¼å
¶çå¾
æå¤§æ¶é¿(ç§)ï¼æ¬ç³»ç»RTUï¼å¯¹äºå¼å
³æ³µå½ä»¤ï¼å
¶å
æ§è¡å¼å
³æ³µæ¥ï¼ç¶ååè¿è¡å½ä»¤åºçï¼æä»¥æ¤å¼ è¦å¤§ä¸äº |
| | | offLineCachTimeout: ä¸å¨çº¿ç¼åçå½ä»¤æå¤§ç¼åæ¶é¿(ç§) |
| | | lastUpDataTimeLive: TCPä¸è¡æ°æ®æ¶å»ç¼åæ¶é¿(毫ç§)ï¼å½è¾¾å°æ¶é¿æ¶ï¼TCPä¸è¡æ°æ®æ¶å»è¢«æ¸
空ï¼éç¨TCPä¸è¡æ°æ®æ¶å»ç®çæ¯ï¼é»æ¢ä¸è¡æ°æ®åæ¶ä¸åæ°æ®ï¼å 为RTUå¤çä¸è¿æ¥(ç»å次å®éªï¼1ç§è¿æ¯æé®é¢ï¼2ç§æ é®é¢) |
| | | dbDataIdSuffixï¼æ°æ®åºæ°æ®idçæå¨çidåç¼ï¼0æ¯é»è®¤çåç¼ï¼ä¸è¬webç³»ç»åºç¨ï¼æ°æ®ä¸é´ä»¶idåç¼å¤§äºçäº1 |
| | | cacheUpDownDataWarnCountï¼ä¸ä¸è¡æ°æ®ç¼åéåä¸ç¼åæ°æ®ä¸ªæ°çæ¥è¦éï¼è¿ä¸ªä¸ç°å®é¡¹ç®ææ¥æ°´è¡¨æ°ç¸å
³ |
| | | cacheUpDownDataMaxCountï¼ä¸ä¸è¡æ°æ®ç¼åéåä¸ç¼åæ°æ®ä¸ªæ°çæå¤§å¼ï¼è¿ä¸ªä¸ç°å®é¡¹ç®ææ¥æ°´è¡¨æ°ç¸å
³ |
| | | disconnectedByNoUpDataMinutesï¼æ²¡æä¸è¡æ°æ®çåéæ°ï¼è¾¾å°è¿ä¸ªåéæ°ï¼è®¤ä¸ºRTUæç½äºï¼åå¼èå´æ¯2-100 |
| | | workReportDealOneByTimes: 工使¥å¤ªé¢ç¹ï¼Næ¬¡ä¸æ¥å¤ç1次ï¼åå¼èå´æ¯1-100 |
| | | intakeAlarmLossMinValue: 触ååéééæ¥è¦æ¶æ¯çåæ°´å£æ¥æ¼æéçæå°å¼ï¼å
æ¬ï¼ |
| | | sendDingDingAlarmMsInterval: ææ¥è¦åçæ¶ï¼åééåéæ¶æ¯çé´éæ¶é¿ï¼åéï¼ |
| | | --> |
| | | <base |
| | | orgTag="ym" |
| | | isLowPower="false" |
| | | onlyDealRtus="" |
| | | onlyOneProtocol="false" |
| | | downComandMaxResendTimes="1" |
| | | commandSendInterval="2" |
| | | cachWaitResultTimeout="120" |
| | | offLineCachTimeout="86400" |
| | | lastUpDataTimeLive="500" |
| | | dbDataIdSuffix="0" |
| | | cacheUpDownDataWarnCount="100000" |
| | | cacheUpDownDataMaxCount="110000" |
| | | disconnectedByNoUpDataMinutes="3" |
| | | workReportDealOneByTimes="5" |
| | | intakeAlarmLossMinValue="1" |
| | | sendDingDingAlarmMsInterval="60" |
| | | /> |
| | | |
| | | <!-- |
| | | 2024-08-22 æ¤é
ç½®ææ¶æªåºç¨ |
| | | centerAddr: ä¸å¿å°åï¼å½åï¼centerAddræªç¨å° |
| | | synchroRtuClock: æ¯å¦å¯¹RTUæ ¡æ¶ |
| | | synchroRtuClockTimepiecesï¼å½RTU䏿å¡å¨æ¶éç¸å·®ä¸å®æ¯«ç§ï¼é
ç½®æä»¶æ¯ç§éï¼åï¼è¿è¡æ ¡æ¶ |
| | | --> |
| | | <protocol |
| | | centerAddr="1" |
| | | synchroRtuClock="true" |
| | | synchroRtuClockTimepieces="300000" |
| | | /> |
| | | |
| | | |
| | | <!-- 2024-10-08 æ¤é
ç½®ææ¶æªåºç¨ |
| | | 软件å级 --> |
| | | <updateRtuSoft enable="true"> |
| | | <soft1 enable="true" oldVersionName="meter_v2_0,meter_v1_0" > |
| | | <newVersion newVersionName="meter_v3_0" file="rtuSoft/meter_v3_0.txt"></newVersion> |
| | | </soft1> |
| | | <!-- |
| | | <soft2 enable="false" oldVersionName="rtu_v1_0,rtu_v2_0,rtu_v3_0" > |
| | | <newVersion newVersionName="rtu_v4_0" file="rtuSoft/rtu_v4_0.txt"></newVersion> |
| | | </soft2> |
| | | --> |
| | | </updateRtuSoft> |
| | | |
| | | <!-- |
| | | æ¯ææ¨¡å |
| | | ç工使¶é¿çº¿ç¨æ± ï¼çº¿ç¨è´è´£ç¨æ¶è¾ççå·¥ä½ä»»å¡ |
| | | short_maxThreadï¼ æ± ä¸æå¤§çº¿ç¨æ°ä¸ºææCPUæ ¸æ°+1ï¼shortæ± ä¸longæ± ååä¸åï¼ï¼è¥ä¸º-1ï¼ä¸åéå¶ ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | short_minThreadï¼ æ± ä¸æå°çº¿ç¨æ°ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | short_freeTimeoutï¼ çº¿ç¨æ°ç©ºé²æ¶é¿ï¼è¥æ± ä¸çº¿ç¨æ°é大äºminThreadï¼ä¸æç线ç¨ç©ºé²æ¶é¿è¶
è¿freeTimeoutï¼åæ¸
é¤è¯¥çº¿ç¨ï¼ä¸ºäºä¸æ¸
é¤ï¼æminThreadä¸maxThread设置ç¸ç |
| | | short_busyTimeoutï¼çº¿ç¨ä¸é´æå·¥ä½æ¶é¿ï¼åä½ä¸ºç§)è¶
æ¶éï¼è®¤ä¸ºçº¿ç¨å·²ç»äºå´©æºï¼å°å¼ºå¶æ¸
é¤ï¼ç工使¶é¿è®¾ç½®ä¸º5ç§ |
| | | é¿å·¥ä½æ¶é¿çº¿ç¨æ± ï¼çº¿ç¨è´è´£ç¨æ¶è¾é¿çå·¥ä½ä»»å¡ï¼ä¾å¦æ°æ®åºååæä½ |
| | | long_maxThreadï¼ æ± ä¸æå¤§çº¿ç¨æ°ä¸ºææCPUæ ¸æ°+1ï¼shortæ± ä¸longæ± ååä¸åï¼ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | long_minThreadï¼ æ± ä¸æå°çº¿ç¨æ°ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | long_freeTimeoutï¼ çº¿ç¨æ°ç©ºé²æ¶é¿ï¼è¥æ± ä¸çº¿ç¨æ°é大äºminThreadï¼ä¸æç线ç¨ç©ºé²æ¶é¿è¶
è¿freeTimeoutï¼åæ¸
é¤è¯¥çº¿ç¨ |
| | | long_busyTimeoutï¼çº¿ç¨ä¸é´æå·¥ä½æ¶é¿ï¼åä½ä¸ºç§)è¶
æ¶éï¼è¥ä¸º-1ï¼ä¸åéå¶ |
| | | enableThreadPoolï¼æ¯å¦å¯ç¨çº¿ç¨æ± |
| | | --> |
| | | <support |
| | | short_maxThread="6" |
| | | short_minThread="6" |
| | | short_freeTimeout="60" |
| | | short_busyTimeout="5" |
| | | long_maxThread="6" |
| | | long_minThread="6" |
| | | long_freeTimeout="60" |
| | | long_busyTimeout="-1" |
| | | enableThreadPool="true" |
| | | /> |
| | | |
| | | <!-- |
| | | èµæºæ¨¡å |
| | | rtuLogDirï¼RTUæ¥å¿æä»¶åå¨ç®å½(ç¸å¯¹ç®å½) |
| | | rtuLogFileMaxSizeï¼RTUæ¥å¿æä»¶æå¤§åèæ°(B) |
| | | rtuLogFileMaxCountï¼RTUæ¥å¿æä»¶æå¤§æä»¶æ° |
| | | monitorIntervalï¼Rtuç¶æçè§é´é(åé) |
| | | saveDbIntervalï¼Rtuç¶æåæ°æ®åºé´é(åé) |
| | | --> |
| | | <resource |
| | | rtuLogDir="rtuLogs/" |
| | | rtuLogFileMaxSize="100000" |
| | | rtuLogFileMaxCount="2" |
| | | monitorInterval="2" |
| | | saveDbInterval="10" |
| | | /> |
| | | |
| | | |
| | | <!-- |
| | | 2024-08-22 æ¤é
ç½®ææ¶æªåºç¨ |
| | | portï¼rmiæå¡ç«¯å£å· |
| | | contextï¼rmiæå¡ä¸ä¸æ |
| | | --> |
| | | <rmi enable="true" |
| | | port="65400" |
| | | context="rtuMw" |
| | | /> |
| | | |
| | | <!-- |
| | | sleepBigBusyï¼ä¸»çº¿ç¨å¤§å¿æ¶æ¯æ¬¡æ§è¡é´éæ¶é¿ï¼æ¯«ç§ï¼ |
| | | sleepSmallBusyï¼ä¸»çº¿ç¨å°å¿æ¶æ¯æ¬¡æ§è¡é´éæ¶é¿ï¼æ¯«ç§ï¼ |
| | | queueWarnSize: ç¼åéåèç¹æ°è¦åæ°é |
| | | queueMaxSize: ç¼åéåèç¹æ°æå¤§æ°é |
| | | --> |
| | | <core |
| | | sleepBigBusy="100" |
| | | sleepSmallBusy="500" |
| | | queueWarnSize="100000" |
| | | queueMaxSize="300000" |
| | | /> |
| | | |
| | | <!-- |
| | | portï¼ç«¯å£ |
| | | processorsï¼ Mina IO å¤çä¸ä¸è¡æ°æ®ççº¿ç¨æ°ï¼ä¸è¬æ¯CPUæ»æ ¸æ°+1 |
| | | idle: ååæ¶é¿ï¼ç§ï¼ |
| | | --> |
| | | <tcp enable="true" |
| | | port="60000" |
| | | processors="3" |
| | | idle="10" |
| | | /> |
| | | |
| | | </config> |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <config> |
| | | <server name="éä¿¡ä¸é´ä»¶" showStartInfo="true" company="http://www.dyjs.com"/> |
| | | <!-- |
| | | åºæ¬é
ç½® |
| | | orgTag æºætag(å¯¹åºæºætag,åæ°æ®æºåç¼) |
| | | isLowPower: æ¯å¦ä¸ºä½åè |
| | | onlyDealRtus:åªå¤çæå®RTUå°å设å¤ï¼å
¶ä»è®¾å¤æ°æ®ä¸¢å¼ï¼å¤ä¸ªRTUå°åç¨è±æéå·éå¼ï¼ |
| | | onlyOneProtocolï¼å¨æ¯æå¤éä¿¡åè®®æ¶ï¼åªæRTUä¸çº¿äºï¼æè½è¯å«åºè¯¥RTUå®é
ç¨çéä¿¡åè®®ï¼è¿èç¨æ¤å议解æä¸è¡æ°æ®åæé ä¸è¡å½ä»¤ã |
| | | 妿RTUæªæ¾ä¸çº¿ï¼éä¿¡ä¸é´ä»¶å¯å¨å该RTUæªæ¾ä¸çº¿ï¼ï¼é£ä¹å¨åå®åéä¸è¡å½ä»¤æ¶ï¼ä¸è½å¤æåºå
¶éç¨çåè®®ï¼ä¹ä¸è½æé å½ä»¤ï¼å°¤å
¶æ¯ä½åèæ
åµä¸ï¼ä¸ä¸çº¿æ¯æ£å¸¸ç°è±¡ã |
| | | å½åªæä¸ä¸ªåè®®æ
åµä¸ï¼å¨RTUæªæ¾ä¸çº¿æ¶ï¼ä¹è½ç¨æ¤åè®®æé å½ä»¤å¹¶ç¼å䏿¥ï¼å°¤å
¶éåä½åèæ
åµã |
| | | onlyOneProtocol=true: éä¿¡ä¸é´ä»¶å½ååªæä¸ä¸ªåè®® |
| | | downComandMaxResendTimes: ä¸è¡å½ä»¤å
许åéçæå¤§æ¬¡æ°Xï¼å³å
许éåX-1 |
| | | commandSendInterval: é对ä¸ä¸ªRTUï¼ä¸åå½ä»¤çæ¶é´é´é(ç§) |
| | | cachWaitResultTimeout: å½ä»¤å·²ç»åéè¾¾æå¤§æ¬¡æ°ï¼ä»æªæ¶å°å½ä»¤ç»æï¼éè¦å¨ç¼åç»§ç»çå¾
ï¼å
¶çå¾
æå¤§æ¶é¿(ç§)ï¼æ¬ç³»ç»RTUï¼å¯¹äºå¼å
³æ³µå½ä»¤ï¼å
¶å
æ§è¡å¼å
³æ³µæ¥ï¼ç¶ååè¿è¡å½ä»¤åºçï¼æä»¥æ¤å¼ è¦å¤§ä¸äº |
| | | offLineCachTimeout: ä¸å¨çº¿ç¼åçå½ä»¤æå¤§ç¼åæ¶é¿(ç§) |
| | | lastUpDataTimeLive: TCPä¸è¡æ°æ®æ¶å»ç¼åæ¶é¿(毫ç§)ï¼å½è¾¾å°æ¶é¿æ¶ï¼TCPä¸è¡æ°æ®æ¶å»è¢«æ¸
空ï¼éç¨TCPä¸è¡æ°æ®æ¶å»ç®çæ¯ï¼é»æ¢ä¸è¡æ°æ®åæ¶ä¸åæ°æ®ï¼å 为RTUå¤çä¸è¿æ¥(ç»å次å®éªï¼1ç§è¿æ¯æé®é¢ï¼2ç§æ é®é¢) |
| | | dbDataIdSuffixï¼æ°æ®åºæ°æ®idçæå¨çidåç¼ï¼0æ¯é»è®¤çåç¼ï¼ä¸è¬webç³»ç»åºç¨ï¼æ°æ®ä¸é´ä»¶idåç¼å¤§äºçäº1 |
| | | cacheUpDownDataWarnCountï¼ä¸ä¸è¡æ°æ®ç¼åéåä¸ç¼åæ°æ®ä¸ªæ°çæ¥è¦éï¼è¿ä¸ªä¸ç°å®é¡¹ç®ææ¥æ°´è¡¨æ°ç¸å
³ |
| | | cacheUpDownDataMaxCountï¼ä¸ä¸è¡æ°æ®ç¼åéåä¸ç¼åæ°æ®ä¸ªæ°çæå¤§å¼ï¼è¿ä¸ªä¸ç°å®é¡¹ç®ææ¥æ°´è¡¨æ°ç¸å
³ |
| | | disconnectedByNoUpDataMinutesï¼æ²¡æä¸è¡æ°æ®çåéæ°ï¼è¾¾å°è¿ä¸ªåéæ°ï¼è®¤ä¸ºRTUæç½äºï¼åå¼èå´æ¯2-100 |
| | | workReportDealOneByTimes: 工使¥å¤ªé¢ç¹ï¼Næ¬¡ä¸æ¥å¤ç1次ï¼åå¼èå´æ¯1-100 |
| | | sendDingDingAlarmMsInterval: ææ¥è¦åçæ¶ï¼åééåéæ¶æ¯çé´éæ¶é¿ï¼åéï¼ |
| | | --> |
| | | <base |
| | | orgTag="ym" |
| | | isLowPower="false" |
| | | onlyDealRtus="" |
| | | onlyOneProtocol="false" |
| | | downComandMaxResendTimes="1" |
| | | commandSendInterval="2" |
| | | cachWaitResultTimeout="120" |
| | | offLineCachTimeout="86400" |
| | | lastUpDataTimeLive="500" |
| | | dbDataIdSuffix="0" |
| | | cacheUpDownDataWarnCount="100000" |
| | | cacheUpDownDataMaxCount="110000" |
| | | disconnectedByNoUpDataMinutes="3" |
| | | workReportDealOneByTimes="5" |
| | | sendDingDingAlarmMsInterval="60" |
| | | /> |
| | | |
| | | <!-- |
| | | 2024-08-22 ææ¶ä¸ç¨ |
| | | centerAddr: ä¸å¿å°åï¼å½åï¼centerAddræªç¨å° |
| | | synchroRtuClock: æ¯å¦å¯¹RTUæ ¡æ¶ |
| | | synchroRtuClockTimepiecesï¼å½RTU䏿å¡å¨æ¶éç¸å·®ä¸å®æ¯«ç§ï¼é
ç½®æä»¶æ¯ç§éï¼åï¼è¿è¡æ ¡æ¶ |
| | | --> |
| | | <protocol |
| | | centerAddr="1" |
| | | synchroRtuClock="true" |
| | | synchroRtuClockTimepieces="300000" |
| | | /> |
| | | |
| | | <server name="éä¿¡ä¸é´ä»¶" showStartInfo="true" company="http://www.dyjs.com"/> |
| | | <!-- |
| | | åºæ¬é
ç½® |
| | | orgTag æºætag(å¯¹åºæºætag,åæ°æ®æºåç¼) |
| | | isLowPower: æ¯å¦ä¸ºä½åè |
| | | onlyDealRtus:åªå¤çæå®RTUå°å设å¤ï¼å
¶ä»è®¾å¤æ°æ®ä¸¢å¼ï¼å¤ä¸ªRTUå°åç¨è±æéå·éå¼ï¼ |
| | | onlyOneProtocolï¼å¨æ¯æå¤éä¿¡åè®®æ¶ï¼åªæRTUä¸çº¿äºï¼æè½è¯å«åºè¯¥RTUå®é
ç¨çéä¿¡åè®®ï¼è¿èç¨æ¤å议解æä¸è¡æ°æ®åæé ä¸è¡å½ä»¤ã |
| | | 妿RTUæªæ¾ä¸çº¿ï¼éä¿¡ä¸é´ä»¶å¯å¨å该RTUæªæ¾ä¸çº¿ï¼ï¼é£ä¹å¨åå®åéä¸è¡å½ä»¤æ¶ï¼ä¸è½å¤æåºå
¶éç¨çåè®®ï¼ä¹ä¸è½æé å½ä»¤ï¼å°¤å
¶æ¯ä½åèæ
åµä¸ï¼ä¸ä¸çº¿æ¯æ£å¸¸ç°è±¡ã |
| | | å½åªæä¸ä¸ªåè®®æ
åµä¸ï¼å¨RTUæªæ¾ä¸çº¿æ¶ï¼ä¹è½ç¨æ¤åè®®æé å½ä»¤å¹¶ç¼å䏿¥ï¼å°¤å
¶éåä½åèæ
åµã |
| | | onlyOneProtocol=true: éä¿¡ä¸é´ä»¶å½ååªæä¸ä¸ªåè®® |
| | | downComandMaxResendTimes: ä¸è¡å½ä»¤å
许åéçæå¤§æ¬¡æ°Xï¼å³å
许éåX-1 |
| | | commandSendInterval: é对ä¸ä¸ªRTUï¼ä¸åå½ä»¤çæ¶é´é´é(ç§) |
| | | cachWaitResultTimeout: å½ä»¤å·²ç»åéè¾¾æå¤§æ¬¡æ°ï¼ä»æªæ¶å°å½ä»¤ç»æï¼éè¦å¨ç¼åç»§ç»çå¾
ï¼å
¶çå¾
æå¤§æ¶é¿(ç§)ï¼æ¬ç³»ç»RTUï¼å¯¹äºå¼å
³æ³µå½ä»¤ï¼å
¶å
æ§è¡å¼å
³æ³µæ¥ï¼ç¶ååè¿è¡å½ä»¤åºçï¼æä»¥æ¤å¼ è¦å¤§ä¸äº |
| | | offLineCachTimeout: ä¸å¨çº¿ç¼åçå½ä»¤æå¤§ç¼åæ¶é¿(ç§) |
| | | lastUpDataTimeLive: TCPä¸è¡æ°æ®æ¶å»ç¼åæ¶é¿(毫ç§)ï¼å½è¾¾å°æ¶é¿æ¶ï¼TCPä¸è¡æ°æ®æ¶å»è¢«æ¸
空ï¼éç¨TCPä¸è¡æ°æ®æ¶å»ç®çæ¯ï¼é»æ¢ä¸è¡æ°æ®åæ¶ä¸åæ°æ®ï¼å 为RTUå¤çä¸è¿æ¥(ç»å次å®éªï¼1ç§è¿æ¯æé®é¢ï¼2ç§æ é®é¢) |
| | | dbDataIdSuffixï¼æ°æ®åºæ°æ®idçæå¨çidåç¼ï¼0æ¯é»è®¤çåç¼ï¼ä¸è¬webç³»ç»åºç¨ï¼æ°æ®ä¸é´ä»¶idåç¼å¤§äºçäº1 |
| | | cacheUpDownDataWarnCountï¼ä¸ä¸è¡æ°æ®ç¼åéåä¸ç¼åæ°æ®ä¸ªæ°çæ¥è¦éï¼è¿ä¸ªä¸ç°å®é¡¹ç®ææ¥æ°´è¡¨æ°ç¸å
³ |
| | | cacheUpDownDataMaxCountï¼ä¸ä¸è¡æ°æ®ç¼åéåä¸ç¼åæ°æ®ä¸ªæ°çæå¤§å¼ï¼è¿ä¸ªä¸ç°å®é¡¹ç®ææ¥æ°´è¡¨æ°ç¸å
³ |
| | | disconnectedByNoUpDataMinutesï¼æ²¡æä¸è¡æ°æ®çåéæ°ï¼è¾¾å°è¿ä¸ªåéæ°ï¼è®¤ä¸ºRTUæç½äºï¼åå¼èå´æ¯2-100 |
| | | workReportDealOneByTimes: 工使¥å¤ªé¢ç¹ï¼Næ¬¡ä¸æ¥å¤ç1次ï¼åå¼èå´æ¯1-100 |
| | | intakeAlarmLossMinValue: 触ååéééæ¥è¦æ¶æ¯çåæ°´å£æ¥æ¼æéçæå°å¼ï¼å
æ¬ä½é¤0.0å¤ï¼ï¼å°æ°ï¼ |
| | | sendDingDingAlarmMsInterval: ææ¥è¦åçæ¶ï¼åééåéæ¶æ¯çé´éæ¶é¿ï¼åéï¼ |
| | | --> |
| | | <base |
| | | orgTag="ym" |
| | | isLowPower="false" |
| | | onlyDealRtus="" |
| | | onlyOneProtocol="false" |
| | | downComandMaxResendTimes="1" |
| | | commandSendInterval="2" |
| | | cachWaitResultTimeout="120" |
| | | offLineCachTimeout="86400" |
| | | lastUpDataTimeLive="500" |
| | | dbDataIdSuffix="0" |
| | | cacheUpDownDataWarnCount="100000" |
| | | cacheUpDownDataMaxCount="110000" |
| | | disconnectedByNoUpDataMinutes="3" |
| | | workReportDealOneByTimes="5" |
| | | intakeAlarmLossMinValue="1.0" |
| | | sendDingDingAlarmMsInterval="60" |
| | | /> |
| | | |
| | | <!-- 软件å级 --> |
| | | <updateRtuSoft enable="true"> |
| | | <soft1 enable="true" oldVersionName="meter_v2_0,meter_v1_0" > |
| | | <newVersion newVersionName="meter_v3_0" file="rtuSoft/meter_v3_0.txt"></newVersion> |
| | | </soft1> |
| | | <!-- |
| | | <soft2 enable="false" oldVersionName="rtu_v1_0,rtu_v2_0,rtu_v3_0" > |
| | | <newVersion newVersionName="rtu_v4_0" file="rtuSoft/rtu_v4_0.txt"></newVersion> |
| | | </soft2> |
| | | --> |
| | | </updateRtuSoft> |
| | | |
| | | <!-- |
| | | æ¯ææ¨¡å |
| | | ç工使¶é¿çº¿ç¨æ± ï¼çº¿ç¨è´è´£ç¨æ¶è¾ççå·¥ä½ä»»å¡ |
| | | short_maxThreadï¼ æ± ä¸æå¤§çº¿ç¨æ°ä¸ºææCPUæ ¸æ°+1ï¼shortæ± ä¸longæ± ååä¸åï¼ï¼è¥ä¸º-1ï¼ä¸åéå¶ ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | short_minThreadï¼ æ± ä¸æå°çº¿ç¨æ°ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | short_freeTimeoutï¼ çº¿ç¨æ°ç©ºé²æ¶é¿ï¼è¥æ± ä¸çº¿ç¨æ°é大äºminThreadï¼ä¸æç线ç¨ç©ºé²æ¶é¿è¶
è¿freeTimeoutï¼åæ¸
é¤è¯¥çº¿ç¨ï¼ä¸ºäºä¸æ¸
é¤ï¼æminThreadä¸maxThread设置ç¸ç |
| | | short_busyTimeoutï¼çº¿ç¨ä¸é´æå·¥ä½æ¶é¿ï¼åä½ä¸ºç§)è¶
æ¶éï¼è®¤ä¸ºçº¿ç¨å·²ç»äºå´©æºï¼å°å¼ºå¶æ¸
é¤ï¼ç工使¶é¿è®¾ç½®ä¸º5ç§ |
| | | é¿å·¥ä½æ¶é¿çº¿ç¨æ± ï¼çº¿ç¨è´è´£ç¨æ¶è¾é¿çå·¥ä½ä»»å¡ï¼ä¾å¦æ°æ®åºååæä½ |
| | | long_maxThreadï¼ æ± ä¸æå¤§çº¿ç¨æ°ä¸ºææCPUæ ¸æ°+1ï¼shortæ± ä¸longæ± ååä¸åï¼ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | long_minThreadï¼ æ± ä¸æå°çº¿ç¨æ°ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | long_freeTimeoutï¼ çº¿ç¨æ°ç©ºé²æ¶é¿ï¼è¥æ± ä¸çº¿ç¨æ°é大äºminThreadï¼ä¸æç线ç¨ç©ºé²æ¶é¿è¶
è¿freeTimeoutï¼åæ¸
é¤è¯¥çº¿ç¨ |
| | | long_busyTimeoutï¼çº¿ç¨ä¸é´æå·¥ä½æ¶é¿ï¼åä½ä¸ºç§)è¶
æ¶éï¼è¥ä¸º-1ï¼ä¸åéå¶ |
| | | enableThreadPoolï¼æ¯å¦å¯ç¨çº¿ç¨æ± |
| | | --> |
| | | <support |
| | | short_maxThread="6" |
| | | short_minThread="6" |
| | | short_freeTimeout="60" |
| | | short_busyTimeout="5" |
| | | long_maxThread="6" |
| | | long_minThread="6" |
| | | long_freeTimeout="60" |
| | | long_busyTimeout="-1" |
| | | enableThreadPool="true" |
| | | /> |
| | | |
| | | <!-- |
| | | èµæºæ¨¡å |
| | | rtuLogDirï¼RTUæ¥å¿æä»¶åå¨ç®å½(ç¸å¯¹ç®å½) |
| | | rtuLogFileMaxSizeï¼RTUæ¥å¿æä»¶æå¤§åèæ°(KB) |
| | | rtuLogFileMaxCountï¼RTUæ¥å¿æä»¶æå¤§æä»¶æ° |
| | | monitorIntervalï¼Rtuç¶æçè§é´é(åé) |
| | | saveDbIntervalï¼Rtuç¶æåæ°æ®åºé´é(åé) |
| | | --> |
| | | <resource |
| | | rtuLogDir="rtuLogs/" |
| | | rtuLogFileMaxSize="1000" |
| | | rtuLogFileMaxCount="2" |
| | | monitorInterval="2" |
| | | saveDbInterval="10" |
| | | /> |
| | | |
| | | |
| | | <!-- |
| | | 2024-08-22 æ¤é
ç½®ææ¶æªåºç¨ |
| | | centerAddr: ä¸å¿å°åï¼å½åï¼centerAddræªç¨å° |
| | | synchroRtuClock: æ¯å¦å¯¹RTUæ ¡æ¶ |
| | | synchroRtuClockTimepiecesï¼å½RTU䏿å¡å¨æ¶éç¸å·®ä¸å®æ¯«ç§ï¼é
ç½®æä»¶æ¯ç§éï¼åï¼è¿è¡æ ¡æ¶ |
| | | --> |
| | | <protocol |
| | | centerAddr="1" |
| | | synchroRtuClock="true" |
| | | synchroRtuClockTimepieces="300000" |
| | | /> |
| | | |
| | | |
| | | <!-- 2024-10-08 æ¤é
ç½®ææ¶æªåºç¨ |
| | | 软件å级 --> |
| | | <updateRtuSoft enable="true"> |
| | | <soft1 enable="true" oldVersionName="meter_v2_0,meter_v1_0" > |
| | | <newVersion newVersionName="meter_v3_0" file="rtuSoft/meter_v3_0.txt"></newVersion> |
| | | </soft1> |
| | | <!-- |
| | | 2024-08-22 ææ¶ä¸ç¨ |
| | | portï¼rmiæå¡ç«¯å£å· |
| | | contextï¼rmiæå¡ä¸ä¸æ |
| | | --> |
| | | <rmi enable="true" |
| | | port="65400" |
| | | context="rtuMw" |
| | | /> |
| | | |
| | | <!-- |
| | | sleepBigBusyï¼ä¸»çº¿ç¨å¤§å¿æ¶æ¯æ¬¡æ§è¡é´éæ¶é¿ï¼æ¯«ç§ï¼ |
| | | sleepSmallBusyï¼ä¸»çº¿ç¨å°å¿æ¶æ¯æ¬¡æ§è¡é´éæ¶é¿ï¼æ¯«ç§ï¼ |
| | | queueWarnSize: ç¼åéåèç¹æ°è¦åæ°é |
| | | queueMaxSize: ç¼åéåèç¹æ°æå¤§æ°é |
| | | --> |
| | | <core |
| | | sleepBigBusy="100" |
| | | sleepSmallBusy="500" |
| | | queueWarnSize="100000" |
| | | queueMaxSize="300000" |
| | | /> |
| | | |
| | | <!-- |
| | | portï¼ç«¯å£ |
| | | processorsï¼ Mina IO å¤çä¸ä¸è¡æ°æ®ççº¿ç¨æ°ï¼ä¸è¬æ¯CPUæ»æ ¸æ°+1 |
| | | idle: ååæ¶é¿ï¼ç§ï¼ |
| | | --> |
| | | <tcp enable="true" |
| | | port="60000" |
| | | processors="3" |
| | | idle="10" |
| | | /> |
| | | <soft2 enable="false" oldVersionName="rtu_v1_0,rtu_v2_0,rtu_v3_0" > |
| | | <newVersion newVersionName="rtu_v4_0" file="rtuSoft/rtu_v4_0.txt"></newVersion> |
| | | </soft2> |
| | | --> |
| | | </updateRtuSoft> |
| | | |
| | | <!-- |
| | | æ¯ææ¨¡å |
| | | ç工使¶é¿çº¿ç¨æ± ï¼çº¿ç¨è´è´£ç¨æ¶è¾ççå·¥ä½ä»»å¡ |
| | | short_maxThreadï¼ æ± ä¸æå¤§çº¿ç¨æ°ä¸ºææCPUæ ¸æ°+1ï¼shortæ± ä¸longæ± ååä¸åï¼ï¼è¥ä¸º-1ï¼ä¸åéå¶ ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | short_minThreadï¼ æ± ä¸æå°çº¿ç¨æ°ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | short_freeTimeoutï¼ çº¿ç¨æ°ç©ºé²æ¶é¿ï¼è¥æ± ä¸çº¿ç¨æ°é大äºminThreadï¼ä¸æç线ç¨ç©ºé²æ¶é¿è¶
è¿freeTimeoutï¼åæ¸
é¤è¯¥çº¿ç¨ï¼ä¸ºäºä¸æ¸
é¤ï¼æminThreadä¸maxThread设置ç¸ç |
| | | short_busyTimeoutï¼çº¿ç¨ä¸é´æå·¥ä½æ¶é¿ï¼åä½ä¸ºç§)è¶
æ¶éï¼è®¤ä¸ºçº¿ç¨å·²ç»äºå´©æºï¼å°å¼ºå¶æ¸
é¤ï¼ç工使¶é¿è®¾ç½®ä¸º5ç§ |
| | | é¿å·¥ä½æ¶é¿çº¿ç¨æ± ï¼çº¿ç¨è´è´£ç¨æ¶è¾é¿çå·¥ä½ä»»å¡ï¼ä¾å¦æ°æ®åºååæä½ |
| | | long_maxThreadï¼ æ± ä¸æå¤§çº¿ç¨æ°ä¸ºææCPUæ ¸æ°+1ï¼shortæ± ä¸longæ± ååä¸åï¼ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | long_minThreadï¼ æ± ä¸æå°çº¿ç¨æ°ï¼è¥ä¸º-1ï¼ä¸åéå¶ï¼è®¾ç½®ä¸º0ï¼è¡¨ç¤ºä¸å¯å¨çº¿ç¨æ± |
| | | long_freeTimeoutï¼ çº¿ç¨æ°ç©ºé²æ¶é¿ï¼è¥æ± ä¸çº¿ç¨æ°é大äºminThreadï¼ä¸æç线ç¨ç©ºé²æ¶é¿è¶
è¿freeTimeoutï¼åæ¸
é¤è¯¥çº¿ç¨ |
| | | long_busyTimeoutï¼çº¿ç¨ä¸é´æå·¥ä½æ¶é¿ï¼åä½ä¸ºç§)è¶
æ¶éï¼è¥ä¸º-1ï¼ä¸åéå¶ |
| | | enableThreadPoolï¼æ¯å¦å¯ç¨çº¿ç¨æ± |
| | | --> |
| | | <support |
| | | short_maxThread="6" |
| | | short_minThread="6" |
| | | short_freeTimeout="60" |
| | | short_busyTimeout="5" |
| | | long_maxThread="6" |
| | | long_minThread="6" |
| | | long_freeTimeout="60" |
| | | long_busyTimeout="-1" |
| | | enableThreadPool="true" |
| | | /> |
| | | |
| | | <!-- |
| | | èµæºæ¨¡å |
| | | rtuLogDirï¼RTUæ¥å¿æä»¶åå¨ç®å½(ç¸å¯¹ç®å½) |
| | | rtuLogFileMaxSizeï¼RTUæ¥å¿æä»¶æå¤§åèæ°(B) |
| | | rtuLogFileMaxCountï¼RTUæ¥å¿æä»¶æå¤§æä»¶æ° |
| | | monitorIntervalï¼Rtuç¶æçè§é´é(åé) |
| | | saveDbIntervalï¼Rtuç¶æåæ°æ®åºé´é(åé) |
| | | --> |
| | | <resource |
| | | rtuLogDir="rtuLogs/" |
| | | rtuLogFileMaxSize="100000" |
| | | rtuLogFileMaxCount="2" |
| | | monitorInterval="2" |
| | | saveDbInterval="10" |
| | | /> |
| | | |
| | | |
| | | <!-- |
| | | 2024-08-22 æ¤é
ç½®ææ¶æªåºç¨ |
| | | portï¼rmiæå¡ç«¯å£å· |
| | | contextï¼rmiæå¡ä¸ä¸æ |
| | | --> |
| | | <rmi enable="true" |
| | | port="65400" |
| | | context="rtuMw" |
| | | /> |
| | | |
| | | <!-- |
| | | sleepBigBusyï¼ä¸»çº¿ç¨å¤§å¿æ¶æ¯æ¬¡æ§è¡é´éæ¶é¿ï¼æ¯«ç§ï¼ |
| | | sleepSmallBusyï¼ä¸»çº¿ç¨å°å¿æ¶æ¯æ¬¡æ§è¡é´éæ¶é¿ï¼æ¯«ç§ï¼ |
| | | queueWarnSize: ç¼åéåèç¹æ°è¦åæ°é |
| | | queueMaxSize: ç¼åéåèç¹æ°æå¤§æ°é |
| | | --> |
| | | <core |
| | | sleepBigBusy="100" |
| | | sleepSmallBusy="500" |
| | | queueWarnSize="100000" |
| | | queueMaxSize="300000" |
| | | /> |
| | | |
| | | <!-- |
| | | portï¼ç«¯å£ |
| | | processorsï¼ Mina IO å¤çä¸ä¸è¡æ°æ®ççº¿ç¨æ°ï¼ä¸è¬æ¯CPUæ»æ ¸æ°+1 |
| | | idle: ååæ¶é¿ï¼ç§ï¼ |
| | | --> |
| | | <tcp enable="true" |
| | | port="60000" |
| | | processors="3" |
| | | idle="10" |
| | | /> |
| | | |
| | | </config> |
| | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼DEBUG,INFO,WARN,ERROR,FATALï¼ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | level: info #è¾åºæ¥å¿çº§å«ï¼DEBUG,INFO,WARN,ERROR,FATALï¼ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | size: "100 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | max: 100 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: INFO #æ¥å¿è¾åºçº§å«ï¼DEBUG,INFO,WARN,ERROR,FATALï¼ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | - ref: ROLLING_FILE #è¾åºæ¥å¿æ¶ï¼é¦å
ç±æ¬level夿æ¯å¦è¾åºï¼ç¶ååç±ä¸é¢çAppenders.RollingFile.ThresholdFilter.level夿æ¯å¦è¾åº |
| | | # 为类å
è·¯å¾é
ç½®ç¹æ®çLog级å«ï¼æ¹ä¾¿è°è¯ï¼ |
| | | # ä¸åLoggers.Root.leveléå¶ |
| | | # Logger: |
| | | # - name: com.dy.pipIrrGlobal.daoBa |
| | | # additivity: false #å»é¤éå¤çlog |
| | | # level: debug #è¾åºæ¥å¿çº§å« |
| | | # AppenderRef: |
| | | # - ref: CONSOLE #è¾åºæ¥å¿æ¶ï¼é¦å
ç±æ¬.level夿æ¯å¦è¾åºï¼ç¶ååç±ä¸é¢çAppenders.Console.ThresholdFilter.level夿æ¯å¦è¾åº |
| | | # - ref: ROLLING_FILE #è¾åºæ¥å¿æ¶ï¼é¦å
ç±æ¬level夿æ¯å¦è¾åºï¼ç¶ååç±ä¸é¢çAppenders.RollingFile.ThresholdFilter.level夿æ¯å¦è¾åº |
| | | Logger: |
| | | - name: com.taobao.api.internal.util.TaobaoLogger |
| | | additivity: false #å»é¤éå¤çlog |
| | | level: fatal #è¾åºæ¥å¿çº§å« |
| | | AppenderRef: |
| | | - ref: CONSOLE #è¾åºæ¥å¿æ¶ï¼é¦å
ç±æ¬.level夿æ¯å¦è¾åºï¼ç¶ååç±ä¸é¢çAppenders.Console.ThresholdFilter.level夿æ¯å¦è¾åº |
| | | - ref: ROLLING_FILE #è¾åºæ¥å¿æ¶ï¼é¦å
ç±æ¬level夿æ¯å¦è¾åºï¼ç¶ååç±ä¸é¢çAppenders.RollingFile.ThresholdFilter.level夿æ¯å¦è¾åº |
| | |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | # è¾åºå°æä»¶ï¼è¶
è¿10MB彿¡£ |
| | | RollingFile: |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | # è¾åºå°æä»¶ï¼è¶
è¿10MB彿¡£ |
| | | RollingFile: |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | # è¾åºå°æä»¶ï¼è¶
è¿10MB彿¡£ |
| | | RollingFile: |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | # è¾åºå°æä»¶ï¼è¶
è¿10MB彿¡£ |
| | | RollingFile: |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | # è¾åºå°æä»¶ï¼è¶
è¿10MB彿¡£ |
| | | RollingFile: |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson2.JSONArray; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.dy.common.multiDataSource.DataSourceContext; |
| | | import com.dy.common.mw.protocol.Command; |
| | | import com.dy.common.webUtil.BaseResponse; |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.dubbo.common.utils.PojoUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.core.env.Environment; |
| | | import org.springframework.http.HttpEntity; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.HttpMethod; |
| | |
| | | @Autowired |
| | | private RestTemplate restTemplate; |
| | | |
| | | protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send"; |
| | | // protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send"; |
| | | protected String comSendUrl; |
| | | |
| | | /** |
| | | * pro_mwï¼å±æ§ |
| | | * tag仿§å¶å¨ä¸è·å |
| | | * key_mwï¼urlçkey |
| | | */ |
| | | private Environment env = null; |
| | | private String pro_mw = "mw"; |
| | | private String key_mw = "comSendUrl"; |
| | | @Autowired |
| | | public ControllerSv(Environment env) { |
| | | this.env = env; |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®æå®è·åæ§å¶å¨è®°å½ |
| | |
| | | */ |
| | | public QueryResultVo<List<VoController>> getControllers(QueryVo queryVo) { |
| | | |
| | | Command com = new Command(); |
| | | Command com = new Command() ; |
| | | com.id = Command.defaultId; |
| | | com.code = "LCD0001"; |
| | | com.type = "innerCommand"; |
| | | comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw); |
| | | |
| | | JSONObject response = null; |
| | | try { |
| | | response = (JSONObject) JSON.toJSON(sendCom2Mw(com)); |
| | | }catch (Exception e) { |
| | | QueryResultVo<List<VoController>> rsVo = new QueryResultVo<>(); |
| | | return rsVo; |
| | | } |
| | | JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com)); |
| | | |
| | | |
| | | if (response != null && response.getString("code").equals("0001")) { |
| | |
| | | * @return |
| | | */ |
| | | protected BaseResponse sendCom2Mw(Command com) { |
| | | String url = UriComponentsBuilder.fromUriString(mwUrlSendCom) |
| | | String url = UriComponentsBuilder.fromUriString(comSendUrl) |
| | | .build() |
| | | .toUriString(); |
| | | HttpHeaders headers = new HttpHeaders(); |
| | |
| | | |
| | | public String sendMessage(String message) { |
| | | try { |
| | | dingTalk.sendMessage(message); |
| | | dingTalk.sendMessage(DataSourceContext.get(), this.env, message); |
| | | } catch (Exception e) { |
| | | return "åé失败"; |
| | | } |
| | |
| | | } |
| | | return BaseResponseUtils.buildSuccess(true); |
| | | } |
| | | |
| | | /** |
| | | * æ¸
ç©ºæµæµªæ§å¶å¨ |
| | | * |
| | | * @param |
| | | * @return |
| | | */ |
| | | @PostMapping("emptyTrampController") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @SsoAop() |
| | | public BaseResponse<Boolean> emptyTrampController() { |
| | | |
| | | Integer rows = intakeControllerSv.emptyTrampController(); |
| | | if (rows == 0) { |
| | | return BaseResponseUtils.buildFail(ProjectResultCode.DELETE_TRAMP_CONTROLLER_FAIL.getMessage()); |
| | | } |
| | | return BaseResponseUtils.buildSuccess(true); |
| | | } |
| | | } |
| | |
| | | return prControllerTrampMapper.deleteByPrimaryKey(controllerId); |
| | | } |
| | | |
| | | /** |
| | | * æ¸
ç©ºæµæµªæ§å¶å¨ |
| | | * @param |
| | | * @return |
| | | */ |
| | | public Integer emptyTrampController() { |
| | | return prControllerTrampMapper.emptyTrampController(); |
| | | } |
| | | |
| | | //æµæµªæ§å¶å¨å¢ |
| | | public Integer addTrampController(PrControllerTramp record){ |
| | | return prControllerTrampMapper.insertSelective(record); |
| | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | # è¾åºå°æä»¶ï¼è¶
è¿10MB彿¡£ |
| | | RollingFile: |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | # è¾åºå°æä»¶ï¼è¶
è¿10MB彿¡£ |
| | | RollingFile: |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | } |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
ç¨æ°´éä½äºæå®å¼çåæ· |
| | | * @param qo |
| | | * @param bindingResult |
| | | * @return |
| | | */ |
| | | @GetMapping(path = "/getSmallWaterConsumptionClients") |
| | | @SsoAop() |
| | | public BaseResponse<QueryResultVo<List<VoClient>>> getSmallWaterConsumptionClients(@Valid WaterConsumptionQO qo, BindingResult bindingResult) { |
| | | if(bindingResult != null && bindingResult.hasErrors()){ |
| | | return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); |
| | | } |
| | | try { |
| | | return BaseResponseUtils.buildSuccess(clientSv.getSmallWaterConsumptionClients(qo)); |
| | | } catch (Exception e) { |
| | | log.error("è·åè®°å½å¼å¸¸", e); |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
æ¶è´¹éé¢è¶
è¿æå®å¼çåæ· |
| | | * @param qo |
| | | * @param bindingResult |
| | |
| | | } |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
æ¶è´¹éé¢ä½äºæå®å¼çåæ· |
| | | * @param qo |
| | | * @param bindingResult |
| | | * @return |
| | | */ |
| | | @GetMapping(path = "/getSmallAmountSpentClients") |
| | | @SsoAop() |
| | | public BaseResponse<QueryResultVo<List<VoClient>>> getSmallAmountSpentClients(@Valid AmountSpentQO qo, BindingResult bindingResult) { |
| | | if(bindingResult != null && bindingResult.hasErrors()){ |
| | | return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); |
| | | } |
| | | try { |
| | | return BaseResponseUtils.buildSuccess(clientSv.getSmallAmountSpentClients(qo)); |
| | | } catch (Exception e) { |
| | | log.error("è·åè®°å½å¼å¸¸", e); |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
ç¨æ°´æ¶é¿è¶
è¿æå®å¼çåæ· |
| | | * @param qo |
| | | * @param bindingResult |
| | |
| | | } |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
ç¨æ°´æ¶é¿ä½äºæå®å¼çåæ· |
| | | * @param qo |
| | | * @param bindingResult |
| | | * @return |
| | | */ |
| | | @GetMapping(path = "/getSmallWaterDurationClients") |
| | | @SsoAop() |
| | | public BaseResponse<QueryResultVo<List<VoClient>>> getSmallWaterDurationClients(@Valid WaterDurationQO qo, BindingResult bindingResult) { |
| | | if(bindingResult != null && bindingResult.hasErrors()){ |
| | | return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); |
| | | } |
| | | try { |
| | | return BaseResponseUtils.buildSuccess(clientSv.getSmallWaterDurationClients(qo)); |
| | | } catch (Exception e) { |
| | | log.error("è·åå¼å¡è®°å½å¼å¸¸", e); |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ç»è®¡æå®æä»½ååæ·åå¤©ç¨æ°´éåæ¶è´¹éé¢ |
| | | * @param qo |
| | | * @return |
| | |
| | | } |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
ç¨æ°´éä½äºæå®å¼çåæ· |
| | | * @param qo |
| | | * @return |
| | | */ |
| | | public QueryResultVo<List<VoClient>> getSmallWaterConsumptionClients(WaterConsumptionQO qo) { |
| | | /** |
| | | * è¡¥é½èµ·æ¢æ¶é´ |
| | | */ |
| | | String timeStart = qo.getTimeStart(); |
| | | String timeStop = qo.getTimeStop(); |
| | | if(timeStart != null && timeStart != "") { |
| | | timeStart = timeStart + " 00:00:00"; |
| | | } |
| | | if(timeStop != null && timeStop != "") { |
| | | timeStop = timeStop + " 23:59:59"; |
| | | } |
| | | qo.setTimeStart(timeStart); |
| | | qo.setTimeStop(timeStop); |
| | | |
| | | // çææ¥è¯¢åæ° |
| | | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; |
| | | |
| | | // è·åç¬¦åæ¡ä»¶çè®°å½æ° |
| | | Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getSmallWaterConsumptionClientsCount(params)).orElse(0L); |
| | | |
| | | QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ; |
| | | |
| | | rsVo.pageSize = qo.pageSize ; |
| | | rsVo.pageCurr = qo.pageCurr ; |
| | | |
| | | rsVo.calculateAndSet(itemTotal, params); |
| | | rsVo.obj = rmOpenCloseValveHistoryMapper.getSmallWaterConsumptionClients(params); |
| | | return rsVo ; |
| | | } |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
æ¶è´¹éé¢è¶
è¿æå®å¼çåæ· |
| | | * @param qo |
| | | * @return |
| | |
| | | } |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
æ¶è´¹éé¢ä½äºæå®å¼çåæ· |
| | | * @param qo |
| | | * @return |
| | | */ |
| | | public QueryResultVo<List<VoClient>> getSmallAmountSpentClients(AmountSpentQO qo) { |
| | | /** |
| | | * è¡¥é½èµ·æ¢æ¶é´ï¼å¦æå¼å§æ¶é´ä¸ºç©ºï¼åé»è®¤ä¸ºå½åæ¥æ |
| | | */ |
| | | String timeStart = qo.getTimeStart(); |
| | | String timeStop = qo.getTimeStop(); |
| | | if(timeStart != null && timeStart != "") { |
| | | timeStart = timeStart + " 00:00:00"; |
| | | } |
| | | if(timeStop != null && timeStop != "") { |
| | | timeStop = timeStop + " 23:59:59"; |
| | | } |
| | | qo.setTimeStart(timeStart); |
| | | qo.setTimeStop(timeStop); |
| | | |
| | | // çææ¥è¯¢åæ° |
| | | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; |
| | | |
| | | // è·åç¬¦åæ¡ä»¶çè®°å½æ° |
| | | Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getSmallAmountSpentClientsCount(params)).orElse(0L); |
| | | |
| | | QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ; |
| | | |
| | | rsVo.pageSize = qo.pageSize ; |
| | | rsVo.pageCurr = qo.pageCurr ; |
| | | |
| | | rsVo.calculateAndSet(itemTotal, params); |
| | | rsVo.obj = rmOpenCloseValveHistoryMapper.getSmallAmountSpentClients(params); |
| | | return rsVo ; |
| | | } |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
ç¨æ°´æ¶é¿è¶
è¿æå®å¼çåæ· |
| | | * @param qo |
| | | * @return |
| | |
| | | } |
| | | |
| | | /** |
| | | * è·åæå®æ¶é´æ®µå
ç¨æ°´æ¶é¿ä½äºæå®å¼çåæ· |
| | | * @param qo |
| | | * @return |
| | | */ |
| | | public QueryResultVo<List<VoClient>> getSmallWaterDurationClients(WaterDurationQO qo) { |
| | | /** |
| | | * è¡¥é½èµ·æ¢æ¶é´ï¼å¦æå¼å§æ¶é´ä¸ºç©ºï¼åé»è®¤ä¸ºå½åæ¥æ |
| | | */ |
| | | String timeStart = qo.getTimeStart(); |
| | | String timeStop = qo.getTimeStop(); |
| | | if(timeStart != null && timeStart != "") { |
| | | timeStart = timeStart + " 00:00:00"; |
| | | } |
| | | if(timeStop != null && timeStop != "") { |
| | | timeStop = timeStop + " 23:59:59"; |
| | | } |
| | | qo.setTimeStart(timeStart); |
| | | qo.setTimeStop(timeStop); |
| | | |
| | | // çææ¥è¯¢åæ° |
| | | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; |
| | | |
| | | // è·åç¬¦åæ¡ä»¶çè®°å½æ° |
| | | Long itemTotal = Optional.ofNullable(rmOpenCloseValveHistoryMapper.getSmallWaterDurationClientsCount(params)).orElse(0L); |
| | | |
| | | QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ; |
| | | |
| | | rsVo.pageSize = qo.pageSize ; |
| | | rsVo.pageCurr = qo.pageCurr ; |
| | | |
| | | rsVo.calculateAndSet(itemTotal, params); |
| | | rsVo.obj = rmOpenCloseValveHistoryMapper.getSmallWaterDurationClients(params); |
| | | return rsVo ; |
| | | } |
| | | |
| | | /** |
| | | * æå®æ¶é´æ®µå
å¼ç©çå¡åæ· |
| | | * @param qo |
| | | * @return |
| | |
| | | rsVo.obj = rmLossDayLastMapper.getMonthLossAmount(params); |
| | | return rsVo ; |
| | | } |
| | | |
| | | /** |
| | | * æè¿æªæ¥æ°çåæ°´å£ |
| | | * @param qo |
| | | * @return |
| | | */ |
| | | public QueryResultVo<List<VoIntakeUnReported>> getUnReportedIntakes(CommonQO qo) { |
| | | String timeStart = qo.getTimeStart(); |
| | | String timeStop = qo.getTimeStop(); |
| | | if(timeStart == "") { |
| | | timeStart = null; |
| | | } |
| | | if(timeStop == "") { |
| | | timeStop = null; |
| | | } |
| | | if(timeStart != null && timeStart != "") { |
| | | timeStart = timeStart + " 00:00:00"; |
| | | } |
| | | qo.setTimeStart(timeStart); |
| | | |
| | | if(timeStop != null && timeStop != "") { |
| | | timeStop = timeStop + " 23:59:59"; |
| | | } |
| | | qo.setTimeStop(timeStop); |
| | | |
| | | |
| | | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); |
| | | Long itemTotal = rmOnHourReportLastMapper.getUnReportedIntakesCount(params); |
| | | |
| | | QueryResultVo<List<VoIntakeUnReported>> rsVo = new QueryResultVo<>() ; |
| | | rsVo.pageSize = qo.pageSize ; |
| | | rsVo.pageCurr = qo.pageCurr ; |
| | | |
| | | rsVo.calculateAndSet(itemTotal, params); |
| | | rsVo.obj = rmOnHourReportLastMapper.getUnReportedIntakes(params); |
| | | return rsVo ; |
| | | } |
| | | } |
| | |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æè¿æªæ¥æ°çåæ°´å£ |
| | | * @param |
| | | * @return |
| | | */ |
| | | @GetMapping(path = "/getUnReportedIntakes") |
| | | @SsoAop() |
| | | public BaseResponse<QueryResultVo<List<VoIntakeUnReported>>> getUnReportedIntakes(CommonQO qo) { |
| | | try { |
| | | QueryResultVo<List<VoIntakeUnReported>> res = intakeSv.getUnReportedIntakes(qo); |
| | | return BaseResponseUtils.buildSuccess(res); |
| | | } catch (Exception e) { |
| | | log.error("è·åè®°å½å¼å¸¸", e); |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | } |
| | |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | # è¾åºå°æä»¶ï¼è¶
è¿10MB彿¡£ |
| | | RollingFile: |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |
| | |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | # è¾åºå°æä»¶ï¼è¶
è¿10MB彿¡£ |
| | | RollingFile: |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | SizeBasedTriggeringPolicy: |
| | | size: "10 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 1000 |
| | | |
| | | - name: ROLLING_FILE |
| | | ignoreExceptions: false |
| | | fileName: ${log.path}/${project.name}.log |
| | | filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | ThresholdFilter: |
| | | level: error #è¾åºæ¥å¿çº§å«ï¼è¾åºæ¥å¿æ¶ï¼é¦å
ç±Loggers.Root.levelæLoggers.Logger.level夿æ¯å¦è¾åºï¼ç¶ååç±æ¬level夿æ¯å¦è¾åº |
| | | onMatch: ACCEPT #onMatch=ACCEPT 大äºçäº "level" é
ç½®çççº§å°æ¥å¿è¾åº |
| | | onMismatch: DENY #onMismatch=DENY å°äº "level" é
ç½®çççº§å°æ¥å¿ä¸è¾åº |
| | | #æ¥å¿å
å®¹æ ·å¼ |
| | | PatternLayout: |
| | | pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n" |
| | | Policies: |
| | | # æ¯å¤©æ¥å¿æä»¶æå¤§å°ååæä»¶ |
| | | SizeBasedTriggeringPolicy: |
| | | size: "1 MB" |
| | | DefaultRolloverStrategy: |
| | | max: 10 #ä¸å¤©å
æ¥å¿æä»¶æå¤§ä¸ªæ° |
| | | Delete: |
| | | basePath: "${log.path}" |
| | | maxDepth: 2 #å 餿¥å¿æä»¶çæå¤§æ·±åº¦ |
| | | IfFileName: |
| | | glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz" |
| | | IfLastModified: |
| | | age: "30d" #æ¥å¿æä»¶ä¿ççæå¤§å¤©æ° |
| | | Loggers: |
| | | Root: |
| | | level: info #æ¥å¿è¾åºçº§å«ï¼å
±æ8个级å«ï¼æç
§ä»ä½å°é«ä¸ºï¼all < trace < debug < info < warn < error < fatal < off |