重现步骤

事务执行时间过长,应分步骤分批处理数据,单次事务执行时间不能过长

from clipboard

--修改版本:任务ID:3956 利润相关>>产品利润管理页面增加退款率的分析展示

CREATE PROC [dbo].[Proc_SaleProductProfitStastic]

AS

BEGIN

   --第一步:删除三个月前的数据  

   DELETE FROM RB_Report_SalesProductProfit

   WHERE ShipDate < CONVERT(NVARCHAR(100), DATEADD(MONTH, -4, GETDATE()), 23);

   DELETE FROM RB_Report_SKUProductProfitStastic

   WHERE ShipDate < CONVERT(NVARCHAR(100), DATEADD(MONTH, -4, GETDATE()), 23);


   DECLARE CurrMaxShipDate DATE,

           NeedInCount INT,

           BeforeFifteenDate DATE;


   --查询最新的发货日期  

   SET BeforeFifteenDate = CONVERT(DATE, DATEADD(DAY, -15, GETDATE())) --CONVERT(DATE, DATEADD(DAY, -15, GETDATE()));

   SET CurrMaxShipDate =

   (

       SELECT CONVERT(NVARCHAR(100),

                      ISNULL(   CASE

                                    WHEN MAX(ShipDate) > BeforeFifteenDate THEN

                                        BeforeFifteenDate

                                    ELSE

                                        MAX(ShipDate)

                                END,

                                DATEADD(MONTH, -3, GETDATE())

                            ),

                      23

                     )

       FROM RB_Report_SalesProductProfit (NOLOCK)

   );



   --删除CurrMaxShipDate 之后的所有数据,确保数据的齐全(插入的时间>ShipDate)  

   --DELETE FROM RB_Report_SalesProductProfit  

   --   WHERE  ShipDate > CurrMaxShipDate  

   DELETE FROM RB_Report_SKUProductProfitStastic

   WHERE ShipDate > CurrMaxShipDate;


   --需要新增的数据  

   CREATE TABLE SalesProductProfit

   (

       [ID] [INT] NOT NULL IDENTITY(1, 1),

       [CustomerID] [INT] NOT NULL,

       [SKU] [NVARCHAR](200) COLLATE Chinese_PRC_CI_AS NOT NULL,

       [SellerSKU] [NVARCHAR](400) COLLATE Chinese_PRC_CI_AS NOT NULL,

       [OrderSourceID] [INT] NOT NULL,

       [OrderSourceName] [NVARCHAR](400) COLLATE Chinese_PRC_CI_AS NOT NULL,

       [ProductNameCN] [NVARCHAR](2000) COLLATE Chinese_PRC_CI_AS NULL,

       [ShipDate] [DATE] NOT NULL,

       [DailyProductNum] [INT] NOT NULL,

       [DailyProfits] [MONEY] NOT NULL,

       [DailyIncomes] [MONEY] NOT NULL,

       [SellerSKUDailyProfitsRate] [DECIMAL](18, 2) NULL,

       [SellerSKUSevenDayProfitsRate] [DECIMAL](18, 2) NULL,

       [SellerSKUCurrWeekprofits] [MONEY] NULL,

       [SellerSKULastWeekprofits] [MONEY] NULL,

       [SevenDayProfits] [MONEY] NULL,

       [SevenDaySaleNumber] [INT] NULL,

       [MonthProfits] [MONEY] NULL,

       [MonthSaleNumber] [INT] NULL,

       [MonthAvgProfits] [MONEY] NULL,

       [BusinessAdminID] [INT] NULL,

       [SevenDayIncomes] [MONEY] NULL

           DEFAULT ((0)),

       [MonthIncomes] [MONEY] NULL

           DEFAULT ((0)),

       [UpdateTime] [DATETIME] NULL,

       [OrderSourceType] [INT] NULL

           DEFAULT ((0)),

       [DailyAvgRefund] [MONEY] NULL,

       [SevenDayAvgRefund] [MONEY] NULL,

       [MonthAvgRefund] [MONEY] NULL,

       [DailyRefund] [MONEY] NULL,

       [SevenDayRefund] [MONEY] NULL,

       [MonthRefund] [MONEY] NULL,

[ThreeMonthProfitRate] [DECIMAL](18, 4) NULL,

[ThreeMonthRefundRate] [DECIMAL](18, 4) NULL,

[OtherDailyProfits] [MONEY] NULL,

[OtherSellerSKUDailyProfitsRate] DECIMAL(18,4) NULL,

[OtherSellerSKUSevenDayProfitsRate] DECIMAL(18,4) NULL,

[OtherSellerSKUCurrWeekprofits] MONEY NULL,

[OtherSellerSKULastWeekprofits] MONEY NULL,

[OtherSevenDayProfits] MONEY NULL,

[OtherMonthProfits] MONEY NULL,

[OtherMonthAvgProfits] MONEY NULL,

[OtherThreeMonthProfitRate] DECIMAL(18,4) NULL

   );

CREATE INDEX IX_ShipDate ON SalesProductProfit(ShipDate);

CREATE INDEX IX_CustomerID ON SalesProductProfit(CustomerID,SKU,SellerSKU,OrderSourceID,ShipDate);


   INSERT INTO SalesProductProfit

   (

       CustomerID,

       SKU,

       SellerSKU,

       OrderSourceID,

       OrderSourceName,

       ProductNameCN,

       ShipDate,

       DailyProductNum,

       DailyProfits,

       DailyIncomes,

       SevenDayProfits,

       SevenDaySaleNumber,

       MonthProfits,

       MonthSaleNumber,

       MonthAvgProfits,

       BusinessAdminID,

       OrderSourceType,

       DailyRefund,

       SevenDayRefund,

       MonthRefund,

       DailyAvgRefund,

       SevenDayAvgRefund,

       MonthAvgRefund,

ThreeMonthProfitRate,

ThreeMonthRefundRate,

OtherDailyProfits,

OtherSevenDayProfits,

OtherMonthProfits,

OtherMonthAvgProfits,

OtherThreeMonthProfitRate

   )

   SELECT CustomerID,

          SKU,

          SellerSKU,

          OrderSourceID,

          OrderSourceName,

          ProductNameCN,

          ShipDate,

          SUM(ProductNum + ProdutNumUpdate),

          SUM(Profits),

          SUM(Incomes),

          0, --七天总利润  

          0, --七天总销量  

          0, --月利润  

          0, --月总销量  

          0, --月平均利润率


          BusinessAdminID,

          OrderSourceType,

          SUM(SalesRefunds),

          0, --七天总退款

          0, --月总退款

          0, --日平均退款率

          0, --七天平均退款率

          0,  --月平均退款率

  0,  --三个月利润率

  0,  --三个月退款率


  SUM(Profits+ISNULL(OtherAdvertisingFee,0)+ISNULL(OtherPlatformFee,0)+ISNULL(OtherYunCangFee,0)+ISNULL(OtherReturnFee,0)),  --日利润(含其他)

0, --七天总利润 (含其他)

0, --月利润(含其他)

0, --月平均利润率(含其他)

0  --三个月利润率(含其他)

   FROM RB_Report_OrderSettlement (NOLOCK)

   WHERE ShipDate > CurrMaxShipDate

         AND SKU !=

         AND SellerSKU !=

   GROUP BY CustomerID,

            SKU,

            SellerSKU,

            OrderSourceID,

            OrderSourceName,

            ProductNameCN,

            ShipDate,

            BusinessAdminID,

            OrderSourceType

   ORDER BY ShipDate;




   INSERT INTO SalesProductProfit

   (

       CustomerID,

       SKU,

       SellerSKU,

       OrderSourceID,

       OrderSourceName,

       ProductNameCN,

       ShipDate,

       DailyProductNum,

       DailyProfits,

       DailyIncomes,

       SellerSKUDailyProfitsRate,

       SellerSKUSevenDayProfitsRate,

       SellerSKUCurrWeekprofits,

       SellerSKULastWeekprofits,

       SevenDayProfits,

       SevenDaySaleNumber,

       MonthProfits,

       MonthSaleNumber,

       MonthAvgProfits,

       BusinessAdminID,

       SevenDayIncomes,

       MonthIncomes,

       OrderSourceType,

       DailyAvgRefund,

       SevenDayAvgRefund,

       MonthAvgRefund,

       DailyRefund,

       SevenDayRefund,

       MonthRefund,

ThreeMonthProfitRate,

ThreeMonthRefundRate,

OtherDailyProfits,

OtherSellerSKUDailyProfitsRate,

OtherSellerSKUSevenDayProfitsRate,

OtherSellerSKUCurrWeekprofits,

OtherSellerSKULastWeekprofits,

OtherSevenDayProfits,

OtherMonthProfits,

OtherMonthAvgProfits,

OtherThreeMonthProfitRate

   )

   SELECT CustomerID,

          SKU,

          SellerSKU,

          OrderSourceID,

          OrderSourceName,

          ProductNameCN,

          ShipDate,

          DailyProductNum,

          DailyProfits,

          DailyIncomes,

          SellerSKUDailyProfitsRate,

          SellerSKUSevenDayProfitsRate,

          SellerSKUCurrWeekprofits,

          SellerSKULastWeekprofits,

          SevenDayProfits,

          SevenDaySaleNumber,

          MonthProfits,

          MonthSaleNumber,

          MonthAvgProfits,

          BusinessAdminID,

          SevenDayIncomes,

          MonthIncomes,

          OrderSourceType,

          DailyAvgRefund,

          SevenDayAvgRefund,

          MonthAvgRefund,

          DailyRefund,

          SevenDayRefund,

          MonthRefund,

  ThreeMonthProfitRate,

  ThreeMonthRefundRate,

  ISNULL(OtherDailyProfits,0) AS OtherDailyProfits,

  ISNULL(OtherSellerSKUDailyProfitsRate,0) AS OtherSellerSKUDailyProfitsRate,

  ISNULL(OtherSellerSKUSevenDayProfitsRate,0) AS OtherSellerSKUSevenDayProfitsRate,

  ISNULL(OtherSellerSKUCurrWeekprofits,0) AS OtherSellerSKUCurrWeekprofits,

  ISNULL(OtherSellerSKULastWeekprofits,0) AS OtherSellerSKULastWeekprofits,

  ISNULL(OtherSevenDayProfits,0) AS OtherSevenDayProfits,

  ISNULL(OtherSevenDayProfits,0) AS OtherMonthProfits,

  ISNULL(OtherMonthAvgProfits,0) AS OtherMonthAvgProfits,

  ISNULL(OtherThreeMonthProfitRate,0) AS OtherThreeMonthProfitRate

   FROM RB_Report_SalesProductProfit (NOLOCK)

   WHERE ShipDate > DATEADD(DAY, -90, CurrMaxShipDate)

         AND ShipDate <= CurrMaxShipDate

   ORDER BY ShipDate;





   --更新SalesProductProfit表的SellerSKUDailyProfitsRate(渠道SKU日平均利润)  

   --渠道SKU日平均利润率:渠道SKU总的利润率/日销售额  

   UPDATE SalesProductProfit

   SET SellerSKUDailyProfitsRate = CASE

                                       WHEN DailyIncomes = 0 THEN

                                           0

                                       ELSE

                                           CASE

                                               WHEN DailyProfits < 0 THEN

                                                   DailyProfits / ABS(DailyIncomes)

                                               ELSE

                                                   DailyProfits / DailyIncomes

                                           END

                                   END,

       DailyAvgRefund = CASE

                            WHEN DailyIncomes = 0 THEN

                                0

                            ELSE

                                CASE

                                    WHEN DailyIncomes + ABS(DailyRefund) = 0 THEN

                                        0

                                    ELSE

                                        DailyRefund / (DailyIncomes + ABS(DailyRefund))

                                END

                        END,

OtherSellerSKUDailyProfitsRate = CASE

WHEN DailyIncomes = 0 THEN

0

ELSE

CASE

WHEN OtherDailyProfits < 0 THEN

OtherDailyProfits / ABS(DailyIncomes)

ELSE

OtherDailyProfits / DailyIncomes

END

END

   WHERE ShipDate > CurrMaxShipDate;



   --更新SalesProductProfit表(渠道SKU七天利润计算)  

   UPDATE rspp

   SET SevenDayProfits = o.SevenDayProfits,

       SevenDaySaleNumber = o.SevenDaySaleNumber,

       SevenDayIncomes = o.SevenDayIncomes,

       SellerSKUSevenDayProfitsRate = CASE

                                          WHEN o.SevenDayIncomes = 0 THEN

                                              0

                                          ELSE

       (CASE

            WHEN o.SevenDayProfits < 0 THEN

                o.SevenDayProfits / ABS(o.SevenDayIncomes)

            ELSE

                o.SevenDayProfits / o.SevenDayIncomes

        END

       )

                                      END,

       SevenDayRefund = o.SevenDayRefund, --七天退款总额

       SevenDayAvgRefund = CASE --七天平均退款率

                               WHEN o.SevenDayIncomes = 0 THEN

                                   0

                               ELSE

                                   CASE

                                       WHEN o.SevenDayIncomes + ABS(o.SevenDayRefund) = 0 THEN

                                           0

                                       ELSE

                                           o.SevenDayRefund / (o.SevenDayIncomes + ABS(o.SevenDayRefund))

                                   END

                           END,

OtherSellerSKUSevenDayProfitsRate = CASE

                                          WHEN o.SevenDayIncomes = 0 THEN

                                              0

                                          ELSE

(CASE

WHEN o.OtherSevenDayProfits < 0 THEN

o.OtherSevenDayProfits / ABS(o.SevenDayIncomes)

ELSE

o.OtherSevenDayProfits / o.SevenDayIncomes

END

)

                                      END

   FROM SalesProductProfit AS rspp

       INNER JOIN

       (

           SELECT a.ID,

                  SUM(rb.DailyProfits) AS SevenDayProfits,

  SUM(rb.OtherDailyProfits) AS OtherSevenDayProfits,

                  SUM(rb.DailyProductNum) AS SevenDaySaleNumber,

                  SUM(rb.DailyIncomes) AS SevenDayIncomes,

                  SUM(rb.DailyRefund) AS SevenDayRefund

           FROM SalesProductProfit AS a

               INNER JOIN SalesProductProfit rb (NOLOCK)

                   ON rb.CustomerID = a.CustomerID

                      AND rb.SKU = a.SKU

                      AND rb.SellerSKU = a.SellerSKU

                      AND rb.OrderSourceID = a.OrderSourceID

                      AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)

                      BETWEEN 0 AND 6

           WHERE a.ShipDate > CurrMaxShipDate

           GROUP BY a.ID

       ) AS o

           ON o.ID = rspp.ID;




   --更改SalesProductProfit表的SellerSKUCurrWeekprofits(本周利润)  

   UPDATE SalesProductProfit

   SET SellerSKUCurrWeekprofits =

       (

           SELECT SUM(DailyProfits)

           FROM SalesProductProfit rb (NOLOCK)

           WHERE rb.CustomerID = SalesProductProfit.CustomerID

                 AND rb.SKU = SalesProductProfit.SKU

                 AND rb.SellerSKU = SalesProductProfit.SellerSKU

                 AND rb.OrderSourceID = SalesProductProfit.OrderSourceID

                 AND rb.ShipDate >= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)

                 AND rb.ShipDate < DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 7)

       ),

   OtherSellerSKUCurrWeekprofits =

       (

           SELECT SUM(OtherDailyProfits)

           FROM SalesProductProfit rb (NOLOCK)

           WHERE rb.CustomerID = SalesProductProfit.CustomerID

                 AND rb.SKU = SalesProductProfit.SKU

                 AND rb.SellerSKU = SalesProductProfit.SellerSKU

                 AND rb.OrderSourceID = SalesProductProfit.OrderSourceID

                 AND rb.ShipDate >= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)

                 AND rb.ShipDate < DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 7)

       )

   WHERE ShipDate > CurrMaxShipDate;


   --更改SalesProductProfit表的SellerSKULastWeekprofits(上周利润)  

   UPDATE SalesProductProfit

   SET SellerSKULastWeekprofits =

       (

           SELECT ISNULL(SUM(DailyProfits), 0)

           FROM SalesProductProfit rb (NOLOCK)

           WHERE rb.CustomerID = SalesProductProfit.CustomerID

                 AND rb.SKU = SalesProductProfit.SKU

                 AND rb.SellerSKU = SalesProductProfit.SellerSKU

                 AND rb.OrderSourceID = SalesProductProfit.OrderSourceID

                 AND rb.ShipDate >= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -7, SalesProductProfit.ShipDate)), 0)

                 AND rb.ShipDate < DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)

       ),

OtherSellerSKULastWeekprofits =

       (

           SELECT ISNULL(SUM(OtherDailyProfits), 0)

           FROM SalesProductProfit rb (NOLOCK)

           WHERE rb.CustomerID = SalesProductProfit.CustomerID

                 AND rb.SKU = SalesProductProfit.SKU

                 AND rb.SellerSKU = SalesProductProfit.SellerSKU

                 AND rb.OrderSourceID = SalesProductProfit.OrderSourceID

                 AND rb.ShipDate >= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -7, SalesProductProfit.ShipDate)), 0)

                 AND rb.ShipDate < DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)

       )

   WHERE ShipDate > CurrMaxShipDate;


   --更新SalesProductProfit表的MonthProfits(渠道SKU月总利润)    

   UPDATE rspp

   SET MonthProfits = o.MonthProfits,

       MonthSaleNumber = o.MonthSaleNumber,

       MonthIncomes = o.MonthIncomes,

       MonthAvgProfits = CASE

                             WHEN o.MonthIncomes = 0 THEN

                                 0

                             ELSE

       (CASE

            WHEN o.MonthProfits < 0 THEN

                o.MonthProfits / ABS(o.MonthIncomes)

            ELSE

                o.MonthProfits / o.MonthIncomes

        END

       )

                         END,

       MonthRefund = o.MonthRefund, --月总退款

       MonthAvgRefund = CASE --月平均退款率

                            WHEN o.MonthIncomes = 0 THEN

                                0

                            ELSE

                                CASE

                                    WHEN o.MonthIncomes + ABS(o.MonthRefund) = 0 THEN

                                        0

                                    ELSE

                                        o.MonthRefund / (o.MonthIncomes + ABS(o.MonthRefund))

                                END

                        END,

OtherMonthProfits = o.OtherMonthProfits,

OtherMonthAvgProfits = CASE

 WHEN o.MonthIncomes = 0 THEN

 0

 ELSE

(CASE

WHEN o.OtherMonthProfits < 0 THEN

o.OtherMonthProfits / ABS(o.MonthIncomes)

ELSE

o.OtherMonthProfits / o.MonthIncomes

END

)

END

   FROM SalesProductProfit AS rspp

       INNER JOIN

       (

           SELECT a.ID,

                  SUM(rb.DailyProfits) AS MonthProfits,

                  SUM(rb.DailyProductNum) AS MonthSaleNumber,

                  SUM(rb.DailyIncomes) AS MonthIncomes,

                  SUM(rb.DailyRefund) AS MonthRefund,

  SUM(rb.OtherDailyProfits) AS OtherMonthProfits

           FROM SalesProductProfit AS a

               INNER JOIN SalesProductProfit rb (NOLOCK)

                   ON rb.CustomerID = a.CustomerID

                      AND rb.SKU = a.SKU

                      AND rb.SellerSKU = a.SellerSKU

                      AND rb.OrderSourceID = a.OrderSourceID

                      AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)

                      BETWEEN 0 AND 29

           WHERE a.ShipDate > CurrMaxShipDate

           GROUP BY a.ID

       ) AS o

           ON o.ID = rspp.ID;


  --更新三个月利润率和退款率

   UPDATE rspp

   SET ThreeMonthProfitRate = CASE

                             WHEN o.TreeMonthIncomes = 0 THEN

                                 0

                             ELSE

       (CASE

            WHEN o.TreeMonthProfits < 0 THEN

                o.TreeMonthProfits / ABS(o.TreeMonthIncomes)

            ELSE

                o.TreeMonthProfits / o.TreeMonthIncomes

        END

       )

                         END,

       ThreeMonthRefundRate = CASE

                            WHEN o.TreeMonthIncomes = 0 THEN

                                0

                            ELSE

                                CASE

                                    WHEN o.TreeMonthIncomes + ABS(o.TreeMonthRefund) = 0 THEN

                                        0

                                    ELSE

                                        o.TreeMonthRefund / (o.TreeMonthIncomes + ABS(o.TreeMonthRefund))

                                END

                        END,

OtherThreeMonthProfitRate = CASE

                             WHEN o.TreeMonthIncomes = 0 THEN

                                 0

                             ELSE

(CASE

WHEN o.OtherTreeMonthProfits < 0 THEN

o.OtherTreeMonthProfits / ABS(o.TreeMonthIncomes)

ELSE

o.OtherTreeMonthProfits / o.TreeMonthIncomes

END

)

                         END

   FROM SalesProductProfit AS rspp

       INNER JOIN

       (

           SELECT a.ID,

                  SUM(rb.DailyProfits) AS TreeMonthProfits,

                  SUM(rb.DailyProductNum) AS TreeMonthSaleNumber,

                  SUM(rb.DailyIncomes) AS TreeMonthIncomes,

                  SUM(rb.DailyRefund) AS TreeMonthRefund,

  SUM(rb.OtherDailyProfits) AS OtherTreeMonthProfits

           FROM SalesProductProfit AS a

               INNER JOIN SalesProductProfit rb (NOLOCK)

                   ON rb.CustomerID = a.CustomerID

                      AND rb.SKU = a.SKU

                      AND rb.SellerSKU = a.SellerSKU

                      AND rb.OrderSourceID = a.OrderSourceID

                      AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)

                      BETWEEN 0 AND 90

           WHERE a.ShipDate > CurrMaxShipDate

           GROUP BY a.ID

       ) AS o

           ON o.ID = rspp.ID;

   --


   MERGE RB_Report_SalesProductProfit AS target

   USING

   (

       SELECT CustomerID,

              SKU,

              SellerSKU,

              OrderSourceID,

              OrderSourceName,

              ProductNameCN,

              ShipDate,

              DailyProductNum,

              DailyProfits,

              DailyIncomes,

              SellerSKUDailyProfitsRate,

              SellerSKUSevenDayProfitsRate,

              SellerSKUCurrWeekprofits,

              SellerSKULastWeekprofits,

              SevenDayProfits,

              SevenDaySaleNumber,

              MonthProfits,

              MonthSaleNumber,

              MonthAvgProfits,

              BusinessAdminID,

              SevenDayIncomes,

              MonthIncomes,

              UpdateTime,

              OrderSourceType,

              DailyAvgRefund,

              SevenDayAvgRefund,

              MonthAvgRefund,

              DailyRefund,

              SevenDayRefund,

              MonthRefund,

  ThreeMonthProfitRate,

  ThreeMonthRefundRate,

  OtherDailyProfits,

  OtherSellerSKUDailyProfitsRate,

  OtherSellerSKUSevenDayProfitsRate,

  OtherSellerSKUCurrWeekprofits,

  OtherSellerSKULastWeekprofits,

  OtherSevenDayProfits,

  OtherMonthProfits,

  OtherMonthAvgProfits,

  OtherThreeMonthProfitRate

       FROM SalesProductProfit

       WHERE ShipDate > CurrMaxShipDate

   ) AS source

   (CustomerID, SKU, SellerSKU, OrderSourceID, OrderSourceName, ProductNameCN, ShipDate, DailyProductNum, DailyProfits, DailyIncomes, SellerSKUDailyProfitsRate, SellerSKUSevenDayProfitsRate, SellerSKUCurrWeekprofits, SellerSKULastWeekprofits, SevenDayProfits, SevenDaySaleNumber, MonthProfits, MonthSaleNumber, MonthAvgProfits, BusinessAdminID, SevenDayIncomes, MonthIncomes, UpdateTime, OrderSourceType, DailyAvgRefund, SevenDayAvgRefund, MonthAvgRefund, DailyRefund, SevenDayRefund, MonthRefund,ThreeMonthProfitRate,ThreeMonthRefundRate,

OtherDailyProfits,

OtherSellerSKUDailyProfitsRate,

OtherSellerSKUSevenDayProfitsRate,

OtherSellerSKUCurrWeekprofits,

OtherSellerSKULastWeekprofits,

OtherSevenDayProfits,

OtherMonthProfits,

OtherMonthAvgProfits,

OtherThreeMonthProfitRate

)

   ON (

          target.CustomerID = source.CustomerID

          AND target.SKU = source.SKU

          AND target.SellerSKU = source.SellerSKU

          AND target.OrderSourceID = source.OrderSourceID

          AND target.OrderSourceName = source.OrderSourceName

          AND target.ProductNameCN = source.ProductNameCN

          AND target.ShipDate = source.ShipDate

          AND target.BusinessAdminID = source.BusinessAdminID

          AND target.OrderSourceType = source.OrderSourceType

      )

   WHEN MATCHED AND target.ShipDate > CurrMaxShipDate

                    AND (

target.DailyProductNum != source.DailyProductNum

OR target.DailyProfits != source.DailyProfits

OR target.SellerSKUDailyProfitsRate != source.SellerSKUDailyProfitsRate

OR target.SellerSKUSevenDayProfitsRate != source.SellerSKUSevenDayProfitsRate

OR target.SellerSKUCurrWeekprofits != source.SellerSKUCurrWeekprofits

OR target.SellerSKULastWeekprofits != source.SellerSKULastWeekprofits

OR target.SevenDayProfits != source.SevenDayProfits

OR target.MonthProfits != source.MonthProfits

OR target.MonthAvgProfits != source.MonthAvgProfits

OR target.ThreeMonthProfitRate != source.ThreeMonthProfitRate

OR target.ThreeMonthRefundRate != source.ThreeMonthRefundRate

OR target.OtherDailyProfits != source.OtherDailyProfits

OR target.OtherSellerSKUDailyProfitsRate != source.OtherSellerSKUDailyProfitsRate

OR target.OtherSellerSKUSevenDayProfitsRate != source.OtherSellerSKUSevenDayProfitsRate

OR target.OtherSellerSKUCurrWeekprofits != source.OtherSellerSKUCurrWeekprofits

OR target.OtherSellerSKULastWeekprofits != source.OtherSellerSKULastWeekprofits

OR target.OtherSevenDayProfits != source.OtherSevenDayProfits

OR target.OtherMonthProfits != source.OtherMonthProfits

OR target.OtherMonthAvgProfits != source.OtherMonthAvgProfits

OR target.OtherThreeMonthProfitRate != source.OtherThreeMonthProfitRate


) THEN

       UPDATE SET target.DailyProductNum = source.DailyProductNum,

                  target.DailyProfits = source.DailyProfits,

                  target.DailyIncomes = source.DailyIncomes,

                  target.SellerSKUDailyProfitsRate = source.SellerSKUDailyProfitsRate,

                  target.SellerSKUSevenDayProfitsRate = source.SellerSKUSevenDayProfitsRate,

                  target.SellerSKUCurrWeekprofits = source.SellerSKUCurrWeekprofits,

                  target.SellerSKULastWeekprofits = source.SellerSKULastWeekprofits,

                  target.SevenDayProfits = source.SevenDayProfits,

                  target.SevenDaySaleNumber = source.SevenDaySaleNumber,

                  target.MonthProfits = source.MonthProfits,

                  target.MonthSaleNumber = source.MonthSaleNumber,

                  target.MonthAvgProfits = source.MonthAvgProfits,

                  target.SevenDayIncomes = source.SevenDayIncomes,

                  target.MonthIncomes = source.MonthIncomes,

                  target.DailyAvgRefund = source.DailyAvgRefund,

                  target.SevenDayAvgRefund = source.SevenDayAvgRefund,

                  target.MonthAvgRefund = source.MonthAvgRefund,

                  target.DailyRefund = source.DailyRefund,

                  target.SevenDayRefund = source.SevenDayRefund,

                  target.MonthRefund = source.MonthRefund,

  target.ThreeMonthProfitRate= source.ThreeMonthProfitRate,

  target.ThreeMonthRefundRate= source.ThreeMonthRefundRate,

  target.OtherDailyProfits= source.OtherDailyProfits,

  target.OtherSellerSKUDailyProfitsRate= source.OtherSellerSKUDailyProfitsRate,

  target.OtherSellerSKUSevenDayProfitsRate= source.OtherSellerSKUSevenDayProfitsRate,

  target.OtherSellerSKUCurrWeekprofits= source.OtherSellerSKUCurrWeekprofits,

  target.OtherSellerSKULastWeekprofits= source.OtherSellerSKULastWeekprofits,

  target.OtherSevenDayProfits= source.OtherSevenDayProfits,

  target.OtherMonthProfits= source.OtherMonthProfits,

  target.OtherMonthAvgProfits= source.OtherMonthAvgProfits,

  target.OtherThreeMonthProfitRate= source.OtherThreeMonthProfitRate,

                  target.UpdateTime = GETDATE()

   WHEN NOT MATCHED BY TARGET THEN

       INSERT

       (

           CustomerID,

           SKU,

           SellerSKU,

           OrderSourceID,

           OrderSourceName,

           ProductNameCN,

           ShipDate,

           DailyProductNum,

           DailyProfits,

           DailyIncomes,

           SellerSKUDailyProfitsRate,

           SellerSKUSevenDayProfitsRate,

           SellerSKUCurrWeekprofits,

           SellerSKULastWeekprofits,

           SevenDayProfits,

           SevenDaySaleNumber,

           MonthProfits,

           MonthSaleNumber,

           MonthAvgProfits,

           BusinessAdminID,

           SevenDayIncomes,

           MonthIncomes,

           OrderSourceType,

           DailyAvgRefund,

           SevenDayAvgRefund,

           MonthAvgRefund,

           DailyRefund,

           SevenDayRefund,

           MonthRefund,

ThreeMonthProfitRate,

ThreeMonthRefundRate,

OtherDailyProfits,

OtherSellerSKUDailyProfitsRate,

OtherSellerSKUSevenDayProfitsRate,

OtherSellerSKUCurrWeekprofits,

OtherSellerSKULastWeekprofits,

OtherSevenDayProfits,

OtherMonthProfits,

OtherMonthAvgProfits,

OtherThreeMonthProfitRate,

           UpdateTime

       )

       VALUES

       (CustomerID, SKU, SellerSKU, OrderSourceID, OrderSourceName, ProductNameCN, ShipDate, DailyProductNum,

        DailyProfits, DailyIncomes, SellerSKUDailyProfitsRate, SellerSKUSevenDayProfitsRate, SellerSKUCurrWeekprofits,

        SellerSKULastWeekprofits, SevenDayProfits, SevenDaySaleNumber, MonthProfits, MonthSaleNumber, MonthAvgProfits,

        BusinessAdminID, SevenDayIncomes, MonthIncomes, OrderSourceType, DailyAvgRefund, SevenDayAvgRefund,

        MonthAvgRefund, DailyRefund, SevenDayRefund, MonthRefund,ThreeMonthProfitRate,ThreeMonthRefundRate,

OtherDailyProfits,

OtherSellerSKUDailyProfitsRate,

OtherSellerSKUSevenDayProfitsRate,

OtherSellerSKUCurrWeekprofits,

OtherSellerSKULastWeekprofits,

OtherSevenDayProfits,

OtherMonthProfits,

OtherMonthAvgProfits,

OtherThreeMonthProfitRate, GETDATE())

   WHEN NOT MATCHED BY SOURCE AND target.ShipDate > CurrMaxShipDate THEN

       DELETE;

   --OUTPUT action,

   --       inserted.*,

   --       deleted.*;



DROP  TABLE  SalesProductProfit


   --初始化SKU产品利润统计数据  

   INSERT INTO RB_Report_SKUProductProfitStastic

   (

       CustomerID,

       SKU,

       ProductNameCN,

       DailyProfits,

       DailyIncomes,

       DailyAvgSalePrice,

       DailySaleNumber,

       ShipDate,

       DailyAvgProfits,

       SevenDayAvgProfits,

       SKUCurrWeekprofits,

       SKULastWeekprofits,

       DailyRefund,       --日总退款

       SevenDayRefund,    --七天总退款

       MonthRefund,       --月总退款

       DailyAvgRefund,    --日平均退款率

       SevenDayAvgRefund, --七天平均退款率

       MonthAvgRefund     --月平均退款率

   )

   SELECT CustomerID,

          SKU,

          ProductNameCN,

          SUM(DailyProfits),

          SUM(DailyIncomes),

          CASE

              WHEN SUM(DailyProductNum) = 0 THEN

                  0

              ELSE

                  CASE

                      WHEN SUM(DailyIncomes) < 0 THEN

                          SUM(DailyIncomes) / ABS(SUM(DailyProductNum))

                      ELSE

                          SUM(DailyIncomes) / SUM(DailyProductNum)

                  END

          END,

          SUM(DailyProductNum),

          ShipDate,

          CASE

              WHEN SUM(DailyIncomes) = 0 THEN

                  0

              ELSE

                  CASE

                      WHEN SUM(DailyIncomes) < 0 THEN

                          SUM(DailyProfits) / ABS(SUM(DailyIncomes))

                      ELSE

                          SUM(DailyProfits) / SUM(DailyIncomes)

                  END

          END,

          0,

          0,

          0,

          SUM(DailyRefund), --日总退款

          0,

          0,

          CASE

              WHEN SUM(DailyIncomes) = 0 THEN

                  0

              ELSE

                  CASE

                      WHEN SUM(DailyIncomes + ABS(DailyRefund)) = 0 THEN

                          0

                      ELSE

                          SUM(DailyRefund) / SUM(DailyIncomes + ABS(DailyRefund))

                  END

          END,              --日平均退款率

          0,

          0

   FROM RB_Report_SalesProductProfit (NOLOCK)

   WHERE ShipDate > CurrMaxShipDate

   GROUP BY SKU,

            CustomerID,

            ShipDate,

            ProductNameCN

   ORDER BY ShipDate;



   --更新RB_Report_SKUProductProfitStastic表(渠道SKU七天总利润)  

   UPDATE rspp

   SET SevenDayProfits = o.SevenDayProfits,

       SevenDaySaleNumber = o.SevenDaySaleNumber,

       SevenDayIncomes = o.SevenDayIncomes,

       SevenDayAvgProfits = CASE

                                WHEN o.SevenDayIncomes = 0 THEN

                                    0

                                ELSE

       (CASE

            WHEN o.SevenDayProfits < 0 THEN

                o.SevenDayProfits / ABS(o.SevenDayIncomes)

            ELSE

                o.SevenDayProfits / o.SevenDayIncomes

        END

       )

                            END,

       SevenDayRefund = o.SevenDayRefund, --七天总退款

       SevenDayAvgRefund = CASE --七天平均退款率

                               WHEN o.SevenDayIncomes = 0 THEN

                                   0

                               ELSE

                                   CASE

                                       WHEN o.SevenDayIncomes + ABS(o.SevenDayRefund) = 0 THEN

                                           0

                                       ELSE

                                           o.SevenDayRefund / (o.SevenDayIncomes + ABS(o.SevenDayRefund))

                                   END

                           END

   FROM RB_Report_SKUProductProfitStastic AS rspp

       INNER JOIN

       (

           SELECT a.ID,

                  SUM(rb.DailyProfits) AS SevenDayProfits,

                  SUM(rb.DailySaleNumber) AS SevenDaySaleNumber,

                  SUM(ISNULL(rb.DailyIncomes, 0)) AS SevenDayIncomes,

                  SUM(rb.DailyRefund) AS SevenDayRefund

           FROM RB_Report_SKUProductProfitStastic AS a

               INNER JOIN RB_Report_SKUProductProfitStastic rb (NOLOCK)

                   ON rb.CustomerID = a.Custo

历史记录  
  1. 2025-12-15 14:34:25, 由 周杰 创建。
  2. 2025-12-16 11:33:45, 由 张明磊 指派给 林很。
    修改了 指派给,旧值为 "zhangminglei",新值为 "linhen"。
    转需求处理下
  3. 2025-12-17 10:09:43, 由 林很 转为 需求,编号为 #32824 【系统优化】产品利润管理本地服务慢sql优化处理 。
  4. 2025-12-17 10:09:43, 由 林很 关闭。
  5. 2025-12-18 17:57:25, 由 陈莉珍 编辑。
    修改了 所属模块 ,旧值为 "0",新值为 "1850"。
    修改了 业务部门 ,旧值为 "0",新值为 "2"。
    修改了 测试责任人,旧值为 "",新值为 "linhen"。
    修改了 解决时效 ,旧值为 "0",新值为 "43.59"。
    修改了 解决方案 ,旧值为 "tostory",新值为 "bypuduct"。
    修改了 是否确认 ,旧值为 "0",新值为 "1"。
    修改了 重现步骤 ,区别为:
    001-
    001+ 事务执行时间过长,应分步骤分批处理数据,单次事务执行时间不能过长
    002- 事务执行时间过长,应分步骤分批处理数据,单次事务执行时间不能过长
    002+ <img src="https://irobotbox-hd1.oss-cn-hangzhou.aliyuncs.com/1/Kindeditor/2025/12/15/1f45634952984ddab228228fe82d6924/665d09b3-c061-4055-a6fa-1537ecabb8e4.png" title="from clipboard" alt="from clipboard" />
    003-
    003+ --修改版本:任务ID:3956 利润相关&gt;&gt;产品利润管理页面增加退款率的分析展示
    004-
    004+ CREATE PROC [dbo].[Proc_SaleProductProfitStastic]
    005- <img src="https://irobotbox-hd1.oss-cn-hangzhou.aliyuncs.com/1/Kindeditor/2025/12/15/1f45634952984ddab228228fe82d6924/665d09b3-c061-4055-a6fa-1537ecabb8e4.png" title="from clipboard" alt="from clipboard" />
    005+ AS
    006-
    006+ BEGIN
    007-
    007+ --第一步:删除三个月前的数据
    008- --修改版本:任务ID:3956 利润相关&gt;&gt;产品利润管理页面增加退款率的分析展示
    008+ DELETE FROM RB_Report_SalesProductProfit
    009-
    009+ WHERE ShipDate &lt; CONVERT(NVARCHAR(100), DATEADD(MONTH, -4, GETDATE()), 23);
    010-
    010+ DELETE FROM RB_Report_SKUProductProfitStastic
    011- CREATE PROC [dbo].[Proc_SaleProductProfitStastic]
    011+ WHERE ShipDate &lt; CONVERT(NVARCHAR(100), DATEADD(MONTH, -4, GETDATE()), 23);
    012-
    012+
    013-
    013+ DECLARE CurrMaxShipDate DATE,
    014- AS
    014+ NeedInCount INT,
    015-
    015+ BeforeFifteenDate DATE;
    016-
    016+
    017- BEGIN
    017+ --查询最新的发货日期
    018-
    018+ SET BeforeFifteenDate = CONVERT(DATE, DATEADD(DAY, -15, GETDATE())) --CONVERT(DATE, DATEADD(DAY, -15, GETDATE()));
    019-
    019+ SET CurrMaxShipDate =
    020- --第一步:删除三个月前的数据
    020+ (
    021-
    021+ SELECT CONVERT(NVARCHAR(100),
    022-
    022+ ISNULL( CASE
    023- DELETE FROM RB_Report_SalesProductProfit
    023+ WHEN MAX(ShipDate) &gt; BeforeFifteenDate THEN
    024-
    024+ BeforeFifteenDate
    025-
    025+ ELSE
    026- WHERE ShipDate &lt; CONVERT(NVARCHAR(100), DATEADD(MONTH, -4, GETDATE()), 23);
    026+ MAX(ShipDate)
    027-
    027+ END,
    028-
    028+ DATEADD(MONTH, -3, GETDATE())
    029- DELETE FROM RB_Report_SKUProductProfitStastic
    029+ ),
    030-
    030+ 23
    031-
    031+ )
    032- WHERE ShipDate &lt; CONVERT(NVARCHAR(100), DATEADD(MONTH, -4, GETDATE()), 23);
    032+ FROM RB_Report_SalesProductProfit (NOLOCK)
    033-
    033+ );
    034-
    034+
    035-
    035+
    036-
    036+ --删除CurrMaxShipDate 之后的所有数据,确保数据的齐全(插入的时间&gt;ShipDate)
    037-
    037+ --DELETE FROM RB_Report_SalesProductProfit
    038- DECLARE CurrMaxShipDate DATE,
    038+ -- WHERE ShipDate &gt; CurrMaxShipDate
    039-
    039+ DELETE FROM RB_Report_SKUProductProfitStastic
    040-
    040+ WHERE ShipDate &gt; CurrMaxShipDate;
    041- NeedInCount INT,
    041+
    042-
    042+ --需要新增的数据
    043-
    043+ CREATE TABLE SalesProductProfit
    044- BeforeFifteenDate DATE;
    044+ (
    045-
    045+ [ID] [INT] NOT NULL IDENTITY(1, 1),
    046-
    046+ [CustomerID] [INT] NOT NULL,
    047-
    047+ [SKU] [NVARCHAR](200) COLLATE Chinese_PRC_CI_AS NOT NULL,
    048-
    048+ [SellerSKU] [NVARCHAR](400) COLLATE Chinese_PRC_CI_AS NOT NULL,
    049-
    049+ [OrderSourceID] [INT] NOT NULL,
    050- --查询最新的发货日期
    050+ [OrderSourceName] [NVARCHAR](400) COLLATE Chinese_PRC_CI_AS NOT NULL,
    051-
    051+ [ProductNameCN] [NVARCHAR](2000) COLLATE Chinese_PRC_CI_AS NULL,
    052-
    052+ [ShipDate] [DATE] NOT NULL,
    053- SET BeforeFifteenDate = CONVERT(DATE, DATEADD(DAY, -15, GETDATE())) --CONVERT(DATE, DATEADD(DAY, -15, GETDATE()));
    053+ [DailyProductNum] [INT] NOT NULL,
    054-
    054+ [DailyProfits] [MONEY] NOT NULL,
    055-
    055+ [DailyIncomes] [MONEY] NOT NULL,
    056- SET CurrMaxShipDate =
    056+ [SellerSKUDailyProfitsRate] [DECIMAL](18, 2) NULL,
    057-
    057+ [SellerSKUSevenDayProfitsRate] [DECIMAL](18, 2) NULL,
    058-
    058+ [SellerSKUCurrWeekprofits] [MONEY] NULL,
    059- (
    059+ [SellerSKULastWeekprofits] [MONEY] NULL,
    060-
    060+ [SevenDayProfits] [MONEY] NULL,
    061-
    061+ [SevenDaySaleNumber] [INT] NULL,
    062- SELECT CONVERT(NVARCHAR(100),
    062+ [MonthProfits] [MONEY] NULL,
    063-
    063+ [MonthSaleNumber] [INT] NULL,
    064-
    064+ [MonthAvgProfits] [MONEY] NULL,
    065- ISNULL( CASE
    065+ [BusinessAdminID] [INT] NULL,
    066-
    066+ [SevenDayIncomes] [MONEY] NULL
    067-
    067+ DEFAULT ((0)),
    068- WHEN MAX(ShipDate) &gt; BeforeFifteenDate THEN
    068+ [MonthIncomes] [MONEY] NULL
    069-
    069+ DEFAULT ((0)),
    070-
    070+ [UpdateTime] [DATETIME] NULL,
    071- BeforeFifteenDate
    071+ [OrderSourceType] [INT] NULL
    072-
    072+ DEFAULT ((0)),
    073-
    073+ [DailyAvgRefund] [MONEY] NULL,
    074- ELSE
    074+ [SevenDayAvgRefund] [MONEY] NULL,
    075-
    075+ [MonthAvgRefund] [MONEY] NULL,
    076-
    076+ [DailyRefund] [MONEY] NULL,
    077- MAX(ShipDate)
    077+ [SevenDayRefund] [MONEY] NULL,
    078-
    078+ [MonthRefund] [MONEY] NULL,
    079-
    079+ [ThreeMonthProfitRate] [DECIMAL](18, 4) NULL,
    080- END,
    080+ [ThreeMonthRefundRate] [DECIMAL](18, 4) NULL,
    081-
    081+ [OtherDailyProfits] [MONEY] NULL,
    082-
    082+ [OtherSellerSKUDailyProfitsRate] DECIMAL(18,4) NULL,
    083- DATEADD(MONTH, -3, GETDATE())
    083+ [OtherSellerSKUSevenDayProfitsRate] DECIMAL(18,4) NULL,
    084-
    084+ [OtherSellerSKUCurrWeekprofits] MONEY NULL,
    085-
    085+ [OtherSellerSKULastWeekprofits] MONEY NULL,
    086- ),
    086+ [OtherSevenDayProfits] MONEY NULL,
    087-
    087+ [OtherMonthProfits] MONEY NULL,
    088-
    088+ [OtherMonthAvgProfits] MONEY NULL,
    089- 23
    089+ [OtherThreeMonthProfitRate] DECIMAL(18,4) NULL
    090-
    090+ );
    091-
    091+ CREATE INDEX IX_ShipDate ON SalesProductProfit(ShipDate);
    092- )
    092+ CREATE INDEX IX_CustomerID ON SalesProductProfit(CustomerID,SKU,SellerSKU,OrderSourceID,ShipDate);
    093-
    093+
    094-
    094+ INSERT INTO SalesProductProfit
    095- FROM RB_Report_SalesProductProfit (NOLOCK)
    095+ (
    096-
    096+ CustomerID,
    097-
    097+ SKU,
    098- );
    098+ SellerSKU,
    099-
    099+ OrderSourceID,
    100-
    100+ OrderSourceName,
    1001- END,
    1002-
    1003-
    1004- OtherSellerSKUSevenDayProfitsRate = CASE
    1005-
    1006-
    1007- WHEN o.SevenDayIncomes = 0 THEN
    1008-
    1009-
    1010- 0
    101-
    101+ ProductNameCN,
    1011-
    1012-
    1013- ELSE
    1014-
    1015-
    1016- (CASE
    1017-
    1018-
    1019- WHEN o.OtherSevenDayProfits &lt; 0 THEN
    1020-
    102-
    102+ ShipDate,
    1021-
    1022- o.OtherSevenDayProfits / ABS(o.SevenDayIncomes)
    1023-
    1024-
    1025- ELSE
    1026-
    1027-
    1028- o.OtherSevenDayProfits / o.SevenDayIncomes
    1029-
    1030-
    103-
    103+ DailyProductNum,
    1031- END
    1032-
    1033-
    1034- )
    1035-
    1036-
    1037- END
    1038-
    1039-
    1040- FROM SalesProductProfit AS rspp
    104-
    104+ DailyProfits,
    1041-
    1042-
    1043- INNER JOIN
    1044-
    1045-
    1046- (
    1047-
    1048-
    1049- SELECT a.ID,
    1050-
    105-
    105+ DailyIncomes,
    1051-
    1052- SUM(rb.DailyProfits) AS SevenDayProfits,
    1053-
    1054-
    1055- SUM(rb.OtherDailyProfits) AS OtherSevenDayProfits,
    1056-
    1057-
    1058- SUM(rb.DailyProductNum) AS SevenDaySaleNumber,
    1059-
    1060-
    106-
    106+ SevenDayProfits,
    1061- SUM(rb.DailyIncomes) AS SevenDayIncomes,
    1062-
    1063-
    1064- SUM(rb.DailyRefund) AS SevenDayRefund
    1065-
    1066-
    1067- FROM SalesProductProfit AS a
    1068-
    1069-
    1070- INNER JOIN SalesProductProfit rb (NOLOCK)
    107- --删除CurrMaxShipDate 之后的所有数据,确保数据的齐全(插入的时间&gt;ShipDate)
    107+ SevenDaySaleNumber,
    1071-
    1072-
    1073- ON rb.CustomerID = a.CustomerID
    1074-
    1075-
    1076- AND rb.SKU = a.SKU
    1077-
    1078-
    1079- AND rb.SellerSKU = a.SellerSKU
    1080-
    108-
    108+ MonthProfits,
    1081-
    1082- AND rb.OrderSourceID = a.OrderSourceID
    1083-
    1084-
    1085- AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)
    1086-
    1087-
    1088- BETWEEN 0 AND 6
    1089-
    1090-
    109-
    109+ MonthSaleNumber,
    1091- WHERE a.ShipDate &gt; CurrMaxShipDate
    1092-
    1093-
    1094- GROUP BY a.ID
    1095-
    1096-
    1097- ) AS o
    1098-
    1099-
    1100- ON o.ID = rspp.ID;
    110- --DELETE FROM RB_Report_SalesProductProfit
    110+ MonthAvgProfits,
    1101-
    1102-
    1103-
    1104-
    1105-
    1106-
    1107-
    1108-
    1109-
    1110-
    111-
    111+ BusinessAdminID,
    1111-
    1112- --更改SalesProductProfit表的SellerSKUCurrWeekprofits(本周利润)
    1113-
    1114-
    1115- UPDATE SalesProductProfit
    1116-
    1117-
    1118- SET SellerSKUCurrWeekprofits =
    1119-
    1120-
    112-
    112+ OrderSourceType,
    1121- (
    1122-
    1123-
    1124- SELECT SUM(DailyProfits)
    1125-
    1126-
    1127- FROM SalesProductProfit rb (NOLOCK)
    1128-
    1129-
    1130- WHERE rb.CustomerID = SalesProductProfit.CustomerID
    113- -- WHERE ShipDate &gt; CurrMaxShipDate
    113+ DailyRefund,
    1131-
    1132-
    1133- AND rb.SKU = SalesProductProfit.SKU
    1134-
    1135-
    1136- AND rb.SellerSKU = SalesProductProfit.SellerSKU
    1137-
    1138-
    1139- AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    1140-
    114-
    114+ SevenDayRefund,
    1141-
    1142- AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    1143-
    1144-
    1145- AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 7)
    1146-
    1147-
    1148- ),
    1149-
    1150-
    115-
    115+ MonthRefund,
    1151- OtherSellerSKUCurrWeekprofits =
    1152-
    1153-
    1154- (
    1155-
    1156-
    1157- SELECT SUM(OtherDailyProfits)
    1158-
    1159-
    1160- FROM SalesProductProfit rb (NOLOCK)
    116- DELETE FROM RB_Report_SKUProductProfitStastic
    116+ DailyAvgRefund,
    1161-
    1162-
    1163- WHERE rb.CustomerID = SalesProductProfit.CustomerID
    1164-
    1165-
    1166- AND rb.SKU = SalesProductProfit.SKU
    1167-
    1168-
    1169- AND rb.SellerSKU = SalesProductProfit.SellerSKU
    1170-
    117-
    117+ SevenDayAvgRefund,
    1171-
    1172- AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    1173-
    1174-
    1175- AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    1176-
    1177-
    1178- AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 7)
    1179-
    1180-
    118-
    118+ MonthAvgRefund,
    1181- )
    1182-
    1183-
    1184- WHERE ShipDate &gt; CurrMaxShipDate;
    1185-
    1186-
    1187-
    1188-
    1189-
    1190- --更改SalesProductProfit表的SellerSKULastWeekprofits(上周利润)
    119- WHERE ShipDate &gt; CurrMaxShipDate;
    119+ ThreeMonthProfitRate,
    1191-
    1192-
    1193- UPDATE SalesProductProfit
    1194-
    1195-
    1196- SET SellerSKULastWeekprofits =
    1197-
    1198-
    1199- (
    1200-
    120-
    120+ ThreeMonthRefundRate,
    1201-
    1202- SELECT ISNULL(SUM(DailyProfits), 0)
    1203-
    1204-
    1205- FROM SalesProductProfit rb (NOLOCK)
    1206-
    1207-
    1208- WHERE rb.CustomerID = SalesProductProfit.CustomerID
    1209-
    1210-
    121-
    121+ OtherDailyProfits,
    1211- AND rb.SKU = SalesProductProfit.SKU
    1212-
    1213-
    1214- AND rb.SellerSKU = SalesProductProfit.SellerSKU
    1215-
    1216-
    1217- AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    1218-
    1219-
    1220- AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -7, SalesProductProfit.ShipDate)), 0)
    122-
    122+ OtherSevenDayProfits,
    1221-
    1222-
    1223- AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    1224-
    1225-
    1226- ),
    1227-
    1228-
    1229- OtherSellerSKULastWeekprofits =
    1230-
    123-
    123+ OtherMonthProfits,
    1231-
    1232- (
    1233-
    1234-
    1235- SELECT ISNULL(SUM(OtherDailyProfits), 0)
    1236-
    1237-
    1238- FROM SalesProductProfit rb (NOLOCK)
    1239-
    1240-
    124-
    124+ OtherMonthAvgProfits,
    1241- WHERE rb.CustomerID = SalesProductProfit.CustomerID
    1242-
    1243-
    1244- AND rb.SKU = SalesProductProfit.SKU
    1245-
    1246-
    1247- AND rb.SellerSKU = SalesProductProfit.SellerSKU
    1248-
    1249-
    1250- AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    125- --需要新增的数据
    125+ OtherThreeMonthProfitRate
    1251-
    1252-
    1253- AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -7, SalesProductProfit.ShipDate)), 0)
    1254-
    1255-
    1256- AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    1257-
    1258-
    1259- )
    1260-
    126-
    126+ )
    1261-
    1262- WHERE ShipDate &gt; CurrMaxShipDate;
    1263-
    1264-
    1265-
    1266-
    1267-
    1268- --更新SalesProductProfit表的MonthProfits(渠道SKU月总利润)
    1269-
    1270-
    127-
    127+ SELECT CustomerID,
    1271- UPDATE rspp
    1272-
    1273-
    1274- SET MonthProfits = o.MonthProfits,
    1275-
    1276-
    1277- MonthSaleNumber = o.MonthSaleNumber,
    1278-
    1279-
    1280- MonthIncomes = o.MonthIncomes,
    128- CREATE TABLE SalesProductProfit
    128+ SKU,
    1281-
    1282-
    1283- MonthAvgProfits = CASE
    1284-
    1285-
    1286- WHEN o.MonthIncomes = 0 THEN
    1287-
    1288-
    1289- 0
    1290-
    129-
    129+ SellerSKU,
    1291-
    1292- ELSE
    1293-
    1294-
    1295- (CASE
    1296-
    1297-
    1298- WHEN o.MonthProfits &lt; 0 THEN
    1299-
    1300-
    130-
    130+ OrderSourceID,
    1301- o.MonthProfits / ABS(o.MonthIncomes)
    1302-
    1303-
    1304- ELSE
    1305-
    1306-
    1307- o.MonthProfits / o.MonthIncomes
    1308-
    1309-
    1310- END
    131- (
    131+ OrderSourceName,
    1311-
    1312-
    1313- )
    1314-
    1315-
    1316- END,
    1317-
    1318-
    1319- MonthRefund = o.MonthRefund, --月总退款
    1320-
    132-
    132+ ProductNameCN,
    1321-
    1322- MonthAvgRefund = CASE --月平均退款率
    1323-
    1324-
    1325- WHEN o.MonthIncomes = 0 THEN
    1326-
    1327-
    1328- 0
    1329-
    1330-
    133-
    133+ ShipDate,
    1331- ELSE
    1332-
    1333-
    1334- CASE
    1335-
    1336-
    1337- WHEN o.MonthIncomes + ABS(o.MonthRefund) = 0 THEN
    1338-
    1339-
    1340- 0
    134- [ID] [INT] NOT NULL IDENTITY(1, 1),
    134+ SUM(ProductNum + ProdutNumUpdate),
    1341-
    1342-
    1343- ELSE
    1344-
    1345-
    1346- o.MonthRefund / (o.MonthIncomes + ABS(o.MonthRefund))
    1347-
    1348-
    1349- END
    1350-
    135-
    135+ SUM(Profits),
    1351-
    1352- END,
    1353-
    1354-
    1355- OtherMonthProfits = o.OtherMonthProfits,
    1356-
    1357-
    1358- OtherMonthAvgProfits = CASE
    1359-
    1360-
    136-
    136+ SUM(Incomes),
    1361- WHEN o.MonthIncomes = 0 THEN
    1362-
    1363-
    1364- 0
    1365-
    1366-
    1367- ELSE
    1368-
    1369-
    1370- (CASE
    137- [CustomerID] [INT] NOT NULL,
    137+ 0, --七天总利润
    1371-
    1372-
    1373- WHEN o.OtherMonthProfits &lt; 0 THEN
    1374-
    1375-
    1376- o.OtherMonthProfits / ABS(o.MonthIncomes)
    1377-
    1378-
    1379- ELSE
    1380-
    138-
    138+ 0, --七天总销量
    1381-
    1382- o.OtherMonthProfits / o.MonthIncomes
    1383-
    1384-
    1385- END
    1386-
    1387-
    1388- )
    1389-
    1390-
    139-
    139+ 0, --月利润
    1391- END
    1392-
    1393-
    1394- FROM SalesProductProfit AS rspp
    1395-
    1396-
    1397- INNER JOIN
    1398-
    1399-
    1400- (
    140- [SKU] [NVARCHAR](200) COLLATE Chinese_PRC_CI_AS NOT NULL,
    140+ 0, --月总销量
    1401-
    1402-
    1403- SELECT a.ID,
    1404-
    1405-
    1406- SUM(rb.DailyProfits) AS MonthProfits,
    1407-
    1408-
    1409- SUM(rb.DailyProductNum) AS MonthSaleNumber,
    1410-
    141-
    141+ 0, --月平均利润率
    1411-
    1412- SUM(rb.DailyIncomes) AS MonthIncomes,
    1413-
    1414-
    1415- SUM(rb.DailyRefund) AS MonthRefund,
    1416-
    1417-
    1418- SUM(rb.OtherDailyProfits) AS OtherMonthProfits
    1419-
    1420-
    142-
    142+
    1421- FROM SalesProductProfit AS a
    1422-
    1423-
    1424- INNER JOIN SalesProductProfit rb (NOLOCK)
    1425-
    1426-
    1427- ON rb.CustomerID = a.CustomerID
    1428-
    1429-
    1430- AND rb.SKU = a.SKU
    143- [SellerSKU] [NVARCHAR](400) COLLATE Chinese_PRC_CI_AS NOT NULL,
    143+ BusinessAdminID,
    1431-
    1432-
    1433- AND rb.SellerSKU = a.SellerSKU
    1434-
    1435-
    1436- AND rb.OrderSourceID = a.OrderSourceID
    1437-
    1438-
    1439- AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)
    1440-
    144-
    144+ OrderSourceType,
    1441-
    1442- BETWEEN 0 AND 29
    1443-
    1444-
    1445- WHERE a.ShipDate &gt; CurrMaxShipDate
    1446-
    1447-
    1448- GROUP BY a.ID
    1449-
    1450-
    145-
    145+ SUM(SalesRefunds),
    1451- ) AS o
    1452-
    1453-
    1454- ON o.ID = rspp.ID;
    1455-
    1456-
    1457-
    1458-
    1459-
    1460- --更新三个月利润率和退款率
    146- [OrderSourceID] [INT] NOT NULL,
    146+ 0, --七天总退款
    1461-
    1462-
    1463- UPDATE rspp
    1464-
    1465-
    1466- SET ThreeMonthProfitRate = CASE
    1467-
    1468-
    1469- WHEN o.TreeMonthIncomes = 0 THEN
    1470-
    147-
    147+ 0, --月总退款
    1471-
    1472- 0
    1473-
    1474-
    1475- ELSE
    1476-
    1477-
    1478- (CASE
    1479-
    1480-
    148-
    148+ 0, --日平均退款率
    1481- WHEN o.TreeMonthProfits &lt; 0 THEN
    1482-
    1483-
    1484- o.TreeMonthProfits / ABS(o.TreeMonthIncomes)
    1485-
    1486-
    1487- ELSE
    1488-
    1489-
    1490- o.TreeMonthProfits / o.TreeMonthIncomes
    149- [OrderSourceName] [NVARCHAR](400) COLLATE Chinese_PRC_CI_AS NOT NULL,
    149+ 0, --七天平均退款率
    1491-
    1492-
    1493- END
    1494-
    1495-
    1496- )
    1497-
    1498-
    1499- END,
    1500-
    150-
    150+ 0, --月平均退款率
    1501-
    1502- ThreeMonthRefundRate = CASE
    1503-
    1504-
    1505- WHEN o.TreeMonthIncomes = 0 THEN
    1506-
    1507-
    1508- 0
    1509-
    1510-
    151-
    151+ 0, --三个月利润率
    1511- ELSE
    1512-
    1513-
    1514- CASE
    1515-
    1516-
    1517- WHEN o.TreeMonthIncomes + ABS(o.TreeMonthRefund) = 0 THEN
    1518-
    1519-
    1520- 0
    152- [ProductNameCN] [NVARCHAR](2000) COLLATE Chinese_PRC_CI_AS NULL,
    152+ 0, --三个月退款率
    1521-
    1522-
    1523- ELSE
    1524-
    1525-
    1526- o.TreeMonthRefund / (o.TreeMonthIncomes + ABS(o.TreeMonthRefund))
    1527-
    1528-
    1529- END
    1530-
    153-
    153+
    1531-
    1532- END,
    1533-
    1534-
    1535- OtherThreeMonthProfitRate = CASE
    1536-
    1537-
    1538- WHEN o.TreeMonthIncomes = 0 THEN
    1539-
    1540-
    154-
    154+ SUM(Profits+ISNULL(OtherAdvertisingFee,0)+ISNULL(OtherPlatformFee,0)+ISNULL(OtherYunCangFee,0)+ISNULL(OtherReturnFee,0)), --日利润(含其他)
    1541- 0
    1542-
    1543-
    1544- ELSE
    1545-
    1546-
    1547- (CASE
    1548-
    1549-
    1550- WHEN o.OtherTreeMonthProfits &lt; 0 THEN
    155- [ShipDate] [DATE] NOT NULL,
    155+ 0, --七天总利润 (含其他)
    1551-
    1552-
    1553- o.OtherTreeMonthProfits / ABS(o.TreeMonthIncomes)
    1554-
    1555-
    1556- ELSE
    1557-
    1558-
    1559- o.OtherTreeMonthProfits / o.TreeMonthIncomes
    1560-
    156-
    156+ 0, --月利润(含其他)
    1561-
    1562- END
    1563-
    1564-
    1565- )
    1566-
    1567-
    1568- END
    1569-
    1570-
    157-
    157+ 0, --月平均利润率(含其他)
    1571- FROM SalesProductProfit AS rspp
    1572-
    1573-
    1574- INNER JOIN
    1575-
    1576-
    1577- (
    1578-
    1579-
    1580- SELECT a.ID,
    158- [DailyProductNum] [INT] NOT NULL,
    158+ 0 --三个月利润率(含其他)
    1581-
    1582-
    1583- SUM(rb.DailyProfits) AS TreeMonthProfits,
    1584-
    1585-
    1586- SUM(rb.DailyProductNum) AS TreeMonthSaleNumber,
    1587-
    1588-
    1589- SUM(rb.DailyIncomes) AS TreeMonthIncomes,
    1590-
    159-
    159+ FROM RB_Report_OrderSettlement (NOLOCK)
    1591-
    1592- SUM(rb.DailyRefund) AS TreeMonthRefund,
    1593-
    1594-
    1595- SUM(rb.OtherDailyProfits) AS OtherTreeMonthProfits
    1596-
    1597-
    1598- FROM SalesProductProfit AS a
    1599-
    1600-
    160-
    160+ WHERE ShipDate &gt; CurrMaxShipDate
    1601- INNER JOIN SalesProductProfit rb (NOLOCK)
    1602-
    1603-
    1604- ON rb.CustomerID = a.CustomerID
    1605-
    1606-
    1607- AND rb.SKU = a.SKU
    1608-
    1609-
    1610- AND rb.SellerSKU = a.SellerSKU
    161- [DailyProfits] [MONEY] NOT NULL,
    161+ AND SKU !=
    1611-
    1612-
    1613- AND rb.OrderSourceID = a.OrderSourceID
    1614-
    1615-
    1616- AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)
    1617-
    1618-
    1619- BETWEEN 0 AND 90
    1620-
    162-
    162+ AND SellerSKU !=
    1621-
    1622- WHERE a.ShipDate &gt; CurrMaxShipDate
    1623-
    1624-
    1625- GROUP BY a.ID
    1626-
    1627-
    1628- ) AS o
    1629-
    1630-
    163-
    163+ GROUP BY CustomerID,
    1631- ON o.ID = rspp.ID;
    1632-
    1633-
    1634- --
    1635-
    1636-
    1637-
    1638-
    1639-
    1640- MERGE RB_Report_SalesProductProfit AS target
    164- [DailyIncomes] [MONEY] NOT NULL,
    164+ SKU,
    1641-
    1642-
    1643- USING
    1644-
    1645-
    1646- (
    1647-
    1648-
    1649- SELECT CustomerID,
    1650-
    165-
    165+ SellerSKU,
    1651-
    1652- SKU,
    1653-
    1654-
    1655- SellerSKU,
    1656-
    1657-
    1658- OrderSourceID,
    1659-
    1660-
    166-
    166+ OrderSourceID,
    1661- OrderSourceName,
    1662-
    1663-
    1664- ProductNameCN,
    1665-
    1666-
    1667- ShipDate,
    1668-
    1669-
    1670- DailyProductNum,
    167- [SellerSKUDailyProfitsRate] [DECIMAL](18, 2) NULL,
    167+ OrderSourceName,
    1671-
    1672-
    1673- DailyProfits,
    1674-
    1675-
    1676- DailyIncomes,
    1677-
    1678-
    1679- SellerSKUDailyProfitsRate,
    1680-
    168-
    168+ ProductNameCN,
    1681-
    1682- SellerSKUSevenDayProfitsRate,
    1683-
    1684-
    1685- SellerSKUCurrWeekprofits,
    1686-
    1687-
    1688- SellerSKULastWeekprofits,
    1689-
    1690-
    169-
    169+ ShipDate,
    1691- SevenDayProfits,
    1692-
    1693-
    1694- SevenDaySaleNumber,
    1695-
    1696-
    1697- MonthProfits,
    1698-
    1699-
    1700- MonthSaleNumber,
    170- [SellerSKUSevenDayProfitsRate] [DECIMAL](18, 2) NULL,
    170+ BusinessAdminID,
    1701-
    1702-
    1703- MonthAvgProfits,
    1704-
    1705-
    1706- BusinessAdminID,
    1707-
    1708-
    1709- SevenDayIncomes,
    1710-
    171-
    171+ OrderSourceType
    1711-
    1712- MonthIncomes,
    1713-
    1714-
    1715- UpdateTime,
    1716-
    1717-
    1718- OrderSourceType,
    1719-
    1720-
    172-
    172+ ORDER BY ShipDate;
    1721- DailyAvgRefund,
    1722-
    1723-
    1724- SevenDayAvgRefund,
    1725-
    1726-
    1727- MonthAvgRefund,
    1728-
    1729-
    1730- DailyRefund,
    173- [SellerSKUCurrWeekprofits] [MONEY] NULL,
    173+
    1731-
    1732-
    1733- SevenDayRefund,
    1734-
    1735-
    1736- MonthRefund,
    1737-
    1738-
    1739- ThreeMonthProfitRate,
    1740-
    174-
    174+
    1741-
    1742- ThreeMonthRefundRate,
    1743-
    1744-
    1745- OtherDailyProfits,
    1746-
    1747-
    1748- OtherSellerSKUDailyProfitsRate,
    1749-
    1750-
    175-
    175+
    1751- OtherSellerSKUSevenDayProfitsRate,
    1752-
    1753-
    1754- OtherSellerSKUCurrWeekprofits,
    1755-
    1756-
    1757- OtherSellerSKULastWeekprofits,
    1758-
    1759-
    1760- OtherSevenDayProfits,
    176- [SellerSKULastWeekprofits] [MONEY] NULL,
    176+ INSERT INTO SalesProductProfit
    1761-
    1762-
    1763- OtherMonthProfits,
    1764-
    1765-
    1766- OtherMonthAvgProfits,
    1767-
    1768-
    1769- OtherThreeMonthProfitRate
    1770-
    177-
    177+ (
    1771-
    1772- FROM SalesProductProfit
    1773-
    1774-
    1775- WHERE ShipDate &gt; CurrMaxShipDate
    1776-
    1777-
    1778- ) AS source
    1779-
    1780-
    178-
    178+ CustomerID,
    1781- (CustomerID, SKU, SellerSKU, OrderSourceID, OrderSourceName, ProductNameCN, ShipDate, DailyProductNum, DailyProfits, DailyIncomes, SellerSKUDailyProfitsRate, SellerSKUSevenDayProfitsRate, SellerSKUCurrWeekprofits, SellerSKULastWeekprofits, SevenDayProfits, SevenDaySaleNumber, MonthProfits, MonthSaleNumber, MonthAvgProfits, BusinessAdminID, SevenDayIncomes, MonthIncomes, UpdateTime, OrderSourceType, DailyAvgRefund, SevenDayAvgRefund, MonthAvgRefund, DailyRefund, SevenDayRefund, MonthRefund,ThreeMonthProfitRate,ThreeMonthRefundRate,
    1782-
    1783-
    1784- OtherDailyProfits,
    1785-
    1786-
    1787- OtherSellerSKUDailyProfitsRate,
    1788-
    1789-
    1790- OtherSellerSKUSevenDayProfitsRate,
    179- [SevenDayProfits] [MONEY] NULL,
    179+ SKU,
    1791-
    1792-
    1793- OtherSellerSKUCurrWeekprofits,
    1794-
    1795-
    1796- OtherSellerSKULastWeekprofits,
    1797-
    1798-
    1799- OtherSevenDayProfits,
    1800-
    180-
    180+ SellerSKU,
    1801-
    1802- OtherMonthProfits,
    1803-
    1804-
    1805- OtherMonthAvgProfits,
    1806-
    1807-
    1808- OtherThreeMonthProfitRate
    1809-
    1810-
    181-
    181+ OrderSourceID,
    1811- )
    1812-
    1813-
    1814- ON (
    1815-
    1816-
    1817- target.CustomerID = source.CustomerID
    1818-
    1819-
    1820- AND target.SKU = source.SKU
    182- [SevenDaySaleNumber] [INT] NULL,
    182+ OrderSourceName,
    1821-
    1822-
    1823- AND target.SellerSKU = source.SellerSKU
    1824-
    1825-
    1826- AND target.OrderSourceID = source.OrderSourceID
    1827-
    1828-
    1829- AND target.OrderSourceName = source.OrderSourceName
    1830-
    183-
    183+ ProductNameCN,
    1831-
    1832- AND target.ProductNameCN = source.ProductNameCN
    1833-
    1834-
    1835- AND target.ShipDate = source.ShipDate
    1836-
    1837-
    1838- AND target.BusinessAdminID = source.BusinessAdminID
    1839-
    1840-
    184-
    184+ ShipDate,
    1841- AND target.OrderSourceType = source.OrderSourceType
    1842-
    1843-
    1844- )
    1845-
    1846-
    1847- WHEN MATCHED AND target.ShipDate &gt; CurrMaxShipDate
    1848-
    1849-
    1850- AND (
    185- [MonthProfits] [MONEY] NULL,
    185+ DailyProductNum,
    1851-
    1852-
    1853- target.DailyProductNum != source.DailyProductNum
    1854-
    1855-
    1856- OR target.DailyProfits != source.DailyProfits
    1857-
    1858-
    1859- OR target.SellerSKUDailyProfitsRate != source.SellerSKUDailyProfitsRate
    1860-
    186-
    186+ DailyProfits,
    1861-
    1862- OR target.SellerSKUSevenDayProfitsRate != source.SellerSKUSevenDayProfitsRate
    1863-
    1864-
    1865- OR target.SellerSKUCurrWeekprofits != source.SellerSKUCurrWeekprofits
    1866-
    1867-
    1868- OR target.SellerSKULastWeekprofits != source.SellerSKULastWeekprofits
    1869-
    1870-
    187-
    187+ DailyIncomes,
    1871- OR target.SevenDayProfits != source.SevenDayProfits
    1872-
    1873-
    1874- OR target.MonthProfits != source.MonthProfits
    1875-
    1876-
    1877- OR target.MonthAvgProfits != source.MonthAvgProfits
    1878-
    1879-
    1880- OR target.ThreeMonthProfitRate != source.ThreeMonthProfitRate
    188- [MonthSaleNumber] [INT] NULL,
    188+ SellerSKUDailyProfitsRate,
    1881-
    1882-
    1883- OR target.ThreeMonthRefundRate != source.ThreeMonthRefundRate
    1884-
    1885-
    1886- OR target.OtherDailyProfits != source.OtherDailyProfits
    1887-
    1888-
    1889- OR target.OtherSellerSKUDailyProfitsRate != source.OtherSellerSKUDailyProfitsRate
    1890-
    189-
    189+ SellerSKUSevenDayProfitsRate,
    1891-
    1892- OR target.OtherSellerSKUSevenDayProfitsRate != source.OtherSellerSKUSevenDayProfitsRate
    1893-
    1894-
    1895- OR target.OtherSellerSKUCurrWeekprofits != source.OtherSellerSKUCurrWeekprofits
    1896-
    1897-
    1898- OR target.OtherSellerSKULastWeekprofits != source.OtherSellerSKULastWeekprofits
    1899-
    1900-
    190-
    190+ SellerSKUCurrWeekprofits,
    1901- OR target.OtherSevenDayProfits != source.OtherSevenDayProfits
    1902-
    1903-
    1904- OR target.OtherMonthProfits != source.OtherMonthProfits
    1905-
    1906-
    1907- OR target.OtherMonthAvgProfits != source.OtherMonthAvgProfits
    1908-
    1909-
    1910- OR target.OtherThreeMonthProfitRate != source.OtherThreeMonthProfitRate
    191- [MonthAvgProfits] [MONEY] NULL,
    191+ SellerSKULastWeekprofits,
    1911-
    1912-
    1913-
    1914-
    1915-
    1916- ) THEN
    1917-
    1918-
    1919- UPDATE SET target.DailyProductNum = source.DailyProductNum,
    1920-
    192-
    192+ SevenDayProfits,
    1921-
    1922- target.DailyProfits = source.DailyProfits,
    1923-
    1924-
    1925- target.DailyIncomes = source.DailyIncomes,
    1926-
    1927-
    1928- target.SellerSKUDailyProfitsRate = source.SellerSKUDailyProfitsRate,
    1929-
    1930-
    193-
    193+ SevenDaySaleNumber,
    1931- target.SellerSKUSevenDayProfitsRate = source.SellerSKUSevenDayProfitsRate,
    1932-
    1933-
    1934- target.SellerSKUCurrWeekprofits = source.SellerSKUCurrWeekprofits,
    1935-
    1936-
    1937- target.SellerSKULastWeekprofits = source.SellerSKULastWeekprofits,
    1938-
    1939-
    1940- target.SevenDayProfits = source.SevenDayProfits,
    194- [BusinessAdminID] [INT] NULL,
    194+ MonthProfits,
    1941-
    1942-
    1943- target.SevenDaySaleNumber = source.SevenDaySaleNumber,
    1944-
    1945-
    1946- target.MonthProfits = source.MonthProfits,
    1947-
    1948-
    1949- target.MonthSaleNumber = source.MonthSaleNumber,
    1950-
    195-
    195+ MonthSaleNumber,
    1951-
    1952- target.MonthAvgProfits = source.MonthAvgProfits,
    1953-
    1954-
    1955- target.SevenDayIncomes = source.SevenDayIncomes,
    1956-
    1957-
    1958- target.MonthIncomes = source.MonthIncomes,
    1959-
    1960-
    196-
    196+ MonthAvgProfits,
    1961- target.DailyAvgRefund = source.DailyAvgRefund,
    1962-
    1963-
    1964- target.SevenDayAvgRefund = source.SevenDayAvgRefund,
    1965-
    1966-
    1967- target.MonthAvgRefund = source.MonthAvgRefund,
    1968-
    1969-
    1970- target.DailyRefund = source.DailyRefund,
    197- [SevenDayIncomes] [MONEY] NULL
    197+ BusinessAdminID,
    1971-
    1972-
    1973- target.SevenDayRefund = source.SevenDayRefund,
    1974-
    1975-
    1976- target.MonthRefund = source.MonthRefund,
    1977-
    1978-
    1979- target.ThreeMonthProfitRate= source.ThreeMonthProfitRate,
    1980-
    198-
    198+ SevenDayIncomes,
    1981-
    1982- target.ThreeMonthRefundRate= source.ThreeMonthRefundRate,
    1983-
    1984-
    1985- target.OtherDailyProfits= source.OtherDailyProfits,
    1986-
    1987-
    1988- target.OtherSellerSKUDailyProfitsRate= source.OtherSellerSKUDailyProfitsRate,
    1989-
    1990-
    199-
    199+ MonthIncomes,
    1991- target.OtherSellerSKUSevenDayProfitsRate= source.OtherSellerSKUSevenDayProfitsRate,
    1992-
    1993-
    1994- target.OtherSellerSKUCurrWeekprofits= source.OtherSellerSKUCurrWeekprofits,
    1995-
    1996-
    1997- target.OtherSellerSKULastWeekprofits= source.OtherSellerSKULastWeekprofits,
    1998-
    1999-
    2000- target.OtherSevenDayProfits= source.OtherSevenDayProfits,
    200- DEFAULT ((0)),
    200+ OrderSourceType,
    2001-
    2002-
    2003- target.OtherMonthProfits= source.OtherMonthProfits,
    2004-
    2005-
    2006- target.OtherMonthAvgProfits= source.OtherMonthAvgProfits,
    2007-
    2008-
    2009- target.OtherThreeMonthProfitRate= source.OtherThreeMonthProfitRate,
    2010-
    201-
    201+ DailyAvgRefund,
    2011-
    2012- target.UpdateTime = GETDATE()
    2013-
    2014-
    2015- WHEN NOT MATCHED BY TARGET THEN
    2016-
    2017-
    2018- INSERT
    2019-
    2020-
    202-
    202+ SevenDayAvgRefund,
    2021- (
    2022-
    2023-
    2024- CustomerID,
    2025-
    2026-
    2027- SKU,
    2028-
    2029-
    2030- SellerSKU,
    203- [MonthIncomes] [MONEY] NULL
    203+ MonthAvgRefund,
    2031-
    2032-
    2033- OrderSourceID,
    2034-
    2035-
    2036- OrderSourceName,
    2037-
    2038-
    2039- ProductNameCN,
    2040-
    204-
    204+ DailyRefund,
    2041-
    2042- ShipDate,
    2043-
    2044-
    2045- DailyProductNum,
    2046-
    2047-
    2048- DailyProfits,
    2049-
    2050-
    205-
    205+ SevenDayRefund,
    2051- DailyIncomes,
    2052-
    2053-
    2054- SellerSKUDailyProfitsRate,
    2055-
    2056-
    2057- SellerSKUSevenDayProfitsRate,
    2058-
    2059-
    2060- SellerSKUCurrWeekprofits,
    206- DEFAULT ((0)),
    206+ MonthRefund,
    2061-
    2062-
    2063- SellerSKULastWeekprofits,
    2064-
    2065-
    2066- SevenDayProfits,
    2067-
    2068-
    2069- SevenDaySaleNumber,
    2070-
    207-
    207+ ThreeMonthProfitRate,
    2071-
    2072- MonthProfits,
    2073-
    2074-
    2075- MonthSaleNumber,
    2076-
    2077-
    2078- MonthAvgProfits,
    2079-
    2080-
    208-
    208+ ThreeMonthRefundRate,
    2081- BusinessAdminID,
    2082-
    2083-
    2084- SevenDayIncomes,
    2085-
    2086-
    2087- MonthIncomes,
    2088-
    2089-
    2090- OrderSourceType,
    209- [UpdateTime] [DATETIME] NULL,
    209+ OtherDailyProfits,
    2091-
    2092-
    2093- DailyAvgRefund,
    2094-
    2095-
    2096- SevenDayAvgRefund,
    2097-
    2098-
    2099- MonthAvgRefund,
    2100-
    210-
    210+ OtherSellerSKUDailyProfitsRate,
    2101-
    2102- DailyRefund,
    2103-
    2104-
    2105- SevenDayRefund,
    2106-
    2107-
    2108- MonthRefund,
    2109-
    2110-
    211-
    211+ OtherSellerSKUSevenDayProfitsRate,
    2111- ThreeMonthProfitRate,
    2112-
    2113-
    2114- ThreeMonthRefundRate,
    2115-
    2116-
    2117- OtherDailyProfits,
    2118-
    2119-
    2120- OtherSellerSKUDailyProfitsRate,
    212- [OrderSourceType] [INT] NULL
    212+ OtherSellerSKUCurrWeekprofits,
    2121-
    2122-
    2123- OtherSellerSKUSevenDayProfitsRate,
    2124-
    2125-
    2126- OtherSellerSKUCurrWeekprofits,
    2127-
    2128-
    2129- OtherSellerSKULastWeekprofits,
    2130-
    213-
    213+ OtherSellerSKULastWeekprofits,
    2131-
    2132- OtherSevenDayProfits,
    2133-
    2134-
    2135- OtherMonthProfits,
    2136-
    2137-
    2138- OtherMonthAvgProfits,
    2139-
    2140-
    214-
    214+ OtherSevenDayProfits,
    2141- OtherThreeMonthProfitRate,
    2142-
    2143-
    2144- UpdateTime
    2145-
    2146-
    2147- )
    2148-
    2149-
    2150- VALUES
    215- DEFAULT ((0)),
    215+ OtherMonthProfits,
    2151-
    2152-
    2153- (CustomerID, SKU, SellerSKU, OrderSourceID, OrderSourceName, ProductNameCN, ShipDate, DailyProductNum,
    2154-
    2155-
    2156- DailyProfits, DailyIncomes, SellerSKUDailyProfitsRate, SellerSKUSevenDayProfitsRate, SellerSKUCurrWeekprofits,
    2157-
    2158-
    2159- SellerSKULastWeekprofits, SevenDayProfits, SevenDaySaleNumber, MonthProfits, MonthSaleNumber, MonthAvgProfits,
    2160-
    216-
    216+ OtherMonthAvgProfits,
    2161-
    2162- BusinessAdminID, SevenDayIncomes, MonthIncomes, OrderSourceType, DailyAvgRefund, SevenDayAvgRefund,
    2163-
    2164-
    2165- MonthAvgRefund, DailyRefund, SevenDayRefund, MonthRefund,ThreeMonthProfitRate,ThreeMonthRefundRate,
    2166-
    2167-
    2168- OtherDailyProfits,
    2169-
    2170-
    217-
    217+ OtherThreeMonthProfitRate
    2171- OtherSellerSKUDailyProfitsRate,
    2172-
    2173-
    2174- OtherSellerSKUSevenDayProfitsRate,
    2175-
    2176-
    2177- OtherSellerSKUCurrWeekprofits,
    2178-
    2179-
    2180- OtherSellerSKULastWeekprofits,
    218- [DailyAvgRefund] [MONEY] NULL,
    218+ )
    2181-
    2182-
    2183- OtherSevenDayProfits,
    2184-
    2185-
    2186- OtherMonthProfits,
    2187-
    2188-
    2189- OtherMonthAvgProfits,
    2190-
    219-
    219+ SELECT CustomerID,
    2191-
    2192- OtherThreeMonthProfitRate, GETDATE())
    2193-
    2194-
    2195- WHEN NOT MATCHED BY SOURCE AND target.ShipDate &gt; CurrMaxShipDate THEN
    2196-
    2197-
    2198- DELETE;
    2199-
    2200-
    220-
    220+ SKU,
    2201- --OUTPUT action,
    2202-
    2203-
    2204- -- inserted.*,
    2205-
    2206-
    2207- -- deleted.*;
    2208-
    2209-
    2210-
    221- [SevenDayAvgRefund] [MONEY] NULL,
    221+ SellerSKU,
    2211-
    2212-
    2213-
    2214-
    2215-
    2216- DROP TABLE SalesProductProfit
    2217-
    2218-
    2219-
    2220-
    222-
    222+ OrderSourceID,
    2221-
    2222- --初始化SKU产品利润统计数据
    2223-
    2224-
    2225- INSERT INTO RB_Report_SKUProductProfitStastic
    2226-
    2227-
    2228- (
    2229-
    2230-
    223-
    223+ OrderSourceName,
    2231- CustomerID,
    2232-
    2233-
    2234- SKU,
    2235-
    2236-
    2237- ProductNameCN,
    2238-
    2239-
    2240- DailyProfits,
    224- [MonthAvgRefund] [MONEY] NULL,
    224+ ProductNameCN,
    2241-
    2242-
    2243- DailyIncomes,
    2244-
    2245-
    2246- DailyAvgSalePrice,
    2247-
    2248-
    2249- DailySaleNumber,
    2250-
    225-
    225+ ShipDate,
    2251-
    2252- ShipDate,
    2253-
    2254-
    2255- DailyAvgProfits,
    2256-
    2257-
    2258- SevenDayAvgProfits,
    2259-
    2260-
    226-
    226+ DailyProductNum,
    2261- SKUCurrWeekprofits,
    2262-
    2263-
    2264- SKULastWeekprofits,
    2265-
    2266-
    2267- DailyRefund, --日总退款
    2268-
    2269-
    2270- SevenDayRefund, --七天总退款
    227- [DailyRefund] [MONEY] NULL,
    227+ DailyProfits,
    2271-
    2272-
    2273- MonthRefund, --月总退款
    2274-
    2275-
    2276- DailyAvgRefund, --日平均退款率
    2277-
    2278-
    2279- SevenDayAvgRefund, --七天平均退款率
    2280-
    228-
    228+ DailyIncomes,
    2281-
    2282- MonthAvgRefund --月平均退款率
    2283-
    2284-
    2285- )
    2286-
    2287-
    2288- SELECT CustomerID,
    2289-
    2290-
    229-
    229+ SellerSKUDailyProfitsRate,
    2291- SKU,
    2292-
    2293-
    2294- ProductNameCN,
    2295-
    2296-
    2297- SUM(DailyProfits),
    2298-
    2299-
    2300- SUM(DailyIncomes),
    230- [SevenDayRefund] [MONEY] NULL,
    230+ SellerSKUSevenDayProfitsRate,
    2301-
    2302-
    2303- CASE
    2304-
    2305-
    2306- WHEN SUM(DailyProductNum) = 0 THEN
    2307-
    2308-
    2309- 0
    2310-
    231-
    231+ SellerSKUCurrWeekprofits,
    2311-
    2312- ELSE
    2313-
    2314-
    2315- CASE
    2316-
    2317-
    2318- WHEN SUM(DailyIncomes) &lt; 0 THEN
    2319-
    2320-
    232-
    232+ SellerSKULastWeekprofits,
    2321- SUM(DailyIncomes) / ABS(SUM(DailyProductNum))
    2322-
    2323-
    2324- ELSE
    2325-
    2326-
    2327- SUM(DailyIncomes) / SUM(DailyProductNum)
    2328-
    2329-
    2330- END
    233- [MonthRefund] [MONEY] NULL,
    233+ SevenDayProfits,
    2331-
    2332-
    2333- END,
    2334-
    2335-
    2336- SUM(DailyProductNum),
    2337-
    2338-
    2339- ShipDate,
    2340-
    234-
    234+ SevenDaySaleNumber,
    2341-
    2342- CASE
    2343-
    2344-
    2345- WHEN SUM(DailyIncomes) = 0 THEN
    2346-
    2347-
    2348- 0
    2349-
    2350-
    235-
    235+ MonthProfits,
    2351- ELSE
    2352-
    2353-
    2354- CASE
    2355-
    2356-
    2357- WHEN SUM(DailyIncomes) &lt; 0 THEN
    2358-
    2359-
    2360- SUM(DailyProfits) / ABS(SUM(DailyIncomes))
    236- [ThreeMonthProfitRate] [DECIMAL](18, 4) NULL,
    236+ MonthSaleNumber,
    2361-
    2362-
    2363- ELSE
    2364-
    2365-
    2366- SUM(DailyProfits) / SUM(DailyIncomes)
    2367-
    2368-
    2369- END
    2370-
    237-
    237+ MonthAvgProfits,
    2371-
    2372- END,
    2373-
    2374-
    2375- 0,
    2376-
    2377-
    2378- 0,
    2379-
    2380-
    238-
    238+ BusinessAdminID,
    2381- 0,
    2382-
    2383-
    2384- SUM(DailyRefund), --日总退款
    2385-
    2386-
    2387- 0,
    2388-
    2389-
    2390- 0,
    239- [ThreeMonthRefundRate] [DECIMAL](18, 4) NULL,
    239+ SevenDayIncomes,
    2391-
    2392-
    2393- CASE
    2394-
    2395-
    2396- WHEN SUM(DailyIncomes) = 0 THEN
    2397-
    2398-
    2399- 0
    2400-
    240-
    240+ MonthIncomes,
    2401-
    2402- ELSE
    2403-
    2404-
    2405- CASE
    2406-
    2407-
    2408- WHEN SUM(DailyIncomes + ABS(DailyRefund)) = 0 THEN
    2409-
    2410-
    241-
    241+ OrderSourceType,
    2411- 0
    2412-
    2413-
    2414- ELSE
    2415-
    2416-
    2417- SUM(DailyRefund) / SUM(DailyIncomes + ABS(DailyRefund))
    2418-
    2419-
    2420- END
    242- [OtherDailyProfits] [MONEY] NULL,
    242+ DailyAvgRefund,
    2421-
    2422-
    2423- END, --日平均退款率
    2424-
    2425-
    2426- 0,
    2427-
    2428-
    2429- 0
    2430-
    243-
    243+ SevenDayAvgRefund,
    2431-
    2432- FROM RB_Report_SalesProductProfit (NOLOCK)
    2433-
    2434-
    2435- WHERE ShipDate &gt; CurrMaxShipDate
    2436-
    2437-
    2438- GROUP BY SKU,
    2439-
    2440-
    244-
    244+ MonthAvgRefund,
    2441- CustomerID,
    2442-
    2443-
    2444- ShipDate,
    2445-
    2446-
    2447- ProductNameCN
    2448-
    2449-
    2450- ORDER BY ShipDate;
    245- [OtherSellerSKUDailyProfitsRate] DECIMAL(18,4) NULL,
    245+ DailyRefund,
    2451-
    2452-
    2453-
    2454-
    2455-
    2456-
    2457-
    2458-
    2459- --更新RB_Report_SKUProductProfitStastic表(渠道SKU七天总利润)
    2460-
    246-
    246+ SevenDayRefund,
    2461-
    2462- UPDATE rspp
    2463-
    2464-
    2465- SET SevenDayProfits = o.SevenDayProfits,
    2466-
    2467-
    2468- SevenDaySaleNumber = o.SevenDaySaleNumber,
    2469-
    2470-
    247-
    247+ MonthRefund,
    2471- SevenDayIncomes = o.SevenDayIncomes,
    2472-
    2473-
    2474- SevenDayAvgProfits = CASE
    2475-
    2476-
    2477- WHEN o.SevenDayIncomes = 0 THEN
    2478-
    2479-
    2480- 0
    248- [OtherSellerSKUSevenDayProfitsRate] DECIMAL(18,4) NULL,
    248+ ThreeMonthProfitRate,
    2481-
    2482-
    2483- ELSE
    2484-
    2485-
    2486- (CASE
    2487-
    2488-
    2489- WHEN o.SevenDayProfits &lt; 0 THEN
    2490-
    249-
    249+ ThreeMonthRefundRate,
    2491-
    2492- o.SevenDayProfits / ABS(o.SevenDayIncomes)
    2493-
    2494-
    2495- ELSE
    2496-
    2497-
    2498- o.SevenDayProfits / o.SevenDayIncomes
    2499-
    2500-
    250-
    250+ ISNULL(OtherDailyProfits,0) AS OtherDailyProfits,
    2501- END
    2502-
    2503-
    2504- )
    2505-
    2506-
    2507- END,
    2508-
    2509-
    2510- SevenDayRefund = o.SevenDayRefund, --七天总退款
    251- [OtherSellerSKUCurrWeekprofits] MONEY NULL,
    251+ ISNULL(OtherSellerSKUDailyProfitsRate,0) AS OtherSellerSKUDailyProfitsRate,
    2511-
    2512-
    2513- SevenDayAvgRefund = CASE --七天平均退款率
    2514-
    2515-
    2516- WHEN o.SevenDayIncomes = 0 THEN
    2517-
    2518-
    2519- 0
    2520-
    252-
    252+ ISNULL(OtherSellerSKUSevenDayProfitsRate,0) AS OtherSellerSKUSevenDayProfitsRate,
    2521-
    2522- ELSE
    2523-
    2524-
    2525- CASE
    2526-
    2527-
    2528- WHEN o.SevenDayIncomes + ABS(o.SevenDayRefund) = 0 THEN
    2529-
    2530-
    253-
    253+ ISNULL(OtherSellerSKUCurrWeekprofits,0) AS OtherSellerSKUCurrWeekprofits,
    2531- 0
    2532-
    2533-
    2534- ELSE
    2535-
    2536-
    2537- o.SevenDayRefund / (o.SevenDayIncomes + ABS(o.SevenDayRefund))
    2538-
    2539-
    2540- END
    254- [OtherSellerSKULastWeekprofits] MONEY NULL,
    254+ ISNULL(OtherSellerSKULastWeekprofits,0) AS OtherSellerSKULastWeekprofits,
    2541-
    2542-
    2543- END
    2544-
    2545-
    2546- FROM RB_Report_SKUProductProfitStastic AS rspp
    2547-
    2548-
    2549- INNER JOIN
    2550-
    255-
    255+ ISNULL(OtherSevenDayProfits,0) AS OtherSevenDayProfits,
    2551-
    2552- (
    2553-
    2554-
    2555- SELECT a.ID,
    2556-
    2557-
    2558- SUM(rb.DailyProfits) AS SevenDayProfits,
    2559-
    2560-
    256-
    256+ ISNULL(OtherSevenDayProfits,0) AS OtherMonthProfits,
    2561- SUM(rb.DailySaleNumber) AS SevenDaySaleNumber,
    2562-
    2563-
    2564- SUM(ISNULL(rb.DailyIncomes, 0)) AS SevenDayIncomes,
    2565-
    2566-
    2567- SUM(rb.DailyRefund) AS SevenDayRefund
    2568-
    2569-
    2570- FROM RB_Report_SKUProductProfitStastic AS a
    257- [OtherSevenDayProfits] MONEY NULL,
    257+ ISNULL(OtherMonthAvgProfits,0) AS OtherMonthAvgProfits,
    2571-
    2572-
    2573- INNER JOIN RB_Report_SKUProductProfitStastic rb (NOLOCK)
    2574-
    2575-
    2576- ON rb.CustomerID = a.Custo
    258-
    258+ ISNULL(OtherThreeMonthProfitRate,0) AS OtherThreeMonthProfitRate
    259-
    259+ FROM RB_Report_SalesProductProfit (NOLOCK)
    260- [OtherMonthProfits] MONEY NULL,
    260+ WHERE ShipDate &gt; DATEADD(DAY, -90, CurrMaxShipDate)
    261-
    261+ AND ShipDate &lt;= CurrMaxShipDate
    262-
    262+ ORDER BY ShipDate;
    263- [OtherMonthAvgProfits] MONEY NULL,
    263+
    264-
    264+
    265-
    265+
    266- [OtherThreeMonthProfitRate] DECIMAL(18,4) NULL
    266+
    267-
    267+ --更新SalesProductProfit表的SellerSKUDailyProfitsRate(渠道SKU日平均利润)
    268-
    268+ --渠道SKU日平均利润率:渠道SKU总的利润率/日销售额
    269- );
    269+ UPDATE SalesProductProfit
    270-
    270+ SET SellerSKUDailyProfitsRate = CASE
    271-
    271+ WHEN DailyIncomes = 0 THEN
    272- CREATE INDEX IX_ShipDate ON SalesProductProfit(ShipDate);
    272+ 0
    273-
    273+ ELSE
    274-
    274+ CASE
    275- CREATE INDEX IX_CustomerID ON SalesProductProfit(CustomerID,SKU,SellerSKU,OrderSourceID,ShipDate);
    275+ WHEN DailyProfits &lt; 0 THEN
    276-
    276+ DailyProfits / ABS(DailyIncomes)
    277-
    277+ ELSE
    278-
    278+ DailyProfits / DailyIncomes
    279-
    279+ END
    280-
    280+ END,
    281- INSERT INTO SalesProductProfit
    281+ DailyAvgRefund = CASE
    282-
    282+ WHEN DailyIncomes = 0 THEN
    283-
    283+ 0
    284- (
    284+ ELSE
    285-
    285+ CASE
    286-
    286+ WHEN DailyIncomes + ABS(DailyRefund) = 0 THEN
    287- CustomerID,
    287+ 0
    288-
    288+ ELSE
    289-
    289+ DailyRefund / (DailyIncomes + ABS(DailyRefund))
    290- SKU,
    290+ END
    291-
    291+ END,
    292-
    292+ OtherSellerSKUDailyProfitsRate = CASE
    293- SellerSKU,
    293+ WHEN DailyIncomes = 0 THEN
    294-
    294+ 0
    295-
    295+ ELSE
    296- OrderSourceID,
    296+ CASE
    297-
    297+ WHEN OtherDailyProfits &lt; 0 THEN
    298-
    298+ OtherDailyProfits / ABS(DailyIncomes)
    299- OrderSourceName,
    299+ ELSE
    300-
    300+ OtherDailyProfits / DailyIncomes
    301-
    301+ END
    302- ProductNameCN,
    302+ END
    303-
    303+ WHERE ShipDate &gt; CurrMaxShipDate;
    304-
    304+
    305- ShipDate,
    305+
    306-
    306+ --更新SalesProductProfit表(渠道SKU七天利润计算)
    307-
    307+ UPDATE rspp
    308- DailyProductNum,
    308+ SET SevenDayProfits = o.SevenDayProfits,
    309-
    309+ SevenDaySaleNumber = o.SevenDaySaleNumber,
    310-
    310+ SevenDayIncomes = o.SevenDayIncomes,
    311- DailyProfits,
    311+ SellerSKUSevenDayProfitsRate = CASE
    312-
    312+ WHEN o.SevenDayIncomes = 0 THEN
    313-
    313+ 0
    314- DailyIncomes,
    314+ ELSE
    315-
    315+ (CASE
    316-
    316+ WHEN o.SevenDayProfits &lt; 0 THEN
    317- SevenDayProfits,
    317+ o.SevenDayProfits / ABS(o.SevenDayIncomes)
    318-
    318+ ELSE
    319-
    319+ o.SevenDayProfits / o.SevenDayIncomes
    320- SevenDaySaleNumber,
    320+ END
    321-
    321+ )
    322-
    322+ END,
    323- MonthProfits,
    323+ SevenDayRefund = o.SevenDayRefund, --七天退款总额
    324-
    324+ SevenDayAvgRefund = CASE --七天平均退款率
    325-
    325+ WHEN o.SevenDayIncomes = 0 THEN
    326- MonthSaleNumber,
    326+ 0
    327-
    327+ ELSE
    328-
    328+ CASE
    329- MonthAvgProfits,
    329+ WHEN o.SevenDayIncomes + ABS(o.SevenDayRefund) = 0 THEN
    330-
    330+ 0
    331-
    331+ ELSE
    332- BusinessAdminID,
    332+ o.SevenDayRefund / (o.SevenDayIncomes + ABS(o.SevenDayRefund))
    333-
    333+ END
    334-
    334+ END,
    335- OrderSourceType,
    335+ OtherSellerSKUSevenDayProfitsRate = CASE
    336-
    336+ WHEN o.SevenDayIncomes = 0 THEN
    337-
    337+ 0
    338- DailyRefund,
    338+ ELSE
    339-
    339+ (CASE
    340-
    340+ WHEN o.OtherSevenDayProfits &lt; 0 THEN
    341- SevenDayRefund,
    341+ o.OtherSevenDayProfits / ABS(o.SevenDayIncomes)
    342-
    342+ ELSE
    343-
    343+ o.OtherSevenDayProfits / o.SevenDayIncomes
    344- MonthRefund,
    344+ END
    345-
    345+ )
    346-
    346+ END
    347- DailyAvgRefund,
    347+ FROM SalesProductProfit AS rspp
    348-
    348+ INNER JOIN
    349-
    349+ (
    350- SevenDayAvgRefund,
    350+ SELECT a.ID,
    351-
    351+ SUM(rb.DailyProfits) AS SevenDayProfits,
    352-
    352+ SUM(rb.OtherDailyProfits) AS OtherSevenDayProfits,
    353- MonthAvgRefund,
    353+ SUM(rb.DailyProductNum) AS SevenDaySaleNumber,
    354-
    354+ SUM(rb.DailyIncomes) AS SevenDayIncomes,
    355-
    355+ SUM(rb.DailyRefund) AS SevenDayRefund
    356- ThreeMonthProfitRate,
    356+ FROM SalesProductProfit AS a
    357-
    357+ INNER JOIN SalesProductProfit rb (NOLOCK)
    358-
    358+ ON rb.CustomerID = a.CustomerID
    359- ThreeMonthRefundRate,
    359+ AND rb.SKU = a.SKU
    360-
    360+ AND rb.SellerSKU = a.SellerSKU
    361-
    361+ AND rb.OrderSourceID = a.OrderSourceID
    362- OtherDailyProfits,
    362+ AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)
    363-
    363+ BETWEEN 0 AND 6
    364-
    364+ WHERE a.ShipDate &gt; CurrMaxShipDate
    365- OtherSevenDayProfits,
    365+ GROUP BY a.ID
    366-
    366+ ) AS o
    367-
    367+ ON o.ID = rspp.ID;
    368- OtherMonthProfits,
    368+
    369-
    369+
    370-
    370+
    371- OtherMonthAvgProfits,
    371+ --更改SalesProductProfit表的SellerSKUCurrWeekprofits(本周利润)
    372-
    372+ UPDATE SalesProductProfit
    373-
    373+ SET SellerSKUCurrWeekprofits =
    374- OtherThreeMonthProfitRate
    374+ (
    375-
    375+ SELECT SUM(DailyProfits)
    376-
    376+ FROM SalesProductProfit rb (NOLOCK)
    377- )
    377+ WHERE rb.CustomerID = SalesProductProfit.CustomerID
    378-
    378+ AND rb.SKU = SalesProductProfit.SKU
    379-
    379+ AND rb.SellerSKU = SalesProductProfit.SellerSKU
    380- SELECT CustomerID,
    380+ AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    381-
    381+ AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    382-
    382+ AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 7)
    383- SKU,
    383+ ),
    384-
    384+ OtherSellerSKUCurrWeekprofits =
    385-
    385+ (
    386- SellerSKU,
    386+ SELECT SUM(OtherDailyProfits)
    387-
    387+ FROM SalesProductProfit rb (NOLOCK)
    388-
    388+ WHERE rb.CustomerID = SalesProductProfit.CustomerID
    389- OrderSourceID,
    389+ AND rb.SKU = SalesProductProfit.SKU
    390-
    390+ AND rb.SellerSKU = SalesProductProfit.SellerSKU
    391-
    391+ AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    392- OrderSourceName,
    392+ AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    393-
    393+ AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 7)
    394-
    394+ )
    395- ProductNameCN,
    395+ WHERE ShipDate &gt; CurrMaxShipDate;
    396-
    396+
    397-
    397+ --更改SalesProductProfit表的SellerSKULastWeekprofits(上周利润)
    398- ShipDate,
    398+ UPDATE SalesProductProfit
    399-
    399+ SET SellerSKULastWeekprofits =
    400-
    400+ (
    401- SUM(ProductNum + ProdutNumUpdate),
    401+ SELECT ISNULL(SUM(DailyProfits), 0)
    402-
    402+ FROM SalesProductProfit rb (NOLOCK)
    403-
    403+ WHERE rb.CustomerID = SalesProductProfit.CustomerID
    404- SUM(Profits),
    404+ AND rb.SKU = SalesProductProfit.SKU
    405-
    405+ AND rb.SellerSKU = SalesProductProfit.SellerSKU
    406-
    406+ AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    407- SUM(Incomes),
    407+ AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -7, SalesProductProfit.ShipDate)), 0)
    408-
    408+ AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    409-
    409+ ),
    410- 0, --七天总利润
    410+ OtherSellerSKULastWeekprofits =
    411-
    411+ (
    412-
    412+ SELECT ISNULL(SUM(OtherDailyProfits), 0)
    413- 0, --七天总销量
    413+ FROM SalesProductProfit rb (NOLOCK)
    414-
    414+ WHERE rb.CustomerID = SalesProductProfit.CustomerID
    415-
    415+ AND rb.SKU = SalesProductProfit.SKU
    416- 0, --月利润
    416+ AND rb.SellerSKU = SalesProductProfit.SellerSKU
    417-
    417+ AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    418-
    418+ AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -7, SalesProductProfit.ShipDate)), 0)
    419- 0, --月总销量
    419+ AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    420-
    420+ )
    421-
    421+ WHERE ShipDate &gt; CurrMaxShipDate;
    422- 0, --月平均利润率
    422+
    423-
    423+ --更新SalesProductProfit表的MonthProfits(渠道SKU月总利润)
    424-
    424+ UPDATE rspp
    425-
    425+ SET MonthProfits = o.MonthProfits,
    426-
    426+ MonthSaleNumber = o.MonthSaleNumber,
    427-
    427+ MonthIncomes = o.MonthIncomes,
    428- BusinessAdminID,
    428+ MonthAvgProfits = CASE
    429-
    429+ WHEN o.MonthIncomes = 0 THEN
    430-
    430+ 0
    431- OrderSourceType,
    431+ ELSE
    432-
    432+ (CASE
    433-
    433+ WHEN o.MonthProfits &lt; 0 THEN
    434- SUM(SalesRefunds),
    434+ o.MonthProfits / ABS(o.MonthIncomes)
    435-
    435+ ELSE
    436-
    436+ o.MonthProfits / o.MonthIncomes
    437- 0, --七天总退款
    437+ END
    438-
    438+ )
    439-
    439+ END,
    440- 0, --月总退款
    440+ MonthRefund = o.MonthRefund, --月总退款
    441-
    441+ MonthAvgRefund = CASE --月平均退款率
    442-
    442+ WHEN o.MonthIncomes = 0 THEN
    443- 0, --日平均退款率
    443+ 0
    444-
    444+ ELSE
    445-
    445+ CASE
    446- 0, --七天平均退款率
    446+ WHEN o.MonthIncomes + ABS(o.MonthRefund) = 0 THEN
    447-
    447+ 0
    448-
    448+ ELSE
    449- 0, --月平均退款率
    449+ o.MonthRefund / (o.MonthIncomes + ABS(o.MonthRefund))
    450-
    450+ END
    451-
    451+ END,
    452- 0, --三个月利润率
    452+ OtherMonthProfits = o.OtherMonthProfits,
    453-
    453+ OtherMonthAvgProfits = CASE
    454-
    454+ WHEN o.MonthIncomes = 0 THEN
    455- 0, --三个月退款率
    455+ 0
    456-
    456+ ELSE
    457-
    457+ (CASE
    458-
    458+ WHEN o.OtherMonthProfits &lt; 0 THEN
    459-
    459+ o.OtherMonthProfits / ABS(o.MonthIncomes)
    460-
    460+ ELSE
    461- SUM(Profits+ISNULL(OtherAdvertisingFee,0)+ISNULL(OtherPlatformFee,0)+ISNULL(OtherYunCangFee,0)+ISNULL(OtherReturnFee,0)), --日利润(含其他)
    461+ o.OtherMonthProfits / o.MonthIncomes
    462-
    462+ END
    463-
    463+ )
    464- 0, --七天总利润 (含其他)
    464+ END
    465-
    465+ FROM SalesProductProfit AS rspp
    466-
    466+ INNER JOIN
    467- 0, --月利润(含其他)
    467+ (
    468-
    468+ SELECT a.ID,
    469-
    469+ SUM(rb.DailyProfits) AS MonthProfits,
    470- 0, --月平均利润率(含其他)
    470+ SUM(rb.DailyProductNum) AS MonthSaleNumber,
    471-
    471+ SUM(rb.DailyIncomes) AS MonthIncomes,
    472-
    472+ SUM(rb.DailyRefund) AS MonthRefund,
    473- 0 --三个月利润率(含其他)
    473+ SUM(rb.OtherDailyProfits) AS OtherMonthProfits
    474-
    474+ FROM SalesProductProfit AS a
    475-
    475+ INNER JOIN SalesProductProfit rb (NOLOCK)
    476- FROM RB_Report_OrderSettlement (NOLOCK)
    476+ ON rb.CustomerID = a.CustomerID
    477-
    477+ AND rb.SKU = a.SKU
    478-
    478+ AND rb.SellerSKU = a.SellerSKU
    479- WHERE ShipDate &gt; CurrMaxShipDate
    479+ AND rb.OrderSourceID = a.OrderSourceID
    480-
    480+ AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)
    481-
    481+ BETWEEN 0 AND 29
    482- AND SKU !=
    482+ WHERE a.ShipDate &gt; CurrMaxShipDate
    483-
    483+ GROUP BY a.ID
    484-
    484+ ) AS o
    485- AND SellerSKU !=
    485+ ON o.ID = rspp.ID;
    486-
    486+
    487-
    487+ --更新三个月利润率和退款率
    488- GROUP BY CustomerID,
    488+ UPDATE rspp
    489-
    489+ SET ThreeMonthProfitRate = CASE
    490-
    490+ WHEN o.TreeMonthIncomes = 0 THEN
    491- SKU,
    491+ 0
    492-
    492+ ELSE
    493-
    493+ (CASE
    494- SellerSKU,
    494+ WHEN o.TreeMonthProfits &lt; 0 THEN
    495-
    495+ o.TreeMonthProfits / ABS(o.TreeMonthIncomes)
    496-
    496+ ELSE
    497- OrderSourceID,
    497+ o.TreeMonthProfits / o.TreeMonthIncomes
    498-
    498+ END
    499-
    499+ )
    500- OrderSourceName,
    500+ END,
    501-
    501+ ThreeMonthRefundRate = CASE
    502-
    502+ WHEN o.TreeMonthIncomes = 0 THEN
    503- ProductNameCN,
    503+ 0
    504-
    504+ ELSE
    505-
    505+ CASE
    506- ShipDate,
    506+ WHEN o.TreeMonthIncomes + ABS(o.TreeMonthRefund) = 0 THEN
    507-
    507+ 0
    508-
    508+ ELSE
    509- BusinessAdminID,
    509+ o.TreeMonthRefund / (o.TreeMonthIncomes + ABS(o.TreeMonthRefund))
    510-
    510+ END
    511-
    511+ END,
    512- OrderSourceType
    512+ OtherThreeMonthProfitRate = CASE
    513-
    513+ WHEN o.TreeMonthIncomes = 0 THEN
    514-
    514+ 0
    515- ORDER BY ShipDate;
    515+ ELSE
    516-
    516+ (CASE
    517-
    517+ WHEN o.OtherTreeMonthProfits &lt; 0 THEN
    518-
    518+ o.OtherTreeMonthProfits / ABS(o.TreeMonthIncomes)
    519-
    519+ ELSE
    520-
    520+ o.OtherTreeMonthProfits / o.TreeMonthIncomes
    521-
    521+ END
    522-
    522+ )
    523-
    523+ END
    524-
    524+ FROM SalesProductProfit AS rspp
    525-
    525+ INNER JOIN
    526-
    526+ (
    527- INSERT INTO SalesProductProfit
    527+ SELECT a.ID,
    528-
    528+ SUM(rb.DailyProfits) AS TreeMonthProfits,
    529-
    529+ SUM(rb.DailyProductNum) AS TreeMonthSaleNumber,
    530- (
    530+ SUM(rb.DailyIncomes) AS TreeMonthIncomes,
    531-
    531+ SUM(rb.DailyRefund) AS TreeMonthRefund,
    532-
    532+ SUM(rb.OtherDailyProfits) AS OtherTreeMonthProfits
    533- CustomerID,
    533+ FROM SalesProductProfit AS a
    534-
    534+ INNER JOIN SalesProductProfit rb (NOLOCK)
    535-
    535+ ON rb.CustomerID = a.CustomerID
    536- SKU,
    536+ AND rb.SKU = a.SKU
    537-
    537+ AND rb.SellerSKU = a.SellerSKU
    538-
    538+ AND rb.OrderSourceID = a.OrderSourceID
    539- SellerSKU,
    539+ AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)
    540-
    540+ BETWEEN 0 AND 90
    541-
    541+ WHERE a.ShipDate &gt; CurrMaxShipDate
    542- OrderSourceID,
    542+ GROUP BY a.ID
    543-
    543+ ) AS o
    544-
    544+ ON o.ID = rspp.ID;
    545- OrderSourceName,
    545+ --
    546-
    546+
    547-
    547+ MERGE RB_Report_SalesProductProfit AS target
    548- ProductNameCN,
    548+ USING
    549-
    549+ (
    550-
    550+ SELECT CustomerID,
    551- ShipDate,
    551+ SKU,
    552-
    552+ SellerSKU,
    553-
    553+ OrderSourceID,
    554- DailyProductNum,
    554+ OrderSourceName,
    555-
    555+ ProductNameCN,
    556-
    556+ ShipDate,
    557- DailyProfits,
    557+ DailyProductNum,
    558-
    558+ DailyProfits,
    559-
    559+ DailyIncomes,
    560- DailyIncomes,
    560+ SellerSKUDailyProfitsRate,
    561-
    561+ SellerSKUSevenDayProfitsRate,
    562-
    562+ SellerSKUCurrWeekprofits,
    563- SellerSKUDailyProfitsRate,
    563+ SellerSKULastWeekprofits,
    564-
    564+ SevenDayProfits,
    565-
    565+ SevenDaySaleNumber,
    566- SellerSKUSevenDayProfitsRate,
    566+ MonthProfits,
    567-
    567+ MonthSaleNumber,
    568-
    568+ MonthAvgProfits,
    569- SellerSKUCurrWeekprofits,
    569+ BusinessAdminID,
    570-
    570+ SevenDayIncomes,
    571-
    571+ MonthIncomes,
    572- SellerSKULastWeekprofits,
    572+ UpdateTime,
    573-
    573+ OrderSourceType,
    574-
    574+ DailyAvgRefund,
    575- SevenDayProfits,
    575+ SevenDayAvgRefund,
    576-
    576+ MonthAvgRefund,
    577-
    577+ DailyRefund,
    578- SevenDaySaleNumber,
    578+ SevenDayRefund,
    579-
    579+ MonthRefund,
    580-
    580+ ThreeMonthProfitRate,
    581- MonthProfits,
    581+ ThreeMonthRefundRate,
    582-
    582+ OtherDailyProfits,
    583-
    583+ OtherSellerSKUDailyProfitsRate,
    584- MonthSaleNumber,
    584+ OtherSellerSKUSevenDayProfitsRate,
    585-
    585+ OtherSellerSKUCurrWeekprofits,
    586-
    586+ OtherSellerSKULastWeekprofits,
    587- MonthAvgProfits,
    587+ OtherSevenDayProfits,
    588-
    588+ OtherMonthProfits,
    589-
    589+ OtherMonthAvgProfits,
    590- BusinessAdminID,
    590+ OtherThreeMonthProfitRate
    591-
    591+ FROM SalesProductProfit
    592-
    592+ WHERE ShipDate &gt; CurrMaxShipDate
    593- SevenDayIncomes,
    593+ ) AS source
    594-
    594+ (CustomerID, SKU, SellerSKU, OrderSourceID, OrderSourceName, ProductNameCN, ShipDate, DailyProductNum, DailyProfits, DailyIncomes, SellerSKUDailyProfitsRate, SellerSKUSevenDayProfitsRate, SellerSKUCurrWeekprofits, SellerSKULastWeekprofits, SevenDayProfits, SevenDaySaleNumber, MonthProfits, MonthSaleNumber, MonthAvgProfits, BusinessAdminID, SevenDayIncomes, MonthIncomes, UpdateTime, OrderSourceType, DailyAvgRefund, SevenDayAvgRefund, MonthAvgRefund, DailyRefund, SevenDayRefund, MonthRefund,ThreeMonthProfitRate,ThreeMonthRefundRate,
    595-
    595+ OtherDailyProfits,
    596- MonthIncomes,
    596+ OtherSellerSKUDailyProfitsRate,
    597-
    597+ OtherSellerSKUSevenDayProfitsRate,
    598-
    598+ OtherSellerSKUCurrWeekprofits,
    599- OrderSourceType,
    599+ OtherSellerSKULastWeekprofits,
    600-
    600+ OtherSevenDayProfits,
    601-
    601+ OtherMonthProfits,
    602- DailyAvgRefund,
    602+ OtherMonthAvgProfits,
    603-
    603+ OtherThreeMonthProfitRate
    604-
    604+ )
    605- SevenDayAvgRefund,
    605+ ON (
    606-
    606+ target.CustomerID = source.CustomerID
    607-
    607+ AND target.SKU = source.SKU
    608- MonthAvgRefund,
    608+ AND target.SellerSKU = source.SellerSKU
    609-
    609+ AND target.OrderSourceID = source.OrderSourceID
    610-
    610+ AND target.OrderSourceName = source.OrderSourceName
    611- DailyRefund,
    611+ AND target.ProductNameCN = source.ProductNameCN
    612-
    612+ AND target.ShipDate = source.ShipDate
    613-
    613+ AND target.BusinessAdminID = source.BusinessAdminID
    614- SevenDayRefund,
    614+ AND target.OrderSourceType = source.OrderSourceType
    615-
    615+ )
    616-
    616+ WHEN MATCHED AND target.ShipDate &gt; CurrMaxShipDate
    617- MonthRefund,
    617+ AND (
    618-
    618+ target.DailyProductNum != source.DailyProductNum
    619-
    619+ OR target.DailyProfits != source.DailyProfits
    620- ThreeMonthProfitRate,
    620+ OR target.SellerSKUDailyProfitsRate != source.SellerSKUDailyProfitsRate
    621-
    621+ OR target.SellerSKUSevenDayProfitsRate != source.SellerSKUSevenDayProfitsRate
    622-
    622+ OR target.SellerSKUCurrWeekprofits != source.SellerSKUCurrWeekprofits
    623- ThreeMonthRefundRate,
    623+ OR target.SellerSKULastWeekprofits != source.SellerSKULastWeekprofits
    624-
    624+ OR target.SevenDayProfits != source.SevenDayProfits
    625-
    625+ OR target.MonthProfits != source.MonthProfits
    626- OtherDailyProfits,
    626+ OR target.MonthAvgProfits != source.MonthAvgProfits
    627-
    627+ OR target.ThreeMonthProfitRate != source.ThreeMonthProfitRate
    628-
    628+ OR target.ThreeMonthRefundRate != source.ThreeMonthRefundRate
    629- OtherSellerSKUDailyProfitsRate,
    629+ OR target.OtherDailyProfits != source.OtherDailyProfits
    630-
    630+ OR target.OtherSellerSKUDailyProfitsRate != source.OtherSellerSKUDailyProfitsRate
    631-
    631+ OR target.OtherSellerSKUSevenDayProfitsRate != source.OtherSellerSKUSevenDayProfitsRate
    632- OtherSellerSKUSevenDayProfitsRate,
    632+ OR target.OtherSellerSKUCurrWeekprofits != source.OtherSellerSKUCurrWeekprofits
    633-
    633+ OR target.OtherSellerSKULastWeekprofits != source.OtherSellerSKULastWeekprofits
    634-
    634+ OR target.OtherSevenDayProfits != source.OtherSevenDayProfits
    635- OtherSellerSKUCurrWeekprofits,
    635+ OR target.OtherMonthProfits != source.OtherMonthProfits
    636-
    636+ OR target.OtherMonthAvgProfits != source.OtherMonthAvgProfits
    637-
    637+ OR target.OtherThreeMonthProfitRate != source.OtherThreeMonthProfitRate
    638- OtherSellerSKULastWeekprofits,
    638+
    639-
    639+ ) THEN
    640-
    640+ UPDATE SET target.DailyProductNum = source.DailyProductNum,
    641- OtherSevenDayProfits,
    641+ target.DailyProfits = source.DailyProfits,
    642-
    642+ target.DailyIncomes = source.DailyIncomes,
    643-
    643+ target.SellerSKUDailyProfitsRate = source.SellerSKUDailyProfitsRate,
    644- OtherMonthProfits,
    644+ target.SellerSKUSevenDayProfitsRate = source.SellerSKUSevenDayProfitsRate,
    645-
    645+ target.SellerSKUCurrWeekprofits = source.SellerSKUCurrWeekprofits,
    646-
    646+ target.SellerSKULastWeekprofits = source.SellerSKULastWeekprofits,
    647- OtherMonthAvgProfits,
    647+ target.SevenDayProfits = source.SevenDayProfits,
    648-
    648+ target.SevenDaySaleNumber = source.SevenDaySaleNumber,
    649-
    649+ target.MonthProfits = source.MonthProfits,
    650- OtherThreeMonthProfitRate
    650+ target.MonthSaleNumber = source.MonthSaleNumber,
    651-
    651+ target.MonthAvgProfits = source.MonthAvgProfits,
    652-
    652+ target.SevenDayIncomes = source.SevenDayIncomes,
    653- )
    653+ target.MonthIncomes = source.MonthIncomes,
    654-
    654+ target.DailyAvgRefund = source.DailyAvgRefund,
    655-
    655+ target.SevenDayAvgRefund = source.SevenDayAvgRefund,
    656- SELECT CustomerID,
    656+ target.MonthAvgRefund = source.MonthAvgRefund,
    657-
    657+ target.DailyRefund = source.DailyRefund,
    658-
    658+ target.SevenDayRefund = source.SevenDayRefund,
    659- SKU,
    659+ target.MonthRefund = source.MonthRefund,
    660-
    660+ target.ThreeMonthProfitRate= source.ThreeMonthProfitRate,
    661-
    661+ target.ThreeMonthRefundRate= source.ThreeMonthRefundRate,
    662- SellerSKU,
    662+ target.OtherDailyProfits= source.OtherDailyProfits,
    663-
    663+ target.OtherSellerSKUDailyProfitsRate= source.OtherSellerSKUDailyProfitsRate,
    664-
    664+ target.OtherSellerSKUSevenDayProfitsRate= source.OtherSellerSKUSevenDayProfitsRate,
    665- OrderSourceID,
    665+ target.OtherSellerSKUCurrWeekprofits= source.OtherSellerSKUCurrWeekprofits,
    666-
    666+ target.OtherSellerSKULastWeekprofits= source.OtherSellerSKULastWeekprofits,
    667-
    667+ target.OtherSevenDayProfits= source.OtherSevenDayProfits,
    668- OrderSourceName,
    668+ target.OtherMonthProfits= source.OtherMonthProfits,
    669-
    669+ target.OtherMonthAvgProfits= source.OtherMonthAvgProfits,
    670-
    670+ target.OtherThreeMonthProfitRate= source.OtherThreeMonthProfitRate,
    671- ProductNameCN,
    671+ target.UpdateTime = GETDATE()
    672-
    672+ WHEN NOT MATCHED BY TARGET THEN
    673-
    673+ INSERT
    674- ShipDate,
    674+ (
    675-
    675+ CustomerID,
    676-
    676+ SKU,
    677- DailyProductNum,
    677+ SellerSKU,
    678-
    678+ OrderSourceID,
    679-
    679+ OrderSourceName,
    680- DailyProfits,
    680+ ProductNameCN,
    681-
    681+ ShipDate,
    682-
    682+ DailyProductNum,
    683- DailyIncomes,
    683+ DailyProfits,
    684-
    684+ DailyIncomes,
    685-
    685+ SellerSKUDailyProfitsRate,
    686- SellerSKUDailyProfitsRate,
    686+ SellerSKUSevenDayProfitsRate,
    687-
    687+ SellerSKUCurrWeekprofits,
    688-
    688+ SellerSKULastWeekprofits,
    689- SellerSKUSevenDayProfitsRate,
    689+ SevenDayProfits,
    690-
    690+ SevenDaySaleNumber,
    691-
    691+ MonthProfits,
    692- SellerSKUCurrWeekprofits,
    692+ MonthSaleNumber,
    693-
    693+ MonthAvgProfits,
    694-
    694+ BusinessAdminID,
    695- SellerSKULastWeekprofits,
    695+ SevenDayIncomes,
    696-
    696+ MonthIncomes,
    697-
    697+ OrderSourceType,
    698- SevenDayProfits,
    698+ DailyAvgRefund,
    699-
    699+ SevenDayAvgRefund,
    700-
    700+ MonthAvgRefund,
    701- SevenDaySaleNumber,
    701+ DailyRefund,
    702-
    702+ SevenDayRefund,
    703-
    703+ MonthRefund,
    704- MonthProfits,
    704+ ThreeMonthProfitRate,
    705-
    705+ ThreeMonthRefundRate,
    706-
    706+ OtherDailyProfits,
    707- MonthSaleNumber,
    707+ OtherSellerSKUDailyProfitsRate,
    708-
    708+ OtherSellerSKUSevenDayProfitsRate,
    709-
    709+ OtherSellerSKUCurrWeekprofits,
    710- MonthAvgProfits,
    710+ OtherSellerSKULastWeekprofits,
    711-
    711+ OtherSevenDayProfits,
    712-
    712+ OtherMonthProfits,
    713- BusinessAdminID,
    713+ OtherMonthAvgProfits,
    714-
    714+ OtherThreeMonthProfitRate,
    715-
    715+ UpdateTime
    716- SevenDayIncomes,
    716+ )
    717-
    717+ VALUES
    718-
    718+ (CustomerID, SKU, SellerSKU, OrderSourceID, OrderSourceName, ProductNameCN, ShipDate, DailyProductNum,
    719- MonthIncomes,
    719+ DailyProfits, DailyIncomes, SellerSKUDailyProfitsRate, SellerSKUSevenDayProfitsRate, SellerSKUCurrWeekprofits,
    720-
    720+ SellerSKULastWeekprofits, SevenDayProfits, SevenDaySaleNumber, MonthProfits, MonthSaleNumber, MonthAvgProfits,
    721-
    721+ BusinessAdminID, SevenDayIncomes, MonthIncomes, OrderSourceType, DailyAvgRefund, SevenDayAvgRefund,
    722- OrderSourceType,
    722+ MonthAvgRefund, DailyRefund, SevenDayRefund, MonthRefund,ThreeMonthProfitRate,ThreeMonthRefundRate,
    723-
    723+ OtherDailyProfits,
    724-
    724+ OtherSellerSKUDailyProfitsRate,
    725- DailyAvgRefund,
    725+ OtherSellerSKUSevenDayProfitsRate,
    726-
    726+ OtherSellerSKUCurrWeekprofits,
    727-
    727+ OtherSellerSKULastWeekprofits,
    728- SevenDayAvgRefund,
    728+ OtherSevenDayProfits,
    729-
    729+ OtherMonthProfits,
    730-
    730+ OtherMonthAvgProfits,
    731- MonthAvgRefund,
    731+ OtherThreeMonthProfitRate, GETDATE())
    732-
    732+ WHEN NOT MATCHED BY SOURCE AND target.ShipDate &gt; CurrMaxShipDate THEN
    733-
    733+ DELETE;
    734- DailyRefund,
    734+ --OUTPUT action,
    735-
    735+ -- inserted.*,
    736-
    736+ -- deleted.*;
    737- SevenDayRefund,
    737+
    738-
    738+
    739-
    739+ DROP TABLE SalesProductProfit
    740- MonthRefund,
    740+
    741-
    741+ --初始化SKU产品利润统计数据
    742-
    742+ INSERT INTO RB_Report_SKUProductProfitStastic
    743- ThreeMonthProfitRate,
    743+ (
    744-
    744+ CustomerID,
    745-
    745+ SKU,
    746- ThreeMonthRefundRate,
    746+ ProductNameCN,
    747-
    747+ DailyProfits,
    748-
    748+ DailyIncomes,
    749- ISNULL(OtherDailyProfits,0) AS OtherDailyProfits,
    749+ DailyAvgSalePrice,
    750-
    750+ DailySaleNumber,
    751-
    751+ ShipDate,
    752- ISNULL(OtherSellerSKUDailyProfitsRate,0) AS OtherSellerSKUDailyProfitsRate,
    752+ DailyAvgProfits,
    753-
    753+ SevenDayAvgProfits,
    754-
    754+ SKUCurrWeekprofits,
    755- ISNULL(OtherSellerSKUSevenDayProfitsRate,0) AS OtherSellerSKUSevenDayProfitsRate,
    755+ SKULastWeekprofits,
    756-
    756+ DailyRefund, --日总退款
    757-
    757+ SevenDayRefund, --七天总退款
    758- ISNULL(OtherSellerSKUCurrWeekprofits,0) AS OtherSellerSKUCurrWeekprofits,
    758+ MonthRefund, --月总退款
    759-
    759+ DailyAvgRefund, --日平均退款率
    760-
    760+ SevenDayAvgRefund, --七天平均退款率
    761- ISNULL(OtherSellerSKULastWeekprofits,0) AS OtherSellerSKULastWeekprofits,
    761+ MonthAvgRefund --月平均退款率
    762-
    762+ )
    763-
    763+ SELECT CustomerID,
    764- ISNULL(OtherSevenDayProfits,0) AS OtherSevenDayProfits,
    764+ SKU,
    765-
    765+ ProductNameCN,
    766-
    766+ SUM(DailyProfits),
    767- ISNULL(OtherSevenDayProfits,0) AS OtherMonthProfits,
    767+ SUM(DailyIncomes),
    768-
    768+ CASE
    769-
    769+ WHEN SUM(DailyProductNum) = 0 THEN
    770- ISNULL(OtherMonthAvgProfits,0) AS OtherMonthAvgProfits,
    770+ 0
    771-
    771+ ELSE
    772-
    772+ CASE
    773- ISNULL(OtherThreeMonthProfitRate,0) AS OtherThreeMonthProfitRate
    773+ WHEN SUM(DailyIncomes) &lt; 0 THEN
    774-
    774+ SUM(DailyIncomes) / ABS(SUM(DailyProductNum))
    775-
    775+ ELSE
    776- FROM RB_Report_SalesProductProfit (NOLOCK)
    776+ SUM(DailyIncomes) / SUM(DailyProductNum)
    777-
    777+ END
    778-
    778+ END,
    779- WHERE ShipDate &gt; DATEADD(DAY, -90, CurrMaxShipDate)
    779+ SUM(DailyProductNum),
    780-
    780+ ShipDate,
    781-
    781+ CASE
    782- AND ShipDate &lt;= CurrMaxShipDate
    782+ WHEN SUM(DailyIncomes) = 0 THEN
    783-
    783+ 0
    784-
    784+ ELSE
    785- ORDER BY ShipDate;
    785+ CASE
    786-
    786+ WHEN SUM(DailyIncomes) &lt; 0 THEN
    787-
    787+ SUM(DailyProfits) / ABS(SUM(DailyIncomes))
    788-
    788+ ELSE
    789-
    789+ SUM(DailyProfits) / SUM(DailyIncomes)
    790-
    790+ END
    791-
    791+ END,
    792-
    792+ 0,
    793-
    793+ 0,
    794-
    794+ 0,
    795-
    795+ SUM(DailyRefund), --日总退款
    796-
    796+ 0,
    797-
    797+ 0,
    798-
    798+ CASE
    799-
    799+ WHEN SUM(DailyIncomes) = 0 THEN
    800- --更新SalesProductProfit表的SellerSKUDailyProfitsRate(渠道SKU日平均利润)
    800+ 0
    801-
    801+ ELSE
    802-
    802+ CASE
    803- --渠道SKU日平均利润率:渠道SKU总的利润率/日销售额
    803+ WHEN SUM(DailyIncomes + ABS(DailyRefund)) = 0 THEN
    804-
    804+ 0
    805-
    805+ ELSE
    806- UPDATE SalesProductProfit
    806+ SUM(DailyRefund) / SUM(DailyIncomes + ABS(DailyRefund))
    807-
    807+ END
    808-
    808+ END, --日平均退款率
    809- SET SellerSKUDailyProfitsRate = CASE
    809+ 0,
    810-
    810+ 0
    811-
    811+ FROM RB_Report_SalesProductProfit (NOLOCK)
    812- WHEN DailyIncomes = 0 THEN
    812+ WHERE ShipDate &gt; CurrMaxShipDate
    813-
    813+ GROUP BY SKU,
    814-
    814+ CustomerID,
    815- 0
    815+ ShipDate,
    816-
    816+ ProductNameCN
    817-
    817+ ORDER BY ShipDate;
    818- ELSE
    818+
    819-
    819+
    820-
    820+ --更新RB_Report_SKUProductProfitStastic表(渠道SKU七天总利润)
    821- CASE
    821+ UPDATE rspp
    822-
    822+ SET SevenDayProfits = o.SevenDayProfits,
    823-
    823+ SevenDaySaleNumber = o.SevenDaySaleNumber,
    824- WHEN DailyProfits &lt; 0 THEN
    824+ SevenDayIncomes = o.SevenDayIncomes,
    825-
    825+ SevenDayAvgProfits = CASE
    826-
    826+ WHEN o.SevenDayIncomes = 0 THEN
    827- DailyProfits / ABS(DailyIncomes)
    827+ 0
    828-
    828+ ELSE
    829-
    829+ (CASE
    830- ELSE
    830+ WHEN o.SevenDayProfits &lt; 0 THEN
    831-
    831+ o.SevenDayProfits / ABS(o.SevenDayIncomes)
    832-
    832+ ELSE
    833- DailyProfits / DailyIncomes
    833+ o.SevenDayProfits / o.SevenDayIncomes
    834-
    834+ END
    835-
    835+ )
    836- END
    836+ END,
    837-
    837+ SevenDayRefund = o.SevenDayRefund, --七天总退款
    838-
    838+ SevenDayAvgRefund = CASE --七天平均退款率
    839- END,
    839+ WHEN o.SevenDayIncomes = 0 THEN
    840-
    840+ 0
    841-
    841+ ELSE
    842- DailyAvgRefund = CASE
    842+ CASE
    843-
    843+ WHEN o.SevenDayIncomes + ABS(o.SevenDayRefund) = 0 THEN
    844-
    844+ 0
    845- WHEN DailyIncomes = 0 THEN
    845+ ELSE
    846-
    846+ o.SevenDayRefund / (o.SevenDayIncomes + ABS(o.SevenDayRefund))
    847-
    847+ END
    848- 0
    848+ END
    849-
    849+ FROM RB_Report_SKUProductProfitStastic AS rspp
    850-
    850+ INNER JOIN
    851- ELSE
    851+ (
    852-
    852+ SELECT a.ID,
    853-
    853+ SUM(rb.DailyProfits) AS SevenDayProfits,
    854- CASE
    854+ SUM(rb.DailySaleNumber) AS SevenDaySaleNumber,
    855-
    855+ SUM(ISNULL(rb.DailyIncomes, 0)) AS SevenDayIncomes,
    856-
    856+ SUM(rb.DailyRefund) AS SevenDayRefund
    857- WHEN DailyIncomes + ABS(DailyRefund) = 0 THEN
    857+ FROM RB_Report_SKUProductProfitStastic AS a
    858-
    858+ INNER JOIN RB_Report_SKUProductProfitStastic rb (NOLOCK)
    859-
    859+ ON rb.CustomerID = a.Custo
    860- 0
    861-
    862-
    863- ELSE
    864-
    865-
    866- DailyRefund / (DailyIncomes + ABS(DailyRefund))
    867-
    868-
    869- END
    870-
    871-
    872- END,
    873-
    874-
    875- OtherSellerSKUDailyProfitsRate = CASE
    876-
    877-
    878- WHEN DailyIncomes = 0 THEN
    879-
    880-
    881- 0
    882-
    883-
    884- ELSE
    885-
    886-
    887- CASE
    888-
    889-
    890- WHEN OtherDailyProfits &lt; 0 THEN
    891-
    892-
    893- OtherDailyProfits / ABS(DailyIncomes)
    894-
    895-
    896- ELSE
    897-
    898-
    899- OtherDailyProfits / DailyIncomes
    900-
    901-
    902- END
    903-
    904-
    905- END
    906-
    907-
    908- WHERE ShipDate &gt; CurrMaxShipDate;
    909-
    910-
    911-
    912-
    913-
    914-
    915-
    916-
    917- --更新SalesProductProfit表(渠道SKU七天利润计算)
    918-
    919-
    920- UPDATE rspp
    921-
    922-
    923- SET SevenDayProfits = o.SevenDayProfits,
    924-
    925-
    926- SevenDaySaleNumber = o.SevenDaySaleNumber,
    927-
    928-
    929- SevenDayIncomes = o.SevenDayIncomes,
    930-
    931-
    932- SellerSKUSevenDayProfitsRate = CASE
    933-
    934-
    935- WHEN o.SevenDayIncomes = 0 THEN
    936-
    937-
    938- 0
    939-
    940-
    941- ELSE
    942-
    943-
    944- (CASE
    945-
    946-
    947- WHEN o.SevenDayProfits &lt; 0 THEN
    948-
    949-
    950- o.SevenDayProfits / ABS(o.SevenDayIncomes)
    951-
    952-
    953- ELSE
    954-
    955-
    956- o.SevenDayProfits / o.SevenDayIncomes
    957-
    958-
    959- END
    960-
    961-
    962- )
    963-
    964-
    965- END,
    966-
    967-
    968- SevenDayRefund = o.SevenDayRefund, --七天退款总额
    969-
    970-
    971- SevenDayAvgRefund = CASE --七天平均退款率
    972-
    973-
    974- WHEN o.SevenDayIncomes = 0 THEN
    975-
    976-
    977- 0
    978-
    979-
    980- ELSE
    981-
    982-
    983- CASE
    984-
    985-
    986- WHEN o.SevenDayIncomes + ABS(o.SevenDayRefund) = 0 THEN
    987-
    988-
    989- 0
    990-
    991-
    992- ELSE
    993-
    994-
    995- o.SevenDayRefund / (o.SevenDayIncomes + ABS(o.SevenDayRefund))
    996-
    997-
    998- END
    999-
    1000-
    001- <p>
    001+ <p>事务执行时间过长,应分步骤分批处理数据,单次事务执行时间不能过长</p>
    002- 事务执行时间过长,应分步骤分批处理数据,单次事务执行时间不能过长
    002+ <p><img src="https://irobotbox-hd1.oss-cn-hangzhou.aliyuncs.com/1/Kindeditor/2025/12/15/1f45634952984ddab228228fe82d6924/665d09b3-c061-4055-a6fa-1537ecabb8e4.png" title="from clipboard" alt="from clipboard" /></p>
    003- </p>
    003+ <p>--修改版本:任务ID:3956 利润相关&gt;&gt;产品利润管理页面增加退款率的分析展示</p>
    004- <p>
    004+ <p>CREATE PROC [dbo].[Proc_SaleProductProfitStastic]</p>
    005- <img src="https://irobotbox-hd1.oss-cn-hangzhou.aliyuncs.com/1/Kindeditor/2025/12/15/1f45634952984ddab228228fe82d6924/665d09b3-c061-4055-a6fa-1537ecabb8e4.png" title="from clipboard" alt="from clipboard" />
    005+ <p>AS</p>
    006- </p>
    006+ <p>BEGIN</p>
    007- <p>
    007+ <p> --第一步:删除三个月前的数据 </p>
    008- --修改版本:任务ID:3956 利润相关&gt;&gt;产品利润管理页面增加退款率的分析展示
    008+ <p> DELETE FROM RB_Report_SalesProductProfit</p>
    009- </p>
    009+ <p> WHERE ShipDate &lt; CONVERT(NVARCHAR(100), DATEADD(MONTH, -4, GETDATE()), 23);</p>
    010- <p>
    010+ <p> DELETE FROM RB_Report_SKUProductProfitStastic</p>
    011- CREATE PROC [dbo].[Proc_SaleProductProfitStastic]
    011+ <p> WHERE ShipDate &lt; CONVERT(NVARCHAR(100), DATEADD(MONTH, -4, GETDATE()), 23);</p>
    012- </p>
    012+ <p><br /></p>
    013- <p>
    013+ <p> DECLARE CurrMaxShipDate DATE,</p>
    014- AS
    014+ <p> NeedInCount INT,</p>
    015- </p>
    015+ <p> BeforeFifteenDate DATE;</p>
    016- <p>
    016+ <p><br /></p>
    017- BEGIN
    017+ <p> --查询最新的发货日期 </p>
    018- </p>
    018+ <p> SET BeforeFifteenDate = CONVERT(DATE, DATEADD(DAY, -15, GETDATE())) --CONVERT(DATE, DATEADD(DAY, -15, GETDATE()));</p>
    019- <p>
    019+ <p> SET CurrMaxShipDate =</p>
    020- --第一步:删除三个月前的数据
    020+ <p> (</p>
    021- </p>
    021+ <p> SELECT CONVERT(NVARCHAR(100),</p>
    022- <p>
    022+ <p> ISNULL( CASE</p>
    023- DELETE FROM RB_Report_SalesProductProfit
    023+ <p> WHEN MAX(ShipDate) &gt; BeforeFifteenDate THEN</p>
    024- </p>
    024+ <p> BeforeFifteenDate</p>
    025- <p>
    025+ <p> ELSE</p>
    026- WHERE ShipDate &lt; CONVERT(NVARCHAR(100), DATEADD(MONTH, -4, GETDATE()), 23);
    026+ <p> MAX(ShipDate)</p>
    027- </p>
    027+ <p> END,</p>
    028- <p>
    028+ <p> DATEADD(MONTH, -3, GETDATE())</p>
    029- DELETE FROM RB_Report_SKUProductProfitStastic
    029+ <p> ),</p>
    030- </p>
    030+ <p> 23</p>
    031- <p>
    031+ <p> )</p>
    032- WHERE ShipDate &lt; CONVERT(NVARCHAR(100), DATEADD(MONTH, -4, GETDATE()), 23);
    032+ <p> FROM RB_Report_SalesProductProfit (NOLOCK)</p>
    033- </p>
    033+ <p> );</p>
    034- <p>
    034+ <p><br /></p>
    035- <br />
    035+ <p><br /></p>
    036- </p>
    036+ <p> --删除CurrMaxShipDate 之后的所有数据,确保数据的齐全(插入的时间&gt;ShipDate) </p>
    037- <p>
    037+ <p> --DELETE FROM RB_Report_SalesProductProfit </p>
    038- DECLARE CurrMaxShipDate DATE,
    038+ <p> -- WHERE ShipDate &gt; CurrMaxShipDate </p>
    039- </p>
    039+ <p> DELETE FROM RB_Report_SKUProductProfitStastic</p>
    040- <p>
    040+ <p> WHERE ShipDate &gt; CurrMaxShipDate;</p>
    041- NeedInCount INT,
    041+ <p><br /></p>
    042- </p>
    042+ <p> --需要新增的数据 </p>
    043- <p>
    043+ <p> CREATE TABLE SalesProductProfit</p>
    044- BeforeFifteenDate DATE;
    044+ <p> (</p>
    045- </p>
    045+ <p> [ID] [INT] NOT NULL IDENTITY(1, 1),</p>
    046- <p>
    046+ <p> [CustomerID] [INT] NOT NULL,</p>
    047- <br />
    047+ <p> [SKU] [NVARCHAR](200) COLLATE Chinese_PRC_CI_AS NOT NULL,</p>
    048- </p>
    048+ <p> [SellerSKU] [NVARCHAR](400) COLLATE Chinese_PRC_CI_AS NOT NULL,</p>
    049- <p>
    049+ <p> [OrderSourceID] [INT] NOT NULL,</p>
    050- --查询最新的发货日期
    050+ <p> [OrderSourceName] [NVARCHAR](400) COLLATE Chinese_PRC_CI_AS NOT NULL,</p>
    051- </p>
    051+ <p> [ProductNameCN] [NVARCHAR](2000) COLLATE Chinese_PRC_CI_AS NULL,</p>
    052- <p>
    052+ <p> [ShipDate] [DATE] NOT NULL,</p>
    053- SET BeforeFifteenDate = CONVERT(DATE, DATEADD(DAY, -15, GETDATE())) --CONVERT(DATE, DATEADD(DAY, -15, GETDATE()));
    053+ <p> [DailyProductNum] [INT] NOT NULL,</p>
    054- </p>
    054+ <p> [DailyProfits] [MONEY] NOT NULL,</p>
    055- <p>
    055+ <p> [DailyIncomes] [MONEY] NOT NULL,</p>
    056- SET CurrMaxShipDate =
    056+ <p> [SellerSKUDailyProfitsRate] [DECIMAL](18, 2) NULL,</p>
    057- </p>
    057+ <p> [SellerSKUSevenDayProfitsRate] [DECIMAL](18, 2) NULL,</p>
    058- <p>
    058+ <p> [SellerSKUCurrWeekprofits] [MONEY] NULL,</p>
    059- (
    059+ <p> [SellerSKULastWeekprofits] [MONEY] NULL,</p>
    060- </p>
    060+ <p> [SevenDayProfits] [MONEY] NULL,</p>
    061- <p>
    061+ <p> [SevenDaySaleNumber] [INT] NULL,</p>
    062- SELECT CONVERT(NVARCHAR(100),
    062+ <p> [MonthProfits] [MONEY] NULL,</p>
    063- </p>
    063+ <p> [MonthSaleNumber] [INT] NULL,</p>
    064- <p>
    064+ <p> [MonthAvgProfits] [MONEY] NULL,</p>
    065- ISNULL( CASE
    065+ <p> [BusinessAdminID] [INT] NULL,</p>
    066- </p>
    066+ <p> [SevenDayIncomes] [MONEY] NULL</p>
    067- <p>
    067+ <p> DEFAULT ((0)),</p>
    068- WHEN MAX(ShipDate) &gt; BeforeFifteenDate THEN
    068+ <p> [MonthIncomes] [MONEY] NULL</p>
    069- </p>
    069+ <p> DEFAULT ((0)),</p>
    070- <p>
    070+ <p> [UpdateTime] [DATETIME] NULL,</p>
    071- BeforeFifteenDate
    071+ <p> [OrderSourceType] [INT] NULL</p>
    072- </p>
    072+ <p> DEFAULT ((0)),</p>
    073- <p>
    073+ <p> [DailyAvgRefund] [MONEY] NULL,</p>
    074- ELSE
    074+ <p> [SevenDayAvgRefund] [MONEY] NULL,</p>
    075- </p>
    075+ <p> [MonthAvgRefund] [MONEY] NULL,</p>
    076- <p>
    076+ <p> [DailyRefund] [MONEY] NULL,</p>
    077- MAX(ShipDate)
    077+ <p> [SevenDayRefund] [MONEY] NULL,</p>
    078- </p>
    078+ <p> [MonthRefund] [MONEY] NULL,</p>
    079- <p>
    079+ <p>[ThreeMonthProfitRate] [DECIMAL](18, 4) NULL,</p>
    080- END,
    080+ <p>[ThreeMonthRefundRate] [DECIMAL](18, 4) NULL,</p>
    081- </p>
    081+ <p>[OtherDailyProfits] [MONEY] NULL,</p>
    082- <p>
    082+ <p>[OtherSellerSKUDailyProfitsRate] DECIMAL(18,4) NULL,</p>
    083- DATEADD(MONTH, -3, GETDATE())
    083+ <p>[OtherSellerSKUSevenDayProfitsRate] DECIMAL(18,4) NULL,</p>
    084- </p>
    084+ <p>[OtherSellerSKUCurrWeekprofits] MONEY NULL,</p>
    085- <p>
    085+ <p>[OtherSellerSKULastWeekprofits] MONEY NULL,</p>
    086- ),
    086+ <p>[OtherSevenDayProfits] MONEY NULL,</p>
    087- </p>
    087+ <p>[OtherMonthProfits] MONEY NULL,</p>
    088- <p>
    088+ <p>[OtherMonthAvgProfits] MONEY NULL,</p>
    089- 23
    089+ <p>[OtherThreeMonthProfitRate] DECIMAL(18,4) NULL</p>
    090- </p>
    090+ <p> );</p>
    091- <p>
    091+ <p>CREATE INDEX IX_ShipDate ON SalesProductProfit(ShipDate);</p>
    092- )
    092+ <p>CREATE INDEX IX_CustomerID ON SalesProductProfit(CustomerID,SKU,SellerSKU,OrderSourceID,ShipDate);</p>
    093- </p>
    093+ <p><br /></p>
    094- <p>
    094+ <p> INSERT INTO SalesProductProfit</p>
    095- FROM RB_Report_SalesProductProfit (NOLOCK)
    095+ <p> (</p>
    096- </p>
    096+ <p> CustomerID,</p>
    097- <p>
    097+ <p> SKU,</p>
    098- );
    098+ <p> SellerSKU,</p>
    099- </p>
    099+ <p> OrderSourceID,</p>
    100- <p>
    100+ <p> OrderSourceName,</p>
    1001- END,
    1002- </p>
    1003- <p>
    1004- OtherSellerSKUSevenDayProfitsRate = CASE
    1005- </p>
    1006- <p>
    1007- WHEN o.SevenDayIncomes = 0 THEN
    1008- </p>
    1009- <p>
    1010- 0
    101- <br />
    101+ <p> ProductNameCN,</p>
    1011- </p>
    1012- <p>
    1013- ELSE
    1014- </p>
    1015- <p>
    1016- (CASE
    1017- </p>
    1018- <p>
    1019- WHEN o.OtherSevenDayProfits &lt; 0 THEN
    1020- </p>
    102- </p>
    102+ <p> ShipDate,</p>
    1021- <p>
    1022- o.OtherSevenDayProfits / ABS(o.SevenDayIncomes)
    1023- </p>
    1024- <p>
    1025- ELSE
    1026- </p>
    1027- <p>
    1028- o.OtherSevenDayProfits / o.SevenDayIncomes
    1029- </p>
    1030- <p>
    103- <p>
    103+ <p> DailyProductNum,</p>
    1031- END
    1032- </p>
    1033- <p>
    1034- )
    1035- </p>
    1036- <p>
    1037- END
    1038- </p>
    1039- <p>
    1040- FROM SalesProductProfit AS rspp
    104- <br />
    104+ <p> DailyProfits,</p>
    1041- </p>
    1042- <p>
    1043- INNER JOIN
    1044- </p>
    1045- <p>
    1046- (
    1047- </p>
    1048- <p>
    1049- SELECT a.ID,
    1050- </p>
    105- </p>
    105+ <p> DailyIncomes,</p>
    1051- <p>
    1052- SUM(rb.DailyProfits) AS SevenDayProfits,
    1053- </p>
    1054- <p>
    1055- SUM(rb.OtherDailyProfits) AS OtherSevenDayProfits,
    1056- </p>
    1057- <p>
    1058- SUM(rb.DailyProductNum) AS SevenDaySaleNumber,
    1059- </p>
    1060- <p>
    106- <p>
    106+ <p> SevenDayProfits,</p>
    1061- SUM(rb.DailyIncomes) AS SevenDayIncomes,
    1062- </p>
    1063- <p>
    1064- SUM(rb.DailyRefund) AS SevenDayRefund
    1065- </p>
    1066- <p>
    1067- FROM SalesProductProfit AS a
    1068- </p>
    1069- <p>
    1070- INNER JOIN SalesProductProfit rb (NOLOCK)
    107- --删除CurrMaxShipDate 之后的所有数据,确保数据的齐全(插入的时间&gt;ShipDate)
    107+ <p> SevenDaySaleNumber,</p>
    1071- </p>
    1072- <p>
    1073- ON rb.CustomerID = a.CustomerID
    1074- </p>
    1075- <p>
    1076- AND rb.SKU = a.SKU
    1077- </p>
    1078- <p>
    1079- AND rb.SellerSKU = a.SellerSKU
    1080- </p>
    108- </p>
    108+ <p> MonthProfits,</p>
    1081- <p>
    1082- AND rb.OrderSourceID = a.OrderSourceID
    1083- </p>
    1084- <p>
    1085- AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)
    1086- </p>
    1087- <p>
    1088- BETWEEN 0 AND 6
    1089- </p>
    1090- <p>
    109- <p>
    109+ <p> MonthSaleNumber,</p>
    1091- WHERE a.ShipDate &gt; CurrMaxShipDate
    1092- </p>
    1093- <p>
    1094- GROUP BY a.ID
    1095- </p>
    1096- <p>
    1097- ) AS o
    1098- </p>
    1099- <p>
    1100- ON o.ID = rspp.ID;
    110- --DELETE FROM RB_Report_SalesProductProfit
    110+ <p> MonthAvgProfits,</p>
    1101- </p>
    1102- <p>
    1103- <br />
    1104- </p>
    1105- <p>
    1106- <br />
    1107- </p>
    1108- <p>
    1109- <br />
    1110- </p>
    111- </p>
    111+ <p> BusinessAdminID,</p>
    1111- <p>
    1112- --更改SalesProductProfit表的SellerSKUCurrWeekprofits(本周利润)
    1113- </p>
    1114- <p>
    1115- UPDATE SalesProductProfit
    1116- </p>
    1117- <p>
    1118- SET SellerSKUCurrWeekprofits =
    1119- </p>
    1120- <p>
    112- <p>
    112+ <p> OrderSourceType,</p>
    1121- (
    1122- </p>
    1123- <p>
    1124- SELECT SUM(DailyProfits)
    1125- </p>
    1126- <p>
    1127- FROM SalesProductProfit rb (NOLOCK)
    1128- </p>
    1129- <p>
    1130- WHERE rb.CustomerID = SalesProductProfit.CustomerID
    113- -- WHERE ShipDate &gt; CurrMaxShipDate
    113+ <p> DailyRefund,</p>
    1131- </p>
    1132- <p>
    1133- AND rb.SKU = SalesProductProfit.SKU
    1134- </p>
    1135- <p>
    1136- AND rb.SellerSKU = SalesProductProfit.SellerSKU
    1137- </p>
    1138- <p>
    1139- AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    1140- </p>
    114- </p>
    114+ <p> SevenDayRefund,</p>
    1141- <p>
    1142- AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    1143- </p>
    1144- <p>
    1145- AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 7)
    1146- </p>
    1147- <p>
    1148- ),
    1149- </p>
    1150- <p>
    115- <p>
    115+ <p> MonthRefund,</p>
    1151- OtherSellerSKUCurrWeekprofits =
    1152- </p>
    1153- <p>
    1154- (
    1155- </p>
    1156- <p>
    1157- SELECT SUM(OtherDailyProfits)
    1158- </p>
    1159- <p>
    1160- FROM SalesProductProfit rb (NOLOCK)
    116- DELETE FROM RB_Report_SKUProductProfitStastic
    116+ <p> DailyAvgRefund,</p>
    1161- </p>
    1162- <p>
    1163- WHERE rb.CustomerID = SalesProductProfit.CustomerID
    1164- </p>
    1165- <p>
    1166- AND rb.SKU = SalesProductProfit.SKU
    1167- </p>
    1168- <p>
    1169- AND rb.SellerSKU = SalesProductProfit.SellerSKU
    1170- </p>
    117- </p>
    117+ <p> SevenDayAvgRefund,</p>
    1171- <p>
    1172- AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    1173- </p>
    1174- <p>
    1175- AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    1176- </p>
    1177- <p>
    1178- AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 7)
    1179- </p>
    1180- <p>
    118- <p>
    118+ <p> MonthAvgRefund,</p>
    1181- )
    1182- </p>
    1183- <p>
    1184- WHERE ShipDate &gt; CurrMaxShipDate;
    1185- </p>
    1186- <p>
    1187- <br />
    1188- </p>
    1189- <p>
    1190- --更改SalesProductProfit表的SellerSKULastWeekprofits(上周利润)
    119- WHERE ShipDate &gt; CurrMaxShipDate;
    119+ <p>ThreeMonthProfitRate,</p>
    1191- </p>
    1192- <p>
    1193- UPDATE SalesProductProfit
    1194- </p>
    1195- <p>
    1196- SET SellerSKULastWeekprofits =
    1197- </p>
    1198- <p>
    1199- (
    1200- </p>
    120- </p>
    120+ <p>ThreeMonthRefundRate,</p>
    1201- <p>
    1202- SELECT ISNULL(SUM(DailyProfits), 0)
    1203- </p>
    1204- <p>
    1205- FROM SalesProductProfit rb (NOLOCK)
    1206- </p>
    1207- <p>
    1208- WHERE rb.CustomerID = SalesProductProfit.CustomerID
    1209- </p>
    1210- <p>
    121- <p>
    121+ <p>OtherDailyProfits,</p>
    1211- AND rb.SKU = SalesProductProfit.SKU
    1212- </p>
    1213- <p>
    1214- AND rb.SellerSKU = SalesProductProfit.SellerSKU
    1215- </p>
    1216- <p>
    1217- AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    1218- </p>
    1219- <p>
    1220- AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -7, SalesProductProfit.ShipDate)), 0)
    122- <br />
    122+ <p>OtherSevenDayProfits,</p>
    1221- </p>
    1222- <p>
    1223- AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    1224- </p>
    1225- <p>
    1226- ),
    1227- </p>
    1228- <p>
    1229- OtherSellerSKULastWeekprofits =
    1230- </p>
    123- </p>
    123+ <p>OtherMonthProfits,</p>
    1231- <p>
    1232- (
    1233- </p>
    1234- <p>
    1235- SELECT ISNULL(SUM(OtherDailyProfits), 0)
    1236- </p>
    1237- <p>
    1238- FROM SalesProductProfit rb (NOLOCK)
    1239- </p>
    1240- <p>
    124- <p>
    124+ <p>OtherMonthAvgProfits,</p>
    1241- WHERE rb.CustomerID = SalesProductProfit.CustomerID
    1242- </p>
    1243- <p>
    1244- AND rb.SKU = SalesProductProfit.SKU
    1245- </p>
    1246- <p>
    1247- AND rb.SellerSKU = SalesProductProfit.SellerSKU
    1248- </p>
    1249- <p>
    1250- AND rb.OrderSourceID = SalesProductProfit.OrderSourceID
    125- --需要新增的数据
    125+ <p>OtherThreeMonthProfitRate</p>
    1251- </p>
    1252- <p>
    1253- AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -7, SalesProductProfit.ShipDate)), 0)
    1254- </p>
    1255- <p>
    1256- AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)
    1257- </p>
    1258- <p>
    1259- )
    1260- </p>
    126- </p>
    126+ <p> )</p>
    1261- <p>
    1262- WHERE ShipDate &gt; CurrMaxShipDate;
    1263- </p>
    1264- <p>
    1265- <br />
    1266- </p>
    1267- <p>
    1268- --更新SalesProductProfit表的MonthProfits(渠道SKU月总利润)
    1269- </p>
    1270- <p>
    127- <p>
    127+ <p> SELECT CustomerID,</p>
    1271- UPDATE rspp
    1272- </p>
    1273- <p>
    1274- SET MonthProfits = o.MonthProfits,
    1275- </p>
    1276- <p>
    1277- MonthSaleNumber = o.MonthSaleNumber,
    1278- </p>
    1279- <p>
    1280- MonthIncomes = o.MonthIncomes,
    128- CREATE TABLE SalesProductProfit
    128+ <p> SKU,</p>
    1281- </p>
    1282- <p>
    1283- MonthAvgProfits = CASE
    1284- </p>
    1285- <p>
    1286- WHEN o.MonthIncomes = 0 THEN
    1287- </p>
    1288- <p>
    1289- 0
    1290- </p>
    129- </p>
    129+ <p> SellerSKU,</p>
    1291- <p>
    1292- ELSE
    1293- </p>
    1294- <p>
    1295- (CASE
    1296- </p>
    1297- <p>
    1298- WHEN o.MonthProfits &lt; 0 THEN
    1299- </p>
    1300- <p>
    130- <p>
    130+ <p> OrderSourceID,</p>
    1301- o.MonthProfits / ABS(o.MonthIncomes)
    1302- </p>
    1303- <p>
    1304- ELSE
    1305- </p>
    1306- <p>
    1307- o.MonthProfits / o.MonthIncomes
    1308- </p>
    1309- <p>
    1310- END
    131- (
    131+ <p> OrderSourceName,</p>
    1311- </p>
    1312- <p>
    1313- )
    1314- </p>
    1315- <p>
    1316- END,
    1317- </p>
    1318- <p>
    1319- MonthRefund = o.MonthRefund, --月总退款
    1320- </p>
    132- </p>
    132+ <p> ProductNameCN,</p>
    1321- <p>
    1322- MonthAvgRefund = CASE --月平均退款率
    1323- </p>
    1324- <p>
    1325- WHEN o.MonthIncomes = 0 THEN
    1326- </p>
    1327- <p>
    1328- 0
    1329- </p>
    1330- <p>
    133- <p>
    133+ <p> ShipDate,</p>
    1331- ELSE
    1332- </p>
    1333- <p>
    1334- CASE
    1335- </p>
    1336- <p>
    1337- WHEN o.MonthIncomes + ABS(o.MonthRefund) = 0 THEN
    1338- </p>
    1339- <p>
    1340- 0
    134- [ID] [INT] NOT NULL IDENTITY(1, 1),
    134+ <p> SUM(ProductNum + ProdutNumUpdate),</p>
    1341- </p>
    1342- <p>
    1343- ELSE
    1344- </p>
    1345- <p>
    1346- o.MonthRefund / (o.MonthIncomes + ABS(o.MonthRefund))
    1347- </p>
    1348- <p>
    1349- END
    1350- </p>
    135- </p>
    135+ <p> SUM(Profits),</p>
    1351- <p>
    1352- END,
    1353- </p>
    1354- <p>
    1355- OtherMonthProfits = o.OtherMonthProfits,
    1356- </p>
    1357- <p>
    1358- OtherMonthAvgProfits = CASE
    1359- </p>
    1360- <p>
    136- <p>
    136+ <p> SUM(Incomes),</p>
    1361- WHEN o.MonthIncomes = 0 THEN
    1362- </p>
    1363- <p>
    1364- 0
    1365- </p>
    1366- <p>
    1367- ELSE
    1368- </p>
    1369- <p>
    1370- (CASE
    137- [CustomerID] [INT] NOT NULL,
    137+ <p> 0, --七天总利润 </p>
    1371- </p>
    1372- <p>
    1373- WHEN o.OtherMonthProfits &lt; 0 THEN
    1374- </p>
    1375- <p>
    1376- o.OtherMonthProfits / ABS(o.MonthIncomes)
    1377- </p>
    1378- <p>
    1379- ELSE
    1380- </p>
    138- </p>
    138+ <p> 0, --七天总销量 </p>
    1381- <p>
    1382- o.OtherMonthProfits / o.MonthIncomes
    1383- </p>
    1384- <p>
    1385- END
    1386- </p>
    1387- <p>
    1388- )
    1389- </p>
    1390- <p>
    139- <p>
    139+ <p> 0, --月利润 </p>
    1391- END
    1392- </p>
    1393- <p>
    1394- FROM SalesProductProfit AS rspp
    1395- </p>
    1396- <p>
    1397- INNER JOIN
    1398- </p>
    1399- <p>
    1400- (
    140- [SKU] [NVARCHAR](200) COLLATE Chinese_PRC_CI_AS NOT NULL,
    140+ <p> 0, --月总销量 </p>
    1401- </p>
    1402- <p>
    1403- SELECT a.ID,
    1404- </p>
    1405- <p>
    1406- SUM(rb.DailyProfits) AS MonthProfits,
    1407- </p>
    1408- <p>
    1409- SUM(rb.DailyProductNum) AS MonthSaleNumber,
    1410- </p>
    141- </p>
    141+ <p> 0, --月平均利润率</p>
    1411- <p>
    1412- SUM(rb.DailyIncomes) AS MonthIncomes,
    1413- </p>
    1414- <p>
    1415- SUM(rb.DailyRefund) AS MonthRefund,
    1416- </p>
    1417- <p>
    1418- SUM(rb.OtherDailyProfits) AS OtherMonthProfits
    1419- </p>
    1420- <p>
    142- <p>
    142+ <p><br /></p>
    1421- FROM SalesProductProfit AS a
    1422- </p>
    1423- <p>
    1424- INNER JOIN SalesProductProfit rb (NOLOCK)
    1425- </p>
    1426- <p>
    1427- ON rb.CustomerID = a.CustomerID
    1428- </p>
    1429- <p>
    1430- AND rb.SKU = a.SKU
    143- [SellerSKU] [NVARCHAR](400) COLLATE Chinese_PRC_CI_AS NOT NULL,
    143+ <p> BusinessAdminID,</p>
    1431- </p>
    1432- <p>
    1433- AND rb.SellerSKU = a.SellerSKU
    1434- </p>
    1435- <p>
    1436- AND rb.OrderSourceID = a.OrderSourceID
    1437- </p>
    1438- <p>
    1439- AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)
    1440- </p>
    144- </p>
    144+ <p> OrderSourceType,</p>
    1441- <p>
    1442- BETWEEN 0 AND 29
    1443- </p>
    1444- <p>
    1445- WHERE a.ShipDate &gt; CurrMaxShipDate
    1446- </p>
    1447- <p>
    1448- GROUP BY a.ID
    1449- </p>
    1450- <p>
    145- <p>
    145+ <p> SUM(SalesRefunds),</p>
    1451- ) AS o
    1452- </p>
    1453- <p>
    1454- ON o.ID = rspp.ID;
    1455- </p>
    1456- <p>
    1457- <br />
    1458- </p>
    1459- <p>
    1460- --更新三个月利润率和退款率
    146- [OrderSourceID] [INT] NOT NULL,
    146+ <p> 0, --七天总退款</p>
    1461- </p>
    1462- <p>
    1463- UPDATE rspp
    1464- </p>
    1465- <p>
    1466- SET ThreeMonthProfitRate = CASE
    1467- </p>
    1468- <p>
    1469- WHEN o.TreeMonthIncomes = 0 THEN
    1470- </p>
    147- </p>
    147+ <p> 0, --月总退款</p>
    1471- <p>
    1472- 0
    1473- </p>
    1474- <p>
    1475- ELSE
    1476- </p>
    1477- <p>
    1478- (CASE
    1479- </p>
    1480- <p>
    148- <p>
    148+ <p> 0, --日平均退款率</p>
    1481- WHEN o.TreeMonthProfits &lt; 0 THEN
    1482- </p>
    1483- <p>
    1484- o.TreeMonthProfits / ABS(o.TreeMonthIncomes)
    1485- </p>
    1486- <p>
    1487- ELSE
    1488- </p>
    1489- <p>
    1490- o.TreeMonthProfits / o.TreeMonthIncomes
    149- [OrderSourceName] [NVARCHAR](400) COLLATE Chinese_PRC_CI_AS NOT NULL,
    149+ <p> 0, --七天平均退款率</p>
    1491- </p>
    1492- <p>
    1493- END
    1494- </p>
    1495- <p>
    1496- )
    1497- </p>
    1498- <p>
    1499- END,
    1500- </p>
    150- </p>
    150+ <p> 0, --月平均退款率</p>
    1501- <p>
    1502- ThreeMonthRefundRate = CASE
    1503- </p>
    1504- <p>
    1505- WHEN o.TreeMonthIncomes = 0 THEN
    1506- </p>
    1507- <p>
    1508- 0
    1509- </p>
    1510- <p>
    151- <p>
    151+ <p> 0, --三个月利润率</p>
    1511- ELSE
    1512- </p>
    1513- <p>
    1514- CASE
    1515- </p>
    1516- <p>
    1517- WHEN o.TreeMonthIncomes + ABS(o.TreeMonthRefund) = 0 THEN
    1518- </p>
    1519- <p>
    1520- 0
    152- [ProductNameCN] [NVARCHAR](2000) COLLATE Chinese_PRC_CI_AS NULL,
    152+ <p> 0, --三个月退款率</p>
    1521- </p>
    1522- <p>
    1523- ELSE
    1524- </p>
    1525- <p>
    1526- o.TreeMonthRefund / (o.TreeMonthIncomes + ABS(o.TreeMonthRefund))
    1527- </p>
    1528- <p>
    1529- END
    1530- </p>
    153- </p>
    153+ <p><br /></p>
    1531- <p>
    1532- END,
    1533- </p>
    1534- <p>
    1535- OtherThreeMonthProfitRate = CASE
    1536- </p>
    1537- <p>
    1538- WHEN o.TreeMonthIncomes = 0 THEN
    1539- </p>
    1540- <p>
    154- <p>
    154+ <p> SUM(Profits+ISNULL(OtherAdvertisingFee,0)+ISNULL(OtherPlatformFee,0)+ISNULL(OtherYunCangFee,0)+ISNULL(OtherReturnFee,0)), --日利润(含其他)</p>
    1541- 0
    1542- </p>
    1543- <p>
    1544- ELSE
    1545- </p>
    1546- <p>
    1547- (CASE
    1548- </p>
    1549- <p>
    1550- WHEN o.OtherTreeMonthProfits &lt; 0 THEN
    155- [ShipDate] [DATE] NOT NULL,
    155+ <p>0, --七天总利润 (含其他)</p>
    1551- </p>
    1552- <p>
    1553- o.OtherTreeMonthProfits / ABS(o.TreeMonthIncomes)
    1554- </p>
    1555- <p>
    1556- ELSE
    1557- </p>
    1558- <p>
    1559- o.OtherTreeMonthProfits / o.TreeMonthIncomes
    1560- </p>
    156- </p>
    156+ <p>0, --月利润(含其他)</p>
    1561- <p>
    1562- END
    1563- </p>
    1564- <p>
    1565- )
    1566- </p>
    1567- <p>
    1568- END
    1569- </p>
    1570- <p>
    157- <p>
    157+ <p>0, --月平均利润率(含其他)</p>
    1571- FROM SalesProductProfit AS rspp
    1572- </p>
    1573- <p>
    1574- INNER JOIN
    1575- </p>
    1576- <p>
    1577- (
    1578- </p>
    1579- <p>
    1580- SELECT a.ID,
    158- [DailyProductNum] [INT] NOT NULL,
    158+ <p>0 --三个月利润率(含其他)</p>
    1581- </p>
    1582- <p>
    1583- SUM(rb.DailyProfits) AS TreeMonthProfits,
    1584- </p>
    1585- <p>
    1586- SUM(rb.DailyProductNum) AS TreeMonthSaleNumber,
    1587- </p>
    1588- <p>
    1589- SUM(rb.DailyIncomes) AS TreeMonthIncomes,
    1590- </p>
    159- </p>
    159+ <p> FROM RB_Report_OrderSettlement (NOLOCK)</p>
    1591- <p>
    1592- SUM(rb.DailyRefund) AS TreeMonthRefund,
    1593- </p>
    1594- <p>
    1595- SUM(rb.OtherDailyProfits) AS OtherTreeMonthProfits
    1596- </p>
    1597- <p>
    1598- FROM SalesProductProfit AS a
    1599- </p>
    1600- <p>
    160- <p>
    160+ <p> WHERE ShipDate &gt; CurrMaxShipDate</p>
    1601- INNER JOIN SalesProductProfit rb (NOLOCK)
    1602- </p>
    1603- <p>
    1604- ON rb.CustomerID = a.CustomerID
    1605- </p>
    1606- <p>
    1607- AND rb.SKU = a.SKU
    1608- </p>
    1609- <p>
    1610- AND rb.SellerSKU = a.SellerSKU
    161- [DailyProfits] [MONEY] NOT NULL,
    161+ <p> AND SKU !=</p>
    1611- </p>
    1612- <p>
    1613- AND rb.OrderSourceID = a.OrderSourceID
    1614- </p>
    1615- <p>
    1616- AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)
    1617- </p>
    1618- <p>
    1619- BETWEEN 0 AND 90
    1620- </p>
    162- </p>
    162+ <p> AND SellerSKU !=</p>
    1621- <p>
    1622- WHERE a.ShipDate &gt; CurrMaxShipDate
    1623- </p>
    1624- <p>
    1625- GROUP BY a.ID
    1626- </p>
    1627- <p>
    1628- ) AS o
    1629- </p>
    1630- <p>
    163- <p>
    163+ <p> GROUP BY CustomerID,</p>
    1631- ON o.ID = rspp.ID;
    1632- </p>
    1633- <p>
    1634- --
    1635- </p>
    1636- <p>
    1637- <br />
    1638- </p>
    1639- <p>
    1640- MERGE RB_Report_SalesProductProfit AS target
    164- [DailyIncomes] [MONEY] NOT NULL,
    164+ <p> SKU,</p>
    1641- </p>
    1642- <p>
    1643- USING
    1644- </p>
    1645- <p>
    1646- (
    1647- </p>
    1648- <p>
    1649- SELECT CustomerID,
    1650- </p>
    165- </p>
    165+ <p> SellerSKU,</p>
    1651- <p>
    1652- SKU,
    1653- </p>
    1654- <p>
    1655- SellerSKU,
    1656- </p>
    1657- <p>
    1658- OrderSourceID,
    1659- </p>
    1660- <p>
    166- <p>
    166+ <p> OrderSourceID,</p>
    1661- OrderSourceName,
    1662- </p>
    1663- <p>
    1664- ProductNameCN,
    1665- </p>
    1666- <p>
    1667- ShipDate,
    1668- </p>
    1669- <p>
    1670- DailyProductNum,
    167- [SellerSKUDailyProfitsRate] [DECIMAL](18, 2) NULL,
    167+ <p> OrderSourceName,</p>
    1671- </p>
    1672- <p>
    1673- DailyProfits,
    1674- </p>
    1675- <p>
    1676- DailyIncomes,
    1677- </p>
    1678- <p>
    1679- SellerSKUDailyProfitsRate,
    1680- </p>
    168- </p>
    168+ <p> ProductNameCN,</p>
    1681- <p>
    1682- SellerSKUSevenDayProfitsRate,
    1683- </p>
    1684- <p>
    1685- SellerSKUCurrWeekprofits,
    1686- </p>
    1687- <p>
    1688- SellerSKULastWeekprofits,
    1689- </p>
    1690- <p>
    169- <p>
    169+ <p> ShipDate,</p>
    1691- SevenDayProfits,
    1692- </p>
    1693- <p>
    1694- SevenDaySaleNumber,
    1695- </p>
    1696- <p>
    1697- MonthProfits,
    1698- </p>
    1699- <p>
    1700- MonthSaleNumber,
    170- [SellerSKUSevenDayProfitsRate] [DECIMAL](18, 2) NULL,
    170+ <p> BusinessAdminID,</p>
    1701- </p>
    1702- <p>
    1703- MonthAvgProfits,
    1704- </p>
    1705- <p>
    1706- BusinessAdminID,
    1707- </p>
    1708- <p>
    1709- SevenDayIncomes,
    1710- </p>
    171- </p>
    171+ <p> OrderSourceType</p>
    1711- <p>
    1712- MonthIncomes,
    1713- </p>
    1714- <p>
    1715- UpdateTime,
    1716- </p>
    1717- <p>
    1718- OrderSourceType,
    1719- </p>
    1720- <p>
    172- <p>
    172+ <p> ORDER BY ShipDate;</p>
    1721- DailyAvgRefund,
    1722- </p>
    1723- <p>
    1724- SevenDayAvgRefund,
    1725- </p>
    1726- <p>
    1727- MonthAvgRefund,
    1728- </p>
    1729- <p>
    1730- DailyRefund,
    173- [SellerSKUCurrWeekprofits] [MONEY] NULL,
    173+ <p><br /></p>
    1731- </p>
    1732- <p>
    1733- SevenDayRefund,
    1734- </p>
    1735- <p>
    1736- MonthRefund,
    1737- </p>
    1738- <p>
    1739- ThreeMonthProfitRate,
    1740- </p>
    174- </p>
    174+ <p><br /></p>
    1741- <p>
    1742- ThreeMonthRefundRate,
    1743- </p>
    1744- <p>
    1745- OtherDailyProfits,
    1746- </p>
    1747- <p>
    1748- OtherSellerSKUDailyProfitsRate,
    1749- </p>
    1750- <p>
    175- <p>
    175+ <p><br /></p>
    1751- OtherSellerSKUSevenDayProfitsRate,
    1752- </p>
    1753- <p>
    1754- OtherSellerSKUCurrWeekprofits,
    1755- </p>
    1756- <p>
    1757- OtherSellerSKULastWeekprofits,
    1758- </p>
    1759- <p>
    1760- OtherSevenDayProfits,
    176- [SellerSKULastWeekprofits] [MONEY] NULL,
    176+ <p> INSERT INTO SalesProductProfit</p>
    1761- </p>
    1762- <p>
    1763- OtherMonthProfits,
    1764- </p>
    1765- <p>
    1766- OtherMonthAvgProfits,
    1767- </p>
    1768- <p>
    1769- OtherThreeMonthProfitRate
    1770- </p>
    177- </p>
    177+ <p> (</p>
    1771- <p>
    1772- FROM SalesProductProfit
    1773- </p>
    1774- <p>
    1775- WHERE ShipDate &gt; CurrMaxShipDate
    1776- </p>
    1777- <p>
    1778- ) AS source
    1779- </p>
    1780- <p>
    178- <p>
    178+ <p> CustomerID,</p>
    1781- (CustomerID, SKU, SellerSKU, OrderSourceID, OrderSourceName, ProductNameCN, ShipDate, DailyProductNum, DailyProfits, DailyIncomes, SellerSKUDailyProfitsRate, SellerSKUSevenDayProfitsRate, SellerSKUCurrWeekprofits, SellerSKULastWeekprofits, SevenDayProfits, SevenDaySaleNumber, MonthProfits, MonthSaleNumber, MonthAvgProfits, BusinessAdminID, SevenDayIncomes, MonthIncomes, UpdateTime, OrderSourceType, DailyAvgRefund, SevenDayAvgRefund, MonthAvgRefund, DailyRefund, SevenDayRefund, MonthRefund,ThreeMonthProfitRate,ThreeMonthRefundRate,
    1782- </p>
    1783- <p>
    1784- OtherDailyProfits,
    1785- </p>
    1786- <p>
    1787- OtherSellerSKUDailyProfitsRate,
    1788- </p>
    1789- <p>
    1790- OtherSellerSKUSevenDayProfitsRate,
    179- [SevenDayProfits] [MONEY] NULL,
    179+ <p> SKU,</p>
    1791- </p>
    1792- <p>
    1793- OtherSellerSKUCurrWeekprofits,
    1794- </p>
    1795- <p>
    1796- OtherSellerSKULastWeekprofits,
    1797- </p>
    1798- <p>
    1799- OtherSevenDayProfits,
    1800- </p>
    180- </p>
    180+ <p> SellerSKU,</p>
    1801- <p>
    1802- OtherMonthProfits,
    1803- </p>
    1804- <p>
    1805- OtherMonthAvgProfits,
    1806- </p>
    1807- <p>
    1808- OtherThreeMonthProfitRate
    1809- </p>
    1810- <p>
    181- <p>
    181+ <p> OrderSourceID,</p>
    1811- )
    1812- </p>
    1813- <p>
    1814- ON (
    1815- </p>
    1816- <p>
    1817- target.CustomerID = source.CustomerID
    1818- </p>
    1819- <p>
    1820- AND target.SKU = source.SKU
    182- [SevenDaySaleNumber] [INT] NULL,
    182+ <p> OrderSourceName,</p>
    1821- </p>
    1822- <p>
    1823- AND target.SellerSKU = source.SellerSKU
    1824- </p>
    1825- <p>
    1826- AND target.OrderSourceID = source.OrderSourceID
    1827- </p>
    1828- <p>
    1829- AND target.OrderSourceName = source.OrderSourceName
    1830- </p>
    183- </p>
    183+ <p> ProductNameCN,</p>
    1831- <p>
    1832- AND target.ProductNameCN = source.ProductNameCN
    1833- </p>
    1834- <p>
    1835- AND target.ShipDate = source.ShipDate
    1836- </p>
    1837- <p>
    1838- AND target.BusinessAdminID = source.BusinessAdminID
    1839- </p>
    1840- <p>
    184- <p>
    184+ <p> ShipDate,</p>
    1841- AND target.OrderSourceType = source.OrderSourceType
    1842- </p>
    1843- <p>
    1844- )
    1845- </p>
    1846- <p>
    1847- WHEN MATCHED AND target.ShipDate &gt; CurrMaxShipDate
    1848- </p>
    1849- <p>
    1850- AND (
    185- [MonthProfits] [MONEY] NULL,
    185+ <p> DailyProductNum,</p>
    1851- </p>
    1852- <p>
    1853- target.DailyProductNum != source.DailyProductNum
    1854- </p>
    1855- <p>
    1856- OR target.DailyProfits != source.DailyProfits
    1857- </p>
    1858- <p>
    1859- OR target.SellerSKUDailyProfitsRate != source.SellerSKUDailyProfitsRate
    1860- </p>
    186- </p>
    186+ <p> DailyProfits,</p>
    1861- <p>
    1862- OR target.SellerSKUSevenDayProfitsRate != source.SellerSKUSevenDayProfitsRate
    1863- </p>
    1864- <p>
    1865- OR target.SellerSKUCurrWeekprofits != source.SellerSKUCurrWeekprofits
    1866- </p>
    1867- <p>
    1868- OR target.SellerSKULastWeekprofits != source.SellerSKULastWeekprofits
    1869- </p>
    1870- <p>
    187- <p>
    187+ <p> DailyIncomes,</p>
    1871- OR target.SevenDayProfits != source.SevenDayProfits
    1872- </p>
    1873- <p>
    1874- OR target.MonthProfits != source.MonthProfits
    1875- </p>
    1876- <p>
    1877- OR target.MonthAvgProfits != source.MonthAvgProfits
    1878- </p>
    1879- <p>
    1880- OR target.ThreeMonthProfitRate != source.ThreeMonthProfitRate
    188- [MonthSaleNumber] [INT] NULL,
    188+ <p> SellerSKUDailyProfitsRate,</p>
    1881- </p>
    1882- <p>
    1883- OR target.ThreeMonthRefundRate != source.ThreeMonthRefundRate
    1884- </p>
    1885- <p>
    1886- OR target.OtherDailyProfits != source.OtherDailyProfits
    1887- </p>
    1888- <p>
    1889- OR target.OtherSellerSKUDailyProfitsRate != source.OtherSellerSKUDailyProfitsRate
    1890- </p>
    189- </p>
    189+ <p> SellerSKUSevenDayProfitsRate,</p>
    1891- <p>
    1892- OR target.OtherSellerSKUSevenDayProfitsRate != source.OtherSellerSKUSevenDayProfitsRate
    1893- </p>
    1894- <p>
    1895- OR target.OtherSellerSKUCurrWeekprofits != source.OtherSellerSKUCurrWeekprofits
    1896- </p>
    1897- <p>
    1898- OR target.OtherSellerSKULastWeekprofits != source.OtherSellerSKULastWeekprofits
    1899- </p>
    1900- <p>
    190- <p>
    190+ <p> SellerSKUCurrWeekprofits,</p>
    1901- OR target.OtherSevenDayProfits != source.OtherSevenDayProfits
    1902- </p>
    1903- <p>
    1904- OR target.OtherMonthProfits != source.OtherMonthProfits
    1905- </p>
    1906- <p>
    1907- OR target.OtherMonthAvgProfits != source.OtherMonthAvgProfits
    1908- </p>
    1909- <p>
    1910- OR target.OtherThreeMonthProfitRate != source.OtherThreeMonthProfitRate
    191- [MonthAvgProfits] [MONEY] NULL,
    191+ <p> SellerSKULastWeekprofits,</p>
    1911- </p>
    1912- <p>
    1913- <br />
    1914- </p>
    1915- <p>
    1916- ) THEN
    1917- </p>
    1918- <p>
    1919- UPDATE SET target.DailyProductNum = source.DailyProductNum,
    1920- </p>
    192- </p>
    192+ <p> SevenDayProfits,</p>
    1921- <p>
    1922- target.DailyProfits = source.DailyProfits,
    1923- </p>
    1924- <p>
    1925- target.DailyIncomes = source.DailyIncomes,
    1926- </p>
    1927- <p>
    1928- target.SellerSKUDailyProfitsRate = source.SellerSKUDailyProfitsRate,
    1929- </p>
    1930- <p>
    193- <p>
    193+ <p> SevenDaySaleNumber,</p>
    1931- target.SellerSKUSevenDayProfitsRate = source.SellerSKUSevenDayProfitsRate,
    1932- </p>
    1933- <p>
    1934- target.SellerSKUCurrWeekprofits = source.SellerSKUCurrWeekprofits,
    1935- </p>
    1936- <p>
    1937- target.SellerSKULastWeekprofits = source.SellerSKULastWeekprofits,
    1938- </p>
    1939- <p>
    1940- target.SevenDayProfits = source.SevenDayProfits,
    194- [BusinessAdminID] [INT] NULL,
    194+ <p> MonthProfits,</p>
    1941- </p>
    1942- <p>
    1943- target.SevenDaySaleNumber = source.SevenDaySaleNumber,
    1944- </p>
    1945- <p>
    1946- target.MonthProfits = source.MonthProfits,
    1947- </p>
    1948- <p>
    1949- target.MonthSaleNumber = source.MonthSaleNumber,
    1950- </p>
    195- </p>
    195+ <p> MonthSaleNumber,</p>
    1951- <p>
    1952- target.MonthAvgProfits = source.MonthAvgProfits,
    1953- </p>
    1954- <p>
    1955- target.SevenDayIncomes = source.SevenDayIncomes,
    1956- </p>
    1957- <p>
    1958- target.MonthIncomes = source.MonthIncomes,
    1959- </p>
    1960- <p>
    196- <p>
    196+ <p> MonthAvgProfits,</p>
    1961- target.DailyAvgRefund = source.DailyAvgRefund,
    1962- </p>
    1963- <p>
    1964- target.SevenDayAvgRefund = source.SevenDayAvgRefund,
    1965- </p>
    1966- <p>
    1967- target.MonthAvgRefund = source.MonthAvgRefund,
    1968- </p>
    1969- <p>
    1970- target.DailyRefund = source.DailyRefund,
    197- [SevenDayIncomes] [MONEY] NULL
    197+ <p> BusinessAdminID,</p>
    1971- </p>
    1972- <p>
    1973- target.SevenDayRefund = source.SevenDayRefund,
    1974- </p>
    1975- <p>
    1976- target.MonthRefund = source.MonthRefund,
    1977- </p>
    1978- <p>
    1979- target.ThreeMonthProfitRate= source.ThreeMonthProfitRate,
    1980- </p>
    198- </p>
    198+ <p> SevenDayIncomes,</p>
    1981- <p>
    1982- target.ThreeMonthRefundRate= source.ThreeMonthRefundRate,
    1983- </p>
    1984- <p>
    1985- target.OtherDailyProfits= source.OtherDailyProfits,
    1986- </p>
    1987- <p>
    1988- target.OtherSellerSKUDailyProfitsRate= source.OtherSellerSKUDailyProfitsRate,
    1989- </p>
    1990- <p>
    199- <p>
    199+ <p> MonthIncomes,</p>
    1991- target.OtherSellerSKUSevenDayProfitsRate= source.OtherSellerSKUSevenDayProfitsRate,
    1992- </p>
    1993- <p>
    1994- target.OtherSellerSKUCurrWeekprofits= source.OtherSellerSKUCurrWeekprofits,
    1995- </p>
    1996- <p>
    1997- target.OtherSellerSKULastWeekprofits= source.OtherSellerSKULastWeekprofits,
    1998- </p>
    1999- <p>
    2000- target.OtherSevenDayProfits= source.OtherSevenDayProfits,
    200- DEFAULT ((0)),
    200+ <p> OrderSourceType,</p>
    2001- </p>
    2002- <p>
    2003- target.OtherMonthProfits= source.OtherMonthProfits,
    2004- </p>
    2005- <p>
    2006- target.OtherMonthAvgProfits= source.OtherMonthAvgProfits,
    2007- </p>
    2008- <p>
    2009- target.OtherThreeMonthProfitRate= source.OtherThreeMonthProfitRate,
    2010- </p>
    201- </p>
    201+ <p> DailyAvgRefund,</p>
    2011- <p>
    2012- target.UpdateTime = GETDATE()
    2013- </p>
    2014- <p>
    2015- WHEN NOT MATCHED BY TARGET THEN
    2016- </p>
    2017- <p>
    2018- INSERT
    2019- </p>
    2020- <p>
    202- <p>
    202+ <p> SevenDayAvgRefund,</p>
    2021- (
    2022- </p>
    2023- <p>
    2024- CustomerID,
    2025- </p>
    2026- <p>
    2027- SKU,
    2028- </p>
    2029- <p>
    2030- SellerSKU,
    203- [MonthIncomes] [MONEY] NULL
    203+ <p> MonthAvgRefund,</p>
    2031- </p>
    2032- <p>
    2033- OrderSourceID,
    2034- </p>
    2035- <p>
    2036- OrderSourceName,
    2037- </p>
    2038- <p>
    2039- ProductNameCN,
    2040- </p>
    204- </p>
    204+ <p> DailyRefund,</p>
    2041- <p>
    2042- ShipDate,
    2043- </p>
    2044- <p>
    2045- DailyProductNum,
    2046- </p>
    2047- <p>
    2048- DailyProfits,
    2049- </p>
    2050- <p>
    205- <p>
    205+ <p> SevenDayRefund,</p>
    2051- DailyIncomes,
    2052- </p>
    2053- <p>
    2054- SellerSKUDailyProfitsRate,
    2055- </p>
    2056- <p>
    2057- SellerSKUSevenDayProfitsRate,
    2058- </p>
    2059- <p>
    2060- SellerSKUCurrWeekprofits,
    206- DEFAULT ((0)),
    206+ <p> MonthRefund,</p>
    2061- </p>
    2062- <p>
    2063- SellerSKULastWeekprofits,
    2064- </p>
    2065- <p>
    2066- SevenDayProfits,
    2067- </p>
    2068- <p>
    2069- SevenDaySaleNumber,
    2070- </p>
    207- </p>
    207+ <p>ThreeMonthProfitRate,</p>
    2071- <p>
    2072- MonthProfits,
    2073- </p>
    2074- <p>
    2075- MonthSaleNumber,
    2076- </p>
    2077- <p>
    2078- MonthAvgProfits,
    2079- </p>
    2080- <p>
    208- <p>
    208+ <p>ThreeMonthRefundRate,</p>
    2081- BusinessAdminID,
    2082- </p>
    2083- <p>
    2084- SevenDayIncomes,
    2085- </p>
    2086- <p>
    2087- MonthIncomes,
    2088- </p>
    2089- <p>
    2090- OrderSourceType,
    209- [UpdateTime] [DATETIME] NULL,
    209+ <p>OtherDailyProfits,</p>
    2091- </p>
    2092- <p>
    2093- DailyAvgRefund,
    2094- </p>
    2095- <p>
    2096- SevenDayAvgRefund,
    2097- </p>
    2098- <p>
    2099- MonthAvgRefund,
    2100- </p>
    210- </p>
    210+ <p>OtherSellerSKUDailyProfitsRate,</p>
    2101- <p>
    2102- DailyRefund,
    2103- </p>
    2104- <p>
    2105- SevenDayRefund,
    2106- </p>
    2107- <p>
    2108- MonthRefund,
    2109- </p>
    2110- <p>
    211- <p>
    211+ <p>OtherSellerSKUSevenDayProfitsRate,</p>
    2111- ThreeMonthProfitRate,
    2112- </p>
    2113- <p>
    2114- ThreeMonthRefundRate,
    2115- </p>
    2116- <p>
    2117- OtherDailyProfits,
    2118- </p>
    2119- <p>
    2120- OtherSellerSKUDailyProfitsRate,
    212- [OrderSourceType] [INT] NULL
    212+ <p>OtherSellerSKUCurrWeekprofits,</p>
    2121- </p>
    2122- <p>
    2123- OtherSellerSKUSevenDayProfitsRate,
    2124- </p>
    2125- <p>
    2126- OtherSellerSKUCurrWeekprofits,
    2127- </p>
    2128- <p>
    2129- OtherSellerSKULastWeekprofits,
    2130- </p>
    213- </p>
    213+ <p>OtherSellerSKULastWeekprofits,</p>
    2131- <p>
    2132- OtherSevenDayProfits,
    2133- </p>
    2134- <p>
    2135- OtherMonthProfits,
    2136- </p>
    2137- <p>
    2138- OtherMonthAvgProfits,
    2139- </p>
    2140- <p>
    214- <p>
    214+ <p>OtherSevenDayProfits,</p>
    2141- OtherThreeMonthProfitRate,
    2142- </p>
    2143- <p>
    2144- UpdateTime
    2145- </p>
    2146- <p>
    2147- )
    2148- </p>
    2149- <p>
    2150- VALUES
    215- DEFAULT ((0)),
    215+ <p>OtherMonthProfits,</p>
    2151- </p>
    2152- <p>
    2153- (CustomerID, SKU, SellerSKU, OrderSourceID, OrderSourceName, ProductNameCN, ShipDate, DailyProductNum,
    2154- </p>
    2155- <p>
    2156- DailyProfits, DailyIncomes, SellerSKUDailyProfitsRate, SellerSKUSevenDayProfitsRate, SellerSKUCurrWeekprofits,
    2157- </p>
    2158- <p>
    2159- SellerSKULastWeekprofits, SevenDayProfits, SevenDaySaleNumber, MonthProfits, MonthSaleNumber, MonthAvgProfits,
    2160- </p>
    216- </p>
    216+ <p>OtherMonthAvgProfits,</p>
    2161- <p>
    2162- BusinessAdminID, SevenDayIncomes, MonthIncomes, OrderSourceType, DailyAvgRefund, SevenDayAvgRefund,
    2163- </p>
    2164- <p>
    2165- MonthAvgRefund, DailyRefund, SevenDayRefund, MonthRefund,ThreeMonthProfitRate,ThreeMonthRefundRate,
    2166- </p>
    2167- <p>
    2168- OtherDailyProfits,
    2169- </p>
    2170- <p>
    217- <p>
    217+ <p>OtherThreeMonthProfitRate</p>
    2171- OtherSellerSKUDailyProfitsRate,
    2172- </p>
    2173- <p>
    2174- OtherSellerSKUSevenDayProfitsRate,
    2175- </p>
    2176- <p>
    2177- OtherSellerSKUCurrWeekprofits,
    2178- </p>
    2179- <p>
    2180- OtherSellerSKULastWeekprofits,
    218- [DailyAvgRefund] [MONEY] NULL,
    218+ <p> )</p>
    2181- </p>
    2182- <p>
    2183- OtherSevenDayProfits,
    2184- </p>
    2185- <p>
    2186- OtherMonthProfits,
    2187- </p>
    2188- <p>
    2189- OtherMonthAvgProfits,
    2190- </p>
    219- </p>
    219+ <p> SELECT CustomerID,</p>
    2191- <p>
    2192- OtherThreeMonthProfitRate, GETDATE())
    2193- </p>
    2194- <p>
    2195- WHEN NOT MATCHED BY SOURCE AND target.ShipDate &gt; CurrMaxShipDate THEN
    2196- </p>
    2197- <p>
    2198- DELETE;
    2199- </p>
    2200- <p>
    220- <p>
    220+ <p> SKU,</p>
    2201- --OUTPUT action,
    2202- </p>
    2203- <p>
    2204- -- inserted.*,
    2205- </p>
    2206- <p>
    2207- -- deleted.*;
    2208- </p>
    2209- <p>
    2210- <br />
    221- [SevenDayAvgRefund] [MONEY] NULL,
    221+ <p> SellerSKU,</p>
    2211- </p>
    2212- <p>
    2213- <br />
    2214- </p>
    2215- <p>
    2216- DROP TABLE SalesProductProfit
    2217- </p>
    2218- <p>
    2219- <br />
    2220- </p>
    222- </p>
    222+ <p> OrderSourceID,</p>
    2221- <p>
    2222- --初始化SKU产品利润统计数据
    2223- </p>
    2224- <p>
    2225- INSERT INTO RB_Report_SKUProductProfitStastic
    2226- </p>
    2227- <p>
    2228- (
    2229- </p>
    2230- <p>
    223- <p>
    223+ <p> OrderSourceName,</p>
    2231- CustomerID,
    2232- </p>
    2233- <p>
    2234- SKU,
    2235- </p>
    2236- <p>
    2237- ProductNameCN,
    2238- </p>
    2239- <p>
    2240- DailyProfits,
    224- [MonthAvgRefund] [MONEY] NULL,
    224+ <p> ProductNameCN,</p>
    2241- </p>
    2242- <p>
    2243- DailyIncomes,
    2244- </p>
    2245- <p>
    2246- DailyAvgSalePrice,
    2247- </p>
    2248- <p>
    2249- DailySaleNumber,
    2250- </p>
    225- </p>
    225+ <p> ShipDate,</p>
    2251- <p>
    2252- ShipDate,
    2253- </p>
    2254- <p>
    2255- DailyAvgProfits,
    2256- </p>
    2257- <p>
    2258- SevenDayAvgProfits,
    2259- </p>
    2260- <p>
    226- <p>
    226+ <p> DailyProductNum,</p>
    2261- SKUCurrWeekprofits,
    2262- </p>
    2263- <p>
    2264- SKULastWeekprofits,
    2265- </p>
    2266- <p>
    2267- DailyRefund, --日总退款
    2268- </p>
    2269- <p>
    2270- SevenDayRefund, --七天总退款
    227- [DailyRefund] [MONEY] NULL,
    227+ <p> DailyProfits,</p>
    2271- </p>
    2272- <p>
    2273- MonthRefund, --月总退款
    2274- </p>
    2275- <p>
    2276- DailyAvgRefund, --日平均退款率
    2277- </p>
    2278- <p>
    2279- SevenDayAvgRefund, --七天平均退款率
    2280- </p>
    228- </p>
    228+ <p> DailyIncomes,</p>
    2281- <p>
    2282- MonthAvgRefund --月平均退款率
    2283- </p>
    2284- <p>
    2285- )
    2286- </p>
    2287- <p>
    2288- SELECT CustomerID,
    2289- </p>
    2290- <p>
    229- <p>
    229+ <p> SellerSKUDailyProfitsRate,</p>
    2291- SKU,
    2292- </p>
    2293- <p>
    2294- ProductNameCN,
    2295- </p>
    2296- <p>
    2297- SUM(DailyProfits),
    2298- </p>
    2299- <p>
    2300- SUM(DailyIncomes),
    230- [SevenDayRefund] [MONEY] NULL,
    230+ <p> SellerSKUSevenDayProfitsRate,</p>
    2301- </p>
    2302- <p>
    2303- CASE
    2304- </p>
    2305- <p>
    2306- WHEN SUM(DailyProductNum) = 0 THEN
    2307- </p>
    2308- <p>
    2309- 0
    2310- </p>
    231- </p>
    231+ <p> SellerSKUCurrWeekprofits,</p>
    2311- <p>
    2312- ELSE
    2313- </p>
    2314- <p>
    2315- CASE
    2316- </p>
    2317- <p>
    2318- WHEN SUM(DailyIncomes) &lt; 0 THEN
    2319- </p>
    2320- <p>
    232- <p>
    232+ <p> SellerSKULastWeekprofits,</p>
    2321- SUM(DailyIncomes) / ABS(SUM(DailyProductNum))
    2322- </p>
    2323- <p>
    2324- ELSE
    2325- </p>
    2326- <p>
    2327- SUM(DailyIncomes) / SUM(DailyProductNum)
    2328- </p>
    2329- <p>
    2330- END
    233- [MonthRefund] [MONEY] NULL,
    233+ <p> SevenDayProfits,</p>
    2331- </p>
    2332- <p>
    2333- END,
    2334- </p>
    2335- <p>
    2336- SUM(DailyProductNum),
    2337- </p>
    2338- <p>
    2339- ShipDate,
    2340- </p>
    234- </p>
    234+ <p> SevenDaySaleNumber,</p>
    2341- <p>
    2342- CASE
    2343- </p>
    2344- <p>
    2345- WHEN SUM(DailyIncomes) = 0 THEN
    2346- </p>
    2347- <p>
    2348- 0
    2349- </p>
    2350- <p>
    235- <p>
    235+ <p> MonthProfits,</p>
    2351- ELSE
    2352- </p>
    2353- <p>
    2354- CASE
    2355- </p>
    2356- <p>
    2357- WHEN SUM(DailyIncomes) &lt; 0 THEN
    2358- </p>
    2359- <p>
    2360- SUM(DailyProfits) / ABS(SUM(DailyIncomes))
    236- [ThreeMonthProfitRate] [DECIMAL](18, 4) NULL,
    236+ <p> MonthSaleNumber,</p>
    2361- </p>
    2362- <p>
    2363- ELSE
    2364- </p>
    2365- <p>
    2366- SUM(DailyProfits) / SUM(DailyIncomes)
    2367- </p>
    2368- <p>
    2369- END
    2370- </p>
    237- </p>
    237+ <p> MonthAvgProfits,</p>
    2371- <p>
    2372- END,
    2373- </p>
    2374- <p>
    2375- 0,
    2376- </p>
    2377- <p>
    2378- 0,
    2379- </p>
    2380- <p>
    238- <p>
    238+ <p> BusinessAdminID,</p>
    2381- 0,
    2382- </p>
    2383- <p>
    2384- SUM(DailyRefund), --日总退款
    2385- </p>
    2386- <p>
    2387- 0,
    2388- </p>
    2389- <p>
    2390- 0,
    239- [ThreeMonthRefundRate] [DECIMAL](18, 4) NULL,
    239+ <p> SevenDayIncomes,</p>
    2391- </p>
    2392- <p>
    2393- CASE
    2394- </p>
    2395- <p>
    2396- WHEN SUM(DailyIncomes) = 0 THEN
    2397- </p>
    2398- <p>
    2399- 0
    2400- </p>
    240- </p>
    240+ <p> MonthIncomes,</p>
    2401- <p>
    2402- ELSE
    2403- </p>
    2404- <p>
    2405- CASE
    2406- </p>
    2407- <p>
    2408- WHEN SUM(DailyIncomes + ABS(DailyRefund)) = 0 THEN
    2409- </p>
    2410- <p>
    241- <p>
    241+ <p> OrderSourceType,</p>
    2411- 0
    2412- </p>
    2413- <p>
    2414- ELSE
    2415- </p>
    2416- <p>
    2417- SUM(DailyRefund) / SUM(DailyIncomes + ABS(DailyRefund))
    2418- </p>
    2419- <p>
    2420- END
    242- [OtherDailyProfits] [MONEY] NULL,
    242+ <p> DailyAvgRefund,</p>
    2421- </p>
    2422- <p>
    2423- END, --日平均退款率
    2424- </p>
    2425- <p>
    2426- 0,
    2427- </p>
    2428- <p>
    2429- 0
    2430- </p>
    243- </p>
    243+ <p> SevenDayAvgRefund,</p>
    2431- <p>
    2432- FROM RB_Report_SalesProductProfit (NOLOCK)
    2433- </p>
    2434- <p>
    2435- WHERE ShipDate &gt; CurrMaxShipDate
    2436- </p>
    2437- <p>
    2438- GROUP BY SKU,
    2439- </p>
    2440- <p>
    244- <p>
    244+ <p> MonthAvgRefund,</p>
    2441- CustomerID,
    2442- </p>
    2443- <p>
    2444- ShipDate,
    2445- </p>
    2446- <p>
    2447- ProductNameCN
    2448- </p>
    2449- <p>
    2450- ORDER BY ShipDate;
    245- [OtherSellerSKUDailyProfitsRate] DECIMAL(18,4) NULL,
    245+ <p> DailyRefund,</p>
    2451- </p>
    2452- <p>
    2453- <br />
    2454- </p>
    2455- <p>
    2456- <br />
    2457- </p>
    2458- <p>
    2459- --更新RB_Report_SKUProductProfitStastic表(渠道SKU七天总利润)
    2460- </p>
    246- </p>
    246+ <p> SevenDayRefund,</p>
    2461- <p>
    2462- UPDATE rspp
    2463- </p>
    2464- <p>
    2465- SET SevenDayProfits = o.SevenDayProfits,
    2466- </p>
    2467- <p>
    2468- SevenDaySaleNumber = o.SevenDaySaleNumber,
    2469- </p>
    2470- <p>
    247- <p>
    247+ <p> MonthRefund,</p>
    2471- SevenDayIncomes = o.SevenDayIncomes,
    2472- </p>
    2473- <p>
    2474- SevenDayAvgProfits = CASE
    2475- </p>
    2476- <p>
    2477- WHEN o.SevenDayIncomes = 0 THEN
    2478- </p>
    2479- <p>
    2480- 0
    248- [OtherSellerSKUSevenDayProfitsRate] DECIMAL(18,4) NULL,
    248+ <p> ThreeMonthProfitRate,</p>
    2481- </p>
    2482- <p>
    2483- ELSE
    2484- </p>
    2485- <p>
    2486- (CASE
    2487- </p>
    2488- <p>
    2489- WHEN o.SevenDayProfits &lt; 0 THEN
    2490- </p>
    249- </p>
    249+ <p> ThreeMonthRefundRate,</p>
    2491- <p>
    2492- o.SevenDayProfits / ABS(o.SevenDayIncomes)
    2493- </p>
    2494- <p>
    2495- ELSE
    2496- </p>
    2497- <p>
    2498- o.SevenDayProfits / o.SevenDayIncomes
    2499- </p>
    2500- <p>
    250- <p>
    250+ <p> ISNULL(OtherDailyProfits,0) AS OtherDailyProfits,</p>
    2501- END
    2502- </p>
    2503- <p>
    2504- )
    2505- </p>
    2506- <p>
    2507- END,
    2508- </p>
    2509- <p>
    2510- SevenDayRefund = o.SevenDayRefund, --七天总退款
    251- [OtherSellerSKUCurrWeekprofits] MONEY NULL,
    251+ <p> ISNULL(OtherSellerSKUDailyProfitsRate,0) AS OtherSellerSKUDailyProfitsRate,</p>
    2511- </p>
    2512- <p>
    2513- SevenDayAvgRefund = CASE --七天平均退款率
    2514- </p>
    2515- <p>
    2516- WHEN o.SevenDayIncomes = 0 THEN
    2517- </p>
    2518- <p>
    2519- 0
    2520- </p>
    252- </p>
    252+ <p> ISNULL(OtherSellerSKUSevenDayProfitsRate,0) AS OtherSellerSKUSevenDayProfitsRate,</p>
    2521- <p>
    2522- ELSE
    2523- </p>
    2524- <p>
    2525- CASE
    2526- </p>
    2527- <p>
    2528- WHEN o.SevenDayIncomes + ABS(o.SevenDayRefund) = 0 THEN
    2529- </p>
    2530- <p>
    253- <p>
    253+ <p> ISNULL(OtherSellerSKUCurrWeekprofits,0) AS OtherSellerSKUCurrWeekprofits,</p>
    2531- 0
    2532- </p>
    2533- <p>
    2534- ELSE
    2535- </p>
    2536- <p>
    2537- o.SevenDayRefund / (o.SevenDayIncomes + ABS(o.SevenDayRefund))
    2538- </p>
    2539- <p>
    2540- END
    254- [OtherSellerSKULastWeekprofits] MONEY NULL,
    254+ <p> ISNULL(OtherSellerSKULastWeekprofits,0) AS OtherSellerSKULastWeekprofits,</p>
    2541- </p>
    2542- <p>
    2543- END
    2544- </p>
    2545- <p>
    2546- FROM RB_Report_SKUProductProfitStastic AS rspp
    2547- </p>
    2548- <p>
    2549- INNER JOIN
    2550- </p>
    255- </p>
    255+ <p> ISNULL(OtherSevenDayProfits,0) AS OtherSevenDayProfits,</p>
    2551- <p>
    2552- (
    2553- </p>
    2554- <p>
    2555- SELECT a.ID,
    2556- </p>
    2557- <p>
    2558- SUM(rb.DailyProfits) AS SevenDayProfits,
    2559- </p>
    2560- <p>
    256- <p>
    256+ <p> ISNULL(OtherSevenDayProfits,0) AS OtherMonthProfits,</p>
    2561- SUM(rb.DailySaleNumber) AS SevenDaySaleNumber,
    2562- </p>
    2563- <p>
    2564- SUM(ISNULL(rb.DailyIncomes, 0)) AS SevenDayIncomes,
    2565- </p>
    2566- <p>
    2567- SUM(rb.DailyRefund) AS SevenDayRefund
    2568- </p>
    2569- <p>
    2570- FROM RB_Report_SKUProductProfitStastic AS a
    257- [OtherSevenDayProfits] MONEY NULL,
    257+ <p> ISNULL(OtherMonthAvgProfits,0) AS OtherMonthAvgProfits,</p>
    2571- </p>
    2572- <p>
    2573- INNER JOIN RB_Report_SKUProductProfitStastic rb (NOLOCK)
    2574- </p>
    2575- <p>
    2576- ON rb.CustomerID = a.Custo
    258- </p>
    258+ <p> ISNULL(OtherThreeMonthProfitRate,0) AS OtherThreeMonthProfitRate</p>
    259- <p>
    259+ <p> FROM RB_Report_SalesProductProfit (NOLOCK)</p>
    260- [OtherMonthProfits] MONEY NULL,
    260+ <p> WHERE ShipDate &gt; DATEADD(DAY, -90, CurrMaxShipDate)</p>
    261- </p>
    261+ <p> AND ShipDate &lt;= CurrMaxShipDate</p>
    262- <p>
    262+ <p> ORDER BY ShipDate;</p>
    263- [OtherMonthAvgProfits] MONEY NULL,
    263+ <p><br /></p>
    264- </p>
    264+ <p><br /></p>
    265- <p>
    265+ <p><br /></p>
    266- [OtherThreeMonthProfitRate] DECIMAL(18,4) NULL
    266+ <p><br /></p>
    267- </p>
    267+ <p> --更新SalesProductProfit表的SellerSKUDailyProfitsRate(渠道SKU日平均利润) </p>
    268- <p>
    268+ <p> --渠道SKU日平均利润率:渠道SKU总的利润率/日销售额 </p>
    269- );
    269+ <p> UPDATE SalesProductProfit</p>
    270- </p>
    270+ <p> SET SellerSKUDailyProfitsRate = CASE</p>
    271- <p>
    271+ <p> WHEN DailyIncomes = 0 THEN</p>
    272- CREATE INDEX IX_ShipDate ON SalesProductProfit(ShipDate);
    272+ <p> 0</p>
    273- </p>
    273+ <p> ELSE</p>
    274- <p>
    274+ <p> CASE</p>
    275- CREATE INDEX IX_CustomerID ON SalesProductProfit(CustomerID,SKU,SellerSKU,OrderSourceID,ShipDate);
    275+ <p> WHEN DailyProfits &lt; 0 THEN</p>
    276- </p>
    276+ <p> DailyProfits / ABS(DailyIncomes)</p>
    277- <p>
    277+ <p> ELSE</p>
    278- <br />
    278+ <p> DailyProfits / DailyIncomes</p>
    279- </p>
    279+ <p> END</p>
    280- <p>
    280+ <p> END,</p>
    281- INSERT INTO SalesProductProfit
    281+ <p> DailyAvgRefund = CASE</p>
    282- </p>
    282+ <p> WHEN DailyIncomes = 0 THEN</p>
    283- <p>
    283+ <p> 0</p>
    284- (
    284+ <p> ELSE</p>
    285- </p>
    285+ <p> CASE</p>
    286- <p>
    286+ <p> WHEN DailyIncomes + ABS(DailyRefund) = 0 THEN</p>
    287- CustomerID,
    287+ <p> 0</p>
    288- </p>
    288+ <p> ELSE</p>
    289- <p>
    289+ <p> DailyRefund / (DailyIncomes + ABS(DailyRefund))</p>
    290- SKU,
    290+ <p> END</p>
    291- </p>
    291+ <p> END,</p>
    292- <p>
    292+ <p>OtherSellerSKUDailyProfitsRate = CASE</p>
    293- SellerSKU,
    293+ <p>WHEN DailyIncomes = 0 THEN</p>
    294- </p>
    294+ <p>0</p>
    295- <p>
    295+ <p>ELSE</p>
    296- OrderSourceID,
    296+ <p>CASE</p>
    297- </p>
    297+ <p>WHEN OtherDailyProfits &lt; 0 THEN</p>
    298- <p>
    298+ <p>OtherDailyProfits / ABS(DailyIncomes)</p>
    299- OrderSourceName,
    299+ <p>ELSE</p>
    300- </p>
    300+ <p>OtherDailyProfits / DailyIncomes</p>
    301- <p>
    301+ <p>END</p>
    302- ProductNameCN,
    302+ <p>END</p>
    303- </p>
    303+ <p> WHERE ShipDate &gt; CurrMaxShipDate;</p>
    304- <p>
    304+ <p><br /></p>
    305- ShipDate,
    305+ <p><br /></p>
    306- </p>
    306+ <p> --更新SalesProductProfit表(渠道SKU七天利润计算) </p>
    307- <p>
    307+ <p> UPDATE rspp</p>
    308- DailyProductNum,
    308+ <p> SET SevenDayProfits = o.SevenDayProfits,</p>
    309- </p>
    309+ <p> SevenDaySaleNumber = o.SevenDaySaleNumber,</p>
    310- <p>
    310+ <p> SevenDayIncomes = o.SevenDayIncomes,</p>
    311- DailyProfits,
    311+ <p> SellerSKUSevenDayProfitsRate = CASE</p>
    312- </p>
    312+ <p> WHEN o.SevenDayIncomes = 0 THEN</p>
    313- <p>
    313+ <p> 0</p>
    314- DailyIncomes,
    314+ <p> ELSE</p>
    315- </p>
    315+ <p> (CASE</p>
    316- <p>
    316+ <p> WHEN o.SevenDayProfits &lt; 0 THEN</p>
    317- SevenDayProfits,
    317+ <p> o.SevenDayProfits / ABS(o.SevenDayIncomes)</p>
    318- </p>
    318+ <p> ELSE</p>
    319- <p>
    319+ <p> o.SevenDayProfits / o.SevenDayIncomes</p>
    320- SevenDaySaleNumber,
    320+ <p> END</p>
    321- </p>
    321+ <p> )</p>
    322- <p>
    322+ <p> END,</p>
    323- MonthProfits,
    323+ <p> SevenDayRefund = o.SevenDayRefund, --七天退款总额</p>
    324- </p>
    324+ <p> SevenDayAvgRefund = CASE --七天平均退款率</p>
    325- <p>
    325+ <p> WHEN o.SevenDayIncomes = 0 THEN</p>
    326- MonthSaleNumber,
    326+ <p> 0</p>
    327- </p>
    327+ <p> ELSE</p>
    328- <p>
    328+ <p> CASE</p>
    329- MonthAvgProfits,
    329+ <p> WHEN o.SevenDayIncomes + ABS(o.SevenDayRefund) = 0 THEN</p>
    330- </p>
    330+ <p> 0</p>
    331- <p>
    331+ <p> ELSE</p>
    332- BusinessAdminID,
    332+ <p> o.SevenDayRefund / (o.SevenDayIncomes + ABS(o.SevenDayRefund))</p>
    333- </p>
    333+ <p> END</p>
    334- <p>
    334+ <p> END,</p>
    335- OrderSourceType,
    335+ <p>OtherSellerSKUSevenDayProfitsRate = CASE</p>
    336- </p>
    336+ <p> WHEN o.SevenDayIncomes = 0 THEN</p>
    337- <p>
    337+ <p> 0</p>
    338- DailyRefund,
    338+ <p> ELSE</p>
    339- </p>
    339+ <p>(CASE</p>
    340- <p>
    340+ <p>WHEN o.OtherSevenDayProfits &lt; 0 THEN</p>
    341- SevenDayRefund,
    341+ <p>o.OtherSevenDayProfits / ABS(o.SevenDayIncomes)</p>
    342- </p>
    342+ <p>ELSE</p>
    343- <p>
    343+ <p>o.OtherSevenDayProfits / o.SevenDayIncomes</p>
    344- MonthRefund,
    344+ <p>END</p>
    345- </p>
    345+ <p>)</p>
    346- <p>
    346+ <p> END</p>
    347- DailyAvgRefund,
    347+ <p> FROM SalesProductProfit AS rspp</p>
    348- </p>
    348+ <p> INNER JOIN</p>
    349- <p>
    349+ <p> (</p>
    350- SevenDayAvgRefund,
    350+ <p> SELECT a.ID,</p>
    351- </p>
    351+ <p> SUM(rb.DailyProfits) AS SevenDayProfits,</p>
    352- <p>
    352+ <p> SUM(rb.OtherDailyProfits) AS OtherSevenDayProfits,</p>
    353- MonthAvgRefund,
    353+ <p> SUM(rb.DailyProductNum) AS SevenDaySaleNumber,</p>
    354- </p>
    354+ <p> SUM(rb.DailyIncomes) AS SevenDayIncomes,</p>
    355- <p>
    355+ <p> SUM(rb.DailyRefund) AS SevenDayRefund</p>
    356- ThreeMonthProfitRate,
    356+ <p> FROM SalesProductProfit AS a</p>
    357- </p>
    357+ <p> INNER JOIN SalesProductProfit rb (NOLOCK)</p>
    358- <p>
    358+ <p> ON rb.CustomerID = a.CustomerID</p>
    359- ThreeMonthRefundRate,
    359+ <p> AND rb.SKU = a.SKU</p>
    360- </p>
    360+ <p> AND rb.SellerSKU = a.SellerSKU</p>
    361- <p>
    361+ <p> AND rb.OrderSourceID = a.OrderSourceID</p>
    362- OtherDailyProfits,
    362+ <p> AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)</p>
    363- </p>
    363+ <p> BETWEEN 0 AND 6</p>
    364- <p>
    364+ <p> WHERE a.ShipDate &gt; CurrMaxShipDate</p>
    365- OtherSevenDayProfits,
    365+ <p> GROUP BY a.ID</p>
    366- </p>
    366+ <p> ) AS o</p>
    367- <p>
    367+ <p> ON o.ID = rspp.ID;</p>
    368- OtherMonthProfits,
    368+ <p><br /></p>
    369- </p>
    369+ <p><br /></p>
    370- <p>
    370+ <p><br /></p>
    371- OtherMonthAvgProfits,
    371+ <p> --更改SalesProductProfit表的SellerSKUCurrWeekprofits(本周利润) </p>
    372- </p>
    372+ <p> UPDATE SalesProductProfit</p>
    373- <p>
    373+ <p> SET SellerSKUCurrWeekprofits =</p>
    374- OtherThreeMonthProfitRate
    374+ <p> (</p>
    375- </p>
    375+ <p> SELECT SUM(DailyProfits)</p>
    376- <p>
    376+ <p> FROM SalesProductProfit rb (NOLOCK)</p>
    377- )
    377+ <p> WHERE rb.CustomerID = SalesProductProfit.CustomerID</p>
    378- </p>
    378+ <p> AND rb.SKU = SalesProductProfit.SKU</p>
    379- <p>
    379+ <p> AND rb.SellerSKU = SalesProductProfit.SellerSKU</p>
    380- SELECT CustomerID,
    380+ <p> AND rb.OrderSourceID = SalesProductProfit.OrderSourceID</p>
    381- </p>
    381+ <p> AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)</p>
    382- <p>
    382+ <p> AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 7)</p>
    383- SKU,
    383+ <p> ),</p>
    384- </p>
    384+ <p> OtherSellerSKUCurrWeekprofits =</p>
    385- <p>
    385+ <p> (</p>
    386- SellerSKU,
    386+ <p> SELECT SUM(OtherDailyProfits)</p>
    387- </p>
    387+ <p> FROM SalesProductProfit rb (NOLOCK)</p>
    388- <p>
    388+ <p> WHERE rb.CustomerID = SalesProductProfit.CustomerID</p>
    389- OrderSourceID,
    389+ <p> AND rb.SKU = SalesProductProfit.SKU</p>
    390- </p>
    390+ <p> AND rb.SellerSKU = SalesProductProfit.SellerSKU</p>
    391- <p>
    391+ <p> AND rb.OrderSourceID = SalesProductProfit.OrderSourceID</p>
    392- OrderSourceName,
    392+ <p> AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)</p>
    393- </p>
    393+ <p> AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 7)</p>
    394- <p>
    394+ <p> )</p>
    395- ProductNameCN,
    395+ <p> WHERE ShipDate &gt; CurrMaxShipDate;</p>
    396- </p>
    396+ <p><br /></p>
    397- <p>
    397+ <p> --更改SalesProductProfit表的SellerSKULastWeekprofits(上周利润) </p>
    398- ShipDate,
    398+ <p> UPDATE SalesProductProfit</p>
    399- </p>
    399+ <p> SET SellerSKULastWeekprofits =</p>
    400- <p>
    400+ <p> (</p>
    401- SUM(ProductNum + ProdutNumUpdate),
    401+ <p> SELECT ISNULL(SUM(DailyProfits), 0)</p>
    402- </p>
    402+ <p> FROM SalesProductProfit rb (NOLOCK)</p>
    403- <p>
    403+ <p> WHERE rb.CustomerID = SalesProductProfit.CustomerID</p>
    404- SUM(Profits),
    404+ <p> AND rb.SKU = SalesProductProfit.SKU</p>
    405- </p>
    405+ <p> AND rb.SellerSKU = SalesProductProfit.SellerSKU</p>
    406- <p>
    406+ <p> AND rb.OrderSourceID = SalesProductProfit.OrderSourceID</p>
    407- SUM(Incomes),
    407+ <p> AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -7, SalesProductProfit.ShipDate)), 0)</p>
    408- </p>
    408+ <p> AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)</p>
    409- <p>
    409+ <p> ),</p>
    410- 0, --七天总利润
    410+ <p>OtherSellerSKULastWeekprofits =</p>
    411- </p>
    411+ <p> (</p>
    412- <p>
    412+ <p> SELECT ISNULL(SUM(OtherDailyProfits), 0)</p>
    413- 0, --七天总销量
    413+ <p> FROM SalesProductProfit rb (NOLOCK)</p>
    414- </p>
    414+ <p> WHERE rb.CustomerID = SalesProductProfit.CustomerID</p>
    415- <p>
    415+ <p> AND rb.SKU = SalesProductProfit.SKU</p>
    416- 0, --月利润
    416+ <p> AND rb.SellerSKU = SalesProductProfit.SellerSKU</p>
    417- </p>
    417+ <p> AND rb.OrderSourceID = SalesProductProfit.OrderSourceID</p>
    418- <p>
    418+ <p> AND rb.ShipDate &gt;= DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -7, SalesProductProfit.ShipDate)), 0)</p>
    419- 0, --月总销量
    419+ <p> AND rb.ShipDate &lt; DATEADD(wk, DATEDIFF(wk, 0, DATEADD(dd, -1, SalesProductProfit.ShipDate)), 0)</p>
    420- </p>
    420+ <p> )</p>
    421- <p>
    421+ <p> WHERE ShipDate &gt; CurrMaxShipDate;</p>
    422- 0, --月平均利润率
    422+ <p><br /></p>
    423- </p>
    423+ <p> --更新SalesProductProfit表的MonthProfits(渠道SKU月总利润) </p>
    424- <p>
    424+ <p> UPDATE rspp</p>
    425- <br />
    425+ <p> SET MonthProfits = o.MonthProfits,</p>
    426- </p>
    426+ <p> MonthSaleNumber = o.MonthSaleNumber,</p>
    427- <p>
    427+ <p> MonthIncomes = o.MonthIncomes,</p>
    428- BusinessAdminID,
    428+ <p> MonthAvgProfits = CASE</p>
    429- </p>
    429+ <p> WHEN o.MonthIncomes = 0 THEN</p>
    430- <p>
    430+ <p> 0</p>
    431- OrderSourceType,
    431+ <p> ELSE</p>
    432- </p>
    432+ <p> (CASE</p>
    433- <p>
    433+ <p> WHEN o.MonthProfits &lt; 0 THEN</p>
    434- SUM(SalesRefunds),
    434+ <p> o.MonthProfits / ABS(o.MonthIncomes)</p>
    435- </p>
    435+ <p> ELSE</p>
    436- <p>
    436+ <p> o.MonthProfits / o.MonthIncomes</p>
    437- 0, --七天总退款
    437+ <p> END</p>
    438- </p>
    438+ <p> )</p>
    439- <p>
    439+ <p> END,</p>
    440- 0, --月总退款
    440+ <p> MonthRefund = o.MonthRefund, --月总退款</p>
    441- </p>
    441+ <p> MonthAvgRefund = CASE --月平均退款率</p>
    442- <p>
    442+ <p> WHEN o.MonthIncomes = 0 THEN</p>
    443- 0, --日平均退款率
    443+ <p> 0</p>
    444- </p>
    444+ <p> ELSE</p>
    445- <p>
    445+ <p> CASE</p>
    446- 0, --七天平均退款率
    446+ <p> WHEN o.MonthIncomes + ABS(o.MonthRefund) = 0 THEN</p>
    447- </p>
    447+ <p> 0</p>
    448- <p>
    448+ <p> ELSE</p>
    449- 0, --月平均退款率
    449+ <p> o.MonthRefund / (o.MonthIncomes + ABS(o.MonthRefund))</p>
    450- </p>
    450+ <p> END</p>
    451- <p>
    451+ <p> END,</p>
    452- 0, --三个月利润率
    452+ <p>OtherMonthProfits = o.OtherMonthProfits,</p>
    453- </p>
    453+ <p>OtherMonthAvgProfits = CASE</p>
    454- <p>
    454+ <p>WHEN o.MonthIncomes = 0 THEN</p>
    455- 0, --三个月退款率
    455+ <p>0</p>
    456- </p>
    456+ <p>ELSE</p>
    457- <p>
    457+ <p>(CASE</p>
    458- <br />
    458+ <p>WHEN o.OtherMonthProfits &lt; 0 THEN</p>
    459- </p>
    459+ <p>o.OtherMonthProfits / ABS(o.MonthIncomes)</p>
    460- <p>
    460+ <p>ELSE</p>
    461- SUM(Profits+ISNULL(OtherAdvertisingFee,0)+ISNULL(OtherPlatformFee,0)+ISNULL(OtherYunCangFee,0)+ISNULL(OtherReturnFee,0)), --日利润(含其他)
    461+ <p>o.OtherMonthProfits / o.MonthIncomes</p>
    462- </p>
    462+ <p>END</p>
    463- <p>
    463+ <p>)</p>
    464- 0, --七天总利润 (含其他)
    464+ <p>END</p>
    465- </p>
    465+ <p> FROM SalesProductProfit AS rspp</p>
    466- <p>
    466+ <p> INNER JOIN</p>
    467- 0, --月利润(含其他)
    467+ <p> (</p>
    468- </p>
    468+ <p> SELECT a.ID,</p>
    469- <p>
    469+ <p> SUM(rb.DailyProfits) AS MonthProfits,</p>
    470- 0, --月平均利润率(含其他)
    470+ <p> SUM(rb.DailyProductNum) AS MonthSaleNumber,</p>
    471- </p>
    471+ <p> SUM(rb.DailyIncomes) AS MonthIncomes,</p>
    472- <p>
    472+ <p> SUM(rb.DailyRefund) AS MonthRefund,</p>
    473- 0 --三个月利润率(含其他)
    473+ <p> SUM(rb.OtherDailyProfits) AS OtherMonthProfits</p>
    474- </p>
    474+ <p> FROM SalesProductProfit AS a</p>
    475- <p>
    475+ <p> INNER JOIN SalesProductProfit rb (NOLOCK)</p>
    476- FROM RB_Report_OrderSettlement (NOLOCK)
    476+ <p> ON rb.CustomerID = a.CustomerID</p>
    477- </p>
    477+ <p> AND rb.SKU = a.SKU</p>
    478- <p>
    478+ <p> AND rb.SellerSKU = a.SellerSKU</p>
    479- WHERE ShipDate &gt; CurrMaxShipDate
    479+ <p> AND rb.OrderSourceID = a.OrderSourceID</p>
    480- </p>
    480+ <p> AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)</p>
    481- <p>
    481+ <p> BETWEEN 0 AND 29</p>
    482- AND SKU !=
    482+ <p> WHERE a.ShipDate &gt; CurrMaxShipDate</p>
    483- </p>
    483+ <p> GROUP BY a.ID</p>
    484- <p>
    484+ <p> ) AS o</p>
    485- AND SellerSKU !=
    485+ <p> ON o.ID = rspp.ID;</p>
    486- </p>
    486+ <p><br /></p>
    487- <p>
    487+ <p> --更新三个月利润率和退款率</p>
    488- GROUP BY CustomerID,
    488+ <p> UPDATE rspp</p>
    489- </p>
    489+ <p> SET ThreeMonthProfitRate = CASE</p>
    490- <p>
    490+ <p> WHEN o.TreeMonthIncomes = 0 THEN</p>
    491- SKU,
    491+ <p> 0</p>
    492- </p>
    492+ <p> ELSE</p>
    493- <p>
    493+ <p> (CASE</p>
    494- SellerSKU,
    494+ <p> WHEN o.TreeMonthProfits &lt; 0 THEN</p>
    495- </p>
    495+ <p> o.TreeMonthProfits / ABS(o.TreeMonthIncomes)</p>
    496- <p>
    496+ <p> ELSE</p>
    497- OrderSourceID,
    497+ <p> o.TreeMonthProfits / o.TreeMonthIncomes</p>
    498- </p>
    498+ <p> END</p>
    499- <p>
    499+ <p> )</p>
    500- OrderSourceName,
    500+ <p> END,</p>
    501- </p>
    501+ <p> ThreeMonthRefundRate = CASE</p>
    502- <p>
    502+ <p> WHEN o.TreeMonthIncomes = 0 THEN</p>
    503- ProductNameCN,
    503+ <p> 0</p>
    504- </p>
    504+ <p> ELSE</p>
    505- <p>
    505+ <p> CASE</p>
    506- ShipDate,
    506+ <p> WHEN o.TreeMonthIncomes + ABS(o.TreeMonthRefund) = 0 THEN</p>
    507- </p>
    507+ <p> 0</p>
    508- <p>
    508+ <p> ELSE</p>
    509- BusinessAdminID,
    509+ <p> o.TreeMonthRefund / (o.TreeMonthIncomes + ABS(o.TreeMonthRefund))</p>
    510- </p>
    510+ <p> END</p>
    511- <p>
    511+ <p> END,</p>
    512- OrderSourceType
    512+ <p>OtherThreeMonthProfitRate = CASE</p>
    513- </p>
    513+ <p> WHEN o.TreeMonthIncomes = 0 THEN</p>
    514- <p>
    514+ <p> 0</p>
    515- ORDER BY ShipDate;
    515+ <p> ELSE</p>
    516- </p>
    516+ <p>(CASE</p>
    517- <p>
    517+ <p>WHEN o.OtherTreeMonthProfits &lt; 0 THEN</p>
    518- <br />
    518+ <p>o.OtherTreeMonthProfits / ABS(o.TreeMonthIncomes)</p>
    519- </p>
    519+ <p>ELSE</p>
    520- <p>
    520+ <p>o.OtherTreeMonthProfits / o.TreeMonthIncomes</p>
    521- <br />
    521+ <p>END</p>
    522- </p>
    522+ <p>)</p>
    523- <p>
    523+ <p> END</p>
    524- <br />
    524+ <p> FROM SalesProductProfit AS rspp</p>
    525- </p>
    525+ <p> INNER JOIN</p>
    526- <p>
    526+ <p> (</p>
    527- INSERT INTO SalesProductProfit
    527+ <p> SELECT a.ID,</p>
    528- </p>
    528+ <p> SUM(rb.DailyProfits) AS TreeMonthProfits,</p>
    529- <p>
    529+ <p> SUM(rb.DailyProductNum) AS TreeMonthSaleNumber,</p>
    530- (
    530+ <p> SUM(rb.DailyIncomes) AS TreeMonthIncomes,</p>
    531- </p>
    531+ <p> SUM(rb.DailyRefund) AS TreeMonthRefund,</p>
    532- <p>
    532+ <p> SUM(rb.OtherDailyProfits) AS OtherTreeMonthProfits</p>
    533- CustomerID,
    533+ <p> FROM SalesProductProfit AS a</p>
    534- </p>
    534+ <p> INNER JOIN SalesProductProfit rb (NOLOCK)</p>
    535- <p>
    535+ <p> ON rb.CustomerID = a.CustomerID</p>
    536- SKU,
    536+ <p> AND rb.SKU = a.SKU</p>
    537- </p>
    537+ <p> AND rb.SellerSKU = a.SellerSKU</p>
    538- <p>
    538+ <p> AND rb.OrderSourceID = a.OrderSourceID</p>
    539- SellerSKU,
    539+ <p> AND DATEDIFF(DAY, rb.ShipDate, a.ShipDate)</p>
    540- </p>
    540+ <p> BETWEEN 0 AND 90</p>
    541- <p>
    541+ <p> WHERE a.ShipDate &gt; CurrMaxShipDate</p>
    542- OrderSourceID,
    542+ <p> GROUP BY a.ID</p>
    543- </p>
    543+ <p> ) AS o</p>
    544- <p>
    544+ <p> ON o.ID = rspp.ID;</p>
    545- OrderSourceName,
    545+ <p> --</p>
    546- </p>
    546+ <p><br /></p>
    547- <p>
    547+ <p> MERGE RB_Report_SalesProductProfit AS target</p>
    548- ProductNameCN,
    548+ <p> USING</p>
    549- </p>
    549+ <p> (</p>
    550- <p>
    550+ <p> SELECT CustomerID,</p>
    551- ShipDate,
    551+ <p> SKU,</p>
    552- </p>
    552+ <p> SellerSKU,</p>
    553- <p>
    553+ <p> OrderSourceID,</p>
    554- DailyProductNum,
    554+ <p> OrderSourceName,</p>
    555- </p>
    555+ <p> ProductNameCN,</p>
    556- <p>
    556+ <p> ShipDate,</p>
    557- DailyProfits,
    557+ <p> DailyProductNum,</p>
    558- </p>
    558+ <p> DailyProfits,</p>
    559- <p>
    559+ <p> DailyIncomes,</p>
    560- DailyIncomes,
    560+ <p> SellerSKUDailyProfitsRate,</p>
    561- </p>
    561+ <p> SellerSKUSevenDayProfitsRate,</p>
    562- <p>
    562+ <p> SellerSKUCurrWeekprofits,</p>
    563- SellerSKUDailyProfitsRate,
    563+ <p> SellerSKULastWeekprofits,</p>
    564- </p>
    564+ <p> SevenDayProfits,</p>
    565- <p>
    565+ <p> SevenDaySaleNumber,</p>
    566- SellerSKUSevenDayProfitsRate,
    566+ <p> MonthProfits,</p>
    567- </p>
    567+ <p> MonthSaleNumber,</p>
    568- <p>
    568+ <p> MonthAvgProfits,</p>
    569- SellerSKUCurrWeekprofits,
    569+ <p> BusinessAdminID,</p>
    570- </p>
    570+ <p> SevenDayIncomes,</p>
    571- <p>
    571+ <p> MonthIncomes,</p>
    572- SellerSKULastWeekprofits,
    572+ <p> UpdateTime,</p>
    573- </p>
    573+ <p> OrderSourceType,</p>
    574- <p>
    574+ <p> DailyAvgRefund,</p>
    575- SevenDayProfits,
    575+ <p> SevenDayAvgRefund,</p>
    576- </p>
    576+ <p> MonthAvgRefund,</p>
    577- <p>
    577+ <p> DailyRefund,</p>
    578- SevenDaySaleNumber,
    578+ <p> SevenDayRefund,</p>
    579- </p>
    579+ <p> MonthRefund,</p>
    580- <p>
    580+ <p> ThreeMonthProfitRate,</p>
    581- MonthProfits,
    581+ <p> ThreeMonthRefundRate,</p>
    582- </p>
    582+ <p> OtherDailyProfits,</p>
    583- <p>
    583+ <p> OtherSellerSKUDailyProfitsRate,</p>
    584- MonthSaleNumber,
    584+ <p> OtherSellerSKUSevenDayProfitsRate,</p>
    585- </p>
    585+ <p> OtherSellerSKUCurrWeekprofits,</p>
    586- <p>
    586+ <p> OtherSellerSKULastWeekprofits,</p>
    587- MonthAvgProfits,
    587+ <p> OtherSevenDayProfits,</p>
    588- </p>
    588+ <p> OtherMonthProfits,</p>
    589- <p>
    589+ <p> OtherMonthAvgProfits,</p>
    590- BusinessAdminID,
    590+ <p> OtherThreeMonthProfitRate</p>
    591- </p>
    591+ <p> FROM SalesProductProfit</p>
    592- <p>
    592+ <p> WHERE ShipDate &gt; CurrMaxShipDate</p>
    593- SevenDayIncomes,
    593+ <p> ) AS source</p>
    594- </p>
    594+ <p> (CustomerID, SKU, SellerSKU, OrderSourceID, OrderSourceName, ProductNameCN, ShipDate, DailyProductNum, DailyProfits, DailyIncomes, SellerSKUDailyProfitsRate, SellerSKUSevenDayProfitsRate, SellerSKUCurrWeekprofits, SellerSKULastWeekprofits, SevenDayProfits, SevenDaySaleNumber, MonthProfits, MonthSaleNumber, MonthAvgProfits, BusinessAdminID, SevenDayIncomes, MonthIncomes, UpdateTime, OrderSourceType, DailyAvgRefund, SevenDayAvgRefund, MonthAvgRefund, DailyRefund, SevenDayRefund, MonthRefund,ThreeMonthProfitRate,ThreeMonthRefundRate,</p>
    595- <p>
    595+ <p>OtherDailyProfits,</p>
    596- MonthIncomes,
    596+ <p>OtherSellerSKUDailyProfitsRate,</p>
    597- </p>
    597+ <p>OtherSellerSKUSevenDayProfitsRate,</p>
    598- <p>
    598+ <p>OtherSellerSKUCurrWeekprofits,</p>
    599- OrderSourceType,
    599+ <p>OtherSellerSKULastWeekprofits,</p>
    600- </p>
    600+ <p>OtherSevenDayProfits,</p>
    601- <p>
    601+ <p>OtherMonthProfits,</p>
    602- DailyAvgRefund,
    602+ <p>OtherMonthAvgProfits,</p>
    603- </p>
    603+ <p>OtherThreeMonthProfitRate</p>
    604- <p>
    604+ <p>)</p>
    605- SevenDayAvgRefund,
    605+ <p> ON (</p>
    606- </p>
    606+ <p> target.CustomerID = source.CustomerID</p>
    607- <p>
    607+ <p> AND target.SKU = source.SKU</p>
    608- MonthAvgRefund,
    608+ <p> AND target.SellerSKU = source.SellerSKU</p>
    609- </p>
    609+ <p> AND target.OrderSourceID = source.OrderSourceID</p>
    610- <p>
    610+ <p> AND target.OrderSourceName = source.OrderSourceName</p>
    611- DailyRefund,
    611+ <p> AND target.ProductNameCN = source.ProductNameCN</p>
    612- </p>
    612+ <p> AND target.ShipDate = source.ShipDate</p>
    613- <p>
    613+ <p> AND target.BusinessAdminID = source.BusinessAdminID</p>
    614- SevenDayRefund,
    614+ <p> AND target.OrderSourceType = source.OrderSourceType</p>
    615- </p>
    615+ <p> )</p>
    616- <p>
    616+ <p> WHEN MATCHED AND target.ShipDate &gt; CurrMaxShipDate</p>
    617- MonthRefund,
    617+ <p> AND (</p>
    618- </p>
    618+ <p>target.DailyProductNum != source.DailyProductNum</p>
    619- <p>
    619+ <p>OR target.DailyProfits != source.DailyProfits</p>
    620- ThreeMonthProfitRate,
    620+ <p>OR target.SellerSKUDailyProfitsRate != source.SellerSKUDailyProfitsRate</p>
    621- </p>
    621+ <p>OR target.SellerSKUSevenDayProfitsRate != source.SellerSKUSevenDayProfitsRate</p>
    622- <p>
    622+ <p>OR target.SellerSKUCurrWeekprofits != source.SellerSKUCurrWeekprofits</p>
    623- ThreeMonthRefundRate,
    623+ <p>OR target.SellerSKULastWeekprofits != source.SellerSKULastWeekprofits</p>
    624- </p>
    624+ <p>OR target.SevenDayProfits != source.SevenDayProfits</p>
    625- <p>
    625+ <p>OR target.MonthProfits != source.MonthProfits</p>
    626- OtherDailyProfits,
    626+ <p>OR target.MonthAvgProfits != source.MonthAvgProfits</p>
    627- </p>
    627+ <p>OR target.ThreeMonthProfitRate != source.ThreeMonthProfitRate</p>
    628- <p>
    628+ <p>OR target.ThreeMonthRefundRate != source.ThreeMonthRefundRate</p>
    629- OtherSellerSKUDailyProfitsRate,
    629+ <p>OR target.OtherDailyProfits != source.OtherDailyProfits</p>
    630- </p>
    630+ <p>OR target.OtherSellerSKUDailyProfitsRate != source.OtherSellerSKUDailyProfitsRate</p>
    631- <p>
    631+ <p>OR target.OtherSellerSKUSevenDayProfitsRate != source.OtherSellerSKUSevenDayProfitsRate</p>
    632- OtherSellerSKUSevenDayProfitsRate,
    632+ <p>OR target.OtherSellerSKUCurrWeekprofits != source.OtherSellerSKUCurrWeekprofits</p>
    633- </p>
    633+ <p>OR target.OtherSellerSKULastWeekprofits != source.OtherSellerSKULastWeekprofits</p>
    634- <p>
    634+ <p>OR target.OtherSevenDayProfits != source.OtherSevenDayProfits</p>
    635- OtherSellerSKUCurrWeekprofits,
    635+ <p>OR target.OtherMonthProfits != source.OtherMonthProfits</p>
    636- </p>
    636+ <p>OR target.OtherMonthAvgProfits != source.OtherMonthAvgProfits</p>
    637- <p>
    637+ <p>OR target.OtherThreeMonthProfitRate != source.OtherThreeMonthProfitRate</p>
    638- OtherSellerSKULastWeekprofits,
    638+ <p><br /></p>
    639- </p>
    639+ <p>) THEN</p>
    640- <p>
    640+ <p> UPDATE SET target.DailyProductNum = source.DailyProductNum,</p>
    641- OtherSevenDayProfits,
    641+ <p> target.DailyProfits = source.DailyProfits,</p>
    642- </p>
    642+ <p> target.DailyIncomes = source.DailyIncomes,</p>
    643- <p>
    643+ <p> target.SellerSKUDailyProfitsRate = source.SellerSKUDailyProfitsRate,</p>
    644- OtherMonthProfits,
    644+ <p> target.SellerSKUSevenDayProfitsRate = source.SellerSKUSevenDayProfitsRate,</p>
    645- </p>
    645+ <p> target.SellerSKUCurrWeekprofits = source.SellerSKUCurrWeekprofits,</p>
    646- <p>
    646+ <p> target.SellerSKULastWeekprofits = source.SellerSKULastWeekprofits,</p>
    647- OtherMonthAvgProfits,
    647+ <p> target.SevenDayProfits = source.SevenDayProfits,</p>
    648- </p>
    648+ <p> target.SevenDaySaleNumber = source.SevenDaySaleNumber,</p>
    649- <p>
    649+ <p> target.MonthProfits = source.MonthProfits,</p>
    650- OtherThreeMonthProfitRate
    650+ <p> target.MonthSaleNumber = source.MonthSaleNumber,</p>
    651- </p>
    651+ <p> target.MonthAvgProfits = source.MonthAvgProfits,</p>
    652- <p>
    652+ <p> target.SevenDayIncomes = source.SevenDayIncomes,</p>
    653- )
    653+ <p> target.MonthIncomes = source.MonthIncomes,</p>
    654- </p>
    654+ <p> target.DailyAvgRefund = source.DailyAvgRefund,</p>
    655- <p>
    655+ <p> target.SevenDayAvgRefund = source.SevenDayAvgRefund,</p>
    656- SELECT CustomerID,
    656+ <p> target.MonthAvgRefund = source.MonthAvgRefund,</p>
    657- </p>
    657+ <p> target.DailyRefund = source.DailyRefund,</p>
    658- <p>
    658+ <p> target.SevenDayRefund = source.SevenDayRefund,</p>
    659- SKU,
    659+ <p> target.MonthRefund = source.MonthRefund,</p>
    660- </p>
    660+ <p> target.ThreeMonthProfitRate= source.ThreeMonthProfitRate,</p>
    661- <p>
    661+ <p> target.ThreeMonthRefundRate= source.ThreeMonthRefundRate,</p>
    662- SellerSKU,
    662+ <p> target.OtherDailyProfits= source.OtherDailyProfits,</p>
    663- </p>
    663+ <p> target.OtherSellerSKUDailyProfitsRate= source.OtherSellerSKUDailyProfitsRate,</p>
    664- <p>
    664+ <p> target.OtherSellerSKUSevenDayProfitsRate= source.OtherSellerSKUSevenDayProfitsRate,</p>
    665- OrderSourceID,
    665+ <p> target.OtherSellerSKUCurrWeekprofits= source.OtherSellerSKUCurrWeekprofits,</p>
    666- </p>
    666+ <p> target.OtherSellerSKULastWeekprofits= source.OtherSellerSKULastWeekprofits,</p>
    667- <p>
    667+ <p> target.OtherSevenDayProfits= source.OtherSevenDayProfits,</p>
    668- OrderSourceName,
    668+ <p> target.OtherMonthProfits= source.OtherMonthProfits,</p>
    669- </p>
    669+ <p> target.OtherMonthAvgProfits= source.OtherMonthAvgProfits,</p>
    670- <p>
    670+ <p> target.OtherThreeMonthProfitRate= source.OtherThreeMonthProfitRate,</p>
    671- ProductNameCN,
    671+ <p> target.UpdateTime = GETDATE()</p>
    672- </p>
    672+ <p> WHEN NOT MATCHED BY TARGET THEN</p>
    673- <p>
    673+ <p> INSERT</p>
    674- ShipDate,
    674+ <p> (</p>
    675- </p>
    675+ <p> CustomerID,</p>
    676- <p>
    676+ <p> SKU,</p>
    677- DailyProductNum,
    677+ <p> SellerSKU,</p>
    678- </p>
    678+ <p> OrderSourceID,</p>
    679- <p>
    679+ <p> OrderSourceName,</p>
    680- DailyProfits,
    680+ <p> ProductNameCN,</p>
    681- </p>
    681+ <p> ShipDate,</p>
    682- <p>
    682+ <p> DailyProductNum,</p>
    683- DailyIncomes,
    683+ <p> DailyProfits,</p>
    684- </p>
    684+ <p> DailyIncomes,</p>
    685- <p>
    685+ <p> SellerSKUDailyProfitsRate,</p>
    686- SellerSKUDailyProfitsRate,
    686+ <p> SellerSKUSevenDayProfitsRate,</p>
    687- </p>
    687+ <p> SellerSKUCurrWeekprofits,</p>
    688- <p>
    688+ <p> SellerSKULastWeekprofits,</p>
    689- SellerSKUSevenDayProfitsRate,
    689+ <p> SevenDayProfits,</p>
    690- </p>
    690+ <p> SevenDaySaleNumber,</p>
    691- <p>
    691+ <p> MonthProfits,</p>
    692- SellerSKUCurrWeekprofits,
    692+ <p> MonthSaleNumber,</p>
    693- </p>
    693+ <p> MonthAvgProfits,</p>
    694- <p>
    694+ <p> BusinessAdminID,</p>
    695- SellerSKULastWeekprofits,
    695+ <p> SevenDayIncomes,</p>
    696- </p>
    696+ <p> MonthIncomes,</p>
    697- <p>
    697+ <p> OrderSourceType,</p>
    698- SevenDayProfits,
    698+ <p> DailyAvgRefund,</p>
    699- </p>
    699+ <p> SevenDayAvgRefund,</p>
    700- <p>
    700+ <p> MonthAvgRefund,</p>
    701- SevenDaySaleNumber,
    701+ <p> DailyRefund,</p>
    702- </p>
    702+ <p> SevenDayRefund,</p>
    703- <p>
    703+ <p> MonthRefund,</p>
    704- MonthProfits,
    704+ <p>ThreeMonthProfitRate,</p>
    705- </p>
    705+ <p>ThreeMonthRefundRate,</p>
    706- <p>
    706+ <p>OtherDailyProfits,</p>
    707- MonthSaleNumber,
    707+ <p>OtherSellerSKUDailyProfitsRate,</p>
    708- </p>
    708+ <p>OtherSellerSKUSevenDayProfitsRate,</p>
    709- <p>
    709+ <p>OtherSellerSKUCurrWeekprofits,</p>
    710- MonthAvgProfits,
    710+ <p>OtherSellerSKULastWeekprofits,</p>
    711- </p>
    711+ <p>OtherSevenDayProfits,</p>
    712- <p>
    712+ <p>OtherMonthProfits,</p>
    713- BusinessAdminID,
    713+ <p>OtherMonthAvgProfits,</p>
    714- </p>
    714+ <p>OtherThreeMonthProfitRate,</p>
    715- <p>
    715+ <p> UpdateTime</p>
    716- SevenDayIncomes,
    716+ <p> )</p>
    717- </p>
    717+ <p> VALUES</p>
    718- <p>
    718+ <p> (CustomerID, SKU, SellerSKU, OrderSourceID, OrderSourceName, ProductNameCN, ShipDate, DailyProductNum,</p>
    719- MonthIncomes,
    719+ <p> DailyProfits, DailyIncomes, SellerSKUDailyProfitsRate, SellerSKUSevenDayProfitsRate, SellerSKUCurrWeekprofits,</p>
    720- </p>
    720+ <p> SellerSKULastWeekprofits, SevenDayProfits, SevenDaySaleNumber, MonthProfits, MonthSaleNumber, MonthAvgProfits,</p>
    721- <p>
    721+ <p> BusinessAdminID, SevenDayIncomes, MonthIncomes, OrderSourceType, DailyAvgRefund, SevenDayAvgRefund,</p>
    722- OrderSourceType,
    722+ <p> MonthAvgRefund, DailyRefund, SevenDayRefund, MonthRefund,ThreeMonthProfitRate,ThreeMonthRefundRate,</p>
    723- </p>
    723+ <p>OtherDailyProfits,</p>
    724- <p>
    724+ <p>OtherSellerSKUDailyProfitsRate,</p>
    725- DailyAvgRefund,
    725+ <p>OtherSellerSKUSevenDayProfitsRate,</p>
    726- </p>
    726+ <p>OtherSellerSKUCurrWeekprofits,</p>
    727- <p>
    727+ <p>OtherSellerSKULastWeekprofits,</p>
    728- SevenDayAvgRefund,
    728+ <p>OtherSevenDayProfits,</p>
    729- </p>
    729+ <p>OtherMonthProfits,</p>
    730- <p>
    730+ <p>OtherMonthAvgProfits,</p>
    731- MonthAvgRefund,
    731+ <p>OtherThreeMonthProfitRate, GETDATE())</p>
    732- </p>
    732+ <p> WHEN NOT MATCHED BY SOURCE AND target.ShipDate &gt; CurrMaxShipDate THEN</p>
    733- <p>
    733+ <p> DELETE;</p>
    734- DailyRefund,
    734+ <p> --OUTPUT action,</p>
    735- </p>
    735+ <p> -- inserted.*,</p>
    736- <p>
    736+ <p> -- deleted.*;</p>
    737- SevenDayRefund,
    737+ <p><br /></p>
    738- </p>
    738+ <p><br /></p>
    739- <p>
    739+ <p>DROP TABLE SalesProductProfit</p>
    740- MonthRefund,
    740+ <p><br /></p>
    741- </p>
    741+ <p> --初始化SKU产品利润统计数据 </p>
    742- <p>
    742+ <p> INSERT INTO RB_Report_SKUProductProfitStastic</p>
    743- ThreeMonthProfitRate,
    743+ <p> (</p>
    744- </p>
    744+ <p> CustomerID,</p>
    745- <p>
    745+ <p> SKU,</p>
    746- ThreeMonthRefundRate,
    746+ <p> ProductNameCN,</p>
    747- </p>
    747+ <p> DailyProfits,</p>
    748- <p>
    748+ <p> DailyIncomes,</p>
    749- ISNULL(OtherDailyProfits,0) AS OtherDailyProfits,
    749+ <p> DailyAvgSalePrice,</p>
    750- </p>
    750+ <p> DailySaleNumber,</p>
    751- <p>
    751+ <p> ShipDate,</p>
    752- ISNULL(OtherSellerSKUDailyProfitsRate,0) AS OtherSellerSKUDailyProfitsRate,
    752+ <p> DailyAvgProfits,</p>
    753- </p>
    753+ <p> SevenDayAvgProfits,</p>
    754- <p>
    754+ <p> SKUCurrWeekprofits,</p>
    755- ISNULL(OtherSellerSKUSevenDayProfitsRate,0) AS OtherSellerSKUSevenDayProfitsRate,
    755+ <p> SKULastWeekprofits,</p>
    756- </p>
    756+ <p> DailyRefund, --日总退款</p>
    757- <p>
    757+ <p> SevenDayRefund, --七天总退款</p>
    758- ISNULL(OtherSellerSKUCurrWeekprofits,0) AS OtherSellerSKUCurrWeekprofits,
    758+ <p> MonthRefund, --月总退款</p>
    759- </p>
    759+ <p> DailyAvgRefund, --日平均退款率</p>
    760- <p>
    760+ <p> SevenDayAvgRefund, --七天平均退款率</p>
    761- ISNULL(OtherSellerSKULastWeekprofits,0) AS OtherSellerSKULastWeekprofits,
    761+ <p> MonthAvgRefund --月平均退款率</p>
    762- </p>
    762+ <p> )</p>
    763- <p>
    763+ <p> SELECT CustomerID,</p>
    764- ISNULL(OtherSevenDayProfits,0) AS OtherSevenDayProfits,
    764+ <p> SKU,</p>
    765- </p>
    765+ <p> ProductNameCN,</p>
    766- <p>
    766+ <p> SUM(DailyProfits),</p>
    767- ISNULL(OtherSevenDayProfits,0) AS OtherMonthProfits,
    767+ <p> SUM(DailyIncomes),</p>
    768- </p>
    768+ <p> CASE</p>
    769- <p>
    769+ <p> WHEN SUM(DailyProductNum) = 0 THEN</p>
    770- ISNULL(OtherMonthAvgProfits,0) AS OtherMonthAvgProfits,
    770+ <p> 0</p>
    771- </p>
    771+ <p> ELSE</p>
    772- <p>
    772+ <p> CASE</p>
    773- ISNULL(OtherThreeMonthProfitRate,0) AS OtherThreeMonthProfitRate
    773+ <p> WHEN SUM(DailyIncomes) &lt; 0 THEN</p>
    774- </p>
    774+ <p> SUM(DailyIncomes) / ABS(SUM(DailyProductNum))</p>
    775- <p>
    775+ <p> ELSE</p>
    776- FROM RB_Report_SalesProductProfit (NOLOCK)
    776+ <p> SUM(DailyIncomes) / SUM(DailyProductNum)</p>
    777- </p>
    777+ <p> END</p>
    778- <p>
    778+ <p> END,</p>
    779- WHERE ShipDate &gt; DATEADD(DAY, -90, CurrMaxShipDate)
    779+ <p> SUM(DailyProductNum),</p>
    780- </p>
    780+ <p> ShipDate,</p>
    781- <p>
    781+ <p> CASE</p>
    782- AND ShipDate &lt;= CurrMaxShipDate
    782+ <p> WHEN SUM(DailyIncomes) = 0 THEN</p>
    783- </p>
    783+ <p> 0</p>
    784- <p>
    784+ <p> ELSE</p>
    785- ORDER BY ShipDate;
    785+ <p> CASE</p>
    786- </p>
    786+ <p> WHEN SUM(DailyIncomes) &lt; 0 THEN</p>
    787- <p>
    787+ <p> SUM(DailyProfits) / ABS(SUM(DailyIncomes))</p>
    788- <br />
    788+ <p> ELSE</p>
    789- </p>
    789+ <p> SUM(DailyProfits) / SUM(DailyIncomes)</p>
    790- <p>
    790+ <p> END</p>
    791- <br />
    791+ <p> END,</p>
    792- </p>
    792+ <p> 0,</p>
    793- <p>
    793+ <p> 0,</p>
    794- <br />
    794+ <p> 0,</p>
    795- </p>
    795+ <p> SUM(DailyRefund), --日总退款</p>
    796- <p>
    796+ <p> 0,</p>
    797- <br />
    797+ <p> 0,</p>
    798- </p>
    798+ <p> CASE</p>
    799- <p>
    799+ <p> WHEN SUM(DailyIncomes) = 0 THEN</p>
    800- --更新SalesProductProfit表的SellerSKUDailyProfitsRate(渠道SKU日平均利润)
    800+ <p> 0</p>
    801- </p>
    801+ <p> ELSE</p>
    802- <p>
    802+ <p> CASE</p>
    803- --渠道SKU日平均利润率:渠道SKU总的利润率/日销售额
    803+ <p> WHEN SUM(DailyIncomes + ABS(DailyRefund)) = 0 THEN</p>
    804- </p>
    804+ <p> 0</p>
    805- <p>
    805+ <p> ELSE</p>
    806- UPDATE SalesProductProfit
    806+ <p> SUM(DailyRefund) / SUM(DailyIncomes + ABS(DailyRefund))</p>
    807- </p>
    807+ <p> END</p>
    808- <p>
    808+ <p> END, --日平均退款率</p>
    809- SET SellerSKUDailyProfitsRate = CASE
    809+ <p> 0,</p>
    810- </p>
    810+ <p> 0</p>
    811- <p>
    811+ <p> FROM RB_Report_SalesProductProfit (NOLOCK)</p>
    812- WHEN DailyIncomes = 0 THEN
    812+ <p> WHERE ShipDate &gt; CurrMaxShipDate</p>
    813- </p>
    813+ <p> GROUP BY SKU,</p>
    814- <p>
    814+ <p> CustomerID,</p>
    815- 0
    815+ <p> ShipDate,</p>
    816- </p>
    816+ <p> ProductNameCN</p>
    817- <p>
    817+ <p> ORDER BY ShipDate;</p>
    818- ELSE
    818+ <p><br /></p>
    819- </p>
    819+ <p><br /></p>
    820- <p>
    820+ <p> --更新RB_Report_SKUProductProfitStastic表(渠道SKU七天总利润) </p>
    821- CASE
    821+ <p> UPDATE rspp</p>
    822- </p>
    822+ <p> SET SevenDayProfits = o.SevenDayProfits,</p>
    823- <p>
    823+ <p> SevenDaySaleNumber = o.SevenDaySaleNumber,</p>
    824- WHEN DailyProfits &lt; 0 THEN
    824+ <p> SevenDayIncomes = o.SevenDayIncomes,</p>
    825- </p>
    825+ <p> SevenDayAvgProfits = CASE</p>
    826- <p>
    826+ <p> WHEN o.SevenDayIncomes = 0 THEN</p>
    827- DailyProfits / ABS(DailyIncomes)
    827+ <p> 0</p>
    828- </p>
    828+ <p> ELSE</p>
    829- <p>
    829+ <p> (CASE</p>
    830- ELSE
    830+ <p> WHEN o.SevenDayProfits &lt; 0 THEN</p>
    831- </p>
    831+ <p> o.SevenDayProfits / ABS(o.SevenDayIncomes)</p>
    832- <p>
    832+ <p> ELSE</p>
    833- DailyProfits / DailyIncomes
    833+ <p> o.SevenDayProfits / o.SevenDayIncomes</p>
    834- </p>
    834+ <p> END</p>
    835- <p>
    835+ <p> )</p>
    836- END
    836+ <p> END,</p>
    837- </p>
    837+ <p> SevenDayRefund = o.SevenDayRefund, --七天总退款</p>
    838- <p>
    838+ <p> SevenDayAvgRefund = CASE --七天平均退款率</p>
    839- END,
    839+ <p> WHEN o.SevenDayIncomes = 0 THEN</p>
    840- </p>
    840+ <p> 0</p>
    841- <p>
    841+ <p> ELSE</p>
    842- DailyAvgRefund = CASE
    842+ <p> CASE</p>
    843- </p>
    843+ <p> WHEN o.SevenDayIncomes + ABS(o.SevenDayRefund) = 0 THEN</p>
    844- <p>
    844+ <p> 0</p>
    845- WHEN DailyIncomes = 0 THEN
    845+ <p> ELSE</p>
    846- </p>
    846+ <p> o.SevenDayRefund / (o.SevenDayIncomes + ABS(o.SevenDayRefund))</p>
    847- <p>
    847+ <p> END</p>
    848- 0
    848+ <p> END</p>
    849- </p>
    849+ <p> FROM RB_Report_SKUProductProfitStastic AS rspp</p>
    850- <p>
    850+ <p> INNER JOIN</p>
    851- ELSE
    851+ <p> (</p>
    852- </p>
    852+ <p> SELECT a.ID,</p>
    853- <p>
    853+ <p> SUM(rb.DailyProfits) AS SevenDayProfits,</p>
    854- CASE
    854+ <p> SUM(rb.DailySaleNumber) AS SevenDaySaleNumber,</p>
    855- </p>
    855+ <p> SUM(ISNULL(rb.DailyIncomes, 0)) AS SevenDayIncomes,</p>
    856- <p>
    856+ <p> SUM(rb.DailyRefund) AS SevenDayRefund</p>
    857- WHEN DailyIncomes + ABS(DailyRefund) = 0 THEN
    857+ <p> FROM RB_Report_SKUProductProfitStastic AS a</p>
    858- </p>
    858+ <p> INNER JOIN RB_Report_SKUProductProfitStastic rb (NOLOCK)</p>
    859- <p>
    859+ <p> ON rb.CustomerID = a.Custo</p>
    860- 0
    861- </p>
    862- <p>
    863- ELSE
    864- </p>
    865- <p>
    866- DailyRefund / (DailyIncomes + ABS(DailyRefund))
    867- </p>
    868- <p>
    869- END
    870- </p>
    871- <p>
    872- END,
    873- </p>
    874- <p>
    875- OtherSellerSKUDailyProfitsRate = CASE
    876- </p>
    877- <p>
    878- WHEN DailyIncomes = 0 THEN
    879- </p>
    880- <p>
    881- 0
    882- </p>
    883- <p>
    884- ELSE
    885- </p>
    886- <p>
    887- CASE
    888- </p>
    889- <p>
    890- WHEN OtherDailyProfits &lt; 0 THEN
    891- </p>
    892- <p>
    893- OtherDailyProfits / ABS(DailyIncomes)
    894- </p>
    895- <p>
    896- ELSE
    897- </p>
    898- <p>
    899- OtherDailyProfits / DailyIncomes
    900- </p>
    901- <p>
    902- END
    903- </p>
    904- <p>
    905- END
    906- </p>
    907- <p>
    908- WHERE ShipDate &gt; CurrMaxShipDate;
    909- </p>
    910- <p>
    911- <br />
    912- </p>
    913- <p>
    914- <br />
    915- </p>
    916- <p>
    917- --更新SalesProductProfit表(渠道SKU七天利润计算)
    918- </p>
    919- <p>
    920- UPDATE rspp
    921- </p>
    922- <p>
    923- SET SevenDayProfits = o.SevenDayProfits,
    924- </p>
    925- <p>
    926- SevenDaySaleNumber = o.SevenDaySaleNumber,
    927- </p>
    928- <p>
    929- SevenDayIncomes = o.SevenDayIncomes,
    930- </p>
    931- <p>
    932- SellerSKUSevenDayProfitsRate = CASE
    933- </p>
    934- <p>
    935- WHEN o.SevenDayIncomes = 0 THEN
    936- </p>
    937- <p>
    938- 0
    939- </p>
    940- <p>
    941- ELSE
    942- </p>
    943- <p>
    944- (CASE
    945- </p>
    946- <p>
    947- WHEN o.SevenDayProfits &lt; 0 THEN
    948- </p>
    949- <p>
    950- o.SevenDayProfits / ABS(o.SevenDayIncomes)
    951- </p>
    952- <p>
    953- ELSE
    954- </p>
    955- <p>
    956- o.SevenDayProfits / o.SevenDayIncomes
    957- </p>
    958- <p>
    959- END
    960- </p>
    961- <p>
    962- )
    963- </p>
    964- <p>
    965- END,
    966- </p>
    967- <p>
    968- SevenDayRefund = o.SevenDayRefund, --七天退款总额
    969- </p>
    970- <p>
    971- SevenDayAvgRefund = CASE --七天平均退款率
    972- </p>
    973- <p>
    974- WHEN o.SevenDayIncomes = 0 THEN
    975- </p>
    976- <p>
    977- 0
    978- </p>
    979- <p>
    980- ELSE
    981- </p>
    982- <p>
    983- CASE
    984- </p>
    985- <p>
    986- WHEN o.SevenDayIncomes + ABS(o.SevenDayRefund) = 0 THEN
    987- </p>
    988- <p>
    989- 0
    990- </p>
    991- <p>
    992- ELSE
    993- </p>
    994- <p>
    995- o.SevenDayRefund / (o.SevenDayIncomes + ABS(o.SevenDayRefund))
    996- </p>
    997- <p>
    998- END
    999- </p>
    1000- <p>
所属项目 技术中心-需求池
所属模块 财务   财务管理
所属计划
所属迭代
Bug类型
严重程度 一般
优先级 P1
Bug状态 已关闭
业务部门 总经办
影响功能
开发责任人 林很
测试责任人 林很
解决时效 43.59
激活次数 0
激活日期
是否确认 是
当前指派 Closed 于 2025-12-18 17:57:25
截止日期 0000-00-00
上线时间 2025-12-17 10:09:43
上线时效 43.59
操作系统
浏览器
关键词
抄送给
所属迭代
相关需求
相关任务
由谁创建 周杰 于 2025-12-15 14:34:25
影响环境 生产环境-业务反馈
由谁解决 林很 于 2025-12-17 10:09:43
解决版本
解决方案 产品需求缺陷
由谁关闭 林很 于 2025-12-17 10:09:43
最后修改 陈莉珍 于 2025-12-18 17:57:25