| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- IF OBJECT_ID ('dbo.GLTranRevenueSumsWithPeriod','V') IS NOT NULL DROP VIEW dbo.GLTranRevenueSumsWithPeriod
- GO
- CREATE VIEW dbo.GLTranRevenueSumsWithPeriod
- AS
- SELECT t.CompanyID,
- t.ProjectID,
- c.ContractCD,
- c.NoteID,
- cust.BAccountID as CustomerID,
- cust.AcctCD as CustomerCD,
- cust.AcctName as CustomerName,
- br.BranchID as BranchKey,
- br.BranchCD as BranchCD,
- ba.AcctName as BranchName,
- dbo.GetTopContractUserDefinedFieldDescription(t.CompanyID, c.NoteID, 'AttributeCategory') as JobCategory,
- dbo.GetTopContractUserDefinedFieldDescription(t.CompanyID, c.NoteID, 'AttributejobStatus') as JobStatus,
- dbo.GetTopContractUserDefinedFieldDescription(t.CompanyID, c.NoteID, 'AttributeProjectGRP') as ProjectGroup,
- dbo.GetContractUserDefinedField(t.CompanyID, c.NoteID, 'AttributeESTCompl', 0) as EstimatedComplete,
- dbo.GetContractUserDefinedField(t.CompanyID, c.NoteID, 'AttributePO', 0) as CustomerPO,
- dbo.GetRevisedBudgetAmount(t.CompanyID,t.ProjectID,'I') as RevisedBudgetedincome,
- dbo.GetRevisedBudgetAmount(t.CompanyID,t.ProjectID,'E') as RevisedBudgetedExpense,
- dbo.GetTransactions(t.CompanyID, t.ProjectID, 1, 1,0) as TotalExpenses,
- c.status as ProjectStatus,
- c.CreatedDateTime as ProjectCreatedDateTime,
- c.LastModifiedDateTime as ProjectLastModifiedDateTime,
- bAExec.AcctCD as ExecutiveNumber,
- bAExec.AcctName as ExecutiveName,
- execEmp.userID as ExecutivePKID,
- lmu.PKID as LastModifiedByKey,
- lmu.Username as LastModifiedUserName,
- lmu.FullName as LastModifiedName,
- t.FinPeriodID,
- SUM(CASE
- WHEN a.AccountCD = '4001' THEN COALESCE(t.CreditAmt, 0) - COALESCE(t.DebitAmt, 0)
- ELSE 0
- END) AS BilledRevenue4001, -- "Billed Revenue - 4001"
- SUM(CASE
- WHEN a.AccountCD = '4002' THEN COALESCE(t.CreditAmt, 0) - COALESCE(t.DebitAmt, 0)
- ELSE 0
- END) AS TMUnbilledRevenue4002, -- "T&M Unbilled Revenue - 4002"
- SUM(CASE
- WHEN a.AccountCD = '4000' THEN COALESCE(t.CreditAmt, 0) - COALESCE(t.DebitAmt, 0)
- ELSE 0
- END) AS LumpSumWIPRevenue4000, -- "Lump Sum WIP Revenue - 4000"
- SUM(CASE
- WHEN a.AccountCD = '4003' THEN COALESCE(t.CreditAmt, 0) - COALESCE(t.DebitAmt, 0)
- ELSE 0
- END) AS BillingsLumpSum4003, -- "Billings Lump Sum - 4003"
- SUM(CASE
- WHEN TRY_CAST(a.AccountCD AS INT) BETWEEN 5000 AND 5999 THEN COALESCE(t.DebitAmt, 0) - COALESCE(t.CreditAmt, 0)
- ELSE 0
- END) AS TotalExpensesCOGS -- "Total Expenses - COGS"
- FROM GLTran t
- left JOIN Contract c ON t.CompanyID = c.CompanyID AND t.ProjectID = c.ContractID
- left JOIN Account a ON t.CompanyID = a.CompanyID AND t.AccountID = a.AccountID
- LEFT join BAccount cust on cust.CompanyID = c.CompanyID and cust.BAccountID = c.CustomerID
- LEFT JOIN Branch br on br.CompanyID = c.CompanyID and br.BranchID = c.DefaultBranchID
- LEFT join BACCount ba on ba.CompanyID = br.CompanyID and ba.BAccountID = br.BACCountID
- left JOIN ContractKvExt execNote on execNote.CompanyID = c.CompanyID and execNote.RecordID =c.NoteID and execNote.FieldName = 'AttributePROJECTEXE'
- left join BAccount bAExec on BAExec.CompanyID = execNote.CompanyID and BAExec.AcctCD = execNote.ValueString
- left join EPEmployee execEmp on BAExec.CompanyID = execEmp.CompanyID and BAExec.BAccountID = execEmp.BAccountID
- left join Users lmu on lmu.CompanyID = c.CompanyID and lmu.PKID = c.LastModifiedByID
- WHERE (a.AccountCD IN ('4001', '4002', '4000', '4003')
- OR TRY_CAST(a.AccountCD AS INT) BETWEEN 5000 AND 5999)
- GROUP BY t.CompanyID,
- t.ProjectID,
- c.ContractCD,
- c.CreatedDateTime,
- c.LastModifiedDateTime,
- c.NoteID,
- c.status,
- t.FinPeriodID,
- cust.BAccountID,
- cust.AcctCD,
- cust.AcctName,
- br.BranchID,
- br.BranchCD,
- ba.AcctName,
- bAExec.AcctCD,
- bAExec.AcctName,
- execEmp.userID,
- lmu.PKID,
- lmu.Username,
- lmu.FullName
|