20210719
This commit is contained in:
@@ -746,3 +746,43 @@ IP地址:::1
|
||||
|
||||
出错时间:07/08/2021 20:22:22
|
||||
|
||||
|
||||
错误信息开始=====>
|
||||
错误类型:SqlException
|
||||
错误信息:执行超时已过期。完成操作之前已超时或服务器未响应。
|
||||
错误堆栈:
|
||||
在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
|
||||
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
|
||||
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
|
||||
在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
|
||||
在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
|
||||
在 System.Data.SqlClient.SqlDataReader.get_MetaData()
|
||||
在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
|
||||
在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
|
||||
在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
|
||||
在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
|
||||
在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
|
||||
在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
|
||||
在 System.Data.Common.DbCommand.ExecuteReader()
|
||||
在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
|
||||
在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
|
||||
在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
|
||||
在 System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
|
||||
在 FineUIPro.Web.ZHGL.RealName.SynchroSet.btnDataProcess_Click(Object sender, EventArgs e) 位置 D:\WuHuan\SGGL\SGGL\FineUIPro.Web\ZHGL\RealName\SynchroSet.aspx.cs:行号 328
|
||||
在 FineUIPro.Button.OnClick(EventArgs e)
|
||||
在 (Button , EventArgs )
|
||||
在 FineUIPro.Button.RaisePostBackEvent(String eventArgument)
|
||||
在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
|
||||
在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
|
||||
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
|
||||
----错误类型:Win32Exception
|
||||
----错误信息:
|
||||
----等待的操作过时。
|
||||
----错误堆栈:
|
||||
出错时间:07/15/2021 09:40:39
|
||||
出错文件:http://localhost:8118/ZHGL/RealName/SynchroSet.aspx
|
||||
IP地址:::1
|
||||
操作人员:JT
|
||||
|
||||
出错时间:07/15/2021 09:40:39
|
||||
|
||||
|
||||
@@ -308,42 +308,66 @@ namespace FineUIPro.Web.ZHGL.RealName
|
||||
/// <param name="e"></param>
|
||||
protected void btnDataProcess_Click(object sender, EventArgs e)
|
||||
{
|
||||
var result = (from x in Funs.DB.RealName_PersonInOutNow
|
||||
group x by new
|
||||
{
|
||||
x.ProjectId,
|
||||
date = x.ChangeTime.Value.Date,
|
||||
x.IdcardNumber,
|
||||
x.IsIn
|
||||
} into g
|
||||
where g.Count() > 1
|
||||
select new
|
||||
{
|
||||
g.First().ProjectId,
|
||||
date = g.First().ChangeTime.Value.Date,
|
||||
g.First().IdcardNumber,
|
||||
g.First().IsIn
|
||||
}).Distinct().Take(500);
|
||||
|
||||
foreach (var item in result)
|
||||
int delCount = 0;
|
||||
try
|
||||
{
|
||||
var getDateRecords = from x in Funs.DB.RealName_PersonInOutNow
|
||||
where x.ProjectId == item.ProjectId && x.ChangeTime.Value >= item.date.Date && x.ChangeTime.Value < item.date.Date.AddDays(1)
|
||||
&& x.IdcardNumber == item.IdcardNumber
|
||||
select x;
|
||||
DateTime? minChangeTime = getDateRecords.Where(x => x.IsIn == true).Min(x=>x.ChangeTime);
|
||||
DateTime? maxChangeTime = getDateRecords.Where(x => x.IsIn == false).Max(x => x.ChangeTime);
|
||||
var getDeleteR = from x in getDateRecords
|
||||
where (minChangeTime.HasValue && x.IsIn == true && x.ChangeTime != minChangeTime) ||
|
||||
(maxChangeTime.HasValue && x.IsIn == false && x.ChangeTime != maxChangeTime)
|
||||
select x;
|
||||
if (getDeleteR.Count() > 0)
|
||||
var result = (from x in Funs.DB.RealName_PersonInOutNow
|
||||
select new
|
||||
{
|
||||
x.ProjectId,
|
||||
date = x.ChangeTime.Value.Date,
|
||||
x.IdcardNumber,
|
||||
x.IsIn
|
||||
}).Distinct();
|
||||
foreach (var item in result)
|
||||
{
|
||||
Funs.DB.RealName_PersonInOutNow.DeleteAllOnSubmit(getDeleteR);
|
||||
Funs.DB.SubmitChanges();
|
||||
var getDateRecords = from x in Funs.DB.RealName_PersonInOutNow
|
||||
where x.ProjectId == item.ProjectId && x.ChangeTime.Value >= item.date.Date && x.ChangeTime.Value < item.date.Date.AddDays(1)
|
||||
&& x.IdcardNumber == item.IdcardNumber
|
||||
select x;
|
||||
|
||||
var getInRecords = getDateRecords.Where(x => x.IsIn == true);
|
||||
if (getInRecords.Count() > 1)
|
||||
{
|
||||
DateTime? minChangeTime = getInRecords.Min(x => x.ChangeTime);
|
||||
var getDeleteInR = from x in getInRecords
|
||||
where x.ChangeTime != minChangeTime
|
||||
select x;
|
||||
if (getDeleteInR.Count() > 0)
|
||||
{
|
||||
delCount += getDeleteInR.Count();
|
||||
Funs.DB.RealName_PersonInOutNow.DeleteAllOnSubmit(getDeleteInR);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
var getOutRecords = getDateRecords.Where(x => x.IsIn == false);
|
||||
if (getOutRecords.Count() > 1)
|
||||
{
|
||||
DateTime? maxChangeTime = getOutRecords.Max(x => x.ChangeTime);
|
||||
var getDeleteOutR = from x in getOutRecords
|
||||
where x.ChangeTime != maxChangeTime
|
||||
select x;
|
||||
if (getDeleteOutR.Count() > 0)
|
||||
{
|
||||
delCount += getDeleteOutR.Count();
|
||||
Funs.DB.RealName_PersonInOutNow.DeleteAllOnSubmit(getDeleteOutR);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
if (delCount >= 1000)
|
||||
{
|
||||
Alert.ShowInTop("已清理" + delCount.ToString(), MessageBoxIcon.Success);
|
||||
return;
|
||||
}
|
||||
}
|
||||
Alert.ShowInTop("已清理" + delCount.ToString(), MessageBoxIcon.Success);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Alert.ShowInTop("已清理" + delCount.ToString(), MessageBoxIcon.Success);
|
||||
return;
|
||||
}
|
||||
Alert.ShowInTop("完成!", MessageBoxIcon.Success);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user