menambahkan listing kelainan detail kanan

This commit is contained in:
Hanan Askarim
2024-05-30 16:42:58 +07:00
parent 2a0e92e119
commit 42192049ce
12 changed files with 895 additions and 161 deletions

View File

@@ -29,7 +29,7 @@ func (su *ServicesMasterKelainan) GetListBreadCrumb(title string) (models.BreadC
dummyBreadcrumb := []models.BreadCrumbV1{
{
Title: "Master Kelainan",
Title: "Master Pola Kelainan",
Item: []models.ItemBreadCrumbV1{
{
Item: "Dashboard",
@@ -40,7 +40,7 @@ func (su *ServicesMasterKelainan) GetListBreadCrumb(title string) (models.BreadC
Url: "/dev/master",
},
{
Item: "Kelainan",
Item: "Pola Kelainan",
Url: "",
},
},
@@ -79,6 +79,7 @@ func (su *ServicesMasterKelainan) GetListBreadCrumb(title string) (models.BreadC
return ret, nil
}
// master group kelainan
func (su *ServicesMasterKelainan) GetListMasterKelainan(search string, currentPage int, rowPerPage int) ([]models.Kelainan, int, error) {
var kelainanList []models.Kelainan
var totalData int
@@ -269,3 +270,47 @@ func (su *ServicesMasterKelainan) DeleteKelainan(id string) (models.Kelainan, er
return data, nil
}
// end master group kelainan
// master kelainan detail
func (su *ServicesMasterKelainan) GetListMasterKelainanDetail(id string, searchdetail string, currentPage int, rowPerPage int) ([]models.KelainanDetail, int, error) {
var KelainanDetailList []models.KelainanDetail
var totalData int
offset := (currentPage - 1) * rowPerPage
prm := "%" + strings.TrimSpace(searchdetail) + "%"
querytotal := `SELECT COUNT(*)
FROM mcu_kelainan
WHERE Mcu_KelainanIsActive = 'Y'
AND Mcu_KelainanMcu_KelainanGroupID = ?
AND (Mcu_KelainanName LIKE ? OR Mcu_KelainanClasification LIKE ?)`
if err := dbx.Handlex.Get(&totalData, querytotal, id, prm, prm); err != nil {
return nil, 0, fmt.Errorf("error query database: %v", err)
}
query := `SELECT
ROW_NUMBER() OVER (ORDER BY Mcu_KelainanID DESC) AS nomor,
Mcu_KelainanID,
Mcu_KelainanName,
Mcu_KelainanClasification,
Mcu_KelainanMcu_KelainanGroupID,
Mcu_KelainanFlagActive,
Mcu_KelainanUserID,
Mcu_KelainanCreated,
Mcu_KelainanLastUpdated
FROM mcu_kelainan
WHERE Mcu_KelainanIsActive = 'Y'
AND Mcu_KelainanMcu_KelainanGroupID = ?
AND (Mcu_KelainanName LIKE ? OR Mcu_KelainanClasification LIKE ?)
ORDER BY Mcu_KelainanID DESC
LIMIT ? OFFSET ?`
if err := dbx.Handlex.Select(&KelainanDetailList, query, id, prm, prm, rowPerPage, offset); err != nil {
return nil, 0, fmt.Errorf("error query database: %v", err)
}
totalPage := int(math.Ceil(float64(totalData) / float64(rowPerPage)))
return KelainanDetailList, totalPage, nil
}