package br.com.centralit.citcorpore.ajaxForms;
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.citajax.html.HTMLTable;
import br.com.centralit.citcorpore.bean.CriterioAvaliacaoDTO;
import br.com.centralit.citcorpore.bean.EntregaItemRequisicaoDTO;
import br.com.centralit.citcorpore.bean.InspecaoEntregaItemDTO;
import br.com.centralit.citcorpore.bean.RequisicaoProdutoDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.negocio.CriterioAvaliacaoService;
import br.com.centralit.citcorpore.negocio.EntregaItemRequisicaoService;
import br.com.centralit.citcorpore.negocio.InspecaoEntregaItemService;
import br.com.centralit.citcorpore.negocio.JustificativaParecerService;
import br.com.centralit.citcorpore.negocio.RequisicaoProdutoService;
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 InspecaoEntregaItem extends RequisicaoProduto {
@Override
public Class getBeanClass() {
return RequisicaoProdutoDTO.class;
}
@Override
protected String getAcao() {
return RequisicaoProdutoDTO.ACAO_INSPECAO;
}
@Override
public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
CriterioAvaliacaoService criterioAvaliacaoService = (CriterioAvaliacaoService) ServiceLocator.getInstance().getService(CriterioAvaliacaoService.class, WebUtil.getUsuarioSistema(request));
Collection<CriterioAvaliacaoDTO> colCriterios = criterioAvaliacaoService.findByAplicavelAvaliacaoSolicitante();
request.setAttribute("colCriterios", colCriterios);
JustificativaParecerService justificativaService = (JustificativaParecerService) ServiceLocator.getInstance().getService(JustificativaParecerService.class, WebUtil.getUsuarioSistema(request));
HTMLSelect idJustificativa = (HTMLSelect) document.getSelectById("item#idJustificativa");
idJustificativa.removeAllOptions();
idJustificativa.addOption("", "---");
Collection colJustificativas = justificativaService.listAplicaveisInspecao();
if(colJustificativas != null && !colJustificativas.isEmpty())
idJustificativa.addOptions(colJustificativas, "idJustificativa", "descricaoJustificativa", null);
super.load(document, request, response);
}
public void restore(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;
}
RequisicaoProdutoDTO requisicaoProdutoDto = (RequisicaoProdutoDTO) document.getBean();
String editar = requisicaoProdutoDto.getEditar();
Integer idTarefa = requisicaoProdutoDto.getIdTarefa();
RequisicaoProdutoService requisicaoProdutoService = (RequisicaoProdutoService) ServiceLocator.getInstance().getService(RequisicaoProdutoService.class, WebUtil.getUsuarioSistema(request));
requisicaoProdutoDto = (RequisicaoProdutoDTO) requisicaoProdutoService.restore(requisicaoProdutoDto);
if (requisicaoProdutoDto == null)
return;
requisicaoProdutoDto.setRejeitada("N");
requisicaoProdutoDto.setIdTarefa(idTarefa);
requisicaoProdutoDto.setEditar(editar);
if (requisicaoProdutoDto.getEditar() == null)
requisicaoProdutoDto.setEditar("S");
HTMLTable tblItensRequisicao = document.getTableById("tblItensRequisicao");
tblItensRequisicao.deleteAllRows();
EntregaItemRequisicaoService entregaItemRequisicaoService = (EntregaItemRequisicaoService) ServiceLocator.getInstance().getService(EntregaItemRequisicaoService.class, WebUtil.getUsuarioSistema(request));
Collection<EntregaItemRequisicaoDTO> itensRequisicao = entregaItemRequisicaoService.findByIdItemTrabalho(requisicaoProdutoDto.getIdTarefa());
if (itensRequisicao != null) {
tblItensRequisicao.addRowsByCollection(itensRequisicao,
new String[] {"","","quantidadeEntregue","descrSituacao"},
null,
"",
new String[] {"gerarImg"},
null,
null);
}
requisicaoProdutoDto.setAcao(getAcao());
HTMLForm form = document.getForm("form");
form.clear();
form.setValues(requisicaoProdutoDto);
}
public void exibeAvaliacao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
RequisicaoProdutoDTO requisicaoProdutoDto = (RequisicaoProdutoDTO) document.getBean();
if (requisicaoProdutoDto.getIdEntrega() == null)
return;
HTMLForm form = document.getForm("form");
InspecaoEntregaItemService inspecaoEntregaService = (InspecaoEntregaItemService) ServiceLocator.getInstance().getService(InspecaoEntregaItemService.class, null);
Collection<InspecaoEntregaItemDTO> colInspecao = inspecaoEntregaService.findByIdEntrega(requisicaoProdutoDto.getIdEntrega());
document.executeScript("GRID_CRITERIOS.deleteAllRows();");
if (colInspecao != null) {
CriterioAvaliacaoService criterioAvaliacaoService = (CriterioAvaliacaoService) ServiceLocator.getInstance().getService(CriterioAvaliacaoService.class, null);
int i = 0;
for (InspecaoEntregaItemDTO inspecaoDto : colInspecao) {
CriterioAvaliacaoDTO criterioDto = new CriterioAvaliacaoDTO();
criterioDto.setIdCriterio(inspecaoDto.getIdCriterio());
criterioDto = (CriterioAvaliacaoDTO) criterioAvaliacaoService.restore(criterioDto);
if (criterioDto == null)
continue;
i++;
document.executeScript("GRID_CRITERIOS.addRow()");
inspecaoDto.setTipoAvaliacao(criterioDto.getTipoAvaliacao());
inspecaoDto.setSequencia(i);
document.executeScript("seqCriterio = NumberUtil.zerosAEsquerda("+i+",5)");
document.executeScript("exibeCriterio('" + br.com.citframework.util.WebUtil.serializeObject(inspecaoDto, WebUtil.getLanguage(request)) + "')");
}
}
document.executeScript("$('#POPUP_ITEM_REQUISICAO').dialog('open')");
}
public void save(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;
}
RequisicaoProdutoDTO requisicaoProdutoDto = (RequisicaoProdutoDTO) document.getBean();
if (requisicaoProdutoDto.getIdEntrega() == null)
return;
EntregaItemRequisicaoDTO entregaItemDto = new EntregaItemRequisicaoDTO();
entregaItemDto.setIdEntrega(requisicaoProdutoDto.getIdEntrega());
entregaItemDto.setUsuarioDto(usuario);
Collection<InspecaoEntregaItemDTO> colInspecao = br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(InspecaoEntregaItemDTO.class, "colCriterios_Serialize", request);
entregaItemDto.setColInspecao(colInspecao);
EntregaItemRequisicaoService entregaService = (EntregaItemRequisicaoService) ServiceLocator.getInstance().getService(EntregaItemRequisicaoService.class, null);
entregaService.atualizaInspecao(entregaItemDto);
document.executeScript("$('#POPUP_ITEM_REQUISICAO').dialog('close')");
}
}