update
This commit is contained in:
@ -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']
|
||||
|
||||
Reference in New Issue
Block a user