private void prepareSummaryReport()

in src/main/java/com/datacompare/service/CompareService.java [289:372]


	private void prepareSummaryReport(StringBuilder data, AppProperties appProperties, List<String> columnList,
			CompareResult dto, long rowNo, long sourceTableCount, long targetTableCount, long matchedRows,
			long missingRows, long unmatchedRows, long invalidRows, String executedTableName, String result, String reason,
			String timeTaken, String executionStartedAt) {
		
		data.append("<tr>")
		.append("<td style='vertical-align: top;'><b>").append(Long.toString(rowNo)).append("</b></td>")
		.append("<td style='vertical-align: top;'>")
		.append("<table>")
		.append("<tr><td><b>Name</b></td><td>").append(executedTableName).append("</td></tr>");
		
		if(appProperties.isIgnoreColumns() && !columnList.isEmpty()) {
			
			data.append("<tr><td><b>Columns Excluded from Comparison</b></td><td>")
			.append(columnList.toString()).append("</td></tr>");
			
		} else if(!columnList.isEmpty()) {
			
			data.append("<tr><td><b>Columns Included for Comparison</b></td><td>")
			.append(columnList.toString()).append("</td></tr>");
			
		} else {
			
			data.append("<tr><td><b>Columns</b></td><td>All</td></tr>");
		}
		
		data.append("<tr><td><b>Max Decimals Compared</b></td><td>").append(appProperties.getMaxDecimals()).append("</td></tr>");
		data.append("<tr><td><b>Max Text Size Compared</b></td><td>").append(appProperties.getMaxTextSize()).append("</td></tr>");

		if (appProperties.isCompareOnlyDate()) {

			data.append("<tr><td><b>Compared Only Date</b></td><td>Yes</td></tr>");
		}

		data.append("</table>")
		.append("</td>")
		.append("<td style='vertical-align: top;'>")
		.append("<table>")
		.append("<tr><td><b>Source Table Count</b></td><td>").append(sourceTableCount).append("</td></tr>")
		.append("<tr><td><b>Target Table Count</b></td><td>").append(targetTableCount).append("</td></tr>");
		
		if("Detail".equals(appProperties.getReportType())) {
			
			data.append("<tr><td><b>Matched Rows</b></td><td>").append(matchedRows).append("</td></tr>");
			
			if(unmatchedRows > 0) {
				data.append("<tr><td><b>Unmatched Rows</b></td><td>").append(unmatchedRows).append("</td></tr>");
			}
			
			if(missingRows > 0) {
				data.append("<tr><td><b>Missing Rows</b></td><td>").append(missingRows).append("</td></tr>");
			}
			
			if(invalidRows > 0) {
				data.append("<tr><td><b>Additional Rows in Target</b></td><td>").append(invalidRows).append("</td></tr>");
			}
		}
		
		data.append("</table>")
		.append("</td>")
		.append("<td style='vertical-align: top;'>")
		.append("<table>")
		.append("<tr><td><b>Started at</b></td><td>").append(executionStartedAt).append("</td></tr>")
		.append("<tr><td><b>Time Taken</b></td><td>").append(timeTaken).append("</td></tr>")
		.append("<tr><td><b>Status</b></td><td>").append(result).append("</td></tr>")
		.append("<tr><td><b>Message</b></td><td>").append(reason).append("</td></tr>")
		;

		if (dto.getFilename() != null && dto.getFilename().trim().endsWith(".html")) {

			data.append("<tr><td><b>Report</b></td><td>").append("<a href='/result/view/").append(dto.getFilename())
					.append("'>View Details</a></td></tr>");
		}

		data.append("</table>")
		.append("</td>")
		.append("</tr>");

		if (appProperties.getFilter() != null && !appProperties.getFilter().isEmpty()) {

			data.append("<tr><td colspan='7'><b>").append(appProperties.getFilterType())
					.append(" Filter Used</b>&nbsp;&nbsp;").append(appProperties.getFilter()).append("</td></tr>");
		}
	}