Browse Source

first commit in branch

pull/3/head
ibnu 2 years ago
parent
commit
7d358bf1d6
  1. 201
      app/Http/Controllers/ActivityController.php
  2. 114
      app/Http/Controllers/DashboardBoDController.php
  3. 7
      app/Http/Controllers/DivisiController.php
  4. 73
      app/Http/Controllers/ProjectController.php
  5. 29
      app/Models/Activity.php
  6. 386
      routes/web.php

201
app/Http/Controllers/ActivityController.php

@ -296,6 +296,7 @@ class ActivityController extends Controller
$startDate = \DateTime::createFromFormat('d-m-y', $activity_row['start_date']);
$endDate = \DateTime::createFromFormat('d-m-y', $activity_row['end_date']);
<<<<<<< HEAD
$input['name'] = $activity_row['name'];
$input['proyek_id'] = $projectId;
$input['version_gantt_id'] = $data['ganttId'];
@ -307,12 +308,31 @@ class ActivityController extends Controller
$input['persentase_progress'] = 0;
$input['type_activity'] = $i == 0 ? "header" : "task";
$input['created_by'] = $this->currentName;
=======
public function getCalculateCurvaS(Request $request) // for adw (plan & actual == date)
{
DB::enableQueryLog();
$dataPayload = $request->all();
$allGantt = [];
if(isset($dataPayload['gannt_id'])){
$allGantt = $dataPayload['gannt_id'];
}else{
foreach ($dataPayload['project_id'] as $val) {
$allGantt[] = $this->getLatestGantt($val);
}
}
$dataFinal=[];
foreach ($allGantt as $keyGantt) {
$dataProject = Project::find($keyGantt['proyek_id']);
$dataHeader = Activity::where('type_activity', 'header')->where("proyek_id", $keyGantt['proyek_id'])->where("version_gantt_id", $keyGantt['last_gantt_id'])->first();
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
if (!$activity = Activity::create($input)) {
Activity::where('version_gantt_id', $data['ganttId'])->delete();
return response()->json(['status' => 'error', 'message' => 'Input failed on ' . $activity['name'], 'code' => 500], 500);
}
<<<<<<< HEAD
$data['activities'][$i]['activity_id'] = $activity->id;
if ($i == 0) {
@ -324,6 +344,187 @@ class ActivityController extends Controller
}
$activity->level = $activity_row['level'];
=======
if(!Activity::where("version_gantt_id", $keyGantt['last_gantt_id'])->first())
continue;
$alreadyHasReport = DB::table('report_activity_material as a')
->select('a.id')
->join('m_activity as b', 'b.id', '=', 'a.activity_id')
->where('b.version_gantt_id', '=', $keyGantt['last_gantt_id'])
->exists();
if(!$alreadyHasReport)
continue;
$minDate = 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['last_gantt_id'])
->min("plan_date");
$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['last_gantt_id'])
->max("plan_date");
$begin = new \DateTime($minDate);
$end = new \DateTime($maxDate);
$end2 = new \DateTime($maxDate);
$interval = \DateInterval::createFromDateString('1 day');
$period = new \DatePeriod($begin->modify('-1 days'), $interval, $end);
$arr_ActualM = [];
$tempDate = [];
$tempPercentage = [];
$tempTtlPercentPlan=0;
$tempTtlPercentActual=0;
$currentACWP = 0;
$currentBCWP = 0;
foreach ($period as $dt) {
$dataPlanM = DB::table('assign_material_to_activity as ama')
->select('ama.activity_id', 'ama.qty_planning', 'ama.plan_date', 'ama.start_activity', 'a.bobot_planning', 'a.biaya_actual', 'a.duration', 'a.persentase_progress')
->join('m_activity as a', 'a.id', '=', 'ama.activity_id')
->where('ama.proyek_id', '=', $keyGantt['proyek_id'])
->where('a.version_gantt_id', '=', $keyGantt['last_gantt_id'])
->whereDate('ama.plan_date', $dt->format("Y-m-d"))
->get();
$dataActualM = DB::table('report_activity_material as ram')
->select('ram.activity_id', 'ram.qty', 'ram.report_date', 'a.bobot_planning', 'a.biaya_actual', 'a.duration', 'a.persentase_progress')
->join('m_activity as a', 'a.id', '=', 'ram.activity_id')
->where('a.version_gantt_id', '=', $keyGantt['last_gantt_id'])
->where('a.proyek_id', '=', $keyGantt['proyek_id'])
->whereDate('ram.report_date', $dt->format("Y-m-d"))
->get();
$dataTempPlan = [];
$x = 0;
$sumPercentagePlan=0;
$totalACWP = isset($totalACWP) ? $totalACWP : 0;
$totalBCWP = isset($totalBCWP) ? $totalBCWP : 0;
foreach ($dataPlanM as $keyPlanM) {
$sumVolPlan = DB::table('assign_material_to_activity')
->select('activity_id', DB::raw('SUM(qty_planning) as ttl_qty_plan'))
->where('activity_id', '=', $keyPlanM->activity_id)
->groupBy('activity_id')
->first();
$dataTempPlan [$x]['activity_id'] = $keyPlanM->activity_id;
$dataTempPlan [$x]['qty_plan'] = $keyPlanM->qty_planning;
$dataTempPlan [$x]['plan_date'] = $keyPlanM->plan_date;
$dataTempPlan [$x]['start_activity'] = $keyPlanM->start_activity;
$dataTempPlan [$x]['bobot_planning'] = $keyPlanM->bobot_planning;
$dataTempPlan [$x]['ttl_plan'] = $sumVolPlan->ttl_qty_plan;
$dataTempPlan [$x]['biaya_actual'] = $keyPlanM->biaya_actual;
$dataTempPlan [$x]['duration'] = $keyPlanM->duration;
$dataTempPlan [$x]['persentase_progress'] = $keyPlanM->persentase_progress;
$dataTempPlan [$x]['percentage'] = ($keyPlanM->qty_planning/$sumVolPlan->ttl_qty_plan)*$keyPlanM->bobot_planning;
$sumPercentagePlan+=($keyPlanM->qty_planning/$sumVolPlan->ttl_qty_plan)*$keyPlanM->bobot_planning;
$totalBCWP += (((($keyPlanM->persentase_progress*$keyPlanM->bobot_planning)/100)/$keyPlanM->duration)* $totalRencanaBudget)/100;
$dataTempPlan [$x]['totalBCWP'] = $totalBCWP;
$x++;
}
$w = 0;
$dataTempReport = [];
$sumPercentageActual=0;
foreach ($dataActualM as $keyActualM) {
$sumVolActual = DB::table('assign_material_to_activity')
->select('activity_id', DB::raw('SUM(qty_planning) as ttl_qty_plan'))
->where('activity_id', '=', $keyActualM->activity_id)
->groupBy('activity_id')
->first();
$dataTempReport [$w]['activity_id'] = $keyActualM->activity_id;
$dataTempReport [$w]['qty'] = $keyActualM->qty;
$dataTempReport [$w]['report_date'] = $keyActualM->report_date;
$dataTempReport [$w]['bobot_planning'] = $keyActualM->bobot_planning;
$dataTempReport [$w]['ttl_plan'] = $sumVolActual->ttl_qty_plan;
$dataTempReport [$w]['biaya_actual'] = $keyActualM->biaya_actual;
$dataTempReport [$w]['duration'] = $keyActualM->duration;
$dataTempReport [$w]['persentase_progress'] = $keyActualM->persentase_progress;
$dataTempReport [$w]['percentage'] = ($keyActualM->qty/$sumVolActual->ttl_qty_plan)*$keyActualM->bobot_planning;
$sumPercentageActual+=($keyActualM->qty/$sumVolActual->ttl_qty_plan)*$keyActualM->bobot_planning;
try {
$totalACWP += $keyActualM->biaya_actual/$keyActualM->duration;
} catch (\Exception $e) {
return response()->json(['message' => $e->getMessage()]);
}
$dataTempReport [$w]['totalacwp'] = $totalACWP;
$w++;
}
$arr_ActualM[] = array(
'date'=>$dt->format("Y-m-d"),
'percentPlan'=>$sumPercentagePlan,
'percentActual'=>$sumPercentageActual,
'plan'=>$dataTempPlan,
'actual'=>$dataTempReport,
);
if(isset($dataPayload['period']) && $dataPayload['period'] == 'week'){
$tempTtlPercentPlan+= $sumPercentagePlan;
$tempTtlPercentActual+= $sumPercentageActual;
$currentACWP += $totalACWP;
$currentBCWP += $totalBCWP;
$tempPercentage[] = array(round($tempTtlPercentPlan,2), round($tempTtlPercentActual,2));
$tempDate[] = array($dt->format("Y-m-d"), 0, 0);
}else{
$tempPercentage[] = array(round($sumPercentagePlan,2), round($sumPercentageActual,2));
$tempDate[] = array($dt->format("Y-m-d"), 0, 0);
}
}
try {
if(round($totalACWP,0) > $totalRencanaBudget){
$estimatedCost = round($totalACWP,0)+0;
}else{
$estimatedCost = ($totalRencanaBudget+0);
}
} catch (\Exception $e) {
return response()->json([
'message' => $e->getMessage(),
"line" => 566,
'gantt' => $keyGantt,
]);
}
$estimatedCost = $totalACWP > $totalRencanaBudget ? $totalACWP : $totalRencanaBudget;
$costDeviation = $totalRencanaBudget - $estimatedCost;
if($costDeviation > 0){
$potential = "SAVING";
} else {
$potential = $costDeviation == 0 ? "ON BUDGET" : "OVERRUN";
}
$dataResponse = array(
"date" =>$tempDate,
"percentage" =>$tempPercentage,
"data_details" =>$arr_ActualM,
"budget_control" =>array("current_budget"=> $totalRencanaBudget,
"acwp" => round($totalACWP,0),
"bcwp" => round($totalBCWP,0),
"rem_to_complete" => ($totalRencanaBudget - round($totalACWP,0)),
"add_cost_to_complete" => 0,
"estimated_at_completion" => $estimatedCost,
"cost_deviation" => $costDeviation,
"potential" => $potential,
)
);
$dataFinal[] = array(
"proyek_name"=> $dataProject->nama,
"data"=>$dataResponse,
"allGant"=>$allGantt
);
}
return response()->json(['status'=>'success','code'=>200, 'data' => $dataFinal], 200);
}
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
if ($lastStack = end($activityStack)) {
$levelLowerThanLastStack = $activity->level < $lastStack->level;

114
app/Http/Controllers/DashboardBoDController.php

@ -2,6 +2,7 @@
namespace App\Http\Controllers;
<<<<<<< HEAD
use App\Helpers\MasterFunctionsHelper;
use App\Models\Divisi;
use App\Models\Project;
@ -10,6 +11,13 @@ use App\Models\User;
use App\Models\UserToVersionGantt;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;
=======
use App\Models\Project;
use App\Models\Divisi;
use App\Models\ProjectPhase;
use Illuminate\Support\Collection;
use DB;
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
class DashboardBoDController extends Controller
{
@ -19,6 +27,7 @@ class DashboardBoDController extends Controller
return $year;
}
<<<<<<< HEAD
private function curlReq($url, $token){
$ch = curl_init();
$headers = [
@ -54,10 +63,15 @@ class DashboardBoDController extends Controller
public function getCompanyCashFlow($year = '%') {
$year = $this->interpolateYear($year);
$totalExpenditure = $totalInvoice = $totalPaidInvoice = 0;
=======
public function getCompanyCashFlow($year = '%') {
$year = $this->interpolateYear($year);
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
// we can't use eloquent's sum() method because someone decided to use varchar as datatype in rencana_biaya field
$totalBudgets = Project::select(DB::raw('SUM(CAST("rencana_biaya" AS DOUBLE PRECISION))'))
->where('mulai_proyek', 'like', $year)
<<<<<<< HEAD
/* ->orWhere('akhir_proyek', 'like', $year) */
->pluck('sum')
->first();
@ -87,10 +101,22 @@ class DashboardBoDController extends Controller
'total_expenditure' => $totalExpenditure,
'total_invoice' => $totalInvoice,
'total_paid_invoice' => $totalPaidInvoice ,
=======
->pluck('sum')
->first();
return response()->json([
'data' => [
'total_budget' => (int) $totalBudgets ?? rand(0,10),
'total_expenditure' => rand(0,10), // to do integrasi
'total_invoice' => rand(0,10),
'total_paid_invoice' => rand(0,10),
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
]
], 200);
}
<<<<<<< HEAD
public function getInvoiceOutstanding($year = '%'){
$year = $this->interpolateYear($year);
$projects = Project::where('mulai_proyek', 'like', $year)
@ -144,10 +170,27 @@ class DashboardBoDController extends Controller
}
public function getTotalProjectScheduleHealthPerDivision($year = '%'){
=======
public function getProjectPerScheduleHealth($year = '%'){
$year = $this->interpolateYear($year);
// get data plan (vol) in %
// get data actual in %
return response()->json([
'data' => [
'behind-schedule' => rand(0,10),
'warning' => rand(0,10),
'on-schedule' => rand(0,10),
]
], 200);
}
public function getProjectScheduleHealthPerDivision($year = '%'){
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
$year = $this->interpolateYear($year);
$divisions = Divisi::whereNull('parent')->get();
foreach($divisions as $division){
<<<<<<< HEAD
$scheduleData = new Collection();
$behindSchedule = $warning = $onSchedule = 0;
@ -166,6 +209,12 @@ class DashboardBoDController extends Controller
$scheduleData->prepend($behindSchedule, 'behindSchedule');
$scheduleData->prepend($warning, 'warning');
$scheduleData->prepend($onSchedule, 'onSchedule');
=======
$scheduleData = new Collection();
$scheduleData->prepend(rand(0, 10), 'behindSchedule');
$scheduleData->prepend(rand(0, 10), 'warning');
$scheduleData->prepend(rand(0, 10), 'onSchedule');
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
$division->scheduleData = $scheduleData;
}
return response()->json([
@ -175,6 +224,7 @@ class DashboardBoDController extends Controller
], 200);
}
<<<<<<< HEAD
public function getTotalProjectPerBudgetHealth($year = '%'){
$year = $this->interpolateYear($year);
return response()->json([
@ -182,10 +232,20 @@ class DashboardBoDController extends Controller
'overrun' => Project::where('mulai_proyek', 'like', $year)->where('budget_health', 'overrun')->count(),
'warning' => Project::where('mulai_proyek', 'like', $year)->where('budget_health', 'warning')->count(),
'on-budget' => Project::where('mulai_proyek', 'like', $year)->where('budget_health', 'on-budget')->count(),
=======
public function getProjectPerBudgetHealth($year = '%'){
$year = $this->interpolateYear($year);
return response()->json([
'data' => [
'overrun' => rand(0,10),
'warning' => rand(0,10),
'on-budget' => rand(0,10),
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
]
], 200);
}
<<<<<<< HEAD
private function countTotalProjectByBudgetHealthInDivision($divisi, $year, $health){
return Project::where('divisi_id', $divisi)
->where('mulai_proyek', 'like', $year)
@ -217,6 +277,19 @@ class DashboardBoDController extends Controller
}
foreach($divisions as $division){
}
=======
public function getProjectBudgetHealthPerDivision($year = '%'){
$year = $this->interpolateYear($year);
$divisions = Divisi::whereNull('parent')->get();
foreach($divisions as $division){
$budgetData = new Collection();
$budgetData->prepend(rand(0, 10), 'overrun');
$budgetData->prepend(rand(0, 10), 'warning');
$budgetData->prepend(rand(0, 10), 'onBudget');
$division->budgetData = $budgetData;
}
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
return response()->json([
'data' => [
$divisions
@ -224,6 +297,7 @@ class DashboardBoDController extends Controller
], 200);
}
<<<<<<< HEAD
public function getTotalProjectPerPhase($year = '%'){
$year = $this->interpolateYear($year);
$projectPhases = ProjectPhase::orderBy('order')->get();
@ -232,6 +306,13 @@ class DashboardBoDController extends Controller
->where('mulai_proyek', 'like', $year)
/* ->orWhere('akhir_proyek', 'like', $year) */
->count();
=======
public function getProjectPerPhase($year = '%'){
$year = $this->interpolateYear($year);
$projectPhases = ProjectPhase::orderBy('order')->get();
foreach($projectPhases as $phase){
$phase->totalProject = rand(0,10);
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
}
return response()->json([
'data' => [
@ -243,20 +324,31 @@ class DashboardBoDController extends Controller
private function countTotalProjectInDivision($id, $year){
return Project::where('divisi_id', $id)
->where('mulai_proyek', 'like', $year)
<<<<<<< HEAD
/* ->orWhere('akhir_proyek', 'like', $year) */
=======
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
->count();
}
public function getTotalProjectPerDivision($year = '%') {
$year = $this->interpolateYear($year);
<<<<<<< HEAD
$divisions = Divisi::select('id','name')
=======
$totalProjectPerDivision = Divisi::select('id','name')
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
->with('children')
->whereNull('parent')
->get();
// to do : count in more than 1 level child
<<<<<<< HEAD
foreach($divisions as $v){
=======
foreach($totalProjectPerDivision as $v){
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
$v->total = $this->countTotalProjectInDivision($v->id, $year);
foreach($v->children as $d){
$v->total += $this->countTotalProjectInDivision($d->id, $year);
@ -265,14 +357,21 @@ class DashboardBoDController extends Controller
}
return response()->json([
<<<<<<< HEAD
'data' => $divisions
=======
'data' => $totalProjectPerDivision
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
], 200);
}
private function countTotalProjectValueInDivision($id, $year){
return Project::select(DB::raw('SUM(CAST("rencana_biaya" AS DOUBLE PRECISION))'))
->where('mulai_proyek', 'like', $year)
<<<<<<< HEAD
/* ->orWhere('akhir_proyek', 'like', $year) */
=======
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
->where('divisi_id', $id)
->pluck('sum')
->first();
@ -281,13 +380,21 @@ class DashboardBoDController extends Controller
public function getTotalProjectValuePerDivision($year = '%') {
$year = $this->interpolateYear($year);
<<<<<<< HEAD
$divisions = Divisi::select('id','name')
=======
$totalProjectValuePerDivision = Divisi::select('id','name')
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
->with('children')
->whereNull('parent')
->get();
// to do : count in more than 1 level child
<<<<<<< HEAD
foreach($divisions as $v){
=======
foreach($totalProjectValuePerDivision as $v){
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
$v->total = $this->countTotalProjectValueInDivision($v->id, $year);
foreach($v->children as $d){
$v->total += $this->countTotalProjectValueInDivision($d->id, $year);
@ -296,6 +403,7 @@ class DashboardBoDController extends Controller
}
return response()->json([
<<<<<<< HEAD
'data' => $divisions
], 200);
}
@ -330,5 +438,11 @@ class DashboardBoDController extends Controller
'total_manpowers' => User::count()
], 200);
}
=======
'data' => $totalProjectValuePerDivision
], 200);
}
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
}

7
app/Http/Controllers/DivisiController.php

@ -70,8 +70,9 @@ class DivisiController extends Controller
return response()->json(['status'=>'success','message'=> 'Data deleted!','code'=> 200], 200);
}
public function search(Request $request)
public function search()
{
<<<<<<< HEAD
$payload = $request->all();
$dataBuilder = $this->setUpPayload($payload, 'm_divisi');
$builder = $dataBuilder['builder'];
@ -79,6 +80,10 @@ class DivisiController extends Controller
$dataGet = $builder->get();
$totalRecord = $countBuilder->count();
return response()->json(['status'=>'success','code'=>200,'data'=>$dataGet, 'totalRecord'=>$totalRecord], 200);
=======
return $this->list();
// cant use builder for this case
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
}
public function list()

73
app/Http/Controllers/ProjectController.php

@ -272,6 +272,7 @@ class ProjectController extends Controller
$d->progress = $progress;
$d->lastGanttId = VersionGantt::where("proyek_id", $d->id)->orderBy('id', 'desc')->first()->id ?? null;
$d->manpower = UserToProyek::where("proyek_id", $d->id)->count() ?? 0;
<<<<<<< HEAD
$d->projectManager = DB::table('m_proyek')
->join('m_users', 'm_users.id', '=', 'm_proyek.pm_id')
->where('m_proyek.id', $d->id)
@ -282,6 +283,23 @@ class ProjectController extends Controller
$totalPlannedCost = $data->sum('plannedCost');
$totalActualCost = $data->sum('actualCost');
=======
$d->projectManager = DB::table('m_proyek')
->join('m_users', 'm_users.id', '=', 'm_proyek.pm_id')
->where('m_proyek.id', $d->id)
->pluck('m_users.name')
->first();
if($d->area_kerja != ''){
$d->geolocation = $this->httpReq($d->area_kerja);
$d->geolocation = [];
} else {
$d->geolocation = [];
}
}
$totalPlannedCost = $data->sum('plannedCost');
$totalActualCost = $data->sum('actualCost');
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
$manpowers = User::count();
$projectsOnDanger = Project::where('budget_health', 'danger')->count();
$projectPhases = ProjectPhase::orderBy('order', 'asc')->pluck('name');
@ -338,6 +356,7 @@ class ProjectController extends Controller
return response()->json(['status'=>'success','code'=> 200,'data'=>$result], 200);
}
<<<<<<< HEAD
public function synchronizeReport($gantt_id)
{
$activities = Activity::where("version_gantt_id", $gantt_id)->get();
@ -451,5 +470,59 @@ class ProjectController extends Controller
$data = MasterFunctionsHelper::getSCurve($request);
return response()->json(['status'=>'success','code'=>200, 'data' => $data], 200);
}
=======
public function dashboard($id)
{
$data = DB::table('m_proyek as mp')
->select('mp.kode_sortname', 'mp.nama as name_project', 'mp.mulai_proyek as start', 'mp.akhir_proyek as finish',
'mp.rencana_biaya', 'mp.company', 'mp.currency_symbol', 'mu.name as pm', 'mp.budget_health')
->join('m_users as mu', 'mu.id', '=', 'mp.pm_id')
->where('mp.id', $id)
->first();
if(!$data)
return response()->json(['status'=>'failed','message'=>'Data tidak ditemukan!','code'=> 404], 404);
$manpowers = UserToProyek::where('proyek_id', $id)->count();
$rootActivity = Activity::whereNull('parent_id')->where('proyek_id', $id)->orderBy('version_gantt_id', 'desc')->first();
$actualCost = @$rootActivity->biaya_actual ?? 0;
$progress = @$rootActivity->persentase_progress ?? 0;
$commentActivity = DB::table('m_comment_activity as mca')
->select('mca.activity_id', 'mca.comment as comment', 'mca.created_by as comment_by', 'mca.created_at as comment_created',
'ma.name as activity')
->join('m_activity as ma', 'ma.id', '=', 'mca.activity_id')
->where('ma.proyek_id', $id)
->orderBy('comment_by')
->take(2)
->get();
$data->actual_cost = $actualCost;
$data->progress = $progress;
$data->comment = $commentActivity;
$data->man_power = $manpowers;
return response()->json(['status'=>'success','code'=>200,'data'=> $data], 200);
}
private function httpReq($search){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, str_replace("ADDR", $search, API_GEOLOCATION));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_STDERR, fopen('php://stderr', 'w'));
$info = curl_getinfo($ch);
$output = curl_exec($ch);
curl_close($ch);
return json_decode($output);
}
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
}

29
app/Models/Activity.php

@ -85,10 +85,32 @@ class Activity extends Model
private function updateBobot($isDelete = false)
{
<<<<<<< HEAD
$root = Activity::where('version_gantt_id', $this->version_gantt_id)
->where("proyek_id", $this->proyek_id)
->whereNull('parent_id')
->first();
=======
$rootActivity = Activity::where('version_gantt_id', $this->version_gantt_id)
->where("proyek_id", $this->proyek_id)
->where('type_activity', 'header')
->first();
if(Activity::where('version_gantt_id', $this->version_gantt_id)->where("proyek_id", $this->proyek_id)->where('type_activity', 'header')->count() == 0) {
$totalCost = Activity::select(
DB::raw('sum(cast(rencana_biaya as double precision))')
)
->where("proyek_id", $this->proyek_id)
->where("version_gantt_id", $this->version_gantt_id)
->whereNull("parent_id")
->first();
} else {
$totalCost = Activity::select(DB::raw('sum(cast(rencana_biaya as double precision))'))
->where("proyek_id", $this->proyek_id)
->where("version_gantt_id", $this->version_gantt_id)
->where("parent_id", $rootActivity->id)
->first();
}
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
if($root->rencana_biaya > 0){
$activities = Activity::where("proyek_id", $this->proyek_id)->where("version_gantt_id", $this->version_gantt_id)->get();
@ -184,7 +206,14 @@ class Activity extends Model
public function getJobsDoneAttribute()
{
<<<<<<< HEAD
if(!ReportActivityMaterial::where('activity_id', $this->id)->first())
=======
$tmpPercentage = [];
if(!ReportActivityMaterial::where('activity_id', $this->id)->first())
return 0;
if(!$dataPlan = AssignMaterial::where('activity_id', $this->id)->get())
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
return 0;
if(!$dataPlan = AssignMaterial::where('activity_id', $this->id)->get())
return 0;

386
routes/web.php

@ -34,6 +34,16 @@ $router->group(['prefix'=>'api', 'middleware' => 'cors'], function () use ($rout
$router->get('/dashboard/get-total-project-value-per-division[/{year}]', 'DashboardBoDController@getTotalProjectValuePerDivision');
$router->get('/dashboard/get-detail-expenditure[/{year}]', 'DashboardBoDController@getDetailExpenditure');
$router->get('/dashboard/get-company-cashflow[/{year}]', 'DashboardBoDController@getCompanyCashFlow'); // project expenditure
$router->get('/dashboard/get-invoice-outstanding[/{year}]', 'DashboardBoDController@getInvoiceOutstanding'); // project invoice vs cash in
$router->get('/dashboard/get-project-per-schedule-health[/{year}]', 'DashboardBoDController@getProjectPerScheduleHealth');
$router->get('/dashboard/get-project-per-budget-health[/{year}]', 'DashboardBoDController@getProjectPerBudgetHealth');
$router->get('/dashboard/get-project-schedule-health-per-division[/{year}]', 'DashboardBoDController@getProjectScheduleHealthPerDivision');
$router->get('/dashboard/get-project-budget-health-per-division[/{year}]', 'DashboardBoDController@getProjectBudgetHealthPerDivision');
$router->get('/dashboard/get-project-per-phase[/{year}]', 'DashboardBoDController@getProjectPerPhase'); // todo
$router->get('/dashboard/get-total-project-per-division[/{year}]', 'DashboardBoDController@getTotalProjectPerDivision'); // done
$router->get('/dashboard/get-total-project-value-per-division[/{year}]', 'DashboardBoDController@getTotalProjectValuePerDivision'); // done
$router->post('/role/search', 'RoleController@search');
$router->post('/role/add', 'RoleController@add');
$router->get('/role/edit/{id}', 'RoleController@edit');
@ -47,6 +57,7 @@ $router->group(['prefix'=>'api', 'middleware' => 'cors'], function () use ($rout
$router->post('/document-project/search', 'ProjectDokumenController@searchDocProject');
$router->get('/document-project/download/{id}', 'ProjectDokumenController@downloadDokumen');
<<<<<<< HEAD
$router->post('/document-activity/upload', 'ActivityDokumenController@uploadProjectDokumen');
$router->get('/document-activity/get/{id}', 'ActivityDokumenController@dokumenByActivityId');
$router->delete('/document-activity/delete/{id}', 'ActivityDokumenController@delete');
@ -440,5 +451,380 @@ $router->group(['prefix'=>'api', 'middleware' => 'cors'], function () use ($rout
$router->post('/map-monitoring/search', 'MapMonitoringController@search');
});
=======
$router->post('/document-activity/upload', 'ActivityDokumenController@uploadProjectDokumen');
$router->get('/document-activity/get/{id}', 'ActivityDokumenController@dokumenByActivityId');
$router->delete('/document-activity/delete/{id}', 'ActivityDokumenController@delete');
$router->post('/document-activity/search', 'ActivityDokumenController@searchDocProject');
$router->get('/document-activity/download/{id}', 'ActivityDokumenController@downloadDokumen');
$router->post('/project/search', 'ProjectController@search');
$router->post('/project/add', 'ProjectController@add');
$router->put('/project/update/{id}', 'ProjectController@update');
$router->get('/project/edit/{id}', 'ProjectController@edit');
$router->delete('/project/delete/{id}', 'ProjectController@delete');
$router->get('/project/list', 'ProjectController@list');
$router->get('/project/dashboard/{id}', 'ProjectController@dashboard');
$router->get('/project/list-user/{id}', 'ProjectController@getListProjectTask');
$router->post('/project-charter/search', 'ProjectCharterController@search');
$router->post('/project-charter/add', 'ProjectCharterController@add');
$router->put('/project-charter/update/{id}', 'ProjectCharterController@update');
$router->post('/divisi/add', 'DivisiController@add');
$router->get('/divisi/edit/{id}', 'DivisiController@edit');
$router->put('/divisi/update/{id}', 'DivisiController@update');
$router->post('/divisi/search', 'DivisiController@search');
$router->delete('/divisi/delete/{id}', 'DivisiController@delete');
$router->get('/divisi/list', 'DivisiController@list');
$router->post('/config-alert/search', 'ConfigAlertController@search');
$router->post('/config-alert/add', 'ConfigAlertController@add');
$router->get('/config-alert/edit/{id}', 'ConfigAlertController@edit');
$router->put('/config-alert/update/{id}', 'ConfigAlertController@update');
$router->delete('/config-alert/delete/{id}', 'ConfigAlertController@delete');
$router->get('/config-alert/list', 'ConfigAlertController@list');
$router->post('/config-alert-to-user/search', 'ConfigAlertUserController@search');
$router->post('/config-alert-to-user/add', 'ConfigAlertUserController@add');
$router->put('/config-alert-to-user/update/{id}', 'ConfigAlertUserController@update');
$router->delete('/config-alert-to-user/delete/{id}', 'ConfigAlertUserController@delete');
$router->get('/config-alert/get-user/{id}', 'ConfigAlertUserController@getConfigUser');
$router->post('/human-resource/search', 'HumanResourceController@search');
$router->post('/human-resource/add', 'HumanResourceController@add');
$router->get('/human-resource/edit/{id}', 'HumanResourceController@edit');
$router->put('/human-resource/update/{id}', 'HumanResourceController@update');
$router->delete('/human-resource/delete/{id}', 'HumanResourceController@delete');
$router->get('/human-resource/list', 'HumanResourceController@list');
$router->get('/human-resource/select', 'HumanResourceController@select');
$router->post('/human-resource/check-old-password/{id}', 'HumanResourceController@checkOldPassword');
$router->post('/project-role/search', 'ProjectRoleController@search');
$router->post('/project-role/add', 'ProjectRoleController@add');
$router->get('/project-role/edit/{id}', 'ProjectRoleController@edit');
$router->put('/project-role/update/{id}', 'ProjectRoleController@update');
$router->delete('/project-role/delete/{id}', 'ProjectRoleController@delete');
$router->get('/project-role/list', 'ProjectRoleController@list');
$router->get('/project-role/select', 'ProjectRoleController@select');
$router->post('/project-type/search', 'ProjectTypeController@search');
$router->post('/project-type/add', 'ProjectTypeController@add');
$router->get('/project-type/edit/{id}', 'ProjectTypeController@edit');
$router->put('/project-type/update/{id}', 'ProjectTypeController@update');
$router->delete('/project-type/delete/{id}', 'ProjectTypeController@delete');
$router->get('/project-type/list', 'ProjectTypeController@list');
$router->post('/project-phase/search', 'ProjectPhaseController@search');
$router->post('/project-phase/add', 'ProjectPhaseController@add');
$router->get('/project-phase/edit/{id}', 'ProjectPhaseController@edit');
$router->put('/project-phase/update/{id}', 'ProjectPhaseController@update');
$router->delete('/project-phase/delete/{id}', 'ProjectPhaseController@delete');
$router->get('/project-phase/list', 'ProjectPhaseController@list');
$router->post('/user-to-project/assign', 'UserProyekController@assignUserProyek');
$router->post('/request-material/add', 'RequestMaterialController@add');
$router->post('/request-material/search', 'RequestMaterialController@search');
$router->get('/request-material/edit/{id}', 'RequestMaterialController@edit');
$router->put('/request-material/update/{id}', 'RequestMaterialController@update');
$router->delete('/request-material/delete/{id}', 'RequestMaterialController@delete');
$router->get('/request-material/list', 'RequestMaterialController@list');
$router->get('/request-material/get-material-integration', 'RequestMaterialController@getMaterialIntegration');
$router->put('/request-material/update-warehouse-site/{id}', 'RequestMaterialController@updateWarehouseSite');
$router->post('/material-to-project/assign', 'MaterialProjectController@assignMaterial');
$router->post('/material-resource/add', 'MaterialResourceController@add');
$router->post('/material-resource/search', 'MaterialResourceController@search');
$router->get('/material-resource/update/{id}', 'MaterialResourceController@edit');
$router->put('/material-resource/update/{id}', 'MaterialResourceController@update');
$router->delete('/material-resource/delete/{id}', 'MaterialResourceController@delete');
$router->get('/material-resource/list', 'MaterialResourceController@list');
$router->get('/material-resource/select', 'MaterialResourceController@select');
$router->post('/tools-to-project/assign', 'ToolsProjectController@assignTools');
$router->get('/tools-to-project/search', 'ToolsProjectController@searchTools');
$router->post('/tools-resource/add', 'ToolsResourceController@add');
$router->post('/tools-resource/search', 'ToolsResourceController@search');
$router->get('/tools-resource/edit/{id}', 'ToolsResourceController@edit');
$router->put('/tools-resource/update/{id}', 'ToolsResourceController@update');
$router->delete('/tools-resource/delete/{id}', 'ToolsResourceController@delete');
$router->get('/tools-resource/list', 'ToolsResourceController@list');
$router->get('/tools-resource/select', 'ToolsResourceController@select');
$router->post('/req-tools/add', 'ToolsRequestController@add');
$router->get('/req-tools/edit/{id}', 'ToolsRequestController@edit');
$router->put('/req-tools/update/{id}', 'ToolsRequestController@update');
$router->post('/req-tools/search', 'ToolsRequestController@search');
$router->delete('/req-tools/delete/{id}', 'ToolsRequestController@delete');
$router->get('/req-tools/list', 'ToolsRequestController@list');
$router->post('/version-gantt/add', 'VersionGanttController@add');
$router->get('/version-gantt/edit/{id}', 'VersionGanttController@edit');
$router->put('/version-gantt/update/{id}', 'VersionGanttController@update');
$router->post('/version-gantt/search', 'VersionGanttController@search');
$router->delete('/version-gantt/delete/{id}', 'VersionGanttController@delete');
$router->get('/version-gantt/list', 'VersionGanttController@list');
$router->post('/user-to-version-gantt/add', 'UserToVersionGanttController@add');
$router->post('/user-to-version-gantt/add-multiple', 'UserToVersionGanttController@addMultiple');
$router->get('/user-to-version-gantt/edit/{id}', 'UserToVersionGanttController@edit');
$router->put('/user-to-version-gantt/update/{id}', 'UserToVersionGanttController@update');
$router->post('/user-to-version-gantt/search', 'UserToVersionGanttController@search');
$router->delete('/user-to-version-gantt/delete/{id}', 'UserToVersionGanttController@delete');
$router->get('/user-to-version-gantt/list', 'UserToVersionGanttController@list');
$router->get('/user-to-version-gantt/get-by-gantt/{gantt_id}', 'UserToVersionGanttController@getByUserGantt');
$router->post('/user-to-activity/add', 'UserToActivityController@add');
$router->post('/user-to-activity/add-multiple', 'UserToActivityController@addMultiple');
$router->get('/user-to-activity/edit/{id}', 'UserToActivityController@edit');
$router->put('/user-to-activity/update/{id}', 'UserToActivityController@update');
$router->post('/user-to-activity/search', 'UserToActivityController@search');
$router->delete('/user-to-activity/delete/{id}', 'UserToActivityController@delete');
$router->get('/user-to-activity/list', 'UserToActivityController@list');
$router->get('/user-to-activity/datatables', 'UserToActivityController@datatables');
$router->get('/sumVolActualM/{id}', 'ActivityController@sumVolumeActualMaterial');
$router->get('/activity/{id}/{proyek_id}/get', 'ActivityController@getByGanttId');
$router->get('/activity/search', 'ActivityController@search');
$router->post('/task', 'ActivityController@add');
$router->get('/task/edit/{id}', 'ActivityController@edit');
$router->put('/task/{id}', 'ActivityController@update');
$router->put('/task/update-regular/{id}', 'ActivityController@updateRegular');
$router->delete('/task/{id}', 'ActivityController@delete');
$router->get('/task/get-update/{id}', 'ActivityController@getUpdate');
$router->post('/activity/get-percentage', 'ActivityController@getPercentagePerDay');
$router->get('/activity/set-baseline/{gantt_id}', 'ActivityController@setBaseline');
$router->post('/activity/get-curva-s', 'ActivityController@getCalculateCurvaS');
$router->get('/activity/synchronize-report/{gantt_id}', 'ActivityController@synchronizeReport');
$router->post('/link', 'LinkController@add');
$router->put('/link/{id}', 'LinkController@update');
$router->delete('/link/{id}', 'LinkController@delete');
$router->post('/template-gantt/add', 'TemplateGanttController@add');
$router->get('/template-gantt/edit/{id}', 'TemplateGanttController@edit');
$router->put('/template-gantt/update/{id}', 'TemplateGanttController@update');
$router->post('/template-gantt/search', 'TemplateGanttController@search');
$router->delete('/template-gantt/delete/{id}', 'TemplateGanttController@delete');
$router->get('/template-gantt/list', 'TemplateGanttController@list');
$router->get('/template-gantt/get-tree/{id}', 'TemplateGanttController@getTreeByTypeProject');
$router->post('/comment-activity/add', 'CommentActivityController@add');
$router->get('/comment-activity/edit/{id}', 'CommentActivityController@edit');
$router->put('/comment-activity/update/{id}', 'CommentActivityController@update');
$router->post('/comment-activity/search', 'CommentActivityController@search');
$router->delete('/comment-activity/delete/{id}', 'CommentActivityController@delete');
$router->get('/comment-activity/list', 'CommentActivityController@list');
$router->post('/presence/add', 'PresenceController@add');
$router->get('/presence/edit/{id}', 'PresenceController@edit');
$router->put('/presence/update/{id}', 'PresenceController@update');
$router->post('/presence/search', 'PresenceController@search');
$router->delete('/presence/delete/{id}', 'PresenceController@delete');
$router->get('/presence/list', 'PresenceController@list');
$router->get('/presence/clockinout/{id}', 'PresenceController@clockinout');
$router->get('/presence/bulk-update-location', 'PresenceController@bulkUpdateLocation');
$router->post('/permit/add', 'AbsentController@add');
$router->get('/permit/edit/{id}', 'AbsentController@edit');
$router->put('/permit/update/{id}', 'AbsentController@update');
$router->post('/permit/search', 'AbsentController@search');
$router->delete('/permit/delete/{id}', 'AbsentController@delete');
$router->get('/permit/list', 'AbsentController@list');
$router->post('/assign-tools/add', 'AssignToolsController@add');
$router->get('/assign-tools/edit/{id}', 'AssignToolsController@edit');
$router->put('/assign-tools/update/{id}', 'AssignToolsController@update');
$router->post('/assign-tools/search', 'AssignToolsController@search');
$router->delete('/assign-tools/delete/{id}', 'AssignToolsController@delete');
$router->get('/assign-tools/list', 'AssignToolsController@list');
$router->get('/assign-tools/datatables', 'AssignToolsController@datatables');
$router->post('/assign-material/add', 'AssignMaterialController@add');
$router->get('/assign-material/edit/{id}', 'AssignMaterialController@edit');
$router->put('/assign-material/update/{id}', 'AssignMaterialController@update');
$router->post('/assign-material/search', 'AssignMaterialController@search');
$router->delete('/assign-material/delete/{id}', 'AssignMaterialController@delete');
$router->get('/assign-material/list', 'AssignMaterialController@list');
$router->get('/assign-material/datatables', 'AssignMaterialController@datatables');
$router->get('/assign-material/datatablesForReportActivity', 'AssignMaterialController@datatablesForReportActivity');
$router->post('/assign-material/ForReportActivityByMaterial', 'AssignMaterialController@ForReportActivityByMaterial');
$router->post('/image/search', 'ImageController@search');
$router->delete('/image/delete/{id}', 'ImageController@delete');
$router->delete('/image/delete/{id}/{category}', 'ImageController@deleteByRef');
$router->post('/image/upload', 'ImageController@uploadImage');
$router->get('/image/{id}/{category}', 'ImageController@getByRefId');
$router->post('/panic-button/add', 'PanicButtonController@add');
$router->get('/panic-button/edit/{id}', 'PanicButtonController@edit');
$router->put('/panic-button/update/{id}', 'PanicButtonController@update');
$router->post('/panic-button/search', 'PanicButtonController@search');
$router->delete('/panic-button/delete/{id}', 'PanicButtonController@delete');
$router->get('/panic-button/list', 'PanicButtonController@list');
$router->post('/rate-sallary/add', 'RateSallaryController@add');
$router->get('/rate-sallary/edit/{id}', 'RateSallaryController@edit');
$router->put('/rate-sallary/update/{id}', 'RateSallaryController@update');
$router->post('/rate-sallary/search', 'RateSallaryController@search');
$router->delete('/rate-sallary/delete/{id}', 'RateSallaryController@delete');
$router->get('/rate-sallary/list', 'RateSallaryController@list');
$router->post('/project-participants/add', 'ProjectParticipantsController@add');
$router->get('/project-participants/edit/{id}', 'ProjectParticipantsController@edit');
$router->put('/project-participants/update/{id}', 'ProjectParticipantsController@update');
$router->post('/project-participants/search', 'ProjectParticipantsController@search');
$router->delete('/project-participants/delete/{id}', 'ProjectParticipantsController@delete');
$router->delete('/project-participants/delete-by-proyek/{id}', 'ProjectParticipantsController@deleteByProyek');
$router->get('/project-participants/list', 'ProjectParticipantsController@list');
$router->get('/project-participants/{where}/{val}', 'ProjectParticipantsController@customWhere');
$router->post('/project-approval/add', 'ProjectApprovalController@add');
$router->get('/project-approval/edit/{id}', 'ProjectApprovalController@edit');
$router->put('/project-approval/update/{id}', 'ProjectApprovalController@update');
$router->post('/project-approval/search', 'ProjectApprovalController@search');
$router->delete('/project-approval/delete/{id}', 'ProjectApprovalController@delete');
$router->delete('/project-approval/delete-by-proyek/{id}', 'ProjectApprovalController@deleteByProyek');
$router->get('/project-approval/list', 'ProjectApprovalController@list');
$router->get('/project-approval/{where}/{val}', 'ProjectApprovalController@customWhere');
$router->post('/project-milestone/add', 'ProjectMileStoneController@add');
$router->get('/project-milestone/edit/{id}', 'ProjectMileStoneController@edit');
$router->put('/project-milestone/update/{id}', 'ProjectMileStoneController@update');
$router->post('/project-milestone/search', 'ProjectMileStoneController@search');
$router->delete('/project-milestone/delete/{id}', 'ProjectMileStoneController@delete');
$router->delete('/project-milestone/delete-by-proyek/{id}', 'ProjectMileStoneController@deleteByProyek');
$router->get('/project-milestone/list', 'ProjectMileStoneController@list');
$router->get('/project-milestone/select', 'ProjectMileStoneController@select');
$router->get('/project-milestone/{where}/{val}', 'ProjectMileStoneController@customWhere');
$router->post('/report-activity/add', 'ReportActivityController@add');
$router->get('/report-activity/edit/{id}', 'ReportActivityController@edit');
$router->put('/report-activity/update/{id}', 'ReportActivityController@update');
$router->post('/report-activity/search', 'ReportActivityController@search');
$router->delete('/report-activity/delete/{id}', 'ReportActivityController@delete');
$router->get('/report-activity/list', 'ReportActivityController@list');
$router->post('/report-activity/search-point', 'ReportActivityController@searchPoint');
$router->get('/report-activity/datatables', 'ReportActivityController@datatables');
$router->post('/report-activity-material/add', 'ReportActivityMaterialController@add');
$router->post('/report-activity-material/search', 'ReportActivityMaterialController@search');
$router->delete('/report-activity-material/delete/{id}', 'ReportActivityMaterialController@delete');
$router->get('/report-activity-material/list', 'ReportActivityMaterialController@list');
$router->get('/report-activity-material/datatables', 'ReportActivityMaterialController@datatables');
$router->post('/report-activity-material/update-status', 'ReportActivityMaterialController@updateStatusStartFinish');
$router->get('/report-activity-material/test', 'ReportActivityMaterialController@countForProgressTest');
$router->post('/waypoint/add', 'WaypointController@add');
$router->get('/waypoint/edit/{id}', 'WaypointController@edit');
$router->put('/waypoint/update/{id}', 'WaypointController@update');
$router->post('/waypoint/search', 'WaypointController@search');
$router->delete('/waypoint/delete/{id}', 'WaypointController@delete');
$router->get('/waypoint/list', 'WaypointController@list');
$router->post('/holiday/add', 'HolidayController@add');
$router->get('/holiday/edit/{id}', 'HolidayController@edit');
$router->put('/holiday/update/{id}', 'HolidayController@update');
$router->post('/holiday/search', 'HolidayController@search');
$router->delete('/holiday/delete/{id}', 'HolidayController@delete');
$router->get('/holiday/list', 'HolidayController@list');
$router->get('/holiday/datatables', 'HolidayController@datatables');
$router->post('/satuan/add', 'SatuanController@add');
$router->get('/satuan/edit/{id}', 'SatuanController@edit');
$router->put('/satuan/update/{id}', 'SatuanController@update');
$router->post('/satuan/search', 'SatuanController@search');
$router->delete('/satuan/delete/{id}', 'SatuanController@delete');
$router->get('/satuan/list', 'SatuanController@list');
$router->post('/checklist-k3/add', 'ChecklistK3Controller@add');
$router->get('/checklist-k3/edit/{id}', 'ChecklistK3Controller@edit');
$router->put('/checklist-k3/update/{id}', 'ChecklistK3Controller@update');
$router->post('/checklist-k3/search', 'ChecklistK3Controller@search');
$router->delete('/checklist-k3/delete/{id}', 'ChecklistK3Controller@delete');
$router->get('/checklist-k3/list', 'ChecklistK3Controller@list');
$router->post('/report-k3/add', 'ReportK3Controller@add');
$router->get('/report-k3/edit/{id}', 'ReportK3Controller@edit');
$router->put('/report-k3/update/{id}', 'ReportK3Controller@update');
$router->post('/report-k3/search', 'ReportK3Controller@search');
$router->delete('/report-k3/delete/{id}', 'ReportK3Controller@delete');
$router->get('/report-k3/list', 'ReportK3Controller@list');
$router->post('/report-k3-detail/add', 'ReportK3DetailController@add');
$router->get('/report-k3-detail/edit/{id}', 'ReportK3DetailController@edit');
$router->put('/report-k3-detail/update/{id}', 'ReportK3DetailController@update');
$router->post('/report-k3-detail/search', 'ReportK3DetailController@search');
$router->delete('/report-k3-detail/delete/{id}', 'ReportK3DetailController@delete');
$router->get('/report-k3-detail/list', 'ReportK3DetailController@list');
$router->post('/user-to-proyek/add', 'UserToProyekController@add');
$router->get('/user-to-proyek/edit/{id}', 'UserToProyekController@edit');
$router->put('/user-to-proyek/update/{id}', 'UserToProyekController@update');
$router->post('/user-to-proyek/search', 'UserToProyekController@search');
$router->delete('/user-to-proyek/delete/{id}', 'UserToProyekController@delete');
$router->get('/user-to-proyek/list', 'UserToProyekController@list');
$router->get('/user-to-proyek/select', 'UserToProyekController@select');
$router->get('/user-to-proyek/get-employee-integration', 'UserToProyekController@getEmployeeIntegration');
$router->post('/folder-document-proyek/add', 'FolderDocumentProyekController@add');
$router->get('/folder-document-proyek/edit/{id}', 'FolderDocumentProyekController@edit');
$router->put('/folder-document-proyek/update/{id}', 'FolderDocumentProyekController@update');
$router->post('/folder-document-proyek/search', 'FolderDocumentProyekController@search');
$router->delete('/folder-document-proyek/delete/{id}', 'FolderDocumentProyekController@delete');
$router->get('/folder-document-proyek/list', 'FolderDocumentProyekController@list');
$router->get('/folder-document-proyek/get-tree/{id}', 'FolderDocumentProyekController@getTree');
$router->post('/office-hours/add', 'OfficeHoursController@add');
$router->get('/office-hours/edit/{id}', 'OfficeHoursController@edit');
$router->put('/office-hours/update/{id}', 'OfficeHoursController@update');
$router->post('/office-hours/search', 'OfficeHoursController@search');
$router->delete('/office-hours/delete/{id}', 'OfficeHoursController@delete');
$router->get('/office-hours/list', 'OfficeHoursController@list');
$router->get('/gantt-show-hide/get-by-gantt/{gantt_id}', 'ShowHideColumnController@getByUserGantt');
$router->post('/gantt-show-hide/add', 'ShowHideColumnController@add');
$router->post('/gantt-show-hide/update/{gantt_id}', 'ShowHideColumnController@update');
$router->post('/shift/add', 'ShiftController@add');
$router->get('/shift/edit/{id}', 'ShiftController@edit');
$router->put('/shift/update/{id}', 'ShiftController@update');
$router->post('/shift/search', 'ShiftController@search');
$router->delete('/shift/delete/{id}', 'ShiftController@delete');
$router->get('/shift/list', 'ShiftController@list');
$router->post('/user-monthly-shift/add', 'UserMonthlyShiftController@add');
$router->put('/user-monthly-shift/update/{id}', 'UserMonthlyShiftController@update');
$router->post('/user-monthly-shift/search', 'UserMonthlyShiftController@search');
$router->delete('/user-monthly-shift/delete/{id}', 'UserMonthlyShiftController@delete');
$router->delete('/user-monthly-shift/delete-at/{yyyymm}', 'UserMonthlyShiftController@deleteYYYYMM');
$router->get('/user-monthly-shift/list', 'UserMonthlyShiftController@list');
$router->post('/user-monthly-shift/import', 'UserMonthlyShiftController@import');
$router->get('/user-monthly-shift/list/{yyyymm}', 'UserMonthlyShiftController@listYYYYMM');
$router->post('/user-to-shift/add', 'UserToShiftController@add');
$router->get('/user-to-shift/edit/{id}', 'UserToShiftController@edit');
$router->put('/user-to-shift/update/{id}', 'UserToShiftController@update');
$router->post('/user-to-shift/search', 'UserToShiftController@search');
$router->delete('/user-to-shift/delete/{id}', 'UserToShiftController@delete');
$router->get('/user-to-shift/list', 'UserToShiftController@list');
$router->post('/control-monitoring/search', 'ControlMonitoringController@search');
$router->get('/currency/list', 'CurrencyController@list');
$router->post('/project-to-checklist-k3/add', 'ProjectToChecklistK3Controller@add');
$router->post('/project-to-checklist-k3/add-multiple', 'ProjectToChecklistK3Controller@addMultiple');
$router->get('/project-to-checklist-k3/edit/{id}', 'ProjectToChecklistK3Controller@edit');
$router->put('/project-to-checklist-k3/update/{id}', 'ProjectToChecklistK3Controller@update');
$router->post('/project-to-checklist-k3/search', 'ProjectToChecklistK3Controller@search');
$router->delete('/project-to-checklist-k3/delete/{id}', 'ProjectToChecklistK3Controller@delete');
$router->get('/project-to-checklist-k3/list', 'ProjectToChecklistK3Controller@list');
});
>>>>>>> 3f193ec38ec78bd3d323b4aa304c5e1ab52425b6
});

Loading…
Cancel
Save