Skip to content

Commit 548c2bf

Browse files
committed
move uspSSRSProcessBatch
1 parent a62482b commit 548c2bf

3 files changed

Lines changed: 87 additions & 175 deletions

File tree

sql/base/6_bundle_stored_procedures.sql

Lines changed: 0 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -12421,94 +12421,6 @@ CREATE OR ALTER PROCEDURE [dbo].[uspSSRSPrimaryIndicators2]
1242112421
END
1242212422
GO
1242312423

12424-
SET ANSI_NULLS ON
12425-
GO
12426-
SET QUOTED_IDENTIFIER ON
12427-
GO
12428-
12429-
CREATE OR ALTER PROCEDURE [dbo].[uspSSRSProcessBatch]
12430-
(
12431-
@LocationId INT = 0,
12432-
@ProdID INT = 0,
12433-
@RunID INT = 0,
12434-
@HFID INT = 0,
12435-
@HFLevel as Char(1) = '',
12436-
@DateFrom DATE = '',
12437-
@DateTo DATE = '',
12438-
@MinRemunerated as decimal(18,2) = 0
12439-
)
12440-
AS
12441-
BEGIN
12442-
IF @LocationId=-1
12443-
BEGIN
12444-
SET @LocationId = NULL
12445-
END
12446-
12447-
IF @DateFrom = '' OR @DateFrom IS NULL OR @DateTo = '' OR @DateTo IS NULL
12448-
BEGIN
12449-
SET @DateFrom = N'1900-01-01'
12450-
SET @DateTo = N'3000-12-31'
12451-
END
12452-
12453-
12454-
;WITH CDetails AS
12455-
(
12456-
SELECT CI.ClaimId, CI.ProdId,
12457-
SUM(ISNULL(CI.PriceApproved, CI.PriceAsked) * ISNULL(CI.QtyApproved, CI.QtyProvided)) PriceApproved,
12458-
SUM(CI.PriceValuated) PriceAdjusted, SUM(CI.RemuneratedAmount)RemuneratedAmount
12459-
FROM tblClaimItems CI
12460-
WHERE CI.ValidityTo IS NULL
12461-
AND CI.ClaimItemStatus = 1
12462-
GROUP BY CI.ClaimId, CI.ProdId
12463-
UNION ALL
12464-
12465-
SELECT CS.ClaimId, CS.ProdId,
12466-
SUM(ISNULL(CS.PriceApproved, CS.PriceAsked) * ISNULL(CS.QtyApproved, CS.QtyProvided)) PriceApproved,
12467-
SUM(CS.PriceValuated) PriceValuated, SUM(CS.RemuneratedAmount) RemuneratedAmount
12468-
12469-
FROM tblClaimServices CS
12470-
WHERE CS.ValidityTo IS NULL
12471-
AND CS.ClaimServiceStatus = 1
12472-
GROUP BY CS.CLaimId, CS.ProdId
12473-
)
12474-
SELECT R.RegionName, D.DistrictName, HF.HFCode, HF.HFName, Prod.ProductCode, Prod.ProductName, SUM(CDetails.RemuneratedAmount)Remunerated, Prod.AccCodeRemuneration, HF.AccCode
12475-
12476-
FROM tblClaim C
12477-
INNER JOIN tblInsuree I ON I.InsureeId = C.InsureeID
12478-
INNER JOIN tblHF HF ON HF.HFID = C.HFID
12479-
INNER JOIN CDetails ON CDetails.ClaimId = C.ClaimID
12480-
INNER JOIN tblProduct Prod ON Prod.ProdId = CDetails.ProdID
12481-
INNER JOIN tblFamilies F ON F.FamilyId = I.FamilyID
12482-
INNER JOIN tblVillages V ON V.VillageID = F.LocationId
12483-
INNER JOIN tblWards W ON W.WardId = V.WardId
12484-
INNER JOIN tblDistricts D ON D.DistrictID = W.DistrictId
12485-
INNER JOIN tblRegions R ON R.RegionId = D.Region
12486-
12487-
WHERE C.ValidityTo IS NULL
12488-
AND (Prod.LocationId = @LocationId OR @LocationId = 0 OR Prod.LocationId IS NULL)
12489-
AND(Prod.ProdId = @ProdId OR @ProdId = 0)
12490-
AND (C.RunId = @RunId OR @RunId = 0)
12491-
AND (HF.HFId = @HFID OR @HFId = 0)
12492-
AND (HF.HFLevel = @HFLevel OR @HFLevel = N'')
12493-
AND (C.DateTo BETWEEN @DateFrom AND @DateTo)
12494-
-- TO AVOID DOUBLE COUNT WITH CAPITATION
12495-
AND CONCAT(HF.HFLevel,'.',HF.HFSublevel) NOT IN (
12496-
SELECT CONCAT(HFlevel,'.',HFSublevel)
12497-
FROM (values ('H'), ('C'), ('D')) v(HFLevel)
12498-
JOIN tblHFSublevel on 1=1
12499-
INNER JOIN tblProduct Prod on prodid = @ProdID
12500-
AND
12501-
( (Prod.Level1 = HFLevel and Prod.Sublevel1 is NULL or Prod.Level1 = HFLevel and Prod.Sublevel1=HFSublevel)
12502-
OR (Prod.Level2 = HFLevel and Prod.Sublevel2 is NULL or Prod.Level2 = HFLevel and Prod.Sublevel2=HFSublevel)
12503-
OR (Prod.Level3 = HFLevel and Prod.Sublevel2 is NULL or Prod.Level2 = HFLevel and Prod.Sublevel3=HFSublevel)
12504-
OR (Prod.Level4 = HFLevel and Prod.Sublevel2 is NULL or Prod.Level2 = HFLevel and Prod.Sublevel4=HFSublevel)
12505-
)
12506-
)
12507-
12508-
GROUP BY R.RegionName,D.DistrictName, HF.HFCode, HF.HFName, Prod.ProductCode, Prod.ProductName, Prod.AccCodeRemuneration, HF.AccCode
12509-
HAVING SUM(CDetails.RemuneratedAmount) > @MinRemunerated
12510-
END
12511-
GO
1251212424

1251312425

1251412426
SET ANSI_NULLS ON

sql/migrations/1_migration_latest.sql

Lines changed: 0 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1203,93 +1203,6 @@ CREATE PROCEDURE [dbo].[uspSSRSFeedbackPrompt]
12031203
END
12041204
GO
12051205

1206-
IF OBJECT_ID('uspSSRSProcessBatch', 'P') IS NOT NULL
1207-
DROP PROCEDURE uspSSRSProcessBatch
1208-
GO
1209-
1210-
CREATE PROCEDURE [dbo].[uspSSRSProcessBatch]
1211-
(
1212-
@LocationId INT = 0,
1213-
@ProdID INT = 0,
1214-
@RunID INT = 0,
1215-
@HFID INT = 0,
1216-
@HFLevel as Char(1) = '',
1217-
@DateFrom DATE = '',
1218-
@DateTo DATE = '',
1219-
@MinRemunerated as decimal(18,2) = 0
1220-
)
1221-
AS
1222-
BEGIN
1223-
IF @LocationId=-1
1224-
BEGIN
1225-
SET @LocationId = NULL
1226-
END
1227-
1228-
IF @DateFrom = '' OR @DateFrom IS NULL OR @DateTo = '' OR @DateTo IS NULL
1229-
BEGIN
1230-
SET @DateFrom = N'1900-01-01'
1231-
SET @DateTo = N'3000-12-31'
1232-
END
1233-
1234-
1235-
;WITH CDetails AS
1236-
(
1237-
SELECT CI.ClaimId, CI.ProdId,
1238-
SUM(ISNULL(CI.PriceApproved, CI.PriceAsked) * ISNULL(CI.QtyApproved, CI.QtyProvided)) PriceApproved,
1239-
SUM(CI.PriceValuated) PriceAdjusted, SUM(CI.RemuneratedAmount)RemuneratedAmount
1240-
FROM tblClaimItems CI
1241-
WHERE CI.ValidityTo IS NULL
1242-
AND CI.ClaimItemStatus = 1
1243-
GROUP BY CI.ClaimId, CI.ProdId
1244-
UNION ALL
1245-
1246-
SELECT CS.ClaimId, CS.ProdId,
1247-
SUM(ISNULL(CS.PriceApproved, CS.PriceAsked) * ISNULL(CS.QtyApproved, CS.QtyProvided)) PriceApproved,
1248-
SUM(CS.PriceValuated) PriceValuated, SUM(CS.RemuneratedAmount) RemuneratedAmount
1249-
1250-
FROM tblClaimServices CS
1251-
WHERE CS.ValidityTo IS NULL
1252-
AND CS.ClaimServiceStatus = 1
1253-
GROUP BY CS.CLaimId, CS.ProdId
1254-
)
1255-
SELECT R.RegionName, D.DistrictName, HF.HFCode, HF.HFName, Prod.ProductCode, Prod.ProductName, SUM(CDetails.RemuneratedAmount)Remunerated, Prod.AccCodeRemuneration, HF.AccCode
1256-
1257-
FROM tblClaim C
1258-
INNER JOIN tblInsuree I ON I.InsureeId = C.InsureeID
1259-
INNER JOIN tblHF HF ON HF.HFID = C.HFID
1260-
INNER JOIN CDetails ON CDetails.ClaimId = C.ClaimID
1261-
INNER JOIN tblProduct Prod ON Prod.ProdId = CDetails.ProdID
1262-
INNER JOIN tblFamilies F ON F.FamilyId = I.FamilyID
1263-
INNER JOIN tblVillages V ON V.VillageID = F.LocationId
1264-
INNER JOIN tblWards W ON W.WardId = V.WardId
1265-
INNER JOIN tblDistricts D ON D.DistrictID = W.DistrictId
1266-
INNER JOIN tblRegions R ON R.RegionId = D.Region
1267-
1268-
WHERE C.ValidityTo IS NULL
1269-
AND (Prod.LocationId = @LocationId OR @LocationId = 0 OR Prod.LocationId IS NULL)
1270-
AND(Prod.ProdId = @ProdId OR @ProdId = 0)
1271-
AND (C.RunId = @RunId OR @RunId = 0)
1272-
AND (HF.HFId = @HFID OR @HFId = 0)
1273-
AND (HF.HFLevel = @HFLevel OR @HFLevel = N'')
1274-
AND (C.DateTo BETWEEN @DateFrom AND @DateTo)
1275-
-- TO AVOID DOUBLE COUNT WITH CAPITATION
1276-
AND CONCAT(HF.HFLevel,'.',HF.HFSublevel) NOT IN (
1277-
SELECT CONCAT(HFlevel,'.',HFSublevel)
1278-
FROM (values ('H'), ('C'), ('D')) v(HFLevel)
1279-
JOIN tblHFSublevel on 1=1
1280-
INNER JOIN tblProduct Prod on prodid = @ProdID
1281-
AND
1282-
( (Prod.Level1 = HFLevel and Prod.Sublevel1 is NULL or Prod.Level1 = HFLevel and Prod.Sublevel1=HFSublevel)
1283-
OR (Prod.Level2 = HFLevel and Prod.Sublevel2 is NULL or Prod.Level2 = HFLevel and Prod.Sublevel2=HFSublevel)
1284-
OR (Prod.Level3 = HFLevel and Prod.Sublevel2 is NULL or Prod.Level2 = HFLevel and Prod.Sublevel3=HFSublevel)
1285-
OR (Prod.Level4 = HFLevel and Prod.Sublevel2 is NULL or Prod.Level2 = HFLevel and Prod.Sublevel4=HFSublevel)
1286-
)
1287-
)
1288-
1289-
GROUP BY R.RegionName,D.DistrictName, HF.HFCode, HF.HFName, Prod.ProductCode, Prod.ProductName, Prod.AccCodeRemuneration, HF.AccCode
1290-
HAVING SUM(CDetails.RemuneratedAmount) > @MinRemunerated
1291-
END
1292-
GO
12931206

12941207
IF OBJECT_ID('uspSSRSPrimaryIndicators1', 'P') IS NOT NULL
12951208
DROP PROCEDURE uspSSRSPrimaryIndicators1
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
IF OBJECT_ID('uspSSRSProcessBatch', 'P') IS NOT NULL
2+
DROP PROCEDURE uspSSRSProcessBatch
3+
GO
4+
5+
CREATE PROCEDURE [dbo].[uspSSRSProcessBatch]
6+
(
7+
@LocationId INT = 0,
8+
@ProdID INT = 0,
9+
@RunID INT = 0,
10+
@HFID INT = 0,
11+
@HFLevel as Char(1) = '',
12+
@DateFrom DATE = '',
13+
@DateTo DATE = '',
14+
@MinRemunerated as decimal(18,2) = 0
15+
)
16+
AS
17+
BEGIN
18+
IF @LocationId=-1
19+
BEGIN
20+
SET @LocationId = NULL
21+
END
22+
23+
IF @DateFrom = '' OR @DateFrom IS NULL OR @DateTo = '' OR @DateTo IS NULL
24+
BEGIN
25+
SET @DateFrom = N'1900-01-01'
26+
SET @DateTo = N'3000-12-31'
27+
END
28+
29+
30+
;WITH CDetails AS
31+
(
32+
SELECT CI.ClaimId, CI.ProdId,
33+
SUM(ISNULL(CI.PriceApproved, CI.PriceAsked) * ISNULL(CI.QtyApproved, CI.QtyProvided)) PriceApproved,
34+
SUM(CI.PriceValuated) PriceAdjusted, SUM(CI.RemuneratedAmount)RemuneratedAmount
35+
FROM tblClaimItems CI
36+
WHERE CI.ValidityTo IS NULL
37+
AND CI.ClaimItemStatus = 1
38+
GROUP BY CI.ClaimId, CI.ProdId
39+
UNION ALL
40+
41+
SELECT CS.ClaimId, CS.ProdId,
42+
SUM(ISNULL(CS.PriceApproved, CS.PriceAsked) * ISNULL(CS.QtyApproved, CS.QtyProvided)) PriceApproved,
43+
SUM(CS.PriceValuated) PriceValuated, SUM(CS.RemuneratedAmount) RemuneratedAmount
44+
45+
FROM tblClaimServices CS
46+
WHERE CS.ValidityTo IS NULL
47+
AND CS.ClaimServiceStatus = 1
48+
GROUP BY CS.CLaimId, CS.ProdId
49+
)
50+
SELECT R.RegionName, D.DistrictName, HF.HFCode, HF.HFName, Prod.ProductCode, Prod.ProductName, SUM(CDetails.RemuneratedAmount)Remunerated, Prod.AccCodeRemuneration, HF.AccCode
51+
52+
FROM tblClaim C
53+
INNER JOIN tblInsuree I ON I.InsureeId = C.InsureeID
54+
INNER JOIN tblHF HF ON HF.HFID = C.HFID
55+
INNER JOIN CDetails ON CDetails.ClaimId = C.ClaimID
56+
INNER JOIN tblProduct Prod ON Prod.ProdId = CDetails.ProdID
57+
INNER JOIN tblFamilies F ON F.FamilyId = I.FamilyID
58+
INNER JOIN tblVillages V ON V.VillageID = F.LocationId
59+
INNER JOIN tblWards W ON W.WardId = V.WardId
60+
INNER JOIN tblDistricts D ON D.DistrictID = W.DistrictId
61+
INNER JOIN tblRegions R ON R.RegionId = D.Region
62+
63+
WHERE C.ValidityTo IS NULL
64+
AND (Prod.LocationId = @LocationId OR @LocationId = 0 OR Prod.LocationId IS NULL)
65+
AND(Prod.ProdId = @ProdId OR @ProdId = 0)
66+
AND (C.RunId = @RunId OR @RunId = 0)
67+
AND (HF.HFId = @HFID OR @HFId = 0)
68+
AND (HF.HFLevel = @HFLevel OR @HFLevel = N'')
69+
AND (C.DateTo BETWEEN @DateFrom AND @DateTo)
70+
-- TO AVOID DOUBLE COUNT WITH CAPITATION
71+
AND CONCAT(HF.HFLevel,'.',HF.HFSublevel) NOT IN (
72+
SELECT CONCAT(HFlevel,'.',HFSublevel)
73+
FROM (values ('H'), ('C'), ('D')) v(HFLevel)
74+
JOIN tblHFSublevel on 1=1
75+
INNER JOIN tblProduct Prod on prodid = @ProdID
76+
AND
77+
( (Prod.Level1 = HFLevel and Prod.Sublevel1 is NULL or Prod.Level1 = HFLevel and Prod.Sublevel1=HFSublevel)
78+
OR (Prod.Level2 = HFLevel and Prod.Sublevel2 is NULL or Prod.Level2 = HFLevel and Prod.Sublevel2=HFSublevel)
79+
OR (Prod.Level3 = HFLevel and Prod.Sublevel2 is NULL or Prod.Level2 = HFLevel and Prod.Sublevel3=HFSublevel)
80+
OR (Prod.Level4 = HFLevel and Prod.Sublevel2 is NULL or Prod.Level2 = HFLevel and Prod.Sublevel4=HFSublevel)
81+
)
82+
)
83+
84+
GROUP BY R.RegionName,D.DistrictName, HF.HFCode, HF.HFName, Prod.ProductCode, Prod.ProductName, Prod.AccCodeRemuneration, HF.AccCode
85+
HAVING SUM(CDetails.RemuneratedAmount) > @MinRemunerated
86+
END
87+
GO

0 commit comments

Comments
 (0)