0% found this document useful (0 votes)
20 views80 pages

New Text Document

The document outlines the SQL stored procedure 'SelectOpendocuments' which retrieves open documents based on various parameters such as PartyUID, ItemUID, and date ranges. It includes logic for handling user rights, document types, and temporary tables to store intermediate results. The procedure is designed to facilitate document management by filtering and organizing data according to specified criteria.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views80 pages

New Text Document

The document outlines the SQL stored procedure 'SelectOpendocuments' which retrieves open documents based on various parameters such as PartyUID, ItemUID, and date ranges. It includes logic for handling user rights, document types, and temporary tables to store intermediate results. The procedure is designed to facilitate document management by filtering and organizing data according to specified criteria.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 80

USE [PKL_LIVE]

GO
/****** Object: StoredProcedure [dbo].[SelectOpendocuments] Script Date: 29-
Nov-24 11:39:42 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[SelectOpendocuments]

(
@PartyUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',

@ItemUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',

@DocumentSubTypeUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',

@TransactionsHeaderUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',

@Status Int = Null,


@IsSuccessor Bit = Null,
@FromDate Datetime = Null,
@ToDate Datetime = Null,
@DocNo Varchar(25) = Null,
@RefDocNo Varchar(25) = Null,
@NoOfDays Int = 10,
@IsHeaderDetail Int = 0,
@BranchUID Uniqueidentifier,
@AddlDocumentSubTypeUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',
@PartyGroupUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',
@PartyCategoryUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',
@MainAreaUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',
@FunctionalAreaUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',
@ItemGroupUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',
@ItemCategoryUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',
@SearchStr Varchar(200)='' ,
@SaleLineUID Uniqueidentifier = '00000000-0000-0000-0000-000000000000',
@DocRefUIDs Varchar(Max) = '',
@ActivityUID AS UniqueIdentifier,
@LoginUserUID as Uniqueidentifier,
@PageNo as Int,
@ApprovalStatusUID as UniqueIdentifier= '00000000-0000-0000-0000-000000000000'
)
As
Begin
Set NOCOUNT ON;

Declare @CompanyCode As Varchar(50)


Select @CompanyCode = CompanyCode from CompanyM

DECLARE @PageSize AS INT


select @PageSize=NumberAttribute1 from GeneralConfigurationm With(NOLOCK) Where
CriteriaUID='2E814542-9A87-49B9-B6C2-E891EAF756AC'
declare @chkamt as decimal(18,3)
declare @Isvalidationrequiredforewaybillentry as bit
select @Isvalidationrequiredforewaybillentry=Condition from GeneralConfigurationM
WITH(NOLOCK) where CriteriaUID ='6DE977A8-D5C1-43F0-A819-48A5CD87A708'
select @chkamt=NumberAttribute1 from GeneralConfigurationM WITH(NOLOCK) where
CriteriaUID ='6DE977A8-D5C1-43F0-A819-48A5CD87A708'

DECLARE @IsEnableLengthwidth Bit = 0


select @IsEnableLengthwidth=Condition from GeneralConfigurationM where
CriteriaUID ='B95CC5EE-4F03-4C32-A783-A870A77AD2FD'

DECLARE @IsDocumentviewbasedonUser Bit = 0


select @IsDocumentviewbasedonUser=Condition from GeneralConfigurationM where
CriteriaUID ='B677C06E-D7E6-487C-B528-1EC063D9CBE7'

Declare @USerGroupUID As UniqueIdentifier


select @USerGroupUID=UG.USerGroupUID from USERM U
Inner join UserGroupMapping UGM With(nolock) on UGM.UserUID =U.UserUID and
U.IsActive =1
and U.USerUID=@LoginUserUID
Inner join UserGroupM UG With(nolock) on UG.UserGroupUID =UGM.UserGroupUID and
UG.IsActive =1

declare @IsApprovalbasedonUserRights as bit


select @IsApprovalbasedonUserRights=Condition from GeneralConfigurationM
WITH(NOLOCK) where CriteriaUID ='E38D4983-C959-441B-A650-D3AEB7CBA148'
DECLARE @IsGSTEnabled As Bit
DECLARE @GstDate as Date
Select @IsGSTEnabled = Condition, @GstDate = DateAttribute1
From GeneralConfigurationM WITH(NOLOCK) Where CriteriaUID = '5D6F577F-F505-4248-
9735-F29CD8AF5574'
DECLARE @expireddate bit
select @expireddate = Condition from GeneralConfigurationM WITH(NOLOCK) Where
CriteriaUID ='033DD12F-DBD3-4CF4-ACB7-701987D0078C'
Declare @IsEnableLength Bit
Declare @DocsubTypeUIDs nVarchar(max)
Declare @Sql NVarchar(Max)
Declare @Cnt As Int
Set @Cnt = 1
Declare @UID As Uniqueidentifier
Create Table #Temp (HUID Uniqueidentifier)
If @IsSuccessor Is Null And @TransactionsHeaderUID Is Not Null
Insert Into #Temp Values(@TransactionsHeaderUID)
--- +ve
If @IsSuccessor = 1
Begin
Declare Cur Scroll Cursor For
Select Distinct THR.TransactionsHeaderUID
From TransactionsHeader TH With (NoLock)
Inner Join InventoryTransList TL With (NoLock) On TH.TransactionsHeaderUID =
TL.TransactionsHeaderUID
Inner Join InventoryTransListMatch TLM With (NoLock) On TL.InventoryTransListUID =
TLM.RefInventoryTransListUID And TLM.ReferenceType = 'P'
Inner Join InventoryTransList TLR With (NoLock) On TLM.InventoryTransListUID =
TLR.InventoryTransListUID
Inner Join TransactionsHeader THR With (NoLock) On TLR.TransactionsHeaderUID =
THR.TransactionsHeaderUID
Where TH.TransactionsHeaderUID = @TransactionsHeaderUID And TLM.ReferenceType = 'P'

Open Cur
Fetch First From Cur Into @UID
While @@Fetch_Status = 0
Begin
Insert Into #Temp values(@UID)
Fetch Next From Cur Into @UID
End
Close Cur
Deallocate Cur
End

--- -ve

If @IsSuccessor = 0
Begin
Declare Cur Scroll Cursor For
Select THR.TransactionsHeaderUID From TransactionsHeader TH With (NoLock)
Inner Join InventoryTransList TL With (NoLock) ON TH.TransactionsHeaderUID =
TL.TransactionsHeaderUID
Inner Join InventoryTransListMatch TLM With (NoLock) ON TL.InventoryTransListUID =
TLM.InventoryTransListUID And TLM.ReferenceType = 'P'
Inner Join InventoryTransList TLR With (NoLock) ON TLR.InventoryTransListUID =
TLM.RefInventoryTransListUID
Inner Join TransactionsHeader THR With (NoLock) On TLR.TransactionsHeaderUID =
THR.TransactionsHeaderUID

Where TH.TransactionsHeaderUID = @TransactionsHeaderUID And TLM.ReferenceType = 'P'

Open Cur

Fetch First From Cur Into @UID

While @@Fetch_Status = 0
Begin

Insert Into #Temp values(@UID)

Fetch Next From Cur Into @UID

End
Close Cur

Deallocate Cur

End

If @FromDate Is Null or @NoOfDays>0

Begin

Set @ToDate = Convert(Varchar(11), dbo.GetLocalDate(), 106)

Select @FromDate = Convert(Varchar(11), Dateadd(Day, -@NoOfDays,


dbo.GetLocalDate()), 106)

End

If @NoOfDays = 0

Set @NoOfDays = Datediff(Day, @FromDate, @ToDate)


--If @Status = 2

--Set @ToDate = @FromDate

-------------------------------user rights Check

Declare @Amount as decimal(18,2),@IsSalePickList As Bit


--create Table #tempUser(Noofcols int)
--insert into #tempUser
SELECT @Amount =R.NumberAttribute1
FROM UserRightsM AS R WITH (NoLock)
inner join UserGroupM UG with(nolock) on UG.UserGroupUID =R.UserGroupUID
inner join usergroupmapping UGM with(nolock) on UGM.UserGroupUID=UG.UserGroupUID
inner join UserM U with(nolock) on U.UserUID =UGM.UserUID
where U.UserUID =@LoginUserUID And UG.BranchUID =@BranchUID
and R.ActivityUID=@ActivityUID

SET @IsSalePickList = Case When @ActivityUID = '97A8CE48-3D4D-4901-96B7-


92571DFBC033' Then 1 Else 0 End

Create Table #Tempdetails

(TransactionsHeaderUID Uniqueidentifier, InventoryTransListUID Uniqueidentifier,


Doctype nVarchar(max)COLLATE SQL_Latin1_General_CP1_CI_AI, DocNo nVarchar(max)
COLLATE SQL_Latin1_General_CP1_CI_AI,
DocDate Datetime, PartyUID Uniqueidentifier, PartyName nVarchar(max) COLLATE
SQL_Latin1_General_CP1_CI_AI,
City nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, ItemUID Uniqueidentifier,

ItemCode nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,


ItemName nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,LongItemName
nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,
DrawingNo nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,PrinciplePartNo
nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,
ItemType nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,
ItemAliAsName nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, Qty Decimal(18,
3), UOM nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,
PendingQty Decimal(18, 3), ReceivedQty Decimal(18, 3), CancelledQty Decimal(18, 3),
DocumentSubTypeUID Uniqueidentifier,
PreceedingDoc nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,

SucceedingDoc nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, BranchUID


Uniqueidentifier, FromDate Date, ToDate Date, DocumentDate Date,

RefDocNo nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, CompanyPartNo


nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,
ItemID nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, VehicleName
nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,
VehicleUID Uniqueidentifier, ValidTillDate Date,
SupplierBillNo nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, SupplierBillDate
Date, Price Decimal(18, 2),
LineTotal Decimal(18, 2), HeaderTotal Decimal(18, 2),
ItemStatusDescription nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,
VehicleNo nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, NoOfPockets
Decimal(18, 2), NettWeight Decimal(18, 2),
GrossWeight nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, MINNo nVarchar(max)
COLLATE SQL_Latin1_General_CP1_CI_AI, MINDocDate Datetime,
Bin nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, NoOfDays Int, LineNumber
Int,
ShortageQty Decimal(18, 3), Grade Decimal(18, 2), NumberAttribute1 Decimal(18, 3),
DateAttribute1 Date, StringAttribute2 nVarchar(max) COLLATE
SQL_Latin1_General_CP1_CI_AI,
StringAttribute3 nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,
ConversionFactor Decimal(18, 9), SaleCF Decimal(18, 3),

PurchaseUOM nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, MOQ Decimal(18, 3),


SSL Decimal(18, 3), MaxQty Decimal(18, 3), ItemQOH Decimal(18, 3),

HeaderStatus nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,


Notes nVarchar(Max) COLLATE SQL_Latin1_General_CP1_CI_AI, LineStatusCode
nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,
StringAttribute5 nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, DateAttribute5
Date, NumberAttribute2 Decimal(18, 3),
SalesUOMUID Uniqueidentifier, BasicValue Decimal(18, 3), RefTransactionsUID
UniqueIdentifier,
HUIDAttribute2 UniqueIdentifier, HUIDAttribute3 UniqueIdentifier, NetValue
Decimal(18,3),
PartyCategoryDescription nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,

PartyGroupName nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,Doc


datetime,FinYearUID UniqueIdentifier,
RefDocNo1 nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI, RefDocDate1
Date,CreatedBy Uniqueidentifier,
StringAttribute1 nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,
StatusUID UniqueIdentifier,UIDAttribute4 UniqueIdentifier,[Status] bit,PurchaseRate
Decimal(18,3),LnStatusMUID Uniqueidentifier,
MatchQty Decimal(18, 2),MRP Decimal(18, 2),StockValue Decimal(18,3),ROL
Decimal(18,3),Leadtime Decimal(18,0),
MinQty Decimal(18,2),MaterialGrade nVarchar(max) COLLATE
SQL_Latin1_General_CP1_CI_AI,
ItemUIDAttribute2 UniqueIdentifier,BitAttribute2 bit,Color nVarchar(max) COLLATE
SQL_Latin1_General_CP1_CI_AI,RefDocDate2 Date,WOLeadTime Decimal(18,0),
RefDocNo2 varchar(max),ReferredBy Uniqueidentifier,DealerName
nVarchar(max),StringAttribute10 nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,
StringAttribute4 nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI,ModelNumber
nVarchar(max) COLLATE SQL_Latin1_General_CP1_CI_AI )

Set @Sql = N' Insert Into #Tempdetails Select Distinct TH.TransactionsHeaderUID,


TL.InventoryTransListUID,
Case DS.DocumentSubTypeDesc when ''MIN'' then ''GRN'' when ''Capital MIN'' then
''Capital GRN'' when ''Consumable MIN'' then ''Consumable GRN''
when ''Capital MIN Inspection'' then ''Capital GRN Inspection'' when ''Consumable
MIN Inspection'' then ''Consumable GRN Inspection''
when ''MIN Inspection'' then ''GRN Inspection'' when ''Indent'' then ''Purchase
Request'' else DS.DocumentSubTypeDesc end As Doctype,
TH.DocumentNo As DocNo, Convert(Varchar(11), TH.DocumentDate, 106) As DocDate,
TH.PartyUID, PM.PartyName As PartyName, CM.CityName As City,
TL.ItemUID,IM.ItemCode , IM.ItemName As ItemName,IM.ItemName As
LongItemName,DR.DrawingNo, IM.PrinciplePartNo,ITM.ItemType,
IM.LongItemName As ItemAliAsName, TL.Qty As Qty,UM.UOMDescription As UOM, (TL.Qty-
IsNull(M.MatchQty, 0))As PendingQty,
IsNull(M.MatchQty, 0) As ReceivedQty, 0 As CancelledQty,TH.DocumentSubTypeUID,''''
PreceedingDoc ,'''' SucceedingDoc ,
TH.BranchUID,@FromDate As FromDate, @ToDate As ToDate, TH.DocumentDate,
TH.SupplierBillNo As RefDocNo, IM.PrinciplePartNo As CompanyPartNo,
IM.Itemcode as ItemID,ApplicationName As VehicleName, IM.ApplicationUID As
VehicleUID, Convert(Varchar(11), TH.ValidTillDate, 106)ValidTillDate,
TH.SupplierBillNo,TH.SupplierBillDate, TL.Price, TL.TotalValue As LineTotal,
TH.LnTotalValue As HeaderTotal, ISM.ItemStatusDescription,
TH.VehicleNo, TH.NumberAttribute1 As NoOfPockets, TH.NumberAttribute2 As
NettWeight, TH.NumberAttribute4 As GrossWeight,
MIN.DocumentNo As MINNo, Convert(Varchar(11), MIN.DocumentDate, 106) As MINDocDate,
B.BinDescription As Bin, @NoOfDays As NoOfDays, TL.LineNumber,
TL.ShortageQty,TL.NumberAttribute4 As Grade, TL.NumberAttribute1,
TL.DateAttribute1, TL.StringAttribute2,TL.StringAttribute3,
Case When IsNull(IBM.NumberAttribute3, 0)/Convert(Decimal(18, 2),Case When
IsNull(IBM.NumberAttribute1, 0) = 0 Then 1
Else IBM.NumberAttribute1 End) = 0 Then 1 Else IsNull(IBM.NumberAttribute3,
0)/Convert(Decimal(18, 2),
Case When IsNull(IBM.NumberAttribute1, 0) = 0 Then 1 Else IBM.NumberAttribute1 End)
End As ConversionFactor,
1 As SaleCF, UP.UOMDescription As PurchaseUOM, IsNull(MOQ, 0)MOQ, IsNull(SSL,
0)SSL, IsNull(MaxQty, 0) MaxQty, IsNull(VIS.QOH, 0) As ItemQOH,
SH.StatusDescription As HeaderStatus,TL.AddlDetails As Notes, S.StatusCode As
LineStatusCode,TL.StringAttribute5, TL.DateAttribute5,
TL.NumberAttribute2, IBM.SalesUOMUID, TL.BasicValue,
TH.RefTransactionsUID,TH.UIDAttribute2 AS HUIDAttribute2, TH.UIDAttribute3 AS
HUIDAttribute3,
TH.NetValue,PC.PartyCategoryDescription,PG.PartyGroupName,TH.PreparedDateTime as
Doc, TH.FinYearUID,
TH.RefDocNo1,
TH.RefDocDate1,TH.CreatedBy,TL.StringAttribute1,TH.StatusUID,TH.UIDAttribute4,0 As
Status,TL.NumberAttribute21 PurchaseRate,
TL.LnStatusMUID,IsNull(M.MatchQty, 0),TL.MRP,TL.NumberAttribute3 As
StockValue,IBM.ROL,IBM.NumberAttribute5 as Leadtime,
IBM.MinQty,IM.MaterialGrade,IM.UIDAttribute2 as
ItemUIDAttribute2,TH.BitAttribute2,IM.StringAttribute1 As Color,TH.RefDocDate2,
TH.NumberAttribute25 AS WOLeadtime,TH.RefDocNo1,PM.ReferredBy,DM.PartyName
DealerName,TH.StringAttribute10,TL.StringAttribute4,IM.ModelNumber
From TransactionsHeader TH With (NoLock)
Inner Join InventoryTransList TL With (NoLock) ON TH.TransactionsHeaderUID =
TL.TransactionsHeaderUID
And TH.IsActive = 1 And TL.IsActive = 1
Inner Join DocumentSubTypeM DS With (NoLock) ON DS.DocumentSubTypeUID =
TH.DocumentSubTypeUID
Inner Join StatusM SH With (NoLock) on TH.StatusUID = SH.StatusUID
Left Join PartyM PM With (NoLock) ON TH.PartyUID = PM.PartyUID
Left Join PartyM DM with(Nolock) ON PM.ReferredBy=DM.PartyUID
LEFT JOIN PartyCategoryM PC WITH(NOLOCK) ON PC.PartyCategoryUID =
PM.PartyCategoryUID AND PC.IsActive=1
LEFT JOIN PartyGroupM PG WITH(NOLOCK) ON PG.PartyGroupUID = PM.PartyGroupUID AND
PG.IsActive=1
Left Join CityM CM With (NoLock) ON PM.cityUID = CM.cityUID
Inner Join ItemM IM With (NoLock) ON TL.ItemUID = IM.ItemUID
Left Join ApplicationM A With (NoLock) On IM.ApplicationUID = A.ApplicationUID
Left Join TransactionsHeader MIN With (NoLock) ON TH.TransactionsHeaderUID =
MIN.UIDAttribute4 And MIN.IsActive = 1
Left Join ItemStockM IST With (NoLock) ON TL.InventoryTransListUID =
IST.InventoryTransListUID
Left Join ItemstatusM ISM With (NoLock) ON TL.ItemStatusMUID = ISM.ItemStatusUID

Left Join BinM B With (NoLock) ON B.BinUID = IST.BinUID


Left Join StatusM S With (NoLock) on TL.LnStatusMUID = S.StatusUID
Left Join ItemBranchMappingM IBM With (NoLock) On TL.ItemUID = IBM.ItemUID AND
IBM.BranchUID = @BranchUID
Left Join UOM UM With (NoLock) ON UM.UOMUID = IBM.UOMUID
Left Join Vw_ItemStockM VIS With (NoLock) On IM.ItemUID = VIS.ItemUID And
VIS.BranchUID = @BranchUID
Left Join UOM UP With(NoLock) ON UP.UOMUID = IBM.PurchaseUOMUID
Left Join UOM SP with(nolock) ON SP.UOMUID = IBM.SalesUOMUID
Left Join(Select Sum(IsNull(ITL.Quantity, 0) ) Matchqty,
ITL.RefInventoryTransListUID
From InventoryTransListMatch ITL With (NoLock)
Inner Join InventoryTransList As IT With(NoLock) ON IT.InventoryTransListUID =
ITL.InventoryTransListUID
Inner Join TransactionsHeader H With(NoLock) On
IT.TransactionsHeaderUID=H.TransactionsHeaderUID
Inner Join DocumentSubTypeM D With(NoLock) On
H.DocumentSubTypeUID=D.DocumentSubTypeUID
And D.DocumentTypeUID=Case When ITL.RefDocumentSubTypeUID=''CD20D729-8980-41B6-
99E3-B1BE58114083''
Then ''51B78A42-D302-4156-9EC6-A6325ECF09A5'' Else D.DocumentTypeUID End
Where ReferenceType= ''P''
Group By ITL.RefInventoryTransListUID
)M On M.RefInventoryTransListUID = TL.InventoryTransListUID
Left Join DrawingM DR With(NoLock) On DR.ItemUID = IM.ItemUID And DR.IsActive = 1
LEFT JOIN ItemTypeM ITM WITH(NOLOCK) ON ITM.ItemTypeUID=IM.ItemTypeUID

Where 1 = 1
'
--pRINT @Sql
If Not @DocumentSubTypeUID in ('57A9AA41-851A-47E6-A8BE-E81E56E3C627','E357DA2F-
9CD0-46CF-8FA1-F6D7E5F15019','BF56CFC5-78BE-4F38-9664-EA441CBE5675')

Set @Sql = @Sql + N' And TH.BranchUID = @BranchUID'

IF Not @TransactionsHeaderUID = '00000000-0000-0000-0000-000000000000'

Set @Sql = @Sql + N' And TH.TransactionsHeaderUID in(Select HUID From #Temp)'

If Not @PartyUID = '00000000-0000-0000-0000-000000000000' And Not


@DocumentSubTypeUID in ('E5153234-1BFE-44EE-99E3-99275E8024E3',
'A668056C-F4FD-48D7-8AF3-AF5DC26C7E10','9F3E376D-99DF-4AA9-8AC2-
3C91F0534A2C','DEF18A33-A2A3-4897-848D-7A756B07827B')
Set @Sql = @Sql + N' And TH.PartyUID = @PartyUID '

If Not @ItemUID = '00000000-0000-0000-0000-000000000000'


Set @Sql = @Sql + N' And TL.ItemUID = @ItemUID '

If Not @ApprovalStatusUID= '00000000-0000-0000-0000-000000000000'


Set @Sql = @Sql + N' And TL.LnStatusMUID =@ApprovalStatusUID'

If Not @DocumentSubTypeUID = '00000000-0000-0000-0000-000000000000'

BEGIN
IF @Status = 0
Begin
If @DocumentSubTypeUID='608B0E5E-9785-4379-ABF6-FAA314CB7CD4'
Begin
Select @DocsubTypeUIDs = dbo.GetSubdocumentUIDForDocumentType (@DocumentSubTypeUID)
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID IN (' + @DocsubTypeUIDs
+ ')
and TH.DocumentSubTypeUID not in(''DBDE2C24-98DB-474D-B275-
2E6B339A7B6D'',''97696C34-6D13-4AD0-8EDE-2C54B007B988'')'
End
Else If (@DocumentSubTypeUID='5DEE5BC4-3907-4697-859C-22E67DA36F9D' Or
@DocumentSUBTypeUID = '43F48398-0B95-4000-B86F-F8AF422CE9A3')
Begin
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID = @DocumentSubTypeUID '
End

else IF @DocumentSubTypeUID='E0707D7A-9D43-4A5A-8469-C9827046522F'
Begin

Set @Sql = @Sql + N' And TH.DocumentSubTypeUID IN (''B6FDB8A4-82D1-4682-9553-


36AEE98D1BF1'',''e0707d7a-9d43-4a5a-8469-c9827046522f'') '
END

Else if @DocumentSubTypeUID='DBDE2C24-98DB-474D-B275-2E6B339A7B6D'
Begin
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID = @DocumentSubTypeUID '
End
Else if @DocumentSubTypeUID in ('C60EBE17-5628-4715-BE56-7221500170B7','26E59BE3-
F137-43CC-93BD-62B25F3764CB')
Begin
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID = @DocumentSubTypeUID '
End
Else IF @DocumentSubTypeUID='97696C34-6D13-4AD0-8EDE-2C54B007B988'
Begin
Select @DocsubTypeUIDs = dbo.GetSubdocumentUIDForDocumentType (@DocumentSubTypeUID)

Set @Sql = @Sql + N' And TH.DocumentSubTypeUID IN (' + @DocsubTypeUIDs


+ ')
and TH.DocumentSubTypeUID not in(''608B0E5E-9785-4379-ABF6-
FAA314CB7CD4'')'
End
Else IF @DocumentSubTypeUID='B00D77E0-53EB-4DBB-843F-DD6E6A4C4021' /*Import
Purchase Order for Capital*/
BEGIN
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID = @DocumentSubTypeUID '
END
else
Begin

Select @DocsubTypeUIDs = dbo.GetSubdocumentUIDForDocumentType (@DocumentSubTypeUID)

Set @Sql = @Sql + N' And TH.DocumentSubTypeUID IN (' + @DocsubTypeUIDs + ') '
END

IF @ActivityUID in ('8F12999A-9D2A-48D3-9E51-6A20BF16B36F')/* Capital flow for


General Material */
BEGIN
Set @Sql = @Sql + N' And TH.BitAttribute2 = 1 '
END
ELSE
Set @Sql = @Sql + N' And ISNULL(TH.BitAttribute2,0) = 0 '
END
Else If @Status = 13 or @Status =9 OR @Status =25 OR @Status = 31 OR @Status = 33
or @Status = 48 or @Status = 56 or @Status = 24 or @Status = 37 or @Status = 38
Begin
If @DocumentSubTypeUID = '62637832-21C0-4FF3-BDFC-67CEBD3D55F1'
Begin
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID = @DocumentSubTypeUID '
End
ELSE IF @DocumentSubTypeUID = 'CAE0BBD8-48F5-4B7A-A765-925EB0751780'
BEGIN
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID in (''CAE0BBD8-48F5-4B7A-A765-
925EB0751780'')'
END
ELSE IF @DocumentSubTypeUID = '9727B417-8CCD-494F-957A-0A4CDD640B37'
BEGIN
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID in (''9727B417-8CCD-494F-957A-
0A4CDD640B37'') and th.statusuid in (''E4A5F86B-3422-483D-82A9-FD15FB76B62B'')'
END
ELSE IF @DocumentSubTypeUID = 'fb091956-8a4b-46cc-87ef-4c27727343bd'
BEGIN
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID in (''fb091956-8a4b-46cc-87ef-
4c27727343bd'',''43F48398-0B95-4000-B86F-F8AF422CE9A3'')'
END
ELSE IF @DocumentSubTypeUID = '6C18B6ED-1E73-47B9-BF42-F44C63F28094'
BEGIN
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID in (''6C18B6ED-1E73-47B9-BF42-
F44C63F28094'')'
END

ELSE IF @DocumentSubTypeUID = 'ED05FB66-1A95-467F-8764-B51BF0BCA8DA'


BEGIN
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID = @DocumentSubTypeUID '
END
Else if @DocumentSubTypeUID = 'a482aa75-e47c-47ba-a3ee-9d9693fc101b'
BEGIN
If @CompanyCode = 'MMR'
BEGIN
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID in (''26E59BE3-F137-
43CC-93BD-62B25F3764CB'',''C60EBE17-5628-4715-BE56-7221500170B7'',''2D5FD604-4BC2-
43FF-B1CE-87428101314A'',
''A482AA75-E47C-47BA-A3EE-9D9693FC101B'',''33B9D4EA-B6EA-4D68-BDA7-
A95EEEAAFED9'',''702A881A-7D40-480B-9DBE-C594683B0584'',''B00D77E0-53EB-4DBB-843F-
DD6E6A4C4021'',
''8A585B2E-7D3C-4F1F-9200-E3DC85B2AA0C'') AND TH.DocumentSubTypeUID NOT
in (''62637832-21C0-4FF3-BDFC-67CEBD3D55F1'')'
END
Else
Begin
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID in (''26E59BE3-F137-
43CC-93BD-62B25F3764CB'',''62637832-21C0-4FF3-BDFC-67CEBD3D55F1'',''C60EBE17-5628-
4715-BE56-7221500170B7'',
''2D5FD604-4BC2-43FF-B1CE-87428101314A'',''A482AA75-E47C-47BA-A3EE-
9D9693FC101B'',''33B9D4EA-B6EA-4D68-BDA7-A95EEEAAFED9'',''702A881A-7D40-480B-9DBE-
C594683B0584'',
''B00D77E0-53EB-4DBB-843F-DD6E6A4C4021'',''8A585B2E-7D3C-4F1F-9200-
E3DC85B2AA0C'',''5DEE5BC4-3907-4697-859C-22E67DA36F9D'')'
END
END
Else
Begin
Select @DocsubTypeUIDs = dbo.GetSubdocumentUIDForDocumentType
(@DocumentSubTypeUID)
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID IN (' + @DocsubTypeUIDs + ') '

End
END
Else If @Status = 14
Begin
Select @DocsubTypeUIDs = dbo.GetSubdocumentUIDForDocumentType
(@DocumentSubTypeUID)
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID IN (' + @DocsubTypeUIDs + ') '
End
Else
Begin
Set @Sql = @Sql + N' And TH.DocumentSubTypeUID IN (@DocumentSubTypeUID,
@AddlDocumentSubTypeUID) '
End
End

If @Status = 1 --Completed
begin
Set @Sql = @Sql + N' And (TL.Qty-IsNull(M.MatchQty, 0)) = 0'
end
--else IF @DocumentSubTypeUID='B6FDB8A4-82D1-4682-9553-36AEE98D1BF1'
--Begin

--Set @Sql = @Sql + N' And TH.DocumentSubTypeUID IN (''B6FDB8A4-82D1-4682-9553-


36AEE98D1BF1'',''e0707d7a-9d43-4a5a-8469-c9827046522f'') '
--END
If @Status = -1 --PEnding
If @DocumentSubTypeUID = 'BF56CFC5-78BE-4F38-9664-EA441CBE5675'
Begin
Set @Sql = @Sql + N' And (TL.Qty-IsNull(M.MatchQty, 0))>0 And
Isnull(IM.UIDAttribute2,''00000000-0000-0000-0000-000000000000'')
not in(''2C2A9437-12AF-4F3F-9A8A-B89742450EAD'')
AND Isnull(TH.BitAttribute2,0) = 0 and TL.LnStatusMUID = ''C3ABA4A2-37A1-
4251-87C7-1434A649A93E'''
end
else
Begin
Set @Sql = @Sql + N' And (TL.Qty-IsNull(M.MatchQty, 0))>0
and TH.CreatedBy=case when @IsDocumentviewbasedonUser=1 and
@USergroupUID<>''BF101729-A14E-4045-8DD1-4EB9E75C5872'' then @loginUSeRUID else
TH.CreatedBy end '
end

If @Status = 45
Set @Sql = @Sql + N' And (TL.Qty-IsNull(M.MatchQty, 0))>0 And
Isnull(IM.UIDAttribute2,''00000000-0000-0000-0000-000000000000'')
not in(''2C2A9437-12AF-4F3F-9A8A-B89742450EAD'')
AND Isnull(TH.BitAttribute2,0) = 0 and TL.LnStatusMUID = ''C3ABA4A2-37A1-4251-
87C7-1434A649A93E''
'
If @Status = -2 --PEnding
Set @Sql = @Sql + N' And (TL.Qty-IsNull(M.MatchQty, 0))>0 And TH.StatusUID =
''C3ABA4A2-37A1-4251-87C7-1434A649A93E''
and TH.CreatedBy=case when @IsDocumentviewbasedonUser=1 and
@USergroupUID<>''BF101729-A14E-4045-8DD1-4EB9E75C5872'' then @loginUSeRUID else
TH.CreatedBy end '

If @Status = 2 And @expireddate = 1 --Expired PO

Set @Sql = @Sql + N' AND (TL.Qty-IsNull(M.MatchQty, 0))>0 And TH.ValidTillDate < =
@ToDate '

If @Status = 2 And @expireddate = 0


Set @Sql = @Sql + N' AND (TL.Qty-IsNull(M.MatchQty, 0))>0 '

If @Status = 3 --PEnding Gate In for GRN


Set @Sql = @Sql + N' And MIN.UIDAttribute5 Is Null '

If @Status = 4---Gate entry Vs GRN

Set @Sql = @Sql + N' And MIN.UIDAttribute5 Is Not Null '

If @Status = 5 --PurchAse Return to be made


SET @Sql = @Sql + N' and ItemStatusDescription not like ''Good'' '

----------Set @Sql = @Sql + N' And IST.QOH>0' --Changed on 15/Mar


If @TransactionsHeaderUID = '00000000-0000-0000-0000-000000000000'
Begin

If @Status = 6--PEnding but Not expired PO

Set @Sql = @Sql + N' And (TL.Qty-IsNull(M.MatchQty, 0))>0 And


TH.ValidTillDate>Convert(Varchar(11), @FromDate, 106) '

If @Status = 7 --PEnding PR to be made

Set @Sql = @Sql + N' And (ISM.ItemStatusDescription <>''Good'' OR


IsNull(ShortageQty, 0)>0 ) '

If @Status = 8

Set @Sql = @Sql + N' And S.StatusCode = ''AC'''

If @Status = 16 or @Status =17


Set @Sql = @Sql + N' And S.StatusCode = ''APG'''

If @Status = 9 or @Status =13 oR @Status=14 OR @Status = 31 OR @Status = 33 or


@Status = 48 or @Status = 56 or @Status = 24 or @Status = 37 or @Status = 38
Set @Sql = @Sql + N' And S.StatusCode = ''UA'''

If @Status = 21
Set @Sql = @Sql + N' And SH.StatusCode = ''UA'''

If @Status = 25

Set @Sql = @Sql + N' And TH.BitAttribute1 = 0'

Begin
If @FromDate = '19000101'

Set @Sql = @Sql + N' And TH.DocumentDate < = Convert(Varchar(12), @ToDate, 106) '

Else

Set @Sql = @Sql + N' And TH.DocumentDate Between Convert(Varchar(12), @FromDate,


106) And Convert(Varchar(12), @ToDate, 106) '

End
End

---ThIs RefDoc to be corrected

If Not( @DocNo Is Null OR @DocNo = '')


Set @Sql = @Sql + N' And TH.DocumentNo = @DocNo'

If Not (@RefDocNo Is Null OR @RefDocNo = '')


Set @Sql = @Sql + N' And TH.DocumentNo = @RefDocNo'

--If @Status =13 Or @Status=14 Or @Status =25


If @Status =13 Or @Status=14 Or @Status =25 or @Status = 56 or
@DocumentSubTypeUID='FC26F302-CFB0-4769-B417-15BACDD121B5'
or @DocumentSubTypeUID='26E59BE3-F137-43CC-93BD-62B25F3764CB'
SET @sql = @sql +N' And TH.IsActive = 1'
Else
SET @sql = @sql +N' And TH.IsActive = 1 And TL.IsActive = Case When
ISnull(TL.CharAttribute5,'''')=''S''
AND TH.DocumentSubtypeUID In (''C921F9EA-67DD-427D-BCDA-
DA26A07A522C'',''702A881A-7D40-480B-9DBE-C594683B0584'',''43F48398-0B95-4000-B86F-
F8AF422CE9A3'') THEN 0 ELSE 1 END'

If @PartyCategoryUID <> '00000000-0000-0000-0000-000000000000'


SET @Sql = @Sql + N' AND PC.PartyCategoryUID = @PartyCategoryUID '

If @PartyGroupUID <> '00000000-0000-0000-0000-000000000000'


SET @Sql = @Sql + N' AND PG.PartyGroupUID = @PartyGroupUID '

If Not @MainAreaUID = '00000000-0000-0000-0000-000000000000'

Set @Sql = @Sql + N' And TH.UIDAttribute2 = @MainAreaUID '

If Not @FunctionalAreaUID = '00000000-0000-0000-0000-000000000000'


Set @Sql = @Sql + N' And TH.UIDAttribute3 = @FunctionalAreaUID '

If @SaleLineUID <> '00000000-0000-0000-0000-000000000000'


Set @Sql = @Sql + N' And TH.UIDAttribute4 = @SaleLineUID '

If Len(@DocRefUIDs)>0
Set @Sql = @Sql + N' And TL.InventoryTransListUID In (Select
Convert(UniqueIdentifier,RTrim(LTrim(ColName))) From
FN_StringToTable(@DocRefUIDs,'','')
Where Len(ColName)>0)'

Set @Sql = @Sql+N' Order By doc ,TH.DocumentDate '


--Print @Sql

Exec SP_ExecuteSql @Sql, N'@PartyUID Uniqueidentifier, @ItemUID Uniqueidentifier,


@DocumentSubTypeUID Uniqueidentifier, @TransactionsHeaderUID Uniqueidentifier,
@Status Bit,@IsSuccessor Bit, @FromDate Datetime, @ToDate Datetime, @DocNo
Varchar(25),
@RefDocNo Varchar(25), @NoOfDays Int, @IsHeaderDetail Int, @BranchUID
Uniqueidentifier, @AddlDocumentSubTypeUID Uniqueidentifier,
@PartyCategoryUID Uniqueidentifier, @PartyGroupUID Uniqueidentifier, @MainAreaUID
Uniqueidentifier, @FunctionalAreaUID Uniqueidentifier,@SaleLineUID
Uniqueidentifier,@DocRefUIDs Varchar(Max),
@IsDocumentviewbasedonUser bit,@USerGroupUID Uniqueidentifier,@LoginUserUID
Uniqueidentifier,@ApprovalStatusUID Uniqueidentifier',
@PartyUID = @PartyUID, @ItemUID = @ItemUID, @DocumentSubTypeUID =
@DocumentSubTypeUID, @TransactionsHeaderUID = @TransactionsHeaderUID, @Status =
@Status, @IsSuccessor = @IsSuccessor, @FromDate = @FromDate,

@ToDate = @ToDate, @DocNo = @DocNo, @RefDocNo = @RefDocNo, @NoOfDays = @NoOfDays,


@IsHeaderDetail = @IsHeaderDetail, @BranchUID = @BranchUID, @AddlDocumentSubTypeUID
= @AddlDocumentSubTypeUID ,
@PartyCategoryUID = @PartyCategoryUID, @PartyGroupUID = @PartyGroupUID,
@MainAreaUID = @MainAreaUID, @FunctionalAreaUID =
@FunctionalAreaUID,@SaleLineUID=@SaleLineUID,@DocRefUIDs=@DocRefUIDs ,
@IsDocumentviewbasedonUser =@IsDocumentviewbasedonUser,@USerGroupUID
=@USerGroupUID,@LoginUserUID =@LoginUserUID,@ApprovalStatusUID=@ApprovalStatusUID

If @IsHeaderDetail = 0
Begin
IF @Status = 9
Select Convert(bit,0) As Selected, T.TransactionsHeaderUID,
T.InventoryTransListUID, Doctype, DocNo, DocDate, T.PartyUID, PartyName, City,
T.ItemUID, IM.ItemName,IM.ItemCode,
ItemAliAsName, T.NumberAttribute1 As Qty, T.UOM, PendingQty, CancelledQty,
DocumentSubTypeUID, ReceivedQty,
T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo,IM.ItemCode as
ItemID,
VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate, T.Price,
LineTotal, HeaderTotal,
ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays, T.LineNumber, T.ShortageQty,
T.NumberAttribute1, IsNull(T.DateAttribute1, dbo.GetLocalDate())As DateAttribute1,
T.StringAttribute2, ConversionFactor, PurchaseUOM, Convert(Decimal(18, 3),
(MOQ/ConversionFactor)) As MOQ,
Convert(Decimal(18, 3), (SSL/ConversionFactor)) As SSL, PreceedingDoc,
SucceedingDoc,
Convert(Decimal(18, 3), (MaxQty /ConversionFactor))MaxQty, Convert(Decimal(18, 3),
(ItemQOH /ConversionFactor))ItemQOH, Notes, IsNull(CurrentPrice, 0) CurrentPrice,

ITL.NetCost, ITL.BasicValue, IsNull(ITL.PackingPer, 0)PackingPer,


IsNull(ITL.PackingAmount, 0)PackingAmount, ITL.Discount1Amount, ITL.Discount1Per,

--ITL.EDAmount, ITL.EDPer, ITL.EDCessAmount, ITL.EDCessPer, ITL.HECessPer,


ITL.HECessAmount,
--ITL.SalesTaxPer, ITL.SalesTaxAmount, ITL.SalesTaxCessAmount, ITL.SalesTaxCessPer,

Isnull(EDPer,0) As EDPer,CASE WHEN Isnull(ITL.EDAmount,0) > 0 THEN


Isnull(ITL.EDAmount,0) ELSE ISNULL(ITL.NumberAttribute7,0) END AS EDAmount,
Isnull(EDCessPer,0) As EDCessPer,CASE WHEN Isnull(ITL.EDCessAmount,0) > 0 THEN
Isnull(ITL.EDCessAmount,0) ELSE ISNULL(ITL.NumberAttribute8,0) END AS EDCessAmount,
Isnull(HECessPer,0) As HECessPer,CASE WHEN Isnull(ITL.HECessAmount,0) > 0 THEN
Isnull(ITL.HECessAmount,0) ELSE ISNULL(ITL.NumberAttribute9,0) END AS HECessAmount,

Isnull(SalesTaxPer,0) As SalesTaxPer,CASE WHEN Isnull(ITL.SalesTaxAmount,0) > 0


THEN Isnull(ITL.SalesTaxAmount,0) ELSE ISNULL(ITL.NumberAttribute6,0) END AS
SalesTaxAmount,
Isnull(SalesTaxCessPer,0) As SalesTaxCessPer,CASE WHEN
Isnull(ITL.SalesTaxCessAmount,0) > 0 THEN Isnull(ITL.SalesTaxCessAmount,0) ELSE
ISNULL(ITL.NumberAttribute10,0) END AS SalesTaxCessAmount,
ITL.Discount2Amount, ITL.Discount2Per,ITL.Discount3Amount, ITL.Discount3Per,
ITL.TotalValue,
ITL.NumberAttribute3 As StockValue, IsNull(ITL.DateAttribute2,
dbo.GetLocalDate())As DateAttribute2,
ITL.BitAttribute1, ITL.BitAttribute2, ITL.BitAttribute3, ITL.BitAttribute4,
T.BasicValue,
MA.AreaTypeDesc AS MainArea, FA.AreaTypeDesc AS FunctionalArea, B.BranchName,
COM.CompanyCode,ITL.NumberAttribute21
From #Tempdetails T
Inner Join InventoryTransList ITL With(NoLock) ON T.InventoryTransListUID =
ITL.InventoryTransListUID
Inner Join ItemM IM With(NoLock) ON ITL.ItemUID=IM.ItemUID
Inner Join BranchM B With (NoLock) ON B.BranchUID = T.BranchUID
Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = B.CompanyUID
Left Join (

Select top(1) IsNull(L.Price, 0) As CurrentPrice, L.ItemUID, T.PartyUID


From Vw_TransactionHeaderDetails T With (NoLock)

Inner Join InventoryTransList L With (NoLock) On T.TransactionsHeaderUID =


L.TransactionsHeaderUID

Inner Join StatusM S With (NoLock) On L.LnStatusMUID = S.StatusUID

Where DocumentSubTypeDesc like 'offer' And L.Isactive = 1 And S.StatusCode = 'AC'


AND dbo.GetLocalDate() > = L.DateAttribute2 AND T.BranchUID = @BranchUID
Order By L.DateAttribute2 desc
)P On T.PartyUID = P.PartyUID And P.ItemUID = T.ItemUID

LEFT JOIN AreaTypeM MA WITH(NOLOCK) ON MA.AreaTypeMUID = T.HUIDAttribute2 AND


MA.AreaType = 'M'
LEFT JOIN AreaTypeM FA WITH(NOLOCK) ON FA.AreaTypeMUID = T.HUIDAttribute3 AND
FA.AreaType = 'F'
Order By NetCost

Else If @Status = 45
select
*,isnull(PO.PendingPOQty,0)PendingPOQty,isnull(PR.PendingPRQty,0)PendingPRQty from
#Tempdetails T
Left join(
SELECT TL.ItemUID,'01-01-1900' as PODocumentdate,'00000000-0000-0000-0000-
000000000000' As SupplierUID, '' As SupplierName,
isnull(sum((TL.Qty-isnull(M.MatchQty,0))),0) as PendingPOQty
FROM TransactionsHeader TH WITH (NOLOCK)
INNER JOIN InventoryTransList TL with (NOlock) ON TH.TransactionsHeaderUID
=TL.TransactionsHeaderUID AND TL.IsActive = '1' AND TH.BranchUID = @BranchUID
INNER JOIN DocumentSubTypeM DS WITH (NOLOCK) ON TH.DocumentSubTypeUID
=DS.DocumentSubTypeUID And DS.DocumentTypeUID In ('183645F4-BAD8-4F1D-ACC7-
9E12D47CDBED')
LEFT JOIN (
SELECT SUM(isnull(ITL.Quantity,0) ) Matchqty, RefInventoryTransListUID
From InventoryTransListMatch ITL With (NOLOCK)
INNER JOIN InventoryTransList AS IT WITH(NOLOCK) ON IT.InventoryTransListUID =
ITL.InventoryTransListUID
INNER JOIN TransactionsHeader AS TH WITH(NOLOCK) ON TH.TransactionsHeaderUID =
IT.TransactionsHeaderUID AND IT.IsActive = '1' AND TH.IsActive = '1'
INNER JOIN DocumentSubTypeM DS WITH (NOLOCK) ON TH.DocumentSubTypeUID
=DS.DocumentSubTypeUID And DS.DocumentTypeUID In ('69178B35-E7A5-4C90-A564-
1D44AD86CFC5')
WHERE ITL.ReferenceType = 'P' AND ITL.IsActive = '1' AND TH.BranchUID = @BranchUID

Group By RefInventoryTransListUID
)M On M.RefInventoryTransListUID = TL.InventoryTransListUID
Group by TL.ItemUID
)PO on PO.ItemUID=T.ItemUID
Left join(
SELECT TL.ItemUID,'01-01-1900' as PRDocumentdate,'00000000-0000-0000-0000-
000000000000' As SupplierUID, '' As SupplierName,
isnull(sum((TL.Qty-isnull(M.MatchQty,0))),0) as PendingPRQty
FROM TransactionsHeader TH WITH (NOLOCK)
INNER JOIN InventoryTransList TL with (NOlock) ON TH.TransactionsHeaderUID
=TL.TransactionsHeaderUID AND TL.IsActive = '1' AND TH.BranchUID = @BranchUID
INNER JOIN DocumentSubTypeM DS WITH (NOLOCK) ON TH.DocumentSubTypeUID
=DS.DocumentSubTypeUID And DS.DocumentTypeUID In ('89E126DF-F84B-4676-AABC-
B05F15290F7F')
LEFT JOIN (
SELECT SUM(isnull(ITL.Quantity,0) ) Matchqty, RefInventoryTransListUID
From InventoryTransListMatch ITL With (NOLOCK)
INNER JOIN InventoryTransList AS IT WITH(NOLOCK) ON IT.InventoryTransListUID =
ITL.InventoryTransListUID
INNER JOIN TransactionsHeader AS TH WITH(NOLOCK) ON TH.TransactionsHeaderUID =
IT.TransactionsHeaderUID AND IT.IsActive = '1' AND TH.IsActive = '1'
INNER JOIN DocumentSubTypeM DS WITH (NOLOCK) ON TH.DocumentSubTypeUID
=DS.DocumentSubTypeUID And DS.DocumentTypeUID In ('183645F4-BAD8-4F1D-ACC7-
9E12D47CDBED')
WHERE ITL.ReferenceType = 'P' AND ITL.IsActive = '1' AND TH.BranchUID = @BranchUID

Group By RefInventoryTransListUID
)M On M.RefInventoryTransListUID = TL.InventoryTransListUID
Group by TL.ItemUID ) PR on PR.ItemUID=T.ItemUID

Else If @Status = 8
Select Distinct TransactionsHeaderUID, InventoryTransListUID, Doctype, DocNo,
DocDate, PartyUID, PartyName, City, IM.ItemUID ,IM.ItemName ,

IM.ItemCode ,IM .PartNo ,DRM .DrawingNo +'/'+DRM .DrawingRevisionNo as DrawingNo,

ItemAliAsName, IM.NumberAttribute1 As Qty, UOM, Convert(Decimal(18, 3),


PendingQty/ConversionFactor) As PendingQty,
Convert(Decimal(18, 3), CancelledQty/ConversionFactor) As CancelledQty,

DocumentSubTypeUID, Convert(Decimal(18, 3), ReceivedQty/ConversionFactor)


ReceivedQty,

T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo,IM.ItemID,


VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate,
Convert(Decimal(18,2),Price*ConversionFactor) As Price, LineTotal, HeaderTotal,

ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate,

NoOfDays, LineNumber, Convert(Decimal(18, 3), ShortageQty/ConversionFactor) As


ShortageQty,

T.NumberAttribute1 , IM.DateAttribute1 , IM.StringAttribute2 , Grade As


NumberAttribute4, PreceedingDoc, SucceedingDoc, BasicValue,
MA.AreaTypeDesc AS MainArea,FA.AreaTypeDesc AS FunctionalArea, COM.CompanyCode,Doc,
Notes
From #Tempdetails T
Inner Join ItemM IM With(NoLock) On IM.ItemUID = T.ItemUID
Left join DrawingM DRM with(nolock) on IM.ItemUID=DRM.ItemUID And DRM.IsActive = 1

Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID

Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID

LEFT JOIN AreaTypeM MA WITH(NOLOCK) ON MA.AreaTypeMUID = T.HUIDAttribute2 AND


MA.AreaType = 'M'
LEFT JOIN AreaTypeM FA WITH(NOLOCK) ON FA.AreaTypeMUID = T.HUIDAttribute3 AND
FA.AreaType = 'F'
Order By Doc,DocDate, LineNumber

Else If @Status = 10

Select Distinct T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,


DocDate, T.PartyUID, PartyName, City, T.ItemUID,VI.ItemCode,T.ItemName as
ItemName ,

ItemAliAsName, ISNULL(T.NumberAttribute1,IM.EntryQty) As Qty,T.PurchaseUOM As UOM,


Convert(Decimal(18, 3), PendingQty/ConversionFactor) As PendingQty,
VI.ItemCode,VI.PartNo,

Convert(Decimal(18, 3), CancelledQty/ConversionFactor) As


CancelledQty,DRM .DrawingNo +'/'+DRM .DrawingRevisionNo as DrawingNo,

T.DocumentSubTypeUID, Convert(Decimal(18, 3), ReceivedQty/ConversionFactor)


ReceivedQty,

T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,

VehicleName, VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,


Convert(Decimal(18,2),T.Price*ConversionFactor) As Price,
LineTotal, HeaderTotal,
ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate,
NoOfDays, T.LineNumber, Convert(Decimal(18, 3), T.ShortageQty/ConversionFactor) As
ShortageQty,THR.DocumentNo AS PONo,THR.DocumentDate As PODate,Convert(Varchar(11),
IsNull(ITLS.ScheduleDate, ''), 106) AS POScheduledDate,

iSNULL(IM.EntryQty, T.NumberAttribute1) as NumberAttribute1, T.DateAttribute1,


T.StringAttribute2, Grade As NumberAttribute4, PreceedingDoc, SucceedingDoc,
T.BasicValue ,Doc,
----PartyCategoryDescription As PartySubGroup, PartyGroupName,
DATEDIFF(day, DocDate,ITLS.ScheduleDate) AS DueDays,
VI.ItemGroupDescription As ItemGroupName, VI.ItemCategoryName As ItemCategory

From #Tempdetails T
Left Join InventoryTransListMatch TLM With (NoLock) ON TLM.InventoryTransListUID =
T.InventoryTransListUID --And T.IsActive = '1' And TLM.ReferenceType = 'P'
Left Join InventoryTransList TLR With (NoLock) ON TLR.InventoryTransListUID =
TLM.RefInventoryTransListUID
Left Join TransactionsHeader THR With (NoLock) On TLR.TransactionsHeaderUID =
THR.TransactionsHeaderUID
Left join InventorylinkM IM With (NoLock) On T.InventoryTransListUID =
Im.InventoryUID
Left Join InventoryTransListSchedule ITLS With(NoLock) On
ITLS.InventoryTransListScheduleUID = IM.RefInventoryUID
Inner Join VW_ItemM VI On VI.ItemUID = T.ItemUID
Left join DrawingM DRM with(nolock) on VI.ItemUID=DRM .ItemUID And DRM.Isactive = 1

Where IsNull(VI.ItemGroupUID,'00000000-0000-0000-0000-000000000000')= Case When


@ItemGroupUID <> '00000000-0000-0000-0000-000000000000' Then
@ItemGroupUID Else IsNull(VI.ItemGroupUID, '00000000-0000-0000-0000-000000000000')
End
And IsNull(VI.ItemCategoryUID,'00000000-0000-0000-0000-000000000000')= Case When
@ItemCategoryUID <> '00000000-0000-0000-0000-000000000000' Then
@ItemCategoryUID Else IsNull(VI.ItemCategoryUID, '00000000-0000-0000-0000-
000000000000') End
Group By T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, PartyName, City, T.ItemUID, T.ItemName,VI.ItemCode,ITLS.ScheduleDate,

ItemAliAsName, T.Qty, T.PurchaseUOM, PendingQty,VI.ItemCode,VI.PartNo,


CancelledQty,DRM .DrawingNo,DRM .DrawingRevisionNo, T.DocumentSubTypeUID,
VI.ItemGroupDescription, VI.ItemCategoryName,

THR.DocumentDate, THR.DocumentNo,
T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,

VehicleName, VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,


T.Price, LineTotal, HeaderTotal,

ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays, T.LineNumber, ReceivedQty,
T.ShortageQty, T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade,
ConversionFactor, PreceedingDoc, SucceedingDoc, T.BasicValue ,Doc,
PartyCategoryDescription,PartyGroupName ,IM.EntryQty

Order By VI.ItemGroupDescription, Doc,DocDate, LineNumber

Else If @Status = 55
Select Distinct TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,
DocDate, PartyUID, PartyName, City, T.ItemUID, T.ItemName,

ItemAliAsName, SM.UOMDescription As UOM,0 As PendingQty,--Sum(LS.Qty* T.SaleCF) -


Sum(IsNull(M.Quantity, 0)) As PendingQty,
Convert(Decimal(18, 3), CancelledQty/ConversionFactor) As CancelledQty,

DocumentSubTypeUID, Convert(Decimal(18, 3), ReceivedQty/ConversionFactor)


ReceivedQty,
T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate,


CONVERT(DECIMAL(18,2),Price*ConversionFactor) As Price, LineTotal, HeaderTotal,

ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate,
NoOfDays, LineNumber, Convert(Decimal(18, 3), ShortageQty/ConversionFactor) As
ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As
NumberAttribute4, PreceedingDoc, SucceedingDoc,
Convert(Varchar(11), IsNull(LS.ScheduleDate, ''), 106)As ScheduleDate,
IsNull(LS.Qty, 0) As ScheduleQty, T.BasicValue ,
T.PartyCategoryDescription,T.PartyGroupName,Doc ,ItemQOH ,Convert(Decimal(18,2),Cre
ditBalance ) AS CreditBalance,
DATEDIFF(day, dbo.GetLocalDate(),LS.ScheduleDate) AS DueDays,
CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) < 0 THEN -1 ELSE

CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) = 0 THEN 0 ELSE

CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) > 0 THEN 1 END END END


AS DueDateRange,
T.ItemName As ItemSize, IT.ItemType As ProductName, ISG.ItemSubGroupDescription As
GSM, Com.CompanyCode, COM.CompanyName
From #Tempdetails T
Inner Join UOM SM With(NoLock) ON T.SalesUOMUID = SM.UOMUID
Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID
Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID

Inner Join ItemM IM With(NoLock) On IM.ItemUID = T.ItemUID


Inner Join ItemSubGroupM ISG With(NoLock) On ISG.ItemSubGroupUID =
IM.ItemSubGroupUID
Inner Join ItemGroupM IGM With(NoLock) On IGM.ItemGroupUID = ISG.ItemGroupUID

LEFT Join ItemTypeM IT With(noLock) On IT.ItemTypeUID = IM.ItemTypeUID

Left Join InventoryTransListSchedule LS With(NoLock) ON LS.InventoryTransListUID =


T.InventoryTransListUID
Left Join
(Select M.RefInventoryTransListUID As RefTransactionsLISTUID, IsNull(M.Quantity, 0)
As Quantity, LM.RefInventoryUID As InventoryTransListScheduleUID --, L.IsActive,
SL.IsActive
From InventoryTransList L With(NoLock)
Left Join InventoryTransListMatch M With(NoLock) ON M.InventoryTransListUID =
L.InventoryTransListUID
Left Join InventoryLinkM LM With(NoLock) ON LM.InventoryUID =
L.InventoryTransListUID
Where L.IsActive = 1
)M ON M.RefTransactionsLISTUID = T.InventoryTransListUID And
M.InventoryTransListScheduleUID = LS.InventoryTransListScheduleUID

LEFT JOIN VW_Ledgerbalance VL ON T.PartyUID = VL.AccountUID AND T.FinYearUID =


VL.FinYearUID
Where (SucceedingDoc Like 'LC Delivery Challan%' or SucceedingDoc='0')
Group By TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
PartyUID, PartyName, City, T.ItemUID, T.ItemName,
ItemAliAsName, SM.UOMDescription, T.Qty, UOM, PendingQty, CancelledQty,
DocumentSubTypeUID,
T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate, Price,


LineTotal, HeaderTotal,
ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays, LineNumber, ReceivedQty, ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade, ConversionFactor,
PreceedingDoc, SucceedingDoc, ScheduleDate, Ls.Qty, M.Quantity, T.SaleCF,
T.BasicValue,
T.PartyCategoryDescription,T.PartyGroupName,Doc,ItemQOH ,CreditBalance,

T.ItemName, IT.ItemType , ISG.ItemSubGroupDescription, Com.CompanyCode,


COM.CompanyName
HAVING IsNull((LS.Qty * T.SaleCF), Sum(T.Qty)) - Sum(IsNull(M.Quantity, 0)) > 0
Order By Doc,DocDate,ScheduleDate, Docno, LineNumber

Else If @Status = 56

Select TransactionsHeaderUID, InventoryTransListUID, Doctype, DocNo,


Convert(Varchar,DocDate,105) AS DocDate, PartyUID, PartyName, City, ItemUID,
ItemName,
Qty, UOM, PendingQty, CancelledQty, DocumentSubTypeUID, ReceivedQty,
BranchUID,FromDate, ToDate, DocumentDate,
RefDocNo,ItemCode ,DrawingNo ,PartNo ,SupplierBillNo, SupplierBillDate, Price,
LineTotal, HeaderTotal,
ItemStatusDescription, NoOfPockets, NettWeight, GrossWeight, MINNo, MINDocDate,
NoOfDays, LineNumber, ShortageQty,
NumberAttribute1, DateAttribute1, StringAttribute2, ConversionFactor, PurchaseUOM,
MOQ,
SSL, PreceedingDoc, SucceedingDoc,MaxQty, ItemQOH, Notes ,NetCost, BasicValue,
PackingPer, PackingAmount, Discount1Amount, Discount1Per,
EDAmount, EDPer, EDCessAmount, EDCessPer, HECessPer, HECessAmount,
SalesTaxPer, SalesTaxAmount, SalesTaxCessAmount, SalesTaxCessPer, Discount2Amount,
Discount2Per, Discount3Amount, Discount3Per, TotalValue,

StockValue, DateAttribute2,BitAttribute1, BitAttribute2, BitAttribute3,


BitAttribute4, BasicValue,RefTransactionsUID,
CharAttribute5 ,IsActive,convert(bit,UserRight) as UserRight,
Netvalue,@Amount as Amount,IsGST,SequenceNo , WoNo , SACCode ,
TAXPercentage
From ( Select distinct A.TransactionsHeaderUID,null AS InventoryTransListUID,
Doctype,A.DocNo, DocDate, A.PartyUID, PartyName, City,null AS ItemUID,null AS
ItemName,
null AS Qty,null AS UOM,null AS PendingQty, null AS CancelledQty,
DocumentSubTypeUID, null AS ReceivedQty,
null AS BranchUID,FromDate, ToDate, DocumentDate, RefDocNo, Null ItemCode ,Null as
DrawingNo,Null PartNo ,
SupplierBillNo, SupplierBillDate, null AS Price, null AS LineTotal, HeaderTotal,

null AS ItemStatusDescription, null AS NoOfPockets, null AS NettWeight, null AS


GrossWeight, null AS MINNo, null AS MINDocDate, null AS NoOfDays, 0 as LineNumber,
null AS ShortageQty,
null AS NumberAttribute1, dbo.GetLocalDate() As DateAttribute1,null AS
StringAttribute2, null AS ConversionFactor, null AS PurchaseUOM, null AS MOQ,
null AS SSL, PreceedingDoc,null AS SucceedingDoc,
null AS MaxQty, null AS ItemQOH, null AS Notes ,

NULL AS NetCost, NULL AS BasicValue, NULL AS PackingPer, NULL AS PackingAmount,


NULL AS Discount1Amount, NULL AS Discount1Per,
NULL AS EDAmount, NULL AS EDPer, NULL AS EDCessAmount, NULL AS EDCessPer, NULL AS
HECessPer, NULL AS HECessAmount,
NULL AS SalesTaxPer, NULL AS SalesTaxAmount, NULL AS SalesTaxCessAmount, NULL AS
SalesTaxCessPer, NULL AS Discount2Amount, NULL AS Discount2Per, NULL AS
Discount3Amount, NULL AS Discount3Per, NULL AS TotalValue,
NULL As StockValue, dbo.GetLocalDate() As DateAttribute2,NULL AS BitAttribute1,
NULL AS BitAttribute2, NULL AS BitAttribute3, NULL AS BitAttribute4,
RefTransactionsUID,'' AS CharAttribute5,1 AS IsActive,
case when @Amount <= A.Netvalue and @IsApprovalbasedonUserRights =1 then 1 else 0
end as UserRight,A.Netvalue,
0 AS IsGST ,null as SequenceNo,null as WoNo,null as SACCode,null as TAXPercentage
From #Tempdetails A
UNION ALL
Select T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, PartyName, City, T.ItemUID,
T.ItemName ,
T.Qty ,
T.UOM, PendingQty, CancelledQty, DocumentSubTypeUID, ReceivedQty, BranchUID,
FromDate, ToDate, DocumentDate, RefDocNo,
IM .ItemCode ,DRM.DrawingNo +'/'+ DRM.DrawingRevisionNo as
DrawingNo,IM.PartNo ,SupplierBillNo, SupplierBillDate,
Case When DocumentSubTypeUID='52221615-5F1C-48F6-A5B2-5E8F7107DEA2' Then ITL.price
Else CONVERT(DECIMAL(18,3),(T.Price*ConversionFactor)) End Price,
LineTotal, HeaderTotal,ItemStatusDescription, NoOfPockets, NettWeight, GrossWeight,
MINNo, MINDocDate, NoOfDays, T.LineNumber, T.ShortageQty,
T.NumberAttribute1, IsNull(T.DateAttribute1, dbo.GetLocalDate())As DateAttribute1,
T.StringAttribute2, ConversionFactor, PurchaseUOM, Convert(Decimal(18, 3),
(MOQ/ConversionFactor)) As MOQ,
Convert(Decimal(18, 3), (SSL/ConversionFactor)) As SSL, PreceedingDoc,
SucceedingDoc,
Convert(Decimal(18, 3), (MaxQty /ConversionFactor))MaxQty, Convert(Decimal(18, 3),
(ItemQOH /ConversionFactor))ItemQOH, Notes ,

ITL.NetCost, Convert(Decimal(18, 2), ITL.BasicValue) as BasicValue,


IsNull(Convert(Decimal(18, 2),ITL.PackingPer), 0)PackingPer,
IsNull(Convert(Decimal(18, 2),ITL.PackingAmount), 0)PackingAmount,
Convert(Decimal(18, 3),ITL.Discount1Amount) as Discount1Amount, Convert(Decimal(18,
2),ITL.Discount1Per) as Discount1Per,
CASE WHEN Isnull(ITL.EDAmount,0) > 0 THEN Isnull(Convert(Decimal(18,
2),ITL.EDAmount),0) ELSE ISNULL(Convert(Decimal(18, 2),ITL.NumberAttribute7),0) END
AS EDAmount,Isnull(Convert(Decimal(18, 2),EDPer),0) As EDPer,
Isnull(Convert(Decimal(18, 2),EDCessPer),0) As EDCessPer, CASE WHEN
Isnull(ITL.EDCessAmount,0) > 0 THEN Isnull(Convert(Decimal(18,
2),ITL.EDCessAmount),0) ELSE ISNULL(Convert(Decimal(18, 2),ITL.NumberAttribute8),0)
END AS EDCessAmount,
Isnull(Convert(Decimal(18, 2),HECessPer),0) As HECessPer, CASE WHEN
Isnull(ITL.HECessAmount,0) > 0 THEN Isnull(Convert(Decimal(18,
2),ITL.HECessAmount),0) ELSE ISNULL(Convert(Decimal(18, 2),ITL.NumberAttribute9),0)
END AS HECessAmount,
Isnull(Convert(Decimal(18, 2),SalesTaxPer),0) As SalesTaxPer, CASE WHEN
Isnull(ITL.SalesTaxAmount,0) > 0 THEN Isnull(Convert(Decimal(18,
2),ITL.SalesTaxAmount),0) ELSE ISNULL(Convert(Decimal(18,
2),ITL.NumberAttribute6),0) END AS SalesTaxAmount,

Isnull(Convert(Decimal(18, 2),SalesTaxCessPer),0) As SalesTaxCessPer, CASE WHEN


Isnull(ITL.SalesTaxCessAmount,0) > 0 THEN Isnull(Convert(Decimal(18,
2),ITL.SalesTaxCessAmount),0) ELSE ISNULL(Convert(Decimal(18,
2),ITL.NumberAttribute10),0) END AS SalesTaxCessAmount,
Convert(Decimal(18, 2),ITL.Discount2Amount) as Discount2Amount,
Convert(Decimal(18, 2),ITL.Discount2Per) as Discount2Per, Convert(Decimal(18,
2),ITL.Discount3Amount) as Discount3Amount,
Convert(Decimal(18, 2), ITL.Discount3Per) as Discount3Per, Convert(Decimal(18,
2),ITL.TotalValue) as TotalValue,

Convert(Decimal(18, 2),ITL.NumberAttribute3) As StockValue,


IsNull(ITL.DateAttribute2, dbo.GetLocalDate())As DateAttribute2,

ITL.BitAttribute1, ITL.BitAttribute2, ITL.BitAttribute3,


ITL.BitAttribute4,RefTransactionsUID,ITL.CharAttribute5,ITL.IsActive ,
case when @Amount <= T.Netvalue and @IsApprovalbasedonUserRights =1 then 1 else 0
end as UserRight,Convert(Decimal(18, 2),T.Netvalue) as Netvalue,
CASE WHEN @IsGSTEnabled = 1 and DocDate >= @GstDate THEN 1 ELSE 0 END AS
IsGST ,T.LineNumber as SequenceNo,
ITL.stringattribute4 as WoNo,ITL.StringAttribute5 as SACCode,ITL.NumberAttribute2
as TAXPercentage
From #Tempdetails T
Inner Join InventoryTransList ITL With(NoLock) ON T.InventoryTransListUID =
ITL.InventoryTransListUID --And PendingQty > 0
Inner Join ItemM IM With(NoLock) On T.ItemUID=IM.ItemUID
LEFT JOin DrawingM DRM with (nolock) on IM.ItemUID =DRM .ItemUID And DRM.IsActive =
1
) B
where DocumentSubTypeUID <> '9727B417-8CCD-494F-957A-0A4CDD640B37'
Order By DocDate desc, DocNo, LineNumber, IsActive
OFFSET @PageSize * (@PageNo - 1) ROWS
FETCH NEXT @PageSize ROWS ONLY;

Else If @Status = 11

Select Distinct TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,


DocDate, PartyUID, PartyName, City, T.ItemUID, T.ItemName,

ItemAliAsName, SM.UOMDescription As UOM,Sum(LS.Qty* T.SaleCF) -


Sum(IsNull(M.Quantity, 0)) As PendingQty,

Convert(Decimal(18, 3), CancelledQty/ConversionFactor) As CancelledQty,

DocumentSubTypeUID, Convert(Decimal(18, 3), ReceivedQty/ConversionFactor)


ReceivedQty,

T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate,


CONVERT(DECIMAL(18,2),Price*ConversionFactor) As Price, LineTotal, HeaderTotal,

ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate,

NoOfDays, LineNumber, Convert(Decimal(18, 3), ShortageQty/ConversionFactor) As


ShortageQty,

T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As


NumberAttribute4, PreceedingDoc, SucceedingDoc,

Convert(Varchar(11), IsNull(LS.ScheduleDate, ''), 106)As ScheduleDate,


IsNull(LS.Qty, 0) As ScheduleQty, T.BasicValue ,
T.PartyCategoryDescription,T.PartyGroupName,Doc ,ItemQOH ,Convert(Decimal(18,2),Cre
ditBalance ) AS CreditBalance,
DATEDIFF(day, dbo.GetLocalDate(),LS.ScheduleDate) AS DueDays,
CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) < 0 THEN -1 ELSE

CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) = 0 THEN 0 ELSE


CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) > 0 THEN 1 END END END
AS DueDateRange,
T.ItemName As ItemSize, IT.ItemType As ProductName, ISG.ItemSubGroupDescription As
GSM, Com.CompanyCode, COM.CompanyName
From #Tempdetails T

Inner Join UOM SM With(NoLock) ON T.SalesUOMUID = SM.UOMUID


Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID
Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID
Inner Join ItemM IM With(NoLock) On IM.ItemUID = T.ItemUID
Inner Join ItemSubGroupM ISG With(NoLock) On ISG.ItemSubGroupUID =
IM.ItemSubGroupUID
Inner Join ItemGroupM IGM With(NoLock) On IGM.ItemGroupUID = ISG.ItemGroupUID

LEFT Join ItemTypeM IT With(noLock) On IT.ItemTypeUID = IM.ItemTypeUID


Left Join InventoryTransListSchedule LS With(NoLock) ON LS.InventoryTransListUID =
T.InventoryTransListUID

Left Join

(Select M.RefInventoryTransListUID As RefTransactionsLISTUID, IsNull(M.Quantity, 0)


As Quantity, LM.RefInventoryUID As InventoryTransListScheduleUID --, L.IsActive,
SL.IsActive
From InventoryTransList L With(NoLock)
Left Join InventoryTransListMatch M With(NoLock) ON M.InventoryTransListUID =
L.InventoryTransListUID
Left Join InventoryLinkM LM With(NoLock) ON LM.InventoryUID =
L.InventoryTransListUID
Where L.IsActive = 1
)M ON M.RefTransactionsLISTUID = T.InventoryTransListUID And
M.InventoryTransListScheduleUID = LS.InventoryTransListScheduleUID
LEFT JOIN VW_Ledgerbalance VL ON T.PartyUID = VL.AccountUID AND T.FinYearUID =
VL.FinYearUID
Group By TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
PartyUID, PartyName, City, T.ItemUID, T.ItemName,
ItemAliAsName, SM.UOMDescription, T.Qty, UOM, PendingQty, CancelledQty,
DocumentSubTypeUID,
T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate, Price,


LineTotal, HeaderTotal,
ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays, LineNumber, ReceivedQty, ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade, ConversionFactor,
PreceedingDoc, SucceedingDoc, ScheduleDate, Ls.Qty,
M.Quantity, T.SaleCF, T.BasicValue,
T.PartyCategoryDescription,T.PartyGroupName,Doc,ItemQOH ,CreditBalance,
T.ItemName, IT.ItemType , ISG.ItemSubGroupDescription, Com.CompanyCode,
COM.CompanyName
HAVING IsNull((LS.Qty * T.SaleCF), Sum(T.Qty)) - Sum(IsNull(M.Quantity, 0)) > 0
Order By Doc,DocDate,ScheduleDate, Docno, LineNumber

Else If @Status = 12

Select Distinct TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,


DocDate, PartyUID, PartyName, City, T.ItemUID, T.ItemName,

ItemAliAsName, SM.UOMDescription As UOM, Sum(LS.Qty* T.SaleCF) -


Sum(IsNull(M.Quantity, 0)) As PendingQty,IM.ItemCode , IM.PartNo ,
Convert(Decimal(18, 3), CancelledQty/ConversionFactor) As
CancelledQty,DRM.DrawingNo +'/'+DRM.DrawingRevisionNo As DrawingNo,
T.PrinciplePartNo,T.ItemType,T.RefDocNo1,T.RefDocDate1,Sum(IsNull(LS.Qty, 0)) As
TotalQty ,
DocumentSubTypeUID, Convert(Decimal(18, 3), ReceivedQty/ConversionFactor)
ReceivedQty,IM.ItemCode,
T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate,


CONVERT(DECIMAL(18,2),Price*ConversionFactor) As Price, LineTotal, HeaderTotal,

ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate,
NoOfDays, LineNumber, Convert(Decimal(18, 3), ShortageQty/ConversionFactor) As
ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As
NumberAttribute4, PreceedingDoc, SucceedingDoc,
Convert(Varchar(11), IsNull(LS.ScheduleDate, ''), 106) As ScheduleDate,
IsNull(LS.Qty, 0) As ScheduleQty, T.BasicValue,Doc,
PartyCategoryDescription, PartyGroupName, T.ItemName As ItemSize, IT.ItemType As
ProductName, ISG.ItemSubGroupDescription As GSM,
Com.CompanyCode, COM.CompanyName,T.HeaderStatus,SL.SaleLine
From #Tempdetails T
Inner Join UOM SM With(NoLock) ON T.SalesUOMUID = SM.UOMUID
Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID

Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID


Inner Join ItemM IM With(NoLock) On IM.ItemUID = T.ItemUID
LEFT Join DrawingM DRM with(nolock) on IM.ItemUID=DRM .ItemUID And DRM.IsActive = 1
Inner Join ItemSubGroupM ISG With(NoLock) On ISG.ItemSubGroupUID =
IM.ItemSubGroupUID
Inner Join ItemGroupM IGM With(NoLock) On IGM.ItemGroupUID = ISG.ItemGroupUID

LEFT Join ItemTypeM IT With(noLock) On IT.ItemTypeUID = IM.ItemTypeUID


Left Join InventoryTransListSchedule LS With(NoLock) ON LS.InventoryTransListUID =
T.InventoryTransListUID
Left Join
(Select M.RefInventoryTransListUID As RefTransactionsLISTUID, IsNull(M.Quantity, 0)
As Quantity, LM.RefInventoryUID As InventoryTransListScheduleUID --, L.IsActive,
SL.IsActive
From InventoryTransList L With(NoLock)
Left Join InventoryTransListMatch M With(NoLock) ON M.InventoryTransListUID =
L.InventoryTransListUID
Left Join InventoryLinkM LM With(NoLock) ON LM.InventoryUID =
L.InventoryTransListUID
Where L.IsActive = 1
)M ON M.RefTransactionsLISTUID = T.InventoryTransListUID And
M.InventoryTransListScheduleUID = LS.InventoryTransListScheduleUID

Left Join SaleLineM SL With(NoLock) On SL.SaleLineMUID = T.UIDAttribute4


Group By TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
PartyUID, PartyName, City, T.ItemUID, T.ItemName,

ItemAliAsName, SM.UOMDescription, T.Qty, UOM, PendingQty,IM.ItemCode , IM.PartNo ,


CancelledQty,DRM.DrawingNo,DRM.DrawingRevisionNo, DocumentSubTypeUID,
T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo,
T.ItemID,IM.ItemCode,
VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate, Price,
LineTotal, HeaderTotal,
ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays, LineNumber, ReceivedQty, ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade, ConversionFactor,
PreceedingDoc, SucceedingDoc, ScheduleDate,
Ls.Qty, M.Quantity, T.SaleCF, T.BasicValue, Doc, PartyCategoryDescription,
PartyGroupName, T.ItemName, IT.ItemType, ISG.ItemSubGroupDescription,
Com.CompanyCode, COM.CompanyName,T.HeaderStatus,SL.SaleLine ,
T.PrinciplePartNo,T.ItemType ,T.RefDocNo1,T.RefDocDate1
Order By Doc,DocDate, LineNumber

Else If @Status = 13 OR @Status =25


Select TransactionsHeaderUID, InventoryTransListUID, Doctype, DocNo,
Convert(Varchar,DocDate,105) AS DocDate, PartyUID, PartyName, City, ItemUID,
ItemName,

Qty, UOM, PendingQty, CancelledQty, DocumentSubTypeUID, ReceivedQty,


BranchUID,FromDate, ToDate, DocumentDate,
RefDocNo,ItemCode ,DrawingNo ,PartNo ,SupplierBillNo, SupplierBillDate, Price,
LineTotal, HeaderTotal,
ItemStatusDescription, NoOfPockets, NettWeight, GrossWeight, MINNo, MINDocDate,
NoOfDays, LineNumber, ShortageQty,
NumberAttribute1, DateAttribute1, StringAttribute2, ConversionFactor, PurchaseUOM,
MOQ,
SSL, PreceedingDoc, SucceedingDoc,MaxQty, ItemQOH, Notes ,NetCost, BasicValue,
PackingPer, PackingAmount, Discount1Amount, Discount1Per,
EDAmount, EDPer, EDCessAmount, EDCessPer, HECessPer, HECessAmount,
SalesTaxPer, SalesTaxAmount, SalesTaxCessAmount, SalesTaxCessPer, Discount2Amount,
Discount2Per, Discount3Amount, Discount3Per, TotalValue,

StockValue, DateAttribute2,BitAttribute1, BitAttribute2, BitAttribute3,


BitAttribute4, BasicValue,RefTransactionsUID,
CharAttribute5 ,IsActive,convert(bit,UserRight) as UserRight,
Netvalue,@Amount as Amount,IsGST,SequenceNo
From ( Select distinct A.TransactionsHeaderUID,null AS InventoryTransListUID,
Doctype,A.DocNo, DocDate, A.PartyUID, PartyName, City,null AS ItemUID,null AS
ItemName,
null AS Qty,null AS UOM,null AS PendingQty, null AS CancelledQty,
DocumentSubTypeUID, null AS ReceivedQty,
null AS BranchUID,FromDate, ToDate, DocumentDate, RefDocNo, Null ItemCode ,Null as
DrawingNo,Null PartNo ,
SupplierBillNo, SupplierBillDate, null AS Price, null AS LineTotal, HeaderTotal,

null AS ItemStatusDescription, null AS NoOfPockets, null AS NettWeight, null AS


GrossWeight, null AS MINNo, null AS MINDocDate, null AS NoOfDays, 0 as LineNumber,
null AS ShortageQty,
null AS NumberAttribute1, dbo.GetLocalDate() As DateAttribute1,null AS
StringAttribute2, null AS ConversionFactor, null AS PurchaseUOM, null AS MOQ,
null AS SSL, PreceedingDoc,null AS SucceedingDoc,
null AS MaxQty, null AS ItemQOH, null AS Notes ,

NULL AS NetCost, NULL AS BasicValue, NULL AS PackingPer, NULL AS PackingAmount,


NULL AS Discount1Amount, NULL AS Discount1Per,
NULL AS EDAmount, NULL AS EDPer, NULL AS EDCessAmount, NULL AS EDCessPer, NULL AS
HECessPer, NULL AS HECessAmount,
NULL AS SalesTaxPer, NULL AS SalesTaxAmount, NULL AS SalesTaxCessAmount, NULL AS
SalesTaxCessPer, NULL AS Discount2Amount, NULL AS Discount2Per, NULL AS
Discount3Amount, NULL AS Discount3Per, NULL AS TotalValue,
NULL As StockValue, dbo.GetLocalDate() As DateAttribute2,NULL AS BitAttribute1,
NULL AS BitAttribute2, NULL AS BitAttribute3, NULL AS BitAttribute4,
RefTransactionsUID,'' AS CharAttribute5,1 AS IsActive,
case when @Amount <= A.Netvalue and @IsApprovalbasedonUserRights =1 then 1 else 0
end as UserRight,A.Netvalue,
0 AS IsGST ,null as SequenceNo
From #Tempdetails A
--inner JOIN (select TransactionsHeaderUID From #Tempdetails)T ON
A.TransactionsHeaderUID = T.TransactionsHeaderUID
UNION ALL
Select T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, PartyName, City, T.ItemUID,
--change
Case When DocumentSubTypeUID in('52221615-5F1C-48F6-A5B2-5E8F7107DEA2','F7AE3AFB-
7A1D-4ED0-982F-73443E9B3A21') Then T.StringAttribute1 Else T.ItemName End ItemName,

--qty change
Case When DocumentSubTypeUID in('52221615-5F1C-48F6-A5B2-5E8F7107DEA2','F7AE3AFB-
7A1D-4ED0-982F-73443E9B3A21') Then T.Qty Else
CONVERT(DECIMAL(18,3),T.NumberAttribute1) End Qty,
--11 Qty,

T.UOM, PendingQty, CancelledQty, DocumentSubTypeUID, ReceivedQty, BranchUID,


FromDate, ToDate, DocumentDate, RefDocNo,
IM .ItemCode ,DRM.DrawingNo +'/'+ DRM.DrawingRevisionNo as
DrawingNo,IM.PartNo ,SupplierBillNo, SupplierBillDate,
Case When DocumentSubTypeUID='52221615-5F1C-48F6-A5B2-5E8F7107DEA2' Then ITL.price
Else CONVERT(DECIMAL(18,3),(T.Price*ConversionFactor)) End Price,
LineTotal, HeaderTotal,ItemStatusDescription, NoOfPockets, NettWeight, GrossWeight,
MINNo, MINDocDate, NoOfDays, T.LineNumber, T.ShortageQty,
T.NumberAttribute1, IsNull(T.DateAttribute1, dbo.GetLocalDate())As DateAttribute1,
T.StringAttribute2, ConversionFactor, PurchaseUOM, Convert(Decimal(18, 3),
(MOQ/ConversionFactor)) As MOQ,
Convert(Decimal(18, 3), (SSL/ConversionFactor)) As SSL, PreceedingDoc,
SucceedingDoc,
Convert(Decimal(18, 3), (MaxQty /ConversionFactor))MaxQty, Convert(Decimal(18, 3),
(ItemQOH /ConversionFactor))ItemQOH, Notes ,

ITL.NetCost, Convert(Decimal(18, 2), ITL.BasicValue) as BasicValue,


IsNull(Convert(Decimal(18, 2),ITL.PackingPer), 0)PackingPer,
IsNull(Convert(Decimal(18, 2),ITL.PackingAmount), 0)PackingAmount,
Convert(Decimal(18, 3),ITL.Discount1Amount) as Discount1Amount, Convert(Decimal(18,
2),ITL.Discount1Per) as Discount1Per,
CASE WHEN Isnull(ITL.EDAmount,0) > 0 THEN Isnull(Convert(Decimal(18,
2),ITL.EDAmount),0) ELSE ISNULL(Convert(Decimal(18, 2),ITL.NumberAttribute7),0) END
AS EDAmount,Isnull(Convert(Decimal(18, 2),EDPer),0) As EDPer,
Isnull(Convert(Decimal(18, 2),EDCessPer),0) As EDCessPer, CASE WHEN
Isnull(ITL.EDCessAmount,0) > 0 THEN Isnull(Convert(Decimal(18,
2),ITL.EDCessAmount),0) ELSE ISNULL(Convert(Decimal(18, 2),ITL.NumberAttribute8),0)
END AS EDCessAmount,
Isnull(Convert(Decimal(18, 2),HECessPer),0) As HECessPer, CASE WHEN
Isnull(ITL.HECessAmount,0) > 0 THEN Isnull(Convert(Decimal(18,
2),ITL.HECessAmount),0) ELSE ISNULL(Convert(Decimal(18, 2),ITL.NumberAttribute9),0)
END AS HECessAmount,
Isnull(Convert(Decimal(18, 2),SalesTaxPer),0) As SalesTaxPer, CASE WHEN
Isnull(ITL.SalesTaxAmount,0) > 0 THEN Isnull(Convert(Decimal(18,
2),ITL.SalesTaxAmount),0) ELSE ISNULL(Convert(Decimal(18,
2),ITL.NumberAttribute6),0) END AS SalesTaxAmount,

Isnull(Convert(Decimal(18, 2),SalesTaxCessPer),0) As SalesTaxCessPer, CASE WHEN


Isnull(ITL.SalesTaxCessAmount,0) > 0 THEN Isnull(Convert(Decimal(18,
2),ITL.SalesTaxCessAmount),0) ELSE ISNULL(Convert(Decimal(18,
2),ITL.NumberAttribute10),0) END AS SalesTaxCessAmount,
Convert(Decimal(18, 2),ITL.Discount2Amount) as Discount2Amount,
Convert(Decimal(18, 2),ITL.Discount2Per) as Discount2Per, Convert(Decimal(18,
2),ITL.Discount3Amount) as Discount3Amount,
Convert(Decimal(18, 2), ITL.Discount3Per) as Discount3Per, Convert(Decimal(18,
2),ITL.TotalValue) as TotalValue,

Convert(Decimal(18, 2),ITL.NumberAttribute3) As StockValue,


IsNull(ITL.DateAttribute2, dbo.GetLocalDate())As DateAttribute2,

ITL.BitAttribute1, ITL.BitAttribute2, ITL.BitAttribute3,


ITL.BitAttribute4,RefTransactionsUID,ITL.CharAttribute5,ITL.IsActive ,
case when @Amount <= T.Netvalue and @IsApprovalbasedonUserRights =1 then 1 else 0
end as UserRight,Convert(Decimal(18, 2),T.Netvalue) as Netvalue,
CASE WHEN @IsGSTEnabled = 1 and DocDate >= @GstDate THEN 1 ELSE 0 END AS
IsGST ,T.LineNumber as SequenceNo

From #Tempdetails T
Inner Join InventoryTransList ITL With(NoLock) ON T.InventoryTransListUID =
ITL.InventoryTransListUID And PendingQty > 0
Inner Join ItemM IM With(NoLock) On T.ItemUID=IM.ItemUID
LEFT JOin DrawingM DRM with (nolock) on IM.ItemUID =DRM .ItemUID And DRM.IsActive =
1
) B Order By DocDate desc, DocNo, LineNumber, IsActive
OFFSET @PageSize * (@PageNo - 1) ROWS
FETCH NEXT @PageSize ROWS ONLY;

Else If @Status = 14

Select DISTINCT TransactionsHeaderUID, InventoryTransListUID, Doctype, DocNo,


DocDate, PartyUID, PartyName, City, ItemUID, ItemName,
Qty, UOM, PendingQty, CancelledQty, DocumentSubTypeUID, ReceivedQty,
BranchUID,FromDate, ToDate, DocumentDate, RefDocNo,SupplierBillNo,
SupplierBillDate, Price, LineTotal, HeaderTotal,
ItemStatusDescription, NoOfPockets, NettWeight, GrossWeight, MINNo, MINDocDate,
NoOfDays, LineNumber, ShortageQty,
NumberAttribute1, DateAttribute1, StringAttribute2, ConversionFactor, SaleUOM, MOQ,

SSL, PreceedingDoc, SucceedingDoc,MaxQty, ItemQOH, Notes ,NetCost, BasicValue,


PackingPer, PackingAmount, Discount1Amount, Discount1Per,
EDAmount, EDPer, EDCessAmount, EDCessPer, HECessPer, HECessAmount,
SalesTaxPer, SalesTaxAmount, SalesTaxCessAmount, SalesTaxCessPer, Discount2Amount,
Discount2Per, Discount3Amount, Discount3Per, TotalValue,
StockValue, DateAttribute2,BitAttribute1, BitAttribute2, BitAttribute3,
BitAttribute4, BasicValue,RefTransactionsUID, CharAttribute5 ,IsActive,
NetValue,ItemSubGroupName,ItemType,InsurancePer,InsuranceAmount,SpecialCessPer,Spec
ialCessAmount,ReelReamNo ,Doc
From (
Select distinct A.TransactionsHeaderUID,null AS InventoryTransListUID,
Doctype,A.DocNo, DocDate, A.PartyUID, PartyName, City,null AS ItemUID,null AS
ItemName,
null AS Qty,null AS UOM,null AS PendingQty, null AS CancelledQty,
A.DocumentSubTypeUID, null AS ReceivedQty,
null AS BranchUID,FromDate, ToDate, A.DocumentDate, RefDocNo,
A.SupplierBillNo, A.SupplierBillDate, null AS Price, null AS LineTotal,
HeaderTotal,

null AS ItemStatusDescription, null AS NoOfPockets, null AS NettWeight, null AS


GrossWeight, null AS MINNo, null AS MINDocDate, null AS NoOfDays, 0 as LineNumber,
null AS ShortageQty,
null AS NumberAttribute1, dbo.GetLocalDate() As DateAttribute1,null AS
StringAttribute2, null AS ConversionFactor, null AS SaleUOM, null AS MOQ,
null AS SSL, PreceedingDoc,null AS SucceedingDoc,
null AS MaxQty, null AS ItemQOH, null AS Notes ,

NULL AS NetCost, NULL AS BasicValue, NULL AS PackingPer, NULL AS PackingAmount,


NULL AS Discount1Amount, NULL AS Discount1Per,
NULL AS EDAmount, NULL AS EDPer, NULL AS EDCessAmount, NULL AS EDCessPer, NULL AS
HECessPer, NULL AS HECessAmount,

NULL AS SalesTaxPer, NULL AS SalesTaxAmount, NULL AS SalesTaxCessAmount, NULL AS


SalesTaxCessPer, NULL AS Discount2Amount, NULL AS Discount2Per, NULL AS
Discount3Amount, NULL AS Discount3Per, NULL AS TotalValue,

NULL As StockValue, dbo.GetLocalDate() As DateAttribute2,NULL AS BitAttribute1,


NULL AS BitAttribute2, NULL AS BitAttribute3, NULL AS BitAttribute4,
A.RefTransactionsUID,'' AS CharAttribute5,
1 AS IsActive,H.NetValue, NULL ItemSubGroupName,NULL ItemType,NULL AS
InsurancePer,NULL AS InsuranceAmount,NULL AS SpecialCessPer,NULL AS
SpecialCessAmount,NULL AS ReelReamNo,Doc

From #Tempdetails A
INNER JOIN (select TransactionsHeaderUID From #Tempdetails)T ON
A.TransactionsHeaderUID = T.TransactionsHeaderUID
INNER JOIN TransactionsHeader H WITH(NOLOCK) ON H.TransactionsHeaderUID =
A.TransactionsHeaderUID
UNION ALL

Select distinct T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,


DocDate, T.PartyUID, PartyName, City, T.ItemUID, T.ItemName,

T.NumberAttribute2 As Qty, T.UOM, PendingQty, CancelledQty, T.DocumentSubTypeUID,


ReceivedQty,

T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo,

T.SupplierBillNo, T.SupplierBillDate, T.Price, LineTotal, HeaderTotal,

ItemStatusDescription, NoOfPockets, NettWeight, GrossWeight, MINNo, MINDocDate,


NoOfDays, T.LineNumber, T.ShortageQty,
T.NumberAttribute1, IsNull(T.DateAttribute1, dbo.GetLocalDate())As DateAttribute1,
T.StringAttribute2, ConversionFactor,ISNULL(US.UOMDescription,'') AS SaleUOM,

Convert(Decimal(18, 3), (T.MOQ/ConversionFactor)) As MOQ,

Convert(Decimal(18, 3), (T.SSL/ConversionFactor)) As SSL, PreceedingDoc,


SucceedingDoc,
Convert(Decimal(18, 3), (T.MaxQty /ConversionFactor))MaxQty, Convert(Decimal(18,
3), (ItemQOH /ConversionFactor))ItemQOH, Notes ,

ITL.NetCost, ITL.BasicValue, IsNull(ITL.PackingPer, 0)PackingPer,


IsNull(ITL.PackingAmount, 0)PackingAmount,

Isnull(ITL.Discount1Amount,0) as Discount1Amount, Isnull(ITL.Discount1Per,0) as


Discount1Per,
Isnull(EDPer,0) As EDPer,Isnull(ITL.EDAmount,0) AS EDAmount,
Isnull(EDCessPer,0) As EDCessPer,Isnull(ITL.EDCessAmount,0) EDCessAmount,

Isnull(HECessPer,0) As HECessPer,Isnull(ITL.HECessAmount,0) AS HECessAmount,


Isnull(SalesTaxPer,0) As SalesTaxPer,Isnull(ITL.SalesTaxAmount,0) AS
SalesTaxAmount,
Isnull(SalesTaxCessPer,0) As SalesTaxCessPer,Isnull(ITL.SalesTaxCessAmount,0) AS
SalesTaxCessAmount,
Isnull(ITL.Discount2Amount,0) as Discount2Amount,ISNULL(ITL.Discount2Per,0) AS
Discount2Per,
ISNULL(ITL.Discount3Amount,0) AS Discount3Amount,ISNULL(ITL.Discount3Per,0) AS
Discount3Per,
ISNULL(ITL.TotalValue,0) ASTotalValue,

ITL.NumberAttribute3 As StockValue, IsNull(ITL.DateAttribute2,


dbo.GetLocalDate())As DateAttribute2,

ITL.BitAttribute1, ITL.BitAttribute2, ITL.BitAttribute3,


ITL.BitAttribute4,T.RefTransactionsUID,ITL.CharAttribute5,ITL.IsActive ,

H.NetValue,S.ItemSubGroupDescription AS ItemSubGroupName,IT.ItemType,

Isnull(ITL.NumberAttribute6,0) AS InsurancePer,Isnull(ITL.NumberAttribute7,0) AS
InsuranceAmount,
Isnull(ITL.NumberAttribute8,0) AS SpecialCessPer,Isnull(ITL.NumberAttribute10,0) AS
SpecialCessAmount,
ISNULL(ITL.NumberAttribute20,0) AS ReelReamNo ,Doc

From #Tempdetails T
INNER JOIN TransactionsHeader H WITH(NOLOCK) ON H.TransactionsHeaderUID =
T.TransactionsHeaderUID

Inner Join InventoryTransList ITL With(NoLock) ON T.InventoryTransListUID =


ITL.InventoryTransListUID
INNER JOIN ItemM IM WITH(NOLOCK) ON IM.ItemUID = ITL.ItemUID

INNER JOIN ItemBranchMappingM BM WITH(NOLOCK) ON BM.ItemUID = IM.ItemUID AND


BM.BranchUID = @BranchUID AND BM.IsActive =1

LEFT JOIN ItemSubGroupM S WITH(NOLOCK) ON S.ItemSubGroupUID = IM.ItemSubGroupUID

LEFT JOIN ItemTypeM IT WITH(NOLOCK) ON IT.ItemTypeUID = IM.ItemTypeUID

LEFT JOIN UOM US With(NoLock) ON US.UOMUID = BM.SalesUOMUID

) B Order By Doc,DocDate, LineNumber, IsActive

Else If @Status=5
Select Distinct TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,
DocDate, PartyUID, PartyName, City, ItemUID, ItemName,ItemCode,
ItemAliAsName, ISM.QOH as Qty, UOM, PendingQty, CancelledQty, DocumentSubTypeUID,
ReceivedQty,
BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo, ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate, Price,


LineTotal, HeaderTotal,
ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays, LineNumber, ShortageQty,

NumberAttribute1, DateAttribute1, StringAttribute2, Grade As NumberAttribute4,


PreceedingDoc, SucceedingDoc, (PendingQty*Price) AS BasicValue,Doc,
PartyCategoryDescription As PartySubGroup, PartyGroupName

From #Tempdetails T with (Nolock)

Inner Join ItemStockM ISM with (Nolock) ON


T.InventoryTranslistuid=ISM.InventoryTranslistUID

where ISM.QOH>0
Group By TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
PartyUID, PartyName, City, ItemUID, ItemName,ItemCode,

ItemAliAsName, Qty, UOM, PendingQty, CancelledQty, DocumentSubTypeUID,

BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo, ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate, Price,


LineTotal, HeaderTotal,
ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays, LineNumber, ReceivedQty, ShortageQty,

NumberAttribute1, DateAttribute1, StringAttribute2, Grade, PreceedingDoc,


SucceedingDoc, BasicValue ,ISM.QOH,Doc,
PartyCategoryDescription , PartyGroupName

Order By Doc, DocDate,LineNumber

Else If @Status = 17
Select TransactionsHeaderUID, InventoryTransListUID, Doctype, DocNo, DocDate,
PartyUID, PartyName, City, ItemUID, ItemName,
Qty, UOM, PendingQty, CancelledQty, DocumentSubTypeUID, ReceivedQty,
BranchUID,FromDate, ToDate, DocumentDate, RefDocNo, SupplierBillNo,
SupplierBillDate, Price, LineTotal, HeaderTotal,
ItemStatusDescription, NoOfPockets, NettWeight, GrossWeight, MINNo, MINDocDate,
NoOfDays, LineNumber, ShortageQty,
NumberAttribute1, DateAttribute1, StringAttribute2, ConversionFactor, PurchaseUOM,
MOQ,
SSL, PreceedingDoc, SucceedingDoc,MaxQty, ItemQOH,
Notes ,Process,ExpectedDate,RequestNo,RequestDate,WorkOrderNo,WorkOrderDate,Doc
From
( Select distinct A.TransactionsHeaderUID,null AS InventoryTransListUID,
Doctype,A.DocNo, DocDate, A.PartyUID, PartyName, City,null AS ItemUID,null AS
ItemName,
null AS Qty,null AS UOM,null AS PendingQty, null AS CancelledQty,
A.DocumentSubTypeUID, null AS ReceivedQty,
null AS BranchUID,FromDate, ToDate, A.DocumentDate, RefDocNo,
A.SupplierBillNo, A.SupplierBillDate, null AS Price, null AS LineTotal,
HeaderTotal,
null AS ItemStatusDescription, null AS NoOfPockets, null AS NettWeight, null AS
GrossWeight, null AS MINNo, null AS MINDocDate, null AS NoOfDays, 0 as LineNumber,
null AS ShortageQty,
null AS NumberAttribute1, dbo.GetLocalDate() As DateAttribute1,null AS
StringAttribute2, null AS ConversionFactor, null AS PurchaseUOM, null AS MOQ,
null AS SSL, PreceedingDoc,null AS SucceedingDoc,
null AS MaxQty, null AS ItemQOH, null AS Notes ,null as Process, dbo.GetLocalDate()
As ExpectedDate,TH.DocumentNo AS RequestNo,TH.DocumentDate As RequestDate,
WTH.DocumentNo As WorkOrderNo,WTH.DocumentDate As WorkOrderDate,Doc

From #Tempdetails A
Inner Join TransactionsHeader TH WITH(NOLOCK) ON TH.TransactionsHeaderUID =
A.PartyUID
INNER JOIN TransactionsHeader WTH WITH(NOLOCK) ON WTH.TransactionsHeaderUID =
TH.PartyUID
INNER JOIN (select TransactionsHeaderUID From #Tempdetails)T ON
A.TransactionsHeaderUID = T.TransactionsHeaderUID
UNION ALL
Select T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, PartyName, City, T.ItemUID, ItemName,
T.Qty As Qty, T.UOM, PendingQty, CancelledQty, T.DocumentSubTypeUID, ReceivedQty,
T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo,
T.SupplierBillNo, T.SupplierBillDate, T.Price, LineTotal, HeaderTotal,

ItemStatusDescription, NoOfPockets, NettWeight, GrossWeight, MINNo, MINDocDate,


NoOfDays, T.LineNumber, T.ShortageQty,
T.NumberAttribute1, IsNull(T.DateAttribute1, dbo.GetLocalDate())As DateAttribute1,
T.StringAttribute2, ConversionFactor, PurchaseUOM, Convert(Decimal(18, 3),
(MOQ/ConversionFactor)) As MOQ,
Convert(Decimal(18, 3), (SSL/ConversionFactor)) As SSL, PreceedingDoc,
SucceedingDoc,
Convert(Decimal(18, 3), (MaxQty /ConversionFactor))MaxQty, Convert(Decimal(18, 3),
(ItemQOH /ConversionFactor))ItemQOH, Notes,
S.Process,S.ExpectedDate,Null AS RequestNo,dbo.GetLocalDate() As RequestDate,

Null As WorkOrderNo,dbo.GetLocalDate() As WorkOrderDate ,Doc

From #Tempdetails T
INNER JOIN InventoryTransList ITL WITH(NOLOCK) ON T.InventoryTransListUID =
ITL.InventoryTransListUID
INNER JOIN (
SELECT IL.InventoryUID,PM.process,ITLP.ExpectedDate FROM InventoryLinkM IL
WITH(NOLOCK)
INNER JOIN InventoryTransListProcess ITLP WITH(NOLOCK) ON IL.RefInventoryUID =
ITLP.InventoryTransListProcessUID
INNER JOIN ProcessM PM WITH(NOLOCK) ON ITLP.ProcessUID = PM.ProcessUID

WHERE IL.RefStockUID Is NOT Null


)AS S ON ITL.InventoryTransListUID = S.InventoryUID
) B Order By Doc,DocDate, LineNumber

Else If @Status = 15
Select Distinct T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,
DocDate, T.PartyUID, PartyName, City, T.ItemUID, IT.ItemType As ItemName,

ItemAliAsName, T.Qty, UOM, PendingQty, CancelledQty, T.DocumentSubTypeUID,


ReceivedQty,IM.ItemCode,
T.BranchUID, FromDate, ToDate, T.DocumentDate, H.RefDocNo1 AS RefDocNo,
CompanyPartNo, T.ItemID,
Isnull(H.StringAttribute5,'-') As VehicleName, VehicleUID, T.ValidTillDate,
T.SupplierBillNo, T.SupplierBillDate, T.Price, LineTotal, HeaderTotal,

ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays, T.LineNumber, T.ShortageQty,

T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As


NumberAttribute4, PreceedingDoc, SucceedingDoc, T.BasicValue,

S.ItemSubGroupDescription As GSM, IM.ItemName As ItemSize, Isnull(TX.TaxAmount,0)


As TaxAmount, ITL.TotalValue As NetCost,
IT.ItemType As ProductName, T.PartyCategoryDescription, T.PartyGroupName, Doc

From #Tempdetails T
INNER JOIN TransactionsHeader H WITH(NOLOCK) ON H.TransactionsHeaderUID =
T.TransactionsHeaderUID
Inner Join InventoryTransList ITL With(NoLock) ON T.InventoryTransListUID =
ITL.InventoryTransListUID
INNER JOIN ItemM IM WITH(NOLOCK) ON IM.ItemUID = ITL.ItemUID

INNER JOIN ItemBranchMappingM BM WITH(NOLOCK) ON BM.ItemUID = IM.ItemUID AND


BM.BranchUID = @BranchUID AND BM.IsActive =1

LEFT JOIN ItemSubGroupM S WITH(NOLOCK) ON S.ItemSubGroupUID = IM.ItemSubGroupUID

LEFT JOIN ItemTypeM IT WITH(NOLOCK) ON IT.ItemTypeUID = IM.ItemTypeUID

LEFT JOIN UOM US With(NoLock) ON US.UOMUID = BM.SalesUOMUID

Left Join (SELECT ITL.InventoryTransListUID, Sum(Isnull(EDAmount,0)) +


SUM(Isnull(EDCessAmount,0)) + Sum(Isnull(HECessAmount,0)) +
Sum(Isnull(SalesTaxAmount,0)) + Sum(Isnull(ITL.NumberAttribute14,0)) +
Sum(ISNULL(SalesTaxCessAmount,0)) +
SUM(Isnull(AddAmount,0)) + SUM(Isnull(Commission,0)) +
SUM(IsNull(BasicDiscountAmount,0))+

Sum(Isnull(ITL.NumberAttribute10,0)) As TaxAmount

FROM TransactionsHeader TH WITH (NOLOCK)

INNER JOIN InventoryTransList ITL WITH (NOLOCK) ON


TH.TransactionsHeaderUID=ITL.TransactionsHeaderUID
WHERE ITL.IsActive=1 And TH.BranchUID = @BranchUID

And TH.DocumentSubTypeUID IN (@DocumentSubTypeUID, @AddlDocumentSubTypeUID)

Group By ITL.InventoryTransListUID)TX On TX.InventoryTransListUID =


T.InventoryTransListUID
Order By Doc,DocDate, LineNumber

Else If @Status = 18
Select Distinct t.TransactionsHeaderUID, InventoryTransListUID, Doctype, DocNo,
DocDate, t.PartyUID, t.PartyName, City, t.ItemUID, IM .ItemCode, IM.ItemName,

ItemAliAsName, Qty, UOM, PendingQty, CancelledQty, t.DocumentSubTypeUID,


ReceivedQty,
t.BranchUID, FromDate, ToDate, t.DocumentDate, RefDocNo, CompanyPartNo,
t.ItemID,IM.ItemCode , IM.PartNo ,DRM .DrawingNo +'/' +DRM.DrawingRevisionNo as
DrawingNo,
VehicleName, VehicleUID, t.ValidTillDate, t.SupplierBillNo, t.SupplierBillDate,
Price, LineTotal, HeaderTotal,

ItemStatusDescription, t.VehicleNo, NoOfPockets, NettWeight, GrossWeight, NoOfDays,


LineNumber, ShortageQty,
t.NumberAttribute1, t.DateAttribute1, t.StringAttribute2, Grade As
NumberAttribute4, PreceedingDoc, SucceedingDoc, BasicValue, HeaderStatus,Doc,
T.ItemName As ItemSize, IT.ItemType As ProductName, ISG.ItemSubGroupDescription As
GSM, Com.CompanyCode, COM.CompanyName,
T.PartyCategoryDescription, T.PartyGroupName, T.RefDocNo1,
T.RefDocDate1,ISNULL(TS.DocumentNo,'') AS SalesinvoiceNo
From #Tempdetails t
Inner Join ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID
LEFT join DrawingM DRM with(nolock) on IM.ItemUID =DRM.ItemUID And DRM.IsActive = 1
Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID
Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID
Left Join ItemSubGroupM ISG With(NoLock) On ISG.ItemSubGroupUID =
IM.ItemSubGroupUID
Left Join ItemGroupM IGM With(NoLock) On IGM.ItemGroupUID = ISG.ItemGroupUID
Left join TransactiOnsHeader TS With(NoLock) on
T.RefTransactionsUID=TS.TransactionsHeaderUID
LEFT Join ItemTypeM IT With(NoLock) On IT.ItemTypeUID = IM.ItemTypeUID
Group By t.TransactionsHeaderUID, InventoryTransListUID, Doctype, DocNo, DocDate,
t.PartyUID, t.PartyName, City, t.ItemUID,
IM.ItemCode ,IM.ItemName, IM.PartNo ,DRM.DrawingNo
,DRM.DrawingRevisionNo, t.ItemName,

ItemAliAsName, Qty, UOM, PendingQty, CancelledQty,


t.DocumentSubTypeUID,IM .ItemCode,

t.BranchUID, FromDate, ToDate, t.DocumentDate, RefDocNo, CompanyPartNo, t.ItemID,


VehicleName, VehicleUID, t.ValidTillDate, t.SupplierBillNo, t.SupplierBillDate,
Price, LineTotal, HeaderTotal,

ItemStatusDescription, t.VehicleNo, NoOfPockets, NettWeight, GrossWeight, NoOfDays,


LineNumber, ReceivedQty, ShortageQty,

t.NumberAttribute1, t.DateAttribute1, t.StringAttribute2, Grade, PreceedingDoc,


SucceedingDoc, BasicValue, HeaderStatus ,Doc,
T.ItemName, IT.ItemType , ISG.ItemSubGroupDescription, Com.CompanyCode,
COM.CompanyName, T.PartyCategoryDescription, T.PartyGroupName, T.RefDocNo1,
T.RefDocDate1,TS.DocumentNo
Order By Doc,DocDate, LineNumber

Else If @Status = 19
Select Distinct T.TransactionsHeaderUID, T.InventoryTransListUID, T.Doctype,
T.DocNo, T.DocDate, T.PartyUID, T.PartyName, T.City, T.ItemUID, IM.ItemName,
IM.ItemCode ,IM.PartNo ,DRM .DrawingNo +'/'+DRM .DrawingRevisionNo as DrawingNo,

T.ItemAliAsName, T.Qty, T.UOM, Isnull(T.PendingQty,0) As PendingQty,


T.CancelledQty, T.DocumentSubTypeUID, T.ReceivedQty,

T.BranchUID, T.FromDate, T.ToDate, T.DocumentDate, T.RefDocNo, T.CompanyPartNo,


T.ItemID,
T.VehicleName, T.VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,
T.Price, T.LineTotal, T.HeaderTotal,

T.ItemStatusDescription, T.VehicleNo, T.NoOfPockets, T.NettWeight, T.GrossWeight,


T.MINNo, T.MINDocDate, T.NoOfDays, T.LineNumber, T.ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As
NumberAttribute4, T.PreceedingDoc, T.SucceedingDoc, T.BasicValue, T.HeaderStatus,

MA.AreaTypeDesc AS MainArea,FA.AreaTypeDesc AS FunctionalArea,


COM.CompanyCode ,Doc, Notes
From #Tempdetails T
Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID

Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID


Left Join ItemM IM With(Nolock) On IM.ItemUID = T.ItemUID
Left Join DrawingM DRM with(nolock) on IM.ItemUID=DRM.ItemUID And DRM.IsActive = 1
LEFT JOIN AreaTypeM MA WITH(NOLOCK) ON MA.AreaTypeMUID = T.HUIDAttribute2 AND
MA.AreaType = 'M'
LEFT JOIN AreaTypeM FA WITH(NOLOCK) ON FA.AreaTypeMUID = T.HUIDAttribute3 AND
FA.AreaType = 'F'
Order By Doc,DocDate, LineNumber

Else If @Status = 20

Select Distinct TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,


DocDate, T.PartyUID, T.PartyName, City, T.ItemUID, T.ItemName,

ItemAliAsName, SM.UOMDescription As UOM,LS.Qty - IsNull(M.Quantity, 0) As


PendingQty,
Convert(Decimal(18, 3), CancelledQty/ConversionFactor) As CancelledQty,

DocumentSubTypeUID, Convert(Decimal(18, 3), ReceivedQty/ConversionFactor)


ReceivedQty,

T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate,


CONVERT(DECIMAL(18,2),Price) As Price, LineTotal, HeaderTotal,

ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate,

NoOfDays, LineNumber, Convert(Decimal(18, 3), ShortageQty/ConversionFactor) As


ShortageQty,

T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As


NumberAttribute4, PreceedingDoc, SucceedingDoc,

Convert(Varchar(11), IsNull(LS.ScheduleDate, ''), 106)As ScheduleDate,


IsNull(LS.Qty, 0) As ScheduleQty, T.BasicValue ,
T.PartyCategoryDescription,T.PartyGroupName,Doc ,ItemQOH ,Convert(Decimal(18,2),Cre
ditBalance ) AS CreditBalance,
DATEDIFF(day, dbo.GetLocalDate(),LS.ScheduleDate) AS DueDays,
CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) < 0 THEN -1 ELSE

CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) = 0 THEN 0 ELSE


CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) > 0 THEN 1 END END END
AS DueDateRange, LS.InventoryTransListScheduleUID,
PSM.PartySubTypeDescription As PartySubType, T.ItemName As ItemSize, IT.ItemType As
ProductName, ISG.ItemSubGroupDescription As GSM
From #Tempdetails T

Inner Join UOM SM With(NoLock) ON T.SalesUOMUID = SM.UOMUID


Inner Join InventoryTransListSchedule LS With(NoLock) ON LS.InventoryTransListUID =
T.InventoryTransListUID
Inner Join ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID

Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID

Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID


Left Join PartyM P With (NoLock) On T.PartyUid = P.PartyUID

Left Join PartySubTypeM PSM With(NoLock) On P.PartySubTypeUID = PSM.PartySubTypeUID

Left Join ItemSubGroupM ISG With(NoLock) On ISG.ItemSubGroupUID =


IM.ItemSubGroupUID
Left Join ItemGroupM IGM With(NoLock) On IGM.ItemGroupUID = ISG.ItemGroupUID

LEFT Join ItemTypeM IT With(NoLock) On IT.ItemTypeUID = IM.ItemTypeUID

Left Join

(Select M.RefInventoryTransListUID As RefTransactionsLISTUID,


SUM(IsNull(LM.Quantity, 0)) As Quantity, LM.RefInventoryUID As
InventoryTransListScheduleUID --, L.IsActive, SL.IsActive

From InventoryTransList L With(NoLock)


Inner Join TransactionsHeader H With(Nolock) On H.TransactionsHeaderUID =
L.TransactionsHeaderUID AND H.IsActive=1
Inner Join InventoryTransListMatch M With(NoLock) ON M.InventoryTransListUID =
L.InventoryTransListUID
Left Join InventoryLinkM LM With(NoLock) ON LM.InventoryUID =
L.InventoryTransListUID
WHERE H.DocumentDate Between @FromDate And @ToDate
And L.IsActive = 1 AND LM.IsActive=1 AND LM.RefStockUID IS NULL AND M.IsActive= 1
AND M.ItemStockUID IS NULL
GROUP BY M.RefInventoryTransListUID,LM.RefInventoryUID
)M ON M.RefTransactionsLISTUID = T.InventoryTransListUID And
M.InventoryTransListScheduleUID = LS.InventoryTransListScheduleUID
LEFT JOIN VW_Ledgerbalance VL ON T.PartyUID = VL.AccountUID AND T.FinYearUID =
VL.FinYearUID
Where LS.ScheduleDate Between @FromDate And @ToDate
Group By TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, T.PartyName, City, T.ItemUID, T.ItemName,
ItemAliAsName, SM.UOMDescription, T.Qty, UOM, PendingQty, CancelledQty,
DocumentSubTypeUID,
T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate, Price,


LineTotal, HeaderTotal,
ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays, LineNumber, ReceivedQty, ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade, ConversionFactor,
PreceedingDoc, SucceedingDoc, ScheduleDate, Ls.Qty, M.Quantity, T.SaleCF,
T.BasicValue,
T.PartyCategoryDescription,T.PartyGroupName,Doc,ItemQOH ,CreditBalance ,LS.Inventor
yTransListScheduleUID,
PSM.PartySubTypeDescription, IT.ItemType, ISG.ItemSubGroupDescription
Order By Doc ,DocDate,ScheduleDate, Docno, LineNumber

Else If @Status = 21
select TBA.transactionsHeaderUID,DS.DocumentSubTypeDesc as DocType,
TBA.DocumentNo as DocNo ,TBA.DocumentDate as
DocDate,PM.PartyUID,PM.PartyName,DS.DocumentSubTypeUID,TBA.BranchUID,
@FromDate Fromdate,@ToDate
ToDate,TBA.DocumentDate,convert(decimal(18,2),VPC.Provision) as Amount,
DATEDIFF(DD,TBA.DocumentDate, dbo.GetLocalDate()) DueDays,0 as NoOfDays,
VPC.SupplierBillNo,VPC.SupplierBillDate,
'' As NumberAttribute4, PreceedingDoc,'0' as SucceedingDoc,
'UnApproved'HeaderStatus ,
PartyCategoryDescription, PartyGroupName, '' AS MainArea, '' AS FunctionalArea,
IM.ItemCode,
'' as CompanyCode, CASE WHEN DATEDIFF(day,TBA.DocumentDate,dbo.GetLocalDate()) > 3
And DATEDIFF(day,TBA.DocumentDate,dbo.GetLocalDate()) <= 15 THEN -1 ELSE

CASE WHEN DATEDIFF(day,TBA.DocumentDate,dbo.GetLocalDate()) > 15 THEN 0 ELSE

CASE WHEN DATEDIFF(day,TBA.DocumentDate,dbo.GetLocalDate()) > 0 And


DATEDIFF(day,TBA.DocumentDate,dbo.GetLocalDate()) <= 3 THEN 1 END END END AS
DueDateRange
from Vw_PurchaseProvisionCredit VPC
Inner Join Vw_PartyM PM with (nolock) on VPC.PartyUID = PM.PartyUID
Inner Join Vw_BillAccountedGRNs BA with (Nolock) ON
BA.InspectionUID=VPC.TRansactionsheaderuid
Inner Join TransactionsHeader TBA with (Nolock) ON
BA.TransactionsHeaderUID=TBA.TransactionsHeaderUID
Inner Join InventoryTransList TL with (Nolock) On TL.TransactionsHeaderUID =
TBA.TransactionsHeaderUID
Inner Join ItemM IM with (Nolock) On TL.ItemUID =IM .ItemUID
INNER JOIN DocumentSubTypeM DS WITH (NOLOCK) ON DS.DocumentSubTypeUID
=TBA.DocumentSUBTypeUID
CROSS APPLY Fn_PreceedingDoc(TBA.transactionsHeaderUID, @BranchUID)
where BA.BAStatusUID ='E4A5F86B-3422-483D-82A9-FD15FB76B62B' and
TBA.DocumentDate<=@ToDate and TBA.BranchUID =@BranchUID
ANd TBA.DocumentSubTypeUID=@DocumentSubTypeUID
And IsNull(PM.PartyUID,'00000000-0000-0000-0000-000000000000')= Case When @PartyUID
<> '00000000-0000-0000-0000-000000000000' Then
@PartyUID Else IsNull(PM.PartyUID, '00000000-0000-0000-0000-000000000000') End
order by TBA.DocumentDate,TBA.DocumentNo

/*
Select Distinct TransactionsHeaderUID, Doctype, DocNo, DocDate, PartyUID,
PartyName,
DocumentSubTypeUID, T.BranchUID, FromDate, ToDate, DocumentDate, T.NetValue As
Amount,
SupplierBillNo, SupplierBillDate, HeaderTotal, DATEDIFF(DD,DocDate,
dbo.GetLocalDate()) DueDays,
NoOfDays, Grade As NumberAttribute4, PreceedingDoc, SucceedingDoc, HeaderStatus ,

PartyCategoryDescription, PartyGroupName, MA.AreaTypeDesc AS MainArea,


FA.AreaTypeDesc AS FunctionalArea,
COM.CompanyCode,Doc, CASE WHEN DATEDIFF(day,DocDate,dbo.GetLocalDate()) > 3 And
DATEDIFF(day,DocDate,dbo.GetLocalDate()) <= 15 THEN -1 ELSE
CASE WHEN DATEDIFF(day,DocDate,dbo.GetLocalDate()) > 15 THEN 0 ELSE

CASE WHEN DATEDIFF(day,DocDate,dbo.GetLocalDate()) > 0 And


DATEDIFF(day,DocDate,dbo.GetLocalDate()) <= 3 THEN 1 END END END AS DueDateRange
From #Tempdetails T
Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID
Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID

LEFT JOIN AreaTypeM MA WITH(NOLOCK) ON MA.AreaTypeMUID = T.HUIDAttribute2 AND


MA.AreaType = 'M'
LEFT JOIN AreaTypeM FA WITH(NOLOCK) ON FA.AreaTypeMUID = T.HUIDAttribute3 AND
FA.AreaType = 'F'
Group By TransactionsHeaderUID, Doctype, DocNo, DocDate, PartyUID, PartyName,

DocumentSubTypeUID, T.BranchUID, FromDate, ToDate, DocumentDate, T.NetValue,

SupplierBillNo, SupplierBillDate, HeaderTotal, NoOfDays, Grade, NoOfDays,

PreceedingDoc, SucceedingDoc, HeaderStatus , PartyCategoryDescription,


PartyGroupName,
MA.AreaTypeDesc, FA.AreaTypeDesc, COM.CompanyCode,Doc
Order By DocDate, Doc
*/

Else If @Status = 22
begin
Create Table #RefDoc(
WONo varchar(500) Collate
SQL_Latin1_General_CP1_CI_AI,RefInventoryTransListUID uniqueidentifier
,ItemUID uniqueidentifier,RefInventoryUID uniqueidentifier)

Insert Into #RefDoc


Select Distinct T.DocumentNo as
WONO,RM.RefInventoryTransListUID,L.ItemUID,M.RefInventoryUID from
RefInventoryTransListMatch RM
Inner join InventoryTransList L with(Nolock) on L.InventoryTransListUID
=RM.InventoryTransListUID
Inner join Transactionsheader T With(nolock) on T.TransactionsHeaderUID
=L.TransactionsHeaderUID
inner join(select M.RefInventoryUID,InventoryUID from InventoryLinkM M
Group by M.RefInventoryUID,M.InventoryUID
)M on M.InventoryUID=L.InventoryTransListUID
and T.DocumentSUBTypeUID ='764F6393-9A8E-4CE0-BDBD-19BBDDCC98DF'
and RefTransactionsUID is NULL

IF @IsEnableLengthwidth=1
Begin
select th.TransactionsHeaderUID, IL.InventoryTransListUID, TH.DocumentNo as DocNo,
Convert(Varchar(11),TH.documentDate, 106) as DocDate, TH.PartyUID, PartyName,
IL.ItemUID,IG.ItemSubGroupDescription As
ItemSubGroup,IM.ItemCode,IM.ItemID,IM.ItemName,U.UOMDescription As UOM,
TH.DocumentSubTypeUID, Th.BranchUID,@FromDate as FromDate , @ToDate as ToDate ,
TH.SupplierBillNo as RefDocNo, TH.SupplierBillNo, Convert(Varchar(11),
TH.SupplierBillDate, 106) As SupplierBillDate,
Convert(Varchar(11), IsNull(ILS.ScheduleDate, ''), 106) As
ScheduleDate,IsNull(ILS.Qty, 0) As ScheduleQty,--CONVERT(DECIMAL(18,2),IL.Price) As
Price,
--case when IL.ConversionUOMQty <= 0 then Il.Price else
(IL.Price*IL.ConversionUOMQty) end
IL.Price as Price,
ISNULL(ILS.MatchQty1,0) as PickedQty,ISNULL(ILS.MatchQty2,0) as InvoicedQty,
(IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0)) as PendingQty,
--case when IL.ConversionUOMQty <= 0 then (IL.Qty*Il.Price) else
(IL.Qty*IL.Price*IL.ConversionUOMQty)
((IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0))*Il.Price) as BasicValue,
Convert(decimal(18,2),(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty,
0))*(IsNull(ILS.Qty, 0)-isnull(ILS.MatchQty2,0))) as [Addl.Cost],
case when Isnull(IL.ConversionUOMQty ,0) <= 0 then ((IsNull(ILS.Qty, 0)-
ISNULL(ILS.MatchQty2,0))*Il.Price) + Convert(decimal(18,2),
(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-
isnull(ILS.MatchQty2,0)))
else ((IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0))*IL.Price*IL.ConversionUOMQty)
+ Convert(decimal(18,2),((Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty,
0))*(IsNull(ILS.Qty, 0)-isnull(ILS.MatchQty2,0)))*IL.ConversionUOMQty) end as
AmtinINR,
--Convert(decimal(18,2),(Convert(decimal(18,2),((IL.Price *(IsNull(ILS.Qty, 0)-
ISNULL(ILS.MatchQty2,0)))) +
--(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-
ISNULL(ILS.MatchQty2,0))))) as BasicValue,
Convert(decimal(18,2),Isnull(IL.ConversionUOMQty ,0)) as ConversionRate,
--case when Isnull(IL.ConversionUOMQty ,0) =0 then Convert(decimal(18,2),
(Convert(decimal(18,2),((IL.Price *(IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0)))) +

--(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-


ISNULL(ILS.MatchQty2,0)))))
--else Convert(decimal(18,2),Convert(decimal(18,2),(Convert(decimal(18,2),
((IL.Price *(IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0)))) +
--(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-
ISNULL(ILS.MatchQty2,0)))))*Isnull(IL.ConversionUOMQty ,0)) end as AmtinINR,
--case when Isnull(IL.ConversionUOMQty ,0) =0 then Convert(decimal(18,2),
(Convert(decimal(18,2),((IL.Price *(IsNull(ILS.Qty, 0)-isnull(ILS.MatchQty2,0)))) +

--(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-


isnull(ILS.MatchQty2,0)))))
--else Convert(decimal(18,2),Convert(decimal(18,2),(Convert(decimal(18,2),
((IL.Price *(IsNull(ILS.Qty, 0)-isnull(ILS.MatchQty2,0)))) +
--(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-
isnull(ILS.MatchQty2,0)))))*Isnull(IL.ConversionUOMQty ,0)) end as AmtinINR,
case when (IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0))>0 then DATEDIFF(day,
dbo.GetLocalDate(),ILS.ScheduleDate) else 0 end AS DueDays ,
CASE WHEN DATEDIFF(DD,ILS.ScheduleDate, dbo.GetLocalDate()) <= 3 THEN 0 ELSE

CASE WHEN DATEDIFF(DD,ILS.ScheduleDate, dbo.GetLocalDate()) > 3 And


DATEDIFF(DD,ILS.ScheduleDate, dbo.GetLocalDate()) <= 15 THEN 1 ELSE

CASE WHEN DATEDIFF(DD,ILS.ScheduleDate, dbo.GetLocalDate()) > 15 THEN -1 END END


END AS DueDateRange,
Convert(Varchar(11), IsNull(ILS.RequiredDate, ''), 106) As
RequiredDate,Convert(Varchar(11), RM.DueDate, 106) As DueDate,
VWL.Amount As LedBal, QOH as ItemQOH,TH.RefDocNo1 as CustomerPONo,IL.Linenumber as
Position,
IM.MaterialGrade as Grade,IL.StringAttribute8 as
ConditionOfSupply,IL.StringAttribute7 as TypeOfSupply,
isnull(IL.StringAttribute2,'') as Modeofshipment ,
(Isnull(IM.finishedweight,0) *(IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0))) as
weight,IM.ModelNumber as ModelNo,
IsNull(Stuff((
SELECT DISTINCT cast(WONo AS VARCHAR(MAX)) +
','
FROM #RefDoc RT
WHERE RT.RefInventoryTransListUID =
IL.InventoryTransListUID and RT.RefInventoryUID=ILS.InventoryTransListScheduleUID
FOR XML path('')
), 1, 0, ''), '') as
WONo,DM.DrawingNO,DM.DrawingRevisionNo,IL.InventoryTransListUID
From Transactionsheader TH
Inner Join Inventorytranslist IL with (NOlock) ON
TH.TransactionsheaderUID=IL.TransactionsheaderUID
AND TH.DocumentDate Between @FromDate And @ToDate And TH.BranchUID = @BranchUID
and TH.DocumentNo = CASE When @DocNo = '' THEN TH.DocumentNo Else @DocNo END
And TH.isactive=1 And IL.IsActive=1 AND TH.StatusUID In ('C3ABA4A2-37A1-4251-87C7-
1434A649A93E')
AND TH.PartyUID = CASE When @PartyUID = '00000000-0000-0000-0000-000000000000'
THEN TH.PartyUID Else @PartyUID END
INNER JOIN DocumentSubTypeM DS WITH(NOLOCK) ON DS.DocumentSubTypeUID =
TH.DocumentSUBTypeUID AND DS.DocumentTypeUID='1B4742F9-6A48-4F17-879C-4C0B0E7CEA1B'
Inner Join InventoryTransListSchedule ILS with (Nolock) ON
IL.InventorytranslistUID=ILS.InventorytranslistUID
And (IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0))>0
Inner Join Itemm IM with (Nolock) ON IL.ItemUID=IM.ItemUID
AND IM.ItemUID = CASE When @ItemUID = '00000000-0000-0000-0000-000000000000' THEN
IM.ItemUID Else @ItemUID END
left join DrawingM DM with(nolock) on DM.itemUID=IM.ItemUID and DM.isactive=1
Inner Join UOM U with (NOlock) ON IL.UOMUID=U.UOMUID
Inner Join PartyM PM with (NOlock) ON TH.PartyUID=PM.PartyUID
Inner Join ItemSubGroupM IG with (NOlock) ON IG.ItemSubGroupUID=IM.ItemSubGroupUID

Left Join Vw_ItemStockM VIS With (NoLock) On VIS.ItemUID = IL.ItemUID And


VIS.BranchUID = TH.BranchUID
Left Join VW_Ledgerbalance VWL With(NoLock) On VWL.AccountUID = PM.PartyUID AND
TH.FinYearUID = VWL.FinYearUID
Left Join InventoryTransListExtension ITLE WITH(NOLOCK) On
ITLE.InventoryTransListUID = IL.InventoryTransListUID
left join(Select LK.RefInventoryUID,WL.ItemUID As WOItemUID,
RM.RefInventoryTransListUID, MAX(WT.RefDocDate1) As DueDate From
RefInventoryTransListMatch RM
Inner join InventoryTransList WL on WL.InventoryTransListUID =
RM.InventoryTransListUID And RM.RefDocumentSubTypeUID = 'CD20D729-8980-41B6-99E3-
B1BE58114083'
Inner join Transactionsheader WT on WT.TransactionsHeaderUID =
WL.TransactionsHeaderUID and WT.DocumentSubTypeUID = '764F6393-9A8E-4CE0-BDBD-
19BBDDCC98DF'
Inner join InventoryLinkM LK on LK.InventoryUID = WL.InventoryTransListUID
Group by LK.RefInventoryUID,WL.ItemUID, RM.RefInventoryTransListUID )RM
On RM.RefInventoryTransListUID = IL.InventoryTransListUID And RM.RefInventoryUID =
ILS.InventoryTransListScheduleUID And RM.WOItemUID = IL.ItemUID
WHERE IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000'

--AND TH.DocumentDate Between @FromDate And @ToDate

Order by TH.Createddate
end
else
Begin
select th.TransactionsHeaderUID, IL.InventoryTransListUID, TH.DocumentNo as DocNo,
Convert(Varchar(11),TH.documentDate, 106) as DocDate, TH.PartyUID, PartyName,
IL.ItemUID,IG.ItemSubGroupDescription As
ItemSubGroup,IM.ItemCode,IM.ItemID,IM.ItemName,U.UOMDescription As UOM,
TH.DocumentSubTypeUID, Th.BranchUID,@FromDate as FromDate , @ToDate as ToDate ,
TH.SupplierBillNo as RefDocNo, TH.SupplierBillNo, Convert(Varchar(11),
TH.SupplierBillDate, 106) As SupplierBillDate,
Convert(Varchar(11), IsNull(ILS.ScheduleDate, ''), 106) As
ScheduleDate,IsNull(ILS.Qty, 0) As ScheduleQty,--CONVERT(DECIMAL(18,2),IL.Price) As
Price,
--case when IL.ConversionUOMQty <= 0 then Il.Price else
(IL.Price*IL.ConversionUOMQty) end
IL.Price as Price,
ISNULL(ILS.MatchQty1,0) as PickedQty,ISNULL(ILS.MatchQty2,0) as InvoicedQty,
(IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0)) as PendingQty,
--case when IL.ConversionUOMQty <= 0 then (IL.Qty*Il.Price) else
(IL.Qty*IL.Price*IL.ConversionUOMQty)
((IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0))*Il.Price) as BasicValue,
Convert(decimal(18,2),(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty,
0))*(IsNull(ILS.Qty, 0)-isnull(ILS.MatchQty2,0))) as [Addl.Cost],
case when Isnull(IL.ConversionUOMQty ,0) <= 0 then ((IsNull(ILS.Qty, 0)-
ISNULL(ILS.MatchQty2,0))*Il.Price) + Convert(decimal(18,2),
(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-
isnull(ILS.MatchQty2,0)))
else ((IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0))*IL.Price*IL.ConversionUOMQty)
+ Convert(decimal(18,2),((Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty,
0))*(IsNull(ILS.Qty, 0)-isnull(ILS.MatchQty2,0)))*IL.ConversionUOMQty) end as
AmtinINR,
--Convert(decimal(18,2),(Convert(decimal(18,2),((IL.Price *(IsNull(ILS.Qty, 0)-
ISNULL(ILS.MatchQty2,0)))) +
--(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-
ISNULL(ILS.MatchQty2,0))))) as BasicValue,
Convert(decimal(18,2),Isnull(IL.ConversionUOMQty ,0)) as ConversionRate,
--case when Isnull(IL.ConversionUOMQty ,0) =0 then Convert(decimal(18,2),
(Convert(decimal(18,2),((IL.Price *(IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0)))) +

--(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-


ISNULL(ILS.MatchQty2,0)))))
--else Convert(decimal(18,2),Convert(decimal(18,2),(Convert(decimal(18,2),
((IL.Price *(IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0)))) +
--(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-
ISNULL(ILS.MatchQty2,0)))))*Isnull(IL.ConversionUOMQty ,0)) end as AmtinINR,
--case when Isnull(IL.ConversionUOMQty ,0) =0 then Convert(decimal(18,2),
(Convert(decimal(18,2),((IL.Price *(IsNull(ILS.Qty, 0)-isnull(ILS.MatchQty2,0)))) +

--(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-


isnull(ILS.MatchQty2,0)))))
--else Convert(decimal(18,2),Convert(decimal(18,2),(Convert(decimal(18,2),
((IL.Price *(IsNull(ILS.Qty, 0)-isnull(ILS.MatchQty2,0)))) +
--(Isnull(IL.NumberAttribute29,0)/IsNull(ILS.Qty, 0))*(IsNull(ILS.Qty, 0)-
isnull(ILS.MatchQty2,0)))))*Isnull(IL.ConversionUOMQty ,0)) end as AmtinINR,
case when (IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0))>0 then DATEDIFF(day,
dbo.GetLocalDate(),ILS.ScheduleDate) else 0 end AS DueDays ,
CASE WHEN DATEDIFF(DD,ILS.ScheduleDate, dbo.GetLocalDate()) <= 3 THEN 0 ELSE

CASE WHEN DATEDIFF(DD,ILS.ScheduleDate, dbo.GetLocalDate()) > 3 And


DATEDIFF(DD,ILS.ScheduleDate, dbo.GetLocalDate()) <= 15 THEN 1 ELSE

CASE WHEN DATEDIFF(DD,ILS.ScheduleDate, dbo.GetLocalDate()) > 15 THEN -1 END END


END AS DueDateRange,
Convert(Varchar(11), IsNull(ILS.RequiredDate, ''), 106) As
RequiredDate,Convert(Varchar(11), RM.DueDate, 106) As DueDate,
VWL.Amount As LedBal, QOH as ItemQOH,TH.RefDocNo1 as CustomerPONo,IL.Linenumber as
Position,
IM.MaterialGrade as Grade,IL.StringAttribute8 as
ConditionOfSupply,IL.StringAttribute7 as TypeOfSupply,
isnull(IL.StringAttribute2,'') as Modeofshipment ,
(Isnull(IM.finishedweight,0) *(IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0))) as
weight,IM.ModelNumber as ModelNo,
IsNull(Stuff((
SELECT DISTINCT cast(WONo AS VARCHAR(MAX)) +
','
FROM #RefDoc RT
WHERE RT.RefInventoryTransListUID =
IL.InventoryTransListUID and RT.RefInventoryUID=ILS.InventoryTransListScheduleUID
FOR XML path('')
), 1, 0, ''), '') as
WONo,DM.DrawingNO,DM.DrawingRevisionNo,IL.InventoryTransListUID
From Transactionsheader TH
Inner Join Inventorytranslist IL with (NOlock) ON
TH.TransactionsheaderUID=IL.TransactionsheaderUID
AND TH.DocumentDate <=@ToDate And TH.BranchUID = @BranchUID
and TH.DocumentNo = CASE When @DocNo = '' THEN TH.DocumentNo Else @DocNo END
And TH.isactive=1 And IL.IsActive=1 AND TH.StatusUID In ('C3ABA4A2-37A1-4251-87C7-
1434A649A93E')
AND TH.PartyUID = CASE When @PartyUID = '00000000-0000-0000-0000-000000000000'
THEN TH.PartyUID Else @PartyUID END
INNER JOIN DocumentSubTypeM DS WITH(NOLOCK) ON DS.DocumentSubTypeUID =
TH.DocumentSUBTypeUID AND DS.DocumentTypeUID='1B4742F9-6A48-4F17-879C-4C0B0E7CEA1B'
Inner Join InventoryTransListSchedule ILS with (Nolock) ON
IL.InventorytranslistUID=ILS.InventorytranslistUID
And (IsNull(ILS.Qty, 0)-ISNULL(ILS.MatchQty2,0))>0
Inner Join Itemm IM with (Nolock) ON IL.ItemUID=IM.ItemUID
AND IM.ItemUID = CASE When @ItemUID = '00000000-0000-0000-0000-000000000000' THEN
IM.ItemUID Else @ItemUID END
left join DrawingM DM with(nolock) on DM.itemUID=IM.ItemUID and DM.isactive=1
Inner Join UOM U with (NOlock) ON IL.UOMUID=U.UOMUID
Inner Join PartyM PM with (NOlock) ON TH.PartyUID=PM.PartyUID
Inner Join ItemSubGroupM IG with (NOlock) ON IG.ItemSubGroupUID=IM.ItemSubGroupUID

Left Join Vw_ItemStockM VIS With (NoLock) On VIS.ItemUID = IL.ItemUID And


VIS.BranchUID = TH.BranchUID
Left Join VW_Ledgerbalance VWL With(NoLock) On VWL.AccountUID = PM.PartyUID AND
TH.FinYearUID = VWL.FinYearUID
Left Join InventoryTransListExtension ITLE WITH(NOLOCK) On
ITLE.InventoryTransListUID = IL.InventoryTransListUID
left join(Select LK.RefInventoryUID,WL.ItemUID As WOItemUID,
RM.RefInventoryTransListUID, MAX(WT.RefDocDate1) As DueDate From
RefInventoryTransListMatch RM
Inner join InventoryTransList WL on WL.InventoryTransListUID =
RM.InventoryTransListUID And RM.RefDocumentSubTypeUID = 'CD20D729-8980-41B6-99E3-
B1BE58114083'
Inner join Transactionsheader WT on WT.TransactionsHeaderUID =
WL.TransactionsHeaderUID and WT.DocumentSubTypeUID = '764F6393-9A8E-4CE0-BDBD-
19BBDDCC98DF'
Inner join InventoryLinkM LK on LK.InventoryUID = WL.InventoryTransListUID
Group by LK.RefInventoryUID,WL.ItemUID, RM.RefInventoryTransListUID )RM
On RM.RefInventoryTransListUID = IL.InventoryTransListUID And RM.RefInventoryUID =
ILS.InventoryTransListScheduleUID And RM.WOItemUID = IL.ItemUID
WHERE IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000'

--AND TH.DocumentDate Between @FromDate And @ToDate


Order by TH.Createddate
end
end
Else If @Status = 23
Select Distinct T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype,

Case When @DocumentSubTypeUID Not In ('57A9AA41-851A-47E6-A8BE-


E81E56E3C627','E357DA2F-9CD0-46CF-8FA1-F6D7E5F15019') Then DocNo

Else Case When HeaderStatus = 'Accepted' Then DocNo+'/'+'A' Else DocNo+'/'+'R' End
End As DocNo, DocDate, T.PartyUID, T.PartyName, City, T.ItemUID,
IM.ItemName As ItemName,ItemAliAsName, TL.Qty As Qty,UM.UOMDescription As UOM,
PendingQty, CancelledQty, T.DocumentSubTypeUID, ReceivedQty,

T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,


Notes, VehicleName, VehicleUID, T.ValidTillDate,
WO.WorkOrderNo As SupplierBillNo,WO.WorkOrderDate As SupplierBillDate, T.Price,
LineTotal, HeaderTotal,ItemStatusDescription, T.VehicleNo, NoOfPockets,
NettWeight, GrossWeight,TH.DocumentNo As MINNo,TH.DocumentDate As MINDocDate,
NoOfDays, T.LineNumber, T.ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As
NumberAttribute4, PreceedingDoc, SucceedingDoc, T.BasicValue, HeaderStatus ,

Isnull(PartyCategoryDescription,'UnAssigned') As PartySubGroup,
Isnull(PartyGroupName,'UnAssigned') As PartyGroupName,
MA.AreaTypeDesc AS MainArea, FA.AreaTypeDesc AS FunctionalArea,
COM.CompanyCode,Doc, PartyCategoryDescription,
PSM.PartySubTypeDescription As PartySubType, T.ItemName As ItemSize, IM.ItemType As
ProductName, IM.ItemSubGroupDescription As GSM,T.NetValue,
IM.ItemGroupDescription As ItemGroupName, IM.ItemCategoryName As
ItemCategory,USM.UserName,
IGM.ItemGroupDescription As ItemGroupName,ISG.ItemSubGroupDescription AS
ItemSubGroupName
From #Tempdetails T
Inner Join Transactionsheader TH On TH.RefTransactionsUID = T.TransactionsHeaderUID

Inner Join InventoryTransList TL On TL.TransactionsHeaderUID =


TH.TransactionsHeaderUID AND TH.DocumentSubTypeUID = 'EF682CDF-310D-4EA4-AA1F-
D1506369FAC3'
Left Join VW_SubContractMaterialsExpectedReceipt WO On WO.RequestHeaderUID =
TH.TransactionsHeaderUID
Inner Join UserM USM With(NoLock) On USM.UserUID=T.CreatedBy
Inner Join VW_ItemM IM With(NoLock) On TL.ItemUID = IM.ItemUID
Inner Join ItemBranchMappingM IBM With(NoLock) On IBM.ItemUID = IM.ItemUID AND
IBM.BranchUID = T.BranchUID
Inner Join UOM UM With(NoLock) On UM.UOMUID = IBM.UOMUID
Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID
Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID

Left Join PartyM P With (NoLock) On T.PartyUid = P.PartyUID


Left Join PartySubTypeM PSM With(NoLock) On P.PartySubTypeUID = PSM.PartySubTypeUID

Inner Join ItemSubGroupM ISG With(NoLock) On ISG.ItemSubGroupUID =


IM.ItemSubGroupUID
Inner Join ItemGroupM IGM With(NoLock) On IGM.ItemGroupUID = ISG.ItemGroupUID

LEFT JOIN AreaTypeM MA WITH(NOLOCK) ON MA.AreaTypeMUID = T.HUIDAttribute2 AND


MA.AreaType = 'M'
LEFT JOIN AreaTypeM FA WITH(NOLOCK) ON FA.AreaTypeMUID = T.HUIDAttribute3 AND
FA.AreaType = 'F'
Where IsNull(IM.ItemGroupUID,'00000000-0000-0000-0000-000000000000')= Case When
@ItemGroupUID <> '00000000-0000-0000-0000-000000000000' Then
@ItemGroupUID Else IsNull(IM.ItemGroupUID, '00000000-0000-0000-0000-000000000000')
End
And IsNull(IM.ItemCategoryUID,'00000000-0000-0000-0000-000000000000')= Case When
@ItemCategoryUID <> '00000000-0000-0000-0000-000000000000' Then
@ItemCategoryUID Else IsNull(IM.ItemCategoryUID, '00000000-0000-0000-0000-
000000000000') End
And (T.Qty-IsNull(T.ReceivedQty, 0))>0
Group By T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, T.PartyName, City, T.ItemUID,IM.ItemCode, IM.ItemName,

ItemAliAsName, TL.Qty, UM.UOMDescription, PendingQty, CancelledQty,


T.DocumentSubTypeUID, T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo,
CompanyPartNo,
T.ItemID, VehicleName, VehicleUID, T.ValidTillDate,
WO.WorkOrderNo ,WO.WorkOrderDate , T.Price, LineTotal, HeaderTotal,
Notes,T.ItemName ,
ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight,
TH.DocumentNo, TH.DocumentDate, NoOfDays, T.LineNumber, ReceivedQty, T.ShortageQty,

T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade, PreceedingDoc,


SucceedingDoc, T.BasicValue, HeaderStatus ,TL.Qty,

PartyCategoryDescription, PartyGroupName, MA.AreaTypeDesc, FA.AreaTypeDesc,


COM.CompanyCode ,Doc, IM.ItemType, IM.ItemSubGroupDescription,
PSM.PartySubTypeDescription, T.NetValue,IM.ItemGroupDescription,
IM.ItemCategoryName,USM.UserName,IGM.ItemGroupDescription,ISG.ItemSubGroupDescripti
on
Order By Doc,DocDate, LineNumber,IM.ItemGroupDescription,IGM.ItemGroupDescription

Else If @Status = 26
Select
T.TransactionsHeaderUID,T.DocNo,T.DocDate,T.PartyName,T.ItemUID,T.StringAttribute1,
T.Qty,T.Notes,T.FromDate,T.ToDate,
T.Doctype, T.PartyUID, T.City, T.ItemUID,
T.ItemName,T.ItemCode,IM.PartNo ,DRM.DrawingNo +'/'+DRM.DrawingRevisionNo as
DrawingNo,
T.DocumentSubTypeUID, T.BranchUID, T.NoOfDays, T.LineNumber, T.PreceedingDoc,
T.SucceedingDoc ,T.InventoryTransListUID,T.Doc,
Case When T.DocumentSubTypeUID = '1CA6889A-E0C7-446B-A72D-74BFBCC2AB97' Then
H.RefDocNo1
When T.DocumentSubTypeUID = '3BBB7D21-4D79-49F3-9F11-7935859C5B72' Then H.RefDocNo1
Else T.RefDocNo1 End As RefDocNo1,
Convert(Date,Case When T.DocumentSubTypeUID = '1CA6889A-E0C7-446B-A72D-
74BFBCC2AB97' Then H.RefDocDate1
When T.DocumentSubTypeUID = '3BBB7D21-4D79-49F3-9F11-7935859C5B72' Then
H.RefDocDate1 Else T.RefDocDate1 End) As RefDocDate1
From #Tempdetails T
Left Join InventoryTransListMatch M With(Nolock) On M.InventoryTransListUID =
T.InventoryTransListUID
Left Join InventoryTransList L With(Nolock) On L.InventoryTransListUID =
M.RefInventoryTransListUID
Left Join ItemM IM with(Nolock) on L.ItemUID =IM.ItemUID

Left join DrawingM DRM with(nolock) on IM .ItemUID =DRM .ItemUID And DRM.IsActive =
1
Left Join TransactionsHeader H With(Nolock) On H.TransactionsHeaderUID =
L.TransactionsHeaderUID
Where T.StringAttribute1 Like '%' + @SearchStr + '%'
Order By DocDate

Else If @Status = 27

Select Distinct TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,


DocDate, PartyUID, PartyName, City, T.ItemUID, T.ItemName,

ItemAliAsName, SM.UOMDescription As UOM,Sum(LS.Qty* T.SaleCF) As PendingQty,

Convert(Decimal(18, 3), CancelledQty/ConversionFactor) As CancelledQty,

DocumentSubTypeUID, Convert(Decimal(18, 3), ReceivedQty/ConversionFactor)


ReceivedQty,

T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate,


CONVERT(DECIMAL(18,2),Price*ConversionFactor) As Price, LineTotal, HeaderTotal,
ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate,

NoOfDays, LineNumber, Convert(Decimal(18, 3), ShortageQty/ConversionFactor) As


ShortageQty,

T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As


NumberAttribute4, PreceedingDoc, SucceedingDoc,

Convert(Varchar(11), IsNull(LS.ScheduleDate, ''), 106)As ScheduleDate,


IsNull(LS.Qty, 0) As ScheduleQty, T.BasicValue ,
T.PartyCategoryDescription,T.PartyGroupName,Doc ,ItemQOH ,
DATEDIFF(day, dbo.GetLocalDate(),LS.ScheduleDate) AS DueDays,
CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) < 0 THEN -1 ELSE

CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) = 0 THEN 0 ELSE


CASE WHEN DATEDIFF(day,dbo.GetLocalDate(), LS.ScheduleDate) > 0 THEN 1 END END END
AS DueDateRange,
T.ItemName As ItemSize, IT.ItemType As ProductName, ISG.ItemSubGroupDescription As
GSM, Com.CompanyCode, COM.CompanyName,T.HeaderStatus,SL.SaleLine
From #Tempdetails T

Inner Join UOM SM With(NoLock) ON T.SalesUOMUID = SM.UOMUID


Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID
Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID
Inner Join ItemM IM With(NoLock) On IM.ItemUID = T.ItemUID
Inner Join ItemSubGroupM ISG With(NoLock) On ISG.ItemSubGroupUID =
IM.ItemSubGroupUID
Inner Join ItemGroupM IGM With(NoLock) On IGM.ItemGroupUID = ISG.ItemGroupUID
Inner Join StatusM S With(NoLock) On S.StatusUID = T.StatusUID
LEFT Join ItemTypeM IT With(noLock) On IT.ItemTypeUID = IM.ItemTypeUID
Left Join InventoryTransListSchedule LS With(NoLock) ON LS.InventoryTransListUID =
T.InventoryTransListUID
Left Join SaleLineM SL With(NoLock) On SL.SaleLineMUID = T.UIDAttribute4
Where S.StatusCode Not In ('AC','RJ')
Group By TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
PartyUID, PartyName, City, T.ItemUID, T.ItemName,
ItemAliAsName, SM.UOMDescription, T.Qty, UOM, PendingQty, CancelledQty,
DocumentSubTypeUID,
T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, CompanyPartNo, T.ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate, Price,


LineTotal, HeaderTotal,
ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays, LineNumber, ReceivedQty, ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade, ConversionFactor,
PreceedingDoc, SucceedingDoc, ScheduleDate, Ls.Qty, T.SaleCF, T.BasicValue,

T.PartyCategoryDescription,T.PartyGroupName,Doc,ItemQOH ,
T.ItemName, IT.ItemType , ISG.ItemSubGroupDescription, Com.CompanyCode,
COM.CompanyName,T.HeaderStatus,SL.SaleLine
Order By Doc,DocDate,ScheduleDate, Docno, LineNumber

Else If @Status = 28 -- Past Dispatch


SELECT TL.InventoryTransListUID, TL.TransactionsHeaderUID, TH.DocNo,TH.DocDate,
TL.LineNumber, TL.ItemUID, TL.UOMUID, TL.Qty, TL.ItemStatusMUID, TL.IsActive,
TL.CreatedBy, TL.CreatedDate, TL.ModifiedBy, TL.ModifiedDate,TL.NumberAttribute2,
UA.UOMDescription As UOM , IM.ItemName ,
PM.PartyName,PM.Address4 As Location,RH.DocumentNo As InvoiceNo,RH.DocumentDate
InvoiceDt,DT.TransportName As DespatchThrough,
T.TransportName As TransportStage,Tl.BatchNo,TL.UIDAttribute5,FromDate,
ToDate ,Doctype, PreceedingDoc, SucceedingDoc,
TH.DocumentSubTypeUID,NoOfDays
From #Tempdetails TH
INNER JOIN InventoryTransList TL WITH(NoLock) ON TH.InventoryTransListUID =
TL.InventoryTransListUID
INNER JOIN InventoryTransListMatch M WITH(NoLock) ON M.InventorytranslistUID =
TL.InventorytranslistUID
INNER Join InventoryTransList RL With(NoLock) On M.RefInventoryTransListUID =
RL.InventoryTransListUID
Inner Join TransactionsHeader RH With(NoLock) On RH.TransactionsHeaderUID =
RL.TransactionsHeaderUID
INNER JOIN ItemM IM WITH(NoLock) ON TL.ItemUID = IM.ItemUID

INNER JOIN ItemBranchMappingM IB WITH(NoLock) ON IM.ItemUID = IB.ItemUID AND


IB.BranchUID = TH.BranchUID
INNER JOIN UOM UA With(NoLock) On IB.UOMUID=UA.UOMUID
Inner Join PartyM PM With(NoLock) On PM.PartyUID = RH.PartyUID
Left Join TransportM DT With(NoLock) On DT.TransportMUID = RH.UIDAttribute3
Left Join TransportM T With(NoLock) On T.TransportMUID = RH.UIDAttribute2
Where Isnull(PM.PartyUID,'00000000-0000-0000-0000-000000000000') =CASE WHEN
@PartyUID='00000000-0000-0000-0000-000000000000' THEN Isnull(PM.PartyUID,'00000000-
0000-0000-0000-000000000000') ELSE @PartyUID END
ORDER BY TH.DocDate,TL.LineNumber

Else If @Status = 29 -- Past Delivery


SELECT TL.InventoryTransListUID, TL.TransactionsHeaderUID,TH.DocNo,TH.DocDate,
TL.LineNumber, TL.ItemUID, TL.UOMUID, TL.Qty, TL.ItemStatusMUID, TL.IsActive,
TL.CreatedBy, TL.CreatedDate, TL.ModifiedBy, TL.ModifiedDate,TL.NumberAttribute2,
UA.UOMDescription As UOM, IM.ItemName ,
PM.PartyName,PM.Address4 As Location,DLH.DocumentNo As InvoiceNo,DLH.DocumentDate
InvoiceDt,DT.TransportName As DespatchThrough,
T.TransportName As TransportStage,Tl.BatchNo,TL.UIDAttribute5,DH.DocumentNo
DispatchDocNo,DH.DocumentDate DispatchDocDate,FromDate, ToDate,
Doctype, PreceedingDoc, SucceedingDoc,TH.DocumentSubTypeUID,NoOfDays
From #Tempdetails TH
INNER JOIN InventoryTransList TL WITH(NoLock) ON TH.InventoryTransListUID =
TL.InventoryTransListUID
Inner Join TransactionsHeader DH With(NoLock) On TH.RefTransactionsUID =
DH.TransactionsHeaderUID
Inner Join TransactionsHeader DLH With(NoLock) On DLH.TransactionsHeaderUID =
TL.UIDAttribute5
INNER JOIN ItemM IM WITH(NoLock) ON TL.ItemUID = IM.ItemUID

INNER JOIN ItemBranchMappingM IB WITH(NoLock) ON IM.ItemUID = IB.ItemUID AND


IB.BranchUID = TH.BranchUID
INNER JOIN UOM UA With(NoLock) On IB.UOMUID=UA.UOMUID
Inner Join PartyM PM With(NoLock) On PM.PartyUID = DLH.PartyUID
Left Join TransportM DT With(NoLock) On DT.TransportMUID = DLH.UIDAttribute3
Left Join TransportM T With(NoLock) On T.TransportMUID = DLH.UIDAttribute2
Where Isnull(PM.PartyUID,'00000000-0000-0000-0000-000000000000') =CASE WHEN
@PartyUID='00000000-0000-0000-0000-000000000000' THEN Isnull(PM.PartyUID,'00000000-
0000-0000-0000-000000000000') ELSE @PartyUID END
ORDER BY TH.DocNo,TL.LineNumber

Else If @Status = 30 -- Pending Dispatch


SELECT TL.InventoryTransListUID, TL.TransactionsHeaderUID,TH.DocNo,TH.DocDate,
TL.LineNumber, TL.ItemUID, TL.UOMUID, TL.Qty, TL.ItemStatusMUID, TL.IsActive,
TL.CreatedBy, TL.CreatedDate, TL.ModifiedBy, TL.ModifiedDate,TL.NumberAttribute2,
UA.UOMDescription As UOM, IM.ItemName ,
PM.PartyName,PM.Address4 As Location,DLH.DocumentNo As InvoiceNo,DLH.DocumentDate
InvoiceDt,DT.TransportName As DespatchThrough,
T.TransportName As TransportStage,Tl.BatchNo,TL.UIDAttribute5 ,FromDate,
ToDate ,Doctype, PreceedingDoc, SucceedingDoc,
TH.DocumentSubTypeUID ,NoOfDays
From #Tempdetails TH
INNER JOIN InventoryTransList TL WITH(NoLock) ON TH.InventoryTransListUID =
TL.InventoryTransListUID
INNER JOIN ItemM IM WITH(NoLock) ON TL.ItemUID = IM.ItemUID

INNER JOIN ItemBranchMappingM IB WITH(NoLock) ON IM.ItemUID = IB.ItemUID AND


IB.BranchUID = TH.BranchUID
INNER JOIN UOM UA With(NoLock) On IB.UOMUID=UA.UOMUID
Left Join TransactionsHeader DH With(NoLock) On DH.RefTransactionsUID =
TH.TransactionsHeaderUID
Left Join TransactionsHeader DLH With(NoLock) On DLH.TransactionsHeaderUID =
TL.UIDAttribute5
Inner Join PartyM PM With(NoLock) On PM.PartyUID = DLH.PartyUID
Left Join TransportM DT With(NoLock) On DT.TransportMUID = DLH.UIDAttribute3
Left Join TransportM T With(NoLock) On T.TransportMUID = DLH.UIDAttribute2
Where DH.TransactionsHeaderUID Is Null
And Isnull(PM.PartyUID,'00000000-0000-0000-0000-000000000000') =CASE WHEN
@PartyUID='00000000-0000-0000-0000-000000000000' THEN Isnull(PM.PartyUID,'00000000-
0000-0000-0000-000000000000') ELSE @PartyUID END
ORDER BY TH.DocNo,TL.LineNumber

Else If @Status = 31 -- approve indent


SELECT TH.*,ISNULL(PO.PendingPOQty/TH.ConversionFactor,0) AS
PendingPOQty,IM.ItemCode,
ISNULL((TH.NumberAttribute1 - (PO.PendingPOQty + PO.GRNQty)),0) As PRQty
From #Tempdetails TH
Inner Join ItemM IM With(NoLock) On TH.ItemUID = IM.ItemUID
LEFT JOIN(
SELECT isnull(sum((TL.Qty-isnull(M.MatchQty,0))),0) as
PendingPOQty,SUM(isnull(M.MatchQty,0)) As GRNQty,TH.TransactionsHeaderUID

FROM TransactionsHeader TH WITH (NOLOCK)


INNER JOIN InventoryTransList TL with (NOlock) ON TH.TransactionsHeaderUID
=TL.TransactionsHeaderUID AND TL.IsActive = '1'
INNER JOIN InventoryTransListMatch LM with (NOlock) ON LM.InventoryTransListUID
=TL.InventoryTransListUID
INNER JOIN InventoryTransList RL with (NOlock) ON RL.InventoryTransListUID
=LM.RefInventoryTransListUID
INNER JOIN TransactionsHeader RH with (NOlock) ON RH.TransactionsHeaderUID
=RL.TransactionsHeaderUID
INNER JOIN DocumentSubTypeM DS WITH (NOLOCK) ON TH.DocumentSubTypeUID
=DS.DocumentSubTypeUID
INNER JOIN DocumentTypeM D WITH (NOLOCK) ON DS.DocumentTypeUID =D.DocumentTypeUID

And D.DocumentTypeDesc like '%Purchase order%' AND DS.DocumentsubTypeDesc NOT IN


('Open Purchase Orders')
LEFT JOIN (
SElect SUM(isnull(ITL.Quantity,0) ) Matchqty, RefInventoryTransListUID
From InventoryTransListMatch ITL With (NOLOCK)
INNER JOIN InventoryTransList AS IT WITH(NOLOCK) ON IT.InventoryTransListUID =
ITL.InventoryTransListUID
INNER JOIN TransactionsHeader AS TH WITH(NOLOCK) ON TH.TransactionsHeaderUID =
IT.TransactionsHeaderUID AND IT.IsActive = '1'
AND TH.IsActive = '1'
WHERE ITL.ReferenceType = 'P' AND ITL.IsActive = '1'
Group By RefInventoryTransListUID
)M On M.RefInventoryTransListUID = TL.InventoryTransListUID
WHERE TH.ValidTillDate >= dbo.GetLocalDate()
Group by TH.TransactionsHeaderUID
) PO ON PO.TransactionsHeaderUID = TH.TransactionsHeaderUID
ORDER BY TH.DocNo,TH.LineNumber

Else If @Status = 32 -- Pending GRN for Inspection


SELECT
TransactionsHeaderUID,InventoryTransListUID,Doctype,DocNo,DocDate,PartyUID,PartyNam
e,City,ItemUID,ItemName,
LongItemName,ItemAliAsName,CONVERT(DECIMAL(18,3),(Qty/ConversionFactor)) As
Qty,PurchaseUOM AS UOM,PendingQty,
ReceivedQty,CancelledQty,DocumentSubTypeUID,PreceedingDoc,
SucceedingDoc,BranchUID,FromDate,ToDate,DocumentDate,RefDocNo,CompanyPartNo,ItemID,
VehicleName,
VehicleUID,ValidTillDate,SupplierBillNo,SupplierBillDate,CONVERT(DECIMAL(18,2),
(Price*ConversionFactor)) As Price,
LineTotal,HeaderTotal,ItemStatusDescription,
VehicleNo,NoOfPockets,NettWeight,GrossWeight,MINNo,MINDocDate,Bin,NoOfDays,LineNumb
er,ShortageQty,Grade,
NumberAttribute1,DateAttribute1,StringAttribute2,ConversionFactor,SaleCF,PurchaseUO
M,MOQ,SSL,MaxQty,ItemQOH,
HeaderStatus,Notes,LineStatusCode,StringAttribute5,DateAttribute5,NumberAttribute2,
SalesUOMUID,BasicValue,
RefTransactionsUID,HUIDAttribute2,HUIDAttribute3,NetValue,PartyCategoryDescription,
PartyGroupName,Doc,FinYearUID,
RefDocNo1,RefDocDate1,CreatedBy,StringAttribute1,StatusUID,UIDAttribute4
From #Tempdetails
WHERE BranchUID = @BranchUID
AND Isnull(PartyUID,'00000000-0000-0000-0000-000000000000') =CASE WHEN
@PartyUID='00000000-0000-0000-0000-000000000000' THEN Isnull(PartyUID,'00000000-
0000-0000-0000-000000000000') ELSE @PartyUID END
AND PendingQty > 0
Else If @Status = 33 -- ApproveSO
Begin
Select @IsEnableLength= Condition From GeneralConfigurationM Where CriteriaUID =
'B95CC5EE-4F03-4C32-A783-A870A77AD2FD'
select TransactionsHeaderUID,InventoryTransListUID, Doctype, DocNo,
DocDate,PartyUID, PartyName, City, ItemUID,ItemCode,
ItemName,SalesUOM,PendingQty, CancelledQty, DocumentSubTypeUID,
ReceivedQty,BranchUID, FromDate,ToDate,LineNumber,
PreceedingDoc, SucceedingDoc,Qty,convert(decimal(18,3),SellingPrice)
SellingPrice,convert(decimal(18,2),MRP) MRP,convert(decimal(18,3),MappedPrice)
MappedPrice,convert(decimal(18,2),BasicValue) BasicValue
,convert(decimal(18,2),PackingPer)
PackingPer,convert(decimal(18,2),PackingAmount)
PackingAmount,convert(decimal(18,2),Discount1Per)
Discount1Per,convert(decimal(18,2),Discount1Amount) Discount1Amount,
convert(decimal(18,2),EDPer) EDPer,convert(decimal(18,2),EDAmount)
EDAmount,convert(decimal(18,2),NumberAttribute8)
NumberAttribute8,convert(decimal(18,2),NumberAttribute10)
NumberAttribute10,EDCessPer,
EDCessAmount,HECessPer,HECessAmount,convert(decimal(18,2),Discount2Per)
Discount2Per,convert(decimal(18,2),Discount2Amount)
Discount2Amount,convert(decimal(18,2),SalesTaxPer)
SalesTaxPer,convert(decimal(18,2),SalesTaxAmount) SalesTaxAmount,
SalesTaxCessPer,SalesTaxCessAmount,convert(decimal(18,2),Discount3Per)
Discount3Per,convert(decimal(18,2),Discount3Amount)
Discount3Amount,convert(decimal(18,2),TotalValue)
TotalValue,BatchNo,convert(decimal(18,2),NumberAttribute13) NumberAttribute13,
StringAttribute3,RefTransactionsUID,IsGST,@IsEnableLength AS
IsLengthWidth,convert(decimal(18,2),Length) Length,convert(decimal(18,2),Width)
Width,convert(decimal(18,2),Thickness) Thickness,
convert(decimal(18,2),MeasuredLength)
MeasuredLength,EndOrOpen,Load,Color,RefDocdate2,RefDocNo2,DealerName,NetValue,EwayB
illNo
From (
Select distinct A.TransactionsHeaderUID,null AS InventoryTransListUID,
Doctype,A.DocNo, DocDate, A.PartyUID, PartyName, City,
null AS ItemUID,null AS ItemCode,null AS ItemName, Null As SalesUOM,null AS
PendingQty, null AS CancelledQty, DocumentSubTypeUID, null AS ReceivedQty,
null AS BranchUID,FromDate, ToDate,0 as LineNumber, PreceedingDoc,null AS
SucceedingDoc, Null Qty,
Null As SellingPrice,Null As MRP,Null As MappedPrice,Null As basicValue,Null
As PackingPer,
Null As PackingAmount,Null As Discount1Per,Null As Discount1Amount,Null As
EDPer,Null As EDAmount,Null As NumberAttribute8,
Null As NumberAttribute10,Null As EDCessPer,Null As EDCessAmount,Null As
HECessPer,Null As HECessAmount,Null As Discount2Per,
Null As Discount2Amount,Null As SalesTaxPer,Null As SalesTaxAmount,Null As
SalesTaxCessPer,Null As SalesTaxCessAmount,Null As Discount3Per,
Null As Discount3Amount,Null As TotalValue,Null As BatchNo,Null As
NumberAttribute13,Null As StringAttribute3,null RefTransactionsUID,0 as IsGST,
null As Length,null As Width, null As Thickness, null As MeasuredLength,
null As EndOrOpen,null As Load,null Color ,null RefDocDate2,A.RefDocno1 as
RefDocNo2,A.DealerName,NetValue,A.StringAttribute10 as EwayBillNo
From #Tempdetails A
Where A.DocumentSubTypeUID<>'3C2E4004-CB3F-4D2D-BF0C-50B2773E5D7C'
--INNER JOIN (select TransactionsHeaderUID From #Tempdetails)T ON
A.TransactionsHeaderUID = T.TransactionsHeaderUID
--Left Join InventoryTransListExtension ITLE With(NoLock) ON
ITLE.InventoryTransListUID = A.InventoryTransListUID
--Where IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000'
UNION ALL
Select T.TransactionsHeaderUID,T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, T.PartyName, City, T.ItemUID,ItemCode,
ItemName,SU.UOMDescription As SalesUOM,PendingQty, CancelledQty,
DocumentSubTypeUID, ReceivedQty,T.BranchUID, FromDate,ToDate,T.LineNumber,
PreceedingDoc, SucceedingDoc,T.Qty,ISNULL(L.Price,0) As
SellingPrice,ISNULL(L.MRP,0) As MRP,ISNULL(L.SellingPrice,0) As MappedPrice,
ISNULL(T.basicValue,0) As basicValue,ISNULL(L.PackingPer,0) As
PackingPer,ISNULL(L.PackingAmount,0) As PackingAmount,
ISNULL(L.Discount1Per,0) As Discount1Per,ISNULL(L.Discount1Amount,0) As
Discount1Amount,ISNULL(L.EDPer,0) As EDPer,ISNULL(L.EDAmount,0) As EDAmount,
ISNULL(L.NumberAttribute8,0) As
NumberAttribute8,ISNULL(L.NumberAttribute10,0) As
NumberAttribute10,ISNULL(L.EDCessPer,0) As EDCessPer,
ISNULL(L.EDCessAmount,0) As EDCessAmount,ISNULL(L.HECessPer,0) As
HECessPer,ISNULL(L.HECessAmount,0) As HECessAmount,
ISNULL(L.Discount2Per,0) As Discount2Per,ISNULL(L.Discount2Amount,0) As
Discount2Amount,ISNULL(L.SalesTaxPer,0) As SalesTaxPer,
ISNULL(L.SalesTaxAmount,0) As SalesTaxAmount,ISNULL(L.SalesTaxCessPer,0) As
SalesTaxCessPer,ISNULL(L.SalesTaxCessAmount,0) As SalesTaxCessAmount,
ISNULL(L.Discount3Per,0) As Discount3Per,ISNULL(L.Discount3Amount,0)
Discount3Amount,ISNULL(L.TotalValue,0) As TotalValue,L.BatchNo,
ISNULL(L.NumberAttribute13,0) As
NumberAttribute13,L.StringAttribute3,RefTransactionsUID,
CASE WHEN @IsGSTEnabled = 1 and DocDate >= @GstDate THEN 1 ELSE 0 END AS
IsGST,ITLE.NumberAttribute1 As Length,ITLE.NumberAttribute3 As Width,
ITLE.NumberAttribute7 As Thickness, ITLE.NumberAttribute12 As
MeasuredLength,ITLE.StringAttribute1 As EndOrOpen,ITLE.BitAttribute2 As
Load,Color,T.RefDocDate2,'' as RefDocNo2,
T.DealerName,NetValue,T.StringAttribute10 as EwayBillNo
from #Tempdetails T
Inner Join UOM SU With(NoLock) On SU.UOMUID = T.SalesUOMUID And T.PendingQty
> 0
Inner Join InventoryTransList L With(NoLock) On L.InventoryTransListUID =
T.InventoryTransListUID
Left Join InventoryTransListExtension ITLE With(NoLock) ON
ITLE.InventoryTransListUID = T.InventoryTransListUID

Where IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000' And T.DocumentSubTypeUID<>'3C2E4004-CB3F-
4D2D-BF0C-50B2773E5D7C'
) B
WHERE NetValue > case when @Isvalidationrequiredforewaybillentry = 0 then
(NetValue-1) Else
case when @Isvalidationrequiredforewaybillentry = 1
and NetValue > @chkamt and @DocumentSubTypeUID in(select DocumentSubTypeUID from
VW_InvoiceTypeM)
and isnull(EwayBillNo,'') = '' then NetValue
Else
case when NetValue <= @chkamt then (NetValue-1) Else
@chkamt end end end
Order By DocDate, DocNo, LineNumber
OFFSET @PageSize * (@PageNo - 1) ROWS
FETCH NEXT @PageSize ROWS ONLY;
End

Else If @Status = 48 -- ApproveSalesReturn


Begin
Select @IsEnableLength= Condition From GeneralConfigurationM Where CriteriaUID =
'B95CC5EE-4F03-4C32-A783-A870A77AD2FD'
select TransactionsHeaderUID,InventoryTransListUID, Doctype, DocNo,
DocDate,PartyUID, PartyName, City, ItemUID,ItemCode,
ItemName,SalesUOM,PendingQty, CancelledQty, DocumentSubTypeUID,
ReceivedQty,BranchUID, FromDate,ToDate,LineNumber,
PreceedingDoc, SucceedingDoc,Qty,convert(decimal(18,3),SellingPrice)
SellingPrice,convert(decimal(18,2),MRP) MRP,convert(decimal(18,3),MappedPrice)
MappedPrice,convert(decimal(18,2),BasicValue) BasicValue
,convert(decimal(18,2),PackingPer)
PackingPer,convert(decimal(18,2),PackingAmount)
PackingAmount,convert(decimal(18,2),Discount1Per)
Discount1Per,convert(decimal(18,2),Discount1Amount) Discount1Amount,
convert(decimal(18,2),EDPer) EDPer,convert(decimal(18,2),EDAmount)
EDAmount,convert(decimal(18,2),NumberAttribute8)
NumberAttribute8,convert(decimal(18,2),NumberAttribute10)
NumberAttribute10,EDCessPer,
EDCessAmount,HECessPer,HECessAmount,convert(decimal(18,2),Discount2Per)
Discount2Per,convert(decimal(18,2),Discount2Amount)
Discount2Amount,convert(decimal(18,2),SalesTaxPer)
SalesTaxPer,convert(decimal(18,2),SalesTaxAmount) SalesTaxAmount,
SalesTaxCessPer,SalesTaxCessAmount,convert(decimal(18,2),Discount3Per)
Discount3Per,convert(decimal(18,2),Discount3Amount)
Discount3Amount,convert(decimal(18,2),TotalValue)
TotalValue,BatchNo,convert(decimal(18,2),NumberAttribute13) NumberAttribute13,
StringAttribute3,RefTransactionsUID,IsGST,@IsEnableLength AS
IsLengthWidth,convert(decimal(18,2),Length) Length,convert(decimal(18,2),Width)
Width,convert(decimal(18,2),Thickness) Thickness,
convert(decimal(18,2),MeasuredLength)
MeasuredLength,EndOrOpen,Load,Color,RefDocdate2,RefDocNo2,DealerName,NetValue,EwayB
illNo
From (
Select distinct A.TransactionsHeaderUID,null AS InventoryTransListUID,
Doctype,A.DocNo, DocDate, A.PartyUID, PartyName, City,
null AS ItemUID,null AS ItemCode,null AS ItemName, Null As SalesUOM,null AS
PendingQty, null AS CancelledQty, DocumentSubTypeUID, null AS ReceivedQty,
null AS BranchUID,FromDate, ToDate,0 as LineNumber, PreceedingDoc,null AS
SucceedingDoc, Null Qty,
Null As SellingPrice,Null As MRP,Null As MappedPrice,Null As basicValue,Null
As PackingPer,
Null As PackingAmount,Null As Discount1Per,Null As Discount1Amount,Null As
EDPer,Null As EDAmount,Null As NumberAttribute8,
Null As NumberAttribute10,Null As EDCessPer,Null As EDCessAmount,Null As
HECessPer,Null As HECessAmount,Null As Discount2Per,
Null As Discount2Amount,Null As SalesTaxPer,Null As SalesTaxAmount,Null As
SalesTaxCessPer,Null As SalesTaxCessAmount,Null As Discount3Per,
Null As Discount3Amount,Null As TotalValue,Null As BatchNo,Null As
NumberAttribute13,Null As StringAttribute3,null RefTransactionsUID,0 as IsGST,
null As Length,null As Width, null As Thickness, null As MeasuredLength,
null As EndOrOpen,null As Load,null Color ,null RefDocDate2,A.RefDocno1 as
RefDocNo2,A.DealerName,NetValue,A.StringAttribute10 as EwayBillNo
From #Tempdetails A
--Where A.DocumentSubTypeUID<>'3C2E4004-CB3F-4D2D-BF0C-50B2773E5D7C'
--INNER JOIN (select TransactionsHeaderUID From #Tempdetails)T ON
A.TransactionsHeaderUID = T.TransactionsHeaderUID
--Left Join InventoryTransListExtension ITLE With(NoLock) ON
ITLE.InventoryTransListUID = A.InventoryTransListUID
--Where IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000'
UNION ALL
Select T.TransactionsHeaderUID,T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, T.PartyName, City, T.ItemUID,ItemCode,
ItemName,SU.UOMDescription As SalesUOM,PendingQty, CancelledQty,
DocumentSubTypeUID, ReceivedQty,T.BranchUID, FromDate,ToDate,T.LineNumber,
PreceedingDoc, SucceedingDoc,T.Qty,ISNULL(L.Price,0) As
SellingPrice,ISNULL(L.MRP,0) As MRP,ISNULL(L.SellingPrice,0) As MappedPrice,
ISNULL(T.basicValue,0) As basicValue,ISNULL(L.PackingPer,0) As
PackingPer,ISNULL(L.PackingAmount,0) As PackingAmount,
ISNULL(L.Discount1Per,0) As Discount1Per,ISNULL(L.Discount1Amount,0) As
Discount1Amount,ISNULL(L.EDPer,0) As EDPer,ISNULL(L.EDAmount,0) As EDAmount,
ISNULL(L.NumberAttribute8,0) As
NumberAttribute8,ISNULL(L.NumberAttribute10,0) As
NumberAttribute10,ISNULL(L.EDCessPer,0) As EDCessPer,
ISNULL(L.EDCessAmount,0) As EDCessAmount,ISNULL(L.HECessPer,0) As
HECessPer,ISNULL(L.HECessAmount,0) As HECessAmount,
ISNULL(L.Discount2Per,0) As Discount2Per,ISNULL(L.Discount2Amount,0) As
Discount2Amount,ISNULL(L.SalesTaxPer,0) As SalesTaxPer,
ISNULL(L.SalesTaxAmount,0) As SalesTaxAmount,ISNULL(L.SalesTaxCessPer,0) As
SalesTaxCessPer,ISNULL(L.SalesTaxCessAmount,0) As SalesTaxCessAmount,
ISNULL(L.Discount3Per,0) As Discount3Per,ISNULL(L.Discount3Amount,0)
Discount3Amount,ISNULL(L.TotalValue,0) As TotalValue,L.BatchNo,
ISNULL(L.NumberAttribute13,0) As
NumberAttribute13,L.StringAttribute3,RefTransactionsUID,
CASE WHEN @IsGSTEnabled = 1 and DocDate >= @GstDate THEN 1 ELSE 0 END AS
IsGST,ITLE.NumberAttribute1 As Length,ITLE.NumberAttribute3 As Width,
ITLE.NumberAttribute7 As Thickness, ITLE.NumberAttribute12 As
MeasuredLength,ITLE.StringAttribute1 As EndOrOpen,ITLE.BitAttribute2 As
Load,Color,T.RefDocDate2,'' as RefDocNo2,
T.DealerName,NetValue,T.StringAttribute10 as EwayBillNo
from #Tempdetails T
Inner Join UOM SU With(NoLock) On SU.UOMUID = T.SalesUOMUID And T.PendingQty
> 0
Inner Join InventoryTransList L With(NoLock) On L.InventoryTransListUID =
T.InventoryTransListUID
Left Join InventoryTransListExtension ITLE With(NoLock) ON
ITLE.InventoryTransListUID = T.InventoryTransListUID

Where IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000' --And T.DocumentSubTypeUID<>'3C2E4004-CB3F-
4D2D-BF0C-50B2773E5D7C'
) B
--WHERE NetValue > case when @Isvalidationrequiredforewaybillentry = 0 then
(NetValue-1) Else
-- case when @Isvalidationrequiredforewaybillentry = 1
and NetValue > @chkamt and @DocumentSubTypeUID in(select DocumentSubTypeUID from
VW_InvoiceTypeM)
-- and isnull(EwayBillNo,'') = '' then NetValue
Else
-- case when NetValue <= @chkamt then (NetValue-1) Else
@chkamt end end end
Order By DocDate, DocNo, LineNumber
OFFSET @PageSize * (@PageNo - 1) ROWS
FETCH NEXT @PageSize ROWS ONLY;
End
Else If @Status = 24 -- Approve
Begin
Select @IsEnableLength= Condition From GeneralConfigurationM Where CriteriaUID =
'B95CC5EE-4F03-4C32-A783-A870A77AD2FD'
select TransactionsHeaderUID,InventoryTransListUID, Doctype, DocNo,
DocDate,PartyUID, PartyName, City, ItemUID,ItemCode,
ItemName,SalesUOM,PendingQty, CancelledQty, DocumentSubTypeUID,
ReceivedQty,BranchUID, FromDate,ToDate,LineNumber,
PreceedingDoc, SucceedingDoc,Qty,convert(decimal(18,3),SellingPrice)
SellingPrice,convert(decimal(18,2),MRP) MRP,convert(decimal(18,3),MappedPrice)
MappedPrice,convert(decimal(18,2),BasicValue) BasicValue
,convert(decimal(18,2),PackingPer)
PackingPer,convert(decimal(18,2),PackingAmount)
PackingAmount,convert(decimal(18,2),Discount1Per)
Discount1Per,convert(decimal(18,2),Discount1Amount) Discount1Amount,
convert(decimal(18,2),EDPer) EDPer,convert(decimal(18,2),EDAmount)
EDAmount,convert(decimal(18,2),NumberAttribute8)
NumberAttribute8,convert(decimal(18,2),NumberAttribute10)
NumberAttribute10,EDCessPer,
EDCessAmount,HECessPer,HECessAmount,convert(decimal(18,2),Discount2Per)
Discount2Per,convert(decimal(18,2),Discount2Amount)
Discount2Amount,convert(decimal(18,2),SalesTaxPer)
SalesTaxPer,convert(decimal(18,2),SalesTaxAmount) SalesTaxAmount,
SalesTaxCessPer,SalesTaxCessAmount,convert(decimal(18,2),Discount3Per)
Discount3Per,convert(decimal(18,2),Discount3Amount)
Discount3Amount,convert(decimal(18,2),TotalValue)
TotalValue,BatchNo,convert(decimal(18,2),NumberAttribute13) NumberAttribute13,
StringAttribute3,RefTransactionsUID,IsGST,@IsEnableLength AS
IsLengthWidth,convert(decimal(18,2),Length) Length,convert(decimal(18,2),Width)
Width,convert(decimal(18,2),Thickness) Thickness,
convert(decimal(18,2),MeasuredLength)
MeasuredLength,EndOrOpen,Load,Color,RefDocdate2,RefDocNo2,DealerName,NetValue,EwayB
illNo
From (
Select distinct A.TransactionsHeaderUID,null AS InventoryTransListUID,
Doctype,A.DocNo, DocDate, A.PartyUID, PartyName, City,
null AS ItemUID,null AS ItemCode,null AS ItemName, Null As SalesUOM,null AS
PendingQty, null AS CancelledQty, DocumentSubTypeUID, null AS ReceivedQty,
null AS BranchUID,FromDate, ToDate,0 as LineNumber, PreceedingDoc,null AS
SucceedingDoc, Null Qty,
Null As SellingPrice,Null As MRP,Null As MappedPrice,Null As basicValue,Null
As PackingPer,
Null As PackingAmount,Null As Discount1Per,Null As Discount1Amount,Null As
EDPer,Null As EDAmount,Null As NumberAttribute8,
Null As NumberAttribute10,Null As EDCessPer,Null As EDCessAmount,Null As
HECessPer,Null As HECessAmount,Null As Discount2Per,
Null As Discount2Amount,Null As SalesTaxPer,Null As SalesTaxAmount,Null As
SalesTaxCessPer,Null As SalesTaxCessAmount,Null As Discount3Per,
Null As Discount3Amount,Null As TotalValue,Null As BatchNo,Null As
NumberAttribute13,Null As StringAttribute3,null RefTransactionsUID,0 as IsGST,
null As Length,null As Width, null As Thickness, null As MeasuredLength,
null As EndOrOpen,null As Load,null Color ,null RefDocDate2,A.RefDocno1 as
RefDocNo2,A.DealerName,NetValue,A.StringAttribute10 as EwayBillNo
From #Tempdetails A
--Where A.DocumentSubTypeUID<>'3C2E4004-CB3F-4D2D-BF0C-50B2773E5D7C'
--INNER JOIN (select TransactionsHeaderUID From #Tempdetails)T ON
A.TransactionsHeaderUID = T.TransactionsHeaderUID
--Left Join InventoryTransListExtension ITLE With(NoLock) ON
ITLE.InventoryTransListUID = A.InventoryTransListUID
--Where IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000'
UNION ALL
Select T.TransactionsHeaderUID,T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, T.PartyName, City, T.ItemUID,ItemCode,
ItemName,SU.UOMDescription As SalesUOM,PendingQty, CancelledQty,
DocumentSubTypeUID, ReceivedQty,T.BranchUID, FromDate,ToDate,T.LineNumber,
PreceedingDoc, SucceedingDoc,T.Qty,ISNULL(L.Price,0) As
SellingPrice,ISNULL(L.MRP,0) As MRP,ISNULL(L.SellingPrice,0) As MappedPrice,
ISNULL(T.basicValue,0) As basicValue,ISNULL(L.PackingPer,0) As
PackingPer,ISNULL(L.PackingAmount,0) As PackingAmount,
ISNULL(L.Discount1Per,0) As Discount1Per,ISNULL(L.Discount1Amount,0) As
Discount1Amount,ISNULL(L.EDPer,0) As EDPer,ISNULL(L.EDAmount,0) As EDAmount,
ISNULL(L.NumberAttribute8,0) As
NumberAttribute8,ISNULL(L.NumberAttribute10,0) As
NumberAttribute10,ISNULL(L.EDCessPer,0) As EDCessPer,
ISNULL(L.EDCessAmount,0) As EDCessAmount,ISNULL(L.HECessPer,0) As
HECessPer,ISNULL(L.HECessAmount,0) As HECessAmount,
ISNULL(L.Discount2Per,0) As Discount2Per,ISNULL(L.Discount2Amount,0) As
Discount2Amount,ISNULL(L.SalesTaxPer,0) As SalesTaxPer,
ISNULL(L.SalesTaxAmount,0) As SalesTaxAmount,ISNULL(L.SalesTaxCessPer,0) As
SalesTaxCessPer,ISNULL(L.SalesTaxCessAmount,0) As SalesTaxCessAmount,
ISNULL(L.Discount3Per,0) As Discount3Per,ISNULL(L.Discount3Amount,0)
Discount3Amount,ISNULL(L.TotalValue,0) As TotalValue,L.BatchNo,
ISNULL(L.NumberAttribute13,0) As
NumberAttribute13,L.StringAttribute3,RefTransactionsUID,
CASE WHEN @IsGSTEnabled = 1 and DocDate >= @GstDate THEN 1 ELSE 0 END AS
IsGST,ITLE.NumberAttribute1 As Length,ITLE.NumberAttribute3 As Width,
ITLE.NumberAttribute7 As Thickness, ITLE.NumberAttribute12 As
MeasuredLength,ITLE.StringAttribute1 As EndOrOpen,ITLE.BitAttribute2 As
Load,Color,T.RefDocDate2,'' as RefDocNo2,
T.DealerName,NetValue,T.StringAttribute10 as EwayBillNo
from #Tempdetails T
Inner Join UOM SU With(NoLock) On SU.UOMUID = T.SalesUOMUID And T.PendingQty
> 0
Inner Join InventoryTransList L With(NoLock) On L.InventoryTransListUID =
T.InventoryTransListUID
Left Join InventoryTransListExtension ITLE With(NoLock) ON
ITLE.InventoryTransListUID = T.InventoryTransListUID

Where IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000' --And T.DocumentSubTypeUID<>'3C2E4004-CB3F-
4D2D-BF0C-50B2773E5D7C'
) B
--WHERE NetValue > case when @Isvalidationrequiredforewaybillentry = 0 then
(NetValue-1) Else
-- case when @Isvalidationrequiredforewaybillentry = 1
and NetValue > @chkamt and @DocumentSubTypeUID in(select DocumentSubTypeUID from
VW_InvoiceTypeM)
-- and isnull(EwayBillNo,'') = '' then NetValue
Else
-- case when NetValue <= @chkamt then (NetValue-1) Else
@chkamt end end end
Order By DocDate, DocNo, LineNumber
OFFSET @PageSize * (@PageNo - 1) ROWS
FETCH NEXT @PageSize ROWS ONLY;
End

Else If @Status = 38 -- Sub Contract approval


Begin
Select @IsEnableLength= Condition From GeneralConfigurationM Where CriteriaUID =
'B95CC5EE-4F03-4C32-A783-A870A77AD2FD'
select TransactionsHeaderUID,InventoryTransListUID, Doctype, DocNo,
DocDate,PartyUID, PartyName, City, ItemUID,ItemCode,
ItemName,SalesUOM,PendingQty, CancelledQty, DocumentSubTypeUID,
ReceivedQty,BranchUID, FromDate,ToDate,LineNumber,
PreceedingDoc, SucceedingDoc,Qty,convert(decimal(18,3),Price)
Price,convert(decimal(18,2),MRP) MRP,convert(decimal(18,3),MappedPrice)
MappedPrice,convert(decimal(18,2),BasicValue) BasicValue
,convert(decimal(18,2),PackingPer)
PackingPer,convert(decimal(18,2),PackingAmount)
PackingAmount,convert(decimal(18,2),Discount1Per)
Discount1Per,convert(decimal(18,2),Discount1Amount) Discount1Amount,
convert(decimal(18,2),EDPer) EDPer,convert(decimal(18,2),EDAmount)
EDAmount,convert(decimal(18,2),NumberAttribute8)
NumberAttribute8,convert(decimal(18,2),NumberAttribute10)
NumberAttribute10,EDCessPer,
EDCessAmount,HECessPer,HECessAmount,convert(decimal(18,2),Discount2Per)
Discount2Per,convert(decimal(18,2),Discount2Amount)
Discount2Amount,convert(decimal(18,2),SalesTaxPer)
SalesTaxPer,convert(decimal(18,2),SalesTaxAmount) SalesTaxAmount,
SalesTaxCessPer,SalesTaxCessAmount,convert(decimal(18,2),Discount3Per)
Discount3Per,convert(decimal(18,2),Discount3Amount)
Discount3Amount,convert(decimal(18,2),TotalValue)
TotalValue,BatchNo,convert(decimal(18,2),NumberAttribute13) NumberAttribute13,
StringAttribute3,RefTransactionsUID,IsGST,@IsEnableLength AS
IsLengthWidth,convert(decimal(18,2),Length) Length,convert(decimal(18,2),Width)
Width,convert(decimal(18,2),Thickness) Thickness,
convert(decimal(18,2),MeasuredLength)
MeasuredLength,EndOrOpen,Load,Color,RefDocdate2,RefDocNo2,DealerName,NetValue,EwayB
illNo
From (
Select distinct A.TransactionsHeaderUID,null AS InventoryTransListUID,
Doctype,A.DocNo, DocDate, A.PartyUID, PartyName, City,
null AS ItemUID,ItemCode AS ItemCode,ItemName AS ItemName, Null As
SalesUOM,null AS PendingQty, null AS CancelledQty, DocumentSubTypeUID, null AS
ReceivedQty,
null AS BranchUID,FromDate, ToDate,0 as LineNumber, PreceedingDoc,null AS
SucceedingDoc, Null Qty,
Price As Price,Null As MRP,Null As MappedPrice,Null As basicValue,Null As
PackingPer,
Null As PackingAmount,Null As Discount1Per,Null As Discount1Amount,Null As
EDPer,Null As EDAmount,Null As NumberAttribute8,
Null As NumberAttribute10,Null As EDCessPer,Null As EDCessAmount,Null As
HECessPer,Null As HECessAmount,Null As Discount2Per,
Null As Discount2Amount,Null As SalesTaxPer,Null As SalesTaxAmount,Null As
SalesTaxCessPer,Null As SalesTaxCessAmount,Null As Discount3Per,
Null As Discount3Amount,Null As TotalValue,Null As BatchNo,Null As
NumberAttribute13,Null As StringAttribute3,null RefTransactionsUID,0 as IsGST,
null As Length,null As Width, null As Thickness, null As MeasuredLength,
null As EndOrOpen,null As Load,null Color ,null RefDocDate2,A.RefDocno1 as
RefDocNo2,A.DealerName,NetValue,A.StringAttribute10 as EwayBillNo
From #Tempdetails A
--Where A.DocumentSubTypeUID<>'3C2E4004-CB3F-4D2D-BF0C-50B2773E5D7C'
--INNER JOIN (select TransactionsHeaderUID From #Tempdetails)T ON
A.TransactionsHeaderUID = T.TransactionsHeaderUID
--Left Join InventoryTransListExtension ITLE With(NoLock) ON
ITLE.InventoryTransListUID = A.InventoryTransListUID
--Where IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000'
UNION ALL
Select T.TransactionsHeaderUID,T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, T.PartyName, City, T.ItemUID,ItemCode,
ItemName,SU.UOMDescription As SalesUOM,PendingQty, CancelledQty,
DocumentSubTypeUID, ReceivedQty,T.BranchUID, FromDate,ToDate,T.LineNumber,
PreceedingDoc, SucceedingDoc,T.Qty,ISNULL(L.Price,0) As Price,ISNULL(L.MRP,0)
As MRP,ISNULL(L.SellingPrice,0) As MappedPrice,
ISNULL(T.basicValue,0) As basicValue,ISNULL(L.PackingPer,0) As
PackingPer,ISNULL(L.PackingAmount,0) As PackingAmount,
ISNULL(L.Discount1Per,0) As Discount1Per,ISNULL(L.Discount1Amount,0) As
Discount1Amount,ISNULL(L.EDPer,0) As EDPer,ISNULL(L.EDAmount,0) As EDAmount,
ISNULL(L.NumberAttribute8,0) As
NumberAttribute8,ISNULL(L.NumberAttribute10,0) As
NumberAttribute10,ISNULL(L.EDCessPer,0) As EDCessPer,
ISNULL(L.EDCessAmount,0) As EDCessAmount,ISNULL(L.HECessPer,0) As
HECessPer,ISNULL(L.HECessAmount,0) As HECessAmount,
ISNULL(L.Discount2Per,0) As Discount2Per,ISNULL(L.Discount2Amount,0) As
Discount2Amount,ISNULL(L.SalesTaxPer,0) As SalesTaxPer,
ISNULL(L.SalesTaxAmount,0) As SalesTaxAmount,ISNULL(L.SalesTaxCessPer,0) As
SalesTaxCessPer,ISNULL(L.SalesTaxCessAmount,0) As SalesTaxCessAmount,
ISNULL(L.Discount3Per,0) As Discount3Per,ISNULL(L.Discount3Amount,0)
Discount3Amount,ISNULL(L.TotalValue,0) As TotalValue,L.BatchNo,
ISNULL(L.NumberAttribute13,0) As
NumberAttribute13,L.StringAttribute3,RefTransactionsUID,
CASE WHEN @IsGSTEnabled = 1 and DocDate >= @GstDate THEN 1 ELSE 0 END AS
IsGST,ITLE.NumberAttribute1 As Length,ITLE.NumberAttribute3 As Width,
ITLE.NumberAttribute7 As Thickness, ITLE.NumberAttribute12 As
MeasuredLength,ITLE.StringAttribute1 As EndOrOpen,ITLE.BitAttribute2 As
Load,Color,T.RefDocDate2,'' as RefDocNo2,
T.DealerName,NetValue,T.StringAttribute10 as EwayBillNo
from #Tempdetails T
Inner Join UOM SU With(NoLock) On SU.UOMUID = T.SalesUOMUID And T.PendingQty
> 0
Inner Join InventoryTransList L With(NoLock) On L.InventoryTransListUID =
T.InventoryTransListUID
Left Join InventoryTransListExtension ITLE With(NoLock) ON
ITLE.InventoryTransListUID = T.InventoryTransListUID

Where IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000' --And T.DocumentSubTypeUID<>'3C2E4004-CB3F-
4D2D-BF0C-50B2773E5D7C'
) B
--WHERE NetValue > case when @Isvalidationrequiredforewaybillentry = 0 then
(NetValue-1) Else
-- case when @Isvalidationrequiredforewaybillentry = 1
and NetValue > @chkamt and @DocumentSubTypeUID in(select DocumentSubTypeUID from
VW_InvoiceTypeM)
-- and isnull(EwayBillNo,'') = '' then NetValue
Else
-- case when NetValue <= @chkamt then (NetValue-1) Else
@chkamt end end end
Order By DocDate, DocNo, LineNumber
OFFSET @PageSize * (@PageNo - 1) ROWS
FETCH NEXT @PageSize ROWS ONLY;
End

Else If @Status = 37 -- capital Approve


Begin
Select @IsEnableLength= Condition From GeneralConfigurationM Where CriteriaUID =
'B95CC5EE-4F03-4C32-A783-A870A77AD2FD'
select TransactionsHeaderUID,InventoryTransListUID, Doctype, DocNo,
DocDate,PartyUID, PartyName, City, ItemUID,ItemCode,
ItemName,SalesUOM,PendingQty, CancelledQty, DocumentSubTypeUID,
ReceivedQty,BranchUID, FromDate,ToDate,LineNumber,
PreceedingDoc, SucceedingDoc,Qty,convert(decimal(18,3),SellingPrice)
SellingPrice,convert(decimal(18,2),MRP) MRP,convert(decimal(18,3),MappedPrice)
MappedPrice,convert(decimal(18,2),BasicValue) BasicValue
,convert(decimal(18,2),PackingPer)
PackingPer,convert(decimal(18,2),PackingAmount)
PackingAmount,convert(decimal(18,2),Discount1Per)
Discount1Per,convert(decimal(18,2),Discount1Amount) Discount1Amount,
convert(decimal(18,2),EDPer) EDPer,convert(decimal(18,2),EDAmount)
EDAmount,convert(decimal(18,2),NumberAttribute8)
NumberAttribute8,convert(decimal(18,2),NumberAttribute10)
NumberAttribute10,EDCessPer,
EDCessAmount,HECessPer,HECessAmount,convert(decimal(18,2),Discount2Per)
Discount2Per,convert(decimal(18,2),Discount2Amount)
Discount2Amount,convert(decimal(18,2),SalesTaxPer)
SalesTaxPer,convert(decimal(18,2),SalesTaxAmount) SalesTaxAmount,
SalesTaxCessPer,SalesTaxCessAmount,convert(decimal(18,2),Discount3Per)
Discount3Per,convert(decimal(18,2),Discount3Amount)
Discount3Amount,convert(decimal(18,2),TotalValue)
TotalValue,BatchNo,convert(decimal(18,2),NumberAttribute13) NumberAttribute13,
StringAttribute3,RefTransactionsUID,IsGST,@IsEnableLength AS
IsLengthWidth,convert(decimal(18,2),Length) Length,convert(decimal(18,2),Width)
Width,convert(decimal(18,2),Thickness) Thickness,
convert(decimal(18,2),MeasuredLength)
MeasuredLength,EndOrOpen,Load,Color,RefDocdate2,RefDocNo2,DealerName,NetValue,EwayB
illNo
From (
Select distinct A.TransactionsHeaderUID,null AS InventoryTransListUID,
Doctype,A.DocNo, DocDate, A.PartyUID, PartyName, City,
null AS ItemUID,null AS ItemCode,null AS ItemName, Null As SalesUOM,null AS
PendingQty, null AS CancelledQty, DocumentSubTypeUID, null AS ReceivedQty,
null AS BranchUID,FromDate, ToDate,0 as LineNumber, PreceedingDoc,null AS
SucceedingDoc, Null Qty,
Null As SellingPrice,Null As MRP,Null As MappedPrice,Null As basicValue,Null
As PackingPer,
Null As PackingAmount,Null As Discount1Per,Null As Discount1Amount,Null As
EDPer,Null As EDAmount,Null As NumberAttribute8,
Null As NumberAttribute10,Null As EDCessPer,Null As EDCessAmount,Null As
HECessPer,Null As HECessAmount,Null As Discount2Per,
Null As Discount2Amount,Null As SalesTaxPer,Null As SalesTaxAmount,Null As
SalesTaxCessPer,Null As SalesTaxCessAmount,Null As Discount3Per,
Null As Discount3Amount,Null As TotalValue,Null As BatchNo,Null As
NumberAttribute13,Null As StringAttribute3,null RefTransactionsUID,0 as IsGST,
null As Length,null As Width, null As Thickness, null As MeasuredLength,
null As EndOrOpen,null As Load,null Color ,null RefDocDate2,A.RefDocno1 as
RefDocNo2,A.DealerName,NetValue,A.StringAttribute10 as EwayBillNo
From #Tempdetails A
--Where A.DocumentSubTypeUID<>'3C2E4004-CB3F-4D2D-BF0C-50B2773E5D7C'
--INNER JOIN (select TransactionsHeaderUID From #Tempdetails)T ON
A.TransactionsHeaderUID = T.TransactionsHeaderUID
--Left Join InventoryTransListExtension ITLE With(NoLock) ON
ITLE.InventoryTransListUID = A.InventoryTransListUID
--Where IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000'
UNION ALL
Select T.TransactionsHeaderUID,T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, T.PartyName, City, T.ItemUID,ItemCode,
ItemName,SU.UOMDescription As SalesUOM,PendingQty, CancelledQty,
DocumentSubTypeUID, ReceivedQty,T.BranchUID, FromDate,ToDate,T.LineNumber,
PreceedingDoc, SucceedingDoc,T.Qty,ISNULL(L.Price,0) As
SellingPrice,ISNULL(L.MRP,0) As MRP,ISNULL(L.SellingPrice,0) As MappedPrice,
ISNULL(T.basicValue,0) As basicValue,ISNULL(L.PackingPer,0) As
PackingPer,ISNULL(L.PackingAmount,0) As PackingAmount,
ISNULL(L.Discount1Per,0) As Discount1Per,ISNULL(L.Discount1Amount,0) As
Discount1Amount,ISNULL(L.EDPer,0) As EDPer,ISNULL(L.EDAmount,0) As EDAmount,
ISNULL(L.NumberAttribute8,0) As
NumberAttribute8,ISNULL(L.NumberAttribute10,0) As
NumberAttribute10,ISNULL(L.EDCessPer,0) As EDCessPer,
ISNULL(L.EDCessAmount,0) As EDCessAmount,ISNULL(L.HECessPer,0) As
HECessPer,ISNULL(L.HECessAmount,0) As HECessAmount,
ISNULL(L.Discount2Per,0) As Discount2Per,ISNULL(L.Discount2Amount,0) As
Discount2Amount,ISNULL(L.SalesTaxPer,0) As SalesTaxPer,
ISNULL(L.SalesTaxAmount,0) As SalesTaxAmount,ISNULL(L.SalesTaxCessPer,0) As
SalesTaxCessPer,ISNULL(L.SalesTaxCessAmount,0) As SalesTaxCessAmount,
ISNULL(L.Discount3Per,0) As Discount3Per,ISNULL(L.Discount3Amount,0)
Discount3Amount,ISNULL(L.TotalValue,0) As TotalValue,L.BatchNo,
ISNULL(L.NumberAttribute13,0) As
NumberAttribute13,L.StringAttribute3,RefTransactionsUID,
CASE WHEN @IsGSTEnabled = 1 and DocDate >= @GstDate THEN 1 ELSE 0 END AS
IsGST,ITLE.NumberAttribute1 As Length,ITLE.NumberAttribute3 As Width,
ITLE.NumberAttribute7 As Thickness, ITLE.NumberAttribute12 As
MeasuredLength,ITLE.StringAttribute1 As EndOrOpen,ITLE.BitAttribute2 As
Load,Color,T.RefDocDate2,'' as RefDocNo2,
T.DealerName,NetValue,T.StringAttribute10 as EwayBillNo
from #Tempdetails T
Inner Join UOM SU With(NoLock) On SU.UOMUID = T.SalesUOMUID And T.PendingQty
> 0
Inner Join InventoryTransList L With(NoLock) On L.InventoryTransListUID =
T.InventoryTransListUID
Left Join InventoryTransListExtension ITLE With(NoLock) ON
ITLE.InventoryTransListUID = T.InventoryTransListUID

Where IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') =
'00000000-0000-0000-0000-000000000000' --And T.DocumentSubTypeUID<>'3C2E4004-CB3F-
4D2D-BF0C-50B2773E5D7C'
) B
--WHERE NetValue > case when @Isvalidationrequiredforewaybillentry = 0 then
(NetValue-1) Else
-- case when @Isvalidationrequiredforewaybillentry = 1
and NetValue > @chkamt and @DocumentSubTypeUID in(select DocumentSubTypeUID from
VW_InvoiceTypeM)
-- and isnull(EwayBillNo,'') = '' then NetValue
Else
-- case when NetValue <= @chkamt then (NetValue-1) Else
@chkamt end end end
Order By DocDate, DocNo, LineNumber
OFFSET @PageSize * (@PageNo - 1) ROWS
FETCH NEXT @PageSize ROWS ONLY;
End
Else If @Status = 34 -- Past PO
Begin
Create Table #GRN (DocRefNo1 nVarchar(MAX),DocRefDate1
DateTime,RefInventoryTransListUID UniqueIdentifier)
Insert into #GRN
Select
H.SupplierBillNo As DocRefNo1,H.SupplierBillDate As DocRefDate1,
ITL.RefInventoryTransListUID
From InventoryTransListMatch ITL With (NoLock)
Inner Join InventoryTransList As IT With(NoLock) ON IT.InventoryTransListUID =
ITL.InventoryTransListUID
Inner Join TransactionsHeader H With(NoLock) On
IT.TransactionsHeaderUID=H.TransactionsHeaderUID
Inner Join DocumentSubTypeM D With(NoLock) On
H.DocumentSubTypeUID=D.DocumentSubTypeUID And D.DOcumentSubTypeUID = '28600A9E-
CBBE-42E7-AF28-C15C3A2570D3'
Left join InventorylinkM IM With (NoLock) On IT.InventoryTransListUID =
Im.InventoryUID
Left Join InventoryTransListMatch ITLM with(NoLock) On
ITLM.RefInventoryTransListUID = IT.InventoryTransListUID
Left Join InventoryTransList ITLR With(NoLock) On ITLR.InventoryTransListUID =
ITLM.InventoryTransListUID And ITLR.ItemStatusMUID = '7E04BB47-825C-44DE-8ED6-
AB4259A67462'
Left Join InventoryTransList ITLG with(NoLock) On ITLG.InventoryTransListUID =
ITLM.InventoryTransListUID And ITLG.ItemStatusMUID = 'C5AFAB33-2536-450F-A756-
695905AE04AA'
Where ITL.IsActive =1 And ITL.ReferenceType= 'P'
Group by H.SupplierBillNo ,H.SupplierBillDate,ITL.RefInventoryTransListUID

Select Distinct T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype,

DocNo As DocNo, DocDate, T.PartyUID, T.PartyName, City, T.ItemUID,IM.ItemName AS


ItemName , IM.ItemCode,
CONVERT(DECIMAL(18,3),Sum(M.AcceptedQty)/T.ConversionFactor) As AcceptedQty,
CONVERT(DECIMAL(18,3),Sum(M.RejectedQty)/T.ConversionFactor) As RejectedQty,
ItemAliAsName, ISNULL(CONVERT(DECIMAL(18,3),(T.Qty / T.ConversionFactor)),0) As
Qty,IM.MaterialGrade as MaterialCode,IM.ModelNumber,
--M.DocRefNo1,M.DocRefDate1,
IsNull(Stuff((select cast(DocRefNo1 as varchar(MAX)) + ','
from #GRN GR where GR.RefInventoryTransListUID =T.InventoryTransListUID for xml
path('')),1,0,''),'') As DocRefNo1,
IsNull(Stuff((select cast(Isnull(REPLACE(CONVERT(VARCHAR(11),
Isnull(DocRefDate1,''), 106), ' ', '-'),'-') + ', ' as varchar(MAX))
from #GRN GR where GR.RefInventoryTransListUID =T.InventoryTransListUID for xml
path('')),1,0,''),'') As DocRefDate1,
T.PurchaseUOM As UOM,
CONVERT(DECIMAL(18,3),(ISNULL(T.Qty,0) - ISNULL(M.Matchqty,0))/T.ConversionFactor)
PendingQty, CancelledQty,T.DocumentSubTypeUID,
CONVERT(DECIMAL(18,3),sum(ISNULL(M.Matchqty,0)/T.ConversionFactor))
ReceivedQty,T.BranchUID,
FromDate, ToDate,T.DocumentDate,RefDocNo,T.RefDocDate1,T.ItemID,
T.SupplierBillNo,T.SupplierBillDate,IsNull(T.PurchaseRate,T.Price) Price,
LineTotal, HeaderTotal,T.StringAttribute3,

ItemStatusDescription,T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays,T.LineNumber,T.ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As
NumberAttribute4,IM.MaterialGrade As PreceedingDoc,IM.ModelNumber As
SucceedingDoc,T.BasicValue, HeaderStatus ,
Isnull(PartyCategoryDescription,'UnAssigned') As PartySubGroup,
Isnull(PartyGroupName,'UnAssigned') As PartyGroupName,
MA.AreaTypeDesc AS MainArea, FA.AreaTypeDesc AS FunctionalArea,
COM.CompanyCode,Doc, PartyCategoryDescription,
PSM.PartySubTypeDescription As PartySubType, T.ItemName As ItemSize, IM.ItemType As
ProductName,
IM.ItemSubGroupDescription As GSM,T.BasicValue as NetValue,
IM.ItemGroupDescription As ItemGroupName, IM.ItemCategoryName As
ItemCategory,USM.UserName,
IM.ItemGroupDescription As ItemGroupName,IM.ItemSubGroupDescription AS
ItemSubGroupName,
DATEDIFF(day,T.DocumentDate,dbo.GetLocalDate()) AS DueDays,
CASE WHEN DATEDIFF(DD,T.DocumentDate,dbo.GetLocalDate()) <= 3 THEN 0 ELSE

CASE WHEN DATEDIFF(DD,T.DocumentDate,dbo.GetLocalDate()) > 3 And


DATEDIFF(DD,T.DocumentDate, dbo.GetLocalDate()) <= 5 THEN 1 ELSE

CASE WHEN DATEDIFF(DD,T.DocumentDate,dbo.GetLocalDate()) > 5 THEN -1 END END END AS


DueDateRange,
T.NumberAttribute1 as TotalQty,
P.PartyCode,P.PartyName,
Case When T.RefTransactionsUID IS NULL then 1 Else 0 End As [Status]

From #Tempdetails T
Left Join(
Select Sum(IsNull(IT.Qty, 0) ) Matchqty,
Sum(Distinct IsNull(ML.Qty,0)) As AcceptedQty,Sum(Distinct IsNull(RL.Qty,0)) As
RejectedQty,
IT.RefTransactionsListUID
From InventoryTransList As IT With(NoLock)
Inner Join TransactionsHeader H With(NoLock) On
IT.TransactionsHeaderUID=H.TransactionsHeaderUID
Inner Join DocumentSubTypeM D With(NoLock) On
H.DocumentSubTypeUID=D.DocumentSubTypeUID
Left join InventoryTransList ML with(NoLock) On ML.InventoryTransListUID =
IT.RefTransactionsListUID And ML.ItemStatusMUID = 'C5AFAB33-2536-450F-A756-
695905AE04AA'
Left join InventoryTransList RL with(NoLock) On RL.InventoryTransListUID =
IT.RefTransactionsListUID And RL.ItemStatusMUID = '7E04BB47-825C-44DE-8ED6-
AB4259A67462'
Where IT.IsActive =1
Group by IT.RefTransactionsListUID
)M On M.RefTransactionsListUID = T.InventoryTransListUID
--INNER JOIN InventoryTransList ITL WITH (NOLOCK) ON
T.TransactionsHeaderUID=ITL.TransactionsHeaderUID
--Inner Join InventoryTransListMatch ILM With (NOLOCK) ON
ILM.RefInventoryTransListUID = T.InventoryTransListUID
--Left Join InventoryTransList ITLL With (NoLock) ON ITLL.InventoryTransListUID =
ILM.InventoryTransListUID

Inner Join UserM USM With(NoLock) On USM.UserUID=T.CreatedBy


Inner Join VW_ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID AND IM.BranchUID =
@BranchUID
Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID
Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID
Left Join PartyM P With (NoLock) On T.PartyUid = P.PartyUID
Left Join PartySubTypeM PSM With(NoLock) On P.PartySubTypeUID = PSM.PartySubTypeUID

--Left Join InventoryTransListSchedule LS With(NoLock) ON LS.InventoryTransListUID


= T.InventoryTransListUID
LEFT JOIN AreaTypeM MA WITH(NOLOCK) ON MA.AreaTypeMUID = T.HUIDAttribute2 AND
MA.AreaType = 'M'
LEFT JOIN AreaTypeM FA WITH(NOLOCK) ON FA.AreaTypeMUID = T.HUIDAttribute3 AND
FA.AreaType = 'F'
Left Join (SELECT ITL.InventoryTransListUID, Sum(Isnull(EDAmount,0)) +
SUM(Isnull(EDCessAmount,0)) + Sum(Isnull(HECessAmount,0)) +
Sum(Isnull(SalesTaxAmount,0)) + Sum(Isnull(ITL.NumberAttribute14,0)) +
Sum(ISNULL(SalesTaxCessAmount,0)) +
SUM(Isnull(AddAmount,0)) + SUM(Isnull(Commission,0)) +
SUM(IsNull(BasicDiscountAmount,0))+

Sum(Isnull(ITL.NumberAttribute10,0)) As TaxAmount

FROM TransactionsHeader TH WITH (NOLOCK)

INNER JOIN InventoryTransList ITL WITH (NOLOCK) ON


TH.TransactionsHeaderUID=ITL.TransactionsHeaderUID

WHERE ITL.IsActive=1 And TH.BranchUID = @BranchUID

And TH.DocumentSubTypeUID IN (@DocumentSubTypeUID, @AddlDocumentSubTypeUID)

Group By ITL.InventoryTransListUID)TX On TX.InventoryTransListUID =


T.InventoryTransListUID
Where IsNull(IM.ItemGroupUID,'00000000-0000-0000-0000-000000000000')= Case When
@ItemGroupUID <> '00000000-0000-0000-0000-000000000000' Then
@ItemGroupUID Else IsNull(IM.ItemGroupUID, '00000000-0000-0000-0000-000000000000')
End
And IsNull(IM.ItemCategoryUID,'00000000-0000-0000-0000-000000000000')= Case When
@ItemCategoryUID <> '00000000-0000-0000-0000-000000000000' Then
@ItemCategoryUID Else IsNull(IM.ItemCategoryUID, '00000000-0000-0000-0000-
000000000000') End
Group By T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, T.PartyName, City, T.ItemUID, IM.ItemName,T.ConversionFactor,

ItemAliAsName, T.Qty, UOM, PendingQty, CancelledQty, T.DocumentSubTypeUID,


T.BranchUID, FromDate, ToDate,T. DocumentDate, RefDocNo,T.RefDocDate1,
CompanyPartNo, T.PurchaseUOM,
T.ItemID, VehicleName, VehicleUID, T.ValidTillDate,
T.SupplierBillNo,T.SupplierBillDate,T. Price, LineTotal, HeaderTotal,
Notes,T.StringAttribute3,
ItemStatusDescription,T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays, T.LineNumber, ReceivedQty,T. ShortageQty,

T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade, PreceedingDoc,


SucceedingDoc,T.BasicValue, HeaderStatus , IM .ItemCode,
PartyCategoryDescription, PartyGroupName, MA.AreaTypeDesc, FA.AreaTypeDesc,
COM.CompanyCode ,Doc, IM.ItemType, IM.ItemSubGroupDescription,
PSM.PartySubTypeDescription, T.NetValue,IM.ItemGroupDescription,
IM.ItemCategoryName,USM.UserName,IM.ItemGroupDescription,IM.ItemSubGroupDescription
,TX.TaxAmount,
PartNo,IM.DrawingNo,IM.DrawingRevisionNo ,T.ItemName ,T.Qty,T.NumberAttribute1,P.Pa
rtyCode,P.PartyName,T.BasicValue,
T.RefTransactionsUID,T.PurchaseRate,IM.MaterialGrade,IM.ModelNumber,M.Matchqty
Order By Doc, DocDate, LineNumber,IM.ItemGroupDescription
--OFFSET @PageSize * (@PageNo - 1) ROWS
--FETCH NEXT @PageSize ROWS ONLY;
End

Else If @Status = 35 -- Past GRN


Select
T.TransactionsHeaderUID,T.InventoryTransListUID,T.Doctype,T.DocNo,T.DocDate,T.Party
UID,T.PartyName,T.City,T.ItemUID,
T.ItemCode,T.ItemName,T.LongItemName,T.DrawingNo,T.PrinciplePartNo,T.ItemType,T.Ite
mAliAsName,RTH.POQty,
Convert(decimal(18,3),(L.NumberAttribute22*T.ConversionFactor)) AS Qty,
T.UOM,convert(Decimal(18,3),(RTH.POQty-T.NumberAttribute1)*T.ConversionFactor)
PendingQty,
Convert(Decimal(18,3),T.NumberAttribute1*T.ConversionFactor)
ReceivedQty,T.CancelledQty,T.DocumentSubTypeUID,
T.PreceedingDoc,T.SucceedingDoc,T.BranchUID,T.FromDate,T.ToDate,T.DocumentDate,T.Re
fDocNo,T.CompanyPartNo,T.ItemID,T.VehicleName,T.VehicleUID,T.ValidTillDate,T.Suppli
erBillNo,
T.SupplierBillDate,L.NetCost as
Price,T.LineTotal,T.HeaderTotal,T.ItemStatusDescription,T.VehicleNo,T.NoOfPockets,T
.NettWeight,T.GrossWeight,T.MINNo,T.MINDocDate,T.Bin,T.NoOfDays,
T.LineNumber,T.ShortageQty,T.Grade,Convert(decimal(18,3),L.NumberAttribute22) As
NumberAttribute1,T.DateAttribute1,T.StringAttribute2,T.StringAttribute3,T.Conversio
nFactor,
T.SaleCF,T.PurchaseUOM,T.MOQ,T.SSL,T.MaxQty,T.ItemQOH,T.HeaderStatus,T.Notes,T.Line
StatusCode,T.StringAttribute5,T.DateAttribute5,T.NumberAttribute2,T.SalesUOMUID,T.B
asicValue,
T.RefTransactionsUID,T.HUIDAttribute2,T.HUIDAttribute3,T.NetValue,T.PartyCategoryDe
scription,T.PartyGroupName,T.Doc,T.FinYearUID,T.RefDocNo1,T.RefDocDate1,T.CreatedBy
,
T.StringAttribute1,T.StatusUID,T.UIDAttribute4,T.
[Status],T.PurchaseRate,convert(Decimal(18,3),RTH.POQty-T.NumberAttribute1 )
PurchasePendingQty,convert(Decimal(18,3),L.NumberAttribute1 )As
PurchaseReceivedQty,RTH.PONo As PONo, RTH.PODate As PODate,ICM.ItemCategoryName As
ItemCategory,IG.ItemGroupDescription As ItemGroupName,
convert(decimal(18,2),L.NetCost) as NetCost,convert(decimal(18,2),
(L.Qty*L.NetCost)) as
Receiptvalue,RTH.RefDocNo_GRN,RTH.RefDocDate_GRN,RTH.InspectedBy
From #Tempdetails T
Inner Join InventoryTransList L With(Nolock) On
T.InventoryTransListUID=L.InventoryTransListUID
Inner Join ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID
Inner Join ItemBranchMappingM IL With(NoLock) On IM.ItemUID=IL.ItemUID AND
IL.BranchUID = @BranchUID
Left Join ItemCategoryM ICM with (Nolock) ON IL.ItemCategoryUID=ICM.ItemCategoryUID
And ICM.IsActive = 1
lEFT JOIN ItemSubGroupM AS ISM WITH (NOLOCK) ON ISM.ItemSubGroupUID =
IM.ItemSubGroupUID And ISM.IsActive = 1
lEFT JOIN ItemGroupM AS IG WITH (NOLOCK) ON IG.ItemGroupUID = ISM.ItemGroupUID And
IG.IsActive = 1
Left Join (
Select RH.DocumentNo PONo,RL.NumberAttribute1 as POQty,RH.DocumentDate
PODate,L.InventoryTransListUID ,M.Quantity AS Qty,H.RefDocNo1 As RefDocNo_GRN,
H.RefDocDate1 As RefDocDate_GRN,USM.UserName As InspectedBy
From TransactionsHeader H With(NoLock)
Inner Join UserM USM With(NoLock) On USM.UserUID=H.CreatedBy
Inner Join InventoryTransList L With(NoLock) On L.TransactionsHeaderUID =
H.TransactionsHeaderUID
Inner Join RefInventoryTransListMatch M With(NoLock) On M.InventoryTransListUID =
L.InventoryTransListUID and M.RefDocumentSubTypeUID ='A482AA75-E47C-47BA-A3EE-
9D9693FC101B'
Inner Join InventoryTransList RL With(NoLock) On RL.InventoryTransListUID =
M.RefInventoryTransListUID
Inner Join TransactionsHeader RH With(NoLock) On RH.TransactionsHeaderUID =
RL.TransactionsHeaderUID
--Where H.TransactionsHEaderUID = @TransactionsHeaderUID
)RTH On RTH.InventoryTransListUID = L.InventoryTransListUID
Order By Doc, DocDate, LineNumber

Else If @Status = 42
Select Distinct
T.TransactionsHeaderUID,T.DocNo,T.DocDate,PM.PartyName,IM.ItemCode,IM.ItemName,ITL.
StringAttribute4,UP.UOMDescription,Cast(ITL.Qty as decimal(10,3)) as Qty,
cast(ITL.Price as decimal(10,2)) as Price,Cast(ITL.BasicValue as decimal(10,2)) as
BasicValue,GetDate() AS FromDate,GetDate() AS ToDate
From #Tempdetails T
Inner Join InventoryTransList ITL With(NoLock) ON ITL.InventoryTransListUID =
T.InventoryTransListUID
Inner Join PartyM PM WITH(NOLOCK) ON PM.PartyUID=T.PartyUID

INNER JOIN ItemM IM WITH(NOLOCK) ON IM.ItemUID = ITL.ItemUID


Inner Join UOM UP WITH(NOLOCK) ON UP.UOMUID= ITL.UOMUID

WHERE T.DocumentSUBTypeUID=@DocumentSubTypeUID
ORDER BY T.DocNo

Else If @Status = 43
Select Distinct
T.TransactionsHeaderUID,T.InventoryTransListUID,T.DocNo,T.DocDate,PM.PartyName,IM.I
temCode,IM.ItemName,UP.UOMDescription,Cast(ITL.Qty as decimal(10,3)) as Qty,
cast(ITL.Price as decimal(10,2)) as Price,cast(ITL.BasicValue as decimal(10,2)) as
BasicValue,GetDate() AS FromDate,GetDate() AS ToDate
From #Tempdetails T
Inner Join InventoryTransList ITL With(NoLock) ON ITL.InventoryTransListUID =
T.InventoryTransListUID
Inner Join PartyM PM WITH(NOLOCK) ON PM.PartyUID=T.PartyUID

INNER JOIN ItemM IM WITH(NOLOCK) ON IM.ItemUID = ITL.ItemUID


Inner Join UOM UP WITH(NOLOCK) ON UP.UOMUID= ITL.UOMUID

WHERE T.DocumentSUBTypeUID=@DocumentSubTypeUID
ORDER BY T.DocNo

Else If @Status = 36 -- short close


Select 0 as Selected,* From #Tempdetails T
where (T.Qty-IsNull(T.MatchQty, 0))>0 and T.LnStatusMUID = 'C3ABA4A2-37A1-4251-
87C7-1434A649A93E'

Else If @Status = 44
Begin
Select @IsEnableLength= Condition From GeneralConfigurationM Where CriteriaUID =
'B95CC5EE-4F03-4C32-A783-A870A77AD2FD'
Select Distinct 0 as Selected,T.TransactionsHeaderUID, T.InventoryTransListUID,
Doctype,IM.PartNo ,DRM.DrawingNo +'/'+DRM.DrawingRevisionNo as DrawingNo,
Case When @DocumentSubTypeUID Not In ('57A9AA41-851A-47E6-A8BE-
E81E56E3C627','E357DA2F-9CD0-46CF-8FA1-F6D7E5F15019') Then DocNo

Else Case When HeaderStatus = 'Accepted' Then DocNo+'/'+'A' Else DocNo+'/'+'R' End
End As DocNo, DocDate, T.PartyUID, T.PartyName, City, T.ItemUID,
case when @DocumentSubTypeUID='608B0E5E-9785-4379-ABF6-FAA314CB7CD4' and
@IsEnableLength =1 then
IM.ItemName +' '+ Replace(Case when Isnull(ITLE.NumberAttribute1,0)>0 and
Isnull(ITLE.NumberAttribute3,0) >0 then
CONVERT(varchar,(CONVERT(decimal(18,2), Isnull(ITLE.NumberAttribute1,0)))) + ' X '
+
CONVERT(varchar,(CONVERT(decimal(18,2), Isnull(ITLE.NumberAttribute3,0))))+' X '+
CONVERT(varchar,(CONVERT(decimal(18,2), Isnull(ITLE.NumberAttribute7,0))))+' ' +
'('+Isnull(ITLE.StringAttribute1,'')+')' when Isnull(ITLE.NumberAttribute1,0)>0
then
CONVERT(varchar,(CONVERT(decimal(18,2), Isnull(ITLE.NumberAttribute1,0)))) + ' X '
+ '('+Isnull(ITLE.StringAttribute1,'')+')'
when Isnull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000')='00000000-
0000-0000-0000-000000000000'
and ITL.Bitattribute5 = 1 then CONVERT(varchar,(CONVERT(decimal(18,0),
Isnull(ITLE.NumberAttribute3,0))))+' X '+
CONVERT(varchar,(CONVERT(decimal(18,2), Isnull(ITLE.NumberAttribute7,0))))+' ' +

'('+Isnull(ITLE.StringAttribute1,'')+')' else '' end,'.00','') else IM.ItemName


end AS ItemName , IM .ItemCode,
ItemAliAsName, CASE WHEN @DocumentSubTypeUID = 'A482AA75-E47C-47BA-A3EE-
9D9693FC101B' THEN ISNULL(CONVERT(DECIMAL(18,3),(T.Qty / T.ConversionFactor)),0)
ELSE ISNULL(Sum(IMM.EntryQty), T.Qty) End Qty,
CASE WHEN @DocumentSubTypeUID = 'A482AA75-E47C-47BA-A3EE-9D9693FC101B' THEN
T.PurchaseUOM ELSE UOM End UOM,
PendingQty, CancelledQty,T.DocumentSubTypeUID, ReceivedQty,T.BranchUID, FromDate,
ToDate,T.DocumentDate--,RefDocNo,T.RefDocDate1
, CompanyPartNo, T.ItemID, Notes,
VehicleName, VehicleUID,
T.ValidTillDate,T.SupplierBillNo,Convert(varchar(10),T.SupplierBillDate,103)Supplie
rBillDate,
case when @DocumentSubTypeUID='B793F25E-EA3B-4EF6-B241-7F7FBCDE7FA4' then
convert(decimal(18,2),T.MRP) ELse T.Price end as Price,
LineTotal, HeaderTotal,T.StringAttribute3,

ItemStatusDescription,T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays,T.LineNumber,T.ShortageQty,
ISNULL(Sum(IMM.EntryQty),T.NumberAttribute1) AS NumberAttribute1, T.DateAttribute1,
T.StringAttribute2, Grade As NumberAttribute4, PreceedingDoc,
SucceedingDoc,T.BasicValue, HeaderStatus ,
Isnull(PartyCategoryDescription,'UnAssigned') As PartySubGroup,
Isnull(PartyGroupName,'UnAssigned') As PartyGroupName,
MA.AreaTypeDesc AS MainArea, FA.AreaTypeDesc AS FunctionalArea,
COM.CompanyCode,Doc, PartyCategoryDescription,
PSM.PartySubTypeDescription As PartySubType, T.ItemName As ItemSize, IT.ItemType As
ProductName,
ISM.ItemSubGroupDescription As GSM,T.LineTotal As NetValue,
IG.ItemGroupDescription As ItemGroupName, ICM.ItemCategoryName As
ItemCategory,USM.UserName,
IG.ItemGroupDescription As ItemGroupName,ISM.ItemSubGroupDescription AS
ItemSubGroupName,T.StockValue,
DATEDIFF(day,T.DocumentDate,dbo.GetLocalDate()) AS DueDays,
CASE WHEN DATEDIFF(DD,T.DocumentDate,dbo.GetLocalDate()) <= 3 THEN 0 ELSE

CASE WHEN DATEDIFF(DD,T.DocumentDate,dbo.GetLocalDate()) > 3 And


DATEDIFF(DD,T.DocumentDate, dbo.GetLocalDate()) <= 5 THEN 1 ELSE

CASE WHEN DATEDIFF(DD,T.DocumentDate,dbo.GetLocalDate()) > 5 THEN -1 END END END AS


DueDateRange,
TX.TaxAmount,IsNull(LS.Qty, 0) As ScheduleQty ,T.NumberAttribute1 as TotalQty ,
Convert(Varchar(11), IsNull(LSM.ScheduleDate,Isnull(LS.ScheduleDate, '')), 106)As
POScheduledDate,
Convert(Varchar(11), Isnull(LS.ScheduleDate, ''), 106)As ScheduleDate,
P.PartyCode,P.PartyName,'' as WorkOrderNo,T.StringAttribute2 as
PRWorkOrderNo,TRH.DocumentNo as RefDocNo,TRH.DocumentDate as RefDocDate1,
Case When T.RefTransactionsUID IS NULL then 1 Else 0 End As [Status],
convert(decimal(18,2),(T.MRP *T.Qty)) as JobValue,Convert (Bit,1) as IsEnableEmail,
T.Netvalue,@Amount as Amount,
case when @Amount <= T.Netvalue and @IsApprovalbasedonUserRights =1 then 1 else
0 end as UserRight
From #Tempdetails T
INNER JOIN InventoryTransList ITL WITH (NOLOCK) ON
T.TransactionsHeaderUID=ITL.TransactionsHeaderUID
Inner Join InventoryTranslistMatch ITRM With(NoLock) on
ITRM.InventoryTransListUID=ITL.InventoryTransListUID
Inner Join InventoryTranslist ITSL With(Nolock) On
ITSL.InventoryTransListUID=ITRM.RefInventoryTranslistUID
Inner Join Transactionsheader TRH With(Nolock) On
TRH.TransactionsheaderUID=ITSL.TransactionsheaderUID
--Left Join InventoryTransListExtension ITLE With(NoLock) On
ITLE.InventoryTransListUID = ITL.InventoryTransListUID
--Left Join TransactionsHeader WTH WITH (NOLOCK) ON ITL.UIDAttribute3
=WTH.TransactionsHeaderUID
--Left Join TransactionsHeader WH WITH (NOLOCK) ON T.PartyUID
=WH.TransactionsHeaderUID
Inner Join UserM USM With(NoLock) On USM.UserUID=T.CreatedBy
Inner Join ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID
Inner Join ItemBranchMappingM IL With(NoLock) On IM.ItemUID=IL.ItemUID AND
IL.BranchUID = @BranchUID
Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID
Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID
lEFT JOIN ItemSubGroupM AS ISM WITH (NOLOCK) ON ISM.ItemSubGroupUID =
IM.ItemSubGroupUID And ISM.IsActive = 1
lEFT JOIN ItemGroupM AS IG WITH (NOLOCK) ON IG.ItemGroupUID = ISM.ItemGroupUID And
IG.IsActive = 1
Left Join ItemCategoryM ICM with (Nolock) ON IL.ItemCategoryUID=ICM.ItemCategoryUID
And ICM.IsActive = 1
lEFT JOIN ItemTypeM AS IT WITH (NOLOCK) ON IT.ItemTypeUID = IM.ItemTypeUID And
IT.IsActive = 1
Left Join DrawingM DRM With(NoLock) On DRM.ItemUID = IM.ItemUID And DRM.IsActive =
1
Left Join PartyM P With (NoLock) On T.PartyUid = P.PartyUID
Left Join PartySubTypeM PSM With(NoLock) On P.PartySubTypeUID = PSM.PartySubTypeUID

Left join InventorylinkM IMM With (NoLock) On T.InventoryTransListUID =


IMM.InventoryUID And T.DocumentSubTypeUID Not in ('608B0E5E-9785-4379-ABF6-
FAA314CB7CD4')
Left Join InventoryTransListSchedule LSM With(NoLock) On
LSM.InventoryTransListScheduleUID = IMM.RefInventoryUID
Left Join InventoryTransListSchedule LS With(NoLock) ON LS.InventoryTransListUID =
T.InventoryTransListUID
LEFT JOIN AreaTypeM MA WITH(NOLOCK) ON MA.AreaTypeMUID = T.HUIDAttribute2 AND
MA.AreaType = 'M'
LEFT JOIN AreaTypeM FA WITH(NOLOCK) ON FA.AreaTypeMUID = T.HUIDAttribute3 AND
FA.AreaType = 'F'
Left Join (SELECT ITL.InventoryTransListUID, Sum(Isnull(EDAmount,0)) +
SUM(Isnull(EDCessAmount,0)) + Sum(Isnull(HECessAmount,0)) +
Sum(Isnull(SalesTaxAmount,0)) + Sum(Isnull(ITL.NumberAttribute14,0)) +
Sum(ISNULL(SalesTaxCessAmount,0)) +
SUM(Isnull(AddAmount,0)) + SUM(Isnull(Commission,0)) +
SUM(IsNull(BasicDiscountAmount,0))+
Sum(Isnull(ITL.NumberAttribute10,0)) As TaxAmount

FROM TransactionsHeader TH WITH (NOLOCK)

INNER JOIN InventoryTransList ITL WITH (NOLOCK) ON


TH.TransactionsHeaderUID=ITL.TransactionsHeaderUID

WHERE ITL.IsActive=1 And TH.BranchUID = @BranchUID

And TH.DocumentSubTypeUID IN (@DocumentSubTypeUID, @AddlDocumentSubTypeUID)

Group By ITL.InventoryTransListUID)TX On TX.InventoryTransListUID =


T.InventoryTransListUID
Left Join InventoryTransListExtension ITLE WITH(NOLOCK) On
ITLE.InventoryTransListUID =T.InventoryTransListUID
Where IsNull(IG.ItemGroupUID,'00000000-0000-0000-0000-000000000000')= Case When
@ItemGroupUID <> '00000000-0000-0000-0000-000000000000' Then
@ItemGroupUID Else IsNull(IG.ItemGroupUID, '00000000-0000-0000-0000-000000000000')
End
And IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') = '00000000-
0000-0000-0000-000000000000'
And IsNull(ICM.ItemCategoryUID,'00000000-0000-0000-0000-000000000000')= Case When
@ItemCategoryUID <> '00000000-0000-0000-0000-000000000000' Then
@ItemCategoryUID Else IsNull(ICM.ItemCategoryUID, '00000000-0000-0000-0000-
000000000000') End
Group By T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, T.PartyName, City, T.ItemUID, IM.ItemName,T.ConversionFactor,T.MRP,

ItemAliAsName, T.Qty, UOM, PendingQty, CancelledQty, T.DocumentSubTypeUID,


T.BranchUID, FromDate, ToDate,T. DocumentDate, RefDocNo,T.RefDocDate1,
CompanyPartNo, T.PurchaseUOM,
T.ItemID, VehicleName, VehicleUID, T.ValidTillDate,
T.SupplierBillNo,T.SupplierBillDate,T. Price, LineTotal, HeaderTotal,
Notes,T.StringAttribute3,
ItemStatusDescription,T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays, T.LineNumber, ReceivedQty,T. ShortageQty,

T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade, PreceedingDoc,


SucceedingDoc,T.BasicValue, HeaderStatus , IM .ItemCode,
PartyCategoryDescription, PartyGroupName, MA.AreaTypeDesc, FA.AreaTypeDesc,
COM.CompanyCode ,Doc, IT.ItemType, ISM.ItemSubGroupDescription,
PSM.PartySubTypeDescription, T.LineTotal,IG.ItemGroupDescription,
ICM.ItemCategoryName,USM.UserName,IG.ItemGroupDescription,ISM.ItemSubGroupDescripti
on,TX.TaxAmount,
PartNo,DRM.DrawingNo,DRM.DrawingRevisionNo ,T.ItemName ,LS.Qty,LS.ScheduleDate,LSM.
ScheduleDate,T.Qty,T.NumberAttribute1,P.PartyCode,P.PartyName,

T.RefTransactionsUID,ITLE.NumberAttribute1,ITLE.NumberAttribute3,ITLE.NumberAttribu
te7,ITLE.Stringattribute1, ITLE.BitAttribute5 ,ITLE.UIDAttribute1,
ITL.BitAttribute5 ,T.NetValue,T.StockValue,TRH.DocumentNo,TRH.DocumentDate
Order By Doc, DocDate, LineNumber,IG.ItemGroupDescription
End

Else
Begin
create table #Doc(DocumentNo nvarchar(max) collate
SQL_Latin1_General_CP1_CI_AI,DocumentDate datetime,InventoryTransListUID
uniqueidentifier)
Insert into #Doc
select TA.DocumentNo,TA.DocumentDate,TL.InventoryTransListUID
from TransactionsHeader TH with(nolock)
inner join InventoryTransList TL with(nolock) on TL.TransactionsHeaderUID =
TH.TransactionsHeaderUID
left join InventoryTransListMatch ITM with(nolock) on ITM.InventoryTransListUID
=TL.InventoryTransListUID
left join InventoryTransList IL with(nolock) on IL.InventoryTransListUID
=ITM.RefInventoryTransListUID
left join TransactionsHeader TA with(nolock) on TA.TransactionsHeaderUID =
IL.TransactionsHeaderUID
where TH.DocumentsubtypeUID In ('28600A9E-CBBE-42E7-AF28-
C15C3A2570D3','2C8D1E36-553C-4805-B451-8A81F7DCBC6D')
Group by TA.DocumentNo,TA.DocumentDate,TL.InventoryTransListUID

CREATE TABLE #BILLACCNO (DOCUMENTNO nvarchar(max) collate


SQL_Latin1_General_CP1_CI_AI,DOCUMENTDATE datetime)
INSERT INTO #BILLACCNO
SELECT H.DOCUMENTNO,H.DOCUMENTDATE FROM TRANSACTIONSHEADER TH
INNER JOIN INVENTORYTRANSLIST TL WITH(NOLOCK) ON TH.TRANSACTIONSHEADERUID =
TL.TRANSACTIONSHEADERUID
INNER JOIN INVENTORYTRANSLISTMATCH ITL WITH(NOLOCK) ON ITL.InventoryTransListUID =
TL.InventoryTransListUID
LEFT JOIN INVENTORYTRANSLIST L WITH(NOLOCK) ON L.InventoryTransListUID =
ITL.RefInventoryTransListUID
LEFT JOIN TRANSACTIONSHEADER H WITH(NOLOCK) ON H.TRANSACTIONSHEADERUID =
L.TransactionsHeaderUID
WHERE TH.DocumentSUBTypeUID = '57A9AA41-851A-47E6-A8BE-E81E56E3C627'

--print @IsSalePickList
Select Distinct 0 as Selected,T.TransactionsHeaderUID,
T.InventoryTransListUID,T.Doctype,T.PrinciplePartNo As PartNo ,T.DrawingNo,
Case When @DocumentSubTypeUID Not In ('57A9AA41-851A-47E6-A8BE-
E81E56E3C627','E357DA2F-9CD0-46CF-8FA1-F6D7E5F15019') Then DocNo

Else Case When HeaderStatus = 'Accepted' Then DocNo+'/'+'A' Else DocNo+'/'+'R' End
End As DocNo,Convert(varchar(15),DocDate,103) as DocDate, T.PartyUID, T.PartyName,
T.City, T.ItemUID,
case when @DocumentSubTypeUID='608B0E5E-9785-4379-ABF6-FAA314CB7CD4' and
@IsEnableLength =1 then
T.ItemName +' '+ Replace(Case when Isnull(ITLE.NumberAttribute1,0)>0 and
Isnull(ITLE.NumberAttribute3,0) >0 then
CONVERT(varchar,(CONVERT(decimal(18,2), Isnull(ITLE.NumberAttribute1,0)))) + ' X '
+
CONVERT(varchar,(CONVERT(decimal(18,2), Isnull(ITLE.NumberAttribute3,0))))+' X '+
CONVERT(varchar,(CONVERT(decimal(18,2), Isnull(ITLE.NumberAttribute7,0))))+' ' +
'('+Isnull(ITLE.StringAttribute1,'')+')' when Isnull(ITLE.NumberAttribute1,0)>0
then
CONVERT(varchar,(CONVERT(decimal(18,2), Isnull(ITLE.NumberAttribute1,0)))) + ' X '
+ '('+Isnull(ITLE.StringAttribute1,'')+')'
when Isnull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000')='00000000-
0000-0000-0000-000000000000'
and ITL.Bitattribute5 = 1 then CONVERT(varchar,(CONVERT(decimal(18,0),
Isnull(ITLE.NumberAttribute3,0))))+' X '+
CONVERT(varchar,(CONVERT(decimal(18,2), Isnull(ITLE.NumberAttribute7,0))))+' ' +

'('+Isnull(ITLE.StringAttribute1,'')+')' else '' end,'.00','') else T.ItemName end


AS ItemName , T.ItemCode,T.ItemCode as ItemAliAsName,
CASE WHEN @DocumentSubTypeUID = 'A482AA75-E47C-47BA-A3EE-9D9693FC101B' THEN
ISNULL(CONVERT(DECIMAL(18,3),(T.Qty / T.ConversionFactor)),0)
ELSE ISNULL(Sum(IMM.EntryQty), T.Qty) End Qty, CASE WHEN @DocumentSubTypeUID =
'A482AA75-E47C-47BA-A3EE-9D9693FC101B' THEN T.PurchaseUOM ELSE
case when @DocumentSubTypeUID='A906D1A8-EDA5-4F5C-ABE2-AC8529BAADA4' then
T.PurchaseUOM else UOM end End UOM,
T.PendingQty,T.CancelledQty,T.DocumentSubTypeUID,T.ReceivedQty,T.BranchUID,
T.FromDate, T.ToDate,Convert(varchar(15),T.DocumentDate,103) as DocumentDate,
T.RefDocNo,Convert(varchar(15),T.RefDocDate1,103) as RefDocDate1,
T.CompanyPartNo, T.ItemID, T.Notes,T.VehicleName,
T.VehicleUID,Convert(varchar(15),T.ValidTillDate,103) as
ValidTillDate,T.SupplierBillNo,Convert(varchar(15),T.SupplierBillDate,103)SupplierB
illDate,
convert(decimal(18,2),case when @DocumentSubTypeUID='B793F25E-EA3B-4EF6-B241-
7F7FBCDE7FA4' then convert(decimal(18,2),T.MRP) ELse case
when @DocumentSubTypeUID='0CC579F1-BF1C-47DC-8B16-C5774559A2BE'then pjobrate else
T.Price end end) as Price,
T.LineTotal, T.HeaderTotal,T.StringAttribute3,T.ItemStatusDescription,T.VehicleNo,
T.NoOfPockets, T.NettWeight, T.GrossWeight, T.MINNo, T.MINDocDate,
T.NoOfDays,T.LineNumber,T.ShortageQty,ISNULL(Sum(IMM.EntryQty),T.NumberAttribute1)
AS NumberAttribute1, T.DateAttribute1, T.StringAttribute2 as WorkOrderNo,
T.Grade As NumberAttribute4, T.PreceedingDoc, T.SucceedingDoc,T.BasicValue,
T.HeaderStatus ,
Isnull(T.PartyCategoryDescription,'UnAssigned') As PartySubGroup,
Isnull(T.PartyGroupName,'UnAssigned') As PartyGroupName,
MA.AreaTypeDesc AS MainArea, FA.AreaTypeDesc AS FunctionalArea,
COM.CompanyCode,Convert(varchar(15),T.Doc,103) as Doc,
T.PartyCategoryDescription,PSM.PartySubTypeDescription As PartySubType, T.ItemName
As ItemSize, T.ItemType As ProductName,
ISM.ItemSubGroupDescription As GSM,T.LineTotal As NetValue,IG.ItemGroupDescription
As ItemGroupName, ICM.ItemCategoryName As ItemCategory,
USM.UserName,IG.ItemGroupDescription As ItemGroupName,ISM.ItemSubGroupDescription
AS ItemSubGroupName,T.StockValue,
DATEDIFF(day,T.DocumentDate,dbo.GetLocalDate()) AS DueDays,
CASE WHEN DATEDIFF(DD,T.DocumentDate,dbo.GetLocalDate()) <= 3 THEN 0 ELSE

CASE WHEN DATEDIFF(DD,T.DocumentDate,dbo.GetLocalDate()) > 3 And


DATEDIFF(DD,T.DocumentDate, dbo.GetLocalDate()) <= 5 THEN 1 ELSE

CASE WHEN DATEDIFF(DD,T.DocumentDate,dbo.GetLocalDate()) > 5 THEN -1 END END END AS


DueDateRange,TX.TaxAmount,IsNull(LS.Qty, 0) As ScheduleQty ,
T.NumberAttribute1 as TotalQty ,Convert(Varchar(11),
IsNull(LSM.ScheduleDate,Isnull(LS.ScheduleDate, '')), 106)As POScheduledDate,
Convert(Varchar(11), Isnull(LS.ScheduleDate, ''), 106)As
ScheduleDate,P.PartyCode,P.PartyName,
CASE WHEN @DocumentSubTypeUID = 'C640F99F-B407-4353-BFAD-87774C9B1D94' THEN
T.StringAttribute2 else WH.DocumentNo end as PRWorkOrderNo,
Case When T.RefTransactionsUID IS NULL then 1 Else 0 End As [Status],
convert(decimal(18,2),(pjobrate)) as JobValue,convert(decimal(18,2),(pjobrate)) as
NumberAttribute2,
Convert (Bit,1) as IsEnableEmail,T.Netvalue As LnNetValue,@Amount as Amount,
case when @Amount <= T.Netvalue and @IsApprovalbasedonUserRights =1 then 1 else 0
end as UserRight,
T.MaterialGrade,T.ROL,T.MOQ,T.MinQty ,T.MaxQty,Leadtime,T.ItemQOH,T.WOLeadTime,T.Re
fDocDate2,
IsNull(Stuff((select cast(DocumentNo as varchar(MAX)) from #Doc DD where
DD.InventoryTransListUID =T.InventoryTransListUID
group by DocumentNo
for xml path('')),1,0,''),'') As PONo,
IsNull(Stuff((select cast(Isnull(REPLACE(CONVERT(VARCHAR(11),
Isnull(DocumentDate,''), 106), ' ', '-'),'-') as varchar(MAX))
from #Doc GR where GR.InventoryTransListUID =T.InventoryTransListUID
Group by DocumentDate
for xml path('')),1,0,''),'') As PODate,T.StringAttribute4,T.ModelNumber
From #Tempdetails T
Inner Join UserM USM With(NoLock) On USM.UserUID=T.CreatedBy
Inner Join ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID
Inner Join ItemBranchMappingM IL With(NoLock) On IM.ItemUID=IL.ItemUID AND
IL.BranchUID = @BranchUID
Inner Join CompanyM COM With(NoLock) On COM.IsActive = 1
LEFT JOIN InventoryTransList ITL WITH (NOLOCK) ON
T.TransactionsHeaderUID=ITL.TransactionsHeaderUID And T.DocumentSubTypeUID Not in
('513E16AE-1823-4AE4-B905-3EC38B04EAEB')
Left Join TransactionsHeader WH WITH (NOLOCK) ON T.PartyUID
=WH.TransactionsHeaderUID
lEFT JOIN ItemSubGroupM AS ISM WITH (NOLOCK) ON ISM.ItemSubGroupUID =
IM.ItemSubGroupUID And ISM.IsActive = 1
lEFT JOIN ItemGroupM AS IG WITH (NOLOCK) ON IG.ItemGroupUID = ISM.ItemGroupUID And
IG.IsActive = 1
Left Join ItemCategoryM ICM with (Nolock) ON IL.ItemCategoryUID=ICM.ItemCategoryUID
And ICM.IsActive = 1
Left Join PartyM P With (NoLock) On T.PartyUid = P.PartyUID
Left Join PartySubTypeM PSM With(NoLock) On P.PartySubTypeUID = PSM.PartySubTypeUID

Left join InventorylinkM IMM With (NoLock) On T.InventoryTransListUID =


IMM.InventoryUID And T.DocumentSubTypeUID Not in ('608B0E5E-9785-4379-ABF6-
FAA314CB7CD4')
Left Join InventoryTransListSchedule LSM With(NoLock) On
LSM.InventoryTransListScheduleUID = IMM.RefInventoryUID
Left Join InventoryTransListSchedule LS With(NoLock) ON LS.InventoryTransListUID =
T.InventoryTransListUID
LEFT JOIN AreaTypeM MA WITH(NOLOCK) ON MA.AreaTypeMUID = T.HUIDAttribute2 AND
MA.AreaType = 'M'
LEFT JOIN AreaTypeM FA WITH(NOLOCK) ON FA.AreaTypeMUID = T.HUIDAttribute3 AND
FA.AreaType = 'F'
left join(
select Sum(jobrate) as pjobrate,TLM.InventoryTransListUID from
refInventoryTransListMatch TLM
Inner Join InventoryTransList ITL on TLM.RefInventoryTransListUID =
ITL.InventoryTransListUID
--and TLM.InventoryTransListUID='B47697DD-FF26-41B2-AA42-03B3E4657952'
and RefDocumentSubtypeUID='9727B417-8CCD-494F-957A-0A4CDD640B37'
Inner join ProcessRateLinkM PRL With(NoLock) On ITL.InventoryTransListUID
=PRL.RefInventoryTransListUID
--Where @DocumentSubtypeUID = '0CC579F1-BF1C-47DC-8B16-C5774559A2BE' --Sub
Contract Issue
Inner Join Transactionsheader H on H.TransactionsheaderUID =
ITL.TransactionsheaderUID
group by TLM.InventoryTransListUID
)PRL on T.InventoryTransListUID =PRL.InventoryTransListUID
Left Join (
SELECT ITL.InventoryTransListUID, Sum(Isnull(EDAmount,0)) +
SUM(Isnull(EDCessAmount,0)) + Sum(Isnull(HECessAmount,0)) +
Sum(Isnull(SalesTaxAmount,0)) + Sum(Isnull(ITL.NumberAttribute14,0)) +
Sum(ISNULL(SalesTaxCessAmount,0)) +
SUM(Isnull(AddAmount,0)) + SUM(Isnull(Commission,0)) +
SUM(IsNull(BasicDiscountAmount,0))+
Sum(Isnull(ITL.NumberAttribute10,0)) As TaxAmount

FROM TransactionsHeader TH WITH (NOLOCK)

INNER JOIN InventoryTransList ITL WITH (NOLOCK) ON


TH.TransactionsHeaderUID=ITL.TransactionsHeaderUID
WHERE ITL.IsActive=1 And TH.BranchUID = @BranchUID

And TH.DocumentSubTypeUID IN (@DocumentSubTypeUID, @AddlDocumentSubTypeUID)

Group By ITL.InventoryTransListUID
)TX On TX.InventoryTransListUID = T.InventoryTransListUID
Left Join InventoryTransListExtension ITLE WITH(NOLOCK) On
ITLE.InventoryTransListUID =T.InventoryTransListUID
Where IsNull(IG.ItemGroupUID,'00000000-0000-0000-0000-000000000000')= Case When
@ItemGroupUID <> '00000000-0000-0000-0000-000000000000' Then
@ItemGroupUID Else IsNull(IG.ItemGroupUID, '00000000-0000-0000-0000-000000000000')
End
And IsNull(ITLE.UIDAttribute1,'00000000-0000-0000-0000-000000000000') = '00000000-
0000-0000-0000-000000000000'
And IsNull(ICM.ItemCategoryUID,'00000000-0000-0000-0000-000000000000')= Case When
@ItemCategoryUID <> '00000000-0000-0000-0000-000000000000' Then
@ItemCategoryUID Else IsNull(ICM.ItemCategoryUID, '00000000-0000-0000-0000-
000000000000') End
and T.CreatedBy=case when @IsDocumentviewbasedonUser=1 and
@USergroupUID<>'BF101729-A14E-4045-8DD1-4EB9E75C5872' then @loginUSeRUID else
T.CreatedBy end
And ISNULL(T.PartyName,'') = Case When @DocumentSubTypeUID = '94929b8d-d8a3-4c68-
907d-bbbb4e57cd76' Then
Case When @IsSalePickList = 1 THen T.PartyName Else '' End Else
ISNULL(T.PartyName,'') END
AND T.DOCNO NOT IN (SELECT DOCUMENTNO FROM #BILLACCNO)
Group By T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, T.PartyName, City, T.ItemUID, T.ItemName,T.ConversionFactor,T.MRP,
ItemAliAsName, T.Qty, UOM,CancelledQty, T.DocumentSubTypeUID, T.BranchUID,
FromDate, ToDate,
T.DocumentDate, RefDocNo,T.RefDocDate1, CompanyPartNo, T.PurchaseUOM, T.ItemID,
VehicleName, VehicleUID, T.ValidTillDate,
T.SupplierBillNo,T.SupplierBillDate,T. Price, LineTotal, HeaderTotal,
Notes,T.StringAttribute3, ItemStatusDescription,T.VehicleNo,
NoOfPockets, NettWeight, GrossWeight, MINNo, MINDocDate, NoOfDays, T.LineNumber,
ReceivedQty,T.ShortageQty,PendingQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade, PreceedingDoc,
SucceedingDoc,T.BasicValue, HeaderStatus , T.ItemCode,
PartyCategoryDescription, PartyGroupName, MA.AreaTypeDesc, FA.AreaTypeDesc,
COM.CompanyCode ,Doc, T.ItemType, ISM.ItemSubGroupDescription,
PSM.PartySubTypeDescription,
T.LineTotal,IG.ItemGroupDescription,ICM.ItemCategoryName,USM.UserName,IG.ItemGroupD
escription,
ISM.ItemSubGroupDescription,TX.TaxAmount,T.PrinciplePartNo,T.DrawingNo ,T.ItemName
,LS.Qty,LS.ScheduleDate,LSM.ScheduleDate,
T.Qty,T.NumberAttribute1,P.PartyCode,P.PartyName,T.RefTransactionsUID,ITLE.NumberAt
tribute1,ITLE.NumberAttribute3,ITLE.NumberAttribute7,
ITLE.Stringattribute1,
ITLE.BitAttribute5 ,ITLE.UIDAttribute1,ITL.BitAttribute5 ,T.NetValue,T.StockValue,p
jobrate,T.MaterialGrade,T.ROL,
T.MOQ,T.MinQty ,T.MaxQty,Leadtime,T.ItemQOH,T.WOLeadTime,T.RefDocDate2 ,WH.Document
No,ITL.InventoryTransListUID,T.StringAttribute4,T.ModelNumber
--Order By Itemcode,ItemName,Materialgrade,Doc, DocDate,
LineNumber,IG.ItemGroupDescription
Order By DocNo,DocDate
End

End

If @IsHeaderDetail = 1
Select TransactionsHeaderUID,Doctype, DocNo, DocDate, T.PartyUID, T.PartyName,
City, DocumentSubTypeUID, PreceedingDoc,
SucceedingDoc, T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo,
VehicleNo,IM.ItemCode ,
ValidTillDate, SupplierBillNo, SupplierBillDate, HeaderTotal, MINNo, MINDocDate,
NoOfDays, HeaderStatus,
PartyCategoryDescription, PartyGroupName, Doc, PSM.PartySubTypeDescription As
PartySubType
From #Tempdetails T
Inner Join PartyM P With (NoLock) On T.PartyUid = P.PartyUID
Inner Join PartySubTypeM PSM With(NoLock) On P.PartySubTypeUID =
PSM.PartySubTypeUID
Inner Join VW_ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID
Group By TransactionsHeaderUID,Doctype, DocNo, DocDate, T.PartyUID, T.PartyName,
City, DocumentSubTypeUID, PreceedingDoc,

SucceedingDoc, T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo,


VehicleNo,IM.ItemCode ,
ValidTillDate, SupplierBillNo, SupplierBillDate, HeaderTotal, MINNo, MINDocDate,
NoOfDays, HeaderStatus,
PartyCategoryDescription, PartyGroupName, Doc, PSM.PartySubTypeDescription
Order By Doc, DocDate

If @IsHeaderDetail = 2
Select HS.ItemUID,HS.ItemCode, HS.ItemName,
ItemStatusDescription,CompanyPartNo,Sum(qty)Qty, FromDate, ToDate, UOM, NoOfDays,
VehicleName, VehicleUID,DocDate, Docno, LineNumber ,Doc ,IM.ItemCode,
IM.ItemGroupDescription As ItemGroupName, IM.ItemCategoryName As ItemCategory

From #Tempdetails HS
Inner Join VW_ItemM IM With(NoLock) On HS.ItemUID = IM.ItemUID
Group By HS.ItemUID, HS.ItemCode,HS.ItemName, ItemStatusDescription, CompanyPartNo,
FromDate, ToDate, UOM, NoOfDays,IM.ItemCode,
LineNumber, VehicleName, VehicleUID, DocDate,
Docno ,Doc,ItemGroupDescription,ItemCategoryName

Order By Doc,DocDate, LineNumber,ItemName,ItemGroupDescription,ItemCategoryName

If @IsHeaderDetail = 3

Select MONTH(T.DocumentDate)Mon, Sum(LineTotal) TotalValue, M.MonName, FromDate,


ToDate, NoOfDays

From #Tempdetails T

Inner Join Mon M With (NoLock) On M.Mon = MONTH(T.DocumentDate)

Group By MONTH(T.DocumentDate), M.MonName, FromDate, ToDate, NoOfDays

Order By MONTH(T.DocumentDate)
If @IsHeaderDetail = 4
Select Distinct TransactionsHeaderUID, InventoryTransListUID, Doctype, DocNo,
DocDate, PartyUID, PartyName, City, IM.ItemUID ,IM.ItemCode,
IM.ItemName as ItemName,
ItemAliAsName, Case When ShortageQty>0 Then ShortageQty Else Qty End As Qty,
UOM, PendingQty, CancelledQty, DocumentSubTypeUID, PreceedingDoc, ReceivedQty,

SucceedingDoc, BranchUID, FromDate, ToDate, DocumentDate, RefDocNo,


CompanyPartNo, IM.ItemID ,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate,


Price, LineTotal, HeaderTotal,

Case When ShortageQty>0 Then 'SHORTAGE' Else ItemStatusDescription End As


ItemStatusDescription, VehicleNo, NoOfPockets,

NettWeight, GrossWeight, MINNo, MINDocDate, NoOfDays, LineNumber,


BasicValue,Doc,
PartyCategoryDescription As PartySubGroup, PartyGroupName,SupplierBillNo AS
StringAttribute5, SupplierBillDate As DateAttribute5

From #Tempdetails HS
Inner Join ItemM IM With(NoLock) On HS.ItemUID = IM.ItemUID

Group By TransactionsHeaderUID, InventoryTransListUID, Doctype, DocNo,


DocDate, PartyUID, PartyName, City, IM.ItemUID,IM. ItemName,IM.ItemCode,

ItemAliAsName, Qty, UOM, PendingQty, CancelledQty, DocumentSubTypeUID,


PreceedingDoc,

SucceedingDoc, BranchUID, FromDate, ToDate, DocumentDate, RefDocNo,


CompanyPartNo, IM.ItemID ,
VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate,
Price, LineTotal, HeaderTotal,
ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight,
MINNo, MINDocDate, NoOfDays, LineNumber, ReceivedQty, ShortageQty, BasicValue,Doc,
PartyCategoryDescription,PartyGroupName
Order By Doc, DocDate, LineNumber

If @IsHeaderDetail = 5

Select Distinct T.TransactionsHeaderUID, T.InventoryTransListUID, T.Doctype,


T.DocNo, T.DocDate, T.PartyUID, T.PartyName, T.City, T.ItemUID,IM.ItemCode ,
T.ItemName as ItemName,
T.ItemAliAsName, ITM.Quantity As Qty, T.UOM, T.PendingQty, T.CancelledQty,
T.DocumentSubTypeUID, T.PreceedingDoc, T.ReceivedQty,

T.SucceedingDoc, T.BranchUID, T.DocumentDate, T.RefDocNo, T.CompanyPartNo,


T.ItemID, FromDate, ToDate,

T.VehicleName, T.VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,


T.Price, T.LineTotal, T.HeaderTotal,

Case When T.Doctype like '%Return%' Then ISM.ItemStatusDescription Else


T.ItemStatusDescription End As ItemStatusDescription,

T.VehicleNo, T.NoOfPockets, T.NettWeight, T.GrossWeight, T.MINNo, T.MINDocDate,


T.NoOfDays, T.LineNumber, T.ShortageQty,
IsNull(T.StringAttribute5, '-')StringAttribute5, IsNull(T.DateAttribute5,
T.DocumentDate)As DateAttribute5, T.BasicValue ,
T.PartyCategoryDescription, T.PartyGroupName, Doc, COM.CompanyCode,
T.PartyCategoryDescription As PartySubGroup,
T.ItemName As ItemSize, IT.ItemType As ProductName, ISG.ItemSubGroupDescription As
GSM
From #Tempdetails T
Inner Join ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID
Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID
Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID
Inner Join InventoryTransListMatch ITM With (NoLock) On ITM.InventoryTransListUID =
T.InventoryTransListUID

Inner Join InventoryTransList IL With (NoLock) On ITM.InventoryTransListUID =


IL.InventoryTransListUID

Left Join ItemStatusM ISM With (NoLock) On IL.ItemStatusMUID = ISM.ItemStatusUID


Inner Join ItemSubGroupM ISG With(NoLock) On ISG.ItemSubGroupUID =
IM.ItemSubGroupUID
Inner Join ItemGroupM IGM With(NoLock) On IGM.ItemGroupUID = ISG.ItemGroupUID
LEFT Join ItemTypeM IT With(noLock) On IT.ItemTypeUID = IM.ItemTypeUID
Group By T.TransactionsHeaderUID, T.InventoryTransListUID, T.Doctype, T.DocNo,
T.DocDate, T.PartyUID, T.PartyName, T.City, IM.ItemCode ,

T.ItemUID, T.ItemName, T.ItemAliAsName, ITM.Quantity, T.UOM, T.PendingQty,


T.CancelledQty, T.DocumentSubTypeUID, T.PreceedingDoc, T.ReceivedQty,
T.SucceedingDoc, T.BranchUID, T.DocumentDate, T.RefDocNo, T.CompanyPartNo,
T.ItemID,IM.ItemCode,
T.VehicleName, T.VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,
T.Price, T.LineTotal, T.HeaderTotal,

ISM.ItemStatusDescription, T.VehicleNo, T.NoOfPockets, T.NettWeight, T.GrossWeight,


T.MINNo, T.MINDocDate, T.NoOfDays,
T.LineNumber, T.ShortageQty, ISM.ItemStatusDescription, FromDate, ToDate,
T.ItemStatusDescription, T.StringAttribute5, T.DateAttribute5, T.BasicValue,

T.PartyCategoryDescription,T.PartyGroupName, Doc, COM.CompanyCode, IT.ItemType,


ISG.ItemSubGroupDescription
Order By T.Doc,T.DocDate, T.LineNumber

/* For BEST Offer */

If @IsHeaderDetail = 6
Begin
Select T.TransactionsHeaderUID, T.InventoryTransListUID, T.Doctype, T.DocNo,
T.DocDate, T.PartyUID,T.ItemCode,

T.PartyName, T.City, T.ItemUID, T.ItemName, T.Qty, T.UOM, T.DocumentSubTypeUID,


T.PreceedingDoc,

T.SucceedingDoc, T.Price, T.ItemID, T.VehicleName, T.CompanyPartNo, T.BranchUID,


T.FromDate, T.ToDate, T.DocumentDate,

ITL.NetCost, ITL.BasicValue, ITL.PackingPer, ITL.PackingAmount,


ITL.Discount1Amount, ITL.Discount1Per,

Isnull(ITL.EDPer,0) As EDPer,
CASE WHEN Isnull(ITL.EDAmount,0) > 0 THEN Isnull(ITL.EDAmount,0) ELSE
ISNULL(ITL.NumberAttribute7,0) END AS EDAmount,
Isnull(ITL.EDCessPer,0) As EDCessPer,

CASE WHEN Isnull(ITL.EDCessAmount,0) > 0 THEN Isnull(ITL.EDCessAmount,0) ELSE


ISNULL(ITL.NumberAttribute8,0) END AS EDCessAmount,
Isnull(ITL.HECessPer,0) As HECessPer,

CASE WHEN Isnull(ITL.HECessAmount,0) > 0 THEN Isnull(ITL.HECessAmount,0) ELSE


ISNULL(ITL.NumberAttribute9,0) END AS HECessAmount,
Isnull(ITL.SalesTaxPer,0) As SalesTaxPer,

CASE WHEN Isnull(ITL.SalesTaxAmount,0) > 0 THEN Isnull(ITL.SalesTaxAmount,0) ELSE


ISNULL(ITL.NumberAttribute6,0) END AS SalesTaxAmount,
Isnull(ITL.SalesTaxCessPer,0) As SalesTaxCessPer,

CASE WHEN Isnull(ITL.SalesTaxCessAmount,0) > 0 THEN


Isnull(ITL.SalesTaxCessAmount,0) ELSE ISNULL(ITL.NumberAttribute10,0) END AS
SalesTaxCessAmount,
ITL.Discount2Amount, ITL.Discount2Per, ITL.Discount3Amount, ITL.Discount3Per,
ITL.TotalValue, ITL.NumberAttribute3 As StockValue, IsNull(ITL.DateAttribute2,
dbo.GetLocalDate())As DateAttribute2,

ITL.BitAttribute1, ITL.BitAttribute2, ITL.BitAttribute3, ITL.BitAttribute4,


T.PurchaseUOM, ITL.UIDAttribute1, ITL.UIDAttribute2,
Case When RL.InventoryTransListUID Is Null Then 0 Else 1 End As Flag, T.BasicValue,
T.LineNumber,Doc
From #Tempdetails T

Inner Join InventoryTransList ITL With (NoLock) ON T.InventoryTransListUID =


ITL.InventoryTransListUID
INNER JOIN Vw_SelectActiveOffers V ON V.InventoryTransListUID =
T.InventoryTransListUID

Left Join InventoryTransList RL With (NoLock) ON ITL.InventoryTransListUID =


RL.UIDAttribute5

Where T .LineStatusCode = 'AC' And ITL.IsActive = 1 And dbo.GetLocalDate() > =


ITL.DateAttribute2
-- --And T.NumberAttribute2 = 1 IsNull(DateAttribute1, Convert(Varchar(11),
dbo.GetLocalDate(), 106))> = Convert(Varchar(11), @ToDate, 106)
Order By T.Doc,T.DocDate, T.LineNumber
End

If @IsHeaderDetail = 7
Select Distinct T.TransactionsHeaderUID, T.InventoryTransListUID, T.Doctype,
T.DocNo, T.DocDate, T.PartyUID, b.BranchCode,IM.ItemCode,

B.BRANCHNAME As ReceivingBranch, BI.BranchName As IssueBranch,


T.ItemUID,IM.ItemName,L.BatchNo,L.BatchNo As Bin,

ItemAliAsName, T.Qty, UOM, PendingQty, CancelledQty, DocumentSubTypeUID,


PreceedingDoc, ReceivedQty,

SucceedingDoc, T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo,


CompanyPartNo, IM.ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate, T.Price,


LineTotal, HeaderTotal,
ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays, T.LineNumber, T.ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Bin, T.BasicValue,Doc

From #Tempdetails T With (NoLock)


Inner join InventoryTransList L With(Nolock) On L.InventoryTransListUID =
T.InventoryTransListUID
INNER JOIN ItemM IM with(nolock) on L.ItemUID=IM.ItemUID

Inner Join BranchM B With (NoLock) ON T.PartyUID = B.BranchUID

Inner Join BranchM BI With (NoLock) ON BI.BranchUID = T.BranchUID

Group By T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,


PartyUID, PartyName, City, T.ItemUID,IM.ItemName,

ItemAliAsName, T.Qty, UOM, PendingQty, CancelledQty, DocumentSubTypeUID,


PreceedingDoc,IM.ItemCode,

SucceedingDoc, T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo,


CompanyPartNo, IM.ItemID,

VehicleName, VehicleUID, ValidTillDate, SupplierBillNo, SupplierBillDate, T.Price,


LineTotal, HeaderTotal,

ItemStatusDescription, VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays, T.LineNumber, ReceivedQty, T.ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, b.BranchCode,
B.BRANCHNAME, BI.BranchName, Bin, T.BasicValue,Doc,L.BatchNo

Order By Doc,DocDate, LineNumber

If @IsHeaderDetail = 8
Select Distinct T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,
DocDate, T.PartyUID,TH.PartyName, City, T.ItemUID, T.ItemName,IM.ItemCode,

ItemAliAsName, UOM, PendingQty, CancelledQty, T.DocumentSubTypeUID, ReceivedQty,

T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo, CompanyPartNo,T.ItemID,

VehicleName, VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,


T.Price, LineTotal, HeaderTotal,

ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays,T.LineNumber, T.ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As
NumberAttribute4, 'one' as PreceedingDoc, SucceedingDoc, T.BasicValue,

T.Qty,L.Qty as MRQty,(L.Qty-isnull(T.Qty,0) ) PendingMRQty ,TH.PartyUID AS


RequestPartyUID ,Doc ,IM.ItemGroupDescription As ItemGroupName,
IM.ItemSubGroupDescription As ItemCategory,
IM.ItemCategoryName as Itemsubgroup,1 AS ROWNUM, 1 As CategorySno,T.DrawingNo
From #Tempdetails T With (Nolock)
Inner Join VW_ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID

Inner Join InventoryTransListMatch IL with (NOlock) On


T.InventorytranslistUID=IL.InventorytranslistUID

Inner Join InventoryTranslist L With (Nolock) On IL.RefInventoryTransListUID


=L.InventoryTransListUID
Inner Join Vw_TransactionHeaderDetails TH With (NOlock) On L.TransactionsHeaderUID
=TH.TRansactionsHeaderUID

Where TH.DocumentSubTypedesc In('Consumable Material Request','General Material


Request')
AND ISNULL(TH.PartyUID,'00000000-0000-0000-0000-000000000000') = CASE WHEN
ISNULL(@PartyUID,'00000000-0000-0000-0000-000000000000')='00000000-0000-0000-0000-
000000000000'
THEN ISNULL(TH.PartyUID,'00000000-0000-0000-0000-000000000000') ELSE @PartyUID END
Group By T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, TH.PartyName,

City, T.ItemUID, T.ItemName, ItemAliAsName, T.Qty, UOM, PendingQty, CancelledQty,


T.DocumentSubTypeUID,
T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo, CompanyPartNo,
T.ItemID,IM.ItemCode,

VehicleName, VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,


T.Price, LineTotal, HeaderTotal,

ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays,
T.LineNumber, ReceivedQty, T.ShortageQty, T.NumberAttribute1, T.DateAttribute1,
T.StringAttribute2, Grade,

PreceedingDoc, SucceedingDoc, T.BasicValue, L.Qty,


T.Qty ,TH.PartyUID ,Doc,IM.ItemGroupDescription,IM.ItemCategoryName,
IM.ItemSubGroupDescription,T.DrawingNo

Union all

Select Distinct '00000000-0000-0000-0000-000000000000' as TransactionsHeaderUID,


'00000000-0000-0000-0000-000000000000' as InventoryTransListUID
,'' as Doctype,''as DocNo,GETDATE() DocDate,
'00000000-0000-0000-0000-000000000000' as PartyUID,'' as PartyName,'' as City,
'00000000-0000-0000-0000-000000000000' as ItemUID,ItemCategory +' ' +'sub-Group
total' as ItemName,''as ItemCode,
'' as ItemAliAsName, '' as UOM, 0 as PendingQty,0 as CancelledQty, '00000000-0000-
0000-0000-000000000000' as DocumentSubTypeUID, 0 as ReceivedQty,

'00000000-0000-0000-0000-000000000000' as BranchUID,GETDATE() FromDate, GETDATE()


ToDate, GETDATE() DocumentDate, '' as RefDocNo,'' as CompanyPartNo,''as ItemID,
'' as VehicleName, '00000000-0000-0000-0000-000000000000' as VehicleUID, GETDATE()
ValidTillDate, '' as SupplierBillNo,GETDATE() SupplierBillDate, 0 as Price,
sum(LineTotal)LineTotal,
0 as HeaderTotal,
'' as ItemStatusDescription, ''as VehicleNo, 0 as NoOfPockets,0 as NettWeight,'' as
GrossWeight,'' as MINNo,GETDATE() MINDocDate
, 0 as NoOfDays,0 as LineNumber, 0 as ShortageQty,
0 as NumberAttribute1, getdate() as DateAttribute1, '' as StringAttribute2,0 As
NumberAttribute4, 'two' as PreceedingDoc, '' as SucceedingDoc, 0 as BasicValue,

0 as Qty,0 as MRQty,0 as PendingMRQty , '00000000-0000-0000-0000-000000000000' AS


RequestPartyUID ,'' as Doc
,ItemGroupName, ItemCategory,Itemsubgroup,1 AS ROWNUM, 2 As CategorySno,'' as
DrawingNo
From (
Select Distinct T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,
DocDate, T.PartyUID,TH.PartyName, City, T.ItemUID, T.ItemName,IM.ItemCode,

ItemAliAsName, UOM, PendingQty, CancelledQty, T.DocumentSubTypeUID, ReceivedQty,

T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo, CompanyPartNo,T.ItemID,

VehicleName, VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,


T.Price, LineTotal, HeaderTotal,

ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays,T.LineNumber, T.ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As
NumberAttribute4, PreceedingDoc, SucceedingDoc, T.BasicValue,
T.Qty,L.Qty as MRQty,(L.Qty-isnull(T.Qty,0) ) PendingMRQty ,TH.PartyUID AS
RequestPartyUID ,Doc ,IM.ItemGroupDescription As ItemGroupName,
IM.ItemSubGroupDescription As ItemCategory,
IM.ItemCategoryName as Itemsubgroup,T.DrawingNo
From #Tempdetails T With (Nolock)
Inner Join VW_ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID

Inner Join InventoryTransListMatch IL with (NOlock) On


T.InventorytranslistUID=IL.InventorytranslistUID

Inner Join InventoryTranslist L With (Nolock) On IL.RefInventoryTransListUID


=L.InventoryTransListUID
Inner Join Vw_TransactionHeaderDetails TH With (NOlock) On L.TransactionsHeaderUID
=TH.TRansactionsHeaderUID

Where TH.DocumentSubTypedesc In('Consumable Material Request','General Material


Request')
AND ISNULL(TH.PartyUID,'00000000-0000-0000-0000-000000000000') = CASE WHEN
ISNULL(@PartyUID,'00000000-0000-0000-0000-000000000000')='00000000-0000-0000-0000-
000000000000'
THEN ISNULL(TH.PartyUID,'00000000-0000-0000-0000-000000000000') ELSE @PartyUID END
Group By T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, TH.PartyName,

City, T.ItemUID, T.ItemName, ItemAliAsName, T.Qty, UOM, PendingQty, CancelledQty,


T.DocumentSubTypeUID,
T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo, CompanyPartNo,
T.ItemID,IM.ItemCode,

VehicleName, VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,


T.Price, LineTotal, HeaderTotal,

ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays,
T.LineNumber, ReceivedQty, T.ShortageQty, T.NumberAttribute1, T.DateAttribute1,
T.StringAttribute2, Grade,

PreceedingDoc, SucceedingDoc, T.BasicValue, L.Qty,


T.Qty ,TH.PartyUID ,Doc,IM.ItemGroupDescription,IM.ItemCategoryName,
IM.ItemSubGroupDescription,T.DrawingNo ) T
group by ItemGroupName, ItemCategory,Itemsubgroup
Union all

Select Distinct '00000000-0000-0000-0000-000000000000' as TransactionsHeaderUID,


'00000000-0000-0000-0000-000000000000' as InventoryTransListUID
,'' as Doctype,''as DocNo,GETDATE() DocDate,
'00000000-0000-0000-0000-000000000000' as PartyUID,'' as PartyName,'' as City,
'00000000-0000-0000-0000-000000000000' as ItemUID,ItemGroupName+' ' + 'Group total'
as ItemName,''as ItemCode,
'' as ItemAliAsName, '' as UOM, 0 as PendingQty,0 as CancelledQty, '00000000-0000-
0000-0000-000000000000' as DocumentSubTypeUID, 0 as ReceivedQty,

'00000000-0000-0000-0000-000000000000' as BranchUID,GETDATE() FromDate, GETDATE()


ToDate, GETDATE() DocumentDate, '' as RefDocNo,'' as CompanyPartNo,''as ItemID,
'' as VehicleName, '00000000-0000-0000-0000-000000000000' as VehicleUID, GETDATE()
ValidTillDate, '' as SupplierBillNo,GETDATE() SupplierBillDate, 0 as Price,
sum(LineTotal)LineTotal,
0 as HeaderTotal,
'' as ItemStatusDescription, ''as VehicleNo, 0 as NoOfPockets,0 as NettWeight,'' as
GrossWeight,'' as MINNo,GETDATE() MINDocDate
, 0 as NoOfDays,0 as LineNumber, 0 as ShortageQty,
0 as NumberAttribute1, getdate() as DateAttribute1, '' as StringAttribute2,0 As
NumberAttribute4, 'three' as PreceedingDoc, '' as SucceedingDoc, 0 as BasicValue,

0 as Qty,0 as MRQty,0 as PendingMRQty , '00000000-0000-0000-0000-000000000000' AS


RequestPartyUID ,'' as Doc
,ItemGroupName, '' as ItemCategory,Itemsubgroup,1 AS ROWNUM, 3 As CategorySno,'' as
DrawingNo
From (
Select Distinct T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,
DocDate, T.PartyUID,TH.PartyName, City, T.ItemUID, T.ItemName,IM.ItemCode,

ItemAliAsName, UOM, PendingQty, CancelledQty, T.DocumentSubTypeUID, ReceivedQty,

T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo, CompanyPartNo,T.ItemID,

VehicleName, VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,


T.Price, LineTotal, HeaderTotal,

ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays,T.LineNumber, T.ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As
NumberAttribute4, PreceedingDoc, SucceedingDoc, T.BasicValue,
T.Qty,L.Qty as MRQty,(L.Qty-isnull(T.Qty,0) ) PendingMRQty ,TH.PartyUID AS
RequestPartyUID ,Doc ,IM.ItemGroupDescription As ItemGroupName,
IM.ItemSubGroupDescription As ItemCategory,
IM.ItemCategoryName as Itemsubgroup,T.DrawingNo
From #Tempdetails T With (Nolock)
Inner Join VW_ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID

Inner Join InventoryTransListMatch IL with (NOlock) On


T.InventorytranslistUID=IL.InventorytranslistUID

Inner Join InventoryTranslist L With (Nolock) On IL.RefInventoryTransListUID


=L.InventoryTransListUID
Inner Join Vw_TransactionHeaderDetails TH With (NOlock) On L.TransactionsHeaderUID
=TH.TRansactionsHeaderUID

Where TH.DocumentSubTypedesc In('Consumable Material Request','General Material


Request')
AND ISNULL(TH.PartyUID,'00000000-0000-0000-0000-000000000000') = CASE WHEN
ISNULL(@PartyUID,'00000000-0000-0000-0000-000000000000')='00000000-0000-0000-0000-
000000000000'
THEN ISNULL(TH.PartyUID,'00000000-0000-0000-0000-000000000000') ELSE @PartyUID END
Group By T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, TH.PartyName,

City, T.ItemUID, T.ItemName, ItemAliAsName, T.Qty, UOM, PendingQty, CancelledQty,


T.DocumentSubTypeUID,
T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo, CompanyPartNo,
T.ItemID,IM.ItemCode,

VehicleName, VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,


T.Price, LineTotal, HeaderTotal,

ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays,
T.LineNumber, ReceivedQty, T.ShortageQty, T.NumberAttribute1, T.DateAttribute1,
T.StringAttribute2, Grade,

PreceedingDoc, SucceedingDoc, T.BasicValue, L.Qty,


T.Qty ,TH.PartyUID ,Doc,IM.ItemGroupDescription,IM.ItemCategoryName,
IM.ItemSubGroupDescription,T.DrawingNo ) T
group by ItemGroupName,Itemsubgroup

Union all

Select Distinct '00000000-0000-0000-0000-000000000000' as TransactionsHeaderUID,


'00000000-0000-0000-0000-000000000000' as InventoryTransListUID
,'' as Doctype,''as DocNo,GETDATE() DocDate,
'00000000-0000-0000-0000-000000000000' as PartyUID,'' as PartyName,'' as City,
'00000000-0000-0000-0000-000000000000' as ItemUID,'Grand total' as ItemName,''as
ItemCode,
'' as ItemAliAsName, '' as UOM, 0 as PendingQty,0 as CancelledQty, '00000000-0000-
0000-0000-000000000000' as DocumentSubTypeUID, 0 as ReceivedQty,

'00000000-0000-0000-0000-000000000000' as BranchUID,GETDATE() FromDate, GETDATE()


ToDate, GETDATE() DocumentDate, '' as RefDocNo,'' as CompanyPartNo,''as ItemID,
'' as VehicleName, '00000000-0000-0000-0000-000000000000' as VehicleUID, GETDATE()
ValidTillDate, '' as SupplierBillNo,GETDATE() SupplierBillDate, 0 as Price,
sum(LineTotal)LineTotal,
0 as HeaderTotal,
'' as ItemStatusDescription, ''as VehicleNo, 0 as NoOfPockets,0 as NettWeight,'' as
GrossWeight,'' as MINNo,GETDATE() MINDocDate
, 0 as NoOfDays,0 as LineNumber, 0 as ShortageQty,
0 as NumberAttribute1, getdate() as DateAttribute1, '' as StringAttribute2,0 As
NumberAttribute4, 'four' as PreceedingDoc, '' as SucceedingDoc, 0 as BasicValue,

0 as Qty,0 as MRQty,0 as PendingMRQty , '00000000-0000-0000-0000-000000000000' AS


RequestPartyUID ,'' as Doc
,'' as ItemGroupName, '' as ItemCategory,'' as Itemsubgroup,4 as rw , 4 As
CategorySno,'' as DrawingNo
From (
Select Distinct T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo,
DocDate, T.PartyUID,TH.PartyName, City, T.ItemUID, T.ItemName,IM.ItemCode,

ItemAliAsName, UOM, PendingQty, CancelledQty, T.DocumentSubTypeUID, ReceivedQty,

T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo, CompanyPartNo,T.ItemID,

VehicleName, VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,


T.Price, LineTotal, HeaderTotal,
ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,
MINDocDate, NoOfDays,T.LineNumber, T.ShortageQty,
T.NumberAttribute1, T.DateAttribute1, T.StringAttribute2, Grade As
NumberAttribute4, PreceedingDoc, SucceedingDoc, T.BasicValue,
T.Qty,L.Qty as MRQty,(L.Qty-isnull(T.Qty,0) ) PendingMRQty ,TH.PartyUID AS
RequestPartyUID ,Doc ,IM.ItemGroupDescription As ItemGroupName,
IM.ItemSubGroupDescription As ItemCategory,
IM.ItemCategoryName as Itemsubgroup,T.DrawingNo
From #Tempdetails T With (Nolock)
Inner Join VW_ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID

Inner Join InventoryTransListMatch IL with (NOlock) On


T.InventorytranslistUID=IL.InventorytranslistUID

Inner Join InventoryTranslist L With (Nolock) On IL.RefInventoryTransListUID


=L.InventoryTransListUID
Inner Join Vw_TransactionHeaderDetails TH With (NOlock) On L.TransactionsHeaderUID
=TH.TRansactionsHeaderUID

Where TH.DocumentSubTypedesc In('Consumable Material Request','General Material


Request')
AND ISNULL(TH.PartyUID,'00000000-0000-0000-0000-000000000000') = CASE WHEN
ISNULL(@PartyUID,'00000000-0000-0000-0000-000000000000')='00000000-0000-0000-0000-
000000000000'
THEN ISNULL(TH.PartyUID,'00000000-0000-0000-0000-000000000000') ELSE @PartyUID END
Group By T.TransactionsHeaderUID, T.InventoryTransListUID, Doctype, DocNo, DocDate,
T.PartyUID, TH.PartyName,

City, T.ItemUID, T.ItemName, ItemAliAsName, T.Qty, UOM, PendingQty, CancelledQty,


T.DocumentSubTypeUID,
T.BranchUID, FromDate, ToDate, T.DocumentDate, RefDocNo, CompanyPartNo,
T.ItemID,IM.ItemCode,

VehicleName, VehicleUID, T.ValidTillDate, T.SupplierBillNo, T.SupplierBillDate,


T.Price, LineTotal, HeaderTotal,

ItemStatusDescription, T.VehicleNo, NoOfPockets, NettWeight, GrossWeight, MINNo,


MINDocDate, NoOfDays,
T.LineNumber, ReceivedQty, T.ShortageQty, T.NumberAttribute1, T.DateAttribute1,
T.StringAttribute2, Grade,

PreceedingDoc, SucceedingDoc, T.BasicValue, L.Qty,


T.Qty ,TH.PartyUID ,Doc,IM.ItemGroupDescription,IM.ItemCategoryName ,
IM.ItemSubGroupDescription,T.DrawingNo ) T

order by ROWNUM,ItemSubGroup,ItemGroupName,ItemCategory desc,CategorySno

If @IsHeaderDetail = 9
Select TransactionsHeaderUID, Doctype, DocNo, DocDate, T.PartyUID, T.PartyName,
City, DocumentSubTypeUID, PreceedingDoc,
SucceedingDoc, T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, VehicleNo,
T.ItemUID, T.ItemId,IM.ItemCode,
ValidTillDate, SupplierBillNo, SupplierBillDate, LineTotal, MINNo, MINDocDate,
NoOfDays, HeaderStatus,
PartyCategoryDescription, PartyGroupName, Doc, PSM.PartySubTypeDescription As
PartySubType, T.ItemName,
COM.CompanyCode, T.ItemName As ItemSize, IT.ItemType As ProductName,
ISG.ItemSubGroupDescription As GSM,
PreceedingDoc, SucceedingDoc, LineNumber
From #Tempdetails T
Inner Join ItemM IM With(NoLock) On T.ItemUID = IM.ItemUID
Inner Join BranchM BM With(NoLock) On T.BranchUID = BM.BranchUID
Inner Join CompanyM COM With(NoLock) On COM.CompanyUID = BM.CompanyUID
Left Join PartyM P With (NoLock) On T.PartyUid = P.PartyUID
Left Join PartySubTypeM PSM With(NoLock) On P.PartySubTypeUID = PSM.PartySubTypeUID

Inner Join ItemSubGroupM ISG With(NoLock) On ISG.ItemSubGroupUID =


IM.ItemSubGroupUID
Inner Join ItemGroupM IGM With(NoLock) On IGM.ItemGroupUID = ISG.ItemGroupUID
LEFT Join ItemTypeM IT With(noLock) On IT.ItemTypeUID = IM.ItemTypeUID
where T.CreatedBy=case when @IsDocumentviewbasedonUser=1 and
@USergroupUID<>'BF101729-A14E-4045-8DD1-4EB9E75C5872' then @LoginUserUID else
T.CreatedBy end
Group By TransactionsHeaderUID, Doctype, DocNo, DocDate, T.PartyUID, T.PartyName,
City, DocumentSubTypeUID, PreceedingDoc,

SucceedingDoc, T.BranchUID, FromDate, ToDate, DocumentDate, RefDocNo, VehicleNo,

ValidTillDate, SupplierBillNo, SupplierBillDate, LineTotal, MINNo, MINDocDate,


NoOfDays, HeaderStatus,
PartyCategoryDescription, PartyGroupName, Doc, PSM.PartySubTypeDescription,
T.ItemUID, T.ItemId, LineNumber,IM.ItemCode,
COM.CompanyCode, T.ItemName, IT.ItemType, ISG.ItemSubGroupDescription,
PreceedingDoc, SucceedingDoc
Order By Doc,DocDate, LineNumber

If @IsHeaderDetail = 10
Select Tbl.* From
(Select TH.PartyUID,TH.PartyName, FromDate, ToDate, Sum(T.BasicValue) As
BasicValue,TH.DocumentSUBTypeUID
From #Tempdetails T With (Nolock)
Inner Join InventoryTransListMatch IL with (NOlock) On
T.InventorytranslistUID=IL.InventorytranslistUID

Inner Join InventoryTranslist L With (Nolock) On IL.RefInventoryTransListUID


=L.InventoryTransListUID

Inner Join Vw_TransactionHeaderDetails TH With (NOlock) On L.TransactionsHeaderUID


=TH.TRansactionsHeaderUID

Where TH.DocumentSubTypedesc In('Consumable Material Request','General Material


Request')
And TH.PartyUID = Case When @PartyUID <> '00000000-0000-0000-0000-000000000000'
Then @PartyUID Else TH.PartyUID End
Group By TH.PartyUID,TH.PartyName, FromDate, ToDate,TH.DocumentSUBTypeUID
Union All
Select '00000000-0000-0000-0000-000000000000' As PartyUID,'Total : ' As PartyName,
FromDate, ToDate, Sum(T.BasicValue) As BasicValue,
'00000000-0000-0000-0000-000000000000' As DocumentSUBTypeUID
From #Tempdetails T With (Nolock)
Inner Join InventoryTransListMatch IL with (NOlock) On
T.InventorytranslistUID=IL.InventorytranslistUID

Inner Join InventoryTranslist L With (Nolock) On IL.RefInventoryTransListUID


=L.InventoryTransListUID

Inner Join Vw_TransactionHeaderDetails TH With (NOlock) On L.TransactionsHeaderUID


=TH.TRansactionsHeaderUID

Where TH.DocumentSubTypedesc In('Consumable Material Request','General Material


Request')
And TH.PartyUID = Case When @PartyUID <> '00000000-0000-0000-0000-000000000000'
Then @PartyUID Else TH.PartyUID End
Group By FromDate, ToDate) Tbl

SET NOCOUNT OFF;


End

You might also like