update 3 4
This commit is contained in:
parent
5882e21a41
commit
92855fac40
1 changed files with 148 additions and 7 deletions
|
|
@ -586,11 +586,23 @@ export class ReportController extends Controller {
|
|||
.orderBy("developmentScholarship.scholarshipYear", "DESC")
|
||||
.addOrderBy("developmentScholarship.createdAt", "DESC")
|
||||
.getMany();
|
||||
|
||||
|
||||
const mapData = developments.map((item, idx:number) => ({
|
||||
no: Extension.ToThaiNumber((idx+1).toString()),
|
||||
institution: item.educationalInstitution ? item.educationalInstitution : "-",
|
||||
scholarshipType: item.scholarshipType ? item.scholarshipType : "-",
|
||||
scholarshipType: item.scholarshipType ?
|
||||
item.scholarshipType == "DOMESTICE"
|
||||
? "การศึกษาในประเทศ"
|
||||
: item.scholarshipType == "NOABROAD"
|
||||
? "ฝึกอบรมในประเทศที่ส่งไปพัฒนากับหน่วยวงานภายนอก (หลักสูตรที่ไม่มีการไปต่างประเทศ)"
|
||||
: item.scholarshipType == "ABROAD"
|
||||
? "ฝึกอบรมในประเทศที่ส่งไปพัฒนากับหน่วยวงานภายนอก (หลักสูตรที่มีการไปต่างประเทศ)"
|
||||
: item.scholarshipType == "EXECUTIVE"
|
||||
? "ฝึกอบรมในประเทศที่ส่งไปพัฒนากับหน่วยวงานภายนอก (หลักสูตรประเภทนักบริหาร)"
|
||||
: item.scholarshipType == "RESEARCH"
|
||||
? "ศึกษา ฝึกอบรม ประชุม ดูงาน และปฏิบัติการวิจัย ณ ต่างประเทศ"
|
||||
: "-"
|
||||
: "-",
|
||||
degreeLevel: item.degreeLevel ? item.degreeLevel : "-",
|
||||
course: item.course ? item.course : "-",
|
||||
field: item.field ? item.field : "-",
|
||||
|
|
@ -598,7 +610,7 @@ export class ReportController extends Controller {
|
|||
position: item.position ? item.position : "-",
|
||||
posLevel: item.posLevel ? item.posLevel.posLevelName : "-",
|
||||
totalPeriod: item.totalPeriod ? item.totalPeriod : "-",
|
||||
budgetApprove: item.budgetApprove ? Extension.ToThaiNumber(item.budgetApprove.toString()) : "๐" //toLocaleString
|
||||
budgetApprove: item.budgetApprove ? Extension.ToThaiNumber(item.budgetApprove.toLocaleString()) : "๐"
|
||||
}));
|
||||
|
||||
const sum = developments
|
||||
|
|
@ -610,7 +622,7 @@ export class ReportController extends Controller {
|
|||
reportName: "reportFund3",
|
||||
data: {
|
||||
year: year ? Extension.ToThaiNumber((year+543).toString()) : "-",
|
||||
root: developments.length > 0 ? developments[0].root : "-",
|
||||
root: rootId ? developments.length > 0 ? developments.find(x => x.root != "")?.root: "-" : "-",
|
||||
data: mapData.length > 0
|
||||
? mapData
|
||||
: [{
|
||||
|
|
@ -626,7 +638,7 @@ export class ReportController extends Controller {
|
|||
totalPeriod: "-",
|
||||
budgetApprove: "-",
|
||||
}],
|
||||
sum: sum ? Extension.ToThaiNumber(sum.toString()): "-"
|
||||
sum: sum ? Extension.ToThaiNumber(sum.toLocaleString()): "-"
|
||||
},
|
||||
});
|
||||
}
|
||||
|
|
@ -637,14 +649,143 @@ export class ReportController extends Controller {
|
|||
*
|
||||
*/
|
||||
@Get("report4")
|
||||
async report4() {
|
||||
async report4(
|
||||
@Query("year") year: number,
|
||||
) {
|
||||
const developments = await AppDataSource.getRepository(DevelopmentScholarship)
|
||||
.createQueryBuilder("developmentScholarship")
|
||||
.andWhere(
|
||||
year !== 0 && year != null && year != undefined
|
||||
? "developmentScholarship.scholarshipYear = :scholarshipYear"
|
||||
: "1=1",
|
||||
{ scholarshipYear: year },
|
||||
)
|
||||
.orderBy("developmentScholarship.scholarshipYear", "DESC")
|
||||
.addOrderBy("developmentScholarship.createdAt", "DESC")
|
||||
.getMany();
|
||||
|
||||
// const _develop = await this.developmentScholarshipRepository.find({
|
||||
// where: {
|
||||
// scholarshipYear: year ? year : Not(IsNull())
|
||||
// },
|
||||
// order: { "scholarshipYear" : "DESC" }
|
||||
// })
|
||||
|
||||
const groupDevelopment = Array.isArray(developments) && developments.length > 0
|
||||
? developments.reduce((acc:any, current:any, idx:number) => {
|
||||
const root = current.root || "";
|
||||
if (!acc[root]) {
|
||||
acc[root] = {
|
||||
// rootId,
|
||||
no: (idx+1),
|
||||
root: root,
|
||||
Bachelor : 0,
|
||||
BachelorHight: 0,
|
||||
Master: 0,
|
||||
Doctor: 0,
|
||||
DomesticeCourseCount: 0,
|
||||
DomesticeProfileCount: 0,
|
||||
DomesticeBudgetApprove: 0,
|
||||
NoAbroadCourseCount: 0,
|
||||
NoAbroadDProfileCount: 0,
|
||||
NoAbroadBudgetApprove: 0,
|
||||
AbroadCourseCount: 0,
|
||||
AbroadProfileCount: 0,
|
||||
AbroadBudgetApprove: 0,
|
||||
ExecutiveCourseCount: 0,
|
||||
ExecutiveProfileCount: 0,
|
||||
ExecutiveBudgetApprove: 0,
|
||||
TotalCourseCount: 0,
|
||||
TotalProfileCount: 0,
|
||||
TotalBudgetApprove: 0,
|
||||
};
|
||||
}
|
||||
|
||||
switch (current.scholarshipType) {
|
||||
case "DOMESTICE":
|
||||
acc[root].DomesticeCourseCount++;
|
||||
acc[root].DomesticeProfileCount++;
|
||||
acc[root].DomesticeBudgetApprove += current.budgetApprove || 0;
|
||||
break;
|
||||
case "NOABROAD":
|
||||
acc[root].NoAbroadCourseCount++;
|
||||
acc[root].NoAbroadProfileCount++;
|
||||
acc[root].NoAbroadBudgetApprove += current.budgetApprove || 0;
|
||||
break;
|
||||
case "ABROAD":
|
||||
acc[root].AbroadCourseCount++;
|
||||
acc[root].AbroadProfileCount++;
|
||||
acc[root].AbroadBudgetApprove += current.budgetApprove || 0;
|
||||
break;
|
||||
case "EXECUTIVE":
|
||||
acc[root].ExecutiveCourseCount++;
|
||||
acc[root].ExecutiveProfileCount++;
|
||||
acc[root].ExecutiveBudgetApprove += current.budgetApprove || 0;
|
||||
break;
|
||||
}
|
||||
|
||||
acc[root].TotalCourseCount = acc[root].DomesticeCourseCount + acc[root].NoAbroadCourseCount + acc[root].AbroadCourseCount + acc[root].ExecutiveCourseCount;
|
||||
acc[root].TotalProfileCount = acc[root].DomesticeProfileCount + acc[root].NoAbroadProfileCount + acc[root].AbroadProfileCount + acc[root].ExecutiveProfileCount;
|
||||
acc[root].TotalBudgetApprove = acc[root].DomesticeBudgetApprove + acc[root].NoAbroadBudgetApprove + acc[root].AbroadBudgetApprove + acc[root].ExecutiveBudgetApprove;
|
||||
|
||||
return acc;
|
||||
}, {})
|
||||
: [];
|
||||
|
||||
const _group = Object.values(groupDevelopment);
|
||||
return new HttpSuccess({
|
||||
template: "reportFund4",
|
||||
reportName: "reportFund4",
|
||||
data: {
|
||||
data: "",
|
||||
year: year ? Extension.ToThaiNumber((year+543).toString()) : "-",
|
||||
data: Array.isArray(_group)
|
||||
? _group.map((x:any, idx:number) => ({
|
||||
// no: Extension.ToThaiNumber((idx+1).toString()),
|
||||
// root: x.root ? x.root : "-",
|
||||
// Bachelor : "-",
|
||||
// BachelorHight: "-",
|
||||
// Master: "-",
|
||||
// Doctor: "-",
|
||||
// DomesticeCourseCount: x.DomesticeCourseCount ? Extension.ToThaiNumber(x.DomesticeCourseCount) : "๐",
|
||||
// DomesticeProfileCount: x.DomesticeProfileCount ? Extension.ToThaiNumber(x.DomesticeProfileCount) : "๐",
|
||||
// DomesticeBudgetApprove: x.DomesticeBudgetApprove ? Extension.ToThaiNumber(x.DomesticeBudgetApprove) : "๐",
|
||||
// NoAbroadCourseCount: x.NoAbroadCourseCount ? Extension.ToThaiNumber(x.NoAbroadCourseCount) : "๐",
|
||||
// NoAbroadDProfileCount: x.NoAbroadDProfileCount ? Extension.ToThaiNumber(x.NoAbroadDProfileCount) : "๐",
|
||||
// NoAbroadBudgetApprove: x.NoAbroadBudgetApprove ? Extension.ToThaiNumber(x.NoAbroadBudgetApprove) : "๐",
|
||||
// AbroadCourseCount: x.AbroadCourseCount ? Extension.ToThaiNumber(x.AbroadCourseCount) : "๐",
|
||||
// AbroadProfileCount: x.AbroadProfileCount ? Extension.ToThaiNumber(x.AbroadProfileCount) : "๐",
|
||||
// AbroadBudgetApprove: x.AbroadBudgetApprove ? Extension.ToThaiNumber(x.AbroadBudgetApprove) : "๐",
|
||||
// ExecutiveCourseCount: x.ExecutiveCourseCount ? Extension.ToThaiNumber(x.ExecutiveCourseCount) : "๐",
|
||||
// ExecutiveProfileCount: x.ExecutiveProfileCount ? Extension.ToThaiNumber(x.ExecutiveProfileCount) : "๐",
|
||||
// ExecutiveBudgetApprove: x.ExecutiveBudgetApprove ? Extension.ToThaiNumber(x.ExecutiveBudgetApprove) : "๐",
|
||||
// TotalCourseCount: x.TotalCourseCount ? Extension.ToThaiNumber(x.TotalCourseCount) : "๐",
|
||||
// TotalProfileCount: x.TotalProfileCount ? Extension.ToThaiNumber(x.TotalProfileCount) : "๐",
|
||||
// TotalBudgetApprove: x.TotalBudgetApprove ? Extension.ToThaiNumber(x.TotalBudgetApprove) : "๐",
|
||||
}))
|
||||
: [{
|
||||
no: "-",
|
||||
root: "-",
|
||||
Bachelor : "-",
|
||||
BachelorHight: "-",
|
||||
Master: "-",
|
||||
Doctor: "-",
|
||||
DomesticeCourseCount: "-",
|
||||
DomesticeProfileCount: "-",
|
||||
DomesticeBudgetApprove: "-",
|
||||
NoAbroadCourseCount: "-",
|
||||
NoAbroadDProfileCount: "-",
|
||||
NoAbroadBudgetApprove: "-",
|
||||
AbroadCourseCount: "-",
|
||||
AbroadProfileCount: "-",
|
||||
AbroadBudgetApprove: "-",
|
||||
ExecutiveCourseCount: "-",
|
||||
ExecutiveProfileCount: "-",
|
||||
ExecutiveBudgetApprove: "-",
|
||||
TotalCourseCount: "-",
|
||||
TotalProfileCount: "-",
|
||||
TotalBudgetApprove: "-",
|
||||
}],
|
||||
totalRoot: Array.isArray(_group) ? Extension.ToThaiNumber(_group.length.toLocaleString()) : "-"
|
||||
},
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue