diff --git a/app/Filament/Imports/StickerMasterImporter.php b/app/Filament/Imports/StickerMasterImporter.php index ae51153..ca348bc 100644 --- a/app/Filament/Imports/StickerMasterImporter.php +++ b/app/Filament/Imports/StickerMasterImporter.php @@ -162,73 +162,78 @@ class StickerMasterImporter extends Importer public function resolveRecord(): ?StickerMaster { $warnMsg = []; + $item = null; $plant = Plant::where('name', $this->data['plant'])->first(); if (!$plant) { $warnMsg[] = "Plant not found"; } - $item = null; - if ($plant) { + else + { $item = Item::where('code', $this->data['item'])->where('plant_id', $plant->id)->first(); - } - if (!$item) { - $warnMsg[] = "Item code not found"; - } - if (Str::length($this->data['serial_number_motor']) > 0 && $this->data['serial_number_motor'] != '1') { - $warnMsg[] = "Serial number motor must be 1 or empty"; - } - if (Str::length($this->data['serial_number_pump']) > 0 && $this->data['serial_number_pump'] != '1') { - $warnMsg[] = "Serial number pump must be 1 or empty"; - } - if (Str::length($this->data['serial_number_pumpset']) > 0 && $this->data['serial_number_pumpset'] != '1') { - $warnMsg[] = "Serial number pumpset must be 1 or empty"; - } - if (Str::length($this->data['pack_slip_motor']) > 0 && $this->data['pack_slip_motor'] != '1') { - $warnMsg[] = "Pack slip motor must be 1 or empty"; - } - if (Str::length($this->data['pack_slip_pump']) > 0 && $this->data['pack_slip_pump'] != '1') { - $warnMsg[] = "Pack slip pump must be 1 or empty"; - } - if (Str::length($this->data['pack_slip_pumpset']) > 0 && $this->data['pack_slip_pumpset'] != '1') { - $warnMsg[] = "Pack slip pumpset must be 1 or empty"; - } - if (Str::length($this->data['name_plate_motor']) > 0 && $this->data['name_plate_motor'] != '1') { - $warnMsg[] = "Name plate motor must be 1 or empty"; - } - if (Str::length($this->data['name_plate_pump']) > 0 && $this->data['name_plate_pump'] != '1') { - $warnMsg[] = "Name plate pump must be 1 or empty"; - } - if (Str::length($this->data['name_plate_pumpset']) > 0 && $this->data['name_plate_pumpset'] != '1') { - $warnMsg[] = "Name plate pumpset must be 1 or empty"; - } - if (Str::length($this->data['tube_sticker_motor']) > 0 && $this->data['tube_sticker_motor'] != '1') { - $warnMsg[] = "Tube sticker motor must be 1 or empty"; - } - if (Str::length($this->data['tube_sticker_pump']) > 0 && $this->data['tube_sticker_pump'] != '1') { - $warnMsg[] = "Tube sticker pump must be 1 or empty"; - } - if (Str::length($this->data['tube_sticker_pumpset']) > 0 && $this->data['tube_sticker_pumpset'] != '1') { - $warnMsg[] = "Tube sticker pumpset must be 1 or empty"; - } - if (Str::length($this->data['warranty_card']) > 0 && $this->data['warranty_card'] != '1') { - $warnMsg[] = "Warranty card must be 1 or empty"; - } - if (Str::length($this->data['panel_box_code']) > 0 && (Str::length($this->data['panel_box_code']) < 6 || !ctype_alnum($this->data['panel_box_code']))) { - $warnMsg[] = "Invalid panel box code found"; - } - if (!is_numeric($this->data['load_rate']) || $this->data['load_rate'] < 0) { - $warnMsg[] = "Load rate must be greater than or equal to 0"; - } - if (Str::length($this->data['bundle_quantity']) > 0 && (!is_numeric($this->data['bundle_quantity']) || $this->data['bundle_quantity'] <= 1)) { - $warnMsg[] = "Bundle quantity must be greater than or equal to '2' or empty"; - } - if (Str::length($this->data['material_type']) > 0 && $this->data['material_type'] != '1' && $this->data['material_type'] != '2' && $this->data['material_type'] != '3') { //($this->data['material_type'] != null) && - $warnMsg[] = "Material type must be 1 or 2 or 3 or empty"; + if (!$item) { + $warnMsg[] = "Item code not found"; + } + else + { + if (Str::length($this->data['serial_number_motor']) > 0 && $this->data['serial_number_motor'] != '1') { + $warnMsg[] = "Serial number motor must be 1 or empty"; + } + if (Str::length($this->data['serial_number_pump']) > 0 && $this->data['serial_number_pump'] != '1') { + $warnMsg[] = "Serial number pump must be 1 or empty"; + } + if (Str::length($this->data['serial_number_pumpset']) > 0 && $this->data['serial_number_pumpset'] != '1') { + $warnMsg[] = "Serial number pumpset must be 1 or empty"; + } + if (Str::length($this->data['pack_slip_motor']) > 0 && $this->data['pack_slip_motor'] != '1') { + $warnMsg[] = "Pack slip motor must be 1 or empty"; + } + if (Str::length($this->data['pack_slip_pump']) > 0 && $this->data['pack_slip_pump'] != '1') { + $warnMsg[] = "Pack slip pump must be 1 or empty"; + } + if (Str::length($this->data['pack_slip_pumpset']) > 0 && $this->data['pack_slip_pumpset'] != '1') { + $warnMsg[] = "Pack slip pumpset must be 1 or empty"; + } + if (Str::length($this->data['name_plate_motor']) > 0 && $this->data['name_plate_motor'] != '1') { + $warnMsg[] = "Name plate motor must be 1 or empty"; + } + if (Str::length($this->data['name_plate_pump']) > 0 && $this->data['name_plate_pump'] != '1') { + $warnMsg[] = "Name plate pump must be 1 or empty"; + } + if (Str::length($this->data['name_plate_pumpset']) > 0 && $this->data['name_plate_pumpset'] != '1') { + $warnMsg[] = "Name plate pumpset must be 1 or empty"; + } + if (Str::length($this->data['tube_sticker_motor']) > 0 && $this->data['tube_sticker_motor'] != '1') { + $warnMsg[] = "Tube sticker motor must be 1 or empty"; + } + if (Str::length($this->data['tube_sticker_pump']) > 0 && $this->data['tube_sticker_pump'] != '1') { + $warnMsg[] = "Tube sticker pump must be 1 or empty"; + } + if (Str::length($this->data['tube_sticker_pumpset']) > 0 && $this->data['tube_sticker_pumpset'] != '1') { + $warnMsg[] = "Tube sticker pumpset must be 1 or empty"; + } + if (Str::length($this->data['warranty_card']) > 0 && $this->data['warranty_card'] != '1') { + $warnMsg[] = "Warranty card must be 1 or empty"; + } + if (Str::length($this->data['panel_box_code']) > 0 && (Str::length($this->data['panel_box_code']) < 6 || !ctype_alnum($this->data['panel_box_code']))) { + $warnMsg[] = "Invalid panel box code found"; + } + if (Str::length($this->data['load_rate']) < 0 || !is_numeric($this->data['load_rate']) || $this->data['load_rate'] < 0) { + $warnMsg[] = "Load rate must be greater than or equal to 0"; + } + if (Str::length($this->data['bundle_quantity']) > 0 && (!is_numeric($this->data['bundle_quantity']) || $this->data['bundle_quantity'] <= 1)) { + $warnMsg[] = "Bundle quantity must be greater than or equal to '2' or empty"; + } + if (Str::length($this->data['material_type']) > 0 && $this->data['material_type'] != '1' && $this->data['material_type'] != '2' && $this->data['material_type'] != '3') { //($this->data['material_type'] != null) && + $warnMsg[] = "Material type must be 1 or 2 or 3 or empty"; + } + } } if (!empty($warnMsg)) { throw new RowImportFailedException(implode(', ', $warnMsg)); } - return StickerMaster::updateOrCreate([ + + StickerMaster::updateOrCreate([ 'item_id' => $item->id, 'plant_id' => $plant->id ], @@ -251,11 +256,14 @@ class StickerMasterImporter extends Importer 'part_validation3' => $this->data['part_validation3'], 'part_validation4' => $this->data['part_validation4'], 'part_validation5' => $this->data['part_validation5'], + 'laser_part_validation1' => $this->data['laser_part_validation1'], + 'laser_part_validation2' => $this->data['laser_part_validation2'], 'panel_box_code' => $this->data['panel_box_code'], 'load_rate' => $this->data['load_rate'], 'bundle_quantity' => $this->data['bundle_quantity'], 'material_type' => $this->data['material_type'] ]); + return null; // return StickerMaster::firstOrNew([ // // Update existing records, matching them by `$this->data['column_name']` // 'email' => $this->data['email'],