/**
*
*/
package br.com.centralit.citcorpore.ajaxForms;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import br.com.centralit.citajax.html.AjaxFormAction;
import br.com.centralit.citajax.html.DocumentHTML;
import br.com.centralit.citcorpore.bean.CaracteristicaDTO;
import br.com.centralit.citcorpore.bean.EmpregadoDTO;
import br.com.centralit.citcorpore.bean.ItemConfiguracaoDTO;
import br.com.centralit.citcorpore.bean.PatrimonioDTO;
import br.com.centralit.citcorpore.bean.TipoItemConfiguracaoDTO;
import br.com.centralit.citcorpore.bean.UnidadeDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.negocio.CaracteristicaService;
import br.com.centralit.citcorpore.negocio.EmpregadoService;
import br.com.centralit.citcorpore.negocio.InformacaoItemConfiguracaoService;
import br.com.centralit.citcorpore.negocio.ItemConfiguracaoService;
import br.com.centralit.citcorpore.negocio.TipoItemConfiguracaoService;
import br.com.centralit.citcorpore.negocio.UnidadeService;
import br.com.centralit.citcorpore.negocio.UsuarioService;
import br.com.centralit.citcorpore.util.CITCorporeUtil;
import br.com.centralit.citcorpore.util.Enumerados.ParametroSistema;
import br.com.centralit.citcorpore.util.ParametroUtil;
import br.com.citframework.dto.IDto;
import br.com.citframework.excecao.ServiceException;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.WebUtil;
/**
* @author Vadoilo Damasceno
*
*/
@SuppressWarnings("rawtypes")
public class Patrimonio extends AjaxFormAction {
private UsuarioDTO UsuarioDto = new UsuarioDTO();
private EmpregadoDTO empregadoDTO = new EmpregadoDTO();
private UnidadeDTO unidadeDto = new UnidadeDTO();
@Override
public Class getBeanClass() {
return PatrimonioDTO.class;
}
@Override
public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
String parametroIdTipoItemConfiguracao = ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.PATRIMONIO_IDTIPOITEMCONFIGURACAO, null);
if (parametroIdTipoItemConfiguracao != null) {
document.executeScript("ocultarItemConfiguracaoFilho()");
} else {
document.alert("Tipo de Item Configura��o Patrim�nio n�o definido.");
return;
}
}
public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
String parametroIdTipoItemConfiguracao = ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.PATRIMONIO_IDTIPOITEMCONFIGURACAO, null);
if (parametroIdTipoItemConfiguracao == null || StringUtils.isBlank(parametroIdTipoItemConfiguracao)) {
document.alert("Tipo de Item Configura��o Patrim�nio n�o definido.");
return;
}
PatrimonioDTO patrimonioDto = new PatrimonioDTO();
patrimonioDto = (PatrimonioDTO) document.getBean();
ItemConfiguracaoService itemService = (ItemConfiguracaoService) ServiceLocator.getInstance().getService(ItemConfiguracaoService.class, null);
ItemConfiguracaoDTO itemConfiguracaoPaiDto = new ItemConfiguracaoDTO();
ItemConfiguracaoDTO itemConfiguracaoFilhoDto = new ItemConfiguracaoDTO();
TipoItemConfiguracaoDTO tipoItemConfiguracaoPai = new TipoItemConfiguracaoDTO();
TipoItemConfiguracaoDTO tipoItemConfiguracaoFilho = new TipoItemConfiguracaoDTO();
tipoItemConfiguracaoPai.setCaracteristicas((List) WebUtil.deserializeCollectionFromRequest(CaracteristicaDTO.class, "caracteristicasSerializadas", request));
tipoItemConfiguracaoFilho.setCaracteristicas((List) WebUtil.deserializeCollectionFromRequest(CaracteristicaDTO.class, "caracteristicasSerializadasItemFilho", request));
itemConfiguracaoPaiDto.setTipoItemConfiguracaoSerializadas(tipoItemConfiguracaoPai);
itemConfiguracaoFilhoDto.setTipoItemConfiguracaoSerializadas(tipoItemConfiguracaoFilho);
if (patrimonioDto.getIdItemConfiguracao() != null) {
if (patrimonioDto.getIdItemConfiguracao() != null && patrimonioDto.getIdItemConfiguracaoFilho() == null) {
itemConfiguracaoPaiDto.setIdItemConfiguracao(patrimonioDto.getIdItemConfiguracao());
itemService.criarEAssociarValorDaCaracteristicaAoItemConfiguracao(itemConfiguracaoPaiDto, null, null);
document.alert("Patrim�nio gravado com sucesso.");
}
if (patrimonioDto.getIdItemConfiguracaoFilho() != null) {
itemConfiguracaoPaiDto.setIdItemConfiguracao(patrimonioDto.getIdItemConfiguracao());
itemConfiguracaoFilhoDto.setIdItemConfiguracao(patrimonioDto.getIdItemConfiguracaoFilho());
itemService.criarEAssociarValorDaCaracteristicaAoItemConfiguracao(itemConfiguracaoPaiDto, null, null);
itemService.criarEAssociarValorDaCaracteristicaAoItemConfiguracao(itemConfiguracaoFilhoDto, null, null);
document.alert("Patrim�nio gravado com sucesso.");
}
}
CITCorporeUtil.limparFormulario(document);
document.executeScript("limpar()");
}
/**
* Restaura o Tipo de Item Configura��o e carrega a Grid de Caracter�sticas Ativas.
*
* @param document
* @param request
* @param response
* @throws Exception
* @author valdoilo.damasceno
*/
public void restoreTipoItemConfiguracao(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
String parametroIdTipoItemConfiguracao = ParametroUtil.getValorParametroCitSmartHashMap(ParametroSistema.PATRIMONIO_IDTIPOITEMCONFIGURACAO, null);
if (parametroIdTipoItemConfiguracao == null || StringUtils.isBlank(parametroIdTipoItemConfiguracao)) {
document.alert("Tipo de Item Configura��o Patrim�nio n�o definido.");
return;
}
TipoItemConfiguracaoService tipoService = (TipoItemConfiguracaoService) ServiceLocator.getInstance().getService(TipoItemConfiguracaoService.class, null);
CaracteristicaService caracteristicaService = (CaracteristicaService) ServiceLocator.getInstance().getService(CaracteristicaService.class, null);
PatrimonioDTO patrimonioDto = new PatrimonioDTO();
patrimonioDto = (PatrimonioDTO) document.getBean();
document.executeScript("deleteAllRows()");
document.executeScript("deleteAllRowsItemFilho()");
if (patrimonioDto.getIdItemConfiguracao() == null) {
tipoService.restaurarGridCaracteristicas(document, caracteristicaService.consultarCaracteristicasAtivas(Integer.parseInt(parametroIdTipoItemConfiguracao)));
} else {
if (patrimonioDto.getIdItemConfiguracao() != null) {
tipoService.restaurarGridCaracteristicas(document,
caracteristicaService.consultarCaracteristicasComValoresItemConfiguracao(Integer.parseInt(parametroIdTipoItemConfiguracao), patrimonioDto.getIdItemConfiguracao()));
}
if (patrimonioDto.getIdItemConfiguracaoFilho() != null) {
tipoService.restaurarGridCaracteristicasItemConfiguracaoFilho(document, caracteristicaService.consultarCaracteristicasComValoresItemConfiguracao(32, patrimonioDto.getIdItemConfiguracaoFilho()));
}
}
document.executeScript("fecharPopup()");
}
/**
* Retorna Service de ItemConfiguracao.
*
* @return ItemConfiguracaoService
* @throws ServiceException
* @throws Exception
* @author thays.araujo
*/
public ItemConfiguracaoService getItemConfiguracaoService() throws ServiceException, Exception {
return (ItemConfiguracaoService) ServiceLocator.getInstance().getService(ItemConfiguracaoService.class, null);
}
/**
* Retorna Service de TipoItemConfiguracao.
*
* @return TipoItemConfiguracaoService
* @throws ServiceException
* @throws Exception
* @author thays.araujo
*/
public TipoItemConfiguracaoService getTipoItemConfiguracaoService() throws ServiceException, Exception {
return (TipoItemConfiguracaoService) ServiceLocator.getInstance().getService(TipoItemConfiguracaoService.class, null);
}
/**
* Retorna Service de Caracteristica.
*
* @return CaracteristicaService
* @throws ServiceException
* @throws Exception
* @author thays.araujo
*/
public CaracteristicaService getCaracteristicaService() throws ServiceException, Exception {
return (CaracteristicaService) ServiceLocator.getInstance().getService(CaracteristicaService.class, null);
}
/**
* Retorna Service de Unidade.
*
* @return UnidadeService
* @throws ServiceException
* @throws Exception
* @author thays.araujo
*/
public UnidadeService getUnidadeService() throws ServiceException, Exception {
return (UnidadeService) ServiceLocator.getInstance().getService(UnidadeService.class, null);
}
/**
* Retorna Service de Usuario.
*
* @return UsuarioService
* @throws ServiceException
* @throws Exception
* @author thays.araujo
*/
public UsuarioService getUsuarioService() throws ServiceException, Exception {
return (UsuarioService) ServiceLocator.getInstance().getService(UsuarioService.class, null);
}
/**
* Retorna Bean Usuario.
*
* @return TipoItemConfiguracaoDTO
* @author thays.araujo
*/
public UsuarioDTO getUsuarioDto() {
return this.UsuarioDto;
}
/**
* Retorna Bean Empregado.
*
* @return TipoItemConfiguracaoDTO
* @author thays.araujo
*/
public EmpregadoDTO getEmpregadoDto() {
return this.empregadoDTO;
}
/**
* Configura Empregado.
*
* @param empregadoDto
* IDto
* @author thays.araujo
*/
public void setEmpregado(IDto empregadoDto) {
this.empregadoDTO = (EmpregadoDTO) empregadoDto;
}
/**
* Retorna Bean Empregado.
*
* @return TipoItemConfiguracaoDTO
* @author thays.araujo
*/
public UnidadeDTO getUnidadeDto() {
return this.unidadeDto;
}
/**
* Configura Empregado.
*
* @param empregadoDto
* IDto
* @author thays.araujo
*/
public void setUnidadeDto(IDto unidadeDto) {
this.unidadeDto = (UnidadeDTO) unidadeDto;
}
/**
* Configura Usuario.
*
* @param usuarioDto
* IDto
* @author thays.araujo
*/
public void setUsuarioDto(IDto usuarioDto) {
this.UsuarioDto = (UsuarioDTO) usuarioDto;
}
/**
* Retorna Service de InformacaoItemConfiguracao.
*
* @return InformacaoItemConfiguracaoService
* @throws ServiceException
* @throws Exception
* @author rosana.godinho
*/
public InformacaoItemConfiguracaoService getInformacaoItemConfiguracaoService() throws ServiceException, Exception {
return (InformacaoItemConfiguracaoService) ServiceLocator.getInstance().getService(InformacaoItemConfiguracaoService.class, null);
}
/**
* Retorna Service de Empregado.
*
* @return InformacaoItemConfiguracaoService
* @throws ServiceException
* @throws Exception
* @author rosana.godinho
*/
public EmpregadoService getEmpregadoService() throws ServiceException, Exception {
return (EmpregadoService) ServiceLocator.getInstance().getService(EmpregadoService.class, null);
}
}