release version

This commit is contained in:
2025-10-08 08:26:22 +07:00
parent fc2d9292c2
commit 8094de70cc
61 changed files with 3879 additions and 3395 deletions

View File

@@ -7,7 +7,7 @@ import (
"cpone/models"
"cpone/utils"
corporate_mcudetail "cpone/views/corporate/mcu"
corporate_tabmcudetail "cpone/views/corporate/mcu/mcutab"
corporate_kesimpulan "cpone/views/corporate/mcu/mcutab/kesimpulan"
"github.com/golang-jwt/jwt/v5"
"github.com/labstack/echo/v4"
@@ -60,19 +60,19 @@ func (mcud *McuDetailHandler) HandlerShowMcuDetailScreen(c echo.Context) error {
sidbaruser := sidebaruserprofile.Navbaruserprofile(user)
// test := []models.McuTabModels{}
tabname, err := mcud.McuDetailServices.GetTabNameList(id)
if err != nil {
return err
}
// tabname, err := mcud.McuDetailServices.GetTabNameList(id)
// if err != nil {
// return err
// }
// logger.Info("List tab name", zap.Any("tav", tabname))
content := corporate_mcudetail.McuDetailScreen(
breadcrumb,
// corporate_mcudetail.TabViewMcuDetail(id),
corporate_mcudetail.McuDetailTabView(id, tabname),
corporate_mcudetail.TabViewMcuDetail(id),
// corporate_mcudetail.McuDetailTabView(id, tabname),
)
css := corporate_mcudetail.CSSMcuDetail(
corporate_tabmcudetail.CssKesimpulan(),
corporate_kesimpulan.CSSKesimpulan(),
)
js := corporate_mcudetail.JSMcuDetail()

View File

@@ -0,0 +1,748 @@
package mcu_corporate_handlers
import (
"cpone/component/pagination"
customtoastv2 "cpone/component/toastbootstrap"
"cpone/models"
"cpone/utils"
corporate_daftarpeserta "cpone/views/corporate/mcu/mcutab/daftarpeserta"
"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 {
SearchDaftarPesertaMCU(mcuID string, keyword string, page int, perPage int) ([]models.ModelMcuDaftarPeserta, int, error)
GenerataPasswordMCU(mgmMCUID string, host string) (models.GeneratePasswordResponse, error)
GetAkunPeserta(patientID string) (models.AuthPatient, error)
GetListReportPesertaV4(orderheaderID string, staffname string) ([]models.TabViewReportMcu, error)
GetListReportPesertaV5(orderheaderID string, mcuid string, staffname string) ([]models.TabViewReportMcu, error)
ResetPasswordPeserta(token string, newPassword string, email string, authuserid string) (models.ResponseStatus, error)
DetailTestdanPaket(orderheaderID string) ([]models.TableTestPaket, error)
GetListAttachmentFile(orderheaderID string) ([]models.AttachmentFIle, error)
}
type TabDaftarPesertaHandlers struct {
TabDaftarPesertaServices TabDaftarPesertaServices
}
func NewTabDaftarPesertaHandlers(tdp TabDaftarPesertaServices) *TabDaftarPesertaHandlers {
return &TabDaftarPesertaHandlers{TabDaftarPesertaServices: tdp}
}
func (tdp *TabDaftarPesertaHandlers) HandleShowTabDaftarPeserta(c echo.Context) error {
logger, _ := zap.NewProduction()
table_id := utils.GenerateRandomID("table-id")
pagination_id := utils.GenerateRandomID("pagination-id")
dialog_rpt_id := utils.GenerateRandomID("dialog-rpt-id")
dialog_rptbody_id := utils.GenerateRandomID("dialog-rptbody-id")
dialog_akun_id := utils.GenerateRandomID("dialog-akun-id")
dialog_akunbody_id := utils.GenerateRandomID("dialog-akunbody-id")
dialog_password_id := utils.GenerateRandomID("dialog-password-id")
dialog_passbody_id := utils.GenerateRandomID("dialog-passbody-id")
dialog_attach_id := utils.GenerateRandomID("dialog-attach-id")
dialog_attachbody_id := utils.GenerateRandomID("dialog-attachbody-id")
dialog_paket_id := utils.GenerateRandomID("dialog-paket-id")
dialog_paketbody_id := utils.GenerateRandomID("dialog-paketbody-id")
id := c.Param("id")
logger.Info("mgm_mcu", zap.Any("id", id))
data_peserta, total_peserta, err := tdp.TabDaftarPesertaServices.SearchDaftarPesertaMCU(id, "", 1, 10)
if err != nil {
return err
}
hxinclude := "#search-daftar-peserta, #table-id, #pagination-id, #dialog-rpt-id, #dialog-rptbody-id, #dialog-akun-id, #dialog-akunbody-id, #dialog-password-id, #dialog-passbody-id, #dialog-attach-id, #dialog-attachbody-id, #dialog-paket-id, #dialog-paketbody-id"
table := corporate_daftarpeserta.Table_DaftarPeserta(
data_peserta, table_id,
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/openreport",
"#"+dialog_rptbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/opendetail",
"#"+dialog_paketbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/openviewakun",
"#"+dialog_akunbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/openattachment",
"#"+dialog_attachbody_id, hxinclude, "outerHTML",
)
page := pagination.PaginationV3(
total_peserta, 1, "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/changepage", pagination_id,
"#search-daftar-peserta, #loading-parent, #loading-child, #loading-spinner, #loadingcontent"+hxinclude,
"#content-dp", "outerHTML", "", "", corporate_daftarpeserta.BeforeRequestContent(), corporate_daftarpeserta.AfterRequestContent(),
)
dp_layout := corporate_daftarpeserta.Content(table, page)
filtercomp := corporate_daftarpeserta.Filter_DaftarPeserta(
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/filter",
"#content-dp",
"#search-daftar-peserta, #loading-parent, #loading-child, #loading-spinner, #loadingcontent"+hxinclude,
"outerHTML", "input changed delay:500ms", corporate_daftarpeserta.BeforeRequestContent(), corporate_daftarpeserta.AfterRequestContent(),
)
// dialog rpt peserta
l_rpt := []models.TabViewReportMcu{}
t_rpt := corporate_daftarpeserta.Tab_RPT(l_rpt)
body_rpt := corporate_daftarpeserta.Body_RPT(dialog_rptbody_id, t_rpt, corporate_daftarpeserta.JSShowModal(""))
close_rpt := corporate_daftarpeserta.Close_Modal("#" + dialog_rpt_id)
aksi_rpt := corporate_daftarpeserta.Aksi_Modal("", "", "", "", true)
dialog_rpt := corporate_daftarpeserta.Dialog_DaftarPeserta(
"rptform", "xl",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/dialogreport",
"#"+dialog_rptbody_id, "outerHTML", hxinclude, dialog_rpt_id,
"Daftar RPT", body_rpt, close_rpt, aksi_rpt,
)
// dialog generate password peserta
text := "Apakah anda yakin untuk me-generate password untuk seluruh peserta"
body_genpass := corporate_daftarpeserta.Body_GenPass(dialog_passbody_id, text, corporate_daftarpeserta.JSShowModal(""))
close_genpass := corporate_daftarpeserta.Close_Modal("#" + dialog_password_id)
aksi_genpass := corporate_daftarpeserta.Aksi_Modal(
"#"+dialog_password_id,
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/closegenpass",
"#"+dialog_passbody_id, "outerHTML", false,
)
dialog_genpass := corporate_daftarpeserta.Dialog_DaftarPeserta(
"genpassform", "",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/dialoggenpass",
"#"+dialog_passbody_id, "outerHTML", hxinclude,
dialog_password_id, "Generate Passsword Akun Peserta",
body_genpass, close_genpass, aksi_genpass,
)
// dialog reset akun peserta
body_acc := corporate_daftarpeserta.Body_Account(
dialog_akunbody_id,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Type: "hidden",
ID: "akunpesertaidid",
},
models.CustomTextFieldv2Prm{
Label: "Email",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
},
corporate_daftarpeserta.JSShowModal(""),
)
close_acc := corporate_daftarpeserta.Close_Modal("#" + dialog_akun_id)
aksi_acc := corporate_daftarpeserta.Aksi_Modal(
"#"+dialog_akun_id,
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/closeviewakun",
"#"+dialog_akunbody_id, "outerHTML", false,
)
dialog_acc := corporate_daftarpeserta.Dialog_DaftarPeserta(
"akunform", "",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/viewakun",
"#"+dialog_akunbody_id, "outerHTML", hxinclude,
dialog_akun_id, "Reset Password Akun Peserta", body_acc, close_acc, aksi_acc,
)
// dialog detail paket dan test peserta
l_detail, err := tdp.TabDaftarPesertaServices.DetailTestdanPaket("")
if err != nil {
return err
}
t_detail := corporate_daftarpeserta.Table_DetailPaket(l_detail)
body_paket := corporate_daftarpeserta.Body_Detail(dialog_paketbody_id, t_detail, corporate_daftarpeserta.JSShowModal(""))
close_paket := corporate_daftarpeserta.Close_Modal("#" + dialog_paket_id)
aksi_paket := corporate_daftarpeserta.Aksi_Modal(
"#"+dialog_paket_id,
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/closedetail",
"#"+dialog_paketbody_id, "outerHTML", true,
)
dialog_paket := corporate_daftarpeserta.Dialog_DaftarPeserta(
"detailpaketform", "xl",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/dialogdetail",
"#"+dialog_paketbody_id, "outerHTML", hxinclude,
dialog_paket_id, "Detail Pemeriksaan", body_paket, close_paket, aksi_paket,
)
// dialog file attachment peserta
l_file, err := tdp.TabDaftarPesertaServices.GetListAttachmentFile("")
if err != nil {
return err
}
t_file := corporate_daftarpeserta.Tab_Attachment(l_file)
body_file := corporate_daftarpeserta.Body_Attachment(dialog_attachbody_id, t_file, corporate_daftarpeserta.JSShowModal(""))
close_file := corporate_daftarpeserta.Close_Modal("#" + dialog_attach_id)
aksi_file := corporate_daftarpeserta.Aksi_Modal(
"#"+dialog_attach_id,
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/closeattachment",
"#"+dialog_attachbody_id, "outerHTML", true,
)
dialog_file := corporate_daftarpeserta.Dialog_DaftarPeserta(
"attachmentform", "xl",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/dialogattachment",
"#"+dialog_attachbody_id, "outerHTML", hxinclude,
dialog_attach_id, "Detail Attachment", body_file, close_file, aksi_file,
)
tabdaftarpeserta := corporate_daftarpeserta.DaftarPesertaScreen(
table_id,
pagination_id,
dialog_rpt_id,
dialog_rptbody_id,
dialog_rpt,
dialog_akun_id,
dialog_akunbody_id,
dialog_acc,
dialog_password_id,
dialog_passbody_id,
dialog_genpass,
dialog_paket_id,
dialog_paketbody_id,
dialog_paket,
dialog_attach_id,
dialog_attachbody_id,
dialog_file,
dp_layout,
filtercomp,
)
return utils.View(c, tabdaftarpeserta)
}
func (tdp *TabDaftarPesertaHandlers) HandlePagination(c echo.Context) error {
pageparam := c.QueryParam("page")
table_id := c.QueryParam("table-id")
pagination_id := c.QueryParam("pagination-id")
keyword := c.QueryParam("searchdp")
mcu_id := c.Param("id")
dialog_rptbody_id := c.QueryParam("dialog-rptbody-id")
dialog_paketbody_id := c.QueryParam("dialog-paketbody-id")
dialog_akunbody_id := c.QueryParam("dialog-akunbody-id")
dialog_attachbody_id := c.QueryParam("dialog-attachbody-id")
page, err := strconv.Atoi(pageparam)
if err != nil {
return err
}
peserta, total, err := tdp.TabDaftarPesertaServices.SearchDaftarPesertaMCU(mcu_id, keyword, page, 10)
if err != nil {
return err
}
hxinclude := "#search-daftar-peserta, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #table-id, #pagination-id, #dialog-rpt-id, #dialog-rptbody-id, #dialog-akun-id, #dialog-akunbody-id, #dialog-password-id, #dialog-passbody-id, #dialog-attach-id, #dialog-attachbody-id, #dialog-paket-id, #dialog-paketbody-id"
table := corporate_daftarpeserta.Table_DaftarPeserta(
peserta, table_id,
"/corp/dashboard_pic/detail/"+mcu_id+"/tabdaftarpeserta/openreport",
"#"+dialog_rptbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+mcu_id+"/tabdaftarpeserta/opendetail",
"#"+dialog_paketbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+mcu_id+"/tabdaftarpeserta/openviewakun",
"#"+dialog_akunbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+mcu_id+"/tabdaftarpeserta/openattachment",
"#"+dialog_attachbody_id, hxinclude, "outerHTML",
)
paginat := pagination.PaginationV3(
total, page, "/corp/dashboard_pic/detail/"+mcu_id+"/tabdaftarpeserta/changepage", pagination_id,
hxinclude, "#content-dp", "outerHTML", "", "", corporate_daftarpeserta.BeforeRequestContent(), corporate_daftarpeserta.AfterRequestContent(),
)
layout := corporate_daftarpeserta.Content(table, paginat)
return utils.View(c, layout)
}
func (tdp *TabDaftarPesertaHandlers) HandleFilter(c echo.Context) error {
keyword := c.QueryParam("searchdp")
mcuid := c.Param("id")
table_id := c.QueryParam("table-id")
paginat_id := c.QueryParam("pagination-id")
dialog_rptbody_id := c.QueryParam("dialog-rptbody-id")
dialog_paketbody_id := c.QueryParam("dialog-paketbody-id")
dialog_akunbody_id := c.QueryParam("dialog-akunbody-id")
dialog_attachbody_id := c.QueryParam("dialog-attachbody-id")
peserta, total, err := tdp.TabDaftarPesertaServices.SearchDaftarPesertaMCU(mcuid, keyword, 1, 10)
if err != nil {
return err
}
hxinclude := "#search-daftar-peserta, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #table-id, #pagination-id, #dialog-rpt-id, #dialog-rptbody-id, #dialog-akun-id, #dialog-akunbody-id, #dialog-password-id, #dialog-passbody-id, #dialog-attach-id, #dialog-attachbody-id, #dialog-paket-id, #dialog-paketbody-id"
table := corporate_daftarpeserta.Table_DaftarPeserta(
peserta, table_id,
"/corp/dashboard_pic/detail/"+mcuid+"/tabdaftarpeserta/openreport",
"#"+dialog_rptbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+mcuid+"/tabdaftarpeserta/opendetail",
"#"+dialog_paketbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+mcuid+"/tabdaftarpeserta/openviewakun",
"#"+dialog_akunbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+mcuid+"/tabdaftarpeserta/openattachment",
"#"+dialog_attachbody_id, hxinclude, "outerHTML",
)
paginat := pagination.PaginationV3(
total, 1, "/corp/dashboard_pic/detail/"+mcuid+"/tabdaftarpeserta/changepage", paginat_id,
hxinclude, "#content-dp", "outerHTML", "", "", corporate_daftarpeserta.BeforeRequestContent(), corporate_daftarpeserta.AfterRequestContent(),
)
content := corporate_daftarpeserta.Content(table, paginat)
return utils.View(c, content)
}
func (tdp *TabDaftarPesertaHandlers) HandleOpenReportDialog(c echo.Context) error {
logger, _ := zap.NewProduction()
user_token := c.Get("user").(*jwt.Token)
claims := user_token.Claims.(jwt.MapClaims)
staffname := claims["M_StaffName"].(string)
mcuid := c.Param("id")
orderheaderid := c.QueryParam("idx")
dialog_rpt_id := c.QueryParam("dialog-rpt-id")
dialog_rptbody_id := c.QueryParam("dialog-rptbody-id")
logger.Info("show rpt by: ", zap.Any("orderheaderid", orderheaderid))
// rpt_dialog, err := tdp.TabDaftarPesertaServices.GetListReportPesertaV4(orderheaderid, staffname)
rpt_dialog, err := tdp.TabDaftarPesertaServices.GetListReportPesertaV5(orderheaderid, mcuid, staffname)
if err != nil {
logger.Error("Error get rpt", zap.Any("error: ", err))
tab := corporate_daftarpeserta.Tab_RPT([]models.TabViewReportMcu{})
mod := corporate_daftarpeserta.Body_RPT(dialog_rptbody_id, tab, corporate_daftarpeserta.JSShowModal("#"+dialog_rpt_id))
return utils.View(c, mod)
}
comp := corporate_daftarpeserta.Tab_RPT(rpt_dialog)
body := corporate_daftarpeserta.Body_RPT(dialog_rptbody_id, comp, corporate_daftarpeserta.JSShowModal("#"+dialog_rpt_id))
return utils.View(c, body)
}
func (tdp *TabDaftarPesertaHandlers) HandleDialogGenPass(c echo.Context) error {
id := c.Param("id")
dialog_rpt_id := c.QueryParam("dialog-rpt-id")
dialog_rptbody_id := c.QueryParam("dialog-rptbody-id")
dialog_paket_id := c.QueryParam("dialog-paket-id")
dialog_paketbody_id := c.QueryParam("dialog-paketbody-id")
dialog_akun_id := c.QueryParam("dialog-akun-id")
dialog_akunbody_id := c.QueryParam("dialog-akunbody-id")
dialog_attach_id := c.QueryParam("dialog-attach-id")
dialog_attachbody_id := c.QueryParam("dialog-attachbody-id")
dialog_password_id := c.FormValue("dialog-password-id")
dialog_passbody_id := c.FormValue("dialog-passbody-id")
table_id := c.FormValue("table-id")
paginat_id := c.FormValue("pagination-id")
pageparam := c.FormValue("currpage" + paginat_id)
msg := "Apakah anda yakin untuk me-generate password untuk seluruh peserta"
resp, err := tdp.TabDaftarPesertaServices.GenerataPasswordMCU(id, "")
if err != nil {
body_pass := corporate_daftarpeserta.Body_GenPass(dialog_passbody_id, msg, corporate_daftarpeserta.JSShowModal(""))
toast := customtoastv2.CustomToastV2Show("Warning", "Gagal generate password peserta", "warning")
ret := []templ.Component{toast, body_pass}
return utils.ViewMulti(c, ret)
}
if resp.Status != "OK" {
body_pass := corporate_daftarpeserta.Body_GenPass(dialog_passbody_id, msg, corporate_daftarpeserta.JSShowModal(""))
toast := customtoastv2.CustomToastV2Show("Warning", "Gagal generate password peserta", "warning")
ret := []templ.Component{toast, body_pass}
return utils.ViewMulti(c, ret)
}
aa := "/corp/dashboard_pic/detail/" + id + "/tabdaftarpeserta/reload?page=" + pageparam
bb := "&table-id=" + table_id
cc := "&pagination-id=" + paginat_id
dd := "&dialog-rpt-id=" + dialog_rpt_id
ee := "&dialog-rptbody-id=" + dialog_rptbody_id
ff := "&dialog-password-id=" + dialog_password_id
gg := "&dialog-passbody-id=" + dialog_passbody_id
hh := "&dialog-akun-id=" + dialog_akun_id
ii := "&dialog-akunbody-id=" + dialog_akunbody_id
jj := "&dialog-attach-id=" + dialog_attach_id + "&dialog-attachbody-id=" + dialog_attachbody_id
kk := "&dialog-paket-id=" + dialog_paket_id + "&dialog-paketbody-id" + dialog_paketbody_id
ll := "&currpage" + paginat_id + "=" + pageparam
link := aa + bb + cc + dd + ee + ff + gg + hh + ii + jj + kk + ll
body_pass := corporate_daftarpeserta.Body_GenPass(dialog_passbody_id, msg, corporate_daftarpeserta.JSGenPassReload("#"+dialog_password_id, link))
msg = "Success generate password.\n" + resp.Message + " password, telah dikirim melalui email peserta"
toastt := customtoastv2.CustomToastV2Show("Success", msg, "success")
ret := []templ.Component{toastt, body_pass}
return utils.ViewMulti(c, ret)
}
func (tdp *TabDaftarPesertaHandlers) HandleCloseDialogGenPass(c echo.Context) error {
dialog_password_id := c.FormValue("dialog-password-id")
dialog_passbody_id := c.FormValue("dialog-passbody-id")
msg := "Apakah anda yakin untuk me-generate password untuk seluruh peserta"
body_pass := corporate_daftarpeserta.Body_GenPass(dialog_passbody_id, msg, corporate_daftarpeserta.JSHideModal("#"+dialog_password_id))
return utils.View(c, body_pass)
}
func (tdp *TabDaftarPesertaHandlers) HandleContentReload(c echo.Context) error {
id := c.Param("id")
keyword := c.FormValue("searchdp")
dialog_rptbody_id := c.QueryParam("dialog-rptbody-id")
dialog_paketbody_id := c.QueryParam("dialog-paketbody-id")
dialog_akunbody_id := c.QueryParam("dialog-akunbody-id")
dialog_attachbody_id := c.QueryParam("dialog-attachbody-id")
table_id := c.FormValue("table-id")
pagination_id := c.FormValue("pagination-id")
pageparam := c.FormValue("currpage" + pagination_id)
currpage, err := strconv.Atoi(pageparam)
if err != nil {
return err
}
peserta, total, err := tdp.TabDaftarPesertaServices.SearchDaftarPesertaMCU(id, keyword, currpage, 10)
if err != nil {
return err
}
hxinclude := "#search-daftar-peserta, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #table-id, #pagination-id, #dialog-rpt-id, #dialog-rptbody-id, #dialog-akun-id, #dialog-akunbody-id, #dialog-password-id, #dialog-passbody-id, #dialog-attach-id, #dialog-attachbody-id, #dialog-paket-id, #dialog-paketbody-id"
table := corporate_daftarpeserta.Table_DaftarPeserta(
peserta, table_id,
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/openreport",
"#"+dialog_rptbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/opendetail",
"#"+dialog_paketbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/openviewakun",
"#"+dialog_akunbody_id, hxinclude, "outerHTML",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/openattachment",
"#"+dialog_attachbody_id, hxinclude, "outerHTML",
)
pagination := pagination.PaginationV3(
total, currpage, "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/changepage", pagination_id,
hxinclude, "#content-dp", "outerHTML", "", "", corporate_daftarpeserta.BeforeRequestContent(), corporate_daftarpeserta.AfterRequestContent(),
)
clayout := corporate_daftarpeserta.Content(table, pagination)
return utils.View(c, clayout)
}
func (tdp *TabDaftarPesertaHandlers) HandleOpenViewAkun(c echo.Context) error {
patient_id := c.QueryParam("patid")
dialog_akun_id := c.QueryParam("dialog-akun-id")
dialog_akunbody_id := c.QueryParam("dialog-akunbody-id")
akun, err := tdp.TabDaftarPesertaServices.GetAkunPeserta(patient_id)
if err != nil {
body := corporate_daftarpeserta.Body_Account(
dialog_akunbody_id,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Type: "hidden",
ID: "akunpesertaidid",
},
models.CustomTextFieldv2Prm{
Label: "Email",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
},
corporate_daftarpeserta.JSShowModal(""),
)
toast := customtoastv2.CustomToastV2Show("Warning", "Gagal mengambil data peserta", "warning")
ret := []templ.Component{toast, body}
return utils.ViewMulti(c, ret)
}
body := corporate_daftarpeserta.Body_Account(
dialog_akunbody_id,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Type: "hidden",
ID: "akunpesertaidid",
Value: strconv.Itoa(akun.AuthPatientID),
},
models.CustomTextFieldv2Prm{
Label: "Email",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
Value: akun.AuthPatientEmail,
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
Placeholder: "Masukan password baru",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
Placeholder: "Masukan password baru",
},
corporate_daftarpeserta.JSShowModal("#"+dialog_akun_id),
)
return utils.View(c, body)
}
func (tdp *TabDaftarPesertaHandlers) HandleCloseViewAkun(c echo.Context) error {
dialog_akun_id := c.QueryParam("dialog-akun-id")
dialog_akunbody_id := c.QueryParam("dialog-akunbody-id")
body := corporate_daftarpeserta.Body_Account(
dialog_akunbody_id,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Type: "hidden",
ID: "akunpesertaidid",
},
models.CustomTextFieldv2Prm{
Label: "Email",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
},
corporate_daftarpeserta.JSHideModal("#"+dialog_akun_id),
)
return utils.View(c, body)
}
func (tdp *TabDaftarPesertaHandlers) HandleAkun(c echo.Context) error {
user_token := c.Get("user").(*jwt.Token)
token := user_token.Raw
// patient_id := c.QueryParam("patid")
dialog_akun_id := c.QueryParam("dialog-akun-id")
dialog_akunbody_id := c.QueryParam("dialog-akunbody-id")
akunID := c.FormValue("akunpesertaid")
akunEmail := c.FormValue("akunpesertaemail")
newPass := c.FormValue("akunpesertapassnew")
newPasscek := c.FormValue("akunpesertapasscek")
formValidation := ""
newValidation := ""
cekValidation := ""
if strings.TrimSpace(newPass) == "" {
formValidation = "Password tidak boleh kosong"
newValidation = "Password tidak boleh kosong"
}
if strings.TrimSpace(newPasscek) == "" {
formValidation = "Password tidak boleh kosong"
cekValidation = "Password tidak boleh kosong"
}
if strings.TrimSpace(newPass) == "" && strings.TrimSpace(newPasscek) == "" {
formValidation = "Password baru tidak boleh kosong"
newValidation = "Password baru tidak boleh kosong"
cekValidation = "Password baru tidak boleh kosong"
}
if strings.TrimSpace(newPass) != strings.TrimSpace(newPasscek) {
formValidation = "Password tidak sama"
newValidation = "Password tidak sama"
cekValidation = "Password tidak sama"
}
if formValidation != "" || newValidation != "" || cekValidation != "" {
body := corporate_daftarpeserta.Body_Account(
dialog_akunbody_id,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Type: "hidden",
ID: "akunpesertaidid",
Value: akunID,
},
models.CustomTextFieldv2Prm{
Label: "Email",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
Value: akunEmail,
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
ErrorMsg: newValidation,
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
ErrorMsg: cekValidation,
},
corporate_daftarpeserta.JSShowModal(""),
)
toast := customtoastv2.CustomToastV2Show("Warning", formValidation, "warning")
ret := []templ.Component{toast, body}
return utils.ViewMulti(c, ret)
}
resp, err := tdp.TabDaftarPesertaServices.ResetPasswordPeserta(token, newPass, akunEmail, akunID)
body_err := corporate_daftarpeserta.Body_Account(
dialog_akunbody_id,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Type: "hidden",
ID: "akunpesertaidid",
Value: akunID,
},
models.CustomTextFieldv2Prm{
Label: "Email",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
Value: akunEmail,
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
},
corporate_daftarpeserta.JSShowModal(""),
)
if err != nil {
toastt := customtoastv2.CustomToastV2Show("Warning", err.Error(), "warning")
return utils.ViewMulti(c, []templ.Component{toastt, body_err})
}
if resp.Status == "ERR" {
toastt := customtoastv2.CustomToastV2Show("Warning", resp.Message, "warning")
return utils.ViewMulti(c, []templ.Component{toastt, body_err})
}
body_scs := corporate_daftarpeserta.Body_Account(
dialog_akunbody_id,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Type: "hidden",
ID: "akunpesertaidid",
},
models.CustomTextFieldv2Prm{
Label: "Email",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
},
corporate_daftarpeserta.JSHideModal("#"+dialog_akun_id),
)
toasttt := customtoastv2.CustomToastV2Show("Success", "Berhasil reset password peserta", "success")
return utils.ViewMulti(c, []templ.Component{toasttt, body_scs})
}
func (tdp *TabDaftarPesertaHandlers) HandleOpenDetail(c echo.Context) error {
idx := c.QueryParam("idx")
dialog_paket_id := c.QueryParam("dialog-paket-id")
dialog_paketbody_id := c.QueryParam("dialog-paketbody-id")
paket, err := tdp.TabDaftarPesertaServices.DetailTestdanPaket(idx)
if err != nil {
toastt := customtoastv2.CustomToastV2Show("Warning", "error get data", "error")
tab := corporate_daftarpeserta.Table_DetailPaket([]models.TableTestPaket{})
mod := corporate_daftarpeserta.Body_Detail(dialog_paketbody_id, tab, corporate_daftarpeserta.JSHideModal("#"+dialog_paket_id))
return utils.ViewMulti(c, []templ.Component{toastt, mod})
}
table := corporate_daftarpeserta.Table_DetailPaket(paket)
body := corporate_daftarpeserta.Body_Detail(dialog_paketbody_id, table, corporate_daftarpeserta.JSShowModal("#"+dialog_paket_id))
return utils.View(c, body)
}
func (tdp *TabDaftarPesertaHandlers) HandleOpenAttachmentFile(c echo.Context) error {
idx := c.QueryParam("idx")
dialog_attach_id := c.QueryParam("dialog-attach-id")
dialog_attachbody_id := c.QueryParam("dialog-attachbody-id")
file, err := tdp.TabDaftarPesertaServices.GetListAttachmentFile(idx)
if err != nil {
toastt := customtoastv2.CustomToastV2Show("Error", "error get data", "error")
tab := corporate_daftarpeserta.Tab_Attachment([]models.AttachmentFIle{})
mod := corporate_daftarpeserta.Body_Attachment(dialog_attachbody_id, tab, corporate_daftarpeserta.JSHideModal("#"+dialog_attach_id))
return utils.ViewMulti(c, []templ.Component{toastt, mod})
}
tab := corporate_daftarpeserta.Tab_Attachment(file)
body := corporate_daftarpeserta.Body_Attachment(dialog_attachbody_id, tab, corporate_daftarpeserta.JSShowModal("#"+dialog_attach_id))
return utils.View(c, body)
}

View File

@@ -1,805 +0,0 @@
package mcu_corporate_handlers
import (
"cpone/component/pagination"
customtoastv2 "cpone/component/toastbootstrap"
"cpone/models"
"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 {
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)
GetListReportPesertaV4(orderheaderID string, staffname string) ([]models.TabViewReportMcu, error)
ResetPasswordPeserta(token string, newPassword string, email string, authuserid string) (models.ResponseStatus, error)
DetailTestdanPaket(orderheaderID string) ([]models.TableTestPaket, error)
}
type TabDaftarPesertaHandlers struct {
TabDaftarPesertaServices TabDaftarPesertaServices
}
func NewTabDaftarPesertaHandlers(tdp TabDaftarPesertaServices) *TabDaftarPesertaHandlers {
return &TabDaftarPesertaHandlers{
TabDaftarPesertaServices: tdp,
}
}
func (tdp *TabDaftarPesertaHandlers) HandleShowTabDaftarPeserta(c echo.Context) error {
logger, _ := zap.NewProduction()
title := "Daftar Report"
tableID := utils.GenerateRandomID("tableid")
paginationID := utils.GenerateRandomID("paginationID")
dialogReportID := utils.GenerateRandomID("dialogreportid")
dialogReportBodyID := utils.GenerateRandomID("dialogreportbodyid")
dialogGeneratePassID := utils.GenerateRandomID("generatepasswordID")
dialogGeneratePassBodyID := utils.GenerateRandomID("generatepasswordBodyID")
dialogAkunID := utils.GenerateRandomID("dialogakunID")
dialogAkunBodyID := utils.GenerateRandomID("dialogakunbodyID")
dialogDetailID := utils.GenerateRandomID("dialogdetailID")
dialogDetailBodyID := utils.GenerateRandomID("dialogdetailBodyID")
id := c.Param("id")
logger.Info("Params", zap.Any("id", id))
dataTable, totalPage, err := tdp.TabDaftarPesertaServices.GetListDaftarPesertaMCU(id, 1, 10)
if err != nil {
return err
}
table := corporate_mcudetail.TableDaftarPeserta(
dataTable,
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",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/opendetail",
"#"+dialogDetailBodyID,
"#tableID, #paginationID, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID, #dialogDetailID, #dialogDetailBodyID",
"outerHTML",
)
pagination := pagination.PaginationV3(
totalPage,
1,
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/changepage",
paginationID,
"#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID",
"#contentlayout",
"outerHTML", "", "",
corporate_mcudetail.BeforeRequestContent(),
corporate_mcudetail.AfterRequestContent(),
)
clayout := corporate_mcudetail.ContentLayout(
table,
pagination,
)
// modal dialog tab rpt
tabData := []models.TabViewReportMcu{}
tabview := corporate_mcudetail.TabReportView(tabData)
bodymodal := corporate_mcudetail.ModalRptBody(
dialogReportBodyID,
tabview,
corporate_mcudetail.JsShowModal(""),
)
closemodal := corporate_mcudetail.ModalClose(
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/closereport",
"#"+dialogReportBodyID,
"outerHTML",
"#"+dialogReportID,
)
modaldialog := corporate_mcudetail.DialogReport(
"generatepasswordform",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/dialogreport",
"#"+dialogReportBodyID,
"outerHTML",
"#tableID, #paginationID, #dialogAkunID, #dialogAkunBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogReportID, #dialogReportBodyID"+paginationID,
dialogReportID,
title,
bodymodal,
closemodal,
)
// dialog generate password
modalGenPassBody := corporate_mcudetail.ModalGenPassBody(
dialogGeneratePassBodyID,
"Apakah anda yakin untuk men-generate password untuk seluruh karyawan",
corporate_mcudetail.JsShowModal(""),
)
closeGenPass := corporate_mcudetail.ModalClose(
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/closegenpass",
"#"+dialogGeneratePassBodyID,
"outerHTML",
"#"+dialogGeneratePassID,
)
actionGenPass := corporate_mcudetail.ModalGenPassAction(
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/closegenpass",
"#"+dialogGeneratePassBodyID,
"outerHTML",
"#"+dialogGeneratePassID,
)
modalGenPass := corporate_mcudetail.DialogGeneratePass(
"",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/dialoggenpass",
"#"+dialogGeneratePassBodyID,
"outerHTML",
"#tableID, #paginationID, #contentlayout, #dialogAkunID, #dialogAkunBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogReportID, #dialogReportBodyID, #currpage"+paginationID,
dialogGeneratePassID,
"Generate Password MCU",
modalGenPassBody,
closeGenPass,
actionGenPass,
)
// dialog view akun
dialogAkunBody := corporate_mcudetail.ModalViewAkunBody(
dialogAkunBodyID,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Placeholder: "ID Akun Peserta",
Type: "hidden",
ID: "akunpesertaidid",
},
models.CustomTextFieldv2Prm{
Label: "Email",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
},
corporate_mcudetail.JsShowModal(""),
)
dialogAkunClose := corporate_mcudetail.ModalClose(
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/closeviewakun",
"#"+dialogAkunBodyID,
"outerHTML",
"#"+dialogAkunID,
)
dialogAkunAction := corporate_mcudetail.ModalGenPassAction(
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/closeviewakun",
"#"+dialogAkunBodyID,
"outerHTML",
"#"+dialogAkunID,
)
dialogAkunView := corporate_mcudetail.DialogGeneratePass(
"viewakunform",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/viewakun",
"#"+dialogAkunBodyID,
"outerHTML",
"#tableID, #paginationID, #dialogAkunID, #contentlayout, #dialogAkunBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogReportID, #dialogReportBodyID, #currpage"+paginationID,
dialogAkunID,
"Reset Password Akun Peserta",
dialogAkunBody,
dialogAkunClose,
dialogAkunAction,
)
// dialog detali pemeriksaan
detailData, err := tdp.TabDaftarPesertaServices.DetailTestdanPaket("")
if err != nil {
return err
}
detailTable := corporate_mcudetail.TableDetailMCU(detailData)
dialodDetailBody := corporate_mcudetail.ModalRptBody(
dialogDetailBodyID,
detailTable,
corporate_mcudetail.JsShowModal(""),
)
closeDetail := corporate_mcudetail.ModalClose(
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/closedetail",
"#"+dialogDetailBodyID,
"outerHTML",
"#"+dialogDetailID,
)
modalDetail := corporate_mcudetail.DialogReport(
"detailmcu",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/dialogdetail",
"#"+dialogDetailBodyID,
"outerHTML",
"#tableID, #paginationID, #dialogAkunID, #dialogAkunBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogReportID, #dialogReportBodyID"+paginationID,
dialogDetailID,
"Detail Pemeriksaan",
dialodDetailBody,
closeDetail,
)
content := corporate_mcudetail.TabDaftarPesertaScreen(
tableID,
paginationID,
dialogReportID,
dialogReportBodyID,
dialogGeneratePassID,
dialogGeneratePassBodyID,
dialogAkunID,
dialogAkunBodyID,
dialogDetailID,
dialogDetailBodyID,
clayout,
modaldialog,
modalGenPass,
dialogAkunView,
modalDetail,
)
return utils.View(c, content)
}
func (tdp *TabDaftarPesertaHandlers) HandlePagination(c echo.Context) error {
pageparam := c.QueryParam("page")
tableID := c.QueryParam("tableID")
paginationID := c.QueryParam("paginationID")
dialogReportBodyID := c.QueryParam("dialogReportBodyID")
dialogAkunBodyID := c.QueryParam("dialogAkunBodyID")
dialogDetailBodyID := c.QueryParam("dialogDetailBodyID")
id := c.Param("id")
// var retval []templ.Component
page, err := strconv.Atoi(pageparam)
if err != nil {
return err
}
tableData, totalPage, err := tdp.TabDaftarPesertaServices.GetListDaftarPesertaMCU(id, page, 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",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/opendetail",
"#"+dialogDetailBodyID,
"#tableID, #paginationID, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID, #dialogDetailID, #dialogDetailBodyID",
"outerHTML",
)
pagination := pagination.PaginationV3(
totalPage,
page,
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/changepage",
paginationID,
"#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #dialogDetailID, #dialogDetailBodyID, #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)
}
func (tdp *TabDaftarPesertaHandlers) HandleOpenReportDialog(c echo.Context) error {
logger, _ := zap.NewProduction()
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))
tabdatav3, err := tdp.TabDaftarPesertaServices.GetListReportPesertaV4(idx, staffname)
if err != nil {
logger.Info("error", zap.Any("err", err))
tab := corporate_mcudetail.TabReportView([]models.TabViewReportMcu{})
mod := corporate_mcudetail.ModalRptBody(
dialogReportBodyID,
tab,
corporate_mcudetail.JsShowModal(""),
)
return utils.View(c, mod)
}
logger.Info("resp new data", zap.Any("data", tabdatav3))
tabcomponent := corporate_mcudetail.TabReportView(tabdatav3)
modalbody := corporate_mcudetail.ModalRptBody(
dialogReportBodyID,
tabcomponent,
corporate_mcudetail.JsShowModal("#"+dialogReportID),
)
return utils.View(c, modalbody)
}
func (tdp *TabDaftarPesertaHandlers) HandleCloseDialogGenPass(c echo.Context) error {
logger, _ := zap.NewProduction()
id := c.Param("id")
dialogGenPassID := c.FormValue("dialogGenPassID")
dialogGenPassBodyID := c.FormValue("dialogGenPassBodyID")
logger.Info("param", zap.Any("id", id))
modalDialogGenPass := corporate_mcudetail.ModalGenPassBody(
dialogGenPassBodyID,
"Apakah anda yakin untuk men-generate password untuk seluruh karyawan",
corporate_mcudetail.JsHideModal("#"+dialogGenPassID),
)
return utils.View(c, modalDialogGenPass)
}
func (tdp *TabDaftarPesertaHandlers) HandleDialogGenPass(c echo.Context) error {
// 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 {
modalDialogGenPass := corporate_mcudetail.ModalGenPassBody(
dialogGenPassBodyID,
"Apakah anda yakin untuk men-generate password untuk seluruh karyawan",
corporate_mcudetail.JsShowModal(""),
)
toastwarning := customtoastv2.CustomToastV2Show("Warning", "Gagal generate password", "warning")
retVal := []templ.Component{toastwarning, modalDialogGenPass}
return utils.ViewMulti(c, retVal)
}
if resp.Status != "OK" {
modalDialogGenPass := corporate_mcudetail.ModalGenPassBody(
dialogGenPassBodyID,
"Apakah anda yakin untuk men-generate password untuk seluruh karyawan",
corporate_mcudetail.JsShowModal(""),
)
toastwarning := customtoastv2.CustomToastV2Show("Warning", "Gagal generate password MCU", "warning")
retVal := []templ.Component{toastwarning, modalDialogGenPass}
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.JsGenPassReload("#"+dialogGenPassID, link),
)
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)
}
func (tdp *TabDaftarPesertaHandlers) HandleOpenViewAkun(c echo.Context) error {
logger, _ := zap.NewProduction()
patientID := c.QueryParam("patid")
dialogAkunID := c.QueryParam("dialogAkunID")
dialogAkunBodyID := c.QueryParam("dialogAkunBodyID")
logger.Info("params", zap.Any("patid", patientID))
akun, err := tdp.TabDaftarPesertaServices.GetAkunPeserta(patientID)
if err != nil {
dialogAkunBody := corporate_mcudetail.ModalViewAkunBody(
dialogAkunBodyID,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Placeholder: "ID Akun Peserta",
Type: "hidden",
ID: "akunpesertaidid",
Value: patientID,
},
models.CustomTextFieldv2Prm{
Label: "Email Akun",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
},
corporate_mcudetail.JsShowModal("#"+dialogAkunID),
)
toastwarning := customtoastv2.CustomToastV2Show("Warning", "Gagal generate password MCU", "warning")
retval := []templ.Component{toastwarning, dialogAkunBody}
return utils.ViewMulti(c, retval)
}
dialogAkunBody := corporate_mcudetail.ModalViewAkunBody(
dialogAkunBodyID,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Placeholder: "ID Akun Peserta",
Type: "hidden",
ID: "akunpesertaidid",
Value: strconv.Itoa(akun.AuthPatientID),
},
models.CustomTextFieldv2Prm{
Label: "Email Akun",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
Value: akun.AuthPatientEmail,
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
Placeholder: "Masukan password baru",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
Placeholder: "Masukan ulang password baru",
},
corporate_mcudetail.JsShowModal("#"+dialogAkunID),
)
return utils.View(c, dialogAkunBody)
}
func (tdp *TabDaftarPesertaHandlers) HandleCloseViewAkun(c echo.Context) error {
logger, _ := zap.NewProduction()
patientID := c.FormValue("akunpesertaid")
dialogAkunID := c.FormValue("dialogAkunID")
dialogAkunBodyID := c.FormValue("dialogAkunBodyID")
logger.Info("params", zap.Any("patid", patientID))
dialogAkunBody := corporate_mcudetail.ModalViewAkunBody(
dialogAkunBodyID,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Placeholder: "ID Akun Peserta",
Type: "hidden",
ID: "akunpesertaidid",
},
models.CustomTextFieldv2Prm{
Label: "Email Akun",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
},
corporate_mcudetail.JsHideModal("#"+dialogAkunID),
)
return utils.View(c, dialogAkunBody)
}
func (tdp *TabDaftarPesertaHandlers) HandleAkun(c echo.Context) error {
logger, _ := zap.NewProduction()
userToken := c.Get("user").(*jwt.Token)
token := userToken.Raw
patientID := c.FormValue("akunpesertaid")
dialogAkunID := c.FormValue("dialogAkunID")
dialogAkunBodyID := c.FormValue("dialogAkunBodyID")
logger.Info("params", zap.Any("patid", patientID))
akunID := c.FormValue("akunpesertaid")
akunEmail := c.FormValue("akunpesertaemail")
oldPass := c.FormValue("akunpesertapassold")
newPass := c.FormValue("akunpesertapassnew")
newPasscek := c.FormValue("akunpesertapasscek")
formValidation := ""
newValidation := ""
cekValidation := ""
if strings.TrimSpace(newPass) == "" {
formValidation = "Password tidak boleh kosong"
newValidation = "Password tidak boleh kosong"
}
if strings.TrimSpace(newPasscek) == "" {
formValidation = "Password tidak boleh kosong"
cekValidation = "Password tidak boleh kosong"
}
if strings.TrimSpace(oldPass) == "" && strings.TrimSpace(newPass) == "" && strings.TrimSpace(newPasscek) == "" {
formValidation = "Password lama dan baru tidak boleh kosong"
newValidation = "Password baru tidak boleh kosong"
cekValidation = "Password baru tidak boleh kosong"
}
if strings.TrimSpace(newPass) != strings.TrimSpace(newPasscek) {
formValidation = "Password tidak sama"
newValidation = "Password tidak sama"
cekValidation = "Password tidak sama"
}
if formValidation != "" || newValidation != "" || cekValidation != "" {
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,
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
Placeholder: "Masukan password baru",
ErrorMsg: newValidation,
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
Placeholder: "Masukan ulang password baru",
ErrorMsg: cekValidation,
},
corporate_mcudetail.JsShowModal(""),
)
toastwarning := customtoastv2.CustomToastV2Show("Warning", formValidation, "warning")
retVal := []templ.Component{toastwarning, dialogAkunBody}
return utils.ViewMulti(c, retVal)
}
resp, err := tdp.TabDaftarPesertaServices.ResetPasswordPeserta(token, newPass, akunEmail, akunID)
dialogAkunErr := 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,
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
Placeholder: "Masukan password baru",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
Placeholder: "Masukan ulang password baru",
},
corporate_mcudetail.JsHideModal(""),
)
if err != nil {
toastwarning := customtoastv2.CustomToastV2Show("Warning", err.Error(), "warning")
return utils.ViewMulti(c, []templ.Component{toastwarning, dialogAkunErr})
}
if resp.Status == "ERR" {
toastwarning := customtoastv2.CustomToastV2Show("Warning", resp.Message, "warning")
return utils.ViewMulti(c, []templ.Component{toastwarning, dialogAkunErr})
}
dialogAkunBody := corporate_mcudetail.ModalViewAkunBody(
dialogAkunBodyID,
models.CustomTextFieldv2Prm{
Label: "ID Akun Peserta",
Name: "akunpesertaid",
Placeholder: "ID Akun Peserta",
Type: "hidden",
ID: "akunpesertaidid",
},
models.CustomTextFieldv2Prm{
Label: "Email Akun",
Name: "akunpesertaemail",
Type: "text",
ID: "akunpesertaemailid",
},
models.CustomTextFieldv2Prm{
Label: "Password baru",
Name: "akunpesertapassnew",
Type: "password",
ID: "akunpesertapassnewid",
Placeholder: "Masukan password baru",
},
models.CustomTextFieldv2Prm{
Label: "Ulangi password baru",
Name: "akunpesertapasscek",
Type: "password",
ID: "akunpesertapasscekid",
Placeholder: "Masukan ulang password baru",
},
corporate_mcudetail.JsHideModal("#"+dialogAkunID),
)
toastwarning := customtoastv2.CustomToastV2Show("Success", "Berhasil reset password peserta: "+akunEmail, "success")
retVal := []templ.Component{toastwarning, dialogAkunBody}
return utils.ViewMulti(c, retVal)
}
func (tdp *TabDaftarPesertaHandlers) HandleContentReload(c echo.Context) error {
id := c.Param("id")
dialogReportBodyID := c.FormValue("dialogReportBodyID")
dialogAkunBodyID := c.FormValue("dialogAkunBodyID")
dialogDetailBodyID := c.FormValue("dialogDetailBodyID")
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",
"/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/opendetail",
"#"+dialogDetailBodyID,
"#tableID, #paginationID, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID, #dialogDetailID, #dialogDetailBodyID",
"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, #dialogDetailID, #dialogDetailBodyID, #currPage"+paginationID,
"#contentlayout",
"outerHTML", "", "",
corporate_mcudetail.BeforeRequestContent(),
corporate_mcudetail.AfterRequestContent(),
)
clayout := corporate_mcudetail.ContentLayout(table, pagination)
return utils.View(c, clayout)
}
func (tdp *TabDaftarPesertaHandlers) HandleOpenDetail(c echo.Context) error {
idx := c.QueryParam("idx")
dialogDetailID := c.QueryParam("dialogDetailID")
dialogDetailBodyID := c.QueryParam("dialogDetailBodyID")
detailData, err := tdp.TabDaftarPesertaServices.DetailTestdanPaket(idx)
if err != nil {
tab := corporate_mcudetail.TableDetailMCU([]models.TableTestPaket{})
mod := corporate_mcudetail.ModalRptBody(
dialogDetailBodyID,
tab,
corporate_mcudetail.JsShowModal("#"+dialogDetailID),
)
return utils.View(c, mod)
}
tablecomponent := corporate_mcudetail.TableDetailMCU(detailData)
detailBody := corporate_mcudetail.ModalRptBody(
dialogDetailBodyID,
tablecomponent,
corporate_mcudetail.JsShowModal("#"+dialogDetailID),
)
return utils.View(c, detailBody)
}

View File

@@ -4,7 +4,7 @@ import (
"cpone/component/chart"
"cpone/models"
"cpone/utils"
corporate_mcudetail "cpone/views/corporate/mcu/mcutab"
corporate_kelainanfisik "cpone/views/corporate/mcu/mcutab/kelainanfisik"
"strings"
"github.com/a-h/templ"
@@ -66,11 +66,6 @@ func (tkf *TabKelainanFisikHandler) HandleShowTabKelainanFisik(c echo.Context) e
))
}
content := corporate_mcudetail.Tabkelainanfisik(
chartsxs,
chartsmd,
chartslg,
)
content := corporate_kelainanfisik.KelainanFisikScreen(chartsxs, chartsmd, chartslg)
return utils.View(c, content)
}

View File

@@ -4,7 +4,7 @@ import (
"cpone/component/chart"
"cpone/models"
"cpone/utils"
corporate_mcudetail "cpone/views/corporate/mcu/mcutab"
corporate_kelainanglobal "cpone/views/corporate/mcu/mcutab/kelainanglobal"
"strings"
"github.com/a-h/templ"
@@ -57,11 +57,6 @@ func (tkg *TabKelainanGlobalHandler) HandleShowTabKelainanGlobal(c echo.Context)
))
}
content := corporate_mcudetail.TabKelainanGlobal(
chartsxs,
chartsmd,
chartslg,
)
content := corporate_kelainanglobal.KelainanGlobal_Screen(chartsxs, chartsmd, chartslg)
return utils.View(c, content)
}

View File

@@ -4,7 +4,8 @@ import (
"cpone/component/chart"
"cpone/models"
"cpone/utils"
corporate_mcudetail "cpone/views/corporate/mcu/mcutab"
corporate_kelainanlab "cpone/views/corporate/mcu/mcutab/kelainanlab"
"strings"
"github.com/a-h/templ"
@@ -61,11 +62,7 @@ func (tkl *TabKelainanLabHandler) HandleShowTabKelainanLab(c echo.Context) error
))
}
content := corporate_mcudetail.TabKelainanLab(
chartsxs,
chartsmd,
chartslg,
)
content := corporate_kelainanlab.KelainanLabScreen(chartsxs, chartsmd, chartslg)
return utils.View(c, content)
}

View File

@@ -4,7 +4,7 @@ import (
"cpone/component/chart"
"cpone/models"
"cpone/utils"
corporate_mcudetail "cpone/views/corporate/mcu/mcutab"
corporate_kelainannonlab "cpone/views/corporate/mcu/mcutab/kelainannonlab"
"strings"
"github.com/a-h/templ"
@@ -60,11 +60,6 @@ func (tknl *TabKelainanNonLabHandler) HandleShowTabKelainanNonLab(c echo.Context
))
}
content := corporate_mcudetail.TabKelainanNonLab(
chartsxs,
chartsmd,
chartslg,
)
content := corporate_kelainannonlab.KelainanNonlabScreen(chartsxs, chartsmd, chartslg)
return utils.View(c, content)
}

View File

@@ -4,7 +4,7 @@ import (
"cpone/component/chart"
"cpone/models"
"cpone/utils"
corporate_mcudetail "cpone/views/corporate/mcu/mcutab"
corporate_kepesertaan "cpone/views/corporate/mcu/mcutab/kepesertaan"
"strings"
"github.com/a-h/templ"
@@ -63,11 +63,6 @@ func (tkh *TabKepersertaanHandler) HandleShowTabKepesertaan(c echo.Context) erro
))
}
content := corporate_mcudetail.TabKepesertaan(
chartsxs,
chartsmd,
chartslg,
)
content := corporate_kepesertaan.KepesertaanScreen(chartsxs, chartsmd, chartslg)
return utils.View(c, content)
}

View File

@@ -3,7 +3,7 @@ package mcu_corporate_handlers
import (
"cpone/models"
"cpone/utils"
corporate_mcudetail "cpone/views/corporate/mcu/mcutab"
corporate_kesimpulan "cpone/views/corporate/mcu/mcutab/kesimpulan"
"fmt"
"github.com/labstack/echo/v4"
@@ -32,7 +32,7 @@ func NewTabKesimpulanHandler(us TabKesimpulanServices) *TabKesimpulanHandler {
func (tkh *TabKesimpulanHandler) HandleShowTabKesimpulanScreen(c echo.Context) error {
logger, _ := zap.NewProduction()
tableID := utils.GenerateRandomID("tablebody")
tableID := utils.GenerateRandomID("table-id")
id := c.Param("id")
dataLab, err := tkh.TabKesimpulanServices.GetListKesimpulanLabV2(id)
@@ -44,7 +44,8 @@ func (tkh *TabKesimpulanHandler) HandleShowTabKesimpulanScreen(c echo.Context) e
fmt.Println(dataLab)
return err
}
tableComponentLab := corporate_mcudetail.CardTableKesimpulan("3 Kelainan Pemeriksaan Lab terbesar :", dataLab, tableID)
// tableComponentLab := corporate_mcudetail.CardTableKesimpulan("3 Kelainan Pemeriksaan Lab terbesar :", dataLab, tableID)
tableComponentLab := corporate_kesimpulan.Table_Kesimpulan("3 Kelainan Pemeriksaan Lab terbesar :", dataLab, tableID)
dataNonLab, err := tkh.TabKesimpulanServices.GetListKesimpulanNonLabV2(id)
if err != nil {
@@ -55,7 +56,7 @@ func (tkh *TabKesimpulanHandler) HandleShowTabKesimpulanScreen(c echo.Context) e
fmt.Println(dataNonLab)
return err
}
tableComponentNonLab := corporate_mcudetail.CardTableKesimpulan("3 Kelainan Pemeriksaan Non Lab terbesar :", dataNonLab, tableID)
tableComponentNonLab := corporate_kesimpulan.Table_Kesimpulan("3 Kelainan Pemeriksaan Non Lab terbesar :", dataNonLab, tableID)
dataFisik, err := tkh.TabKesimpulanServices.GetListKesimpulanFisikV2(id)
if err != nil {
@@ -66,14 +67,16 @@ func (tkh *TabKesimpulanHandler) HandleShowTabKesimpulanScreen(c echo.Context) e
fmt.Println(dataFisik)
return err
}
tableComponentFisik := corporate_mcudetail.CardTableKesimpulan("3 Kelainan Pemeriksaan Fisik terbesar :", dataFisik, tableID)
tableComponentFisik := corporate_kesimpulan.Table_Kesimpulan("3 Kelainan Pemeriksaan Fisik terbesar :", dataFisik, tableID)
content := corporate_mcudetail.MainKesimpulan(
tableID,
tableComponentLab,
tableComponentNonLab,
tableComponentFisik,
)
// content := corporate_mcudetail.MainKesimpulan(
// tableID,
// tableComponentLab,
// tableComponentNonLab,
// tableComponentFisik,
// )
content := corporate_kesimpulan.KesimpulanScreen(tableID, tableComponentLab, tableComponentNonLab, tableComponentFisik)
return utils.View(c, content)
}

View File

@@ -4,7 +4,7 @@ import (
"cpone/component/pagination"
"cpone/models"
"cpone/utils"
corporate_mcudetail "cpone/views/corporate/mcu/mcutab"
corporate_keuangan "cpone/views/corporate/mcu/mcutab/keuangan"
"strconv"
"github.com/labstack/echo/v4"
@@ -30,8 +30,8 @@ func NewTabKeuanganHandler(tk TabKeuanganServices) *TabKeuanganHandler {
func (tk *TabKeuanganHandler) HandleShowTabKeuangan(c echo.Context) error {
logger, _ := zap.NewProduction()
logger.Info("handler keuangan")
tableID := utils.GenerateRandomID("tableID")
paginationID := utils.GenerateRandomID("paginationID")
tableID := utils.GenerateRandomID("table-id")
paginationID := utils.GenerateRandomID("pagination-id")
id := c.Param("id")
logger.Info("Params", zap.Any("id", id))
@@ -43,18 +43,18 @@ func (tk *TabKeuanganHandler) HandleShowTabKeuangan(c echo.Context) error {
return err
}
tablecompo := corporate_mcudetail.TableKeuangan(dataTable, tableID)
tablecompo := corporate_keuangan.Table_Keuangan(dataTable, tableID)
pagination := pagination.PaginationV3(
totalPage,
1,
"/corp/dashboard_pic/detail/"+id+"/tabkeuangan/changepage",
paginationID,
"#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent",
"#tabdanpagi",
"#table-id, #pagination-id, #loading-parent, #loading-child, #loading-spinner, #loadingcontent",
"#content-uang",
"outerHTML", "", "",
corporate_mcudetail.BeforeRequestContent(),
corporate_mcudetail.AfterRequestContent(),
corporate_keuangan.BeforeRequestContent(),
corporate_keuangan.AfterRequestContent(),
)
totalOrder, err := tk.TabKeuanganServices.GetTotalOrderKeuangan(id)
@@ -76,19 +76,10 @@ func (tk *TabKeuanganHandler) HandleShowTabKeuangan(c echo.Context) error {
totalPelunasan := utils.FormatRibuan(int(totalBill.TotalPelunasan))
totalHutang := utils.FormatRibuan(int(totalBill.TotalHutang))
content := corporate_mcudetail.TabKeuanganScreen(
tableID,
paginationID,
corporate_mcudetail.KeuanganCard(
totalOrderF,
totalTagihan,
totalPelunasan,
totalHutang,
),
corporate_mcudetail.TableAndPagination(
tablecompo,
pagination,
),
content := corporate_keuangan.Tab_Keuangan(
tableID, paginationID,
corporate_keuangan.Summary_Card(totalOrderF, totalTagihan, totalPelunasan, totalHutang),
corporate_keuangan.Content(tablecompo, pagination),
)
return utils.View(c, content)
@@ -96,8 +87,8 @@ func (tk *TabKeuanganHandler) HandleShowTabKeuangan(c echo.Context) error {
func (tk *TabKeuanganHandler) HandleChangePage(c echo.Context) error {
pageparam := c.QueryParam("page")
tableID := c.QueryParam("tableID")
paginationID := c.QueryParam("paginationID")
tableID := c.QueryParam("table-id")
paginationID := c.QueryParam("pagination-id")
id := c.Param("id")
@@ -111,19 +102,19 @@ func (tk *TabKeuanganHandler) HandleChangePage(c echo.Context) error {
return err
}
tablecomp := corporate_mcudetail.TableKeuangan(tableData, tableID)
tablecomp := corporate_keuangan.Table_Keuangan(tableData, tableID)
pagination := pagination.PaginationV3(
totalPage,
page,
"/corp/dashboard_pic/detail/"+id+"/tabkeuangan/changepage",
paginationID,
"#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent",
"#tabdanpagi",
"#table-id, #pagination-id, #loading-parent, #loading-child, #loading-spinner, #loadingcontent",
"#content-uang",
"outerHTML", "", "",
corporate_mcudetail.BeforeRequestContent(),
corporate_mcudetail.AfterRequestContent(),
corporate_keuangan.BeforeRequestContent(),
corporate_keuangan.AfterRequestContent(),
)
tabdanpagi := corporate_mcudetail.TableAndPagination(tablecomp, pagination)
tabdanpagi := corporate_keuangan.Content(tablecomp, pagination)
return utils.View(c, tabdanpagi)
}

View File

@@ -14,7 +14,9 @@ import (
)
type LoginService interface {
MultiSignIn(username string, password string, host string) (models.Response, error)
CheckIsAccountCpone(email string) (string, error)
CheckAccountHasLocation(email string) (bool, error)
MultiSignInV2(username string, password string) (models.Response, error)
}
func NewLoginHandler(us LoginService) *LoginHandler {
@@ -36,13 +38,13 @@ func (lh *LoginHandler) HandlerShowLogin(c echo.Context) error {
func (lh *LoginHandler) HandleSignIn(c echo.Context) error {
logger, _ := zap.NewProduction()
host := c.Request().Host
// host := c.Request().Host
username := c.FormValue("username")
password := c.FormValue("password")
defer logger.Sync()
logger.Info("Params", zap.Any("username", username), zap.Any("pass", password))
resp, err := lh.LoginService.MultiSignIn(username, password, host)
resp, err := lh.LoginService.MultiSignInV2(username, password)
if err != nil {
defer logger.Sync()
logger.Info("Error", zap.Any("error multi signin", err))
@@ -189,3 +191,158 @@ func (lh *LoginHandler) HandleAutoLoginPage(c echo.Context) error {
c.Response().Header().Set("HX-Trigger", "script")
return c.String(http.StatusOK, redirect)
}
func (lh *LoginHandler) HandleSignInV2(c echo.Context) error {
logger, _ := zap.NewProduction()
username := c.FormValue("username")
password := c.FormValue("password")
defer logger.Sync()
utype, err := lh.LoginService.CheckIsAccountCpone(username)
if err != nil {
logger.Info("[ERROR]", zap.Any("error check type account : ", err))
si := public_login.ShowLogin("Login", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, si)
}
// logger.Info("[INFO]", zap.Any("type account : ", utype))
// if utype == "cpone" {
if utype != "" {
url := "/one-ui/test/vuex/one-login-v2"
c.Response().Header().Set("HX-Redirect", url)
return c.String(http.StatusOK, utype)
}
// resp, err := lh.LoginService.MultiSignIn(username, password, "")
resp, err := lh.LoginService.MultiSignInV2(username, password)
if err != nil {
logger.Info("[ERROR]", zap.Any("error multi sigin: ", err))
si := public_login.ShowLogin("Login", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, si)
}
if resp.Status == "ERR" {
logger.Info("[ERROR]", zap.Any("error: ", resp.Status))
si := public_login.ShowLogin("Login", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, si)
}
defer logger.Sync()
var url string
switch resp.Data.Type {
case "pic":
url = "/corp/dashboard_pic"
case "patient":
url = "/corp/dashboard_pat"
default:
url = "/one-ui"
}
user, err := json.Marshal(resp.Data.User)
if err != nil {
logger.Info("Error", zap.Error(err))
si := public_login.ShowLogin("Login ", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, si)
}
cookie := new(http.Cookie)
cookie.Name = "token"
cookie.Value = resp.Data.Token
cookie.Path = "/"
cookie.HttpOnly = true
c.SetCookie(cookie)
user_str := string(user)
store := `
<script>
console.log("store token");
const token = "` + resp.Data.Token + `";
const user = JSON.stringify(` + user_str + `);
localStorage.setItem("token", token);
localStorage.setItem("user", user);
htmx.on("htmx:configRequest", (e)=> {
e.detail.headers["Authorization"] = "Bearer ` + resp.Data.Token + `"
})
setTimeout(() => {
htmx.ajax('GET', '/login/redirect?url=` + url + `')
}, 200)
</script>
`
c.Response().Header().Set("HX-Trigger", "script")
return c.String(http.StatusOK, store)
}
func (lh *LoginHandler) HandleSignInV3(c echo.Context) error {
logger, _ := zap.NewProduction()
username := c.FormValue("username")
password := c.FormValue("password")
// check is type cpone and exist in location
resp, err := lh.LoginService.MultiSignInV2(username, password)
if err != nil {
logger.Error("[ERROR]", zap.Any("multi signin process: ", err))
ret := public_login.ShowLogin("Login", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, ret)
}
if resp.Status == "ERR" {
logger.Error("[ERROR]", zap.Any("response signin process error: ", resp.Status))
ret := public_login.ShowLogin("Login", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, ret)
}
defer logger.Sync()
var url string
switch resp.Data.Type {
case "pic":
url = "/corp/dashboard_pic"
case "patient":
url = "/corp/dashboard_pat"
default:
url = "/one-ui"
}
user, err := json.Marshal(resp.Data.User)
if err != nil {
logger.Error("[ERROR]", zap.Any("process marshal response user", err))
ret := public_login.ShowLogin("Login", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, ret)
}
cookie := new(http.Cookie)
cookie.Name = "token"
cookie.Value = resp.Data.Token
cookie.Path = "/"
cookie.HttpOnly = true
c.SetCookie(cookie)
user_str := string(user)
store := `
<script>
console.log("store token");
const token = "` + resp.Data.Token + `";
const user = JSON.stringify(` + user_str + `);
localStorage.setItem("token", token);
localStorage.setItem("user", user);
htmx.on("htmx:configRequest", (e)=> {
e.detail.headers["Authorization"] = "Bearer ` + resp.Data.Token + `"
})
setTimeout(() => {
htmx.ajax('GET', '/login/redirect?url=` + url + `')
}, 200)
</script>
`
c.Response().Header().Set("HX-Trigger", "script")
return c.String(http.StatusOK, store)
}

View File

@@ -78,7 +78,13 @@ func SetupRoutesPublic(app *echo.Echo, appStore db.AppStore) {
loginServ := public_services.NewServicesLogin(appStore)
loginHadlr := public_handlers.NewLoginHandler(loginServ)
public.GET("login", loginHadlr.HandlerShowLogin)
public.POST("login/signin", loginHadlr.HandleSignIn)
// ver cpone
// public.POST("login/signin", loginHadlr.HandleSignIn)
// ver devcpone
public.POST("login/signin", loginHadlr.HandleSignInV3)
public.GET("login/redirect", loginHadlr.HandleRedirect)
public.GET("login/signout", loginHadlr.HandleSignOut)
public.POST("login/autologin", loginHadlr.HandleAutoLoginPage, auth.IsAlreadyLogin)
@@ -173,6 +179,8 @@ func SetupRoutesCorporate(app *echo.Echo, appStore db.AppStore) {
corp.POST("/dashboard_pic/detail/:id/tabdaftarpeserta/viewakun", daftarpesertaHandl.HandleAkun)
corp.POST("/dashboard_pic/detail/:id/tabdaftarpeserta/reload", daftarpesertaHandl.HandleContentReload)
corp.GET("/dashboard_pic/detail/:id/tabdaftarpeserta/opendetail", daftarpesertaHandl.HandleOpenDetail)
corp.GET("/dashboard_pic/detail/:id/tabdaftarpeserta/filter", daftarpesertaHandl.HandleFilter)
corp.GET("/dashboard_pic/detail/:id/tabdaftarpeserta/openattachment", daftarpesertaHandl.HandleOpenAttachmentFile)
// tab keuangan
keuanganService := mcu_corporate_services.NewTabKeuanganServices(appStore)