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) {
|
if ($this->db->trans_status() === FALSE) {
|
||||||
$this->db->trans_rollback();
|
$this->db->trans_rollback();
|
||||||
$this->sys_error("Transaction Failed");
|
$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