diff --git a/src/app/api/resourcesummary/index.ts b/src/app/api/resourcesummary/index.ts
index e2e062e..666849d 100644
--- a/src/app/api/resourcesummary/index.ts
+++ b/src/app/api/resourcesummary/index.ts
@@ -10,6 +10,7 @@ export interface ResourceSummaryResult {
customerCode: string;
customerName: string;
customerCodeAndName: string;
+ subsidiaryCodeAndName: string;
}
export const preloadProjects = () => {
diff --git a/src/components/ProjectCashFlow/ProjectCashFlow.tsx b/src/components/ProjectCashFlow/ProjectCashFlow.tsx
index 2d0bae8..4c5c935 100644
--- a/src/components/ProjectCashFlow/ProjectCashFlow.tsx
+++ b/src/components/ProjectCashFlow/ProjectCashFlow.tsx
@@ -97,8 +97,8 @@ const ProjectCashFlow: React.FC = () => {
cumulativeIncome.push(cashFlowMonthlyChartData[0].incomeList[i].cumulativeIncome)
}
for (var i = 0; i < cashFlowMonthlyChartData[0].expenditureList.length; i++) {
- if (rightMax < cashFlowMonthlyChartData[0].incomeList[i].income || rightMax < cashFlowMonthlyChartData[0].expenditureList[i].expenditure){
- rightMax = Math.max(cashFlowMonthlyChartData[0].incomeList[i].income,cashFlowMonthlyChartData[0].expenditureList[i].expenditure)
+ if (rightMax < cashFlowMonthlyChartData[0].incomeList[i].cumulativeIncome || rightMax < cashFlowMonthlyChartData[0].expenditureList[i].cumulativeExpenditure){
+ rightMax = Math.max(cashFlowMonthlyChartData[0].incomeList[i].cumulativeIncome,cashFlowMonthlyChartData[0].expenditureList[i].cumulativeExpenditure)
}
monthlyExpenditure.push(cashFlowMonthlyChartData[0].expenditureList[i].expenditure)
cumulativeExpenditure.push(cashFlowMonthlyChartData[0].expenditureList[i].cumulativeExpenditure)
@@ -141,11 +141,12 @@ const ProjectCashFlow: React.FC = () => {
}
monthlyAnticipateIncome.push(cashFlowAnticipateData[0].anticipateIncomeList[i].anticipateIncome)
}
+ setMonthlyAnticipateIncomeList(monthlyAnticipateIncome)
} else {
setMonthlyAnticipateIncomeList([0,0,0,0,0,0,0,0,0,0,0,0])
setMonthlyAnticipateExpenditureList([0,0,0,0,0,0,0,0,0,0,0,0])
}
- setMonthlyAnticipateIncomeList(monthlyAnticipateIncome)
+
console.log(cashFlowAnticipateData)
if(cashFlowAnticipateData.length !== 0){
if (cashFlowAnticipateData[0].anticipateExpenditureList.length !== 0) {
@@ -175,7 +176,7 @@ const ProjectCashFlow: React.FC = () => {
}
setMonthlyAnticipateExpenditureList(result)
for (var i = 0; i < monthlyAnticipateIncome.length; i++) {
- if (anticipateLeftMax < monthlyAnticipateIncome[i] || result[i]){
+ if (anticipateLeftMax < monthlyAnticipateIncome[i] || anticipateLeftMax < result[i]){
anticipateLeftMax = Math.max(monthlyAnticipateIncome[i],result[i])
}
setMonthlyAnticipateLeftMax(anticipateLeftMax)
@@ -432,6 +433,13 @@ const ProjectCashFlow: React.FC = () => {
};
const anticipateOptions: ApexOptions = {
+ tooltip: {
+ y: {
+ formatter: function(val) {
+ return val.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 });
+ }
+ }
+ },
chart: {
height: 350,
type: "line",
diff --git a/src/components/ProjectResourceSummary/ProjectResourceSummary.tsx b/src/components/ProjectResourceSummary/ProjectResourceSummary.tsx
index 0e5ea60..7805def 100644
--- a/src/components/ProjectResourceSummary/ProjectResourceSummary.tsx
+++ b/src/components/ProjectResourceSummary/ProjectResourceSummary.tsx
@@ -135,6 +135,10 @@ const ProjectResourceSummary: React.FC = () => {
subStageList.push(subStageResult[i].plannedResources)
subStageList.push(subStageResult[i].actualResourcesSpent)
}
+ if (i === subStageResult.length-1) {
+ subStageSecondLayerList.push(subStageList)
+ subStageFullList.push(subStageSecondLayerList)
+ }
}
console.log(subStageFullList)
@@ -157,6 +161,9 @@ const ProjectResourceSummary: React.FC = () => {
mainStageList.push(mainStageResult[i].plannedResources)
mainStageList.push(mainStageResult[i].actualResourcesSpent)
}
+ if (i === mainStageResult.length - 1) {
+ mainStageFullList.push(createData(mainStageList,subStageFullList[arrayNumber]))
+ }
}
setRows(mainStageFullList)
}
@@ -238,20 +245,20 @@ const ProjectResourceSummary: React.FC = () => {
)}
- {row.stage}
- {row.taskCount}
- {row.g1Planned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
- {row.g1Actual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
- {row.g2Planned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
- {row.g2Actual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
- {row.g3Planned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
- {row.g3Actual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
- {row.g4Planned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
- {row.g4Actual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
- {row.g5Planned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
- {row.g5Actual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
- {row.totalPlanned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
- {row.totalActual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.stage}
+ {row.taskCount}
+ {row.g1Planned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.g1Actual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.g2Planned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.g2Actual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.g3Planned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.g3Actual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.g4Planned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.g4Actual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.g5Planned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.g5Actual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.totalPlanned.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {row.totalActual.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
{row.task.map((taskRow:any) => (
@@ -274,7 +281,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[0]}
+ {taskRow[0]}
@@ -287,7 +294,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[1]}
+ {taskRow[1]}
@@ -300,7 +307,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[4].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[4].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -313,7 +320,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[5].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[5].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -326,7 +333,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[6].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[6].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -339,7 +346,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[7].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[7].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -352,7 +359,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[8].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[8].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -365,7 +372,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[9].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[9].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -378,7 +385,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[10].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[10].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -391,7 +398,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[11].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[11].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -404,7 +411,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[12].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[12].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -417,7 +424,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[13].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[13].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -430,7 +437,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[2].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[2].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -443,7 +450,7 @@ const ProjectResourceSummary: React.FC = () => {
- {taskRow[3].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
+ {taskRow[3].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
@@ -666,11 +673,11 @@ const columns2 = [
{/*
-
+
*/}
{/* */}
-
+
@@ -697,20 +704,20 @@ const columns2 = [
- Stage
- Task Count
- Planned
- Actual
- Planned
- Actual
- Planned
- Actual
- Planned
- Actual
- Planned
- Actual
- Planned
- Actual
+ Stage
+ Task Count
+ Planned
+ Actual
+ Planned
+ Actual
+ Planned
+ Actual
+ Planned
+ Actual
+ Planned
+ Actual
+ Planned
+ Actual
diff --git a/src/components/ProjectResourceSummarySearch/ProjectResourceSummarySearch.tsx b/src/components/ProjectResourceSummarySearch/ProjectResourceSummarySearch.tsx
index cd356d3..eeae876 100644
--- a/src/components/ProjectResourceSummarySearch/ProjectResourceSummarySearch.tsx
+++ b/src/components/ProjectResourceSummarySearch/ProjectResourceSummarySearch.tsx
@@ -58,6 +58,7 @@ const ProjectResourceSummarySearch: React.FC = ({ projects }) => {
{ name: "projectCode", label: t("Project Code") },
{ name: "projectName", label: t("Project Name") },
{ name: "customerCodeAndName", label: t("Client Code And Name") },
+ { name: "subsidiaryCodeAndName", label: t("Subsidiary Code And Name")}
],
[onTaskClick, t],
// [t],