Fix mikro expertise auto-open and early warning target logic

This commit is contained in:
Dwi Swandhana
2026-05-09 05:47:10 +07:00
parent 4d942523d1
commit 49e94c3fb5
4 changed files with 62 additions and 22 deletions
@@ -691,7 +691,7 @@ class FrontpageController extends Controller
if (!Session::has('previlage')) {
return redirect('/login');
}
$periksa = Periksa::select('id', 'poli_id', 'daftar')->find($periksaId);
$periksa = Periksa::select('id', 'poli_id', 'daftar', 'nofoto')->find($periksaId);
if (!$periksa) {
abort(404);
}
@@ -706,9 +706,11 @@ class FrontpageController extends Controller
return view($this->mikroExpertiseViewName(), $this->buildMikroViewData($master, [
'focusPeriksaId' => (string) $periksaId,
'focusNoFoto' => (string) ($periksa->nofoto ?? ''),
'expertiseReturnUrl' => $returnUrl,
'openExpertiseOnLoad' => true,
'initialListMode' => 'searchbydate',
'initialListMode' => 'nofoto',
'initialSearchValue' => (string) ($periksa->nofoto ?? ''),
'initialStartDate' => $periksaDate,
'initialEndDate' => $periksaDate,
]));
+29 -9
View File
@@ -6,7 +6,6 @@ use App\Services\SimbhpStockService;
use App\SIMBHPJenis;
use App\SIMBHPReport;
use App\User;
use App\Ruangan;
use Carbon\Carbon;
use Livewire\Component;
use Livewire\Attributes\On;
@@ -18,7 +17,9 @@ class GudangPos extends Component
use WithPagination;
public string $tanggal = '';
public ?string $penerimaId = null;
public string $namaRuangan = '';
public string $penerimaId = '';
public string $penerimaManual = '';
public string $scan = '';
public string $selectedKode = '';
@@ -36,7 +37,8 @@ class GudangPos extends Component
public function mount(): void
{
$this->tanggal = date('Y-m-d');
$this->penerimaId = User::orderBy('nama', 'ASC')->value('nama');
$firstUserId = User::orderBy('nama', 'ASC')->value('id');
$this->penerimaId = $firstUserId ? (string) $firstUserId : '';
}
public function updatingSearch(): void
@@ -183,7 +185,7 @@ class GudangPos extends Component
return;
}
if (!$this->penerimaId) {
if ($this->penerimaId === '') {
$this->toast('error', 'Penerima wajib dipilih.');
return;
}
@@ -201,7 +203,26 @@ class GudangPos extends Component
return;
}
$penerima = $this->penerimaId;
$namaRuangan = trim((string) $this->namaRuangan);
if ($namaRuangan === '') {
$this->toast('error', 'Nama ruang wajib diisi.');
return;
}
if ($this->penerimaId === '__manual__') {
$penerima = trim((string) $this->penerimaManual);
if ($penerima === '') {
$this->toast('error', 'Nama penerima manual wajib diisi.');
return;
}
} else {
$user = User::select('id', 'nama')->find((int) $this->penerimaId);
if (!$user) {
$this->toast('error', 'Penerima tidak ditemukan.');
return;
}
$penerima = trim((string) ($user->nama ?? ''));
}
$service = app(SimbhpStockService::class);
@@ -253,7 +274,7 @@ class GudangPos extends Component
];
}
DB::transaction(function () use ($prepared, $date, $penerima) {
DB::transaction(function () use ($prepared, $date, $penerima, $namaRuangan) {
foreach ($prepared as $row) {
/** @var SIMBHPJenis $jenis */
$jenis = $row['jenis'];
@@ -261,7 +282,7 @@ class GudangPos extends Component
'tanggal' => (int) $date->format('d'),
'bulan' => (int) $date->format('m'),
'tahun' => (int) $date->format('Y'),
'deskripsi' => 'Diterima oleh ' . ($penerima ?? $penerimaId),
'deskripsi' => 'Ruangan: ' . $namaRuangan . ' | Diterima oleh ' . ($penerima !== '' ? $penerima : 'Unknown'),
'pemasukan' => null,
'pengeluaran' => (int) $row['qty'],
'qty_base' => (int) $row['qty_base'],
@@ -277,6 +298,7 @@ class GudangPos extends Component
$this->cart = [];
$this->qty = 1;
$this->keterangan = '';
$this->penerimaManual = '';
$this->toast('success', 'Barang keluar berhasil diproses.');
$this->dispatch('gudang-refresh');
$this->dispatch('gudangpos-close-modal');
@@ -322,7 +344,6 @@ class GudangPos extends Component
$service = app(SimbhpStockService::class);
$users = User::select('id', 'nama', 'previlage')->orderBy('nama', 'ASC')->get();
$ruangans = Ruangan::select('id', 'ruangan')->orderBy('ruangan', 'ASC')->get();
$query = SIMBHPJenis::query()->orderBy('jenis', 'ASC');
$search = trim((string) $this->search);
@@ -395,7 +416,6 @@ class GudangPos extends Component
return view('livewire.gudang-pos', [
'users' => $users,
'ruangans' => $ruangans,
'products' => $products,
'stockMap' => $stockMap,
'latestExpiredMap' => $latestExpiredMap,