update: change province, ward,subdistrict, city to tl administration
This commit is contained in:
@ -25,10 +25,14 @@ const hospitalCreateUpdateSchema = {
|
|||||||
address: Joi.string().required().label("Hospital Address"),
|
address: Joi.string().required().label("Hospital Address"),
|
||||||
phone: Joi.string().required().label("Hospital Phone"),
|
phone: Joi.string().required().label("Hospital Phone"),
|
||||||
logo: Joi.string().allow(null, "").label("Hospital Logo"),
|
logo: Joi.string().allow(null, "").label("Hospital Logo"),
|
||||||
province: Joi.string().allow("").optional().label("Province Code"),
|
// province: Joi.string().allow("").optional().label("Province Code"),
|
||||||
city: Joi.string().allow("").optional().label("City Code"),
|
// city: Joi.string().allow("").optional().label("City Code"),
|
||||||
subdistrict: Joi.string().allow("").optional().label("Subdistrict Code"),
|
// subdistrict: Joi.string().allow("").optional().label("Subdistrict Code"),
|
||||||
ward: Joi.string().allow("").optional().label("Ward Code"),
|
// ward: Joi.string().allow("").optional().label("Ward Code"),
|
||||||
|
munisipo: Joi.string().allow(null, "").label("Munisipo ID"),
|
||||||
|
administrativu: Joi.string().allow(null, "").label("Administrativu ID"),
|
||||||
|
aldeia: Joi.string().allow(null, "").label("Aldeia ID"),
|
||||||
|
suco: Joi.string().allow(null, "").label("Suco ID"),
|
||||||
};
|
};
|
||||||
|
|
||||||
interface FileUploadRequest extends Request {
|
interface FileUploadRequest extends Request {
|
||||||
@ -46,10 +50,14 @@ export class HospitalInformationController {
|
|||||||
try {
|
try {
|
||||||
const hospital = await OrmHelper.DB.getRepository(HospitalInformation)
|
const hospital = await OrmHelper.DB.getRepository(HospitalInformation)
|
||||||
.createQueryBuilder("HospitalInformation")
|
.createQueryBuilder("HospitalInformation")
|
||||||
.leftJoinAndSelect("HospitalInformation.province", "province")
|
.leftJoinAndSelect("HospitalInformation.munisipo", "munisipo")
|
||||||
.leftJoinAndSelect("HospitalInformation.city", "city")
|
.leftJoinAndSelect("HospitalInformation.administrativu", "administrativu")
|
||||||
.leftJoinAndSelect("HospitalInformation.subdistrict", "subdistrict")
|
.leftJoinAndSelect("HospitalInformation.aldeia", "aldeia")
|
||||||
.leftJoinAndSelect("HospitalInformation.ward", "ward")
|
.leftJoinAndSelect("HospitalInformation.suco", "suco")
|
||||||
|
// .leftJoinAndSelect("HospitalInformation.province", "province")
|
||||||
|
// .leftJoinAndSelect("HospitalInformation.city", "city")
|
||||||
|
// .leftJoinAndSelect("HospitalInformation.subdistrict", "subdistrict")
|
||||||
|
// .leftJoinAndSelect("HospitalInformation.ward", "ward")
|
||||||
.getOne();
|
.getOne();
|
||||||
|
|
||||||
if (!hospital) return ReturnHelper.errorResponse(res, 404, 404, Language.lang.failed_view, "Hospital not found");
|
if (!hospital) return ReturnHelper.errorResponse(res, 404, 404, Language.lang.failed_view, "Hospital not found");
|
||||||
@ -66,10 +74,10 @@ export class HospitalInformationController {
|
|||||||
phone: hospital.phone,
|
phone: hospital.phone,
|
||||||
logo: hospitallogo,
|
logo: hospitallogo,
|
||||||
file: hospital.logo,
|
file: hospital.logo,
|
||||||
province: hospital.province,
|
munisipo: hospital.munisipo,
|
||||||
city: hospital.city,
|
administrativu: hospital.administrativu,
|
||||||
subdistrict: hospital.subdistrict,
|
aldeia: hospital.aldeia,
|
||||||
ward: hospital.ward
|
suco: hospital.suco
|
||||||
};
|
};
|
||||||
|
|
||||||
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_view, result);
|
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_view, result);
|
||||||
@ -105,10 +113,14 @@ export class HospitalInformationController {
|
|||||||
hospitalinformation.address = param.address;
|
hospitalinformation.address = param.address;
|
||||||
hospitalinformation.phone = param.phone;
|
hospitalinformation.phone = param.phone;
|
||||||
hospitalinformation.logo = param.logo || existing.logo; // ✅ pertahankan logo lama kalau kosong
|
hospitalinformation.logo = param.logo || existing.logo; // ✅ pertahankan logo lama kalau kosong
|
||||||
hospitalinformation.province = param.province;
|
// hospitalinformation.province = param.province;
|
||||||
hospitalinformation.city = param.city;
|
// hospitalinformation.city = param.city;
|
||||||
hospitalinformation.subdistrict = param.subdistrict;
|
// hospitalinformation.subdistrict = param.subdistrict;
|
||||||
hospitalinformation.ward = param.ward;
|
// hospitalinformation.ward = param.ward;
|
||||||
|
hospitalinformation.suco = param.suco;
|
||||||
|
hospitalinformation.administrativu = param.administrativu;
|
||||||
|
hospitalinformation.aldeia = param.aldeia;
|
||||||
|
hospitalinformation.munisipo = param.munisipo;
|
||||||
hospitalinformation.updated_by = req.auth?.data.name;
|
hospitalinformation.updated_by = req.auth?.data.name;
|
||||||
} else {
|
} else {
|
||||||
// ── INSERT ─────────────────────────────────────────────
|
// ── INSERT ─────────────────────────────────────────────
|
||||||
@ -117,10 +129,14 @@ export class HospitalInformationController {
|
|||||||
hospitalinformation.address = param.address;
|
hospitalinformation.address = param.address;
|
||||||
hospitalinformation.phone = param.phone;
|
hospitalinformation.phone = param.phone;
|
||||||
hospitalinformation.logo = param.logo;
|
hospitalinformation.logo = param.logo;
|
||||||
hospitalinformation.province = param.province;
|
// hospitalinformation.province = param.province;
|
||||||
hospitalinformation.city = param.city;
|
// hospitalinformation.city = param.city;
|
||||||
hospitalinformation.subdistrict = param.subdistrict;
|
// hospitalinformation.subdistrict = param.subdistrict;
|
||||||
hospitalinformation.ward = param.ward;
|
// hospitalinformation.ward = param.ward;
|
||||||
|
hospitalinformation.suco = param.suco;
|
||||||
|
hospitalinformation.administrativu = param.administrativu;
|
||||||
|
hospitalinformation.aldeia = param.aldeia;
|
||||||
|
hospitalinformation.munisipo = param.munisipo;
|
||||||
hospitalinformation.created_by = req.auth?.data.name;
|
hospitalinformation.created_by = req.auth?.data.name;
|
||||||
hospitalinformation.updated_by = req.auth?.data.name;
|
hospitalinformation.updated_by = req.auth?.data.name;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -195,7 +195,7 @@ export class PatientGuarantorController {
|
|||||||
|
|
||||||
if (param.is_default || param.is_default === true) {
|
if (param.is_default || param.is_default === true) {
|
||||||
await OrmHelper.DB.getRepository(PatientGuarantor)
|
await OrmHelper.DB.getRepository(PatientGuarantor)
|
||||||
.update({ is_default: true }, { is_default: false, updated_by: req.auth.data.name });
|
.update({ is_default: true }, { is_default: false, updated_by: req.auth?.data.name });
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = new PatientGuarantor()
|
const data = new PatientGuarantor()
|
||||||
@ -209,10 +209,8 @@ export class PatientGuarantorController {
|
|||||||
data.patient_group = param.patient_group_id;
|
data.patient_group = param.patient_group_id;
|
||||||
data.faretype = param.faretype;
|
data.faretype = param.faretype;
|
||||||
data.maximal_liability = param.maximalliability;
|
data.maximal_liability = param.maximalliability;
|
||||||
data.is_default = param.is_default;
|
data.created_by = req.auth?.data.name;
|
||||||
data.is_full_paid = param.is_full_paid;
|
data.updated_by = req.auth?.data.name;
|
||||||
data.created_by = req.auth.data.name;
|
|
||||||
data.updated_by = req.auth.data.name;
|
|
||||||
|
|
||||||
await OrmHelper.DB.manager.save(data);
|
await OrmHelper.DB.manager.save(data);
|
||||||
|
|
||||||
@ -274,13 +272,31 @@ export class PatientGuarantorController {
|
|||||||
const repo = OrmHelper.DB.getRepository(PatientGuarantor);
|
const repo = OrmHelper.DB.getRepository(PatientGuarantor);
|
||||||
|
|
||||||
const data = await repo.findOneBy({ id: param.id });
|
const data = await repo.findOneBy({ id: param.id });
|
||||||
if (data == null) {
|
|
||||||
|
if (data != null) {
|
||||||
|
data.guarantor_name = param.guarantor_name;
|
||||||
|
data.phone = param.phone;
|
||||||
|
data.province = param.province;
|
||||||
|
data.city = param.city;
|
||||||
|
data.zip_code = param.zip_code;
|
||||||
|
data.agreement_no = param.agreement_no;
|
||||||
|
data.agreement_desc = param.agreement_desc;
|
||||||
|
data.patient_group = param.patient_group_id;
|
||||||
|
data.faretype = param.faretype;
|
||||||
|
data.maximal_liability = param.maximalliability;
|
||||||
|
data.created_by = req.auth?.data.name;
|
||||||
|
data.updated_by = req.auth?.data.name;
|
||||||
|
|
||||||
|
await repo.save(data);
|
||||||
|
|
||||||
|
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_update, data);
|
||||||
|
} else {
|
||||||
return ReturnHelper.errorResponse(res, 404, 401, Language.lang.failed_not_found, "");
|
return ReturnHelper.errorResponse(res, 404, 401, Language.lang.failed_not_found, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (param.is_default || param.is_default === true) {
|
if (param.is_default || param.is_default === true) {
|
||||||
await OrmHelper.DB.getRepository(PatientGuarantor)
|
await OrmHelper.DB.getRepository(PatientGuarantor)
|
||||||
.update({ is_default: true }, { is_default: false, updated_by: req.auth.data.name });
|
.update({ is_default: true }, { is_default: false, updated_by: req.auth?.data.name });
|
||||||
}
|
}
|
||||||
|
|
||||||
data.guarantor_name = param.guarantor_name;
|
data.guarantor_name = param.guarantor_name;
|
||||||
@ -340,11 +356,11 @@ export class PatientGuarantorController {
|
|||||||
|
|
||||||
const existData = await repo.findOne({ where: { id: param.id } });
|
const existData = await repo.findOne({ where: { id: param.id } });
|
||||||
if (existData && !param.hard) {
|
if (existData && !param.hard) {
|
||||||
existData.deleted_by = req.auth.data.name;
|
existData.deleted_by = req.auth?.data.name;
|
||||||
await OrmHelper.DB.manager.save(existData);
|
await OrmHelper.DB.manager.save(existData);
|
||||||
}
|
}
|
||||||
|
|
||||||
const affected = (!param.hard ? await repo.softDelete({ id: param.id }) : await repo.delete({ id: param.id })).affected;
|
const affected = (!param.hard ? await repo.softDelete({ id: param.id }) : await repo.delete({ id: param.id })).affected ?? 0;
|
||||||
|
|
||||||
if (affected > 0) {
|
if (affected > 0) {
|
||||||
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_delete, {});
|
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_delete, {});
|
||||||
@ -382,7 +398,7 @@ export class PatientGuarantorController {
|
|||||||
|
|
||||||
const repo = OrmHelper.DB.getRepository(PatientGuarantor);
|
const repo = OrmHelper.DB.getRepository(PatientGuarantor);
|
||||||
|
|
||||||
const affected = (await repo.restore({ id: param.id })).affected;
|
const affected = (await repo.restore({ id: param.id })).affected ?? 0;
|
||||||
|
|
||||||
if (affected > 0) {
|
if (affected > 0) {
|
||||||
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_restore, {});
|
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_restore, {});
|
||||||
|
|||||||
@ -251,10 +251,10 @@ export class PharmacyInfoController {
|
|||||||
.required()
|
.required()
|
||||||
.label('Default Room'),
|
.label('Default Room'),
|
||||||
|
|
||||||
province: Joi.string().allow("").optional().label("Province Code"),
|
// province: Joi.string().allow("").optional().label("Province Code"),
|
||||||
city: Joi.string().allow("").optional().label("City Code"),
|
// city: Joi.string().allow("").optional().label("City Code"),
|
||||||
subdistrict: Joi.string().allow("").optional().label("Subdistrict Code"),
|
// subdistrict: Joi.string().allow("").optional().label("Subdistrict Code"),
|
||||||
ward: Joi.string().allow("").optional().label("Ward Code"),
|
// ward: Joi.string().allow("").optional().label("Ward Code"),
|
||||||
});
|
});
|
||||||
|
|
||||||
const param: any = await schema.validateAsync(req.body);
|
const param: any = await schema.validateAsync(req.body);
|
||||||
@ -262,17 +262,17 @@ export class PharmacyInfoController {
|
|||||||
const data = new PharmacyInfo()
|
const data = new PharmacyInfo()
|
||||||
data.name = param.name,
|
data.name = param.name,
|
||||||
data.address = param.address
|
data.address = param.address
|
||||||
// data.munisipiu = param.munisipiu,
|
data.munisipiu = param.munisipiu,
|
||||||
// data.postu_admin = param.postu_admin
|
data.postu_admin = param.postu_admin
|
||||||
// data.suco = param.suco
|
data.suco = param.suco
|
||||||
// data.aldeia = param.aldeia
|
data.aldeia = param.aldeia
|
||||||
data.phone = param.phone
|
data.phone = param.phone
|
||||||
data.default_room = param.default_room_id
|
data.default_room = param.default_room_id
|
||||||
data.logo = param.logo
|
data.logo = param.logo
|
||||||
data.province = param.province
|
// data.province = param.province
|
||||||
data.city = param.city
|
// data.city = param.city
|
||||||
data.subdistrict = param.subdistrict
|
// data.subdistrict = param.subdistrict
|
||||||
data.ward = param.ward
|
// data.ward = param.ward
|
||||||
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);
|
||||||
@ -329,21 +329,42 @@ export class PharmacyInfoController {
|
|||||||
.required()
|
.required()
|
||||||
.label('Address'),
|
.label('Address'),
|
||||||
|
|
||||||
province: Joi.string()
|
munisipiu: Joi.string()
|
||||||
.allow("", null)
|
.uuid()
|
||||||
.label('Province'),
|
.required()
|
||||||
|
.label('Munisipiu'),
|
||||||
|
|
||||||
city: Joi.string()
|
postu_admin: Joi.string()
|
||||||
.allow("", null)
|
.uuid()
|
||||||
.label('City'),
|
.required()
|
||||||
|
.label('Postu Admin'),
|
||||||
|
|
||||||
subdistrict: Joi.string()
|
suco: Joi.string()
|
||||||
.allow("", null)
|
.uuid()
|
||||||
.label('Subdistrict'),
|
.required()
|
||||||
|
.label('Suco'),
|
||||||
|
|
||||||
ward: Joi.string()
|
aldeia: Joi.string()
|
||||||
.allow("", null)
|
.uuid()
|
||||||
.label('Ward'),
|
.required()
|
||||||
|
.label('Aldeia'),
|
||||||
|
|
||||||
|
|
||||||
|
// province: Joi.string()
|
||||||
|
// .allow("", null)
|
||||||
|
// .label('Province'),
|
||||||
|
|
||||||
|
// city: Joi.string()
|
||||||
|
// .allow("", null)
|
||||||
|
// .label('City'),
|
||||||
|
|
||||||
|
// subdistrict: Joi.string()
|
||||||
|
// .allow("", null)
|
||||||
|
// .label('Subdistrict'),
|
||||||
|
|
||||||
|
// ward: Joi.string()
|
||||||
|
// .allow("", null)
|
||||||
|
// .label('Ward'),
|
||||||
});
|
});
|
||||||
|
|
||||||
req.body.id = req.params['id'];
|
req.body.id = req.params['id'];
|
||||||
@ -357,17 +378,17 @@ export class PharmacyInfoController {
|
|||||||
if (data != null) {
|
if (data != null) {
|
||||||
data.name = param.name,
|
data.name = param.name,
|
||||||
data.address = param.address
|
data.address = param.address
|
||||||
// data.munisipiu = param.munisipiu,
|
data.munisipiu = param.munisipiu,
|
||||||
// data.postu_admin = param.postu_admin
|
data.postu_admin = param.postu_admin
|
||||||
// data.suco = param.suco
|
data.suco = param.suco
|
||||||
// data.aldeia = param.aldeia
|
data.aldeia = param.aldeia
|
||||||
data.phone = param.phone
|
data.phone = param.phone
|
||||||
data.default_room = param.default_room_id
|
data.default_room = param.default_room_id
|
||||||
data.logo = param.logo
|
data.logo = param.logo
|
||||||
data.province = param.province
|
// data.province = param.province
|
||||||
data.city = param.city
|
// data.city = param.city
|
||||||
data.subdistrict = param.subdistrict
|
// data.subdistrict = param.subdistrict
|
||||||
data.ward = param.ward
|
// data.ward = param.ward
|
||||||
data.updated_by = req.auth?.data.name;
|
data.updated_by = req.auth?.data.name;
|
||||||
|
|
||||||
await repo.save(data);
|
await repo.save(data);
|
||||||
@ -419,7 +440,7 @@ export class PharmacyInfoController {
|
|||||||
await OrmHelper.DB.manager.save(existData);
|
await OrmHelper.DB.manager.save(existData);
|
||||||
}
|
}
|
||||||
|
|
||||||
const affected = (!param.hard ? await repo.softDelete({ id: param.id }) : await repo.delete({ id: param.id })).affected;
|
const affected = (!param.hard ? await repo.softDelete({ id: param.id }) : await repo.delete({ id: param.id })).affected ?? 0;
|
||||||
|
|
||||||
if (affected > 0) {
|
if (affected > 0) {
|
||||||
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_delete, {});
|
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_delete, {});
|
||||||
@ -457,7 +478,7 @@ export class PharmacyInfoController {
|
|||||||
|
|
||||||
const repo = OrmHelper.DB.getRepository(PharmacyInfo);
|
const repo = OrmHelper.DB.getRepository(PharmacyInfo);
|
||||||
|
|
||||||
const affected = (await repo.restore({ id: param.id })).affected;
|
const affected = (await repo.restore({ id: param.id })).affected ?? 0;
|
||||||
|
|
||||||
if (affected > 0) {
|
if (affected > 0) {
|
||||||
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_restore, {});
|
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_restore, {});
|
||||||
|
|||||||
@ -19,10 +19,10 @@ export class PharmacyInfoModel {
|
|||||||
.leftJoinAndSelect("pharmacy_info.postu_admin", "postu_admin")
|
.leftJoinAndSelect("pharmacy_info.postu_admin", "postu_admin")
|
||||||
.leftJoinAndSelect("pharmacy_info.suco", "suco")
|
.leftJoinAndSelect("pharmacy_info.suco", "suco")
|
||||||
.leftJoinAndSelect("pharmacy_info.aldeia", "aldeia")
|
.leftJoinAndSelect("pharmacy_info.aldeia", "aldeia")
|
||||||
.leftJoinAndSelect("pharmacy_info.province", "province")
|
// .leftJoinAndSelect("pharmacy_info.province", "province")
|
||||||
.leftJoinAndSelect("pharmacy_info.city", "city")
|
// .leftJoinAndSelect("pharmacy_info.city", "city")
|
||||||
.leftJoinAndSelect("pharmacy_info.subdistrict", "subdistrict")
|
// .leftJoinAndSelect("pharmacy_info.subdistrict", "subdistrict")
|
||||||
.leftJoinAndSelect("pharmacy_info.ward", "ward");
|
// .leftJoinAndSelect("pharmacy_info.ward", "ward");
|
||||||
if (whereAttr.length != 0) {
|
if (whereAttr.length != 0) {
|
||||||
query = query.where(whereAttr.join(" and "), whereVal);
|
query = query.where(whereAttr.join(" and "), whereVal);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -241,10 +241,14 @@ const doc = {
|
|||||||
$address: "Hospital Address",
|
$address: "Hospital Address",
|
||||||
$phone: "Hospital Phone",
|
$phone: "Hospital Phone",
|
||||||
$logo: "Hospital Logo",
|
$logo: "Hospital Logo",
|
||||||
$province: "province code",
|
// $province: "province code",
|
||||||
$city: "city code",
|
// $city: "city code",
|
||||||
$subdistrict: "subdistrict code",
|
// $subdistrict: "subdistrict code",
|
||||||
$ward: "ward code",
|
// $ward: "ward code",
|
||||||
|
$munisipo: "Munisipo ID",
|
||||||
|
$administrativu: "Administrativu ID",
|
||||||
|
$aldeia: "Aldeia ID",
|
||||||
|
$suco: "Suco ID",
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
$file_name: "File Name",
|
$file_name: "File Name",
|
||||||
@ -333,16 +337,16 @@ const doc = {
|
|||||||
$logo: "Logo (string, max 256)",
|
$logo: "Logo (string, max 256)",
|
||||||
$name: "Name (string, max 256)",
|
$name: "Name (string, max 256)",
|
||||||
$address: "Address (string, max 500)",
|
$address: "Address (string, max 500)",
|
||||||
// $munisipiu: "Munisipiu ID (UUID)",
|
$munisipiu: "Munisipiu ID (UUID)",
|
||||||
// $postu_admin: "Postu Admin ID (UUID)",
|
$postu_admin: "Postu Admin ID (UUID)",
|
||||||
// $suco: "Suco ID (UUID)",
|
$suco: "Suco ID (UUID)",
|
||||||
// $aldeia: "Aldeia ID (UUID)",
|
$aldeia: "Aldeia ID (UUID)",
|
||||||
$phone: "Phone (string, max 30, optional)",
|
$phone: "Phone (string, max 30, optional)",
|
||||||
$default_room_id: "Default Room ID (UUID)",
|
$default_room_id: "Default Room ID (UUID)",
|
||||||
$province: "Province Code",
|
// $province: "Province Code",
|
||||||
$city: "City Code",
|
// $city: "City Code",
|
||||||
$subdistrict: "Subdistrict Code",
|
// $subdistrict: "Subdistrict Code",
|
||||||
$ward: "Ward Code",
|
// $ward: "Ward Code",
|
||||||
},
|
},
|
||||||
item_price: {
|
item_price: {
|
||||||
$item_master_id: "Item Master ID (required, UUID)",
|
$item_master_id: "Item Master ID (required, UUID)",
|
||||||
|
|||||||
Reference in New Issue
Block a user