update:examination detail
This commit is contained in:
@ -87,7 +87,7 @@ export class ExaminationDetailController {
|
||||
name: Joi.string().max(256).required().label("Name"),
|
||||
order_no: Joi.string().max(256).required().label("Order No."),
|
||||
measurement_unit_id: Joi.string().uuid().required().label("Measurement Unit ID"),
|
||||
reference_range_id: Joi.string().uuid().required().label("Reference Range ID"),
|
||||
reference_range_ids: Joi.array().items(Joi.string().uuid()).min(1).required().label("Reference Range IDs"),
|
||||
status: Joi.string().required().label("Status"),
|
||||
});
|
||||
|
||||
@ -96,17 +96,22 @@ export class ExaminationDetailController {
|
||||
let measurementUnit = await MeasurementUnitModel.list({ "MeasurementUnit.id": param.measurement_unit_id }).then((q) => q.getOne());
|
||||
if (!measurementUnit) throw { message: "Measurement Unit not found" };
|
||||
|
||||
let referenceRange = await ReferenceRangeModel.list({ "ReferenceRange.id": param.reference_range_id }).then((q) => q.getOne());
|
||||
if (!referenceRange) throw { message: "Reference Range not found" };
|
||||
const referenceRanges = await Promise.all(
|
||||
param.reference_range_ids.map(async (id: string) => {
|
||||
const rr = await ReferenceRangeModel.list({ "ReferenceRange.id": id }).then((q) => q.getOne());
|
||||
if (!rr) throw { message: `Reference Range ${id} not found` };
|
||||
return rr;
|
||||
})
|
||||
);
|
||||
|
||||
let examinationDetail = new ExaminationDetail();
|
||||
examinationDetail.name = param.name;
|
||||
examinationDetail.order_no = param.order_no;
|
||||
examinationDetail.measurement_unit = measurementUnit;
|
||||
examinationDetail.reference_range = referenceRange;
|
||||
examinationDetail.reference_range = referenceRanges;
|
||||
examinationDetail.status = param.status;
|
||||
examinationDetail.created_by = req.auth.data.name;
|
||||
examinationDetail.updated_by = req.auth.data.name;
|
||||
examinationDetail.created_by = req.auth?.data.name;
|
||||
examinationDetail.updated_by = req.auth?.data.name;
|
||||
await queryRunner.manager.save(examinationDetail);
|
||||
|
||||
await queryRunner.commitTransaction();
|
||||
@ -166,7 +171,7 @@ export class ExaminationDetailController {
|
||||
name: Joi.string().max(256).required().label("Name"),
|
||||
order_no: Joi.string().max(256).required().label("Order No."),
|
||||
measurement_unit_id: Joi.string().uuid().required().label("Measurement Unit ID"),
|
||||
reference_range_id: Joi.string().uuid().required().label("Reference Range ID"),
|
||||
reference_range_ids: Joi.array().items(Joi.string().uuid()).min(1).required().label("Reference Range IDs"),
|
||||
status: Joi.string().required().label("Status"),
|
||||
});
|
||||
|
||||
@ -179,15 +184,20 @@ export class ExaminationDetailController {
|
||||
let measurementUnit = await MeasurementUnitModel.list({ "MeasurementUnit.id": param.measurement_unit_id }).then((q) => q.getOne());
|
||||
if (!measurementUnit) throw { message: "Measurement Unit not found" };
|
||||
|
||||
let referenceRange = await ReferenceRangeModel.list({ "ReferenceRange.id": param.reference_range_id }).then((q) => q.getOne());
|
||||
if (!referenceRange) throw { message: "Reference Range not found" };
|
||||
const referenceRanges = await Promise.all(
|
||||
param.reference_range_ids.map(async (id: string) => {
|
||||
const rr = await ReferenceRangeModel.list({ "ReferenceRange.id": id }).then((q) => q.getOne());
|
||||
if (!rr) throw { message: `Reference Range ${id} not found` };
|
||||
return rr;
|
||||
})
|
||||
);
|
||||
|
||||
examinationDetail.name = param.name;
|
||||
examinationDetail.order_no = param.order_no;
|
||||
examinationDetail.measurement_unit = measurementUnit;
|
||||
examinationDetail.reference_range = referenceRange;
|
||||
examinationDetail.reference_range = referenceRanges;
|
||||
examinationDetail.status = param.status;
|
||||
examinationDetail.updated_by = req.auth.data.name;
|
||||
examinationDetail.updated_by = req.auth?.data.name;
|
||||
await queryRunner.manager.save(examinationDetail);
|
||||
|
||||
await queryRunner.commitTransaction();
|
||||
@ -224,7 +234,7 @@ export class ExaminationDetailController {
|
||||
|
||||
if (!examinationDetail) throw { message: "Examination Detail " + Language.lang.failed_not_found };
|
||||
|
||||
examinationDetail.deleted_by = req.auth.data.name;
|
||||
examinationDetail.deleted_by = req.auth?.data.name;
|
||||
examinationDetail.deleted_at = moment().toDate();
|
||||
await OrmHelper.DB.manager.save(examinationDetail);
|
||||
affected = 1;
|
||||
@ -273,4 +283,4 @@ export class ExaminationDetailController {
|
||||
return ReturnHelper.errorResponse(res, 500, 402, Language.lang.failed_restore, err.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user