Merge branch 'develop'
This commit is contained in:
commit
3db68cd99c
1 changed files with 202 additions and 71 deletions
|
|
@ -1090,63 +1090,12 @@ export class ReportController extends Controller {
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const rootName = await this.salaryOrgRepository.findOne({
|
// const rootName = await this.salaryOrgRepository.findOne({
|
||||||
where: {
|
// where: {
|
||||||
rootId: rootId,
|
// rootId: rootId,
|
||||||
},
|
// },
|
||||||
select: ["root"],
|
// select: ["root"],
|
||||||
});
|
// });
|
||||||
//รอบปีก่อนๆ
|
|
||||||
const salaryPeriodIncrease1_APR = await this.salaryPeriodRepository.findOne({
|
|
||||||
where: {
|
|
||||||
period: "APR",
|
|
||||||
year: salaryPeriod.year - 2,
|
|
||||||
isActive: true,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
const salaryPeriodIncrease1_OCT = await this.salaryPeriodRepository.findOne({
|
|
||||||
where: {
|
|
||||||
period: "OCT",
|
|
||||||
year: salaryPeriod.year - 2,
|
|
||||||
isActive: true,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
// console.log(">>>>1",salaryPeriodIncrease1_APR);
|
|
||||||
|
|
||||||
let salaryOrg1_APR = null;
|
|
||||||
if (salaryPeriodIncrease1_APR) {
|
|
||||||
salaryOrg1_APR = await this.salaryOrgRepository.findOne({
|
|
||||||
where: {
|
|
||||||
salaryPeriodId: salaryPeriodIncrease1_APR?.id,
|
|
||||||
// rootId: rootId,
|
|
||||||
root: rootName?.root,
|
|
||||||
snapshot: "SNAP1",
|
|
||||||
group: convertGroup,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// console.log(">>>>2",salaryOrg1_APR);
|
|
||||||
|
|
||||||
let salaryOrg1_OCT = null;
|
|
||||||
if (salaryPeriodIncrease1_OCT) {
|
|
||||||
salaryOrg1_OCT = await this.salaryOrgRepository.findOne({
|
|
||||||
where: {
|
|
||||||
salaryPeriodId: salaryPeriodIncrease1_OCT?.id,
|
|
||||||
// rootId: rootId,
|
|
||||||
root: rootName?.root,
|
|
||||||
snapshot: "SNAP1",
|
|
||||||
group: convertGroup,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const salaryProfile1 = await this.salaryProfileRepository.find({
|
|
||||||
where: {
|
|
||||||
salaryOrgId: In([salaryOrg1_APR?.id, salaryOrg1_OCT?.id]),
|
|
||||||
type: Not(In(["NONE", "PENDING"])),
|
|
||||||
},
|
|
||||||
});
|
|
||||||
// console.log(">>>>3",salaryProfile1);
|
|
||||||
|
|
||||||
//รอบปีก่อนหน้า
|
//รอบปีก่อนหน้า
|
||||||
const salaryPeriodIncrease2_APR = await this.salaryPeriodRepository.findOne({
|
const salaryPeriodIncrease2_APR = await this.salaryPeriodRepository.findOne({
|
||||||
|
|
@ -1163,14 +1112,14 @@ export class ReportController extends Controller {
|
||||||
isActive: true,
|
isActive: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
// console.log(">>>>3",salaryPeriodIncrease2_APR);
|
|
||||||
let salaryOrg2_APR = null;
|
let salaryOrg2_APR = null;
|
||||||
if (salaryPeriodIncrease2_APR) {
|
if (salaryPeriodIncrease2_APR) {
|
||||||
salaryOrg2_APR = await this.salaryOrgRepository.findOne({
|
salaryOrg2_APR = await this.salaryOrgRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
salaryPeriodId: salaryPeriodIncrease2_APR?.id,
|
salaryPeriodId: salaryPeriodIncrease2_APR?.id,
|
||||||
// rootId: rootId,
|
// rootId: rootId,
|
||||||
root: rootName?.root,
|
// root: rootName?.root,
|
||||||
|
rootId:salaryOrg?.rootDnaId,
|
||||||
snapshot: "SNAP1",
|
snapshot: "SNAP1",
|
||||||
group: convertGroup,
|
group: convertGroup,
|
||||||
},
|
},
|
||||||
|
|
@ -1183,7 +1132,8 @@ export class ReportController extends Controller {
|
||||||
where: {
|
where: {
|
||||||
salaryPeriodId: salaryPeriodIncrease2_OCT?.id,
|
salaryPeriodId: salaryPeriodIncrease2_OCT?.id,
|
||||||
// rootId: rootId,
|
// rootId: rootId,
|
||||||
root: rootName?.root,
|
// root: rootName?.root,
|
||||||
|
rootId:salaryOrg?.rootDnaId,
|
||||||
snapshot: "SNAP1",
|
snapshot: "SNAP1",
|
||||||
group: convertGroup,
|
group: convertGroup,
|
||||||
},
|
},
|
||||||
|
|
@ -1197,6 +1147,56 @@ export class ReportController extends Controller {
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//รอบปีก่อนๆ
|
||||||
|
const salaryPeriodIncrease1_APR = await this.salaryPeriodRepository.findOne({
|
||||||
|
where: {
|
||||||
|
period: "APR",
|
||||||
|
year: salaryPeriod.year - 2,
|
||||||
|
isActive: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const salaryPeriodIncrease1_OCT = await this.salaryPeriodRepository.findOne({
|
||||||
|
where: {
|
||||||
|
period: "OCT",
|
||||||
|
year: salaryPeriod.year - 2,
|
||||||
|
isActive: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
let salaryOrg1_APR = null;
|
||||||
|
if (salaryPeriodIncrease1_APR) {
|
||||||
|
salaryOrg1_APR = await this.salaryOrgRepository.findOne({
|
||||||
|
where: {
|
||||||
|
salaryPeriodId: salaryPeriodIncrease1_APR?.id,
|
||||||
|
// rootId: rootId,
|
||||||
|
// root: rootName?.root,
|
||||||
|
rootId:salaryOrg2_APR?.rootDnaId,
|
||||||
|
snapshot: "SNAP1",
|
||||||
|
group: convertGroup,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
let salaryOrg1_OCT = null;
|
||||||
|
if (salaryPeriodIncrease1_OCT) {
|
||||||
|
salaryOrg1_OCT = await this.salaryOrgRepository.findOne({
|
||||||
|
where: {
|
||||||
|
salaryPeriodId: salaryPeriodIncrease1_OCT?.id,
|
||||||
|
// rootId: rootId,
|
||||||
|
// root: rootName?.root,
|
||||||
|
rootId:salaryOrg2_APR?.rootDnaId,
|
||||||
|
snapshot: "SNAP1",
|
||||||
|
group: convertGroup,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const salaryProfile1 = await this.salaryProfileRepository.find({
|
||||||
|
where: {
|
||||||
|
salaryOrgId: In([salaryOrg1_APR?.id, salaryOrg1_OCT?.id]),
|
||||||
|
type: Not(In(["NONE", "PENDING"])),
|
||||||
|
},
|
||||||
|
});
|
||||||
const year = Extension.ToThaiNumber(String(Extension.ToThaiYear(salaryPeriod.year)));
|
const year = Extension.ToThaiNumber(String(Extension.ToThaiYear(salaryPeriod.year)));
|
||||||
const yearIncrease1 = Extension.ToThaiNumber(
|
const yearIncrease1 = Extension.ToThaiNumber(
|
||||||
String(Extension.ToThaiYear(salaryPeriod.year - 2)),
|
String(Extension.ToThaiYear(salaryPeriod.year - 2)),
|
||||||
|
|
@ -2503,10 +2503,134 @@ export class ReportController extends Controller {
|
||||||
@Path() salaryPeriodId: string,
|
@Path() salaryPeriodId: string,
|
||||||
@Path() group: string,
|
@Path() group: string,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
const salaryPeriod = await this.salaryPeriodRepository.findOne({
|
||||||
|
where: {
|
||||||
|
id: salaryPeriodId,
|
||||||
|
// period: "OCT",??
|
||||||
|
isActive: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!salaryPeriod) {
|
||||||
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบรอบการขึ้นเงินเดือน");
|
||||||
|
}
|
||||||
|
|
||||||
|
//ปีก่อนหน้า
|
||||||
|
const salaryOldPeriod = await this.salaryPeriodRepository.findOne({
|
||||||
|
where: {
|
||||||
|
year: salaryPeriod?.year - 1,
|
||||||
|
period: "OCT",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const convertGroup = group.toUpperCase();
|
||||||
|
const salaryOrg = await this.salaryOrgRepository.findOne({
|
||||||
|
where: {
|
||||||
|
salaryPeriodId: salaryPeriodId,
|
||||||
|
rootId: rootId,
|
||||||
|
snapshot: "SNAP2",
|
||||||
|
group: convertGroup,
|
||||||
|
},
|
||||||
|
relations: ["salaryProfiles"],
|
||||||
|
});
|
||||||
|
|
||||||
|
//ปีก่อนหน้า
|
||||||
|
let salaryOrgPrevious = null;
|
||||||
|
if (salaryOldPeriod) {
|
||||||
|
salaryOrgPrevious = await this.salaryOrgRepository.findOne({
|
||||||
|
where: {
|
||||||
|
salaryPeriodId: salaryOldPeriod?.id,
|
||||||
|
rootDnaId: salaryOrg?.rootDnaId,
|
||||||
|
snapshot: "SNAP1",
|
||||||
|
group: convertGroup,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const salaryProfile = await this.salaryProfileRepository.find({
|
||||||
|
relations: ["salaryOrg"],
|
||||||
|
where: {
|
||||||
|
salaryOrgId: In([salaryOrg?.id]),
|
||||||
|
// amountSpecial: MoreThan(0),
|
||||||
|
},
|
||||||
|
order: {
|
||||||
|
salaryOrg: {
|
||||||
|
group: "ASC",
|
||||||
|
},
|
||||||
|
posMasterNo: "ASC",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const salaryProfilePrevious = await this.salaryProfileRepository.find({
|
||||||
|
relations: ["salaryOrg"],
|
||||||
|
where: {
|
||||||
|
salaryOrgId: In([salaryOrgPrevious?.id]),
|
||||||
|
},
|
||||||
|
order: {
|
||||||
|
salaryOrg: {
|
||||||
|
group: "ASC",
|
||||||
|
},
|
||||||
|
posMasterNo: "ASC",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const formattedData = salaryProfile.map((item, index) => ({
|
||||||
|
no: Extension.ToThaiNumber(String(index + 1)),
|
||||||
|
fullname: item.prefix + item.firstName + " " + item.lastName,
|
||||||
|
root: item.root??"-",
|
||||||
|
position: item.position??"-",
|
||||||
|
posMasterNo:
|
||||||
|
Extension.ToThaiNumber(item.orgShortName) + Extension.ToThaiNumber(String(item.posMasterNo)),
|
||||||
|
posTypeCurrent: item.posType??"-",
|
||||||
|
posLevelCurrent: item.posLevel??"-",
|
||||||
|
amountCurrent: item.amount? Extension.ToThaiNumber(item.amount.toLocaleString()):"-",
|
||||||
|
posTypePrevious: salaryProfilePrevious.length > 0
|
||||||
|
? (() => {
|
||||||
|
const filteredType = salaryProfilePrevious
|
||||||
|
.filter((profile) => profile.citizenId === item.citizenId)
|
||||||
|
.map((profile) => profile.posType);
|
||||||
|
const posType = filteredType[0];
|
||||||
|
return posType
|
||||||
|
? posType : "-";
|
||||||
|
})()
|
||||||
|
: "-",
|
||||||
|
posLevelPrevious: salaryProfilePrevious.length > 0
|
||||||
|
? (() => {
|
||||||
|
const filteredLevel = salaryProfilePrevious
|
||||||
|
.filter((profile) => profile.citizenId === item.citizenId)
|
||||||
|
.map((profile) => profile.posLevel);
|
||||||
|
const posLevel = filteredLevel[0];
|
||||||
|
return posLevel
|
||||||
|
? posLevel : "-";
|
||||||
|
})()
|
||||||
|
: "-",
|
||||||
|
amountPrevious: salaryProfilePrevious.length > 0
|
||||||
|
? (() => {
|
||||||
|
const filteredAmount = salaryProfilePrevious
|
||||||
|
.filter((profile) => profile.citizenId === item.citizenId)
|
||||||
|
.map((profile) => profile.amount);
|
||||||
|
const amount = filteredAmount[0];
|
||||||
|
return amount
|
||||||
|
? Extension.ToThaiNumber(amount.toLocaleString()):"-"
|
||||||
|
})()
|
||||||
|
: "-",
|
||||||
|
deduction: "-", //เงินปรับลด
|
||||||
|
promote: item.amountUse?Extension.ToThaiNumber(item.amountUse.toLocaleString()):"-", //เงินเลื่อนขั้น
|
||||||
|
qualification: "-", //เงินปรับวุฒิ
|
||||||
|
adjustRate: "-", //เงินปรับอัตรา
|
||||||
|
newRate: "-", //อัตราตั้งใหม่
|
||||||
|
specialPromote: "-", //ลำดับการเลื่อนกรณีพิเศษ
|
||||||
|
remark: item.remark??"-",
|
||||||
|
temporaryPayment: "-", //ถือจ่ายชั่วคราวขั้น
|
||||||
|
}))
|
||||||
|
|
||||||
|
|
||||||
return new HttpSuccess({
|
return new HttpSuccess({
|
||||||
template: "gov2-10",
|
template: "gov2-10",
|
||||||
reportName: "gov2-10",
|
reportName: "gov2-10",
|
||||||
data: {},
|
data: {
|
||||||
|
data: formattedData,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -7817,6 +7941,8 @@ export class ReportController extends Controller {
|
||||||
body: {
|
body: {
|
||||||
refIds: {
|
refIds: {
|
||||||
refId: string;
|
refId: string;
|
||||||
|
// commandAffectDate: Date | null;//เก่า
|
||||||
|
commandDateAffect: Date | null; //ใหม่ (ปรับตาม rabbitMQ ORG)
|
||||||
commandNo: string | null;
|
commandNo: string | null;
|
||||||
commandYear: number | null;
|
commandYear: number | null;
|
||||||
commandId: string | null;
|
commandId: string | null;
|
||||||
|
|
@ -7827,7 +7953,6 @@ export class ReportController extends Controller {
|
||||||
mouthSalaryAmount: Double | null;
|
mouthSalaryAmount: Double | null;
|
||||||
commandCode?: string | null;
|
commandCode?: string | null;
|
||||||
commandName?: string | null;
|
commandName?: string | null;
|
||||||
commandDateAffect: Date | null;
|
|
||||||
commandDateSign: Date | null;
|
commandDateSign: Date | null;
|
||||||
}[];
|
}[];
|
||||||
},
|
},
|
||||||
|
|
@ -7897,18 +8022,23 @@ export class ReportController extends Controller {
|
||||||
body: {
|
body: {
|
||||||
refIds: {
|
refIds: {
|
||||||
refId: string;
|
refId: string;
|
||||||
|
// commandAffectDate: Date | null;//เก่า
|
||||||
|
commandDateAffect: Date | null; //ใหม่ (ปรับตาม rabbitMQ ORG)
|
||||||
|
commandDateSign?: Date | null
|
||||||
commandNo: string | null;
|
commandNo: string | null;
|
||||||
commandYear: number | null;
|
commandYear: number | null;
|
||||||
commandId: string | null;
|
commandId: string | null;
|
||||||
remark: string | null;
|
commandCode?: string | null;
|
||||||
|
commandName?: string | null;
|
||||||
|
templateDoc?: string | null;
|
||||||
amount: Double | null;
|
amount: Double | null;
|
||||||
amountSpecial?: Double | null;
|
amountSpecial?: Double | null;
|
||||||
positionSalaryAmount: Double | null;
|
positionSalaryAmount: Double | null;
|
||||||
mouthSalaryAmount: Double | null;
|
mouthSalaryAmount: Double | null;
|
||||||
commandCode?: string | null;
|
mpCee?: string | null;
|
||||||
commandName?: string | null;
|
refCommandCode?: string | null;
|
||||||
commandDateAffect: Date | null;
|
refCommandName?: string | null;
|
||||||
commandDateSign: Date | null;
|
remark?: string | null;
|
||||||
}[];
|
}[];
|
||||||
},
|
},
|
||||||
@Request() request: RequestWithUser,
|
@Request() request: RequestWithUser,
|
||||||
|
|
@ -7920,6 +8050,7 @@ export class ReportController extends Controller {
|
||||||
id: v.refId,
|
id: v.refId,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
if (salary != null) {
|
if (salary != null) {
|
||||||
await new CallAPI()
|
await new CallAPI()
|
||||||
.PostData(request, "/org/profile-employee/salary/update", {
|
.PostData(request, "/org/profile-employee/salary/update", {
|
||||||
|
|
@ -7930,12 +8061,11 @@ export class ReportController extends Controller {
|
||||||
amountSpecial: v.amountSpecial,
|
amountSpecial: v.amountSpecial,
|
||||||
positionSalaryAmount: v.positionSalaryAmount,
|
positionSalaryAmount: v.positionSalaryAmount,
|
||||||
mouthSalaryAmount: v.mouthSalaryAmount,
|
mouthSalaryAmount: v.mouthSalaryAmount,
|
||||||
posNo: salary.posMasterNo.toString(),
|
posNo: salary.posMasterNo != null?salary.posMasterNo.toString():null,
|
||||||
posNoAbb: salary.orgShortName,
|
posNoAbb: salary.orgShortName,
|
||||||
positionName: salary.position,
|
positionName: salary.position,
|
||||||
positionType: salary.posType,
|
positionType: salary.posType,
|
||||||
positionLevel: salary.posLevel,
|
positionLevel: salary.posLevel != null?salary.posLevel.toString():null,
|
||||||
commandId: v.commandId,
|
|
||||||
remark: v.remark,
|
remark: v.remark,
|
||||||
orgRoot: salary.root,
|
orgRoot: salary.root,
|
||||||
orgChild1: salary.child1,
|
orgChild1: salary.child1,
|
||||||
|
|
@ -7946,6 +8076,7 @@ export class ReportController extends Controller {
|
||||||
commandName: v.commandName,
|
commandName: v.commandName,
|
||||||
commandNo: v.commandNo,
|
commandNo: v.commandNo,
|
||||||
commandYear: v.commandYear,
|
commandYear: v.commandYear,
|
||||||
|
commandId: v.commandId,
|
||||||
})
|
})
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
const before = null;
|
const before = null;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue