remove medical form and add specialist form

This commit is contained in:
avicenan
2026-05-22 22:05:23 +09:00
parent b0b784836e
commit ce724a03a0
2 changed files with 9 additions and 18 deletions

View File

@ -1,4 +1,4 @@
import { Room, Paging, Service, MedicalForm } from "entity";
import { Room, Paging, Service, SpecialistForm } from "entity";
import { NextFunction, Response } from "express";
import { Request } from "express-jwt";
import Joi from "joi";
@ -78,7 +78,6 @@ export class RoomController {
const res_list = query
.leftJoinAndSelect("Room.department", "department")
.leftJoinAndSelect("Room.serviceclass", "serviceclass")
.leftJoinAndSelect("Room.medical_forms", "medical_forms")
.orderBy("Room." + param.order_field, param.order_direction)
.offset(offset)
.limit(param.limit);
@ -168,7 +167,7 @@ export class RoomController {
location: Joi.string().required().label("Location"),
floor: Joi.number().required().label("Floor"),
picture: Joi.string().required().label("picture"),
medical_forms: Joi.array().items(Joi.string().uuid()).optional().label("Medical Forms"),
specialist_form: Joi.string().valid(...Object.values(SpecialistForm)).optional().allow(null, "").label("Specialist Form"),
});
let param: any = await schema.validateAsync(req.body);
@ -182,11 +181,7 @@ export class RoomController {
let serviceclass = await ServiceClassModel.list({ id: param.serviceclass }).then((q) => q.getOne());
if (!serviceclass) throw { message: "Class not found" };
let medicalForms: MedicalForm[] = [];
if (param.medical_forms && param.medical_forms.length > 0) {
medicalForms = await queryRunner.manager.getRepository(MedicalForm).find({ where: { id: In(param.medical_forms) } });
if (medicalForms.length !== param.medical_forms.length) throw { message: "Medical Form not found" };
}
let room = new Room();
room.room = param.room;
@ -198,7 +193,7 @@ export class RoomController {
room.location = param.location;
room.picture = param.picture;
room.floor = param.floor;
room.medical_forms = medicalForms;
room.specialist_form = param.specialist_form || null;
room.created_by = req.auth?.data.name;
room.updated_by = req.auth?.data.name;
await queryRunner.manager.save(room);
@ -226,7 +221,7 @@ export class RoomController {
id: Joi.string().uuid().required().label("Room Id"),
});
let param: any = await schema.validateAsync(req.params);
let room = await RoomModel.list({ "Room.id": param.id }).then((q) => q.leftJoinAndSelect("Room.department", "department").leftJoinAndSelect("Room.serviceclass", "serviceclass").leftJoinAndSelect("Room.medical_forms", "medical_forms").getOne());
let room = await RoomModel.list({ "Room.id": param.id }).then((q) => q.leftJoinAndSelect("Room.department", "department").leftJoinAndSelect("Room.serviceclass", "serviceclass").getOne());
if (!room) throw { message: "Room Not Found" };
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_view, room);
} catch (e: unknown) {
@ -258,7 +253,7 @@ export class RoomController {
status: Joi.string().required().label("Status"),
location: Joi.string().required().label("Location"),
picture: Joi.string().required().label("picture"),
medical_forms: Joi.array().items(Joi.string().uuid()).optional().label("Medical Forms"),
specialist_form: Joi.string().valid(...Object.values(SpecialistForm)).optional().allow(null, "").label("Specialist Form"),
});
let param: any = await schema.validateAsync(req.body);
@ -274,11 +269,7 @@ export class RoomController {
let room = await RoomModel.list({ "Room.id": param.id }).then((q) => q.getOne());
if (!room) throw { message: "Room " + Language.lang.failed_not_found };
let medicalForms: MedicalForm[] = [];
if (param.medical_forms && param.medical_forms.length > 0) {
medicalForms = await queryRunner.manager.getRepository(MedicalForm).find({ where: { id: In(param.medical_forms) } });
if (medicalForms.length !== param.medical_forms.length) throw { message: "Medical Form not found" };
}
room.room = param.room;
room.code = param.code;
@ -289,7 +280,7 @@ export class RoomController {
room.floor = param.floor;
room.location = param.location;
room.picture = param.picture;
room.medical_forms = medicalForms;
room.specialist_form = param.specialist_form || null;
room.updated_by = req.auth?.data.name;
await queryRunner.manager.save(room);