import edu
This commit is contained in:
parent
ce5a595bc6
commit
b314fe0cec
5 changed files with 58 additions and 14 deletions
17
package-lock.json
generated
17
package-lock.json
generated
|
|
@ -12,6 +12,7 @@
|
|||
"@elastic/elasticsearch": "^8.14.0",
|
||||
"@nestjs/platform-express": "^10.3.9",
|
||||
"@tsoa/runtime": "^6.0.0",
|
||||
"act": "^0.0.6",
|
||||
"amqplib": "^0.10.4",
|
||||
"axios": "^1.7.9",
|
||||
"cors": "^2.8.5",
|
||||
|
|
@ -618,6 +619,14 @@
|
|||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/act": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/act/-/act-0.0.6.tgz",
|
||||
"integrity": "sha512-ZtxoGxWmoq6bF1lGASkepxfeLED9TNVt8cQjEMFNUlaVxXMr/XfpO7iAKF3ElBgVquxyntne4u4iBqg12sSBiA==",
|
||||
"dependencies": {
|
||||
"underscore": "~1.3.3"
|
||||
}
|
||||
},
|
||||
"node_modules/align-text": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
|
||||
|
|
@ -5145,6 +5154,14 @@
|
|||
"integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/underscore": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.3.3.tgz",
|
||||
"integrity": "sha512-ddgUaY7xyrznJ0tbSUZgvNdv5qbiF6XcUBTrHgdCOVUrxJYWozD5KyiRjtIwds1reZ7O1iPLv5rIyqnVAcS6gg==",
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "6.19.5",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-6.19.5.tgz",
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
"@elastic/elasticsearch": "^8.14.0",
|
||||
"@nestjs/platform-express": "^10.3.9",
|
||||
"@tsoa/runtime": "^6.0.0",
|
||||
"act": "^0.0.6",
|
||||
"amqplib": "^0.10.4",
|
||||
"axios": "^1.7.9",
|
||||
"cors": "^2.8.5",
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ async function main() {
|
|||
);
|
||||
app.use(express.json());
|
||||
app.use(express.urlencoded({ extended: true }));
|
||||
app.use(logMiddleware);
|
||||
// app.use(logMiddleware);
|
||||
app.use("/", express.static("static"));
|
||||
app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocument));
|
||||
|
||||
|
|
|
|||
|
|
@ -493,6 +493,24 @@ export class OrgRootController extends Controller {
|
|||
.getOne();
|
||||
try {
|
||||
if (orgRevisionPublish != null) {
|
||||
const _orgRevisions = await repoOrgRevision.find({
|
||||
where: [{ orgRevisionIsDraft: true, id: Not(orgRevisionPublish.id) }],
|
||||
});
|
||||
const _employeePosMasters = await repoEmployeePosmaster.find({
|
||||
where: [{ orgRevisionId: In(_orgRevisions.map((x) => x.id)) }],
|
||||
});
|
||||
const _employeeTempPosMasters = await repoEmployeeTempPosmaster.find({
|
||||
where: [{ orgRevisionId: In(_orgRevisions.map((x) => x.id)) }],
|
||||
});
|
||||
await employeePositionRepository.delete({
|
||||
posMasterId: In(_employeePosMasters.map((x) => x.id)),
|
||||
});
|
||||
await employeePositionRepository.delete({
|
||||
posMasterTempId: In(_employeeTempPosMasters.map((x) => x.id)),
|
||||
});
|
||||
await repoEmployeePosmaster.remove(_employeePosMasters);
|
||||
await repoEmployeeTempPosmaster.remove(_employeeTempPosMasters);
|
||||
|
||||
//หา dna tree
|
||||
const orgRoot = await orgRootRepository.find({
|
||||
where: { orgRevisionId: orgRevisionPublish.id },
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@ async function handler(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
}
|
||||
|
||||
async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||
console.log("zzzzzzzzzzzzzzzz");
|
||||
//----> condition before process consume
|
||||
const repoPosmaster = AppDataSource.getRepository(PosMaster);
|
||||
const repoEmployeePosmaster = AppDataSource.getRepository(EmployeePosMaster);
|
||||
|
|
@ -148,11 +149,13 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
const child3Repository = AppDataSource.getRepository(OrgChild3);
|
||||
const child4Repository = AppDataSource.getRepository(OrgChild4);
|
||||
|
||||
console.log("zzzzzzzzzzzzzzzz");
|
||||
const orgRevisionPublish = await repoOrgRevision
|
||||
.createQueryBuilder("orgRevision")
|
||||
.where("orgRevision.orgRevisionIsDraft = false")
|
||||
.andWhere("orgRevision.orgRevisionIsCurrent = true")
|
||||
.getOne();
|
||||
console.log("zzzzzzzzzzzzzzzz");
|
||||
|
||||
const orgRevisionDraft = await repoOrgRevision
|
||||
.createQueryBuilder("orgRevision")
|
||||
|
|
@ -164,14 +167,17 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
orgRevisionPublish.orgRevisionIsCurrent = false;
|
||||
await repoOrgRevision.save(orgRevisionPublish);
|
||||
}
|
||||
console.log("zzzzzzzzzzzzzzzz");
|
||||
if (orgRevisionDraft) {
|
||||
orgRevisionDraft.orgRevisionIsCurrent = true;
|
||||
orgRevisionDraft.orgRevisionIsDraft = false;
|
||||
await repoOrgRevision.save(orgRevisionDraft);
|
||||
}
|
||||
console.log("zzzzzzzzzzzzzzzz");
|
||||
|
||||
const { data, token, user } = JSON.parse(msg.content.toString());
|
||||
const { id, status, lastUpdateUserId, lastUpdateFullName, lastUpdatedAt } = data;
|
||||
console.log("zzzzzzzzzzzzzzzz");
|
||||
try {
|
||||
const posMaster = await repoPosmaster.find({
|
||||
where: { orgRevisionId: id },
|
||||
|
|
@ -187,7 +193,9 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
"positions.posExecutive",
|
||||
],
|
||||
});
|
||||
console.log("zzzzzzzzzzzzzzzz");
|
||||
for (const item of posMaster) {
|
||||
console.log("zzzzzzzzzzzzzzzz");
|
||||
if (item.next_holderId != null && status == "NOW") {
|
||||
const profile = await repoProfile.findOne({
|
||||
where: { id: item.next_holderId == null ? "" : item.next_holderId },
|
||||
|
|
@ -210,7 +218,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
}
|
||||
console.log(orgRevisionPublish);
|
||||
console.log("zzzzzzzzzzzzzzzz");
|
||||
if (orgRevisionPublish != null) {
|
||||
if (orgRevisionPublish != null && orgRevisionDraft !=null) {
|
||||
console.log("cccccccccccccccccccccc");
|
||||
//new main revision
|
||||
const before = null;
|
||||
|
|
@ -333,7 +341,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
// employeePosMaster.authRoleId = null;
|
||||
// }
|
||||
// employeePosMaster.current_holderId = null;
|
||||
employeePosMaster.orgRevisionId = orgRevisionPublish.id;
|
||||
employeePosMaster.orgRevisionId = orgRevisionDraft.id;
|
||||
employeePosMaster.orgRootId = dataId;
|
||||
employeePosMaster.createdUserId = "";
|
||||
employeePosMaster.createdFullName = "System Administrator";
|
||||
|
|
@ -393,7 +401,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
// employeeTempPosMaster.authRoleId = null;
|
||||
// }
|
||||
// employeeTempPosMaster.current_holderId = null;
|
||||
employeeTempPosMaster.orgRevisionId = orgRevisionPublish.id;
|
||||
employeeTempPosMaster.orgRevisionId = orgRevisionDraft.id;
|
||||
employeeTempPosMaster.orgRootId = dataId;
|
||||
employeeTempPosMaster.createdUserId = "";
|
||||
employeeTempPosMaster.createdFullName = "System Administrator";
|
||||
|
|
@ -466,7 +474,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
// employeePosMaster.authRoleId = null;
|
||||
// }
|
||||
// employeePosMaster.current_holderId = null;
|
||||
employeePosMaster.orgRevisionId = orgRevisionPublish.id;
|
||||
employeePosMaster.orgRevisionId = orgRevisionDraft.id;
|
||||
employeePosMaster.orgRootId = dataId;
|
||||
employeePosMaster.orgChild1Id = data1Id;
|
||||
employeePosMaster.createdUserId = "";
|
||||
|
|
@ -529,7 +537,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
// employeeTempPosMaster.authRoleId = null;
|
||||
// }
|
||||
// employeeTempPosMaster.current_holderId = null;
|
||||
employeeTempPosMaster.orgRevisionId = orgRevisionPublish.id;
|
||||
employeeTempPosMaster.orgRevisionId = orgRevisionDraft.id;
|
||||
employeeTempPosMaster.orgRootId = dataId;
|
||||
employeeTempPosMaster.orgChild1Id = data1Id;
|
||||
employeeTempPosMaster.createdUserId = "";
|
||||
|
|
@ -605,7 +613,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
// employeePosMaster.authRoleId = null;
|
||||
// }
|
||||
// employeePosMaster.current_holderId = null;
|
||||
employeePosMaster.orgRevisionId = orgRevisionPublish.id;
|
||||
employeePosMaster.orgRevisionId = orgRevisionDraft.id;
|
||||
employeePosMaster.orgRootId = dataId;
|
||||
employeePosMaster.orgChild1Id = data1Id;
|
||||
employeePosMaster.orgChild2Id = data2Id;
|
||||
|
|
@ -673,7 +681,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
// employeeTempPosMaster.authRoleId = null;
|
||||
// }
|
||||
// employeeTempPosMaster.current_holderId = null;
|
||||
employeeTempPosMaster.orgRevisionId = orgRevisionPublish.id;
|
||||
employeeTempPosMaster.orgRevisionId = orgRevisionDraft.id;
|
||||
employeeTempPosMaster.orgRootId = dataId;
|
||||
employeeTempPosMaster.orgChild1Id = data1Id;
|
||||
employeeTempPosMaster.orgChild2Id = data2Id;
|
||||
|
|
@ -751,7 +759,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
// employeePosMaster.authRoleId = null;
|
||||
// }
|
||||
// employeePosMaster.current_holderId = null;
|
||||
employeePosMaster.orgRevisionId = orgRevisionPublish.id;
|
||||
employeePosMaster.orgRevisionId = orgRevisionDraft.id;
|
||||
employeePosMaster.orgRootId = dataId;
|
||||
employeePosMaster.orgChild1Id = data1Id;
|
||||
employeePosMaster.orgChild2Id = data2Id;
|
||||
|
|
@ -820,7 +828,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
// employeeTempPosMaster.authRoleId = null;
|
||||
// }
|
||||
// employeeTempPosMaster.current_holderId = null;
|
||||
employeeTempPosMaster.orgRevisionId = orgRevisionPublish.id;
|
||||
employeeTempPosMaster.orgRevisionId = orgRevisionDraft.id;
|
||||
employeeTempPosMaster.orgRootId = dataId;
|
||||
employeeTempPosMaster.orgChild1Id = data1Id;
|
||||
employeeTempPosMaster.orgChild2Id = data2Id;
|
||||
|
|
@ -899,7 +907,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
// employeePosMaster.authRoleId = null;
|
||||
// }
|
||||
// employeePosMaster.current_holderId = null;
|
||||
employeePosMaster.orgRevisionId = orgRevisionPublish.id;
|
||||
employeePosMaster.orgRevisionId = orgRevisionDraft.id;
|
||||
employeePosMaster.orgRootId = dataId;
|
||||
employeePosMaster.orgChild1Id = data1Id;
|
||||
employeePosMaster.orgChild2Id = data2Id;
|
||||
|
|
@ -966,7 +974,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
// employeeTempPosMaster.authRoleId = null;
|
||||
// }
|
||||
// employeeTempPosMaster.current_holderId = null;
|
||||
employeeTempPosMaster.orgRevisionId = orgRevisionPublish.id;
|
||||
employeeTempPosMaster.orgRevisionId = orgRevisionDraft.id;
|
||||
employeeTempPosMaster.orgRootId = dataId;
|
||||
employeeTempPosMaster.orgChild1Id = data1Id;
|
||||
employeeTempPosMaster.orgChild2Id = data2Id;
|
||||
|
|
@ -1013,7 +1021,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
// }
|
||||
|
||||
const employeePosMaster = await repoEmployeePosmaster.find({
|
||||
where: { orgRevisionId: orgRevisionPublish.id },
|
||||
where: { orgRevisionId: orgRevisionDraft.id },
|
||||
relations: ["positions", "positions.posLevel", "positions.posType"],
|
||||
});
|
||||
for (const item of employeePosMaster) {
|
||||
|
|
@ -1038,7 +1046,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
await repoEmployeePosmaster.save(item).catch((e) => console.log(e));
|
||||
}
|
||||
const employeeTempPosMaster = await repoEmployeeTempPosmaster.find({
|
||||
where: { orgRevisionId: orgRevisionPublish.id },
|
||||
where: { orgRevisionId: orgRevisionDraft.id },
|
||||
relations: ["positions", "positions.posLevel", "positions.posType"],
|
||||
});
|
||||
for (const item of employeeTempPosMaster) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue