1、全部实现王江海制定的协议,但还未联调;
2、通信中间件软件工程改名称为pipIrr-mw-rtu;
3 文件已复制
90 文件已重命名
42个文件已修改
21个文件已删除
15个文件已添加
2265 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationDriver.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationOnLine.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationPrefixedDataAvailable.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationScan.java 105 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DriverV1_0_1.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/OnLineV1_0_1.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/PrefixedDataAvailableV1_0_1.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/说明.txt 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CodeV202404.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd24Vo.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd30Vo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd31Vo.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd50Vo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd56Vo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd68Vo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd97Vo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd98Vo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd99Vo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd9AVo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd9CVo.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCdXyVo.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Up.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Up.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_21_Up.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Up.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_23_Down.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_23_Up.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_24_Down.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_24_Up.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_25_Down.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_25_Up.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_26_Up.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_30_Down.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_30_Up.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_31_Down.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_31_Up.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Down.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Down.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Down.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Up.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_68_Down.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Down.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Down.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_86_Up.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Down.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Up.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Down.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Up.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Down.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Up.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_99_Down.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_99_Up.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Down.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Up.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9C_Down.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9C_Up.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Down.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd15Vo.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd16Vo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd22Vo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd23Vo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd26Vo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd30Vo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5BVo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd88Vo.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd97Vo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd98Vo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd99Vo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd9AVo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdXyVo.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/RtuDataUnitConfigVo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/resources/Tree_.xml 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/.gitignore 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/.mvn/wrapper/maven-wrapper.jar 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/.mvn/wrapper/maven-wrapper.properties 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/mvnw 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/mvnw.cmd 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/pom.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/PipIrrMwRtuApplication.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/ResourceUnit.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/ResourceUnitAdapter.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/ResourceUnitConfigVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/rtuLog/RtuLogManager.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/rtuLog/RtuLogNode.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_CoreUnit.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_ProtocolUnit.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_ResourceUnit.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_RmiUnit.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_RtuDataUnit.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_SupportUnit.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_TcpUnit.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forRmi/RmiRequestedCallback.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionError.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionToRtu.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/RtuLogDealer.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/RtuSessionStatus.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/RtuStatusDealer.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandCache.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandObj.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSession.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCacheBk.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/CommandInnerDeaLer.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/ReturnCommand.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/ClockDeal.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/ClockVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/CodeLocal.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineDeal.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuProtocolVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuProtocolsDeal.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuComResultCache.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuComResultNode.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataCache.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataNode.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataUnit.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataUnitAdapter.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataUnitConfigVo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/Task.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TaskConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TaskPool.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TaskSurpport.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TkReceive.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TkRtuData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TreeConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TreeParse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/RtuSv.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/说明.txt 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerNoTramp.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerTramp.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindComResponse.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindP206V1_0_0.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindReport.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkPreGenObjs.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/FromRtuComResultConstantTask.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/FromRtuDataConstantTask.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/RtuDownTask.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/RtuUpTask.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/ToRtuConstantTask.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/WebResponseVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/log4j2.yml 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/test/java/com/dy/rtuMw/PipIrrMwAcceptApplicationTests.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pom.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationDriver.java
@@ -9,4 +9,6 @@
     * åè®®åç§°ï¼Œå„个协议名称不能有重复现象
     */
    String name() default "" ;
    boolean enable() default true ;
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationOnLine.java
@@ -13,6 +13,12 @@
     * æ‰€å±žåè®®åç§°
     */
    String protocolName() default "" ;
    /**
     * é…ç½®æ˜¯å¦å¯åЍ
     * @return
     */
    boolean enable() default true ;
    /**
     * ä¸ºä¼˜å…ˆçº§(从1开始,最小为1,各协议间优先级相差1),数字越小级别越高。
     * è‹¥æœ‰å¤šä¸ªåè®®ï¼Œå„个协议的上线处理类以优先级进行排序,优先级高的先处理上线数据。
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationPrefixedDataAvailable.java
@@ -12,7 +12,13 @@
    /**
     * æ‰€å±žåè®®åç§° 
     */
    String protocolName() default "" ;
    String protocolName() default "" ;
    /**
     * é…ç½®æ˜¯å¦å¯åЍ
     * @return
     */
    boolean enable() default true ;
    /**
     * ä¸ºä¼˜å…ˆçº§(从1开始,最小为1,各协议间优先级相差1),数字越小级别越高。
     * è‹¥æœ‰å¤šä¸ªåè®®ï¼Œå„个协议的上线处理类以优先级进行排序,优先级高的先处理上线数据。
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/AnnotationScan.java
@@ -75,14 +75,16 @@
                        if(clazz.isAnnotationPresent(AnnotationDriver.class)){
                            AnnotationDriver ann = clazz.getAnnotation(AnnotationDriver.class) ;
                            if(ann != null){
                                protocolName = ann.name() ;
                                if(!(protocolName.trim().equals(""))){
                                    if(driverMap.containsKey(protocolName)){
                                        throw new Exception("严重错误,协议驱动名称" + protocolName + "出现了重复注解!") ;
                                if(ann.enable()){
                                    protocolName = ann.name() ;
                                    if(!(protocolName.trim().equals(""))){
                                        if(driverMap.containsKey(protocolName)){
                                            throw new Exception("严重错误,协议驱动名称" + protocolName + "出现了重复注解!") ;
                                        }
                                        driverMap.put(protocolName, new AnnotationDriverVo(clazz)) ;
                                    }else{
                                        throw new Exception("严重错误,协议驱动名称注解值为空字符串") ;
                                    }
                                    driverMap.put(protocolName, new AnnotationDriverVo(clazz)) ;
                                }else{
                                    throw new Exception("严重错误,协议驱动名称注解值为空字符串") ;
                                }
                            }
                        }
@@ -91,61 +93,64 @@
                        if(clazz.isAnnotationPresent(AnnotationPrefixedDataAvailable.class)){
                            AnnotationPrefixedDataAvailable ann = clazz.getAnnotation(AnnotationPrefixedDataAvailable.class) ;
                            if(ann != null){
                                protocolName = ann.protocolName() ;
                                if(!(protocolName.trim().equals(""))){
                                    if(prefixedDataAvailableMap.containsKey(protocolName)){
                                        throw new Exception("严重错误, ä¸Šè¡Œæ•°æ®å®Œæ•´æ€§æ£€æŸ¥æ‰€é…åè®®é©±åЍ" + protocolName + "出现了重复注解!") ;
                                if(ann.enable()){
                                    protocolName = ann.protocolName() ;
                                    if(!(protocolName.trim().equals(""))){
                                        if(prefixedDataAvailableMap.containsKey(protocolName)){
                                            throw new Exception("严重错误, ä¸Šè¡Œæ•°æ®å®Œæ•´æ€§æ£€æŸ¥æ‰€é…åè®®é©±åЍ" + protocolName + "出现了重复注解!") ;
                                        }
                                    }else{
                                        throw new Exception("严重错误,上行数据完整性检查所配协议驱动注解值为空字符串") ;
                                    }
                                }else{
                                    throw new Exception("严重错误,上行数据完整性检查所配协议驱动注解值为空字符串") ;
                                }
                                priority = ann.priority() ;
                                if(priority == 0){
                                    throw new Exception("严重错误, ä¸Šè¡Œæ•°æ®å®Œæ•´æ€§æ£€æŸ¥æ‰€é…ä¼˜å…ˆçº§æ³¨è§£ä¸èƒ½ä¸º0") ;
                                }
                                if(isRepeatPrefixedDataAvailablePriority(priority, prefixedDataAvailableMap)){
                                    throw new Exception("严重错误, ä¸Šè¡Œæ•°æ®å®Œæ•´æ€§æ£€æŸ¥æ‰€é…ä¼˜å…ˆçº§æ³¨è§£(priority)数值" + priority + "重复") ;
                                }
                                    priority = ann.priority() ;
                                    if(priority == 0){
                                        throw new Exception("严重错误, ä¸Šè¡Œæ•°æ®å®Œæ•´æ€§æ£€æŸ¥æ‰€é…ä¼˜å…ˆçº§æ³¨è§£ä¸èƒ½ä¸º0") ;
                                    }
                                    if(isRepeatPrefixedDataAvailablePriority(priority, prefixedDataAvailableMap)){
                                        throw new Exception("严重错误, ä¸Šè¡Œæ•°æ®å®Œæ•´æ€§æ£€æŸ¥æ‰€é…ä¼˜å…ˆçº§æ³¨è§£(priority)数值" + priority + "重复") ;
                                    }
                                onLineDataMinLength = ann.onLineDataMinLength() ;
                        /*气象协议为0
                        if(onLineDataMinLength == 0){
                            throw new Exception("严重错误, ä¸Šè¡Œæ•°æ®å®Œæ•´æ€§æ£€æŸ¥æ‰€é…ä¸Šçº¿æ•°æ®æœ€å°é•¿åº¦æ³¨è§£ä¸èƒ½ä¸º0") ;
                        }
                        */
                                headMinLength = ann.headMinLength() ;
                        /*气象协议为0
                        if(headMinLength == 0){
                            throw new Exception("严重错误, ä¸Šè¡Œæ•°æ®å®Œæ•´æ€§æ£€æŸ¥æ‰€é…ä¸ŠæŠ¥æ•°æ®çš„头部最小长度注解不能为0") ;
                        }
                        */
                                prefixedDataAvailableMap.put(protocolName, new AnnotationPrefixedDataAvailableVo(clazz, protocolName, priority, onLineDataMinLength, headMinLength, ProtocolConstant.errorMaxLength)) ;
                                    onLineDataMinLength = ann.onLineDataMinLength() ;
                                    /*气象协议为0
                                    if(onLineDataMinLength == 0){
                                        throw new Exception("严重错误, ä¸Šè¡Œæ•°æ®å®Œæ•´æ€§æ£€æŸ¥æ‰€é…ä¸Šçº¿æ•°æ®æœ€å°é•¿åº¦æ³¨è§£ä¸èƒ½ä¸º0") ;
                                    }
                                    */
                                                headMinLength = ann.headMinLength() ;
                                    /*气象协议为0
                                    if(headMinLength == 0){
                                        throw new Exception("严重错误, ä¸Šè¡Œæ•°æ®å®Œæ•´æ€§æ£€æŸ¥æ‰€é…ä¸ŠæŠ¥æ•°æ®çš„头部最小长度注解不能为0") ;
                                    }
                                    */
                                    prefixedDataAvailableMap.put(protocolName, new AnnotationPrefixedDataAvailableVo(clazz, protocolName, priority, onLineDataMinLength, headMinLength, ProtocolConstant.errorMaxLength)) ;
                                }
                            }
                        }
                        if(clazz.isAnnotationPresent(AnnotationOnLine.class)){
                            AnnotationOnLine ann = clazz.getAnnotation(AnnotationOnLine.class) ;
                            if(ann != null){
                                protocolName = ann.protocolName() ;
                                if(!(protocolName.trim().equals(""))){
                                    if(onLineMap.containsKey(protocolName)){
                                        throw new Exception("严重错误, ä¸Šçº¿æ•°æ®åˆ†æžæ‰€é…åè®®é©±åЍ" + protocolName + "出现了重复注解!") ;
                                if(ann.enable()){
                                    protocolName = ann.protocolName() ;
                                    if(!(protocolName.trim().equals(""))){
                                        if(onLineMap.containsKey(protocolName)){
                                            throw new Exception("严重错误, ä¸Šçº¿æ•°æ®åˆ†æžæ‰€é…åè®®é©±åЍ" + protocolName + "出现了重复注解!") ;
                                        }
                                    }else{
                                        throw new Exception("严重错误,上线数据分析所配协议驱动注解值为空字符串") ;
                                    }
                                }else{
                                    throw new Exception("严重错误,上线数据分析所配协议驱动注解值为空字符串") ;
                                }
                                priority = ann.priority() ;
                                if(priority == 0){
                                    throw new Exception("严重错误, ä¸Šçº¿æ•°æ®åˆ†æžæ‰€é…ä¼˜å…ˆçº§æ³¨è§£ä¸èƒ½ä¸º0") ;
                                }
                                if(isRepeatOnLinePriority(priority, onLineMap)){
                                    throw new Exception("严重错误, ä¸Šçº¿æ•°æ®åˆ†æžæ‰€é…ä¼˜å…ˆçº§æ³¨è§£(priority)数值" + priority + "重复") ;
                                }
                                    priority = ann.priority() ;
                                    if(priority == 0){
                                        throw new Exception("严重错误, ä¸Šçº¿æ•°æ®åˆ†æžæ‰€é…ä¼˜å…ˆçº§æ³¨è§£ä¸èƒ½ä¸º0") ;
                                    }
                                    if(isRepeatOnLinePriority(priority, onLineMap)){
                                        throw new Exception("严重错误, ä¸Šçº¿æ•°æ®åˆ†æžæ‰€é…ä¼˜å…ˆçº§æ³¨è§£(priority)数值" + priority + "重复") ;
                                    }
                                onLineMap.put(protocolName, new AnnotationOnLineVo(clazz, protocolName, priority)) ;
                                    onLineMap.put(protocolName, new AnnotationOnLineVo(clazz, protocolName, priority)) ;
                                }
                            }
                        }
                    }
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DriverV1_0_1.java
@@ -6,7 +6,7 @@
import java.net.URI;
import java.net.URL;
@AnnotationDriver(name= ProtocolConstantV206V1_0_0.protocolName)
@AnnotationDriver(enable = false, name= ProtocolConstantV206V1_0_0.protocolName)
public class DriverV1_0_1 extends Driver {
    
    private static String scanRootPackage = "com.dy.common.mw.protocol.p206V1_0_0." ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/OnLineV1_0_1.java
@@ -4,6 +4,7 @@
import com.dy.common.mw.protocol.OnLine;
@AnnotationOnLine(
        enable = false,
        protocolName = ProtocolConstantV206V1_0_0.protocolName,
        priority = ProtocolConstantV206V1_0_0.priority)
@SuppressWarnings("unused")
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/PrefixedDataAvailableV1_0_1.java
@@ -11,6 +11,7 @@
@AnnotationPrefixedDataAvailable(
        enable = false,
        protocolName = ProtocolConstantV206V1_0_0.protocolName,
        priority = ProtocolConstantV206V1_0_0.priority,
        onLineDataMinLength = ProtocolConstantV206V1_0_0.onLineDataMinLength,
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/˵Ã÷.txt
@@ -2,11 +2,16 @@
在他离职后,从韩月处得到最新协议,并做了部分协议软件实现修改,
发现新协议中有一些协议定义有重复,也有错误的,所以这版本协议未全部实现,
但实现的部分可以用来测试测控一体阀(与段志强一起测试过)。
目前情况下,这版本协议实现不能应用于实际项目中,如果必须实现,
目前情况下,这版本协议编码不能应用于实际项目中,如果必须实现,
还需要结合硬件协议具体实现内容再实现通信中间件的协议解析与构造部分,
还需要实现上行数据处理任务树部分。
靳总版测控一体阀与王江海版测控一体阀不能在同一个中间件运行,
因为两个版本的协议协议头都一样,没法区分开来,如果两种设备
都要应用,需要部署两个通信中间件。
都要应用,需要部署两个通信中间件。
当前把DriverV1_0_1驱动配置为不起作用:
DriverV1_0_1类注解enable = false
PrefixedDataAvailableV1_0_1类注解enable = false
OnLineV1_0_1类注解enable = false
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CodeV202404.java
@@ -81,7 +81,7 @@
            (code.equals(cd_25) ? "设置设备终端重新注册" :
            (code.equals(cd_9B) ? "清除设备终端注册号" :
            (code.equals(cd_9C) ? "黑名单远程强制关闭水泵/阀门" :
            (code.equals(cd_C2) ? "开关水泵/阀门成功/失败上报" :
            (code.equals(cd_C2) ? "开关水泵/阀门结果上报" :
            ""))))))))))))))))))))))))))))))))))))))) ;
        return name ;
    }
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd24Vo.java
copy from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5BVo.java copy to pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd24Vo.java
File was copied from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5BVo.java
@@ -3,7 +3,8 @@
import lombok.Data;
@Data
public class ComCd5BVo {
public class ComCd24Vo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;57(0x57):井电控制器
    public Integer projectNo ;//控制器类型 0x01:测控一体阀;0x57:井电控制器
    public String registerNo ;//设备注册号,16进制数据,最大16个字节
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd30Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd31Vo.java
copy from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5BVo.java copy to pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd31Vo.java
File was copied from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5BVo.java
@@ -3,7 +3,8 @@
import lombok.Data;
@Data
public class ComCd5BVo {
public class ComCd31Vo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;57(0x57):井电控制器
    public Integer projectNo ;//控制器类型 0x01:测控一体阀;0x57:井电控制器
    public Boolean valid ;//有效性
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd50Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd56Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd68Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd97Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd98Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd99Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd9AVo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd9CVo.java
copy from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5BVo.java copy to pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd9CVo.java
File was copied from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5BVo.java
@@ -3,7 +3,8 @@
import lombok.Data;
@Data
public class ComCd5BVo {
public class ComCd9CVo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;57(0x57):井电控制器
    public Integer projectNo ;//控制器类型 0x01:测控一体阀;0x57:井电控制器
    public String icCardAddr ;//IC卡地址(8位数字或字母)
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCdXyVo.java
File was renamed from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/downVos/ComCd5BVo.java
@@ -1,9 +1,6 @@
package com.dy.common.mw.protocol.p206V202404.downVos;
import lombok.Data;
@Data
public class ComCd5BVo {
public class ComCdXyVo {
    public String controllerType;//控制器类型 01(0x01):测控一体阀;57(0x57):井电控制器
    public Integer projectNo ;//控制器类型 0x01:测控一体阀;0x57:井电控制器
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Down.java
@@ -62,7 +62,7 @@
            if(cvo.flowNo.length() != 12){
                throw new Exception("流水号必须是12位数字") ;
            }
            byte[] bs = new byte[17] ;
            byte[] bs = new byte[34] ;
            int index = 0 ;
            bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_15_Up.java
@@ -3,8 +3,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd15Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd50Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -55,7 +54,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd15Vo cdData = new DataCd15Vo() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_16_Up.java
@@ -2,8 +2,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd16Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd99Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -54,7 +53,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd16Vo cdData = new DataCd16Vo() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_21_Up.java
@@ -2,8 +2,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd21Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd22Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -54,7 +53,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd21Vo cdData = new DataCd21Vo() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_22_Up.java
@@ -2,8 +2,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd16Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd22Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -54,7 +53,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd22Vo cdData = new DataCd22Vo() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_23_Down.java
@@ -52,7 +52,7 @@
            String json = (String)para.param;
            ComCd23Vo cvo = JSON.parseObject(json, ComCd23Vo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd21Vo为null") ;
                throw new Exception("json转ComCd23Vo为null") ;
            }
            if(cvo.channel == null){
                throw new Exception("IP通道号不能为空") ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_23_Up.java
@@ -2,8 +2,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd21Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd23Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -54,7 +53,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd23Vo cdData = new DataCd23Vo() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_24_Down.java
New file
@@ -0,0 +1,112 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd23Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd24Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.NumUtil;
import java.nio.charset.StandardCharsets;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_24
})
public class Cd_24_Down implements CodeParse {
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
        ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
        byte[] bs = this.doParse(para) ;
        MidResultToRtu midRs = new MidResultToRtu() ;
        midRs.protocolName = para.protocolName ;//协议名称
        midRs.rtuAddr = para.rtuAddr ;//Rtu地址
        midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果
        midRs.downCode = para.commandCode ;//下行命令功能码;
        midRs.downBuffer = bs ;//下行命令数据
        midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//下行命令数据十六进制形式
        midRs.hasResponse = true ;//是否有应答
        midRs.maxSendTimes = null ;//命令最大发送次数(当收不到应答时,将重发),如果不设置,命令缓存器进行补充设置
        midRs.isCachForOffLine = false ;//RTU不在线,命令是否缓存,低功耗时为true
        midRs.isSendFirst = false ;//命令应答,首先发送,防止RTU重新上报
        if(isLowPower != null && isLowPower.booleanValue()){
            //低功耗时,尽快发送
            midRs.isQuickSend = true ;
        }
        return new MidResult[]{midRs} ;
    }
    /**
     * æž„造下行数据
     * @param para å‚æ•°
     * @return å­—节数组
     * @throws Exception å¼‚常
     */
    public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd24Vo cvo = JSON.parseObject(json, ComCd24Vo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd24Vo为null") ;
            }
            if(cvo.registerNo == null || cvo.registerNo.equals("")){
                throw new Exception("设备注册号不能为空") ;
            }
            if(cvo.registerNo.length() > 32){
                throw new Exception("设备注册号最大长度是32个字符") ;
            }
            if(cvo.registerNo.length() % 2 != 0){
                throw new Exception("设备注册号字符数必须是偶数位") ;
            }
            if(!NumUtil.isHex(cvo.registerNo)){
                throw new Exception("设备注册号必须是十六进制数") ;
            }
            byte[] bs = new byte[3] ;
            int index = 0 ;
            bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
            index ++ ;
            bs[index] = cvo.projectNo.byteValue() ;
            index ++ ;
            byte len = (byte)(cvo.registerNo.length()/2) ;
            bs[index] = len ;
            bytes = ByteUtil.bytesMerge(bytes, bs) ;
            byte[] bsRg = ByteUtil.hexToBytes(cvo.registerNo) ;
            bytes = ByteUtil.bytesMerge(bytes, bsRg) ;
            byte[] bs1 = new byte[7] ;
            index ++ ;
            GlCreate.createPw(bs1, index);
            index += 2 ;
            GlCreate.createS2D(bs1, index) ;
            index += 4 ;
            bs1[index] = 0 ; //时延
            bytes = ByteUtil.bytesMerge(bytes, bs1) ;
        }else{
            throw new Exception("下行命令参数据为null") ;
        }
        GlCreate.createLen(bytes);//长度放字节数组中
        byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC和尾
        bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
        return bytes ;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_24_Up.java
New file
@@ -0,0 +1,73 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@AnnotationCodeUp(ifAny={
        CodeV202404.cd_24
})
@SuppressWarnings("unused")
public class Cd_24_Up implements CodeParse{
    private static final Logger log = LogManager.getLogger(Cd_24_Up.class);
    /**
     * åˆ†æžä¸Šè¡Œæ•°æ®
     */
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
        ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
        int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
        if(bsLen > 0){
            this.doParse(para.upBuffer,
                    bsLen,
                    para.upCode,
                    para.data) ;
        }
        log.info("分析上行数据<" + 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.upCode = para.upCode ;//上行数据中的功能码
        midRs.upHex = para.upHex ;//上行数据十六进制形式
        midRs.upBuffer = para.upBuffer ;//上行数据字节数组
        midRs.data = para.data ;//解析后的数据
        midRs.reportOrResponse_trueOrFalse = false ;
        callback.callback(midRs.reportOrResponse_trueOrFalse);
        return new MidResult[]{midRs} ;
    }
    /**
     * æ‰§è¡Œåˆ†æž
     * @param bs å­—节数组
     * @param bsLen å­—节长度(总包长,包括包头和包尾)
     * @param dataCode åŠŸèƒ½ç 
     * @param data æ•°æ®
     * @throws Exception å¼‚常
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
        index++ ;
        cdData.projectNo = (int)bs[index];
        index++ ;
        byte result = bs[index];
        if(result == 1){
            cdData.success = true ;
        }else{
            cdData.success = false ;
        }
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_25_Down.java
New file
@@ -0,0 +1,85 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_25
})
public class Cd_25_Down implements CodeParse {
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
        ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
        byte[] bs = this.doParse(para) ;
        MidResultToRtu midRs = new MidResultToRtu() ;
        midRs.protocolName = para.protocolName ;//协议名称
        midRs.rtuAddr = para.rtuAddr ;//Rtu地址
        midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果
        midRs.downCode = para.commandCode ;//下行命令功能码;
        midRs.downBuffer = bs ;//下行命令数据
        midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//下行命令数据十六进制形式
        midRs.hasResponse = true ;//是否有应答
        midRs.maxSendTimes = null ;//命令最大发送次数(当收不到应答时,将重发),如果不设置,命令缓存器进行补充设置
        midRs.isCachForOffLine = false ;//RTU不在线,命令是否缓存,低功耗时为true
        midRs.isSendFirst = false ;//命令应答,首先发送,防止RTU重新上报
        if(isLowPower != null && isLowPower.booleanValue()){
            //低功耗时,尽快发送
            midRs.isQuickSend = true ;
        }
        return new MidResult[]{midRs} ;
    }
    /**
     * æž„造下行数据
     * @param para å‚æ•°
     * @return å­—节数组
     * @throws Exception å¼‚常
     */
    public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCdXyVo cvo = JSON.parseObject(json, ComCdXyVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCdXyVo为null") ;
            }
            byte[] bs = new byte[9] ;
            int index = 0 ;
            bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
            index ++ ;
            bs[index] = cvo.projectNo.byteValue() ;
            index ++ ;
            GlCreate.createPw(bs, index);
            index += 2 ;
            GlCreate.createS2D(bs, index) ;
            index += 4 ;
            bs[index] = 0 ; //时延
            bytes = ByteUtil.bytesMerge(bytes, bs) ;
        }else{
            throw new Exception("下行命令参数据为null") ;
        }
        GlCreate.createLen(bytes);//长度放字节数组中
        byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC和尾
        bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
        return bytes ;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_25_Up.java
New file
@@ -0,0 +1,73 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@AnnotationCodeUp(ifAny={
        CodeV202404.cd_25
})
@SuppressWarnings("unused")
public class Cd_25_Up implements CodeParse{
    private static final Logger log = LogManager.getLogger(Cd_25_Up.class);
    /**
     * åˆ†æžä¸Šè¡Œæ•°æ®
     */
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
        ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
        int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
        if(bsLen > 0){
            this.doParse(para.upBuffer,
                    bsLen,
                    para.upCode,
                    para.data) ;
        }
        log.info("分析上行数据<" + 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.upCode = para.upCode ;//上行数据中的功能码
        midRs.upHex = para.upHex ;//上行数据十六进制形式
        midRs.upBuffer = para.upBuffer ;//上行数据字节数组
        midRs.data = para.data ;//解析后的数据
        midRs.reportOrResponse_trueOrFalse = false ;
        callback.callback(midRs.reportOrResponse_trueOrFalse);
        return new MidResult[]{midRs} ;
    }
    /**
     * æ‰§è¡Œåˆ†æž
     * @param bs å­—节数组
     * @param bsLen å­—节长度(总包长,包括包头和包尾)
     * @param dataCode åŠŸèƒ½ç 
     * @param data æ•°æ®
     * @throws Exception å¼‚常
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
        index++ ;
        cdData.projectNo = (int)bs[index];
        index++ ;
        byte result = bs[index];
        if(result == 1){
            cdData.success = true ;
        }else{
            cdData.success = false ;
        }
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_26_Up.java
@@ -2,8 +2,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd22Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd26Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -54,7 +53,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd26Vo cdData = new DataCd26Vo() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_30_Down.java
@@ -4,13 +4,12 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd22Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd30Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_16
        CodeV202404.cd_30
})
public class Cd_30_Down implements CodeParse {
@@ -48,9 +47,9 @@
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd30Vo cvo = JSON.parseObject(json, ComCd30Vo.class) ;
            ComCdXyVo cvo = JSON.parseObject(json, ComCdXyVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd30Vo为null") ;
                throw new Exception("json转ComCdXyVo为null") ;
            }
            byte[] bs = new byte[9] ;
            int index = 0 ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_30_Up.java
@@ -2,8 +2,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd22Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd30Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -54,7 +53,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd30Vo cdData = new DataCd30Vo() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_31_Down.java
New file
@@ -0,0 +1,90 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd31Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_31
})
public class Cd_31_Down implements CodeParse {
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
        ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
        byte[] bs = this.doParse(para) ;
        MidResultToRtu midRs = new MidResultToRtu() ;
        midRs.protocolName = para.protocolName ;//协议名称
        midRs.rtuAddr = para.rtuAddr ;//Rtu地址
        midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果
        midRs.downCode = para.commandCode ;//下行命令功能码;
        midRs.downBuffer = bs ;//下行命令数据
        midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//下行命令数据十六进制形式
        midRs.hasResponse = true ;//是否有应答
        midRs.maxSendTimes = null ;//命令最大发送次数(当收不到应答时,将重发),如果不设置,命令缓存器进行补充设置
        midRs.isCachForOffLine = false ;//RTU不在线,命令是否缓存,低功耗时为true
        midRs.isSendFirst = false ;//命令应答,首先发送,防止RTU重新上报
        if(isLowPower != null && isLowPower.booleanValue()){
            //低功耗时,尽快发送
            midRs.isQuickSend = true ;
        }
        return new MidResult[]{midRs} ;
    }
    /**
     * æž„造下行数据
     * @param para å‚æ•°
     * @return å­—节数组
     * @throws Exception å¼‚常
     */
    public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd31Vo cvo = JSON.parseObject(json, ComCd31Vo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd30Vo为null") ;
            }
            if(cvo.valid == null){
                throw new Exception("有效性必须设置") ;
            }
            byte[] bs = new byte[10] ;
            int index = 0 ;
            bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
            index ++ ;
            bs[index] = cvo.projectNo.byteValue() ;
            index ++ ;
            bs[index] = cvo.valid.booleanValue()?(byte)0x01:(byte)0x00 ;
            index ++ ;
            GlCreate.createPw(bs, index);
            index += 2 ;
            GlCreate.createS2D(bs, index) ;
            index += 4 ;
            bs[index] = 0 ; //时延
            bytes = ByteUtil.bytesMerge(bytes, bs) ;
        }else{
            throw new Exception("下行命令参数据为null") ;
        }
        GlCreate.createLen(bytes);//长度放字节数组中
        byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC和尾
        bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
        return bytes ;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_31_Up.java
New file
@@ -0,0 +1,73 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@AnnotationCodeUp(ifAny={
        CodeV202404.cd_31
})
@SuppressWarnings("unused")
public class Cd_31_Up implements CodeParse{
    private static final Logger log = LogManager.getLogger(Cd_31_Up.class);
    /**
     * åˆ†æžä¸Šè¡Œæ•°æ®
     */
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
        ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
        int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
        if(bsLen > 0){
            this.doParse(para.upBuffer,
                    bsLen,
                    para.upCode,
                    para.data) ;
        }
        log.info("分析上行数据<" + 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.upCode = para.upCode ;//上行数据中的功能码
        midRs.upHex = para.upHex ;//上行数据十六进制形式
        midRs.upBuffer = para.upBuffer ;//上行数据字节数组
        midRs.data = para.data ;//解析后的数据
        midRs.reportOrResponse_trueOrFalse = false ;
        callback.callback(midRs.reportOrResponse_trueOrFalse);
        return new MidResult[]{midRs} ;
    }
    /**
     * æ‰§è¡Œåˆ†æž
     * @param bs å­—节数组
     * @param bsLen å­—节长度(总包长,包括包头和包尾)
     * @param dataCode åŠŸèƒ½ç 
     * @param data æ•°æ®
     * @throws Exception å¼‚常
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
        index++ ;
        cdData.projectNo = (int)bs[index];
        index++ ;
        byte result = bs[index];
        if(result == 1){
            cdData.success = true ;
        }else{
            cdData.success = false ;
        }
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_50_Down.java
@@ -4,8 +4,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd10Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd50Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@@ -48,9 +47,9 @@
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd50Vo cvo = JSON.parseObject(json, ComCd50Vo.class) ;
            ComCdXyVo cvo = JSON.parseObject(json, ComCdXyVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd10Vo为null") ;
                throw new Exception("json转ComCdXyVo为null") ;
            }
            byte[] bs = new byte[2] ;
            int index = 0 ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_56_Down.java
@@ -4,8 +4,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd55Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd56Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@@ -48,9 +47,9 @@
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd56Vo cvo = JSON.parseObject(json, ComCd56Vo.class) ;
            ComCdXyVo cvo = JSON.parseObject(json, ComCdXyVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd56Vo为null") ;
                throw new Exception("json转ComCdXyVo为null") ;
            }
            byte[] bs = new byte[2] ;
            int index = 0 ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Down.java
@@ -4,8 +4,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd50Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd5BVo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@@ -48,9 +47,9 @@
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd5BVo cvo = JSON.parseObject(json, ComCd5BVo.class) ;
            ComCdXyVo cvo = JSON.parseObject(json, ComCdXyVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd5BVo为null") ;
                throw new Exception("json转ComCdXyVo为null") ;
            }
            byte[] bs = new byte[2] ;
            int index = 0 ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_5B_Up.java
@@ -4,10 +4,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd50Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd5BVo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
import com.dy.common.util.ByteUtil;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -57,7 +54,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd5BVo cdData = new DataCd5BVo() ;
        DataCd80_5BVo cdData = new DataCd80_5BVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        GlParse.parseCd80And5B(bs, cdData);
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Down.java
@@ -4,11 +4,9 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd5BVo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd65Vo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.DateTime;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_65
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_65_Up.java
@@ -4,7 +4,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd5BVo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd65Vo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_68_Down.java
@@ -4,8 +4,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd56Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd68Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@@ -48,9 +47,9 @@
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd68Vo cvo = JSON.parseObject(json, ComCd68Vo.class) ;
            ComCdXyVo cvo = JSON.parseObject(json, ComCdXyVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd68Vo为null") ;
                throw new Exception("json转ComCdXyVo为null") ;
            }
            byte[] bs = new byte[2] ;
            int index = 0 ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Down.java
@@ -4,8 +4,7 @@
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd8AVo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo;
import com.dy.common.util.ByteUtil;
@AnnotationCodeDown(ifAny={
@@ -46,7 +45,7 @@
    public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            DataCd80Vo cdData = (DataCd80Vo)para.param ;
            DataCd80_5BVo cdData = (DataCd80_5BVo)para.param ;
            byte[] bs = new byte[2] ;
            bs[0] = (byte)(Integer.parseInt(cdData.getControllerType(), 16));
            bs[1] = cdData.projectNo.byteValue() ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java
@@ -4,8 +4,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd8AVo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -85,7 +84,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd80Vo cdData = new DataCd80Vo() ;
        DataCd80_5BVo cdData = new DataCd80_5BVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        GlParse.parseCd80And5B(bs, cdData);
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Down.java
@@ -4,7 +4,6 @@
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd81Vo;
import com.dy.common.util.ByteUtil;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java
@@ -4,7 +4,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd81Vo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_86_Up.java
@@ -2,7 +2,6 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd21Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd86Vo;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Down.java
New file
@@ -0,0 +1,77 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd87Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_88
})
public class Cd_88_Down implements CodeParse {
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
        ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
        byte[] bs = this.doParse(para) ;
        MidResultToRtu midRs = new MidResultToRtu() ;
        midRs.protocolName = para.protocolName ;//协议名称
        midRs.rtuAddr = para.rtuAddr ;//Rtu地址
        midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果
        midRs.downCode = para.commandCode ;//下行命令功能码;
        midRs.downBuffer = bs ;//下行命令数据
        midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//下行命令数据十六进制形式
        midRs.hasResponse = true ;//是否有应答
        midRs.maxSendTimes = null ;//命令最大发送次数(当收不到应答时,将重发),如果不设置,命令缓存器进行补充设置
        midRs.isCachForOffLine = false ;//RTU不在线,命令是否缓存,低功耗时为true
        midRs.isSendFirst = false ;//命令应答,首先发送,防止RTU重新上报
        if(isLowPower != null && isLowPower.booleanValue()){
            //低功耗时,尽快发送
            midRs.isQuickSend = true ;
        }
        return new MidResult[]{midRs} ;
    }
    /**
     * æž„造下行数据
     * @param para å‚æ•°
     * @return å­—节数组
     * @throws Exception å¼‚常
     */
    public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCdXyVo cvo = JSON.parseObject(json, ComCdXyVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCdXyVo为null") ;
            }
            byte[] bs = new byte[2] ;
            int index = 0 ;
            bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
            index ++ ;
            bs[index] = cvo.projectNo.byteValue() ;
            bytes = ByteUtil.bytesMerge(bytes, bs) ;
        }else{
            throw new Exception("下行命令参数据为null") ;
        }
        GlCreate.createLen(bytes);//长度放字节数组中
        byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC和尾
        bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
        return bytes ;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_88_Up.java
New file
@@ -0,0 +1,73 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd87Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd88Vo;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.ByteUtilUnsigned;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@AnnotationCodeUp(ifAny={
        CodeV202404.cd_88
})
@SuppressWarnings("unused")
public class Cd_88_Up implements CodeParse{
    private static final Logger log = LogManager.getLogger(Cd_88_Up.class);
    /**
     * åˆ†æžä¸Šè¡Œæ•°æ®
     */
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
        ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
        int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
        if(bsLen > 0){
            this.doParse(para.upBuffer,
                    bsLen,
                    para.upCode,
                    para.data) ;
        }
        log.info("分析上行数据<" + 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.upCode = para.upCode ;//上行数据中的功能码
        midRs.upHex = para.upHex ;//上行数据十六进制形式
        midRs.upBuffer = para.upBuffer ;//上行数据字节数组
        midRs.data = para.data ;//解析后的数据
        midRs.reportOrResponse_trueOrFalse = false ;
        callback.callback(midRs.reportOrResponse_trueOrFalse);
        return new MidResult[]{midRs} ;
    }
    /**
     * æ‰§è¡Œåˆ†æž
     * @param bs å­—节数组
     * @param bsLen å­—节长度(总包长,包括包头和包尾)
     * @param dataCode åŠŸèƒ½ç 
     * @param data æ•°æ®
     * @throws Exception å¼‚常
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd88Vo cdData = new DataCd88Vo() ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
        index++ ;
        cdData.projectNo = (int)bs[index];
        index++ ;
        short len = ByteUtilUnsigned.byte2Byte(bs, index) ;
        index++ ;
        cdData.registerNo = ByteUtil.bytes2Hex(bs, false, index, len) ;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Down.java
@@ -4,8 +4,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd65Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd97Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@@ -48,9 +47,9 @@
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd97Vo cvo = JSON.parseObject(json, ComCd97Vo.class) ;
            ComCdXyVo cvo = JSON.parseObject(json, ComCdXyVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd97Vo为null") ;
                throw new Exception("json转ComCdXyVo为null") ;
            }
            byte[] bs = new byte[2] ;
            int index = 0 ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_97_Up.java
@@ -3,16 +3,10 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd50Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd65Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd97Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
@AnnotationCodeUp(ifAny={
        CodeV202404.cd_97
@@ -60,7 +54,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd97Vo cdData = new DataCd97Vo() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Down.java
@@ -4,8 +4,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd97Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd98Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@@ -48,9 +47,9 @@
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd98Vo cvo = JSON.parseObject(json, ComCd98Vo.class) ;
            ComCdXyVo cvo = JSON.parseObject(json, ComCdXyVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd98Vo为null") ;
                throw new Exception("json转ComCdXyVo为null") ;
            }
            byte[] bs = new byte[2] ;
            int index = 0 ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_98_Up.java
@@ -3,7 +3,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd98Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -54,7 +54,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd98Vo cdData = new DataCd98Vo() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_99_Down.java
@@ -4,7 +4,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd99Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@@ -47,9 +47,9 @@
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd99Vo cvo = JSON.parseObject(json, ComCd99Vo.class) ;
            ComCdXyVo cvo = JSON.parseObject(json, ComCdXyVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd99Vo为null") ;
                throw new Exception("json转ComCdXyVo为null") ;
            }
            byte[] bs = new byte[2] ;
            int index = 0 ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_99_Up.java
@@ -2,7 +2,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd99Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -53,7 +53,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd99Vo cdData = new DataCd99Vo() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Down.java
@@ -4,8 +4,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd99Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd9AVo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
@@ -48,9 +47,9 @@
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd9AVo cvo = JSON.parseObject(json, ComCd9AVo.class) ;
            ComCdXyVo cvo = JSON.parseObject(json, ComCdXyVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd99Vo为null") ;
                throw new Exception("json转ComCdXyVo为null") ;
            }
            byte[] bs = new byte[2] ;
            int index = 0 ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9A_Up.java
@@ -2,8 +2,7 @@
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd99Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd9AVo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -54,7 +53,7 @@
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCd9AVo cdData = new DataCd9AVo() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9C_Down.java
New file
@@ -0,0 +1,93 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.alibaba.fastjson2.JSON;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd15Vo;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCd9CVo;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.util.ByteUtil;
import com.dy.common.util.NumUtil;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_9C
})
public class Cd_9C_Down implements CodeParse {
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
        ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
        byte[] bs = this.doParse(para) ;
        MidResultToRtu midRs = new MidResultToRtu() ;
        midRs.protocolName = para.protocolName ;//协议名称
        midRs.rtuAddr = para.rtuAddr ;//Rtu地址
        midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果
        midRs.downCode = para.commandCode ;//下行命令功能码;
        midRs.downBuffer = bs ;//下行命令数据
        midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//下行命令数据十六进制形式
        midRs.hasResponse = true ;//是否有应答
        midRs.maxSendTimes = null ;//命令最大发送次数(当收不到应答时,将重发),如果不设置,命令缓存器进行补充设置
        midRs.isCachForOffLine = false ;//RTU不在线,命令是否缓存,低功耗时为true
        midRs.isSendFirst = false ;//命令应答,首先发送,防止RTU重新上报
        if(isLowPower != null && isLowPower.booleanValue()){
            //低功耗时,尽快发送
            midRs.isQuickSend = true ;
        }
        return new MidResult[]{midRs} ;
    }
    /**
     * æž„造下行数据
     * @param para å‚æ•°
     * @return å­—节数组
     * @throws Exception å¼‚常
     */
    public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            String json = (String)para.param;
            ComCd9CVo cvo = JSON.parseObject(json, ComCd9CVo.class) ;
            if(cvo == null){
                throw new Exception("json转ComCd9CVo为null") ;
            }
            if(cvo.icCardAddr.length() != 8){
                throw new Exception("IC卡地址必须是8位数字或字母") ;
            }
            byte[] bs = new byte[13] ;
            int index = 0 ;
            bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16));
            index ++ ;
            bs[index] = cvo.projectNo.byteValue() ;
            index ++ ;
            GlCreate.createIcCardAddr(cvo.icCardAddr, bs, index);
            index += 4 ;
            GlCreate.createPw(bs, index);
            index += 2 ;
            GlCreate.createS2D(bs, index) ;
            index += 4 ;
            bs[index] = 0 ; //时延
            bytes = ByteUtil.bytesMerge(bytes, bs) ;
        }else{
            throw new Exception("下行命令参数据为null") ;
        }
        GlCreate.createLen(bytes);//长度放字节数组中
        byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC和尾
        bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
        return bytes ;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_9C_Up.java
New file
@@ -0,0 +1,73 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@AnnotationCodeUp(ifAny={
        CodeV202404.cd_9C
})
@SuppressWarnings("unused")
public class Cd_9C_Up implements CodeParse{
    private static final Logger log = LogManager.getLogger(Cd_9C_Up.class);
    /**
     * åˆ†æžä¸Šè¡Œæ•°æ®
     */
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
        ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
        int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
        if(bsLen > 0){
            this.doParse(para.upBuffer,
                    bsLen,
                    para.upCode,
                    para.data) ;
        }
        log.info("分析上行数据<" + 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.upCode = para.upCode ;//上行数据中的功能码
        midRs.upHex = para.upHex ;//上行数据十六进制形式
        midRs.upBuffer = para.upBuffer ;//上行数据字节数组
        midRs.data = para.data ;//解析后的数据
        midRs.reportOrResponse_trueOrFalse = false ;
        callback.callback(midRs.reportOrResponse_trueOrFalse);
        return new MidResult[]{midRs} ;
    }
    /**
     * æ‰§è¡Œåˆ†æž
     * @param bs å­—节数组
     * @param bsLen å­—节长度(总包长,包括包头和包尾)
     * @param dataCode åŠŸèƒ½ç 
     * @param data æ•°æ®
     * @throws Exception å¼‚常
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCdXyVo cdData = new DataCdXyVo(CodeV202404.getCodeName(dataCode)) ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
        index++ ;
        cdData.projectNo = (int)bs[index];
        index++ ;
        byte result = bs[index];
        if(result == 1){
            cdData.success = true ;
        }else{
            cdData.success = false ;
        }
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Down.java
New file
@@ -0,0 +1,67 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ParseParamsForDownV202404;
import com.dy.common.mw.protocol.p206V202404.parse.global.GlCreate;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd02Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdC2Vo;
import com.dy.common.util.ByteUtil;
@AnnotationCodeDown(ifAny={
        CodeV202404.cd_C2
})
public class Cd_C2_Down implements CodeParse {
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception {
        ParseParamsForDownV202404 para = (ParseParamsForDownV202404) params ;
        byte[] bs = this.doParse(para) ;
        MidResultToRtu midRs = new MidResultToRtu() ;
        midRs.protocolName = para.protocolName ;//协议名称
        midRs.rtuAddr = para.rtuAddr ;//Rtu地址
        midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果
        midRs.downCode = para.commandCode ;//下行命令功能码;
        midRs.downBuffer = bs ;//下行命令数据
        midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//下行命令数据十六进制形式
        midRs.hasResponse = false ;//是否有应答
        midRs.maxSendTimes = 1 ;//命令最大发送次数(当收不到应答时,将重发),如果不设置,命令缓存器进行补充设置
        midRs.isCachForOffLine = false ;//RTU不在线,命令是否缓存,低功耗时为true
        midRs.isSendFirst = true ;//命令应答,首先发送,防止RTU重新上报
        if(isLowPower != null && isLowPower.booleanValue()){
            //低功耗时,尽快发送
            midRs.isQuickSend = true ;
        }
        return new MidResult[]{midRs} ;
    }
    /**
     * æž„造下行数据
     * @param para å‚æ•°
     * @return å­—节数组
     * @throws Exception å¼‚常
     */
    public byte[] doParse(ParseParamsForDownV202404 para) throws Exception {
        byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode);
        if(para.param != null){
            DataCdC2Vo cdData = (DataCdC2Vo)para.param ;
            byte[] bs = new byte[2] ;
            bs[0] = (byte)(Integer.parseInt(cdData.controllerType, 16));
            bs[1] = cdData.projectNo.byteValue() ;
            bytes = ByteUtil.bytesMerge(bytes, bs) ;
        }else{
            throw new Exception("下行命令参数据为null") ;
        }
        GlCreate.createLen(bytes);//长度放字节数组中
        byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC和尾
        bytes = ByteUtil.bytesMerge(bytes, bsTail) ;
        return bytes ;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java
New file
@@ -0,0 +1,110 @@
package com.dy.common.mw.protocol.p206V202404.parse;
import com.dy.common.mw.protocol.*;
import com.dy.common.mw.protocol.p206V202404.*;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd02Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCdC2Vo;
import com.dy.common.util.ByteUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@AnnotationCodeUp(ifAny={
        CodeV202404.cd_C2
})
@SuppressWarnings("unused")
public class Cd_C2_Up implements CodeParse{
    private static final Logger log = LogManager.getLogger(Cd_C2_Up.class);
    /**
     * åˆ†æžä¸Šè¡Œæ•°æ®
     */
    @Override
    public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception {
        ParseParamsForUpV202404 para = (ParseParamsForUpV202404)params ;
        int bsLen = new CommonV202404().parseDataLen(para.upBuffer) ;
        if(bsLen > 0){
            this.doParse(para.upBuffer,
                    bsLen,
                    para.upCode,
                    para.data) ;
        }
        log.info("分析上行数据<" + 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.upCode = para.upCode ;//上行数据中的功能码
        midRs.upHex = para.upHex ;//上行数据十六进制形式
        midRs.upBuffer = para.upBuffer ;//上行数据字节数组
        midRs.data = para.data ;//解析后的数据
        midRs.reportOrResponse_trueOrFalse = true ;
        String confirmComCode = para.upCode ;
        ParseParamsForDownV202404 downCpParams  = new ParseParamsForDownV202404() ;
        downCpParams.setValue(
                null,
                ProtocolConstantV206V202404.protocolName,
                para.rtuAddr,
                Command.defaultId,
                confirmComCode,
                para.data.subData==null?null:(((DataV202404)para.data.subData).subData),
                null);
        //构造应答
        byte[] data = new Cd_02_Down().doParse(downCpParams) ;
        MidResultToRtu confirmCommand = new MidResultToRtu() ;
        confirmCommand.protocolName = para.protocolName ;//协议名称
        confirmCommand.rtuAddr = para.rtuAddr ;//Rtu地址
        confirmCommand.commandId = Command.defaultId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果
        confirmCommand.downCode = confirmComCode ;//下行命令功能码;
        confirmCommand.downBuffer = data ;//下行命令数据
        confirmCommand.downBufHex = ByteUtil.bytes2Hex(data, true) ;//下行命令数据十六进制形式
        confirmCommand.hasResponse = false ;//是否有应答
        confirmCommand.maxSendTimes = 1 ;//命令最大发送次数(当收不到应答时,将重发2次),如果不设置,命令缓存器进行补充设置
        confirmCommand.isCachForOffLine = false ;//RTU不在线,命令是否缓存
        confirmCommand.isSendFirst = true ;//确认命令,优先发送
        if(isLowPower != null && isLowPower.booleanValue()){
            //低功耗时,尽快发送
            confirmCommand.isQuickSend = true ;
        }
        callback.callback(midRs.reportOrResponse_trueOrFalse);
        return new MidResult[]{midRs, confirmCommand} ;
    }
    /**
     * æ‰§è¡Œåˆ†æž
     * @param bs å­—节数组
     * @param bsLen å­—节长度(总包长,包括包头和包尾)
     * @param dataCode åŠŸèƒ½ç 
     * @param data æ•°æ®
     * @throws Exception å¼‚常
     */
    protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception {
        DataV202404 dV1 = (DataV202404)data.getSubData() ;
        DataCdC2Vo cdData = new DataCdC2Vo() ;
        dV1.subData = cdData ;
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
        index ++ ;
        cdData.projectNo = 0 + bs[index];
        index ++ ;//0xf0阀门0x00æ°´æ³µ
        index ++ ;
        cdData.opType1 = bs[index];
        index ++ ;
        cdData.opType2 = bs[index];
        index++ ;
        byte result = bs[index];
        if(result == 1){
            cdData.success = true ;
        }else{
            cdData.success = false ;
        }    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
@@ -1,7 +1,7 @@
package com.dy.common.mw.protocol.p206V202404.parse.global;
import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd81Vo;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd93_A3Vo;
import com.dy.common.util.ByteUtil;
@@ -58,7 +58,7 @@
     * @param index
     * @return
     */
    public static void parseAlarmAndState(byte[] bs, int index, DataCd80Vo vo){
    public static void parseAlarmAndState(byte[] bs, int index, DataCd80_5BVo vo){
        byte b = bs[index] ;
        vo.statePump = (byte)(b & 0x1) ;
        vo.alarmWaterRemain = (byte)(b & 0x2) ;
@@ -161,7 +161,7 @@
     * @param cdData
     * @throws Exception
     */
    public static void parseCd80And5B(byte[] bs, DataCd80Vo cdData) throws Exception{
    public static void parseCd80And5B(byte[] bs, DataCd80_5BVo cdData) throws Exception{
        int index = ProtocolConstantV206V202404.dataIndex ;
        cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd15Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd16Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd22Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd23Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd26Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd30Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd5BVo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80_5BVo.java
File was renamed from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd80Vo.java
@@ -2,9 +2,9 @@
import lombok.Data;
//设备终端工作上报
//设备终端工作上报 + è®¾å¤‡ç»ˆç«¯å·¥ä½œä¸ŠæŠ¥
@Data
public class DataCd80Vo {
public class DataCd80_5BVo {
    public String controllerType;//控制器类型:   01:测控一体阀;57:井电控制器
    public Integer projectNo ;//项目编号:
@@ -64,9 +64,16 @@
    public Byte stateIcEnable ; //IC卡使能    (1、IC有刷卡支持    0:不支持)
    public String comName ;//命令名称
    public DataCd80_5BVo(String comName){
        this.comName = comName ;
    }
    public String toString(){
        StringBuffer sb = new StringBuffer() ;
        sb.append("      è®¾å¤‡ç»ˆç«¯å·¥ä½œä¸ŠæŠ¥ : \n") ;
        sb.append("      " + comName + " : \n") ;
        sb.append("      æŽ§åˆ¶å™¨ç±»åž‹ : ") ;
        sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ;
        sb.append("\n") ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd88Vo.java
File was renamed from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd21Vo.java
@@ -2,27 +2,26 @@
import lombok.Data;
//设置IP地址
//查询控制器域名
@Data
public class DataCd21Vo {
public class DataCd88Vo {
    public String controllerType;//控制器类型:   01:测控一体阀;57:井电控制器
    public Integer projectNo ;//项目编号:
    public Boolean success ;//命令结果(true成功, false失败)
    public String registerNo ;//注册号(16字节hex)
    public String toString(){
        StringBuffer sb = new StringBuffer() ;
        sb.append("      è®¾ç½®IP地址 : \n") ;
        sb.append("      æŸ¥è¯¢æŽ§åˆ¶å™¨åŸŸå : \n") ;
        sb.append("      æŽ§åˆ¶å™¨ç±»åž‹ : ") ;
        sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ;
        sb.append("\n") ;
        sb.append("      é¡¹ç›®ç¼–号 : ") ;
        sb.append(projectNo == null?"未知":projectNo) ;
        sb.append("\n") ;
        sb.append("      å‘½ä»¤ç»“æžœ : ") ;
        sb.append(success == null?"未知":(success?"成功":"失败")) ;
        sb.append("      æ³¨å†Œå· : ") ;
        sb.append(registerNo == null?"未知":registerNo) ;
        sb.append("\n") ;
        return sb.toString() ;
    }
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd97Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd98Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd99Vo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd9AVo.java
File was deleted
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdC2Vo.java
New file
@@ -0,0 +1,36 @@
package com.dy.common.mw.protocol.p206V202404.upVos;
import lombok.Data;
//开关水泵/阀门成功/失败上报
@Data
public class DataCdC2Vo {
    public String controllerType ;//控制器类型:   01:测控一体阀;57:井电控制器
    public Integer projectNo ;//项目编号:
    public Byte opType1 ;//操作方式:0:刷卡开水泵/阀门;1:远程开水泵/阀门;2:APP开水泵/阀门
    public Byte opType2 ;//开启关闭:0: å¼€å¯ -1:关闭
    public Boolean success ;//执行结果(true成功, false失败)
    public String toString(){
        StringBuffer sb = new StringBuffer() ;
        sb.append("      å¼€å…³æ°´æ³µ/阀门结果上报 : \n") ;
        sb.append("      æŽ§åˆ¶å™¨ç±»åž‹ : ") ;
        sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ;
        sb.append("\n") ;
        sb.append("      é¡¹ç›®ç¼–号 : ") ;
        sb.append(projectNo == null?"未知":projectNo) ;
        sb.append("\n") ;
        sb.append("      æ“ä½œæ–¹å¼ : ") ;
        sb.append(opType1 == null?"未知":(opType1.byteValue()==0?"刷卡":(opType1.byteValue()==1?"远程":(opType1.byteValue()==2?"App":"未知")))) ;
        sb.append("\n") ;
        sb.append("      å¼€å¯å…³é—­ : ") ;
        sb.append(opType2 == null?"未知":(opType2.byteValue()==0?"开启水泵/阀门":(opType2.byteValue()==1?"关闭水泵/阀门":"未知"))) ;
        sb.append("\n") ;
        sb.append("      æ‰§è¡Œç»“æžœ : ") ;
        sb.append(success == null?"未知":(success?"成功":"失败")) ;
        sb.append("\n") ;
        return sb.toString() ;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCdXyVo.java
New file
@@ -0,0 +1,31 @@
package com.dy.common.mw.protocol.p206V202404.upVos;
public class DataCdXyVo {
    public String controllerType;//控制器类型:   01:测控一体阀;57:井电控制器
    public Integer projectNo ;//项目编号:
    public Boolean success ;//命令结果(true成功, false失败)
    public String comName ;//命令名称
    public DataCdXyVo(String comName){
        this.comName = comName ;
    }
    public String toString(){
        StringBuffer sb = new StringBuffer() ;
        sb.append("      " + comName + " : \n") ;
        sb.append("      æŽ§åˆ¶å™¨ç±»åž‹ : ") ;
        sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ;
        sb.append("\n") ;
        sb.append("      é¡¹ç›®ç¼–号 : ") ;
        sb.append(projectNo == null?"未知":projectNo) ;
        sb.append("\n") ;
        sb.append("      å‘½ä»¤ç»“æžœ : ") ;
        sb.append(success == null?"未知":(success?"成功":"失败")) ;
        sb.append("\n") ;
        return sb.toString() ;
    }
}
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -74,8 +74,7 @@
    global:
        dev: true   #是否开发阶段,true或false
        dsName: ym  #开发阶段,设置临时的数据库名称
    accMw:
        commandCallback:  http://127.0.0.1:8079/remote/rtu/comCallback
    mw:
        webPort: 8070
        actutorPort: 9070
        idSuffix: 0
pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/RtuDataUnitConfigVo.java
File was deleted
pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/resources/Tree_.xml
File was deleted
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/.gitignore
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/.gitignore
@@ -1,6 +1,6 @@
HELP.md
target/
/pipIrr-mw-accept.iml
/pipIrr-mw-rtu.iml
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/.mvn/wrapper/maven-wrapper.jar
Binary files differ
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/.mvn/wrapper/maven-wrapper.properties
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/mvnw
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/mvnw.cmd
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/pom.xml
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/pom.xml
@@ -10,9 +10,9 @@
    </parent>
    <packaging>jar</packaging>
    <artifactId>pipIrr-mw-accept</artifactId>
    <artifactId>pipIrr-mw-rtu</artifactId>
    <version>1.0.0</version>
    <name>pipIrr-mw-accept</name>
    <name>pipIrr-mw-rtu</name>
    <description>通信中间件</description>
    <dependencies>
@@ -195,7 +195,7 @@
                            <stripVersion>false</stripVersion>
                            <finalName>${project.artifactId}-${project.version}</finalName>
                            <layout>ZIP</layout>
                            <mainClass>com.dy.aceMw.PipIrrMwAcceptApplication</mainClass>
                            <mainClass>com.dy.rtuMw.PipIrrMwAcceptApplication</mainClass>
                            <includes>
                                <include>
                                    <groupId>com.dy</groupId>
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/PipIrrMwRtuApplication.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/PipIrrMwAcceptApplication.java
@@ -1,4 +1,4 @@
package com.dy.aceMw;
package com.dy.rtuMw;
import com.dy.common.multiDataSource.EnableMultiDataSource;
import org.mybatis.spring.annotation.MapperScan;
@@ -14,16 +14,16 @@
@EnableAspectJAutoProxy
//@EnableAspectJAutoProxy(exposeProxy=true)//见https://blog.csdn.net/qq_32590703/article/details/109320381
@EnableMultiDataSource
@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.aceMw"},
@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.rtuMw"},
        excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {
                com.dy.common.apiDoc.SpringApiConfig.class
        }) })
//@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.aceMw"})
//@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.rtuMw"})
@MapperScan(basePackages={"com.dy.pipIrrGlobal"})
public class PipIrrMwAcceptApplication implements CommandLineRunner {
public class PipIrrMwRtuApplication implements CommandLineRunner {
    public static void main(String[] args) {
        SpringApplication.run(PipIrrMwAcceptApplication.class, args);
        SpringApplication.run(PipIrrMwRtuApplication.class, args);
    }
    /**
@@ -40,11 +40,11 @@
            e.printStackTrace();
        }
        finally {
            this.startAceSv() ;
            this.startMwSv() ;
        }
    }
    private void startAceSv(){
    private void startMwSv(){
        if(sv != null){
            sv.startServer();
        }
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/Server.java
@@ -1,13 +1,13 @@
package com.dy.aceMw;
package com.dy.rtuMw;
import java.util.ArrayList;
import java.util.List;
import com.dy.aceMw.server.*;
import com.dy.aceMw.server.rtuData.RtuDataUnit;
import com.dy.aceMw.server.rtuData.RtuDataUnitConfigVo;
import com.dy.aceMw.server.tasks.FromRtuComResultConstantTask;
import com.dy.aceMw.server.tasks.FromRtuDataConstantTask;
import com.dy.rtuMw.server.*;
import com.dy.rtuMw.server.rtuData.RtuDataUnit;
import com.dy.rtuMw.server.rtuData.RtuDataUnitConfigVo;
import com.dy.rtuMw.server.tasks.FromRtuComResultConstantTask;
import com.dy.rtuMw.server.tasks.FromRtuDataConstantTask;
import com.dy.common.mw.UnitInterface;
import com.dy.common.mw.channel.rmi.RmiConfigVo;
import com.dy.common.mw.channel.rmi.RmiUnit;
@@ -19,14 +19,15 @@
import com.dy.common.mw.protocol.ProtocolUnit;
import com.dy.common.mw.support.SupportUnit;
import com.dy.common.mw.support.SupportUnitConfigVo;
import com.dy.aceMw.server.tasks.ToRtuConstantTask;
import com.dy.aceMw.resource.ResourceUnit;
import com.dy.aceMw.resource.ResourceUnitConfigVo;
import com.dy.rtuMw.server.tasks.ToRtuConstantTask;
import com.dy.rtuMw.resource.ResourceUnit;
import com.dy.rtuMw.resource.ResourceUnitConfigVo;
import com.dy.common.springUtil.SpringContextUtil;
import com.dy.common.util.ConfigXml;
import com.dy.common.util.IDLongGenerator;
import org.jdom2.Document;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
@@ -38,7 +39,11 @@
    
    private String RmiSvUrl ;
    private String TcpSvUrl ;
    @Value("${server.port}")
    private String HttpSvPort ;
    @Value("${server.servlet.context-path}")
    private String HttpSvPath ;
    private List<UnitInterface> units = new ArrayList<UnitInterface>() ;
    /*
@@ -52,7 +57,7 @@
      */
    public void startServer(){
//        try {
//            URL url = Server.class.getResource("/config/sv.licence");
//            URL url = Server.class.getResource("/config/this.licence");
//            if(!new Lnp(null).parese(url.getPath())){
//                System.out.println("zhzc licence error!") ;   
//                return ;
@@ -61,22 +66,22 @@
//            System.out.println("zhzc licence error!") ; 
//            return ;
//        }
        Server sv = new Server();
        //Server sv = new Server();
        long start = System.currentTimeMillis() ;
        try {
            //ConfigProperties.init(sv.getClass().getResourceAsStream("/config/config.properties"), false);
            //ConfigProperties.init(this.getClass().getResourceAsStream("/config/config.properties"), false);
            
            sv.conf = new ConfigXml() ;
            sv.doc = sv.conf.createDom(sv.getClass(), "config.xml") ;
            this.conf = new ConfigXml() ;
            this.doc = this.conf.createDom(this.getClass(), "config.xml") ;
            ////////////////
            //服务 é…ç½®
            sv.showStartInfo = sv.conf.getSetAttrBoolean(sv.doc, "config.server", "showStartInfo", null, null) ;
            this.showStartInfo = this.conf.getSetAttrBoolean(this.doc, "config.server", "showStartInfo", null, null) ;
            sv.startUnits() ;
            this.startUnits() ;
            
            String svName ;
            try{
                svName = sv.conf.getSetAttrTxt(sv.doc, "config.server", "name", null, false, null) ;
                svName = this.conf.getSetAttrTxt(this.doc, "config.server", "name", null, false, null) ;
            }catch(Exception e){
                svName = "" ;
            }
@@ -84,7 +89,7 @@
            
            String company ;
            try{
                company = sv.conf.getSetAttrTxt(sv.doc, "config.server", "company", null, true, null) ;
                company = this.conf.getSetAttrTxt(this.doc, "config.server", "company", null, true, null) ;
            }catch(Exception e){
                company = "" ;
            }
@@ -95,14 +100,19 @@
            System.out.println("@@@@@@@@@@@@@@@@@@@@@@@   &@@@@@@@@@@@@@@") ;           
            System.out.println("@@@@@@$      $@@@@@@@@@&   O@@@@@@@@@@@#") ;        
            System.out.println("@@@@@@$        @@@@@@@@@     @@@@@@@@@&      " + svName + "RtuMw 1.0.00" ) ;             
            System.out.println("@@@@@@$        @@@@@@@@@     &@@@@@@@@") ;
            if(sv.TcpSvUrl != null){
                System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@       TcpSv " + sv.TcpSvUrl ) ;
            if(this.HttpSvPath != null && this.HttpSvPort != null){
                System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@       HttpSv [ip]:" + this.HttpSvPort + this.HttpSvPath) ;
            }else{
                System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@") ;
            }
            if(this.TcpSvUrl != null){
                System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@       TcpSv " + this.TcpSvUrl ) ;
            }else{
                System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@") ;              
            }
            if(sv.RmiSvUrl != null){
                System.out.println("@@@@@@$      #@@@@@@@@@$     &@@@@@@@@       RmiSv " + sv.RmiSvUrl ) ;
            if(this.RmiSvUrl != null){
                System.out.println("@@@@@@$      #@@@@@@@@@$     &@@@@@@@@       RmiSv " + this.RmiSvUrl ) ;
            }else{
                System.out.println("@@@@@@$      #@@@@@@@@@$     &@@@@@@@@" ) ;        
            }
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/ResourceUnit.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/resource/ResourceUnit.java
@@ -1,10 +1,11 @@
package com.dy.aceMw.resource;
package com.dy.rtuMw.resource;
import java.io.File;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.TreeMap;
import com.dy.rtuMw.resource.rtuLog.RtuLogNode;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.context.ApplicationContext;
@@ -12,8 +13,7 @@
import com.dy.common.mw.UnitAdapterInterface;
import com.dy.common.mw.UnitInterface;
import com.dy.common.mw.UnitStartedCallbackInterface;
import com.dy.aceMw.resource.rtuLog.RtuLogManager;
import com.dy.aceMw.resource.rtuLog.RtuLogNode;
import com.dy.rtuMw.resource.rtuLog.RtuLogManager;
import com.dy.common.util.DateTime;
public class ResourceUnit implements UnitInterface {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/ResourceUnitAdapter.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/resource/ResourceUnitAdapter.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.resource;
package com.dy.rtuMw.resource;
import com.dy.common.mw.UnitAdapterInterface;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/ResourceUnitConfigVo.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/resource/ResourceUnitConfigVo.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.resource;
package com.dy.rtuMw.resource;
public class ResourceUnitConfigVo {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/rtuLog/RtuLogManager.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/resource/rtuLog/RtuLogManager.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.resource.rtuLog;
package com.dy.rtuMw.resource.rtuLog;
import java.io.BufferedWriter;
import java.io.File;
@@ -7,7 +7,7 @@
import java.io.IOException;
import java.io.OutputStreamWriter;
import com.dy.aceMw.resource.ResourceUnit;
import com.dy.rtuMw.resource.ResourceUnit;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/rtuLog/RtuLogNode.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/resource/rtuLog/RtuLogNode.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.resource.rtuLog;
package com.dy.rtuMw.resource.rtuLog;
import com.dy.common.queue.NodeObj;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_CoreUnit.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/AdapterImp_CoreUnit.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server;
package com.dy.rtuMw.server;
import com.dy.common.mw.core.CoreUnitAdapter;
import com.dy.common.mw.core.CoreUnitConfigVo;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_ProtocolUnit.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/AdapterImp_ProtocolUnit.java
@@ -1,11 +1,11 @@
package com.dy.aceMw.server;
package com.dy.rtuMw.server;
import com.dy.common.mw.protocol.MidResultAction;
import com.dy.common.mw.protocol.ProtocolConfigVo;
import com.dy.common.mw.protocol.ProtocolUnitAdapter;
import com.dy.aceMw.server.forTcp.MidResultActionError;
import com.dy.aceMw.server.forTcp.MidResultActionFromRtu;
import com.dy.aceMw.server.forTcp.MidResultActionToRtu;
import com.dy.rtuMw.server.forTcp.MidResultActionError;
import com.dy.rtuMw.server.forTcp.MidResultActionFromRtu;
import com.dy.rtuMw.server.forTcp.MidResultActionToRtu;
public class AdapterImp_ProtocolUnit implements ProtocolUnitAdapter {
    
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_ResourceUnit.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/AdapterImp_ResourceUnit.java
@@ -1,7 +1,7 @@
package com.dy.aceMw.server;
package com.dy.rtuMw.server;
import com.dy.aceMw.resource.ResourceUnitAdapter;
import com.dy.aceMw.resource.ResourceUnitConfigVo;
import com.dy.rtuMw.resource.ResourceUnitAdapter;
import com.dy.rtuMw.resource.ResourceUnitConfigVo;
public class AdapterImp_ResourceUnit implements ResourceUnitAdapter {
    
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_RmiUnit.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/AdapterImp_RmiUnit.java
@@ -1,6 +1,6 @@
package com.dy.aceMw.server;
package com.dy.rtuMw.server;
import com.dy.aceMw.server.forRmi.RmiRequestedCallback;
import com.dy.rtuMw.server.forRmi.RmiRequestedCallback;
import com.dy.common.mw.channel.rmi.RmiConfigVo;
import com.dy.common.mw.channel.rmi.RmiRequestCallback;
import com.dy.common.mw.channel.rmi.RmiUnitAdapter;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_RtuDataUnit.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/AdapterImp_RtuDataUnit.java
@@ -1,8 +1,8 @@
package com.dy.aceMw.server;
package com.dy.rtuMw.server;
import com.dy.aceMw.server.rtuData.RtuDataUnitAdapter;
import com.dy.aceMw.server.rtuData.RtuDataUnitConfigVo;
import com.dy.rtuMw.server.rtuData.RtuDataUnitAdapter;
import com.dy.rtuMw.server.rtuData.RtuDataUnitConfigVo;
public class AdapterImp_RtuDataUnit implements RtuDataUnitAdapter {
    
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_SupportUnit.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/AdapterImp_SupportUnit.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server;
package com.dy.rtuMw.server;
import com.dy.common.mw.support.SupportUnitAdapter;
import com.dy.common.mw.support.SupportUnitConfigVo;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/AdapterImp_TcpUnit.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/AdapterImp_TcpUnit.java
@@ -1,11 +1,11 @@
package com.dy.aceMw.server;
package com.dy.rtuMw.server;
import com.dy.common.mw.channel.tcp.PrefixedDataAvailableHandle;
import com.dy.common.mw.channel.tcp.TcpConfigVo;
import com.dy.common.mw.channel.tcp.TcpIoSessionEventCallback;
import com.dy.common.mw.channel.tcp.TcpUnitAdapter;
import com.dy.common.mw.protocol.PrefixedDataAvailableHandleImp;
import com.dy.aceMw.server.forTcp.TcpIoSessionCallback;
import com.dy.rtuMw.server.forTcp.TcpIoSessionCallback;
public class AdapterImp_TcpUnit implements TcpUnitAdapter {
    
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/ServerProperties.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server;
package com.dy.rtuMw.server;
public class ServerProperties {
    
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forRmi/RmiRequestedCallback.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forRmi/RmiRequestedCallback.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.forRmi;
package com.dy.rtuMw.server.forRmi;
import java.rmi.RemoteException;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionError.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/MidResultActionError.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/MidResultActionFromRtu.java
@@ -1,9 +1,9 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
import com.dy.aceMw.server.rtuData.RtuComResultCache;
import com.dy.aceMw.server.rtuData.RtuComResultNode;
import com.dy.aceMw.server.rtuData.RtuDataNode;
import com.dy.aceMw.server.rtuData.RtuDataCache;
import com.dy.rtuMw.server.rtuData.RtuComResultCache;
import com.dy.rtuMw.server.rtuData.RtuComResultNode;
import com.dy.rtuMw.server.rtuData.RtuDataNode;
import com.dy.rtuMw.server.rtuData.RtuDataCache;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionToRtu.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/MidResultActionToRtu.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
import org.apache.logging.log4j.*;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/RtuLogDealer.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/RtuLogDealer.java
@@ -1,9 +1,9 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
import org.apache.logging.log4j.*;
import com.dy.aceMw.resource.ResourceUnit;
import com.dy.aceMw.resource.rtuLog.RtuLogNode;
import com.dy.rtuMw.resource.ResourceUnit;
import com.dy.rtuMw.resource.rtuLog.RtuLogNode;
public class RtuLogDealer {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/RtuSessionStatus.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/RtuSessionStatus.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
public class RtuSessionStatus {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/RtuStatusDealer.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/RtuStatusDealer.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandCache.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpDownCommandCache.java
@@ -1,11 +1,11 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
import com.dy.common.queue.Node;
import com.dy.common.queue.Queue;
import com.dy.common.mw.protocol.MidResultFromRtu;
import com.dy.common.mw.protocol.MidResultToRtu;
import com.dy.aceMw.server.ServerProperties;
import com.dy.rtuMw.server.ServerProperties;
/**
 * éžçº¿ç¨‹å®‰å…¨çš„,只能在单线程中运行
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandObj.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpDownCommandObj.java
@@ -1,11 +1,11 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.dy.common.queue.NodeObj;
import com.dy.common.mw.protocol.MidResultToRtu;
import com.dy.aceMw.server.ServerProperties;
import com.dy.rtuMw.server.ServerProperties;
public class TcpDownCommandObj implements NodeObj{
    
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpIoSessionCallback.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -7,7 +7,7 @@
import com.dy.common.mw.channel.tcp.TcpIoSessionAttrIdIsRtuAddr;
import com.dy.common.mw.channel.tcp.TcpIoSessionEventCallback;
import com.dy.common.mw.core.CoreUnit;
import com.dy.aceMw.server.tasks.RtuUpTask;
import com.dy.rtuMw.server.tasks.RtuUpTask;
public class TcpIoSessionCallback implements TcpIoSessionEventCallback{
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSession.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpSession.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
import org.apache.mina.core.session.IoSession;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpSessionCache.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
import java.net.InetAddress;
import java.net.InetSocketAddress;
@@ -10,7 +10,7 @@
import org.apache.mina.core.session.IoSession;
import com.dy.aceMw.server.ServerProperties;
import com.dy.rtuMw.server.ServerProperties;
public class TcpSessionCache {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCacheBk.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpSessionCacheBk.java
@@ -1,6 +1,6 @@
package com.dy.aceMw.server.forTcp;
package com.dy.rtuMw.server.forTcp;
import com.dy.aceMw.server.ServerProperties;
import com.dy.rtuMw.server.ServerProperties;
import org.apache.mina.core.session.IoSession;
import java.net.InetAddress;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/CommandInnerDeaLer.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/local/CommandInnerDeaLer.java
@@ -1,6 +1,6 @@
package com.dy.aceMw.server.local;
package com.dy.rtuMw.server.local;
import com.dy.aceMw.server.local.localProtocol.*;
import com.dy.rtuMw.server.local.localProtocol.*;
import com.dy.common.mw.protocol.Command;
/**
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/ReturnCommand.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/local/ReturnCommand.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.local;
package com.dy.rtuMw.server.local;
import com.dy.common.mw.protocol.Command;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/ClockDeal.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/local/localProtocol/ClockDeal.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.local.localProtocol;
package com.dy.rtuMw.server.local.localProtocol;
import com.dy.common.util.DateTime;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/ClockVo.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/local/localProtocol/ClockVo.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.local.localProtocol;
package com.dy.rtuMw.server.local.localProtocol;
import java.io.Serializable;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/CodeLocal.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/local/localProtocol/CodeLocal.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.local.localProtocol;
package com.dy.rtuMw.server.local.localProtocol;
public class CodeLocal {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineDeal.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/local/localProtocol/RtuOnLineDeal.java
@@ -1,6 +1,6 @@
package com.dy.aceMw.server.local.localProtocol;
package com.dy.rtuMw.server.local.localProtocol;
import com.dy.aceMw.server.forTcp.TcpSessionCache;
import com.dy.rtuMw.server.forTcp.TcpSessionCache;
public class RtuOnLineDeal {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineVo.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/local/localProtocol/RtuOnLineVo.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.local.localProtocol;
package com.dy.rtuMw.server.local.localProtocol;
import java.io.Serializable;
import java.util.HashMap;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuProtocolVo.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/local/localProtocol/RtuProtocolVo.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.local.localProtocol;
package com.dy.rtuMw.server.local.localProtocol;
import java.io.Serializable;
import java.util.ArrayList;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuProtocolsDeal.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/local/localProtocol/RtuProtocolsDeal.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.local.localProtocol;
package com.dy.rtuMw.server.local.localProtocol;
import com.dy.common.mw.protocol.ProtocolCache;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuComResultCache.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/RtuComResultCache.java
@@ -1,6 +1,6 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import com.dy.aceMw.server.ServerProperties;
import com.dy.rtuMw.server.ServerProperties;
import com.dy.common.queue.Node;
import com.dy.common.queue.Queue;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuComResultNode.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/RtuComResultNode.java
@@ -1,7 +1,6 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import com.dy.aceMw.server.rtuData.dbSv.RtuSv;
import com.dy.aceMw.web.comResult.CommandResultDeal;
import com.dy.rtuMw.web.comResult.CommandResultDeal;
import com.dy.common.mw.protocol.Data;
import com.dy.common.queue.NodeObj;
import com.dy.common.springUtil.SpringContextUtil;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataCache.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/RtuDataCache.java
@@ -1,6 +1,6 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import com.dy.aceMw.server.ServerProperties;
import com.dy.rtuMw.server.ServerProperties;
import com.dy.common.queue.Node;
import com.dy.common.queue.Queue;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataNode.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/RtuDataNode.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import com.dy.common.queue.NodeObj;
import com.dy.common.threadPool.ThreadPool;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataUnit.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/RtuDataUnit.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import com.dy.common.mw.UnitAdapterInterface;
import com.dy.common.mw.UnitInterface;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataUnitAdapter.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/RtuDataUnitAdapter.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import com.dy.common.mw.UnitAdapterInterface;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/RtuDataUnitConfigVo.java
New file
@@ -0,0 +1,5 @@
package com.dy.rtuMw.server.rtuData;
public class RtuDataUnitConfigVo {
}
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/Task.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/Task.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import java.text.ParseException;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TaskConfig.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TaskConfig.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
public class TaskConfig {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TaskPool.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TaskPool.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import java.util.ArrayList;
import java.util.List;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TaskSurpport.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TaskSurpport.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TkReceive.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TkReceive.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import com.dy.common.mw.protocol.Data;
import org.apache.logging.log4j.LogManager;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TkRtuData.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TkRtuData.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import com.dy.common.mw.protocol.Data;
import org.apache.logging.log4j.LogManager;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TreeConfig.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TreeConfig.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
public class TreeConfig {
    public TaskConfig taskConf ;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/TreeParse.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TreeParse.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.rtuData;
package com.dy.rtuMw.server.rtuData;
import java.net.URL;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/dbSv/DbSv.java
@@ -1,15 +1,12 @@
package com.dy.aceMw.server.rtuData.dbSv;
package com.dy.rtuMw.server.rtuData.dbSv;
import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
import com.dy.pipIrrGlobal.daoPr.PrControllerTrampMapper;
import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
import com.dy.pipIrrGlobal.daoRm.*;
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
import com.dy.pipIrrGlobal.pojoPr.PrIntake;
import com.dy.pipIrrGlobal.pojoRm.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/RtuSv.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/dbSv/RtuSv.java
@@ -1,16 +1,6 @@
package com.dy.aceMw.server.rtuData.dbSv;
package com.dy.rtuMw.server.rtuData.dbSv;
import com.dy.common.multiDataSource.DataSourceSingle;
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import com.dy.pipIrrGlobal.test.*;
@Service()
public class RtuSv {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/˵Ã÷.txt
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java
@@ -1,7 +1,7 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.aceMw.server.rtuData.dbSv.DbSv;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.DataAlarmVo;
import com.dy.common.mw.protocol.p206V1_0_0.DataStateVo;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java
@@ -1,7 +1,7 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.aceMw.server.rtuData.dbSv.DbSv;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.DataCdC0Vo;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
@@ -1,7 +1,7 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.aceMw.server.rtuData.dbSv.DbSv;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.DataCd83CloseVo;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerNoTramp.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealControllerNoTramp.java
@@ -1,6 +1,6 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealControllerTramp.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealControllerTramp.java
@@ -1,7 +1,7 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.aceMw.server.rtuData.dbSv.DbSv;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealLoss.java
@@ -1,7 +1,7 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.aceMw.server.rtuData.dbSv.DbSv;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.DataCdC0Vo;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
@@ -1,7 +1,7 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.aceMw.server.rtuData.dbSv.DbSv;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.DataCd83OpenVo;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java
@@ -1,7 +1,7 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.aceMw.server.rtuData.dbSv.DbSv;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.DataCd84Vo;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindComResponse.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkFindComResponse.java
@@ -1,6 +1,6 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.common.mw.protocol.Data;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindP206V1_0_0.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkFindP206V1_0_0.java
@@ -1,7 +1,7 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindReport.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkFindReport.java
@@ -1,6 +1,6 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.common.mw.protocol.Data;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkPreGenObjs.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkPreGenObjs.java
@@ -1,18 +1,15 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.aceMw.server.rtuData.dbSv.DbSv;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import com.dy.common.mw.protocol.Data;
import com.dy.common.springUtil.SpringContextUtil;
import com.dy.common.util.DateTime;
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TkPreGenObjs extends TaskSurpport {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
@@ -1,6 +1,6 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
import org.apache.logging.log4j.LogManager;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/FromRtuComResultConstantTask.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/tasks/FromRtuComResultConstantTask.java
@@ -1,7 +1,7 @@
package com.dy.aceMw.server.tasks;
package com.dy.rtuMw.server.tasks;
import com.dy.aceMw.server.rtuData.RtuComResultNode;
import com.dy.aceMw.server.rtuData.RtuComResultCache;
import com.dy.rtuMw.server.rtuData.RtuComResultNode;
import com.dy.rtuMw.server.rtuData.RtuComResultCache;
import com.dy.common.mw.core.CoreTask;
import com.dy.common.queue.Node;
import org.apache.logging.log4j.LogManager;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/FromRtuDataConstantTask.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/tasks/FromRtuDataConstantTask.java
@@ -1,7 +1,7 @@
package com.dy.aceMw.server.tasks;
package com.dy.rtuMw.server.tasks;
import com.dy.aceMw.server.rtuData.RtuDataNode;
import com.dy.aceMw.server.rtuData.RtuDataCache;
import com.dy.rtuMw.server.rtuData.RtuDataNode;
import com.dy.rtuMw.server.rtuData.RtuDataCache;
import com.dy.common.mw.core.CoreTask;
import com.dy.common.queue.Node;
import org.apache.logging.log4j.LogManager;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/RtuDownTask.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/tasks/RtuDownTask.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.tasks;
package com.dy.rtuMw.server.tasks;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -8,8 +8,8 @@
import com.dy.common.mw.protocol.Command;
import com.dy.common.mw.protocol.Driver;
import com.dy.common.mw.protocol.ProtocolCache;
import com.dy.aceMw.server.ServerProperties;
import com.dy.aceMw.server.forTcp.TcpSessionCache;
import com.dy.rtuMw.server.ServerProperties;
import com.dy.rtuMw.server.forTcp.TcpSessionCache;
/**
 * ä»Žweb业务系统发向RTU的命令任务
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/RtuUpTask.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/tasks/RtuUpTask.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.server.tasks;
package com.dy.rtuMw.server.tasks;
import java.net.InetSocketAddress;
@@ -15,10 +15,10 @@
import com.dy.common.mw.protocol.OnLine;
import com.dy.common.mw.protocol.OnLineHandle;
import com.dy.common.mw.protocol.ProtocolCache;
import com.dy.aceMw.server.ServerProperties;
import com.dy.aceMw.server.forTcp.RtuLogDealer;
import com.dy.aceMw.server.forTcp.RtuStatusDealer;
import com.dy.aceMw.server.forTcp.TcpSessionCache;
import com.dy.rtuMw.server.ServerProperties;
import com.dy.rtuMw.server.forTcp.RtuLogDealer;
import com.dy.rtuMw.server.forTcp.RtuStatusDealer;
import com.dy.rtuMw.server.forTcp.TcpSessionCache;
import com.dy.common.util.ByteUtil;
public class RtuUpTask extends CoreTask {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/ToRtuConstantTask.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/tasks/ToRtuConstantTask.java
@@ -1,13 +1,13 @@
package com.dy.aceMw.server.tasks;
package com.dy.rtuMw.server.tasks;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.dy.common.queue.Node;
import com.dy.common.mw.core.CoreTask;
import com.dy.aceMw.server.forTcp.TcpDownCommandCache;
import com.dy.aceMw.server.forTcp.TcpDownCommandObj;
import com.dy.aceMw.server.forTcp.TcpSessionCache;
import com.dy.rtuMw.server.forTcp.TcpDownCommandCache;
import com.dy.rtuMw.server.forTcp.TcpDownCommandObj;
import com.dy.rtuMw.server.forTcp.TcpSessionCache;
/**
 * å¤„理RTU下行命令数据的恒久任务
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/com/CommandCtrl.java
@@ -1,10 +1,10 @@
package com.dy.aceMw.web.com;
package com.dy.rtuMw.web.com;
import com.dy.aceMw.server.ServerProperties;
import com.dy.aceMw.server.forTcp.TcpSessionCache;
import com.dy.aceMw.server.local.CommandInnerDeaLer;
import com.dy.aceMw.server.local.ReturnCommand;
import com.dy.aceMw.server.tasks.RtuDownTask;
import com.dy.rtuMw.server.ServerProperties;
import com.dy.rtuMw.server.forTcp.TcpSessionCache;
import com.dy.rtuMw.server.local.CommandInnerDeaLer;
import com.dy.rtuMw.server.local.ReturnCommand;
import com.dy.rtuMw.server.tasks.RtuDownTask;
import com.dy.common.mw.core.CoreUnit;
import com.dy.common.mw.protocol.Command;
import com.dy.common.mw.protocol.CommandType;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/comResult/CommandResultDeal.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.web.comResult;
package com.dy.rtuMw.web.comResult;
import com.dy.common.mw.protocol.Data;
import lombok.extern.slf4j.Slf4j;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/WebResponseVo.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/comResult/WebResponseVo.java
@@ -1,4 +1,4 @@
package com.dy.aceMw.web.comResult;
package com.dy.rtuMw.web.comResult;
/**
 * @Author liurunyu
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/resources/RtuDataDealTree.xml
@@ -5,26 +5,26 @@
    id:与对应类中的静态成员变量taskId一致
    enable:标识本节点是否执行,若本节点不执行,则直接进入其子节点
    -->
    <task id="TkReceive" name="接收数据" enable="true" class="com.dy.aceMw.server.rtuData.TkReceive">
        <task id="TkRtuData" name="接收RTU数据" enable="true" class="com.dy.aceMw.server.rtuData.TkRtuData">
            <task id="TkFindP206V1_0_0" name="识别P206V1_0_0数据" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkFindP206V1_0_0">
                <task id="TkPreGenObjs" name="预先准备各对象并识别流浪控制器" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkPreGenObjs">
    <task id="TkReceive" name="接收数据" enable="true" class="com.dy.rtuMw.server.rtuData.TkReceive">
        <task id="TkRtuData" name="接收RTU数据" enable="true" class="com.dy.rtuMw.server.rtuData.TkRtuData">
            <task id="TkFindP206V1_0_0" name="识别P206V1_0_0数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindP206V1_0_0">
                <task id="TkPreGenObjs" name="预先准备各对象并识别流浪控制器" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkPreGenObjs">
                    <!-- å¤„理流浪控制器 -->
                    <task id="TkDealControllerTramp" name="处理流浪控制器" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkDealControllerTramp" />
                    <task id="TkDealControllerTramp" name="处理流浪控制器" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealControllerTramp" />
                    <!-- éžæµæµªè€…RTU,必须放在TkDealControllerTramp后面 -->
                    <task id="TkDealControllerNoTramp" name="非流浪者RTU" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkDealControllerNoTramp">
                    <task id="TkDealControllerNoTramp" name="非流浪者RTU" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealControllerNoTramp">
                        <!-- è¯†åˆ«ä¸»åŠ¨ä¸ŠæŠ¥æ•°æ® -->
                        <task id="TkFindReport" name="识别控制器上报数据" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkFindReport">
                            <task id="TkDealAlarmStatus" name="控制器报警与状态数据" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkDealAlarmStatus" />
                            <task id="TkDealAutoReport" name="控制器自报数据(整点报)" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkDealAutoReport" />
                            <task id="TkDealWorkReport" name="控制器阀开工作上报" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkDealWorkReport" />
                            <task id="TkDealOpenValveReport" name="控制器开阀上报" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkDealOpenValveReport" />
                            <task id="TkDealCloseValveReport" name="控制器关阀上报" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkDealCloseValveReport" />
                            <task id="TkDealLoss" name="控制器漏损统计(待新协议出来后修改实现)" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkDealLoss" />
                        <task id="TkFindReport" name="识别控制器上报数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindReport">
                            <task id="TkDealAlarmStatus" name="控制器报警与状态数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealAlarmStatus" />
                            <task id="TkDealAutoReport" name="控制器自报数据(整点报)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealAutoReport" />
                            <task id="TkDealWorkReport" name="控制器阀开工作上报" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealWorkReport" />
                            <task id="TkDealOpenValveReport" name="控制器开阀上报" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOpenValveReport" />
                            <task id="TkDealCloseValveReport" name="控制器关阀上报" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealCloseValveReport" />
                            <task id="TkDealLoss" name="控制器漏损统计(待新协议出来后修改实现)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealLoss" />
                        </task>
                        <!-- è¯†åˆ«å‘½ä»¤å“åº”数据 -->
                        <task id="TkFindComResponse" name="识别响应命令数据" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkFindComResponse">
                            <task id="TkRtuDealCommandResponse" name="RTU响应命令数据" enable="true" class="com.dy.aceMw.server.rtuData.p206V1_0_0.TkRtuDealCommandResponse" >
                        <task id="TkFindComResponse" name="识别响应命令数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindComResponse">
                            <task id="TkRtuDealCommandResponse" name="RTU响应命令数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkRtuDealCommandResponse" >
                            </task>
                        </task>
                    </task>
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application.yml
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/resources/application.yml
@@ -5,14 +5,14 @@
#actutor的web端口
management:
    server:
        port: ${pipIrr.accMw.actutorPort}
        port: ${pipIrr.mw.actutorPort}
#web服务端口,tomcat默认是8080
server:
    port: ${pipIrr.accMw.webPort}
    port: ${pipIrr.mw.webPort}
    servlet:
        context-path: /accMw #web访问上下文路径
        context-path: /rtuMw #web访问上下文路径
        context-parameters:
            #GenerateIdSetSuffixListener中应用,取值范围是0-99
            idSuffix: ${pipIrr.accMw.idSuffix}
            idSuffix: ${pipIrr.mw.idSuffix}
            #ConfigListener中应用
            #configFileNames: config-global.xml,config-demo.xml
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/log4j2.yml
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/test/java/com/dy/rtuMw/PipIrrMwAcceptApplicationTests.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/test/java/com/dy/aceMw/PipIrrMwAcceptApplicationTests.java
@@ -1,4 +1,4 @@
package com.dy.aceMw;
package com.dy.rtuMw;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
pipIrr-platform/pipIrr-mw/pom.xml
@@ -15,7 +15,7 @@
    <description>此模块为其他中间件模块的父级模块,只定义依赖</description>
    <modules>
        <module>pipIrr-mw-accept</module>
        <module>pipIrr-mw-rtu</module>
        <module>pipIrr-mwTest-server</module>
        <module>pipIrr-mwTest-client</module>
    </modules>