fix report kk1

This commit is contained in:
Bright 2024-09-19 16:10:45 +07:00
parent d175165cea
commit 395ac1161e
2 changed files with 306 additions and 172 deletions

View file

@ -438,67 +438,100 @@ export class ProfileController extends Controller {
where: { profileId: id }, where: { profileId: id },
select: ["certificateType", "issuer", "certificateNo", "issueDate"], select: ["certificateType", "issuer", "certificateNo", "issueDate"],
}); });
const Cert = certs.map((item) => ({ const Cert = certs.length > 0
CertificateType: item.certificateType ?? null, ? certs.map((item) => ({
Issuer: item.issuer ?? null, CertificateType: item.certificateType ?? null,
CertificateNo: Extension.ToThaiNumber(item.certificateNo) ?? null, Issuer: item.issuer ?? null,
IssueDate: Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.issueDate)) ?? null, CertificateNo: Extension.ToThaiNumber(item.certificateNo) ?? null,
})); IssueDate: Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.issueDate)) ?? null,
}))
:[{
CertificateType: "-",
Issuer: "-",
CertificateNo: "-",
IssueDate: "-"
}];
const trainings = await this.trainingRepository.find({ const trainings = await this.trainingRepository.find({
select: ["startDate", "endDate", "place", "department", "name"], select: ["startDate", "endDate", "place", "department", "name"],
where: { profileId: id }, where: { profileId: id },
}); });
const Training = trainings.map((item) => ({ const Training = trainings.length > 0
Institute: item.department ?? "", ? trainings.map((item) => ({
Start: Institute: item.department ?? "",
item.startDate == null Start:
? "" item.startDate == null
: Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate)), ? ""
End: : Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate)),
item.endDate == null ? "" : Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate)), End:
Date: item.endDate == null ? "" : Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate)),
item.startDate && item.endDate Date:
? `${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate))} - ${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate))}` item.startDate && item.endDate
: "", ? `${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate))} - ${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate))}`
Level: "", : "",
Degree: item.name, Level: "",
Field: "", Degree: item.name,
})); Field: "",
}))
: [{
Institute: "-",
Start: "-",
End: "-",
Date: "-",
Level: "-",
Degree: "-",
Field: "-",
}];
const disciplines = await this.disciplineRepository.find({ const disciplines = await this.disciplineRepository.find({
select: ["refCommandDate", "refCommandNo", "detail"], select: ["refCommandDate", "refCommandNo", "detail"],
where: { profileId: id }, where: { profileId: id },
}); });
const Discipline = disciplines.map((item) => ({ const Discipline = disciplines.length > 0
DisciplineYear: ? disciplines.map((item) => ({
Extension.ToThaiNumber(new Date(item.refCommandDate).getFullYear().toString()) ?? null, DisciplineYear:
DisciplineDetail: item.detail ?? null, Extension.ToThaiNumber(new Date(item.refCommandDate).getFullYear().toString()) ?? null,
RefNo: Extension.ToThaiNumber(item.refCommandNo) ?? null, DisciplineDetail: item.detail ?? null,
})); RefNo: Extension.ToThaiNumber(item.refCommandNo) ?? null,
}))
: [{
DisciplineYear: "-",
DisciplineDetail: "-",
RefNo: "-",
}];
const educations = await this.educationRepository.find({ const educations = await this.educationRepository.find({
select: ["startDate", "endDate", "educationLevel", "degree", "field", "institute"], select: ["startDate", "endDate", "educationLevel", "degree", "field", "institute"],
where: { profileId: id }, where: { profileId: id },
order: { lastUpdatedAt: "DESC" }, order: { lastUpdatedAt: "DESC" },
}); });
const Education = educations.map((item) => ({ const Education = educations.length > 0
Institute: item.institute, ? educations.map((item) => ({
Start: Institute: item.institute,
item.startDate == null Start:
? "" item.startDate == null
: Extension.ToThaiNumber(new Date(item.startDate).getFullYear().toString()), ? ""
End: : Extension.ToThaiNumber(new Date(item.startDate).getFullYear().toString()),
item.endDate == null End:
? "" item.endDate == null
: Extension.ToThaiNumber(new Date(item.endDate).getFullYear().toString()), ? ""
Date: : Extension.ToThaiNumber(new Date(item.endDate).getFullYear().toString()),
item.startDate && item.endDate Date:
? `${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate))} - ${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate))}` item.startDate && item.endDate
: "", ? `${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate))} - ${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate))}`
Level: item.educationLevel ?? "", : "",
Degree: item.degree ? `${item.degree} ${item.field ? item.field : ""}` : "", Level: item.educationLevel ?? "",
Field: item.field ?? "-", Degree: item.degree ? `${item.degree} ${item.field ? item.field : ""}` : "",
})); Field: item.field ?? "-",
}))
: [{
Institute: "-",
Start: "-",
End: "-",
Date: "-",
Level: "-",
Degree: "-",
Field: "-",
}];
const salarys = await this.salaryRepository.find({ const salarys = await this.salaryRepository.find({
select: [ select: [
"date", "date",
@ -515,22 +548,36 @@ export class ProfileController extends Controller {
order: { order: "ASC" } order: { order: "ASC" }
}); });
const Salary = salarys.map((item) => ({ const Salary = salarys.length > 0
SalaryDate: item.date ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.date)) : null, ? salarys.map((item) => ({
Position: item.position != null ? Extension.ToThaiNumber(item.position) : null, SalaryDate: item.date ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.date)) : null,
PosNo: item.posNo != null ? Extension.ToThaiNumber(item.posNo) : null, Position: item.position != null ? Extension.ToThaiNumber(item.position) : null,
Salary: item.amount != null ? Extension.ToThaiNumber(item.amount.toLocaleString()) : null, PosNo: item.posNo != null ? Extension.ToThaiNumber(item.posNo) : null,
Rank: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null, Salary: item.amount != null ? Extension.ToThaiNumber(item.amount.toLocaleString()) : null,
RefAll: item.templateDoc ? Extension.ToThaiNumber(item.templateDoc) : null, Rank: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null,
PositionLevel: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null, RefAll: item.templateDoc ? Extension.ToThaiNumber(item.templateDoc) : null,
PositionType: item.positionType ?? null, PositionLevel: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null,
PositionAmount: PositionType: item.positionType ?? null,
item.positionSalaryAmount == null PositionAmount:
? null item.positionSalaryAmount == null
: Extension.ToThaiNumber(item.positionSalaryAmount.toLocaleString()), ? null
FullName: `${profiles?.prefix}${profiles?.firstName} ${profiles?.lastName}`, : Extension.ToThaiNumber(item.positionSalaryAmount.toLocaleString()),
OcFullPath: `${_child4}${_child3}${_child2}${_child1}${_root}`, FullName: `${profiles?.prefix}${profiles?.firstName} ${profiles?.lastName}`,
})); OcFullPath: `${_child4}${_child3}${_child2}${_child1}${_root}`,
}))
: [{
SalaryDate: "-",
Position: "-",
PosNo: "-",
Salary: "-",
Rank: "-",
RefAll: "-",
PositionLevel: "-",
PositionType: "-",
PositionAmount: "-",
FullName: "-",
OcFullPath: "-",
}];
const insignias = await this.profileInsigniaRepo.find({ const insignias = await this.profileInsigniaRepo.find({
relations: { relations: {
@ -541,36 +588,56 @@ export class ProfileController extends Controller {
where: { profileId: id }, where: { profileId: id },
order: { receiveDate: "ASC" }, order: { receiveDate: "ASC" },
}); });
const Insignia = insignias.map((item) => ({ const Insignia = insignias.length > 0
ReceiveDate: item.receiveDate ? insignias.map((item) => ({
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.receiveDate)) ReceiveDate: item.receiveDate
: "", ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.receiveDate))
InsigniaName: item.insignia.name, : "",
InsigniaShortName: item.insignia.shortName, InsigniaName: item.insignia.name,
InsigniaTypeName: item.insignia.insigniaType.name, InsigniaShortName: item.insignia.shortName,
No: item.no ? Extension.ToThaiNumber(item.no) : "", InsigniaTypeName: item.insignia.insigniaType.name,
Issue: item.issue ? item.issue : "", No: item.no ? Extension.ToThaiNumber(item.no) : "",
VolumeNo: item.volumeNo ? Extension.ToThaiNumber(item.volumeNo) : "", Issue: item.issue ? item.issue : "",
Volume: item.volume ? Extension.ToThaiNumber(item.volume) : "", VolumeNo: item.volumeNo ? Extension.ToThaiNumber(item.volumeNo) : "",
Section: item.section ? Extension.ToThaiNumber(item.section) : "", Volume: item.volume ? Extension.ToThaiNumber(item.volume) : "",
Page: item.page ? Extension.ToThaiNumber(item.page) : "", Section: item.section ? Extension.ToThaiNumber(item.section) : "",
RefCommandDate: item.refCommandDate Page: item.page ? Extension.ToThaiNumber(item.page) : "",
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.refCommandDate)) RefCommandDate: item.refCommandDate
: "", ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.refCommandDate))
})); : "",
}))
: [{
ReceiveDate: "-",
InsigniaName: "-",
InsigniaShortName: "-",
InsigniaTypeName: "-",
No: "-",
Issue: "-",
VolumeNo: "-",
Volume: "-",
Section: "-",
Page: "-",
RefCommandDate: "-",
}];
const leaves = await this.profileLeaveRepository.find({ const leaves = await this.profileLeaveRepository.find({
relations: { leaveType: true }, relations: { leaveType: true },
where: { profileId: id }, where: { profileId: id },
order: { dateLeaveStart: "ASC" }, order: { dateLeaveStart: "ASC" },
}); });
const Leave = leaves.map((item) => ({ const Leave = leaves.length > 0
LeaveTypeName: item.leaveType.name, ? leaves.map((item) => ({
DateLeaveStart: item.dateLeaveStart LeaveTypeName: item.leaveType.name,
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart)) DateLeaveStart: item.dateLeaveStart
: "", ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart))
LeaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays.toString()) : "", : "",
})); LeaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays.toString()) : "",
}))
: [{
LeaveTypeName: "-",
DateLeaveStart: "-",
LeaveDays: "-",
}];
return new HttpSuccess({ return new HttpSuccess({
Profile: [Profile], Profile: [Profile],

View file

@ -447,67 +447,100 @@ export class ProfileEmployeeController extends Controller {
where: { profileEmployeeId: id }, where: { profileEmployeeId: id },
select: ["certificateType", "issuer", "certificateNo", "issueDate"], select: ["certificateType", "issuer", "certificateNo", "issueDate"],
}); });
const Cert = certs.map((item) => ({ const Cert = certs.length > 0
CertificateType: item.certificateType ?? null, ? certs.map((item) => ({
Issuer: item.issuer ?? null, CertificateType: item.certificateType ?? null,
CertificateNo: Extension.ToThaiNumber(item.certificateNo) ?? null, Issuer: item.issuer ?? null,
IssueDate: Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.issueDate)) ?? null, CertificateNo: Extension.ToThaiNumber(item.certificateNo) ?? null,
})); IssueDate: Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.issueDate)) ?? null,
}))
:[{
CertificateType: "-",
Issuer: "-",
CertificateNo: "-",
IssueDate: "-"
}];
const trainings = await this.trainingRepository.find({ const trainings = await this.trainingRepository.find({
select: ["startDate", "endDate", "place", "department"], select: ["startDate", "endDate", "place", "department"],
where: { profileEmployeeId: id }, where: { profileEmployeeId: id },
}); });
const Training = trainings.map((item) => ({ const Training = trainings.length > 0
Institute: item.department ?? "", ? trainings.map((item) => ({
Start: Institute: item.department ?? "",
item.startDate == null Start:
? "" item.startDate == null
: Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate)), ? ""
End: : Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate)),
item.endDate == null ? "" : Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate)), End:
Date: item.endDate == null ? "" : Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate)),
item.startDate && item.endDate Date:
? `${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate))} - ${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate))}` item.startDate && item.endDate
: "", ? `${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate))} - ${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate))}`
Level: "", : "",
Degree: item.name, Level: "",
Field: "", Degree: item.name,
})); Field: "",
}))
: [{
Institute: "-",
Start: "-",
End: "-",
Date: "-",
Level: "-",
Degree: "-",
Field: "-",
}];
const disciplines = await this.disciplineRepository.find({ const disciplines = await this.disciplineRepository.find({
select: ["refCommandDate", "refCommandNo", "detail"], select: ["refCommandDate", "refCommandNo", "detail"],
where: { profileEmployeeId: id }, where: { profileEmployeeId: id },
}); });
const Discipline = disciplines.map((item) => ({ const Discipline = disciplines.length > 0
DisciplineYear: ? disciplines.map((item) => ({
Extension.ToThaiNumber(new Date(item.refCommandDate).getFullYear().toString()) ?? null, DisciplineYear:
DisciplineDetail: item.detail ?? null, Extension.ToThaiNumber(new Date(item.refCommandDate).getFullYear().toString()) ?? null,
RefNo: Extension.ToThaiNumber(item.refCommandNo) ?? null, DisciplineDetail: item.detail ?? null,
})); RefNo: Extension.ToThaiNumber(item.refCommandNo) ?? null,
}))
: [{
DisciplineYear: "-",
DisciplineDetail: "-",
RefNo: "-",
}];
const educations = await this.educationRepository.find({ const educations = await this.educationRepository.find({
select: ["startDate", "endDate", "educationLevel", "degree", "field", "institute"], select: ["startDate", "endDate", "educationLevel", "degree", "field", "institute"],
where: { profileEmployeeId: id }, where: { profileEmployeeId: id },
order: { lastUpdatedAt: "DESC" }, order: { lastUpdatedAt: "DESC" },
}); });
const Education = educations.map((item) => ({ const Education = educations.length > 0
Institute: item.institute ?? null, ? educations.map((item) => ({
Start: Institute: item.institute,
item.startDate == null Start:
? "" item.startDate == null
: Extension.ToThaiNumber(new Date(item.startDate).getFullYear().toString()), ? ""
End: : Extension.ToThaiNumber(new Date(item.startDate).getFullYear().toString()),
item.endDate == null End:
? "" item.endDate == null
: Extension.ToThaiNumber(new Date(item.endDate).getFullYear().toString()), ? ""
Date: : Extension.ToThaiNumber(new Date(item.endDate).getFullYear().toString()),
item.startDate && item.endDate Date:
? `${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate))} - ${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate))}` item.startDate && item.endDate
: "", ? `${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.startDate))} - ${Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.endDate))}`
Level: item.educationLevel ?? "", : "",
Degree: item.degree ? `${item.degree} ${item.field ? item.field : ""}` : "", Level: item.educationLevel ?? "",
Field: item.field ?? "-", Degree: item.degree ? `${item.degree} ${item.field ? item.field : ""}` : "",
})); Field: item.field ?? "-",
}))
: [{
Institute: "-",
Start: "-",
End: "-",
Date: "-",
Level: "-",
Degree: "-",
Field: "-",
}];
const salarys = await this.salaryRepository.find({ const salarys = await this.salaryRepository.find({
select: [ select: [
"date", "date",
@ -524,22 +557,36 @@ export class ProfileEmployeeController extends Controller {
order: { order: "ASC" } order: { order: "ASC" }
}); });
const Salary = salarys.map((item) => ({ const Salary = salarys.length > 0
SalaryDate: item.date ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.date)) : null, ? salarys.map((item) => ({
Position: item.position != null ? Extension.ToThaiNumber(item.position) : null, SalaryDate: item.date ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.date)) : null,
PosNo: item.posNo != null ? Extension.ToThaiNumber(item.posNo) : null, Position: item.position != null ? Extension.ToThaiNumber(item.position) : null,
Salary: item.amount != null ? Extension.ToThaiNumber(item.amount.toLocaleString()) : null, PosNo: item.posNo != null ? Extension.ToThaiNumber(item.posNo) : null,
Rank: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null, Salary: item.amount != null ? Extension.ToThaiNumber(item.amount.toLocaleString()) : null,
RefAll: item.templateDoc ? Extension.ToThaiNumber(item.templateDoc) : null, Rank: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null,
PositionType: item.positionType ?? null, RefAll: item.templateDoc ? Extension.ToThaiNumber(item.templateDoc) : null,
PositionLevel: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null, PositionLevel: item.positionLevel != null ? Extension.ToThaiNumber(item.positionLevel) : null,
PositionAmount: PositionType: item.positionType ?? null,
item.positionSalaryAmount == null PositionAmount:
? null item.positionSalaryAmount == null
: Extension.ToThaiNumber(item.positionSalaryAmount.toLocaleString()), ? null
FullName: `${profiles?.prefix} ${profiles?.firstName} ${profiles?.lastName}`, : Extension.ToThaiNumber(item.positionSalaryAmount.toLocaleString()),
OcFullPath: `${_child4}${_child3}${_child2}${_child1}${_root}`, FullName: `${profiles?.prefix}${profiles?.firstName} ${profiles?.lastName}`,
})); OcFullPath: `${_child4}${_child3}${_child2}${_child1}${_root}`,
}))
: [{
SalaryDate: "-",
Position: "-",
PosNo: "-",
Salary: "-",
Rank: "-",
RefAll: "-",
PositionLevel: "-",
PositionType: "-",
PositionAmount: "-",
FullName: "-",
OcFullPath: "-",
}];
const insignias = await this.profileInsigniaRepo.find({ const insignias = await this.profileInsigniaRepo.find({
relations: { relations: {
@ -550,36 +597,56 @@ export class ProfileEmployeeController extends Controller {
where: { profileEmployeeId: id }, where: { profileEmployeeId: id },
order: { receiveDate: "ASC" }, order: { receiveDate: "ASC" },
}); });
const Insignia = insignias.map((item) => ({ const Insignia = insignias.length > 0
ReceiveDate: item.receiveDate ? insignias.map((item) => ({
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.receiveDate)) ReceiveDate: item.receiveDate
: "", ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.receiveDate))
InsigniaName: item.insignia.name, : "",
InsigniaShortName: item.insignia.shortName, InsigniaName: item.insignia.name,
InsigniaTypeName: item.insignia.insigniaType.name, InsigniaShortName: item.insignia.shortName,
No: item.no ? Extension.ToThaiNumber(item.no) : "", InsigniaTypeName: item.insignia.insigniaType.name,
Issue: item.issue ? item.issue : "", No: item.no ? Extension.ToThaiNumber(item.no) : "",
VolumeNo: item.volumeNo ? Extension.ToThaiNumber(item.volumeNo) : "", Issue: item.issue ? item.issue : "",
Volume: item.volume ? Extension.ToThaiNumber(item.volume) : "", VolumeNo: item.volumeNo ? Extension.ToThaiNumber(item.volumeNo) : "",
Section: item.section ? Extension.ToThaiNumber(item.section) : "", Volume: item.volume ? Extension.ToThaiNumber(item.volume) : "",
Page: item.page ? Extension.ToThaiNumber(item.page) : "", Section: item.section ? Extension.ToThaiNumber(item.section) : "",
RefCommandDate: item.refCommandDate Page: item.page ? Extension.ToThaiNumber(item.page) : "",
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.refCommandDate)) RefCommandDate: item.refCommandDate
: "", ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.refCommandDate))
})); : "",
}))
: [{
ReceiveDate: "-",
InsigniaName: "-",
InsigniaShortName: "-",
InsigniaTypeName: "-",
No: "-",
Issue: "-",
VolumeNo: "-",
Volume: "-",
Section: "-",
Page: "-",
RefCommandDate: "-",
}];
const leaves = await this.profileLeaveRepository.find({ const leaves = await this.profileLeaveRepository.find({
relations: { leaveType: true }, relations: { leaveType: true },
where: { profileEmployeeId: id }, where: { profileEmployeeId: id },
order: { dateLeaveStart: "ASC" }, order: { dateLeaveStart: "ASC" },
}); });
const Leave = leaves.map((item) => ({ const Leave = leaves.length > 0
LeaveTypeName: item.leaveType.name, ? leaves.map((item) => ({
DateLeaveStart: item.dateLeaveStart LeaveTypeName: item.leaveType.name,
? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart)) DateLeaveStart: item.dateLeaveStart
: "", ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(item.dateLeaveStart))
LeaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays.toString()) : "", : "",
})); LeaveDays: item.leaveDays ? Extension.ToThaiNumber(item.leaveDays.toString()) : "",
}))
: [{
LeaveTypeName: "-",
DateLeaveStart: "-",
LeaveDays: "-",
}];
return new HttpSuccess({ return new HttpSuccess({
Profile: [Profile], Profile: [Profile],