一,创建表
 USE [SVC]
USE [SVC]
 GO
GO

 SET ANSI_NULLS ON
SET ANSI_NULLS ON
 GO
GO
 SET QUOTED_IDENTIFIER ON
SET QUOTED_IDENTIFIER ON
 GO
GO
 SET ANSI_PADDING ON
SET ANSI_PADDING ON
 GO
GO
 CREATE TABLE [dbo].[RMAAttachments](
CREATE TABLE [dbo].[RMAAttachments](
 TransactionNumber    int            NOT NULL    IDENTITY (1, 1),
    TransactionNumber    int            NOT NULL    IDENTITY (1, 1),
 CompanyCode            char(50)    NOT NULL    DEFAULT '',
    CompanyCode            char(50)    NOT NULL    DEFAULT '',
 CountryCode            char(3)        NULL,
    CountryCode            char(3)        NULL,
 LanguageCode        char(5)        NULL,
    LanguageCode        char(5)        NULL,
 AttachmentName        nvarchar(MAX)    NOT NULL    DEFAULT '',
    AttachmentName        nvarchar(MAX)    NOT NULL    DEFAULT '',
 ItemCode            char(50)    NULL,
    ItemCode            char(50)    NULL,
 ControlCode            char(30)    NULL,
    ControlCode            char(30)    NULL,
 OrderNumber            Char(50)    NOT NULL    DEFAULT '',
    OrderNumber            Char(50)    NOT NULL    DEFAULT '',
 OrderType            int            NOT NULL,
    OrderType            int            NOT NULL,
 InDate                datetime    NOT NULL,
    InDate                datetime    NOT NULL,
 InUser                char(10)    NOT NULL
    InUser                char(10)    NOT NULL
 CONSTRAINT [PK_RMAAttachments] PRIMARY KEY CLUSTERED
    CONSTRAINT [PK_RMAAttachments] PRIMARY KEY CLUSTERED 
 (
    (
 TransactionNumber
        TransactionNumber  
 )WITH FILLFACTOR = 90
    )WITH FILLFACTOR = 90
 ) ON [PRIMARY]
) ON [PRIMARY]

 GO
GO
 SET ANSI_PADDING OFF
SET ANSI_PADDING OFF

 CREATE NONCLUSTERED INDEX IX_RMAAttachments_CompanyCode ON [dbo].[RMAAttachments]
CREATE NONCLUSTERED INDEX IX_RMAAttachments_CompanyCode ON [dbo].[RMAAttachments]
 (
(
 CompanyCode
    CompanyCode
 )WITH FILLFACTOR=90
)WITH FILLFACTOR=90

 CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderType ON [dbo].[RMAAttachments]
CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderType ON [dbo].[RMAAttachments]
 (
(
 OrderType
    OrderType
 )WITH FILLFACTOR=90
)WITH FILLFACTOR=90

 CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderNumber ON [dbo].[RMAAttachments]
CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderNumber ON [dbo].[RMAAttachments]
 (
(
 OrderNumber
    OrderNumber
 )WITH FILLFACTOR=90
)WITH FILLFACTOR=90

 CREATE NONCLUSTERED INDEX IX_RMAAttachments_ItemCode ON [dbo].[RMAAttachments]
CREATE NONCLUSTERED INDEX IX_RMAAttachments_ItemCode ON [dbo].[RMAAttachments]
 (
(
 ItemCode
    ItemCode
 )WITH FILLFACTOR=90
)WITH FILLFACTOR=90

 CREATE NONCLUSTERED INDEX IX_RMAAttachments_ControlCode ON [dbo].[RMAAttachments]
CREATE NONCLUSTERED INDEX IX_RMAAttachments_ControlCode ON [dbo].[RMAAttachments]
 (
(
 ControlCode
    ControlCode
 )WITH FILLFACTOR=90
)WITH FILLFACTOR=90
二,创建函数
 CREATE FUNCTION dbo.FN_RMA_GetTheItemOnVendorData_V102007122101
CREATE FUNCTION dbo.FN_RMA_GetTheItemOnVendorData_V102007122101 
 (
(
 @CompanyCode CHAR(50)
    @CompanyCode CHAR(50)
 )
)
 RETURNS TABLE
RETURNS TABLE
 AS
AS
 RETURN
RETURN
 (
(
 SELECT VendorNumber
    SELECT VendorNumber
 ,VendorName
           ,VendorName
 ,SUM(ISNULL(Between0To30DaysAmount,0.00)) AS Between0To30DaysAmount
           ,SUM(ISNULL(Between0To30DaysAmount,0.00)) AS Between0To30DaysAmount
 ,SUM(ISNULL(Between30To60DaysAmount,0.00)) AS Between30To60DaysAmount
           ,SUM(ISNULL(Between30To60DaysAmount,0.00)) AS Between30To60DaysAmount
 ,SUM(ISNULL(Between60To90DaysAmount,0.00)) AS Between60To90DaysAmount
           ,SUM(ISNULL(Between60To90DaysAmount,0.00)) AS Between60To90DaysAmount
 ,SUM(ISNULL(MoreThan90DaysAmount,0.00)) AS MoreThan90DaysAmount
           ,SUM(ISNULL(MoreThan90DaysAmount,0.00)) AS MoreThan90DaysAmount
 ,SUM(ISNULL(TotalAmount,0.00)) AS TotalAmount
           ,SUM(ISNULL(TotalAmount,0.00)) AS TotalAmount
 ,LastCountDate
           ,LastCountDate
 FROM
    FROM
 (
    (
 SELECT VendorNumber
    SELECT VendorNumber
 ,VendorName
           ,VendorName
 ,CASE [Type] WHEN '001' THEN SUM(ISNULL(Amount,0.00))  END AS Between0To30DaysAmount
           ,CASE [Type] WHEN '001' THEN SUM(ISNULL(Amount,0.00))  END AS Between0To30DaysAmount
 ,CASE [Type] WHEN '002' THEN SUM(ISNULL(Amount,0.00)) END AS Between30To60DaysAmount
           ,CASE [Type] WHEN '002' THEN SUM(ISNULL(Amount,0.00)) END AS Between30To60DaysAmount 
 ,CASE [Type] WHEN '003' THEN SUM(ISNULL(Amount,0.00)) END AS Between60To90DaysAmount
           ,CASE [Type] WHEN '003' THEN SUM(ISNULL(Amount,0.00)) END AS Between60To90DaysAmount
 ,CASE [Type] WHEN '004' THEN SUM(ISNULL(Amount,0.00)) END AS MoreThan90DaysAmount
           ,CASE [Type] WHEN '004' THEN SUM(ISNULL(Amount,0.00)) END AS MoreThan90DaysAmount
 ,CASE [Type] WHEN '000' THEN SUM(ISNULL(Amount,0.00)) END AS TotalAmount
           ,CASE [Type] WHEN '000' THEN SUM(ISNULL(Amount,0.00)) END AS TotalAmount
 ,LastCountDate
           ,LastCountDate
 FROM [dbo].[RMAItemOnVendor] WITH (NOLOCK)
    FROM [dbo].[RMAItemOnVendor] WITH (NOLOCK)
 WHERE CompanyCode = @CompanyCode
    WHERE CompanyCode = @CompanyCode 
 GROUP BY VendorNumber,
    GROUP BY VendorNumber,
 VendorName,
             VendorName,
 [Type],
             [Type],
 LastCountDate
             LastCountDate
 ) AS A
    ) AS A
 GROUP BY VendorNumber
    GROUP BY VendorNumber
 ,VendorName
             ,VendorName
 ,LastCountDate
             ,LastCountDate
 )
)
三,修改表
 ALTER TABLE DBO.ControlCodeTransaction ADD WarrantyLastCalcDate DATETIME NULL
ALTER TABLE DBO.ControlCodeTransaction ADD WarrantyLastCalcDate DATETIME NULL 
 ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN OrderNumber CHAR(50) NULL
ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN OrderNumber CHAR(50) NULL
 ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN SourceNumber CHAR(50) NOT NULL
ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN SourceNumber CHAR(50) NOT NULL 
 ALTER TABLE DBO.ControlCodeTransaction ADD CONSTRAINT [DF_ControlCodeTransaction_SourceTNumber] DEFAULT '' FOR SourceNumber
ALTER TABLE DBO.ControlCodeTransaction ADD CONSTRAINT [DF_ControlCodeTransaction_SourceTNumber] DEFAULT '' FOR SourceNumber
 USE [SVC]
USE [SVC] GO
GO
 SET ANSI_NULLS ON
SET ANSI_NULLS ON GO
GO SET QUOTED_IDENTIFIER ON
SET QUOTED_IDENTIFIER ON GO
GO SET ANSI_PADDING ON
SET ANSI_PADDING ON GO
GO CREATE TABLE [dbo].[RMAAttachments](
CREATE TABLE [dbo].[RMAAttachments]( TransactionNumber    int            NOT NULL    IDENTITY (1, 1),
    TransactionNumber    int            NOT NULL    IDENTITY (1, 1), CompanyCode            char(50)    NOT NULL    DEFAULT '',
    CompanyCode            char(50)    NOT NULL    DEFAULT '', CountryCode            char(3)        NULL,
    CountryCode            char(3)        NULL, LanguageCode        char(5)        NULL,
    LanguageCode        char(5)        NULL, AttachmentName        nvarchar(MAX)    NOT NULL    DEFAULT '',
    AttachmentName        nvarchar(MAX)    NOT NULL    DEFAULT '', ItemCode            char(50)    NULL,
    ItemCode            char(50)    NULL, ControlCode            char(30)    NULL,
    ControlCode            char(30)    NULL, OrderNumber            Char(50)    NOT NULL    DEFAULT '',
    OrderNumber            Char(50)    NOT NULL    DEFAULT '', OrderType            int            NOT NULL,
    OrderType            int            NOT NULL, InDate                datetime    NOT NULL,
    InDate                datetime    NOT NULL, InUser                char(10)    NOT NULL
    InUser                char(10)    NOT NULL CONSTRAINT [PK_RMAAttachments] PRIMARY KEY CLUSTERED
    CONSTRAINT [PK_RMAAttachments] PRIMARY KEY CLUSTERED  (
    ( TransactionNumber
        TransactionNumber   )WITH FILLFACTOR = 90
    )WITH FILLFACTOR = 90 ) ON [PRIMARY]
) ON [PRIMARY]
 GO
GO SET ANSI_PADDING OFF
SET ANSI_PADDING OFF
 CREATE NONCLUSTERED INDEX IX_RMAAttachments_CompanyCode ON [dbo].[RMAAttachments]
CREATE NONCLUSTERED INDEX IX_RMAAttachments_CompanyCode ON [dbo].[RMAAttachments] (
( CompanyCode
    CompanyCode )WITH FILLFACTOR=90
)WITH FILLFACTOR=90
 CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderType ON [dbo].[RMAAttachments]
CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderType ON [dbo].[RMAAttachments] (
( OrderType
    OrderType )WITH FILLFACTOR=90
)WITH FILLFACTOR=90
 CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderNumber ON [dbo].[RMAAttachments]
CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderNumber ON [dbo].[RMAAttachments] (
( OrderNumber
    OrderNumber )WITH FILLFACTOR=90
)WITH FILLFACTOR=90
 CREATE NONCLUSTERED INDEX IX_RMAAttachments_ItemCode ON [dbo].[RMAAttachments]
CREATE NONCLUSTERED INDEX IX_RMAAttachments_ItemCode ON [dbo].[RMAAttachments] (
( ItemCode
    ItemCode )WITH FILLFACTOR=90
)WITH FILLFACTOR=90
 CREATE NONCLUSTERED INDEX IX_RMAAttachments_ControlCode ON [dbo].[RMAAttachments]
CREATE NONCLUSTERED INDEX IX_RMAAttachments_ControlCode ON [dbo].[RMAAttachments] (
( ControlCode
    ControlCode )WITH FILLFACTOR=90
)WITH FILLFACTOR=90二,创建函数
 CREATE FUNCTION dbo.FN_RMA_GetTheItemOnVendorData_V102007122101
CREATE FUNCTION dbo.FN_RMA_GetTheItemOnVendorData_V102007122101  (
( @CompanyCode CHAR(50)
    @CompanyCode CHAR(50) )
) RETURNS TABLE
RETURNS TABLE AS
AS RETURN
RETURN (
( SELECT VendorNumber
    SELECT VendorNumber ,VendorName
           ,VendorName ,SUM(ISNULL(Between0To30DaysAmount,0.00)) AS Between0To30DaysAmount
           ,SUM(ISNULL(Between0To30DaysAmount,0.00)) AS Between0To30DaysAmount ,SUM(ISNULL(Between30To60DaysAmount,0.00)) AS Between30To60DaysAmount
           ,SUM(ISNULL(Between30To60DaysAmount,0.00)) AS Between30To60DaysAmount ,SUM(ISNULL(Between60To90DaysAmount,0.00)) AS Between60To90DaysAmount
           ,SUM(ISNULL(Between60To90DaysAmount,0.00)) AS Between60To90DaysAmount ,SUM(ISNULL(MoreThan90DaysAmount,0.00)) AS MoreThan90DaysAmount
           ,SUM(ISNULL(MoreThan90DaysAmount,0.00)) AS MoreThan90DaysAmount ,SUM(ISNULL(TotalAmount,0.00)) AS TotalAmount
           ,SUM(ISNULL(TotalAmount,0.00)) AS TotalAmount ,LastCountDate
           ,LastCountDate FROM
    FROM (
    ( SELECT VendorNumber
    SELECT VendorNumber ,VendorName
           ,VendorName ,CASE [Type] WHEN '001' THEN SUM(ISNULL(Amount,0.00))  END AS Between0To30DaysAmount
           ,CASE [Type] WHEN '001' THEN SUM(ISNULL(Amount,0.00))  END AS Between0To30DaysAmount ,CASE [Type] WHEN '002' THEN SUM(ISNULL(Amount,0.00)) END AS Between30To60DaysAmount
           ,CASE [Type] WHEN '002' THEN SUM(ISNULL(Amount,0.00)) END AS Between30To60DaysAmount  ,CASE [Type] WHEN '003' THEN SUM(ISNULL(Amount,0.00)) END AS Between60To90DaysAmount
           ,CASE [Type] WHEN '003' THEN SUM(ISNULL(Amount,0.00)) END AS Between60To90DaysAmount ,CASE [Type] WHEN '004' THEN SUM(ISNULL(Amount,0.00)) END AS MoreThan90DaysAmount
           ,CASE [Type] WHEN '004' THEN SUM(ISNULL(Amount,0.00)) END AS MoreThan90DaysAmount ,CASE [Type] WHEN '000' THEN SUM(ISNULL(Amount,0.00)) END AS TotalAmount
           ,CASE [Type] WHEN '000' THEN SUM(ISNULL(Amount,0.00)) END AS TotalAmount ,LastCountDate
           ,LastCountDate FROM [dbo].[RMAItemOnVendor] WITH (NOLOCK)
    FROM [dbo].[RMAItemOnVendor] WITH (NOLOCK) WHERE CompanyCode = @CompanyCode
    WHERE CompanyCode = @CompanyCode  GROUP BY VendorNumber,
    GROUP BY VendorNumber, VendorName,
             VendorName, [Type],
             [Type], LastCountDate
             LastCountDate ) AS A
    ) AS A GROUP BY VendorNumber
    GROUP BY VendorNumber ,VendorName
             ,VendorName ,LastCountDate
             ,LastCountDate )
)三,修改表
 ALTER TABLE DBO.ControlCodeTransaction ADD WarrantyLastCalcDate DATETIME NULL
ALTER TABLE DBO.ControlCodeTransaction ADD WarrantyLastCalcDate DATETIME NULL  ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN OrderNumber CHAR(50) NULL
ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN OrderNumber CHAR(50) NULL ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN SourceNumber CHAR(50) NOT NULL
ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN SourceNumber CHAR(50) NOT NULL  ALTER TABLE DBO.ControlCodeTransaction ADD CONSTRAINT [DF_ControlCodeTransaction_SourceTNumber] DEFAULT '' FOR SourceNumber
ALTER TABLE DBO.ControlCodeTransaction ADD CONSTRAINT [DF_ControlCodeTransaction_SourceTNumber] DEFAULT '' FOR SourceNumber 
                    
                     
                    
                 
                    
                 

 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号