From aa7b5a7173cb0e8caa89bf907839c5250a385afc Mon Sep 17 00:00:00 2001 From: raihan-mpower Date: Tue, 1 Aug 2017 12:41:10 +0600 Subject: [PATCH] RA| added type field to vaccine cards to differentiate between child and mother vaccines --- .../activity/ChildImmunizationActivity.java | 6 ++--- .../activity/WomanImmunizationActivity.java | 6 ++--- .../path/adapter/VaccineCardAdapter.java | 6 +++-- .../path/sync/PathClientProcessor.java | 24 +++++++++---------- .../ei/opensrp/path/view/VaccineGroup.java | 14 ++++++----- 5 files changed, 29 insertions(+), 27 deletions(-) diff --git a/opensrp-path/src/main/java/org/ei/opensrp/path/activity/ChildImmunizationActivity.java b/opensrp-path/src/main/java/org/ei/opensrp/path/activity/ChildImmunizationActivity.java index 36845ca32..f8b690348 100644 --- a/opensrp-path/src/main/java/org/ei/opensrp/path/activity/ChildImmunizationActivity.java +++ b/opensrp-path/src/main/java/org/ei/opensrp/path/activity/ChildImmunizationActivity.java @@ -447,7 +447,7 @@ private void showVaccineNotifications(List vaccineList, List ale private void addVaccineGroup(int canvasId, JSONObject vaccineGroupData, List vaccineList, List alerts) { LinearLayout vaccineGroupCanvasLL = (LinearLayout) findViewById(R.id.vaccine_group_canvas_ll); VaccineGroup curGroup = new VaccineGroup(this); - curGroup.setData(vaccineGroupData, childDetails, vaccineList, alerts); + curGroup.setData(vaccineGroupData, childDetails, vaccineList, alerts,"child"); curGroup.setOnRecordAllClickListener(new VaccineGroup.OnRecordAllClickListener() { @Override public void onClick(VaccineGroup vaccineGroup, ArrayList dueVaccines) { @@ -895,7 +895,7 @@ private void updateVaccineGroupViews(View view, final ArrayList if (Looper.myLooper() == Looper.getMainLooper()) { if (undo) { vaccineGroup.setVaccineList(vaccineList); - vaccineGroup.updateWrapperStatus(wrappers); + vaccineGroup.updateWrapperStatus(wrappers,"child"); } vaccineGroup.updateViews(wrappers); @@ -906,7 +906,7 @@ private void updateVaccineGroupViews(View view, final ArrayList public void run() { if (undo) { vaccineGroup.setVaccineList(vaccineList); - vaccineGroup.updateWrapperStatus(wrappers); + vaccineGroup.updateWrapperStatus(wrappers,"child"); } vaccineGroup.updateViews(wrappers); } diff --git a/opensrp-path/src/main/java/org/ei/opensrp/path/activity/WomanImmunizationActivity.java b/opensrp-path/src/main/java/org/ei/opensrp/path/activity/WomanImmunizationActivity.java index decc06bd9..1b47a0686 100644 --- a/opensrp-path/src/main/java/org/ei/opensrp/path/activity/WomanImmunizationActivity.java +++ b/opensrp-path/src/main/java/org/ei/opensrp/path/activity/WomanImmunizationActivity.java @@ -444,7 +444,7 @@ private void showVaccineNotifications(List vaccineList, List ale private void addVaccineGroup(int canvasId, JSONObject vaccineGroupData, List vaccineList, List alerts) { LinearLayout vaccineGroupCanvasLL = (LinearLayout) findViewById(R.id.vaccine_group_canvas_ll); VaccineGroup curGroup = new VaccineGroup(this); - curGroup.setData(vaccineGroupData, childDetails, vaccineList, alerts); + curGroup.setData(vaccineGroupData, childDetails, vaccineList, alerts,"mother"); curGroup.setOnRecordAllClickListener(new VaccineGroup.OnRecordAllClickListener() { @Override public void onClick(VaccineGroup vaccineGroup, ArrayList dueVaccines) { @@ -892,7 +892,7 @@ private void updateVaccineGroupViews(View view, final ArrayList if (Looper.myLooper() == Looper.getMainLooper()) { if (undo) { vaccineGroup.setVaccineList(vaccineList); - vaccineGroup.updateWrapperStatus(wrappers); + vaccineGroup.updateWrapperStatus(wrappers,"mother"); } vaccineGroup.updateViews(wrappers); @@ -903,7 +903,7 @@ private void updateVaccineGroupViews(View view, final ArrayList public void run() { if (undo) { vaccineGroup.setVaccineList(vaccineList); - vaccineGroup.updateWrapperStatus(wrappers); + vaccineGroup.updateWrapperStatus(wrappers,"mother"); } vaccineGroup.updateViews(wrappers); } diff --git a/opensrp-path/src/main/java/org/ei/opensrp/path/adapter/VaccineCardAdapter.java b/opensrp-path/src/main/java/org/ei/opensrp/path/adapter/VaccineCardAdapter.java index 889e07d3a..a6b240549 100644 --- a/opensrp-path/src/main/java/org/ei/opensrp/path/adapter/VaccineCardAdapter.java +++ b/opensrp-path/src/main/java/org/ei/opensrp/path/adapter/VaccineCardAdapter.java @@ -33,11 +33,13 @@ public class VaccineCardAdapter extends BaseAdapter { private final Context context; private HashMap vaccineCards; private final VaccineGroup vaccineGroup; + private final String type; - public VaccineCardAdapter(Context context, VaccineGroup vaccineGroup) throws JSONException { + public VaccineCardAdapter(Context context, VaccineGroup vaccineGroup,String type) throws JSONException { this.context = context; this.vaccineGroup = vaccineGroup; vaccineCards = new HashMap<>(); + this.type = type; } @Override @@ -99,7 +101,7 @@ public View getView(int position, View convertView, ViewGroup parent) { vaccineWrapper.setPatientName(childName.trim()); vaccineGroup.updateWrapper(vaccineWrapper); - vaccineGroup.updateWrapperStatus(vaccineWrapper); + vaccineGroup.updateWrapperStatus(vaccineWrapper,type); vaccineCard.setVaccineWrapper(vaccineWrapper); vaccineCards.put(vaccineName, vaccineCard); diff --git a/opensrp-path/src/main/java/org/ei/opensrp/path/sync/PathClientProcessor.java b/opensrp-path/src/main/java/org/ei/opensrp/path/sync/PathClientProcessor.java index d23a3db74..9d8ce597b 100644 --- a/opensrp-path/src/main/java/org/ei/opensrp/path/sync/PathClientProcessor.java +++ b/opensrp-path/src/main/java/org/ei/opensrp/path/sync/PathClientProcessor.java @@ -464,19 +464,17 @@ public ContentValues processCaseModel(JSONObject entity, JSONObject clientClassi @Override public void updateFTSsearch(String tableName, String entityId, ContentValues contentValues) { super.updateFTSsearch(tableName, entityId, contentValues); - Log.v("tablename",tableName); - Log.v("contentValues",contentValues.toString()); -// if (contentValues != null && StringUtils.containsIgnoreCase(tableName, "child")) { -// String dob = contentValues.getAsString("dob"); -// -// if (StringUtils.isBlank(dob)) { -// return; -// } -// -// DateTime birthDateTime = new DateTime(dob); -// VaccineSchedule.updateOfflineAlerts(entityId, birthDateTime, "child"); -// ServiceSchedule.updateOfflineAlerts(entityId, birthDateTime); -// } + if (contentValues != null && StringUtils.containsIgnoreCase(tableName, "child")) { + String dob = contentValues.getAsString("dob"); + + if (StringUtils.isBlank(dob)) { + return; + } + + DateTime birthDateTime = new DateTime(dob); + VaccineSchedule.updateOfflineAlerts(entityId, birthDateTime, "child"); + ServiceSchedule.updateOfflineAlerts(entityId, birthDateTime); + } if (contentValues != null && StringUtils.containsIgnoreCase(tableName, "mother")) { String dob = contentValues.getAsString("dob"); diff --git a/opensrp-path/src/main/java/org/ei/opensrp/path/view/VaccineGroup.java b/opensrp-path/src/main/java/org/ei/opensrp/path/view/VaccineGroup.java index 914b1af17..72f776ed9 100644 --- a/opensrp-path/src/main/java/org/ei/opensrp/path/view/VaccineGroup.java +++ b/opensrp-path/src/main/java/org/ei/opensrp/path/view/VaccineGroup.java @@ -62,6 +62,7 @@ public class VaccineGroup extends LinearLayout implements View.OnClickListener, private OnVaccineUndoClickListener onVaccineUndoClickListener; private SimpleDateFormat READABLE_DATE_FORMAT = new SimpleDateFormat("dd MMMM, yyyy", Locale.US); private boolean modalOpen; + private String type; private static enum State { IN_PAST, @@ -128,11 +129,12 @@ private void init(Context context) { recordAllTV.setOnClickListener(this); } - public void setData(JSONObject vaccineData, CommonPersonObjectClient childDetails, List vaccines, List alerts) { + public void setData(JSONObject vaccineData, CommonPersonObjectClient childDetails, List vaccines, List alerts,String type) { this.vaccineData = vaccineData; this.childDetails = childDetails; this.vaccineList = vaccines; this.alertList = alerts; + this.type = type; updateViews(); } @@ -209,7 +211,7 @@ private void updateStatusViews() { private void updateVaccineCards(ArrayList vaccinesToUpdate) { if (vaccineCardAdapter == null) { try { - vaccineCardAdapter = new VaccineCardAdapter(context, this); + vaccineCardAdapter = new VaccineCardAdapter(context, this,type); vaccinesGV.setAdapter(vaccineCardAdapter); } catch (JSONException e) { Log.e(TAG, Log.getStackTraceString(e)); @@ -302,7 +304,7 @@ public void setModalOpen(boolean modalOpen) { this.modalOpen = modalOpen; } - public void updateWrapperStatus(VaccineWrapper tag) { + public void updateWrapperStatus(VaccineWrapper tag,String type) { List vaccineList = getVaccineList(); List alertList = getAlertList(); @@ -310,7 +312,7 @@ public void updateWrapperStatus(VaccineWrapper tag) { Map recievedVaccines = receivedVaccines(vaccineList); String dobString = Utils.getValue(getChildDetails().getColumnmaps(), "dob", false); - List> sch = generateScheduleList("mother", new DateTime(dobString), recievedVaccines, alertList); + List> sch = generateScheduleList(type, new DateTime(dobString), recievedVaccines, alertList); for (Map m : sch) { VaccineRepo.Vaccine vaccine = (VaccineRepo.Vaccine) m.get("vaccine"); @@ -329,13 +331,13 @@ public void updateWrapperStatus(VaccineWrapper tag) { } } - public void updateWrapperStatus(ArrayList tags) { + public void updateWrapperStatus(ArrayList tags,String type) { if (tags == null) { return; } for (VaccineWrapper tag : tags) { - updateWrapperStatus(tag); + updateWrapperStatus(tag,type); } }