edit query
This commit is contained in:
@@ -101,7 +101,7 @@ func (tdps *TabDaftarPesertaServices) GetReportMcu(orderheaderID string) ([]mode
|
||||
ORDER BY So_ResultEntryNonlab_TemplateID
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, orderheaderID); err != nil {
|
||||
return ret, err
|
||||
return ret, fmt.Errorf("error get mcu report: %v", err)
|
||||
}
|
||||
|
||||
// Lab
|
||||
@@ -144,3 +144,98 @@ func (tdps *TabDaftarPesertaServices) GetReportMcu(orderheaderID string) ([]mode
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func (tdps *TabDaftarPesertaServices) GetListReportPeserta(orderheaderID string, host string) ([]models.TabViewReportMcu, error) {
|
||||
var ret []models.TabViewReportMcu
|
||||
var data []models.ModelMcuPesertaReport
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
So_ResultEntryID,
|
||||
So_ResultEntryT_OrderHeaderID,
|
||||
So_ResultEntryNonlab_TemplateID,
|
||||
So_ResultEntryNonlab_TemplateName,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM so_resultentry
|
||||
WHERE So_ResultEntryT_OrderHeaderID = ?
|
||||
AND So_ResultEntryIsActive = 'Y'
|
||||
ORDER BY So_ResultEntryNonlab_TemplateID
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, orderheaderID); err != nil {
|
||||
return ret, fmt.Errorf("error get mcu report : %v", err)
|
||||
}
|
||||
|
||||
var tabdata []models.OrderReport
|
||||
q = `
|
||||
SELECT
|
||||
M_OrderReportID,
|
||||
M_OrderReportName,
|
||||
M_OrderReportOrdering,
|
||||
M_OrderReportUrl,
|
||||
M_OrderReportIsOrderHeader,
|
||||
M_OrderReportIsFisikUmum,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM m_order_report
|
||||
WHERE
|
||||
M_OrderReportIsActive = 'Y'
|
||||
AND (
|
||||
M_OrderReportName LIKE "%Hasil Laboratorium%"
|
||||
OR
|
||||
M_OrderReportName LIKE "%Resume Individu%"
|
||||
`
|
||||
|
||||
temParam := map[string]int{}
|
||||
for _, d := range data {
|
||||
switch d.So_ResultEntryNonlab_TemplateName {
|
||||
case "ECG":
|
||||
q = q + `OR M_OrderReportName LIKE "%Elektromedis%"`
|
||||
temParam["Elektromedis"] = d.So_ResultEntryID
|
||||
case "Thorax PA":
|
||||
q = q + `OR M_OrderReportName LIKE "%Radiologi%"`
|
||||
temParam["Radiologi"] = d.So_ResultEntryID
|
||||
case "Audiometri":
|
||||
q = q + `OR M_OrderReportName LIKE "%Audiometri%"`
|
||||
temParam["Audiometri"] = d.So_ResultEntryID
|
||||
case "Spirometri":
|
||||
q = q + `OR M_OrderReportName LIKE "%Spirometri%"`
|
||||
temParam["Spirometri"] = d.So_ResultEntryID
|
||||
case "Fisik Umum":
|
||||
q = q + `OR M_OrderReportIsFisikUmum = 'Y'`
|
||||
temParam["Fisik Umum"] = d.So_ResultEntryID
|
||||
default:
|
||||
q = q + `OR M_OrderReportName LIKE "%` + d.So_ResultEntryNonlab_TemplateName + `%"`
|
||||
temParam[d.So_ResultEntryNonlab_TemplateName] = d.So_ResultEntryID
|
||||
}
|
||||
}
|
||||
q = q + `) ORDER BY M_OrderReportOrdering ASC`
|
||||
if err := dbx.Handlex.Select(&tabdata, q); err != nil {
|
||||
return ret, fmt.Errorf("error get link mcu report: %v", err)
|
||||
}
|
||||
|
||||
if host == "localhost:5000" {
|
||||
host = "https://devcpone.aplikasi.web.id"
|
||||
}
|
||||
|
||||
for _, t := range tabdata {
|
||||
if t.M_OrderReportIsFisikUmum == "Y" {
|
||||
id := strconv.Itoa(temParam["Fisik Umum"])
|
||||
ret = append(ret, models.TabViewReportMcu{
|
||||
Name: t.M_OrderReportName,
|
||||
Link: host + t.M_OrderReportUrl + id + "&tm=" + t.Datetime,
|
||||
})
|
||||
} else if t.M_OrderReportIsOrderHeader != "Y" {
|
||||
id := strconv.Itoa(temParam[t.M_OrderReportName])
|
||||
ret = append(ret, models.TabViewReportMcu{
|
||||
Name: t.M_OrderReportName,
|
||||
Link: host + t.M_OrderReportUrl + id + "&tm=" + t.Datetime,
|
||||
})
|
||||
} else {
|
||||
ret = append(ret, models.TabViewReportMcu{
|
||||
Name: t.M_OrderReportName,
|
||||
Link: host + t.M_OrderReportUrl + orderheaderID + "&tm=" + t.Datetime,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
@@ -219,3 +219,98 @@ func (sp *PatientServices) GetReportMcu(orderheaderID string) ([]models.TabViewR
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func (tdps *PatientServices) GetListReportPeserta(orderheaderID string, host string) ([]models.TabViewReportMcu, error) {
|
||||
var ret []models.TabViewReportMcu
|
||||
var data []models.ModelMcuPesertaReport
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
So_ResultEntryID,
|
||||
So_ResultEntryT_OrderHeaderID,
|
||||
So_ResultEntryNonlab_TemplateID,
|
||||
So_ResultEntryNonlab_TemplateName,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM so_resultentry
|
||||
WHERE So_ResultEntryT_OrderHeaderID = ?
|
||||
AND So_ResultEntryIsActive = 'Y'
|
||||
ORDER BY So_ResultEntryNonlab_TemplateID
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, orderheaderID); err != nil {
|
||||
return ret, fmt.Errorf("error get mcu report : %v", err)
|
||||
}
|
||||
|
||||
var tabdata []models.OrderReport
|
||||
q = `
|
||||
SELECT
|
||||
M_OrderReportID,
|
||||
M_OrderReportName,
|
||||
M_OrderReportOrdering,
|
||||
M_OrderReportUrl,
|
||||
M_OrderReportIsOrderHeader,
|
||||
M_OrderReportIsFisikUmum,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM m_order_report
|
||||
WHERE
|
||||
M_OrderReportIsActive = 'Y'
|
||||
AND (
|
||||
M_OrderReportName LIKE "%Hasil Laboratorium%"
|
||||
OR
|
||||
M_OrderReportName LIKE "%Resume Individu%"
|
||||
`
|
||||
|
||||
temParam := map[string]int{}
|
||||
for _, d := range data {
|
||||
switch d.So_ResultEntryNonlab_TemplateName {
|
||||
case "ECG":
|
||||
q = q + `OR M_OrderReportName LIKE "%Elektromedis%"`
|
||||
temParam["Elektromedis"] = d.So_ResultEntryID
|
||||
case "Thorax PA":
|
||||
q = q + `OR M_OrderReportName LIKE "%Radiologi%"`
|
||||
temParam["Radiologi"] = d.So_ResultEntryID
|
||||
case "Audiometri":
|
||||
q = q + `OR M_OrderReportName LIKE "%Audiometri%"`
|
||||
temParam["Audiometri"] = d.So_ResultEntryID
|
||||
case "Spirometri":
|
||||
q = q + `OR M_OrderReportName LIKE "%Spirometri%"`
|
||||
temParam["Spirometri"] = d.So_ResultEntryID
|
||||
case "Fisik Umum":
|
||||
q = q + `OR M_OrderReportIsFisikUmum = 'Y'`
|
||||
temParam["Fisik Umum"] = d.So_ResultEntryID
|
||||
default:
|
||||
q = q + `OR M_OrderReportName LIKE "%` + d.So_ResultEntryNonlab_TemplateName + `%"`
|
||||
temParam[d.So_ResultEntryNonlab_TemplateName] = d.So_ResultEntryID
|
||||
}
|
||||
}
|
||||
q = q + `) ORDER BY M_OrderReportOrdering ASC`
|
||||
if err := dbx.Handlex.Select(&tabdata, q); err != nil {
|
||||
return ret, fmt.Errorf("error get link mcu report: %v", err)
|
||||
}
|
||||
|
||||
if host == "localhost:5000" {
|
||||
host = "https://devcpone.aplikasi.web.id"
|
||||
}
|
||||
|
||||
for _, t := range tabdata {
|
||||
if t.M_OrderReportIsFisikUmum == "Y" {
|
||||
id := strconv.Itoa(temParam["Fisik Umum"])
|
||||
ret = append(ret, models.TabViewReportMcu{
|
||||
Name: t.M_OrderReportName,
|
||||
Link: host + t.M_OrderReportUrl + id + "&tm=" + t.Datetime,
|
||||
})
|
||||
} else if t.M_OrderReportIsOrderHeader != "Y" {
|
||||
id := strconv.Itoa(temParam[t.M_OrderReportName])
|
||||
ret = append(ret, models.TabViewReportMcu{
|
||||
Name: t.M_OrderReportName,
|
||||
Link: host + t.M_OrderReportUrl + id + "&tm=" + t.Datetime,
|
||||
})
|
||||
} else {
|
||||
ret = append(ret, models.TabViewReportMcu{
|
||||
Name: t.M_OrderReportName,
|
||||
Link: host + t.M_OrderReportUrl + orderheaderID + "&tm=" + t.Datetime,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user