|
|
@@ -109,15 +109,28 @@ namespace UAS_PLCDataReader.PublicMethod
|
|
|
sql.Append("update DEVICEPOLLINGLOG set ");
|
|
|
if (iOnLine)
|
|
|
{
|
|
|
- sql.Append("dpg_onlinetime = sysdate,dpg_status='running' where dpg_id=(select max(dpg_id)");
|
|
|
+ sql.Append("dpg_onlinetime = sysdate,dpg_status='" + DeviceStatus.Running + "' where dpg_id=(select max(dpg_id)");
|
|
|
sql.Append(" from DEVICEPOLLINGLOG where dpg_decode='" + iDeCode + "') and nvl(dpg_status,'disconnect')='disconnect'");
|
|
|
+ Main.QueueUpdateDevice.Enqueue(sql.ToString());
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("update DeviceRunTime set drt_onlinetime=sysdate where drt_id=(select min(drt_id) from DeviceRunTime ");
|
|
|
+ sql.Append("where drt_decode='" + iDeCode + "' and drt_onlinetime is null)");
|
|
|
+ Main.QueueUpdateDevice.Enqueue(sql.ToString());
|
|
|
+ //删除无用的重复数据
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("delete from DeviceRunTime where drt_decode='" + iDeCode + "' and drt_onlinetime is null");
|
|
|
+ Main.QueueUpdateDevice.Enqueue(sql.ToString());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- sql.Append("dpg_offlinetime = sysdate,dpg_status='disconnect' where dpg_id=(select max(dpg_id)");
|
|
|
+ sql.Append("dpg_offlinetime = sysdate,dpg_status='" + DeviceStatus.Disconnect + "' where dpg_id=(select max(dpg_id)");
|
|
|
sql.Append(" from DEVICEPOLLINGLOG where dpg_decode='" + iDeCode + "') and dpg_status='running'");
|
|
|
+ Main.QueueUpdateDevice.Enqueue(sql.ToString());
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("insert into DeviceRunTime (drt_id,drt_decode,drt_offlinetime,drt_badcount) values(DeviceRunTime_seq.nextval,");
|
|
|
+ sql.Append("'" + iDeCode + "',sysdate,(select count(1)+1 from DeviceRunTime where drt_decode='" + iDeCode + "' and drt_onlinetime is not null))");
|
|
|
+ Main.QueueUpdateDevice.Enqueue(sql.ToString());
|
|
|
}
|
|
|
- Main.QueueUpdateDevice.Enqueue(sql.ToString());
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
@@ -136,31 +149,6 @@ namespace UAS_PLCDataReader.PublicMethod
|
|
|
Main.QueueUpdateDevice.Enqueue(sql.ToString());
|
|
|
}
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 记录轮询日志,记录时间
|
|
|
- /// </summary>
|
|
|
- /// <param name="iDeCode">设备编号</param>
|
|
|
- /// <param name="iSendDataSize">发送数据大小</param>
|
|
|
- /// <param name="iReceiveDataSize">接收数据大小</param>
|
|
|
- /// <param name="iOnLine">上线或者离线</param>
|
|
|
- public static void DoDevicePollingLog(string iDeCode, string iSendDataSize, string iReceiveDataSize, bool iOnLine)
|
|
|
- {
|
|
|
- StringBuilder sql = new StringBuilder();
|
|
|
- sql.Clear();
|
|
|
- sql.Append("update DEVICEPOLLINGLOG set dpg_senddatasize=nvl(dpg_senddatasize,0)+" + iSendDataSize);
|
|
|
- sql.Append(",dpg_receivedatasize=nvl(dpg_receivedatasize,0)+" + iReceiveDataSize + ",dpg_count=nvl(dpg_count,0)+1 ");
|
|
|
- if (iOnLine)
|
|
|
- {
|
|
|
- sql.Append(",dpg_onlinetime = sysdate,dpg_status='running'");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- sql.Append(",dpg_offlinetime = sysdate,dpg_status='disconnect'");
|
|
|
- }
|
|
|
- sql.Append(" where dpg_id=(select max(dpg_id) from DEVICEPOLLINGLOG where dpg_decode='" + iDeCode + "')");
|
|
|
- Main.QueueUpdateDevice.Enqueue(sql.ToString());
|
|
|
- }
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 记录轮询日志,不记录时间
|
|
|
/// </summary>
|
|
|
@@ -171,7 +159,7 @@ namespace UAS_PLCDataReader.PublicMethod
|
|
|
{
|
|
|
StringBuilder sql = new StringBuilder();
|
|
|
sql.Clear();
|
|
|
- sql.Append("update DEVICEPOLLINGLOG set dpg_status='running',dpg_senddatasize=nvl(dpg_senddatasize,0)+" + iSendDataSize);
|
|
|
+ sql.Append("update DEVICEPOLLINGLOG set dpg_senddatasize=nvl(dpg_senddatasize,0)+" + iSendDataSize);
|
|
|
sql.Append(",dpg_receivedatasize=nvl(dpg_receivedatasize,0)+" + iReceiveDataSize + ",dpg_count=nvl(dpg_count,0)+1 ");
|
|
|
sql.Append(" where dpg_id=(select max(dpg_id) from DEVICEPOLLINGLOG where dpg_decode='" + iDeCode + "')");
|
|
|
Main.QueueUpdateDevice.Enqueue(sql.ToString());
|