Added device master logic for mfm parameter controller

This commit is contained in:
dhanabalan
2025-07-31 16:43:53 +05:30
parent d5588e0b25
commit c67e8fcc59

View File

@@ -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);
}