diff --git a/src/controllers/ReportController.ts b/src/controllers/ReportController.ts index 4a5a689..6bcf86a 100644 --- a/src/controllers/ReportController.ts +++ b/src/controllers/ReportController.ts @@ -136,8 +136,8 @@ export class ReportController extends Controller { existingRoot.strategy.push({ strategyId: item.strategyId, strategyName: item.strategyName, - devCount: item.devCount?Extension.ToThaiNumber(item.devCount.toString()):"0", - receiveBudget: item.receiveBudget?Extension.ToThaiNumber(item.receiveBudget.toString()):"0", + devCount: item.devCount?item.devCount:"-", + receiveBudget: item.receiveBudget?item.receiveBudget:"-", sumDev: "", sumTraget: "", sumBudget: "", @@ -152,8 +152,8 @@ export class ReportController extends Controller { strategy: [{ strategyId: item.strategyId, strategyName: item.strategyName, - devCount: item.devCount?Extension.ToThaiNumber(item.devCount.toString()):"0", - receiveBudget: item.receiveBudget?Extension.ToThaiNumber(item.receiveBudget.toString()):"0", + devCount: item.devCount?item.devCount:"-", + receiveBudget: item.receiveBudget?item.receiveBudget:"-", sumDev: "", sumTraget: "", sumBudget: "", @@ -166,39 +166,74 @@ export class ReportController extends Controller { return acc; }, []); - 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) + + (group.strategy[2] && group.strategy[2].devCount !== "-" ? Number(group.strategy[2].devCount) : 0); + (group.strategy[3] && group.strategy[3].devCount !== "-" ? Number(group.strategy[3].devCount) : 0); + const sumRowBudget = (group.strategy[0] && group.strategy[0].receiveBudget !== "-" ? Number(group.strategy[0].receiveBudget) : 0) + + (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); + const formattedGroup = { rowNo: x?Extension.ToThaiNumber((x + 1).toString()):Extension.ToThaiNumber("๑"), rootId: group.rootId, root: group.root, - strategy: Array(4).fill(null).map((_, index) => { - const strategy = group.strategy[index] || { - strategyName: "0", - devCount: "0", - target: "0", - receiveBudget: "0", - sumDev: "0", - sumTraget: "0", - sumBudget: "0", - sumRowDev:"0", - sumRowTarget:"0", - sumRowBudget:"0", - }; + 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()):"-", + target1: "-", + receiveBudget1: group.strategy[0]&&group.strategy[0].receiveBudget?Extension.ToThaiNumber(group.strategy[0].receiveBudget.toString()):"-", + - return { - [`strategyName${index + 1}`]: strategy.strategyName ?? "", - [`devCount${index + 1}`]: strategy.devCount ?? "", - [`target${index + 1}`]: "", - [`receiveBudget${index + 1}`]: strategy.receiveBudget ?? "", - [`sumDev${index + 1}`]: strategy.sumDev ?? "", - [`sumTraget${index + 1}`]: strategy.sumTraget ?? "", - [`sumBudget${index + 1}`]: strategy.sumBudget ?? "", - [`sumRowDev`]: strategy.sumRowDev ?? "", - [`sumRowTarget`]: strategy.sumRowTarget ?? "", - [`sumRowBudget`]: strategy.sumRowBudget ?? "", - }; - }), + 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()):"-", + target2: "-", + receiveBudget2: group.strategy[1]&&group.strategy[1].receiveBudget?Extension.ToThaiNumber(group.strategy[1].receiveBudget.toString()):"-", + + + 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()):"-", + target3: "-", + receiveBudget3: group.strategy[2]&&group.strategy[2].receiveBudget?Extension.ToThaiNumber(group.strategy[2].receiveBudget.toString()):"-", + + + 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()):"-", + target4: "-", + receiveBudget4: group.strategy[3]&&group.strategy[3].receiveBudget?Extension.ToThaiNumber(group.strategy[3].receiveBudget.toString()):"-", + + + sumRowDev: sumRowDev?Extension.ToThaiNumber(sumRowDev.toString()):"-", + sumRowTarget: "-", + sumRowBudget: sumRowBudget?Extension.ToThaiNumber(sumRowBudget.toString()):"-", + // strategy: Array(4).fill(null).map((_, index) => { + // const strategy = group.strategy[index] || { + // strategyName: "", + // devCount: "", + // target: "", + // receiveBudget: "", + // sumDev: "", + // sumTraget: "", + // sumBudget: "", + // sumRowDev: "", + // sumRowTarget: "", + // sumRowBudget: "", + // }; + + // return { + // [`strategyName${index + 1}`]: strategy.strategyName ?? "", + // [`devCount${index + 1}`]: strategy.devCount ?? "", + // [`target${index + 1}`]: "", + // [`receiveBudget${index + 1}`]: strategy.receiveBudget ?? "", + // [`sumDev${index + 1}`]: strategy.sumDev ?? "", + // [`sumTraget${index + 1}`]: strategy.sumTraget ?? "", + // [`sumBudget${index + 1}`]: strategy.sumBudget ?? "", + // [`sumRowDev`]: strategy.sumRowDev ?? "", + // [`sumRowTarget`]: strategy.sumRowTarget ?? "", + // [`sumRowBudget`]: strategy.sumRowBudget ?? "", + // }; + // }), }; return formattedGroup; @@ -210,6 +245,19 @@ export class ReportController extends Controller { data: { data: mappedDataDev, resultAllStrategy: reformattedData, + sumDev1: "-", + sumTraget1: "-", + sumBudget1: "-", + sumDev2: "-", + sumTraget2: "-", + sumBudget2: "-", + sumDev3: "-", + sumTraget3: "-", + sumBudget3: "-", + sumDev4: "-", + sumTraget4: "-", + sumBudget4: "-", + }, }); }