Skip to content

Commit 219608f

Browse files
committed
print feedback when healthfacility not have pricelist
1 parent 8f5bbfc commit 219608f

7 files changed

Lines changed: 103 additions & 24 deletions

File tree

claimManagement/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ android {
2727
minSdkVersion 23
2828
targetSdkVersion 32
2929
versionCode 4
30-
versionName "1.1.7"
30+
versionName "1.1.8"
3131
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
3232
}
3333
buildTypes {

claimManagement/src/main/java/org/openimis/imisclaims/ClaimActivity.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,13 +318,23 @@ public boolean onOptionsItemSelected(MenuItem item) {
318318
private void addItem() {
319319
Intent addItemsIntent = new Intent(ClaimActivity.this, AddItems.class);
320320
addItemsIntent.putExtra(EXTRA_READONLY, isIntentReadonly());
321-
ClaimActivity.this.startActivity(addItemsIntent);
321+
JSONArray itemsArray = sqlHandler.getItems();
322+
if(itemsArray.length() == 0){
323+
showDialog(getResources().getString(R.string.NoItemsPricelist));
324+
}else {
325+
ClaimActivity.this.startActivity(addItemsIntent);
326+
}
322327
}
323328

324329
private void addService() {
325330
Intent addServicesIntent = new Intent(this, AddServices.class);
326331
addServicesIntent.putExtra(EXTRA_READONLY, isIntentReadonly());
327-
ClaimActivity.this.startActivity(addServicesIntent);
332+
JSONArray servicesArray = sqlHandler.getServices();
333+
if(servicesArray.length() == 0){
334+
showDialog(getResources().getString(R.string.NoServicesPricelist));
335+
}else {
336+
ClaimActivity.this.startActivity(addServicesIntent);
337+
}
328338
}
329339

330340
@Override

claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -553,8 +553,9 @@ public void validateClaimAdminCode(final String claimAdminCode) {
553553
AdminName.setText(global.getOfficeName());
554554
}
555555
Cursor c = sqlHandler.getMapping("I");
556-
if (c != null) {
557-
if (c.getCount() == 0) {
556+
Cursor c1 = sqlHandler.getMapping("S");
557+
if (c != null && c1 != null) {
558+
if (c.getCount() == 0 && c1.getCount() == 0) {
558559
try {
559560
progressDialog.dismiss();
560561
doLoggedIn(() -> CheckHealthFacility(claimAdminCode, HealthFacilityName));
@@ -710,23 +711,24 @@ private void DownLoadServicesItemsPriceList(@NonNull final String claimAdministr
710711
public void run() {
711712
try {
712713
PaymentList paymentList = new FetchPaymentList().execute(claimAdministratorCode);
713-
String servicesPricelistUuid = paymentList.getServicesPricelistUuid();
714714
Date date = Calendar.getInstance().getTime();
715-
List<Service> services = new FetchServices().execute(servicesPricelistUuid, date);
716-
String itemsPriceListUuid = paymentList.getItemsPricelistUuid();
717-
List<Medication> medications = new FetchMedications().execute(itemsPriceListUuid, date);
718715
sqlHandler.ClearMapping("S");
719716
sqlHandler.ClearMapping("I");
720717

721-
//Insert Services
722-
for (Service service : services) {
723-
sqlHandler.InsertMapping(service.getCode(), service.getName(), "S");
718+
if(paymentList.getServicesPricelistUuid() != null && !paymentList.getServicesPricelistUuid().isEmpty()){
719+
List<Service> services = new FetchServices().execute(paymentList.getServicesPricelistUuid(), date);
720+
for (Service service : services) {
721+
sqlHandler.InsertMapping(service.getCode(), service.getName(), "S");
722+
}
724723
}
725724

726-
//Insert Items
727-
for (Medication medication : medications) {
728-
sqlHandler.InsertMapping(medication.getCode(), medication.getName(), "I");
725+
if(paymentList.getItemsPricelistUuid() != null && !paymentList.getItemsPricelistUuid().isEmpty()){
726+
List<Medication> medications = new FetchMedications().execute(paymentList.getItemsPricelistUuid(), date);
727+
for (Medication medication : medications) {
728+
sqlHandler.InsertMapping(medication.getCode(), medication.getName(), "I");
729+
}
729730
}
731+
730732
runOnUiThread(() -> {
731733
progressDialog.dismiss();
732734
Toast.makeText(MainActivity.this, getResources().getString(R.string.MapSuccessful), Toast.LENGTH_LONG).show();

claimManagement/src/main/java/org/openimis/imisclaims/SQLHandler.java

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -961,4 +961,68 @@ public String getHfId(String code) {
961961
}
962962
return id;
963963
}
964+
965+
public JSONArray getServices() {
966+
String nullOverride="";
967+
JSONArray resultSet = new JSONArray();
968+
try {
969+
String query = "SELECT * FROM tblServices";
970+
Cursor cursor1 = db.rawQuery(query, null);
971+
cursor1.moveToFirst();
972+
// looping through all rows
973+
while (!cursor1.isAfterLast()) {
974+
int totalColumns = cursor1.getColumnCount();
975+
JSONObject rowObject = new JSONObject();
976+
for (int i = 0; i < totalColumns; i++) {
977+
try {
978+
if (cursor1.getString(i) != null)
979+
rowObject.put(cursor1.getColumnName(i), cursor1.getString(i));
980+
else
981+
rowObject.put(cursor1.getColumnName(i), nullOverride);
982+
} catch (JSONException e) {
983+
e.printStackTrace();
984+
Log.d("Tag Name", e.getMessage());
985+
}
986+
}
987+
resultSet.put(rowObject);
988+
cursor1.moveToNext();
989+
}
990+
cursor1.close();
991+
} catch (Exception e) {
992+
e.printStackTrace();
993+
}
994+
return resultSet;
995+
}
996+
997+
public JSONArray getItems() {
998+
String nullOverride="";
999+
JSONArray resultSet = new JSONArray();
1000+
try {
1001+
String query = "SELECT * FROM tblItems";
1002+
Cursor cursor1 = db.rawQuery(query, null);
1003+
cursor1.moveToFirst();
1004+
// looping through all rows
1005+
while (!cursor1.isAfterLast()) {
1006+
int totalColumns = cursor1.getColumnCount();
1007+
JSONObject rowObject = new JSONObject();
1008+
for (int i = 0; i < totalColumns; i++) {
1009+
try {
1010+
if (cursor1.getString(i) != null)
1011+
rowObject.put(cursor1.getColumnName(i), cursor1.getString(i));
1012+
else
1013+
rowObject.put(cursor1.getColumnName(i), nullOverride);
1014+
} catch (JSONException e) {
1015+
e.printStackTrace();
1016+
Log.d("Tag Name", e.getMessage());
1017+
}
1018+
}
1019+
resultSet.put(rowObject);
1020+
cursor1.moveToNext();
1021+
}
1022+
cursor1.close();
1023+
} catch (Exception e) {
1024+
e.printStackTrace();
1025+
}
1026+
return resultSet;
1027+
}
9641028
}

claimManagement/src/main/java/org/openimis/imisclaims/usecase/FetchDiagnosesServicesItems.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
import org.openimis.imisclaims.network.util.PaginatedResponseUtils;
1919
import org.openimis.imisclaims.util.DateUtils;
2020

21+
import java.util.ArrayList;
2122
import java.util.Date;
23+
import java.util.List;
2224

2325
public class FetchDiagnosesServicesItems {
2426

@@ -53,17 +55,13 @@ public DiagnosesServicesMedications execute() throws Exception {
5355
// previous code was passing sometimes a `last_updated_date` but it was either empty or
5456
// `new Date(0)`. I'm still returning the last updated date in case it's one day used
5557
// again.¯\_(ツ)_/¯
58+
List<Service> services = new ArrayList<>();
59+
List<Medication> medications = new ArrayList<>();
5660
return new DiagnosesServicesMedications(
5761
/* lastUpdated = */ DateUtils.toDateString(new Date()),
5862
/* diagnoses = */ Mapper.map(getDiagnosesRequest.get(), this::toDiagnosis),
59-
/* services = */ PaginatedResponseUtils.downloadAll(
60-
getActivityDefinitionsRequest::get,
61-
this::toService
62-
),
63-
/* medications = */ PaginatedResponseUtils.downloadAll(
64-
getMedicationsRequest::get,
65-
this::toMedication
66-
)
63+
/* services = */ services,
64+
/* medications = */ medications
6765
);
6866
}
6967

claimManagement/src/main/res/values-fr/strings.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@
160160
<string name="reports">Rapports</string>
161161
<string name="map_items">Lier des prod. méd.</string>
162162
<string name="map_services">Lier des soins</string>
163-
<string name="quit">Arrêter de fumer</string>
163+
<string name="quit">Quitter</string>
164164
<string name="about">À propos de</string>
165165
<string name="home">Accueil</string>
166166
<string name="Enter_Credentials">Veuillez entrer votre nom d\'utilisateur et votre mot de passe</string>
@@ -210,4 +210,7 @@
210210
<string name="updateAvailable">Mise à jour disponible</string>
211211
<string name="haveLastVersion">Vous avez la dernière version </string>
212212
<string name="newVersion">Nouvelle version </string>
213+
<string name="NoServicesPricelist">La formation sanitaire n\'a pas de liste de prix pour les services </string>
214+
<string name="NoItemsPricelist">La formation sanitaire n\'a pas de liste de prix pour les produits </string>
215+
<string name="entered">Entrée</string>
213216
</resources>

claimManagement/src/main/res/values/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,4 +256,6 @@
256256
<string name="updateAvailable">Update available</string>
257257
<string name="haveLastVersion">You have the last version </string>
258258
<string name="newVersion">New version </string>
259+
<string name="NoServicesPricelist">This healthfacility don\'t have services pricelist</string>
260+
<string name="NoItemsPricelist">This healthfacility don\'t have items pricelist</string>
259261
</resources>

0 commit comments

Comments
 (0)