This commit is contained in:
wayanrivan
2026-05-15 10:45:32 +07:00
parent 4c11d5f803
commit d178ce1908

View File

@ -57,8 +57,8 @@ export class ServiceFareController {
var query = await ServiceModel.list(filterObj);
const res_count = query.clone();
const res_list = query
// ← res_count dipindah ke bawah setelah leftJoin
const base_query = query
.select([
"Service.id",
"Service.name",
@ -82,15 +82,19 @@ export class ServiceFareController {
)
.addSelect('COALESCE(sfa.min, 0)', "min_fare")
.addSelect('COALESCE(sfa.max, 0)', "max_fare")
.addSelect("st.name", "service_type_name")
.addSelect('sfa.service_type_name', "service_type_name");
// Clone setelah leftJoin sudah ada, sehingga sfa dikenal di kedua query
const res_count = base_query.clone();
const res_list = base_query
.orderBy("Service." + param.order_field, param.order_direction)
.skip(offset)
.take(limit);
if (filterAny !== "") {
const anyVal = filterAny.includes("%") ? filterAny : `%${filterAny}%`;
res_list.andWhere("(Service.name ILIKE :any OR st.service_type_name ILIKE :any)", { any: anyVal });
res_count.andWhere("(Service.name ILIKE :any OR st.service_type_name ILIKE :any)", { any: anyVal });
res_list.andWhere("(Service.name ILIKE :any OR sfa.service_type_name ILIKE :any)", { any: anyVal });
res_count.andWhere("(Service.name ILIKE :any OR sfa.service_type_name ILIKE :any)", { any: anyVal });
}
if (param.with_deleted) {
@ -118,7 +122,6 @@ export class ServiceFareController {
return ReturnHelper.errorResponse(res, 400, 401, Language.lang.failed_view, err.message);
}
}
static async option(req: Request, res: Response, next: NextFunction): Promise<void | Response> {
/*
#swagger.tags = ['Service Fare']