change query data graph tab
This commit is contained in:
@@ -15,6 +15,11 @@ import (
|
||||
type TabKelainanFisikServices interface {
|
||||
GetKelainanFisikBMI(mcuID string) (models.Piechart, error)
|
||||
GetKelainanFisikHipertensi(mcuID string) (models.Piechart, error)
|
||||
GetKelainanFisikRefraksi(mcuID string) (models.Piechart, error)
|
||||
GetKelainanFisikPresentase(mcuID string) (models.Barchart, error)
|
||||
GetKelFisikAlkohol(mcuID string) (models.Piechart, error)
|
||||
GetKelFisikMerokok(mcuID string) (models.Piechart, error)
|
||||
GetKelFisikOlahraga(mcuID string) (models.Piechart, error)
|
||||
}
|
||||
|
||||
type TabKelainanFisikHandler struct {
|
||||
@@ -38,41 +43,104 @@ func (tkf *TabKelainanFisikHandler) HandleShowTabKelainanFisik(c echo.Context) e
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
hiper, err := tkf.TabKelainanFisikServices.GetKelainanFisikHipertensi(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
bmijson, err := json.MarshalIndent(bmi, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
hiper, err := tkf.TabKelainanFisikServices.GetKelainanFisikHipertensi(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
hiperjson, err := json.MarshalIndent(hiper, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
refraksi, err := tkf.TabKelainanFisikServices.GetKelainanFisikRefraksi(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
refraksijson, err := json.MarshalIndent(refraksi, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
alkohol, err := tkf.TabKelainanFisikServices.GetKelFisikAlkohol(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
alkoholjson, err := json.MarshalIndent(alkohol, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
merokok, err := tkf.TabKelainanFisikServices.GetKelFisikMerokok(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
merokokjson, err := json.MarshalIndent(merokok, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
olahraga, err := tkf.TabKelainanFisikServices.GetKelFisikOlahraga(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
olahragajson, err := json.MarshalIndent(olahraga, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
chartsxs := []templ.Component{
|
||||
chart.ShowChartFixed("bmixs", string(bmijson), "400px", "450px"),
|
||||
chart.ShowChartFixed("hprxs", string(hiperjson), "400px", "450px"),
|
||||
chart.ShowChartFixed("rfkxs", string(refraksijson), "400px", "450px"),
|
||||
chart.ShowChartFixed("alkxs", string(alkoholjson), "400px", "450px"),
|
||||
chart.ShowChartFixed("rkkxs", string(merokokjson), "400px", "450px"),
|
||||
chart.ShowChartFixed("olhxs", string(olahragajson), "400px", "450px"),
|
||||
}
|
||||
|
||||
chartsmd := []templ.Component{
|
||||
chart.ShowChartFixed("bmimd", string(bmijson), "450px", "450px"),
|
||||
chart.ShowChartFixed("hprmd", string(hiperjson), "450px", "450px"),
|
||||
chart.ShowChartFixed("rfkmd", string(refraksijson), "450px", "450px"),
|
||||
chart.ShowChartFixed("alkmd", string(alkoholjson), "450px", "450px"),
|
||||
chart.ShowChartFixed("rkkmd", string(merokokjson), "450px", "450px"),
|
||||
chart.ShowChartFixed("olhmd", string(olahragajson), "450px", "450px"),
|
||||
}
|
||||
|
||||
chartslg := []templ.Component{
|
||||
chart.ShowChartFixed("bmilg", string(bmijson), "600px", "450px"),
|
||||
chart.ShowChartFixed("hprlg", string(hiperjson), "600px", "450px"),
|
||||
chart.ShowChartFixed("rfklg", string(refraksijson), "600px", "450px"),
|
||||
chart.ShowChartFixed("alklg", string(alkoholjson), "600px", "450px"),
|
||||
chart.ShowChartFixed("rkklg", string(merokokjson), "600px", "450px"),
|
||||
chart.ShowChartFixed("olhlg", string(olahragajson), "600px", "450px"),
|
||||
}
|
||||
|
||||
fisik, err := tkf.TabKelainanFisikServices.GetKelainanFisikPresentase(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fisikjson, err := json.MarshalIndent(fisik, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
barchart := []templ.Component{
|
||||
chart.ShowChartFixed("fislg", string(fisikjson), "1000px", "450px"),
|
||||
chart.ShowChartFixed("fismd", string(fisikjson), "500px", "450px"),
|
||||
chart.ShowChartFixed("fisxs", string(fisikjson), "250px", "450px"),
|
||||
}
|
||||
|
||||
content := corporate_mcudetail.Tabkelainanfisik(
|
||||
chartsxs,
|
||||
chartsmd,
|
||||
chartslg,
|
||||
barchart,
|
||||
)
|
||||
|
||||
return utils.View(c, content)
|
||||
|
||||
@@ -13,8 +13,8 @@ import (
|
||||
)
|
||||
|
||||
type TabKelainanGlobalServices interface {
|
||||
GetKelainanGlobalMCU(mcuID string) (models.Barchart, error)
|
||||
GetKelainanFisik(mcuID string) (models.Barchart, error)
|
||||
GetKelainanGlobalV2(mcuID string) (models.Barchart, error)
|
||||
}
|
||||
|
||||
type TabKelainanGlobalHandler struct {
|
||||
@@ -33,39 +33,39 @@ func (tkg *TabKelainanGlobalHandler) HandleShowTabKelainanGlobal(c echo.Context)
|
||||
|
||||
logger.Info("params", zap.Any("id", id))
|
||||
|
||||
kelmcu, err := tkg.TabKelainanGlobalServices.GetKelainanGlobalMCU(id)
|
||||
kelmcu, err := tkg.TabKelainanGlobalServices.GetKelainanGlobalV2(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
kelfisik, err := tkg.TabKelainanGlobalServices.GetKelainanFisik(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// kelfisik, err := tkg.TabKelainanGlobalServices.GetKelainanFisik(id)
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
|
||||
klmcujson, err := json.MarshalIndent(kelmcu, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
klfisjson, err := json.MarshalIndent(kelfisik, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// klfisjson, err := json.MarshalIndent(kelfisik, "", " ")
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
|
||||
chartsxs := []templ.Component{
|
||||
chart.ShowChartFixed("chartmcuxs", string(klmcujson), "400px", "450px"),
|
||||
chart.ShowChartFixed("chartfisikxs", string(klfisjson), "400px", "450px"),
|
||||
// chart.ShowChartFixed("chartfisikxs", string(klfisjson), "400px", "450px"),
|
||||
}
|
||||
|
||||
chartsmd := []templ.Component{
|
||||
chart.ShowChartFixed("chartmcumd", string(klmcujson), "500px", "450px"),
|
||||
chart.ShowChartFixed("chartfisikmd", string(klfisjson), "500px", "450px"),
|
||||
// chart.ShowChartFixed("chartfisikmd", string(klfisjson), "500px", "450px"),
|
||||
}
|
||||
|
||||
chartslg := []templ.Component{
|
||||
chart.ShowChartFixed("chartmculg", string(klmcujson), "1000px", "450px"),
|
||||
chart.ShowChartFixed("chartfisiklg", string(klfisjson), "1000px", "450px"),
|
||||
// chart.ShowChartFixed("chartfisiklg", string(klfisjson), "1000px", "450px"),
|
||||
}
|
||||
|
||||
content := corporate_mcudetail.TabKelainanGlobal(
|
||||
|
||||
@@ -37,81 +37,76 @@ func (tkl *TabKelainanLabHandler) HandleShowTabKelainanLab(c echo.Context) error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
dataprejson, err := json.MarshalIndent(datapre, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
hematologi, err := tkl.TabKelainanLabServices.GetHematologi(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
hemajson, err := json.MarshalIndent(hematologi, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
urinalisa, err := tkl.TabKelainanLabServices.GetUrinalisa(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
urinjson, err := json.MarshalIndent(urinalisa, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
hati, err := tkl.TabKelainanLabServices.GetGangguanFungsiHati(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
hatijson, err := json.MarshalIndent(hati, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
lemak, err := tkl.TabKelainanLabServices.GetGangguanMetabolismeLemak(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
glukosa, err := tkl.TabKelainanLabServices.GetPeningkatanGlukosa(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
dataprejson, err := json.MarshalIndent(datapre, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
hemajson, err := json.MarshalIndent(hematologi, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
urinjson, err := json.MarshalIndent(urinalisa, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
hatijson, err := json.MarshalIndent(hati, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
lemakjson, err := json.MarshalIndent(lemak, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
glukosa, err := tkl.TabKelainanLabServices.GetPeningkatanGlukosa(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
glukosjson, err := json.MarshalIndent(glukosa, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
chartsxs := []templ.Component{
|
||||
chart.ShowChartFixed("dataprexs", string(dataprejson), "400px", "450px"),
|
||||
chart.ShowChartFixed("hemaxs", string(hemajson), "400px", "450px"),
|
||||
chart.ShowChartFixed("urinxs", string(urinjson), "400px", "450px"),
|
||||
chart.ShowChartFixed("hatixs", string(hatijson), "400px", "450px"),
|
||||
chart.ShowChartFixed("lemakxs", string(lemakjson), "400px", "450px"),
|
||||
chart.ShowChartFixed("glukosxs", string(glukosjson), "400px", "450px"),
|
||||
chart.ShowChartFixed("dataprexs", string(dataprejson), "350px", "450px"),
|
||||
chart.ShowChartFixed("hemaxs", string(hemajson), "300px", "450px"),
|
||||
chart.ShowChartFixed("urinxs", string(urinjson), "300px", "450px"),
|
||||
chart.ShowChartFixed("hatixs", string(hatijson), "300px", "450px"),
|
||||
chart.ShowChartFixed("lemakxs", string(lemakjson), "300px", "450px"),
|
||||
chart.ShowChartFixed("glukosxs", string(glukosjson), "300px", "450px"),
|
||||
}
|
||||
|
||||
chartsmd := []templ.Component{
|
||||
chart.ShowChartFixed("datapremd", string(dataprejson), "500px", "450px"),
|
||||
chart.ShowChartFixed("hemamd", string(hemajson), "500px", "450px"),
|
||||
chart.ShowChartFixed("urinmd", string(urinjson), "500px", "450px"),
|
||||
chart.ShowChartFixed("hatimd", string(hatijson), "500px", "450px"),
|
||||
chart.ShowChartFixed("lemakmd", string(lemakjson), "500px", "450px"),
|
||||
chart.ShowChartFixed("glukosmd", string(glukosjson), "500px", "450px"),
|
||||
chart.ShowChartFixed("hemamd", string(hemajson), "450px", "450px"),
|
||||
chart.ShowChartFixed("urinmd", string(urinjson), "450px", "450px"),
|
||||
chart.ShowChartFixed("hatimd", string(hatijson), "450px", "450px"),
|
||||
chart.ShowChartFixed("lemakmd", string(lemakjson), "450px", "450px"),
|
||||
chart.ShowChartFixed("glukosmd", string(glukosjson), "450px", "450px"),
|
||||
}
|
||||
|
||||
chartslg := []templ.Component{
|
||||
chart.ShowChartFixed("dataprelg", string(dataprejson), "1000px", "450px"),
|
||||
chart.ShowChartFixed("hemalg", string(hemajson), "600px", "450px"),
|
||||
chart.ShowChartFixed("urinlg", string(urinjson), "600px", "450px"),
|
||||
chart.ShowChartFixed("hatilg", string(hatijson), "600px", "450px"),
|
||||
@@ -120,7 +115,6 @@ func (tkl *TabKelainanLabHandler) HandleShowTabKelainanLab(c echo.Context) error
|
||||
}
|
||||
|
||||
content := corporate_mcudetail.TabKelainanLab(
|
||||
chart.ShowChartFixed("dataprelg", string(dataprejson), "1000px", "450px"),
|
||||
chartsxs,
|
||||
chartsmd,
|
||||
chartslg,
|
||||
|
||||
@@ -14,6 +14,9 @@ import (
|
||||
type TabKelainanNonLabServices interface {
|
||||
GetDataKelNonLab(mcuID string) (models.Barchart, error)
|
||||
GetThoraxPA(mcuID string) (models.BarchartV2, error)
|
||||
GetGangguanJantung(mcuID string) (models.BarchartV2, error)
|
||||
GetAutospirometri(mcuID string) (models.BarchartV2, error)
|
||||
GetPendengaran(mcuID string) (models.BarchartV2, error)
|
||||
}
|
||||
|
||||
type TabKelainanNonLabHandler struct {
|
||||
@@ -33,35 +36,69 @@ func (tknl *TabKelainanNonLabHandler) HandleShowTabKelainanNonLab(c echo.Context
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
thorax, err := tknl.TabKelainanNonLabServices.GetThoraxPA(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
dataprejson, err := json.MarshalIndent(datapre, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
thorax, err := tknl.TabKelainanNonLabServices.GetThoraxPA(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
thrxjson, err := json.MarshalIndent(thorax, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
jantung, err := tknl.TabKelainanNonLabServices.GetGangguanJantung(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
jantungjson, err := json.MarshalIndent(jantung, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
autospiro, err := tknl.TabKelainanNonLabServices.GetAutospirometri(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
autospirojson, err := json.MarshalIndent(autospiro, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
pendengaran, err := tknl.TabKelainanNonLabServices.GetPendengaran(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
pendengaranjson, err := json.MarshalIndent(pendengaran, "", " ")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
chartsxs := []templ.Component{
|
||||
chart.ShowChartFixed("datanonxs", string(dataprejson), "400px", "450px"),
|
||||
chart.ShowChartFixed("thoraxxs", string(thrxjson), "400px", "450px"),
|
||||
chart.ShowChartFixed("datanonxs", string(dataprejson), "300px", "450px"),
|
||||
chart.ShowChartFixed("jantungxs", string(jantungjson), "300px", "450px"),
|
||||
chart.ShowChartFixed("thoraxxs", string(thrxjson), "300px", "450px"),
|
||||
chart.ShowChartFixed("spiroxs", string(autospirojson), "300px", "450px"),
|
||||
chart.ShowChartFixed("dengarxs", string(pendengaranjson), "300px", "450px"),
|
||||
}
|
||||
|
||||
chartsmd := []templ.Component{
|
||||
chart.ShowChartFixed("datanonmd", string(dataprejson), "500px", "450px"),
|
||||
chart.ShowChartFixed("jantungmd", string(jantungjson), "500px", "450px"),
|
||||
chart.ShowChartFixed("thoraxmd", string(thrxjson), "500px", "450px"),
|
||||
chart.ShowChartFixed("spiromd", string(autospirojson), "500px", "450px"),
|
||||
chart.ShowChartFixed("dengarmd", string(pendengaranjson), "500px", "450px"),
|
||||
}
|
||||
|
||||
chartslg := []templ.Component{
|
||||
chart.ShowChartFixed("datanonlg", string(dataprejson), "1000px", "450px"),
|
||||
chart.ShowChartFixed("jantunglg", string(jantungjson), "600px", "450px"),
|
||||
chart.ShowChartFixed("thoraxlg", string(thrxjson), "600px", "450px"),
|
||||
chart.ShowChartFixed("spirolg", string(autospirojson), "600px", "450px"),
|
||||
chart.ShowChartFixed("dengarlg", string(pendengaranjson), "600px", "450px"),
|
||||
}
|
||||
|
||||
content := corporate_mcudetail.TabKelainanNonLab(
|
||||
|
||||
@@ -14,6 +14,9 @@ type TabKesimpulanServices interface {
|
||||
GetListKesimpulanLab(id string) ([]models.ModelKesimpulanLab, error)
|
||||
GetListKesimpulanNonLab(id string) ([]models.ModelKesimpulanLab, error)
|
||||
GetListKesimpulanFisik(id string) ([]models.ModelKesimpulanLab, error)
|
||||
GetListKesimpulanLabV2(id string) ([]models.ModelKesimpulanLab, error)
|
||||
GetListKesimpulanNonLabV2(id string) ([]models.ModelKesimpulanLab, error)
|
||||
GetListKesimpulanFisikV2(id string) ([]models.ModelKesimpulanLab, error)
|
||||
}
|
||||
|
||||
type TabKesimpulanHandler struct {
|
||||
@@ -32,7 +35,7 @@ func (tkh *TabKesimpulanHandler) HandleShowTabKesimpulanScreen(c echo.Context) e
|
||||
tableID := utils.GenerateRandomID("tablebody")
|
||||
id := c.Param("id")
|
||||
|
||||
dataLab, err := tkh.TabKesimpulanServices.GetListKesimpulanLab(id)
|
||||
dataLab, err := tkh.TabKesimpulanServices.GetListKesimpulanLabV2(id)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR GET LIST LAB",
|
||||
@@ -43,7 +46,7 @@ func (tkh *TabKesimpulanHandler) HandleShowTabKesimpulanScreen(c echo.Context) e
|
||||
}
|
||||
tableComponentLab := corporate_mcudetail.CardTableKesimpulan("3 Kelainan Pemeriksaan Lab terbesar :", dataLab, tableID)
|
||||
|
||||
dataNonLab, err := tkh.TabKesimpulanServices.GetListKesimpulanNonLab(id)
|
||||
dataNonLab, err := tkh.TabKesimpulanServices.GetListKesimpulanNonLabV2(id)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR GET LIST NON LAB",
|
||||
@@ -54,7 +57,7 @@ func (tkh *TabKesimpulanHandler) HandleShowTabKesimpulanScreen(c echo.Context) e
|
||||
}
|
||||
tableComponentNonLab := corporate_mcudetail.CardTableKesimpulan("3 Kelainan Pemeriksaan Non Lab terbesar :", dataNonLab, tableID)
|
||||
|
||||
dataFisik, err := tkh.TabKesimpulanServices.GetListKesimpulanFisik(id)
|
||||
dataFisik, err := tkh.TabKesimpulanServices.GetListKesimpulanFisikV2(id)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("ERROR GET LIST FISIK",
|
||||
|
||||
@@ -9,3 +9,9 @@ type KelainanGlobalFisikModel struct {
|
||||
Mcu_KelainanName string `db:"Mcu_KelainanName"`
|
||||
Total int `db:"total"`
|
||||
}
|
||||
|
||||
type KelainanGlobalModel struct {
|
||||
Mcu_KelainanID string `db:"Mcu_KelainanID"`
|
||||
Test string `db:"Test"`
|
||||
Total int `db:"Total"`
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package models
|
||||
|
||||
type KelainanLabModel struct {
|
||||
Mcu_KelainanName string `db:"Mcu_KelainanName"`
|
||||
Mcu_KelainanID string `db:"Mcu_KelainanID"`
|
||||
Mcu_KelainanName string `db:"Test"`
|
||||
Total int `db:"total"`
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package models
|
||||
|
||||
type KelNonLabModel struct {
|
||||
Kelainan string `db:"kelainan"`
|
||||
Total int `db:"total"`
|
||||
Mcu_KelainanID string `db:"Mcu_KelainanID"`
|
||||
Test string `db:"Test"`
|
||||
Total int `db:"total"`
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package models
|
||||
|
||||
type TotalPesertaModel struct {
|
||||
Peserta int `db:"peserta"`
|
||||
Mgm_McuTotalParticipant int `db:"Mgm_McuTotalParticipant"`
|
||||
Peserta int `db:"peserta"`
|
||||
Total int `db:"total"`
|
||||
}
|
||||
|
||||
type GenderPesertaModel struct {
|
||||
|
||||
@@ -93,7 +93,8 @@ func (tdps *TabDaftarPesertaServices) GenerataPasswordMCU(mgmMCUID string, host
|
||||
|
||||
logger, _ := zap.NewProduction()
|
||||
var ret models.GeneratePasswordResponse
|
||||
uri := "https://cpone.aplikasi.web.id/one-api/tools/auth_patient/generate/" + mgmMCUID
|
||||
// uri := "https://cpone.aplikasi.web.id/one-api/tools/auth_patient/generate/" + mgmMCUID
|
||||
uri := "https://devcpone.aplikasi.web.id/one-api/tools/auth_patient/generate/" + mgmMCUID
|
||||
|
||||
payload := []byte{}
|
||||
resp, err := http.Post(uri, "application/json", bytes.NewBuffer(payload))
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"cpone/models"
|
||||
dbx "cpone/package/database"
|
||||
"fmt"
|
||||
"math"
|
||||
"strconv"
|
||||
|
||||
"go.uber.org/zap"
|
||||
@@ -93,35 +94,162 @@ func (tkf *TabKelainanFisikServices) GetPieChartConf(title string, subtext strin
|
||||
return option, nil
|
||||
}
|
||||
|
||||
func (tkf *TabKelainanFisikServices) GetBarChartConf(title string, data models.BarDataset) (models.Barchart, error) {
|
||||
option := models.Barchart{}
|
||||
option.Title = struct {
|
||||
Text string "json:\"text\""
|
||||
}{title}
|
||||
option.Dataset = data
|
||||
option.Grid.ContainLabel = true
|
||||
option.XAxis.Name = "amount"
|
||||
option.YAxis.Type = "category"
|
||||
option.VisualMap.Orient = "horizontal"
|
||||
option.VisualMap.Left = "center"
|
||||
option.VisualMap.Min = 10
|
||||
option.VisualMap.Max = 100
|
||||
option.VisualMap.Show = false
|
||||
option.VisualMap.Dimension = 0
|
||||
option.VisualMap.InRange.Color = []string{"#42aaf5", "#00eaf2", "#035bff"}
|
||||
option.Series = []struct {
|
||||
Label struct {
|
||||
Position string "json:\"position\""
|
||||
Show bool "json:\"show\""
|
||||
Formatter string "json:\"formatter\""
|
||||
} "json:\"label\""
|
||||
Type string "json:\"type\""
|
||||
Encode struct {
|
||||
X string "json:\"x\""
|
||||
Y string "json:\"y\""
|
||||
} "json:\"encode\""
|
||||
}{
|
||||
{
|
||||
Label: struct {
|
||||
Position string "json:\"position\""
|
||||
Show bool "json:\"show\""
|
||||
Formatter string "json:\"formatter\""
|
||||
}{
|
||||
Position: "right",
|
||||
Show: true,
|
||||
Formatter: "{@[3]} %",
|
||||
},
|
||||
Type: "bar",
|
||||
Encode: struct {
|
||||
X string "json:\"x\""
|
||||
Y string "json:\"y\""
|
||||
}{
|
||||
X: "amount",
|
||||
Y: "product",
|
||||
},
|
||||
},
|
||||
}
|
||||
option.Tooltip = struct {
|
||||
Trigger string "json:\"trigger\""
|
||||
AxisPointer struct {
|
||||
Type string "json:\"type\""
|
||||
} "json:\"axisPointer\""
|
||||
}{
|
||||
Trigger: "axis",
|
||||
AxisPointer: struct {
|
||||
Type string "json:\"type\""
|
||||
}{
|
||||
Type: "shadow",
|
||||
},
|
||||
}
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
func (tkf *TabKelainanFisikServices) GetKelainanFisikPresentase(mcuID string) (models.Barchart, error) {
|
||||
var option models.Barchart
|
||||
var data []models.KelainanGlobalFisikModel
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanName,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_fisik
|
||||
JOIN t_orderheader ON T_KelainanFiskT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summaryfisik ON T_KelainanFiskMcu_SummaryFisikID = Mcu_SummaryFisikID
|
||||
join mcu_kelainan on Mcu_SummaryFisikMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
where T_KelainanFiskIsActive = 'Y' and T_OrderHeaderMgm_McuID = ? AND
|
||||
Mcu_KelainanClasification NOT IN ('who','kemenkes','JNC-VIII','ESC/ESH')
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
LIMIt 10
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data kelainan fisik: %v", err)
|
||||
}
|
||||
|
||||
var jumlahPeserta models.TotalPesertaModel
|
||||
q = `
|
||||
SELECT
|
||||
COUNT(distinct(T_OrderHeaderID)) as peserta,
|
||||
COUNT( distinct(Mcu_PreregisterPatientsM_PatientID)) as total
|
||||
FROM mcu_preregister_patients
|
||||
LEFT JOIN t_orderheader ON Mcu_PreregisterPatientsT_OrderHeaderID = T_OrderHeaderID AND
|
||||
T_OrderHeaderIsActive = 'Y'
|
||||
WHERE
|
||||
Mcu_PreregisterPatientsMgm_McuID = ? AND
|
||||
Mcu_PreregisterPatientsIsActive = 'Y'
|
||||
`
|
||||
if err := dbx.Handlex.Get(&jumlahPeserta, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get jumlah peserta %v", err)
|
||||
}
|
||||
|
||||
title := "Kelainan Fisik (10 Terbesar)"
|
||||
chartData := models.BarDataset{
|
||||
Source: [][]interface{}{
|
||||
{"score", "amount", "product", "percentage"},
|
||||
},
|
||||
}
|
||||
|
||||
for i, d := range data {
|
||||
percentage := float64(d.Total) / float64(jumlahPeserta.Peserta) * 100
|
||||
roundedPercentage := math.Round(percentage*100) / 100
|
||||
percentStr := strconv.FormatFloat(roundedPercentage, 'f', -1, 64)
|
||||
chartData.Source = append(chartData.Source, []interface{}{
|
||||
i, d.Total, d.Mcu_KelainanName, percentStr,
|
||||
})
|
||||
}
|
||||
|
||||
option, err := tkf.GetBarChartConf(title, chartData)
|
||||
if err != nil {
|
||||
return option, fmt.Errorf("error insert data to barchart %v", err)
|
||||
}
|
||||
return option, nil
|
||||
}
|
||||
|
||||
func (tkf *TabKelainanFisikServices) GetKelainanFisikBMI(mcuID string) (models.Piechart, error) {
|
||||
logger, _ := zap.NewProduction()
|
||||
var option models.Piechart
|
||||
var data []models.KelainanFisikDataModel
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
CASE
|
||||
WHEN Mgm_HeaderIsNormal = "Y" THEN "Normal"
|
||||
WHEN Mgm_HeaderIsNormal = "N" THEN Mcu_KelainanName
|
||||
ELSE "Tidak diperiksa" END AS test,
|
||||
COUNT(Mgm_HeaderT_OrderHeaderID) AS total,
|
||||
IFNULL(Mcu_KelainanClasification, "") AS Mcu_KelainanClasification
|
||||
FROM mgm_header
|
||||
LEFT JOIN mgm_detail ON Mgm_DetailMgm_HeaderID = Mgm_HeaderID AND Mgm_DetailIsActive = 'Y'
|
||||
LEFT JOIN mcu_kelainan ON Mgm_DetailMcu_KelainanID = Mcu_KelainanID
|
||||
LEFT JOIN mcu_kelainangroup ON Mgm_DetailMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
LEFT JOIN nat_test ON Nat_TestCode = Mgm_HeaderNat_TestCode
|
||||
WHERE Mgm_HeaderIsActive = 'Y' AND Mgm_HeaderMgm_McuID = ?
|
||||
AND Mgm_HeaderNat_TestCode = 'STATUS GIZI'
|
||||
GROUP BY
|
||||
CASE
|
||||
WHEN Mgm_HeaderIsNormal = "Y" THEN "Normal"
|
||||
WHEN Mgm_HeaderIsNormal = "N" THEN Mcu_KelainanName ELSE
|
||||
"Tidak diperiksa" END
|
||||
ORDER BY COUNT(Mgm_HeaderT_OrderHeaderID) DESC
|
||||
SELECT Mcu_KelainanName as test,
|
||||
Mcu_KelainanClasification,
|
||||
count(distinct orderkel.T_OrderHeaderID) as total
|
||||
FROM mcu_kelainan
|
||||
JOIN mcu_summaryfisik ON Mcu_SummaryFisikMcu_KelainanID = Mcu_KelainanID AND
|
||||
Mcu_SummaryFisikIsActive = 'Y'
|
||||
LEFT JOIN t_kelainan_fisik ON T_KelainanFiskMcu_SummaryFisikID = Mcu_SummaryFisikID AND
|
||||
T_KelainanFiskIsActive= 'Y'
|
||||
LEFT JOIN t_orderheader orderkel ON T_KelainanFiskT_OrderHeaderID = orderkel.T_OrderHeaderID AND
|
||||
orderkel.T_OrderHeaderIsActive = 'Y' AND orderkel.T_OrderHeaderMgm_McuID = ?
|
||||
WHERE
|
||||
Mcu_KelainanIsActive = 'Y' AND Mcu_KelainanClasification = 'asia_pacific'
|
||||
group by Mcu_KelainanID
|
||||
UNION
|
||||
SELECT 'Normal' as test,
|
||||
'asia_pacific' as Mcu_KelainanClasification,
|
||||
count(distinct T_OrderHeaderID) - summary_total_kelainan_bmi(?) as total
|
||||
FROM t_orderheader
|
||||
WHERE
|
||||
T_OrderHeaderMgm_McuID = ? AND T_OrderHeaderIsActive = 'Y'
|
||||
group by T_OrderHeaderMgm_McuID
|
||||
`
|
||||
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID, mcuID, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data kel fisik bmi %v", err)
|
||||
}
|
||||
defer logger.Sync()
|
||||
@@ -156,28 +284,30 @@ func (tkf *TabKelainanFisikServices) GetKelainanFisikHipertensi(mcuID string) (m
|
||||
var data []models.KelainanFisikDataModel
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
CASE
|
||||
WHEN Mgm_HeaderIsNormal = "Y" THEN "Normal"
|
||||
WHEN Mgm_HeaderIsNormal = "N" THEN Mcu_KelainanName
|
||||
ELSE "Tidak diperiksa" END AS test,
|
||||
COUNT(Mgm_HeaderT_OrderHeaderID) AS total,
|
||||
IFNULL(Mcu_KelainanClasification, "") AS Mcu_KelainanClasification
|
||||
FROM mgm_header
|
||||
LEFT JOIN mgm_detail ON Mgm_DetailMgm_HeaderID = Mgm_HeaderID AND Mgm_DetailIsActive = 'Y'
|
||||
LEFT JOIN mcu_kelainan ON Mgm_DetailMcu_KelainanID = Mcu_KelainanID
|
||||
LEFT JOIN mcu_kelainangroup ON Mgm_DetailMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
LEFT JOIN nat_test ON Nat_TestCode = Mgm_HeaderNat_TestCode
|
||||
WHERE Mgm_HeaderIsActive = 'Y' AND Mgm_HeaderMgm_McuID = ?
|
||||
AND Mgm_HeaderNat_TestCode = 'TANDA VITAL'
|
||||
GROUP BY
|
||||
CASE
|
||||
WHEN Mgm_HeaderIsNormal = "Y" THEN "Normal"
|
||||
WHEN Mgm_HeaderIsNormal = "N" THEN Mcu_KelainanName
|
||||
ELSE "Tidak diperiksa" END
|
||||
ORDER BY count(Mgm_HeaderT_OrderHeaderID) DESC
|
||||
SELECT Mcu_KelainanName as test,
|
||||
Mcu_KelainanClasification,
|
||||
count(distinct orderkel.T_OrderHeaderID) as total
|
||||
FROM mcu_kelainan
|
||||
JOIN mcu_summaryfisik ON Mcu_SummaryFisikMcu_KelainanID = Mcu_KelainanID AND
|
||||
Mcu_SummaryFisikIsActive = 'Y'
|
||||
LEFT JOIN t_kelainan_fisik ON T_KelainanFiskMcu_SummaryFisikID = Mcu_SummaryFisikID AND
|
||||
T_KelainanFiskIsActive= 'Y'
|
||||
LEFT JOIN t_orderheader orderkel ON T_KelainanFiskT_OrderHeaderID = orderkel.T_OrderHeaderID AND
|
||||
orderkel.T_OrderHeaderIsActive = 'Y' AND orderkel.T_OrderHeaderMgm_McuID = ?
|
||||
WHERE
|
||||
Mcu_KelainanIsActive = 'Y' AND Mcu_KelainanClasification = 'JNC-VII'
|
||||
group by Mcu_KelainanID
|
||||
UNION
|
||||
SELECT 'Normal' as test,
|
||||
'JNC-VII' as Mcu_KelainanClasification,
|
||||
COUNT(T_OrderHeaderID) - summary_total_kelainan_hipertensi(?) as total
|
||||
FROM t_orderheader
|
||||
WHERE
|
||||
T_OrderHeaderMgm_McuID = ? AND T_OrderHeaderIsActive = 'Y'
|
||||
group by T_OrderHeaderMgm_McuID
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID, mcuID, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data kel fisik hipertensi: %v", err)
|
||||
}
|
||||
defer logger.Sync()
|
||||
@@ -205,3 +335,197 @@ func (tkf *TabKelainanFisikServices) GetKelainanFisikHipertensi(mcuID string) (m
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
func (tkf *TabKelainanFisikServices) GetKelainanFisikRefraksi(mcuID string) (models.Piechart, error) {
|
||||
var option models.Piechart
|
||||
var data []models.KelainanFisikDataModel
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanName as test,
|
||||
count(distinct orderkel.T_OrderHeaderID) as total
|
||||
FROM mcu_kelainan
|
||||
JOIN mcu_summaryfisik ON Mcu_SummaryFisikMcu_KelainanID = Mcu_KelainanID AND
|
||||
Mcu_SummaryFisikIsActive = 'Y'
|
||||
LEFT JOIN t_kelainan_fisik ON T_KelainanFiskMcu_SummaryFisikID = Mcu_SummaryFisikID AND
|
||||
T_KelainanFiskIsActive= 'Y'
|
||||
LEFT JOIN t_orderheader orderkel ON T_KelainanFiskT_OrderHeaderID = orderkel.T_OrderHeaderID AND
|
||||
orderkel.T_OrderHeaderIsActive = 'Y' AND orderkel.T_OrderHeaderMgm_McuID = ?
|
||||
WHERE
|
||||
Mcu_KelainanIsActive = 'Y' AND Mcu_KelainanID IN (24,25)
|
||||
group by Mcu_KelainanID
|
||||
UNION
|
||||
SELECT 'Normal' as test,
|
||||
count(distinct T_OrderHeaderID) - summary_total_kelainan_visus(?) as total
|
||||
FROM t_orderheader
|
||||
WHERE
|
||||
T_OrderHeaderMgm_McuID = ? AND T_OrderHeaderIsActive = 'Y'
|
||||
group by T_OrderHeaderMgm_McuID
|
||||
`
|
||||
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID, mcuID, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data kel fisik refraksi: %v", err)
|
||||
}
|
||||
|
||||
title := "Refraksi"
|
||||
subtext := ""
|
||||
chartData := []models.SeriesData{}
|
||||
|
||||
if data != nil {
|
||||
for _, d := range data {
|
||||
chartData = append(chartData, models.SeriesData{
|
||||
Value: d.Total,
|
||||
Name: d.Test + ": " + strconv.Itoa(d.Total) + " Peserta",
|
||||
})
|
||||
}
|
||||
} else {
|
||||
chartData = append(chartData, models.SeriesData{Value: 0, Name: "No Data"})
|
||||
}
|
||||
|
||||
option, err := tkf.GetPieChartConf(title, subtext, chartData)
|
||||
if err != nil {
|
||||
return option, fmt.Errorf("error get and insert data to chart: %v", err)
|
||||
}
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
func (tkf *TabKelainanFisikServices) GetKelFisikAlkohol(mcuID string) (models.Piechart, error) {
|
||||
var option models.Piechart
|
||||
var data []models.KelainanFisikDataModel
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
Mcu_KelainanName as test,
|
||||
COUNT( distinct T_OrderHeaderID) as total
|
||||
FROM mcu_kelainan
|
||||
JOIN mcu_summaryfisik ON Mcu_SummaryFisikMcu_KelainanID = Mcu_KelainanID AND
|
||||
Mcu_KelainanIsActive = 'Y' AND Mcu_KelainanID IN (117,118,119)
|
||||
LEFT JOIN t_kelainan_fisik ON T_KelainanFiskMcu_SummaryFisikID = Mcu_SummaryFisikID AND
|
||||
T_KelainanFiskIsActive = 'Y'
|
||||
LEFT JOIN so_resultentry ON T_KelainanFiskSo_ResultEntryID = So_ResultEntryID AND
|
||||
So_ResultEntryIsActive = 'Y'
|
||||
LEFT JOIN so_resultentry_fisik_umum ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID AND
|
||||
So_ResultEntryFisikUmumIsActive = 'Y'
|
||||
LEFT JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND
|
||||
T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
`
|
||||
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data kel fisik konsumsi alkohol: %v", err)
|
||||
}
|
||||
|
||||
title := "Konsumsi Alkohol"
|
||||
subtext := ""
|
||||
chartData := []models.SeriesData{}
|
||||
|
||||
if data != nil {
|
||||
for _, d := range data {
|
||||
chartData = append(chartData, models.SeriesData{
|
||||
Value: d.Total,
|
||||
Name: d.Test + ": " + strconv.Itoa(d.Total) + " Peserta",
|
||||
})
|
||||
}
|
||||
} else {
|
||||
chartData = append(chartData, models.SeriesData{Value: 0, Name: "No Data"})
|
||||
}
|
||||
|
||||
option, err := tkf.GetPieChartConf(title, subtext, chartData)
|
||||
if err != nil {
|
||||
return option, fmt.Errorf("error get and insert data to chart: %v", err)
|
||||
}
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
func (tkf *TabKelainanFisikServices) GetKelFisikMerokok(mcuID string) (models.Piechart, error) {
|
||||
var option models.Piechart
|
||||
var data []models.KelainanFisikDataModel
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanName as test, COUNT( distinct T_OrderHeaderID) as total
|
||||
FROM mcu_kelainan
|
||||
JOIN mcu_summaryfisik ON Mcu_SummaryFisikMcu_KelainanID = Mcu_KelainanID AND
|
||||
Mcu_KelainanIsActive = 'Y' AND Mcu_KelainanID IN (120,121,122)
|
||||
LEFT JOIN t_kelainan_fisik ON T_KelainanFiskMcu_SummaryFisikID = Mcu_SummaryFisikID AND
|
||||
T_KelainanFiskIsActive = 'Y'
|
||||
LEFT JOIN so_resultentry ON T_KelainanFiskSo_ResultEntryID = So_ResultEntryID AND
|
||||
So_ResultEntryIsActive = 'Y'
|
||||
LEFT JOIN so_resultentry_fisik_umum ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID AND
|
||||
So_ResultEntryFisikUmumIsActive = 'Y'
|
||||
LEFT JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND
|
||||
T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data kel fisik merokok %v", err)
|
||||
}
|
||||
|
||||
title := "Merokok"
|
||||
subtext := ""
|
||||
chartData := []models.SeriesData{}
|
||||
|
||||
if data != nil {
|
||||
for _, d := range data {
|
||||
chartData = append(chartData, models.SeriesData{
|
||||
Value: d.Total,
|
||||
Name: d.Test + ": " + strconv.Itoa(d.Total) + " Peserta",
|
||||
})
|
||||
}
|
||||
} else {
|
||||
chartData = append(chartData, models.SeriesData{Value: 0, Name: "No Data"})
|
||||
}
|
||||
|
||||
option, err := tkf.GetPieChartConf(title, subtext, chartData)
|
||||
if err != nil {
|
||||
return option, fmt.Errorf("error get and insert data into chart %v", err)
|
||||
}
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
func (tkf *TabKelainanFisikServices) GetKelFisikOlahraga(mcuID string) (models.Piechart, error) {
|
||||
var option models.Piechart
|
||||
var data []models.KelainanFisikDataModel
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanName as test, COUNT( distinct T_OrderHeaderID) as total
|
||||
FROM mcu_kelainan
|
||||
JOIN mcu_summaryfisik ON Mcu_SummaryFisikMcu_KelainanID = Mcu_KelainanID AND
|
||||
Mcu_KelainanIsActive = 'Y' AND Mcu_KelainanID IN (123,124)
|
||||
LEFT JOIN t_kelainan_fisik ON T_KelainanFiskMcu_SummaryFisikID = Mcu_SummaryFisikID AND
|
||||
T_KelainanFiskIsActive = 'Y'
|
||||
LEFT JOIN so_resultentry ON T_KelainanFiskSo_ResultEntryID = So_ResultEntryID AND
|
||||
So_ResultEntryIsActive = 'Y'
|
||||
LEFT JOIN so_resultentry_fisik_umum ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID AND
|
||||
So_ResultEntryFisikUmumIsActive = 'Y'
|
||||
LEFT JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND
|
||||
T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data kel fisik olahraga %v", err)
|
||||
}
|
||||
|
||||
title := "Olahraga"
|
||||
subtext := ""
|
||||
chartData := []models.SeriesData{}
|
||||
|
||||
if data != nil {
|
||||
for _, d := range data {
|
||||
chartData = append(chartData, models.SeriesData{
|
||||
Value: d.Total,
|
||||
Name: d.Test + ": " + strconv.Itoa(d.Total) + " Peserta",
|
||||
})
|
||||
}
|
||||
} else {
|
||||
chartData = append(chartData, models.SeriesData{Value: 0, Name: "No Data"})
|
||||
}
|
||||
|
||||
option, err := tkf.GetPieChartConf(title, subtext, chartData)
|
||||
if err != nil {
|
||||
return option, fmt.Errorf("error get and insert data to chart %v", err)
|
||||
}
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ func (tkg *TabKelainanGlobalServices) GetBarChartConf(title string, data models.
|
||||
X string "json:\"x\""
|
||||
Y string "json:\"y\""
|
||||
}{
|
||||
X: "score",
|
||||
X: "amount",
|
||||
Y: "product",
|
||||
},
|
||||
},
|
||||
@@ -199,3 +199,92 @@ func (tkg *TabKelainanGlobalServices) GetKelainanFisik(mcuID string) (models.Bar
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
func (tkg *TabKelainanGlobalServices) GetKelainanGlobalV2(mcuID string) (models.Barchart, error) {
|
||||
var option models.Barchart
|
||||
var data []models.KelainanGlobalModel
|
||||
|
||||
q := `
|
||||
SELECT * FROM (
|
||||
SELECT Mcu_KelainanID,
|
||||
Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as Total
|
||||
FROM t_kelainan_lab
|
||||
JOIN t_orderheader ON T_KelainanLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarylab ON T_KelainanLabMcu_SummaryLabID = Mcu_SummaryLabID
|
||||
join mcu_kelainan on Mcu_summaryLabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
JOIN nat_test ON Mcu_SummaryLabNat_TestID = Nat_TestID AND T_KelainanLabNat_TestID = Mcu_SummaryLabNat_TestID
|
||||
where T_KelainanLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
UNION
|
||||
SELECT Mcu_KelainanID, Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as Total
|
||||
FROM t_kelainan_nonlab
|
||||
JOIN t_orderheader ON T_KelainanNonLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarynonlab ON T_KelainanNonLabMcu_SummaryNonlabID = Mcu_SummaryNonlabID
|
||||
join mcu_kelainan on Mcu_SummaryNonlabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
JOIN nat_test ON Mcu_SummaryNonlabNat_TestID = Nat_TestID AND
|
||||
T_KelainanNonLabNat_TestID = Mcu_SummaryNonlabNat_TestID
|
||||
where T_KelainanNonLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
UNION
|
||||
SELECT Mcu_KelainanID, Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as Total
|
||||
FROM t_kelainan_fisik
|
||||
JOIN t_orderheader ON T_KelainanFiskT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summaryfisik ON T_KelainanFiskMcu_SummaryFisikID = Mcu_SummaryFisikID
|
||||
join mcu_kelainan on Mcu_SummaryFisikMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
where T_KelainanFiskIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
) a
|
||||
|
||||
ORDER BY total DESC
|
||||
LIMIT 10
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID, mcuID, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data kelainan global %v", err)
|
||||
}
|
||||
|
||||
var jumlahPeserta models.TotalPesertaModel
|
||||
|
||||
q = `
|
||||
SELECT
|
||||
COUNT(distinct(T_OrderHeaderID)) as peserta,
|
||||
COUNT( distinct(Mcu_PreregisterPatientsM_PatientID)) as total
|
||||
FROM mcu_preregister_patients
|
||||
LEFT JOIN t_orderheader ON Mcu_PreregisterPatientsT_OrderHeaderID = T_OrderHeaderID AND
|
||||
T_OrderHeaderIsActive = 'Y'
|
||||
WHERE
|
||||
Mcu_PreregisterPatientsMgm_McuID = ? AND
|
||||
Mcu_PreregisterPatientsIsActive = 'Y'
|
||||
`
|
||||
if err := dbx.Handlex.Get(&jumlahPeserta, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get jumlah peserta %v", err)
|
||||
}
|
||||
|
||||
title := "Kelainan Global (10 Terbesar)"
|
||||
chartData := models.BarDataset{
|
||||
Source: [][]interface{}{
|
||||
{"score", "amount", "product", "percentage"},
|
||||
},
|
||||
}
|
||||
|
||||
for _, d := range data {
|
||||
percentage := float64(d.Total) / float64(jumlahPeserta.Peserta) * 100
|
||||
roundedPercentage := math.Round(percentage*100) / 100
|
||||
percentStr := strconv.FormatFloat(roundedPercentage, 'f', -1, 64)
|
||||
chartData.Source = append(chartData.Source, []interface{}{
|
||||
d.Mcu_KelainanID, d.Total, d.Test, percentStr,
|
||||
})
|
||||
}
|
||||
|
||||
option, err := tkg.GetBarChartConf(title, chartData)
|
||||
if err != nil {
|
||||
return option, fmt.Errorf("error insert data to barchart %v", err)
|
||||
}
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ func (tkl *TabKelainanLabServices) ConfBarchart(title string, data models.BarDat
|
||||
X string "json:\"x\""
|
||||
Y string "json:\"y\""
|
||||
}{
|
||||
X: "score",
|
||||
X: "amount",
|
||||
Y: "product",
|
||||
},
|
||||
},
|
||||
@@ -127,7 +127,7 @@ func (tkl *TabKelainanLabServices) ConfBarchartVertical(title string, data []mod
|
||||
Rotate int "json:\"rotate\""
|
||||
}{
|
||||
Interval: 0,
|
||||
Rotate: 0,
|
||||
Rotate: 20,
|
||||
},
|
||||
},
|
||||
YAxis: struct {
|
||||
@@ -226,46 +226,56 @@ func (tkl *TabKelainanLabServices) GetDataPresentaseKelainanLab(mcuID string) (m
|
||||
var data []models.KelainanLabModel
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
Mcu_KelainanName,
|
||||
COUNT(Mgm_HeaderT_OrderHeaderID) AS total
|
||||
FROM mgm_header
|
||||
JOIN mgm_detail ON Mgm_DetailMgm_HeaderID = Mgm_HeaderID
|
||||
AND Mgm_DetailIsActive = 'Y'
|
||||
JOIN mcu_kelainan ON Mgm_DetailMcu_KelainanID = Mcu_KelainanID
|
||||
JOIN mcu_kelainangroup ON Mgm_DetailMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
WHERE Mgm_HeaderIsActive = 'Y' AND Mgm_HeaderMgm_McuID = ?
|
||||
AND Mgm_HeaderType = 'L'
|
||||
AND Mgm_HeaderIsNormal = 'N'
|
||||
GROUP BY Mcu_KelainanID ORDER BY COUNT(Mgm_HeaderT_OrderHeaderID) DESC
|
||||
SELECT Mcu_KelainanID,
|
||||
Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_lab
|
||||
JOIN t_orderheader ON T_KelainanLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarylab ON T_KelainanLabMcu_SummaryLabID = Mcu_SummaryLabID
|
||||
join mcu_kelainan on Mcu_summaryLabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
JOIN nat_test ON Mcu_SummaryLabNat_TestID = Nat_TestID AND T_KelainanLabNat_TestID = Mcu_SummaryLabNat_TestID
|
||||
where T_KelainanLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
LIMIT 10
|
||||
`
|
||||
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get total presentase fisik %v", err)
|
||||
return option, fmt.Errorf("error get kelainan lab %v", err)
|
||||
}
|
||||
defer logger.Sync()
|
||||
logger.Info("resp data", zap.Any("data", data))
|
||||
|
||||
title := "Data Presentase Kelainan Lab"
|
||||
title := "Kelainan Lab (10 Terbesar)"
|
||||
chartData := models.BarDataset{
|
||||
Source: [][]interface{}{
|
||||
{"score", "amount", "product", "percentage"},
|
||||
},
|
||||
}
|
||||
|
||||
max := 1
|
||||
for _, d := range data {
|
||||
if d.Total >= max {
|
||||
max = d.Total
|
||||
}
|
||||
var jumlahPeserta models.TotalPesertaModel
|
||||
q = `
|
||||
SELECT
|
||||
COUNT(distinct(T_OrderHeaderID)) as peserta,
|
||||
COUNT( distinct(Mcu_PreregisterPatientsM_PatientID)) as total
|
||||
FROM mcu_preregister_patients
|
||||
LEFT JOIN t_orderheader ON Mcu_PreregisterPatientsT_OrderHeaderID = T_OrderHeaderID AND
|
||||
T_OrderHeaderIsActive = 'Y'
|
||||
WHERE
|
||||
Mcu_PreregisterPatientsMgm_McuID = ? AND
|
||||
Mcu_PreregisterPatientsIsActive = 'Y'
|
||||
`
|
||||
if err := dbx.Handlex.Get(&jumlahPeserta, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get jumlah peserta %v", err)
|
||||
}
|
||||
|
||||
for _, d := range data {
|
||||
percentage := float64(d.Total) / float64(max) * 100
|
||||
percentage := float64(d.Total) / float64(jumlahPeserta.Peserta) * 100
|
||||
roundedPercentage := math.Round(percentage*100) / 100
|
||||
percentStr := strconv.FormatFloat(roundedPercentage, 'f', -1, 64)
|
||||
chartData.Source = append(chartData.Source, []interface{}{
|
||||
d.Total, d.Total, d.Mcu_KelainanName, percentStr,
|
||||
d.Mcu_KelainanID, d.Total, d.Mcu_KelainanName, percentStr,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -283,18 +293,18 @@ func (tkl *TabKelainanLabServices) GetHematologi(mcuID string) (models.BarchartV
|
||||
var data []models.KelainanLabModel
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanName,
|
||||
COUNT(Mgm_HeaderT_OrderHeaderID) AS total
|
||||
FROM mgm_header
|
||||
JOIN mgm_detail ON Mgm_DetailMgm_HeaderID = Mgm_HeaderID AND Mgm_DetailIsActive = 'Y'
|
||||
JOIN mcu_kelainan ON Mgm_DetailMcu_KelainanID = Mcu_KelainanID
|
||||
JOIN mcu_kelainangroup ON Mgm_DetailMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
WHERE Mgm_HeaderIsActive = 'Y' AND Mgm_HeaderMgm_McuID = ?
|
||||
AND Mgm_HeaderType = 'L'
|
||||
AND Mgm_HeaderIsNormal = 'N'
|
||||
AND Mcu_KelainanGroupID = 14
|
||||
GROUP BY Mcu_KelainanID
|
||||
ORDER BY COUNT(Mgm_HeaderT_OrderHeaderID) DESC
|
||||
SELECT Mcu_KelainanID,
|
||||
Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_lab
|
||||
JOIN t_orderheader ON T_KelainanLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarylab ON T_KelainanLabMcu_SummaryLabID = Mcu_SummaryLabID
|
||||
join mcu_kelainan on Mcu_summaryLabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID AND Mcu_KelainanGroupID = 14
|
||||
JOIN nat_test ON Mcu_SummaryLabNat_TestID = Nat_TestID AND T_KelainanLabNat_TestID = Mcu_SummaryLabNat_TestID
|
||||
where T_KelainanLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get hematologi %v", err)
|
||||
@@ -317,20 +327,20 @@ func (tkl *TabKelainanLabServices) GetUrinalisa(mcuID string) (models.BarchartV2
|
||||
var data []models.KelainanLabModel
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
Mcu_KelainanName,
|
||||
COUNT(Mgm_HeaderT_OrderHeaderID) AS total
|
||||
FROM mgm_header
|
||||
JOIN mgm_detail ON Mgm_DetailMgm_HeaderID = Mgm_HeaderID
|
||||
AND Mgm_DetailIsActive = 'Y'
|
||||
JOIN mcu_kelainan ON Mgm_DetailMcu_KelainanID = Mcu_KelainanID
|
||||
JOIN mcu_kelainangroup ON Mgm_DetailMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
WHERE Mgm_HeaderIsActive = 'Y' AND Mgm_HeaderMgm_McuID = ?
|
||||
AND Mgm_HeaderType = 'L'
|
||||
AND Mgm_HeaderIsNormal = 'N'
|
||||
AND Mcu_KelainanGroupID = 15
|
||||
GROUP BY Mcu_KelainanID
|
||||
ORDER BY COUNT(Mgm_HeaderT_OrderHeaderID) DESC
|
||||
SELECT Mcu_KelainanID,
|
||||
Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_lab
|
||||
JOIN t_orderheader ON T_KelainanLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarylab ON T_KelainanLabMcu_SummaryLabID = Mcu_SummaryLabID
|
||||
join mcu_kelainan on Mcu_summaryLabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
AND Mcu_KelainanGroupID = 15
|
||||
JOIN nat_test ON Mcu_SummaryLabNat_TestID = Nat_TestID
|
||||
AND T_KelainanLabNat_TestID = Mcu_SummaryLabNat_TestID
|
||||
where T_KelainanLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get urinalisa %v", err)
|
||||
@@ -353,19 +363,18 @@ func (tkl *TabKelainanLabServices) GetGangguanFungsiHati(mcuID string) (models.B
|
||||
var data []models.KelainanLabModel
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanName,
|
||||
COUNT(Mgm_HeaderT_OrderHeaderID) AS total
|
||||
FROM mgm_header
|
||||
JOIN mgm_detail ON Mgm_DetailMgm_HeaderID = Mgm_HeaderID
|
||||
AND Mgm_DetailIsActive = 'Y'
|
||||
JOIN mcu_kelainan ON Mgm_DetailMcu_KelainanID = Mcu_KelainanID
|
||||
JOIN mcu_kelainangroup ON Mgm_DetailMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
WHERE Mgm_HeaderIsActive = 'Y' AND Mgm_HeaderMgm_McuID = ?
|
||||
AND Mgm_HeaderType = 'L'
|
||||
AND Mgm_HeaderIsNormal = 'N'
|
||||
AND Mcu_KelainanGroupID = 16
|
||||
GROUP BY Mcu_KelainanID
|
||||
ORDER BY COUNT(Mgm_HeaderT_OrderHeaderID) DESC
|
||||
SELECT Mcu_KelainanID,
|
||||
Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_lab
|
||||
JOIN t_orderheader ON T_KelainanLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarylab ON T_KelainanLabMcu_SummaryLabID = Mcu_SummaryLabID
|
||||
join mcu_kelainan on Mcu_summaryLabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID AND Mcu_KelainanGroupID = 16
|
||||
JOIN nat_test ON Mcu_SummaryLabNat_TestID = Nat_TestID AND T_KelainanLabNat_TestID = Mcu_SummaryLabNat_TestID
|
||||
where T_KelainanLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get gangguan fungsi hati %v", err)
|
||||
@@ -388,17 +397,19 @@ func (tkl *TabKelainanLabServices) GetGangguanMetabolismeLemak(mcuID string) (mo
|
||||
var data []models.KelainanLabModel
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
IFNULL(Mcu_KelainanName,'Normal') AS Mcu_KelainanName,
|
||||
COUNT(Mgm_HeaderT_OrderHeaderID) AS total
|
||||
FROM mgm_header
|
||||
LEFT JOIN mgm_detail ON Mgm_DetailMgm_HeaderID = Mgm_HeaderID AND Mgm_DetailIsActive = 'Y'
|
||||
LEFT JOIN mcu_kelainan ON Mgm_DetailMcu_KelainanID = Mcu_KelainanID
|
||||
LEFT JOIN mcu_kelainangroup ON Mgm_DetailMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
WHERE Mgm_HeaderIsActive = 'Y' AND Mgm_HeaderNat_TestCode IN ( '10520300','10520400')
|
||||
AND Mgm_HeaderMgm_McuID = ?
|
||||
GROUP BY Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
SELECT Mcu_KelainanID,
|
||||
Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_lab
|
||||
JOIN t_orderheader ON T_KelainanLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarylab ON T_KelainanLabMcu_SummaryLabID = Mcu_SummaryLabID
|
||||
join mcu_kelainan on Mcu_summaryLabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
JOIN nat_test ON Mcu_SummaryLabNat_TestID = Nat_TestID AND
|
||||
T_KelainanLabNat_TestID = Mcu_SummaryLabNat_TestID AND Nat_TestCode IN ( '10520300','10520400')
|
||||
where T_KelainanLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get gangguan metabolisme lemak %v", err)
|
||||
@@ -421,16 +432,19 @@ func (tkl *TabKelainanLabServices) GetPeningkatanGlukosa(mcuID string) (models.B
|
||||
var data []models.KelainanLabModel
|
||||
|
||||
q := `
|
||||
SELECT IFNULL(Mcu_KelainanName,'Normal') AS Mcu_KelainanName,
|
||||
COUNT(Mgm_HeaderT_OrderHeaderID) AS total
|
||||
FROM mgm_header
|
||||
LEFT JOIN mgm_detail ON Mgm_DetailMgm_HeaderID = Mgm_HeaderID AND Mgm_DetailIsActive = 'Y'
|
||||
LEFT JOIN mcu_kelainan ON Mgm_DetailMcu_KelainanID = Mcu_KelainanID
|
||||
LEFT JOIN mcu_kelainangroup ON Mgm_DetailMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
WHERE Mgm_HeaderIsActive = 'Y' AND Mgm_HeaderNat_TestCode = 10540200
|
||||
AND Mgm_HeaderMgm_McuID = ?
|
||||
GROUP BY Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
SELECT Mcu_KelainanID,
|
||||
Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_lab
|
||||
JOIN t_orderheader ON T_KelainanLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarylab ON T_KelainanLabMcu_SummaryLabID = Mcu_SummaryLabID
|
||||
join mcu_kelainan on Mcu_summaryLabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
JOIN nat_test ON Mcu_SummaryLabNat_TestID = Nat_TestID AND
|
||||
T_KelainanLabNat_TestID = Mcu_SummaryLabNat_TestID AND Nat_TestCode IN ( '10540200')
|
||||
where T_KelainanLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get peningkatan glukosa %v", err)
|
||||
|
||||
@@ -32,7 +32,7 @@ func (tknl *TabKelainanNonLabServices) GetBarChartConf(title string, data models
|
||||
option.YAxis.Type = "category"
|
||||
option.VisualMap.Orient = "horizontal"
|
||||
option.VisualMap.Left = "center"
|
||||
option.VisualMap.Min = 10
|
||||
option.VisualMap.Min = 1
|
||||
option.VisualMap.Max = 100
|
||||
option.VisualMap.Show = false
|
||||
option.VisualMap.Dimension = 0
|
||||
@@ -95,8 +95,15 @@ func (tknl *TabKelainanNonLabServices) ConfBarchartVertical(title string, data [
|
||||
|
||||
cnt := len(data)
|
||||
for idx, d := range data {
|
||||
if len(d.Test) > 30 {
|
||||
var newText = d.Test[:30] + "- \n" + d.Test[30:]
|
||||
chartData.Source = append(chartData.Source, []interface{}{
|
||||
idx, d.Total, newText,
|
||||
})
|
||||
continue
|
||||
}
|
||||
chartData.Source = append(chartData.Source, []interface{}{
|
||||
idx, d.Total, d.Kelainan,
|
||||
idx, d.Total, d.Test,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -125,7 +132,7 @@ func (tknl *TabKelainanNonLabServices) ConfBarchartVertical(title string, data [
|
||||
Rotate int "json:\"rotate\""
|
||||
}{
|
||||
Interval: 0,
|
||||
Rotate: 0,
|
||||
Rotate: 20,
|
||||
},
|
||||
},
|
||||
YAxis: struct {
|
||||
@@ -224,45 +231,56 @@ func (tknl *TabKelainanNonLabServices) GetDataKelNonLab(mcuID string) (models.Ba
|
||||
var data []models.KelNonLabModel
|
||||
|
||||
q := `
|
||||
SELECT concat(Nat_TestName,"/",Mcu_KelainanName) AS kelainan,
|
||||
COUNT(Mgm_HeaderT_OrderHeaderID) AS total
|
||||
FROM mgm_header
|
||||
LEFT JOIN mgm_detail ON Mgm_DetailMgm_HeaderID = Mgm_HeaderID AND Mgm_DetailIsActive = 'Y'
|
||||
LEFT JOIN mcu_kelainan ON Mgm_DetailMcu_KelainanID = Mcu_KelainanID
|
||||
LEFT JOIN mcu_kelainangroup ON Mgm_DetailMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
LEFT JOIN nat_test ON Nat_TestCode = Mgm_HeaderNat_TestCode
|
||||
WHERE Mgm_HeaderIsActive = 'Y' AND Mgm_HeaderMgm_McuID = ?
|
||||
AND Mgm_HeaderType = 'NL'
|
||||
AND Mgm_HeaderIsNormal = 'N'
|
||||
GROUP BY Mcu_KelainanID
|
||||
ORDER BY COUNT(Mgm_HeaderT_OrderHeaderID) DESC
|
||||
SELECT Mcu_KelainanID, Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_nonlab
|
||||
JOIN t_orderheader ON T_KelainanNonLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarynonlab ON T_KelainanNonLabMcu_SummaryNonlabID = Mcu_SummaryNonlabID
|
||||
join mcu_kelainan on Mcu_SummaryNonlabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
JOIN nat_test ON Mcu_SummaryNonlabNat_TestID = Nat_TestID AND
|
||||
T_KelainanNonLabNat_TestID = Mcu_SummaryNonlabNat_TestID
|
||||
where T_KelainanNonLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
LIMIT 10
|
||||
`
|
||||
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data kelainan global mcu %v", err)
|
||||
}
|
||||
defer logger.Sync()
|
||||
logger.Info("resp data", zap.Any("data", data))
|
||||
|
||||
title := "Data Presentase Kelainan Non Lab"
|
||||
title := "Kelainan Non Lab (10 Terbesar)"
|
||||
chartData := models.BarDataset{
|
||||
Source: [][]interface{}{
|
||||
{"score", "amount", "product", "percentage"},
|
||||
},
|
||||
}
|
||||
|
||||
max := 1
|
||||
for _, d := range data {
|
||||
if d.Total >= max {
|
||||
max = d.Total
|
||||
}
|
||||
var jumlahPeserta models.TotalPesertaModel
|
||||
q = `
|
||||
SELECT
|
||||
COUNT(distinct(T_OrderHeaderID)) as peserta,
|
||||
COUNT( distinct(Mcu_PreregisterPatientsM_PatientID)) as total
|
||||
FROM mcu_preregister_patients
|
||||
LEFT JOIN t_orderheader ON Mcu_PreregisterPatientsT_OrderHeaderID = T_OrderHeaderID AND
|
||||
T_OrderHeaderIsActive = 'Y'
|
||||
WHERE
|
||||
Mcu_PreregisterPatientsMgm_McuID = ? AND
|
||||
Mcu_PreregisterPatientsIsActive = 'Y'
|
||||
`
|
||||
if err := dbx.Handlex.Get(&jumlahPeserta, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get jumlah peserta %v", err)
|
||||
}
|
||||
|
||||
for _, d := range data {
|
||||
percentage := float64(d.Total) / float64(max) * 100
|
||||
percentage := float64(d.Total) / float64(jumlahPeserta.Peserta) * 100
|
||||
roundedPercentage := math.Round(percentage*100) / 100
|
||||
percentStr := strconv.FormatFloat(roundedPercentage, 'f', -1, 64)
|
||||
chartData.Source = append(chartData.Source, []interface{}{
|
||||
d.Total, d.Total, d.Kelainan, percentStr,
|
||||
d.Mcu_KelainanID, d.Total, d.Test, percentStr,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -280,21 +298,23 @@ func (tknl *TabKelainanNonLabServices) GetThoraxPA(mcuID string) (models.Barchar
|
||||
var data []models.KelNonLabModel
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
IFNULL(Mcu_KelainanName,'Normal') AS kelainan,
|
||||
COUNT(Mgm_HeaderT_OrderHeaderID) AS total
|
||||
FROM mgm_header
|
||||
LEFT JOIN mgm_detail ON Mgm_DetailMgm_HeaderID = Mgm_HeaderID AND Mgm_DetailIsActive = 'Y'
|
||||
LEFT JOIN mcu_kelainan ON Mgm_DetailMcu_KelainanID = Mcu_KelainanID
|
||||
LEFT JOIN mcu_kelainangroup ON Mgm_DetailMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
WHERE Mgm_HeaderIsActive = 'Y' AND Mgm_HeaderNat_TestCode = 30150100
|
||||
AND Mgm_HeaderIsNormal = 'N' AND Mgm_HeaderMgm_McuID = ?
|
||||
GROUP BY Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
SELECT Mcu_KelainanID, Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_nonlab
|
||||
JOIN t_orderheader ON T_KelainanNonLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarynonlab ON T_KelainanNonLabMcu_SummaryNonlabID = Mcu_SummaryNonlabID
|
||||
join mcu_kelainan on Mcu_SummaryNonlabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
JOIN nat_test ON Mcu_SummaryNonlabNat_TestID = Nat_TestID AND
|
||||
T_KelainanNonLabNat_TestID = Mcu_SummaryNonlabNat_TestID AND Nat_TestID = 5798
|
||||
where T_KelainanNonLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
LIMIT 10
|
||||
`
|
||||
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data kelainan global mcu %v", err)
|
||||
return option, fmt.Errorf("error get data thorax pa %v", err)
|
||||
}
|
||||
defer logger.Sync()
|
||||
logger.Info("resp data", zap.Any("data", data))
|
||||
@@ -307,3 +327,100 @@ func (tknl *TabKelainanNonLabServices) GetThoraxPA(mcuID string) (models.Barchar
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
func (tknl *TabKelainanNonLabServices) GetGangguanJantung(mcuID string) (models.BarchartV2, error) {
|
||||
var option models.BarchartV2
|
||||
var data []models.KelNonLabModel
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanID, Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_nonlab
|
||||
JOIN t_orderheader ON T_KelainanNonLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarynonlab ON T_KelainanNonLabMcu_SummaryNonlabID = Mcu_SummaryNonlabID
|
||||
join mcu_kelainan on Mcu_SummaryNonlabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID AND
|
||||
Mcu_KelainanGroupID = 10
|
||||
JOIN nat_test ON Mcu_SummaryNonlabNat_TestID = Nat_TestID AND
|
||||
T_KelainanNonLabNat_TestID = Mcu_SummaryNonlabNat_TestID
|
||||
where T_KelainanNonLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
LIMIT 10
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data gangguan jantung %v", err)
|
||||
}
|
||||
|
||||
title := "Gangguan Jantung"
|
||||
option, err := tknl.ConfBarchartVertical(title, data)
|
||||
if err != nil {
|
||||
return option, fmt.Errorf("error insert data into chart %v", err)
|
||||
}
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
func (tknl *TabKelainanNonLabServices) GetAutospirometri(mcuID string) (models.BarchartV2, error) {
|
||||
var option models.BarchartV2
|
||||
var data []models.KelNonLabModel
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanID, Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_nonlab
|
||||
JOIN t_orderheader ON T_KelainanNonLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarynonlab ON T_KelainanNonLabMcu_SummaryNonlabID = Mcu_SummaryNonlabID
|
||||
join mcu_kelainan on Mcu_SummaryNonlabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
JOIN nat_test ON Mcu_SummaryNonlabNat_TestID = Nat_TestID AND
|
||||
T_KelainanNonLabNat_TestID = Mcu_SummaryNonlabNat_TestID AND Nat_TestID = 5321
|
||||
where T_KelainanNonLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
LIMIT 10
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data autspirometri %v", err)
|
||||
}
|
||||
|
||||
title := "Autospirometri"
|
||||
option, err := tknl.ConfBarchartVertical(title, data)
|
||||
if err != nil {
|
||||
return option, fmt.Errorf("error insert data into chart %v", err)
|
||||
}
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
func (tknl *TabKelainanNonLabServices) GetPendengaran(mcuID string) (models.BarchartV2, error) {
|
||||
var option models.BarchartV2
|
||||
var data []models.KelNonLabModel
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanID, Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_nonlab
|
||||
JOIN t_orderheader ON T_KelainanNonLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarynonlab ON T_KelainanNonLabMcu_SummaryNonlabID = Mcu_SummaryNonlabID
|
||||
join mcu_kelainan on Mcu_SummaryNonlabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
JOIN nat_test ON Mcu_SummaryNonlabNat_TestID = Nat_TestID AND
|
||||
T_KelainanNonLabNat_TestID = Mcu_SummaryNonlabNat_TestID AND Nat_TestID = 5308
|
||||
where T_KelainanNonLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
LIMIT 10
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get data gangguan pendengaran %v", err)
|
||||
}
|
||||
|
||||
title := "Gangguan Pendengaran"
|
||||
option, err := tknl.ConfBarchartVertical(title, data)
|
||||
if err != nil {
|
||||
return option, fmt.Errorf("error insert data into chart %v", err)
|
||||
}
|
||||
|
||||
return option, nil
|
||||
}
|
||||
|
||||
@@ -101,14 +101,16 @@ func (tkp *TabKepersertaanServices) GetTotalKepesertaanMCU(mcuID string) (models
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
COUNT(mo.Mcu_OrderID) AS peserta,
|
||||
mm.Mgm_McuTotalParticipant
|
||||
FROM mgm_mcu mm
|
||||
LEFT JOIN t_orderheader toh ON toh.T_OrderHeaderMgm_McuID = mm.Mgm_McuID
|
||||
AND T_OrderHeaderIsActive = 'Y'
|
||||
LEFT JOIN mcu_order mo ON mo.Mcu_OrderT_OrderHeaderID = toh.T_OrderHeaderID
|
||||
WHERE mm.Mgm_McuID = ? AND mm.Mgm_McuIsActive = 'Y'
|
||||
COUNT(distinct(T_OrderHeaderID)) as peserta,
|
||||
COUNT( distinct(Mcu_PreregisterPatientsM_PatientID)) as total
|
||||
FROM mcu_preregister_patients
|
||||
LEFT JOIN t_orderheader ON Mcu_PreregisterPatientsT_OrderHeaderID = T_OrderHeaderID AND
|
||||
T_OrderHeaderIsActive = 'Y'
|
||||
WHERE
|
||||
Mcu_PreregisterPatientsMgm_McuID = ? AND
|
||||
Mcu_PreregisterPatientsIsActive = 'Y'
|
||||
`
|
||||
|
||||
if err := dbx.Handlex.Get(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get total participant %v", err)
|
||||
}
|
||||
@@ -116,10 +118,10 @@ func (tkp *TabKepersertaanServices) GetTotalKepesertaanMCU(mcuID string) (models
|
||||
logger.Info("resp data", zap.Any("data", data))
|
||||
|
||||
title := "Peserta MCU"
|
||||
subtext := "Total Peserta " + strconv.Itoa(data.Mgm_McuTotalParticipant)
|
||||
subtext := "Total Peserta " + strconv.Itoa(data.Total)
|
||||
chartData := []models.SeriesData{}
|
||||
|
||||
if data.Mgm_McuTotalParticipant == 0 {
|
||||
if data.Total == 0 {
|
||||
chartData = append(chartData, models.SeriesData{Value: 0, Name: "No Data"})
|
||||
} else {
|
||||
chartData = []models.SeriesData{
|
||||
@@ -128,8 +130,8 @@ func (tkp *TabKepersertaanServices) GetTotalKepesertaanMCU(mcuID string) (models
|
||||
Name: "Sudah MCU: " + strconv.Itoa(data.Peserta) + " peserta",
|
||||
},
|
||||
{
|
||||
Value: data.Mgm_McuTotalParticipant - data.Peserta,
|
||||
Name: "Belum MCU: " + strconv.Itoa(data.Mgm_McuTotalParticipant-data.Peserta) + " peserta",
|
||||
Value: data.Total - data.Peserta,
|
||||
Name: "Belum MCU: " + strconv.Itoa(data.Total-data.Peserta) + " peserta",
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -152,21 +154,14 @@ func (tkp *TabKepersertaanServices) GetKepesertaanByGender(mcuID string) (models
|
||||
chartData := []models.SeriesData{}
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
CASE
|
||||
WHEN M_PatientGender = 'male' THEN 'Laki-laki'
|
||||
WHEN M_PatientGender = 'female' THEN 'Perempuan'
|
||||
ELSE M_PatientGender
|
||||
END AS M_PatientGender,
|
||||
COUNT(*) AS Jumlah
|
||||
FROM mcu_order
|
||||
JOIN t_orderheader ON Mcu_OrderT_OrderHeaderID = T_OrderHeaderID
|
||||
AND T_OrderHeaderIsActive = 'Y'
|
||||
LEFT JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
||||
AND M_PatientIsActive = 'Y'
|
||||
WHERE Mcu_OrderMgm_McuID = ?
|
||||
SELECT IF(M_PatientGender = 'male','Laki-laki','Perempuan') as M_PatientGender,
|
||||
COUNT(T_OrderHeaderID) as Jumlah
|
||||
FROM t_orderheader
|
||||
LEFT JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
||||
WHERE T_OrderHeaderMgm_McuID = ? AND T_OrderHeaderIsActive = 'Y'
|
||||
GROUP BY M_PatientGender
|
||||
`
|
||||
|
||||
if err := dbx.Handlex.Select(&data, q, mcuID); err != nil {
|
||||
return option, fmt.Errorf("error get total gender %v", err)
|
||||
}
|
||||
@@ -202,24 +197,23 @@ func (tkp *TabKepersertaanServices) GetKepesertaanByUmur(mcuID string) (models.P
|
||||
chartData := []models.SeriesData{}
|
||||
|
||||
q := `
|
||||
SELECT
|
||||
SELECT
|
||||
CASE
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) < '30' then "1. < 30 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '30' AND LEFT(T_OrderHeaderM_PatientAge,2) < '40' then "2. 30 -< 40 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '40' AND LEFT(T_OrderHeaderM_PatientAge,2) < '50' then "3. 40 - < 50 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '50' then "4. > 50 tahun" else ""
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) < '30' THEN "1. < 30 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '30' AND left(T_OrderHeaderM_PatientAge,2) < '40' THEN "2. 30 -< 40 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '40' AND left(T_OrderHeaderM_PatientAge,2) < '50' THEN "3. 40 - < 50 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '50' THEN "4. > 50 tahun" ELSE ""
|
||||
END AS umur,
|
||||
COUNT(Mcu_OrderT_OrderHeaderID) AS total
|
||||
FROM mcu_order
|
||||
JOIN t_orderheader ON Mcu_OrderT_OrderHeaderID = T_OrderHeaderID AND T_OrderHeaderIsActive = 'Y'
|
||||
COUNT(T_OrderHeaderID) as total
|
||||
FROM t_orderheader
|
||||
LEFT JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
||||
WHERE Mcu_OrderMgm_McuID = ?
|
||||
GROUP BY
|
||||
WHERE t_orderheaderMgm_McuID = ? AND T_OrderHeaderIsActive = 'Y'
|
||||
GROUP BY
|
||||
CASE
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) < '30' then "1. < 30 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '30' AND LEFT(T_OrderHeaderM_PatientAge,2) < '40' then "2. 30 -< 40 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '40' AND LEFT(T_OrderHeaderM_PatientAge,2) < '50' then "3. 40 - < 50 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '50' then "4. > 50 tahun" else ""
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) < '30' THEN "1. < 30 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '30' AND left(T_OrderHeaderM_PatientAge,2) < '40' THEN "2. 30 -< 40 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '40' AND left(T_OrderHeaderM_PatientAge,2) < '50' THEN "3. 40 - < 50 tahun"
|
||||
WHEN LEFT(T_OrderHeaderM_PatientAge,2) >= '50' THEN "4. > 50 tahun" ELSE ""
|
||||
END
|
||||
ORDER BY umur
|
||||
`
|
||||
|
||||
@@ -230,3 +230,76 @@ func (tks *TabKesimpulanServices) GetListKesimpulanFisik(id string) ([]models.Mo
|
||||
|
||||
return listFisik, nil
|
||||
}
|
||||
|
||||
func (tks *TabKesimpulanServices) GetListKesimpulanLabV2(id string) ([]models.ModelKesimpulanLab, error) {
|
||||
var data []models.ModelKesimpulanLab
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanID as nomor,
|
||||
Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_lab
|
||||
JOIN t_orderheader ON T_KelainanLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarylab ON T_KelainanLabMcu_SummaryLabID = Mcu_SummaryLabID
|
||||
join mcu_kelainan on Mcu_summaryLabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
JOIN nat_test ON Mcu_SummaryLabNat_TestID = Nat_TestID AND T_KelainanLabNat_TestID = Mcu_SummaryLabNat_TestID
|
||||
where T_KelainanLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
LIMIT 3
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, id); err != nil {
|
||||
return data, fmt.Errorf("error get data top 3 kelainan lab %v", err)
|
||||
}
|
||||
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func (tks *TabKesimpulanServices) GetListKesimpulanNonLabV2(id string) ([]models.ModelKesimpulanLab, error) {
|
||||
var data []models.ModelKesimpulanLab
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanID as nomor, Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_nonlab
|
||||
JOIN t_orderheader ON T_KelainanNonLabT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summarynonlab ON T_KelainanNonLabMcu_SummaryNonlabID = Mcu_SummaryNonlabID
|
||||
join mcu_kelainan on Mcu_SummaryNonlabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
JOIN nat_test ON Mcu_SummaryNonlabNat_TestID = Nat_TestID AND
|
||||
T_KelainanNonLabNat_TestID = Mcu_SummaryNonlabNat_TestID
|
||||
where T_KelainanNonLabIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
LIMIT 3
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, id); err != nil {
|
||||
return data, fmt.Errorf("error get data top 3 kelainan non lab %v", err)
|
||||
}
|
||||
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func (tks *TabKesimpulanServices) GetListKesimpulanFisikV2(id string) ([]models.ModelKesimpulanLab, error) {
|
||||
var data []models.ModelKesimpulanLab
|
||||
|
||||
q := `
|
||||
SELECT Mcu_KelainanID as nomor, Mcu_KelainanName as Test,
|
||||
count(distinct T_OrderHeaderID) as total
|
||||
FROM t_kelainan_fisik
|
||||
JOIN t_orderheader ON T_KelainanFiskT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN mcu_summaryfisik ON T_KelainanFiskMcu_SummaryFisikID = Mcu_SummaryFisikID
|
||||
join mcu_kelainan on Mcu_SummaryFisikMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID
|
||||
where T_KelainanFiskIsActive = 'Y' and T_OrderHeaderMgm_McuID = ?
|
||||
group by Mcu_KelainanID
|
||||
ORDER BY total DESC
|
||||
LIMIT 3
|
||||
`
|
||||
if err := dbx.Handlex.Select(&data, q, id); err != nil {
|
||||
return data, fmt.Errorf("error get data top 3 kelainan fisik %v", err)
|
||||
}
|
||||
|
||||
return data, nil
|
||||
}
|
||||
|
||||
@@ -30,7 +30,8 @@ func (ls *ServicesLogin) MultiSignIn(username string, password string, host stri
|
||||
// host = "https://cpone.aplikasi.web.id"
|
||||
// }
|
||||
|
||||
uri := "https://cpone.aplikasi.web.id/one-api/v1/system/auth/multi_login"
|
||||
// uri := "https://cpone.aplikasi.web.id/one-api/v1/system/auth/multi_login"
|
||||
uri := "https://devcpone.aplikasi.web.id/one-api/v1/system/auth/multi_login"
|
||||
|
||||
params := url.Values{}
|
||||
params.Add("username", username)
|
||||
|
||||
@@ -3,7 +3,8 @@ package corporate_mcudetail
|
||||
templ Tabkelainanfisik(
|
||||
chartsxs []templ.Component,
|
||||
chartsmd []templ.Component,
|
||||
chartslg []templ.Component,
|
||||
chartslg []templ.Component,
|
||||
barchart []templ.Component,
|
||||
) {
|
||||
<div class="container-fluid">
|
||||
<div class="d-flex justify-content-center py-10">
|
||||
@@ -13,6 +14,9 @@ templ Tabkelainanfisik(
|
||||
// xs
|
||||
<div class="d-xs-block d-sm-block d-md-none">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-12 my-4">
|
||||
@ChartCard(barchart[2])
|
||||
</div>
|
||||
for _, c := range chartsxs {
|
||||
<div class="col-12 my-4">
|
||||
@ChartCard(c)
|
||||
@@ -24,17 +28,23 @@ templ Tabkelainanfisik(
|
||||
// md
|
||||
<div class="d-none d-md-block d-lg-none">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-12 my-4">
|
||||
@ChartCard(barchart[1])
|
||||
</div>
|
||||
for _, c := range chartsmd {
|
||||
<div class="col-12 my-4">
|
||||
@ChartCard(c)
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
// lg
|
||||
<div class="d-none d-lg-block">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-12 my-4">
|
||||
@ChartCard(barchart[0])
|
||||
</div>
|
||||
for _, c := range chartslg {
|
||||
<div class="col-6 my-4">
|
||||
@ChartCard(c)
|
||||
|
||||
@@ -14,6 +14,7 @@ func Tabkelainanfisik(
|
||||
chartsxs []templ.Component,
|
||||
chartsmd []templ.Component,
|
||||
chartslg []templ.Component,
|
||||
barchart []templ.Component,
|
||||
) templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
@@ -27,7 +28,15 @@ func Tabkelainanfisik(
|
||||
templ_7745c5c3_Var1 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"container-fluid\"><div class=\"d-flex justify-content-center py-10\"><h2 class=\"title text-black\" style=\"margin-bottom: 0;\">Data Presentase Kelainan Fisik</h2></div><div class=\"d-xs-block d-sm-block d-md-none\"><div class=\"row justify-content-center\">")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"container-fluid\"><div class=\"d-flex justify-content-center py-10\"><h2 class=\"title text-black\" style=\"margin-bottom: 0;\">Data Presentase Kelainan Fisik</h2></div><div class=\"d-xs-block d-sm-block d-md-none\"><div class=\"row justify-content-center\"><div class=\"col-12 my-4\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ChartCard(barchart[2]).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
@@ -45,7 +54,15 @@ func Tabkelainanfisik(
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><div class=\"d-none d-md-block d-lg-none\"><div class=\"row justify-content-center\">")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><div class=\"d-none d-md-block d-lg-none\"><div class=\"row justify-content-center\"><div class=\"col-12 my-4\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ChartCard(barchart[1]).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
@@ -63,7 +80,15 @@ func Tabkelainanfisik(
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><div class=\"d-none d-lg-block\"><div class=\"row justify-content-center\">")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><div class=\"d-none d-lg-block\"><div class=\"row justify-content-center\"><div class=\"col-12 my-4\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ChartCard(barchart[0]).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package corporate_mcudetail
|
||||
|
||||
templ TabKelainanLab(
|
||||
chartpresentaselg templ.Component,
|
||||
chartsxs []templ.Component,
|
||||
chartsmd []templ.Component,
|
||||
chartslg []templ.Component,
|
||||
@@ -36,13 +35,16 @@ templ TabKelainanLab(
|
||||
// lg
|
||||
<div class="d-none d-lg-block">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-12 my-4">
|
||||
@ChartCard(chartpresentaselg)
|
||||
</div>
|
||||
for _, c := range chartslg{
|
||||
<div class="col-6 my-4">
|
||||
@ChartCard(c)
|
||||
</div>
|
||||
for i, c := range chartslg {
|
||||
if i == 0 {
|
||||
<div class="col-12 my-4">
|
||||
@ChartCard(c)
|
||||
</div>
|
||||
} else {
|
||||
<div class="col-6 my-4">
|
||||
@ChartCard(c)
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -11,7 +11,6 @@ import "io"
|
||||
import "bytes"
|
||||
|
||||
func TabKelainanLab(
|
||||
chartpresentaselg templ.Component,
|
||||
chartsxs []templ.Component,
|
||||
chartsmd []templ.Component,
|
||||
chartslg []templ.Component,
|
||||
@@ -64,30 +63,37 @@ func TabKelainanLab(
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><div class=\"d-none d-lg-block\"><div class=\"row justify-content-center\"><div class=\"col-12 my-4\">")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><div class=\"d-none d-lg-block\"><div class=\"row justify-content-center\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ChartCard(chartpresentaselg).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
for _, c := range chartslg {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"col-6 my-4\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ChartCard(c).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
for i, c := range chartslg {
|
||||
if i == 0 {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"col-12 my-4\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ChartCard(c).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
} else {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"col-6 my-4\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ChartCard(c).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div></div>")
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package corporate_mcudetail
|
||||
|
||||
templ TabKelainanNonLab(
|
||||
// chartpresentase templ.Component,
|
||||
// chartthorax templ.Component,
|
||||
chartsxs []templ.Component,
|
||||
chartsmd []templ.Component,
|
||||
chartslg []templ.Component,
|
||||
@@ -37,24 +35,16 @@ templ TabKelainanNonLab(
|
||||
// lg
|
||||
<div class="d-none d-lg-block">
|
||||
<div class="row justify-content-center">
|
||||
// <div class="col-12 my-4">
|
||||
// <div class="card shadow p-4" style="display: flex; justify-content: center; align-items: center; height: 100%;">
|
||||
// <div class="d-flex flex-column pt-8">
|
||||
// @chartpresentase
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// <div class="col-12 my-4">
|
||||
// <div class="card shadow p-4" style="display: flex; justify-content: center; align-items: center; height: 100%;">
|
||||
// <div class="d-flex flex-column pt-8">
|
||||
// @chartthorax
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
for _, c := range chartslg {
|
||||
<div class="col-12 my-4">
|
||||
@ChartCard(c)
|
||||
</div>
|
||||
for i, c := range chartslg {
|
||||
if i == 0 {
|
||||
<div class="col-12 my-4">
|
||||
@ChartCard(c)
|
||||
</div>
|
||||
} else {
|
||||
<div class="col-6 my-4">
|
||||
@ChartCard(c)
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -11,8 +11,6 @@ import "io"
|
||||
import "bytes"
|
||||
|
||||
func TabKelainanNonLab(
|
||||
// chartpresentase templ.Component,
|
||||
// chartthorax templ.Component,
|
||||
chartsxs []templ.Component,
|
||||
chartsmd []templ.Component,
|
||||
chartslg []templ.Component,
|
||||
@@ -69,18 +67,33 @@ func TabKelainanNonLab(
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
for _, c := range chartslg {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"col-12 my-4\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ChartCard(c).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
for i, c := range chartslg {
|
||||
if i == 0 {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"col-12 my-4\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ChartCard(c).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
} else {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"col-6 my-4\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = ChartCard(c).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div></div>")
|
||||
|
||||
@@ -3,6 +3,7 @@ package corporate_mcudetail
|
||||
import (
|
||||
"cpone/component/table"
|
||||
"cpone/models"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
templ CardTableKesimpulan(title string, data []models.ModelKesimpulanLab, tableID string) {
|
||||
@@ -36,9 +37,9 @@ templ RowKesimpulan(data []models.ModelKesimpulanLab) {
|
||||
<td colspan="3" class="text-center">Data Tidak Ditemukan</td>
|
||||
</tr>
|
||||
}
|
||||
for _, v := range data {
|
||||
for idx, v := range data {
|
||||
<tr>
|
||||
<td>{ v.Nomor }</td>
|
||||
<td>{ strconv.Itoa(idx + 1) }</td>
|
||||
<td>{ v.Test }</td>
|
||||
<td>{ v.Total }</td>
|
||||
</tr>
|
||||
|
||||
@@ -13,6 +13,7 @@ import "bytes"
|
||||
import (
|
||||
"cpone/component/table"
|
||||
"cpone/models"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func CardTableKesimpulan(title string, data []models.ModelKesimpulanLab, tableID string) templ.Component {
|
||||
@@ -35,7 +36,7 @@ func CardTableKesimpulan(title string, data []models.ModelKesimpulanLab, tableID
|
||||
var templ_7745c5c3_Var2 string
|
||||
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(title)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabkesimpulantable.templ`, Line: 12, Col: 11}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabkesimpulantable.templ`, Line: 13, Col: 11}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -81,7 +82,7 @@ func TableKesimpulan(data []models.ModelKesimpulanLab,
|
||||
var templ_7745c5c3_Var4 string
|
||||
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(tableID)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabkesimpulantable.templ`, Line: 25, Col: 18}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabkesimpulantable.templ`, Line: 26, Col: 18}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -128,15 +129,15 @@ func RowKesimpulan(data []models.ModelKesimpulanLab) templ.Component {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
for _, v := range data {
|
||||
for idx, v := range data {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<tr><td>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var6 string
|
||||
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(v.Nomor)
|
||||
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(idx + 1))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabkesimpulantable.templ`, Line: 41, Col: 16}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabkesimpulantable.templ`, Line: 42, Col: 30}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -149,7 +150,7 @@ func RowKesimpulan(data []models.ModelKesimpulanLab) templ.Component {
|
||||
var templ_7745c5c3_Var7 string
|
||||
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(v.Test)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabkesimpulantable.templ`, Line: 42, Col: 15}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabkesimpulantable.templ`, Line: 43, Col: 15}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -162,7 +163,7 @@ func RowKesimpulan(data []models.ModelKesimpulanLab) templ.Component {
|
||||
var templ_7745c5c3_Var8 string
|
||||
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(v.Total)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabkesimpulantable.templ`, Line: 43, Col: 16}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabkesimpulantable.templ`, Line: 44, Col: 16}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
|
||||
@@ -134,9 +134,9 @@ func TabViewMcuDetail(
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var10 string
|
||||
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")
|
||||
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs("/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: 168}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutabview.templ`, Line: 66, Col: 139}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
|
||||
Reference in New Issue
Block a user