Вы находитесь на странице: 1из 17

CREATE PROCEDURE [dbo].[spUpdStatusUpdate] /******************************************************************************* ****************************** Created By : Prabu Created Date : 21-Aug-2012 Purpose : To Update Quotation Status.

Modified By : Prabu on 2012-Sep-26 for GIS Underwrite Guide Line Changes. Prabu on 2012-Oct-10 for RC Recommendation Changes. Prabu on 2012-Oct-15 for Add Alerts. Prabu on 2012-Oct-17 for Survey Report Section Status and FAC RI Placement Initated Update. Prabu on 2012-Oct-18 Exp Date Updated. Prabu on 2012-Oct-23 for Make Risk Details Section as "Pending" in case UW Guideline Refered or Declined. Prabu on 2012-Nov-02 for "Pending for Conformation fo r Creating New Version(14)" Actions added. Prabu on 2012-Nov-05 for "Checking Self or Special" R ating for Enable "Supporting Doc" Section in UW Initiated. Prabu on 2012-Nov-07 for "Pending for Mandatory Detai ls" New Status Process Added. Prabu on 2012-Nov-20 for Loss Experience (For the Pas t Three Years or more) Changes. Prabu on 22-Nov-2012 for Alerts Sp Input Perameter Chang ed. Prabu on 2012-Dec-01 for Based on Action Reasons Stag e Changed. Prabu on 2012-Dec-05 for "Loss/Damage" More than 70% Changes while "Underwriting Assessment Initiated"(3). Prabu on 2012-Dec-06 for Amendments Requested By Mark eteer Email Notification Added. Prabu on 2012-Dec-07 for Amendments Requested By Clie nt Email Notification Added. Prabu on 2012-Dec-17 for Co-In flow Changes Prabu on 2012-Dec-18 for Risk Location Special Rate S tatus update once client accept the quotation. Prabu on 2012-Dec-19 for Make Co-In Section Pending f or Co-In Case while Underwriting. Prabu on 2012-Dec-24 for Make Quotation Level PCW Sectio n Pending for Underwriting Assessment Initiated(3) Status. Prabu on 2012-Dec-28 for Status "Pending for Upload C o-In Confirmation Letter"(52) Process Removed Usage :

SELECT * FROM ProSectionStatus WHERE QuotationNO IN(SELECT QuotationNo FROM PropertyMain WHERE sdfCurStatus=18) AND sdfSection=12 SELECT * FROM sdfProdList SELECT * FROM sdfStatus WHERE Description LIKE '%GIS%' SELECT * FROM ProQNStatusHist SELECT * FROM sdfAction SELECT * FROM sdfStatusAction SELECT * FROM sdfAgentAccType SELECT * FROM sdfAgentAccMap ~~~~~~~~~~~~~~~~~~~ Sections ~~~~~~~~~~~~~~~~~~~ -- Manditory (1,2,9,10(Cond),18,21,22) -- Not Manditory (4, 5,6,7, 11,19) -- No Complete Process (4,19,20,21,22)

declare @p4 dbo.udtReasons insert into @p4 values(1,N'test') insert into @p4 values(9,N'test') declare @p6 varchar(1000) set @p6=NULL exec spUpdStatusUpdate @QuotationNo=N'12000518',@ProductType=N'4',@sdfAction=N'7 ',@Reasons=@p4,@UserID=101,@MessageDesc=@p6 output select @p6 ******************************************************************************** *****************************/ @QuotationNo INT, @ProductType TINYINT, @sdfAction TINYINT, @Reasons udtReasons READONLY, -- Reason Data table @GISUWGuideLine udtGISUWGuideLine READONLY, -- GIS Under write Guideline Det ails @UserID SMALLINT AS BEGIN DECLARE @RiskLocList VARCHAR(1000)='',@CurDate DATETIME=GETDATE(), @NewStatu s TINYINT, @GISUWGuidelineInd CHAR(1), @CurStatus TINYINT,@AlertsSpStatus INT, @StatusHistID INT, @MessageDesc VARCHAR(1000), @QuotationType CHAR(1), @Ema ilSPStatus INT, @UpdStatusInd CHAR(1)='N',-- (Y) Update, (N) No Need to Update @RegisteredBy SMALLINT, @OrgType CHAR(2), @Stage TINYINT, @LossRatioPer NUME RIC(25,6), @sdfBusinessChannel TINYINT, @LeaderPolicyCount TINYINT DECLARE @QuotationNos udtQuotationNos DECLARE @Subject VARCHAR(512), @LetterBody VARCHAR(8000), @BasequoteNoVNo VA RCHAR(24), @ReasonsList VARCHAR(4000), @EmailCode TINYINT, @UserDtls VARCHAR(500), @FrmtCurDate VARCHAR(20), @FromEmailID VARCHAR(200), @ToEmailID VARCHAR(200), @UnderwriterName VARCHAR(70), @Underwrit er SMALLINT CREATE TABLE dbo.#K2Remarks (SNo SMALLINT IDENTITY(1,1), Remarks VARCHAR(100 0)) -- Insert Quotation No for Alerts INSERT @QuotationNos (QuotationNo) VALUES(@QuotationNo) BEGIN TRY BEGIN TRANSACTION tnUpdStatusUpdate IF @ProductType IN(4,5,6,7,8) -- All Fire Products BEGIN -- Check the Current Status SELECT @CurStatus=sdfCurStatus,@RegisteredBy=sdfRegisteredBy, @LossRa tioPer=LossRatioPer, @Underwriter=sdfUnderwriter, @sdfBusinessChannel=sdfBusines sChannel FROM dbo.PropertyMain WHERE QuotationNo=@QuotationNo SELECT @Stage=ReasonStage FROM dbo.sdfStatusAction WHERE sdfStatus=@C urStatus AND sdfAction=@sdfAction IF @CurStatus=1 -- Quotation Registration Initiated BEGIN IF @sdfAction=7 -- Complete BEGIN -- Update Risk Location GIS Guideline Details -- Changed by Prabu on 2012-Dec-06 based on Onsite Requ est (sub: Change coding to treat Decline,Reffered to Restrict only) UPDATE M SET M.GISUWGuidelineInd=CASE WHEN G.GISUWGuide lineInd='' THEN 'A'

WHEN G.GISUWGuidelineInd='D' THEN 'R' ELSE G.GISUWGuidelineInd END , M.GISUWGuidelineReason=G.GISUWGuidelineReason FROM dbo.ProRiskLocDtls M INNER JOIN @GISUWGuideLine G ON G.RiskLocTranID=M.ID WHERE M.QuotationNo=@QuotationNo -- Get Registered By User from HO or BR (Head Office or Branch) SELECT @OrgType=R.OrgType FROM dbo.sdfUserRoleMap RM IN NER JOIN dbo.sdfRole R ON R.Code=RM.sdfRole WHERE RM.sdfUser=@RegisteredBy IF (@OrgType<>'HO' OR @OrgType IS NULL) AND EXISTS(SELE CT * FROM @GISUWGuideLine WHERE GISUWGuidelineInd IN ('R','D')) -- Refered or De clined BEGIN -- Make Risk Details Section as "Pending". IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHE RE QuotationNo=@QuotationNo AND sdfSection=2 AND SectionStatus='C') BEGIN UPDATE dbo.ProSectionStatus SET SectionStatu s='P', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSection=2 INSERT INTO dbo.ProSectionStatusHist(Quotati onNo, sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 2, 'P', @CurDate, @User ID, @CurDate END IF EXISTS(SELECT * FROM @GISUWGuideLine WHERE GI SUWGuidelineInd IN ('D','R')) SELECT @GISUWGuidelineInd='R' --ELSE IF EXISTS(SELECT * FROM @GISUWGuideLine W HERE GISUWGuidelineInd IN ('R')) SELECT @GISUWGuidelineInd='R' SELECT @RiskLocList=COALESCE(@RiskLocList +'<br/ >','')+ RL.sdfRiskLocationID +' (' +ISNUL L((CASE WHEN GISUWGuidelineInd='A' THEN 'Accepted' WHEN GISUWGuidelineInd='R' THEN 'Referred' WHEN GISUWGuidelineInd='D' THEN 'Declined' END),'') +')'+ ' - '+ISNULL(GISUW GuidelineReason,'') FROM dbo.ProRiskLocDtls RL WHERE RL.QuotationNo=@QuotationNo AND GISUWGuide lineInd=@GISUWGuidelineInd SELECT @RiskLocList='~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~<br/>'+ 'Risk Location "GIS Guide Line" Details <br/>'+ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~<br\>'+@RiskLocList+'<br/>'+ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~' SELECT @MessageDesc=@RiskLocList, @UpdStatusInd= 'N' -- Quotation Current Status has beed Update after User Accept. END ELSE IF @OrgType='HO' AND EXISTS(SELECT * FROM @GISUWGu

ideLine WHERE GISUWGuidelineInd IN ('D','R')) -- Declined BEGIN SELECT @GISUWGuidelineInd='R' -- Declined SELECT @RiskLocList=COALESCE(@RiskLocList +'<br/ >','')+ RL.sdfRiskLocationID +' (' +ISNUL L((CASE WHEN GISUWGuidelineInd='R' THEN 'Referred' END),'') +')'+ ' - '+ISNULL(G ISUWGuidelineReason,'') FROM dbo.ProRiskLocDtls RL WHERE RL.QuotationNo=@QuotationNo AND GISUWGuide lineInd=@GISUWGuidelineInd SELECT @RiskLocList='~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~<br/>'+ 'Risk Location "GIS Guide Line" Details <br/>'+ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~<br\>'+@RiskLocList+'<br/>'+ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~' IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHE RE QuotationNo=@QuotationNo AND sdfSection=2 AND SectionStatus='C') BEGIN UPDATE dbo.ProSectionStatus SET SectionStatu s='P', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSection=2 INSERT INTO dbo.ProSectionStatusHist(Quotati onNo, sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 2, 'P', @CurDate, @User ID, @CurDate END SELECT @MessageDesc=@RiskLocList, @UpdStatusInd= 'N' -- Quotation Current Status has not Update after User Accept. END ELSE -- All Risk Locations will Accepted by GIS Guideli ne Process or Head Office Case with out Declined Risk Location. BEGIN -- Enable Premium Calculation Section IF NOT EXISTS(SELECT * FROM dbo.ProSectionStatus WHERE QuotationNo=@QuotationNo AND sdfSection=16) -- Premium Details BEGIN INSERT INTO dbo.ProSectionStatus (QuotationN o, sdfSection, SectionStatus, StatusDate, sdfUser, Timestamp) SELECT @QuotationNo, 16, 'P',@CurDate, @User ID, @CurDate INSERT INTO dbo.ProSectionStatusHist (Quotat ionNo, sdfSection, SectionStatus, StatusDate, sdfUser, Timestamp) SELECT @QuotationNo, 16, 'P',@CurDate, @User ID, @CurDate END -- For Quotation Registration Completed (Insert Status and Status History Details) INSERT INTO dbo.ProQnStatusHist (QuotationNo, sd fStatus, StatusDate, sdfUserID, K2SerialNo, K2ProcessInsID, K2ID, Timestamp) VALUES(@QuotationNo, 2, @CurDate, @UserID, NULL, NULL, NULL, @CurDate) -- Update Quotation Expiry Date (GETDATE()+ 30 D ays) UPDATE dbo.PropertyMain SET ExpDate=DATEADD(DAY,

30,@CurDate) WHERE QuotationNo =@QuotationNo -- Insert Alerts After Completion of Registratio n Quotation Details Section. EXEC dbo.spGenAlerts @QuotationNos=@QuotationNos , @AlertCode=2, @UserID=@UserID,@SpStatus=@AlertsSpStatus OUTPUT -- GIS Guide Line Indicator SELECT @GISUWGuidelineInd='A', @MessageDesc=NULL , @UpdStatusInd='Y', -- Update Current Status Ind @NewStatus=3 -- Underwriting Assessment Initia ted IF @OrgType IS NULL OR @OrgType<>'HO' BEGIN -- Checking RC Recommendation is Required or Not(Hazard Grade for Risk Location checking). IF EXISTS(SELECT * FROM dbo.ProRiskLocDtls R L INNER JOIN dbo.sdfPIAMTrade P ON P.TradeCode=RL.sdfPIAMTrade WHERE P.sdfHazard Category IN('R','H') AND RL.QuotationNo=@QuotationNo) BEGIN IF EXISTS(SELECT * FROM dbo.ProRiskLo cDtls WHERE QuotationNo=@QuotationNo AND GISUWGuidelineInd IN('R','D')) SELECT @NewStatus=4 -- Pending for Recommendation (RC Recommendation is Required) END ELSE IF NOT EXISTS(SELECT * FROM dbo.ProSect ionStatus WHERE QuotationNo=@QuotationNo AND sdfSection = 3) -- Underwriter FAC RI Details BEGIN IF EXISTS(SELECT * FROM dbo.ProSectio nStatus WHERE QuotationNo=@QuotationNo AND sdfSection=2 AND SectionStatus='C') - Risk Details BEGIN -- Make Risk Details Section a s Pending. UPDATE dbo.ProSectionStatus SE T SectionStatus='P', StatusDate=@CurDate, sdfUser=@UserID, Timestamp=@CurDate WH ERE QuotationNo=@QuotationNo AND sdfSection=2 -- Risk Details -- Section Status History INSERT INTO dbo.ProSectionStat usHist (QuotationNo, sdfSection, SectionStatus, StatusDate, sdfUser, Timestamp) SELECT @QuotationNo, 2, 'P', @ CurDate, @UserID, @CurDate -- Risk Details END END END -- Insert Alerts After Completion of Registratio n Quotation Details Section. IF @NewStatus=3 BEGIN -- Make Survey Report Section as Pending, If Survey Report Section was completed in Registration Process. IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHERE QuotationNo=@QuotationNo AND sdfSection=11 AND SectionStatus='C') BEGIN UPDATE dbo.ProSectionStatus SET Secti onStatus='P', StatusDate=@CurDate, sdfUser=@UserID, Timestamp=@CurDate WHERE Quo tationNo=@QuotationNo AND sdfSection=11 -- Survey Report

INSERT INTO dbo.ProSectionStatusHist (QuotationNo, sdfSection, SectionStatus, StatusDate, sdfUser, Timestamp) SELECT @QuotationNo, 11, 'P', @CurDat e, @UserID, @CurDate -- Survey Report Section END -- Make Risk Details Section as "Pending ". IF EXISTS(SELECT * FROM dbo.ProSectionSt atus WHERE QuotationNo=@QuotationNo AND sdfSection=2 AND SectionStatus='C') BEGIN UPDATE dbo.ProSectionStatus SET SectionStatus='P', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSec tion=2 INSERT INTO dbo.ProSectionStatus Hist(QuotationNo, sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 2, 'P', @Cu rDate, @UserID, @CurDate END -- Make "Supporting Documents" Section as Pe nding In case Any Risk Location Rate is "Self" or "Special". --IF EXISTS(SELECT * FROM dbo.ProRiskLocDtls WHERE QuotationNo=@QuotationNo AND sdfBasisOfRating IN('G', 'GB', 'P', 'S', 'SP ')) --BEGIN IF EXISTS(SELECT * FROM dbo.ProSectio nStatus WHERE QuotationNo=@QuotationNo AND sdfSection=18 AND SectionStatus='C') BEGIN UPDATE dbo.ProSectionStatus SE T SectionStatus='P', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfS ection=18 -- Supporting Documents INSERT INTO dbo.ProSectionStat usHist(QuotationNo, sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 18, 'P', @CurDate, @UserID, @CurDate END --END -- Make "Any Losses / Damages Before (For Pa st Five Years)" Section as Pending IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHERE QuotationNo=@QuotationNo AND sdfSection=9 AND SectionStatus='C') BEGIN UPDATE dbo.ProSectionStatus SET Secti onStatus='P', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSection= 9 INSERT INTO dbo.ProSectionStatusHist( QuotationNo, sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 9, 'P', @CurDate , @UserID, @CurDate END IF @sdfBusinessChannel=2 -- Co-In Case BEGIN -- Only Co-In Quotations Make "Co-In Section" as Pending for get Leader Policy and Policy Count Details. IF EXISTS(SELECT * FROM dbo.ProSectio nStatus WHERE QuotationNo=@QuotationNo AND sdfSection=10 AND SectionStatus='C') -- Coinsurance Details BEGIN UPDATE dbo.ProSectionStatus SE T SectionStatus='P', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfS

ection=10 -- Coinsurance Details INSERT INTO dbo.ProSectionStat usHist(QuotationNo, sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 10, 'P', @CurDate, @UserID, @CurDate END END -- Make Quotation Level PCW Section as Pendi ng --Perils (choose whichever is applicable) IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHERE QuotationNo=@QuotationNo AND sdfSection=5 AND SectionStatus='C') BEGIN UPDATE dbo.ProSectionStatus SET Sect ionStatus='P', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSection =5 INSERT INTO dbo.ProSectionStatusHist (QuotationNo, sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 5, 'P', @CurDat e, @UserID, @CurDate END --Clauses (choose whichever is applicable) IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHERE QuotationNo=@QuotationNo AND sdfSection=6 AND SectionStatus='C') BEGIN UPDATE dbo.ProSectionStatus SET Sect ionStatus='P', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSection =6 INSERT INTO dbo.ProSectionStatusHist (QuotationNo, sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 6, 'P', @CurDat e, @UserID, @CurDate END --Warranties (choose whichever is applicable ) IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHERE QuotationNo=@QuotationNo AND sdfSection=7 AND SectionStatus='C') BEGIN UPDATE dbo.ProSectionStatus SET Sect ionStatus='P', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSection =7 INSERT INTO dbo.ProSectionStatusHist (QuotationNo, sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 7, 'P', @CurDat e, @UserID, @CurDate END EXEC dbo.spGenAlerts @QuotationNos=@Quotatio nNos, @AlertCode=4, @UserID=@UserID,@SpStatus=@AlertsSpStatus OUTPUT END END END ELSE IF @sdfAction IN (3,4) -- Decline or Cancel BEGIN IF @sdfAction=3 SELECT @NewStatus=13 -- Declined Quotat ion IF @sdfAction=4 SELECT @NewStatus=30 -- Quotation Cance lled SELECT @UpdStatusInd='Y' END

IF @NewStatus IN(3,4) -- Underwriting Assessment Initiated or Pending for RC Recommendation BEGIN -- Update Survey Type EXEC dbo.spUpdSurveyType @QuotationNo=@QuotationNo, @Us erID=@UserID END END ELSE IF @CurStatus=3 -- Underwriting Assessment Initiated BEGIN IF @sdfAction=7 -- Complete BEGIN -- Make "Underwriter FAC RI Details" Section as Complet ed. UPDATE dbo.ProSectionStatus SET SectionStatus='C', Stat usDate=@CurDate, sdfUser=@UserID, Timestamp=@CurDate WHERE QuotationNo=@Quotatio nNo AND sdfSection=3 INSERT INTO dbo.ProSectionStatusHist (QuotationNo, sdfS ection, SectionStatus, StatusDate, sdfUser, Timestamp) SELECT @QuotationNo, 3, 'C', @CurDate, @UserID, @CurDat e SELECT @NewStatus=7 -- Underwriting Assessment Complet ed END ELSE IF @sdfAction IN(3,4,12) BEGIN IF @sdfAction=3 SELECT @NewStatus=13 -- Declined Quotat ion IF @sdfAction=4 SELECT @NewStatus=30 -- Quotation Cance lled IF @sdfAction=12 SELECT @NewStatus=5 -- Prompt for Assi gn Surveyor END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=4 -- Pending for Recommendation BEGIN IF @sdfAction=10 -- Recommend BEGIN -- Make Risk Details Section as Pending. UPDATE dbo.ProSectionStatus SET SectionStatus='P', Stat usDate=@CurDate, sdfUser=@UserID, Timestamp=@CurDate WHERE QuotationNo=@Quotatio nNo AND sdfSection=2 -- Risk Details -- Section Status History INSERT INTO dbo.ProSectionStatusHist (QuotationNo, sdfS ection, SectionStatus, StatusDate, sdfUser, Timestamp) SELECT @QuotationNo, 2, 'P', @CurDate, @UserID, @CurDat e -- Risk Details /* -- Make "Any Losses / Damages Before (For Past Five Years) " Section as Pending IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHERE Quot ationNo=@QuotationNo AND sdfSection=9 AND SectionStatus='C') BEGIN UPDATE dbo.ProSectionStatus SET SectionStatus='P ', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSection=9 INSERT INTO dbo.ProSectionStatusHist(QuotationNo

, sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 9, 'P', @CurDate, @UserID, @CurDate END */ --SELECT @NewStatus=3 -- Underwriting Assessment Initia ted SELECT @NewStatus=39 -- RC Recomended./*Added by Kiran */ SELECT @CurStatus=39 -- RC Recomended./*Added by Prakas h*/ END ELSE IF @sdfAction=3 -- Decline BEGIN SELECT @NewStatus=13 -- Declined Quotation END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=5 --Pending for Surveyor Assignment BEGIN IF @sdfAction=7 -- Complete BEGIN SELECT @NewStatus=7 -- Underwriting Assessment Complete d END ELSE IF @sdfAction=3 -- Decline BEGIN SELECT @NewStatus=13 -- Declined Quotation END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=8 -- Amendments Requested By Marketeer BEGIN IF @sdfAction=1 -- Accept BEGIN -- Create New Version for Marketeer Amendments Request Accepted. -- Get Quotation Type SELECT @QuotationType=QuotationType FROM dbo.PropertyMa in WHERE QuotationNo=@QuotationNo -- Create New Version for that Quotation EXEC dbo.spUpdProCopyQuotation @Indicator=2, -- 2-Creat e New Version @sdfProduct=@ProductType, @QuotationNo=@Quotatio nNo, @QuotationType=@QuotationType, -- 'N' New Quotation @UserID=@UserID SELECT @NewStatus=41 -- New Version Created END ELSE IF @sdfAction=3 -- Decline (Reject) BEGIN SELECT @NewStatus=20 -- Quotation Released END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=13 -- Declined Quotation BEGIN IF @sdfAction=1 BEGIN SELECT @NewStatus=36 -- Appeal Declined Quotation Accep

ted END IF @sdfAction=13 -- Appeal Declined Quotation BEGIN SELECT @NewStatus=15 -- Appeal for Declined Quotation END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=14 -- Pending for Conformation for Creating New Ve rsion BEGIN IF @sdfAction=1 -- Accept BEGIN -- Get Quotation Type SELECT @QuotationType=QuotationType FROM dbo.PropertyMa in WHERE QuotationNo=@QuotationNo -- Create New Version for that Quotation EXEC dbo.spUpdProCopyQuotation @Indicator=2, -- 2-Creat e New Version @sdfProduct=@ProductType, @QuotationNo=@Quotatio nNo, @QuotationType=@QuotationType, -- 'N' New Quotation @UserID=@UserID SELECT @NewStatus=41 -- New Version Created END ELSE IF @sdfAction=3 -- Decline BEGIN SELECT @NewStatus=13 -- Declined Quotation END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=15 -- Appeal for Declined Quotation BEGIN IF @sdfAction=1 -- Accept BEGIN -- Get Quotation Type SELECT @QuotationType=QuotationType FROM dbo.PropertyMa in WHERE QuotationNo=@QuotationNo -- Create New Version for that Quotation EXEC dbo.spUpdProCopyQuotation @Indicator=2, -- 2-Creat e New Version @sdfProduct=@ProductType, @QuotationNo=@Quotatio nNo, @QuotationType=@QuotationType, -- 'N' New Quotation @UserID=@UserID SELECT @NewStatus=36 -- Appeal Declined Quotation Accep ted END ELSE IF @sdfAction=3 -- Decline (Reject) BEGIN SELECT @NewStatus=13 -- Declined Quotation END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=18 -- FAC RI Placement Initated BEGIN IF @sdfAction=7 -- Complete BEGIN SELECT @NewStatus=19 -- FAC RI Placement Completed

-- Update Quotation Status UPDATE dbo.PropertyMain SET sdfCurStatus=@NewStatus, Cu rStatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfProduct=@ProductType --Insert Status and Status History Details INSERT INTO dbo.ProQnStatusHist (QuotationNo, sdfStatus , StatusDate, sdfUserID, K2SerialNo, K2ProcessInsID, K2ID, Timestamp) VALUES(@QuotationNo, @NewStatus, @CurDate, @UserID, NUL L, NULL, NULL, @CurDate) SELECT @NewStatus=21 -- Pending for FAC RI Placement Co nfirmation END ELSE IF @sdfAction=9 -- Escalate FAC RI Inability BEGIN SELECT @NewStatus=22 -- FAC RI Placement Inability END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=20 -- Quotation Released BEGIN IF @sdfAction=1 -- Accept BEGIN -- Make "Supporting Documents" Section as Pending, If Q uotation is Ready to Print. IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHERE Quot ationNo=@QuotationNo AND sdfSection=18 AND SectionStatus='C') -- Supporting Docu ments BEGIN UPDATE dbo.ProSectionStatus SET SectionStatus='P ', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSection=18 -- Suppo rting Documents INSERT INTO dbo.ProSectionStatusHist(QuotationNo , sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 18, 'P', @CurDate, @UserID, @CurDate END IF @sdfBusinessChannel IN (1,3) -- Direct or Co-Out Quo tation SELECT @NewStatus=25 -- Quotation Printed ELSE IF @sdfBusinessChannel IN (2) -- Co-In Quotation SELECT @NewStatus=53 -- Pending for Leader Respo nse END ELSE IF @sdfAction=2 -- Amendment reqested BEGIN SELECT @NewStatus=8, @EmailCode=21 -- Amendments Reques ted By Marketeer END ELSE IF @sdfAction=4 -- Cancel BEGIN SELECT @NewStatus=30 -- Quotation Cancelled END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=21 -- Pending for FAC RI Placement Confirmation BEGIN IF @sdfAction=11 -- Release Quotation BEGIN

SELECT @NewStatus=20 -- Quotation Released END ELSE IF @sdfAction IN(3,4) BEGIN IF @sdfAction=3 SELECT @NewStatus=13 -- Declined Quotat ion IF @sdfAction=4 SELECT @NewStatus=30 -- Quotation Cance lled END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=22 --FAC RI Placement Inability BEGIN IF @sdfAction=14 -- Decline Quotation BEGIN SELECT @NewStatus=13 -- Declined Quotation END ELSE IF @sdfAction=6 -- Conditional Approval BEGIN SELECT @NewStatus=14 -- Pending for Conformation for Cr eating New Version END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=25 -- Quotation Printed BEGIN IF @sdfAction=1 -- Accept BEGIN SELECT @NewStatus=26 -- Quotation Accepted by Client -- Update Risk Location Special Rate Status as "PIAM Sp ecial Rate Accepted by Client"(2) UPDATE dbo.ProRiskLocDtls SET sdfSplRateStatus=2, splRa teStatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND SplRatingRefNo IS NOT N ULL END ELSE IF @sdfAction=2 -- Amendment reqested BEGIN SELECT @NewStatus=28, @EmailCode=23 -- Client Request f or Amendments END ELSE IF @sdfAction=3 -- Decline (Reject) BEGIN SELECT @NewStatus=27 -- Quotation Rejected by Client -- Update Risk Location Special Rate Status as "PIAM Sp ecial Rate Rejected by Client"(3) UPDATE dbo.ProRiskLocDtls SET sdfSplRateStatus=3, splRa teStatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND SplRatingRefNo IS NOT NULL END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=28 -- Client Request for Amendments BEGIN IF @sdfAction=1 -- Accept BEGIN -- Create New Version for Client Amendments Request Acc epted. -- Get Quotation Type SELECT @QuotationType=QuotationType FROM dbo.PropertyMa in WHERE QuotationNo=@QuotationNo

-- Create New Version for that Quotation EXEC dbo.spUpdProCopyQuotation @Indicator=2, -- 2-Creat e New Version @sdfProduct=@ProductType, @QuotationNo=@Quotatio nNo, @QuotationType=@QuotationType, -- 'N' New Quotation @UserID=@UserID SELECT @NewStatus=33 -- Client Request for Amendments i s Accepted END ELSE IF @sdfAction=3 -- Decline (Reject) BEGIN -- Make Client Request for Amendments is Declined statu s SELECT @NewStatus=34 -- Client Request for Amendments i s Declined --Insert Status and Status History Details INSERT INTO dbo.ProQnStatusHist (QuotationNo, sdfStatus , StatusDate, sdfUserID, K2SerialNo, K2ProcessInsID, K2ID, Timestamp) VALUES(@QuotationNo, @NewStatus, @CurDate, @UserID, NUL L, NULL, NULL, @CurDate) SELECT @StatusHistID=@@IDENTITY IF EXISTS(SELECT * FROM @Reasons) -- Incase of Declined or Cancelled Quotation BEGIN INSERT INTO dbo.ProStatusReasons(QuotationNo, St atusHistID, sdfStage, sdfReason, Remarks) SELECT @QuotationNo, @StatusHistID, 6, sdfReason , Remarks FROM @Reasons -- Cancel or Declined END -- Client Request for Amendments is Declined(34) SELECT @NewStatus=25 -- Quotation Printed END SELECT @UpdStatusInd='Y' END ELSE IF @CurStatus=43 --Pending for Mandatory Details BEGIN IF @sdfAction=7 -- Complete BEGIN SELECT @NewStatus=11 -- Quotation Converted into Policy SELECT @UpdStatusInd='N' -- Status Update Process moved to Policy Update SP."spUpdPolicyNo" END ELSE IF @sdfAction=4 -- Cancel BEGIN SELECT @NewStatus=30 -- Quotation Cancelled SELECT @UpdStatusInd='Y' END END ELSE IF @CurStatus=47 -- Quotation Accepted by Leader BEGIN IF @sdfAction=7 -- Complete BEGIN -- Checking Leader Policy Count SELECT @LeaderPolicyCount=LeaderPolicyCount FROM dbo.Pr oCoinwardDtls WHERE QuotationNo=@QuotationNo

IF @LeaderPolicyCount > 1 -- Multiple Leader Policy BEGIN SELECT @MessageDesc='~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~<br/>'+ 'Leader updated Multiple Policy Numbers,You want to cancel current Quotation. <br/>'+ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~<br\>' END ELSE -- Single Leader Policy BEGIN SELECT @MessageDesc=NULL END SELECT @UpdStatusInd='N' END IF @sdfAction=4 -- Cancel BEGIN SELECT @UpdStatusInd='Y' , @NewStatus=30 -- Quotation C ancelled END END ELSE IF @CurStatus=49 -- Leader Request for Amendments BEGIN IF @sdfAction=1 -- Accept BEGIN -- Create New Version for Client Amendments Request Acc epted. -- Get Quotation Type SELECT @QuotationType=QuotationType FROM dbo.PropertyMa in WHERE QuotationNo=@QuotationNo -- Create New Version for that Quotation EXEC dbo.spUpdProCopyQuotation @Indicator=2, -- 2-Creat e New Version @sdfProduct=@ProductType, @QuotationNo=@Quotatio nNo, @QuotationType=@QuotationType, -- 'N' New Quotation @UserID=@UserID SELECT @NewStatus=50 -- Leader Request for Amendments i s Accepted END ELSE IF @sdfAction=3 -- Decline (Reject) BEGIN -- Make Client Request for Amendments is Declined statu s SELECT @NewStatus=51 -- Leader Request for Amendments i s Declined --Insert Status and Status History Details INSERT INTO dbo.ProQnStatusHist (QuotationNo, sdfStatus , StatusDate, sdfUserID, K2SerialNo, K2ProcessInsID, K2ID, Timestamp) VALUES(@QuotationNo, @NewStatus, @CurDate, @UserID, NUL L, NULL, NULL, @CurDate) SELECT @StatusHistID=@@IDENTITY IF EXISTS(SELECT * FROM @Reasons) -- Incase of Declined or Cancelled Quotation BEGIN INSERT INTO dbo.ProStatusReasons(QuotationNo, St

atusHistID, sdfStage, sdfReason, Remarks) SELECT @QuotationNo, @StatusHistID, 6, sdfReason , Remarks FROM @Reasons -- Cancel or Declined END -- Leader Request for Amendments is Declined(51), THen Current Status is "Pending for Upload Co-In Confirmation Letter" SELECT @NewStatus=52 -- Pending for Upload Co-In Confir mation Letter -- Make "Supporting Documents" Section as Pending. IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHERE Quot ationNo=@QuotationNo AND sdfSection=18 AND SectionStatus='C') -- Supporting Docu ments BEGIN UPDATE dbo.ProSectionStatus SET SectionStatus='P ', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSection=18 -- Suppo rting Documents INSERT INTO dbo.ProSectionStatusHist(QuotationNo , sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 18, 'P', @CurDate, @UserID, @CurDate END END SELECT @UpdStatusInd='Y' END /* ELSE IF @CurStatus=52 --Pending for Upload Co-In Confirmation Letter BEGIN IF @sdfAction=7 -- Complete BEGIN -- Make "Supporting Documents" Section as Pending. IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHERE Quot ationNo=@QuotationNo AND sdfSection=18 AND SectionStatus='C') -- Supporting Docu ments BEGIN UPDATE dbo.ProSectionStatus SET SectionStatus='P ', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSection=18 -- Suppo rting Documents INSERT INTO dbo.ProSectionStatusHist(QuotationNo , sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 18, 'P', @CurDate, @UserID, @CurDate END SELECT @NewStatus=53 -- Pending for Leader Response END ELSE IF @sdfAction=2 -- Amendments Requested BEGIN SELECT @NewStatus=8, @EmailCode=21 -- Amendments Reques ted By Marketeer END ELSE IF @sdfAction=4 -- Cancel BEGIN SELECT @NewStatus=30 -- Quotation Cancelled END SELECT @UpdStatusInd='Y' END */ ELSE IF @CurStatus=53 --Pending for Leader Response BEGIN --SELECT * FROM sdfStatus

IF @sdfAction=1 -- Accept BEGIN -- Make "Co-In Section" as Pending for get Leader Polic y and Policy Count Details. IF EXISTS(SELECT * FROM dbo.ProSectionStatus WHERE Quot ationNo=@QuotationNo AND sdfSection=10 AND SectionStatus='C') -- Coinsurance Det ails BEGIN UPDATE dbo.ProSectionStatus SET SectionStatus='P ', StatusDate=@CurDate WHERE QuotationNo=@QuotationNo AND sdfSection=10 -- Coins urance Details INSERT INTO dbo.ProSectionStatusHist(QuotationNo , sdfSection, SectionStatus, statusDate, sdfUser, Timestamp) SELECT @QuotationNo, 10, 'P', @CurDate, @UserID, @CurDate END SELECT @NewStatus=47 -- Quotation Accepted by Leader END ELSE IF @sdfAction=2 -- Amendments Requested BEGIN SELECT @NewStatus=49 -- Leader Request for Amendments END ELSE IF @sdfAction=3 -- Decline BEGIN SELECT @NewStatus=48 -- Quotation Rejected by Leader END ELSE IF @sdfAction=4 -- Cancel BEGIN SELECT @NewStatus=30 -- Quotation Cancelled END SELECT @UpdStatusInd='Y' END IF @UpdStatusInd='Y' -- Update Quotation Current Status BEGIN -- Update Quotation Status UPDATE dbo.PropertyMain SET sdfCurStatus=@NewStatus, CurStatus Date=@CurDate WHERE QuotationNo=@QuotationNo AND sdfProduct=@ProductType --Insert Status and Status History Details INSERT INTO dbo.ProQnStatusHist (QuotationNo, sdfStatus, Statu sDate, sdfUserID, K2SerialNo, K2ProcessInsID, K2ID, Timestamp) VALUES(@QuotationNo, @NewStatus, @CurDate, @UserID, NULL, NULL , NULL, @CurDate) SELECT @StatusHistID=MAX(ID) FROM dbo.ProQnStatusHist WHERE Qu otationNo=@QuotationNo AND sdfStatus=@CurStatus -- @@IDENTITY IF EXISTS(SELECT * FROM @Reasons) -- Incase of Declined or Can celled Quotation BEGIN INSERT INTO dbo.ProStatusReasons(QuotationNo, StatusHis tID, sdfStage, sdfReason, Remarks) SELECT @QuotationNo, @StatusHistID, @Stage, sdfReason, Remarks FROM @Reasons -- Cancel or Declined END END -- Section Status Details for Quotation EXEC dbo.spGetProQuoteSecStatus @QuotationNo=@QuotationNo

-- Quotation Current Status Details SELECT sdfCurStatus 'CurStatusCode', CurStatus, CurStatusDate, Status LastUpdName 'StatusUpdatedBy' FROM dbo.vwQuotationDtls WHERE QuotationNo=@QuotationNo AND sdfProduct=@ProductType INSERT INTO #K2Remarks(Remarks) SELECT Remarks FROM dbo.ProRemarks WHERE QuotationNo=@QuotationNo AND sdfStatus=@CurStatus UNION ALL SELECT Remarks FROM @Reasons -- GIS Guideline Details SELECT @GISUWGuidelineInd 'GISGuideLineInd', @MessageDesc 'MessageDes c', REPLACE(STUFF((SELECT '' + CAST(SNo AS VARCHAR(20))+' '+ ISNULL(LTRIM( RTRIM(Remarks)),'') AS [text()] FROM #K2Remarks FOR XML PATH('')),1,1,''),'',' <br/>') 'Remarks' IF @CurStatus IN(1,3,4,15) AND @sdfAction=3 --Decline BEGIN -- Get Email Details for Request for Cancel Quotation EXEC dbo.spGenEmailDtls @QuotationNo=@QuotationNo, @EmailCode= 2, @UserID=@UserID, @ReassignReasons=@Reasons, @SPStatus=@EmailSPStatus OUTPUT END ELSE BEGIN -- For Empty Record Set SELECT '' 'Subject', '' 'LetterBody', '' 'FromEmailID', '' 'To EmailID', '' 'CCEmailID' FROM sdfEmailDtls WHERE 1=2 END IF @NewStatus=8 OR @NewStatus=28 -- Amendments Requested By Marketeer (8), Client Request for Amendments(28) BEGIN EXEC spGenEmailDtls @QuotationNo=@QuotationNo, @EmailCode=@Email Code, @UserID=@UserID, @ReassignReasons=@Reasons, @SpStatus=@EmailSpStatus OUTPU T END END COMMIT TRANSACTION tnUpdStatusUpdate END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION tnUpdStatusUpdate PRINT ERROR_MESSAGE() END CATCH END

GO

Вам также может понравиться