Merge branch 'main' of https://git.shiblysolution.id/SAUDE-TL/service-master-data
This commit is contained in:
@ -48,22 +48,38 @@ export class ExaminationDetailController {
|
||||
const offset = (param.page - 1) * param.limit;
|
||||
let limit = param.limit;
|
||||
|
||||
const res_count = query;
|
||||
const res_list = query
|
||||
.leftJoinAndSelect("ExaminationDetail.measurement_unit", "measurementUnit")
|
||||
.leftJoinAndSelect("ExaminationDetail.reference_range", "referenceRange")
|
||||
const res_count = query.clone();
|
||||
const res_ids = query
|
||||
.clone()
|
||||
.select("ExaminationDetail.id", "id")
|
||||
.orderBy("ExaminationDetail." + param.order_field, param.order_direction)
|
||||
.offset(offset)
|
||||
.limit(limit);
|
||||
|
||||
if (param.with_deleted) {
|
||||
res_count.withDeleted();
|
||||
res_list.withDeleted();
|
||||
res_ids.withDeleted();
|
||||
}
|
||||
|
||||
const current_page = param.page;
|
||||
const total_count_data = await res_count.getCount();
|
||||
const list_data = await res_list.getMany();
|
||||
const ids = (await res_ids.getRawMany()).map((r: any) => r.id).filter(Boolean);
|
||||
|
||||
let list_data: any[] = [];
|
||||
if (ids.length > 0) {
|
||||
const res_list = OrmHelper.DB.getRepository(ExaminationDetail)
|
||||
.createQueryBuilder("ExaminationDetail")
|
||||
.leftJoinAndSelect("ExaminationDetail.measurement_unit", "measurementUnit")
|
||||
.leftJoinAndSelect("ExaminationDetail.reference_range", "referenceRange")
|
||||
.where("ExaminationDetail.id IN (:...ids)", { ids })
|
||||
.orderBy("ExaminationDetail." + param.order_field, param.order_direction);
|
||||
|
||||
if (param.with_deleted) {
|
||||
res_list.withDeleted();
|
||||
}
|
||||
|
||||
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);
|
||||
@ -140,8 +156,7 @@ export class ExaminationDetailController {
|
||||
|
||||
let param: any = await schema.validateAsync(req.params);
|
||||
|
||||
let examinationDetail = await ExaminationDetailModel.list({ "ExaminationDetail.id": param.id })
|
||||
.then((q) => q.leftJoinAndSelect("ExaminationDetail.measurement_unit", "measurementUnit").leftJoinAndSelect("ExaminationDetail.reference_range", "referenceRange").getOne());
|
||||
let examinationDetail = await ExaminationDetailModel.list({ "ExaminationDetail.id": param.id }).then((q) => q.leftJoinAndSelect("ExaminationDetail.measurement_unit", "measurementUnit").leftJoinAndSelect("ExaminationDetail.reference_range", "referenceRange").getOne());
|
||||
|
||||
if (!examinationDetail) throw { message: "Examination Detail Not Found" };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user