Tukar step pampasan v3 ke v2:

This commit is contained in:
aiman
2025-09-14 16:03:49 +08:00
parent c65fac89d5
commit 1f27d90698
2 changed files with 69 additions and 23 deletions
+66 -22
View File
@@ -10,34 +10,78 @@ 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();
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $request->kodcaw)->first();
if (!$cawangan) {
return response()->json(['error' => 'Invalid kodcaw'], 403);
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);
}
$query = DB::connection($cawangan['mysql'])->table('palsu')
->select([
'tarikh',
'norujukan',
'nota',
'pembiayaan',
'nilaimarhun',
'jbg',
'untung',
'untungonepercent',
'untungcajlain'
])
->whereBetween('tarikh', [$request->tarikh_mula, $request->tarikh_akhir]);
$result = $query->get();
return response()->json($result);
}
}
+3 -1
View File
@@ -2,5 +2,7 @@
return [
'url' => env('APP_URL', url('/')),
'api_arrahnbid' => env('API_ARRAHNBID', 'http://lelong.test/api/')
'api_arrahnbid' => env('API_ARRAHNBID', 'http://lelong.test/api/'),
'api_v3' => env('API_V3', 'http://apiv3.localhost/api/')
];