diff --git a/src/views/SimproV2/CreatedProyek/ReportAnalysis.js b/src/views/SimproV2/CreatedProyek/ReportAnalysis.js
index 7bc00bc..c46dad4 100644
--- a/src/views/SimproV2/CreatedProyek/ReportAnalysis.js
+++ b/src/views/SimproV2/CreatedProyek/ReportAnalysis.js
@@ -1,4 +1,4 @@
-import React, {useState, useEffect} from 'react'
+import React, { useState, useEffect } from 'react'
import {
Modal,
ModalHeader,
@@ -73,67 +73,76 @@ const ReportAnalysis = ({ openDialog, closeDialog, toggleDialog, projectId }) =>
};
const columns = [
- {title: "Gantt", dataIndex: "name_version", key: "name_version"},
- {title: "Baseline Start", dataIndex: "planned_start", key: "planned_start",
+ { title: "Gantt", dataIndex: "name_version", key: "name_version" },
+ {
+ title: "Baseline Start", dataIndex: "planned_start", key: "planned_start",
render: (text, record) => (
- <>
- {record.planned_start ? moment(record.planned_start).format("DD-MM-YY") : ''}
- >
- ),
+ <>
+ {record.planned_start ? moment(record.planned_start).format("DD-MM-YY") : ''}
+ >
+ ),
},
- {title: "Baseline Finish", dataIndex: "planned_end", key: "planned_end",
+ {
+ title: "Baseline Finish", dataIndex: "planned_end", key: "planned_end",
render: (text, record) => (
- <>
- {record.planned_end ? moment(record.planned_end).format("DD-MM-YY") : ''}
- >
- ),
+ <>
+ {record.planned_end ? moment(record.planned_end).format("DD-MM-YY") : ''}
+ >
+ ),
},
- {title: "Early Start", dataIndex: "start_date", key: "start_date",
+ {
+ title: "Early Start", dataIndex: "start_date", key: "start_date",
render: (text, record) => (
- <>
- {moment(record.start_date).format("DD-MM-YY")}
- >
- ),
+ <>
+ {moment(record.start_date).format("DD-MM-YY")}
+ >
+ ),
},
- {title: "Early Finish", dataIndex: "end_date", key: "end_date",
+ {
+ title: "Early Finish", dataIndex: "end_date", key: "end_date",
render: (text, record) => (
- <>
- {moment(record.end_date).format("DD-MM-YY")}
- >
- ),
+ <>
+ {moment(record.end_date).format("DD-MM-YY")}
+ >
+ ),
},
- {title: "Actual Start", dataIndex: "actual_start", key: "actual_start",
+ {
+ title: "Actual Start", dataIndex: "actual_start", key: "actual_start",
render: (text, record) => (
- <>
- {record.actual_start ? moment(record.actual_start).format("DD-MM-YY") : ""}
- >
- ),
+ <>
+ {record.actual_start ? moment(record.actual_start).format("DD-MM-YY") : ""}
+ >
+ ),
},
- {title: "Actual Finish", dataIndex: "actual_end", key: "actual_end",
+ {
+ title: "Actual Finish", dataIndex: "actual_end", key: "actual_end",
render: (text, record) => (
- <>
- {record.actual_end ? moment(record.actual_end).format("DD-MM-YY") : ""}
- >
- ),
+ <>
+ {record.actual_end ? moment(record.actual_end).format("DD-MM-YY") : ""}
+ >
+ ),
},
- {title: "Assign HR", dataIndex: "user_name", key: "user_name", width: "8%",
- ellipsis:{
- showTitle: true
- },
- render: (text) =>
-
- {text}
-
+ {
+ title: "Assign HR", dataIndex: "user_name", key: "user_name", width: "8%",
+ ellipsis: {
+ showTitle: true
+ },
+ render: (text) =>
+
+ {text}
+
},
- {title: "Volume Plan", dataIndex: "qty_planning", key: "qty_planning",
- render: (text, record) =>
- <>
- {text ? text : 0}
- >
+ {
+ title: "Volume Plan", dataIndex: "qty_planning", key: "qty_planning",
+ render: (text, record) =>
+ <>
+ {text ? text : 0}
+ >
},
- {title: "Volume Actual", dataIndex: "qty", key: "qty"},
- {title: "Progress Plan (%)", dataIndex: "persentase_progress", key: "persentase_progress",
- render: (text, record) => {
+ { title: "Volume Actual", dataIndex: "qty", key: "qty" },
+ {
+ title: "Progress Plan (%)", dataIndex: "persentase_progress", key: "persentase_progress",
+ render: (text, record) => {
const startDate = moment(record.start_date);
const duration = record.duration;
@@ -148,7 +157,7 @@ const ReportAnalysis = ({ openDialog, closeDialog, toggleDialog, projectId }) =>
);
},
},
- {title: "Progress Actual (%)", dataIndex: "persentase_progress", key: "persentase_progress", width: "8%"},
+ { title: "Progress Actual (%)", dataIndex: "persentase_progress", key: "persentase_progress", width: "8%" },
{
title: 'Action',
dataIndex: '',
@@ -165,59 +174,67 @@ const ReportAnalysis = ({ openDialog, closeDialog, toggleDialog, projectId }) =>
]
const columnActivityToHr = [
- {title: "Activity", dataIndex: "join_second_name", key: "join_second_name"},
- {title: "Gantt", dataIndex: "join_fourth_name_version", key: "join_fourth_name_version"},
- {title: "Baseline Start", dataIndex: "join_second_planned_start", key: "join_second_planned_start",
+ { title: "Activity", dataIndex: "join_second_name", key: "join_second_name" },
+ { title: "Gantt", dataIndex: "join_fourth_name_version", key: "join_fourth_name_version" },
+ {
+ title: "Baseline Start", dataIndex: "join_second_planned_start", key: "join_second_planned_start",
render: (text, record) => (
- <>
- {moment(record.join_second_planned_start).format("DD-MM-YY")}
- >
- ),
+ <>
+ {moment(record.join_second_planned_start).format("DD-MM-YY")}
+ >
+ ),
},
- {title: "Baseline Finish", dataIndex: "join_second_planned_end", key: "join_second_planned_end",
+ {
+ title: "Baseline Finish", dataIndex: "join_second_planned_end", key: "join_second_planned_end",
render: (text, record) => (
- <>
- {moment(record.join_second_planned_end).format("DD-MM-YY")}
- >
- ),
+ <>
+ {moment(record.join_second_planned_end).format("DD-MM-YY")}
+ >
+ ),
},
- {title: "Early Start", dataIndex: "join_second_start_date", key: "join_second_start_date",
+ {
+ title: "Early Start", dataIndex: "join_second_start_date", key: "join_second_start_date",
render: (text, record) => (
- <>
- {moment(record.join_second_start_date).format("DD-MM-YY")}
- >
- ),
+ <>
+ {moment(record.join_second_start_date).format("DD-MM-YY")}
+ >
+ ),
},
- {title: "Early Finish", dataIndex: "join_second_end_date", key: "join_second_end_date",
+ {
+ title: "Early Finish", dataIndex: "join_second_end_date", key: "join_second_end_date",
render: (text, record) => (
- <>
- {moment(record.join_second_end_date).format("DD-MM-YY")}
- >
- ),
+ <>
+ {moment(record.join_second_end_date).format("DD-MM-YY")}
+ >
+ ),
},
- {title: "Actual Start", dataIndex: "join_second_actual_start", key: "join_second_actual_start",
+ {
+ title: "Actual Start", dataIndex: "join_second_actual_start", key: "join_second_actual_start",
render: (text, record) => (
- <>
- {record.join_second_actual_start ? moment(record.join_second_actual_start).format("DD-MM-YY") : ""}
- >
- ),
+ <>
+ {record.join_second_actual_start ? moment(record.join_second_actual_start).format("DD-MM-YY") : ""}
+ >
+ ),
},
- {title: "Actual Finish", dataIndex: "join_second_actual_end", key: "join_second_actual_end",
+ {
+ title: "Actual Finish", dataIndex: "join_second_actual_end", key: "join_second_actual_end",
render: (text, record) => (
- <>
- {record.join_second_actual_end ? moment(record.join_second_actual_end).format("DD-MM-YY") : ""}
- >
- ),
+ <>
+ {record.join_second_actual_end ? moment(record.join_second_actual_end).format("DD-MM-YY") : ""}
+ >
+ ),
},
- {title: "Volume Plan", dataIndex: "join_third_qty_planning", key: "join_third_qty_planning",
- render: (text, record) =>
- <>
- {text ? text : 0}
- >
+ {
+ title: "Volume Plan", dataIndex: "join_third_qty_planning", key: "join_third_qty_planning",
+ render: (text, record) =>
+ <>
+ {text ? text : 0}
+ >
},
- {title: "Volume Actual", dataIndex: "volume_actual", key: "volume_actual"},
- {title: "Progress Plan (%)", dataIndex: "join_second_persentase_progress", key: "persentase_progress",
- render: (text, record) => {
+ { title: "Volume Actual", dataIndex: "volume_actual", key: "volume_actual" },
+ {
+ title: "Progress Plan (%)", dataIndex: "join_second_persentase_progress", key: "persentase_progress",
+ render: (text, record) => {
const startDate = moment(record.join_second_start_date);
const duration = record.join_second_duration;
@@ -232,20 +249,20 @@ const ReportAnalysis = ({ openDialog, closeDialog, toggleDialog, projectId }) =>
);
},
},
- {title: "Progress Actual (%)", dataIndex: "join_second_persentase_progress", key: "persentase_progress"},
+ { title: "Progress Actual (%)", dataIndex: "join_second_persentase_progress", key: "persentase_progress" },
{
- title: 'Action',
- dataIndex: '',
- key: 'id',
- className: "nowrap",
- render: (text, record) =>
- <>
-
-
- {" "}
- >
- ,
- },
+ title: 'Action',
+ dataIndex: '',
+ key: 'id',
+ className: "nowrap",
+ render: (text, record) =>
+ <>
+
+
+ {" "}
+ >
+ ,
+ },
]
useEffect(() => {
@@ -297,10 +314,10 @@ const ReportAnalysis = ({ openDialog, closeDialog, toggleDialog, projectId }) =>
if (status == "Save") {
// getdataGantt()
NotificationManager.success(`Gantt berhasil dibuat!`, 'Success!!');
- }else if (status == "Edit") {
+ } else if (status == "Edit") {
// getdataGantt()
NotificationManager.success(`Gantt berhasil dibubah!`, 'Failed!!');
- }else if (status == "failed") {
+ } else if (status == "failed") {
NotificationManager.error(`Gantt gagal dibuat!`, 'Failed!!');
}
setDataDetail(null)
@@ -338,7 +355,21 @@ const ReportAnalysis = ({ openDialog, closeDialog, toggleDialog, projectId }) =>
if (result && result.data && result.data.code == 200) {
let dataRes = result.data.data || [];
- setHrList(dataRes);
+ let groupedData = {};
+
+ dataRes.forEach(data => {
+ if (groupedData[data.join_first_name]) {
+ groupedData[data.join_first_name].join_first_id = Math.min(groupedData[data.join_first_name].join_first_id, data.join_first_id);
+ } else {
+ groupedData[data.join_first_name] = {
+ join_first_id: data.join_first_id,
+ join_first_name: data.join_first_name
+ };
+ }
+ });
+ let dataFiltered = Object.values(groupedData);
+
+ setHrList(dataFiltered);
} else {
NotificationManager.error("Gagal Mengambil Data!!", "Failed");
}
@@ -382,21 +413,21 @@ const ReportAnalysis = ({ openDialog, closeDialog, toggleDialog, projectId }) =>
name1: "m_activity",
name: "assign_material_to_activity",
column_join: "id",
- column_self:"activity_id",
- column_results: ["id", "qty_planning"]
+ column_self: "activity_id",
+ column_results: ["qty_planning"]
},
{
name1: "m_activity",
name: "m_version_gantt",
column_join: "version_gantt_id",
- column_self:"id",
+ column_self: "id",
column_results: ["name_version"]
},
{
name1: "m_activity",
name: "report_activity_material",
column_join: "id",
- column_self:"activity_id",
+ column_self: "activity_id",
},
],
orders: { columns: ["id"], ascending: false },
@@ -411,7 +442,7 @@ const ReportAnalysis = ({ openDialog, closeDialog, toggleDialog, projectId }) =>
if (result && result.data && result.data.code == 200) {
let dataRes = result.data.data || [];
dataRes.forEach(element => {
- element.join_third_persentase_progress ? sum += parseInt(element.join_third_persentase_progress) : sum += 0;
+ element.join_third_persentase_progress ? sum += parseInt(element.join_third_persentase_progress) : sum += 0;
});
setAvgActivityHr(sum / dataRes.length);
setDataTableActivityToHr(dataRes);
@@ -485,9 +516,9 @@ const ReportAnalysis = ({ openDialog, closeDialog, toggleDialog, projectId }) =>
let dataRes = result.data.data || [];
dataRes.forEach(element => {
- element.persentase_progress ? sum += parseInt(element.persentase_progress) : sum += 0;
- element.qty_planning ? sumPlan += parseInt(element.qty_planning) : sumPlan += 0;
- element.qty ? sumAct += parseInt(element.qty) : sumAct += 0;
+ element.persentase_progress ? sum += parseInt(element.persentase_progress) : sum += 0;
+ element.qty_planning ? sumPlan += parseInt(element.qty_planning) : sumPlan += 0;
+ element.qty ? sumAct += parseInt(element.qty) : sumAct += 0;
});
setAvgActivity(sum / dataRes.length);
setSumVolPlan(sumPlan);
@@ -536,9 +567,9 @@ const ReportAnalysis = ({ openDialog, closeDialog, toggleDialog, projectId }) =>
@@ -573,9 +604,9 @@ const ReportAnalysis = ({ openDialog, closeDialog, toggleDialog, projectId }) =>