From 335a3b0a6a6f27d0f7097b27c6614c66f5946676 Mon Sep 17 00:00:00 2001
From: Administrator <1525436766@qq.com>
Date: 星期四, 25 三月 2021 17:10:31 +0800
Subject: [PATCH] 添加电机历史实时数据记录

---
 Demo_Manage_Simul/src/com/thread/devs/Manage_Simul_Motor_Thread.java |   48 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 47 insertions(+), 1 deletions(-)

diff --git a/Demo_Manage_Simul/src/com/thread/devs/Manage_Simul_Motor_Thread.java b/Demo_Manage_Simul/src/com/thread/devs/Manage_Simul_Motor_Thread.java
index abc2a41..5b53d03 100644
--- a/Demo_Manage_Simul/src/com/thread/devs/Manage_Simul_Motor_Thread.java
+++ b/Demo_Manage_Simul/src/com/thread/devs/Manage_Simul_Motor_Thread.java
@@ -1,5 +1,6 @@
 package com.thread.devs;
 
+import java.util.Calendar;
 import java.util.Date;
 
 import com.mode.Device_Inf;
@@ -20,6 +21,9 @@
 	
 	@Override
 	public void run() {
+		RecordRealData real = new RecordRealData(pool, device);
+		new Thread(real).start();
+		
 		Manage_Simul_Motor_Thread_SQL.insertOrUpdateMotor_State_Table(pool, state);
 		while(true) {
 			try {
@@ -28,7 +32,7 @@
 				Manage_Simul_Motor_Thread_SQL.updateMotor_State_Table(pool, state);
 				
 				Thread.sleep(1000);
-			} catch (InterruptedException e) {
+			} catch (Exception e) {
 				e.printStackTrace();
 			}
 		}
@@ -46,5 +50,47 @@
 		state.motor_state = Manage_Util.CreateSwitchRanDom();//'电机状态',
 	}
 	
+	public class RecordRealData implements Runnable{
+		public MysqlConnPool pool;
+		public Device_Inf device;
+		
+		
+		public RecordRealData(MysqlConnPool pool,Device_Inf device) {
+			this.pool = pool;
+			this.device = device;
+		}
+
+		@Override
+		public void run() {
+			Date last = new Date(0,0,0);
+			while(true) {
+				Date now = new Date();
+				try {
+					Manage_Simul_Motor_Thread_SQL.createTb_Motor_State_RealData_Table(pool, state.device_id, now);
+					Manage_Simul_Motor_Thread_SQL.createTb_Motor_State_RealData_Table(pool, state.device_id, tomorrow(now));
+					
+					if((now.getTime()-last.getTime())>=1000){
+						Manage_Simul_Motor_Thread_SQL.insertMotor_State_RealData_Table(pool, state);
+						
+						last = now;
+					}				
+					Thread.sleep(200);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		}
+	}
 	
+	/**
+	 * 	返回明天日期
+     * @param today
+     * @return
+     */
+    public Date tomorrow(Date today) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(today);
+        calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) + 1);
+        return calendar.getTime();
+    }
 }

--
Gitblit v1.9.1