Beispiel #1
0
 public String getActionBarTitleBySurvey(Survey survey) {
   String title = "";
   if (survey.getOrgUnit().getName() != null) {
     title = survey.getOrgUnit().getName();
   }
   return title;
 }
 /**
  * Download the related events. and checks all the quarantine surveys. If a survey is in the
  * server, the survey should be set as sent. Else, the survey should be set as completed and it
  * will be resend.
  */
 public static void checkAllQuarantineSurveys() {
   List<Survey> quarantineSurveys = Survey.getAllQuarantineSurveys();
   Date minDate = Survey.getMinQuarantineEventDate();
   Date maxDate = Survey.getMaxQuarantineEventDate();
   String program = quarantineSurveys.get(0).getProgram().getUid();
   String orgUnit = OrgUnit.findUIDByName(PreferencesState.getInstance().getOrgUnit());
   List<Event> events = getEvents(program, orgUnit, minDate, maxDate);
   if (events != null) {
     for (Survey survey : quarantineSurveys) {
       updateQuarantineSurveysStatus(events, survey);
     }
   }
 }
Beispiel #3
0
 public String getActionBarSubTitleBySurvey(Survey survey) {
   Program program = survey.getProgram();
   if (program.getName() != null) {
     return program.getName();
   }
   return "";
 }
 /**
  * Given a list of events, check for the presence of that survey among the events, and update
  * consequently their status. If the survey exist (checked by completion date) then it's
  * considered as sent, otherwise it will be considered as just completed and awaiting to be sent
  *
  * @param events
  * @param survey
  */
 private static void updateQuarantineSurveysStatus(List<Event> events, Survey survey) {
   boolean isSent = false;
   for (Event event : events) {
     isSent = surveyDateExistsInEventTimeCaptureControlDE(survey, event);
     if (isSent) {
       break;
     }
   }
   if (isSent) {
     Log.d(TAG, "Set quarantine survey as sent" + survey.getId_survey());
     survey.setStatus(Constants.SURVEY_SENT);
   } else {
     // When the completion date for a survey is not present in the server, this survey is not in
     // the server.
     // This survey is set as "completed" and will be send in the future.
     Log.d(TAG, "Set quarantine survey as completed" + survey.getId_survey());
     survey.setStatus(Constants.SURVEY_COMPLETED);
   }
   survey.save();
 }
 /**
  * Given an event, check through all its DVs if the survey completion date is present in the event
  * in the form of the control DE "Time Capture" whose UID is hardcoded
  *
  * @param survey
  * @param event
  * @return
  */
 private static boolean surveyDateExistsInEventTimeCaptureControlDE(Survey survey, Event event) {
   for (DataValue dataValue : event.getDataValues()) {
     if (dataValue.getDataElement().equals(PushClient.DATETIME_CAPTURE_UID)
         && dataValue
             .getValue()
             .equals(
                 EventExtended.format(
                     survey.getCompletionDate(), EventExtended.COMPLETION_DATE_FORMAT))) {
       Log.d(
           TAG,
           "Found survey"
               + survey.getId_survey()
               + "date "
               + survey.getCompletionDate()
               + "dateevent"
               + dataValue.getValue());
       return true;
     }
   }
   return false;
 }