add tab keuangan table
This commit is contained in:
124
handlers/corporate/mcudetail/tabkeuangan.handlers.go
Normal file
124
handlers/corporate/mcudetail/tabkeuangan.handlers.go
Normal file
@@ -0,0 +1,124 @@
|
||||
package mcu_corporate_handlers
|
||||
|
||||
import (
|
||||
"cpone/component/pagination"
|
||||
"cpone/models"
|
||||
"cpone/utils"
|
||||
corporate_mcudetail "cpone/views/corporate/mcu/mcutab"
|
||||
"strconv"
|
||||
|
||||
"github.com/labstack/echo/v4"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type TabKeuanganServices interface {
|
||||
GetTotalOrderKeuangan(mcuID string) (float64, error)
|
||||
GetTotalCardData(mcuID string) (models.TotalBillCard, error)
|
||||
GetListingDataKeuangan(mcuID string, currentpage int, rowperpage int) ([]models.KeuanganModel, int, error)
|
||||
}
|
||||
|
||||
type TabKeuanganHandler struct {
|
||||
TabKeuanganServices TabKeuanganServices
|
||||
}
|
||||
|
||||
func NewTabKeuanganHandler(tk TabKeuanganServices) *TabKeuanganHandler {
|
||||
return &TabKeuanganHandler{
|
||||
TabKeuanganServices: tk,
|
||||
}
|
||||
}
|
||||
|
||||
func (tk *TabKeuanganHandler) HandleShowTabKeuangan(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
logger.Info("handler keuangan")
|
||||
tableID := utils.GenerateRandomID("tableID")
|
||||
paginationID := utils.GenerateRandomID("paginationID")
|
||||
|
||||
id := c.Param("id")
|
||||
logger.Info("Params", zap.Any("id", id))
|
||||
|
||||
dataTable, totalPage, err := tk.TabKeuanganServices.GetListingDataKeuangan(id, 1, 10)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("error get list data keuangan", zap.Any("error", err))
|
||||
return err
|
||||
}
|
||||
|
||||
tablecompo := corporate_mcudetail.TableKeuangan(dataTable, tableID)
|
||||
|
||||
pagination := pagination.PaginationV3(
|
||||
totalPage,
|
||||
1,
|
||||
"/corp/dashboard_pic/detail/"+id+"/tabkeuangan/changepage",
|
||||
paginationID,
|
||||
"#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent",
|
||||
"#tabdanpagi",
|
||||
"outerHTML", "", "",
|
||||
corporate_mcudetail.BeforeRequestContent(),
|
||||
corporate_mcudetail.AfterRequestContent(),
|
||||
)
|
||||
|
||||
totalOrder, err := tk.TabKeuanganServices.GetTotalOrderKeuangan(id)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("error get total order keuangan", zap.Any("error", err))
|
||||
return err
|
||||
}
|
||||
|
||||
totalBill, err := tk.TabKeuanganServices.GetTotalCardData(id)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("error get total bill keuangan", zap.Any("error", err))
|
||||
return err
|
||||
}
|
||||
|
||||
content := corporate_mcudetail.TabKeuanganScreen(
|
||||
tableID,
|
||||
paginationID,
|
||||
corporate_mcudetail.KeuanganCard(
|
||||
strconv.FormatFloat(totalOrder, 'f', 0, 64),
|
||||
strconv.FormatFloat(totalBill.TotalTagihan, 'f', 0, 64),
|
||||
strconv.FormatFloat(totalBill.TotalPelunasan, 'f', 0, 64),
|
||||
strconv.FormatFloat(totalBill.TotalHutang, 'f', 0, 64),
|
||||
),
|
||||
corporate_mcudetail.TableAndPagination(
|
||||
tablecompo,
|
||||
pagination,
|
||||
),
|
||||
)
|
||||
|
||||
return utils.View(c, content)
|
||||
}
|
||||
|
||||
func (tk *TabKeuanganHandler) HandleChangePage(c echo.Context) error {
|
||||
pageparam := c.QueryParam("page")
|
||||
tableID := c.QueryParam("tableID")
|
||||
paginationID := c.QueryParam("paginationID")
|
||||
|
||||
id := c.Param("id")
|
||||
|
||||
page, err := strconv.Atoi(pageparam)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tableData, totalPage, err := tk.TabKeuanganServices.GetListingDataKeuangan(id, page, 10)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
tablecomp := corporate_mcudetail.TableKeuangan(tableData, tableID)
|
||||
pagination := pagination.PaginationV3(
|
||||
totalPage,
|
||||
page,
|
||||
"/corp/dashboard_pic/detail/"+id+"/tabkeuangan/changepage",
|
||||
paginationID,
|
||||
"#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent",
|
||||
"#tabdanpagi",
|
||||
"outerHTML", "", "",
|
||||
corporate_mcudetail.BeforeRequestContent(),
|
||||
corporate_mcudetail.AfterRequestContent(),
|
||||
)
|
||||
|
||||
tabdanpagi := corporate_mcudetail.TableAndPagination(tablecomp, pagination)
|
||||
return utils.View(c, tabdanpagi)
|
||||
}
|
||||
@@ -131,6 +131,11 @@ func SetupRoutesCorporate(app *echo.Echo, appStore db.AppStore) {
|
||||
corp.GET("/dashboard_pic/detail/:id/tabdaftarpeserta/changepage", daftarpesertaHandl.HandlePagination)
|
||||
corp.GET("/dashboard_pic/detail/:id/tabdaftarpeserta/openreport", daftarpesertaHandl.HandleOpenReportDialog)
|
||||
|
||||
keuanganService := mcu_corporate_services.NewTabKeuanganServices(appStore)
|
||||
keuanganHandler := mcu_corporate_handlers.NewTabKeuanganHandler(keuanganService)
|
||||
corp.GET("/dashboard_pic/detail/:id/tabkeuangan", keuanganHandler.HandleShowTabKeuangan)
|
||||
corp.GET("/dashboard_pic/detail/:id/tabkeuangan/changepage", keuanganHandler.HandleChangePage)
|
||||
|
||||
patienServices := corporate_services.NewPatientServices(appStore)
|
||||
patientHandler := corporate_handlers.NewPatientHandler(patienServices)
|
||||
corp.GET("/dashboard_pat", patientHandler.HandleShowPatient)
|
||||
|
||||
Reference in New Issue
Block a user