完成发送部分
This commit is contained in:
parent
d5bcac3527
commit
1f3a09c25f
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||||
|
<data-source source="LOCAL" name="Ubuntu_22.04" uuid="62270945-7c29-45e9-b4d7-a582be988551">
|
||||||
|
<driver-ref>mysql.8</driver-ref>
|
||||||
|
<synchronize>true</synchronize>
|
||||||
|
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
|
||||||
|
<jdbc-url>jdbc:mysql://116.62.133.59:3306</jdbc-url>
|
||||||
|
<working-dir>$ProjectFileDir$</working-dir>
|
||||||
|
</data-source>
|
||||||
|
</component>
|
||||||
|
</project>
|
BIN
MatchLogs.txt
BIN
MatchLogs.txt
Binary file not shown.
|
@ -0,0 +1,101 @@
|
||||||
|
package com.qst.dms.net;
|
||||||
|
|
||||||
|
import com.qst.dms.entity.MatchedLogRec;
|
||||||
|
import com.qst.dms.entity.MatchedTransport;
|
||||||
|
import com.qst.dms.service.LogRecService;
|
||||||
|
import com.qst.dms.service.TransportService;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
import java.net.ServerSocket;
|
||||||
|
import java.net.Socket;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class DmsNetServer {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
AcceptLogThread acceptLogThread = new AcceptLogThread(10000);
|
||||||
|
AcceptTranThread acceptTranThread = new AcceptTranThread(10001);
|
||||||
|
acceptLogThread.start();
|
||||||
|
acceptTranThread.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class AcceptLogThread extends Thread{
|
||||||
|
Socket socket;
|
||||||
|
ObjectInputStream ois;
|
||||||
|
ServerSocket serverSocket;
|
||||||
|
LogRecService logRecService;
|
||||||
|
|
||||||
|
AcceptLogThread(int port){
|
||||||
|
logRecService = new LogRecService();
|
||||||
|
try{
|
||||||
|
serverSocket = new ServerSocket(port);
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
while(this.isAlive())
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
socket = serverSocket.accept();
|
||||||
|
if(socket!=null)
|
||||||
|
{
|
||||||
|
ois = new ObjectInputStream(socket.getInputStream());
|
||||||
|
ArrayList<MatchedLogRec>matchedLogRecs = (ArrayList<MatchedLogRec>) ois.readObject();
|
||||||
|
logRecService.saveMatchLogToDB(matchedLogRecs);
|
||||||
|
System.out.println("完成一次日志数据接收");
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class AcceptTranThread extends Thread{
|
||||||
|
ServerSocket serverSocket;
|
||||||
|
Socket socket;
|
||||||
|
ObjectInputStream ois;
|
||||||
|
TransportService transportService;
|
||||||
|
|
||||||
|
AcceptTranThread(int port){
|
||||||
|
transportService = new TransportService();
|
||||||
|
try{
|
||||||
|
serverSocket = new ServerSocket(port);
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
while(this.isAlive())
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
socket = serverSocket.accept();
|
||||||
|
if(socket!=null)
|
||||||
|
{
|
||||||
|
ois = new ObjectInputStream(socket.getInputStream());
|
||||||
|
ArrayList<MatchedTransport>matchedTransports = (ArrayList<MatchedTransport>) ois.readObject();
|
||||||
|
transportService.saveMatchTransportToDB(matchedTransports);
|
||||||
|
System.out.println("完成一次物流数据接收");
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -19,8 +19,11 @@ import javafx.scene.paint.Color;
|
||||||
import javafx.scene.input.MouseEvent;
|
import javafx.scene.input.MouseEvent;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.NetworkInterface;
|
import java.net.NetworkInterface;
|
||||||
|
import java.net.Socket;
|
||||||
import java.net.SocketException;
|
import java.net.SocketException;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
@ -184,6 +187,7 @@ public class InfoInputFXML {
|
||||||
if(!logIDValid)
|
if(!logIDValid)
|
||||||
throw new Exception("ID已被占用");
|
throw new Exception("ID已被占用");
|
||||||
id = Integer.parseInt(Sid);
|
id = Integer.parseInt(Sid);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch(NumberFormatException e)
|
catch(NumberFormatException e)
|
||||||
{
|
{
|
||||||
|
@ -512,31 +516,93 @@ public class InfoInputFXML {
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
public void matchedAcquisitionLogData(ActionEvent event) {
|
public void matchedAcquisitionLogData(ActionEvent event) {
|
||||||
if(logRecList.isEmpty())
|
if(matchedLogs==null)
|
||||||
{
|
|
||||||
matchedLogs = new ArrayList<>();
|
matchedLogs = new ArrayList<>();
|
||||||
|
if(logRecList.isEmpty())
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
LogRecAnalyse logAn = new LogRecAnalyse(logRecList);
|
LogRecAnalyse logAn = new LogRecAnalyse(logRecList);
|
||||||
logAn.doFilter();
|
logAn.doFilter();
|
||||||
matchedLogs = logAn.matchData();
|
matchedLogs.addAll(logAn.matchData());
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
public void matchedAcquisitionTransportData(ActionEvent event){
|
public void matchedAcquisitionTransportData(ActionEvent event){
|
||||||
if(transportList.isEmpty())
|
if(matchedTrans==null)
|
||||||
{
|
|
||||||
matchedTrans = new ArrayList<>();
|
matchedTrans = new ArrayList<>();
|
||||||
|
if(transportList.isEmpty())
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
TransportAnalyse transAn = new TransportAnalyse(transportList);
|
TransportAnalyse transAn = new TransportAnalyse(transportList);
|
||||||
transAn.doFilter();
|
transAn.doFilter();
|
||||||
matchedTrans = transAn.matchData();
|
matchedTrans.addAll(transAn.matchData());
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
public void sandData(ActionEvent event) {
|
public void sandData(ActionEvent event) {
|
||||||
//开发中……
|
boolean doLog=false,doTransport=false;
|
||||||
|
if((matchedLogs==null||matchedLogs.isEmpty())&&!logRecList.isEmpty())
|
||||||
|
{
|
||||||
|
doLog=true;
|
||||||
|
Alert alert = new Alert(AlertType.CONFIRMATION);
|
||||||
|
alert.setTitle("Warning Dialog");
|
||||||
|
alert.setHeaderText("配对的日志数据为空");
|
||||||
|
alert.setContentText("你是否忘记匹配日志数据,要匹配日志数据吗?");
|
||||||
|
Optional<ButtonType> result = alert.showAndWait();
|
||||||
|
if (result.get() == ButtonType.OK){
|
||||||
|
matchedAcquisitionLogData(null);
|
||||||
|
if(matchedLogs.isEmpty())
|
||||||
|
doLog=false;
|
||||||
|
}
|
||||||
|
else doLog=false;
|
||||||
|
}
|
||||||
|
if(doLog)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
Socket logSocket = new Socket("116.62.133.59",10000);
|
||||||
|
ObjectOutputStream oos = new ObjectOutputStream(logSocket.getOutputStream());
|
||||||
|
oos.writeObject(matchedLogs);
|
||||||
|
oos.flush();
|
||||||
|
oos.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
logService.saveAndAppendMatchLog(matchedLogs);
|
||||||
|
//logService.saveMatchLogToDB(matchedLogs);//添加至DB
|
||||||
|
logRecList.clear();
|
||||||
|
matchedLogs.clear();
|
||||||
|
logUpVal=0;
|
||||||
|
}
|
||||||
|
if((matchedTrans==null|| matchedTrans.isEmpty())&&!transportList.isEmpty())
|
||||||
|
{
|
||||||
|
doTransport=true;
|
||||||
|
Alert alert = new Alert(AlertType.CONFIRMATION);
|
||||||
|
alert.setTitle("Warning Dialog");
|
||||||
|
alert.setHeaderText("配对的物流数据为空");
|
||||||
|
alert.setContentText("你是否忘记匹配物流数据,要匹配物流数据吗?");
|
||||||
|
Optional<ButtonType> result = alert.showAndWait();
|
||||||
|
if (result.get() == ButtonType.OK){
|
||||||
|
matchedAcquisitionTransportData(null);
|
||||||
|
if(matchedTrans.isEmpty())
|
||||||
|
doTransport=false;
|
||||||
|
}
|
||||||
|
else doTransport=false;
|
||||||
|
}
|
||||||
|
if(doTransport)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
Socket transSocket = new Socket("116.62.133.59",10001);
|
||||||
|
ObjectOutputStream oos = new ObjectOutputStream(transSocket.getOutputStream());
|
||||||
|
oos.writeObject(matchedLogs);
|
||||||
|
oos.flush();
|
||||||
|
oos.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
logService.saveAndAppendMatchLog(matchedLogs);
|
||||||
|
//logService.saveMatchLogToDB(matchedLogs);//添加至DB
|
||||||
|
logRecList.clear();
|
||||||
|
matchedLogs.clear();
|
||||||
|
logUpVal=0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
|
@ -560,9 +626,9 @@ public class InfoInputFXML {
|
||||||
if(doLog)
|
if(doLog)
|
||||||
{
|
{
|
||||||
logService.saveAndAppendMatchLog(matchedLogs);
|
logService.saveAndAppendMatchLog(matchedLogs);
|
||||||
logService.saveMatchLogToDB(matchedLogs);//添加至DB
|
//logService.saveMatchLogToDB(matchedLogs);//添加至DB
|
||||||
logRecList.clear();
|
logRecList.clear();
|
||||||
matchedLogs.clear();
|
//matchedLogs.clear(); 不再删除matchedLogs 因为需要发送
|
||||||
logUpVal=0;
|
logUpVal=0;
|
||||||
}
|
}
|
||||||
if((matchedTrans==null|| matchedTrans.isEmpty())&&!transportList.isEmpty())
|
if((matchedTrans==null|| matchedTrans.isEmpty())&&!transportList.isEmpty())
|
||||||
|
@ -583,9 +649,9 @@ public class InfoInputFXML {
|
||||||
if(doTransport)
|
if(doTransport)
|
||||||
{
|
{
|
||||||
tranService.saveAndAppendTransport(matchedTrans);
|
tranService.saveAndAppendTransport(matchedTrans);
|
||||||
tranService.saveMatchTransportToDB(matchedTrans);//添加至DB
|
//tranService.saveMatchTransportToDB(matchedTrans);//添加至DB
|
||||||
transportList.clear();
|
transportList.clear();
|
||||||
matchedTrans.clear();
|
//matchedTrans.clear(); 不再删除matchedTrans 因为需要发送
|
||||||
transportUpVal=0;
|
transportUpVal=0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue