feat(guarantor): add is_default and is_full_paid column

This commit is contained in:
avicenan
2026-04-25 13:05:40 +07:00
parent fa87e7b08e
commit d40838eb51
2 changed files with 38 additions and 19 deletions

View File

@ -187,10 +187,17 @@ export class PatientGuarantorController {
patient_group_id: Joi.string().guid({ version: 'uuidv4' }).required().label('Patient Group'),
faretype: Joi.string().guid({ version: 'uuidv4' }).required().label('Fare Type'),
maximalliability: Joi.number().optional().label('Maximal Liability'),
is_default: Joi.bool().optional().default(false).label('Is Default'),
is_full_paid: Joi.bool().optional().default(false).label('Is Full Paid'),
});
const param: any = await schema.validateAsync(req.body);
if (param.is_default || param.is_default === true) {
await OrmHelper.DB.getRepository(PatientGuarantor)
.update({ is_default: true }, { is_default: false, updated_by: req.auth.data.name });
}
const data = new PatientGuarantor()
data.guarantor_name = param.guarantor_name;
data.phone = param.phone;
@ -202,6 +209,8 @@ export class PatientGuarantorController {
data.patient_group = param.patient_group_id;
data.faretype = param.faretype;
data.maximal_liability = param.maximalliability;
data.is_default = param.is_default;
data.is_full_paid = param.is_full_paid;
data.created_by = req.auth.data.name;
data.updated_by = req.auth.data.name;
@ -254,6 +263,8 @@ export class PatientGuarantorController {
patient_group_id: Joi.string().guid({ version: 'uuidv4' }).required().label('Patient Group'),
faretype: Joi.string().guid({ version: 'uuidv4' }).required().label('Fare Type'),
maximalliability: Joi.number().optional().label('Maximal Liability'),
is_default: Joi.bool().optional().default(false).label('Is Default'),
is_full_paid: Joi.bool().optional().default(false).label('Is Full Paid'),
});
req.body.id = req.params['id'];
@ -263,27 +274,33 @@ export class PatientGuarantorController {
const repo = OrmHelper.DB.getRepository(PatientGuarantor);
const data = await repo.findOneBy({ id: param.id });
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 {
if (data == null) {
return ReturnHelper.errorResponse(res, 404, 401, Language.lang.failed_not_found, "");
}
if (param.is_default || param.is_default === true) {
await OrmHelper.DB.getRepository(PatientGuarantor)
.update({ is_default: true }, { is_default: false, updated_by: req.auth.data.name });
}
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.is_default = param.is_default;
data.is_full_paid = param.is_full_paid;
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);
} catch (e: unknown) {
log.error(e);
const err = e as Error;

View File

@ -376,6 +376,8 @@ const doc = {
$patient_group_id: "2e1a1b33-bbb2-4f33-b2c4-cff5976f3f95", // Patient Group (UUID)
$faretype: "3f1a1b33-bbb2-4f33-b2c4-cff5976f3f95", // Fare Type (UUID)
$maximalliability: 1000000, // Maximal Liability (opsional)
is_default: false, // Is Default (opsional)
is_full_paid: false, // Is Full Paid (opsional)
},
refferal_hospital: {
$refferal_hospital_name: "RefferalHospital name",