diff --git a/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go b/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go index 90fdc3a..dbe8994 100644 --- a/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go +++ b/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go @@ -328,18 +328,24 @@ func (tdp *TabDaftarPesertaHandlers) HandleCloseDialogGenPass(c echo.Context) er } func (tdp *TabDaftarPesertaHandlers) HandleDialogGenPass(c echo.Context) error { - logger, _ := zap.NewProduction() + // logger, _ := zap.NewProduction() host := c.Request().Host id := c.Param("id") dialogGenPassID := c.FormValue("dialogGenPassID") dialogGenPassBodyID := c.FormValue("dialogGenPassBodyID") + dialogReportID := c.FormValue("dialogReportID") + dialogReportBodyID := c.FormValue("dialogReportBodyID") + dialogAkunID := c.FormValue("dialogAkunID") + dialogAkunBodyID := c.FormValue("dialogAkunBodyID") + + tableID := c.FormValue("tableID") + paginationID := c.FormValue("paginationID") + pageparam := c.FormValue("currpage" + paginationID) // generate pasword resp, err := tdp.TabDaftarPesertaServices.GenerataPasswordMCU(id, host) if err != nil { - logger.Info("error", zap.Any("err", err)) - modalDialogGenPass := corporate_mcudetail.ModalGenPassBody( dialogGenPassBodyID, "Apakah anda yakin untuk men-generate password untuk seluruh karyawan", @@ -349,7 +355,6 @@ func (tdp *TabDaftarPesertaHandlers) HandleDialogGenPass(c echo.Context) error { retVal := []templ.Component{toastwarning, modalDialogGenPass} return utils.ViewMulti(c, retVal) } - defer logger.Sync() if resp.Status != "OK" { modalDialogGenPass := corporate_mcudetail.ModalGenPassBody( @@ -362,13 +367,26 @@ func (tdp *TabDaftarPesertaHandlers) HandleDialogGenPass(c echo.Context) error { return utils.ViewMulti(c, retVal) } + aa := "/corp/dashboard_pic/detail/" + id + "/tabdaftarpeserta/reload?page=" + pageparam + bb := "&tableID=" + tableID + cc := "&paginationID=" + paginationID + dd := "&dialogReportID=" + dialogReportID + ee := "&dialogReportBodyID=" + dialogReportBodyID + ff := "&dialogGenPassID=" + dialogGenPassID + gg := "&dialogGenPassBodyID=" + dialogGenPassBodyID + hh := "&dialogAkunID=" + dialogAkunID + ii := "&dialogAkunBodyID=" + dialogAkunBodyID + jj := "&currpage" + paginationID + "=" + pageparam + link := aa + bb + cc + dd + ee + ff + gg + hh + ii + jj + modalDialogGenPass := corporate_mcudetail.ModalGenPassBody( dialogGenPassBodyID, "Apakah anda yakin untuk men-generate password untuk seluruh karyawan", - corporate_mcudetail.JsHideModal("#"+dialogGenPassID), + // corporate_mcudetail.JsHideModal("#"+dialogGenPassID), + corporate_mcudetail.JsGenPassReload("#"+dialogGenPassID, link), ) - message := "Success generate password.\n" + resp.Message + " password, telah dikirim melalui email peserta" + message := "Success generate password.\n" + "resp.Message" + " password, telah dikirim melalui email peserta" toastSuccess := customtoastv2.CustomToastV2Show("Success", message, "success") retVal := []templ.Component{toastSuccess, modalDialogGenPass} return utils.ViewMulti(c, retVal) @@ -608,3 +626,50 @@ func (tdp *TabDaftarPesertaHandlers) HandleAkun(c echo.Context) error { ) return utils.View(c, dialogAkunBody) } + +func (tdp *TabDaftarPesertaHandlers) HandleContentReload(c echo.Context) error { + id := c.Param("id") + dialogReportBodyID := c.FormValue("dialogReportBodyID") + dialogAkunBodyID := c.FormValue("dialogAkunBodyID") + + tableID := c.FormValue("tableID") + paginationID := c.FormValue("paginationID") + pageparam := c.FormValue("currpage" + paginationID) + currpage, err := strconv.Atoi(pageparam) + if err != nil { + return err + } + + tableData, totalPage, err := tdp.TabDaftarPesertaServices.GetListDaftarPesertaMCU(id, currpage, 10) + if err != nil { + return err + } + + table := corporate_mcudetail.TableDaftarPeserta( + tableData, + tableID, + "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/openreport", + "#"+dialogReportBodyID, + "#tableID, #paginationID, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID", + "outerHTML", + "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/openviewakun", + "#"+dialogAkunBodyID, + "#tableID, #paginationID, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID", + "outerHTML", + ) + + pagination := pagination.PaginationV3( + totalPage, + currpage, + "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/changepage", + paginationID, + "#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID, #dialogReportID, #dialogReportBodyID, #currPage"+paginationID, + "#contentlayout", + "outerHTML", "", "", + corporate_mcudetail.BeforeRequestContent(), + corporate_mcudetail.AfterRequestContent(), + ) + + clayout := corporate_mcudetail.ContentLayout(table, pagination) + return utils.View(c, clayout) +} diff --git a/handlers/routes.go b/handlers/routes.go index 46604d0..5869e31 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -163,6 +163,7 @@ func SetupRoutesCorporate(app *echo.Echo, appStore db.AppStore) { corp.GET("/dashboard_pic/detail/:id/tabdaftarpeserta/openviewakun", daftarpesertaHandl.HandleOpenViewAkun) corp.POST("/dashboard_pic/detail/:id/tabdaftarpeserta/closeviewakun", daftarpesertaHandl.HandleCloseViewAkun) corp.POST("/dashboard_pic/detail/:id/tabdaftarpeserta/viewakun", daftarpesertaHandl.HandleAkun) + corp.POST("/dashboard_pic/detail/:id/tabdaftarpeserta/reload", daftarpesertaHandl.HandleContentReload) // tab keuangan keuanganService := mcu_corporate_services.NewTabKeuanganServices(appStore) diff --git a/models/mcudaftarpeserta.models.go b/models/mcudaftarpeserta.models.go index eb605eb..c7e38e4 100644 --- a/models/mcudaftarpeserta.models.go +++ b/models/mcudaftarpeserta.models.go @@ -14,6 +14,7 @@ type ModelMcuDaftarPeserta struct { Age string `db:"age"` AuthPatientEmail string `db:"authPatientEmail"` AuthPatientIsActive string `db:"authPatientIsActive"` + Nama_Paket string `db:"nama_paket"` } type SoResultEntryReportModel struct { diff --git a/services/corporate/mcudetail/tabdaftarpeserta.services.go b/services/corporate/mcudetail/tabdaftarpeserta.services.go index 31bdfcd..25c28b8 100644 --- a/services/corporate/mcudetail/tabdaftarpeserta.services.go +++ b/services/corporate/mcudetail/tabdaftarpeserta.services.go @@ -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 } diff --git a/views/corporate/mcu/mcutab/modalgeneratepass.templ b/views/corporate/mcu/mcutab/modalgeneratepass.templ index 5a1e2a4..0427a1a 100644 --- a/views/corporate/mcu/mcutab/modalgeneratepass.templ +++ b/views/corporate/mcu/mcutab/modalgeneratepass.templ @@ -95,6 +95,11 @@ templ ModalGenPassAction(LinkClose string, targetClose string, hxSwapClose strin } +script JsGenPassReload(modalID string, link string) { + $(modalID).modal('hide'); + htmx.ajax('POST', link, {target:'#contentlayout', swap:'outerHTML'}); +} + templ ModalViewAkunBody( IDComponent string, akunID models.CustomTextFieldv2Prm, diff --git a/views/corporate/mcu/mcutab/modalgeneratepass_templ.go b/views/corporate/mcu/mcutab/modalgeneratepass_templ.go index f09456f..92ead76 100644 --- a/views/corporate/mcu/mcutab/modalgeneratepass_templ.go +++ b/views/corporate/mcu/mcutab/modalgeneratepass_templ.go @@ -310,6 +310,17 @@ func ModalGenPassAction(LinkClose string, targetClose string, hxSwapClose string }) } +func JsGenPassReload(modalID string, link string) templ.ComponentScript { + return templ.ComponentScript{ + Name: `__templ_JsGenPassReload_f5ca`, + Function: `function __templ_JsGenPassReload_f5ca(modalID, link){$(modalID).modal('hide'); + htmx.ajax('POST', link, {target:'#contentlayout', swap:'outerHTML'}); +}`, + Call: templ.SafeScript(`__templ_JsGenPassReload_f5ca`, modalID, link), + CallInline: templ.SafeScriptInline(`__templ_JsGenPassReload_f5ca`, modalID, link), + } +} + func ModalViewAkunBody( IDComponent string, akunID models.CustomTextFieldv2Prm, @@ -341,7 +352,7 @@ func ModalViewAkunBody( var templ_7745c5c3_Var17 string templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(IDComponent) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modalgeneratepass.templ`, Line: 106, Col: 25} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modalgeneratepass.templ`, Line: 111, Col: 25} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17)) if templ_7745c5c3_Err != nil { diff --git a/views/corporate/mcu/mcutab/tabledaftarpeserta.templ b/views/corporate/mcu/mcutab/tabledaftarpeserta.templ index 41267d6..03fea48 100644 --- a/views/corporate/mcu/mcutab/tabledaftarpeserta.templ +++ b/views/corporate/mcu/mcutab/tabledaftarpeserta.templ @@ -27,7 +27,7 @@ templ TableDaftarPeserta( hxSwapAcc string, ) {
- @tablecomponent.TableV3([]string{"NOLAB", "NAMA", "JENIS KELAMIN", "UMUR", "KESIMPULAN", "AKSI"}, + @tablecomponent.TableV3([]string{"NOMOR LAB", "NAMA", "JENIS KELAMIN", "UMUR", "NAMA PAKET", "AKSI"}, []string{"15%","20%","10%","10%","30%","15%"}, ItemRow(data, hxGetRpt, @@ -64,21 +64,7 @@ templ ItemRow( { v.M_PatientName } { v.JenisKelamin } { v.Age } - - //
- //
- // if v. == "Nanda Arisu" { - // Unfit - // } else { - // Fit - // } - //
- //
- // Lorem Ipsum In Dolor Ad Sasum Mara Naka Adhum In Horem - //
- //
- - - + { v.Nama_Paket } @ItemAction(v, hxGetRpt, diff --git a/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go b/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go index 1148d40..6b4e142 100644 --- a/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go +++ b/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go @@ -106,7 +106,7 @@ func TableDaftarPeserta( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = tablecomponent.TableV3([]string{"NOLAB", "NAMA", "JENIS KELAMIN", "UMUR", "KESIMPULAN", "AKSI"}, + templ_7745c5c3_Err = tablecomponent.TableV3([]string{"NOMOR LAB", "NAMA", "JENIS KELAMIN", "UMUR", "NAMA PAKET", "AKSI"}, []string{"15%", "20%", "10%", "10%", "30%", "15%"}, ItemRow(data, hxGetRpt, @@ -214,7 +214,20 @@ func ItemRow( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("-\r") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var10 string + templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(v.Nama_Paket) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 67, Col: 30} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -261,21 +274,21 @@ func ItemAction( defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) } ctx = templ.InitializeContext(ctx) - templ_7745c5c3_Var10 := templ.GetChildren(ctx) - if templ_7745c5c3_Var10 == nil { - templ_7745c5c3_Var10 = templ.NopComponent + templ_7745c5c3_Var11 := templ.GetChildren(ctx) + if templ_7745c5c3_Var11 == nil { + templ_7745c5c3_Var11 = templ.NopComponent } ctx = templ.ClearChildren(ctx) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("