From dfe0ef2bba2b98522555afd103377b8e8f965111 Mon Sep 17 00:00:00 2001 From: wahyun Date: Wed, 24 Jul 2024 17:51:46 +0700 Subject: [PATCH 1/6] fix: project expenditure label --- src/views/Dashboard/DashboardBOD.js | 53 ++++++++++++----------------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/src/views/Dashboard/DashboardBOD.js b/src/views/Dashboard/DashboardBOD.js index b662d7c..0ca8744 100644 --- a/src/views/Dashboard/DashboardBOD.js +++ b/src/views/Dashboard/DashboardBOD.js @@ -437,20 +437,11 @@ const DashboardBOD = (props) => {
Total Project Expenditure from on-going project.
{PROJECT_EXPENDITURE ? - <>
Detailed View
- {/*
- -
- All Dashboard -
- -
*/} - :
Detailed View
@@ -475,12 +466,7 @@ const DashboardBOD = (props) => { y: { ticks: { autoSkip: false, - stepSize: 2, - // callback: function (value) { - // if (value === 0 || value === null || value === undefined) { - // return ''; - // } - // } + stepSize: 2 } } }, @@ -501,38 +487,41 @@ const DashboardBOD = (props) => { data={{ labels: [ `Target Pendapatan ${moment().format('YYYY')}`, - 'Realisasi Pendapatan', - 'Realisasi Cash In', - 'Anggaran Biaya', - 'Realisasi Anggaran Biaya', - 'Laba' + 'Income Year', + 'Total Nilai Proyek', + // 'Anggaran Biaya', + // 'Realisasi Anggaran Biaya', + // 'Laba' ], datasets: [ { label: '', data: [ - PROJECT_EXPENDITURE?.total_budget || 0, - PROJECT_EXPENDITURE?.total_expenditure || 0, - PROJECT_EXPENDITURE?.total_invoice ? Math.floor(PROJECT_EXPENDITURE.total_invoice) : 0, - PROJECT_EXPENDITURE?.total_paid_invoice || 0, - PROJECT_EXPENDITURE?.total_paid_invoice || 0, - PROJECT_EXPENDITURE?.total_paid_invoice || 0 + // PROJECT_EXPENDITURE?.total_budget || 0, + // PROJECT_EXPENDITURE?.total_expenditure || 0, + // PROJECT_EXPENDITURE?.total_invoice ? Math.floor(PROJECT_EXPENDITURE.total_invoice) : 0, + // PROJECT_EXPENDITURE?.total_paid_invoice || 0, + // PROJECT_EXPENDITURE?.total_paid_invoice || 0, + // PROJECT_EXPENDITURE?.total_paid_invoice || 0 + 98000000000, + PROJECT_EXPENDITURE?.total_income_year || 0, + PROJECT_EXPENDITURE?.total_value_proyek || 0 ], borderColor: [ PROJECT_EXPENDITURE_COLOR?.total_budget || '#480ca8', PROJECT_EXPENDITURE_COLOR?.total_expenditure || '#b5179e', PROJECT_EXPENDITURE_COLOR?.total_invoice || '#a26a16', - PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#4c4747', - PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#e00000', - PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#033a37' + // PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#4c4747', + // PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#e00000', + // PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#033a37' ], backgroundColor: [ PROJECT_EXPENDITURE_COLOR?.total_budget || '#480ca8', PROJECT_EXPENDITURE_COLOR?.total_expenditure || '#b5179e', PROJECT_EXPENDITURE_COLOR?.total_invoice || '#a26a16', - PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#4c4747', - PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#e00000', - PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#033a37' + // PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#4c4747', + // PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#e00000', + // PROJECT_EXPENDITURE_COLOR?.total_paid_invoice || '#033a37' ], borderRadius: 5, borderSkipped: false From 2be284cee10d51bce48f79ec95a90ee61e513933 Mon Sep 17 00:00:00 2001 From: wahyun Date: Wed, 24 Jul 2024 17:52:34 +0700 Subject: [PATCH 2/6] fix: update kolom anggaran biaya <-> nilai kontrak --- src/views/SimproV2/CreatedProyek/DialogFormProyek.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/SimproV2/CreatedProyek/DialogFormProyek.js b/src/views/SimproV2/CreatedProyek/DialogFormProyek.js index e1f99d6..772dd85 100644 --- a/src/views/SimproV2/CreatedProyek/DialogFormProyek.js +++ b/src/views/SimproV2/CreatedProyek/DialogFormProyek.js @@ -765,7 +765,7 @@ const DialogFormProyek = ({ @@ -807,7 +807,7 @@ const DialogFormProyek = ({ Date: Wed, 24 Jul 2024 17:53:17 +0700 Subject: [PATCH 3/6] fix: assigned --- src/views/Dashboard/DashboardProject.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/views/Dashboard/DashboardProject.js b/src/views/Dashboard/DashboardProject.js index 551d630..0abf34c 100644 --- a/src/views/Dashboard/DashboardProject.js +++ b/src/views/Dashboard/DashboardProject.js @@ -152,8 +152,7 @@ const DashboardProject = (props) => { async function fetchData() { await Promise.all([ getManpower(), - getAssignedHR(), - ...(assignedHr.length > 0 ? [getActualHR()] : []), + getAssignedHR() ]); } fetchData(); @@ -219,9 +218,13 @@ const DashboardProject = (props) => { today.isBetween(moment(item.start_date), moment(item.end_date)) ) .map((item) => item.user_id); - setAssignedHrCount(assignedList.length); - setAssignedHr(assignedList); + const uniqueUserIds = new Set(assignedList); + setAssignedHrCount(uniqueUserIds.size); + if (assignedList.length > 0) { + getActualHR(assignedList) + } } catch (error) { + console.error("Failed to get assigned HR:", error); } }; @@ -439,7 +442,7 @@ const DashboardProject = (props) => { result.data.data[0].data?.percentageReal[ result.data.data[0].data?.percentageReal.length - 1 ]; - setActualProgress(actualProgress); + setActualProgress(+(Math.round(actualProgress + "e+2") + "e-2")); } selisihProgress = planningProgress - actualProgress; if (selisihProgress > 0 && selisihProgress <= 20) { @@ -506,10 +509,10 @@ const DashboardProject = (props) => { return; } if (result.status !== 200) { - NotificationManager.error( - `Get integration invoice failed, ${result.data.message}`, - "Failed" - ); + // NotificationManager.error( + // `Get integration invoice failed, ${result.data.message}`, + // "Failed" + // ); setIsReadyIntegrationInvoice(true); return; } else if (result.status == 200 && result.data.data) { From cea23eebc0c2db6c4a3d033205c061aad9d67145 Mon Sep 17 00:00:00 2001 From: wahyun Date: Wed, 24 Jul 2024 19:55:46 +0700 Subject: [PATCH 4/6] feat: add Total Progress in project information --- src/views/SimproV2/CreatedProyek/index.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/views/SimproV2/CreatedProyek/index.js b/src/views/SimproV2/CreatedProyek/index.js index 1700df2..f7b0ea3 100644 --- a/src/views/SimproV2/CreatedProyek/index.js +++ b/src/views/SimproV2/CreatedProyek/index.js @@ -378,6 +378,7 @@ const CreatedProyek = ({ params, ...props }) => { "value_proyek", "income_year", "deleted_at", + "persentase_progress", "deleted_by_id" ], joins: [ @@ -1759,6 +1760,11 @@ const CreatedProyek = ({ params, ...props }) => { : `${formatThousand(text)}`; }, }, + { + title: "Total Progress (%)", dataIndex: "persentase_progress", key: "persentase_progress", render: (text, record) => { + return text ? +(Math.round(text + "e+2") + "e-2") + '%' : 0 + '%' + } + }, { title: "Project Type", dataIndex: "color_progress", From 7411c64e67e8ba6fd909a522c4291c7143f6257d Mon Sep 17 00:00:00 2001 From: wahyun Date: Wed, 24 Jul 2024 19:56:07 +0700 Subject: [PATCH 5/6] feat: add endpoint actual progress project --- src/views/Dashboard/DashboardBOD.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/views/Dashboard/DashboardBOD.js b/src/views/Dashboard/DashboardBOD.js index 0ca8744..5601b4f 100644 --- a/src/views/Dashboard/DashboardBOD.js +++ b/src/views/Dashboard/DashboardBOD.js @@ -61,6 +61,7 @@ const DashboardBOD = (props) => { const [READY_TABLE_DETAIL_EXPENDITURE, SET_READY_TABLE_DETAIL_EXPENDITURE] = useState(false); const [DATA_DETAIL_EXPENDITURE, SET_DATA_DETAIL_EXPENDITURE] = useState([]); useEffect(() => { + actualProgressProject(); getCompanyCashFlow(); // expenditure getCompanyExpenditureColor(); // expenditure Color getCompanyFinancialHealthColor(); // financial health Color @@ -111,6 +112,11 @@ const DashboardBOD = (props) => { SET_PROJECT_EXPENDITURE_COLOR(result.data.data) } + const actualProgressProject = async () => { + const URL = `${BASE_OSPRO}/api/project/actual-progress-project-command`; + const result = await axios.get(URL, HEADER).then(res => res).catch(err => err.response) + } + const getCompanyFinancialHealthColor = async () => { const URL = `${BASE_OSPRO}/api/dashboard/get-detail-financial-health-color/${role_name}` const result = await axios.get(URL, HEADER).then(res => res).catch(err => err.response) From 54f538496ae5c5b633b725be59e3e094e000bff0 Mon Sep 17 00:00:00 2001 From: wahyun Date: Wed, 24 Jul 2024 20:06:50 +0700 Subject: [PATCH 6/6] fix: change nilai kontrak <-> anggaran biaya & typo --- src/views/SimproV2/CreatedProyek/ViewProject.js | 6 +++--- src/views/SimproV2/CreatedProyek/index.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/views/SimproV2/CreatedProyek/ViewProject.js b/src/views/SimproV2/CreatedProyek/ViewProject.js index 009e29e..9456da3 100644 --- a/src/views/SimproV2/CreatedProyek/ViewProject.js +++ b/src/views/SimproV2/CreatedProyek/ViewProject.js @@ -433,7 +433,7 @@ const ViewProject = ({ idTask, openDialog, closeDialog, toggleDialog, projectCha const renderForm = () => { return (
-

Indentitas Proyek

+

Identitas Proyek

@@ -494,7 +494,7 @@ const ViewProject = ({ idTask, openDialog, closeDialog, toggleDialog, projectCha

Nilai Kontrak

@@ -510,7 +510,7 @@ const ViewProject = ({ idTask, openDialog, closeDialog, toggleDialog, projectCha

Anggaran Biaya

diff --git a/src/views/SimproV2/CreatedProyek/index.js b/src/views/SimproV2/CreatedProyek/index.js index f7b0ea3..3eeae26 100644 --- a/src/views/SimproV2/CreatedProyek/index.js +++ b/src/views/SimproV2/CreatedProyek/index.js @@ -1528,7 +1528,7 @@ const CreatedProyek = ({ params, ...props }) => { - Indentitas Proyek + Identitas Proyek
handleOpenDokumen(text)}>
-

 {valueProyek ?? '-'}

+

{currency}. {formatThousand(budget)}

-

{currency}. {formatThousand(budget)}

+

 {valueProyek ?? '-'}