diff --git a/src/controllers/ReportController.ts b/src/controllers/ReportController.ts index 87c2203..2cdb73a 100644 --- a/src/controllers/ReportController.ts +++ b/src/controllers/ReportController.ts @@ -76,12 +76,12 @@ export class ReportController extends Controller { return { strategy: item.strategy1, projectName: item.projectName, - totalDate: item.totalDate != null && item.totalDate != "" ? Extension.ToThaiNumber(item.totalDate.toString()): "-", - goalParticipants: item.goalParticipants != null && item.goalParticipants != "" ? Extension.ToThaiNumber(item.goalParticipants.toString()): "-", - actualParticipants: item.actualParticipants != null && item.actualParticipants != "" ? Extension.ToThaiNumber(item.actualParticipants.toString()): "-", + totalDate: item.totalDate != null && item.totalDate != "" ? Extension.ToThaiNumber(item.totalDate.toLocaleString()): "-", + goalParticipants: item.goalParticipants != null && item.goalParticipants != "" ? Extension.ToThaiNumber(item.goalParticipants.toLocaleString()): "-", + actualParticipants: item.actualParticipants != null && item.actualParticipants != "" ? Extension.ToThaiNumber(item.actualParticipants.toLocaleString()): "-", budget: budget, - acceptBudget: item.acceptBudget != null && item.acceptBudget != "" ? Extension.ToThaiNumber(item.acceptBudget.toString()): "-", - receiveBudget: item.receiveBudget != null && item.receiveBudget != "" ? Extension.ToThaiNumber(item.receiveBudget.toString()): "-", + acceptBudget: item.acceptBudget != null && item.acceptBudget != "" ? Extension.ToThaiNumber(item.acceptBudget.toLocaleString()): "-", + receiveBudget: item.receiveBudget != null && item.receiveBudget != "" ? Extension.ToThaiNumber(item.receiveBudget.toLocaleString()): "-", obstacle: item.obstacle, root: item.root, output: "-", @@ -166,6 +166,18 @@ export class ReportController extends Controller { return acc; }, []); + let sumDev1 = 0; + let sumTraget1 = 0; + let sumBudget1 = 0; + let sumDev2 = 0; + let sumTraget2 = 0; + let sumBudget2 = 0; + let sumDev3 = 0; + let sumTraget3 = 0; + let sumBudget3 = 0; + let sumDev4 = 0; + let sumTraget4 = 0; + let sumBudget4 = 0; const reformattedData = groupedData.map((group,x) => { const sumRowDev = (group.strategy[0] && group.strategy[0].devCount !== "-" ? Number(group.strategy[0].devCount) : 0) + (group.strategy[1] && group.strategy[1].devCount !== "-" ? Number(group.strategy[1].devCount) : 0) + @@ -175,38 +187,70 @@ export class ReportController extends Controller { (group.strategy[1] && group.strategy[1].receiveBudget !== "-" ? Number(group.strategy[1].receiveBudget) : 0) + (group.strategy[2] && group.strategy[2].receiveBudget !== "-" ? Number(group.strategy[2].receiveBudget) : 0); (group.strategy[3] && group.strategy[3].receiveBudget !== "-" ? Number(group.strategy[3].receiveBudget) : 0); - + sumDev1 = groupedData.reduce((sum, group) => { + const devCount = group.strategy[0] && group.strategy[0].devCount !== "-" ? Number(group.strategy[0].devCount) : 0; + return sum + devCount; + }, 0); + sumBudget1 = groupedData.reduce((sum, group) => { + const devCount = group.strategy[0] && group.strategy[0].receiveBudget !== "-" ? Number(group.strategy[0].receiveBudget) : 0; + return sum + devCount; + }, 0); + sumDev2 = groupedData.reduce((sum, group) => { + const devCount = group.strategy[1] && group.strategy[1].devCount !== "-" ? Number(group.strategy[1].devCount) : 0; + return sum + devCount; + }, 0); + sumBudget2 = groupedData.reduce((sum, group) => { + const devCount = group.strategy[1] && group.strategy[1].receiveBudget !== "-" ? Number(group.strategy[1].receiveBudget) : 0; + return sum + devCount; + }, 0); + sumDev3 = groupedData.reduce((sum, group) => { + const devCount = group.strategy[2] && group.strategy[2].devCount !== "-" ? Number(group.strategy[2].devCount) : 0; + return sum + devCount; + }, 0); + sumBudget3 = groupedData.reduce((sum, group) => { + const devCount = group.strategy[2] && group.strategy[2].receiveBudget !== "-" ? Number(group.strategy[2].receiveBudget) : 0; + return sum + devCount; + }, 0); + sumDev4 = groupedData.reduce((sum, group) => { + const devCount = group.strategy[3] && group.strategy[3].devCount !== "-" ? Number(group.strategy[3].devCount) : 0; + return sum + devCount; + }, 0); + sumBudget4 = groupedData.reduce((sum, group) => { + const devCount = group.strategy[3] && group.strategy[3].receiveBudget !== "-" ? Number(group.strategy[3].receiveBudget) : 0; + return sum + devCount; + }, 0); + const formattedGroup = { rowNo: x?Extension.ToThaiNumber((x + 1).toString()):Extension.ToThaiNumber("๑"), rootId: group.rootId, root: group.root, strategyName1: group.strategy[0]&&group.strategy[0].strategyName?group.strategy[0].strategyName:"-", - devCount1: group.strategy[0]&&group.strategy[0].devCount?Extension.ToThaiNumber(group.strategy[0].devCount.toString()):"-", + devCount1: group.strategy[0]&&group.strategy[0].devCount?Extension.ToThaiNumber(group.strategy[0].devCount.toLocaleString()):"-", target1: "-", - receiveBudget1: group.strategy[0]&&group.strategy[0].receiveBudget?Extension.ToThaiNumber(group.strategy[0].receiveBudget.toString()):"-", + receiveBudget1: group.strategy[0]&&group.strategy[0].receiveBudget?Extension.ToThaiNumber(group.strategy[0].receiveBudget.toLocaleString()):"-", strategyName2: group.strategy[1]&&group.strategy[1].strategyName?group.strategy[1].strategyName:"-", - devCount2: group.strategy[1]&&group.strategy[1].devCount?Extension.ToThaiNumber(group.strategy[1].devCount.toString()):"-", + devCount2: group.strategy[1]&&group.strategy[1].devCount?Extension.ToThaiNumber(group.strategy[1].devCount.toLocaleString()):"-", target2: "-", - receiveBudget2: group.strategy[1]&&group.strategy[1].receiveBudget?Extension.ToThaiNumber(group.strategy[1].receiveBudget.toString()):"-", + receiveBudget2: group.strategy[1]&&group.strategy[1].receiveBudget?Extension.ToThaiNumber(group.strategy[1].receiveBudget.toLocaleString()):"-", strategyName3: group.strategy[2]&&group.strategy[2].strategyName?group.strategy[2].strategyName:"-", - devCount3: group.strategy[2]&&group.strategy[2].devCount?Extension.ToThaiNumber(group.strategy[2].devCount.toString()):"-", + devCount3: group.strategy[2]&&group.strategy[2].devCount?Extension.ToThaiNumber(group.strategy[2].devCount.toLocaleString()):"-", target3: "-", - receiveBudget3: group.strategy[2]&&group.strategy[2].receiveBudget?Extension.ToThaiNumber(group.strategy[2].receiveBudget.toString()):"-", + receiveBudget3: group.strategy[2]&&group.strategy[2].receiveBudget?Extension.ToThaiNumber(group.strategy[2].receiveBudget.toLocaleString()):"-", strategyName4: group.strategy[3]&&group.strategy[3].strategyName?group.strategy[3].strategyName:"-", - devCount4: group.strategy[3]&&group.strategy[3].devCount?Extension.ToThaiNumber(group.strategy[3].devCount.toString()):"-", + devCount4: group.strategy[3]&&group.strategy[3].devCount?Extension.ToThaiNumber(group.strategy[3].devCount.toLocaleString()):"-", target4: "-", - receiveBudget4: group.strategy[3]&&group.strategy[3].receiveBudget?Extension.ToThaiNumber(group.strategy[3].receiveBudget.toString()):"-", + receiveBudget4: group.strategy[3]&&group.strategy[3].receiveBudget?Extension.ToThaiNumber(group.strategy[3].receiveBudget.toLocaleString()):"-", - sumRowDev: sumRowDev?Extension.ToThaiNumber(sumRowDev.toString()):"-", + sumRowDev: sumRowDev?Extension.ToThaiNumber(sumRowDev.toLocaleString()):"-", sumRowTarget: "-", - sumRowBudget: sumRowBudget?Extension.ToThaiNumber(sumRowBudget.toString()):"-", + sumRowBudget: sumRowBudget?Extension.ToThaiNumber(sumRowBudget.toLocaleString()):"-", // strategy: Array(4).fill(null).map((_, index) => { // const strategy = group.strategy[index] || { // strategyName: "", @@ -245,19 +289,21 @@ export class ReportController extends Controller { data: { data: mappedDataDev, resultAllStrategy: reformattedData, - sumDev1: "-", - sumTraget1: "-", - sumBudget1: "-", - sumDev2: "-", - sumTraget2: "-", - sumBudget2: "-", - sumDev3: "-", - sumTraget3: "-", - sumBudget3: "-", - sumDev4: "-", - sumTraget4: "-", - sumBudget4: "-", - + sumDev1: Extension.ToThaiNumber(sumDev1.toLocaleString())??"-", + sumTraget1: Extension.ToThaiNumber(sumTraget1.toLocaleString())??"-", + sumBudget1: Extension.ToThaiNumber(sumBudget1.toLocaleString())??"-", + sumDev2: Extension.ToThaiNumber(sumDev2.toLocaleString())??"-", + sumTraget2: Extension.ToThaiNumber(sumTraget2.toLocaleString())??"-", + sumBudget2: Extension.ToThaiNumber(sumBudget2.toLocaleString())??"-", + sumDev3: Extension.ToThaiNumber(sumDev3.toLocaleString())??"-", + sumTraget3: Extension.ToThaiNumber(sumTraget3.toLocaleString())??"-", + sumBudget3: Extension.ToThaiNumber(sumBudget3.toLocaleString())??"-", + sumDev4: Extension.ToThaiNumber(sumDev4.toLocaleString())??"-", + sumTraget4: Extension.ToThaiNumber(sumTraget4.toLocaleString())??"-", + sumBudget4: Extension.ToThaiNumber(sumBudget4.toLocaleString())??"-", + sumAllDev: Extension.ToThaiNumber((sumDev1 + sumDev2 + sumDev3 + sumDev4).toLocaleString())??"-", + sumTraget: Extension.ToThaiNumber((sumTraget1 +sumTraget2 +sumTraget3 +sumTraget4).toLocaleString())??"-", + sumAllBudget: Extension.ToThaiNumber((sumBudget1 + sumBudget2 + sumBudget3 + sumBudget4).toLocaleString())??"-", }, }); }