diff --git a/app/Filament/Resources/InvoiceValidationResource/Pages/CreateInvoiceValidation.php b/app/Filament/Resources/InvoiceValidationResource/Pages/CreateInvoiceValidation.php index fb0fd71..1dd5cdf 100644 --- a/app/Filament/Resources/InvoiceValidationResource/Pages/CreateInvoiceValidation.php +++ b/app/Filament/Resources/InvoiceValidationResource/Pages/CreateInvoiceValidation.php @@ -211,16 +211,20 @@ class CreateInvoiceValidation extends CreateRecord } else { $totQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->count(); $scanSQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->where('scanned_status', 'Scanned')->where('plant_id', $plantId)->count(); + $totMQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNotNull('quantity')->where('plant_id', $plantId)->count(); // ->where('quantity', '!=', '') $scanMQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNotNull('serial_number')->where('serial_number', '!=', '')->where('plant_id', $plantId)->count(); if ($totMQuan > 0) { + $totMatQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('invoice_quantity') ?? 0; // ->where('quantity', '!=', '') + $scanMatQuan = number_format($totMatQuan - (InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('quantity') ?? 0), 3, '.', ''); + $this->form->fill([ 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, - 'scanned_quantity' => $scanMQuan, + 'total_quantity' => $totMatQuan, + 'scanned_quantity' => $scanMatQuan, ]); if ($totQuan == $scanMQuan) { @@ -829,12 +833,16 @@ class CreateInvoiceValidation extends CreateRecord // Update total quantity in the form $totalQuantity = InvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->count(); $scannedQuantity = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNotNull('serial_number')->where('serial_number', '!=', '')->where('plant_id', $plantId)->count(); + + $totMatQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('invoice_quantity') ?? 0; + $scanMatQuan = number_format($totMatQuan - (InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('quantity') ?? 0), 3, '.', ''); + $this->form->fill([ 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totalQuantity, - 'scanned_quantity' => $scannedQuantity, + 'total_quantity' => $totMatQuan, + 'scanned_quantity' => $scanMatQuan, ]); if ($totalQuantity == $scannedQuantity) { @@ -861,12 +869,16 @@ class CreateInvoiceValidation extends CreateRecord $totalQuantity = InvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->count(); $scannedQuantity = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNotNull('serial_number')->where('serial_number', '!=', '')->where('plant_id', $plantId)->count(); + + $totMatQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('invoice_quantity') ?? 0; + $scanMatQuan = number_format($totMatQuan - (InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('quantity') ?? 0), 3, '.', ''); + $this->form->fill([ 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totalQuantity, - 'scanned_quantity' => $scannedQuantity, + 'total_quantity' => $totMatQuan, + 'scanned_quantity' => $scanMatQuan, ]); // if ($disk->exists($filePath)) { @@ -1918,12 +1930,16 @@ class CreateInvoiceValidation extends CreateRecord // Update total quantity in the form $totalQuantity = InvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->count(); $scannedQuantity = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNotNull('serial_number')->where('serial_number', '!=', '')->where('plant_id', $plantId)->count(); + + $totMatQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('invoice_quantity') ?? 0; + $scanMatQuan = number_format($totMatQuan - (InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('quantity') ?? 0), 3, '.', ''); + $this->form->fill([ 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totalQuantity, - 'scanned_quantity' => $scannedQuantity, + 'total_quantity' => $totMatQuan, + 'scanned_quantity' => $scanMatQuan, ]); if ($totalQuantity == $scannedQuantity) { @@ -1951,12 +1967,16 @@ class CreateInvoiceValidation extends CreateRecord $totalQuantity = InvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->count(); $scannedQuantity = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNotNull('serial_number')->where('serial_number', '!=', '')->where('plant_id', $plantId)->count(); + + $totMatQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('invoice_quantity') ?? 0; + $scanMatQuan = number_format($totMatQuan - (InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('quantity') ?? 0), 3, '.', ''); + $this->form->fill([ 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totalQuantity, - 'scanned_quantity' => $scannedQuantity, + 'total_quantity' => $totMatQuan, + 'scanned_quantity' => $scanMatQuan, ]); // if ($disk->exists($filePath)) { @@ -2448,6 +2468,9 @@ class CreateInvoiceValidation extends CreateRecord return; } else { if ($totMQuan > 0) { + $totMatQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('invoice_quantity') ?? 0; + $scanMatQuan = number_format($totMatQuan - (InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('quantity') ?? 0), 3, '.', ''); + if ($totQuan == $scanMQuan) { Notification::make() ->title('Completed: Material Invoice') @@ -2484,9 +2507,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); // $hasRecords = InvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->first()->stickerMasterRelation->material_type ?? null; $this->dispatch('refreshMaterialInvoiceData', invoiceNumber: $invoiceNumber, plantId: $plantId); @@ -2524,9 +2547,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -2543,9 +2566,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -2586,9 +2609,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -2620,9 +2643,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -2655,9 +2678,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -2698,9 +2721,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -2731,9 +2754,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -2763,9 +2786,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -2805,9 +2828,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -2838,9 +2861,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -2914,7 +2937,6 @@ class CreateInvoiceValidation extends CreateRecord $duplicateSerial = []; $weightExceeded = []; - $processedItems = []; $invalidMaterialItems = []; $wireItems1 = WireMasterPacking::join('items', 'items.id', '=', 'wire_master_packings.item_id') @@ -2933,8 +2955,6 @@ class CreateInvoiceValidation extends CreateRecord $palletWeight = $wireItem->pallet_weight; $itemCode = $wireItem->item_code; - $processedItems[] = $itemCode; - $duplicate = InvoiceValidation::where('plant_id', $this->plantId) ->where('invoice_number', $this->invoiceNumber) ->where('serial_number', $processOrder) @@ -3120,16 +3140,18 @@ class CreateInvoiceValidation extends CreateRecord $this->dispatch('refreshMaterialInvoiceData', invoiceNumber: $invoiceNumber, plantId: $plantId); $totQuan = InvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count(); - $scanMQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNotNull('serial_number')->where('serial_number', '!=', '')->where('plant_id', $plantId)->count(); + $totMatQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('invoice_quantity') ?? 0; + $scanMatQuan = number_format($totMatQuan - (InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('quantity') ?? 0), 3, '.', ''); + $this->form->fill([ 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -3168,9 +3190,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -3206,9 +3228,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -3243,9 +3265,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -3266,9 +3288,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -3301,9 +3323,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -3329,9 +3351,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -3351,9 +3373,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -3373,9 +3395,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -3439,9 +3461,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -3467,9 +3489,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scanMQuan, + 'scanned_quantity' => $scanMatQuan, ]); return; @@ -3492,9 +3514,11 @@ class CreateInvoiceValidation extends CreateRecord // ->send(); $totQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->count(); - $scannedMQuantity = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNotNull('serial_number')->where('serial_number', '!=', '')->where('plant_id', $plantId)->count(); + $totMatQuan = InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('invoice_quantity') ?? 0; + $scanMatQuan = number_format($totMatQuan - (InvoiceValidation::where('invoice_number', $invoiceNumber)->whereNull('serial_number')->where('plant_id', $plantId)->latest()->value('quantity') ?? 0), 3, '.', ''); + if ($totQuan == $scannedMQuantity) { Notification::make() ->title('Completed: Material Invoice') @@ -3530,9 +3554,9 @@ class CreateInvoiceValidation extends CreateRecord 'plant_id' => $plantId, 'invoice_number' => $invoiceNumber, 'serial_number' => null, - 'total_quantity' => $totQuan, + 'total_quantity' => $totMatQuan, 'update_invoice' => false, - 'scanned_quantity' => $scannedMQuantity, + 'scanned_quantity' => $scanMatQuan, ]); $this->dispatch('refreshMaterialInvoiceData', invoiceNumber: $invoiceNumber, plantId: $plantId); } diff --git a/app/Http/Controllers/CharacteristicsController.php b/app/Http/Controllers/CharacteristicsController.php index 8f6b0d0..ba48348 100644 --- a/app/Http/Controllers/CharacteristicsController.php +++ b/app/Http/Controllers/CharacteristicsController.php @@ -2045,7 +2045,26 @@ class CharacteristicsController extends Controller ], 404); } - $machineId = $machine->id; // + $machineId = $machine->id; + + if ($jobNo != null && $jobNo != '' && $jobNo) { + if (Str::length($jobNo) < 7) { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Job number '{$jobNo}' should contain minimum 7 digits!", + ], 404); + } elseif (! is_numeric($jobNo)) { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Job number '{$jobNo}' should contain only numeric values!", + ], 404); + } elseif (! preg_match('/^[1-9]\d{6,}$/', $jobNo)) { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Job number '{$jobNo}' should not begin with '0'!", + ], 404); + } + } $availFields = ['class', 'arbid', 'gamng', 'lmnga', 'zz1_cn_bill_ord', 'zmm_amps', 'zmm_brand', 'zmm_degreeofprotection', 'zmm_delivery', 'zmm_dir_rot', 'zmm_discharge', 'zmm_discharge_max', 'zmm_discharge_min', 'zmm_duty', 'zmm_eff_motor', 'zmm_eff_pump', 'zmm_frequency', 'zmm_head', 'zmm_heading', 'zmm_head_max', 'zmm_head_minimum', 'zmm_idx_eff_mtr', 'zmm_idx_eff_pump', 'zmm_kvacode', 'zmm_maxambtemp', 'zmm_mincoolingflow', 'zmm_motorseries', 'zmm_motor_model', 'zmm_outlet', 'zmm_phase', 'zmm_pressure', 'zmm_pumpflowtype', 'zmm_pumpseries', 'zmm_pump_model', 'zmm_ratedpower', 'zmm_region', 'zmm_servicefactor', 'zmm_servicefactormaximumamps', 'zmm_speed', 'zmm_suction', 'zmm_suctionxdelivery', 'zmm_supplysource', 'zmm_temperature', 'zmm_thrustload', 'zmm_volts', 'zmm_wire', 'zmm_package', 'zmm_pvarrayrating', 'zmm_isi', 'zmm_isimotor', 'zmm_isipump', 'zmm_isipumpset', 'zmm_pumpset_model', 'zmm_stages', 'zmm_headrange', 'zmm_overall_efficiency', 'zmm_connection', 'zmm_min_bore_size', 'zmm_isireference', 'zmm_category', 'zmm_submergence', 'zmm_capacitorstart', 'zmm_capacitorrun', 'zmm_inch', 'zmm_motor_type', 'zmm_dismantle_direction', 'zmm_eff_ovrall', 'zmm_bodymoc', 'zmm_rotormoc', 'zmm_dlwl', 'zmm_inputpower', 'zmm_imp_od', 'zmm_ambtemp', 'zmm_de', 'zmm_dischargerange', 'zmm_efficiency_class', 'zmm_framesize', 'zmm_impellerdiameter', 'zmm_insulationclass', 'zmm_maxflow', 'zmm_minhead', 'zmm_mtrlofconst', 'zmm_nde', 'zmm_powerfactor', 'zmm_tagno', 'zmm_year', 'zmm_laser_name', 'zmm_logo_cp', 'zmm_logo_ce', 'zmm_logo_nsf', 'zmm_logo_eac', 'zmm_grwt_motor', 'zmm_grwt_pump', 'zmm_grwt_pset', 'zmm_grwt_cable', 'zmm_grwt_pf', 'zmm_newt_motor', 'zmm_newt_pump', 'zmm_newt_pset', 'zmm_newt_cable', 'zmm_newt_pf', 'zmm_operating_range', 'zmm_intake_air', 'zmm_oxygen_transfer_rate', 'zmm_air_inlet_pipesize', 'zmm_sump_depth', 'zmm_poles', 'zmm_motor_heading', 'zmm_motor_speed', 'zmm_beenote', 'zmm_beenumber', 'zmm_beestar', 'zmm_eff_ttl', 'zmm_labelperiod', 'zmm_modelyear', 'zmm_performance_factor', 'zqmm_qty', 'zmm_operating_temperature', 'zmm_axial_force', 'zmm_codeclass', 'zmm_colour', 'zmm_grade', 'zmm_isivalve', 'zmm_isi_wc', 'zmm_length', 'zmm_license_cml_no', 'zmm_mfgmonyr', 'zmm_motoridentification', 'zmm_packtype', 'zmm_panel', 'zmm_pumpidentification', 'zmm_psettype', 'zmm_size', 'zmm_type', 'zmm_usp', 'marked_datetime', 'marked_by', 'motor_pump_pumpset_status', 'motor_machine_name', 'pump_machine_name', 'name_plate_machine_name', 'pending_released_status', 'has_work_flow_id']; // 'mark_status','marked_physical_count', 'marked_expected_time', 'man_marked_status', 'man_marked_datetime', 'man_marked_by', 'motor_marked_status', 'motor_marked_physical_count', 'motor_expected_time', 'motor_marked_datetime', 'motor_marked_by', 'pump_marked_status', 'pump_marked_physical_count', 'pump_expected_time', 'pump_marked_datetime', 'pump_marked_by', 'name_plate_marked_status', 'name_plate_expected_time', 'name_plate_marked_datetime', 'name_plate_marked_by', 'winded_serial_number', 'winded_rework_status', 'part_validation_1', 'part_validation_2', 'samlight_logged_name' @@ -2140,7 +2159,12 @@ class CharacteristicsController extends Controller $missingUsersRight = []; foreach ($characteristics as $ch) { $curHead = $ch['zmm_heading'] ?? null; - if (Str::contains($curHead, 'PRESSURE BOOSTER SYSTEM', ignoreCase: true)) { + if ($curHead == '' || $curHead == null) { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "ZMM_HEADING - characteristics doesn't have value to proceed!", + ], 404); + } elseif (Str::contains($curHead, 'PRESSURE BOOSTER SYSTEM', ignoreCase: true)) { $stick = StickerMaster::where('item_id', $itemId)->first(); if (! $stick) { @@ -2437,7 +2461,12 @@ class CharacteristicsController extends Controller // ], 404); foreach ($characteristics as $ch) { $curHead = $ch['zmm_heading'] ?? null; - if (Str::contains($curHead, 'PRESSURE BOOSTER SYSTEM', ignoreCase: true)) { + if ($curHead == '' || $curHead == null) { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "ZMM_HEADING - characteristics doesn't have value to proceed!", + ], 404); + } elseif (Str::contains($curHead, 'PRESSURE BOOSTER SYSTEM', ignoreCase: true)) { $stick = StickerMaster::where('item_id', $itemId)->first(); if (! $stick) { @@ -2479,7 +2508,12 @@ class CharacteristicsController extends Controller $missingUsersRight = []; foreach ($characteristics as $ch) { $curHead = $ch['zmm_heading'] ?? null; - if (Str::contains($curHead, 'PRESSURE BOOSTER SYSTEM', ignoreCase: true)) { + if ($curHead == '' || $curHead == null) { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "ZMM_HEADING - characteristics doesn't have value to proceed!", + ], 404); + } elseif (Str::contains($curHead, 'PRESSURE BOOSTER SYSTEM', ignoreCase: true)) { $stick = StickerMaster::where('item_id', $itemId)->first(); if (! $stick) {