update
This commit is contained in:
@@ -246,11 +246,16 @@ class GudangController extends Controller
|
||||
$jenis = $request->input('set02');
|
||||
$satuan = $request->input('set03');
|
||||
$idne = $request->input('set01');
|
||||
$satuanKecil = $set08;
|
||||
$satuanKecil = trim((string) $set08);
|
||||
$konversiKecil = (int) $set09;
|
||||
if ($konversiKecil <= 0){ $konversiKecil = 1; }
|
||||
$stokMinimum = (int) $set10;
|
||||
if ($stokMinimum < 0){ $stokMinimum = 0; }
|
||||
if ($satuanKecil === '') {
|
||||
$konversiKecil = 1;
|
||||
} elseif ($konversiKecil <= 1) {
|
||||
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Jika memakai satuan kecil, konversi harus lebih dari 1']);
|
||||
}
|
||||
$kodejenis = preg_replace('/\s+/', '', $jenis);
|
||||
if ($idne == 'new' OR $idne == ''){
|
||||
$ceksudah = SIMBHPJenis::where('kodejenis', $kodejenis)->where('satuan', $satuan)->count();
|
||||
@@ -296,7 +301,11 @@ class GudangController extends Controller
|
||||
$tahun = $ahrf[0];
|
||||
if(isset($ahrf[1])){ $wulan = (int)$ahrf[1]; } else { $wulan = (int)date("m"); }
|
||||
if(isset($ahrf[2])){ $dino = (int)$ahrf[2]; } else { $dino = (int)date("d"); }
|
||||
$unitSetting = $this->getJenisUnitSetting($pos);
|
||||
if ($jenis == 'pemasukan'){
|
||||
if (($satuanTransaksi ?: 'besar') === 'kecil' && !$unitSetting['has_breakdown']) {
|
||||
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Barang ini belum memiliki setting pecah satuan']);
|
||||
}
|
||||
$qtyBase = $this->calculateBaseQty($pos, $total, $satuanTransaksi ?: 'besar');
|
||||
$bayar = SIMBHPReport::create([
|
||||
'tanggal' => $dino,
|
||||
@@ -312,10 +321,13 @@ class GudangController extends Controller
|
||||
'marking' => '',
|
||||
]);
|
||||
} else if ($jenis == 'pengeluaran'){
|
||||
if (($satuanTransaksi ?: 'besar') === 'kecil' && !$unitSetting['has_breakdown']) {
|
||||
return response()->json(['icon' => 'error', 'warna' => '#bf441d', 'status' => 'Gagal', 'message' => 'Pengeluaran satuan kecil tidak tersedia untuk barang ini']);
|
||||
}
|
||||
$getnama = User::where('id', $deskripsi)->first();
|
||||
$nama = $getnama->nama ?? 'Unkown';
|
||||
$deskripsi = 'Diterima oleh '.$nama;
|
||||
$qtyBase = $this->calculateBaseQty($pos, $total, $satuanTransaksi ?: 'kecil');
|
||||
$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']);
|
||||
@@ -328,7 +340,7 @@ class GudangController extends Controller
|
||||
'pemasukan' => null,
|
||||
'pengeluaran' => $total,
|
||||
'qty_base' => $qtyBase,
|
||||
'satuan_transaksi' => $satuanTransaksi ?: 'kecil',
|
||||
'satuan_transaksi' => $satuanTransaksi ?: 'besar',
|
||||
'jenis' => $pos,
|
||||
'keterangan' => '',
|
||||
'marking' => '',
|
||||
@@ -484,8 +496,8 @@ class GudangController extends Controller
|
||||
{
|
||||
$qtyInput = (int) $qtyInput;
|
||||
if ($qtyInput < 0) { $qtyInput = 0; }
|
||||
$jenis = SIMBHPJenis::where('jenis', $jenisNama)->first();
|
||||
$konversi = (int) ($jenis->konversi_kecil ?? 1);
|
||||
$setting = $this->getJenisUnitSetting($jenisNama);
|
||||
$konversi = (int) $setting['konversi'];
|
||||
if ($konversi <= 0) { $konversi = 1; }
|
||||
|
||||
if ($satuanTransaksi === 'kecil') {
|
||||
@@ -495,6 +507,21 @@ class GudangController extends Controller
|
||||
return $qtyInput * $konversi;
|
||||
}
|
||||
|
||||
private function getJenisUnitSetting($jenisNama)
|
||||
{
|
||||
$jenis = SIMBHPJenis::where('jenis', $jenisNama)->first();
|
||||
$satuanKecil = trim((string) ($jenis->satuan_kecil ?? ''));
|
||||
$konversi = (int) ($jenis->konversi_kecil ?? 1);
|
||||
if ($konversi <= 0) { $konversi = 1; }
|
||||
$hasBreakdown = ($satuanKecil !== '' && $konversi > 1);
|
||||
|
||||
return [
|
||||
'has_breakdown' => $hasBreakdown,
|
||||
'konversi' => $konversi,
|
||||
'satuan_kecil' => $satuanKecil,
|
||||
];
|
||||
}
|
||||
|
||||
private function getStockBaseByJenis($jenisNama)
|
||||
{
|
||||
$rows = SIMBHPReport::where('jenis', $jenisNama)->get();
|
||||
|
||||
Reference in New Issue
Block a user