You are on page 1of 2

USE [db_a95d7a_msinvprodlive]

GO
/****** Object: StoredProcedure [dbo].[SP_GetSales] Script Date: 7/2/2023
8:43:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[SP_GetSales]


@OrderNumber varchar(100),
@accountname varchar(100),
@ReportType varchar(100)
--@id varchar(100)
--exec dbo.SP_GetSales 'SI-0000000162','(Humza Iqbal) Kodimy','SO'
AS
BEGIN

SELECT
SM.BillNo as OrderNumber,
SM.Date,
CASE
WHEN @accountname = 'Cash in Hand A/c Admin' Then SM.CustomerName
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(
NULLIF(
CONCAT(
NULLIF(cus.Address, ''),
CASE WHEN cus.City IS NOT NULL THEN CHAR(13) + CHAR(10) ELSE '' END,
NULLIF(cus.City, ''),
CASE WHEN cus.ZipCode IS NOT NULL THEN CHAR(13) + CHAR(10) ELSE '' END,
NULLIF(cus.ZipCode, '') ,
CASE WHEN cun.CountryName IS NOT NULL THEN CHAR(13) + CHAR(10) ELSE '' END,
NULLIF(cun.CountryName, '')

),
''
),
'---'
) AS CustomerAddress,

COALESCE(cus.Email, '---') as CustomerEmail,


COALESCE(cus.CompanyName, '---') as CustomerCompany,
COALESCE(cus.Phone, '---') as CustomerPhone,
COALESCE(SM.VatNo, '---') as CustomerVATNo,
COALESCE(SM.OrderNo, '---') as CustomerOrderNo,

ite.Name as ItemName,
SD.Quantity,
SD.SalePrice as Price,
SM.NetTotal,
SM.NetTax,
SD.TotalAmount,
--(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 COALESCE(CONCAT('OTHERS - ', PD.OtherPaymentType), '---')
-- ELSE 'Unknown'
--END
-- FROM PaymentOrdersDetails PD where PD.OrderId=SM.Id
-- FOR XML PATH('')) [paymentmethod]
(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 SaleMains SM
JOIN SaleDetails SD ON SM.Id = SD.SaleMainId
JOIN Items ite ON ite.Id = SD.ItemId
LEFT JOIN Customers cus on SM.AccountId=cus.accountcode
CROSS JOIN CompanyName com
LEFT JOIN Countries cun on cus.Country = cun.CountryId
WHERE SM.BillNo = @OrderNumber AND SM.Type= @ReportType

end

You might also like