listing data kelainan
This commit is contained in:
@@ -3,6 +3,10 @@ package dev_services
|
||||
import (
|
||||
"cpone/db"
|
||||
"cpone/models"
|
||||
dbx "cpone/package/database"
|
||||
"fmt"
|
||||
"math"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func NewServicesMasterKelainan(uStore db.AppStore) *ServicesMasterKelainan {
|
||||
@@ -71,3 +75,42 @@ func (su *ServicesMasterKelainan) GetListBreadCrumb(title string) (models.BreadC
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func (su *ServicesMasterKelainan) GetListMasterKelainan(search string, currentPage int, rowPerPage int) ([]models.Kelainan, int, error) {
|
||||
var kelainanList []models.Kelainan
|
||||
var totalData int
|
||||
offset := (currentPage - 1) * rowPerPage
|
||||
prm := "%" + strings.TrimSpace(search) + "%"
|
||||
|
||||
querytotal := `
|
||||
SELECT COUNT(*)
|
||||
FROM mcu_kelainangroup
|
||||
WHERE Mcu_KelainanGroupIsActive = 'Y'
|
||||
AND (Mcu_KelainanGroupName LIKE ?)
|
||||
`
|
||||
if err := dbx.Handlex.Get(&totalData, querytotal, prm); err != nil {
|
||||
return nil, 0, fmt.Errorf("error query database: %v", err)
|
||||
}
|
||||
|
||||
query := `
|
||||
SELECT
|
||||
ROW_NUMBER() OVER () AS nomor,
|
||||
Mcu_KelainanGroupID,
|
||||
Mcu_KelainanGroupName,
|
||||
Mcu_KelainanGroupIsActive,
|
||||
Mcu_KelainanGroupCreated,
|
||||
Mcu_KelainanGroupLastUpdated
|
||||
FROM mcu_kelainangroup
|
||||
WHERE Mcu_KelainanGroupIsActive = 'Y'
|
||||
AND (Mcu_KelainanGroupName LIKE ?)
|
||||
order by Mcu_KelainanGroupID ASC
|
||||
LIMIT ? OFFSET ?
|
||||
`
|
||||
|
||||
if err := dbx.Handlex.Select(&kelainanList, query, prm, rowPerPage, offset); err != nil {
|
||||
return nil, 0, fmt.Errorf("error query database: %v", err)
|
||||
}
|
||||
totalPage := int(math.Ceil(float64(totalData) / float64(rowPerPage)))
|
||||
|
||||
return kelainanList, totalPage, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user