[步骤]
CODE:N09311719
Error:16_208_0_-2146232060
SQL:
if exists ((select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..#Tb_OrderSourceTypes') and type='U'))
BEGIN
DROP table #Tb_OrderSourceTypes
end
create table #Tb_OrderSourceTypes (Id int primary key)
insert into #Tb_OrderSourceTypes SELECT CONVERT(INT, item) as Id FROM Charsplitforin('82',',')
if exists ((select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..#Tb_OrderSourceIDs') and type='U'))
BEGIN
DROP table #Tb_OrderSourceIDs
end
create table #Tb_OrderSourceIDs (Id int primary key)
insert into #Tb_OrderSourceIDs SELECT CONVERT(INT, item) as Id FROM Charsplitforin('17957,15043,18476,10464,20329,20071,20068,20067,20062,20060,20420,20691,20828,20829,21502',',')
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY 发货时间 ASC) AS [PageIndex] ,* FROM ( select oif.SettlementDate as '结算时间',
(case when oif.SalesRefunds=0 and oif.OrderCode!='' then '付款'
when oif.OrderCode='' then '其他'
else '退款' end) '交易类型',
oif.OrderSourceTypeName as '平台',
oif.OrderSourceName as '账号',
oif.ClientOrderCode as '平台订单号',
oif.OrderCode as '系统订单号',
(case oif.OrderState when 0 then '未发货'
when 1 then '部分发货'
when 2 then '全部发货'
when 3 then '妥投' else '' end) as '发货状态',
(case oif.OrderStatus when 0 then '正常'
when 1 then '待审核'
when 2 then '作废'
when 3 then '锁定'
when 4 then '只锁定发货'
when 5 then '已完成' else '' end) as '订单状态',
oif.TransactionId as 'Paypal交易号',
oif.PayTime as '支付时间',
oif.ShipTime as '发货时间',
oif.OrderAddedTime as '订单添加时间',
oif.OrderSourceContry as '订单国家',
oif.WareHouseName as '发货仓库',
oif.TransportName as '运输方式',
oif.TrackNumbers as '发货追踪号',
oif.TotalPrice as '订单金额',
oif.ExchangeRMB as '兑人民币汇率',
oif.Currency as '订单使用币种',
oif.SKU as '系统SKU',
oif.ClientSKU as '自定义SKU',
oif.SellerSKU,
B.ProductGroupSKU AS '母体SKU',
ISNULL(( CASE WHEN B.ClassID1 = B.ClassID THEN D.ClassNameCn
WHEN B.ClassID1 != B.ClassID2 AND B.ClassID = B.ClassID2 THEN D.ClassNameCn + ' >> ' + E.ClassNameCn
ELSE D.ClassNameCn + ' >> ' + E.ClassNameCn + ' >> ' +C.ClassNameCn
END ), '') AS '产品类别',
oif.ASINorItemID,
oif.OrderItemId,
oif.ProductSalesPrice as '产品售价',
oif.ProductShipPrice as '运费',
oif.ProductNameCN as '产品中文名称',
oif.ProductGrossWeight as '毛重',
oif.LastSupplierPrice as '最新供货价',
oif.ProductNum as '销售数量',
oif.ProdutNumUpdate as '修改数量',
oif.GroupSKU as '组合SKU',
oif.GroupProductNum as '组合SKU数量',
oif.AssignDevelopAdminName as '负责人员',
oif.DevelopAdminName as '开发人员',
--oif.EditAdminName as '编辑人员',
--oif.ImageAdminName as '图片处理人员',
oif.BusinessAdminName as '销售人员',
(STUFF((SELECT ';' + cl.LabelName FROM RB_Classify_Label_Tie_Up tu (nolock)
INNER JOIN RB_Classify_Label cl (nolock) ON tu.ClassifyLabelId=cl.ID and cl.IsDelete=0
WHERE tu.LabelType=0 AND tu.TieUpId=oif.BusinessTeamID and tu.IsDelete=0
FOR XML PATH('')),1,1,'')) '架构标签',
oif.SalesAdminName as '首选业务人员',
k.DeptFullPathName '部门',
oif.BuyerName as '采购人员',
--oif.CheckAdminName as '上架人员',
oif.BusinessTeamName as '销售小组',
oif.Profits as '毛利润',
oif.Incomes as '收入',
oif.Expenses as '支出',
oif.SalesPrice as '销售收入',
oif.TransportPay as '运费收入',
oif.SalesRefunds as '退款金额',
oif.PromotionRebates as '优惠金额',
oif.OtherCredits as '其他收入',
oif.CommisionFee as '交易佣金',
oif.FBATransactionFees as 'FBA操作费',
oif.OrderSourceOtherDebits as '平台其他支出',
oif.CostOfAdvertising as '广告费用',
(oif.BuyPrice+ISNULL(oif.DistributionPrice,0)) as '采购成本',
ISNULL(oif.SubsidyPrice,0) as '补贴调整',
ISNULL(oif.SalesVatFee,0) as '销售VAT',
oif.PackageFees as '本地仓运费',
oif.OverSeasShipFees as '海外仓运费',
oif.FirstLegFees as '头程运费',
oif.TariffFees as '进口关税',
oif.ExchangeLost as '汇率折损',
oif.PackagedCost as '包装成本',
ISNULL(oif.WareHouseManagementPrice,0) as '仓库管理成本(自定义费用项)',
ISNULL(oif.CustomFeeOtherCostPrice,0) as '其它费用成本(自定义费用项)',
ISNULL(oif.Tax,0) as '税费收入',
ISNULL(oif.MarketplaceFacilitatorTax,0) as '扣除客户支付税费',
ISNULL(oif.ImportFee,0) as '人工导入费用',
oif.OperatorName as '订单操作人员',
oif.SellerUserID as '卖家ID',
ISNULL(oif.PaypalAccount,'') as '收款账号',
CASE oif.AddOrderReasonType WHEN 21 THEN '是' ELSE '否' END as 是否营销推广,
CASE oif.PromotionType WHEN 1 THEN '是' ELSE '否' END as 是否发票订单,
oif.OrderDescription as '订单备注',
CASE WHEN pso.DownLoadUpdateTime ='2000-01-01' THEN '子单'
WHEN pso.DownLoadUpdateTime <> '2000-01-01' THEN '主单'
ELSE '' END AS '订单标识' FROM RB_Report_OrderSettlement oif (nolock)
LEFT JOIN #temp_PrimarySecondaryOrder pso ON pso.CustomerID = oif.CustomerID and pso.OrderSourceID = oif.OrderSourceID and pso.OrderCode = oif.OrderCode INNER JOIN #Tb_OrderSourceTypes TOST on oif.OrderSourceType= TOST.Id INNER JOIN #Tb_OrderSourceIDs TOSI on oif.OrderSourceID= TOSI.Id
LEFT JOIN RB_Product B WITH(NOLOCK) ON oif.CustomerID=B.CustomerID AND oif.SKU=B.SKU
LEFT JOIN RB_Product_Class C WITH(NOLOCK) ON C.CustomerID=B.CustomerID AND C.ID=B.ClassID
LEFT JOIN RB_Product_Class D WITH(NOLOCK) ON D.CustomerID=B.CustomerID AND D.ID=B.ClassID1
LEFT JOIN RB_Product_Class E WITH(NOLOCK) ON E.CustomerID=B.CustomerID AND E.ID=B.ClassID2
LEFT JOIN RB_Admin f on f.ID = oif.SalesAdminID
LEFT JOIN RB_Department k ON f.CustomerID=k.CustomerID AND f.DepartmentID=k.ID
WHERE 1=1 and oif.CustomerID=@CustomerID and oif.ShipTime>=@StartTime and oif.ShipTime<DATEADD(DAY,1,@EndTime) ) AS TempTable ) AS PagerTable WHERE PagerTable.[PageIndex] BETWEEN 1 AND 10000
PARAMS:@CustomerID = 1 ,@StartTime = 2024/4/1 0:00:00 ,@EndTime = 2024/4/2 0:00:00 ,
MESSAGE:Invalid object name '#temp_PrimarySecondaryOrder'.
TRACE: 在 System.Data.SqlClient.SqlConnection.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.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
在 RB.DAL.DBOperator.Query(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms, Boolean IsWriteDB) 在 RB.DAL.DBOperator.toCommonTipException(SqlException ex, String sql, SqlParameter[] cmdParms)
在 RB.DAL.DBOperator.Query(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms, Boolean IsWriteDB)
在 RB.DAL.DBOperator.QueryPagerNotCount(String SQLString, String OuterParamerSQL, String strOrder, Int32 pageIndex, Int32 pageSize, Int32& recordCount, Int32 times, SqlParameter[] cmdParms)
在 RB.DALExtendV2.Generate.Report.RB_Report_OrderSettlementExtendV2.GetPagerList(RB_Report_OrderSettlement_PSParameters parameters, Int32& recordCount, Int32 times)
在 Biz.TaskApply.ReportTaskMethods.GetReportForOrder(Report_OrderSettlementForOrderParamer parameters)
在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
在 Biz.TaskApply.ReportTaskApply.ReportTaskExecute(RB_ReportApply_Task task)
在 Biz.TaskApply.ReportTaskApply.ProcessExportExcel(RB_ReportApply_Task task)
在 RB.Utility.TaskSmartManager`1.execute(Func`2 execFunction)
在 System.Threading.Tasks.Task.Execute()
在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
在 System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
在 System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
在 System.Threading.ThreadPoolWorkQueue.Dispatch()

[结果]
[期望]
修复异常
1.非速卖通平台不需要区分主子单,需要创建空的临时表
2.已调整