Skip to content

Commit 9f4e52d

Browse files
Merge branch 'QAT-6307' into dev
2 parents 35ad88c + 9f2e1fc commit 9f4e52d

4 files changed

Lines changed: 57 additions & 10 deletions

File tree

src/main/java/cc/altius/FASP/dao/impl/ErpLinkingDaoImpl.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1787,8 +1787,11 @@ public int getNotificationCount(CustomUserDetails curUser) {
17871787
// System.out.println("ids%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" + programIds);
17881788
sql = "SELECT COUNT(*) FROM ( "
17891789
+ "SELECT n.`NOTIFICATION_ID` FROM rm_erp_notification n "
1790-
+ " LEFT JOIN rm_shipment_linking s ON s.SHIPMENT_LINKING_ID=n.SHIPMENT_LINKING_ID "
1791-
+ " WHERE n.`ACTIVE` AND s.ACTIVE AND n.`ADDRESSED`=0 AND s.`PROGRAM_ID` IN (" + programIds + ") GROUP BY n.`NOTIFICATION_ID` ) AS a;";
1790+
+ " LEFT JOIN rm_shipment_linking sl ON sl.SHIPMENT_LINKING_ID=n.SHIPMENT_LINKING_ID "
1791+
+ " left join rm_shipment s on s.SHIPMENT_ID=sl.CHILD_SHIPMENT_ID "
1792+
+ " left join rm_shipment_trans st on st.SHIPMENT_ID=s.SHIPMENT_ID and st.VERSION_ID=s.MAX_VERSION_ID "
1793+
+ " left join rm_program_planning_unit ppu on ppu.PROGRAM_ID = sl.PROGRAM_ID AND ppu.PLANNING_UNIT_ID=st.PLANNING_UNIT_ID "
1794+
+ " WHERE n.`ACTIVE` AND sl.ACTIVE AND n.`ADDRESSED`=0 AND sl.`PROGRAM_ID` IN (" + programIds + ") and ppu.PROGRAM_PLANNING_UNIT_ID IS NOT NULL and ppu.ACTIVE GROUP BY n.`NOTIFICATION_ID` ) AS a;";
17921795
return this.jdbcTemplate.queryForObject(sql, Integer.class);
17931796
}
17941797

@@ -1813,14 +1816,17 @@ public List<NotificationSummaryDTO> getNotificationSummary(CustomUserDetails cur
18131816
}
18141817
programIds = programIds.substring(0, programIds.lastIndexOf(","));
18151818
// System.out.println("ids 1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" + programIds);
1816-
sql = "SELECT s.`PROGRAM_ID`,p.`LABEL_ID`,p.`LABEL_EN`,p.`LABEL_FR`,p.`LABEL_SP`,p.`LABEL_PR`, "
1819+
sql = "SELECT sl.`PROGRAM_ID`,p.`LABEL_ID`,p.`LABEL_EN`,p.`LABEL_FR`,p.`LABEL_SP`,p.`LABEL_PR`, "
18171820
+ " COUNT(DISTINCT(n.`NOTIFICATION_ID`)) as NOTIFICATION_COUNT "
18181821
+ " FROM rm_erp_notification n "
1819-
+ " LEFT JOIN rm_shipment_linking s ON s.SHIPMENT_LINKING_ID=n.SHIPMENT_LINKING_ID "
1822+
+ " LEFT JOIN rm_shipment_linking sl ON sl.SHIPMENT_LINKING_ID=n.SHIPMENT_LINKING_ID "
18201823
+ " LEFT JOIN vw_program p ON p.`PROGRAM_ID`=s.`PROGRAM_ID` "
1821-
+ " WHERE n.`ACTIVE` AND s.ACTIVE AND n.`ADDRESSED`=0 "
1822-
+ " AND s.`PROGRAM_ID` IN (" + programIds + ") "
1823-
+ " GROUP BY s.`PROGRAM_ID` ;";
1824+
+ " left join rm_shipment s on s.SHIPMENT_ID=sl.CHILD_SHIPMENT_ID "
1825+
+ " left join rm_shipment_trans st on st.SHIPMENT_ID=s.SHIPMENT_ID and st.VERSION_ID=s.MAX_VERSION_ID "
1826+
+ " left join rm_program_planning_unit ppu on ppu.PROGRAM_ID = sl.PROGRAM_ID AND ppu.PLANNING_UNIT_ID=st.PLANNING_UNIT_ID "
1827+
+ " WHERE n.`ACTIVE` AND sl.ACTIVE AND n.`ADDRESSED`=0 and ppu.PROGRAM_PLANNING_UNIT_ID IS NOT NULL and ppu.ACTIVE "
1828+
+ " AND sl.`PROGRAM_ID` IN (" + programIds + ") "
1829+
+ " GROUP BY sl.`PROGRAM_ID` ;";
18241830
return this.jdbcTemplate.query(sql, new NotificationSummaryDTORowMapper());
18251831
}
18261832

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
2+
USE `fasp`;
3+
DROP procedure IF EXISTS `getShipmentLinkingNotifications`;
4+
5+
USE `fasp`;
6+
DROP procedure IF EXISTS `fasp`.`getShipmentLinkingNotifications`;
7+
;
8+
9+
DELIMITER $$
10+
USE `fasp`$$
11+
CREATE DEFINER=`faspUser`@`%` PROCEDURE `getShipmentLinkingNotifications`(PROGRAM_ID INT(10), VERSION_ID INT (10))
12+
BEGIN
13+
SET @programId = PROGRAM_ID;
14+
SET @procurementAgentId = 1;
15+
SET @versionId = VERSION_ID;
16+
IF @versionId = -1 THEN
17+
SELECT MAX(pv.VERSION_ID) INTO @versionId FROM rm_program_version pv WHERE pv.PROGRAM_ID=@programId;
18+
END IF;
19+
20+
SELECT
21+
n.`NOTIFICATION_ID`, n.`ADDRESSED`,n.`SHIPMENT_LINKING_ID`,n.NOTIFICATION_TYPE_ID,nt.LABEL_ID,nt.LABEL_EN,nt.LABEL_FR,nt.LABEL_SP,nt.LABEL_PR
22+
FROM rm_erp_notification n
23+
LEFT JOIN vw_notification_type nt ON n.NOTIFICATION_TYPE_ID=nt.NOTIFICATION_TYPE_ID
24+
left join rm_shipment_linking sl on sl.SHIPMENT_LINKING_ID=n.SHIPMENT_LINKING_ID
25+
left join rm_shipment_linking_trans slt on slt.SHIPMENT_LINKING_ID=sl.SHIPMENT_LINKING_ID and slt.VERSION_ID<=@versionId
26+
left join rm_shipment s on s.SHIPMENT_ID=sl.CHILD_SHIPMENT_ID
27+
left join rm_shipment_trans st on st.SHIPMENT_ID=s.SHIPMENT_ID and st.VERSION_ID=s.MAX_VERSION_ID
28+
left join rm_program_planning_unit ppu on ppu.PROGRAM_ID = sl.PROGRAM_ID AND ppu.PLANNING_UNIT_ID=st.PLANNING_UNIT_ID
29+
WHERE
30+
n.ACTIVE AND sl.ACTIVE and sl.PROGRAM_ID=@programId and slt.VERSION_ID<=@versionId and ppu.PROGRAM_PLANNING_UNIT_ID IS NOT NULL and ppu.ACTIVE
31+
GROUP BY n.NOTIFICATION_ID
32+
ORDER BY n.ADDRESSED DESC, n.NOTIFICATION_ID;
33+
END$$
34+
35+
DELIMITER ;
36+
;
37+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
20260326-QAT-6307.sql

src/main/resources/storedProcedures/getShipmentLinkingNotifications.sql

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CREATE DEFINER=`faspUser`@`localhost` PROCEDURE `getShipmentLinkingNotifications`(PROGRAM_ID INT(10), PLANNING_UNIT_ID TEXT, VERSION_ID INT (10))
1+
CREATE DEFINER=`faspUser`@`localhost` PROCEDURE `getShipmentLinkingNotifications`(PROGRAM_ID INT(10), VERSION_ID INT (10))
22
BEGIN
33
SET @programId = PROGRAM_ID;
44
SET @procurementAgentId = 1;
@@ -13,8 +13,11 @@ FROM rm_erp_notification n
1313
LEFT JOIN vw_notification_type nt ON n.NOTIFICATION_TYPE_ID=nt.NOTIFICATION_TYPE_ID
1414
left join rm_shipment_linking sl on sl.SHIPMENT_LINKING_ID=n.SHIPMENT_LINKING_ID
1515
left join rm_shipment_linking_trans slt on slt.SHIPMENT_LINKING_ID=sl.SHIPMENT_LINKING_ID and slt.VERSION_ID<=@versionId
16+
left join rm_shipment s on s.SHIPMENT_ID=sl.CHILD_SHIPMENT_ID
17+
left join rm_shipment_trans st on st.SHIPMENT_ID=s.SHIPMENT_ID and st.VERSION_ID=s.MAX_VERSION_ID
18+
left join rm_program_planning_unit ppu on ppu.PROGRAM_ID = sl.PROGRAM_ID AND ppu.PLANNING_UNIT_ID=st.PLANNING_UNIT_ID
1619
WHERE
17-
n.ACTIVE AND sl.ACTIVE and sl.PROGRAM_ID=@programId and slt.VERSION_ID<=@versionId
20+
n.ACTIVE AND sl.ACTIVE and sl.PROGRAM_ID=@programId and slt.VERSION_ID<=@versionId and ppu.PROGRAM_PLANNING_UNIT_ID IS NOT NULL and ppu.ACTIVE
1821
GROUP BY n.NOTIFICATION_ID
1922
ORDER BY n.ADDRESSED DESC, n.NOTIFICATION_ID;
20-
END
23+
END

0 commit comments

Comments
 (0)