handleWeighingStatus method
Future<void>
handleWeighingStatus(
)
Implementation
Future<void> handleWeighingStatus() async {
if (tblTRLoadingTO.value?.statusId ==
LoadingStatusInternalTransferE.rejectVehicleAfterTareWeight.value) {
if (tblTRLoadingWeighingTOList.isNotEmpty) {
final firstWt = tblTRLoadingWeighingTOList[0].actualWeight ?? 0;
try {
final response = await _apiService.getData(
AppUrls.getSystemConfigParamValByName,
queryParams: {
'configParamName': DefaultConfigurationSettingE
.weighingDiffrenceAllowAtRejectVehicalInInternal.value
},
);
if (response.statusCode == 200 && response.data != null) {
final data = response.data['data'];
if (data['ConfigParamVal'] != null) {
negotiationValue.value =
double.tryParse(data['ConfigParamVal'].toString()) ?? 0;
final firstTakenWtPlus = firstWt + negotiationValue.value;
final firstTakenWtMinus = firstWt - negotiationValue.value;
final currentWeight = tblTRLoadingWeighingTO.actualWeight ?? 0;
if (currentWeight > firstTakenWtPlus ||
currentWeight < firstTakenWtMinus) {
_showWeighingWarningDialog();
return;
}
}
}
} catch (e) {
print('Error getting config value: $e');
}
}
}
// Fallback: always call post if nothing else matched
await postWeighingDetails();
}