|
|
@ -1,17 +1,16 @@ |
|
|
|
package com.mh.user.controller; |
|
|
|
package com.mh.user.controller; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.mh.common.utils.DateTimeUtils; |
|
|
|
import com.mh.user.constants.Constant; |
|
|
|
import com.mh.user.constants.Constant; |
|
|
|
import com.mh.user.dynamic.datasource.DataSourceContextHolder; |
|
|
|
import com.mh.user.dynamic.datasource.DataSourceContextHolder; |
|
|
|
import com.mh.user.dynamic.datasource.DataSourceObject; |
|
|
|
import com.mh.user.dynamic.datasource.DataSourceObject; |
|
|
|
import com.mh.user.entity.DBEntity; |
|
|
|
import com.mh.user.entity.DBEntity; |
|
|
|
import com.mh.user.manage.QuartzManager; |
|
|
|
import com.mh.user.manage.QuartzManager; |
|
|
|
import com.mh.user.mapper.NowDataMapper; |
|
|
|
import com.mh.user.mapper.NowDataMapper; |
|
|
|
|
|
|
|
import com.mh.user.serialport.SerialTool; |
|
|
|
import com.mh.user.service.NowDataService; |
|
|
|
import com.mh.user.service.NowDataService; |
|
|
|
import com.mh.user.service.SysUserService; |
|
|
|
import com.mh.user.service.SysUserService; |
|
|
|
import com.mh.user.utils.AESUtil; |
|
|
|
import com.mh.user.utils.*; |
|
|
|
import com.mh.user.utils.AnalysisReceiveOrder485; |
|
|
|
|
|
|
|
import com.mh.user.utils.GetReadOrder485; |
|
|
|
|
|
|
|
import com.mh.user.utils.TimedTask2; |
|
|
|
|
|
|
|
import org.quartz.SchedulerException; |
|
|
|
import org.quartz.SchedulerException; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.security.authentication.AuthenticationManager; |
|
|
|
import org.springframework.security.authentication.AuthenticationManager; |
|
|
@ -19,6 +18,9 @@ import org.springframework.web.bind.annotation.GetMapping; |
|
|
|
import org.springframework.web.bind.annotation.PostMapping; |
|
|
|
import org.springframework.web.bind.annotation.PostMapping; |
|
|
|
import org.springframework.web.bind.annotation.RequestMapping; |
|
|
|
import org.springframework.web.bind.annotation.RequestMapping; |
|
|
|
import org.springframework.web.bind.annotation.RestController; |
|
|
|
import org.springframework.web.bind.annotation.RestController; |
|
|
|
|
|
|
|
import purejavacomm.CommPort; |
|
|
|
|
|
|
|
import purejavacomm.CommPortIdentifier; |
|
|
|
|
|
|
|
import purejavacomm.PortInUseException; |
|
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import javax.annotation.Resource; |
|
|
|
|
|
|
|
|
|
|
@ -88,4 +90,79 @@ public class TestController { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping |
|
|
|
|
|
|
|
public String testCollection(String type) throws Exception { |
|
|
|
|
|
|
|
purejavacomm.SerialPort serialPort1 = null; |
|
|
|
|
|
|
|
System.out.println("开始时间==>" + DateTimeUtils.getDateTime()); |
|
|
|
|
|
|
|
String returnStr = "未采集到数据"; |
|
|
|
|
|
|
|
Constant.WEB_FLAG = true; |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
if ("0".equals(type)) { |
|
|
|
|
|
|
|
// 采集水表
|
|
|
|
|
|
|
|
// 采集水表
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
serialPort1 = SerialTool.openPort("COM12", |
|
|
|
|
|
|
|
2400, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.DATABITS_8, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.STOPBITS_1, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.PARITY_NONE); |
|
|
|
|
|
|
|
} catch (PortInUseException e) { |
|
|
|
|
|
|
|
System.out.println("进入异常==>"); |
|
|
|
|
|
|
|
if (null != serialPort1) { |
|
|
|
|
|
|
|
serialPort1.close(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
serialPort1 = SerialTool.openPort("COM12", |
|
|
|
|
|
|
|
2400, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.DATABITS_8, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.STOPBITS_1, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.PARITY_NONE); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//从串口读取数据 SerialTool.sendToPort(SerialTool.HexString2Bytes(sendStr), serialPort, sendStr, deviceType);
|
|
|
|
|
|
|
|
String sendStr = "FE FE FE 68 10 39 87 10 81 00 00 00 01 03 90 1F 00 7C 16".replace(" ",""); |
|
|
|
|
|
|
|
SerialTool.sendToPort(SerialTool.HexString2Bytes(sendStr), serialPort1, sendStr, "水表"); |
|
|
|
|
|
|
|
Thread.sleep(888); |
|
|
|
|
|
|
|
byte[] bytes = SerialTool.readFromPort(serialPort1); |
|
|
|
|
|
|
|
assert bytes != null; |
|
|
|
|
|
|
|
returnStr = ExchangeStringUtil.parseByte2HexStr(bytes); |
|
|
|
|
|
|
|
System.out.println("控制读取回来的水表报文==>" + returnStr); |
|
|
|
|
|
|
|
serialPort1.close(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if ("1".equals(type)) { |
|
|
|
|
|
|
|
// 采集电表
|
|
|
|
|
|
|
|
// 采集电表
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
serialPort1 = SerialTool.openPort("COM12", |
|
|
|
|
|
|
|
1200, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.DATABITS_8, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.STOPBITS_1, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.PARITY_EVEN); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
System.out.println("进入异常==>"); |
|
|
|
|
|
|
|
if (null != serialPort1) { |
|
|
|
|
|
|
|
serialPort1.close(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
serialPort1 = SerialTool.openPort("COM12", |
|
|
|
|
|
|
|
1200, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.DATABITS_8, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.STOPBITS_1, |
|
|
|
|
|
|
|
purejavacomm.SerialPort.PARITY_EVEN); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//从串口读取数据 SerialTool.sendToPort(SerialTool.HexString2Bytes(sendStr), serialPort, sendStr, deviceType);
|
|
|
|
|
|
|
|
String sendStr = "FE FE FE 68 69 04 00 70 01 08 68 01 02 43 C3 BF 16".replace(" ",""); |
|
|
|
|
|
|
|
SerialTool.sendToPort(SerialTool.HexString2Bytes(sendStr), serialPort1, sendStr, "电表"); |
|
|
|
|
|
|
|
Thread.sleep(888); |
|
|
|
|
|
|
|
byte[] bytes = SerialTool.readFromPort(serialPort1); |
|
|
|
|
|
|
|
assert bytes != null; |
|
|
|
|
|
|
|
returnStr = ExchangeStringUtil.parseByte2HexStr(bytes); |
|
|
|
|
|
|
|
System.out.println("控制读取回来的电表报文==>" + returnStr); |
|
|
|
|
|
|
|
serialPort1.close(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} finally { |
|
|
|
|
|
|
|
Constant.WEB_FLAG = false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
System.out.println("结束时间==>" + DateTimeUtils.getDateTime()); |
|
|
|
|
|
|
|
return returnStr; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|