Sync mcu project from mgm mcu
This commit is contained in:
@@ -591,6 +591,25 @@ class Preregisterv3 extends MY_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$qry_sync_project = $this->db->query(
|
||||
"CALL cpone.sp_upsert_mcu_project_by_mgm_mcuid(?)",
|
||||
array(intval($prm['xid']))
|
||||
);
|
||||
if (!$qry_sync_project) {
|
||||
$last_qry = $this->db->last_query();
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error("call sp_upsert_mcu_project_by_mgm_mcuid : " . $last_qry);
|
||||
exit;
|
||||
}
|
||||
if (isset($this->db->conn_id) && $this->db->conn_id instanceof mysqli) {
|
||||
while ($this->db->conn_id->more_results() && $this->db->conn_id->next_result()) {
|
||||
$dummyResult = $this->db->conn_id->store_result();
|
||||
if ($dummyResult instanceof mysqli_result) {
|
||||
$dummyResult->free();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->db->trans_status() === FALSE) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error("Transaction Failed");
|
||||
|
||||
51
scripts/sql/2026-05-05_create_sp_upsert_mcu_project.sql
Normal file
51
scripts/sql/2026-05-05_create_sp_upsert_mcu_project.sql
Normal file
@@ -0,0 +1,51 @@
|
||||
DROP PROCEDURE IF EXISTS cpone.sp_upsert_mcu_project_by_mgm_mcuid;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE cpone.sp_upsert_mcu_project_by_mgm_mcuid(IN p_mgm_mcuid INT)
|
||||
BEGIN
|
||||
INSERT INTO cpone_dashboard.mcu_project (
|
||||
Mcu_ProjectMcuID,
|
||||
Mcu_ProjectCorporateID,
|
||||
Mcu_ProjectCorporateName,
|
||||
Mcu_ProjectNumber,
|
||||
Mcu_ProjectLabel,
|
||||
Mcu_ProjectBranchID,
|
||||
Mcu_ProjectStartDate,
|
||||
Mcu_ProjectEndDate,
|
||||
Mcu_ProjectIsActive,
|
||||
Mcu_ProjectTotalParticipant,
|
||||
Mcu_ProjectSyncedAt
|
||||
)
|
||||
SELECT
|
||||
mm.Mgm_McuID,
|
||||
mm.Mgm_McuCorporateID,
|
||||
c.CorporateName AS Mcu_ProjectCorporateName,
|
||||
mm.Mgm_McuNumber,
|
||||
mm.Mgm_McuLabel,
|
||||
mm.Mgm_McuM_BranchID,
|
||||
NULLIF(mm.Mgm_McuStartDate, '0000-00-00') AS Mcu_ProjectStartDate,
|
||||
NULLIF(mm.Mgm_McuEndDate, '0000-00-00') AS Mcu_ProjectEndDate,
|
||||
mm.Mgm_McuIsActive,
|
||||
(
|
||||
SELECT COUNT(*)
|
||||
FROM cpone.mcu_preregister_patients pp
|
||||
WHERE pp.Mcu_PreregisterPatientsMgm_McuID = mm.Mgm_McuID
|
||||
) AS Mcu_ProjectTotalParticipant,
|
||||
NOW() AS Mcu_ProjectSyncedAt
|
||||
FROM cpone.mgm_mcu mm
|
||||
LEFT JOIN cpone.corporate c
|
||||
ON c.CorporateID = mm.Mgm_McuCorporateID
|
||||
WHERE mm.Mgm_McuID = p_mgm_mcuid
|
||||
ON DUPLICATE KEY UPDATE
|
||||
Mcu_ProjectCorporateID = VALUES(Mcu_ProjectCorporateID),
|
||||
Mcu_ProjectCorporateName = VALUES(Mcu_ProjectCorporateName),
|
||||
Mcu_ProjectNumber = VALUES(Mcu_ProjectNumber),
|
||||
Mcu_ProjectLabel = VALUES(Mcu_ProjectLabel),
|
||||
Mcu_ProjectBranchID = VALUES(Mcu_ProjectBranchID),
|
||||
Mcu_ProjectStartDate = VALUES(Mcu_ProjectStartDate),
|
||||
Mcu_ProjectEndDate = VALUES(Mcu_ProjectEndDate),
|
||||
Mcu_ProjectIsActive = VALUES(Mcu_ProjectIsActive),
|
||||
Mcu_ProjectTotalParticipant = VALUES(Mcu_ProjectTotalParticipant),
|
||||
Mcu_ProjectSyncedAt = NOW();
|
||||
|
||||
END$$
|
||||
DELIMITER ;
|
||||
@@ -0,0 +1,19 @@
|
||||
DROP TRIGGER IF EXISTS cpone.trg_mgm_mcu_ai_sync_mcu_project;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER cpone.trg_mgm_mcu_ai_sync_mcu_project
|
||||
AFTER INSERT ON cpone.mgm_mcu
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
CALL cpone.sp_upsert_mcu_project_by_mgm_mcuid(NEW.Mgm_McuID);
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
||||
DROP TRIGGER IF EXISTS cpone.trg_mgm_mcu_au_sync_mcu_project;
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER cpone.trg_mgm_mcu_au_sync_mcu_project
|
||||
AFTER UPDATE ON cpone.mgm_mcu
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
CALL cpone.sp_upsert_mcu_project_by_mgm_mcuid(NEW.Mgm_McuID);
|
||||
END$$
|
||||
DELIMITER ;
|
||||
Reference in New Issue
Block a user