Files
api_arrahn/app/Http/Controllers/PampasanController.php
T

113 lines
3.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Cawangan;
use App\Palsu;
use App\Pampasan;
use App\Panjar;
use Illuminate\Http\Request;
use Carbon\Carbon;
use Illuminate\Log\Logger;
use Illuminate\Support\Facades\Log;
class PampasanController extends Controller
{
public function terimaPampasan(Request $request)
{
$validated = $this->validate($request, [
'norujukan' => 'required|string',
'baucerno' => 'required|string',
'kodcaw' => 'required|string',
'jumlah_pampasan' => 'required|numeric',
'denominasi' => 'nullable|array',
'teller' => 'required|string',
]);
try {
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $request->kodcaw)->first();
if (!$cawangan) {
return response()->json([
'success' => false,
'message' => 'Cawangan tidak dijumpai untuk kodcaw: ' . $request->kodcaw,
], 404);
}
$pampasan = Pampasan::on($cawangan['mysql'])->create([
'norujukan' => $validated['norujukan'],
'baucerno' => $validated['baucerno'],
'kodcaw' => $validated['kodcaw'],
'jumlah_pampasan' => $validated['jumlah_pampasan'],
'denominasi' => isset($validated['denominasi']) ? json_encode($validated['denominasi']) : null,
'teller' => $validated['teller'],
]);
return response()->json([
'success' => true,
'message' => 'Pampasan berjaya dibayar.',
'data' => $pampasan,
], 201);
} catch (\Exception $e) {
return response()->json([
'success' => false,
'message' => 'Database error: ' . $e->getMessage(),
], 500);
}
}
public function updateStatusPampasan(Request $request)
{
$norujukan = $request->norujukan;
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $request->kodcaw)->first();
$pampasan = Pampasan::on($cawangan['mysql'])->where("norujukan", $norujukan)->first();
$pampasan->status = 1;
$pampasan->save();
// Update corresponding palsu table record status to 1
Palsu::on($cawangan['mysql'])
->where('norujukan', $norujukan)
->update(['status' => 1]);
Panjar::on($cawangan['mysql'])
->create([
'tarikh' => Carbon::now()->toDateString(),
'deskripsi' => 'BAYARAN PAMPASAN' . '(' . $pampasan->norujukan . ')',
'bayaran' => $pampasan->jumlah_pampasan,
'tag' => 1,
'kategori' => 'Belanja AM',
'id' => $pampasan->teller,
'bakiperubatan' => $request->bakiperubatan,
'nobaucer' => $pampasan->baucherno,
'nobil' => Carbon::now()->format('dmy'),
'tuntutoleh' => $pampasan->teller,
]);
return response()->json([
'success' => true,
'message' => 'Status Pampasan berjaya dituntut.',
'data' => $pampasan,
], 201);
}
public function getPampasan()
{
$pampasan = Pampasan::on('mysql71')->get();
return response()->json([
'success' => true,
'message' => 'Status Pampasan berjaya dituntut.',
'data' => $pampasan,
], 201);
}
public function getPampasanByNoRujukan()
{
}
}