search inputan + dropdown serta pagination
This commit is contained in:
@@ -589,7 +589,7 @@ func (su *ServicesMasterMenuUser) GetListBreadCrumb(title string) (models.BreadC
|
||||
}
|
||||
|
||||
// try
|
||||
func (su *ServicesMasterMenuUser) GetListMasterUser() ([]models.MasterUser, error) {
|
||||
func (su *ServicesMasterMenuUser) GetListMasterUser(searchDropdown string) ([]models.MasterUser, error) {
|
||||
var userList []models.MasterUser
|
||||
|
||||
query := `
|
||||
@@ -618,9 +618,14 @@ func (su *ServicesMasterMenuUser) GetListMasterUser() ([]models.MasterUser, erro
|
||||
ON M_UserM_UserGroupID = M_UserGroupID
|
||||
AND M_UserIsActive = 'Y'
|
||||
AND M_UserGroupIsActive = 'Y'
|
||||
ORDER BY M_UserGroupID ASC
|
||||
`
|
||||
|
||||
if searchDropdown != "0" && searchDropdown != "" {
|
||||
query += fmt.Sprintf("AND M_UserGroupID = '%s'", searchDropdown)
|
||||
}
|
||||
|
||||
query += " ORDER BY M_UserID ASC"
|
||||
|
||||
if err := dbx.Handlex.Select(&userList, query); err != nil {
|
||||
return nil, fmt.Errorf("error querying database: %v", err)
|
||||
}
|
||||
@@ -628,7 +633,7 @@ func (su *ServicesMasterMenuUser) GetListMasterUser() ([]models.MasterUser, erro
|
||||
return userList, nil
|
||||
}
|
||||
|
||||
func (su *ServicesMasterMenuUser) GetListMasterUserFilteredBySearch(search string) ([]models.MasterUser, error) {
|
||||
func (su *ServicesMasterMenuUser) GetListMasterUserFilteredBySearch(search string, searchDropdown string) ([]models.MasterUser, error) {
|
||||
var userList []models.MasterUser
|
||||
|
||||
query := `
|
||||
@@ -661,13 +666,13 @@ func (su *ServicesMasterMenuUser) GetListMasterUserFilteredBySearch(search strin
|
||||
`
|
||||
|
||||
// check jika parameter search nya tidak kosong
|
||||
if search != "" {
|
||||
query += fmt.Sprintf(" AND (M_UserFullName LIKE '%%%s%%' OR M_UserEmail LIKE '%%%s%%')", search, search)
|
||||
if search != "" || (searchDropdown != "0" && searchDropdown != "") {
|
||||
query += fmt.Sprintf(" AND (M_UserFullName LIKE '%%%s%%' OR M_UserEmail LIKE '%%%s%%') AND M_UserGroupID = '%s'", search, search, searchDropdown)
|
||||
} else {
|
||||
search = "%%"
|
||||
}
|
||||
|
||||
query += fmt.Sprintf(" ORDER BY M_UserGroupID ASC")
|
||||
query += " ORDER BY M_UserID ASC"
|
||||
|
||||
logger, _ := zap.NewProduction()
|
||||
defer logger.Sync()
|
||||
@@ -682,66 +687,7 @@ func (su *ServicesMasterMenuUser) GetListMasterUserFilteredBySearch(search strin
|
||||
return userList, nil
|
||||
}
|
||||
|
||||
func (su *ServicesMasterMenuUser) GetListMasterUserBySearch(search string) ([]models.MasterUser, error) {
|
||||
var userList []models.MasterUser
|
||||
|
||||
query := `
|
||||
SELECT
|
||||
ROW_NUMBER() OVER () AS nomor,
|
||||
M_UserID,
|
||||
IFNULL(M_UserEmail, '') AS M_UserEmail,
|
||||
IFNULL(M_UserFullName, '') AS M_UserFullName,
|
||||
IFNULL(M_UserLastAccess, '') AS M_UserLastAccess,
|
||||
IFNULL(M_UserIsLoggedIn, '') AS M_UserIsLoggedIn,
|
||||
IFNULL(M_UserActiveToken, '') AS M_UserActiveToken,
|
||||
IFNULL(M_UserExpiredToken, '') AS M_UserExpiredToken,
|
||||
IFNULL(M_UserIsActive, '') AS M_UserIsActive,
|
||||
IFNULL(M_UserCreated, '') AS M_UserCreated,
|
||||
IFNULL(M_UserCreatedUserID, '') AS M_UserCreatedUserID,
|
||||
IFNULL(M_UserLastUpdated, '') AS M_UserLastUpdated,
|
||||
IFNULL(M_UserLastUpdatedUserID, '') AS M_UserLastUpdatedUserID,
|
||||
IFNULL(M_UserDeletedUserID, '') AS M_UserDeletedUserID,
|
||||
IFNULL(M_UserDeleted, '') AS M_UserDeleted,
|
||||
IFNULL(M_UserGroupCode, '') AS M_UserGroupCode,
|
||||
IFNULL(M_UserGroupName, '') AS M_UserGroupName,
|
||||
IFNULL(M_UserM_UserGroupID, '') AS M_UserM_UserGroupID,
|
||||
IFNULL(M_UserGroupID, '') AS M_UserGroupID
|
||||
FROM
|
||||
m_user
|
||||
JOIN m_usergroup
|
||||
ON M_UserM_UserGroupID = M_UserGroupID
|
||||
AND M_UserIsActive = 'Y'
|
||||
AND M_UserGroupIsActive = 'Y'
|
||||
`
|
||||
|
||||
// fmt.Errorf(search)
|
||||
rowPerPage := 2
|
||||
offset := 0
|
||||
|
||||
// check jika parameter search nya tidak kosong
|
||||
if search != "" {
|
||||
query += fmt.Sprintf(" AND (M_UserFullName LIKE '%%%s%%' OR M_UserEmail LIKE '%%%s%%')", search, search)
|
||||
} else {
|
||||
search = "%%"
|
||||
}
|
||||
|
||||
// query += " ORDER BY M_UserGroupID ASC"
|
||||
query += fmt.Sprintf(" ORDER BY M_UserGroupID ASC LIMIT %d OFFSET %d", rowPerPage, offset)
|
||||
|
||||
logger, _ := zap.NewProduction()
|
||||
defer logger.Sync()
|
||||
logger.Info("QUERY SEARCH ONlY AND SETTING LIMIT",
|
||||
zap.String("query search", query),
|
||||
)
|
||||
|
||||
if err := dbx.Handlex.Select(&userList, query); err != nil {
|
||||
return nil, fmt.Errorf("error querying database: %v", err)
|
||||
}
|
||||
|
||||
return userList, nil
|
||||
}
|
||||
|
||||
func (su *ServicesMasterMenuUser) GetListMasterUserPagination(search string, currentPage int, rowPerPage int) ([]models.MasterUser, error) {
|
||||
func (su *ServicesMasterMenuUser) GetListMasterUserPagination(search string, searchDropdown string, currentPage int, rowPerPage int) ([]models.MasterUser, error) {
|
||||
var userList []models.MasterUser
|
||||
|
||||
query := `
|
||||
@@ -779,13 +725,13 @@ func (su *ServicesMasterMenuUser) GetListMasterUserPagination(search string, cur
|
||||
offset := (currentPage - 1) * rowPerPage
|
||||
// offset := currentPage
|
||||
|
||||
if search != "" {
|
||||
query += fmt.Sprintf(" AND (M_UserEmail LIKE '%%%s%%' OR M_UserFullName LIKE '%%%s%%')", search, search)
|
||||
if search != "" || (searchDropdown != "0" && searchDropdown != "") {
|
||||
query += fmt.Sprintf(" AND (M_UserEmail LIKE '%%%s%%' OR M_UserFullName LIKE '%%%s%%') AND M_UserGroupID = '%s'", search, search, searchDropdown)
|
||||
} else {
|
||||
search = "%%"
|
||||
}
|
||||
|
||||
query += fmt.Sprintf(" ORDER BY M_UserGroupID ASC LIMIT %d OFFSET %d", rowPerPage, offset)
|
||||
query += fmt.Sprintf(" ORDER BY M_UserID ASC LIMIT %d OFFSET %d", rowPerPage, offset)
|
||||
|
||||
logger, _ := zap.NewProduction()
|
||||
defer logger.Sync()
|
||||
@@ -814,8 +760,8 @@ func (su *ServicesMasterMenuUser) GetListMasterUserGroupSearch() ([]models.UserG
|
||||
M_UserGroupIsActive
|
||||
FROM m_usergroup
|
||||
WHERE M_UserGroupIsActive = 'Y'
|
||||
order by M_UserGroupID ASC
|
||||
`
|
||||
query += " order by M_UserGroupID ASC"
|
||||
|
||||
if err := dbx.Handlex.Select(&userGroupList, query); err != nil {
|
||||
return nil, fmt.Errorf("error querying database: %v", err)
|
||||
|
||||
Reference in New Issue
Block a user