From 20f81437903961c2e67f47110cb2f70c1882cc5c Mon Sep 17 00:00:00 2001 From: vaneck237 Date: Thu, 28 May 2026 14:21:12 +0100 Subject: [PATCH] fix save invalid diagnosis --- claimManagement/build.gradle | 2 +- .../openimis/imisclaims/ClaimActivity.java | 32 ++++++++++++++++++- .../src/main/res/values-fr/strings.xml | 2 ++ .../src/main/res/values/strings.xml | 2 ++ 4 files changed, 36 insertions(+), 2 deletions(-) diff --git a/claimManagement/build.gradle b/claimManagement/build.gradle index d44ff839..656e3cd8 100644 --- a/claimManagement/build.gradle +++ b/claimManagement/build.gradle @@ -27,7 +27,7 @@ android { minSdkVersion 26 targetSdkVersion 32 versionCode 4 - versionName System.getenv("APP_VERSION") ?: "2.3.9" + versionName System.getenv("APP_VERSION") ?: "2.4.0" testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' } buildTypes { diff --git a/claimManagement/src/main/java/org/openimis/imisclaims/ClaimActivity.java b/claimManagement/src/main/java/org/openimis/imisclaims/ClaimActivity.java index 92a2f948..0ca66efc 100644 --- a/claimManagement/src/main/java/org/openimis/imisclaims/ClaimActivity.java +++ b/claimManagement/src/main/java/org/openimis/imisclaims/ClaimActivity.java @@ -267,7 +267,7 @@ public void onItemClick(AdapterView adapterView, View view, int position, lon btnPost.setOnClickListener(v -> { progressDialog = ProgressDialog.show(this, "", getResources().getString(R.string.Processing)); runOnNewThread( - () -> isValidData() && saveClaim(), + () -> isValidData() && isValidDiagnosis() && saveClaim(), () -> runOnUiThread(() -> { ClearForm(); progressDialog.dismiss(); @@ -832,6 +832,11 @@ private boolean isValidData() { return false; } + if(!isValidProgram()){ + showValidationDialog(etProgram, getResources().getString(R.string.InvalidProgram)); + return false; + } + if(etClaimPrefix.getText().length() == 0){ showValidationDialog(etClaimPrefix, getResources().getString(R.string.MissingChequeNumber)); return false; @@ -875,6 +880,31 @@ private boolean isValidInsureeNumber() { return escape.CheckCHFID(etInsureeNumber.getText().toString()); } + private boolean isValidDiagnosis(){ + List diagnosisList = new ArrayList<>(); + diagnosisList.add(etDiagnosis); + diagnosisList.add(etDiagnosis1); + diagnosisList.add(etDiagnosis2); + diagnosisList.add(etDiagnosis3); + diagnosisList.add(etDiagnosis4); + + for(AutoCompleteTextView diagnosis : diagnosisList){ + if(!diagnosis.getText().toString().isEmpty()){ + int diagnosisId = sqlHandler.getDiagnosisId(diagnosis.getText().toString()); + if(diagnosisId == 0){ + showValidationDialog(diagnosis, getResources().getString(R.string.invalidDisease)); + return false; + } + } + } + return true; + } + + private boolean isValidProgram(){ + int programId = sqlHandler.getProgamId(etProgram.getText().toString()); + return programId != 0; + } + protected void showValidationDialog(View view, String msg) { runOnUiThread(() -> showDialog(msg, (dialog, which) -> { if (view instanceof EditText) { diff --git a/claimManagement/src/main/res/values-fr/strings.xml b/claimManagement/src/main/res/values-fr/strings.xml index 1c47f727..5ae36b7a 100644 --- a/claimManagement/src/main/res/values-fr/strings.xml +++ b/claimManagement/src/main/res/values-fr/strings.xml @@ -565,4 +565,6 @@ Mise à jour disponible Vous avez la dernière version Nouvelle version + Code de diagnostic invalide + Le programme saisi est invalide \ No newline at end of file diff --git a/claimManagement/src/main/res/values/strings.xml b/claimManagement/src/main/res/values/strings.xml index edb9c2fe..4dc16e48 100644 --- a/claimManagement/src/main/res/values/strings.xml +++ b/claimManagement/src/main/res/values/strings.xml @@ -249,4 +249,6 @@ Update available You have the last version New version + Invalid disease code + Invalid program