diff --git a/Modules/EffortTracking/Config/config.php b/Modules/EffortTracking/Config/config.php index e85f963e98..b182dcee11 100644 --- a/Modules/EffortTracking/Config/config.php +++ b/Modules/EffortTracking/Config/config.php @@ -13,4 +13,5 @@ ], 'default_last_column_in_effort_sheet' => 'G', 'default_start_column_in_effort_sheet' => 'C', + 'default_monthly_approved_pipeline_column_in_effort_sheet' => 'B6', ]; diff --git a/Modules/EffortTracking/Services/EffortTrackingService.php b/Modules/EffortTracking/Services/EffortTrackingService.php index 05ab5b0fb3..ce4a4deadf 100644 --- a/Modules/EffortTracking/Services/EffortTrackingService.php +++ b/Modules/EffortTracking/Services/EffortTrackingService.php @@ -201,7 +201,6 @@ public function getEffortForProject($project) $sheet = $sheets->spreadsheet($sheetId) ->range($range) ->get(); - foreach ($sheet as $rows) { if (count($rows) == 0) { break; @@ -209,6 +208,11 @@ public function getEffortForProject($project) $projectMembersCount++; } + $approvedPipelineRange = config('efforttracking.default_monthly_approved_pipeline_column_in_effort_sheet'); + $approvedPipelineSheet = $sheets->spreadsheet($sheetId) + ->range($approvedPipelineRange) + ->get(); + try { while (true) { $lastColumn++; @@ -296,6 +300,8 @@ public function getEffortForProject($project) try { $effortData['sheet_project'] = $sheetProject; $this->updateEffort($effortData); + $approvedPipelineSheetEffort = ! empty($approvedPipelineSheet[0][0]) ? $approvedPipelineSheet[0][0] : 0; + $this->updateApprovedPipelineEffort($approvedPipelineSheetEffort, $effortData); ProjectMeta::updateOrCreate( [ 'key' => config('project.meta_keys.last_updated_at.key'), @@ -331,6 +337,18 @@ public function getColumnIndex($columnName, $sheetColumns) return false; } + public function updateApprovedPipelineEffort($approvedPipelineSheet, $effortData) + { + Project::updateOrCreate( + [ + 'id' => $effortData['sheet_project']['id'], + ], + [ + 'monthly_approved_pipeline' => $approvedPipelineSheet, + ] + ); + } + public function updateEffort(array $effortData) { $currentDate = now(config('constants.timezone.indian'))->today(); diff --git a/Modules/Project/Database/Migrations/2024_02_26_133946_add_approved_pipline_column.php b/Modules/Project/Database/Migrations/2024_02_26_133946_add_approved_pipline_column.php new file mode 100644 index 0000000000..98bda01645 --- /dev/null +++ b/Modules/Project/Database/Migrations/2024_02_26_133946_add_approved_pipline_column.php @@ -0,0 +1,32 @@ +string('monthly_approved_pipeline')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('projects', function (Blueprint $table) { + $table->dropColumn('monthly_approved_pipeline'); + }); + } +} diff --git a/Modules/Project/Resources/views/show.blade.php b/Modules/Project/Resources/views/show.blade.php index e20d125b5d..bf62a75ae4 100644 --- a/Modules/Project/Resources/views/show.blade.php +++ b/Modules/Project/Resources/views/show.blade.php @@ -81,11 +81,19 @@ {{ $project->total_estimated_hours }} -
-

- -

- {{ optional($project->start_date)->format('d M Y')}} +
+
+

+ +

+ {{ optional($project->start_date)->format('d M Y')}} +
+
+

+ +

+ {{ $project->monthly_approved_pipeline }} +