package br.com.centralit.citcorpore.ajaxForms;
import java.util.ArrayList;
import java.util.Collection;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.centralit.citajax.html.DocumentHTML;
import br.com.centralit.citajax.html.HTMLForm;
import br.com.centralit.citajax.html.HTMLSelect;
import br.com.centralit.citcorpore.bean.CentroResultadoDTO;
import br.com.centralit.citcorpore.bean.DelegacaoCentroResultadoDTO;
import br.com.centralit.citcorpore.bean.EmpregadoDTO;
import br.com.centralit.citcorpore.bean.ResponsavelCentroResultadoDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.negocio.CentroResultadoService;
import br.com.centralit.citcorpore.negocio.EmpregadoService;
import br.com.centralit.citcorpore.negocio.ResponsavelCentroResultadoService;
import br.com.centralit.citcorpore.util.WebUtil;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.Constantes;
import br.com.citframework.util.UtilI18N;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class DelegacaoCentroResultadoResp extends DelegacaoCentroResultado {
@Override
public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
EmpregadoService empregadoService = (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, WebUtil.getUsuarioSistema(request));
EmpregadoDTO empregadoDto = empregadoService.restoreByIdEmpregado(usuario.getIdEmpregado());
if (empregadoDto == null) {
document.alert(UtilI18N.internacionaliza(request, "delegacaoCentroResultado.empregadoNaoEncontrado"));
return;
}
ResponsavelCentroResultadoService responsavelCentroResultadoService = (ResponsavelCentroResultadoService) ServiceLocator.getInstance().getService(ResponsavelCentroResultadoService.class, null);
Collection<ResponsavelCentroResultadoDTO> colResp = responsavelCentroResultadoService.findByIdResponsavel(empregadoDto.getIdEmpregado());
if (colResp == null || colResp.isEmpty()) {
document.alert(UtilI18N.internacionaliza(request, "delegacaoCentroResultado.empregadoNaoPossuiCentroResultado"));
return;
}
DelegacaoCentroResultadoDTO delegacaoCentroResultadoDto = (DelegacaoCentroResultadoDTO) document.getBean();
delegacaoCentroResultadoDto.setNomeResponsavel(empregadoDto.getNome());
delegacaoCentroResultadoDto.setIdResponsavel(empregadoDto.getIdEmpregado());
HTMLForm form = document.getForm("form");
form.clear();
form.setValues(delegacaoCentroResultadoDto);
Collection colCCusto = new ArrayList();
CentroResultadoService centroResultadoService = (CentroResultadoService) ServiceLocator.getInstance().getService(CentroResultadoService.class, WebUtil.getUsuarioSistema(request));
for (ResponsavelCentroResultadoDTO respDto : colResp) {
CentroResultadoDTO centroResultadoDto = new CentroResultadoDTO();
centroResultadoDto.setIdCentroResultado(respDto.getIdCentroResultado());
centroResultadoDto = (CentroResultadoDTO) centroResultadoService.restore(centroResultadoDto);
if (centroResultadoDto != null)
colCCusto.add(centroResultadoDto);
}
HTMLSelect idCentroResultado = (HTMLSelect) document.getSelectById("idCentroResultado");
idCentroResultado.removeAllOptions();
idCentroResultado.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
if(colCCusto != null && !colCCusto.isEmpty())
idCentroResultado.addOptions(colCCusto, "idCentroResultado", "nomeHierarquizado", null);
}
}