package br.com.centralit.citcorpore.ajaxForms;
import java.util.Collection;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.centralit.citajax.html.AjaxFormAction;
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.DemandaDTO;
import br.com.centralit.citcorpore.bean.OSDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.negocio.ContratoService;
import br.com.centralit.citcorpore.negocio.DemandaService;
import br.com.centralit.citcorpore.negocio.OSService;
import br.com.centralit.citcorpore.negocio.TipoOSService;
import br.com.centralit.citcorpore.util.WebUtil;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.Constantes;
import br.com.citframework.util.UtilFormatacao;
public class HomologacaoOS extends AjaxFormAction {
public Class getBeanClass(){
return OSDTO.class;
}
public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null){
document.alert("Sess�o expirada! Favor efetuar logon novamente!");
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
/*
if (!WebUtil.isUserInGroup(request, Constantes.getValue("GRUPO_DIRETORIA"))){
document.alert("Voc� n�o tem permiss�o para acessar esta funcionalidade!");
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "/pages/index/index.jsp'");
return;
}
*/
/*
comboIdSituacaoFuncional.addOption("", "-- Selecione --");
comboIdSituacaoFuncional.addOption("1", "Em cadastro");
comboIdSituacaoFuncional.addOption("2", "Enviada para aprova��o");
*/
HTMLSelect idContrato = (HTMLSelect) document.getSelectById("idContrato");
ContratoService contratoService = (ContratoService) ServiceLocator.getInstance().getService(ContratoService.class, null);
Collection colContratos = contratoService.list();
idContrato.addOption("", "--");
idContrato.addOptions(colContratos, "idContrato", "numero", null);
HTMLSelect idClassificacaoOS = (HTMLSelect) document.getSelectById("idClassificacaoOS");
TipoOSService tipoOSService = (TipoOSService) ServiceLocator.getInstance().getService(TipoOSService.class, null);
Collection colTiposOS = tipoOSService.list();
idClassificacaoOS.addOption("", "--");
idClassificacaoOS.addOptions(colTiposOS, "idClassificacaoOS", "descricao", null);
document.focusInFirstActivateField(null);
}
public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception{
OSDTO os = (OSDTO) document.getBean();
OSService osService = (OSService) ServiceLocator.getInstance().getService(OSService.class, null);
Collection colItens = br.com.citframework.util.WebUtil.deserializeCollectionFromRequest(DemandaDTO.class, "colItens_Serialize", request);
os.setColItens(colItens);
if (os.getIdOS()==null || os.getIdOS().intValue()==0){
osService.create(os);
}else{
osService.update(os);
}
HTMLForm form = document.getForm("form");
form.clear();
document.executeScript("GRID_ITENS.deleteAllRows()");
document.alert("Registro gravado com sucesso!");
}
public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception{
OSDTO os = (OSDTO) document.getBean();
OSService osService = (OSService) ServiceLocator.getInstance().getService(OSService.class, null);
DemandaService demandaService = (DemandaService) ServiceLocator.getInstance().getService(DemandaService.class, null);
os = (OSDTO)osService.restore(os);
HTMLForm form = document.getForm("form");
form.clear();
form.setValues(os);
document.executeScript("GRID_ITENS.deleteAllRows()");
if (os != null){
int i = 0;
Collection col = demandaService.findByIdOS(os.getIdOS());
for(Iterator it = col.iterator(); it.hasNext();){
i++;
DemandaDTO demandaDTO = (DemandaDTO)it.next();
document.executeScript("GRID_ITENS.addRow()");
document.executeScript("seqSelecionada = NumberUtil.zerosAEsquerda(GRID_ITENS.getMaxIndex(),5)");
String strQtde = UtilFormatacao.formatDouble(demandaDTO.getCustoTotal(), 2);
if (demandaDTO.getGlosa() == null){
demandaDTO.setGlosa(new Double(0));
}
String strGlosa = UtilFormatacao.formatDouble(demandaDTO.getGlosa(), 2);
String strDet = demandaDTO.getDetalhamento();
String strObs = demandaDTO.getObservacao();
if (strDet != null){
strDet = strDet.replaceAll("'", "");
}
if (strObs != null){
strObs = strDet.replaceAll("'", "");
}
document.executeScript("setaRestoreItem('" + demandaDTO.getComplexidade() + "'," +
"'" + br.com.citframework.util.WebUtil.codificaEnter(strDet) + "'," +
"'" + br.com.citframework.util.WebUtil.codificaEnter(strObs) + "'," +
"'" + strQtde + "'," +
"'" + strGlosa + "'" +
")");
}
}
document.alert("Registro recuperado !");
}
}