Report #1174 (3),(4)
This commit is contained in:
parent
06063a0a86
commit
dcc9ef5afd
2 changed files with 424 additions and 7 deletions
|
|
@ -28,7 +28,7 @@ import { AssignDirector } from "../entities/AssignDirector";
|
||||||
import { EvaluateAchievement } from "../entities/EvaluateAchievement";
|
import { EvaluateAchievement } from "../entities/EvaluateAchievement";
|
||||||
import { EvaluateCommander } from "../entities/EvaluateCommander";
|
import { EvaluateCommander } from "../entities/EvaluateCommander";
|
||||||
import CallAPI from "../interfaces/call-api";
|
import CallAPI from "../interfaces/call-api";
|
||||||
import { Double, In } from "typeorm";
|
import { Between, Double, In } from "typeorm";
|
||||||
import Extension from "../interfaces/extension";
|
import Extension from "../interfaces/extension";
|
||||||
import { Appoint } from "../entities/Appoint";
|
import { Appoint } from "../entities/Appoint";
|
||||||
import { AppointDirector } from "../entities/AppointDirector";
|
import { AppointDirector } from "../entities/AppointDirector";
|
||||||
|
|
@ -51,6 +51,7 @@ export class ReportController extends Controller {
|
||||||
private evaluateCommanderRepository = AppDataSource.getRepository(EvaluateCommander);
|
private evaluateCommanderRepository = AppDataSource.getRepository(EvaluateCommander);
|
||||||
private appointRepository = AppDataSource.getRepository(Appoint);
|
private appointRepository = AppDataSource.getRepository(Appoint);
|
||||||
private AppointDirectorRepository = AppDataSource.getRepository(AppointDirector);
|
private AppointDirectorRepository = AppDataSource.getRepository(AppointDirector);
|
||||||
|
private assignRepository = AppDataSource.getRepository(Assign);
|
||||||
private assignOutputRepository = AppDataSource.getRepository(AssignOutput);
|
private assignOutputRepository = AppDataSource.getRepository(AssignOutput);
|
||||||
/**
|
/**
|
||||||
* API สำหรับออกรายงาน
|
* API สำหรับออกรายงาน
|
||||||
|
|
@ -1397,11 +1398,192 @@ export class ReportController extends Controller {
|
||||||
@Query("startDate") startDate?: Date,
|
@Query("startDate") startDate?: Date,
|
||||||
@Query("endDate") endDate?: Date,
|
@Query("endDate") endDate?: Date,
|
||||||
) {
|
) {
|
||||||
return new HttpSuccess({
|
|
||||||
template: "placementProbation01",
|
interface Result {
|
||||||
reportName: "xlsx-report",
|
[rootId: string]: {
|
||||||
data: "",
|
rootName: string;
|
||||||
});
|
status1: number;
|
||||||
|
status2: number;
|
||||||
|
status3: number;
|
||||||
|
status4: number;
|
||||||
|
status5: number;
|
||||||
|
status6: number;
|
||||||
|
status7: number;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
const rootNode = await new CallAPI()
|
||||||
|
.PostData(req, "/org/find/node-all",{nodeId: nodeId, node: node})
|
||||||
|
.catch((error) => {
|
||||||
|
console.error("Error calling API:", error);
|
||||||
|
});
|
||||||
|
const rootNodeTrue = rootNode["isRootTrue"];
|
||||||
|
const rootNodeFalse = rootNode["isRootFalse"];
|
||||||
|
|
||||||
|
let whereRootTrue = rootNodeTrue && rootNodeTrue.rootId ? { root: rootNodeTrue.rootId } : {};
|
||||||
|
let listsRootTrue = rootNodeTrue && rootNodeTrue.rootId
|
||||||
|
? await this.personalRepository.find({
|
||||||
|
where: {
|
||||||
|
...whereRootTrue,
|
||||||
|
createdAt: startDate && endDate ? Between(new Date(startDate), new Date(endDate)) : undefined,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
: [];
|
||||||
|
|
||||||
|
let rootIds = rootNodeFalse.map((node: any) => node.rootId);
|
||||||
|
let listsRootFalse = rootIds && rootIds.length
|
||||||
|
? await this.personalRepository.find({
|
||||||
|
where: {
|
||||||
|
root: In(rootIds),
|
||||||
|
createdAt: startDate && endDate ? Between(new Date(startDate), new Date(endDate)) : undefined,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
: [];
|
||||||
|
|
||||||
|
let resultTrue: Result = {};
|
||||||
|
let resultFalse: Result = {};
|
||||||
|
|
||||||
|
listsRootTrue.forEach(item => {
|
||||||
|
let rootId = item.root;
|
||||||
|
let status = item.probation_status;
|
||||||
|
let rootName = item.orgRootName;
|
||||||
|
|
||||||
|
if (!resultTrue[rootId]) {
|
||||||
|
resultTrue[rootId] = {
|
||||||
|
"rootName": rootName,
|
||||||
|
"status1": 0,
|
||||||
|
"status2": 0,
|
||||||
|
"status3": 0,
|
||||||
|
"status4": 0,
|
||||||
|
"status5": 0,
|
||||||
|
"status6": 0,
|
||||||
|
"status7": 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status >= 1 && status <= 7) {
|
||||||
|
(resultTrue[rootId] as { [key: string]: any })[`status${status}`]++;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
listsRootFalse.forEach(item => {
|
||||||
|
let rootId = item.root;
|
||||||
|
let status = item.probation_status;
|
||||||
|
let rootName = item.orgRootName;
|
||||||
|
|
||||||
|
if (!resultFalse[rootId]) {
|
||||||
|
resultFalse[rootId] = {
|
||||||
|
"rootName": rootName,
|
||||||
|
"status1": 0,
|
||||||
|
"status2": 0,
|
||||||
|
"status3": 0,
|
||||||
|
"status4": 0,
|
||||||
|
"status5": 0,
|
||||||
|
"status6": 0,
|
||||||
|
"status7": 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status >= 1 && status <= 7) {
|
||||||
|
(resultFalse[rootId] as { [key: string]: any })[`status${status}`]++;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const resultTruePass = Object.values(resultTrue).reduce((sum, { status2 }) => sum + status2, 0);
|
||||||
|
const resultTrueExtand = Object.values(resultTrue).reduce((sum, { status7 }) => sum + status7, 0);
|
||||||
|
const resultTrueSuspension = "-";
|
||||||
|
const resultTrueChangePos = Object.values(resultTrue).reduce((sum, { status4 }) => sum + status4, 0);
|
||||||
|
const resultTrueResign = Object.values(resultTrue).reduce((sum, { status5 }) => sum + status5, 0);
|
||||||
|
const resultTrueDeceased = Object.values(resultTrue).reduce((sum, { status6 }) => sum + status6, 0);
|
||||||
|
const resultTrueNotPass = Object.values(resultTrue).reduce((sum, { status3 }) => sum + status3, 0);
|
||||||
|
const resultFalsePass = Object.values(resultFalse).reduce((sum, { status2 }) => sum + status2, 0);
|
||||||
|
const resultFalseExtand = Object.values(resultFalse).reduce((sum, { status7 }) => sum + status7, 0);
|
||||||
|
const resultFalseSuspension = "-";
|
||||||
|
const resultFalseChangePos = Object.values(resultFalse).reduce((sum, { status4 }) => sum + status4, 0);
|
||||||
|
const resultFalseResign = Object.values(resultFalse).reduce((sum, { status5 }) => sum + status5, 0);
|
||||||
|
const resultFalseDeceased = Object.values(resultFalse).reduce((sum, { status6 }) => sum + status6, 0);
|
||||||
|
const resultFalseNotPass = Object.values(resultFalse).reduce((sum, { status3 }) => sum + status3, 0);
|
||||||
|
const sumPass = Object.values(resultTrue).reduce((sum, { status2 }) => sum + status2, 0) + Object.values(resultFalse).reduce((sum, { status2 }) => sum + status2, 0);
|
||||||
|
const sumExtand = Object.values(resultTrue).reduce((sum, { status7 }) => sum + status7, 0) + Object.values(resultFalse).reduce((sum, { status7 }) => sum + status7, 0);
|
||||||
|
const sumSuspension = "-";
|
||||||
|
const sumChangePos = Object.values(resultTrue).reduce((sum, { status4 }) => sum + status4, 0) + Object.values(resultFalse).reduce((sum, { status4 }) => sum + status4, 0);
|
||||||
|
const sumResign = Object.values(resultTrue).reduce((sum, { status5 }) => sum + status5, 0) + Object.values(resultFalse).reduce((sum, { status5 }) => sum + status5, 0);
|
||||||
|
const sumDeceased = Object.values(resultTrue).reduce((sum, { status6 }) => sum + status6, 0) + Object.values(resultFalse).reduce((sum, { status6 }) => sum + status6, 0);
|
||||||
|
const sumNotPass = Object.values(resultTrue).reduce((sum, { status3 }) => sum + status3, 0) + Object.values(resultFalse).reduce((sum, { status3 }) => sum + status3, 0);
|
||||||
|
const sumResultTrue = Object.values(resultTrue).reduce((total, { status2, status7, status4, status5, status6, status3 }) => {
|
||||||
|
return total + status2 + status7 + status4 + status5 + status6 + status3;
|
||||||
|
}, 0);
|
||||||
|
const sumResultFalse = Object.values(resultFalse).reduce((total, { status2, status7, status4, status5, status6, status3 }) => {
|
||||||
|
return total + status2 + status7 + status4 + status5 + status6 + status3;
|
||||||
|
}, 0);
|
||||||
|
const sumAll = sumPass + sumExtand + sumChangePos + sumResign + sumDeceased + sumNotPass;
|
||||||
|
const nowDate = Extension.ToThaiNumber(Extension.ToThaiShortDate(new Date()));
|
||||||
|
const formattedData = {
|
||||||
|
topic: "หน่วยงานระดับสำนักหรือเทียบเท่า",
|
||||||
|
dateNow: nowDate,
|
||||||
|
dateStart: startDate?Extension.ToThaiNumber(Extension.ToThaiNoprefixDate(startDate)):"",
|
||||||
|
dateEnd: endDate?Extension.ToThaiNumber(Extension.ToThaiNoprefixDate(endDate)):"",
|
||||||
|
resultTrueProbation: Object.keys(resultTrue).map((rootId,index) => {
|
||||||
|
const { status2, status7, status4, status5, status6, status3, rootName } = resultTrue[rootId];
|
||||||
|
const sum = status2 + status7 + status4 + status5 + status6 + status3;
|
||||||
|
return {
|
||||||
|
rowNo:(index + 1).toString(),
|
||||||
|
rootName:rootName.toString(),
|
||||||
|
pass:status2.toString(),
|
||||||
|
extand:status7.toString(),
|
||||||
|
suspension: "-",
|
||||||
|
changePos:status4.toString(),
|
||||||
|
resign:status5.toString(),
|
||||||
|
deceased:status6.toString(),
|
||||||
|
notPass:status3.toString(),
|
||||||
|
total:sum.toString()
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
resultTruePass:resultTruePass.toString(),
|
||||||
|
resultTrueExtand:resultTrueExtand.toString(),
|
||||||
|
resultTrueSuspension: "-",
|
||||||
|
resultTrueChangePos:resultTrueChangePos.toString(),
|
||||||
|
resultTrueResign:resultTrueResign.toString(),
|
||||||
|
resultTrueDeceased:resultTrueDeceased.toString(),
|
||||||
|
resultTrueNotPass:resultTrueNotPass.toString(),
|
||||||
|
topic2: "หน่วยงานระดับสำนักงานเขต",
|
||||||
|
resultFalseProbation: Object.keys(resultFalse).map((rootId,index) => {
|
||||||
|
const { status2, status7, status4, status5, status6, status3, rootName } = resultFalse[rootId];
|
||||||
|
const sum = status2 + status7 + status4 + status5 + status6 + status3;
|
||||||
|
return {
|
||||||
|
rowNo:(index + 1).toString(),
|
||||||
|
rootName:rootName.toString(),
|
||||||
|
pass:status2.toString(),
|
||||||
|
extand:status7.toString(),
|
||||||
|
suspension: "-",
|
||||||
|
changePos:status4.toString(),
|
||||||
|
resign:status5.toString(),
|
||||||
|
deceased:status6.toString(),
|
||||||
|
notPass:status3.toString(),
|
||||||
|
total:sum.toString()
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
resultFalsePass:resultFalsePass.toString(),
|
||||||
|
resultFalseExtand:resultFalseExtand.toString(),
|
||||||
|
resultFalseSuspension: "-",
|
||||||
|
resultFalseChangePos:resultFalseChangePos.toString(),
|
||||||
|
resultFalseResign:resultFalseResign.toString(),
|
||||||
|
resultFalseDeceased:resultFalseDeceased.toString(),
|
||||||
|
resultFalseNotPass:resultFalseNotPass.toString(),
|
||||||
|
sumPass:sumPass.toString(),
|
||||||
|
sumExtand:sumExtand.toString(),
|
||||||
|
sumSuspension:"-",
|
||||||
|
sumChangePos:sumChangePos.toString(),
|
||||||
|
sumResign:sumResign.toString(),
|
||||||
|
sumDeceased:sumDeceased.toString(),
|
||||||
|
sumNotPass:sumNotPass.toString(),
|
||||||
|
sumResultTrue:sumResultTrue.toString(),
|
||||||
|
sumResultFalse:sumResultFalse.toString(),
|
||||||
|
sumAll:sumAll.toString()
|
||||||
|
};
|
||||||
|
return new HttpSuccess({
|
||||||
|
template: "placementProbation01",
|
||||||
|
reportName: "xlsx-report",
|
||||||
|
data: formattedData,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get("report2")
|
@Get("report2")
|
||||||
|
|
@ -1427,10 +1609,191 @@ export class ReportController extends Controller {
|
||||||
@Query("startDate") startDate?: Date,
|
@Query("startDate") startDate?: Date,
|
||||||
@Query("endDate") endDate?: Date,
|
@Query("endDate") endDate?: Date,
|
||||||
) {
|
) {
|
||||||
|
interface Result {
|
||||||
|
[rootId: string]: {
|
||||||
|
rootName: string;
|
||||||
|
status1: number;
|
||||||
|
status2: number;
|
||||||
|
status3: number;
|
||||||
|
status4: number;
|
||||||
|
status5: number;
|
||||||
|
status6: number;
|
||||||
|
status7: number;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
const rootNode = await new CallAPI()
|
||||||
|
.PostData(req, "/org/find/node-all",{nodeId: nodeId, node: node})
|
||||||
|
.catch((error) => {
|
||||||
|
console.error("Error calling API:", error);
|
||||||
|
});
|
||||||
|
const rootNodeTrue = rootNode["isRootTrue"];
|
||||||
|
const rootNodeFalse = rootNode["isRootFalse"];
|
||||||
|
|
||||||
|
let whereRootTrue = rootNodeTrue && rootNodeTrue.rootId ? { root: rootNodeTrue.rootId } : {};
|
||||||
|
let listsRootTrue = rootNodeTrue && rootNodeTrue.rootId
|
||||||
|
? await this.personalRepository.find({
|
||||||
|
where: {
|
||||||
|
...whereRootTrue,
|
||||||
|
createdAt: startDate && endDate ? Between(new Date(startDate), new Date(endDate)) : undefined,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
: [];
|
||||||
|
|
||||||
|
let rootIds = rootNodeFalse.map((node: any) => node.rootId);
|
||||||
|
let listsRootFalse = rootIds && rootIds.length
|
||||||
|
? await this.personalRepository.find({
|
||||||
|
where: {
|
||||||
|
root: In(rootIds),
|
||||||
|
createdAt: startDate && endDate ? Between(new Date(startDate), new Date(endDate)) : undefined,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
: [];
|
||||||
|
|
||||||
|
let resultTrue: Result = {};
|
||||||
|
let resultFalse: Result = {};
|
||||||
|
|
||||||
|
listsRootTrue.forEach(item => {
|
||||||
|
let rootId = item.root;
|
||||||
|
let status = item.probation_status;
|
||||||
|
let rootName = item.orgRootName;
|
||||||
|
|
||||||
|
if (!resultTrue[rootId]) {
|
||||||
|
resultTrue[rootId] = {
|
||||||
|
"rootName": rootName,
|
||||||
|
"status1": 0,
|
||||||
|
"status2": 0,
|
||||||
|
"status3": 0,
|
||||||
|
"status4": 0,
|
||||||
|
"status5": 0,
|
||||||
|
"status6": 0,
|
||||||
|
"status7": 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status >= 1 && status <= 7) {
|
||||||
|
(resultTrue[rootId] as { [key: string]: any })[`status${status}`]++;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
listsRootFalse.forEach(item => {
|
||||||
|
let rootId = item.root;
|
||||||
|
let status = item.probation_status;
|
||||||
|
let rootName = item.orgRootName;
|
||||||
|
|
||||||
|
if (!resultFalse[rootId]) {
|
||||||
|
resultFalse[rootId] = {
|
||||||
|
"rootName": rootName,
|
||||||
|
"status1": 0,
|
||||||
|
"status2": 0,
|
||||||
|
"status3": 0,
|
||||||
|
"status4": 0,
|
||||||
|
"status5": 0,
|
||||||
|
"status6": 0,
|
||||||
|
"status7": 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status >= 1 && status <= 7) {
|
||||||
|
(resultFalse[rootId] as { [key: string]: any })[`status${status}`]++;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const resultTruePass = Object.values(resultTrue).reduce((sum, { status2 }) => sum + status2, 0);
|
||||||
|
const resultTrueExtand = Object.values(resultTrue).reduce((sum, { status7 }) => sum + status7, 0);
|
||||||
|
const resultTrueSuspension = "-";
|
||||||
|
const resultTrueChangePos = Object.values(resultTrue).reduce((sum, { status4 }) => sum + status4, 0);
|
||||||
|
const resultTrueResign = Object.values(resultTrue).reduce((sum, { status5 }) => sum + status5, 0);
|
||||||
|
const resultTrueDeceased = Object.values(resultTrue).reduce((sum, { status6 }) => sum + status6, 0);
|
||||||
|
const resultTrueNotPass = Object.values(resultTrue).reduce((sum, { status3 }) => sum + status3, 0);
|
||||||
|
const resultFalsePass = Object.values(resultFalse).reduce((sum, { status2 }) => sum + status2, 0);
|
||||||
|
const resultFalseExtand = Object.values(resultFalse).reduce((sum, { status7 }) => sum + status7, 0);
|
||||||
|
const resultFalseSuspension = "-";
|
||||||
|
const resultFalseChangePos = Object.values(resultFalse).reduce((sum, { status4 }) => sum + status4, 0);
|
||||||
|
const resultFalseResign = Object.values(resultFalse).reduce((sum, { status5 }) => sum + status5, 0);
|
||||||
|
const resultFalseDeceased = Object.values(resultFalse).reduce((sum, { status6 }) => sum + status6, 0);
|
||||||
|
const resultFalseNotPass = Object.values(resultFalse).reduce((sum, { status3 }) => sum + status3, 0);
|
||||||
|
const sumPass = Object.values(resultTrue).reduce((sum, { status2 }) => sum + status2, 0) + Object.values(resultFalse).reduce((sum, { status2 }) => sum + status2, 0);
|
||||||
|
const sumExtand = Object.values(resultTrue).reduce((sum, { status7 }) => sum + status7, 0) + Object.values(resultFalse).reduce((sum, { status7 }) => sum + status7, 0);
|
||||||
|
const sumSuspension = "-";
|
||||||
|
const sumChangePos = Object.values(resultTrue).reduce((sum, { status4 }) => sum + status4, 0) + Object.values(resultFalse).reduce((sum, { status4 }) => sum + status4, 0);
|
||||||
|
const sumResign = Object.values(resultTrue).reduce((sum, { status5 }) => sum + status5, 0) + Object.values(resultFalse).reduce((sum, { status5 }) => sum + status5, 0);
|
||||||
|
const sumDeceased = Object.values(resultTrue).reduce((sum, { status6 }) => sum + status6, 0) + Object.values(resultFalse).reduce((sum, { status6 }) => sum + status6, 0);
|
||||||
|
const sumNotPass = Object.values(resultTrue).reduce((sum, { status3 }) => sum + status3, 0) + Object.values(resultFalse).reduce((sum, { status3 }) => sum + status3, 0);
|
||||||
|
const sumResultTrue = Object.values(resultTrue).reduce((total, { status2, status7, status4, status5, status6, status3 }) => {
|
||||||
|
return total + status2 + status7 + status4 + status5 + status6 + status3;
|
||||||
|
}, 0);
|
||||||
|
const sumResultFalse = Object.values(resultFalse).reduce((total, { status2, status7, status4, status5, status6, status3 }) => {
|
||||||
|
return total + status2 + status7 + status4 + status5 + status6 + status3;
|
||||||
|
}, 0);
|
||||||
|
const sumAll = sumPass + sumExtand + sumChangePos + sumResign + sumDeceased + sumNotPass;
|
||||||
|
const nowDate = Extension.ToThaiNumber(Extension.ToThaiShortDate(new Date()));
|
||||||
|
const formattedData = {
|
||||||
|
topic: "หน่วยงานระดับสำนักหรือเทียบเท่า",
|
||||||
|
dateNow: nowDate,
|
||||||
|
accExam: "",
|
||||||
|
dateStart: startDate?Extension.ToThaiNumber(Extension.ToThaiNoprefixDate(startDate)):"",
|
||||||
|
dateEnd: endDate?Extension.ToThaiNumber(Extension.ToThaiNoprefixDate(endDate)):"",
|
||||||
|
resultTrueProbation: Object.keys(resultTrue).map((rootId,index) => {
|
||||||
|
const { status2, status7, status4, status5, status6, status3, rootName } = resultTrue[rootId];
|
||||||
|
const sum = status2 + status7 + status4 + status5 + status6 + status3;
|
||||||
|
return {
|
||||||
|
rowNo:(index + 1).toString(),
|
||||||
|
rootName:rootName.toString(),
|
||||||
|
pass:status2.toString(),
|
||||||
|
extand:status7.toString(),
|
||||||
|
suspension: "-",
|
||||||
|
changePos:status4.toString(),
|
||||||
|
resign:status5.toString(),
|
||||||
|
deceased:status6.toString(),
|
||||||
|
notPass:status3.toString(),
|
||||||
|
total:sum.toString()
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
resultTruePass:resultTruePass.toString(),
|
||||||
|
resultTrueExtand:resultTrueExtand.toString(),
|
||||||
|
resultTrueSuspension: "-",
|
||||||
|
resultTrueChangePos:resultTrueChangePos.toString(),
|
||||||
|
resultTrueResign:resultTrueResign.toString(),
|
||||||
|
resultTrueDeceased:resultTrueDeceased.toString(),
|
||||||
|
resultTrueNotPass:resultTrueNotPass.toString(),
|
||||||
|
topic2: "หน่วยงานระดับสำนักงานเขต",
|
||||||
|
resultFalseProbation: Object.keys(resultFalse).map((rootId,index) => {
|
||||||
|
const { status2, status7, status4, status5, status6, status3, rootName } = resultFalse[rootId];
|
||||||
|
const sum = status2 + status7 + status4 + status5 + status6 + status3;
|
||||||
|
return {
|
||||||
|
rowNo:(index + 1).toString(),
|
||||||
|
rootName:rootName.toString(),
|
||||||
|
pass:status2.toString(),
|
||||||
|
extand:status7.toString(),
|
||||||
|
suspension: "-",
|
||||||
|
changePos:status4.toString(),
|
||||||
|
resign:status5.toString(),
|
||||||
|
deceased:status6.toString(),
|
||||||
|
notPass:status3.toString(),
|
||||||
|
total:sum.toString()
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
resultFalsePass:resultFalsePass.toString(),
|
||||||
|
resultFalseExtand:resultFalseExtand.toString(),
|
||||||
|
resultFalseSuspension: "-",
|
||||||
|
resultFalseChangePos:resultFalseChangePos.toString(),
|
||||||
|
resultFalseResign:resultFalseResign.toString(),
|
||||||
|
resultFalseDeceased:resultFalseDeceased.toString(),
|
||||||
|
resultFalseNotPass:resultFalseNotPass.toString(),
|
||||||
|
sumPass:sumPass.toString(),
|
||||||
|
sumExtand:sumExtand.toString(),
|
||||||
|
sumSuspension:"-",
|
||||||
|
sumChangePos:sumChangePos.toString(),
|
||||||
|
sumResign:sumResign.toString(),
|
||||||
|
sumDeceased:sumDeceased.toString(),
|
||||||
|
sumNotPass:sumNotPass.toString(),
|
||||||
|
sumResultTrue:sumResultTrue.toString(),
|
||||||
|
sumResultFalse:sumResultFalse.toString(),
|
||||||
|
sumAll:sumAll.toString()
|
||||||
|
};
|
||||||
return new HttpSuccess({
|
return new HttpSuccess({
|
||||||
template: "placementProbation03",
|
template: "placementProbation03",
|
||||||
reportName: "xlsx-report",
|
reportName: "xlsx-report",
|
||||||
data: "",
|
data: formattedData,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,36 @@ class Extension {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public static ToThaiShortMonth(value: number) {
|
||||||
|
switch (value) {
|
||||||
|
case 1:
|
||||||
|
return "ม.ค.";
|
||||||
|
case 2:
|
||||||
|
return "ก.พ.";
|
||||||
|
case 3:
|
||||||
|
return "มี.ค.";
|
||||||
|
case 4:
|
||||||
|
return "เม.ย.";
|
||||||
|
case 5:
|
||||||
|
return "พ.ค.";
|
||||||
|
case 6:
|
||||||
|
return "มิ.ย.";
|
||||||
|
case 7:
|
||||||
|
return "ก.ค.";
|
||||||
|
case 8:
|
||||||
|
return "ส.ค.";
|
||||||
|
case 9:
|
||||||
|
return "ก.ย.";
|
||||||
|
case 10:
|
||||||
|
return "ต.ค.";
|
||||||
|
case 11:
|
||||||
|
return "พ.ย.";
|
||||||
|
case 12:
|
||||||
|
return "ธ.ค.";
|
||||||
|
default:
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static ToThaiYear(value: number) {
|
public static ToThaiYear(value: number) {
|
||||||
if (value < 2400) return value + 543;
|
if (value < 2400) return value + 543;
|
||||||
|
|
@ -67,6 +97,30 @@ class Extension {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ToThaiShortDate(value: Date) {
|
||||||
|
let yy = value.getFullYear() < 2400 ? value.getFullYear() + 543 : value.getFullYear();
|
||||||
|
return (
|
||||||
|
"วันที่ " +
|
||||||
|
value.getDate() +
|
||||||
|
" " +
|
||||||
|
Extension.ToThaiShortMonth(value.getMonth() + 1) +
|
||||||
|
" " +
|
||||||
|
yy.toString().slice(-2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ToThaiNoprefixDate(value: Date) {
|
||||||
|
let yy = value.getFullYear() < 2400 ? value.getFullYear() + 543 : value.getFullYear();
|
||||||
|
return (
|
||||||
|
"วันที่ " +
|
||||||
|
value.getDate() +
|
||||||
|
" " +
|
||||||
|
Extension.ToThaiMonth(value.getMonth() + 1) +
|
||||||
|
" " +
|
||||||
|
yy.toString().slice(-2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
public static ToThaiFullDate2(value: Date) {
|
public static ToThaiFullDate2(value: Date) {
|
||||||
let yy = value.getFullYear() < 2400 ? value.getFullYear() + 543 : value.getFullYear();
|
let yy = value.getFullYear() < 2400 ? value.getFullYear() + 543 : value.getFullYear();
|
||||||
return value.getDate() + " " + Extension.ToThaiMonth(value.getMonth() + 1) + " " + yy;
|
return value.getDate() + " " + Extension.ToThaiMonth(value.getMonth() + 1) + " " + yy;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue