Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package edu.umd.aims.scheduler;
- import com.google.gson.Gson;
- import com.microsoft.azure.documentdb.Document;
- import edu.umd.aims.Application;
- import edu.umd.aims.model.AimsReports;
- import edu.umd.aims.service.DatabaseService;
- import edu.umd.aims.service.EAreportService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.SpringApplication;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import java.text.SimpleDateFormat;
- import java.util.*;
- @Component
- public class ReportsScheduler {
- private static final String STR_AIMS_REPORTS = "reports";
- private static Gson gson = new Gson();
- @Autowired
- private EAreportService eaReportService;
- @Autowired
- private DatabaseService databaseService;
- private List<String> projects= Arrays.asList(new String[]{ "BAISV","ZAMPHIA2020"});
- //private List<String> projects= Arrays.asList("ZAMPHIA2020","BAISV");
- @Scheduled(fixedDelay = 5*60*60*1000)
- public void reportScheduler(){
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
- Date now = new Date();
- String strDate = sdf.format(now);
- System.out.println("reports cron job expression(report_scheduler):: " + strDate);
- projects.forEach(project->{
- String country=null;
- if(project.equalsIgnoreCase("ZAMPHIA2020")){
- country = "ZAMBIA";
- }
- else if(project.equalsIgnoreCase("BAISV")){
- country = "BOTSWANA";
- }
- if(project.equalsIgnoreCase("ZAMPHIA2020")){
- genZambiaReport(project, country);
- }
- else if(project.equalsIgnoreCase("BAISV")){
- genBAISVReport(project, country);
- }
- });
- }
- private void genZambiaReport(String project, String country){
- List<LinkedHashMap<String, String>> hhsumByTeam= eaReportService.getHHSummaryByTeamEAAndProjectIdBAISV(project);
- List<LinkedHashMap<String, String>> ResponseRateByProvince= eaReportService.getResponseByArea(project, "YPROVINCEN");
- //System.out.println("looping 1" );
- List<LinkedHashMap<String, String>> ResponseRateByDistrict= eaReportService.getResponseByArea(project, "YDISTRICTN");
- //System.out.println("looping 2" );
- List<LinkedHashMap<String, String>> ResponseRateByEA= eaReportService.getResponseByEAList(project);
- //System.out.println("looping 3" );
- List<LinkedHashMap<String, String>> BiomarkerByEA= eaReportService.getBiomarkerByEA(project);
- //System.out.println("looping 4" );
- List<LinkedHashMap<String, String>> ConsenttoLinkagetoCare= eaReportService.getConsenttoLinkagetoCareByEA(project);
- //System.out.println("looping 5" );
- List<LinkedHashMap<String, String>> DMValidatedByHHno= eaReportService.getDMValidatedbyHHno(project);
- // //System.out.println("looping 6" );
- List<LinkedHashMap<String, String>> PTIDbyCaseNumber= eaReportService.getPTIDbyCaseNumber(project);
- List<LinkedHashMap<String, String>> eligibilityByTeam= eaReportService.getEliblityByGenderByTeam(project);
- //System.out.println("looping 9" );
- List<LinkedHashMap<String, String>> HouseholdByGenderByTeam= eaReportService.getHouseholdByGenderByTeam(project);
- //System.out.println("looping 10" );
- List<LinkedHashMap<String, String>> ageMissmatchByTeam= eaReportService.ageMissmatchByTeam(project);
- //System.out.println("looping 11" );
- List<LinkedHashMap<String, String>> durationByTeam= eaReportService.durationByTeam(project);
- //System.out.println("looping 12" );
- List<LinkedHashMap<String, String>> DailyAchievementSummary = eaReportService.getDailyAchievementZASummary(project);
- //List<String> reportTypes = Arrays.asList("PTIDbyCaseNumber");
- List<String> reportTypes = Arrays.asList("hhsumByTeam", "eligibilityByTeam", "HouseholdByGenderByTeam", "ageMissmatchByTeam", "durationByTeam", "ResponseRateByProvince","ResponseRateByDistrict","ResponseRateByEA","BiomarkerByEA","ConsenttoLinkagetoCare","DMValidatedByHHno","PTIDbyCaseNumber","DailyAchievementSummary");
- String finalCountry = country;
- reportTypes.forEach(reportType->{
- Document existing = databaseService.getEAReportByProjectIdAndReportType(project,reportType,STR_AIMS_REPORTS);
- if(existing!=null) {
- AimsReports aimsReport = gson.fromJson(existing.toString(), AimsReports.class);
- if (reportType.equalsIgnoreCase("hhsumByTeam")) {
- aimsReport.setReport(hhsumByTeam);
- }else if(reportType.equalsIgnoreCase("eligibilityByTeam")){
- aimsReport.setReport(eligibilityByTeam);
- }else if(reportType.equalsIgnoreCase("HouseholdByGenderByTeam")){
- aimsReport.setReport(HouseholdByGenderByTeam);
- }else if(reportType.equalsIgnoreCase("ageMissmatchByTeam")){
- aimsReport.setReport(ageMissmatchByTeam);
- }else if(reportType.equalsIgnoreCase("durationByTeam")){
- aimsReport.setReport(durationByTeam);
- }else if(reportType.equalsIgnoreCase("ResponseRateByProvince")){
- aimsReport.setReport(ResponseRateByProvince);
- }else if(reportType.equalsIgnoreCase("ResponseRateByDistrict")){
- aimsReport.setReport(ResponseRateByDistrict);
- }else if(reportType.equalsIgnoreCase("ResponseRateByEA")){
- aimsReport.setReport(ResponseRateByEA);
- }else if(reportType.equalsIgnoreCase("BiomarkerByEA")){
- aimsReport.setReport(BiomarkerByEA);
- }else if(reportType.equalsIgnoreCase("ConsenttoLinkagetoCare")){
- aimsReport.setReport(ConsenttoLinkagetoCare);
- }else if(reportType.equalsIgnoreCase("DMValidatedByHHno")){
- aimsReport.setReport(DMValidatedByHHno);
- }else if(reportType.equalsIgnoreCase("PTIDbyCaseNumber")){
- aimsReport.setReport(PTIDbyCaseNumber);
- }else if(reportType.equalsIgnoreCase("DailyAchievementSummary")){
- aimsReport.setReport(DailyAchievementSummary);
- }
- databaseService.updateAimsReport(aimsReport, STR_AIMS_REPORTS);
- // System.out.println("update" );
- } else {
- if (reportType.equalsIgnoreCase("hhsumByTeam")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, PTIDbyCaseNumber);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("eligibilityByTeam")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, eligibilityByTeam);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("HouseholdByGenderByTeam")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, HouseholdByGenderByTeam);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("ageMissmatchByTeam")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, ageMissmatchByTeam);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("durationByTeam")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, durationByTeam);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("ResponseRateByProvince")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, ResponseRateByProvince);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("ResponseRateByDistrict")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, ResponseRateByDistrict);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("ResponseRateByEA")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, ResponseRateByEA);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("BiomarkerByEA")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, BiomarkerByEA);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("ConsenttoLinkagetoCare")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, ConsenttoLinkagetoCare);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("DMValidatedByHHno")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, DMValidatedByHHno);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("PTIDbyCaseNumber")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, PTIDbyCaseNumber);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }else if(reportType.equalsIgnoreCase("DailyAchievementSummary")){
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, DailyAchievementSummary);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }
- }
- });
- }
- private void genBAISVReport(String project, String country) {
- List<LinkedHashMap<String, String>> ResponseRateByDistrict= eaReportService.getResponseByArea(project, "YDISTRICTN");
- List<LinkedHashMap<String, String>> PTIDbyCaseNumber= eaReportService.getBAISVPTIDbyCaseNumber(project);
- List<LinkedHashMap<String, String>> DMValidatedByHHno= eaReportService.getDMValidatedbyHHno(project);
- List<LinkedHashMap<String, String>> durationByTeam= eaReportService.durationByTeam(project);
- List<LinkedHashMap<String, String>> eligibilityByTeam= eaReportService.getEliblityByGenderByTeam(project);
- List<LinkedHashMap<String, String>> DailyAchievementSummary = eaReportService.getDailyAchievementSummary(project);
- List<LinkedHashMap<String, String>> hhsumByTeam= eaReportService.getHHSummaryByTeamEAAndProjectIdBAISV(project);
- // //System.out.println("looping 2" );
- List<LinkedHashMap<String, String>> ResponseRateByEA= eaReportService.getResponseByEAList(project);
- //System.out.println("looping 3" );
- List<LinkedHashMap<String, String>> BiomarkerByEA= eaReportService.getBiomarkerByEA(project);
- //System.out.println("looping 6" );
- List<LinkedHashMap<String, String>> HouseholdByGenderByTeam= eaReportService.getHouseholdByGenderByTeamBAISV(project);
- //System.out.println("looping 6" );
- List<LinkedHashMap<String, String>> ageMissmatchByTeam= eaReportService.ageMissmatchByTeam(project);
- //System.out.println("looping 4" );
- List<LinkedHashMap<String, String>> ConsenttoLinkagetoCare= eaReportService.getConsenttoLinkagetoCareByEA(project);
- //List<String> reportTypes = Arrays.asList("durationByTeam");
- List<String> reportTypes = Arrays.asList("hhsumByTeam", "ResponseRateByEA","BiomarkerByEA","durationByTeam", "eligibilityByTeam","HouseholdByGenderByTeam","ageMissmatchByTeam","ConsenttoLinkagetoCare","DMValidatedByHHno","ResponseRateByDistrict","DailyAchievementSummary" );
- String finalCountry = country;
- reportTypes.forEach(reportType -> {
- Document existing = databaseService.getEAReportByProjectIdAndReportType(project, reportType, STR_AIMS_REPORTS);
- if (existing != null) {
- AimsReports aimsReport = gson.fromJson(existing.toString(), AimsReports.class);
- if (reportType.equalsIgnoreCase("hhsumByTeam")) {
- aimsReport.setReport(hhsumByTeam);
- }else if(reportType.equalsIgnoreCase("eligibilityByTeam")){
- aimsReport.setReport(eligibilityByTeam);
- }else if(reportType.equalsIgnoreCase("HouseholdByGenderByTeam")){
- aimsReport.setReport(HouseholdByGenderByTeam);
- }else if(reportType.equalsIgnoreCase("ageMissmatchByTeam")){
- aimsReport.setReport(ageMissmatchByTeam);
- }else if(reportType.equalsIgnoreCase("durationByTeam")){
- aimsReport.setReport(durationByTeam);
- }else if(reportType.equalsIgnoreCase("ResponseRateByDistrict")){
- aimsReport.setReport(ResponseRateByDistrict);
- }else if(reportType.equalsIgnoreCase("ResponseRateByEA")){
- aimsReport.setReport(ResponseRateByEA);
- }else if(reportType.equalsIgnoreCase("BiomarkerByEA")){
- aimsReport.setReport(BiomarkerByEA);
- }else if(reportType.equalsIgnoreCase("ConsenttoLinkagetoCare")){
- aimsReport.setReport(ConsenttoLinkagetoCare);
- }else if(reportType.equalsIgnoreCase("DMValidatedByHHno")){
- aimsReport.setReport(DMValidatedByHHno);
- }else if(reportType.equalsIgnoreCase("PTIDbyCaseNumber")){
- aimsReport.setReport(PTIDbyCaseNumber);
- }else if(reportType.equalsIgnoreCase("DailyAchievementSummary")){
- aimsReport.setReport(DailyAchievementSummary);
- }
- databaseService.updateAimsReport(aimsReport, STR_AIMS_REPORTS);
- // System.out.println("update" );
- } else {
- if (reportType.equalsIgnoreCase("hhsumByTeam")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, durationByTeam);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- } else if (reportType.equalsIgnoreCase("ResponseRateByEA")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, ResponseRateByEA);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- } else if (reportType.equalsIgnoreCase("BiomarkerByEA")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, BiomarkerByEA);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- } else if (reportType.equalsIgnoreCase("durationByTeam")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, durationByTeam);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- } else if (reportType.equalsIgnoreCase("eligibilityByTeam")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, eligibilityByTeam);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- } else if (reportType.equalsIgnoreCase("HouseholdByGenderByTeam")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, HouseholdByGenderByTeam);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- } else if (reportType.equalsIgnoreCase("ageMissmatchByTeam")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, ageMissmatchByTeam);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- } else if (reportType.equalsIgnoreCase("PTIDbyCaseNumber")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, PTIDbyCaseNumber);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- } else if (reportType.equalsIgnoreCase("DMValidatedByHHno")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, DMValidatedByHHno);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- } else if (reportType.equalsIgnoreCase("ResponseRateByDistrict")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, ResponseRateByDistrict);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- } else if (reportType.equalsIgnoreCase("DailyAchievementSummary")) {
- AimsReports hhsumByTeam1 = new AimsReports(UUID.randomUUID().toString(), finalCountry, project, reportType, DailyAchievementSummary);
- databaseService.updateAimsReport(hhsumByTeam1, STR_AIMS_REPORTS);
- }
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement