edit query
This commit is contained in:
@@ -14,6 +14,7 @@ import (
|
||||
type TabDaftarPesertaServices interface {
|
||||
GetListMcuDaftarPeserta(id string, currentpage int, rowperpage int) ([]models.ModelMcuDaftarPeserta, int, error)
|
||||
GetReportMcu(orderheaderID string) ([]models.TabViewReportMcu, error)
|
||||
GetListReportPeserta(orderheaderID string, host string) ([]models.TabViewReportMcu, error)
|
||||
}
|
||||
|
||||
type TabDaftarPesertaHandlers struct {
|
||||
@@ -170,13 +171,25 @@ func (tdp *TabDaftarPesertaHandlers) HandlePagination(c echo.Context) error {
|
||||
|
||||
func (tdp *TabDaftarPesertaHandlers) HandleOpenReportDialog(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
host := c.Request().Host
|
||||
|
||||
idx := c.QueryParam("idx")
|
||||
dialogReportID := c.QueryParam("dialogReportID")
|
||||
dialogReportBodyID := c.QueryParam("dialogReportBodyID")
|
||||
logger.Info("params", zap.Any("idx", idx))
|
||||
|
||||
tabData, err := tdp.TabDaftarPesertaServices.GetReportMcu(idx)
|
||||
// tabData, err := tdp.TabDaftarPesertaServices.GetReportMcu(idx)
|
||||
// if err != nil {
|
||||
// tab := corporate_mcudetail.TabReportView([]models.TabViewReportMcu{})
|
||||
// mod := corporate_mcudetail.ModalBody(
|
||||
// dialogReportBodyID,
|
||||
// tab,
|
||||
// corporate_mcudetail.JsShowModal(""),
|
||||
// )
|
||||
// return utils.View(c, mod)
|
||||
// }
|
||||
|
||||
newtabdata, err := tdp.TabDaftarPesertaServices.GetListReportPeserta(idx, host)
|
||||
if err != nil {
|
||||
tab := corporate_mcudetail.TabReportView([]models.TabViewReportMcu{})
|
||||
mod := corporate_mcudetail.ModalBody(
|
||||
@@ -187,7 +200,9 @@ func (tdp *TabDaftarPesertaHandlers) HandleOpenReportDialog(c echo.Context) erro
|
||||
return utils.View(c, mod)
|
||||
}
|
||||
|
||||
tabcomponent := corporate_mcudetail.TabReportView(tabData)
|
||||
logger.Info("resp new data", zap.Any("data", newtabdata))
|
||||
|
||||
tabcomponent := corporate_mcudetail.TabReportView(newtabdata)
|
||||
|
||||
modalbody := corporate_mcudetail.ModalBody(
|
||||
dialogReportBodyID,
|
||||
|
||||
@@ -21,6 +21,7 @@ type PatientService interface {
|
||||
GetListtingData(email string, currentpage int, rowperpage int) ([]models.DashboardPatient, int, error)
|
||||
GetPatientData(email string) (string, error)
|
||||
GetReportMcu(orderheaderID string) ([]models.TabViewReportMcu, error)
|
||||
GetListReportPeserta(orderheaderID string, host string) ([]models.TabViewReportMcu, error)
|
||||
}
|
||||
|
||||
func NewPatientHandler(us PatientService) *PatientHandler {
|
||||
@@ -214,13 +215,25 @@ func (ph *PatientHandler) HandleChangePage(c echo.Context) error {
|
||||
|
||||
func (ph *PatientHandler) HandleOpenReport(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
host := c.Request().Host
|
||||
|
||||
id := c.QueryParam("id")
|
||||
dialogID := c.QueryParam("dialogID")
|
||||
dialogBodyID := c.QueryParam("dialogBodyID")
|
||||
logger.Info("params", zap.Any("id", id))
|
||||
|
||||
tabData, err := ph.PatientService.GetReportMcu(id)
|
||||
// tabData, err := ph.PatientService.GetReportMcu(id)
|
||||
// if err != nil {
|
||||
// tab := corporate_patient.TabReportView([]models.TabViewReportMcu{})
|
||||
// mod := corporate_patient.ModalBody(
|
||||
// dialogBodyID,
|
||||
// tab,
|
||||
// corporate_patient.JsShowModal(""),
|
||||
// )
|
||||
// return utils.View(c, mod)
|
||||
// }
|
||||
|
||||
newtabdata, err := ph.PatientService.GetListReportPeserta(id, host)
|
||||
if err != nil {
|
||||
tab := corporate_patient.TabReportView([]models.TabViewReportMcu{})
|
||||
mod := corporate_patient.ModalBody(
|
||||
@@ -231,7 +244,7 @@ func (ph *PatientHandler) HandleOpenReport(c echo.Context) error {
|
||||
return utils.View(c, mod)
|
||||
}
|
||||
|
||||
tabcomponent := corporate_patient.TabReportView(tabData)
|
||||
tabcomponent := corporate_patient.TabReportView(newtabdata)
|
||||
modalBody := corporate_patient.ModalBody(
|
||||
dialogBodyID,
|
||||
tabcomponent,
|
||||
|
||||
@@ -19,9 +19,21 @@ type ModelMcuPesertaReport struct {
|
||||
So_ResultEntryT_OrderHeaderID int `db:"So_ResultEntryT_OrderHeaderID"`
|
||||
So_ResultEntryNonlab_TemplateID int `db:"So_ResultEntryNonlab_TemplateID"`
|
||||
So_ResultEntryNonlab_TemplateName string `db:"So_ResultEntryNonlab_TemplateName"`
|
||||
Datetime string `db:"Datetime"`
|
||||
}
|
||||
|
||||
type TabViewReportMcu struct {
|
||||
Name string
|
||||
Link string
|
||||
}
|
||||
|
||||
type OrderReport struct {
|
||||
M_OrderReportID int `db:"M_OrderReportID"`
|
||||
M_OrderReportName string `db:"M_OrderReportName"`
|
||||
M_OrderReportOrdering int `db:"M_OrderReportOrdering"`
|
||||
M_OrderReportUrl string `db:"M_OrderReportUrl"`
|
||||
M_OrderReportIsOrderHeader string `db:"M_OrderReportIsOrderHeader"`
|
||||
M_OrderReportIsFisikUmum string `db:"M_OrderReportIsFisikUmum"`
|
||||
M_OrderReportIsActive string `db:"M_OrderReportIsActive"`
|
||||
Datetime string `db:"Datetime"`
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ templ ModalClose(LinkClose string, hxTarget string, hxSwap string, modalID strin
|
||||
templ TabReportView(
|
||||
datamcu []models.TabViewReportMcu,
|
||||
) {
|
||||
<div>
|
||||
<div class="container-rpt">
|
||||
<ul class="nav nav-tabs nav-tabs-line">
|
||||
for i, v := range datamcu {
|
||||
if i == 0 {
|
||||
|
||||
@@ -220,7 +220,7 @@ func TabReportView(
|
||||
templ_7745c5c3_Var9 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div><ul class=\"nav nav-tabs nav-tabs-line\">")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"container-rpt\"><ul class=\"nav nav-tabs nav-tabs-line\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
|
||||
@@ -46,6 +46,13 @@ templ TabDaftarPesertaScreen(
|
||||
}
|
||||
|
||||
templ CSSTabDaftarPeserta() {
|
||||
<style>
|
||||
.container-rpt {
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
</style>
|
||||
}
|
||||
|
||||
templ JsTabDaftarPeserta() {
|
||||
|
||||
@@ -102,6 +102,10 @@ func CSSTabDaftarPeserta() templ.Component {
|
||||
templ_7745c5c3_Var2 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<style>\r\n .container-rpt {\r\n width: 100%;\r\n overflow-x: auto;\r\n white-space: nowrap;\r\n }\r\n </style>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user