From a729d6ab67081ec2a8dba70700b4fc8f06f727be Mon Sep 17 00:00:00 2001 From: adibwp Date: Tue, 16 Jul 2024 13:18:58 +0700 Subject: [PATCH] revice tab ordering service --- .../mcudetail/tabdaftarpeserta.handlers.go | 110 ++++- handlers/corporate/patient.handlers.go | 20 +- handlers/public/login.handlers.go | 13 +- models/mcudaftarpeserta.models.go | 13 +- .../mcudetail/tabdaftarpeserta.services.go | 400 ++++++++++-------- services/corporate/patient.services.go | 286 ++++--------- services/public/login.services.go | 53 +-- views/corporate/mcu/mcutabview.templ | 3 +- views/corporate/mcu/mcutabview_templ.go | 4 +- views/public/login/login.templ | 13 +- views/public/login/login_templ.go | 2 +- 11 files changed, 441 insertions(+), 476 deletions(-) diff --git a/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go b/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go index 39b2322..90fdc3a 100644 --- a/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go +++ b/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go @@ -7,18 +7,19 @@ import ( "cpone/utils" corporate_mcudetail "cpone/views/corporate/mcu/mcutab" "strconv" + "strings" "github.com/a-h/templ" + "github.com/golang-jwt/jwt/v5" "github.com/labstack/echo/v4" "go.uber.org/zap" ) 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) + GetListDaftarPesertaMCU(id string, currentpage int, rowperpage int) ([]models.ModelMcuDaftarPeserta, int, error) GenerataPasswordMCU(mgmMCUID string, host string) (models.GeneratePasswordResponse, error) GetAkunPeserta(patientID string) (models.AuthPatient, error) + GetListReportPesertaV3(orderheaderID string, staffname string) ([]models.TabViewReportMcu, error) } type TabDaftarPesertaHandlers struct { @@ -49,7 +50,7 @@ func (tdp *TabDaftarPesertaHandlers) HandleShowTabDaftarPeserta(c echo.Context) id := c.Param("id") logger.Info("Params", zap.Any("id", id)) - dataTable, totalPage, err := tdp.TabDaftarPesertaServices.GetListMcuDaftarPeserta(id, 1, 10) + dataTable, totalPage, err := tdp.TabDaftarPesertaServices.GetListDaftarPesertaMCU(id, 1, 10) if err != nil { return err } @@ -239,7 +240,7 @@ func (tdp *TabDaftarPesertaHandlers) HandlePagination(c echo.Context) error { return err } - tableData, totalPage, err := tdp.TabDaftarPesertaServices.GetListMcuDaftarPeserta(id, page, 10) + tableData, totalPage, err := tdp.TabDaftarPesertaServices.GetListDaftarPesertaMCU(id, page, 10) if err != nil { return err } @@ -274,15 +275,19 @@ func (tdp *TabDaftarPesertaHandlers) HandlePagination(c echo.Context) error { func (tdp *TabDaftarPesertaHandlers) HandleOpenReportDialog(c echo.Context) error { logger, _ := zap.NewProduction() - host := c.Request().Host + + userCok := c.Get("user").(*jwt.Token) + claims := userCok.Claims.(jwt.MapClaims) + staffname := claims["M_StaffName"].(string) idx := c.QueryParam("idx") dialogReportID := c.QueryParam("dialogReportID") dialogReportBodyID := c.QueryParam("dialogReportBodyID") logger.Info("params", zap.Any("idx", idx)) - newtabdata, err := tdp.TabDaftarPesertaServices.GetListReportPeserta(idx, host) + tabdatav3, err := tdp.TabDaftarPesertaServices.GetListReportPesertaV3(idx, staffname) if err != nil { + logger.Info("error", zap.Any("err", err)) tab := corporate_mcudetail.TabReportView([]models.TabViewReportMcu{}) mod := corporate_mcudetail.ModalRptBody( dialogReportBodyID, @@ -292,9 +297,9 @@ func (tdp *TabDaftarPesertaHandlers) HandleOpenReportDialog(c echo.Context) erro return utils.View(c, mod) } - logger.Info("resp new data", zap.Any("data", newtabdata)) + logger.Info("resp new data", zap.Any("data", tabdatav3)) - tabcomponent := corporate_mcudetail.TabReportView(newtabdata) + tabcomponent := corporate_mcudetail.TabReportView(tabdatav3) modalbody := corporate_mcudetail.ModalRptBody( dialogReportBodyID, @@ -327,18 +332,9 @@ func (tdp *TabDaftarPesertaHandlers) HandleDialogGenPass(c echo.Context) error { host := c.Request().Host id := c.Param("id") - // tableID := c.FormValue("tableID") - // paginationID := c.FormValue("paginationID") - // pageparam := c.FormValue("currpage" + paginationID) - dialogGenPassID := c.FormValue("dialogGenPassID") dialogGenPassBodyID := c.FormValue("dialogGenPassBodyID") - // dialogReportBodyID := c.FormValue("dialogReportBodyID") - // dialogAkunBodyID := c.FormValue("dialogAkunBodyID") - - // logger.Info("param", zap.Any("id", id), zap.Any("page", pageparam)) - // generate pasword resp, err := tdp.TabDaftarPesertaServices.GenerataPasswordMCU(id, host) if err != nil { @@ -505,9 +501,81 @@ func (tdp *TabDaftarPesertaHandlers) HandleAkun(c echo.Context) error { dialogAkunBodyID := c.FormValue("dialogAkunBodyID") logger.Info("params", zap.Any("patid", patientID)) - // akunEmail := c.FormValue("akunpesertaemail") - // akunPass := c.FormValue("akunpesertapass") - // akunPasscel := c.FormValue("akunpesertapasscek") + akunID := c.FormValue("akunpesertaid") + akunEmail := c.FormValue("akunpesertaemail") + akunPass := c.FormValue("akunpesertapass") + akunPasscek := c.FormValue("akunpesertapasscek") + + formValidation := "" + emailValidation := "" + passValidation := "" + pass2Validation := "" + + if strings.TrimSpace(akunEmail) == "" { + formValidation = "Email tidak boleh kosong" + emailValidation = "Email tidak boleh kosong" + } + if strings.TrimSpace(akunPass) == "" { + formValidation = "Password tidak boleh kosong" + passValidation = "Password tidak boleh kosong" + } + if strings.TrimSpace(akunPasscek) == "" { + formValidation = "Password tidak boleh kosong" + pass2Validation = "Password tidak boleh kosong" + } + if strings.TrimSpace(akunEmail) == "" && strings.TrimSpace(akunPass) == "" && strings.TrimSpace(akunPasscek) == "" { + formValidation = "Email dan Password tidak boleh kosong" + emailValidation = "Email tidak boleh kosong" + passValidation = "Password tidak boleh kosong" + pass2Validation = "Password tidak boleh kosong" + } + if strings.TrimSpace(akunPass) != strings.TrimSpace(akunPasscek) { + formValidation = "Password tidak sama" + passValidation = "Password tidak sama" + pass2Validation = "Password tidak sama" + } + + if formValidation != "" || emailValidation != "" || passValidation != "" || pass2Validation != "" { + dialogAkunBody := corporate_mcudetail.ModalViewAkunBody( + dialogAkunBodyID, + models.CustomTextFieldv2Prm{ + Label: "ID Akun Peserta", + Name: "akunpesertaid", + Placeholder: "ID Akun Peserta", + Type: "hidden", + ID: "akunpesertaidid", + Value: akunID, + }, + models.CustomTextFieldv2Prm{ + Label: "Email Akun", + Name: "akunpesertaemail", + Type: "text", + ID: "akunpesertaemailid", + Value: akunEmail, + ErrorMsg: emailValidation, + }, + models.CustomTextFieldv2Prm{ + Label: "Password Akun", + Name: "akunpesertapass", + Type: "password", + ID: "akunpesertapassid", + Value: akunPass, + ErrorMsg: passValidation, + }, + models.CustomTextFieldv2Prm{ + Label: "Ketik ulang password", + Name: "akunpesertapasscek", + Type: "password", + ID: "akunpesertapasscekid", + Value: akunPasscek, + ErrorMsg: pass2Validation, + }, + corporate_mcudetail.JsShowModal(""), + ) + toastwarning := customtoastv2.CustomToastV2Show("Warning", formValidation, "warning") + retVal := []templ.Component{toastwarning, dialogAkunBody} + return utils.ViewMulti(c, retVal) + } dialogAkunBody := corporate_mcudetail.ModalViewAkunBody( dialogAkunBodyID, diff --git a/handlers/corporate/patient.handlers.go b/handlers/corporate/patient.handlers.go index 43a2b80..8c7873f 100644 --- a/handlers/corporate/patient.handlers.go +++ b/handlers/corporate/patient.handlers.go @@ -17,11 +17,9 @@ import ( type PatientService interface { GetDashboardPatientBreadcrumb(title string) (models.BreadCrumbV1, error) - ListingData(search string, date string, patID string, corpId string, currentpage int, rowperpage int) ([]models.DashboardPatient, int, error) 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) + GetListReportPesertaV3(orderheaderID string, staffname string) ([]models.TabViewReportMcu, error) } func NewPatientHandler(us PatientService) *PatientHandler { @@ -215,25 +213,17 @@ 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) - // if err != nil { - // tab := corporate_patient.TabReportView([]models.TabViewReportMcu{}) - // mod := corporate_patient.ModalBody( - // dialogBodyID, - // tab, - // corporate_patient.JsShowModal(""), - // ) - // return utils.View(c, mod) - // } + userCok := c.Get("user").(*jwt.Token) + claims := userCok.Claims.(jwt.MapClaims) + staffname := claims["M_StaffName"].(string) - newtabdata, err := ph.PatientService.GetListReportPeserta(id, host) + newtabdata, err := ph.PatientService.GetListReportPesertaV3(id, staffname) if err != nil { tab := corporate_patient.TabReportView([]models.TabViewReportMcu{}) mod := corporate_patient.ModalBody( diff --git a/handlers/public/login.handlers.go b/handlers/public/login.handlers.go index 7ed3c9a..b6c5f77 100644 --- a/handlers/public/login.handlers.go +++ b/handlers/public/login.handlers.go @@ -14,7 +14,6 @@ import ( ) type LoginService interface { - Login(username string, password string) (models.ResponseApi, error) MultiSignIn(username string, password string, host string) (models.Response, error) } @@ -48,20 +47,15 @@ func (lh *LoginHandler) HandleSignIn(c echo.Context) error { defer logger.Sync() logger.Info("Error", zap.Any("error multi signin", err)) - si := public_login.ShowLogin("Login ", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin()) + si := public_login.ShowLogin("Login", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin()) return utils.View(c, si) - - // loginform := public_login.FormSignin(false) - // return utils.View(c, loginform) } if resp.Status == "ERR" { defer logger.Sync() logger.Info("Error", zap.Any("ERR", resp.Status)) - si := public_login.ShowLogin("Login ", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin()) + si := public_login.ShowLogin("Login", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin()) return utils.View(c, si) - // loginform := public_login.FormSignin(false) - // return utils.View(c, loginform) } defer logger.Sync() @@ -86,9 +80,6 @@ func (lh *LoginHandler) HandleSignIn(c echo.Context) error { si := public_login.ShowLogin("Login ", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin()) return utils.View(c, si) - - // loginform := public_login.FormSignin(false) - // return utils.View(c, loginform) } cookie := new(http.Cookie) diff --git a/models/mcudaftarpeserta.models.go b/models/mcudaftarpeserta.models.go index b022676..eb605eb 100644 --- a/models/mcudaftarpeserta.models.go +++ b/models/mcudaftarpeserta.models.go @@ -16,9 +16,10 @@ type ModelMcuDaftarPeserta struct { AuthPatientIsActive string `db:"authPatientIsActive"` } -type ModelMcuPesertaReport struct { +type SoResultEntryReportModel struct { So_ResultEntryID int `db:"So_ResultEntryID"` So_ResultEntryT_OrderHeaderID int `db:"So_ResultEntryT_OrderHeaderID"` + So_ResultEntryT_OrderDetailID int `db:"So_ResultEntryT_OrderDetailID"` So_ResultEntryNonlab_TemplateID int `db:"So_ResultEntryNonlab_TemplateID"` So_ResultEntryNonlab_TemplateName string `db:"So_ResultEntryNonlab_TemplateName"` Datetime string `db:"Datetime"` @@ -52,3 +53,13 @@ type AuthPatient struct { AuthPatientPassword string `db:"authPatientPassword"` AuthPatientIsActive string `db:"authPatientIsActive"` } + +type GroupResultOrderModel struct { + Group_ResultID string `db:"Group_ResultID"` + Group_ResultName string `db:"Group_ResultName"` + Group_ResultResumeMcu string `db:"Group_ResultResumeMcu"` + Group_ResultOrderOrder string `db:"Group_ResultOrderOrder"` + Group_ResultUrl string `db:"Group_ResultUrl"` + Group_ResultIsOrderHeader string `db:"Group_ResultIsOrderHeader"` + Datetime string `db:"Datetime"` +} diff --git a/services/corporate/mcudetail/tabdaftarpeserta.services.go b/services/corporate/mcudetail/tabdaftarpeserta.services.go index 8c38b44..2fa250c 100644 --- a/services/corporate/mcudetail/tabdaftarpeserta.services.go +++ b/services/corporate/mcudetail/tabdaftarpeserta.services.go @@ -25,7 +25,7 @@ func NewTabDaftarPesertaServices(uStore db.AppStore) *TabDaftarPesertaServices { } } -func (tdps *TabDaftarPesertaServices) GetListMcuDaftarPeserta(id string, currentpage int, rowperpage int) ([]models.ModelMcuDaftarPeserta, int, error) { +func (tdps *TabDaftarPesertaServices) GetListDaftarPesertaMCU(id string, currentpage int, rowperpage int) ([]models.ModelMcuDaftarPeserta, int, error) { logger, _ := zap.NewProduction() var listDaftarPeserta []models.ModelMcuDaftarPeserta var totalData int @@ -43,7 +43,7 @@ func (tdps *TabDaftarPesertaServices) GetListMcuDaftarPeserta(id string, current query := `SELECT T_OrderHeaderID, T_OrderHeaderDate, - T_OrderHeaderLabNumber, + IFNULL(T_OrderHeaderLabNumber, 0) AS T_OrderHeaderLabNumber, T_OrderHeaderM_PatientAge, M_PatientID, M_PatientNoReg, @@ -72,194 +72,28 @@ func (tdps *TabDaftarPesertaServices) GetListMcuDaftarPeserta(id string, current 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), - ) + // logger.Info("GET DATA PESERTA", + // zap.Any("id", id), + // zap.Any("total data", totalData), + // zap.Any("peserta", listDaftarPeserta), + // ) return listDaftarPeserta, totalPage, nil } -func (tdps *TabDaftarPesertaServices) GetReportMcu(orderheaderID string) ([]models.TabViewReportMcu, error) { - var ret []models.TabViewReportMcu - var data []models.ModelMcuPesertaReport - var totalData int - - q := ` - SELECT COUNT(*) - FROM so_resultentry - WHERE So_ResultEntryT_OrderHeaderID = ? - AND So_ResultEntryIsActive = 'Y' - ` - if err := dbx.Handlex.Get(&totalData, q, orderheaderID); err != nil { - return ret, fmt.Errorf("error get total mcu report: %v", err) - } - - q = ` - SELECT - So_ResultEntryID, - So_ResultEntryT_OrderHeaderID, - So_ResultEntryNonlab_TemplateID, - So_ResultEntryNonlab_TemplateName - 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) - } - - // Lab - ret = append(ret, models.TabViewReportMcu{Name: "Hasil Laboratorium", Link: "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_test.rptdesign&__format=pdf&PID=" + orderheaderID + "&username=adhi&tm=1717726294764"}) - - // Non-lab - for _, n := range data { - var link models.TabViewReportMcu - - switch n.So_ResultEntryNonlab_TemplateName { - case "ECG": - link.Name = "Elektromedis" - link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_elmd.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764" - case "Thorax PA": - link.Name = "Radiologi" - link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_xray.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764" - case "Audiometri": - link.Name = "Audiometri" - link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_audiometri.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764" - case "Spirometri": - link.Name = "Spirometri" - link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_spirometri.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764" - case "Fisik Umum": - namaFisik := []string{"Hasil Fisik", "Hasil Pajanan", "Riwayat"} - linkFisik := []string{ - "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=fisik&username=adhi&tm=1717726294764", - "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=fisik&username=adhi&tm=1717726294764", - "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_riwayat.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=riwayat&username=adhi&tm=1717726294764", - } - for i := 0; i < 3; i++ { - ret = append(ret, models.TabViewReportMcu{Name: namaFisik[i], Link: linkFisik[i]}) - } - continue - } - - ret = append(ret, link) - } - - ret = append(ret, models.TabViewReportMcu{Name: "Resume Individu", Link: "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_resume.rptdesign&__format=pdf&PID=" + orderheaderID + "&username=adhi&tm=1717726294764"}) - - 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 -} - func (tdps *TabDaftarPesertaServices) GenerataPasswordMCU(mgmMCUID string, host string) (models.GeneratePasswordResponse, error) { // Generate email dan password utk seluruh peserta mgm mcu // https://devcpone.aplikasi.web.id/one-api/tools/auth_patient/generate/ // : mgmMcuID - if host == "localhost:5000" { - host = "https://devcpone.aplikasi.web.id" - } + // if host == "localhost:5000" { + // host = "https://devcpone.aplikasi.web.id" + // } logger, _ := zap.NewProduction() var ret models.GeneratePasswordResponse - uri := host + "/one-api/tools/auth_patient/generate/" + mgmMCUID + uri := "https://cpone.aplikasi.web.id/one-api/tools/auth_patient/generate/" + mgmMCUID payload := []byte{} resp, err := http.Post(uri, "application/json", bytes.NewBuffer(payload)) @@ -304,3 +138,215 @@ func (tdps *TabDaftarPesertaServices) GetAkunPeserta(patientID string) (models.A return ret, nil } + +func (tdps *TabDaftarPesertaServices) GetListReportPesertaV2(orderheaderID string, host string) ([]models.TabViewReportMcu, error) { + var returnTabRpt []models.TabViewReportMcu + var SoResultData []models.SoResultEntryReportModel + + 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(&SoResultData, q, orderheaderID); err != nil { + return returnTabRpt, fmt.Errorf("error get so result data non lab: %v", err) + } + + mapSoResult := map[string]int{} + for _, so := range SoResultData { + switch so.So_ResultEntryNonlab_TemplateName { + case "ECG": + mapSoResult["Elektromedik"] = so.So_ResultEntryID + case "Thorax PA": + mapSoResult["Radiologi"] = so.So_ResultEntryID + case "Fisik Umum", "Fisik Umum K3": + mapSoResult["Fisik"] = so.So_ResultEntryID + default: + mapSoResult[so.So_ResultEntryNonlab_TemplateName] = so.So_ResultEntryID + } + } + + var GroupResultOrder []models.GroupResultOrderModel + q = ` + SELECT + gr.Group_ResultID, + gr.Group_ResultName, + gr.Group_ResultResumeMcu, + gr.Group_ResultUrl, + gr.Group_ResultIsOrderHeader, + gro.Group_ResultOrderOrder, + DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime + FROM t_orderdetail todtl + JOIN t_test tt ON todtl.T_OrderDetailT_TestID = tt.T_TestID + AND tt.T_TestIsActive = 'Y' + JOIN group_resultdetail grd ON tt.T_TestID = grd.Group_ResultDetailT_TestID + AND grd.Group_ResultDetailIsActive = 'Y' + JOIN group_result gr ON grd.Group_ResultDetailGroup_ResultID = gr.Group_ResultID + AND gr.Group_ResultIsActive = 'Y' + JOIN group_resultorder gro ON gro.Group_ResultOrderGroup_ResultID = gr.Group_ResultID + AND Group_ResultOrderIsActive = 'Y' + WHERE todtl.T_OrderDetailT_OrderHeaderID = ? + AND todtl.T_OrderDetailIsActive = 'Y' + GROUP BY gr.Group_ResultID + ORDER BY gro.Group_ResultOrderOrder + ` + if err := dbx.Handlex.Select(&GroupResultOrder, q, orderheaderID); err != nil { + return returnTabRpt, fmt.Errorf("error get group result order: %v", err) + } + + for _, d := range GroupResultOrder { + var urlMap map[string]string + if err := json.Unmarshal([]byte(d.Group_ResultUrl), &urlMap); err != nil { + return returnTabRpt, fmt.Errorf("error parsing json: %v", err) + } + + if d.Group_ResultIsOrderHeader == "N" { + if d.Group_ResultResumeMcu == "FISIK" { + soResultID := strconv.Itoa(mapSoResult["Fisik"]) + for key, value := range urlMap { + returnTabRpt = append(returnTabRpt, models.TabViewReportMcu{ + Name: key, + Link: value + soResultID + "&tm=" + d.Datetime, + }) + } + } + if d.Group_ResultResumeMcu == "NONLAB" { + soResultID := strconv.Itoa(mapSoResult[d.Group_ResultName]) + for key, value := range urlMap { + returnTabRpt = append(returnTabRpt, models.TabViewReportMcu{ + Name: key, + Link: value + soResultID + "&tm=" + d.Datetime, + }) + } + } + } else { + for _, value := range urlMap { + returnTabRpt = append(returnTabRpt, models.TabViewReportMcu{ + Name: d.Group_ResultName, + Link: value + orderheaderID + "&tm=" + d.Datetime, + }) + } + } + } + + return returnTabRpt, nil +} + +func (tdps *TabDaftarPesertaServices) GetListReportPesertaV3(orderheaderID string, staffname string) ([]models.TabViewReportMcu, error) { + var returnTab []models.TabViewReportMcu + var GroupResultOrder []models.GroupResultOrderModel + var SoResultData []models.SoResultEntryReportModel + + q := ` + SELECT + gr.Group_ResultID, + gr.Group_ResultName, + gr.Group_ResultResumeMcu, + gr.Group_ResultUrl, + gr.Group_ResultIsOrderHeader, + gro.Group_ResultOrderOrder, + DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime + FROM t_orderdetail todtl + JOIN t_test tt ON todtl.T_OrderDetailT_TestID = tt.T_TestID + AND tt.T_TestIsActive = 'Y' + JOIN group_resultdetail grd ON tt.T_TestID = grd.Group_ResultDetailT_TestID + AND grd.Group_ResultDetailIsActive = 'Y' + JOIN group_result gr ON grd.Group_ResultDetailGroup_ResultID = gr.Group_ResultID + AND gr.Group_ResultIsActive = 'Y' + JOIN group_resultorder gro ON gro.Group_ResultOrderGroup_ResultID = gr.Group_ResultID + AND Group_ResultOrderIsActive = 'Y' + WHERE todtl.T_OrderDetailT_OrderHeaderID = ? + AND todtl.T_OrderDetailIsActive = 'Y' + GROUP BY gr.Group_ResultID + ORDER BY gro.Group_ResultOrderOrder + ` + if err := dbx.Handlex.Select(&GroupResultOrder, q, orderheaderID); err != nil { + return returnTab, fmt.Errorf("error get group result order: %v", err) + } + + q = ` + SELECT + sre.So_ResultEntryID, + sre.So_ResultEntryT_OrderHeaderID, + sre.So_ResultEntryT_OrderDetailID, + sre.So_ResultEntryNonlab_TemplateID, + sre.So_ResultEntryNonlab_TemplateName + FROM t_orderdetail tdet + JOIN t_test tt ON tdet.T_OrderDetailT_TestID = tt.T_TestID + AND tt.T_TestIsActive = 'Y' + JOIN so_resultentry sre ON sre.So_ResultEntryT_OrderDetailID = tdet.T_OrderDetailID + AND sre.So_ResultEntryIsActive = 'Y' + WHERE tdet.T_OrderDetailT_OrderHeaderID = ? + AND tdet.T_OrderDetailIsActive = 'Y' + ` + if err := dbx.Handlex.Select(&SoResultData, q, orderheaderID); err != nil { + return returnTab, fmt.Errorf("error get so result data non lab: %v", err) + } + + mapSoResultData := map[string]int{} + for _, so := range SoResultData { + switch so.So_ResultEntryNonlab_TemplateName { + case "ECG": + mapSoResultData["Elektromedik"] = so.So_ResultEntryID + case "Thorax PA": + mapSoResultData["Rontgen"] = so.So_ResultEntryID + case "Fisik Umum", "Fisik Umum K3": + mapSoResultData["FISIK"] = so.So_ResultEntryID + default: + mapSoResultData[so.So_ResultEntryNonlab_TemplateName] = so.So_ResultEntryID + } + } + + for _, group := range GroupResultOrder { + var urlMap map[string]string + if err := json.Unmarshal([]byte(group.Group_ResultUrl), &urlMap); err != nil { + return returnTab, fmt.Errorf("error parsing json: %v", err) + } + + switch group.Group_ResultResumeMcu { + case "FISIK": + soResultID := strconv.Itoa(mapSoResultData["FISIK"]) + if soResultID != "0" { + for key, value := range urlMap { + returnTab = append(returnTab, models.TabViewReportMcu{ + Name: key, + Link: value + "&username=" + staffname + "&PID=" + soResultID + "&tm=" + group.Datetime, + }) + } + } + case "NONLAB": + soResultID := strconv.Itoa(mapSoResultData[group.Group_ResultName]) + if soResultID != "0" { + for _, value := range urlMap { + returnTab = append(returnTab, models.TabViewReportMcu{ + Name: group.Group_ResultName, + Link: value + "&username=" + staffname + "&PID=" + soResultID + "&tm=" + group.Datetime, + }) + } + } + case "LAB": + for _, value := range urlMap { + returnTab = append(returnTab, models.TabViewReportMcu{ + Name: group.Group_ResultName, + Link: value + "&username=" + staffname + "&PID=" + orderheaderID + "&tm=" + group.Datetime, + }) + } + default: + for _, value := range urlMap { + returnTab = append(returnTab, models.TabViewReportMcu{ + Name: group.Group_ResultName, + Link: value + "&username=" + staffname + "&PID=" + orderheaderID + "&tm=" + group.Datetime, + }) + } + } + } + + return returnTab, nil +} diff --git a/services/corporate/patient.services.go b/services/corporate/patient.services.go index d9612fd..5670c40 100644 --- a/services/corporate/patient.services.go +++ b/services/corporate/patient.services.go @@ -4,6 +4,7 @@ import ( "cpone/db" "cpone/models" dbx "cpone/package/database" + "encoding/json" "fmt" "math" "strconv" @@ -62,52 +63,6 @@ func (sp *PatientServices) GetDashboardPatientBreadcrumb(title string) (models.B return breadcrumb, nil } -func (sp *PatientServices) ListingData(search string, date string, patID string, corpId string, currentpage int, rowperpage int) ([]models.DashboardPatient, int, error) { - logger, _ := zap.NewProduction() - var ret []models.DashboardPatient - var totalData int - - if len(date) == 0 { - date = "" - } - - prmSearch := "%" + search + "%" - offset := (currentpage - 1) * rowperpage - q := ` - SELECT COUNT(*) - FROM t_orderheader - WHERE T_OrderHeaderIsActive = 'Y' - AND T_OrderHeaderLabNumber LIKE ? - AND T_OrderHeaderM_PatientID = ? - ` - if err := dbx.Handlex.Get(&totalData, q, prmSearch, patID); err != nil { - return nil, 0, fmt.Errorf("error query get total data: %v", err) - } - - q = ` - SELECT - T_OrderHeaderID, - DATE_FORMAT(T_OrderHeaderDate, '%d/%m/%Y') AS T_OrderHeaderDate, - T_OrderHeaderLabNumber, - T_OrderHeaderM_PatientID, - T_OrderHeaderCorporateID, - T_OrderHeaderMgm_McuID, - T_OrderHeaderIsActive - FROM t_orderheader - WHERE T_OrderHeaderIsActive = 'Y' - AND T_OrderHeaderLabNumber LIKE ? - AND T_OrderHeaderM_PatientID = ? - LIMIT ? OFFSET ? - ` - if err := dbx.Handlex.Select(&ret, q, prmSearch, patID, rowperpage, offset); err != nil { - return nil, 0, fmt.Errorf("error query get data: %v", err) - } - logger.Info("response", zap.Any("data", ret)) - - totalPage := int(math.Ceil(float64(totalData) / float64(rowperpage))) - return ret, totalPage, nil -} - func (sp *PatientServices) GetListtingData(email string, currentpage int, rowperpage int) ([]models.DashboardPatient, int, error) { logger, _ := zap.NewProduction() var ret []models.DashboardPatient @@ -150,167 +105,114 @@ func (sp *PatientServices) GetListtingData(email string, currentpage int, rowper return ret, totalPage, nil } -func (sp *PatientServices) GetReportMcu(orderheaderID string) ([]models.TabViewReportMcu, error) { - var ret []models.TabViewReportMcu - var data []models.ModelMcuPesertaReport - var totalData int - - q := ` - SELECT COUNT(*) - FROM so_resultentry - WHERE So_ResultEntryT_OrderHeaderID = ? - AND So_ResultEntryIsActive = 'Y' - ` - if err := dbx.Handlex.Get(&totalData, q, orderheaderID); err != nil { - return ret, fmt.Errorf("error get total mcu report: %v", err) - } - - q = ` - SELECT - So_ResultEntryID, - So_ResultEntryT_OrderHeaderID, - So_ResultEntryNonlab_TemplateID, - So_ResultEntryNonlab_TemplateName - 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, err - } - - // Lab - ret = append(ret, models.TabViewReportMcu{Name: "Hasil Laboratorium", Link: "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_test.rptdesign&__format=pdf&PID=" + orderheaderID + "&username=adhi&tm=1717726294764"}) - - // Non-lab - for _, n := range data { - var link models.TabViewReportMcu - - switch n.So_ResultEntryNonlab_TemplateName { - case "ECG": - link.Name = "Elektromedis" - link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_elmd.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764" - case "Thorax PA": - link.Name = "Radiologi" - link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_xray.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764" - case "Audiometri": - link.Name = "Audiometri" - link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_audiometri.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764" - case "Spirometri": - link.Name = "Spirometri" - link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_spirometri.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764" - case "Fisik Umum": - namaFisik := []string{"Hasil Fisik", "Hasil Pajanan", "Riwayat"} - linkFisik := []string{ - "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=fisik&username=adhi&tm=1717726294764", - "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=fisik&username=adhi&tm=1717726294764", - "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_riwayat.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=riwayat&username=adhi&tm=1717726294764", - } - for i := 0; i < 3; i++ { - ret = append(ret, models.TabViewReportMcu{Name: namaFisik[i], Link: linkFisik[i]}) - } - continue - } - - ret = append(ret, link) - } - ret = append(ret, models.TabViewReportMcu{Name: "Resume Individu", Link: "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_resume.rptdesign&__format=pdf&PID=" + orderheaderID + "&username=adhi&tm=1717726294764"}) - - return ret, nil -} - -func (tdps *PatientServices) GetListReportPeserta(orderheaderID string, host string) ([]models.TabViewReportMcu, error) { - var ret []models.TabViewReportMcu - var data []models.ModelMcuPesertaReport +func (sp *PatientServices) GetListReportPesertaV3(orderheaderID string, staffname string) ([]models.TabViewReportMcu, error) { + var returnTab []models.TabViewReportMcu + var GroupResultOrder []models.GroupResultOrderModel + var SoResultData []models.SoResultEntryReportModel q := ` SELECT - So_ResultEntryID, - So_ResultEntryT_OrderHeaderID, - So_ResultEntryNonlab_TemplateID, - So_ResultEntryNonlab_TemplateName, + gr.Group_ResultID, + gr.Group_ResultName, + gr.Group_ResultResumeMcu, + gr.Group_ResultUrl, + gr.Group_ResultIsOrderHeader, + gro.Group_ResultOrderOrder, 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 + FROM t_orderdetail todtl + JOIN t_test tt ON todtl.T_OrderDetailT_TestID = tt.T_TestID + AND tt.T_TestIsActive = 'Y' + JOIN group_resultdetail grd ON tt.T_TestID = grd.Group_ResultDetailT_TestID + AND grd.Group_ResultDetailIsActive = 'Y' + JOIN group_result gr ON grd.Group_ResultDetailGroup_ResultID = gr.Group_ResultID + AND gr.Group_ResultIsActive = 'Y' + JOIN group_resultorder gro ON gro.Group_ResultOrderGroup_ResultID = gr.Group_ResultID + AND Group_ResultOrderIsActive = 'Y' + WHERE todtl.T_OrderDetailT_OrderHeaderID = ? + AND todtl.T_OrderDetailIsActive = 'Y' + GROUP BY gr.Group_ResultID + ORDER BY gro.Group_ResultOrderOrder ` - if err := dbx.Handlex.Select(&data, q, orderheaderID); err != nil { - return ret, fmt.Errorf("error get mcu report : %v", err) + if err := dbx.Handlex.Select(&GroupResultOrder, q, orderheaderID); err != nil { + return returnTab, fmt.Errorf("error get group result order: %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%" + sre.So_ResultEntryID, + sre.So_ResultEntryT_OrderHeaderID, + sre.So_ResultEntryT_OrderDetailID, + sre.So_ResultEntryNonlab_TemplateID, + sre.So_ResultEntryNonlab_TemplateName + FROM t_orderdetail tdet + JOIN t_test tt ON tdet.T_OrderDetailT_TestID = tt.T_TestID + AND tt.T_TestIsActive = 'Y' + JOIN so_resultentry sre ON sre.So_ResultEntryT_OrderDetailID = tdet.T_OrderDetailID + AND sre.So_ResultEntryIsActive = 'Y' + WHERE tdet.T_OrderDetailT_OrderHeaderID = ? + AND tdet.T_OrderDetailIsActive = 'Y' ` + if err := dbx.Handlex.Select(&SoResultData, q, orderheaderID); err != nil { + return returnTab, fmt.Errorf("error get so result data non lab: %v", err) + } - temParam := map[string]int{} - for _, d := range data { - switch d.So_ResultEntryNonlab_TemplateName { + mapSoResultData := map[string]int{} + for _, so := range SoResultData { + switch so.So_ResultEntryNonlab_TemplateName { case "ECG": - q = q + `OR M_OrderReportName LIKE "%Elektromedis%"` - temParam["Elektromedis"] = d.So_ResultEntryID + mapSoResultData["Elektromedik"] = so.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 + mapSoResultData["Rontgen"] = so.So_ResultEntryID + case "Fisik Umum", "Fisik Umum K3": + mapSoResultData["FISIK"] = so.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, - }) + mapSoResultData[so.So_ResultEntryNonlab_TemplateName] = so.So_ResultEntryID } } - return ret, nil + for _, group := range GroupResultOrder { + var urlMap map[string]string + if err := json.Unmarshal([]byte(group.Group_ResultUrl), &urlMap); err != nil { + return returnTab, fmt.Errorf("error parsing json: %v", err) + } + + switch group.Group_ResultResumeMcu { + case "FISIK": + soResultID := strconv.Itoa(mapSoResultData["FISIK"]) + if soResultID != "0" { + for key, value := range urlMap { + returnTab = append(returnTab, models.TabViewReportMcu{ + Name: key, + Link: value + "&username=" + staffname + "&PID=" + soResultID + "&tm=" + group.Datetime, + }) + } + } + case "NONLAB": + soResultID := strconv.Itoa(mapSoResultData[group.Group_ResultName]) + if soResultID != "0" { + for _, value := range urlMap { + returnTab = append(returnTab, models.TabViewReportMcu{ + Name: group.Group_ResultName, + Link: value + "&username=" + staffname + "&PID=" + soResultID + "&tm=" + group.Datetime, + }) + } + } + case "LAB": + for _, value := range urlMap { + returnTab = append(returnTab, models.TabViewReportMcu{ + Name: group.Group_ResultName, + Link: value + "&username=" + staffname + "&PID=" + orderheaderID + "&tm=" + group.Datetime, + }) + } + default: + for _, value := range urlMap { + returnTab = append(returnTab, models.TabViewReportMcu{ + Name: group.Group_ResultName, + Link: value + "&username=" + staffname + "&PID=" + orderheaderID + "&tm=" + group.Datetime, + }) + } + } + } + + return returnTab, nil } diff --git a/services/public/login.services.go b/services/public/login.services.go index 213775f..dfa4eea 100644 --- a/services/public/login.services.go +++ b/services/public/login.services.go @@ -1,11 +1,9 @@ package public_services import ( - "bytes" "cpone/db" "cpone/models" "encoding/json" - "fmt" "io" "net/http" "net/url" @@ -24,58 +22,15 @@ func NewServicesLogin(uStore db.AppStore) *ServicesLogin { } } -func (ls *ServicesLogin) Login(username string, password string) (models.ResponseApi, error) { - logger, _ := zap.NewProduction() - url := "https://devcpone.aplikasi.web.id/one-api/v1/system/auth/login" - - var resp models.ResponseApi - - // Create a JSON payload with the username and password - payload := []byte(fmt.Sprintf(`{"username": "%s", "password": "%s"}`, username, password)) - logger.Info("payload", zap.Any("data", payload)) - - // Make the POST request - request, err := http.Post(url, "application/json", bytes.NewBuffer(payload)) - if err != nil { - logger.Info("requser", zap.Any("err", err)) - return resp, err - } - if request.StatusCode != http.StatusOK { - logger.Info("status", zap.Any("err", request.StatusCode)) - return resp, fmt.Errorf("server returned non-OK status: %d", request.StatusCode) - } - defer request.Body.Close() - - // Read the response body - body, err := io.ReadAll(request.Body) - if err != nil { - logger.Info("body", zap.Any("data", body)) - return resp, err - } - - if err := json.Unmarshal(body, &resp); err != nil { - logger.Info("json", zap.Any("data", err)) - return resp, err - } - - // Check if status is "ERR" - if resp.Status == "ERR" { - logger.Info("status", zap.Any("data", resp.Message)) - return resp, fmt.Errorf("login failed: %s", resp.Message) - } - - return resp, nil -} - func (ls *ServicesLogin) MultiSignIn(username string, password string, host string) (models.Response, error) { logger, _ := zap.NewProduction() var ret models.Response - if host == "localhost:5000" { - host = "https://devcpone.aplikasi.web.id" - } + // if host == "localhost:5000" { + // host = "https://cpone.aplikasi.web.id" + // } - uri := host + "/one-api/v1/system/auth/multi_login" + uri := "https://cpone.aplikasi.web.id/one-api/v1/system/auth/multi_login" params := url.Values{} params.Add("username", username) diff --git a/views/corporate/mcu/mcutabview.templ b/views/corporate/mcu/mcutabview.templ index 813edaf..1d30885 100644 --- a/views/corporate/mcu/mcutabview.templ +++ b/views/corporate/mcu/mcutabview.templ @@ -62,7 +62,8 @@ templ TabViewMcuDetail(
- + // +
diff --git a/views/corporate/mcu/mcutabview_templ.go b/views/corporate/mcu/mcutabview_templ.go index b45e444..743f776 100644 --- a/views/corporate/mcu/mcutabview_templ.go +++ b/views/corporate/mcu/mcutabview_templ.go @@ -134,9 +134,9 @@ func TabViewMcuDetail( return templ_7745c5c3_Err } var templ_7745c5c3_Var10 string - templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs("https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_summary_executive.rptdesign&__format=pdf&PID=" + id + "&username=adhi&tm=1717726294764") + templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs("https://cpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_summary_executive.rptdesign&__format=pdf&PID=" + id + "&username=adhi&tm=1717726294764") if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutabview.templ`, Line: 65, Col: 171} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutabview.templ`, Line: 65, Col: 168} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) if templ_7745c5c3_Err != nil { diff --git a/views/public/login/login.templ b/views/public/login/login.templ index 596922b..4f9f84c 100644 --- a/views/public/login/login.templ +++ b/views/public/login/login.templ @@ -98,15 +98,16 @@ templ CssLogin() { templ JsLogin() { ") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err }