revice tab ordering service

This commit is contained in:
2024-07-16 13:18:58 +07:00
parent 938e6d60f1
commit a729d6ab67
11 changed files with 441 additions and 476 deletions

View File

@@ -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,

View File

@@ -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(

View File

@@ -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)

View File

@@ -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"`
}

View File

@@ -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/<XID>
// <XID> : 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
}

View File

@@ -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
}

View File

@@ -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)

View File

@@ -62,7 +62,8 @@ templ TabViewMcuDetail(
<div id="tabdaftarpeserta"></div>
</div>
<div class="tab-pane fade" id="kt_tab_pane_8" role="tabpanel" aria-labelledby="kt_tab_pane_8" style="height: 800px;">
<object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_summary_executive.rptdesign&__format=pdf&PID="+id+"&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// <object data={"https://cpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_summary_executive.rptdesign&__format=pdf&PID="+id+"&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
<object data={"/birt/run?__report=report/one/mcu/rpt_summary_executive.rptdesign&__format=pdf&PID="+id+"&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
</div>
<div class="tab-pane fade" id="kt_tab_pane_9" role="tabpanel" aria-labelledby="kt_tab_pane_9">
<div id="tabkeuangan"></div>

View File

@@ -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 {

View File

@@ -98,15 +98,16 @@ templ CssLogin() {
templ JsLogin() {
<script src="/asset-corporate-portal/js/login-general.js"></script>
<script>
const param = {
token: localStorage.getItem('token')
}
// const paramLocal = {
// token: localStorage.getItem('token')
// }
if (param.token) {
console.log(param);
let tkn = localStorage.getItem('token')
if (tkn) {
htmx.ajax('POST', '/login/autologin', {
headers: {
Authorization: `Bearer ${param.token}`
Authorization: `Bearer ${tkn}`
}
})
}

View File

@@ -109,7 +109,7 @@ func JsLogin() templ.Component {
templ_7745c5c3_Var3 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<script src=\"/asset-corporate-portal/js/login-general.js\"></script><script>\r\n\t\tconst param = {\r\n\t\t\ttoken: localStorage.getItem('token')\r\n\t\t}\r\n\r\n\t\tif (param.token) {\r\n\t\t\tconsole.log(param);\r\n\t\t\thtmx.ajax('POST', '/login/autologin', {\r\n\t\t\t\theaders: {\r\n\t\t\t\t\tAuthorization: `Bearer ${param.token}`\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\t\t\r\n\t</script>")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<script src=\"/asset-corporate-portal/js/login-general.js\"></script><script>\r\n\t\t// const paramLocal = {\r\n\t\t// \ttoken: localStorage.getItem('token')\r\n\t\t// }\r\n\r\n\t\tlet tkn = localStorage.getItem('token')\r\n\r\n\t\tif (tkn) {\r\n\t\t\thtmx.ajax('POST', '/login/autologin', {\r\n\t\t\t\theaders: {\r\n\t\t\t\t\tAuthorization: `Bearer ${tkn}`\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\t\t\r\n\t</script>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}