add nama paket di tabel daftar peserta

This commit is contained in:
2024-08-08 16:20:53 +07:00
parent 02d5f2e39e
commit 19e3269a6a
8 changed files with 174 additions and 92 deletions

View File

@@ -26,7 +26,6 @@ func NewTabDaftarPesertaServices(uStore db.AppStore) *TabDaftarPesertaServices {
}
func (tdps *TabDaftarPesertaServices) GetListDaftarPesertaMCU(id string, currentpage int, rowperpage int) ([]models.ModelMcuDaftarPeserta, int, error) {
logger, _ := zap.NewProduction()
var listDaftarPeserta []models.ModelMcuDaftarPeserta
var totalData int
offset := (currentpage - 1) * rowperpage
@@ -41,7 +40,9 @@ func (tdps *TabDaftarPesertaServices) GetListDaftarPesertaMCU(id string, current
return nil, 0, fmt.Errorf("error querying database: %v", err)
}
query := `SELECT T_OrderHeaderID,
query := `
SELECT
T_OrderHeaderID,
T_OrderHeaderDate,
IFNULL(T_OrderHeaderLabNumber, 0) AS T_OrderHeaderLabNumber,
T_OrderHeaderM_PatientAge,
@@ -50,34 +51,33 @@ func (tdps *TabDaftarPesertaServices) GetListDaftarPesertaMCU(id string, current
M_PatientName,
M_PatientGender,
CASE
WHEN M_PatientGender = 'male' THEN 'Laki - Laki'
WHEN M_PatientGender = 'female' THEN 'Perempuan'
ELSE ' '
WHEN M_PatientGender = 'male' THEN 'Laki - Laki'
WHEN M_PatientGender = 'female' THEN 'Perempuan'
ELSE ' '
END AS jenisKelamin,
M_PatientDOB,
FLOOR(DATEDIFF(CURDATE(), M_PatientDOB)/ 365.25) AS age,
IFNULL(authPatientEmail, "none") AS authPatientEmail,
IFNULL(authPatientIsActive, "N") AS authPatientIsActive
IFNULL(authPatientIsActive, "N") AS authPatientIsActive,
CASE
WHEN T_OrderDetailOrderIsPacket = 'Y' THEN T_OrderDetailOrderT_PacketName
ELSE T_OrderDetailOrderT_TestName
END AS nama_paket
FROM t_orderheader
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
AND M_PatientIsActive = 'Y'
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID
AND T_OrderDetailOrderIsActive = 'Y'
LEFT JOIN auth_patient ON M_PatientID = authPatientM_PatientID AND authPatientIsActive = 'Y'
WHERE T_OrderHeaderIsActive = 'Y' AND T_OrderHeaderMgm_McuID = ?
ORDER BY T_OrderHeaderLabNumber ASC
LIMIT ? OFFSET ?`
LIMIT ? OFFSET ?
`
if err := dbx.Handlex.Select(&listDaftarPeserta, query, id, rowperpage, offset); err != nil {
return nil, 0, fmt.Errorf("error querying database: %v", err)
}
totalPage := int(math.Ceil(float64(totalData) / float64(rowperpage)))
defer logger.Sync()
// logger.Info("GET DATA PESERTA",
// zap.Any("id", id),
// zap.Any("total data", totalData),
// zap.Any("peserta", listDaftarPeserta),
// )
return listDaftarPeserta, totalPage, nil
}