v4 list rpt pat & pic
This commit is contained in:
@@ -351,3 +351,156 @@ func (tdps *TabDaftarPesertaServices) GetListReportPesertaV3(orderheaderID strin
|
||||
|
||||
return returnTab, nil
|
||||
}
|
||||
|
||||
func (tdps *TabDaftarPesertaServices) GetListReportPesertaV4(orderheaderID string, staffname string) ([]models.TabViewReportMcu, error) {
|
||||
var returnTab []models.TabViewReportMcu
|
||||
|
||||
var profile_patient models.PatientMCU
|
||||
lab_rpt := ""
|
||||
|
||||
sql := `
|
||||
SELECT
|
||||
toh.T_OrderHeaderID,
|
||||
toh.T_OrderHeaderLabNumber,
|
||||
mp.M_PatientID,
|
||||
mp.M_PatientName,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderheader toh
|
||||
JOIN m_patient mp ON toh.T_OrderHeaderM_PatientID = mp.M_PatientID
|
||||
AND mp.M_PatientIsActive = 'Y'
|
||||
WHERE toh.T_OrderHeaderID = ? AND toh.T_OrderHeaderIsActive = 'Y'
|
||||
`
|
||||
if err := dbx.Handlex.Get(&profile_patient, sql, orderheaderID); err != nil {
|
||||
return returnTab, fmt.Errorf("error get group result order: %v", err)
|
||||
}
|
||||
if profile_patient.T_OrderHeaderLabNumber != "" {
|
||||
lab_rpt = "/birt/frameset?__report=report/one/lab/rpt_test_portal.rptdesign&__format=pdf&PID=" + profile_patient.T_OrderHeaderID + "&tm=" + profile_patient.Datetime + "&username=" + staffname
|
||||
}
|
||||
|
||||
var so_data_rpt []models.SoRptData
|
||||
fisik := ""
|
||||
rontgen := ""
|
||||
ekg := ""
|
||||
audiometri := ""
|
||||
spirometri := ""
|
||||
treadmill := ""
|
||||
papsmear := ""
|
||||
|
||||
sql_rpt := `
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'N' AND Group_ResultName <> 'LAB' AND Group_ResultFlagNonLab = 'N'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND Group_ResultName <> 'Tanpa Hasil'
|
||||
UNION
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
||||
JOIN t_samplingso ON T_SamplingSoT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND
|
||||
T_SamplingSoT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'N' AND Group_ResultName <> 'LAB' AND Group_ResultFlagNonLab = 'Y'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND Group_ResultName <> 'Tanpa Hasil'
|
||||
UNION
|
||||
SELECT DISTINCT T_TestName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestName NOT IN ('Visus Mata','Buta Warna','Pemeriksaan Lapang Pandang')
|
||||
JOIN t_samplingso ON T_SamplingSoT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND
|
||||
T_SamplingSoT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'Y' AND Group_ResultFlagNonLab = 'Y'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND Group_ResultName <> 'Tanpa Hasil'
|
||||
`
|
||||
if err := dbx.Handlex.Select(&so_data_rpt, sql_rpt, orderheaderID, orderheaderID, orderheaderID); err != nil {
|
||||
return returnTab, fmt.Errorf("error get data so_id: %v", err)
|
||||
}
|
||||
|
||||
for _, d := range so_data_rpt {
|
||||
switch d.Rpt_name {
|
||||
case "Pemeriksaan Fisik":
|
||||
fisik = "/birt/frameset?__report=report/one/mcu/mcu_fisik_history_v2_portal.rptdesign&__format=pdf&PType=fisik&PLang=1&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "Rontgen":
|
||||
rontgen = "/birt/frameset?__report=report/one/lab/rpt_hasil_so_xray_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "Audiometri":
|
||||
audiometri = "/birt/frameset?__report=report/one/lab/rpt_hasil_so_audiometri_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "Spirometri":
|
||||
spirometri = "/birt/frameset?__report=report/one/lab/rpt_hasil_so_spirometri_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "ECG":
|
||||
ekg = "/birt/frameset?__report=report/one/lab/rpt_hasil_so_ecg_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "Treadmill":
|
||||
treadmill = "/birt/frameset?__report=report/one/lab/rpt_hasil_so_treadmill_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "Papsmear":
|
||||
papsmear = "/birt/frameset?__report=report/one/lab/rpt_test_papsmear_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
}
|
||||
}
|
||||
|
||||
var ResumeData models.ResumeMCU
|
||||
kesimpulan := ""
|
||||
// cover := ""
|
||||
|
||||
sql_resume := `
|
||||
SELECT
|
||||
Mcu_ResumeID,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM mcu_resume
|
||||
WHERE Mcu_ResumeT_OrderHeaderID = ?
|
||||
AND Mcu_ResumeIsActive = 'Y' AND Mcu_ResumeStatus = 'VAL'
|
||||
`
|
||||
if err := dbx.Handlex.Get(&ResumeData, sql_resume, orderheaderID); err != nil {
|
||||
return returnTab, fmt.Errorf("error get data resume id: %v", err)
|
||||
}
|
||||
|
||||
if ResumeData.Mcu_ResumeID != "" {
|
||||
// cover = "/birt/frameset?__report=report/one/mcu/rpt_mcu_resume_cover_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + ResumeData.Mcu_ResumeID + "&tm=" + ResumeData.Datetime
|
||||
kesimpulan = "/birt/frameset?__report=report/one/mcu/rpt_mcu_saran_kesimpulan_v2_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + ResumeData.Mcu_ResumeID + "&tm=" + ResumeData.Datetime
|
||||
}
|
||||
|
||||
if fisik != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Fisik", Link: fisik})
|
||||
}
|
||||
if rontgen != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Rontgen", Link: rontgen})
|
||||
}
|
||||
if ekg != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Elektromedik", Link: ekg})
|
||||
}
|
||||
if audiometri != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Audiometri", Link: audiometri})
|
||||
}
|
||||
if spirometri != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Spirometri", Link: spirometri})
|
||||
}
|
||||
if treadmill != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Treadmill", Link: treadmill})
|
||||
}
|
||||
if kesimpulan != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Kesimpulan", Link: kesimpulan})
|
||||
}
|
||||
if lab_rpt != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Lab", Link: lab_rpt})
|
||||
}
|
||||
if papsmear != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Papsmear", Link: papsmear})
|
||||
}
|
||||
|
||||
return returnTab, nil
|
||||
}
|
||||
|
||||
@@ -440,7 +440,7 @@ func (tknl *TabKelainanNonLabServices) GetAutospirometri(mcuID string) (models.B
|
||||
return option, fmt.Errorf("error get data autspirometri %v", err)
|
||||
}
|
||||
|
||||
title := "Autospirometri"
|
||||
title := "Spirometri"
|
||||
option, err := tknl.ConfBarchartVertical(title, data)
|
||||
if err != nil {
|
||||
return option, fmt.Errorf("error insert data into chart %v", err)
|
||||
|
||||
@@ -216,3 +216,156 @@ func (sp *PatientServices) GetListReportPesertaV3(orderheaderID string, staffnam
|
||||
|
||||
return returnTab, nil
|
||||
}
|
||||
|
||||
func (sp *PatientServices) GetListReportPesertaV4(orderheaderID string, staffname string) ([]models.TabViewReportMcu, error) {
|
||||
var returnTab []models.TabViewReportMcu
|
||||
|
||||
var profile_patient models.PatientMCU
|
||||
lab_rpt := ""
|
||||
|
||||
sql := `
|
||||
SELECT
|
||||
toh.T_OrderHeaderID,
|
||||
toh.T_OrderHeaderLabNumber,
|
||||
mp.M_PatientID,
|
||||
mp.M_PatientName,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderheader toh
|
||||
JOIN m_patient mp ON toh.T_OrderHeaderM_PatientID = mp.M_PatientID
|
||||
AND mp.M_PatientIsActive = 'Y'
|
||||
WHERE toh.T_OrderHeaderID = ? AND toh.T_OrderHeaderIsActive = 'Y'
|
||||
`
|
||||
if err := dbx.Handlex.Get(&profile_patient, sql, orderheaderID); err != nil {
|
||||
return returnTab, fmt.Errorf("error get group result order: %v", err)
|
||||
}
|
||||
if profile_patient.T_OrderHeaderLabNumber != "" {
|
||||
lab_rpt = "/birt/frameset?__report=report/one/lab/rpt_test_portal.rptdesign&__format=pdf&PID=" + profile_patient.T_OrderHeaderID + "&tm=" + profile_patient.Datetime + "&username=" + staffname
|
||||
}
|
||||
|
||||
var so_data_rpt []models.SoRptData
|
||||
fisik := ""
|
||||
rontgen := ""
|
||||
ekg := ""
|
||||
audiometri := ""
|
||||
spirometri := ""
|
||||
treadmill := ""
|
||||
papsmear := ""
|
||||
|
||||
sql_rpt := `
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'N' AND Group_ResultName <> 'LAB' AND Group_ResultFlagNonLab = 'N'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND Group_ResultName <> 'Tanpa Hasil'
|
||||
UNION
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
||||
JOIN t_samplingso ON T_SamplingSoT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND
|
||||
T_SamplingSoT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'N' AND Group_ResultName <> 'LAB' AND Group_ResultFlagNonLab = 'Y'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND Group_ResultName <> 'Tanpa Hasil'
|
||||
UNION
|
||||
SELECT DISTINCT T_TestName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestName NOT IN ('Visus Mata','Buta Warna','Pemeriksaan Lapang Pandang')
|
||||
JOIN t_samplingso ON T_SamplingSoT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND
|
||||
T_SamplingSoT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'Y' AND Group_ResultFlagNonLab = 'Y'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND Group_ResultName <> 'Tanpa Hasil'
|
||||
`
|
||||
if err := dbx.Handlex.Select(&so_data_rpt, sql_rpt, orderheaderID, orderheaderID, orderheaderID); err != nil {
|
||||
return returnTab, fmt.Errorf("error get data so_id: %v", err)
|
||||
}
|
||||
|
||||
for _, d := range so_data_rpt {
|
||||
switch d.Rpt_name {
|
||||
case "Pemeriksaan Fisik":
|
||||
fisik = "/birt/frameset?__report=report/one/mcu/mcu_fisik_history_v2_portal.rptdesign&__format=pdf&PType=fisik&PLang=1&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "Rontgen":
|
||||
rontgen = "/birt/frameset?__report=report/one/lab/rpt_hasil_so_xray_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "Audiometri":
|
||||
audiometri = "/birt/frameset?__report=report/one/lab/rpt_hasil_so_audiometri_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "Spirometri":
|
||||
spirometri = "/birt/frameset?__report=report/one/lab/rpt_hasil_so_spirometri_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "ECG":
|
||||
ekg = "/birt/frameset?__report=report/one/lab/rpt_hasil_so_ecg_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "Treadmill":
|
||||
treadmill = "/birt/frameset?__report=report/one/lab/rpt_hasil_so_treadmill_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
case "Papsmear":
|
||||
papsmear = "/birt/frameset?__report=report/one/lab/rpt_test_papsmear_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + d.So_id + "&tm=" + d.Datetime
|
||||
}
|
||||
}
|
||||
|
||||
var ResumeData models.ResumeMCU
|
||||
kesimpulan := ""
|
||||
// cover := ""
|
||||
|
||||
sql_resume := `
|
||||
SELECT
|
||||
Mcu_ResumeID,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM mcu_resume
|
||||
WHERE Mcu_ResumeT_OrderHeaderID = ?
|
||||
AND Mcu_ResumeIsActive = 'Y' AND Mcu_ResumeStatus = 'VAL'
|
||||
`
|
||||
if err := dbx.Handlex.Get(&ResumeData, sql_resume, orderheaderID); err != nil {
|
||||
return returnTab, fmt.Errorf("error get data resume id: %v", err)
|
||||
}
|
||||
|
||||
if ResumeData.Mcu_ResumeID != "" {
|
||||
// cover = "/birt/frameset?__report=report/one/mcu/rpt_mcu_resume_cover_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + ResumeData.Mcu_ResumeID + "&tm=" + ResumeData.Datetime
|
||||
kesimpulan = "/birt/frameset?__report=report/one/mcu/rpt_mcu_saran_kesimpulan_v2_portal.rptdesign&__format=pdf&username=" + staffname + "&PID=" + ResumeData.Mcu_ResumeID + "&tm=" + ResumeData.Datetime
|
||||
}
|
||||
|
||||
if fisik != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Fisik", Link: fisik})
|
||||
}
|
||||
if rontgen != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Rontgen", Link: rontgen})
|
||||
}
|
||||
if ekg != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Elektromedik", Link: ekg})
|
||||
}
|
||||
if audiometri != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Audiometri", Link: audiometri})
|
||||
}
|
||||
if spirometri != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Spirometri", Link: spirometri})
|
||||
}
|
||||
if treadmill != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Treadmill", Link: treadmill})
|
||||
}
|
||||
if kesimpulan != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Kesimpulan", Link: kesimpulan})
|
||||
}
|
||||
if lab_rpt != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Lab", Link: lab_rpt})
|
||||
}
|
||||
if papsmear != "" {
|
||||
returnTab = append(returnTab, models.TabViewReportMcu{Name: "Papsmear", Link: papsmear})
|
||||
}
|
||||
|
||||
return returnTab, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user