update room to pharmacy
This commit is contained in:
@ -262,7 +262,7 @@ export class RoomToPharmacyController {
|
|||||||
const data = new RoomToPharmacy()
|
const data = new RoomToPharmacy()
|
||||||
data.pharmacy_room = param.pharmacy_room_id;
|
data.pharmacy_room = param.pharmacy_room_id;
|
||||||
data.room = param.room_id;
|
data.room = param.room_id;
|
||||||
data.created_by = req.auth.data.name;
|
data.created_by = req.auth?.data.name;
|
||||||
|
|
||||||
await OrmHelper.DB.manager.save(data);
|
await OrmHelper.DB.manager.save(data);
|
||||||
|
|
||||||
@ -348,7 +348,7 @@ export class RoomToPharmacyController {
|
|||||||
if (data != null) {
|
if (data != null) {
|
||||||
data.pharmacy_room = param.pharmacy_room_id;
|
data.pharmacy_room = param.pharmacy_room_id;
|
||||||
data.room = param.room_id;
|
data.room = param.room_id;
|
||||||
data.updated_by = req.auth.data.name;
|
data.updated_by = req.auth?.data.name;
|
||||||
|
|
||||||
await repo.save(data);
|
await repo.save(data);
|
||||||
}
|
}
|
||||||
@ -370,12 +370,29 @@ export class RoomToPharmacyController {
|
|||||||
*/
|
*/
|
||||||
try {
|
try {
|
||||||
const schema = Joi.object().keys({
|
const schema = Joi.object().keys({
|
||||||
id: Joi.string().uuid().required().label("RoomToPharmacy Id"),
|
id: Joi.string().uuid().required().label("Room Id"),
|
||||||
});
|
});
|
||||||
|
|
||||||
let param: any = await schema.validateAsync(req.params);
|
let param: any = await schema.validateAsync(req.params);
|
||||||
|
|
||||||
let data = await RoomToPharmacyModel.list({ "id": param.id }).then((q) => q.getOne());
|
let data = await OrmHelper.DB.getRepository(Room)
|
||||||
|
.createQueryBuilder("room")
|
||||||
|
.leftJoinAndSelect("room.department", "department")
|
||||||
|
.leftJoinAndMapMany(
|
||||||
|
"room.roomToPharmacies",
|
||||||
|
RoomToPharmacy,
|
||||||
|
"room_to_pharmacy",
|
||||||
|
"room_to_pharmacy.room_id = room.id"
|
||||||
|
)
|
||||||
|
.leftJoinAndMapOne(
|
||||||
|
"room_to_pharmacy.pharmacy_room",
|
||||||
|
Room,
|
||||||
|
"pharmacy_room",
|
||||||
|
"pharmacy_room.id = room_to_pharmacy.pharmacy_room_id"
|
||||||
|
)
|
||||||
|
.where("room.id = :id", { id: param.id })
|
||||||
|
.getOne();
|
||||||
|
|
||||||
if (!data) throw { message: "RoomToPharmacy Not Found" };
|
if (!data) throw { message: "RoomToPharmacy Not Found" };
|
||||||
|
|
||||||
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_view, data);
|
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_view, data);
|
||||||
|
|||||||
@ -5,30 +5,19 @@ import { RoomToPharmacy, Room } from "entity";
|
|||||||
|
|
||||||
export class RoomToPharmacyModel {
|
export class RoomToPharmacyModel {
|
||||||
static async list(filter = {}): Promise<SelectQueryBuilder<any>> {
|
static async list(filter = {}): Promise<SelectQueryBuilder<any>> {
|
||||||
const repo = OrmHelper.DB.getRepository(Room);
|
|
||||||
|
|
||||||
const query = repo
|
const repo = OrmHelper.DB.getRepository(RoomToPharmacy);
|
||||||
.createQueryBuilder("room")
|
let whereAttr: string[] = [];
|
||||||
.leftJoinAndSelect("room.department", "department")
|
let whereVal: any = {};
|
||||||
.leftJoinAndMapMany(
|
if (filter && Object.keys(filter).length > 0) {
|
||||||
"room.roomToPharmacies",
|
whereAttr = [...whereAttr, ...CommonHelper.handleQueryFilter(filter).whereAttr];
|
||||||
RoomToPharmacy,
|
whereVal = { ...whereVal, ...CommonHelper.handleQueryFilter(filter).whereVal };
|
||||||
"room_to_pharmacy",
|
}
|
||||||
"room_to_pharmacy.room_id = room.id"
|
|
||||||
)
|
var query = repo.createQueryBuilder("room_to_pharmacy");
|
||||||
.leftJoinAndMapOne(
|
if (whereAttr.length != 0) {
|
||||||
"room_to_pharmacy.pharmacy_room",
|
query = query.where(whereAttr.join(" and "), whereVal);
|
||||||
Room,
|
}
|
||||||
"pharmacy_room",
|
|
||||||
"pharmacy_room.id = room_to_pharmacy.pharmacy_room_id"
|
|
||||||
)
|
|
||||||
.where("department.id IN (:...departmentIds)", {
|
|
||||||
departmentIds: [
|
|
||||||
'42bc42a7-e2a7-4f95-a788-9d9e51a51a20',
|
|
||||||
'3fc39ff1-b4bc-4276-92ef-def7ca9432fb',
|
|
||||||
'a0d2ef11-6927-4e5c-8628-6acf26351071',
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
return query;
|
return query;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user