fixing doctor package searching
This commit is contained in:
@ -7,6 +7,7 @@ import { ReturnHelper } from "../helpers/express/return";
|
||||
import { Language } from "../langs/lang";
|
||||
import { DoctorItemPackageModel } from "../model/doctor_item_package";
|
||||
import { OrmHelper } from "../helpers/orm";
|
||||
import CommonHelper from "../helpers/common";
|
||||
|
||||
const log: Logger<ILogObj> = new Logger({
|
||||
name: "[DoctorItemPackageController]",
|
||||
@ -36,33 +37,42 @@ export class DoctorItemPackageController {
|
||||
});
|
||||
|
||||
let param: any = await schema.validateAsync(req.query);
|
||||
let filter = param.filter && param.filter !== "" ? JSON.parse(param.filter) : {};
|
||||
filter.doctor_id = param.doctor_id;
|
||||
|
||||
const query = await DoctorItemPackageModel.list(filter);
|
||||
let filter = param.filter && param.filter !== "" ? JSON.parse(param.filter) : {};
|
||||
let filterAny = filter.any && filter.any !== "" ? filter.any : "";
|
||||
|
||||
let filterObj = { ...filter } as any;
|
||||
delete filterObj.any;
|
||||
filterObj = { ...filterObj, "DoctorItemPackage.doctor": param.doctor_id };
|
||||
|
||||
const query = await DoctorItemPackageModel.list(filterObj, filterAny);
|
||||
|
||||
const orderField = param.order_field || "id";
|
||||
const orderDirection = param.order_direction || "asc";
|
||||
|
||||
const total_count_data = await query.getCount();
|
||||
const offset = (param.page - 1) * param.limit;
|
||||
const rows = await query
|
||||
|
||||
const res_count = query;
|
||||
const res_list = query
|
||||
.leftJoinAndSelect("DoctorItemPackage.items", "ItemMaster")
|
||||
.leftJoinAndSelect("ItemMaster.generic_name", "GenericName")
|
||||
.leftJoinAndSelect("ItemMaster.type_detail", "item_type")
|
||||
.orderBy("DoctorItemPackage." + orderField, orderDirection)
|
||||
.offset(offset)
|
||||
.limit(param.limit)
|
||||
.getMany();
|
||||
|
||||
const packages = rows.map((row: any) => ({
|
||||
id: row.id,
|
||||
name: row.name,
|
||||
description: row.description || null,
|
||||
active: row.active,
|
||||
items: row.items || [],
|
||||
}));
|
||||
// const packages = rows.map((row: any) => ({
|
||||
// id: row.id,
|
||||
// name: row.name,
|
||||
// description: row.description || null,
|
||||
// active: row.active,
|
||||
// items: row.items || [],
|
||||
// }));
|
||||
|
||||
const list_data = packages;
|
||||
const count_data = packages.length;
|
||||
const current_page = param.page;
|
||||
const total_count_data = await res_count.getCount();
|
||||
const list_data = await res_list.getMany();
|
||||
const count_data = CommonHelper.countObject(list_data);
|
||||
|
||||
return ReturnHelper.successResponselist(res, 200, Language.lang.success_view, count_data, current_page, total_count_data, list_data);
|
||||
} catch (e: unknown) {
|
||||
|
||||
Reference in New Issue
Block a user