diff --git a/claimManagement/build.gradle b/claimManagement/build.gradle index 75af6de8..59c03fe2 100644 --- a/claimManagement/build.gradle +++ b/claimManagement/build.gradle @@ -27,7 +27,7 @@ android { minSdkVersion 23 targetSdkVersion 32 versionCode 4 - versionName "1.1.7" + versionName "1.1.8" 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 fd3c0410..caabc5a9 100644 --- a/claimManagement/src/main/java/org/openimis/imisclaims/ClaimActivity.java +++ b/claimManagement/src/main/java/org/openimis/imisclaims/ClaimActivity.java @@ -7,6 +7,7 @@ import android.content.ContentValues; import android.content.Context; import android.content.Intent; +import android.database.Cursor; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; @@ -318,13 +319,23 @@ public boolean onOptionsItemSelected(MenuItem item) { private void addItem() { Intent addItemsIntent = new Intent(ClaimActivity.this, AddItems.class); addItemsIntent.putExtra(EXTRA_READONLY, isIntentReadonly()); - ClaimActivity.this.startActivity(addItemsIntent); + Cursor c = sqlHandler.getMapping("I"); + if(c != null && c.getCount() == 0){ + showDialog(getResources().getString(R.string.NoItemsPricelist)); + }else { + ClaimActivity.this.startActivity(addItemsIntent); + } } private void addService() { Intent addServicesIntent = new Intent(this, AddServices.class); addServicesIntent.putExtra(EXTRA_READONLY, isIntentReadonly()); - ClaimActivity.this.startActivity(addServicesIntent); + Cursor c = sqlHandler.getMapping("S"); + if(c != null && c.getCount() == 0){ + showDialog(getResources().getString(R.string.NoServicesPricelist)); + }else { + ClaimActivity.this.startActivity(addServicesIntent); + } } @Override diff --git a/claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java b/claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java index 6820d5c4..9c6bfd86 100644 --- a/claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java +++ b/claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java @@ -553,8 +553,9 @@ public void validateClaimAdminCode(final String claimAdminCode) { AdminName.setText(global.getOfficeName()); } Cursor c = sqlHandler.getMapping("I"); - if (c != null) { - if (c.getCount() == 0) { + Cursor c1 = sqlHandler.getMapping("S"); + if (c != null && c1 != null) { + if (c.getCount() == 0 && c1.getCount() == 0) { try { progressDialog.dismiss(); doLoggedIn(() -> CheckHealthFacility(claimAdminCode, HealthFacilityName)); @@ -710,23 +711,24 @@ private void DownLoadServicesItemsPriceList(@NonNull final String claimAdministr public void run() { try { PaymentList paymentList = new FetchPaymentList().execute(claimAdministratorCode); - String servicesPricelistUuid = paymentList.getServicesPricelistUuid(); Date date = Calendar.getInstance().getTime(); - List services = new FetchServices().execute(servicesPricelistUuid, date); - String itemsPriceListUuid = paymentList.getItemsPricelistUuid(); - List medications = new FetchMedications().execute(itemsPriceListUuid, date); sqlHandler.ClearMapping("S"); sqlHandler.ClearMapping("I"); - //Insert Services - for (Service service : services) { - sqlHandler.InsertMapping(service.getCode(), service.getName(), "S"); + if(paymentList.getServicesPricelistUuid() != null && !paymentList.getServicesPricelistUuid().isEmpty()){ + List services = new FetchServices().execute(paymentList.getServicesPricelistUuid(), date); + for (Service service : services) { + sqlHandler.InsertMapping(service.getCode(), service.getName(), "S"); + } } - //Insert Items - for (Medication medication : medications) { - sqlHandler.InsertMapping(medication.getCode(), medication.getName(), "I"); + if(paymentList.getItemsPricelistUuid() != null && !paymentList.getItemsPricelistUuid().isEmpty()){ + List medications = new FetchMedications().execute(paymentList.getItemsPricelistUuid(), date); + for (Medication medication : medications) { + sqlHandler.InsertMapping(medication.getCode(), medication.getName(), "I"); + } } + runOnUiThread(() -> { progressDialog.dismiss(); Toast.makeText(MainActivity.this, getResources().getString(R.string.MapSuccessful), Toast.LENGTH_LONG).show(); diff --git a/claimManagement/src/main/java/org/openimis/imisclaims/usecase/FetchDiagnosesServicesItems.java b/claimManagement/src/main/java/org/openimis/imisclaims/usecase/FetchDiagnosesServicesItems.java index 941e6dc0..34dd5a8d 100644 --- a/claimManagement/src/main/java/org/openimis/imisclaims/usecase/FetchDiagnosesServicesItems.java +++ b/claimManagement/src/main/java/org/openimis/imisclaims/usecase/FetchDiagnosesServicesItems.java @@ -18,7 +18,9 @@ import org.openimis.imisclaims.network.util.PaginatedResponseUtils; import org.openimis.imisclaims.util.DateUtils; +import java.util.ArrayList; import java.util.Date; +import java.util.List; public class FetchDiagnosesServicesItems { @@ -53,17 +55,13 @@ public DiagnosesServicesMedications execute() throws Exception { // previous code was passing sometimes a `last_updated_date` but it was either empty or // `new Date(0)`. I'm still returning the last updated date in case it's one day used // again.¯\_(ツ)_/¯ + List services = new ArrayList<>(); + List medications = new ArrayList<>(); return new DiagnosesServicesMedications( /* lastUpdated = */ DateUtils.toDateString(new Date()), /* diagnoses = */ Mapper.map(getDiagnosesRequest.get(), this::toDiagnosis), - /* services = */ PaginatedResponseUtils.downloadAll( - getActivityDefinitionsRequest::get, - this::toService - ), - /* medications = */ PaginatedResponseUtils.downloadAll( - getMedicationsRequest::get, - this::toMedication - ) + /* services = */ services, + /* medications = */ medications ); } diff --git a/claimManagement/src/main/res/values-fr/strings.xml b/claimManagement/src/main/res/values-fr/strings.xml index 54a183b7..e12f12c5 100644 --- a/claimManagement/src/main/res/values-fr/strings.xml +++ b/claimManagement/src/main/res/values-fr/strings.xml @@ -160,7 +160,7 @@ Rapports Lier des prod. méd. Lier des soins - Arrêter de fumer + Quitter À propos de Accueil Veuillez entrer votre nom d\'utilisateur et votre mot de passe @@ -210,4 +210,7 @@ Mise à jour disponible Vous avez la dernière version Nouvelle version + La formation sanitaire n\'a pas de liste de prix pour les services + La formation sanitaire n\'a pas de liste de prix pour les produits + Entrée diff --git a/claimManagement/src/main/res/values/strings.xml b/claimManagement/src/main/res/values/strings.xml index d1d53210..dee62b18 100644 --- a/claimManagement/src/main/res/values/strings.xml +++ b/claimManagement/src/main/res/values/strings.xml @@ -256,4 +256,6 @@ Update available You have the last version New version + This healthfacility don\'t have services pricelist + This healthfacility don\'t have items pricelist