Browse Source

divide qty planning

pull/3/head
wahyu 1 year ago
parent
commit
4c5af70ca4
  1. 24
      app/Http/Controllers/ReportActivityMaterialController.php

24
app/Http/Controllers/ReportActivityMaterialController.php

@ -2,11 +2,13 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Helpers\MasterFunctionsHelper;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\ReportActivityMaterial; use App\Models\ReportActivityMaterial;
use App\Models\Activity; use App\Models\Activity;
use App\Models\AssignMaterial; use App\Models\AssignMaterial;
use Datatables; use Datatables;
use DateTime;
class ReportActivityMaterialController extends Controller class ReportActivityMaterialController extends Controller
{ {
@ -114,12 +116,22 @@ class ReportActivityMaterialController extends Controller
$type = $request->query('type'); $type = $request->query('type');
$materialName = $request->query('materialName'); $materialName = $request->query('materialName');
if($type == 'plan'){ if($type == 'plan'){
$activity = Activity::findOrFail($id_activity);
$baselineDuration = 0;
if (isset($activity->planned_start) && isset($activity->planned_end)) {
$baselineDuration = MasterFunctionsHelper::countDays($activity->version_gantt_id, new DateTime($activity->planned_start), new DateTime($activity->planned_end));
}
$data = AssignMaterial::select("assign_material_to_activity.*","m.description as material_name", "m.uom as uom") $data = AssignMaterial::select("assign_material_to_activity.*","m.description as material_name", "m.uom as uom")
->join("m_req_material as m", "m.id", "=", "assign_material_to_activity.material_id") ->join("m_req_material as m", "m.id", "=", "assign_material_to_activity.material_id")
->where('assign_material_to_activity.activity_id', $id_activity) ->where('assign_material_to_activity.activity_id', $id_activity)
->where('m.description', $materialName) ->where('m.description', $materialName)
->orderBy('assign_material_to_activity.id', 'asc') ->orderBy('assign_material_to_activity.id', 'asc')
->get(); ->get();
if ($baselineDuration > 0) {
foreach ($data as $key => $value) {
$data[$key]->qty_planning = number_format($value->qty_planning / $baselineDuration, 1);
}
}
return Datatables::of($data) return Datatables::of($data)
->addIndexColumn() ->addIndexColumn()
->addColumn('action', function($row){ ->addColumn('action', function($row){
@ -131,7 +143,12 @@ class ReportActivityMaterialController extends Controller
}) })
->rawColumns(['action'])->make(true); ->rawColumns(['action'])->make(true);
}else{ }else{
$data = ReportActivityMaterial::select("report_activity_material.*", "u.name as human_resource", "amta.status_activity") $activity = Activity::findOrFail($id_activity);
$baselineDuration = 0;
if (isset($activity->planned_start) && isset($activity->planned_end)) {
$baselineDuration = MasterFunctionsHelper::countDays($activity->version_gantt_id, new DateTime($activity->planned_start), new DateTime($activity->planned_end));
}
$data = ReportActivityMaterial::select("report_activity_material.*", "u.name as human_resource", "amta.status_activity", "amta.qty_planning")
->join("assign_material_to_activity as amta", "amta.id", "=", "report_activity_material.assign_material_id") ->join("assign_material_to_activity as amta", "amta.id", "=", "report_activity_material.assign_material_id")
->join("m_req_material as m", "m.id", "=", "amta.material_id") ->join("m_req_material as m", "m.id", "=", "amta.material_id")
->join("m_users as u", "u.id", "=", "report_activity_material.user_id") ->join("m_users as u", "u.id", "=", "report_activity_material.user_id")
@ -139,6 +156,11 @@ class ReportActivityMaterialController extends Controller
->where('m.description', $materialName) ->where('m.description', $materialName)
->orderBy('report_activity_material.report_date', 'asc') ->orderBy('report_activity_material.report_date', 'asc')
->get(); ->get();
if ($baselineDuration > 0) {
foreach ($data as $key => $value) {
$data[$key]->qty_planning = number_format($value->qty_planning / $baselineDuration, 1);
}
}
return Datatables::of($data) return Datatables::of($data)
->addIndexColumn() ->addIndexColumn()
->addColumn('action', function($row){ ->addColumn('action', function($row){

Loading…
Cancel
Save