Você está na página 1de 4

alter FUNCTION [dbo].

[FN_CDMS_AuditTrailXML_Settlement](
@ID
INT,
@ReasonForChange
VARCHAR(1024) = ''
)
RETURNS VARCHAR(MAX)
/*
154366-SS-29032012-CDMS-Audit-Trail-Enhancement
156249 DKG 20120418 Added the new Columns.
157244-UG-20120426-updated the query to display SttlmtCompanyID
193836-VKG-08232013-R2 P2.2-Document-Repository-Region-Enforcement-Objec
t-ID-naming
199497-PRK-20132511-Modify to use new fields of table CDMS_Settlement
198989-AK-20131220 CDMS - R2 P3 S2 - Remove Program Year/Update Requirem
ent reference from Violation
*/
BEGIN
DECLARE @AuditTrailXML VARCHAR(MAX)
DECLARE @SttlmtCompanyID
@RegionID

INT,
INT

SELECT @SttlmtCompanyID = ST.CompanyID,


@RegionID
= C.RegionID
FROM CDMS_Settlement ST
INNER JOIN APPL_Company C WITH (NOLOCK) ON C.CompanyID = ST.CompanyID
WHERE SettlementID = @ID
DECLARE @EntitycomList VARCHAR(MAX)
SET @EntitycomList = ''
SELECT @EntitycomList = @EntitycomList + CASE WHEN @EntitycomList != '' THEN '<b
r/>' ELSE '' END + '<b>- CommentID:</b> ' + CONVERT(VARCHAR(100),c.CommentID) +
' <b>Updated On:</b> ' + CONVERT(VARCHAR(24),c.UpdateDT) + ' GMT <b>By User:</
b> ' + u.UserLastName + ', ' + u.UserFirstName + ' (' + u.UserName + ')'
FROM dbo.CDMS_Comment c
INNER JOIN dbo.APPL_Users u WITH (NOLOCK) ON u.UserID = c.UpdateUserID
WHERE c.ParentInstanceID = @ID
AND c.ParentObjectID = (SELECT ParentObjectID FROM dbo.CDMS_ParentObject WHERE P
arentObjectCode = 'Settlement')
AND c.CommentActiveFlag = 1
AND c.IsRegionalCommentFlag = 0
ORDER BY c.CommentID
DECLARE @RegionalcomList VARCHAR(MAX)
SET @RegionalcomList = ''
SELECT @RegionalcomList = @RegionalcomList + CASE WHEN @RegionalcomList != '' TH
EN '<br/>' ELSE '' END + '<b>- CommentID:</b> ' + CONVERT(VARCHAR(100),c.Comment
ID) + ' <b>Updated On:</b> ' + CONVERT(VARCHAR(24),c.UpdateDT) + ' GMT <b>By U
ser:</b> ' + u.UserLastName + ', ' + u.UserFirstName + ' (' + u.UserName + ')'
FROM dbo.CDMS_Comment c
INNER JOIN dbo.APPL_Users u WITH (NOLOCK) ON u.UserID = c.UpdateUserID
WHERE c.ParentInstanceID = @ID
AND c.ParentObjectID = (SELECT ParentObjectID FROM dbo.CDMS_ParentObject WHERE P
arentObjectCode = 'Settlement')
AND c.CommentActiveFlag = 1
AND c.IsRegionalCommentFlag = 1
ORDER BY c.CommentID
DECLARE @EntitydocList VARCHAR(MAX)

SET @EntitydocList = ''


SELECT @EntitydocList = @EntitydocList + CASE WHEN @EntitydocList != '' THEN '<b
r/>' ELSE '' END + '<b>- DocumentID:</b> ' + CONVERT(VARCHAR(100),d.DocID) + '
<b>Updated On:</b> ' + CONVERT(VARCHAR(24),d.UpdateDT) + ' GMT <b>By User:</b>
' + u.UserLastName + ', ' + u.UserFirstName + ' (' + u.UserName + ')'
FROM dbo.CDMS_Document d
INNER JOIN dbo.APPL_Users u WITH (NOLOCK) ON u.UserID = d.UpdateUserID
WHERE d.ParentInstanceID = @ID
AND d.ParentObjectID = (SELECT ParentObjectID FROM dbo.CDMS_ParentObject WHERE P
arentObjectCode = 'Settlement')
AND d.DocActiveFlag = 1
AND d.IsRegionalDocumentFlag = 0
ORDER BY d.DocID
DECLARE @RegionaldocList VARCHAR(MAX)
SET @RegionaldocList = ''
SELECT @RegionaldocList = @RegionaldocList + CASE WHEN @RegionaldocList != '' TH
EN '<br/>' ELSE '' END + '<b>- DocumentID:</b> ' + CONVERT(VARCHAR(100),d.DocID)
+ ' <b>Updated On:</b> ' + CONVERT(VARCHAR(24),d.UpdateDT) + ' GMT <b>By User
:</b> ' + u.UserLastName + ', ' + u.UserFirstName + ' (' + u.UserName + ')'
FROM dbo.CDMS_Document d
INNER JOIN dbo.APPL_Users u WITH (NOLOCK) ON u.UserID = d.UpdateUserID
WHERE d.ParentInstanceID = @ID
AND d.ParentObjectID = (SELECT ParentObjectID FROM dbo.CDMS_ParentObject WHERE P
arentObjectCode = 'Settlement')
AND d.DocActiveFlag = 1
AND d.IsRegionalDocumentFlag = 1
ORDER BY d.DocID
DECLARE @vltnList VARCHAR(MAX)
SET @vltnList = ''
SELECT @vltnList = @vltnList + CASE WHEN @vltnList != '' THEN '<br/>' ELSE '' EN
D + '<b>- ViolationCode:</b> ' + CONVERT(VARCHAR(100),V.NERCViolationID) + ' <b
>Updated On:</b> ' + CONVERT(VARCHAR(24),V.UpdateDT) + ' GMT <b>By User:</b> '
+ u.UserLastName + ', ' + u.UserFirstName + ' (' + u.UserName + ')'
FROM dbo.CDMS_Violation V
INNER JOIN dbo.APPL_Users u WITH (NOLOCK) ON u.UserID = V.UpdateUserID
WHERE V.SettlementID = @ID
--AND V.ActiveFlag = 1
ORDER BY V.NERCViolationID
SELECT @AuditTrailXML =
(SELECT
ID
= SettlementID
,Region_Settlement_Code
= ST.RegionSettlementCod
e
,Regional_Entity
= (SELECT Compan
yName FROM APPL_Company WHERE CompanyID=
@SttlmtCompanyID)
,Region_Contact
= (SELECT Contac
tLastName+', '+ContactFirstName FROM CDMS_Contact C WHERE C.ContactID=ST.Contact
ID_Region)
,Requested_On
= isnull(ST.Sett
lementRequestedOnDate,'')
,Recieved_By
= (SELECT Contac
tLastName+', '+ContactFirstName FROM CDMS_Contact C WHERE C.ContactID=ST.Contact
ID_ReceivedBy)
,AuthToNegotiateName
= ST.AuthToNegotiateName
,AuthToNegotiateAddressLine1
= ST.AuthToNegotiateAddressLine1
,AuthToNegotiateAddressLine2
= ST.AuthToNegotiateAddressLine2
,AuthToNegotiateCity
= ST.AuthToNegotiateCity

,StateName

= S.Stat

eName
,AuthToNegotiatePhone

= ST.AuthToNegotiatePhon

e
,AuthToNegotiateFax

= ST.AuthToNegot

iateFax
,AuthToNegotiateEmail

= ST.AuthToNegotiateEmai

l
,EntityComment

= ST.EntityComme

nt
,RegionReceiptContactName
= RRCT.ContactFirstName
+ ' ' + RRCT.ContactLastName
,RegionReceiptComment
= ST.RegionReceiptCommen
t
,SendToNERCFlag
= ST.SendToNERCF
lag
,NERCSttlmtCode
= ST.NERCSettlem
entCode
,ParentObjectStatusCode
= PO.ParentObjectStatusC
ode
,Proposed_Amount
= ISNULL(CAST(ST
.ProposedAmount AS VARCHAR),'')
,Final_Amount
= ISNULL(CAST(ST
.FinalAmount AS VARCHAR),'')
,NERC_State
= ISNULL
(ST.NERCSettlementState,'')
,RegionName
=(SELECT
RegionName
FROM CDMS_Region WHERE RegionID= @RegionID)
,Region_Note
= ST.RegionNotes
ToNERC
,Entity_Comments
= @EntitycomList
,Entity_Documents
= @EntitydocList
,Regional_Comments
= @RegionalcomLi
st
,Regional_Documents
= @RegionaldocLi
st
,Violation_list
= @vltnList
,Acknowledge_On
= ISNULL(ST.Ackn
owledgedOnDate,'')
,Discussion_End_Date
= ISNULL(ST.DiscussionsS
cheduledEndDate,'')
,Discussion_Actual_Date
= ISNULL(ST.DiscussionsA
ctualEndDate,'')
,Execute_Date
= ISNULL(ST.Exec
utionDate,'')
,Created_By
= CASE W
HEN ST.CreationUserID IS NOT NULL THEN (SELECT UserLastName + ', ' + UserFirstNa
me + ' (' + UserName + ')' FROM dbo.APPL_Users WHERE UserID = ST.CreationUserID)
ELSE '' END
,Created_On
= ST.[Cr
eationDT]
,Updated_By
= CASE W
HEN ST.CreationUserID IS NOT NULL THEN (SELECT UserLastName + ', ' + UserFirstNa
me + ' (' + UserName + ')' FROM dbo.APPL_Users WHERE UserID = ST.UpdateUserID) E
LSE '' END
,Updated_On
= ISNULL
(ST.[UpdateDT],'')
--Original Column names
, _SettlementID

= ST.SettlementI

D
,_RegionSttlmtCode

= ST.RegionSettl

,_SendToNERCFlag

= ST.SendToNERCF

,_LastSentToNERCDT

= ST.LastSentToN

ementCode
lag
ERCDT
,_SttlmtCompanyID
= ST.CompanyID
,_CompanyName
= (SELECT Compan
yName FROM APPL_Company WHERE CompanyID=
@SttlmtCompanyID)
,_SttlmtRegionContactID
= ST.ContactID_Region
,_SttlmtRequestedOnDT
= ST.SettlementRequested
OnDate
,_SttlmtRcvdByContactID
= ST.ContactID_ReceivedB
y
,_SttlmtAckedOnDT
= ST.Acknowledge
dOnDate
,_SttlmtDiscSchedEndDT
= ST.DiscussionsSchedule
dEndDate
,_SttlmtDiscActEndDT
= ST.DiscussionsActualEn
dDate
,_SttlmtExecuteDT
= ST.ExecutionDa
te
,_SttlmtProposedAmt
= ST.ProposedAmo
unt
,_SttlmtFinalAmt
= ST.FinalAmount
,_SttlmtNERCState
= ST.NERCSettlem
entState
,_RegionID
= C.Regi
onID
,_RegionName
= (SELECT Region
Name
FROM CDMS_Region WHERE RegionID= @RegionID)
,_SttlmtRegionNoteToNERC
= ST.RegionNotesToNERC
,_CreationUserID
= ST.[CreationUs
erID]
,_CreationDT
= ST.[CreationDT
]
,_UpdateUserID
= ST.[UpdateUser
ID]
,_UpdateDT
= ST.[Up
dateDT]
,CDMSSettlementCode
= ST.CDMSSettlem
entCode
FROM CDMS_Settlement ST
INNER JOIN APPL_Company C WITH (NOLOCK) ON C.CompanyID = ST.CompanyID
INNER JOIN CDMS_Region R WITH (NOLOCK) ON R.RegionID = C.RegionID
LEFT JOIN CDMS_Contact RRCT WITH (NOLOCK) ON RRCT.ContactID = ST.Contact
ID_RegionReceipt
LEFT JOIN States S WITH (NOLOCK) ON S.StateID = ST.AuthToNegotiateStateI
D
LEFT JOIN [CDMS_ParentObjectStatus] PO WITH (NOLOCK) ON PO.[ParentObject
StatusID] = ST.[ParentObjectStatusID]
WHERE SettlementID = @ID
FOR XML AUTO)
RETURN @AuditTrailXML
END

Você também pode gostar