diff --git a/app/Http/Controllers/MfmParameterController.php b/app/Http/Controllers/MfmParameterController.php index f7df9dc..39d55f0 100644 --- a/app/Http/Controllers/MfmParameterController.php +++ b/app/Http/Controllers/MfmParameterController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Models\DeviceMaster; use App\Models\MfmMeter; use App\Models\MfmParameter; use App\Models\Plant; @@ -95,6 +96,7 @@ class MfmParameterController extends Controller $plantCode = $request->header('plant-code'); $mfmParameterSeq = $request->header('mfm-meter-sequence'); + $deviceName = $request->header('device-name'); if (!$plantCode) { return response()->json([ @@ -108,9 +110,17 @@ class MfmParameterController extends Controller 'status_description' => "Mfm Parameter sequence value can't be empty" ], 404); } + else if (!$deviceName) { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Device name value can't be empty" + ], 404); + } $plant = Plant::where('code', $plantCode)->first(); + $device = DeviceMaster::where('name', $deviceName)->first(); + if (!$plant) { return response()->json([ @@ -118,9 +128,11 @@ class MfmParameterController extends Controller 'status_description' => "Plant Code '{$plantCode}' not found!" ], 404); } + // Find mfm_meter by sequence and plant_id $mfmMeter = MfmMeter::where('sequence', trim($mfmParameterSeq)) ->where('plant_id', $plant->id) + ->where('device_master_id', $device->id) ->first(); if (!$mfmMeter) { @@ -133,6 +145,7 @@ class MfmParameterController extends Controller // Now fetch mfm_parameters for this plant and meter $mfmParameters = MfmParameter::where('plant_id', $plant->id) ->where('mfm_meter_id', $mfmMeter->id) + ->where('device_master_id', $device->id) ->get(['register_id', 'byte_to_convert', 'type_to_convert', 'decimal_to_display']); $transformed = $mfmParameters->map(function ($item) { @@ -159,7 +172,7 @@ class MfmParameterController extends Controller if ($transformed->isEmpty()) { return response()->json([ 'status_code' => 'ERROR', - 'status_description' => "No MFM parameters found for the specified plant and meter." + 'status_description' => "No MFM parameters found for the specified plant,meter and device name." ], 404); }