'id',
);
$totalData = CashManagement::count();
$totalFiltered = $totalData;
$limit = $request->input('length');
$start = $request->input('start');
$order = $columns[$request->input('order.0.column')];
$dir = $request->input('order.0.dir');
if (empty($request->input('search.value'))) {
$cashManagements = CashManagement::offset($start)
->limit($limit)
->orderBy($order, $dir)
->get();
}else{
$search = $request->input('search.value');
$cashManagements = CashManagement::whereHas('project',function($q) use ($search){
$q->where('name','LIKE', "%{$search}%");
})
->offset($start)
->limit($limit)
->orderBy($order, $dir)
->get();
$totalFiltered = CashManagement::whereHas('project',function($q) use ($search){
$q->where('name','LIKE', "%{$search}%");
})->count();
}
$data = array();
if (!empty($cashManagements)) {
foreach ($cashManagements as $row) {
$nestedData['project'] = $row->project->name;
$nestedData['opsi'] = "
";
$nestedData['opsi'] .= "
detail
";
$data[] = $nestedData;
}
}
$json_data = array(
"draw" => intval($request->input('draw')),
"recordsTotal" => intval($totalData),
"recordsFiltered" => intval($totalFiltered),
"data" => $data,
);
echo json_encode($json_data);
}
}
}else{
$cash_management = CashManagement::findOrFail($id);
$payment_received = PaymentReceived::whereHas('invoice', function($q) use ($cash_management){
$q->where('id_projects', $cash_management->id_project);
})->first();
$details = [];
\set_time_limit(0);
if($payment_received){
$payment_receiveds = PaymentReceived::whereHas('invoice', function($q) use ($cash_management){
$q->where('id_projects', $cash_management->id_project);
})->get();
foreach ($payment_receiveds as $row) {
array_push($details, ['date' => $row->payment_date,'amount' => $row->amount,'from' => 'receive']);
}
$payment_mades = PaymentMade::whereHas('bill_po.purchaseOrder.purchaseRequest.project', function($q) use ($cash_management){
$q->where('id_project', $cash_management->id_project);
})->orWhereHas('bill_lo.labourOrder.project', function($q) use ($cash_management){
$q->where('id_project', $cash_management->id_project);
})->orWhereHas('purchase_order.purchaseRequest.project', function($q) use ($cash_management){
$q->where('id_project', $cash_management->id_project);
})->orWhereHas('labour_order.project', function($q) use ($cash_management){
$q->where('id_project', $cash_management->id_project);
})->get();
foreach ($payment_mades as $row) {
array_push($details, ['date' => $row->payment_date,'amount' => $row->amount,'from' => 'made']);
}
usort($details, function($a, $b)
{
$a = date('Y-m-d', strtotime($a['date']));
$b = date('Y-m-d', strtotime($b['date']));
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
});
}
return view('staff.real-cash-flow-detail',compact('cash_management','details'));
}
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}