[步骤]


[结果]

[期望]
CODE:N1436561Error:11_-2_0_-2146232060
SQL:SELECT COUNT(1) FROM ( select DISTINCT
A.ID ,
A.CustomerID ,
A.RemovalOrderCode ,
A.RemovalOrderType ,
A.RemovalOrderStatus ,
A.AddAdminName ,
A.OrderSourceID ,
isnull(A.ShippingNotes,'') ShippingNotes,
A.AddTime ,
'ERP' OrderSource,
A.CreatMsg ,
os.OrderSourceName ,
robe.AuditStatus,
robe.OrderCode,
isnull(robe.IsResubmit,0) IsResubmit,
arod.OrderStatus,
dp.DepartmentName,
ra.EmpoyeeNumber,
arods.Status as SyncStatus,
arods.SyncLog as SyncLog,
wh.WareHouseName as OverseaWareHouseName
from RB_RemovalOrderCreateRecord (nolock) A
left join RB_RemovalOrder_BusinessExpand (nolock) robe
on robe.CustomerID = A.CustomerID
and robe.OrderSourceID = A.OrderSourceID
and robe.RemovalOrderCode = A.RemovalOrderCode
left join RB_OrderSource (nolock) os
on os.CustomerID = A.CustomerID
and os.ID = A.OrderSourceID
left join RB_WareHouse (nolock) wh
on A.CustomerID = wh.CustomerID
and A.OverseaWareHouseId = wh.ID
left join RB_Amazon_Removal_Order_Detail (nolock) arod
on A.CustomerID = arod.CustomerID
and A.OrderSourceID = arod.OrderSourceID
and A.RemovalOrderCode = arod.OrderID
left join RB_Amazon_Removal_Order_Detail_SyncStatus (nolock) arods
on arod.CustomerID = arods.CustomerID
and arod.OrderSourceID = arods.OrderSourceID
and arod.OrderID = arods.OrderID
left join RB_Admin (nolock) ra
on A.CustomerID = ra.CustomerID
and A.AddAdminId = ra.ID
left join RB_Department (nolock) dp
on ra.CustomerID = dp.CustomerID
and ra.DepartmentID = dp.ID where A.CustomerID = @CustomerID and A.RemovalOrderType = @RemovalOrderType and robe.AuditStatus = @AuditStatus and A.RemovalOrderStatus = 'Success' union all select DISTINCT
arod.ID ,
arod.CustomerID ,
arod.OrderID as RemovalOrderCode,
arod.OrderType as RemovalOrderType ,
'Success' as RemovalOrderStatus ,
os.SaleAdminName as AddAdminName ,
arod.OrderSourceID ,
'' as ShippingNotes,
arod.AddTime ,
'平台' OrderSource,
'' as CreatMsg ,
os.OrderSourceName ,
robe.AuditStatus,
robe.OrderCode,
isnull(robe.IsResubmit,0) IsResubmit,
arod.OrderStatus ,
dp.DepartmentName,
ra.EmpoyeeNumber,
arods.Status as SyncStatus,
arods.SyncLog as SyncLog,
wh.WareHouseName as OverseaWareHouseName
from RB_Amazon_Removal_Order_Detail (nolock) arod
left join RB_RemovalOrder_BusinessExpand (nolock) robe
ON robe.CustomerID = arod.CustomerID
AND robe.OrderSourceID = arod.OrderSourceID
AND robe.RemovalOrderCode = arod.OrderID
left join RB_OrderSource (nolock) os
on os.CustomerID = arod.CustomerID
and os.ID = arod.OrderSourceID
left join RB_WareHouse (nolock) wh
on os.CustomerID = wh.CustomerID
and os.RemovalOrderDefaultWareHouseID = wh.ID
left join RB_Amazon_Removal_Order_Detail_SyncStatus (nolock) arods
on arod.CustomerID = arods.CustomerID
and arod.OrderSourceID = arods.OrderSourceID
and arod.OrderID = arods.OrderID
left join RB_Amazon_Product_Base po (nolock)
on po.CustomerID = arod.CustomerID
and po.OrderSourceID = arod.OrderSourceID
and po.OrderSourceSKU = arod.SKU
and po.IsDelete=0
left join RB_Admin (nolock) ra
on os.CustomerID = ra.CustomerID
and os.SaleAdminID = ra.ID
left join RB_Department (nolock) dp
on ra.CustomerID = dp.CustomerID
and ra.DepartmentID = dp.ID where arod.CustomerID = @CustomerID and arod.OrderType = @RemovalOrderType and robe.AuditStatus = @AuditStatus and not exists(select 1 from RB_RemovalOrderCreateRecord (nolock) rocr
where rocr.CustomerID = arod.CustomerID
and rocr.OrderSourceID = arod.OrderSourceID
and rocr.RemovalOrderCode = arod.OrderID) ) AS PagerTable
PARAMS:@CustomerID = 1 ,@RemovalOrderType = Disposal ,@AuditStatus = 1 ,
MESSAGE:执行超时已过期。完成操作之前已超时或服务器未响应。
TRACE: 在 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.ExecuteScalar()
在 RB.DAL.DBOperator.GetSingle(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms, Boolean IsWriteDB) 在 RB.DAL.DBOperator.toCommonTipException(SqlException ex, String sql, SqlParameter[] cmdParms)
在 RB.DAL.DBOperator.GetSingle(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms, Boolean IsWriteDB)
在 RB.DAL.DBOperator.QueryPager(String SQLString, String strOrder, Int32 pageIndex, Int32 pageSize, Int32& recordCount, Int32 times, SqlParameter[] cmdParms)
在 RB.DAL.DBOperator.QueryPager(String SQLString, String strOrder, Int32 pageIndex, Int32 pageSize, Int32& recordCount, SqlParameter[] cmdParms)
在 RB.DALExtendV2.RB_RemovalOrderCreateRecordExtendV2.GetPagerModelsManualToRemoveOrderList(CM_GetRemoveOrderListParam param, Int32& recordCount)
在 PandaBuy.ERP.Web.IrobotBox.RemoveOrder.RemoveOrderList.BindData()
在 PandaBuy.ERP.Web.IrobotBox.RemoveOrder.RemoveOrderList.Page_Load(Object sender, EventArgs e)
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest()
在 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
在 System.Web.UI.Page.ProcessRequest(HttpContext context)
在 ASP.irobotbox_removeorder_removeorderlist_aspx.ProcessRequest(HttpContext context)
在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
在 System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)
在 System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)
在 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)
在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
在 System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)


1.问题原因:查询SQL,然后在程序中根据移除订单号,来源渠道还有移除方式三个字段分组。在生产环境中查询出来的结果超过20条数据后,就变成了一条
解决方案:在查询SQL时就进行分组
范围:移除订单
2.问题原因:因为在平台同步回来的表中添加了一个收货仓ID字段,如果收获仓ID有值就会显示出来
解决方案:在界面显示时,判断当前的移除方式为Return类型时,才显示收货仓
范围:移除订单
3.问题原因:SQL查询时超时
解决方案:添加了两个索引
范围:移除订单
USE [irobotbox]
GO
CREATE NONCLUSTERED INDEX [IX_CustomerID_OrderSourceID_OrderID_OrderType]
ON [dbo].[RB_Amazon_Removal_Order_Detail] ([CustomerID],[OrderSourceID],[OrderID],[OrderType])
GO
GO
CREATE NONCLUSTERED INDEX [IX_CustomerID_OrderID_OrderSourceID]
ON [dbo].[RB_Amazon_Removal_Order_Detail_SyncStatus] ([CustomerID],[OrderID],[OrderSourceID])
INCLUDE ([Status],[SyncLog])
GO