Skip to content

Commit 4256fe7

Browse files
authored
Finish feature/OP-459
OP-459: Feedback does not upload correctly
2 parents ebd867b + 7deb31b commit 4256fe7

File tree

2 files changed

+77
-15
lines changed

2 files changed

+77
-15
lines changed

Empty databases/openIMIS_ONLINE.sql

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12629,11 +12629,9 @@ GO
1262912629
SET QUOTED_IDENTIFIER ON
1263012630
GO
1263112631

12632-
1263312632
CREATE PROCEDURE [dbo].[uspInsertFeedback]
1263412633
(
1263512634
@XML XML
12636-
--@FileName VARCHAR(100)
1263712635
)
1263812636
/*
1263912637
-1: Fatal Error
@@ -12648,8 +12646,6 @@ AS
1264812646
BEGIN
1264912647

1265012648
BEGIN TRY
12651-
--DECLARE @FilePath NVARCHAR(250)
12652-
--DECLARE @XML XML
1265312649
DECLARE @Query NVARCHAR(3000)
1265412650

1265512651
DECLARE @OfficerCode NVARCHAR(8)
@@ -12658,19 +12654,13 @@ BEGIN
1265812654
DECLARE @CHFID VARCHAR(12)
1265912655
DECLARE @Answers VARCHAR(5)
1266012656
DECLARE @FeedbackDate DATE
12661-
12662-
--SELECT @FilePath = 'C:/inetpub/wwwroot' + FTPFeedbackFolder + '/' + @FileName FROM tblIMISDefaults
12663-
12664-
--SET @Query = (N'SELECT @XML = (SELECT CAST(X AS XML) FROM OPENROWSET(BULK ''' + @FileName +''',SINGLE_BLOB) AS T(X))')
12665-
12666-
--EXECUTE sp_executesql @Query,N'@XML XML OUTPUT',@XML OUTPUT
12667-
12657+
1266812658
SELECT
1266912659
@OfficerCode = feedback.value('(Officer)[1]','NVARCHAR(8)'),
1267012660
@ClaimID = feedback.value('(ClaimID)[1]','NVARCHAR(8)'),
1267112661
@CHFID = feedback.value('(CHFID)[1]','VARCHAR(12)'),
1267212662
@Answers = feedback.value('(Answers)[1]','VARCHAR(5)'),
12673-
@FeedbackDate = CONVERT(DATE,feedback.value('(Date)[1]','VARCHAR(10)'),103)
12663+
@FeedbackDate = feedback.value('(Date)[1]','VARCHAR(10)')
1267412664
FROM @XML.nodes('feedback') AS T(feedback)
1267512665

1267612666
DECLARE @ClaimCode NVARCHAR(8)
@@ -12710,8 +12700,6 @@ BEGIN
1271012700

1271112701
RETURN 0
1271212702
END
12713-
12714-
1271512703
GO
1271612704

1271712705
SET ANSI_NULLS ON

Migration script/openIMIS migration latest.sql

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13142,6 +13142,80 @@ FINISH:
1314213142

1314313143
END CATCH
1314413144
END
13145+
GO
1314513146

13146-
13147+
IF OBJECT_ID('[uspInsertFeedback]', 'P') IS NOT NULL
13148+
DROP PROCEDURE [uspInsertFeedback]
1314713149
GO
13150+
CREATE PROCEDURE [dbo].[uspInsertFeedback]
13151+
(
13152+
@XML XML
13153+
)
13154+
/*
13155+
-1: Fatal Error
13156+
0: All OK
13157+
1: Invalid Officer code
13158+
2: Claim does not exist
13159+
3: Invalid CHFID
13160+
4: FeedBack Exists
13161+
13162+
*/
13163+
AS
13164+
BEGIN
13165+
13166+
BEGIN TRY
13167+
DECLARE @Query NVARCHAR(3000)
13168+
13169+
DECLARE @OfficerCode NVARCHAR(8)
13170+
DECLARE @OfficerID INT
13171+
DECLARE @ClaimID INT
13172+
DECLARE @CHFID VARCHAR(12)
13173+
DECLARE @Answers VARCHAR(5)
13174+
DECLARE @FeedbackDate DATE
13175+
13176+
SELECT
13177+
@OfficerCode = feedback.value('(Officer)[1]','NVARCHAR(8)'),
13178+
@ClaimID = feedback.value('(ClaimID)[1]','NVARCHAR(8)'),
13179+
@CHFID = feedback.value('(CHFID)[1]','VARCHAR(12)'),
13180+
@Answers = feedback.value('(Answers)[1]','VARCHAR(5)'),
13181+
@FeedbackDate = feedback.value('(Date)[1]','VARCHAR(10)')
13182+
FROM @XML.nodes('feedback') AS T(feedback)
13183+
13184+
DECLARE @ClaimCode NVARCHAR(8)
13185+
13186+
SELECT @ClaimCode = ClaimCode FROM tblClaim WHERE ClaimID = @ClaimID AND ValidityTo IS NULL
13187+
13188+
IF NOT EXISTS(SELECT * FROM tblOfficer WHERE Code = @OfficerCode AND ValidityTo IS NULL)
13189+
RETURN 1
13190+
ELSE
13191+
SELECT @OfficerID = OfficerID FROM tblOfficer WHERE Code = @OfficerCode AND ValidityTo IS NULL
13192+
13193+
IF NOT EXISTS(SELECT * FROM tblClaim WHERE ClaimCode = @ClaimCode AND ValidityTo IS NULL)
13194+
RETURN 2
13195+
13196+
IF NOT EXISTS(SELECT C.ClaimID FROM tblClaim C INNER JOIN tblInsuree I ON C.InsureeID = I.InsureeID WHERE C.ClaimID = @ClaimID AND I.CHFID = @CHFID)
13197+
RETURN 3
13198+
13199+
IF EXISTS(SELECT 1 FROM tblFeedback WHERE ClaimID = @ClaimID AND ValidityTo IS NULL)
13200+
RETURN 4
13201+
13202+
DECLARE @CareRendered BIT = SUBSTRING(@Answers,1,1)
13203+
DECLARE @PaymentAsked BIT = SUBSTRING(@Answers,2,1)
13204+
DECLARE @DrugPrescribed BIT = SUBSTRING(@Answers,3,1)
13205+
DECLARE @DrugReceived BIT = SUBSTRING(@Answers,4,1)
13206+
DECLARE @Asessment TINYINT = SUBSTRING(@Answers,5,1)
13207+
13208+
INSERT INTO tblFeedback(ClaimID,CareRendered,PaymentAsked,DrugPrescribed,DrugReceived,Asessment,CHFOfficerCode,FeedbackDate,ValidityFrom,AuditUserID)
13209+
VALUES(@ClaimID,@CareRendered,@PaymentAsked,@DrugPrescribed,@DrugReceived,@Asessment,@OfficerID,@FeedbackDate,GETDATE(),-1);
13210+
13211+
UPDATE tblClaim SET FeedbackStatus = 8 WHERE ClaimID = @ClaimID;
13212+
13213+
END TRY
13214+
BEGIN CATCH
13215+
SELECT ERROR_MESSAGE()
13216+
RETURN -1
13217+
END CATCH
13218+
13219+
RETURN 0
13220+
END
13221+
GO

0 commit comments

Comments
 (0)