This commit is contained in:
Dwi Swandhana
2026-05-04 06:32:22 +07:00
parent fe89a024a1
commit 16eac8512e
11 changed files with 466 additions and 56 deletions
@@ -1981,10 +1981,25 @@ class DokterController extends Controller
'marking' => '',
]);
}
Periksa::where('id', $idperiksa)->update([
'status' => $request->input('komponen') ?? ''.' '.$request->input('status') ?? '',
if ($status == 'Proses identifikasi dan uji kepekaan vitek'){
$status = 'Sedang ID+AST';
}
if ($status == 'Proses identifikasi dan uji kepekaan manual'){
$status = 'Sedang ID+AST';
}
if ($status == 'Proses identifikasi malditof+ uji kepekaan vitek'){
$status = 'Sedang ID+AST';
}
if ($status == 'Proses identifikasi malditof+ uji kepekaan manual'){
$status = 'Sedang ID+AST';
}
if ($status == 'Proses identifikasi manual+ uji kepekaan vitek'){
$status = 'Sedang ID+AST';
}
Periksa::where('id', $nofoto)->update([
'status' => $status,
]);
return response()->json(['icon' => 'success', 'warna' => '#1dcbbd', 'status' => 'Success', 'message' => $request->input('komponen') ?? ''.' '.$request->input('status') ?? '']);
return response()->json(['icon' => 'success', 'warna' => '#1dcbbd', 'status' => 'Success', 'message' => $request->input('komponen') ?? ''.' '.$status]);
} catch (Exception $e) {
$pesan = $e->getMessage();
Log::error('Gagal Input Pertumbuhan Koloni', [
@@ -2016,10 +2031,9 @@ class DokterController extends Controller
return back();
}
} else if ($worklist == 'copydatabaptocap'){
$getdataawal = Periksa::where('nofoto', $nofoto)->first();
$id = $getdataawal->id ?? $nofoto;
$idtabel = $request->input('id');
try {
$ceksek = DB::table('pertumkolomni')->where('orderid', $id)->first();
$ceksek = DB::table('pertumkolomni')->where('id', $idtabel)->first();
DB::table('pertumkolomni')->insert([
'orderid' => $ceksek->orderid ?? $id,
'tglpenyimpanan' => date('Y-m-d'),
@@ -183,6 +183,13 @@ class GudangController extends Controller
$yy = $rdata->tahun;
$pengeluaran = $rdata->pengeluaran;
$pemasukan = $rdata->pemasukan;
$deskripsiGabungan = trim((string) ($rdata->deskripsi ?? ''));
$keteranganGabungan = trim((string) ($rdata->keterangan ?? ''));
if ($keteranganGabungan !== '') {
$deskripsiGabungan = $deskripsiGabungan !== ''
? $deskripsiGabungan.' | '.$keteranganGabungan
: $keteranganGabungan;
}
if ($mm < 10){
$tgllengkap = $dd.'-0'.$mm.'-'.$yy;
} else {
@@ -196,7 +203,7 @@ class GudangController extends Controller
'tanggal' => $rdata->tanggal,
'bulan' => $rdata->bulan,
'tahun' => $rdata->tahun,
'deskripsi' => $rdata->deskripsi,
'deskripsi' => $deskripsiGabungan,
'pemasukan' => number_format( $pemasukan , 0 , '.' , ',' ),
'pengeluaran' => number_format( $pengeluaran , 0 , '.' , ',' ),
'jenis' => $rdata->jenis,
@@ -508,6 +515,38 @@ class GudangController extends Controller
]);
}
} else if ($jenis == 'opname_pengurangan'){
if (($satuanTransaksi ?: 'besar') === 'kecil' && !$unitSetting['has_breakdown']) {
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Pengurangan satuan kecil tidak tersedia untuk barang ini']);
}
$kategori = strtolower(trim((string) $deskripsi));
if (!in_array($kategori, ['rusak', 'hilang'], true)) {
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Kategori opname pengurangan tidak valid']);
}
$label = ($kategori === 'hilang') ? 'Barang Hilang' : 'Barang Rusak';
$deskripsi = 'Stok Opname - ' . $label;
$qtyBase = $this->calculateBaseQty($pos, $total, $satuanTransaksi ?: 'besar');
$stokSaatIni = $this->getStockBaseByJenis($pos);
if ($qtyBase > $stokSaatIni){
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Nominal Melebihi Stok']);
} else {
$bayar = SIMBHPReport::create([
'tanggal' => $dino,
'bulan' => $wulan,
'tahun' => $tahun,
'deskripsi' => $deskripsi,
'pemasukan' => null,
'pengeluaran' => $total,
'qty_base' => $qtyBase,
'satuan_transaksi' => $satuanTransaksi ?: 'besar',
'jenis' => $pos,
'keterangan' => trim((string) $alasan),
'marking' => '',
]);
}
} else if ($jenis == 'editor'){
if ($alasan == ''){
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Alasan Perubahan Data Wajib Di Isi!!!']);
+15 -2
View File
@@ -23,6 +23,7 @@ class GudangPos extends Component
public string $selectedKode = '';
public string $satuanTransaksi = 'besar';
public int $qty = 1;
public string $keterangan = '';
public string $search = '';
@@ -70,6 +71,7 @@ class GudangPos extends Component
$this->selectedKode = (string) ($jenis->kodejenis ?? '');
$this->qty = 1;
$this->keterangan = '';
$this->satuanTransaksi = (string) ($parsed['satuan_transaksi'] ?? 'besar');
$this->syncSatuanAvailability();
$this->dispatch('gudangpos-open-modal');
@@ -95,6 +97,7 @@ class GudangPos extends Component
$this->selectedKode = (string) ($jenis->kodejenis ?? '');
$this->qty = 1;
$this->keterangan = '';
$this->syncSatuanAvailability();
$this->dispatch('gudangpos-open-modal');
}
@@ -122,6 +125,7 @@ class GudangPos extends Component
}
$qty = (int) $this->qty;
$keterangan = trim((string) $this->keterangan);
if ($qty <= 0) {
$this->toast('error', 'Jumlah harus lebih dari 0.');
return;
@@ -135,7 +139,11 @@ class GudangPos extends Component
$found = false;
foreach ($this->cart as $i => $line) {
if (($line['kode'] ?? '') === $kode && ($line['satuan_transaksi'] ?? '') === $this->satuanTransaksi) {
if (
($line['kode'] ?? '') === $kode
&& ($line['satuan_transaksi'] ?? '') === $this->satuanTransaksi
&& trim((string) ($line['keterangan'] ?? '')) === $keterangan
) {
$this->cart[$i]['qty'] = ((int) ($this->cart[$i]['qty'] ?? 0)) + $qty;
$found = true;
break;
@@ -148,10 +156,12 @@ class GudangPos extends Component
'jenis' => (string) ($jenis->jenis ?? ''),
'qty' => $qty,
'satuan_transaksi' => $this->satuanTransaksi,
'keterangan' => $keterangan,
];
}
$this->qty = 1;
$this->keterangan = '';
$this->dispatch('gudangpos-close-modal');
$this->dispatch('gudangpos-focus', field: 'scan');
}
@@ -204,6 +214,7 @@ class GudangPos extends Component
$kode = $service->sanitizeKode((string) ($line['kode'] ?? ''));
$qty = (int) ($line['qty'] ?? 0);
$satuan = (string) ($line['satuan_transaksi'] ?? 'besar');
$keterangan = trim((string) ($line['keterangan'] ?? ''));
if ($kode === '' || $qty <= 0) {
$this->toast('error', 'Ada item keranjang yang tidak valid.');
return;
@@ -241,6 +252,7 @@ class GudangPos extends Component
'qty' => $qty,
'qty_base' => $qtyBase,
'satuan_transaksi' => $satuan,
'keterangan' => $keterangan,
];
}
@@ -259,7 +271,7 @@ class GudangPos extends Component
'satuan_transaksi' => (string) $row['satuan_transaksi'],
'masa_expired' => null,
'jenis' => (string) ($jenis->jenis ?? ''),
'keterangan' => '',
'keterangan' => (string) ($row['keterangan'] ?? ''),
'marking' => '',
]);
}
@@ -267,6 +279,7 @@ class GudangPos extends Component
$this->cart = [];
$this->qty = 1;
$this->keterangan = '';
$this->toast('success', 'Barang keluar berhasil diproses.');
$this->dispatch('gudang-refresh');
$this->dispatch('gudangpos-close-modal');