package br.com.centralit.citcorpore.teste;

import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;

import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.negocio.SolicitacaoServicoService;
import br.com.centralit.citcorpore.util.Enumerados.ServiceRequestStatus;
import br.com.centralit.citcorpore.util.Enumerados.TipoDate;
import br.com.citframework.excecao.ServiceException;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.UtilDatas;
import br.com.citframework.util.UtilTest;

public class SolicitacaoServicoMultiContratosTest {
	public String testCreateMultiContratos() {
		SolicitacaoServicoService solicitacaoServicoMultiContratosService;
		try {
			solicitacaoServicoMultiContratosService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null);
			SolicitacaoServicoDTO solicitacaoServicoDTO = new SolicitacaoServicoDTO();
			UsuarioDTO usuarioDTO = new UsuarioDTO();
			Calendar cal = Calendar.getInstance();
			cal.set(2012, 05, 20, 9, 30);
//			RequisicaoMudancaDTO requisicaoMudancaDto = new RequisicaoMudancaDTO();
//			Collection colItensMudanca = new ArrayList();
//			requisicaoMudancaDto.setIdProprietario(430);
//			requisicaoMudancaDto.setIdSolicitante(23);
			// requisicaoMudancaDto.setTipo("Padrão");
//			requisicaoMudancaDto.setIdCategoriaMudanca(1);
//			requisicaoMudancaDto.setIdGrupoNivel1(1);
//			requisicaoMudancaDto.setIdGrupoAtual(1);
//			requisicaoMudancaDto.setIdCalendario(1);
//			requisicaoMudancaDto.setMotivo("Melhoria");
//			requisicaoMudancaDto.setNivelImportanciaNegocio("Util");
//			requisicaoMudancaDto.setClassificacao("");
//			requisicaoMudancaDto.setNivelImpacto("M");
//			requisicaoMudancaDto.setAnaliseImpacto("");
//			requisicaoMudancaDto.setDataHoraConclusao(UtilDatas.getDataHoraAtual());
//			requisicaoMudancaDto.setDataAceitacao(UtilDatas.getDataAtual());
//			requisicaoMudancaDto.setDataHoraInicio(UtilDatas.getDataHoraAtual());
//			requisicaoMudancaDto.setDataHoraTermino(UtilDatas.getDataHoraAtual());
//			requisicaoMudancaDto.setTitulo("Teste");
//			requisicaoMudancaDto.setDescricao("Teste");
//			requisicaoMudancaDto.setRisco("Alto");
//			requisicaoMudancaDto.setEstimativaCusto(2.3);
//			requisicaoMudancaDto.setPlanoReversao("teste");
//			requisicaoMudancaDto.setStatus("Registrada");
//			requisicaoMudancaDto.setPrioridade(2);
//			requisicaoMudancaDto.setEnviaEmailCriacao("S");
//			requisicaoMudancaDto.setEnviaEmailAcoes("S");
//			requisicaoMudancaDto.setExibirQuadroMudancas("N");
//			requisicaoMudancaDto.setSeqReabertura(1);
//			requisicaoMudancaDto.setDataHoraCaptura(UtilDatas.getDataHoraAtual());
//			requisicaoMudancaDto.setDataHoraReativacao(UtilDatas.getDataHoraAtual());
//			requisicaoMudancaDto.setTempoDecorridoHH(5);
//			requisicaoMudancaDto.setTempoDecorridoMM(6);
//			requisicaoMudancaDto.setPrazoHH(1);
//			requisicaoMudancaDto.setPrazoMM(1);
//			requisicaoMudancaDto.setTempoAtendimentoHH(5);
//			requisicaoMudancaDto.setTempoAtendimentoMM(3);
//			requisicaoMudancaDto.setTempoAtrasoHH(1);
//			requisicaoMudancaDto.setTempoAtrasoMM(0);
//			requisicaoMudancaDto.setTempoCapturaHH(0);
//			requisicaoMudancaDto.setTempoCapturaMM(0);
			// requisicaoMudancaDto.setFase("Execução");
//			requisicaoMudancaDto.setNivelUrgencia("B");
//			colItensMudanca.add(requisicaoMudancaDto);
//			List<RequisicaoMudancaDTO> arrayList = new ArrayList<RequisicaoMudancaDTO>(colItensMudanca);
//			ProblemaDTO problemaDTO = new ProblemaDTO();
//			Collection colItensProblema = new ArrayList();
//			problemaDTO.setAdicionarBDCE("N");
//			problemaDTO.setCausaRaiz("teste");
//			problemaDTO.setDataHoraFim(UtilDatas.getDataHoraAtual());
//			problemaDTO.setDataHoraInicio(new Timestamp(cal.getTimeInMillis()));
//			problemaDTO.setDataHoraLimiteSolucionar(UtilDatas.getDataAtual());
//			problemaDTO.setDescricao("Teste");
//			problemaDTO.setIdBaseConhecimento(116);
//			problemaDTO.setIdCategoriaProblema(1);
//			problemaDTO.setIdCriador(251);
//			problemaDTO.setIdErrosConhecidos(1);
//			problemaDTO.setIdPastaBaseConhecimento(1);
//			problemaDTO.setIdProblemaIncidente(1);
//			problemaDTO.setIdProblemaItemConfiguracao(1);
//			problemaDTO.setIdProblemaMudanca(1);
//			problemaDTO.setIdProprietario(251);
//			problemaDTO.setIdSolicitacaoServico(126);
			// problemaDTO.setImpacto("Médio");
//			problemaDTO.setItensConfiguracaoRelacionadosSerializado("S");
//			problemaDTO.setMsgErroAssociada("Teste");
//			problemaDTO.setNomeCriador("Testando");
//			problemaDTO.setNomeProprietario("Testando");
//			problemaDTO.setNomeServico("Teste");
//			problemaDTO.setPrioridade(5);
//			problemaDTO.setProativoReativo("Proativa");
//			problemaDTO.setSequenciaProblema(2);
			// problemaDTO.setSeveridade("Média");
//			problemaDTO.setSolicitacaoServicoSerializado("S");
//			problemaDTO.setSolucaoContorno("N");
//			problemaDTO.setSolucaoDefinitiva("N");
//			problemaDTO.setStatus("Registrado");
//			problemaDTO.setStatusBaseConhecimento("");
//			problemaDTO.setTitulo("TESTE 1");
//			problemaDTO.setUrgencia("Alta");
//			colItensProblema.add(requisicaoMudancaDto);
			usuarioDTO.setIdUsuario(430);
			solicitacaoServicoDTO.setUsuarioDto(usuarioDTO);
			solicitacaoServicoDTO.setAcaoFluxo("A");
			solicitacaoServicoDTO.setAlterarSituacao("S");
			solicitacaoServicoDTO.setAtendimentoPresencial("S");
			solicitacaoServicoDTO.setAtrasoSLA(3);
			solicitacaoServicoDTO.setAtrasoSLAStr("S");
			solicitacaoServicoDTO.setCaracteristica("Teste");
			solicitacaoServicoDTO.setComplementoJustificativa("Teste");
//			solicitacaoServicoDTO.setColItensProblema(colItensProblema);
//			solicitacaoServicoDTO.setColItensMudanca(arrayList);
			solicitacaoServicoDTO.setContrato("015");
			solicitacaoServicoDTO.setDataFim(UtilDatas.getDataAtual());
			solicitacaoServicoDTO.setDataInicio(new java.sql.Date(05, 02, 2012));
			solicitacaoServicoDTO.setDataHora(new Timestamp(cal.getTimeInMillis()));
			solicitacaoServicoDTO.setDataHoraCaptura(new Timestamp(cal.getTimeInMillis()));
			solicitacaoServicoDTO.setDataHoraFim(new Timestamp(cal.getTimeInMillis()));
			solicitacaoServicoDTO.setDataHoraInicio(new Timestamp(cal.getTimeInMillis()));
			solicitacaoServicoDTO.setDataHoraLimite(UtilDatas.getDataHoraAtual());
			solicitacaoServicoDTO.setDataHoraLimiteStr(UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, new Date(), "PT"));
			solicitacaoServicoDTO.setDataHoraLimiteToString(UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, new Date(), "PT"));
			solicitacaoServicoDTO.setDataHoraSolicitacao(UtilDatas.getDataHoraAtual());
			solicitacaoServicoDTO.setDataHoraSolicitacaoStr(UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, new Date(), "PT"));
			solicitacaoServicoDTO.setDataHoraSolicitacaoToString(UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, new Date(), "PT"));
			solicitacaoServicoDTO.setDataHoraReativacao(new Timestamp(cal.getTimeInMillis()));
			solicitacaoServicoDTO.setDataHoraSuspensao(UtilDatas.getDataHoraAtual());
			solicitacaoServicoDTO.setDemanda("1");
			solicitacaoServicoDTO.setDescricao("Testes");
			solicitacaoServicoDTO.setDescrSituacao("Teste");
			solicitacaoServicoDTO.setDetalhamentoCausa("Teste");
			solicitacaoServicoDTO.setEmailcontato("layanne.batista@centralit.com.br");
			solicitacaoServicoDTO.setEditar("S");
			solicitacaoServicoDTO.setEnviaEmailAcoes("S");
			solicitacaoServicoDTO.setEnviaEmailCriacao("S");
			solicitacaoServicoDTO.setEnviaEmailFinalizacao("S");
			solicitacaoServicoDTO.setEscalar("S");
			solicitacaoServicoDTO.setExibirCampoDescricao("S");
			solicitacaoServicoDTO.setFaseAtual("Teste");
			solicitacaoServicoDTO.setGrupoAtual("Desenvolvimento");
			solicitacaoServicoDTO.setGrupoNivel1("A");
			solicitacaoServicoDTO.setHouveMudanca("S");
			solicitacaoServicoDTO.setIdCalendario(2);
			solicitacaoServicoDTO.setIdGrupoNivel1(1);
			solicitacaoServicoDTO.setIdBaseConhecimento(8);
			solicitacaoServicoDTO.setIdCategoriaServico(739);
			solicitacaoServicoDTO.setIdCategoriaSolucao(12);
			solicitacaoServicoDTO.setIdCausaIncidente(11);
			solicitacaoServicoDTO.setIdContatoSolicitacaoServico(251);
			solicitacaoServicoDTO.setIdContrato(1);
			solicitacaoServicoDTO.setIdFaseAtual(1);
			solicitacaoServicoDTO.setIdGrupoAtual(1);
			solicitacaoServicoDTO.setIdGrupoDestino(1);
			solicitacaoServicoDTO.setIdJustificativa(9);
			solicitacaoServicoDTO.setIdLocalidade(1);
			solicitacaoServicoDTO.setIdOrigem(4);
			solicitacaoServicoDTO.setIdPrioridade(5);
			solicitacaoServicoDTO.setIdProblema(16);
			solicitacaoServicoDTO.setIdResponsavel(4);
			solicitacaoServicoDTO.setIdServico(960);
			solicitacaoServicoDTO.setIdServicoContrato(9);
			solicitacaoServicoDTO.setIdSolicitacaoPai(4);
			solicitacaoServicoDTO.setIdSolicitacaoServicoPesquisa(1);
			solicitacaoServicoDTO.setIdSolicitante(251);
			solicitacaoServicoDTO.setIdTarefa(4);
			solicitacaoServicoDTO.setIdAcordoNivelServico(1);
			solicitacaoServicoDTO.setIdTipoDemandaServico(960);
			solicitacaoServicoDTO.setIdTipoServico(2);
			solicitacaoServicoDTO.setIdUnidade(1);
			solicitacaoServicoDTO.setIdUsuarioDestino(2);
			solicitacaoServicoDTO.setIdRequisicaoMudanca(23);
			solicitacaoServicoDTO.setIdTipoProblema(1);
			solicitacaoServicoDTO.setImpacto("A");
			solicitacaoServicoDTO.setItemConfiguracao("0");
			solicitacaoServicoDTO.setLinkPesquisaSatisfacao("http://citsmartsede.centralit.com.br/citsmart/pages/pesquisaSatisfacao/pesquisaSatisfacao.load?idSolicitacaoServico=15074&hash=b7ff3f6aaf2bcfe333f0c8ef4b8d9eaa");
			solicitacaoServicoDTO.setMessageId("32");
			solicitacaoServicoDTO.setNomecontato("Layanne Cristine Batista");
			solicitacaoServicoDTO.setNomeCategoriaServico("Configurar");
			solicitacaoServicoDTO.setNomeServico("MONITORAMENTO.CLIENT.INSTALAR.");
			solicitacaoServicoDTO.setNomeSolicitante("Layanne Cristine Batista");
			solicitacaoServicoDTO.setNomeTarefa("Teste");
			solicitacaoServicoDTO.setNomeTipoDemandaServico("Teste");
			solicitacaoServicoDTO.setNomeTipoServico("Teste");
			solicitacaoServicoDTO.setNomeUnidadeResponsavel("Central IT");
			solicitacaoServicoDTO.setNomeUnidadeSolicitante("Central IT");
			solicitacaoServicoDTO.setNomeUsuario("Layanne Cristine Batista");
			solicitacaoServicoDTO.setNumeroRegistros(8);
			solicitacaoServicoDTO.setOrigem("OPERADOR");
			solicitacaoServicoDTO.setObservacao("Teste");
			solicitacaoServicoDTO.setOrdenacao("S");
			solicitacaoServicoDTO.setPrazoHH(48);
			solicitacaoServicoDTO.setPrazohhAnterior(9);
			solicitacaoServicoDTO.setPrazoMM(0);
			solicitacaoServicoDTO.setPrazommAnterior(6);
			solicitacaoServicoDTO.setPrioridade("B");
			solicitacaoServicoDTO.setQuantidade(9);
			solicitacaoServicoDTO.setRamal("25");
			solicitacaoServicoDTO.setRegistradoPor("Layanne Cristine Batista");
			solicitacaoServicoDTO.setReclassificar("N");
			solicitacaoServicoDTO.setRegistroexecucao("Registrado");
			solicitacaoServicoDTO.setResponsavel("Layanne Cristine Batista");
			solicitacaoServicoDTO.setResposta("Teste");
			solicitacaoServicoDTO.setSiglaGrupo("DES");
			solicitacaoServicoDTO.setSeqReabertura(7);
			solicitacaoServicoDTO.setServico("MONITORAMENTO.CLIENT.INSTALAR.");
			solicitacaoServicoDTO.setServicoBusca("MONITORAMENTO.CLIENT.INSTALAR.");
			solicitacaoServicoDTO.setIdStatus(ServiceRequestStatus.IN_PROGRESS.getId());
			solicitacaoServicoDTO.setSlaACombinar("S");
			solicitacaoServicoDTO.setSolicitante("Layanne Cristine Batista");
			solicitacaoServicoDTO.setSolicitanteUnidade("Central IT");
			solicitacaoServicoDTO.setSolucaoTemporaria("N");
			solicitacaoServicoDTO.setTempoDecorridoMM(2);
			solicitacaoServicoDTO.setTelefonecontato("(062) 8221-8365");
			solicitacaoServicoDTO.setTarefa("S");
			solicitacaoServicoDTO.setTempoAtendimentoHH(8);
			solicitacaoServicoDTO.setTempoAtendimentoMM(10);
			solicitacaoServicoDTO.setTempoAtrasoHH(5);
			solicitacaoServicoDTO.setTempoAtrasoMM(7);
			solicitacaoServicoDTO.setTempoCapturaHH(2);
			solicitacaoServicoDTO.setTempoCapturaMM(4);
			solicitacaoServicoDTO.setTempoDecorridoHH(3);
			solicitacaoServicoDTO.setUrgencia("A");
			solicitacaoServicoMultiContratosService.create(solicitacaoServicoDTO);
			return new UtilTest().testNotNull(solicitacaoServicoDTO.getIdSolicitacaoServico());
		} catch (ServiceException e) {
			e.printStackTrace();
			return e.getMessage();
		} catch (Exception e) {
			e.printStackTrace();
			return e.getMessage();
		}
	}
}