88 lines
2.5 KiB
PHP
88 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Audit;
|
|
use App\Polis;
|
|
use App\Cawangan;
|
|
use App\LookupAlasan;
|
|
use Illuminate\Http\Request;
|
|
|
|
use Carbon\Carbon;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Http;
|
|
|
|
class BarangkesController extends Controller
|
|
{
|
|
public function LaporanBarangKes(Request $request)
|
|
{
|
|
$status = $request->status;
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $request->kodcaw)->first();
|
|
|
|
if (!$cawangan) {
|
|
return response()->json(['error' => 'Invalid kodcaw'], 403);
|
|
}
|
|
|
|
$query = DB::connection($cawangan['mysql'])->table('palsu')
|
|
->select([
|
|
'tarikh',
|
|
'norujukan',
|
|
'nota',
|
|
'pembiayaan',
|
|
'nilaimarhun',
|
|
'jbg',
|
|
'untung',
|
|
'untungonepercent',
|
|
'untungcajlain'
|
|
]);
|
|
|
|
// Only apply whereBetween if tarikh_mula and tarikh_akhir are provided
|
|
if ($request->filled('tarikh_mula') && $request->filled('tarikh_akhir')) {
|
|
$query->whereBetween('tarikh', [$request->tarikh_mula, $request->tarikh_akhir]);
|
|
}
|
|
|
|
$result = $query->get();
|
|
|
|
$pampasan = Http::get(config('app_parameter.api_v3') . "pampasan", ['kodcaw' => $request->kodcaw])
|
|
->json()['data'];
|
|
|
|
$palsu_array = $result->toArray();
|
|
|
|
// dd($pampasan, $palsu_array);
|
|
|
|
$indexedArray2 = collect($pampasan)->keyBy('norujukan');
|
|
|
|
$merged = collect($palsu_array)->map(function ($item) use ($indexedArray2) {
|
|
$id = $item->norujukan;
|
|
$itemArray = (array) $item; // Convert object to array
|
|
$additional = $indexedArray2->get($id, []);
|
|
return array_merge($itemArray, $additional);
|
|
})->values()->toArray();
|
|
|
|
// dd($merged, $status);
|
|
|
|
$filteredResults = [];
|
|
|
|
if ($status == 'dituntut') {
|
|
foreach ($merged as $pampasan) {
|
|
if (isset($pampasan['status']) && $pampasan['status'] == 1) {
|
|
$filteredResults[] = $pampasan;
|
|
}
|
|
}
|
|
}
|
|
if ($status == 'belum-tuntut') {
|
|
foreach ($merged as $pampasan) {
|
|
if (!isset($pampasan['status']) ) {
|
|
$filteredResults[] = $pampasan;
|
|
}
|
|
}
|
|
}
|
|
if ($status == 'all') {
|
|
$filteredResults = $merged;
|
|
}
|
|
|
|
return response()->json($filteredResults);
|
|
}
|
|
}
|