web.controller.GenericExceptionController:49

Java

15/06/2016

Não estou conseguindo ver onde está a causa desse ERRO. Alguém poderia me ajudar?

web.controller.GenericExceptionController:49 - Request: /app-final_Falta/falta/save lançou a ex: org.springframework.dao.InvalidDataAccessApiUsageException: No value supplied for the SQL parameter 'Autoriza': No value registered for key 'Autoriza'

@Repository
public class FaltaDao extends GenericDao<Falta> {

	private FuncionarioDao funcionarioDao;
	
	@Autowired
	public FaltaDao(DataSource dataSource, FuncionarioDao funcionarioDao) {
		super(dataSource, Falta.class);
		this.funcionarioDao = funcionarioDao;
	}

	@Override
	protected SqlParameterSource parameterSource(Falta falta) {
		MapSqlParameterSource source = new MapSqlParameterSource();
		
		source.addValue("falta", java.sql.Date.valueOf(falta.getFalta()));
		source.addValue("nome", falta.getFuncionario().getNome());		
		if (falta.getAutoriza() != null) {
				source.addValue("autoriza", java.sql.Date.valueOf(falta.getAutoriza()));
		}
		source.addValue("tipo", falta.getTipo());
		source.addValue("motivo", falta.getMotivo());
		source.addValue("idFuncionario", falta.getFuncionario().getIdFuncionario());
						
		source.addValue("idFalta", falta.getIdFalta());
			
			return source;
		}

	@Override
	protected RowMapper<Falta> rowMapper() {
		
		return new RowMapper<Falta>() {
			public Falta mapRow(ResultSet rs, int rowNum) throws SQLException {
				Falta falta = new Falta();
				falta.setIdFalta(rs.getInt("ID_FALTA"));
				String nome = rs.getString("NOME");
				falta.setFalta(rs.getDate("FALTA").toLocalDate());
    			if (rs.getDate("AUTORIZA") != null) {
					falta.setAutoriza(rs.getDate("AUTORIZA").toLocalDate());
				}				
				falta.setTipo(rs.getString("TIPO"));
				falta.setMotivo(rs.getString("MOTIVO"));
				Integer id = rs.getInt("ID_FUNCIONARIO");	
				
				Funcionario funcionario = funcionarioDao.findById(id);				
				falta.setFuncionario(funcionario);
				return falta;
			}			
		};
	}

	public Falta save(Falta falta) {
		Number key = super.save("FALTAS", "ID_FALTA", parameterSource(falta));
		falta.setIdFalta(key.intValue());
		return falta;
	}

	public int  update(Falta falta) {
			String Autoriza = "";
			if (falta.getAutoriza() != null) {
				Autoriza = "autoriza = :Autoriza, ";
	}		
	String sql = "UPDATE faltas "
			+ "SET " + Autoriza
			+ "falta = :falta, tipo = :tipo,  motivo = :motivo, "
			+ "id_funcionario = :idFuncionario, "
			+ "nome = :nome "				
			+ "WHERE id_falta = :idFalta";
					return super.update(sql, parameterSource(falta));
	}
	
Esmeraldina Silva

Esmeraldina Silva

Curtidas 0
POSTAR