From cd45cee236780a8e02244d8d8a916088ca002d3d Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期一, 06 五月 2024 16:06:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Down.java | 99 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CRC8_for_2_0.java | 38 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java | 6 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Down.java | 86 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Down.java | 8 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java | 100 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkFindComResponse.java | 33 pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/com/CommandCtrl.java | 10 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Down.java | 100 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3DVo.java | 24 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Up.java | 55 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd36Vo.java | 4 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3CVo.java | 24 pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/resources/RtuDataDealTree.xml | 4 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Down.java | 86 + pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TkReceive.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Down.java | 96 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java | 15 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Down.java | 107 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java | 12 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java | 4 pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/dbSv/RtuSv.java | 304 ++-- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Down.java | 100 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Up.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/PipIrrMwAcceptApplication.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java | 43 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd38And68Vo.java | 24 pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java | 22 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Down.java | 100 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java | 4 pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java | 45 pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java | 34 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Down.java | 87 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Up.java | 72 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Down.java | 86 + pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java | 93 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Up.java | 18 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Down.java | 99 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java | 4 pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealLoss.java | 27 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Down.java | 99 + pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java | 26 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd6CVo.java | 24 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java | 58 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd66Vo.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Down.java | 86 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java | 4 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3AAnd6AVo.java | 24 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3BAnd6BVo.java | 24 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/po/BasePo.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/说明.txt | 7 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Down.java | 86 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd35And65Vo.java | 24 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Up.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd10Vo.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd37And67Vo.java | 24 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Down.java | 100 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Up.java | 16 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd39And69Vo.java | 24 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtilUnsigned.java | 36 pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java | 20 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Up.java | 21 86 files changed, 3,324 insertions(+), 410 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java index 1669ec7..06f3763 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java @@ -5,36 +5,69 @@ public static final String cd_02 = "02" ;//閬ユ祴绔欓摼璺娴� public static final String cd_10 = "10" ;//璁剧疆閬ユ祴绔欑粓绔湴鍧� public static final String cd_21 = "21" ;//璁剧疆鏈嶅姟绔疘P鍜岀鍙� + public static final String cd_35 = "35" ;//璁剧疆鑷姤鍛ㄦ湡 + public static final String cd_36 = "36" ;//璁剧疆涓讳俊閬揑P鍜岀鍙� + public static final String cd_37 = "37" ;//璁剧疆娴侀噺閲囬泦鍛ㄦ湡 + public static final String cd_38 = "38" ;//璁剧疆鐢ㄦ埛浣欓鎶ヨ鍊� + public static final String cd_39 = "39" ;//璁剧疆鐢垫睜鐢靛帇鎶ヨ鍊� + public static final String cd_3A = "3A" ;//璁剧疆闃�闂ㄥ牭杞數娴� + public static final String cd_3B = "3B" ;//璁剧疆闃�闂ㄨ秴鏃舵椂闂� public static final String cd_50 = "50" ;//鏌ヨ閬ユ祴绔欑粓绔湴鍧� - public static final String cd_65 = "65" ;//鏌ヨIP鍜岀鍙� - public static final String cd_66 = "66" ;//鏌ヨ闃�闂ㄧ姸鎬�(闈虫�绘妸璇ュ懡浠よ璁℃垚鍙祴83鍔熻兘鐮佹暟鎹殑鍛戒护浜嗭紝鍥犱负杩欎釜鍛戒护鍥炴墽娌℃湁闃�闂ㄧ姸鎬佹暟鎹煙锛屾墍浠ヨ繖涓懡浠ゅ彧鑳戒綔涓哄彫娴嬪懡浠ょ敤浜�) + public static final String cd_65 = "65" ;//鏌ヨ鑷姤鍛ㄦ湡 + public static final String cd_66 = "66" ;//鏌ヨIP鍜岀鍙� + //public static final String cd_66 = "66" ;//鏌ヨ闃�闂ㄧ姸鎬�(闈虫�绘妸璇ュ懡浠よ璁℃垚鍙祴83鍔熻兘鐮佹暟鎹殑鍛戒护浜嗭紝鍥犱负杩欎釜鍛戒护鍥炴墽娌℃湁闃�闂ㄧ姸鎬佹暟鎹煙锛屾墍浠ヨ繖涓懡浠ゅ彧鑳戒綔涓哄彫娴嬪懡浠ょ敤浜�) + public static final String cd_67 = "67" ;//鏌ヨ娴侀噺閲囬泦鍛ㄦ湡 + public static final String cd_68 = "68" ;//鏌ヨ鐢ㄦ埛浣欓鎶ヨ鍊� + public static final String cd_69 = "69" ;//鏌ヨ鐢垫睜鐢靛帇鎶ヨ鍊� + public static final String cd_6A = "6A" ;//鏌ヨ闃�闂ㄥ牭杞數娴佸�� + public static final String cd_6B = "6B" ;//鏌ヨ闃�闂ㄨ秴鏃舵椂闂� public static final String cd_71 = "71" ;//璁剧疆宸ヤ綔妯″紡锛堟潕澶╄祼鍒跺畾鐨勫崗璁紝褰撳墠鏈疄鐜帮級 public static final String cd_81 = "81" ;//闅忔満鑷姤鎶� public static final String cd_83 = "83" ;//閬ユ祴绔欏紑鍏抽榾鑷姤 public static final String cd_84 = "84" ;//寮�闃�宸ヤ綔鎶� + public static final String cd_91 = "91" ;//娓呯┖鍘嗗彶璁板綍 public static final String cd_92 = "92" ;//閬ユ帶鍚姩闃�闂� public static final String cd_93 = "93" ;//閬ユ帶鍏抽棴闃�闂� public static final String cd_97 = "97" ;//APP杩滅▼寮�闃� public static final String cd_98 = "98" ;//APP杩滅▼鍏抽榾 + public static final String cd_3C = "3C" ;//璁剧疆姘翠环 + public static final String cd_6C = "6C" ;//鏌ヨ姘翠环 + public static final String cd_3D = "3D" ;//璁剧疆榛戝悕鍗� public static final String cd_C0 = "C0" ;//閬ユ祴绔欒嚜鎶ュ疄鏃舵暟鎹� public static String getCodeName(String code) { String name = (code.equals(cd_02) ? "閾捐矾妫�娴�" : (code.equals(cd_10) ? "璁剧疆閬ユ祴绔欑粓绔湴鍧�" : (code.equals(cd_21) ? "璁剧疆IP鍜岀鍙�" : + (code.equals(cd_35) ? "璁剧疆鑷姤鍛ㄦ湡" : + (code.equals(cd_36) ? "璁剧疆IP鍜岀鍙�" : + (code.equals(cd_37) ? "璁剧疆娴侀噺閲囬泦鍛ㄦ湡" : + (code.equals(cd_38) ? "璁剧疆鐢ㄦ埛浣欓鎶ヨ鍊�" : + (code.equals(cd_39) ? "璁剧疆鐢垫睜鐢靛帇鎶ヨ鍊�" : + (code.equals(cd_3A) ? "璁剧疆闃�闂ㄥ牭杞數娴�" : + (code.equals(cd_3B) ? "璁剧疆闃�闂ㄨ秴鏃舵椂闂�" : (code.equals(cd_50) ? "鏌ヨ閬ユ祴绔欑粓绔湴鍧�" : - (code.equals(cd_65) ? "鏌ヨIP鍜岀鍙�" : - (code.equals(cd_66) ? "鏌ヨ闃�闂ㄧ姸鎬�" : + (code.equals(cd_65) ? "鏌ヨ鑷姤鍛ㄦ湡" : + (code.equals(cd_66) ? "鏌ヨIP鍜岀鍙�" : + (code.equals(cd_67) ? "鏌ヨ娴侀噺閲囬泦鍛ㄦ湡" : + (code.equals(cd_68) ? "鏌ヨ鐢ㄦ埛浣欓鎶ヨ鍊�" : + (code.equals(cd_69) ? "鏌ヨ鐢垫睜鐢靛帇鎶ヨ鍊�" : + (code.equals(cd_6A) ? "鏌ヨ闃�闂ㄥ牭杞數娴佸��" : + (code.equals(cd_6B) ? "鏌ヨ闃�闂ㄨ秴鏃舵椂闂�" : (code.equals(cd_71) ? "璁剧疆宸ヤ綔妯″紡" : (code.equals(cd_81) ? "闅忔満鑷姤" : (code.equals(cd_83) ? "寮�鍏抽榾鑷姤" : (code.equals(cd_84) ? "寮�闃�宸ヤ綔鎶�" : + (code.equals(cd_91) ? "娓呯┖鍘嗗彶璁板綍" : (code.equals(cd_92) ? "閬ユ帶鍚姩闃�闂�" : (code.equals(cd_93) ? "閬ユ帶鍏抽棴闃�闂�" : (code.equals(cd_97) ? "APP杩滅▼寮�闃�" : (code.equals(cd_98) ? "PP杩滅▼鍏抽榾" : + (code.equals(cd_3C) ? "璁剧疆姘翠环" : + (code.equals(cd_6C) ? "鏌ヨ姘翠环" : + (code.equals(cd_3D) ? "璁剧疆榛戝悕鍗�" : (code.equals(cd_C0) ? "鑷姤瀹炴椂鏁版嵁" : - ""))))))))))))))) ; + ""))))))))))))))))))))))))))))))) ; return name ; } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java index e9677bb..30df01f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java @@ -81,7 +81,7 @@ */ public String parseRtuAddr(byte[] bs)throws Exception{ String rtuAddrBCD = "" + ByteUtil.BCD2Long_BE(bs, ProtocolConstantV206V1_0_0.rtuAddr1Index_start, ProtocolConstantV206V1_0_0.rtuAddr1Index_end) ; - String rtuAddrStr = "" + ByteUtilUnsigned.bytes2Short_BE(bs, ProtocolConstantV206V1_0_0.rtuAddr2Index_start) ; + String rtuAddrStr = "" + ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.rtuAddr2Index_start) ; while(rtuAddrStr.length() < 5){ rtuAddrStr = "0" + rtuAddrStr ; } @@ -97,8 +97,8 @@ * @throws Exception 寮傚父 */ public String parseRtuAddr(byte[] bs, int index)throws Exception{ - String rtuAddrBCD = "" + ByteUtil.BCD2Long_BE(bs, index, index + 2) ; - String rtuAddrStr = "" + ByteUtilUnsigned.bytes2Short_BE(bs, index + 3) ; + String rtuAddrBCD = "" + ByteUtil.BCD2Long_BE(bs, index, index + 2) ;//鍦板潃鏄ぇ绔ā寮� + String rtuAddrStr = "" + ByteUtilUnsigned.bytes2Short_LE(bs, index + 3) ; while(rtuAddrStr.length() < 5){ rtuAddrStr = "0" + rtuAddrStr ; } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd10Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd10Vo.java index 8209317..4c8c80c 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd10Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd10Vo.java @@ -14,7 +14,7 @@ public String toString(){ StringBuilder sb = new StringBuilder() ; - sb.append(" 璁惧RTU鍦板潃搴旂瓟:\n"); + sb.append(" 璁剧疆RTU鍦板潃搴旂瓟:\n"); sb.append(" 鏂板湴鍧�锛�"); sb.append(newRtuAddr); sb.append("\n"); diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd35And65Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd35And65Vo.java new file mode 100644 index 0000000..b6ad865 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd35And65Vo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:44 + * @LastEditTime 2024/4/10 18:44 + * @Description + */ +@Data +public class DataCd35And65Vo { + public Integer minute ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 璁剧疆(鏌ヨ)鑷姤鍛ㄦ湡搴旂瓟:\n"); + sb.append(" 鍒嗛挓锛�"); + sb.append(minute); + sb.append("\n"); + + return sb.toString() ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd65Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd36Vo.java similarity index 84% copy from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd65Vo.java copy to pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd36Vo.java index 5bda8fd..9f5b6a5 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd65Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd36Vo.java @@ -3,13 +3,13 @@ import lombok.Data; @Data -public class DataCd65Vo { +public class DataCd36Vo { public String ip ;//IP鍦板潃 public Integer port ;//绔彛鍙� public String toString(){ StringBuilder sb = new StringBuilder() ; - sb.append(" 鏌ヨIP鍦板潃鍜岀鍙�:\n"); + sb.append(" 璁剧疆璇P鍦板潃鍜岀鍙�:\n"); sb.append(" IP鍦板潃锛�"); sb.append(ip); sb.append("\n"); diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd37And67Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd37And67Vo.java new file mode 100644 index 0000000..d4cd25b --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd37And67Vo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:44 + * @LastEditTime 2024/4/10 18:44 + * @Description + */ +@Data +public class DataCd37And67Vo { + public Integer second ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 璁剧疆(鏌ヨ)娴侀噺閲囬泦鍛ㄦ湡搴旂瓟:\n"); + sb.append(" 绉掗挓锛�"); + sb.append(second); + sb.append("\n"); + + return sb.toString() ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd38And68Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd38And68Vo.java new file mode 100644 index 0000000..789b18f --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd38And68Vo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:44 + * @LastEditTime 2024/4/10 18:44 + * @Description + */ +@Data +public class DataCd38And68Vo { + public Double remainMoneyAlarm ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 璁剧疆(鏌ヨ)鐢ㄦ埛浣欓鎶ヨ鍊�:\n"); + sb.append(" 浣欓锛�"); + sb.append(remainMoneyAlarm); + sb.append("\n"); + + return sb.toString() ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd39And69Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd39And69Vo.java new file mode 100644 index 0000000..4e13cbe --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd39And69Vo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:44 + * @LastEditTime 2024/4/10 18:44 + * @Description + */ +@Data +public class DataCd39And69Vo { + public Double batteryVoltAlarm ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 璁剧疆(鏌ヨ)鐢垫睜鐢靛帇鎶ヨ鍊�:\n"); + sb.append(" 鐢靛帇锛�"); + sb.append(batteryVoltAlarm); + sb.append("\n"); + + return sb.toString() ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3AAnd6AVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3AAnd6AVo.java new file mode 100644 index 0000000..537a2f5 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3AAnd6AVo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:44 + * @LastEditTime 2024/4/10 18:44 + * @Description + */ +@Data +public class DataCd3AAnd6AVo { + public Double current ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 璁剧疆(鏌ヨ)闃�闂ㄥ牭杞數娴�:\n"); + sb.append(" 鐢垫祦锛�"); + sb.append(current); + sb.append("\n"); + + return sb.toString() ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3BAnd6BVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3BAnd6BVo.java new file mode 100644 index 0000000..51edd19 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3BAnd6BVo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:44 + * @LastEditTime 2024/4/10 18:44 + * @Description + */ +@Data +public class DataCd3BAnd6BVo { + public Integer second ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 璁剧疆(鏌ヨ)闃�闂ㄨ秴鏃舵椂闂�:\n"); + sb.append(" 绉掗挓锛�"); + sb.append(second); + sb.append("\n"); + + return sb.toString() ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3CVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3CVo.java new file mode 100644 index 0000000..0d95119 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3CVo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:44 + * @LastEditTime 2024/4/10 18:44 + * @Description + */ +@Data +public class DataCd3CVo { + public Double price ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 璁剧疆姘翠环搴旂瓟:\n"); + sb.append(" 姘翠环锛�"); + sb.append(price); + sb.append("\n"); + + return sb.toString() ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3DVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3DVo.java new file mode 100644 index 0000000..57c47c3 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd3DVo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:44 + * @LastEditTime 2024/4/10 18:44 + * @Description + */ +@Data +public class DataCd3DVo { + public String icCardNo ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 璁剧疆榛戝悕鍗曞簲绛�:\n"); + sb.append(" 鍗″彿锛�"); + sb.append(icCardNo); + sb.append("\n"); + + return sb.toString() ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd65Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd66Vo.java similarity index 94% rename from pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd65Vo.java rename to pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd66Vo.java index 5bda8fd..fe60eac 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd65Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd66Vo.java @@ -3,7 +3,7 @@ import lombok.Data; @Data -public class DataCd65Vo { +public class DataCd66Vo { public String ip ;//IP鍦板潃 public Integer port ;//绔彛鍙� diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd6CVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd6CVo.java new file mode 100644 index 0000000..7e8bfa2 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd6CVo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:44 + * @LastEditTime 2024/4/10 18:44 + * @Description + */ +@Data +public class DataCd6CVo { + public Double price ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 鏌ヨ姘翠环搴旂瓟:\n"); + sb.append(" 姘翠环锛�"); + sb.append(price); + sb.append("\n"); + + return sb.toString() ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java index 137c49e..628014d 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java @@ -9,20 +9,7 @@ public String rtuAddr ;//RtuAddr - public DataCd02Vo dataCd02Vo;//閾捐矾妫�娴� - public DataCd10Vo dataCd10Vo;//璁剧疆RTU鍦板潃 - public DataCd21Vo dataCd21Vo;//璁剧疆IP鍦板潃 - public DataCd65Vo dataCd65Vo;//鏌ヨIP鍦板潃鍜岀鍙� - public DataCd71Vo dataCd71Vo;//鏌ヨ闃�闂ㄧ姸鎬� - public DataCd81Vo dataCd81Vo;//闅忔満鑷姤鎶� - public DataCd83OpenVo dataCd83OpenVo;//寮�闃�鑷姤 - public DataCd83CloseVo dataCd83CloseVo;//鍏抽榾鑷姤 - public DataCd84Vo dataCd84Vo;//寮�闃�宸ヤ綔鎶� - public DataCd92Vo dataCd92Vo;//寮�闃�搴旂瓟 - public DataCd93Vo dataCd93Vo;//鍏抽榾搴旂瓟 - public DataCd97Vo dataCd97Vo;//APP杩滅▼寮�闃�搴旂瓟 - public DataCd98Vo dataCd98Vo;//APP杩滅▼鍏抽榾搴旂瓟 - public DataCdC0Vo dataCdC0Vo;//缁堢鑷姤瀹炴椂鏁版嵁 + public Object subData ; public String dt ;//閫氫俊涓棿浠朵骇鐢熸敹鎶ユ椂闂�(yyyy-MM-dd hh:mm:ss) @@ -30,47 +17,8 @@ StringBuffer sb = new StringBuffer() ; sb.append(" 鎺у埗鍣ㄥ湴鍧� : " + (rtuAddr==null?"":rtuAddr) + "\n") ; sb.append(" 缁堢鏁版嵁:\n") ; - if(dataCd02Vo != null){ - sb.append(dataCd02Vo.toString()) ; - } - if(dataCd10Vo != null){ - sb.append(dataCd10Vo.toString()) ; - } - if(dataCd21Vo != null){ - sb.append(dataCd21Vo.toString()) ; - } - if(dataCd65Vo != null){ - sb.append(dataCd65Vo.toString()) ; - } - if(dataCd71Vo != null){ - sb.append(dataCd71Vo.toString()) ; - } - if(dataCd81Vo != null){ - sb.append(dataCd81Vo.toString()) ; - } - if(dataCd83OpenVo != null){ - sb.append(dataCd83OpenVo.toString()) ; - } - if(dataCd83CloseVo != null){ - sb.append(dataCd83CloseVo.toString()) ; - } - if(dataCd84Vo != null){ - sb.append(dataCd84Vo.toString()) ; - } - if(dataCd92Vo != null){ - sb.append(dataCd92Vo.toString()) ; - } - if(dataCd93Vo != null){ - sb.append(dataCd93Vo.toString()) ; - } - if(dataCd97Vo != null){ - sb.append(dataCd97Vo.toString()) ; - } - if(dataCd98Vo != null){ - sb.append(dataCd98Vo.toString()) ; - } - if(dataCdC0Vo != null){ - sb.append(dataCdC0Vo.toString()) ; + if(subData != null){ + sb.append(subData.toString()) ; } return sb.toString() ; } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java index a045719..88025f2 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Down.java @@ -79,4 +79,19 @@ return bytes ; } + public static void main(String[] args) throws Exception{ + ParseParamsForDownV1_0_1 p = new ParseParamsForDownV1_0_1() ; + p.commandCode = "02" ; + p.rtuAddr = "9672950001"; + + Cd_02_Down obj = new Cd_02_Down() ; + byte[] bs = obj.doParse(p) ; + + String hex1 = ByteUtil.bytes2Hex(bs,true) ; + String hex2 = ByteUtil.bytes2Hex(bs,false) ; + + System.out.println(hex1); + System.out.println(hex2); + } + } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Up.java index 0586760..c8395db 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_02_Up.java @@ -84,7 +84,7 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd02Vo cdData = new DataCd02Vo() ; - dV1.dataCd02Vo = cdData ; + dV1.subData = cdData ; cdData.status = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1_0_0.dataIndex, 1) ; } } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java index e8eceb9..b37477e 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java @@ -73,10 +73,10 @@ ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; if(para.param == null){ - throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + CodeV1_0_1.cd_10 + "鐨勪笅琛屽懡浠�") ; + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; }else{ index = 0 ; - byte[] bs = new byte[12] ; + byte[] bs = new byte[13] ; String newRtuAddr = (String)para.param ; GlCreate.createRtuAddr(newRtuAddr, bs, index); index += 5 ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Up.java index 30989c7..fb61e3d 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Up.java @@ -57,7 +57,7 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd10Vo cdData = new DataCd10Vo() ; - dV1.dataCd10Vo = cdData ; + dV1.subData = cdData ; cdData.newRtuAddr = new CommonV1_0_1().parseRtuAddr(bs, ProtocolConstantV206V1_0_0.dataIndex) ; } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java index bead542..a12a508 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java @@ -77,10 +77,10 @@ 鍙傛暟鏍煎紡锛� ip1,ip2,ip3,ip4,port */ if(para.param == null){ - throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + CodeV1_0_1.cd_21 + "鐨勪笅琛屽懡浠�") ; + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; }else{ index = 0 ; - byte[] bs = new byte[14] ; + byte[] bs = new byte[13] ; String ipPort = (String)para.param ; String[] ipPorts = ipPort.split(",") ; ByteUtilUnsigned.short2Bytes_LE(bs, (byte) Integer.parseInt(ipPorts[0]), index++); diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Up.java index 7a7948d..b3d5d9f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Up.java @@ -59,7 +59,7 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd21Vo cdData = new DataCd21Vo() ; - dV1.dataCd21Vo = cdData ; + dV1.subData = cdData ; short index = ProtocolConstantV206V1_0_0.dataIndex ; String ip1 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; String ip2 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Down.java new file mode 100644 index 0000000..567ff4c --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Down.java @@ -0,0 +1,99 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:26 + * @LastEditTime 2024/4/10 18:26 + * @Description 璁剧疆姘翠环 + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_35 +}) +public class Cd_35_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[10] ; + Integer minute = (Integer)para.param ; + ByteUtilUnsigned.short2Bytes_LE(bs, minute.shortValue(), index); + index += 2 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Up.java new file mode 100644 index 0000000..20c22f4 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_35_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_35 +}) +public class Cd_35_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_35_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd35And65Vo cdData = new DataCd35And65Vo() ; + dV1.subData = cdData ; + int minute = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.minute = minute; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Down.java new file mode 100644 index 0000000..72c9171 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Down.java @@ -0,0 +1,107 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:26 + * @LastEditTime 2024/4/10 18:26 + * @Description 璁剧疆姘翠环 + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_36 +}) +public class Cd_36_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[14] ; + String ipPort = (String)para.param ; + String[] ipPortGrp = ipPort.split(","); + String[] ip = ipPortGrp[0].split(".") ; + bs[index++] = Byte.parseByte(ip[0]) ; + bs[index++] = Byte.parseByte(ip[2]) ; + bs[index++] = Byte.parseByte(ip[3]) ; + bs[index++] = Byte.parseByte(ip[4]) ; + + ByteUtilUnsigned.short2Bytes_LE(bs, Short.parseShort(ipPortGrp[1]), index); + + index += 2 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Up.java new file mode 100644 index 0000000..7bb568f --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_36_Up.java @@ -0,0 +1,72 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_36 +}) +public class Cd_36_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_36_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd36Vo cdData = new DataCd36Vo() ; + dV1.subData = cdData ; + int index = ProtocolConstantV206V1_0_0.dataIndex ; + int ip1 = ByteUtilUnsigned.byte2Byte(bs, index++) ; + int ip2 = ByteUtilUnsigned.byte2Byte(bs, index++) ; + int ip3 = ByteUtilUnsigned.byte2Byte(bs, index++) ; + int ip4 = ByteUtilUnsigned.byte2Byte(bs, index++) ; + int port = ByteUtilUnsigned.bytes2Short_LE(bs, index++) ; + cdData.ip = ip1 + "." + ip2 + "." + ip3 + "." + ip4; + cdData.port = port ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Down.java new file mode 100644 index 0000000..af6f4ac --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Down.java @@ -0,0 +1,99 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:26 + * @LastEditTime 2024/4/10 18:26 + * @Description 璁剧疆姘翠环 + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_37 +}) +public class Cd_37_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[10] ; + Integer second = (Integer)para.param ; + ByteUtilUnsigned.short2Bytes_LE(bs, second.shortValue(), index); + index += 2 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Up.java new file mode 100644 index 0000000..f06141a --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_37_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_37 +}) +public class Cd_37_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_37_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd37And67Vo cdData = new DataCd37And67Vo() ; + dV1.subData = cdData ; + int second = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.second = second; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Down.java new file mode 100644 index 0000000..a18ca65 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Down.java @@ -0,0 +1,100 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:26 + * @LastEditTime 2024/4/10 18:26 + * @Description 璁剧疆姘翠环 + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_38 +}) +public class Cd_38_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[10] ; + Double remainMoneyAlarmDb = ((Double)para.param) * 100 ; + Integer remainMoneyAlarmInt = remainMoneyAlarmDb.intValue() ; + ByteUtilUnsigned.short2Bytes_LE(bs, remainMoneyAlarmInt.shortValue(), index); + index += 2 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Up.java new file mode 100644 index 0000000..21c9233 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_38_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_38 +}) +public class Cd_38_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_38_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { +// DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; +// DataCd38Vo cdData = new DataCd38Vo() ; +// dV1.subData = cdData ; +// int remainMoneyAlarmInt = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; +// cdData.remainMoneyAlarm = remainMoneyAlarmInt/100.0D; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Down.java new file mode 100644 index 0000000..3686b0e --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Down.java @@ -0,0 +1,100 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:26 + * @LastEditTime 2024/4/10 18:26 + * @Description 璁剧疆姘翠环 + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_39 +}) +public class Cd_39_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[10] ; + Double batteryvoltAlarmDb = ((Double)para.param) * 100 ; + Integer batteryvoltAlarmInt = batteryvoltAlarmDb.intValue() ; + ByteUtilUnsigned.short2Bytes_LE(bs, batteryvoltAlarmInt.shortValue(), index); + index += 2 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Up.java new file mode 100644 index 0000000..a38bed7 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_39_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_39 +}) +public class Cd_39_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_39_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd39And69Vo cdData = new DataCd39And69Vo() ; + dV1.subData = cdData ; + int batteryVoltAlarm = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.batteryVoltAlarm = batteryVoltAlarm/100.0D; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Down.java new file mode 100644 index 0000000..71892c8 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Down.java @@ -0,0 +1,100 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:26 + * @LastEditTime 2024/4/10 18:26 + * @Description 璁剧疆姘翠环 + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_3A +}) +public class Cd_3A_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[11] ; + Double currentDb = ((Double)para.param) * 100 ; + Integer currentInt = currentDb.intValue() ; + ByteUtilUnsigned.int2Bytes_LE(bs, currentInt.shortValue(), index); + index += 3 ;//涓婇潰鏄笁byte鐨勬暟鍊� + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Up.java new file mode 100644 index 0000000..9bb3f9c --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3A_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_3A +}) +public class Cd_3A_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_3A_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd3AAnd6AVo cdData = new DataCd3AAnd6AVo() ; + dV1.subData = cdData ; + Long batteryVoltAlarm = ByteUtilUnsigned.bytes2Int_LE(bs, ProtocolConstantV206V1_0_0.dataIndex, true) ; + cdData.current = batteryVoltAlarm/1000.0D; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Down.java new file mode 100644 index 0000000..2947121 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Down.java @@ -0,0 +1,99 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:26 + * @LastEditTime 2024/4/10 18:26 + * @Description 璁剧疆姘翠环 + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_3B +}) +public class Cd_3B_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[10] ; + Integer second = (Integer)para.param; + ByteUtilUnsigned.short2Bytes_LE(bs, second.shortValue(), index); + index += 2 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Up.java new file mode 100644 index 0000000..f74416c --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3B_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_3B +}) +public class Cd_3B_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_3B_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd3BAnd6BVo cdData = new DataCd3BAnd6BVo() ; + dV1.subData = cdData ; + int second = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.second = second; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java new file mode 100644 index 0000000..9c757f8 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Down.java @@ -0,0 +1,100 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:26 + * @LastEditTime 2024/4/10 18:26 + * @Description 璁剧疆姘翠环 + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_3C +}) +public class Cd_3C_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[10] ; + Double priceDb = ((Double)para.param) * 100 ; + Integer priceInt = priceDb.intValue() ; + ByteUtilUnsigned.short2Bytes_LE(bs, priceInt.shortValue(), index); + index += 2 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Up.java new file mode 100644 index 0000000..77deb9e --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3C_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_3C +}) +public class Cd_3C_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_3C_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd3CVo cdData = new DataCd3CVo() ; + dV1.subData = cdData ; + int priceInt = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.price = priceInt/100.0D; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Down.java new file mode 100644 index 0000000..37985d6 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Down.java @@ -0,0 +1,100 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:51 + * @LastEditTime 2024/4/10 18:51 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_3D +}) +public class Cd_3D_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[12] ; + String icCardNo = ((String)para.param) ; + Integer icCardNoInt = Integer.valueOf(icCardNo); + ByteUtilUnsigned.int2Bytes_LE(bs, icCardNoInt, index); + index += 4 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Up.java new file mode 100644 index 0000000..7e4b381 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_3D_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_3D +}) +public class Cd_3D_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_3D_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd3DVo cdData = new DataCd3DVo() ; + dV1.subData = cdData ; + Long v = ByteUtilUnsigned.bytes2Int_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.icCardNo = "" + v; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Down.java index a9e4b03..b84d33e 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Down.java @@ -10,16 +10,14 @@ /** * @Author liurunyu - * @Date 2024/01/13 10:47 - * @LastEditTime 2024/01/13 10:47 + * @Date 2024/4/10 18:51 + * @LastEditTime 2024/4/10 18:51 * @Description */ @AnnotationCodeDown(ifAny={ CodeV1_0_1.cd_65 }) public class Cd_65_Down implements CodeParse { - - //private static Logger log = LogManager.getLogger(Cd_66_Down.class); @Override public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { @@ -85,4 +83,4 @@ return bytes ; } -} +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Up.java index b90809d..8df865f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_65_Up.java @@ -8,14 +8,13 @@ /** * @Author liurunyu - * @Date 2024/01/13 10:40 - * @LastEditTime 2024/01/13 10:40 + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 * @Description */ @AnnotationCodeUp(ifAny={ CodeV1_0_1.cd_65 }) -@SuppressWarnings("unused") public class Cd_65_Up implements CodeParse { private static final Logger log = LogManager.getLogger(Cd_65_Up.class); @@ -58,18 +57,10 @@ */ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; - DataCd65Vo cdData = new DataCd65Vo() ; - dV1.dataCd65Vo = cdData ; - short index = ProtocolConstantV206V1_0_0.dataIndex ; - String ip1 = "" + ByteUtilUnsigned.byte2Byte(bs, index++) ; - String ip2 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; - String ip3 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; - String ip4 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; - - cdData.ip = ip1 + "." + ip2 + "." + ip3 + "." + ip4 ; - - String port = "" +ByteUtilUnsigned.bytes2Short_LE(bs, index++) ; - cdData.port = Integer.parseInt(port) ; + DataCd35And65Vo cdData = new DataCd35And65Vo() ; + dV1.subData = cdData ; + int minute = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.minute =minute ; } } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java index 420acb8..b84072d 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java @@ -10,8 +10,8 @@ /** * @Author liurunyu - * @Date 2023/12/23 9:35 - * @LastEditTime 2023/12/23 9:35 + * @Date 2024/01/13 10:47 + * @LastEditTime 2024/01/13 10:47 * @Description */ @AnnotationCodeDown(ifAny={ @@ -74,13 +74,7 @@ ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; - if(para.param == null){ - throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + CodeV1_0_1.cd_66 + "鐨勪笅琛屽懡浠�") ; - }else{ - byte flag = ((Integer)para.param).byteValue() ; - byte[] bs = new byte[]{flag} ; - bytes = ByteUtil.bytesMerge(bsHead, bs) ; - } + bytes = bsHead ; GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Up.java index d30dc83..17a9964 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Up.java @@ -2,13 +2,14 @@ import com.dy.common.mw.protocol.*; import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** * @Author liurunyu - * @Date 2023/12/23 9:48 - * @LastEditTime 2023/12/23 9:48 + * @Date 2024/01/13 10:40 + * @LastEditTime 2024/01/13 10:40 * @Description */ @AnnotationCodeUp(ifAny={ @@ -56,6 +57,19 @@ * @throws Exception 寮傚父 */ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd66Vo cdData = new DataCd66Vo() ; + dV1.subData = cdData ; + short index = ProtocolConstantV206V1_0_0.dataIndex ; + String ip1 = "" + ByteUtilUnsigned.byte2Byte(bs, index++) ; + String ip2 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; + String ip3 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; + String ip4 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; + + cdData.ip = ip1 + "." + ip2 + "." + ip3 + "." + ip4 ; + + String port = "" +ByteUtilUnsigned.bytes2Short_LE(bs, index++) ; + cdData.port = Integer.parseInt(port) ; } } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Down.java new file mode 100644 index 0000000..2b0f2fe --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Down.java @@ -0,0 +1,86 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:51 + * @LastEditTime 2024/4/10 18:51 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_67 +}) +public class Cd_67_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + bytes = bsHead ; + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Up.java new file mode 100644 index 0000000..7bd2a88 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_67_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_67 +}) +public class Cd_67_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_67_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd37And67Vo cdData = new DataCd37And67Vo() ; + dV1.subData = cdData ; + int second = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.second =second ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Down.java new file mode 100644 index 0000000..28e2fae --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Down.java @@ -0,0 +1,86 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:51 + * @LastEditTime 2024/4/10 18:51 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_68 +}) +public class Cd_68_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + bytes = bsHead ; + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Up.java new file mode 100644 index 0000000..5ae92ad --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_68_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_68 +}) +public class Cd_68_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_68_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd38And68Vo cdData = new DataCd38And68Vo() ; + dV1.subData = cdData ; + int alarm = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.remainMoneyAlarm = alarm/100.0D ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Down.java new file mode 100644 index 0000000..621c3b2 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Down.java @@ -0,0 +1,86 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:51 + * @LastEditTime 2024/4/10 18:51 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_69 +}) +public class Cd_69_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + bytes = bsHead ; + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Up.java new file mode 100644 index 0000000..032e924 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_69_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_69 +}) +public class Cd_69_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_69_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd39And69Vo cdData = new DataCd39And69Vo() ; + dV1.subData = cdData ; + int alarm = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.batteryVoltAlarm = alarm/100.0D ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Down.java new file mode 100644 index 0000000..8e538a3 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Down.java @@ -0,0 +1,86 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:51 + * @LastEditTime 2024/4/10 18:51 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_6A +}) +public class Cd_6A_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + bytes = bsHead ; + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Up.java new file mode 100644 index 0000000..ef81124 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6A_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_6A +}) +public class Cd_6A_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_6A_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd3AAnd6AVo cdData = new DataCd3AAnd6AVo() ; + dV1.subData = cdData ; + Long alarm = ByteUtilUnsigned.bytes2Int_LE(bs, ProtocolConstantV206V1_0_0.dataIndex, true) ; + cdData.current = alarm/1000.0D ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Down.java new file mode 100644 index 0000000..d681e0e --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Down.java @@ -0,0 +1,86 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:51 + * @LastEditTime 2024/4/10 18:51 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_6B +}) +public class Cd_6B_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + bytes = bsHead ; + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Up.java new file mode 100644 index 0000000..3aacc9c --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6B_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_6B +}) +public class Cd_6B_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_6B_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd3BAnd6BVo cdData = new DataCd3BAnd6BVo() ; + dV1.subData = cdData ; + int alarm = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.second = alarm ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Down.java new file mode 100644 index 0000000..8e7a7a3 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Down.java @@ -0,0 +1,87 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:51 + * @LastEditTime 2024/4/10 18:51 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_6C +}) +public class Cd_6C_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + bytes = bsHead ; + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Up.java new file mode 100644 index 0000000..e197445 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_6C_Up.java @@ -0,0 +1,66 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:42 + * @LastEditTime 2024/4/10 18:42 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_6C +}) +public class Cd_6C_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_6C_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd6CVo cdData = new DataCd6CVo() ; + dV1.subData = cdData ; + int priceInt = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + cdData.price = priceInt/100.0D; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Up.java index 69e36a4..e249ac8 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Up.java @@ -52,7 +52,7 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd71Vo cdData = new DataCd71Vo() ; - dV1.dataCd71Vo = cdData ; + dV1.subData = cdData ; cdData.state = bs[ProtocolConstantV206V1_0_0.dataIndex] ; if(cdData.state == 0){ cdData.stateName = "闃�闂ㄥ叧闂�" ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Up.java index eec3559..de67039 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_81_Up.java @@ -84,7 +84,7 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd81Vo cdData = new DataCd81Vo() ; - dV1.dataCd81Vo = cdData ; + dV1.subData = cdData ; short index = ProtocolConstantV206V1_0_0.dataIndex ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java index 6df3eeb..fd50a67 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java @@ -92,7 +92,7 @@ private void doParseOpen(byte opType, byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd83OpenVo cdData = new DataCd83OpenVo() ; - dV1.dataCd83OpenVo = cdData ; + dV1.subData = cdData ; cdData.type = opType ; @@ -150,7 +150,7 @@ private void doParseClose(byte opType, byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd83CloseVo cdData = new DataCd83CloseVo() ; - dV1.dataCd83CloseVo = cdData ; + dV1.subData = cdData ; cdData.type = opType ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java index 015cbac..2b7f0b1 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Up.java @@ -84,7 +84,7 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd84Vo cdData = new DataCd84Vo() ; - dV1.dataCd84Vo = cdData ; + dV1.subData = cdData ; short index = ProtocolConstantV206V1_0_0.dataIndex ; //鐢ㄦ按鎴峰彿鏁版嵁鏍煎紡锛�5瀛楄妭BCD鐮佷綆浣嶅湪鍓嶉珮浣嶅湪鍚庛�� diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Down.java new file mode 100644 index 0000000..279f96c --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Down.java @@ -0,0 +1,96 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2024/4/10 18:26 + * @LastEditTime 2024/4/10 18:26 + * @Description 璁剧疆姘翠环 + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_91 +}) +public class Cd_91_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + 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涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[8] ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Up.java new file mode 100644 index 0000000..5ed2cb0 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_91_Up.java @@ -0,0 +1,55 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_91 +}) +@SuppressWarnings("unused") +public class Cd_91_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_91_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + 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 { + //娌℃湁鍏蜂綋鏁版嵁 + } +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Up.java index cb5ea08..b19a7d1 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Up.java @@ -59,7 +59,7 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd92Vo cdData = new DataCd92Vo() ; - dV1.dataCd92Vo = cdData ; + dV1.subData = cdData ; String bin = ByteUtil.byte2Binary(bs[ProtocolConstantV206V1_0_0.dataIndex]); if(bin.startsWith("1010")){ cdData.success = true ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Up.java index 8b21185..77b7dc5 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Up.java @@ -59,7 +59,7 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd93Vo cdData = new DataCd93Vo() ; - dV1.dataCd93Vo = cdData ; + dV1.subData = cdData ; String bin = ByteUtil.byte2Binary(bs[ProtocolConstantV206V1_0_0.dataIndex]); if(bin.startsWith("1010")){ cdData.success = true ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java index 636e274..baaa114 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Down.java @@ -78,11 +78,11 @@ */ String param = (String)para.param ; if(param == null || param.trim().equals("")){ - throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + CodeV1_0_1.cd_97 + "鐨勪笅琛屽懡浠�") ; + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; }else{ String[] params = ((String)para.param).split(",") ; if(params == null || params.length != 3){ - throw new Exception("鍛戒护鍙傛暟鏁版嵁涓嶆纭紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + CodeV1_0_1.cd_97 + "鐨勪笅琛屽懡浠�") ; + throw new Exception("鍛戒护鍙傛暟鏁版嵁涓嶆纭紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; }else{ byte index1 = 0 ; byte[] bs = new byte[11] ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Up.java index b2ccb2b..78a5b61 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_97_Up.java @@ -59,7 +59,7 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd97Vo cdData = new DataCd97Vo() ; - dV1.dataCd97Vo = cdData ; + dV1.subData = cdData ; //铏氭嫙鍗″彿 cdData.cardNo = ByteUtil.BCD2String_LE(bs, ProtocolConstantV206V1_0_0.dataIndex, ProtocolConstantV206V1_0_0.dataIndex+4) ; if(bs[ProtocolConstantV206V1_0_0.dataIndex + 5] == (byte)0xAA){ diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java index 9221960..a3d4f8b 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Down.java @@ -77,7 +77,7 @@ 鍙傛暟鏍煎紡锛� 铏氭嫙鍗″彿 */ if(para.param == null ||((String)para.param).trim().equals("")){ - throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + CodeV1_0_1.cd_98 + "鐨勪笅琛屽懡浠�") ; + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + para.commandCode + "鐨勪笅琛屽懡浠�") ; }else{ byte[] bs = new byte[5] ; ByteUtil.string2BCD_LE(bs, ((String)para.param).trim(), 0) ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Up.java index 8d578ba..e35c2af 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_98_Up.java @@ -59,7 +59,7 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCd98Vo cdData = new DataCd98Vo() ; - dV1.dataCd98Vo = cdData ; + dV1.subData = cdData ; //铏氭嫙鍗″彿 cdData.cardNo = ByteUtil.BCD2String_LE(bs, ProtocolConstantV206V1_0_0.dataIndex, ProtocolConstantV206V1_0_0.dataIndex+4) ; if(bs[ProtocolConstantV206V1_0_0.dataIndex + 5] == (byte)0xAA){ diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Up.java index 67f3520..8143d3c 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Up.java @@ -84,7 +84,7 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCdC0Vo cdData = new DataCdC0Vo() ; - dV1.dataCdC0Vo = cdData ; + dV1.subData = cdData ; boolean hasWaterAmount = false ;//鏄惁鏈夋祦閲忔暟鎹� boolean hasWaterPress = false ;//鏄惁鏈夋按鍘嬫暟鎹� @@ -196,13 +196,13 @@ tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; index++ ; cdData.batteryVolt += tpInt; - //澶槼鑳界數鍘嬶細4瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~99.99锛屽崟浣嶄负V銆� - tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; - index++ ; - cdData.sunVolt += tpInt/100.0 ; - tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; - index++ ; - cdData.sunVolt += tpInt; +// //澶槼鑳界數鍘嬶細4瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~99.99锛屽崟浣嶄负V銆� +// tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; +// index++ ; +// cdData.sunVolt += tpInt/100.0 ; +// tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; +// index++ ; +// cdData.sunVolt += tpInt; } if(hasSignal){ //淇″彿寮哄害锛�1瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~99銆� diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java index 21e888e..ee77255 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java @@ -44,7 +44,7 @@ index++ ; dt = ByteUtil.BCD2String_BE(bs, index, index) + " " + dt ;//鏃� index++ ; - bs[index] = (byte)(bs[index] & 0x10); + //bs[index] = (byte)(bs[index] & 0x10); dt = ByteUtil.BCD2String_BE(bs, index, index) + "-" + dt ;//鏈� index++ ; dt = "20" + ByteUtil.BCD2String_BE(bs, index, index) + "-" + dt ;//骞� diff --git "a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/\350\257\264\346\230\216.txt" "b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/\350\257\264\346\230\216.txt" new file mode 100644 index 0000000..4f9010c --- /dev/null +++ "b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/\350\257\264\346\230\216.txt" @@ -0,0 +1,7 @@ +闈虫�荤鑱屽墠锛屽簲鍏冭皨浜屾湡椤圭洰瑕佹眰锛堟収鍥撅級锛屽仛浜嗛�氫俊鍗忚淇敼锛� +鍦ㄤ粬绂昏亴鍚庯紝浠庨煩鏈堝寰楀埌鏈�鏂板崗璁紝骞跺仛浜嗛儴鍒嗗崗璁蒋浠跺疄鐜颁慨鏀癸紝 +鍙戠幇鏂板崗璁腑鏈変竴浜涘崗璁畾涔夋湁閲嶅锛屼篃鏈夐敊璇殑锛屾墍浠ヨ繖鐗堟湰鍗忚鏈叏閮ㄥ疄鐜帮紝 +浣嗗疄鐜扮殑閮ㄥ垎鍙互鐢ㄦ潵娴嬭瘯娴嬫帶涓�浣撻榾锛堜笌娈靛織寮轰竴璧锋祴璇曡繃锛夈�� +鐩墠鎯呭喌涓嬶紝杩欑増鏈崗璁疄鐜颁笉鑳藉簲鐢ㄤ簬瀹為檯椤圭洰涓紝濡傛灉蹇呴』瀹炵幇锛� +杩橀渶瑕佺粨鍚堢‖浠跺崗璁叿浣撳疄鐜板唴瀹瑰啀瀹炵幇閫氫俊涓棿浠剁殑鍗忚瑙f瀽涓庢瀯閫犻儴鍒嗭紝 +杩橀渶瑕佸疄鐜颁笂琛屾暟鎹鐞嗕换鍔℃爲閮ㄥ垎銆� \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/po/BasePo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/po/BasePo.java index 67a77d9..438870e 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/po/BasePo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/po/BasePo.java @@ -2,10 +2,8 @@ import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Data; import org.apache.ibatis.type.JdbcType; -import java.io.Serializable; import java.util.Date; /** diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtilUnsigned.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtilUnsigned.java index 8635450..eda37b9 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtilUnsigned.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtilUnsigned.java @@ -131,6 +131,42 @@ throw new Exception("byte2Int鏃舵暟缁勮秺鐣�"); } } + + /** + * 灏忕妯″紡銆婃暟鎹綆浣嶅湪鏁扮粍浣庡瓧鑺傘�� + * 涓庢柟娉昩ytes2Int绠楁硶涓�鏍凤紝鍙槸鎶婇『搴忓弽杩囨潵 + * @param bs 瀛楄妭鏁扮粍 + * @param from 瀛楄妭鏁扮粍璧峰浣嶇疆 + * @param has3Byte 鏄惁鍖呭惈鏁版嵁涓嬫爣涓�3鐨勫瓧鑺傦紝濡傛灉涓嶅寘鍚疄闄呭鐞嗙殑鏄�3瀛楄妭鐨勬暣鏁� + * @return + */ + public static long bytes2Int_LE(byte[] bs, int from, boolean has3Byte) throws Exception { + boolean b = isOutOfArrLength(bs.length, (from - 1) + 4); + if (!b) { + long s = 0; + long s0 = bs[from + 0] & 0xFF ;// 鏁版嵁鐨勬渶浣庝綅鍦ㄤ綆瀛楄妭 + long s1 = bs[from + 1] & 0xFF ; + long s2 = bs[from + 2] & 0xFF ; + long s3 = 0L ; + if(!has3Byte){ + s3 = bs[from + 3] & 0xFF ; + } + + + // S0涓嶅彉 + s1 <<= 8; + s2 <<= 16; + s3 <<= 24; + s = s0 | s1 | s2 | s3; + if(s < 0){ + //s = Integer.MAX_VALUE -s ; + s = Integer.MAX_VALUE * 2 + 1 + s + 1 ; + } + return s; + } else { + throw new Exception("byte2Int鏃舵暟缁勮秺鐣�"); + } + } /** * 澶х妯″紡銆婃暟鎹綆浣嶅湪鏁扮粍楂樺瓧鑺傘�� * 鏃犵鍙穝hort绫诲瀷杞崲鎴�2浣峛yte鏁扮粍 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CRC8_for_2_0.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CRC8_for_2_0.java index 047c0d7..1e8ba6b 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CRC8_for_2_0.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CRC8_for_2_0.java @@ -4,18 +4,34 @@ public class CRC8_for_2_0 { @SuppressWarnings("unused") +// public int CRC8(byte[] b, int from , int end){ +// int crc = 0; +// for(int i = from ; i <= end ; i++){ +// crc = crc ^ (b[i]); +// for(int j = 0; j < 8; j++) { +// if((crc & 0x80)!=0) { +// crc ^= 0xe5; +// } +// crc *= 2; +// } +// } +// return crc; +// } + public int CRC8(byte[] b, int from , int end){ - int crc = 0; - for(int i = from ; i <= end ; i++){ - crc = crc ^ (b[i]); - for(int j = 0; j < 8; j++) { - if((crc & 0x80)!=0) { - crc ^= 0xe5; - } - crc *= 2; + int crc = 0; + for(int i = from ; i <= end ; i++){ + crc = crc ^ (b[i]); + for(int j = 0; j < 8; j++) { + if((crc & 0x80)!=0) { + crc *= 2; + crc ^= 0xe5; + }else{ + crc *= 2; + } } - } - return crc; - } + } + return crc; + } } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/PipIrrMwAcceptApplication.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/PipIrrMwAcceptApplication.java index cfd1eef..ac5fdb3 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/PipIrrMwAcceptApplication.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/PipIrrMwAcceptApplication.java @@ -19,7 +19,7 @@ com.dy.common.apiDoc.SpringApiConfig.class }) }) //@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.aceMw"}) -@MapperScan(basePackages={"com.dy.pipIrrGlobal.test","com.dy.pipIrrGlobal.daoRm"}) +@MapperScan(basePackages={"com.dy.pipIrrGlobal"}) public class PipIrrMwAcceptApplication implements CommandLineRunner { public static void main(String[] args) { diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TkReceive.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TkReceive.java index 80604c5..36a4077 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TkReceive.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/TkReceive.java @@ -21,7 +21,7 @@ log.error("涓ラ噸閿欒锛孯TU涓婅鏁版嵁涓虹┖锛�" ); }else{ if(data instanceof Data){ - this.toNextTasks(data); + //this.toNextTasks(data); }else{ log.error("涓ラ噸閿欒锛岃鏁版嵁绫诲瀷锛�" + data.getClass().getName() + "锛夛紝鎺ユ敹鏁版嵁浠诲姟杩樻湭瀹炵幇锛�" ); } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/dbSv/RtuSv.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/dbSv/RtuSv.java index 1d979bf..66ee847 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/dbSv/RtuSv.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/dbSv/RtuSv.java @@ -14,156 +14,156 @@ @Service() public class RtuSv { - @Autowired - public TestPo0Mapper dao0 ; - @Autowired - public TestPo1Mapper dao1 ; - @Autowired - public TestPo2Mapper dao2 ; - @Autowired - public TestPo3Mapper dao3 ; - @Autowired - public TestPo4Mapper dao4 ; - @Autowired - public TestPo5Mapper dao5 ; - @Autowired - public TestPo6Mapper dao6 ; - @Autowired - public TestPo7Mapper dao7 ; - @Autowired - public TestPo8Mapper dao8 ; - @Autowired - public TestPo9Mapper dao9 ; - - @Autowired - @Lazy - private RtuSv sv ; - - public int save(Data data){ - int count = 0 ; - if(data != null && data.getSubData() != null){ - Object obj = data.getSubData() ; - if(obj != null && obj instanceof DataV1_0_1){ - DataV1_0_1 dataV1_0_1 = (DataV1_0_1)obj ; - if(dataV1_0_1 != null && dataV1_0_1.dataCdC0Vo != null){ - //瑙乭ttps://blog.csdn.net/qq_32590703/article/details/109320381 - //this.save0(dataV1_0_1)杩欑璋冪敤鏂规硶save0锛宻ave0涓婄殑娉ㄨВ涓嶇敓鏁堬紝鍥犱负閲囩敤AOP鍚庯紝浼氱敓浜т唬鐞嗙被鏉ヨ繍琛� - //count += ((RtuSv)AopContext.currentProxy()).save0(dataV1_0_1); - //count += ((RtuSv)AopContext.currentProxy()).save1(dataV1_0_1); - - count += sv.save0(dataV1_0_1); - count += sv.save1(dataV1_0_1); - count += sv.save2(dataV1_0_1); - count += sv.save3(dataV1_0_1); - count += sv.save4(dataV1_0_1); - count += sv.save5(dataV1_0_1); - count += sv.save6(dataV1_0_1); - count += sv.save7(dataV1_0_1); - count += sv.save8(dataV1_0_1); - count += sv.save9(dataV1_0_1); - } - } - } - return count ; - } - - @DataSourceSingle() - @Transactional - public int save0(DataV1_0_1 dataV1_0_1){ - TestPo0 po = new TestPo0() ; - po.rtuAddr = dataV1_0_1.rtuAddr ; - po.dt = new Date() ; - po.content = dataV1_0_1.dataCdC0Vo.toString() ; - return dao0.putin(po) ; - } - - @DataSourceSingle() - @Transactional - public int save1(DataV1_0_1 dataV1_0_1){ - TestPo1 po = new TestPo1() ; - po.rtuAddr = dataV1_0_1.rtuAddr ; - po.dt = new Date() ; - po.content = dataV1_0_1.dataCdC0Vo.toString() ; - return dao1.putin(po) ; - } - - @DataSourceSingle() - @Transactional - public int save2(DataV1_0_1 dataV1_0_1){ - TestPo2 po = new TestPo2() ; - po.rtuAddr = dataV1_0_1.rtuAddr ; - po.dt = new Date() ; - po.content = dataV1_0_1.dataCdC0Vo.toString() ; - return dao2.putin(po) ; - } - - @DataSourceSingle() - @Transactional - public int save3(DataV1_0_1 dataV1_0_1){ - TestPo3 po = new TestPo3() ; - po.rtuAddr = dataV1_0_1.rtuAddr ; - po.dt = new Date() ; - po.content = dataV1_0_1.dataCdC0Vo.toString() ; - return dao3.putin(po) ; - } - - @DataSourceSingle() - @Transactional - public int save4(DataV1_0_1 dataV1_0_1){ - TestPo4 po = new TestPo4() ; - po.rtuAddr = dataV1_0_1.rtuAddr ; - po.dt = new Date() ; - po.content = dataV1_0_1.dataCdC0Vo.toString() ; - return dao4.putin(po) ; - } - - @DataSourceSingle() - @Transactional - public int save5(DataV1_0_1 dataV1_0_1){ - TestPo5 po = new TestPo5() ; - po.rtuAddr = dataV1_0_1.rtuAddr ; - po.dt = new Date() ; - po.content = dataV1_0_1.dataCdC0Vo.toString() ; - return dao5.putin(po) ; - } - - @DataSourceSingle() - @Transactional - public int save6(DataV1_0_1 dataV1_0_1){ - TestPo6 po = new TestPo6() ; - po.rtuAddr = dataV1_0_1.rtuAddr ; - po.dt = new Date() ; - po.content = dataV1_0_1.dataCdC0Vo.toString() ; - return dao6.putin(po) ; - } - - @DataSourceSingle() - @Transactional - public int save7(DataV1_0_1 dataV1_0_1){ - TestPo7 po = new TestPo7() ; - po.rtuAddr = dataV1_0_1.rtuAddr ; - po.dt = new Date() ; - po.content = dataV1_0_1.dataCdC0Vo.toString() ; - return dao7.putin(po) ; - } - - @DataSourceSingle() - @Transactional - public int save8(DataV1_0_1 dataV1_0_1){ - TestPo8 po = new TestPo8() ; - po.rtuAddr = dataV1_0_1.rtuAddr ; - po.dt = new Date() ; - po.content = dataV1_0_1.dataCdC0Vo.toString() ; - return dao8.putin(po) ; - } - - @DataSourceSingle() - @Transactional - public int save9(DataV1_0_1 dataV1_0_1){ - TestPo9 po = new TestPo9() ; - po.rtuAddr = dataV1_0_1.rtuAddr ; - po.dt = new Date() ; - po.content = dataV1_0_1.dataCdC0Vo.toString() ; - return dao9.putin(po) ; - } +// @Autowired +// public TestPo0Mapper dao0 ; +// @Autowired +// public TestPo1Mapper dao1 ; +// @Autowired +// public TestPo2Mapper dao2 ; +// @Autowired +// public TestPo3Mapper dao3 ; +// @Autowired +// public TestPo4Mapper dao4 ; +// @Autowired +// public TestPo5Mapper dao5 ; +// @Autowired +// public TestPo6Mapper dao6 ; +// @Autowired +// public TestPo7Mapper dao7 ; +// @Autowired +// public TestPo8Mapper dao8 ; +// @Autowired +// public TestPo9Mapper dao9 ; +// +// @Autowired +// @Lazy +// private RtuSv sv ; +// +// public int save(Data data){ +// int count = 0 ; +// if(data != null && data.getSubData() != null){ +// Object obj = data.getSubData() ; +// if(obj != null && obj instanceof DataV1_0_1){ +// DataV1_0_1 dataV1_0_1 = (DataV1_0_1)obj ; +// if(dataV1_0_1 != null && dataV1_0_1.dataCdC0Vo != null){ +// //瑙乭ttps://blog.csdn.net/qq_32590703/article/details/109320381 +// //this.save0(dataV1_0_1)杩欑璋冪敤鏂规硶save0锛宻ave0涓婄殑娉ㄨВ涓嶇敓鏁堬紝鍥犱负閲囩敤AOP鍚庯紝浼氱敓浜т唬鐞嗙被鏉ヨ繍琛� +// //count += ((RtuSv)AopContext.currentProxy()).save0(dataV1_0_1); +// //count += ((RtuSv)AopContext.currentProxy()).save1(dataV1_0_1); +// +// count += sv.save0(dataV1_0_1); +// count += sv.save1(dataV1_0_1); +// count += sv.save2(dataV1_0_1); +// count += sv.save3(dataV1_0_1); +// count += sv.save4(dataV1_0_1); +// count += sv.save5(dataV1_0_1); +// count += sv.save6(dataV1_0_1); +// count += sv.save7(dataV1_0_1); +// count += sv.save8(dataV1_0_1); +// count += sv.save9(dataV1_0_1); +// } +// } +// } +// return count ; +// } +// +// @DataSourceSingle() +// @Transactional +// public int save0(DataV1_0_1 dataV1_0_1){ +// TestPo0 po = new TestPo0() ; +// po.rtuAddr = dataV1_0_1.rtuAddr ; +// po.dt = new Date() ; +// po.content = dataV1_0_1.dataCdC0Vo.toString() ; +// return dao0.putin(po) ; +// } +// +// @DataSourceSingle() +// @Transactional +// public int save1(DataV1_0_1 dataV1_0_1){ +// TestPo1 po = new TestPo1() ; +// po.rtuAddr = dataV1_0_1.rtuAddr ; +// po.dt = new Date() ; +// po.content = dataV1_0_1.dataCdC0Vo.toString() ; +// return dao1.putin(po) ; +// } +// +// @DataSourceSingle() +// @Transactional +// public int save2(DataV1_0_1 dataV1_0_1){ +// TestPo2 po = new TestPo2() ; +// po.rtuAddr = dataV1_0_1.rtuAddr ; +// po.dt = new Date() ; +// po.content = dataV1_0_1.dataCdC0Vo.toString() ; +// return dao2.putin(po) ; +// } +// +// @DataSourceSingle() +// @Transactional +// public int save3(DataV1_0_1 dataV1_0_1){ +// TestPo3 po = new TestPo3() ; +// po.rtuAddr = dataV1_0_1.rtuAddr ; +// po.dt = new Date() ; +// po.content = dataV1_0_1.dataCdC0Vo.toString() ; +// return dao3.putin(po) ; +// } +// +// @DataSourceSingle() +// @Transactional +// public int save4(DataV1_0_1 dataV1_0_1){ +// TestPo4 po = new TestPo4() ; +// po.rtuAddr = dataV1_0_1.rtuAddr ; +// po.dt = new Date() ; +// po.content = dataV1_0_1.dataCdC0Vo.toString() ; +// return dao4.putin(po) ; +// } +// +// @DataSourceSingle() +// @Transactional +// public int save5(DataV1_0_1 dataV1_0_1){ +// TestPo5 po = new TestPo5() ; +// po.rtuAddr = dataV1_0_1.rtuAddr ; +// po.dt = new Date() ; +// po.content = dataV1_0_1.dataCdC0Vo.toString() ; +// return dao5.putin(po) ; +// } +// +// @DataSourceSingle() +// @Transactional +// public int save6(DataV1_0_1 dataV1_0_1){ +// TestPo6 po = new TestPo6() ; +// po.rtuAddr = dataV1_0_1.rtuAddr ; +// po.dt = new Date() ; +// po.content = dataV1_0_1.dataCdC0Vo.toString() ; +// return dao6.putin(po) ; +// } +// +// @DataSourceSingle() +// @Transactional +// public int save7(DataV1_0_1 dataV1_0_1){ +// TestPo7 po = new TestPo7() ; +// po.rtuAddr = dataV1_0_1.rtuAddr ; +// po.dt = new Date() ; +// po.content = dataV1_0_1.dataCdC0Vo.toString() ; +// return dao7.putin(po) ; +// } +// +// @DataSourceSingle() +// @Transactional +// public int save8(DataV1_0_1 dataV1_0_1){ +// TestPo8 po = new TestPo8() ; +// po.rtuAddr = dataV1_0_1.rtuAddr ; +// po.dt = new Date() ; +// po.content = dataV1_0_1.dataCdC0Vo.toString() ; +// return dao8.putin(po) ; +// } +// +// @DataSourceSingle() +// @Transactional +// public int save9(DataV1_0_1 dataV1_0_1){ +// TestPo9 po = new TestPo9() ; +// po.rtuAddr = dataV1_0_1.rtuAddr ; +// po.dt = new Date() ; +// po.content = dataV1_0_1.dataCdC0Vo.toString() ; +// return dao9.putin(po) ; +// } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java index 27cb380..9bae384 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java @@ -39,23 +39,23 @@ if(dV1_0_1 != null){ //dV1_0_1.dataCd81Vo 涓� dV1_0_1.dataCdC0Vo 涓嶄細鍚屾椂鏈夊�� try{ - if(dV1_0_1.dataCd81Vo != null){ - if(dV1_0_1.dataCd81Vo.alarmVo != null || dV1_0_1.dataCd81Vo.stateVo != null){ - Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; - DbSv sv = (DbSv)objs[0] ; - PrController controller = (PrController)objs[1] ; - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1.dataCd81Vo.rtuDt, dV1_0_1, dV1_0_1.dataCd81Vo.alarmVo, dV1_0_1.dataCd81Vo.stateVo) ; - this.saveHistory(sv, controller, d.getRtuAddr(), dV1_0_1.dataCd81Vo.rtuDt, dV1_0_1, dV1_0_1.dataCd81Vo.alarmVo, dV1_0_1.dataCd81Vo.stateVo) ; - } - } else if(dV1_0_1.dataCdC0Vo != null){ - if(dV1_0_1.dataCdC0Vo.alarmVo != null || dV1_0_1.dataCdC0Vo.stateVo != null){ - Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; - DbSv sv = (DbSv)objs[0] ; - PrController controller = (PrController)objs[1] ; - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1.dataCdC0Vo.rtuDt, dV1_0_1, dV1_0_1.dataCdC0Vo.alarmVo, dV1_0_1.dataCdC0Vo.stateVo) ; - this.saveHistory(sv, controller, d.getRtuAddr(), dV1_0_1.dataCdC0Vo.rtuDt, dV1_0_1, dV1_0_1.dataCdC0Vo.alarmVo, dV1_0_1.dataCdC0Vo.stateVo) ; - } - } +// if(dV1_0_1.dataCd81Vo != null){ +// if(dV1_0_1.dataCd81Vo.alarmVo != null || dV1_0_1.dataCd81Vo.stateVo != null){ +// Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; +// DbSv sv = (DbSv)objs[0] ; +// PrController controller = (PrController)objs[1] ; +// this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1.dataCd81Vo.rtuDt, dV1_0_1, dV1_0_1.dataCd81Vo.alarmVo, dV1_0_1.dataCd81Vo.stateVo) ; +// this.saveHistory(sv, controller, d.getRtuAddr(), dV1_0_1.dataCd81Vo.rtuDt, dV1_0_1, dV1_0_1.dataCd81Vo.alarmVo, dV1_0_1.dataCd81Vo.stateVo) ; +// } +// } else if(dV1_0_1.dataCdC0Vo != null){ +// if(dV1_0_1.dataCdC0Vo.alarmVo != null || dV1_0_1.dataCdC0Vo.stateVo != null){ +// Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; +// DbSv sv = (DbSv)objs[0] ; +// PrController controller = (PrController)objs[1] ; +// this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1.dataCdC0Vo.rtuDt, dV1_0_1, dV1_0_1.dataCdC0Vo.alarmVo, dV1_0_1.dataCdC0Vo.stateVo) ; +// this.saveHistory(sv, controller, d.getRtuAddr(), dV1_0_1.dataCdC0Vo.rtuDt, dV1_0_1, dV1_0_1.dataCdC0Vo.alarmVo, dV1_0_1.dataCdC0Vo.stateVo) ; +// } +// } }catch (Exception e){ log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e); } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java index 32eb003..200e575 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java @@ -35,17 +35,17 @@ Object subD = d.getSubData(); if (subD != null) { DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD; - if (dV1_0_1 != null && dV1_0_1.dataCdC0Vo != null) { - Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; - DbSv sv = (DbSv)objs[0] ; - PrController controller = (PrController)objs[1] ; - try{ - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo) ; - this.saveHistory(sv, controller, d.getRtuAddr(),dV1_0_1, dV1_0_1.dataCdC0Vo) ; - }catch (Exception e){ - log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); - } - } +// if (dV1_0_1 != null && dV1_0_1.dataCdC0Vo != null) { +// Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; +// DbSv sv = (DbSv)objs[0] ; +// PrController controller = (PrController)objs[1] ; +// try{ +// this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo) ; +// this.saveHistory(sv, controller, d.getRtuAddr(),dV1_0_1, dV1_0_1.dataCdC0Vo) ; +// }catch (Exception e){ +// log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); +// } +// } } } /** diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java index c03c473..6c259f3 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java @@ -38,16 +38,16 @@ Object subD = d.getSubData(); if (subD != null) { DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD; - if (dV1_0_1 != null && dV1_0_1.dataCd83CloseVo != null) { - Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; - DbSv sv = (DbSv)objs[0] ; - PrController controller = (PrController)objs[1] ; - try{ - this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd83CloseVo) ; - }catch (Exception e){ - log.error("淇濆瓨鎺у埗鍣ㄥ叧闃�涓婃姤鏃跺彂鐢熷紓甯�", e); - } - } +// if (dV1_0_1 != null && dV1_0_1.dataCd83CloseVo != null) { +// Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; +// DbSv sv = (DbSv)objs[0] ; +// PrController controller = (PrController)objs[1] ; +// try{ +// this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd83CloseVo) ; +// }catch (Exception e){ +// log.error("淇濆瓨鎺у埗鍣ㄥ叧闃�涓婃姤鏃跺彂鐢熷紓甯�", e); +// } +// } } } /** @@ -61,58 +61,55 @@ private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo) throws Exception { RmOpenCloseValveLast poLast = sv.getRmOpenCloseValveLast(rtuAddr) ; if(poLast == null){ - //棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛樺巻鍙叉暟鎹� + //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鎺у埗鍣ㄧ殑寮�鍏抽榾鏁版嵁 + //棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛� poLast = this.newRmOpenCloseValveLast(controller, rtuAddr, dV1_0_1, dataCd83CloseVo); this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast); //淇濆瓨鏈�鏂版暟鎹� sv.saveRmOpenCloseValveLast(poLast); }else{ - //if(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt).equals(poLast.closeDt)){ - // //鏃堕棿涓�鑷达紝閲嶅涓婃姤鏁版嵁锛屼笉杩涜浠讳綍澶勭悊 - //}else{ - if(poLast.clType == null){ - //鍘熻褰曚笉瀛樺湪鍏抽榾鏁版嵁锛屾墍浠ュ綋鍓嶅叧闃�涓婃姤鏄柊鐨勪竴娆″叧闃�锛屼繚鐣欏師璁板綍寮�闃�鏁版嵁 - this.updateCloseValve(controller, poLast, null, dV1_0_1, dataCd83CloseVo, false) ; - if(poLast.opType == null){ - //鍘熻褰曚腑涓嶅瓨鍦ㄥ紑闃�鏁版嵁锛屾病鍔炶繘琛屽尮閰� - //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍 - this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast); - }else{ - //鍘熻褰曚腑瀛樺湪寮�闃�鏁版嵁锛岃繘琛屽巻鍙叉暟鎹尮閰� - RmOpenCloseValveHistory poHistory = null ; - if(poLast.lastHistoryId != null){ - poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ; - if(poHistory != null){ - sv.updateRmOpenCloseValveHistory(poHistory); - }else{ - //娌℃湁鍘嗗彶鏁版嵁锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍 - this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast); - } + if(poLast.clType == null){ + //鍘熻褰曚笉瀛樺湪鍏抽榾鏁版嵁锛屾墍浠ュ綋鍓嶅叧闃�涓婃姤鏄柊鐨勪竴娆″叧闃�锛屼繚鐣欏師璁板綍涓殑寮�闃�鏁版嵁 + this.updateCloseValve(controller, poLast, null, dV1_0_1, dataCd83CloseVo, false) ; + if(poLast.opType == null){ + //鍘熻褰曚腑涓嶅瓨鍦ㄥ紑闃�鏁版嵁锛屾病鍔炴硶杩涜鍖归厤 + //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍 + this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast); + }else{ + //鍘熻褰曚腑瀛樺湪寮�闃�鏁版嵁锛岃繘琛屽巻鍙叉暟鎹尮閰� + RmOpenCloseValveHistory poHistory = null ; + if(poLast.lastHistoryId != null){ + poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ; + if(poHistory != null){ + sv.updateRmOpenCloseValveHistory(poHistory); }else{ //娌℃湁鍘嗗彶鏁版嵁锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍 this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast); } - } - }else if(poLast.opType != null){ - //鍘熻褰曞瓨鍦ㄥ叧闃�鏁版嵁锛屼篃瀛樺湪寮�闃�鏁版嵁锛岄鍏堣繘琛屽紑鍏抽榾鏃堕棿瀵规瘮 - if(poLast.closeDt != null && poLast.closeDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt))){ - //琛ユ姤鐨勮涔呬箣鍓嶇殑鏁版嵁锛屼笉杩涜澶勭悊 - }else if(poLast.closeDt != null && poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt))){ - //閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞� - }else { - //褰撳墠涓婃姤鐨勫叧闃�鏁版嵁鏅氫簬鍘熸潵鐨勫叧闃�鏁版嵁锛屾槸鏂扮殑涓婃姤鍏抽榾鏁版嵁 + }else{ + //娌℃湁鍘嗗彶鏁版嵁锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍 this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast); } - }else{ - //if(po.opType == null) - //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊 - this.updateCloseValve(controller,poLast, null, dV1_0_1, dataCd83CloseVo, false) ; - //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍 + } + }else if(poLast.opType != null){ + //鍘熻褰曞瓨鍦ㄥ叧闃�鏁版嵁锛屼篃瀛樺湪寮�闃�鏁版嵁锛岄鍏堣繘琛屽紑鍏抽榾鏃堕棿瀵规瘮 + if(poLast.closeDt != null && poLast.closeDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt))){ + //琛ユ姤鐨勮涔呬箣鍓嶇殑鏁版嵁锛屼笉杩涜澶勭悊 + }else if(poLast.closeDt != null && poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt))){ + //閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞� + }else { + //褰撳墠涓婃姤鐨勫叧闃�鏁版嵁鏅氫簬鍘熸潵鐨勫叧闃�鏁版嵁锛屾槸鏂扮殑涓婃姤鍏抽榾鏁版嵁 this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast); } + }else{ + //if(po.opType == null) + //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊 + this.updateCloseValve(controller,poLast, null, dV1_0_1, dataCd83CloseVo, false) ; + //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍 + this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast); + } - sv.updateRmOpenCloseValveLast(poLast); - //} + sv.updateRmOpenCloseValveLast(poLast); } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealLoss.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealLoss.java index 8e016a9..be21d86 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealLoss.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealLoss.java @@ -36,16 +36,16 @@ Object subD = d.getSubData(); if (subD != null) { DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD; - if (dV1_0_1 != null && dV1_0_1.dataCdC0Vo != null) { - Object[] objs = this.getTaskResults(TkPreGenObjs.taskId); - DbSv sv = (DbSv) objs[0]; - PrController controller = (PrController) objs[1]; - try { - this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo); - } catch (Exception e) { - log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e); - } - } +// if (dV1_0_1 != null && dV1_0_1.dataCdC0Vo != null) { +// Object[] objs = this.getTaskResults(TkPreGenObjs.taskId); +// DbSv sv = (DbSv) objs[0]; +// PrController controller = (PrController) objs[1]; +// try { +// this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo); +// } catch (Exception e) { +// log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e); +// } +// } } } @@ -60,7 +60,8 @@ private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception { RmLossLast poLast = sv.getRmLossLast(rtuAddr); if (poLast == null) { - //棣栧厛鐢熸垚鍘嗗彶鏁版嵁锛屽苟淇濆瓨 + //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鎺у埗鍣ㄧ殑婕忔崯鏁版嵁 + //棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛� poLast = this.newRmLossLast(controller, rtuAddr, dV1_0_1, dataCdC0Vo); this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCdC0Vo, poLast); sv.saveRmLossLast(poLast); @@ -77,12 +78,12 @@ } if(DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt).equals(poLast.dt)){ //鍚屼竴澶╂暟鎹� - poLast.lossAmount = (poLast.lossAmount == null?0.0:poLast.lossAmount) + (dataCdC0Vo.lossAmount == null?0.0:dataCdC0Vo.lossAmount) ; + poLast.lossAmount = dataCdC0Vo.lossAmount ; poLast.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt) ; poLast.dtRtu = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt) ; sv.updateRmLossLast(poLast); - poHistory.lossAmount = (poLast.lossAmount == null?0.0:poLast.lossAmount) + (dataCdC0Vo.lossAmount == null?0.0:dataCdC0Vo.lossAmount) ; + poHistory.lossAmount = dataCdC0Vo.lossAmount ; poHistory.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt) ; poHistory.dtRtu = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt) ; sv.updateRmLossHistory(poHistory); diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java index b20bd41..077feb4 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java @@ -36,16 +36,16 @@ Object subD = d.getSubData(); if (subD != null) { DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD; - if (dV1_0_1 != null && dV1_0_1.dataCd83OpenVo != null) { - Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; - DbSv sv = (DbSv)objs[0] ; - PrController controller = (PrController)objs[1] ; - try{ - this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd83OpenVo) ; - }catch (Exception e){ - log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e); - } - } +// if (dV1_0_1 != null && dV1_0_1.dataCd83OpenVo != null) { +// Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; +// DbSv sv = (DbSv)objs[0] ; +// PrController controller = (PrController)objs[1] ; +// try{ +// this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd83OpenVo) ; +// }catch (Exception e){ +// log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e); +// } +// } } } /** @@ -59,11 +59,13 @@ private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo) throws Exception { RmOpenCloseValveLast poLast = sv.getRmOpenCloseValveLast(rtuAddr) ; if(poLast == null){ - //棣栧厛鐢熸垚鍘嗗彶鏁版嵁锛屽苟淇濆瓨 + //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鎺у埗鍣ㄧ殑寮�鍏抽榾鏁版嵁 + //棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛� poLast = this.newRmOpenCloseValveLast(controller, rtuAddr, dV1_0_1, dataCd83OpenVo); this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast); sv.saveRmOpenCloseValveLast(poLast); }else{ + //鏁版嵁搴撲腑瀛樺湪璇ユ帶鍒跺櫒鐨勫紑鍏抽榾鏁版嵁 if(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt).equals(poLast.openDt)){ //鏃堕棿涓�鑷达紝閲嶅涓婃姤鏁版嵁锛屼笉杩涜浠讳綍澶勭悊 }else{ @@ -92,7 +94,7 @@ sv.updateRmOpenCloseValveHistory(poHistory); } }else if(poLast.closeDt != null && poLast.closeDt.before(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){ - //褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁 + //褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂版暟鎹腑鐨勫叧闃�鍐呭娓呯┖ this.updateOpenValve(controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ; //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍 this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast); diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java index 097ef93..58807b9 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealWorkReport.java @@ -35,16 +35,16 @@ Object subD = d.getSubData(); if (subD != null) { DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD; - if (dV1_0_1 != null && dV1_0_1.dataCd84Vo != null) { - Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; - DbSv sv = (DbSv)objs[0] ; - PrController controller = (PrController)objs[1] ; - try{ - this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd84Vo) ; - }catch (Exception e){ - log.error("淇濆瓨鎺у埗鍣ㄩ榾寮�宸ヤ綔鎶ユ椂鍙戠敓寮傚父", e); - } - } +// if (dV1_0_1 != null && dV1_0_1.dataCd84Vo != null) { +// Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; +// DbSv sv = (DbSv)objs[0] ; +// PrController controller = (PrController)objs[1] ; +// try{ +// this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd84Vo) ; +// }catch (Exception e){ +// log.error("淇濆瓨鎺у埗鍣ㄩ榾寮�宸ヤ綔鎶ユ椂鍙戠敓寮傚父", e); +// } +// } } } /** diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkFindComResponse.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkFindComResponse.java new file mode 100644 index 0000000..04ce4fc --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkFindComResponse.java @@ -0,0 +1,33 @@ +package com.dy.aceMw.server.rtuData.p206V1_0_0; + +import com.dy.aceMw.server.rtuData.TaskSurpport; +import com.dy.common.mw.protocol.Data; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/2 13:44 + * @LastEditTime 2024/4/2 13:44 + * @Description 璇嗗埆鍛戒护鍝嶅簲涓婃姤 + */ +public class TkFindComResponse extends TaskSurpport { + + private static final Logger log = LogManager.getLogger(TkFindComResponse.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkFindComResponse" ; + + /** + * 鎵ц鑺傜偣浠诲姟 + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + Data d = (Data)data ; + if(d.getCommandId() != null && d.getCommandId().trim().equals("")){ + //鏃犲懡浠D + this.toNextTasks(data); + } + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java new file mode 100644 index 0000000..8ae8b9e --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java @@ -0,0 +1,45 @@ +package com.dy.aceMw.server.rtuData.p206V1_0_0; + +import com.dy.aceMw.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; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2024/4/2 13:45 + * @LastEditTime 2024/4/2 13:45 + * @Description 澶勭悊鍛戒护鍝嶅簲涓婃姤 + */ +public class TkRtuDealCommandResponse extends TaskSurpport { + + private static final Logger log = LogManager.getLogger(TkRtuDealCommandResponse.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkRtuDealCommandResponse" ; + + /** + * 鎵ц鑺傜偣浠诲姟锛氬鐞嗗懡浠ゅ搷搴斾笂鎶� + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + Data d = (Data) data; + Object subD = d.getSubData(); + if (subD != null) { + DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD; +// if (dV1_0_1 != null && dV1_0_1.dataCdC0Vo != null) { +// Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; +// DbSv sv = (DbSv)objs[0] ; +// PrController controller = (PrController)objs[1] ; +// try{ +// this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo) ; +// this.saveHistory(sv, controller, d.getRtuAddr(),dV1_0_1, dV1_0_1.dataCdC0Vo) ; +// }catch (Exception e){ +// log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); +// } +// } + } + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/com/CommandCtrl.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/com/CommandCtrl.java index aa5f651..9e7ba68 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/com/CommandCtrl.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/com/CommandCtrl.java @@ -12,10 +12,7 @@ import com.dy.common.webUtil.BaseResponseUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** @@ -30,6 +27,11 @@ @SuppressWarnings("unchecked")//java鐗堟湰瓒婇珮锛屽娉涘瀷绾︽潫瓒婁弗锛屾墍浠ラ厤缃甋uppressWarnings("unchecked") public class CommandCtrl { + @GetMapping(path = "test") + public BaseResponse<String> test(){ + return BaseResponseUtils.buildSuccess("ok"); + } + @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE) public BaseResponse<Command> send(@RequestBody Command com) { log.info("鏀跺埌web绯荤粺鍙戞潵鐨勫懡浠わ細\n" + com.toString()) ; diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/resources/RtuDataDealTree.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/resources/RtuDataDealTree.xml index 6774571..6b3f98c 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/resources/RtuDataDealTree.xml +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/resources/RtuDataDealTree.xml @@ -18,8 +18,8 @@ <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="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> <!-- 璇嗗埆鍛戒护鍝嶅簲鏁版嵁 --> -- Gitblit v1.8.0