Skip to content

Commit

Permalink
data inconsistency issue resolved issue# 729
Browse files Browse the repository at this point in the history
  • Loading branch information
junaidwarsivd authored and SebaMutuku committed Mar 8, 2022
1 parent f37da28 commit ef679d7
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import org.smartregister.anc.library.model.PartialContacts;
import org.smartregister.anc.library.model.PreviousContact;
import org.smartregister.anc.library.model.Task;
import org.smartregister.anc.library.repository.ContactTasksRepository;
import org.smartregister.anc.library.repository.PartialContactRepository;
import org.smartregister.anc.library.repository.PreviousContactRepository;
import org.smartregister.anc.library.rule.ContactRule;
Expand All @@ -37,6 +38,8 @@

import timber.log.Timber;

import static org.smartregister.anc.library.util.ConstantsUtils.CONTACT_DATE;

/**
* Created by keyman 30/07/2018.
*/
Expand Down Expand Up @@ -177,7 +180,7 @@ private void addAttentionFlags(String baseEntityId, Map<String, String> details,

private void addTheContactDate(String baseEntityId, Map<String, String> details) {
PreviousContact previousContact = preLoadPreviousContact(baseEntityId, details);
previousContact.setKey(ConstantsUtils.CONTACT_DATE);
previousContact.setKey(CONTACT_DATE);
previousContact.setValue(Utils.getDBDateToday());
AncLibrary.getInstance().getPreviousContactRepository().savePreviousContact(previousContact);
}
Expand Down Expand Up @@ -235,6 +238,8 @@ private String getCurrentContactState(String baseEntityId) throws JSONException
stateObject = new JSONObject();

for (PreviousContact previousContact : previousContactList) {
if(previousContact.getKey().equals(CONTACT_DATE) && stateObject.has(CONTACT_DATE))
continue;
stateObject.put(previousContact.getKey(), previousContact.getValue());
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,13 @@ public static void createTable(SQLiteDatabase database) {
database.execSQL(INDEX_BASE_ENTITY_ID);
database.execSQL(INDEX_KEY);
}
public void deleteAllTasks(String baseEntityID)
{
if(baseEntityID != null) {
String deleteQuery = BASE_ENTITY_ID + " = ? ";
getWritableDatabase().delete(TABLE_NAME, deleteQuery, new String[]{baseEntityID});
}
}

/**
* Inserts or updates the tasks into the contact_tasks table. Returns a boolean which is used to refresh the tasks view on the profile pages
Expand All @@ -79,6 +86,13 @@ public boolean saveOrUpdateTasks(Task task) {
getWritableDatabase().update(TABLE_NAME, createValuesFor(task), sqlQuery, new String[]{String.valueOf(task.getId())});
return true;
} else {
Cursor cursor = getReadableDatabase().rawQuery("SELECT * FROM "+TABLE_NAME+" where key = ? AND base_entity_id = ?",new String[]{task.getKey(),task.getBaseEntityId()});
if(cursor != null && cursor.getCount()>0)
{
String updateLatestQuery = KEY + " = ? AND " + BASE_ENTITY_ID + " = ? ";
getWritableDatabase().delete(TABLE_NAME, updateLatestQuery,new String[]{task.getKey(),task.getBaseEntityId()});
}

getWritableDatabase().insert(TABLE_NAME, null, createValuesFor(task));
return false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ private void processContactTasks(Event event) {
String openTasks = event.getDetails().get(ConstantsUtils.DetailsKeyUtils.OPEN_TEST_TASKS);
if (StringUtils.isNotBlank(openTasks)) {
JSONArray openTasksArray = new JSONArray(openTasks);

getContactTasksRepository().deleteAllTasks(event.getBaseEntityId());
for (int i = 0; i < openTasksArray.length(); i++) {
JSONObject tasks = new JSONObject(openTasksArray.getString(i));
String key = tasks.optString(JsonFormConstants.KEY);
Expand Down
2 changes: 1 addition & 1 deletion reference-app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jacoco {
// This variables are used by the version code & name generators
ext.versionMajor = 1
ext.versionMinor = 6
ext.versionPatch = 11
ext.versionPatch = 12
ext.versionClassifier = null
ext.isSnapshot = false
ext.minimumSdkVersion = androidMinSdkVersion
Expand Down

0 comments on commit ef679d7

Please sign in to comment.