Merge branch 'develop' into adiDev
This commit is contained in:
commit
434293418d
5 changed files with 274 additions and 121 deletions
|
|
@ -3083,6 +3083,7 @@ export class CommandController extends Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
posMaster.current_holderId = item.profileId;
|
posMaster.current_holderId = item.profileId;
|
||||||
|
posMaster.conditionReason = _null;
|
||||||
if (posMasterOld != null) await this.posMasterRepository.save(posMasterOld);
|
if (posMasterOld != null) await this.posMasterRepository.save(posMasterOld);
|
||||||
await this.posMasterRepository.save(posMaster);
|
await this.posMasterRepository.save(posMaster);
|
||||||
|
|
||||||
|
|
@ -3333,7 +3334,7 @@ export class CommandController extends Controller {
|
||||||
positionTypeNew?: string | null;
|
positionTypeNew?: string | null;
|
||||||
positionLevelNew?: string | null;
|
positionLevelNew?: string | null;
|
||||||
positionNameNew?: string | null;
|
positionNameNew?: string | null;
|
||||||
posmasterId?: string| null;
|
posmasterId?: string | null;
|
||||||
posTypeNameNew?: string | null;
|
posTypeNameNew?: string | null;
|
||||||
posLevelNameNew?: string | null;
|
posLevelNameNew?: string | null;
|
||||||
posNoNew?: string | null;
|
posNoNew?: string | null;
|
||||||
|
|
@ -3403,7 +3404,7 @@ export class CommandController extends Controller {
|
||||||
}
|
}
|
||||||
let _commandYear = item.commandYear;
|
let _commandYear = item.commandYear;
|
||||||
if (item.commandYear) {
|
if (item.commandYear) {
|
||||||
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear+543
|
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear + 543;
|
||||||
}
|
}
|
||||||
const returnWork = await checkReturnCommandType(String(item.commandId));
|
const returnWork = await checkReturnCommandType(String(item.commandId));
|
||||||
const dest_item = await this.salaryRepo.findOne({
|
const dest_item = await this.salaryRepo.findOne({
|
||||||
|
|
@ -3424,7 +3425,7 @@ export class CommandController extends Controller {
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
lastUpdatedAt: new Date(),
|
lastUpdatedAt: new Date(),
|
||||||
};
|
};
|
||||||
if(!returnWork) {
|
if (!returnWork) {
|
||||||
Object.assign(data, { ...item, ...meta });
|
Object.assign(data, { ...item, ...meta });
|
||||||
const history = new ProfileSalaryHistory();
|
const history = new ProfileSalaryHistory();
|
||||||
Object.assign(history, { ...data, id: undefined });
|
Object.assign(history, { ...data, id: undefined });
|
||||||
|
|
@ -3486,13 +3487,14 @@ export class CommandController extends Controller {
|
||||||
await this.positionRepository.save(clearPosition);
|
await this.positionRepository.save(clearPosition);
|
||||||
}
|
}
|
||||||
posMaster.current_holderId = profile.id;
|
posMaster.current_holderId = profile.id;
|
||||||
|
posMaster.conditionReason = _null;
|
||||||
await this.posMasterRepository.save(posMaster);
|
await this.posMasterRepository.save(posMaster);
|
||||||
const positionNew = await this.positionRepository.findOne({
|
const positionNew = await this.positionRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
posMasterId: posMaster.id,
|
posMasterId: posMaster.id,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
if(positionNew) {
|
if (positionNew) {
|
||||||
positionNew.positionIsSelected = true;
|
positionNew.positionIsSelected = true;
|
||||||
await this.positionRepository.save(positionNew, { data: req });
|
await this.positionRepository.save(positionNew, { data: req });
|
||||||
}
|
}
|
||||||
|
|
@ -3523,7 +3525,7 @@ export class CommandController extends Controller {
|
||||||
commandName: item.commandName,
|
commandName: item.commandName,
|
||||||
remark: item.remark,
|
remark: item.remark,
|
||||||
};
|
};
|
||||||
Object.assign(data, {...newMapProfileSalary, ...meta});
|
Object.assign(data, { ...newMapProfileSalary, ...meta });
|
||||||
const history = new ProfileSalaryHistory();
|
const history = new ProfileSalaryHistory();
|
||||||
Object.assign(history, { ...data, id: undefined });
|
Object.assign(history, { ...data, id: undefined });
|
||||||
await this.salaryRepo.save(data);
|
await this.salaryRepo.save(data);
|
||||||
|
|
@ -3552,10 +3554,15 @@ export class CommandController extends Controller {
|
||||||
// profile.birthDate.toISOString().slice(5, 7) +
|
// profile.birthDate.toISOString().slice(5, 7) +
|
||||||
// gregorianYear;
|
// gregorianYear;
|
||||||
// password = formattedDate;
|
// password = formattedDate;
|
||||||
const _date = new Date(profile.birthDate.toDateString()).getDate().toString().padStart(2, "0");
|
const _date = new Date(profile.birthDate.toDateString())
|
||||||
const _month = (new Date(profile.birthDate.toDateString()).getMonth()+1).toString().padStart(2, "0");
|
.getDate()
|
||||||
const _year = (new Date(profile.birthDate.toDateString()).getFullYear()+543);
|
.toString()
|
||||||
password = `${_date}${_month}${_year}`
|
.padStart(2, "0");
|
||||||
|
const _month = (new Date(profile.birthDate.toDateString()).getMonth() + 1)
|
||||||
|
.toString()
|
||||||
|
.padStart(2, "0");
|
||||||
|
const _year = new Date(profile.birthDate.toDateString()).getFullYear() + 543;
|
||||||
|
password = `${_date}${_month}${_year}`;
|
||||||
}
|
}
|
||||||
userKeycloakId = await createUser(profile.citizenId, password, {
|
userKeycloakId = await createUser(profile.citizenId, password, {
|
||||||
firstName: profile.firstName,
|
firstName: profile.firstName,
|
||||||
|
|
@ -3694,7 +3701,7 @@ export class CommandController extends Controller {
|
||||||
}
|
}
|
||||||
let _commandYear = item.commandYear;
|
let _commandYear = item.commandYear;
|
||||||
if (item.commandYear) {
|
if (item.commandYear) {
|
||||||
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear+543
|
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear + 543;
|
||||||
}
|
}
|
||||||
const dest_item = await this.salaryRepo.findOne({
|
const dest_item = await this.salaryRepo.findOne({
|
||||||
where: { profileEmployeeId: item.profileId },
|
where: { profileEmployeeId: item.profileId },
|
||||||
|
|
@ -3861,7 +3868,7 @@ export class CommandController extends Controller {
|
||||||
}
|
}
|
||||||
let _commandYear = item.commandYear;
|
let _commandYear = item.commandYear;
|
||||||
if (item.commandYear) {
|
if (item.commandYear) {
|
||||||
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear+543
|
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear + 543;
|
||||||
}
|
}
|
||||||
const dest_item = await this.salaryRepo.findOne({
|
const dest_item = await this.salaryRepo.findOne({
|
||||||
where: { profileId: item.profileId },
|
where: { profileId: item.profileId },
|
||||||
|
|
@ -4167,7 +4174,7 @@ export class CommandController extends Controller {
|
||||||
body.data.map(async (item) => {
|
body.data.map(async (item) => {
|
||||||
let _commandYear = item.commandYear;
|
let _commandYear = item.commandYear;
|
||||||
if (item.commandYear) {
|
if (item.commandYear) {
|
||||||
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear+543
|
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear + 543;
|
||||||
}
|
}
|
||||||
if (item.profileType && item.profileType.trim().toUpperCase() == "OFFICER") {
|
if (item.profileType && item.profileType.trim().toUpperCase() == "OFFICER") {
|
||||||
const profile = await this.profileRepository.findOne({
|
const profile = await this.profileRepository.findOne({
|
||||||
|
|
@ -4679,7 +4686,7 @@ export class CommandController extends Controller {
|
||||||
}
|
}
|
||||||
let _commandYear = item.commandYear;
|
let _commandYear = item.commandYear;
|
||||||
if (item.commandYear) {
|
if (item.commandYear) {
|
||||||
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear+543
|
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear + 543;
|
||||||
}
|
}
|
||||||
// const orgRevision = await this.orgRevisionRepo.findOne({
|
// const orgRevision = await this.orgRevisionRepo.findOne({
|
||||||
// where: {
|
// where: {
|
||||||
|
|
@ -5161,7 +5168,7 @@ export class CommandController extends Controller {
|
||||||
}
|
}
|
||||||
let _commandYear = item.commandYear;
|
let _commandYear = item.commandYear;
|
||||||
if (item.commandYear) {
|
if (item.commandYear) {
|
||||||
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear+543
|
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear + 543;
|
||||||
}
|
}
|
||||||
const _profile = await this.profileRepository.findOne({
|
const _profile = await this.profileRepository.findOne({
|
||||||
where: { id: item.profileId },
|
where: { id: item.profileId },
|
||||||
|
|
@ -5457,10 +5464,15 @@ export class CommandController extends Controller {
|
||||||
// item.bodyProfile.birthDate.toISOString().slice(5, 7) +
|
// item.bodyProfile.birthDate.toISOString().slice(5, 7) +
|
||||||
// gregorianYear;
|
// gregorianYear;
|
||||||
// password = formattedDate;
|
// password = formattedDate;
|
||||||
const _date = new Date(item.bodyProfile.birthDate.toDateString()).getDate().toString().padStart(2, "0");
|
const _date = new Date(item.bodyProfile.birthDate.toDateString())
|
||||||
const _month = (new Date(item.bodyProfile.birthDate.toDateString()).getMonth()+1).toString().padStart(2, "0");
|
.getDate()
|
||||||
const _year = (new Date(item.bodyProfile.birthDate.toDateString()).getFullYear()+543);
|
.toString()
|
||||||
password = `${_date}${_month}${_year}`
|
.padStart(2, "0");
|
||||||
|
const _month = (new Date(item.bodyProfile.birthDate.toDateString()).getMonth() + 1)
|
||||||
|
.toString()
|
||||||
|
.padStart(2, "0");
|
||||||
|
const _year = new Date(item.bodyProfile.birthDate.toDateString()).getFullYear() + 543;
|
||||||
|
password = `${_date}${_month}${_year}`;
|
||||||
}
|
}
|
||||||
userKeycloakId = await createUser(item.bodyProfile.citizenId, password, {
|
userKeycloakId = await createUser(item.bodyProfile.citizenId, password, {
|
||||||
firstName: item.bodyProfile.firstName,
|
firstName: item.bodyProfile.firstName,
|
||||||
|
|
@ -5525,14 +5537,14 @@ export class CommandController extends Controller {
|
||||||
const history = new ProfileSalaryHistory();
|
const history = new ProfileSalaryHistory();
|
||||||
Object.assign(history, { ...profileEmpSalary, id: undefined });
|
Object.assign(history, { ...profileEmpSalary, id: undefined });
|
||||||
profileEmpSalary.dateGovernment = meta.createdAt;
|
profileEmpSalary.dateGovernment = meta.createdAt;
|
||||||
profileEmpSalary.profileId = _null,
|
(profileEmpSalary.profileId = _null),
|
||||||
await this.salaryRepo.save(profileEmpSalary, { data: req });
|
await this.salaryRepo.save(profileEmpSalary, { data: req });
|
||||||
setLogDataDiff(req, { before, after: profileEmpSalary });
|
setLogDataDiff(req, { before, after: profileEmpSalary });
|
||||||
history.profileSalaryId = profileEmpSalary.id;
|
history.profileSalaryId = profileEmpSalary.id;
|
||||||
await this.salaryHistoryRepo.save(history, { data: req });
|
await this.salaryHistoryRepo.save(history, { data: req });
|
||||||
|
|
||||||
if (profileEmployee.profileInsignias.length > 0) {
|
if (profileEmployee.profileInsignias.length > 0) {
|
||||||
_oldInsigniaIds = profileEmployee.profileInsignias.map((x:any) => x.id);
|
_oldInsigniaIds = profileEmployee.profileInsignias.map((x: any) => x.id);
|
||||||
}
|
}
|
||||||
await removeProfileInOrganize(profileEmployee.id, "EMPLOYEE");
|
await removeProfileInOrganize(profileEmployee.id, "EMPLOYEE");
|
||||||
if (profileEmployee.keycloak != null) {
|
if (profileEmployee.keycloak != null) {
|
||||||
|
|
@ -5593,9 +5605,12 @@ export class CommandController extends Controller {
|
||||||
//ขรก.ในระบบ หรือ ขรก.ในระบบที่สถานะพ้นจากราชการ
|
//ขรก.ในระบบ หรือ ขรก.ในระบบที่สถานะพ้นจากราชการ
|
||||||
else {
|
else {
|
||||||
//สร้างโปรไฟล์ใหม่ ถ้าสถานะพ้นราชการ คำสั่งโอนออกหรือคำสั่งขอลาออก
|
//สร้างโปรไฟล์ใหม่ ถ้าสถานะพ้นราชการ คำสั่งโอนออกหรือคำสั่งขอลาออก
|
||||||
if (profile.isLeave && ["PLACEMENT_TRANSFER", "RETIRE_RESIGN"].includes(profile.leaveType)) {
|
if (
|
||||||
|
profile.isLeave &&
|
||||||
|
["PLACEMENT_TRANSFER", "RETIRE_RESIGN"].includes(profile.leaveType)
|
||||||
|
) {
|
||||||
if (profile.profileInsignias.length > 0) {
|
if (profile.profileInsignias.length > 0) {
|
||||||
_oldInsigniaIds = profile.profileInsignias.map((x:any) => x.id);
|
_oldInsigniaIds = profile.profileInsignias.map((x: any) => x.id);
|
||||||
}
|
}
|
||||||
profile = Object.assign({ ...item.bodyProfile, ...meta });
|
profile = Object.assign({ ...item.bodyProfile, ...meta });
|
||||||
profile.dateRetire = _dateRetire;
|
profile.dateRetire = _dateRetire;
|
||||||
|
|
@ -5633,8 +5648,7 @@ export class CommandController extends Controller {
|
||||||
profile.phone = item.bodyProfile.phone ?? null;
|
profile.phone = item.bodyProfile.phone ?? null;
|
||||||
await this.profileRepository.save(profile);
|
await this.profileRepository.save(profile);
|
||||||
setLogDataDiff(req, { before, after: profile });
|
setLogDataDiff(req, { before, after: profile });
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
profile.roleKeycloaks = result && roleKeycloak ? [roleKeycloak] : [];
|
profile.roleKeycloaks = result && roleKeycloak ? [roleKeycloak] : [];
|
||||||
profile.keycloak =
|
profile.keycloak =
|
||||||
userKeycloakId && typeof userKeycloakId === "string" ? userKeycloakId : "";
|
userKeycloakId && typeof userKeycloakId === "string" ? userKeycloakId : "";
|
||||||
|
|
@ -5892,6 +5906,7 @@ export class CommandController extends Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
posMaster.current_holderId = profile.id;
|
posMaster.current_holderId = profile.id;
|
||||||
|
posMaster.conditionReason = _null;
|
||||||
if (posMasterOld != null) await this.posMasterRepository.save(posMasterOld);
|
if (posMasterOld != null) await this.posMasterRepository.save(posMasterOld);
|
||||||
await this.posMasterRepository.save(posMaster);
|
await this.posMasterRepository.save(posMaster);
|
||||||
|
|
||||||
|
|
@ -5913,7 +5928,7 @@ export class CommandController extends Controller {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Insignia
|
// Insignia
|
||||||
if(_oldInsigniaIds.length > 0) {
|
if (_oldInsigniaIds.length > 0) {
|
||||||
const _insignias = await this.insigniaRepo.find({
|
const _insignias = await this.insigniaRepo.find({
|
||||||
where: { id: In(_oldInsigniaIds) },
|
where: { id: In(_oldInsigniaIds) },
|
||||||
order: { createdAt: "ASC" },
|
order: { createdAt: "ASC" },
|
||||||
|
|
@ -6277,10 +6292,15 @@ export class CommandController extends Controller {
|
||||||
// profile.birthDate.toISOString().slice(5, 7) +
|
// profile.birthDate.toISOString().slice(5, 7) +
|
||||||
// gregorianYear;
|
// gregorianYear;
|
||||||
// password = formattedDate;
|
// password = formattedDate;
|
||||||
const _date = new Date(profile.birthDate.toDateString()).getDate().toString().padStart(2, "0");
|
const _date = new Date(profile.birthDate.toDateString())
|
||||||
const _month = (new Date(profile.birthDate.toDateString()).getMonth()+1).toString().padStart(2, "0");
|
.getDate()
|
||||||
const _year = (new Date(profile.birthDate.toDateString()).getFullYear()+543);
|
.toString()
|
||||||
password = `${_date}${_month}${_year}`
|
.padStart(2, "0");
|
||||||
|
const _month = (new Date(profile.birthDate.toDateString()).getMonth() + 1)
|
||||||
|
.toString()
|
||||||
|
.padStart(2, "0");
|
||||||
|
const _year = new Date(profile.birthDate.toDateString()).getFullYear() + 543;
|
||||||
|
password = `${_date}${_month}${_year}`;
|
||||||
}
|
}
|
||||||
const userKeycloakId = await createUser(profile.citizenId, password, {
|
const userKeycloakId = await createUser(profile.citizenId, password, {
|
||||||
firstName: profile.firstName,
|
firstName: profile.firstName,
|
||||||
|
|
@ -6606,7 +6626,9 @@ export class CommandController extends Controller {
|
||||||
: "-",
|
: "-",
|
||||||
dateEnd: "-",
|
dateEnd: "-",
|
||||||
RemarkVertical: item.RemarkVertical ? Extension.ToThaiNumber(item.RemarkVertical) : "-",
|
RemarkVertical: item.RemarkVertical ? Extension.ToThaiNumber(item.RemarkVertical) : "-",
|
||||||
RemarkHorizontal: item.RemarkHorizontal ? Extension.ToThaiNumber(item.RemarkHorizontal) : "-",
|
RemarkHorizontal: item.RemarkHorizontal
|
||||||
|
? Extension.ToThaiNumber(item.RemarkHorizontal)
|
||||||
|
: "-",
|
||||||
order:
|
order:
|
||||||
posMasterAct.posMasterOrder == null
|
posMasterAct.posMasterOrder == null
|
||||||
? "-"
|
? "-"
|
||||||
|
|
|
||||||
|
|
@ -4755,21 +4755,27 @@ export class ImportDataController extends Controller {
|
||||||
*/
|
*/
|
||||||
@Post("tranferEntryToMain")
|
@Post("tranferEntryToMain")
|
||||||
async tranferEntryToMain(@Request() request: { user: Record<string, any> }) {
|
async tranferEntryToMain(@Request() request: { user: Record<string, any> }) {
|
||||||
|
const _profiles = await this.profileRepo
|
||||||
|
.createQueryBuilder("profile")
|
||||||
|
.leftJoinAndSelect("profile.profileSalary", "profileSalary")
|
||||||
|
.leftJoinAndSelect("profile.profileSalaryTemp", "profileSalaryTemp")
|
||||||
|
.where("profileSalary.isEntry = :isEntry", { isEntry: true })
|
||||||
|
.andWhere("profile.statusCheckEdit != :status", { status: "EDITED" })
|
||||||
|
.andWhere("profileSalaryTemp.id IS NULL") // 💥 filter ให้ profileSalaryTemp ว่าง
|
||||||
|
.orderBy("profileSalary.commandDateAffect", "ASC")
|
||||||
|
.addOrderBy("profileSalary.order", "ASC")
|
||||||
|
.getMany();
|
||||||
|
|
||||||
const profiles = await this.profileRepo.find({
|
const profiles = await this.profileRepo.find({
|
||||||
where: {
|
where: {
|
||||||
citizenId: In([
|
id: In(_profiles.map((x) => x.id)),
|
||||||
"3860700270466",
|
profileSalary: { isEntry: true },
|
||||||
"3909900758770",
|
statusCheckEdit: Not("EDITED"),
|
||||||
"3309900659891",
|
|
||||||
"3100501312173",
|
|
||||||
"3360200140185",
|
|
||||||
"3101900524141",
|
|
||||||
"3102101307867",
|
|
||||||
]),
|
|
||||||
},
|
},
|
||||||
order: { profileSalary: { commandDateAffect: "ASC", order: "ASC" } },
|
order: { profileSalary: { commandDateAffect: "ASC", order: "ASC" } },
|
||||||
relations: ["profileSalary"],
|
relations: ["profileSalary"],
|
||||||
});
|
});
|
||||||
|
// console.log(profiles.lengthisDelete)
|
||||||
for await (const item of profiles) {
|
for await (const item of profiles) {
|
||||||
// 2. จัดกลุ่มข้อมูลตามวันที่คำสั่งมีผล
|
// 2. จัดกลุ่มข้อมูลตามวันที่คำสั่งมีผล
|
||||||
const groupedByDate = this.groupOrdersByDate(item.profileSalary);
|
const groupedByDate = this.groupOrdersByDate(item.profileSalary);
|
||||||
|
|
@ -4780,7 +4786,7 @@ export class ImportDataController extends Controller {
|
||||||
if (orders.length == 1) {
|
if (orders.length == 1) {
|
||||||
num = num + 1;
|
num = num + 1;
|
||||||
//save
|
//save
|
||||||
orders.isDelete = false;
|
orders[0].isDelete = false;
|
||||||
processedOrders.push(orders[0]);
|
processedOrders.push(orders[0]);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
@ -4819,7 +4825,7 @@ export class ImportDataController extends Controller {
|
||||||
const findCommandNo = _item.remark?.includes(
|
const findCommandNo = _item.remark?.includes(
|
||||||
_item1.commandNo + "/" + (_item1.commandYear + 543),
|
_item1.commandNo + "/" + (_item1.commandYear + 543),
|
||||||
);
|
);
|
||||||
if (findCommandNo && chkEditCommandNo == true && chkCanCommandNo == true) {
|
if (findCommandNo && (chkEditCommandNo == true || chkCanCommandNo == true)) {
|
||||||
_item.isDelete = true;
|
_item.isDelete = true;
|
||||||
processedOrders.push(_item);
|
processedOrders.push(_item);
|
||||||
orders = orders.filter((x: ProfileSalary) => x.id != _item.id);
|
orders = orders.filter((x: ProfileSalary) => x.id != _item.id);
|
||||||
|
|
@ -4831,7 +4837,7 @@ export class ImportDataController extends Controller {
|
||||||
const _findCommandNo = _item.remark?.includes(
|
const _findCommandNo = _item.remark?.includes(
|
||||||
_item1.commandNo + "/" + (_item1.commandYear + 543).toString().slice(-2),
|
_item1.commandNo + "/" + (_item1.commandYear + 543).toString().slice(-2),
|
||||||
);
|
);
|
||||||
if (_findCommandNo && chkEditCommandNo == true && chkCanCommandNo == true) {
|
if (_findCommandNo && (chkEditCommandNo == true || chkCanCommandNo == true)) {
|
||||||
_item.isDelete = true;
|
_item.isDelete = true;
|
||||||
processedOrders.push(_item);
|
processedOrders.push(_item);
|
||||||
orders = orders.filter((x: ProfileSalary) => x.id != _item.id);
|
orders = orders.filter((x: ProfileSalary) => x.id != _item.id);
|
||||||
|
|
@ -4938,15 +4944,15 @@ export class ImportDataController extends Controller {
|
||||||
async tranferEntryToMainEdit(@Request() request: { user: Record<string, any> }) {
|
async tranferEntryToMainEdit(@Request() request: { user: Record<string, any> }) {
|
||||||
const profiles = await this.salaryTempRepo.find({
|
const profiles = await this.salaryTempRepo.find({
|
||||||
where: {
|
where: {
|
||||||
profileId: In([
|
// profileId: In([
|
||||||
"529558c4-5c5d-431a-8b40-940cded51a41",
|
// "529558c4-5c5d-431a-8b40-940cded51a41",
|
||||||
"649f2d08-2a01-48b1-afcc-8a4c99091b17",
|
// "649f2d08-2a01-48b1-afcc-8a4c99091b17",
|
||||||
"9ac31312-441a-4cdf-a778-974d9232ca55",
|
// "9ac31312-441a-4cdf-a778-974d9232ca55",
|
||||||
"9c6b5005-ee8e-432f-a83d-cd41fb199e56",
|
// "9c6b5005-ee8e-432f-a83d-cd41fb199e56",
|
||||||
"c8c664de-e792-4fbd-85c1-fbeefdc860d4",
|
// "c8c664de-e792-4fbd-85c1-fbeefdc860d4",
|
||||||
"c9639f3b-26d0-47fc-a53d-1a0e4926697e",
|
// "c9639f3b-26d0-47fc-a53d-1a0e4926697e",
|
||||||
"e6d40cd6-c77b-4229-8e8d-a6df3f83394b",
|
// "e6d40cd6-c77b-4229-8e8d-a6df3f83394b",
|
||||||
]),
|
// ]),
|
||||||
isEntry: true,
|
isEntry: true,
|
||||||
isDelete: true,
|
isDelete: true,
|
||||||
},
|
},
|
||||||
|
|
@ -4975,6 +4981,45 @@ export class ImportDataController extends Controller {
|
||||||
}
|
}
|
||||||
return new HttpSuccess();
|
return new HttpSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @summary รวม entry กับตัวหลัก
|
||||||
|
*/
|
||||||
|
@Post("tranferEntryToMainEditEntry")
|
||||||
|
async tranferEntryToMainEditEntry(@Request() request: { user: Record<string, any> }) {
|
||||||
|
const profiles = await this.salaryTempRepo.find({
|
||||||
|
where: {
|
||||||
|
// profileId: In([
|
||||||
|
// "529558c4-5c5d-431a-8b40-940cded51a41",
|
||||||
|
// "649f2d08-2a01-48b1-afcc-8a4c99091b17",
|
||||||
|
// "9ac31312-441a-4cdf-a778-974d9232ca55",
|
||||||
|
// "9c6b5005-ee8e-432f-a83d-cd41fb199e56",
|
||||||
|
// "c8c664de-e792-4fbd-85c1-fbeefdc860d4",
|
||||||
|
// "c9639f3b-26d0-47fc-a53d-1a0e4926697e",
|
||||||
|
// "e6d40cd6-c77b-4229-8e8d-a6df3f83394b",
|
||||||
|
// ]),
|
||||||
|
isEntry: true,
|
||||||
|
},
|
||||||
|
relations: ["profile"],
|
||||||
|
});
|
||||||
|
let num = 1;
|
||||||
|
for await (const item of profiles) {
|
||||||
|
console.log(num);
|
||||||
|
num += 1;
|
||||||
|
const existingProfile = await this.ProfileSalariesRepo.createQueryBuilder("profile")
|
||||||
|
.where("profile.posNo = :posNo", { posNo: item.profile.citizenId })
|
||||||
|
.andWhere("CONCAT(profile.SalaryRef, ' ', profile.PositionName) = :remark", {
|
||||||
|
remark: item.remark,
|
||||||
|
})
|
||||||
|
.getOne();
|
||||||
|
|
||||||
|
if (existingProfile) {
|
||||||
|
item.remark = existingProfile.SalaryRef;
|
||||||
|
await this.salaryTempRepo.save(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new HttpSuccess();
|
||||||
|
}
|
||||||
// ฟังก์ชันจัดกลุ่มตามวันที่
|
// ฟังก์ชันจัดกลุ่มตามวันที่
|
||||||
groupOrdersByDate(orders: ProfileSalary[]) {
|
groupOrdersByDate(orders: ProfileSalary[]) {
|
||||||
return orders.reduce((groups: any, order) => {
|
return orders.reduce((groups: any, order) => {
|
||||||
|
|
|
||||||
|
|
@ -4688,6 +4688,8 @@ export class PositionController extends Controller {
|
||||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทะเบียนประวัตินี้");
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทะเบียนประวัตินี้");
|
||||||
|
|
||||||
posMaster.current_holderId = body.profileId;
|
posMaster.current_holderId = body.profileId;
|
||||||
|
const _null: any = null;
|
||||||
|
posMaster.conditionReason = _null;
|
||||||
if (posMasterOld != null) await this.posMasterRepository.save(posMasterOld);
|
if (posMasterOld != null) await this.posMasterRepository.save(posMasterOld);
|
||||||
await this.posMasterRepository.save(posMaster);
|
await this.posMasterRepository.save(posMaster);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1050,18 +1050,20 @@ export class ProfileEmployeeTempController extends Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* API รายการทะเบียนประวัติลูกจ้างชั่วคราว
|
* API ส่งรายชื่อไปออกคำสั่ง รายการทะเบียนประวัติลูกจ้างชั่วคราว
|
||||||
*
|
*
|
||||||
* @summary รายการทะเบียนประวัติลูกจ้างชั่วคราว (ADMIN)
|
* @summary ส่งรายชื่อไปออกคำสั่ง รายการทะเบียนประวัติลูกจ้างชั่วคราว (ADMIN)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Get("temp")
|
@Get("temp")
|
||||||
async listProfileEmp() {
|
async listProfileEmp(@Request() request: RequestWithUser) {
|
||||||
|
let _dataOrg = await new permission().PermissionOrgList(request, "SYS_REGISTRY_TEMP");
|
||||||
const [record, total] = await this.profileRepo
|
const [record, total] = await this.profileRepo
|
||||||
.createQueryBuilder("profileEmployee")
|
.createQueryBuilder("profileEmployee")
|
||||||
.leftJoinAndSelect("profileEmployee.posLevel", "posLevel")
|
.leftJoinAndSelect("profileEmployee.posLevel", "posLevel")
|
||||||
.leftJoinAndSelect("profileEmployee.posType", "posType")
|
.leftJoinAndSelect("profileEmployee.posType", "posType")
|
||||||
.leftJoinAndSelect("profileEmployee.current_holders", "current_holders")
|
.leftJoinAndSelect("profileEmployee.current_holders", "current_holders")
|
||||||
|
.leftJoinAndSelect("profileEmployee.current_holderTemps", "current_holderTemps")
|
||||||
.leftJoinAndSelect("profileEmployee.profileEmployeeEmployment", "profileEmployeeEmployment")
|
.leftJoinAndSelect("profileEmployee.profileEmployeeEmployment", "profileEmployeeEmployment")
|
||||||
.leftJoinAndSelect("current_holders.positions", "positions")
|
.leftJoinAndSelect("current_holders.positions", "positions")
|
||||||
.leftJoinAndSelect("current_holders.orgRoot", "orgRoot")
|
.leftJoinAndSelect("current_holders.orgRoot", "orgRoot")
|
||||||
|
|
@ -1069,8 +1071,63 @@ export class ProfileEmployeeTempController extends Controller {
|
||||||
.leftJoinAndSelect("current_holders.orgChild2", "orgChild2")
|
.leftJoinAndSelect("current_holders.orgChild2", "orgChild2")
|
||||||
.leftJoinAndSelect("current_holders.orgChild3", "orgChild3")
|
.leftJoinAndSelect("current_holders.orgChild3", "orgChild3")
|
||||||
.leftJoinAndSelect("current_holders.orgChild4", "orgChild4")
|
.leftJoinAndSelect("current_holders.orgChild4", "orgChild4")
|
||||||
|
.leftJoinAndSelect("current_holderTemps.orgRoot", "orgRootTemp")
|
||||||
|
.leftJoinAndSelect("current_holderTemps.orgChild1", "orgChild1Temp")
|
||||||
|
.leftJoinAndSelect("current_holderTemps.orgChild2", "orgChild2Temp")
|
||||||
|
.leftJoinAndSelect("current_holderTemps.orgChild3", "orgChild3Temp")
|
||||||
|
.leftJoinAndSelect("current_holderTemps.orgChild4", "orgChild4Temp")
|
||||||
.andWhere("profileEmployee.employeeClass = :employeeClass", { employeeClass: "TEMP" })
|
.andWhere("profileEmployee.employeeClass = :employeeClass", { employeeClass: "TEMP" })
|
||||||
.andWhere("profileEmployee.statusTemp = :statusTemp", { statusTemp: "PENDING" })
|
.andWhere("profileEmployee.statusTemp = :statusTemp", { statusTemp: "PENDING" })
|
||||||
|
.andWhere(
|
||||||
|
_dataOrg.root != undefined && _dataOrg.root != null
|
||||||
|
? _dataOrg.root[0] != null
|
||||||
|
? `current_holderTemps.orgRootId IN (:...root)`
|
||||||
|
: `current_holderTemps.orgRootId is null`
|
||||||
|
: "1=1",
|
||||||
|
{
|
||||||
|
root: _dataOrg.root,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.andWhere(
|
||||||
|
_dataOrg.child1 != undefined && _dataOrg.child1 != null
|
||||||
|
? _dataOrg.child1[0] != null
|
||||||
|
? `current_holderTemps.orgChild1Id IN (:...child1)`
|
||||||
|
: `current_holderTemps.orgChild1Id is null`
|
||||||
|
: "1=1",
|
||||||
|
{
|
||||||
|
child1: _dataOrg.child1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.andWhere(
|
||||||
|
_dataOrg.child2 != undefined && _dataOrg.child2 != null
|
||||||
|
? _dataOrg.child2[0] != null
|
||||||
|
? `current_holderTemps.orgChild2Id IN (:...child2)`
|
||||||
|
: `current_holderTemps.orgChild2Id is null`
|
||||||
|
: "1=1",
|
||||||
|
{
|
||||||
|
child2: _dataOrg.child2,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.andWhere(
|
||||||
|
_dataOrg.child3 != undefined && _dataOrg.child3 != null
|
||||||
|
? _dataOrg.child3[0] != null
|
||||||
|
? `current_holderTemps.orgChild3Id IN (:...child3)`
|
||||||
|
: `current_holderTemps.orgChild3Id is null`
|
||||||
|
: "1=1",
|
||||||
|
{
|
||||||
|
child3: _dataOrg.child3,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.andWhere(
|
||||||
|
_dataOrg.child4 != undefined && _dataOrg.child4 != null
|
||||||
|
? _dataOrg.child4[0] != null
|
||||||
|
? `current_holderTemps.orgChild4Id IN (:...child4)`
|
||||||
|
: `current_holderTemps.orgChild4Id is null`
|
||||||
|
: "1=1",
|
||||||
|
{
|
||||||
|
child4: _dataOrg.child4,
|
||||||
|
},
|
||||||
|
)
|
||||||
.getManyAndCount();
|
.getManyAndCount();
|
||||||
const data = await Promise.all(
|
const data = await Promise.all(
|
||||||
record.map((_data) => {
|
record.map((_data) => {
|
||||||
|
|
@ -1409,9 +1466,9 @@ export class ProfileEmployeeTempController extends Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* API รายการทะเบียนประวัติ
|
* API รายการทะเบียนประวัติลูกจ้างชั่วคราว
|
||||||
*
|
*
|
||||||
* @summary ORG_065 - รายการทะเบียนประวัติ (ADMIN) #70
|
* @summary ORG_065 - รายการทะเบียนประวัติลูกจ้างชั่วคราว (ADMIN) #70
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Get()
|
@Get()
|
||||||
|
|
@ -1540,9 +1597,20 @@ export class ProfileEmployeeTempController extends Controller {
|
||||||
// : `profileEmployee.dateRetire IS NOT NULL`
|
// : `profileEmployee.dateRetire IS NOT NULL`
|
||||||
// : "1=1",
|
// : "1=1",
|
||||||
// )
|
// )
|
||||||
.andWhere("profileEmployee.employeeClass = :type", {
|
.andWhere(
|
||||||
type: "TEMP",
|
"profileEmployee.employeeClass = :type", {
|
||||||
})
|
type: type ? type.trim().toLocaleUpperCase() : "TEMP"
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.orWhere(
|
||||||
|
`current_holderTemps.orgRootId is null AND current_holderTemps.orgChild1Id is null AND
|
||||||
|
current_holderTemps.orgChild2Id is null AND current_holderTemps.orgChild3Id is null AND
|
||||||
|
current_holderTemps.orgChild4Id is null AND profileEmployee.createdUserId = :keycloak AND
|
||||||
|
profileEmployee.employeeClass = :type`, {
|
||||||
|
keycloak: request.user.sub,
|
||||||
|
type: type ? type.trim().toLocaleUpperCase() : "TEMP",
|
||||||
|
}
|
||||||
|
)
|
||||||
.skip((page - 1) * pageSize)
|
.skip((page - 1) * pageSize)
|
||||||
.take(pageSize)
|
.take(pageSize)
|
||||||
.getManyAndCount();
|
.getManyAndCount();
|
||||||
|
|
|
||||||
|
|
@ -58,10 +58,10 @@ export async function init() {
|
||||||
console.log(channel ? "[AMQ] Create channel success" : "[AMQ] Create channel failed");
|
console.log(channel ? "[AMQ] Create channel success" : "[AMQ] Create channel failed");
|
||||||
|
|
||||||
channel.assertQueue(queue, { durable: true }), //----> (1.5) assert queue and set durable (if "true" save to disk on RabbitMQ)
|
channel.assertQueue(queue, { durable: true }), //----> (1.5) assert queue and set durable (if "true" save to disk on RabbitMQ)
|
||||||
channel.assertQueue(queue_org, { durable: true }),
|
channel.assertQueue(queue_org, { durable: true }),
|
||||||
channel.assertQueue(queue_org_draft, { durable: true }),
|
channel.assertQueue(queue_org_draft, { durable: true }),
|
||||||
channel.assertQueue(queue_command_noti, { durable: true }),
|
channel.assertQueue(queue_command_noti, { durable: true }),
|
||||||
channel.prefetch(1);
|
channel.prefetch(1);
|
||||||
|
|
||||||
sendToQueue = (payload: any, persistent = true) => {
|
sendToQueue = (payload: any, persistent = true) => {
|
||||||
//----> (2) sendQueue To RabbitMQ and set persistent (if "true" redo the failed queue when server run again)
|
//----> (2) sendQueue To RabbitMQ and set persistent (if "true" redo the failed queue when server run again)
|
||||||
|
|
@ -84,7 +84,7 @@ export async function init() {
|
||||||
|
|
||||||
console.log("[AMQ] Listening for message...");
|
console.log("[AMQ] Listening for message...");
|
||||||
createConsumer(queue, channel, handler), //----> (3) Process Consumer
|
createConsumer(queue, channel, handler), //----> (3) Process Consumer
|
||||||
createConsumer(queue_org, channel, handler_org);
|
createConsumer(queue_org, channel, handler_org);
|
||||||
createConsumer(queue_org_draft, channel, handler_org_draft);
|
createConsumer(queue_org_draft, channel, handler_org_draft);
|
||||||
createConsumer(queue_command_noti, channel, handler_command_noti);
|
createConsumer(queue_command_noti, channel, handler_command_noti);
|
||||||
// createConsumer(queue2, channel, handler2);
|
// createConsumer(queue2, channel, handler2);
|
||||||
|
|
@ -168,7 +168,7 @@ async function handler(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
console.log("[AMQ] Excecute Command Success");
|
console.log("[AMQ] Excecute Command Success");
|
||||||
Object.assign(command, { status, lastUpdateUserId, lastUpdateFullName, lastUpdatedAt });
|
Object.assign(command, { status, lastUpdateUserId, lastUpdateFullName, lastUpdatedAt });
|
||||||
const result = await repo.save(command).catch((e) => console.log(e));
|
const result = await repo.save(command).catch((e) => console.log(e));
|
||||||
if(user){
|
if (user) {
|
||||||
sendWebSocket(
|
sendWebSocket(
|
||||||
"send-command-notification",
|
"send-command-notification",
|
||||||
{
|
{
|
||||||
|
|
@ -176,14 +176,14 @@ async function handler(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
message: `ระบบออกคำสั่งเลขที่ ${command.commandNo}/${command.commandYear + 543} เสร็จสิ้น`,
|
message: `ระบบออกคำสั่งเลขที่ ${command.commandNo}/${command.commandYear + 543} เสร็จสิ้น`,
|
||||||
payload: command,
|
payload: command,
|
||||||
},
|
},
|
||||||
{ userId: user?.sub},
|
{ userId: user?.sub },
|
||||||
).catch(console.error);
|
).catch(console.error);
|
||||||
}
|
}
|
||||||
return !!result;
|
return !!result;
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
if(user){
|
if (user) {
|
||||||
sendWebSocket(
|
sendWebSocket(
|
||||||
"send-command-notification",
|
"send-command-notification",
|
||||||
{
|
{
|
||||||
|
|
@ -191,7 +191,7 @@ async function handler(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
message: `ระบบออกคำสั่งเลขที่ ${command.commandNo}/${command.commandYear + 543} ผิดพลาด`,
|
message: `ระบบออกคำสั่งเลขที่ ${command.commandNo}/${command.commandYear + 543} ผิดพลาด`,
|
||||||
payload: command,
|
payload: command,
|
||||||
},
|
},
|
||||||
{ userId: user?.sub},
|
{ userId: user?.sub },
|
||||||
).catch(console.error);
|
).catch(console.error);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -306,12 +306,12 @@ async function handler_command_noti(msg: amqp.ConsumeMessage): Promise<boolean>
|
||||||
subject: `${command.issue}`,
|
subject: `${command.issue}`,
|
||||||
body: `${command.issue}`,
|
body: `${command.issue}`,
|
||||||
receiverUserIds: profiles,
|
receiverUserIds: profiles,
|
||||||
payload: "",// แนบไฟล์ (ถ้าจำเป็น)
|
payload: "", // แนบไฟล์ (ถ้าจำเป็น)
|
||||||
isSendMail: true,
|
isSendMail: true,
|
||||||
isSendInbox: true,
|
isSendInbox: true,
|
||||||
isSendNotification: true,
|
isSendNotification: true,
|
||||||
},
|
},
|
||||||
false
|
false,
|
||||||
)
|
)
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
if (error.response) {
|
if (error.response) {
|
||||||
|
|
@ -329,17 +329,18 @@ async function handler_command_noti(msg: amqp.ConsumeMessage): Promise<boolean>
|
||||||
console.error("Full error object:", error);
|
console.error("Full error object:", error);
|
||||||
});
|
});
|
||||||
|
|
||||||
let profilesSend = command && command.commandSends.length > 0
|
let profilesSend =
|
||||||
? command.commandSends
|
command && command.commandSends.length > 0
|
||||||
.filter((x: any) => x.profileId != null)
|
? command.commandSends
|
||||||
.map((x: any) => ({
|
.filter((x: any) => x.profileId != null)
|
||||||
receiverUserId: x.profileId,
|
.map((x: any) => ({
|
||||||
notiLink: "",
|
receiverUserId: x.profileId,
|
||||||
isSendMail: x.commandSendCCs.map((x: any) => x.name == "EMAIL").length > 0,
|
notiLink: "",
|
||||||
isSendInbox: x.commandSendCCs.map((x: any) => x.name == "INBOX").length > 0,
|
isSendMail: x.commandSendCCs.map((x: any) => x.name == "EMAIL").length > 0,
|
||||||
isSendNotification: true,
|
isSendInbox: x.commandSendCCs.map((x: any) => x.name == "INBOX").length > 0,
|
||||||
}))
|
isSendNotification: true,
|
||||||
: [];
|
}))
|
||||||
|
: [];
|
||||||
|
|
||||||
const profilesSendRequest = new CallAPI()
|
const profilesSendRequest = new CallAPI()
|
||||||
.PostData(
|
.PostData(
|
||||||
|
|
@ -349,10 +350,11 @@ async function handler_command_noti(msg: amqp.ConsumeMessage): Promise<boolean>
|
||||||
subject: `${command.issue}`,
|
subject: `${command.issue}`,
|
||||||
body: `${command.issue}`,
|
body: `${command.issue}`,
|
||||||
receiverUserIds: profilesSend,
|
receiverUserIds: profilesSend,
|
||||||
payload: "", // แนบไฟล์ (ถ้าจำเป็น)
|
payload: "", // แนบไฟล์ (ถ้าจำเป็น)
|
||||||
},
|
},
|
||||||
false
|
false,
|
||||||
).catch((error) => {
|
)
|
||||||
|
.catch((error) => {
|
||||||
if (error.response) {
|
if (error.response) {
|
||||||
// Server ตอบกลับ (มี status code 4xx หรือ 5xx)
|
// Server ตอบกลับ (มี status code 4xx หรือ 5xx)
|
||||||
console.error("Error status:", error.response.status);
|
console.error("Error status:", error.response.status);
|
||||||
|
|
@ -372,14 +374,12 @@ async function handler_command_noti(msg: amqp.ConsumeMessage): Promise<boolean>
|
||||||
|
|
||||||
console.log("[AMQ] Send Notification Success");
|
console.log("[AMQ] Send Notification Success");
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("[AMQ] Error:", error);
|
console.error("[AMQ] Error:", error);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
//----> condition before process consume
|
//----> condition before process consume
|
||||||
const repoPosmaster = AppDataSource.getRepository(PosMaster);
|
const repoPosmaster = AppDataSource.getRepository(PosMaster);
|
||||||
|
|
@ -406,12 +406,14 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
.where("orgRevision.orgRevisionIsDraft = true")
|
.where("orgRevision.orgRevisionIsDraft = true")
|
||||||
.andWhere("orgRevision.orgRevisionIsCurrent = false")
|
.andWhere("orgRevision.orgRevisionIsCurrent = false")
|
||||||
.getOne();
|
.getOne();
|
||||||
if (orgRevisionPublish) { //เข้าเงื่อนไขจะเปลี่ยนสถานะ orgRevisionPublish เป็นไม่ใช่ current และไม่เป็น daft
|
if (orgRevisionPublish) {
|
||||||
|
//เข้าเงื่อนไขจะเปลี่ยนสถานะ orgRevisionPublish เป็นไม่ใช่ current และไม่เป็น daft
|
||||||
orgRevisionPublish.orgRevisionIsDraft = false;
|
orgRevisionPublish.orgRevisionIsDraft = false;
|
||||||
orgRevisionPublish.orgRevisionIsCurrent = false;
|
orgRevisionPublish.orgRevisionIsCurrent = false;
|
||||||
await repoOrgRevision.save(orgRevisionPublish);
|
await repoOrgRevision.save(orgRevisionPublish);
|
||||||
}
|
}
|
||||||
if (orgRevisionDraft) { //เข้าเงื่อนไขจะเปลี่ยนสถานะ orgRevisionDraft เป็นไม่ใช่ daft และเป็น current
|
if (orgRevisionDraft) {
|
||||||
|
//เข้าเงื่อนไขจะเปลี่ยนสถานะ orgRevisionDraft เป็นไม่ใช่ daft และเป็น current
|
||||||
orgRevisionDraft.orgRevisionIsCurrent = true;
|
orgRevisionDraft.orgRevisionIsCurrent = true;
|
||||||
orgRevisionDraft.orgRevisionIsDraft = false;
|
orgRevisionDraft.orgRevisionIsDraft = false;
|
||||||
await repoOrgRevision.save(orgRevisionDraft);
|
await repoOrgRevision.save(orgRevisionDraft);
|
||||||
|
|
@ -449,7 +451,8 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
item.current_holderId = item.next_holderId;
|
item.current_holderId = item.next_holderId;
|
||||||
if(item.current_holderId){
|
item.conditionReason = _null;
|
||||||
|
if (item.current_holderId) {
|
||||||
item.conditionReason = _null;
|
item.conditionReason = _null;
|
||||||
}
|
}
|
||||||
item.next_holderId = null;
|
item.next_holderId = null;
|
||||||
|
|
@ -552,7 +555,9 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
x.ancestorDNA === null ||
|
x.ancestorDNA === null ||
|
||||||
x.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
x.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
||||||
) {
|
) {
|
||||||
return i.ancestorDNA === null || i.ancestorDNA === "00000000-0000-0000-0000-000000000000";
|
return (
|
||||||
|
i.ancestorDNA === null || i.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return i.ancestorDNA === x.ancestorDNA;
|
return i.ancestorDNA === x.ancestorDNA;
|
||||||
});
|
});
|
||||||
|
|
@ -590,7 +595,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
// }
|
// }
|
||||||
// employeePosMaster.current_holderId = null;
|
// employeePosMaster.current_holderId = null;
|
||||||
employeePosMaster.orgRevisionId = orgRevisionDraft.id;
|
employeePosMaster.orgRevisionId = orgRevisionDraft.id;
|
||||||
employeePosMaster.orgRootId = matchedOrgRoot?.id ?? null
|
employeePosMaster.orgRootId = matchedOrgRoot?.id ?? null;
|
||||||
employeePosMaster.createdUserId = "";
|
employeePosMaster.createdUserId = "";
|
||||||
employeePosMaster.createdFullName = "System Administrator";
|
employeePosMaster.createdFullName = "System Administrator";
|
||||||
employeePosMaster.createdAt = new Date();
|
employeePosMaster.createdAt = new Date();
|
||||||
|
|
@ -700,7 +705,9 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
x.ancestorDNA === null ||
|
x.ancestorDNA === null ||
|
||||||
x.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
x.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
||||||
) {
|
) {
|
||||||
return i.ancestorDNA === null || i.ancestorDNA === "00000000-0000-0000-0000-000000000000";
|
return (
|
||||||
|
i.ancestorDNA === null || i.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return i.ancestorDNA === x.ancestorDNA;
|
return i.ancestorDNA === x.ancestorDNA;
|
||||||
});
|
});
|
||||||
|
|
@ -853,7 +860,10 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
x.ancestorDNA === null ||
|
x.ancestorDNA === null ||
|
||||||
x.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
x.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
||||||
) {
|
) {
|
||||||
return i.ancestorDNA === null || i.ancestorDNA === "00000000-0000-0000-0000-000000000000";
|
return (
|
||||||
|
i.ancestorDNA === null ||
|
||||||
|
i.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return i.ancestorDNA === x.ancestorDNA;
|
return i.ancestorDNA === x.ancestorDNA;
|
||||||
});
|
});
|
||||||
|
|
@ -1014,7 +1024,10 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
x.ancestorDNA === null ||
|
x.ancestorDNA === null ||
|
||||||
x.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
x.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
||||||
) {
|
) {
|
||||||
return i.ancestorDNA === null || i.ancestorDNA === "00000000-0000-0000-0000-000000000000";
|
return (
|
||||||
|
i.ancestorDNA === null ||
|
||||||
|
i.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return i.ancestorDNA === x.ancestorDNA;
|
return i.ancestorDNA === x.ancestorDNA;
|
||||||
});
|
});
|
||||||
|
|
@ -1178,7 +1191,10 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
x.ancestorDNA === null ||
|
x.ancestorDNA === null ||
|
||||||
x.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
x.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
||||||
) {
|
) {
|
||||||
return i.ancestorDNA === null || i.ancestorDNA === "00000000-0000-0000-0000-000000000000";
|
return (
|
||||||
|
i.ancestorDNA === null ||
|
||||||
|
i.ancestorDNA === "00000000-0000-0000-0000-000000000000"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return i.ancestorDNA === x.ancestorDNA;
|
return i.ancestorDNA === x.ancestorDNA;
|
||||||
});
|
});
|
||||||
|
|
@ -1560,7 +1576,7 @@ async function handler_org_draft(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
posMaster.next_holderId = item.current_holderId;
|
posMaster.next_holderId = item.current_holderId;
|
||||||
if(posMaster.next_holderId){
|
if (posMaster.next_holderId) {
|
||||||
posMaster.conditionReason = _null;
|
posMaster.conditionReason = _null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1655,7 +1671,7 @@ async function handler_org_draft(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
posMaster.next_holderId = item.current_holderId;
|
posMaster.next_holderId = item.current_holderId;
|
||||||
if(posMaster.next_holderId){
|
if (posMaster.next_holderId) {
|
||||||
posMaster.conditionReason = _null;
|
posMaster.conditionReason = _null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1752,7 +1768,7 @@ async function handler_org_draft(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
posMaster.next_holderId = item.current_holderId;
|
posMaster.next_holderId = item.current_holderId;
|
||||||
if(posMaster.next_holderId){
|
if (posMaster.next_holderId) {
|
||||||
posMaster.conditionReason = _null;
|
posMaster.conditionReason = _null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1851,7 +1867,7 @@ async function handler_org_draft(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
posMaster.next_holderId = item.current_holderId;
|
posMaster.next_holderId = item.current_holderId;
|
||||||
if(posMaster.next_holderId){
|
if (posMaster.next_holderId) {
|
||||||
posMaster.conditionReason = _null;
|
posMaster.conditionReason = _null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1953,7 +1969,7 @@ async function handler_org_draft(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
posMaster.next_holderId = item.current_holderId;
|
posMaster.next_holderId = item.current_holderId;
|
||||||
if(posMaster.next_holderId){
|
if (posMaster.next_holderId) {
|
||||||
posMaster.conditionReason = _null;
|
posMaster.conditionReason = _null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue