fixing nomor urut konsisten pada kondisi filter/search
This commit is contained in:
@@ -48,7 +48,7 @@ func NewRepository(dbService database.Service) IAntrianOperasiRepository {
|
||||
"\"Kode_diagnosa\"", "\"Diagnosa\"", "\"Jenis_diagnosa\"", "\"FK_pasien_operasi_diagnosa_pasien_operasi_ID\"", "FK_pasien_operasi_diagnosa_pasien_operasi_ID",
|
||||
"\"Kode_tindakan\"", "\"Tindakan\"", "\"Tindakan_tambahan\"", "\"FK_pasien_operasi_tindakan_pasien_operasi_ID\"", "FK_pasien_operasi_tindakan_pasien_operasi_ID",
|
||||
"\"data_pasien_operasi_id\"", "\"data_pegawai_id\"", "data_pasien_operasi_id",
|
||||
"no_urut_spesialis", "no_urut_sub_spesialis", "no_ktp", "no_rekam_medis", "nama_pasien", "status_operasi",
|
||||
"no_urut_spesialis", "no_urut_sub_spesialis", "no_ktp", "no_rekam_medis", "nama_pasien", "status_operasi", "id_kategori", "id_spesialis", "id_subspesialis",
|
||||
}).
|
||||
SetAllowedTables([]string{TBL_NAME, TBL_DIAGNOSA_OPERASI})
|
||||
queryBuilder.SetSecurityOptions(false, 100)
|
||||
@@ -970,6 +970,9 @@ func (r antrianOperasiRepo) fixingListAntrian(c context.Context, dbconn *sqlx.DB
|
||||
Query: queryUtils.DynamicQuery{
|
||||
Fields: []queryUtils.SelectField{
|
||||
{Expression: "dpo.id", Alias: "id"},
|
||||
{Expression: "dko.id", Alias: "id_kategori"},
|
||||
{Expression: "ds.id", Alias: "id_spesialis"},
|
||||
{Expression: "dss.id", Alias: "id_subspesialis"},
|
||||
{Expression: "dpo.Tanggal_daftar", Alias: "tanggal_daftar"},
|
||||
{Expression: "dpo.No_KTP", Alias: "no_ktp"},
|
||||
{Expression: "dpo.No_rekam_medis", Alias: "no_rekam_medis"},
|
||||
@@ -1064,22 +1067,26 @@ func (r antrianOperasiRepo) fixingListAntrian(c context.Context, dbconn *sqlx.DB
|
||||
}
|
||||
|
||||
typeIdColumn := ""
|
||||
typeIdColumnAlias := ""
|
||||
|
||||
// selecting windows functions by type
|
||||
|
||||
switch q.Type {
|
||||
case "kategori":
|
||||
typeIdColumn = "dko.id"
|
||||
typeIdColumn = "dpo.Kategori_operasi"
|
||||
typeIdColumnAlias = "id_kategori"
|
||||
query.CTEs[0].Query.WindowFunctions = append(query.CTEs[0].Query.WindowFunctions, wfKategori, wfSpesialis, wfSubSpesialis)
|
||||
query.Fields = append(query.Fields, queryUtils.SelectField{Expression: "no_urut_kategori"})
|
||||
query.Sort = append(query.Sort, queryUtils.SortField{Column: "no_urut_kategori", Order: "ASC"})
|
||||
case "spesialis":
|
||||
typeIdColumn = "ds.id"
|
||||
typeIdColumn = "dpo.Spesialis"
|
||||
typeIdColumnAlias = "id_spesialis"
|
||||
query.CTEs[0].Query.WindowFunctions = append(query.CTEs[0].Query.WindowFunctions, wfSpesialis, wfSubSpesialis)
|
||||
query.Fields = append(query.Fields, queryUtils.SelectField{Expression: "no_urut_spesialis"})
|
||||
query.Sort = append(query.Sort, queryUtils.SortField{Column: "no_urut_spesialis", Order: "ASC"})
|
||||
case "sub-spesialis":
|
||||
typeIdColumn = "dss.id"
|
||||
typeIdColumn = "dpo.Sub_spesialis"
|
||||
typeIdColumnAlias = "id_subspesialis"
|
||||
query.CTEs[0].Query.WindowFunctions = append(query.CTEs[0].Query.WindowFunctions, wfSubSpesialis)
|
||||
query.Fields = append(query.Fields, queryUtils.SelectField{Expression: "no_urut_sub_spesialis"})
|
||||
query.Sort = append(query.Sort, queryUtils.SortField{Column: "no_urut_sub_spesialis", Order: "ASC"})
|
||||
@@ -1100,7 +1107,7 @@ func (r antrianOperasiRepo) fixingListAntrian(c context.Context, dbconn *sqlx.DB
|
||||
var selectFilterCount []queryUtils.DynamicFilter
|
||||
|
||||
if q.TypeID != 0 && q.Type != "all" {
|
||||
selectFilter = append(selectFilter, queryUtils.DynamicFilter{Column: typeIdColumn, Operator: queryUtils.OpEqual, Value: q.TypeID})
|
||||
selectFilter = append(selectFilter, queryUtils.DynamicFilter{Column: typeIdColumnAlias, Operator: queryUtils.OpEqual, Value: q.TypeID})
|
||||
selectFilterCount = append(selectFilterCount, queryUtils.DynamicFilter{Column: typeIdColumn, Operator: queryUtils.OpEqual, Value: q.TypeID})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user