Changeset 1737
- Timestamp:
- Nov 16, 2012, 4:19:51 PM (10 years ago)
- Location:
- extensions/net.sf.basedb.reggie/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/net.sf.basedb.reggie/trunk/resources/samplereportgenerator.jsp
r1735 r1737 350 350 headerText += latestDate.getDate(); 351 351 } 352 headerRow.appendChild(getTableCellElement(headerText, 'reportheader', (numCols+ 4)));352 headerRow.appendChild(getTableCellElement(headerText, 'reportheader', (numCols+5))); 353 353 354 354 // Sub headers … … 356 356 if (viewType != 'YEAR') 357 357 { 358 subHeaderRowYear.appendChild(getTableCellElement('', 'reportsubheader', 2));358 subHeaderRowYear.appendChild(getTableCellElement('', 'reportsubheader', 3)); 359 359 addYearSubHeaders(periodStartDate, endDate, subHeaderRowYear, viewType); 360 360 subHeaderRowYear.appendChild(getTableCellElement('', 'reportsubheader', 2)); … … 364 364 var siteHeader = getTableCellElement('Site', 'reportsubheader'); 365 365 var startDateHeader = getTableCellElement('Start date','reportsubheader'); 366 var latestDateHeader = getTableCellElement('Latest date','reportsubheader'); 366 367 columnHeaderRow.appendChild(siteHeader); 367 368 columnHeaderRow.appendChild(startDateHeader); 369 columnHeaderRow.appendChild(latestDateHeader); 368 370 369 371 if (viewType == 'MONTH') addMonthColumnHeaders(columnHeaderRow, periodStartDate); … … 387 389 var sitesCombinedRow = document.createElement('tr'); 388 390 sitesCombinedRow.appendChild(getTableCellElement('Sites combined', 'colsummary')); 389 sitesCombinedRow.appendChild(getTableCellElement('', 'colsummary' ));391 sitesCombinedRow.appendChild(getTableCellElement('', 'colsummary', 2)); 390 392 // Get combined numbers for all sites for each period 391 393 var statistics = report.statistics; … … 452 454 var numDecimals = 0; 453 455 var headerText = '# Consent forms of different types for cases and blood samples'; 454 headerRow.appendChild(getTableCellElement(headerText, 'reportheader', (numCols+ 3)));456 headerRow.appendChild(getTableCellElement(headerText, 'reportheader', (numCols+4))); 455 457 456 458 // Subheader 457 459 subHeaderRow.appendChild(getTableCellElement('', 'reportsubheader')); 458 subHeaderRow.appendChild(getTableCellElement('', 'reportsubheader' ));460 subHeaderRow.appendChild(getTableCellElement('', 'reportsubheader', 2)); 459 461 460 462 //subHeaderRow.appendChild(getTableCellElement('Yes', 'reportsubheader')); … … 474 476 var siteHeader = getTableCellElement('Site', 'reportsubheader'); 475 477 var startDateHeader = getTableCellElement('Start date','reportsubheader'); 478 var latestDateHeader = getTableCellElement('Latest date','reportsubheader'); 476 479 columnHeaderRow.appendChild(siteHeader); 477 480 columnHeaderRow.appendChild(startDateHeader); 481 columnHeaderRow.appendChild(latestDateHeader); 478 482 479 483 //columnHeaderRow.appendChild(getTableCellElement('Yes', 'reportsubheader')); … … 501 505 var sitesCombinedRow = document.createElement('tr'); 502 506 sitesCombinedRow.appendChild(getTableCellElement('Sites combined', 'colsummary')); 503 sitesCombinedRow.appendChild(getTableCellElement('', 'colsummary' ));507 sitesCombinedRow.appendChild(getTableCellElement('', 'colsummary', 2)); 504 508 // Get combined numbers for all sites for each period 505 509 var sumKey = 'sumKey'; … … 630 634 631 635 var siteData = statistics[namePrefix]; 636 var siteLatestDate = siteData['latestDateKey']; 637 var siteLatestDateYear = siteLatestDate.substr(0,4); 638 var siteLatestDateMonth = siteLatestDate.substr(4,2); 639 var siteLatestDateDate = siteLatestDate.substr(6,2); 640 var siteLatestDateStr = siteLatestDateYear + '-' + siteLatestDateMonth + '-' + siteLatestDateDate; 632 641 var tableRow = document.createElement('tr'); 633 642 var tableCol = getTableCellElement(siteName, 'rowtitle'); 634 643 tableRow.appendChild(tableCol); 635 644 tableRow.appendChild(getTableCellElement(year+'-'+(month)+'-'+date, 'reportdata')); 645 tableRow.appendChild(getTableCellElement(siteLatestDateStr, 'reportdata')); 636 646 //var currentDate = new Date(periodStartDate.getFullYear(), periodStartDate.getMonth(), periodStartDate.getDate()); 637 647 var sumKey = 'sumKey'; … … 899 909 var siteStartDate = new Date(year, month-1, date); 900 910 901 var siteData = statistics[namePrefix]; 911 var siteData = statistics[namePrefix]; 912 var siteLatestDate = siteData['latestDateKey']; 913 var siteLatestDateYear = siteLatestDate.substr(0,4); 914 var siteLatestDateMonth = siteLatestDate.substr(4,2); 915 var siteLatestDateDate = siteLatestDate.substr(6,2); 916 var siteLatestDateStr = siteLatestDateYear + '-' + siteLatestDateMonth + '-' + siteLatestDateDate; 902 917 var tableRow = document.createElement('tr'); 903 918 var tableCol = getTableCellElement(siteName, 'rowtitle'); 904 919 tableRow.appendChild(tableCol); 905 920 tableRow.appendChild(getTableCellElement(year+'-'+(month)+'-'+date, 'reportdata')); 921 tableRow.appendChild(getTableCellElement(siteLatestDateStr, 'reportdata')); 906 922 var currentDate = new Date(periodStartDate.getFullYear(), periodStartDate.getMonth(), periodStartDate.getDate()); 907 923 var columnCounter = 0; -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/servlet/SampleReportServlet.java
r1735 r1737 216 216 String sumKey = "sumKey"; 217 217 String totalKey = "totalKey"; 218 String latestDateKey = "latestDateKey"; 218 219 String noDateKey = "noDate"; 219 220 String duplicateKey = "duplicateKey"; … … 251 252 HashMap<String, Set<Date>>patientDateSetHashMap = new HashMap<String, Set<Date>>(); 252 253 JSONObject jsonPatientnamePatientid = new JSONObject(); 254 // Create HashMap to keep track of latest consent date for each site 255 HashMap<String, Date> sitePrefixDateHashMap = new HashMap<String, Date>(); 253 256 while (sampleIterator.hasNext()) 254 257 { … … 335 338 key = otherKey; 336 339 } 340 341 // Keep track of latest consent date for site 342 if (consentDate != null) 343 { 344 Date siteLatestDate = sitePrefixDateHashMap.get(site.getPrefix()); 345 if (siteLatestDate == null || siteLatestDate.before(consentDate)) 346 { 347 sitePrefixDateHashMap.put(site.getPrefix(), consentDate); 348 } 349 } 337 350 } 338 351 // Note that items with duplicate == false include missing consent items … … 354 367 } 355 368 } 369 } 370 // Add latest consent date for site to site JSON object 371 DateToStringConverter date2StringConverter = Reggie.CONVERTER_DATE_TO_STRING; 372 for (Site s: Site.getAllSites()) 373 { 374 JSONObject jsonSite = (JSONObject) jsonStatistics.get(s.getPrefix()); 375 if (jsonSite == null) 376 { 377 jsonSite = new JSONObject(); 378 jsonStatistics.put(s.getPrefix(), jsonSite); 379 } 380 Date siteLatestDate = sitePrefixDateHashMap.get(s.getPrefix()); 381 jsonSite.put(latestDateKey, date2StringConverter.convert(siteLatestDate)); 356 382 } 357 383 // Create JSONObject (patient, dates) for patients with multiple dates … … 534 560 String latestDateKey = "latestDateKey"; 535 561 jsonStatistics.put(sitesCombinedKey, jsonSitesCombined); 562 // Create HashMap to keep track of latest sample date for each site 563 HashMap<String, Date> sitePrefixDateHashMap = new HashMap<String, Date>(); 536 564 while (sampleIterator.hasNext()) 537 565 { … … 578 606 } 579 607 } 608 609 // Keep track of latest sample date for site 610 Date siteLatestDate = sitePrefixDateHashMap.get(site.getPrefix()); 611 if (siteLatestDate == null || siteLatestDate.before(creationDate)) 612 { 613 sitePrefixDateHashMap.put(site.getPrefix(), creationDate); 614 } 580 615 } 581 616 else … … 592 627 } 593 628 } 629 // Add latest sample date for site to site JSON object 630 DateToStringConverter date2StringConverter = Reggie.CONVERTER_DATE_TO_STRING; 631 for (Site s: Site.getAllSites()) 632 { 633 JSONObject jsonSite = (JSONObject) jsonStatistics.get(s.getPrefix()); 634 if (jsonSite == null) 635 { 636 jsonSite = new JSONObject(); 637 jsonStatistics.put(s.getPrefix(), jsonSite); 638 } 639 Date siteLatestDate = sitePrefixDateHashMap.get(s.getPrefix()); 640 jsonSite.put(latestDateKey, date2StringConverter.convert(siteLatestDate)); 641 } 594 642 // Add latest date for further transfer to other JSON object 595 DateToStringConverter date2StringConverter = Reggie.CONVERTER_DATE_TO_STRING;596 643 jsonStatistics.put(latestDateKey, date2StringConverter.convert(latestDate)); 597 644 return jsonStatistics;
Note: See TracChangeset
for help on using the changeset viewer.