@ -264,8 +264,6 @@ public class AnalysisReceiveOrder485 {
// 热泵
// 热泵
public void analysisPumpOrder485 ( final String dateStr , final String receiveData , final String registerAddr , final String brand , String buildingId , String buildingName ) {
public void analysisPumpOrder485 ( final String dateStr , final String receiveData , final String registerAddr , final String brand , String buildingId , String buildingName ) {
// if (!Constant.CONTROL_WEB_FLAG) {
// threadPoolService.execute(() -> {
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; //检验报文
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; //检验报文
String checkWord = ExchangeStringUtil . getStrCRC16 ( checkStr ) ; //生成校验码
String checkWord = ExchangeStringUtil . getStrCRC16 ( checkStr ) ; //生成校验码
String sValue = null ;
String sValue = null ;
@ -297,11 +295,6 @@ public class AnalysisReceiveOrder485 {
nowDataService . proPumpMinutes ( buildingId , addr , sValue ) ;
nowDataService . proPumpMinutes ( buildingId , addr , sValue ) ;
log . info ( "计算热泵运行时长,楼栋名称:" + buildingName + ",热泵编号:" + addr + ",状态:" + sValue ) ;
log . info ( "计算热泵运行时长,楼栋名称:" + buildingName + ",热泵编号:" + addr + ",状态:" + sValue ) ;
nowDataService . saveNowHistoryData ( addr , "热泵" , sValue , dataType , buildingId ) ;
nowDataService . saveNowHistoryData ( addr , "热泵" , sValue , dataType , buildingId ) ;
// String state=nowDataService.selectState(buildingId); //判断热泵状态,如果有一个以上热泵运行,楼栋公共信息补水运行
// NowPublicDataEntity publicData=new NowPublicDataEntity();
// publicData.setBuildingId(buildingId);
// publicData.setUpWater(state);
// nowPublicDataService.saveNowHistoryPublicData(publicData);
log . info ( "热泵ID:" + addr + ",数据: " + sValue + ",保存数据库成功!楼栋名称:" + buildingName ) ;
log . info ( "热泵ID:" + addr + ",数据: " + sValue + ",保存数据库成功!楼栋名称:" + buildingName ) ;
} else if ( registerAddr . equalsIgnoreCase ( "0642" ) | | registerAddr . equalsIgnoreCase ( "0007" ) ) {
} else if ( registerAddr . equalsIgnoreCase ( "0642" ) | | registerAddr . equalsIgnoreCase ( "0007" ) ) {
//0642设定温度,0007水箱水温
//0642设定温度,0007水箱水温
@ -325,8 +318,6 @@ public class AnalysisReceiveOrder485 {
}
}
nowPublicDataService . saveNowHistoryPublicData ( publicData ) ;
nowPublicDataService . saveNowHistoryPublicData ( publicData ) ;
log . info ( "楼栋名称:" + buildingName + ",热泵编号:" + addr ) ;
log . info ( "楼栋名称:" + buildingName + ",热泵编号:" + addr ) ;
// nowDataService.proWaterTemp(dateStr,buildingId,addr); //保存楼栋时间点温度变化
// log.info("=========保存楼栋时间点温度变化值!===========");
} else if ( dataType . equals ( "tempSet" ) ) {
} else if ( dataType . equals ( "tempSet" ) ) {
pumpSetService . updatePumpSetTemp ( sValue , buildingId , addr ) ; //更新设定温度
pumpSetService . updatePumpSetTemp ( sValue , buildingId , addr ) ; //更新设定温度
}
}
@ -346,10 +337,6 @@ public class AnalysisReceiveOrder485 {
nowDataService . saveNowHistoryData ( addr , "热泵" , sValue , dataType , buildingId ) ;
nowDataService . saveNowHistoryData ( addr , "热泵" , sValue , dataType , buildingId ) ;
log . info ( "热泵ID:" + addr + ",数据: " + sValue + ",保存数据库成功!楼栋名称:" + buildingName ) ;
log . info ( "热泵ID:" + addr + ",数据: " + sValue + ",保存数据库成功!楼栋名称:" + buildingName ) ;
}
}
// else if (registerAddr.equalsIgnoreCase("0656") || registerAddr.equalsIgnoreCase("065A")
// || registerAddr.equalsIgnoreCase("065E")) { //定时设置值
// sValue = ExchangeStringUtil.hexToDec(checkStr.substring(6, 10));
// }
} else if ( checkStr . substring ( 2 , 4 ) . equalsIgnoreCase ( "10" ) ) {
} else if ( checkStr . substring ( 2 , 4 ) . equalsIgnoreCase ( "10" ) ) {
log . info ( "时间: " + dateStr + ",热泵ID: " + addr + ",操作成功! " ) ;
log . info ( "时间: " + dateStr + ",热泵ID: " + addr + ",操作成功! " ) ;
}
}
@ -380,11 +367,6 @@ public class AnalysisReceiveOrder485 {
nowDataService . proPumpMinutes ( buildingId , addr , sValue ) ;
nowDataService . proPumpMinutes ( buildingId , addr , sValue ) ;
log . info ( "计算热泵运行时长,楼栋名称:" + buildingName + ",热泵编号:" + addr + ",状态:" + sValue ) ;
log . info ( "计算热泵运行时长,楼栋名称:" + buildingName + ",热泵编号:" + addr + ",状态:" + sValue ) ;
nowDataService . saveNowHistoryData ( addr , "热泵" , sValue , dataType , buildingId ) ;
nowDataService . saveNowHistoryData ( addr , "热泵" , sValue , dataType , buildingId ) ;
// String state=nowDataService.selectState(buildingId); //判断热泵状态,如果有一个以上热泵运行,楼栋公共信息补水运行
// NowPublicDataEntity publicData=new NowPublicDataEntity();
// publicData.setBuildingId(buildingId);
// publicData.setUpWater(state);
// nowPublicDataService.saveNowHistoryPublicData(publicData);
log . info ( "热泵ID: " + addr + ",数据: " + sValue + "保存数据库成功!楼栋名称:" + buildingName ) ;
log . info ( "热泵ID: " + addr + ",数据: " + sValue + "保存数据库成功!楼栋名称:" + buildingName ) ;
} else if ( registerAddr . equalsIgnoreCase ( "0003" ) | | registerAddr . equalsIgnoreCase ( "0064" ) ) {
} else if ( registerAddr . equalsIgnoreCase ( "0003" ) | | registerAddr . equalsIgnoreCase ( "0064" ) ) {
//0003设定温度,0064水箱水温
//0003设定温度,0064水箱水温
@ -426,19 +408,82 @@ public class AnalysisReceiveOrder485 {
nowDataService . saveNowHistoryData ( addr , "热泵" , sValue , dataType , buildingId ) ;
nowDataService . saveNowHistoryData ( addr , "热泵" , sValue , dataType , buildingId ) ;
log . info ( "时间: " + dateStr + ",热泵ID: " + addr + ",数据: " + sValue + "保存数据库成功!楼栋名称:" + buildingName ) ;
log . info ( "时间: " + dateStr + ",热泵ID: " + addr + ",数据: " + sValue + "保存数据库成功!楼栋名称:" + buildingName ) ;
}
}
// else if (registerAddr.equalsIgnoreCase("0656") || registerAddr.equalsIgnoreCase("065A")
// || registerAddr.equalsIgnoreCase("065E")) { //定时设置值
// sValue = ExchangeStringUtil.hexToDec(checkStr.substring(6, 10));
// }
} else if ( checkStr . substring ( 2 , 4 ) . equalsIgnoreCase ( "06" ) ) {
} else if ( checkStr . substring ( 2 , 4 ) . equalsIgnoreCase ( "06" ) ) {
log . info ( "时间: " + dateStr + ",热泵ID: " + addr + ",操作成功! " ) ;
log . info ( "时间: " + dateStr + ",热泵ID: " + addr + ",操作成功! " ) ;
}
}
} else if ( Constant . BRAND_RUI_XING . equals ( brand ) ) {
if ( checkStr . substring ( 2 , 4 ) . equalsIgnoreCase ( "03" ) ) { //读
if ( registerAddr . equalsIgnoreCase ( "0001" ) ) { //运行状态
dataType = "runState" ;
data = checkStr . substring ( 8 , 10 ) ;
if ( data . equalsIgnoreCase ( "00" ) ) {
sValue = "不运行" ; //关机模式
} else if ( data . equalsIgnoreCase ( "01" ) ) {
sValue = "运行" ; //制热模式
}
//计算热泵运行时间,按分钟
nowDataService . proPumpMinutes ( buildingId , addr , sValue ) ;
log . info ( "计算热泵运行时长,楼栋名称:" + buildingName + ",热泵编号:" + addr + ",状态:" + sValue ) ;
nowDataService . saveNowHistoryData ( addr , "热泵" , sValue , dataType , buildingId ) ;
log . info ( "时间: " + dateStr + ",热泵ID: " + addr + ",数据: " + sValue + "保存数据库成功!楼栋名称:" + buildingName ) ;
} else if ( registerAddr . equalsIgnoreCase ( "000A" ) | | registerAddr . equalsIgnoreCase ( "0046" ) ) {
//000A设定温度,0046水箱水温
if ( registerAddr . equalsIgnoreCase ( "000A" ) ) {
dataType = "tempSet" ;
} else {
dataType = "waterTemp" ;
}
//读数
sValue = ExchangeStringUtil . hexToDec ( checkStr . substring ( 6 , 10 ) ) ;
if ( dataType . equals ( "waterTemp" ) ) {
sValue = String . valueOf ( Double . parseDouble ( sValue ) / 10 ) ;
String avgTemp = nowDataService . selectAve ( buildingId ) ;
NowPublicDataEntity publicData = new NowPublicDataEntity ( ) ;
publicData . setBuildingId ( buildingId ) ;
publicData . setUseWaterTemp ( avgTemp ) ;
publicData . setBackWaterTemp ( avgTemp ) ;
String pumpId = nowDataService . selectMinPumpId ( buildingId ) ;
log . info ( "---------------addr:" + addr + ",pumpId:" + pumpId + " ---------------" ) ;
if ( addr . equals ( pumpId ) ) { //取ID最小的热泵为单箱温度
publicData . setSingleTemp ( sValue ) ;
log . info ( "---------------单箱温度:" + sValue + "---------------" ) ;
}
nowPublicDataService . saveNowHistoryPublicData ( publicData ) ;
log . info ( "楼栋名称:" + buildingName + ",热泵编号:" + addr ) ;
} else if ( dataType . equals ( "tempSet" ) ) {
pumpSetService . updatePumpSetTemp ( sValue , buildingId , addr ) ; //更新设定温度
}
nowDataService . saveNowHistoryData ( addr , "热泵" , sValue , dataType , buildingId ) ;
log . info ( "时间: " + dateStr + ",热泵ID: " + addr + ",数据: " + sValue + "保存数据库成功!楼栋名称:" + buildingName ) ;
} else if ( registerAddr . equalsIgnoreCase ( "0050" ) ) { //故障状态
dataType = "isFault" ;
String sData = ExchangeStringUtil . hexString2binaryString ( checkStr . substring ( 8 , 10 ) ) ;
sData = ExchangeStringUtil . addZeroForNum ( sData , 8 ) ;
if ( sData . substring ( 7 , 8 ) . equalsIgnoreCase ( "0" ) ) {
sValue = "无故障" ;
deviceInstallService . updateDeviceFault ( "0" , addr , "热泵" ) ;
} else if ( sData . substring ( 7 , 8 ) . equalsIgnoreCase ( "1" ) ) {
sValue = "有故障" ;
deviceInstallService . updateDeviceFault ( "1" , addr , "热泵" ) ;
}
nowDataService . saveNowHistoryData ( addr , "热泵" , sValue , dataType , buildingId ) ;
log . info ( "时间: " + dateStr + ",热泵ID: " + addr + ",数据: " + sValue + "保存数据库成功!楼栋名称:" + buildingName ) ;
} else if ( registerAddr . equalsIgnoreCase ( "0028" )
| | registerAddr . equalsIgnoreCase ( "002C" )
| | registerAddr . equalsIgnoreCase ( "0030" ) ) { //读定时设置值
// 01 03 08 0003 0000 0016 0000 4713
String startTime = ExchangeStringUtil . addZeroForNum ( ExchangeStringUtil . hexToDec ( checkStr . substring ( 6 , 10 ) ) , 2 )
+ ExchangeStringUtil . addZeroForNum ( ExchangeStringUtil . hexToDec ( checkStr . substring ( 10 , 14 ) ) , 2 ) ;
String closetTime = ExchangeStringUtil . addZeroForNum ( ExchangeStringUtil . hexToDec ( checkStr . substring ( 14 , 18 ) ) , 2 )
+ ExchangeStringUtil . addZeroForNum ( ExchangeStringUtil . hexToDec ( checkStr . substring ( 18 , 22 ) ) , 2 ) ;
sValue = startTime + closetTime ;
}
} else if ( checkStr . substring ( 2 , 4 ) . equalsIgnoreCase ( "10" ) ) {
log . info ( "时间: " + dateStr + ",热泵ID: " + addr + ",操作成功! " ) ;
}
}
}
nowDataService . proWaterTemp ( dateStr , buildingId , addr ) ; //保存楼栋时间点温度变化
nowDataService . proWaterTemp ( dateStr , buildingId , addr ) ; //保存楼栋时间点温度变化
log . info ( "----------------保存楼栋时间点温度变化值!----------------" ) ;
log . info ( "----------------保存楼栋时间点温度变化值!----------------" ) ;
// });
// }
}
}
public String analysisPumpOrder4852 ( final String receiveData , final String registerAddr , final String brand , String buildingId , final String buildingName ) {
public String analysisPumpOrder4852 ( final String receiveData , final String registerAddr , final String brand , String buildingId , final String buildingName ) {
@ -910,7 +955,7 @@ public class AnalysisReceiveOrder485 {
}
}
// 水位开关,长度42,128
// 水位开关,长度42,128
public void analysisRelayOrder485 ( final String dateStr , final String receiveData , final String registerAddr , final String brand , String buildingId , String buildingName ) {
public void analysisRelayOrder485 ( final String dateStr , final String receiveData , final String registerAddr , final String brand , String buildingId , String buildingName , String customName ) {
// threadPoolService.execute(() -> {
// threadPoolService.execute(() -> {
String l1 = "" ;
String l1 = "" ;
String l2 = "" ;
String l2 = "" ;
@ -1037,20 +1082,31 @@ public class AnalysisReceiveOrder485 {
} else if ( registerAddr . equals ( "0010" ) ) {
} else if ( registerAddr . equals ( "0010" ) ) {
NowPublicDataEntity publicData = new NowPublicDataEntity ( ) ;
NowPublicDataEntity publicData = new NowPublicDataEntity ( ) ;
publicData . setBuildingId ( buildingId ) ;
publicData . setBuildingId ( buildingId ) ;
if ( l1 . equals ( "0001" ) ) { //l路,0000表示有输入,0001表示无输入
if ( customName . contains ( Constant . CUSTOM_NAME_GUANGSHANG ) ) {
publicData . setUseWater ( "运行" ) ; //供水
if ( l8 . equals ( "0001" ) ) { //l8路,0000表示有输入,0001表示无输入
publicData . setBackWater ( "运行" ) ; //回水
publicData . setUseWater ( "运行" ) ; //供水
} else {
publicData . setBackWater ( "运行" ) ; //回水
publicData . setUseWater ( "不运行" ) ;
} else {
publicData . setBackWater ( "不运行" ) ;
publicData . setUseWater ( "不运行" ) ;
}
publicData . setBackWater ( "不运行" ) ;
log . info ( "-----------------供水/回水状态:" + l1 + "-----------------" ) ;
}
if ( l2 . equals ( "0001" ) ) { //2路 //补水
log . info ( "-----------------供水/回水状态:" + l8 + "-----------------" ) ;
publicData . setUpWater ( "运行" ) ;
} else {
} else {
publicData . setUpWater ( "不运行" ) ;
if ( l1 . equals ( "0001" ) ) { //l路,0000表示有输入,0001表示无输入
publicData . setUseWater ( "运行" ) ; //供水
publicData . setBackWater ( "运行" ) ; //回水
} else {
publicData . setUseWater ( "不运行" ) ;
publicData . setBackWater ( "不运行" ) ;
}
log . info ( "-----------------供水/回水状态:" + l1 + "-----------------" ) ;
if ( l2 . equals ( "0001" ) ) { //2路 //补水
publicData . setUpWater ( "运行" ) ;
} else {
publicData . setUpWater ( "不运行" ) ;
}
log . info ( "-----------------补水状态:" + l2 + "-----------------" ) ;
}
}
log . info ( "-----------------补水状态:" + l2 + "-----------------" ) ;
nowPublicDataService . saveNowHistoryPublicData ( publicData ) ;
nowPublicDataService . saveNowHistoryPublicData ( publicData ) ;
log . info ( "-----------------状态保存数据库成功!楼栋名称:" + buildingName + "-----------------" ) ;
log . info ( "-----------------状态保存数据库成功!楼栋名称:" + buildingName + "-----------------" ) ;
}
}
@ -1194,7 +1250,6 @@ public class AnalysisReceiveOrder485 {
// 热泵状态处理(水位开关),长度42,128
// 热泵状态处理(水位开关),长度42,128
public void analysisPumpStateOrder ( final String dateStr , final String receiveData , final String registerAddr , final String brand , String buildingId , String buildingName ) {
public void analysisPumpStateOrder ( final String dateStr , final String receiveData , final String registerAddr , final String brand , String buildingId , String buildingName ) {
// threadPoolService.execute(() -> {
String l1 = "" ;
String l1 = "" ;
String l2 = "" ;
String l2 = "" ;
String l3 = "" ;
String l3 = "" ;
@ -1206,7 +1261,7 @@ public class AnalysisReceiveOrder485 {
String runState = "" ;
String runState = "" ;
String addr = "" ;
String addr = "" ;
Map < String , String > map = new HashMap < String , String > ( ) ;
Map < String , String > map = new HashMap < String , String > ( ) ;
if ( brand = = null | | brand . equals ( "" ) | | brand . equals ( "顶威" ) ) {
if ( StringUtils . isBlank ( brand ) | | brand . equals ( "顶威" ) ) {
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; //检验报文减,去校验码
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; //检验报文减,去校验码
String checkNum = ExchangeStringUtil . makeChecksum ( checkStr ) ; //生成校验码
String checkNum = ExchangeStringUtil . makeChecksum ( checkStr ) ; //生成校验码
if ( checkNum . equalsIgnoreCase ( receiveData . substring ( receiveData . length ( ) - 4 , receiveData . length ( ) - 2 ) ) ) {
if ( checkNum . equalsIgnoreCase ( receiveData . substring ( receiveData . length ( ) - 4 , receiveData . length ( ) - 2 ) ) ) {
@ -1218,42 +1273,42 @@ public class AnalysisReceiveOrder485 {
data = ExchangeStringUtil . cutThree ( data ) ;
data = ExchangeStringUtil . cutThree ( data ) ;
String strStatus = ExchangeStringUtil . hexString2binaryString ( data ) ;
String strStatus = ExchangeStringUtil . hexString2binaryString ( data ) ;
strStatus = String . format ( "%08d" , Long . parseLong ( strStatus ) ) ;
strStatus = String . format ( "%08d" , Long . parseLong ( strStatus ) ) ;
if ( strStatus . substring ( 7 , 8 ) . equals ( "1" ) ) {
if ( strStatus . charAt ( 7 ) = = '1' ) {
l1 = "1" ;
l1 = "1" ;
} else {
} else {
l1 = "0" ;
l1 = "0" ;
}
}
if ( strStatus . substring ( 6 , 7 ) . equals ( "1" ) ) {
if ( strStatus . charAt ( 6 ) = = '1' ) {
l2 = "1" ;
l2 = "1" ;
} else {
} else {
l2 = "0" ;
l2 = "0" ;
}
}
if ( strStatus . substring ( 5 , 6 ) . equals ( "1" ) ) {
if ( strStatus . charAt ( 5 ) = = '1' ) {
l3 = "1" ;
l3 = "1" ;
} else {
} else {
l3 = "0" ;
l3 = "0" ;
}
}
if ( strStatus . substring ( 4 , 5 ) . equals ( "1" ) ) {
if ( strStatus . charAt ( 4 ) = = '1' ) {
l4 = "1" ;
l4 = "1" ;
} else {
} else {
l4 = "0" ;
l4 = "0" ;
}
}
if ( strStatus . substring ( 3 , 4 ) . equals ( "1" ) ) {
if ( strStatus . charAt ( 3 ) = = '1' ) {
l5 = "1" ;
l5 = "1" ;
} else {
} else {
l5 = "0" ;
l5 = "0" ;
}
}
if ( strStatus . substring ( 2 , 3 ) . equals ( "1" ) ) {
if ( strStatus . charAt ( 2 ) = = '1' ) {
l6 = "1" ;
l6 = "1" ;
} else {
} else {
l6 = "0" ;
l6 = "0" ;
}
}
if ( strStatus . substring ( 1 , 2 ) . equals ( "1" ) ) {
if ( strStatus . charAt ( 1 ) = = '1' ) {
l7 = "1" ;
l7 = "1" ;
} else {
} else {
l7 = "0" ;
l7 = "0" ;
}
}
if ( strStatus . substring ( 0 , 1 ) . equals ( "1" ) ) {
if ( strStatus . charAt ( 0 ) = = '1' ) {
l8 = "1" ;
l8 = "1" ;
} else {
} else {
l8 = "0" ;
l8 = "0" ;
@ -1262,8 +1317,6 @@ public class AnalysisReceiveOrder485 {
} else if ( brand . equals ( "中凯" ) ) {
} else if ( brand . equals ( "中凯" ) ) {
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; //检验报文,减去校验码
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; //检验报文,减去校验码
addr = ExchangeStringUtil . hexToDec ( checkStr . substring ( 2 , 4 ) ) ;
addr = ExchangeStringUtil . hexToDec ( checkStr . substring ( 2 , 4 ) ) ;
//if (registerAddr!=null && !registerAddr.equals("")) {
//if (registerAddr.equalsIgnoreCase("0017")) { //中凯拿功能码作为寄存器地址用
l1 = checkStr . substring ( 4 , 6 ) ;
l1 = checkStr . substring ( 4 , 6 ) ;
l2 = checkStr . substring ( 20 , 22 ) ;
l2 = checkStr . substring ( 20 , 22 ) ;
l3 = checkStr . substring ( 36 , 38 ) ;
l3 = checkStr . substring ( 36 , 38 ) ;
@ -1272,17 +1325,11 @@ public class AnalysisReceiveOrder485 {
l6 = checkStr . substring ( 84 , 86 ) ;
l6 = checkStr . substring ( 84 , 86 ) ;
l7 = checkStr . substring ( 100 , 102 ) ;
l7 = checkStr . substring ( 100 , 102 ) ;
l8 = checkStr . substring ( 116 , 118 ) ;
l8 = checkStr . substring ( 116 , 118 ) ;
//} else if (registerAddr.equals("0012")) {
//log.info("时间: " + dateStr + ",热泵状态号: " + addr + ",操作成功! ");
//}
//}
} else if ( brand . equals ( "远向" ) ) {
} else if ( brand . equals ( "远向" ) ) {
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; // 检验报文
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; // 检验报文
String checkWord = ExchangeStringUtil . getStrCRC16 ( checkStr ) ;
String checkWord = ExchangeStringUtil . getStrCRC16 ( checkStr ) ;
if ( checkWord . equalsIgnoreCase ( receiveData . substring ( receiveData . length ( ) - 4 ) ) ) {
if ( checkWord . equalsIgnoreCase ( receiveData . substring ( receiveData . length ( ) - 4 ) ) ) {
addr = ExchangeStringUtil . hexToDec ( checkStr . substring ( 0 , 2 ) ) ; //地址
addr = ExchangeStringUtil . hexToDec ( checkStr . substring ( 0 , 2 ) ) ; //地址
//if (checkStr.substring(2, 4).equals("03")) {
//if (registerAddr!=null && !registerAddr.equals("")){
l1 = checkStr . substring ( 6 , 10 ) ;
l1 = checkStr . substring ( 6 , 10 ) ;
l2 = checkStr . substring ( 10 , 14 ) ;
l2 = checkStr . substring ( 10 , 14 ) ;
l3 = checkStr . substring ( 14 , 18 ) ;
l3 = checkStr . substring ( 14 , 18 ) ;
@ -1291,60 +1338,46 @@ public class AnalysisReceiveOrder485 {
l6 = checkStr . substring ( 26 , 30 ) ;
l6 = checkStr . substring ( 26 , 30 ) ;
l7 = checkStr . substring ( 30 , 34 ) ;
l7 = checkStr . substring ( 30 , 34 ) ;
l8 = checkStr . substring ( 34 , 38 ) ;
l8 = checkStr . substring ( 34 , 38 ) ;
//}
//} else if (checkStr.substring(2, 4).equals("06") || checkStr.substring(2, 4).equals("04")) {
//log.info("时间: " + dateStr + ",热泵状态号: " + addr + ",操作成功! " );
//}
} else {
} else {
log . info ( "热泵状态报文检验失败: " + receiveData ) ;
log . info ( "热泵状态报文检验失败: " + receiveData ) ;
}
}
}
}
//if (registerAddr!=null && !registerAddr.equals("")){
//if (registerAddr.equals("0017") || registerAddr.equals("0010")){
if ( l1 . equals ( "12" ) | | l1 . equals ( "0001" ) ) { //正常是0001
if ( l1 . equals ( "12" ) | | l1 . equals ( "0001" ) ) { //正常是0001
// if (l1.equals("12") || l1.equals("0000") || l1.equals("1")){
map . put ( "1" , "运行" ) ;
map . put ( "1" , "运行" ) ;
} else {
} else {
map . put ( "1" , "不运行" ) ;
map . put ( "1" , "不运行" ) ;
}
}
if ( l2 . equals ( "12" ) | | l2 . equals ( "0001" ) ) {
if ( l2 . equals ( "12" ) | | l2 . equals ( "0001" ) ) {
// if (l2.equals("12") || l2.equals("0000") || l2.equals("1")){
map . put ( "2" , "运行" ) ;
map . put ( "2" , "运行" ) ;
} else {
} else {
map . put ( "2" , "不运行" ) ;
map . put ( "2" , "不运行" ) ;
}
}
if ( l3 . equals ( "12" ) | | l3 . equals ( "0001" ) ) {
if ( l3 . equals ( "12" ) | | l3 . equals ( "0001" ) ) {
// if (l3.equals("12") || l3.equals("0000") || l3.equals("1")) {
map . put ( "3" , "运行" ) ;
map . put ( "3" , "运行" ) ;
} else {
} else {
map . put ( "3" , "不运行" ) ;
map . put ( "3" , "不运行" ) ;
}
}
if ( l4 . equals ( "12" ) | | l4 . equals ( "0001" ) ) {
if ( l4 . equals ( "12" ) | | l4 . equals ( "0001" ) ) {
// if (l4.equals("12") || l4.equals("0000") || l4.equals("1")){
map . put ( "4" , "运行" ) ;
map . put ( "4" , "运行" ) ;
} else {
} else {
map . put ( "4" , "不运行" ) ;
map . put ( "4" , "不运行" ) ;
}
}
if ( l5 . equals ( "12" ) | | l5 . equals ( "0001" ) ) {
if ( l5 . equals ( "12" ) | | l5 . equals ( "0001" ) ) {
// if (l5.equals("12") || l5.equals("0000") || l5.equals("1")){
map . put ( "5" , "运行" ) ;
map . put ( "5" , "运行" ) ;
} else {
} else {
map . put ( "5" , "不运行" ) ;
map . put ( "5" , "不运行" ) ;
}
}
if ( l6 . equals ( "12" ) | | l6 . equals ( "0001" ) ) {
if ( l6 . equals ( "12" ) | | l6 . equals ( "0001" ) ) {
// if (l6.equals("12") || l6.equals("0000") || l6.equals("1")){
map . put ( "6" , "运行" ) ;
map . put ( "6" , "运行" ) ;
} else {
} else {
map . put ( "6" , "不运行" ) ;
map . put ( "6" , "不运行" ) ;
}
}
if ( l7 . equals ( "12" ) | | l7 . equals ( "0001" ) ) {
if ( l7 . equals ( "12" ) | | l7 . equals ( "0001" ) ) {
// if (l7.equals("12") || l7.equals("0000") || l7.equals("1")){
map . put ( "7" , "运行" ) ;
map . put ( "7" , "运行" ) ;
} else {
} else {
map . put ( "7" , "不运行" ) ;
map . put ( "7" , "不运行" ) ;
}
}
if ( l8 . equals ( "12" ) | | l8 . equals ( "0001" ) ) {
if ( l8 . equals ( "12" ) | | l8 . equals ( "0001" ) ) {
// if (l8.equals("12") || l8.equals("0000") || l8.equals("1")){
map . put ( "8" , "运行" ) ;
map . put ( "8" , "运行" ) ;
} else {
} else {
map . put ( "8" , "不运行" ) ;
map . put ( "8" , "不运行" ) ;
@ -1363,9 +1396,6 @@ public class AnalysisReceiveOrder485 {
}
}
log . info ( "热泵状态号:" + addr + ",保存数据库成功!楼栋名称:" + buildingName ) ;
log . info ( "热泵状态号:" + addr + ",保存数据库成功!楼栋名称:" + buildingName ) ;
}
}
//}
//}
// });
}
}
// 热泵状态处理(水位开关),长度42,128
// 热泵状态处理(水位开关),长度42,128
@ -1441,8 +1471,6 @@ public class AnalysisReceiveOrder485 {
} else if ( brand . equals ( "中凯" ) ) {
} else if ( brand . equals ( "中凯" ) ) {
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; //检验报文,减去校验码
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; //检验报文,减去校验码
addr = ExchangeStringUtil . hexToDec ( checkStr . substring ( 2 , 4 ) ) ;
addr = ExchangeStringUtil . hexToDec ( checkStr . substring ( 2 , 4 ) ) ;
//if (registerAddr!=null && !registerAddr.equals("")) {
//if (registerAddr.equalsIgnoreCase("0017")) { //中凯拿功能码作为寄存器地址用
l1 = checkStr . substring ( 4 , 6 ) ;
l1 = checkStr . substring ( 4 , 6 ) ;
l2 = checkStr . substring ( 20 , 22 ) ;
l2 = checkStr . substring ( 20 , 22 ) ;
l3 = checkStr . substring ( 36 , 38 ) ;
l3 = checkStr . substring ( 36 , 38 ) ;
@ -1451,17 +1479,11 @@ public class AnalysisReceiveOrder485 {
l6 = checkStr . substring ( 84 , 86 ) ;
l6 = checkStr . substring ( 84 , 86 ) ;
l7 = checkStr . substring ( 100 , 102 ) ;
l7 = checkStr . substring ( 100 , 102 ) ;
l8 = checkStr . substring ( 116 , 118 ) ;
l8 = checkStr . substring ( 116 , 118 ) ;
//} else if (registerAddr.equals("0012")) {
//log.info("时间: " + dateStr + ",热泵状态号: " + addr + ",操作成功! ");
//}
//}
} else if ( brand . equals ( "远向" ) ) {
} else if ( brand . equals ( "远向" ) ) {
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; // 检验报文
String checkStr = receiveData . substring ( 0 , receiveData . length ( ) - 4 ) ; // 检验报文
String checkWord = ExchangeStringUtil . getStrCRC16 ( checkStr ) ;
String checkWord = ExchangeStringUtil . getStrCRC16 ( checkStr ) ;
if ( checkWord . equalsIgnoreCase ( receiveData . substring ( receiveData . length ( ) - 4 ) ) ) {
if ( checkWord . equalsIgnoreCase ( receiveData . substring ( receiveData . length ( ) - 4 ) ) ) {
addr = ExchangeStringUtil . hexToDec ( checkStr . substring ( 0 , 2 ) ) ; //地址
addr = ExchangeStringUtil . hexToDec ( checkStr . substring ( 0 , 2 ) ) ; //地址
//if (checkStr.substring(2, 4).equals("03")) {
//if (registerAddr!=null && !registerAddr.equals("")){
l1 = checkStr . substring ( 6 , 10 ) ;
l1 = checkStr . substring ( 6 , 10 ) ;
l2 = checkStr . substring ( 10 , 14 ) ;
l2 = checkStr . substring ( 10 , 14 ) ;
l3 = checkStr . substring ( 14 , 18 ) ;
l3 = checkStr . substring ( 14 , 18 ) ;
@ -1470,60 +1492,46 @@ public class AnalysisReceiveOrder485 {
l6 = checkStr . substring ( 26 , 30 ) ;
l6 = checkStr . substring ( 26 , 30 ) ;
l7 = checkStr . substring ( 30 , 34 ) ;
l7 = checkStr . substring ( 30 , 34 ) ;
l8 = checkStr . substring ( 34 , 38 ) ;
l8 = checkStr . substring ( 34 , 38 ) ;
//}
//} else if (checkStr.substring(2, 4).equals("06") || checkStr.substring(2, 4).equals("04")) {
//log.info("时间: " + dateStr + ",热泵状态号: " + addr + ",操作成功! " );
//}
} else {
} else {
log . info ( "热泵状态报文检验失败: " + receiveData ) ;
log . info ( "热泵状态报文检验失败: " + receiveData ) ;
}
}
}
}
//if (registerAddr!=null && !registerAddr.equals("")){
//if (registerAddr.equals("0017") || registerAddr.equals("0010")){
if ( l1 . equals ( "12" ) | | l1 . equals ( "0001" ) ) { //正常是0001
if ( l1 . equals ( "12" ) | | l1 . equals ( "0001" ) ) { //正常是0001
// if (l1.equals("12") || l1.equals("0000") || l1.equals("1")){
map . put ( "1" , "运行" ) ;
map . put ( "1" , "运行" ) ;
} else {
} else {
map . put ( "1" , "不运行" ) ;
map . put ( "1" , "不运行" ) ;
}
}
if ( l2 . equals ( "12" ) | | l2 . equals ( "0001" ) ) {
if ( l2 . equals ( "12" ) | | l2 . equals ( "0001" ) ) {
// if (l2.equals("12") || l2.equals("0000") || l2.equals("1")){
map . put ( "2" , "运行" ) ;
map . put ( "2" , "运行" ) ;
} else {
} else {
map . put ( "2" , "不运行" ) ;
map . put ( "2" , "不运行" ) ;
}
}
if ( l3 . equals ( "12" ) | | l3 . equals ( "0001" ) ) {
if ( l3 . equals ( "12" ) | | l3 . equals ( "0001" ) ) {
// if (l3.equals("12") || l3.equals("0000") || l3.equals("1")) {
map . put ( "3" , "运行" ) ;
map . put ( "3" , "运行" ) ;
} else {
} else {
map . put ( "3" , "不运行" ) ;
map . put ( "3" , "不运行" ) ;
}
}
if ( l4 . equals ( "12" ) | | l4 . equals ( "0001" ) ) {
if ( l4 . equals ( "12" ) | | l4 . equals ( "0001" ) ) {
// if (l4.equals("12") || l4.equals("0000") || l4.equals("1")){
map . put ( "4" , "运行" ) ;
map . put ( "4" , "运行" ) ;
} else {
} else {
map . put ( "4" , "不运行" ) ;
map . put ( "4" , "不运行" ) ;
}
}
if ( l5 . equals ( "12" ) | | l5 . equals ( "0001" ) ) {
if ( l5 . equals ( "12" ) | | l5 . equals ( "0001" ) ) {
// if (l5.equals("12") || l5.equals("0000") || l5.equals("1")){
map . put ( "5" , "运行" ) ;
map . put ( "5" , "运行" ) ;
} else {
} else {
map . put ( "5" , "不运行" ) ;
map . put ( "5" , "不运行" ) ;
}
}
if ( l6 . equals ( "12" ) | | l6 . equals ( "0001" ) ) {
if ( l6 . equals ( "12" ) | | l6 . equals ( "0001" ) ) {
// if (l6.equals("12") || l6.equals("0000") || l6.equals("1")){
map . put ( "6" , "运行" ) ;
map . put ( "6" , "运行" ) ;
} else {
} else {
map . put ( "6" , "不运行" ) ;
map . put ( "6" , "不运行" ) ;
}
}
if ( l7 . equals ( "12" ) | | l7 . equals ( "0001" ) ) {
if ( l7 . equals ( "12" ) | | l7 . equals ( "0001" ) ) {
// if (l7.equals("12") || l7.equals("0000") || l7.equals("1")){
map . put ( "7" , "运行" ) ;
map . put ( "7" , "运行" ) ;
} else {
} else {
map . put ( "7" , "不运行" ) ;
map . put ( "7" , "不运行" ) ;
}
}
if ( l8 . equals ( "12" ) | | l8 . equals ( "0001" ) ) {
if ( l8 . equals ( "12" ) | | l8 . equals ( "0001" ) ) {
// if (l8.equals("12") || l8.equals("0000") || l8.equals("1")){
map . put ( "8" , "运行" ) ;
map . put ( "8" , "运行" ) ;
} else {
} else {
map . put ( "8" , "不运行" ) ;
map . put ( "8" , "不运行" ) ;
@ -1533,7 +1541,7 @@ public class AnalysisReceiveOrder485 {
for ( Map . Entry < String , String > entry : map . entrySet ( ) ) {
for ( Map . Entry < String , String > entry : map . entrySet ( ) ) {
addr = entry . getKey ( ) ; //获取Key值作为热泵ID
addr = entry . getKey ( ) ; //获取Key值作为热泵ID
runState = entry . getValue ( ) ;
runState = entry . getValue ( ) ;
if ( addr ! = null & & Integer . valueOf ( addr ) < = count ) {
if ( addr ! = null & & Integer . parseInt ( addr ) < = count ) {
nowDataService . saveNowHistoryData3 ( addr , "热泵状态" , runState , "runState" , buildingId ) ;
nowDataService . saveNowHistoryData3 ( addr , "热泵状态" , runState , "runState" , buildingId ) ;
nowDataService . proPumpMinutes ( buildingId , addr , runState ) ; //计算热泵运行时长
nowDataService . proPumpMinutes ( buildingId , addr , runState ) ; //计算热泵运行时长
log . info ( "计算热泵运行时长,楼栋名称:" + buildingName + ",热泵编号:" + addr + ",状态:" + runState ) ;
log . info ( "计算热泵运行时长,楼栋名称:" + buildingName + ",热泵编号:" + addr + ",状态:" + runState ) ;
@ -1542,8 +1550,6 @@ public class AnalysisReceiveOrder485 {
log . info ( "热泵状态号" + addr + ",保存数据库成功!楼栋名称:" + buildingName ) ;
log . info ( "热泵状态号" + addr + ",保存数据库成功!楼栋名称:" + buildingName ) ;
result = JSON . toJSONString ( map ) ; //map转json字符串
result = JSON . toJSONString ( map ) ; //map转json字符串
}
}
//}
//}
return result ;
return result ;
}
}