This commit is contained in:
Dwi Swandhana
2026-05-21 06:37:14 +07:00
parent acac1fe3c8
commit 3e9e8daea6
6 changed files with 116 additions and 121 deletions
@@ -115,18 +115,18 @@ class BiorepositoryController extends Controller
public function storeSpecimen(Request $request)
{
$validator = Validator::make($request->all(), [
'rack_id' => 'required|exists:bio_racks,id',
'kategorisimpan' => 'required|in:A,B,C,D',
'shelfnomor' => 'required|integer|min:1',
'raknomor' => 'required|integer|min:1',
'slotnomor' => 'required|integer|min:1',
'boxnomor' => 'required|integer|min:1',
'tubenomor' => 'required|integer|min:1',
'nmbakteri' => 'nullable|max:200',
'strain' => 'nullable|in:Gram Negatif,Gram Positif',
'stored_at' => 'required|date',
'volume' => 'nullable|numeric|min:0',
'volume_ambil' => 'nullable|numeric|min:0',
'rack_id' => 'required|exists:bio_racks,id',
'kategorisimpan' => 'required|in:A,B,C,D',
'shelfnomor' => 'required|integer|min:1',
'raknomor' => 'required|integer|min:1',
'slotnomor' => 'required|integer|min:1',
'boxnomor' => 'required|integer|min:1',
'tubenomor' => 'required|integer|min:1',
'nmbakteri' => 'nullable|max:200',
'strain' => 'nullable|in:Gram Negatif,Gram Positif',
'stored_at' => 'required|date',
'volume' => 'nullable|numeric|min:0',
'volume_ambil' => 'nullable|numeric|min:0',
'existing_specimen_id' => 'nullable|integer',
]);
@@ -206,6 +206,17 @@ class BiorepositoryController extends Controller
$counter++;
$generatedCode = $baseCode.'-'.$counter;
}
$sampleid = $request->input('sampleid');
if ($sampleid) {
$cekdata = Periksa::where('nofoto', $sampleid)->first();
if (!$cekdata) {
$sampleid = $cekdata->id;
} else {
$sampleid = null;
}
} else {
$sampleid = null;
}
BioSpecimen::create([
'cabinet_id' => $rack->cabinet_id,
@@ -220,8 +231,9 @@ class BiorepositoryController extends Controller
'tube_number' => $request->input('tubenomor'),
'bacteria_name' => $request->input('nmbakteri'),
'strain' => $request->input('strain'),
'atcc' => $atccByUser,
'atcc' => $request->input('atcc') ?? $atccByUser,
'input_by' => Session::get('nama'),
'sampleid' => $sampleid,
'stored_at' => $request->input('stored_at'),
'storage_condition' => $this->mapStorageCondition($request->input('kategorisimpan')),
'volume' => (string) $request->input('volume'),