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 { EvaluateCommander } from "../entities/EvaluateCommander";
|
||||
import CallAPI from "../interfaces/call-api";
|
||||
import { Double, In } from "typeorm";
|
||||
import { Between, Double, In } from "typeorm";
|
||||
import Extension from "../interfaces/extension";
|
||||
import { Appoint } from "../entities/Appoint";
|
||||
import { AppointDirector } from "../entities/AppointDirector";
|
||||
|
|
@ -51,6 +51,7 @@ export class ReportController extends Controller {
|
|||
private evaluateCommanderRepository = AppDataSource.getRepository(EvaluateCommander);
|
||||
private appointRepository = AppDataSource.getRepository(Appoint);
|
||||
private AppointDirectorRepository = AppDataSource.getRepository(AppointDirector);
|
||||
private assignRepository = AppDataSource.getRepository(Assign);
|
||||
private assignOutputRepository = AppDataSource.getRepository(AssignOutput);
|
||||
/**
|
||||
* API สำหรับออกรายงาน
|
||||
|
|
@ -1397,11 +1398,192 @@ export class ReportController extends Controller {
|
|||
@Query("startDate") startDate?: Date,
|
||||
@Query("endDate") endDate?: Date,
|
||||
) {
|
||||
return new HttpSuccess({
|
||||
template: "placementProbation01",
|
||||
reportName: "xlsx-report",
|
||||
data: "",
|
||||
});
|
||||
|
||||
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,
|
||||
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")
|
||||
|
|
@ -1427,10 +1609,191 @@ export class ReportController extends Controller {
|
|||
@Query("startDate") startDate?: 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({
|
||||
template: "placementProbation03",
|
||||
reportName: "xlsx-report",
|
||||
data: "",
|
||||
data: formattedData,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,36 @@ class Extension {
|
|||
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) {
|
||||
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) {
|
||||
let yy = value.getFullYear() < 2400 ? value.getFullYear() + 543 : value.getFullYear();
|
||||
return value.getDate() + " " + Extension.ToThaiMonth(value.getMonth() + 1) + " " + yy;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue