diff --git a/src/controllers/ProfileEmployeeController.ts b/src/controllers/ProfileEmployeeController.ts index d5367569..14467328 100644 --- a/src/controllers/ProfileEmployeeController.ts +++ b/src/controllers/ProfileEmployeeController.ts @@ -659,6 +659,7 @@ export class ProfileEmployeeController extends Controller { .leftJoinAndSelect("profileEmployee.posLevel", "posLevel") .leftJoinAndSelect("profileEmployee.posType", "posType") .leftJoinAndSelect("profileEmployee.current_holders", "current_holders") + .leftJoinAndSelect("profileEmployee.profileEmployeeEmployment", "profileEmployeeEmployment") .leftJoinAndSelect("current_holders.positions", "positions") .leftJoinAndSelect("current_holders.orgRoot", "orgRoot") .leftJoinAndSelect("current_holders.orgChild1", "orgChild1") @@ -684,6 +685,12 @@ export class ProfileEmployeeController extends Controller { : _data.current_holders[0].orgRoot != null ? `${_data.current_holders[0].orgRoot.orgRootShortName}${_data.current_holders[0].posMasterNo}` : null; + const dateEmployment = + _data.profileEmployeeEmployment.length == 0 + ? null + : _data.profileEmployeeEmployment.reduce((latest, current) => { + return (latest.date > current.date) ? latest : current; + }).date; return { id: _data.id, prefix: _data.prefix, @@ -696,11 +703,14 @@ export class ProfileEmployeeController extends Controller { posTypeShortName: _data.posType == null ? null : _data.posType.posTypeShortName, posLevelId: _data.posLevel == null ? null : _data.posLevel.id, posTypeId: _data.posType == null ? null : _data.posType.id, + positionId: _data.positionIdTemp, + posmasterId: _data.posmasterIdTemp, position: _data.position, posNo: _data.employeeClass == "TEMP" ? _data.posMasterNoTemp : shortName, employeeClass: _data.employeeClass == null ? null : _data.employeeClass, govAge: Extension.CalculateGovAge(_data.dateAppoint, 0, 0), age: Extension.CalculateAgeStrV2(_data.birthDate, 0, 0), + dateEmployment: dateEmployment, dateAppoint: _data.dateAppoint, dateStart: _data.dateStart, createdAt: _data.createdAt, @@ -848,6 +858,7 @@ export class ProfileEmployeeController extends Controller { .leftJoinAndSelect("profileEmployee.posLevel", "posLevel") .leftJoinAndSelect("profileEmployee.posType", "posType") .leftJoinAndSelect("profileEmployee.current_holders", "current_holders") + .leftJoinAndSelect("profileEmployee.profileEmployeeEmployment", "profileEmployeeEmployment") .leftJoinAndSelect("current_holders.positions", "positions") .leftJoinAndSelect("current_holders.orgRoot", "orgRoot") .leftJoinAndSelect("current_holders.orgChild1", "orgChild1") @@ -917,6 +928,12 @@ export class ProfileEmployeeController extends Controller { : _data.current_holders[0].orgRoot != null ? `${_data.current_holders[0].orgRoot.orgRootShortName}${_data.current_holders[0].posMasterNo}` : null; + const dateEmployment = + _data.profileEmployeeEmployment.length == 0 + ? null + : _data.profileEmployeeEmployment.reduce((latest, current) => { + return (latest.date > current.date) ? latest : current; + }).date; return { id: _data.id, prefix: _data.prefix, @@ -929,11 +946,14 @@ export class ProfileEmployeeController extends Controller { posTypeShortName: _data.posType == null ? null : _data.posType.posTypeShortName, posLevelId: _data.posLevel == null ? null : _data.posLevel.id, posTypeId: _data.posType == null ? null : _data.posType.id, + positionId: _data.positionIdTemp, + posmasterId: _data.posmasterIdTemp, position: _data.position, posNo: _data.employeeClass == "TEMP" ? _data.posMasterNoTemp : shortName, employeeClass: _data.employeeClass == null ? null : _data.employeeClass, govAge: Extension.CalculateGovAge(_data.dateAppoint, 0, 0), age: Extension.CalculateAgeStrV2(_data.birthDate, 0, 0), + dateEmployment: dateEmployment, dateAppoint: _data.dateAppoint, dateStart: _data.dateStart, createdAt: _data.createdAt, diff --git a/src/controllers/SubDistrictController.ts b/src/controllers/SubDistrictController.ts index 3ea667c8..68241488 100644 --- a/src/controllers/SubDistrictController.ts +++ b/src/controllers/SubDistrictController.ts @@ -164,13 +164,22 @@ export class SubDistrictController extends Controller { */ @Delete("{id}") async Delete(@Path() id: string) { - const _delSubDistrict = await this.subDistrictRepository.findOne({ - where: { id: id }, - }); - if (!_delSubDistrict) { - throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลสถานภาพทางแขวงนี้"); + // const _delSubDistrict = await this.subDistrictRepository.findOne({ + // where: { id: id }, + // }); + // if (!_delSubDistrict) { + // throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลสถานภาพทางแขวงนี้"); + // } + // await this.subDistrictRepository.delete(_delSubDistrict.id); + let result :any + try { + result = await this.subDistrictRepository.delete({ id: id }); + } catch { + throw new HttpError( HttpStatusCode.NOT_FOUND, "ไม่สามารถลบได้เนื่องจากมีการใช้งานข้อมูลแขวง/ตำบลนี้อยู่"); + } + if (result.affected == undefined || result.affected <= 0) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูล"); } - await this.subDistrictRepository.delete(_delSubDistrict.id); return new HttpSuccess(); } }