diff --git a/internal/domain/antrian_operasi/repository.go b/internal/domain/antrian_operasi/repository.go index 967d4ca..fddf60f 100644 --- a/internal/domain/antrian_operasi/repository.go +++ b/internal/domain/antrian_operasi/repository.go @@ -1102,33 +1102,27 @@ func (r antrianOperasiRepo) fixingListAntrian(c context.Context, dbconn *sqlx.DB // selecting windows functions by type + addedFields := []queryUtils.SelectField{ + {Expression: "no_urut_kategori"}, + {Expression: "no_urut_spesialis"}, + {Expression: "no_urut_sub_spesialis"}, + } + query.Fields = append(query.Fields, addedFields...) + query.CTEs[0].Query.WindowFunctions = append(query.CTEs[0].Query.WindowFunctions, wfKategori, wfSpesialis, wfSubSpesialis) + switch q.Type { case "kategori": 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 = "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 = "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"}) - default: - addedFields := []queryUtils.SelectField{ - {Expression: "no_urut_kategori"}, - {Expression: "no_urut_spesialis"}, - {Expression: "no_urut_sub_spesialis"}, - } - query.Fields = append(query.Fields, addedFields...) - query.CTEs[0].Query.WindowFunctions = append(query.CTEs[0].Query.WindowFunctions, wfKategori, wfSpesialis, wfSubSpesialis) } // initiate count query