You are on page 1of 2

USE [db_a95d7a_msinvprodlive]

GO
/****** Object: StoredProcedure [dbo].[SP_GetPurchases] Script Date: 7/2/2023
8:44:38 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[SP_GetPurchases]


@OrderNumber varchar(100),
@accountname varchar(100),
@ReportType varchar(100)

AS
BEGIN
SELECT
SM.BillNo as OrderNumber,
SM.Date,
CASE
WHEN @accountname = 'Cash in Hand A/c Admin' Then SM.SupplierName
ELSE @accountname
END AS AccountTitle,
com.Name as CompanyName,
com.Phone as CompanyPhone,
com.Address as CompanyAddress,
com.CompanyNo as CompanyNo,
com.VatReg as VatReg,
COALESCE(sup.Address, '---') as CustomerAddress,
COALESCE(sup.Email, '---') as CustomerEmail,
COALESCE(sup.Phone, '---') as CustomerPhone,
ite.Name as ItemName,
SD.Quantity,
SD.PurchasePrice as Price,
SM.NetTotal,
SM.NetTax,
SD.TotalAmount,
(SELECT STUFF((SELECT ',' + CASE PD.PaymentType
WHEN 0 THEN 'Cash'
WHEN 1 THEN 'BANK'
WHEN 2 THEN 'CARD'
WHEN 3 THEN 'CHEQUE'
WHEN 4 THEN 'ONLINE'
WHEN 5 THEN CASE
WHEN PD.OtherPaymentType IS NOT NULL
THEN 'Others - ' + PD.OtherPaymentType
ELSE 'Others(---)'
END
ELSE 'Unknown'
END
FROM PaymentOrdersDetails PD
WHERE PD.OrderId = SM.Id and PD.Type=@ReportType
FOR XML PATH('')
), 1, 1, '')) AS [paymentmethod]
FROM PurchaseMains SM
JOIN PurchaseDetails SD ON SM.Id = SD.PurchaseMainId
JOIN Items ite ON ite.Id = SD.ItemId
LEFT JOIN Suppliers sup on SM.AccountId=sup.accountcode
CROSS JOIN CompanyName com
WHERE SM.BillNo = @OrderNumber AND SM.Type= @ReportType
end

You might also like