|
|
|
@ -88,7 +88,10 @@ class MasterFunctionsHelper {
|
|
|
|
|
|
|
|
|
|
$dataFinal=[]; |
|
|
|
|
$dataPayload = []; |
|
|
|
|
$dataPayload['period'] = 'week'; |
|
|
|
|
$dataPayload['period'] = 'week'; |
|
|
|
|
$totalACWP = 0; |
|
|
|
|
$totalBCWP = 0; |
|
|
|
|
$tempPercentage = []; |
|
|
|
|
|
|
|
|
|
$dataProject = Project::find($keyGantt['proyek_id']); |
|
|
|
|
$dataHeader = Activity::where('type_activity', 'header')->where("proyek_id", $keyGantt['proyek_id'])->where("version_gantt_id", $keyGantt['id'])->first(); |
|
|
|
@ -110,29 +113,18 @@ class MasterFunctionsHelper {
|
|
|
|
|
->join('m_activity as b', 'b.id', '=', 'a.activity_id') |
|
|
|
|
->where('b.version_gantt_id', '=', $keyGantt['id']) |
|
|
|
|
->exists(); |
|
|
|
|
|
|
|
|
|
if(!$alreadyHasReport) |
|
|
|
|
return $dataFinal; |
|
|
|
|
// note : delete this |
|
|
|
|
// if(!$alreadyHasReport) |
|
|
|
|
// return $dataFinal; |
|
|
|
|
|
|
|
|
|
$minDate = Activity::where('version_gantt_id', $keyGantt['id'])->whereNull('parent_id')->pluck('start_date')->first(); |
|
|
|
|
|
|
|
|
|
$begin = new \DateTime($minDate.' Monday'); |
|
|
|
|
if(isset($dataPayload['end_date'])){ |
|
|
|
|
$maxDate = $dataPayload['end_date']; |
|
|
|
|
$end = new \DateTime($maxDate. ' Friday'); |
|
|
|
|
$end->modify('next Friday'); |
|
|
|
|
/* $interval = \DateInterval::createFromDateString('1 day'); */ // should be using this but its bugged |
|
|
|
|
$interval = new \DateInterval('P7D'); |
|
|
|
|
} else { |
|
|
|
|
$maxDate = DB::table('assign_material_to_activity as ama') |
|
|
|
|
->where("ama.proyek_id", $keyGantt['proyek_id']) |
|
|
|
|
->join('m_activity as a', 'a.id', '=', 'ama.activity_id') |
|
|
|
|
->where('a.version_gantt_id', '=', $keyGantt['id']) |
|
|
|
|
->max("plan_date"); // plan date overlapped with assign_material_to_activity's, it should be m_activity's |
|
|
|
|
$end = new \DateTime($maxDate. ' Friday'); |
|
|
|
|
$end->modify('next Friday'); |
|
|
|
|
$interval = new \DateInterval('P7D'); |
|
|
|
|
} |
|
|
|
|
$maxDate = date('Y-m-d'); |
|
|
|
|
$end = new \DateTime($maxDate. ' Friday'); |
|
|
|
|
// $end->modify('next Friday'); |
|
|
|
|
/* $interval = \DateInterval::createFromDateString('1 day'); */ // should be using this but its bugged |
|
|
|
|
$interval = new \DateInterval('P7D'); |
|
|
|
|
$period = new \DatePeriod($begin, $interval, $end); |
|
|
|
|
|
|
|
|
|
$arr_ActualM = []; |
|
|
|
|