Merge branch 'develop' of github.com:Frappet/hrms-api-org into develop

This commit is contained in:
kittapath 2025-03-17 15:46:36 +07:00
commit 94a5fb316b

View file

@ -1,6 +1,6 @@
import { Controller, Post, Route, Security, Tags, Request, UploadedFile } from "tsoa"; import { Controller, Post, Route, Security, Tags, Request, UploadedFile } from "tsoa";
import { AppDataSource } from "../database/data-source"; import { AppDataSource } from "../database/data-source";
import { In, IsNull, Not } from "typeorm"; import { In, IsNull, LessThanOrEqual, Not } from "typeorm";
import HttpSuccess from "../interfaces/http-success"; import HttpSuccess from "../interfaces/http-success";
import { UseInterceptors } from "@nestjs/common"; import { UseInterceptors } from "@nestjs/common";
import { Profile } from "../entities/Profile"; import { Profile } from "../entities/Profile";
@ -2276,11 +2276,11 @@ export class ImportDataController extends Controller {
@Post("mapposition-Officer") @Post("mapposition-Officer")
async MapPositionOfficer(@Request() request: { user: Record<string, any> }) { async MapPositionOfficer(@Request() request: { user: Record<string, any> }) {
const officer = await AppDataSource.getRepository(Profile) const officer = await AppDataSource.getRepository(Profile)
.createQueryBuilder("profile") .createQueryBuilder("profile")
.leftJoinAndSelect("profile.current_holders", "posMaster") .leftJoinAndSelect("profile.current_holders", "posMaster")
// .where({citizenId: "1720700018869"}) // .where({citizenId: "1720700018869"})
.where("posMaster.id IS NULL") .where("posMaster.id IS NULL")
.getMany(); .getMany();
let rowCount = 0; let rowCount = 0;
let _null: any = null; let _null: any = null;
let type_: any = null; let type_: any = null;
@ -2294,22 +2294,22 @@ export class ImportDataController extends Controller {
console.log(rowCount); console.log(rowCount);
const item = await AppDataSource.getRepository(OFFICER) const item = await AppDataSource.getRepository(OFFICER)
.createQueryBuilder("OFFICER") .createQueryBuilder("OFFICER")
.where({ CIT: _item.citizenId }) .where({ CIT: _item.citizenId })
.getOne(); .getOne();
if (item == null) { if (item == null) {
continue; continue;
} }
let posMaster = new PosMaster(); let posMaster = new PosMaster();
let orgRoot = (await this.orgRootRepo.findOne({ let orgRoot = (await this.orgRootRepo.findOne({
where: { where: {
DEPARTMENT_CODE: item.DEPARTMENT_CODE, DEPARTMENT_CODE: item.DEPARTMENT_CODE,
DIVISION_CODE: item.DIVISION_CODE, DIVISION_CODE: item.DIVISION_CODE,
SECTION_CODE: item.SECTION_CODE, SECTION_CODE: item.SECTION_CODE,
JOB_CODE: item.JOB_CODE, JOB_CODE: item.JOB_CODE,
orgRevisionId: orgRevision.id, orgRevisionId: orgRevision.id,
}, },
})) as OrgRoot; })) as OrgRoot;
if (orgRoot != null) { if (orgRoot != null) {
posMaster.orgRootId = orgRoot.id ?? _null; posMaster.orgRootId = orgRoot.id ?? _null;
} else { } else {
@ -2325,7 +2325,7 @@ export class ImportDataController extends Controller {
if (orgChild1 != null) { if (orgChild1 != null) {
posMaster.orgRootId = orgChild1.orgRootId ?? _null; posMaster.orgRootId = orgChild1.orgRootId ?? _null;
posMaster.orgChild1Id = orgChild1.id ?? _null; posMaster.orgChild1Id = orgChild1.id ?? _null;
} else { } else {
let orgChild2 = await this.orgChild2Repo.findOne({ let orgChild2 = await this.orgChild2Repo.findOne({
where: { where: {
DEPARTMENT_CODE: item.DEPARTMENT_CODE, DEPARTMENT_CODE: item.DEPARTMENT_CODE,
@ -2381,7 +2381,7 @@ export class ImportDataController extends Controller {
posMaster.isDirector = false; posMaster.isDirector = false;
posMaster.isSit = false; posMaster.isSit = false;
posMaster.current_holderId = _item.id; posMaster.current_holderId = _item.id;
posMaster.posMasterNo = item.SALARY == "" ? _null : Number(item.POS_NUM_CODE); posMaster.posMasterNo = item.POS_NUM_CODE == "" || item.POS_NUM_CODE == null ? _null : Number(item.POS_NUM_CODE);
posMaster.orgRevisionId = orgRevision.id; posMaster.orgRevisionId = orgRevision.id;
posMaster.posMasterCreatedAt = new Date(); posMaster.posMasterCreatedAt = new Date();
posMaster.createdUserId = request.user.sub; posMaster.createdUserId = request.user.sub;
@ -2583,4 +2583,24 @@ export class ImportDataController extends Controller {
} }
return new HttpSuccess(); return new HttpSuccess();
} }
/**
* @summary
*/
@Post("update-amount")
async UpdateAmount(@Request() request: { user: Record<string, any> }) {
let rowCount = 0;
const profile:any = await this.profileRepo.find({where: { amount: LessThanOrEqual(0) }});
for await (const _item of profile) {
const OFFICER = await this.OFFICERRepo.findOne({ select: ["CIT", "SALARY"], where: { CIT: _item.citizenId } });
if (OFFICER) {
rowCount++;
_item.amount = Number(OFFICER.SALARY);
await this.profileRepo.save(_item);
console.log(rowCount);
}
}
return new HttpSuccess();
}
} }