แสดง isentry

This commit is contained in:
kittapath 2025-03-06 00:06:52 +07:00
parent 053195690d
commit b80ed12f8e
2 changed files with 208 additions and 208 deletions

View file

@ -39,7 +39,7 @@ export class ProfileSalaryController extends Controller {
private positionEmployeeRepo = AppDataSource.getRepository(TenurePositionEmployee);
private levelOfficerRepo = AppDataSource.getRepository(TenureLevelOfficer);
private levelEmployeeRepo = AppDataSource.getRepository(TenureLevelEmployee);
@Get("TenurePositionOfficer")
public async cronjobTenurePositionOfficer() {
let data: any = [];
@ -47,39 +47,38 @@ export class ProfileSalaryController extends Controller {
await this.positionOfficerRepo.remove(positionOfficer);
const profile = await this.profileRepo.find();
for await (const x of profile) {
const position = await AppDataSource.query("CALL GetProfileSalaryPosition(?)", [x.id]);
const _position = position.length > 0 ? position[0] : [];
const mapPosition =
_position.length > 1
? _position.slice(1)
.map((curr: any, index: number) => ({
days_diff: curr.days_diff,
positionName: _position[index]?.positionName,
const position = await AppDataSource.query("CALL GetProfileSalaryPosition(?)", [x.id]);
const _position = position.length > 0 ? position[0] : [];
const mapPosition =
_position.length > 1
? _position.slice(1).map((curr: any, index: number) => ({
days_diff: curr.days_diff,
positionName: _position[index]?.positionName,
}))
: [];
const calDayDiff = mapPosition
.filter((curr: any) => curr.positionName == x.position)
.reduce(
(acc: any, curr: any) => {
acc.days_diff += Number(curr.days_diff) || 0;
acc.positionName = curr.positionName
return acc;
},
{ days_diff: 0,positionName: null}
);
const mapData:any = {
profileId: x.id,
positionName: calDayDiff.positionName,
days_diff: calDayDiff.days_diff,
Years: (calDayDiff.days_diff / 365.2524).toFixed(4),
Months: (calDayDiff.days_diff / 30.4375 %12).toFixed(4),
Days: (calDayDiff.days_diff % 30.4375).toFixed(4),
}
// data.push(_mapData);
await this.positionOfficerRepo.save(mapData);
}
// await this.positionOfficerRepo.save(data);
: [];
const calDayDiff = mapPosition
.filter((curr: any) => curr.positionName == x.position)
.reduce(
(acc: any, curr: any) => {
acc.days_diff += Number(curr.days_diff) || 0;
acc.positionName = curr.positionName;
return acc;
},
{ days_diff: 0, positionName: null },
);
const mapData: any = {
profileId: x.id,
positionName: calDayDiff.positionName,
days_diff: calDayDiff.days_diff,
Years: (calDayDiff.days_diff / 365.2524).toFixed(4),
Months: ((calDayDiff.days_diff / 30.4375) % 12).toFixed(4),
Days: (calDayDiff.days_diff % 30.4375).toFixed(4),
};
// data.push(_mapData);
await this.positionOfficerRepo.save(mapData);
}
// await this.positionOfficerRepo.save(data);
return new HttpSuccess();
}
@Get("TenurePositionEmployee")
@ -89,39 +88,38 @@ export class ProfileSalaryController extends Controller {
await this.positionEmployeeRepo.remove(positionEmployee);
const profile = await this.profileEmployeeRepo.find();
for await (const x of profile) {
const position = await AppDataSource.query("CALL GetProfileSalaryPosition(?)", [x.id]);
const _position = position.length > 0 ? position[0] : [];
const mapPosition =
_position.length > 1
? _position.slice(1)
.map((curr: any, index: number) => ({
days_diff: curr.days_diff,
positionName: _position[index]?.positionName,
const position = await AppDataSource.query("CALL GetProfileSalaryPosition(?)", [x.id]);
const _position = position.length > 0 ? position[0] : [];
const mapPosition =
_position.length > 1
? _position.slice(1).map((curr: any, index: number) => ({
days_diff: curr.days_diff,
positionName: _position[index]?.positionName,
}))
: [];
const calDayDiff = mapPosition
.filter((curr: any) => curr.positionName == x.position)
.reduce(
(acc: any, curr: any) => {
acc.days_diff += Number(curr.days_diff) || 0;
acc.positionName = curr.positionName
return acc;
},
{ days_diff: 0,positionName: null}
);
const mapData:any = {
profileEmployeeId: x.id,
positionName: calDayDiff.positionName,
days_diff: calDayDiff.days_diff,
Years: (calDayDiff.days_diff / 365.2524).toFixed(4),
Months: (calDayDiff.days_diff / 30.4375 %12).toFixed(4),
Days: (calDayDiff.days_diff % 30.4375).toFixed(4),
}
// data.push(_mapData);
await this.positionEmployeeRepo.save(mapData);
}
// await this.positionEmployeeRepo.save(data);
: [];
const calDayDiff = mapPosition
.filter((curr: any) => curr.positionName == x.position)
.reduce(
(acc: any, curr: any) => {
acc.days_diff += Number(curr.days_diff) || 0;
acc.positionName = curr.positionName;
return acc;
},
{ days_diff: 0, positionName: null },
);
const mapData: any = {
profileEmployeeId: x.id,
positionName: calDayDiff.positionName,
days_diff: calDayDiff.days_diff,
Years: (calDayDiff.days_diff / 365.2524).toFixed(4),
Months: ((calDayDiff.days_diff / 30.4375) % 12).toFixed(4),
Days: (calDayDiff.days_diff % 30.4375).toFixed(4),
};
// data.push(_mapData);
await this.positionEmployeeRepo.save(mapData);
}
// await this.positionEmployeeRepo.save(data);
return new HttpSuccess();
}
@Get("TenureLevelOfficer")
@ -129,47 +127,46 @@ export class ProfileSalaryController extends Controller {
let data: any = [];
const positionOfficer = await this.levelOfficerRepo.find();
await this.levelOfficerRepo.remove(positionOfficer);
const profile = await this.profileRepo.find({relations:["posLevel"]});
const profile = await this.profileRepo.find({ relations: ["posLevel"] });
for await (const x of profile) {
const positionLevel = await AppDataSource.query("CALL GetProfileSalaryLevel(?)", [x.id]);
const _positionLevel = positionLevel.length > 0 ? positionLevel[0] : [];
const mapPositionLevel =
_positionLevel.length > 1
? _positionLevel.slice(1)
.map((curr: any, index: number) => ({
days_diff: curr.days_diff,
positionType: _positionLevel[index]?.positionType,
positionLevel: _positionLevel[index]?.positionLevel,
positionCee: _positionLevel[index]?.positionCee,
const positionLevel = await AppDataSource.query("CALL GetProfileSalaryLevel(?)", [x.id]);
const _positionLevel = positionLevel.length > 0 ? positionLevel[0] : [];
const mapPositionLevel =
_positionLevel.length > 1
? _positionLevel.slice(1).map((curr: any, index: number) => ({
days_diff: curr.days_diff,
positionType: _positionLevel[index]?.positionType,
positionLevel: _positionLevel[index]?.positionLevel,
positionCee: _positionLevel[index]?.positionCee,
}))
: [];
const calDayDiff = mapPositionLevel
.filter((curr: any) => curr.positionLevel == (x.posLevel?.posLevelName ??null))
.reduce(
(acc: any, curr: any) => {
acc.days_diff += Number(curr.days_diff) || 0;
acc.positionType = curr.positionType
acc.positionLevel = curr.positionLevel
acc.positionCee = curr.positionCee
return acc;
},
{ days_diff: 0,positionType:null,positionLevel:null,positionCee:null}
);
const mapData:any = {
profileId: x.id,
positionType: calDayDiff.positionType,
positionLevel: calDayDiff.positionLevel,
positionCee: calDayDiff.positionCee,
days_diff: calDayDiff.days_diff,
Years: x.posLevel == null? 0:((calDayDiff.days_diff / 365.2524).toFixed(4)),
Months: x.posLevel == null? 0:((calDayDiff.days_diff / 30.4375 %12).toFixed(4)),
Days: x.posLevel == null? 0:((calDayDiff.days_diff % 30.4375).toFixed(4)),
}
// data.push(_mapData);
await this.levelOfficerRepo.save(mapData);
}
// await this.levelOfficerRepo.save(data);
: [];
const calDayDiff = mapPositionLevel
.filter((curr: any) => curr.positionLevel == (x.posLevel?.posLevelName ?? null))
.reduce(
(acc: any, curr: any) => {
acc.days_diff += Number(curr.days_diff) || 0;
acc.positionType = curr.positionType;
acc.positionLevel = curr.positionLevel;
acc.positionCee = curr.positionCee;
return acc;
},
{ days_diff: 0, positionType: null, positionLevel: null, positionCee: null },
);
const mapData: any = {
profileId: x.id,
positionType: calDayDiff.positionType,
positionLevel: calDayDiff.positionLevel,
positionCee: calDayDiff.positionCee,
days_diff: calDayDiff.days_diff,
Years: x.posLevel == null ? 0 : (calDayDiff.days_diff / 365.2524).toFixed(4),
Months: x.posLevel == null ? 0 : ((calDayDiff.days_diff / 30.4375) % 12).toFixed(4),
Days: x.posLevel == null ? 0 : (calDayDiff.days_diff % 30.4375).toFixed(4),
};
// data.push(_mapData);
await this.levelOfficerRepo.save(mapData);
}
// await this.levelOfficerRepo.save(data);
return new HttpSuccess();
}
@Get("TenureLevelEmployee")
@ -177,47 +174,46 @@ export class ProfileSalaryController extends Controller {
let data: any = [];
const positionEmployee = await this.levelEmployeeRepo.find();
await this.levelEmployeeRepo.remove(positionEmployee);
const profile = await this.profileEmployeeRepo.find({relations:["posLevel"]});
const profile = await this.profileEmployeeRepo.find({ relations: ["posLevel"] });
for await (const x of profile) {
const positionLevel = await AppDataSource.query("CALL GetProfileSalaryLevel(?)", [x.id]);
const _positionLevel = positionLevel.length > 0 ? positionLevel[0] : [];
const mapPositionLevel =
_positionLevel.length > 1
? _positionLevel.slice(1)
.map((curr: any, index: number) => ({
days_diff: curr.days_diff,
positionType: _positionLevel[index]?.positionType,
positionLevel: _positionLevel[index]?.positionLevel,
positionCee: _positionLevel[index]?.positionCee,
const positionLevel = await AppDataSource.query("CALL GetProfileSalaryLevel(?)", [x.id]);
const _positionLevel = positionLevel.length > 0 ? positionLevel[0] : [];
const mapPositionLevel =
_positionLevel.length > 1
? _positionLevel.slice(1).map((curr: any, index: number) => ({
days_diff: curr.days_diff,
positionType: _positionLevel[index]?.positionType,
positionLevel: _positionLevel[index]?.positionLevel,
positionCee: _positionLevel[index]?.positionCee,
}))
: [];
const calDayDiff = mapPositionLevel
.filter((curr: any) => curr.positionLevel == (x.posLevel?.posLevelName ??null))
.reduce(
(acc: any, curr: any) => {
acc.days_diff += Number(curr.days_diff) || 0;
acc.positionType = curr.positionType
acc.positionLevel = curr.positionLevel
acc.positionCee = curr.positionCee
return acc;
},
{ days_diff: 0,positionType:null,positionLevel:null,positionCee:null}
);
const mapData:any = {
profileEmployeeId: x.id,
positionType: calDayDiff.positionType,
positionLevel: calDayDiff.positionLevel,
positionCee: calDayDiff.positionCee,
days_diff: calDayDiff.days_diff,
Years: x.posLevel == null? 0:((calDayDiff.days_diff / 365.2524).toFixed(4)),
Months: x.posLevel == null? 0:((calDayDiff.days_diff / 30.4375 %12).toFixed(4)),
Days: x.posLevel == null? 0:((calDayDiff.days_diff % 30.4375).toFixed(4)),
}
// data.push(_mapData);
await this.levelEmployeeRepo.save(mapData);
}
// await this.levelEmployeeRepo.save(data);
: [];
const calDayDiff = mapPositionLevel
.filter((curr: any) => curr.positionLevel == (x.posLevel?.posLevelName ?? null))
.reduce(
(acc: any, curr: any) => {
acc.days_diff += Number(curr.days_diff) || 0;
acc.positionType = curr.positionType;
acc.positionLevel = curr.positionLevel;
acc.positionCee = curr.positionCee;
return acc;
},
{ days_diff: 0, positionType: null, positionLevel: null, positionCee: null },
);
const mapData: any = {
profileEmployeeId: x.id,
positionType: calDayDiff.positionType,
positionLevel: calDayDiff.positionLevel,
positionCee: calDayDiff.positionCee,
days_diff: calDayDiff.days_diff,
Years: x.posLevel == null ? 0 : (calDayDiff.days_diff / 365.2524).toFixed(4),
Months: x.posLevel == null ? 0 : ((calDayDiff.days_diff / 30.4375) % 12).toFixed(4),
Days: x.posLevel == null ? 0 : (calDayDiff.days_diff % 30.4375).toFixed(4),
};
// data.push(_mapData);
await this.levelEmployeeRepo.save(mapData);
}
// await this.levelEmployeeRepo.save(data);
return new HttpSuccess();
}
@ -258,9 +254,11 @@ export class ProfileSalaryController extends Controller {
"14",
"15",
"16",
null,
]),
},
order: { order: "ASC" },
// order: { order: "ASC" },
order: { commandDateAffect: "ASC" },
});
return new HttpSuccess(record);
}
@ -300,9 +298,11 @@ export class ProfileSalaryController extends Controller {
"14",
"15",
"16",
null,
]),
},
order: { order: "ASC" },
// order: { order: "ASC" },
order: { commandDateAffect: "ASC" },
});
return new HttpSuccess(record);
}