Merge branch 'develop' of github.com:Frappet/bma-ehr-organization into develop

This commit is contained in:
Kittapath 2024-02-21 16:22:09 +07:00
commit 6b2f1c99d8

View file

@ -408,34 +408,40 @@ export class PositionController extends Controller {
}
let orgRoot: any = null;
let SName: any = null;
if (requestBody.orgRootId != null)
orgRoot = await this.orgRootRepository.findOne({
where: { id: requestBody.orgRootId },
});
SName = orgRoot.shortName;
if (!orgRoot) {
let orgChild1: any = null;
if (requestBody.orgChild1Id != null)
orgChild1 = await this.child1Repository.findOne({
where: { id: requestBody.orgChild1Id },
});
SName = orgChild1.shortName;
if (!orgChild1) {
let orgChild2: any = null;
if (requestBody.orgChild2Id != null)
orgChild2 = await this.child2Repository.findOne({
where: { id: requestBody.orgChild2Id },
});
SName = orgChild2.shortName;
if (!orgChild2) {
let orgChild3: any = null;
if (requestBody.orgChild3Id != null)
orgChild3 = await this.child3Repository.findOne({
where: { id: requestBody.orgChild3Id },
});
SName = orgChild3.shortName;
if (!orgChild3) {
let orgChild4: any = null;
if (requestBody.orgChild4Id != null)
orgChild4 = await this.child4Repository.findOne({
where: { id: requestBody.orgChild4Id },
});
SName = orgChild4.shortName;
if (!orgChild4) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงสร้าง");
} else {
@ -479,9 +485,7 @@ export class PositionController extends Controller {
where: {
orgChild3Id: orgChild3.id,
orgChild4Id: IsNull() || "",
posMasterNoPrefix: requestBody.posMasterNoPrefix,
posMasterNo: requestBody.posMasterNo,
posMasterNoSuffix: requestBody.posMasterNoSuffix,
},
});
if (dataDup != null)
@ -513,9 +517,7 @@ export class PositionController extends Controller {
orgChild2Id: orgChild2.id,
orgChild3Id: IsNull() || "",
orgChild4Id: IsNull() || "",
posMasterNoPrefix: requestBody.posMasterNoPrefix,
posMasterNo: requestBody.posMasterNo,
posMasterNoSuffix: requestBody.posMasterNoSuffix,
},
});
if (dataDup != null)
@ -548,9 +550,7 @@ export class PositionController extends Controller {
orgChild2Id: IsNull() || "",
orgChild3Id: IsNull() || "",
orgChild4Id: IsNull() || "",
posMasterNoPrefix: requestBody.posMasterNoPrefix,
posMasterNo: requestBody.posMasterNo,
posMasterNoSuffix: requestBody.posMasterNoSuffix,
},
});
if (dataDup != null)
@ -584,9 +584,7 @@ export class PositionController extends Controller {
orgChild2Id: IsNull() || "",
orgChild3Id: IsNull() || "",
orgChild4Id: IsNull() || "",
posMasterNoPrefix: requestBody.posMasterNoPrefix,
posMasterNo: requestBody.posMasterNo,
posMasterNoSuffix: requestBody.posMasterNoSuffix,
},
});
if (dataDup != null)
@ -602,6 +600,85 @@ export class PositionController extends Controller {
posMaster.orgRevisionId = orgRoot.orgRevisionId;
}
const chk_SName0 = await this.posMasterRepository.findOne({
where: {
orgRevisionId: posMaster.orgRevisionId,
orgRoot: { orgRootShortName: SName },
orgChild1Id: IsNull(),
posMasterNo: requestBody.posMasterNo,
},
relations: ['orgRoot'],
});
if (chk_SName0 != null){
throw new HttpError(
HttpStatusCode.INTERNAL_SERVER_ERROR,
"ไม่สามารถใส่เลขที่ตำแหน่งซ้ำกันได้",
);
}
const chk_SName1 = await this.posMasterRepository.findOne({
where: {
orgRevisionId: posMaster.orgRevisionId,
orgChild1: { orgChild1ShortName: SName },
orgChild2Id: IsNull(),
posMasterNo: requestBody.posMasterNo,
},
relations: ['orgChild1'],
});
if (chk_SName1 != null){
throw new HttpError(
HttpStatusCode.INTERNAL_SERVER_ERROR,
"ไม่สามารถใส่เลขที่ตำแหน่งซ้ำกันได้",
);
}
const chk_SName2 = await this.posMasterRepository.findOne({
where: {
orgRevisionId: posMaster.orgRevisionId,
orgChild2: { orgChild2ShortName: SName },
orgChild3Id: IsNull(),
posMasterNo: requestBody.posMasterNo,
},
relations: ['orgChild2'],
});
if (chk_SName2 != null){
throw new HttpError(
HttpStatusCode.INTERNAL_SERVER_ERROR,
"ไม่สามารถใส่เลขที่ตำแหน่งซ้ำกันได้",
);
}
const chk_SName3 = await this.posMasterRepository.findOne({
where: {
orgRevisionId: posMaster.orgRevisionId,
orgChild3: { orgChild3ShortName: SName },
orgChild4Id: IsNull(),
posMasterNo: requestBody.posMasterNo,
},
relations: ['orgChild3'],
});
if (chk_SName3 != null){
throw new HttpError(
HttpStatusCode.INTERNAL_SERVER_ERROR,
"ไม่สามารถใส่เลขที่ตำแหน่งซ้ำกันได้",
);
}
const chk_SName4 = await this.posMasterRepository.findOne({
where: {
orgRevisionId: posMaster.orgRevisionId,
orgChild4: { orgChild4ShortName: SName },
posMasterNo: requestBody.posMasterNo,
},
relations: ['orgChild4'],
});
if (chk_SName4 != null){
throw new HttpError(
HttpStatusCode.INTERNAL_SERVER_ERROR,
"ไม่สามารถใส่เลขที่ตำแหน่งซ้ำกันได้",
);
}
posMaster.createdUserId = request.user.sub;
posMaster.createdFullName = request.user.name;
posMaster.lastUpdateUserId = request.user.sub;
@ -679,34 +756,40 @@ export class PositionController extends Controller {
posMaster.orgChild4Id = null;
let orgRoot: any = null;
let SName: any = null;
if (requestBody.orgRootId != null)
orgRoot = await this.orgRootRepository.findOne({
where: { id: requestBody.orgRootId },
});
SName = orgRoot.shortName;
if (!orgRoot) {
let orgChild1: any = null;
if (requestBody.orgChild1Id != null)
orgChild1 = await this.child1Repository.findOne({
where: { id: requestBody.orgChild1Id },
});
SName = orgChild1.shortName;
if (!orgChild1) {
let orgChild2: any = null;
if (requestBody.orgChild2Id != null)
orgChild2 = await this.child2Repository.findOne({
where: { id: requestBody.orgChild2Id },
});
SName = orgChild2.shortName;
if (!orgChild2) {
let orgChild3: any = null;
if (requestBody.orgChild3Id != null)
orgChild3 = await this.child3Repository.findOne({
where: { id: requestBody.orgChild3Id },
});
SName = orgChild3.shortName;
if (!orgChild3) {
let orgChild4: any = null;
if (requestBody.orgChild4Id != null)
orgChild4 = await this.child4Repository.findOne({
where: { id: requestBody.orgChild4Id },
});
SName = orgChild4.shortName;
if (!orgChild4) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงสร้าง");
} else {
@ -714,9 +797,9 @@ export class PositionController extends Controller {
where: {
id: Not(posMaster.id),
orgChild4Id: orgChild4.id,
posMasterNoPrefix: requestBody.posMasterNoPrefix,
// posMasterNoPrefix: requestBody.posMasterNoPrefix,
posMasterNo: requestBody.posMasterNo,
posMasterNoSuffix: requestBody.posMasterNoSuffix,
// posMasterNoSuffix: requestBody.posMasterNoSuffix,
},
});
if (dataDup != null)
@ -737,9 +820,9 @@ export class PositionController extends Controller {
id: Not(posMaster.id),
orgChild3Id: orgChild3.id,
orgChild4Id: IsNull() || "",
posMasterNoPrefix: requestBody.posMasterNoPrefix,
// posMasterNoPrefix: requestBody.posMasterNoPrefix,
posMasterNo: requestBody.posMasterNo,
posMasterNoSuffix: requestBody.posMasterNoSuffix,
// posMasterNoSuffix: requestBody.posMasterNoSuffix,
},
});
if (dataDup != null)
@ -760,9 +843,9 @@ export class PositionController extends Controller {
orgChild2Id: orgChild2.id,
orgChild3Id: IsNull() || "",
orgChild4Id: IsNull() || "",
posMasterNoPrefix: requestBody.posMasterNoPrefix,
// posMasterNoPrefix: requestBody.posMasterNoPrefix,
posMasterNo: requestBody.posMasterNo,
posMasterNoSuffix: requestBody.posMasterNoSuffix,
// posMasterNoSuffix: requestBody.posMasterNoSuffix,
},
});
if (dataDup != null)
@ -783,9 +866,9 @@ export class PositionController extends Controller {
orgChild2Id: IsNull() || "",
orgChild3Id: IsNull() || "",
orgChild4Id: IsNull() || "",
posMasterNoPrefix: requestBody.posMasterNoPrefix,
// posMasterNoPrefix: requestBody.posMasterNoPrefix,
posMasterNo: requestBody.posMasterNo,
posMasterNoSuffix: requestBody.posMasterNoSuffix,
// posMasterNoSuffix: requestBody.posMasterNoSuffix,
},
});
if (dataDup != null)
@ -806,9 +889,9 @@ export class PositionController extends Controller {
orgChild2Id: IsNull() || "",
orgChild3Id: IsNull() || "",
orgChild4Id: IsNull() || "",
posMasterNoPrefix: requestBody.posMasterNoPrefix,
// posMasterNoPrefix: requestBody.posMasterNoPrefix,
posMasterNo: requestBody.posMasterNo,
posMasterNoSuffix: requestBody.posMasterNoSuffix,
// posMasterNoSuffix: requestBody.posMasterNoSuffix,
},
});
if (dataDup != null)
@ -820,6 +903,73 @@ export class PositionController extends Controller {
posMaster.orgRevisionId = orgRoot.orgRevisionId;
}
const chk_SName1 = await this.posMasterRepository.findOne({
where: {
orgRevisionId: posMaster.orgRevisionId,
orgChild1: { orgChild1ShortName: SName },
orgChild2Id: IsNull(),
posMasterNo: requestBody.posMasterNo,
id: Not(posMaster.id)
},
relations: ['orgChild1'],
});
if (chk_SName1 != null){
throw new HttpError(
HttpStatusCode.INTERNAL_SERVER_ERROR,
"ไม่สามารถใส่เลขที่ตำแหน่งซ้ำกันได้",
);
}
const chk_SName2 = await this.posMasterRepository.findOne({
where: {
orgRevisionId: posMaster.orgRevisionId,
orgChild2: { orgChild2ShortName: SName },
orgChild3Id: IsNull(),
posMasterNo: requestBody.posMasterNo,
id: Not(posMaster.id)
},
relations: ['orgChild2'],
});
if (chk_SName2 != null){
throw new HttpError(
HttpStatusCode.INTERNAL_SERVER_ERROR,
"ไม่สามารถใส่เลขที่ตำแหน่งซ้ำกันได้",
);
}
const chk_SName3 = await this.posMasterRepository.findOne({
where: {
orgRevisionId: posMaster.orgRevisionId,
orgChild3: { orgChild3ShortName: SName },
orgChild4Id: IsNull(),
posMasterNo: requestBody.posMasterNo,
id: Not(posMaster.id)
},
relations: ['orgChild3'],
});
if (chk_SName3 != null){
throw new HttpError(
HttpStatusCode.INTERNAL_SERVER_ERROR,
"ไม่สามารถใส่เลขที่ตำแหน่งซ้ำกันได้",
);
}
const chk_SName4 = await this.posMasterRepository.findOne({
where: {
orgRevisionId: posMaster.orgRevisionId,
orgChild4: { orgChild4ShortName: SName },
posMasterNo: requestBody.posMasterNo,
id: Not(posMaster.id)
},
relations: ['orgChild4'],
});
if (chk_SName4 != null){
throw new HttpError(
HttpStatusCode.INTERNAL_SERVER_ERROR,
"ไม่สามารถใส่เลขที่ตำแหน่งซ้ำกันได้",
);
}
posMaster.createdUserId = request.user.sub; //สงสัยว่าทำให้ bug แก้ไขไม่ได้
posMaster.createdFullName = request.user.name;
posMaster.lastUpdateUserId = request.user.sub;