Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.eu.evaluation.server.service.impl.resultCollator; import com.eu.evaluation.model.eva.history.EvaluateVersion; import com.eu.evaluation.model.eva.result.SimpleStatistics; import com.eu.evaluation.model.sys.AccessSystem; import com.eu.evaluation.server.dao.DefaultDAO; import com.eu.evaluation.server.dao.eva.history.ResultDAO; import com.eu.evaluation.server.dao.eva.history.SimpleStatisticsDAO; import com.eu.evaluation.server.dao.eva.history.UnPassedEvaluatedDataDAO; import com.eu.evaluation.server.dao.sys.AccessSystemDAO; import com.eu.evaluation.server.service.ResultCollator; import java.text.MessageFormat; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.stereotype.Component; /** * ??????? * * @author dell */ @Component public class SimpleStatisticsResultCollator implements ResultCollator { @Autowired private DefaultDAO defaultDAO; @Autowired private SimpleStatisticsDAO simpleStatisticsDAO; @Autowired private AccessSystemDAO accessSystemDAO; @Autowired private UnPassedEvaluatedDataDAO unPassedEvaluatedDataDAO; @Autowired private ResultDAO resultDAO; public void collate(EvaluateVersion ev) { List<AccessSystem> systems = accessSystemDAO.findByEvaluateVersion(ev.getId()); for (AccessSystem system : systems) { //?SimpleStatistics simpleStatisticsDAO.delete(ev, system); //?ResultSimpleStatistics?????? List<SimpleStatistics> statisticses = resultDAO.groupToSimpleStatistics(ev, system); //??????? List<SimpleStatistics> list = unPassedEvaluatedDataDAO.countToSimpleStatistics(ev, system); //SimpleStatistics?????? for (SimpleStatistics simpleStatistics : statisticses) { //?? String jpql = "select count(*) from {0} t where t.evaluateVersion.id = :evid and t.position = :position"; jpql = MessageFormat.format(jpql, new Object[] { simpleStatistics.getInstanceClass() }); MapSqlParameterSource params = new MapSqlParameterSource(); params.addValue("evid", ev.getId()); params.addValue("position", system.getCode()); Long total = defaultDAO.executeCount(jpql, params); simpleStatistics.setTotal(total); //? for (SimpleStatistics ss : list) { if (ss.getInstanceType() == simpleStatistics.getInstanceType() && ss.getEvaluateTypeEnum() == simpleStatistics.getEvaluateTypeEnum()) { simpleStatistics.setFailCount(ss.getFailCount()); break; } } //? simpleStatistics.setSuccessCount(simpleStatistics.getTotal() - simpleStatistics.getFailCount()); //? simpleStatistics.setEvaluateVersion(ev); simpleStatistics.setPosition(system.getCode()); } this.simpleStatisticsDAO.save(statisticses); } } }