package br.com.centralit.citcorpore.ajaxForms;
import java.awt.Color;
import java.awt.GradientPaint;
import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
import br.com.centralit.citajax.html.AjaxFormAction;
import br.com.centralit.citajax.html.DocumentHTML;
import br.com.centralit.citajax.html.HTMLSelect;
import br.com.centralit.citcorpore.bean.FornecedorDTO;
import br.com.centralit.citcorpore.bean.ServicoContratoDTO;
import br.com.centralit.citcorpore.bean.ServicoDTO;
import br.com.centralit.citcorpore.bean.TipoDemandaServicoDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.negocio.AcordoNivelServicoService;
import br.com.centralit.citcorpore.negocio.AcordoServicoContratoService;
import br.com.centralit.citcorpore.negocio.FornecedorService;
import br.com.centralit.citcorpore.negocio.ServicoContratoService;
import br.com.centralit.citcorpore.negocio.ServicoService;
import br.com.centralit.citcorpore.negocio.TipoDemandaServicoService;
import br.com.centralit.citcorpore.util.CITCorporeUtil;
import br.com.centralit.citcorpore.util.Enumerados.TipoDate;
import br.com.centralit.citcorpore.util.WebUtil;
import br.com.centralit.citgerencial.generateservices.incidentes.ControleGenerateSLAPorFornecedor;
import br.com.citframework.comparacao.ObjectSimpleComparator;
import br.com.citframework.excecao.LogicException;
import br.com.citframework.excecao.ServiceException;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.Constantes;
import br.com.citframework.util.UtilDatas;
import br.com.citframework.util.UtilFormatacao;
import br.com.citframework.util.UtilI18N;
/**
* Classe respons�vel por montar o gr�fico e desempenho por servi�o de um fornecedor
*
* @author rodrigo.oliveira
*
*/
public class AvaliacaoPorFornecedor extends AjaxFormAction {
private ControleGenerateSLAPorFornecedor controleGenerateSLAPorFornecedor = new ControleGenerateSLAPorFornecedor();
private FornecedorService fornecedorService;
private ServicoService servicoService;
private ServicoContratoService serviceContratoService;
private TipoDemandaServicoService tipoDemandaServicoService;
private AcordoNivelServicoService acordoNivelServicoService;
private AcordoServicoContratoService acordoServicoContratoService;
private Integer idFornecedor = null;
private Collection<ServicoContratoDTO> colServicosContrato;
@Override
public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuarioDto = WebUtil.getUsuario(request);
if (usuarioDto == null){
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
preencheComboFornecedor(document, request);
}
private void inicializaCombo(HTMLSelect componenteCombo, HttpServletRequest request) {
componenteCombo.removeAllOptions();
componenteCombo.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione"));
}
public void montaGraficoGeraDesempenho(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
@SuppressWarnings("unchecked")
HashMap<String, String> hashValues = (HashMap<String, String>) document.getValuesForm();
String fornecedor = hashValues.get("COMBOFORNECEDOR");
if(fornecedor != null && !fornecedor.equals("")){
setIdFornecedor(Integer.parseInt(hashValues.get("COMBOFORNECEDOR")));
}
if(getIdFornecedor() == null || fornecedor == null){
document.alert(UtilI18N.internacionaliza(request, "avaliacao.fornecedor.pesquisa.erro"));
document.executeScript("fechar_aguarde();");
return;
}
setColServicosContrato(getServiceContratoService(request).listarServicosPorFornecedor(getIdFornecedor()));
//Monta gr�fico de desempenho do fornecedor selecionado
geraGraficoPorFornecedor(document, request, response);
//Gera desempenho por servi�o do fornecedor selecionado
montaTelaDesempenho(document, request, response);
}
private void geraGraficoPorFornecedor(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception{
String table = "<table border='1'>";
if (getIdFornecedor() != null && getIdFornecedor() != 0){
table += "<tr>";
// table += "<td>";
// table += "<b>" + UtilI18N.internacionaliza(request, "avaliacao.fornecedor") + "</b>";
// table += "</td>";
table += "</tr>";
table += "<tr>";
table += "<td style='border:1px solid black; vertical-align:middle;'>";
table += "<br>" + geraTabelaMeses(document, request, response);
table += "</td>";
table += "</tr>";
}
table += "</table>";
document.getElementById("tableGrafico").setInnerHTML(table);
}
private String geraTabelaMeses(DocumentHTML documento, HttpServletRequest request, HttpServletResponse response) throws ParseException, IOException, LogicException{
UsuarioDTO usuarioDto = WebUtil.getUsuario(request);
String strTable = "<table width='100%' border='1'>";
String strHeader = "";
String strDados = "";
strHeader += "<tr>";
strDados += "<tr>";
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
Date dataAtual = UtilDatas.getDataAtual();
Date seisMesAtras = UtilDatas.acrescentaSubtraiMesesData(dataAtual, -6);
Date dataPesq = new Date();
for (int i = 0; i < 6; i++){
if(i > 0){
dataPesq = UtilDatas.acrescentaSubtraiMesesData(dataPesq, +1);
}else{
dataPesq = seisMesAtras;
}
strHeader = strHeader + "<td colspan='2' style='border:1px solid black; text-align:center'>";
strHeader = strHeader + (UtilDatas.getMesAno(dataPesq));
strHeader = strHeader + "</td>";
Collection<ServicoContratoDTO> listServicosContrato = getColServicosContrato();
List lst = new ArrayList();
double qtdeDentroPrazo = 0;
double qtdeForaPrazo = 0;
if ( listServicosContrato != null ) {
for (ServicoContratoDTO servicoContratoDTO : listServicosContrato) {
lst = controleGenerateSLAPorFornecedor.execute(servicoContratoDTO.getIdServicoContrato(), idFornecedor, UtilDatas.getYear(dataPesq), UtilDatas.getMonth(dataPesq));
if (lst != null && lst.size() > 0){
for (Iterator itSLA = lst.iterator(); itSLA.hasNext();){
Object[] objs = (Object[]) itSLA.next();
if (((String)objs[0]).indexOf("Fora") > -1 || ((String)objs[0]).indexOf("Out") > -1){
qtdeForaPrazo = (Double)objs[2];
}else{
qtdeDentroPrazo = (Double)objs[2];
}
}
}
}
}
double qtdeDentroPrazoPerc = 0;
if ((qtdeDentroPrazo + qtdeForaPrazo) > 0){
qtdeDentroPrazoPerc = (qtdeDentroPrazo / (qtdeDentroPrazo + qtdeForaPrazo)) * 100;
}
double qtdeForaPrazoPerc = 0;
if ((qtdeDentroPrazo + qtdeForaPrazo) > 0){
qtdeForaPrazoPerc = (qtdeForaPrazo / (qtdeDentroPrazo + qtdeForaPrazo)) * 100;
}
strDados = strDados + "<td style='border:1px solid black'>";
strDados = strDados + UtilFormatacao.formatDouble(qtdeDentroPrazoPerc,2) + "%";
strDados = strDados + "</td>";
strDados = strDados + "<td style='border:1px solid black'>";
strDados = strDados + UtilFormatacao.formatDouble(qtdeForaPrazoPerc,2) + "%";
strDados = strDados + "</td>";
dataset.setValue(new Double(qtdeDentroPrazoPerc), UtilI18N.internacionaliza(request, "sla.avaliacao.noprazo"), "" + (UtilDatas.getMesAno(dataPesq)));
dataset.setValue(new Double(qtdeForaPrazoPerc), UtilI18N.internacionaliza(request, "sla.avaliacao.foraprazo"), "" + (UtilDatas.getMesAno(dataPesq)));
}
strHeader += "</tr>";
strDados += "</tr>";
// create the chart...
JFreeChart chart = ChartFactory.createBarChart(
UtilI18N.internacionaliza(request, "avaliacao.fornecedor"), // chart title
UtilI18N.internacionaliza(request, "sla.avaliacao.indicadores"), // domain axis label
UtilI18N.internacionaliza(request, "sla.avaliacao.resultado"), // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
true, // tooltips?
false // URLs?
);
// set the background color for the chart...
chart.setBackgroundPaint(Color.white);
// get a reference to the plot for further customisation...
CategoryPlot plot = chart.getCategoryPlot();
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setDomainGridlinesVisible(true);
plot.setRangeGridlinePaint(Color.white);
// set the range axis to display integers only...
final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
// disable bar outlines...
BarRenderer renderer = (BarRenderer) plot.getRenderer();
renderer.setDrawBarOutline(false);
// set up gradient paints for series...
GradientPaint gp0 = new GradientPaint(
0.0f, 0.0f, Color.blue,
0.0f, 0.0f, new Color(0, 0, 64)
);
GradientPaint gp1 = new GradientPaint(
0.0f, 0.0f, Color.red,
0.0f, 0.0f, new Color(0, 64, 0)
);
renderer.setSeriesPaint(0, gp0);
renderer.setSeriesPaint(1, gp1);
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(
CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0)
);
String nomeImgAval = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles/" + usuarioDto.getIdUsuario() + "/avalSLAXX_" + getIdFornecedor() + ".png";
String nomeImgAvalRel = br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO") + "/tempFiles/" + usuarioDto.getIdUsuario() + "/avalSLAXX_" + getIdFornecedor() + ".png";
File arquivo2 = new File(nomeImgAval);
if(arquivo2.exists()){
arquivo2.delete();
}else{
String nomeDir = CITCorporeUtil.CAMINHO_REAL_APP + "/tempFiles/" + usuarioDto.getIdUsuario() + "/";
File dirTemp = new File(nomeDir);
dirTemp.mkdirs();
arquivo2.createNewFile();
}
ChartUtilities.saveChartAsPNG(arquivo2, chart, 500, 200);
strTable += "<tr>";
strTable += "<td colspan='12'>";
strTable += "<img src='" + nomeImgAvalRel + "' border='0'/>";
strTable += "</td>";
strTable += "</tr>";
strTable += strHeader;
strTable += strDados;
strTable += "</table>";
return strTable;
}
private void preencheComboFornecedor(DocumentHTML document, HttpServletRequest request) throws Exception {
HTMLSelect combo = (HTMLSelect) document.getSelectById("comboFornecedor");
inicializaCombo(combo, request);
List<FornecedorDTO> listaFornecedor = (List) getFornecedorService(request).list();
for(FornecedorDTO f : listaFornecedor){
combo.addOption(f.getIdFornecedor().toString(), f.getNomeFantasia().replaceAll("'", ""));
}
}
private void montaTelaDesempenho(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
List colFinal = new ArrayList();
if (getColServicosContrato() != null){
for(Iterator it = getColServicosContrato().iterator(); it.hasNext();){
ServicoContratoDTO servicoContratoAux = (ServicoContratoDTO)it.next();
if (servicoContratoAux.getDeleted() != null && !servicoContratoAux.getDeleted().equalsIgnoreCase("N")){
continue;
}
if (servicoContratoAux.getIdServico() != null){
ServicoDTO servicoDto = new ServicoDTO();
servicoDto.setIdServico(servicoContratoAux.getIdServico());
servicoDto = (ServicoDTO) getServicoService(request).restore(servicoDto);
if (servicoDto != null){
if (servicoDto.getDeleted() != null && !servicoDto.getDeleted().equalsIgnoreCase("N")){
continue;
}
servicoContratoAux.setTemSLA(false);
servicoContratoAux.setNomeServico(servicoDto.getNomeServico());
servicoContratoAux.setServicoDto(servicoDto);
servicoContratoAux.setSituacaoServico(servicoDto.getIdSituacaoServico());
if (servicoDto.getIdTipoDemandaServico() != null){
TipoDemandaServicoDTO tipoDemandaServicoDto = new TipoDemandaServicoDTO();
tipoDemandaServicoDto.setIdTipoDemandaServico(servicoDto.getIdTipoDemandaServico());
tipoDemandaServicoDto = (TipoDemandaServicoDTO) getTipoDemandaServicoService(request).restore(tipoDemandaServicoDto);
if (tipoDemandaServicoDto != null){
servicoContratoAux.setNomeTipoDemandaServico(tipoDemandaServicoDto.getNomeTipoDemandaServico());
}
}
Collection col = getAcordoNivelServicoService(request).findByIdServicoContrato(servicoContratoAux.getIdServicoContrato());
Collection colVincs = getAcordoServicoContratoService(request).findByIdServicoContrato(servicoContratoAux.getIdServicoContrato());
if ((col != null && col.size() > 0) || (colVincs != null && colVincs.size() > 0)){
servicoContratoAux.setTemSLA(true);
}
List lst = controleGenerateSLAPorFornecedor.execute(servicoContratoAux.getIdServicoContrato(), getIdFornecedor(), null, null);
double qtdeDentroPrazo = 0;
double qtdeForaPrazo = 0;
if (lst != null && lst.size() > 0){
for (Iterator itSLA = lst.iterator(); itSLA.hasNext();){
Object[] objs = (Object[]) itSLA.next();
if (((String)objs[0]).indexOf("Fora") > -1 || ((String)objs[0]).indexOf("Out") > -1){
qtdeForaPrazo = (Double)objs[2];
}else{
qtdeDentroPrazo = (Double)objs[2];
}
}
}
double qtdeDentroPrazoPerc = qtdeDentroPrazo / (qtdeDentroPrazo + qtdeForaPrazo);
double qtdeForaPrazoPerc = qtdeForaPrazo / (qtdeDentroPrazo + qtdeForaPrazo);
servicoContratoAux.setDentroPrazo((qtdeDentroPrazoPerc * 100));
servicoContratoAux.setForaPrazo((qtdeForaPrazoPerc * 100));
servicoContratoAux.setQtdeDentroPrazo((int)qtdeDentroPrazo);
servicoContratoAux.setQtdeForaPrazo((int)qtdeForaPrazo);
colFinal.add(servicoContratoAux);
}
}
}
}
Collections.sort(colFinal, new ObjectSimpleComparator("getNomeServico", ObjectSimpleComparator.ASC));
//request.setAttribute("listaServicos", colFinal);
String table = "";
table += "<table cellpadding='0' cellspacing='0' style='width: 100% !important;'>";
table += "<tr style='text-align: center;' class=''>";
table += "<td class='linhaSubtituloGrid'>";
table += "<b style='line-height: 20px;font-size:13px; padding:0.5em;font-family: arial;'>" + UtilI18N.internacionaliza(request, "servico.servico") + "</b>";
table += "</td>";
table += "<td class='linhaSubtituloGrid'>";
table += "<b style='line-height: 25px;font-size:13px; padding:0.5em;font-family: arial;'>" + UtilI18N.internacionaliza(request, "citcorpore.comum.situacao") + "</b>";
table += "</td>";
table += "<td class='linhaSubtituloGrid'>";
table += "<b style='line-height: 25px;font-size:13px; padding:0.5em;font-family: arial;'>" + UtilI18N.internacionaliza(request, "avaliacao.fornecedor.servico.demanda") + "</b>";
table += "</td>";
table += "<td class='linhaSubtituloGrid'>";
table += "<b style='line-height: 25px;font-size:13px; padding:0.5em;font-family: arial;'>" + UtilI18N.internacionaliza(request, "avaliacao.fornecedor.sla") + "</b>";
table += "</td>";
table += "<td class='linhaSubtituloGrid'>";
table += "<b style='line-height: 25px;font-size:13px; padding:0.5em;font-family: arial;'>" + UtilI18N.internacionaliza(request, "avaliacao.fornecedor.dataInicio") + "</b>";
table += "</td>";
table += "<td class='linhaSubtituloGrid'>";
table += "<b style='line-height: 25px;font-size:13px; padding:0.5em;font-family: arial;'>" + UtilI18N.internacionaliza(request, "avaliacao.fornecedor.dataFim") + "</b>";
table += "</td>";
table += "</tr>";
String corLinha = "";
if (colFinal != null && colFinal.size() > 0){
for(Iterator it = colFinal.iterator(); it.hasNext();){
if (!corLinha.trim().equalsIgnoreCase("#f5f5f5")){
corLinha = "#f5f5f5";
}else{
corLinha = "white";
}
ServicoContratoDTO servicoContratoAux = (ServicoContratoDTO) it.next();
//table += "<table>";
table += "<tr style='border: none;background:" + corLinha + ";'>";
// table += "<td style='padding:0.2em; text-align: center;' align='center'>";
// table += "</td>";
table += "<td>";
table += servicoContratoAux.getNomeServico();
table += "</td>";
table += "<td>";
if (servicoContratoAux.getSituacaoServico().intValue() == 1){
if (servicoContratoAux.getDataFim() != null && servicoContratoAux.getDataFim().before(UtilDatas.getDataAtual())){
table += "<img src='" + br.com.citframework.util.Constantes
.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes
.getValue("CONTEXTO_APLICACAO") + "/imagens/bolavermelha.png' border='0' title='"+UtilI18N.internacionaliza(request, "citcorpore.comum.servicoInativo")+"'/>";
table += UtilI18N.internacionaliza(request, "avalicaoContrato.Inativo(Datafim)");
}else{
table += "<img src='" + br.com.citframework.util.Constantes
.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes
.getValue("CONTEXTO_APLICACAO") + "/imagens/bolaverde.png' border='0' title='"+UtilI18N.internacionaliza(request, "citcorpore.comum.servicoAtivo")+"'/>";
table += UtilI18N.internacionaliza(request, "categoriaProduto.categoria_ativo");
}
}else if (servicoContratoAux.getSituacaoServico().intValue() == 2){
table += "<img src='" + br.com.citframework.util.Constantes
.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes
.getValue("CONTEXTO_APLICACAO") + "/imagens/bolavermelha.png' border='0' title='"+UtilI18N.internacionaliza(request, "citcorpore.comum.servicoInativo")+"'/>";
table += UtilI18N.internacionaliza(request, "categoriaProduto.categoria_inativo");
}else {
String strSituacao = "";
if (servicoContratoAux.getSituacaoServico().intValue() == -999){
strSituacao = "Em an�lise";
}
if (servicoContratoAux.getSituacaoServico().intValue() == 3){
strSituacao = "Em cria��o";
}
if (servicoContratoAux.getSituacaoServico().intValue() == 4){
strSituacao = "Em desenho";
}
table += "<img src='" + br.com.citframework.util.Constantes
.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes
.getValue("CONTEXTO_APLICACAO") + "/imagens/ball_gray__.gif' border='0' title='" + strSituacao + "'/>";
table += strSituacao;
}
table += "</td>";
table += "<td>";
table += servicoContratoAux.getNomeTipoDemandaServico();
table += "</td>";
table += "<td>";
if (servicoContratoAux.getTemSLA()){
table += "<img src='" + br.com.citframework.util.Constantes
.getValue("SERVER_ADDRESS") + br.com.citframework.util.Constantes
.getValue("CONTEXTO_APLICACAO") + "/imagens/tick.png' border='0' title='SLA OK'/>";
}else{
table += " ";
}
table += "</td>";
table += "<td>";
table += UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, servicoContratoAux.getDataInicio(), WebUtil.getLanguage(request));
table += "</td>";
table += "<td>";
if (servicoContratoAux.getDataFim() != null){
table += UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, servicoContratoAux.getDataFim(), WebUtil.getLanguage(request));
}else{
table += "--";
}
table += "</td>";
table += "</tr>";
if ((servicoContratoAux.getQtdeDentroPrazo() != null && servicoContratoAux.getQtdeDentroPrazo().intValue() > 0)
|| (servicoContratoAux.getQtdeForaPrazo() != null && servicoContratoAux.getQtdeForaPrazo().intValue() > 0)){
table += "<tr style='border: none;background:" + corLinha + ";'>";
// table += "<td>";
// table += " ";
// table += "</td>";
table += "<td colspan='20'>";
table += "<table width='100%'>";
table += "<tr>";
table += "<td> </td>";
table += "<td>";
table += "<div style='border: none;background:" + corLinha + ";' id='divContratoServico_" + servicoContratoAux.getIdServicoContrato() + "'>";
table += "<table>";
table += "<tr>";
table += "<td> </td>";
table += "</tr>";
table += "<tr>";
table += "<td>" + UtilI18N.internacionaliza(request, "avaliacao.fornecedor.dentroPrazo") + "</td>";
table += "<td> <b><u>" + servicoContratoAux.getQtdeDentroPrazo() + " (" + UtilFormatacao.formatDouble(servicoContratoAux.getDentroPrazo(),2) + "%)</u></b></td>";
table += "<td> </td>";
table += "<td> " + UtilI18N.internacionaliza(request, "avaliacao.fornecedor.foraPrazo") + "</td>";
table += "<td> <b><u>" + servicoContratoAux.getQtdeForaPrazo() + " (" + UtilFormatacao.formatDouble(servicoContratoAux.getForaPrazo(),2) + "%)</u></b></td>";
table += "</tr>";
table += "</table>";
table += "<table width='100%' border='1'>";
table += "<tr>";
for (int i = 1; i <= 100; i++){
String cor = "";
if (i <= servicoContratoAux.getDentroPrazo().intValue()){
cor = "green";
}else{
cor = "red";
}
table += "<td style='border:1px solid black;background-color:" + cor + ";width:1%' title='" + i + "%'> </td>";
}
table += "</tr>";
table += "</table>";
table += "</div>";
table += "</td>";
table += "</tr>";
table += "</table>";
table += "</td>";
table += "</tr>";
}else{
table += "<tr style='border: none;background:" + corLinha + ";'>";
// table += "<td>";
// table += " ";
// table += "</td>";
table += "<td colspan='20'>";
table += "<table width='100%'>";
table += "<tr>";
table += "<td> </td>";
table += "</tr>";
table += "<tr>";
table += "<td> </td>";
table += "<td>";
table += UtilI18N.internacionaliza(request, "avaliacao.fornecedor.sla.erro");
table += "</td>";
table += "</tr>";
table += "</table>";
table += "</td>";
table += "</tr>";
}
//table += "</table>";
}
}else{
table += "<tr>";
table += "<td>";
table += "<b>";
table += UtilI18N.internacionaliza(request, "avaliacao.fornecedor.servico.erro");
table += "</b>";
table += "</td>";
table += "</tr>";
table += "</table>";
}
document.getElementById("tableResult").setInnerHTML(table);
document.executeScript("fechar_aguarde();");
}
@Override
public Class getBeanClass() {
return FornecedorDTO.class;
}
/**
* @return the fornecedorService
* @throws Exception
* @throws ServiceException
*/
public FornecedorService getFornecedorService(HttpServletRequest request) throws ServiceException, Exception {
if(fornecedorService == null){
fornecedorService = (FornecedorService) ServiceLocator.getInstance().getService(FornecedorService.class, WebUtil.getUsuarioSistema(request));
}
return fornecedorService;
}
/**
* @return the serviceContratoService
* @throws Exception
* @throws ServiceException
*/
public ServicoContratoService getServiceContratoService(HttpServletRequest request) throws ServiceException, Exception {
if(serviceContratoService == null){
serviceContratoService = (ServicoContratoService) ServiceLocator.getInstance().getService(ServicoContratoService.class, WebUtil.getUsuarioSistema(request));
}
return serviceContratoService;
}
/**
* @return the servicoService
* @throws Exception
* @throws ServiceException
*/
public ServicoService getServicoService(HttpServletRequest request) throws ServiceException, Exception {
if(servicoService == null){
servicoService = (ServicoService) ServiceLocator.getInstance().getService(ServicoService.class, WebUtil.getUsuarioSistema(request));
}
return servicoService;
}
/**
* @return the tipoDemandaServicoService
* @throws Exception
* @throws ServiceException
*/
public TipoDemandaServicoService getTipoDemandaServicoService(HttpServletRequest request) throws ServiceException, Exception {
if(tipoDemandaServicoService == null){
tipoDemandaServicoService = (TipoDemandaServicoService) ServiceLocator.getInstance().getService(TipoDemandaServicoService.class, WebUtil.getUsuarioSistema(request));
}
return tipoDemandaServicoService;
}
/**
* @return the acordoNivelServicoService
* @throws Exception
* @throws ServiceException
*/
public AcordoNivelServicoService getAcordoNivelServicoService(HttpServletRequest request) throws ServiceException, Exception {
if(acordoNivelServicoService == null){
acordoNivelServicoService = (AcordoNivelServicoService) ServiceLocator.getInstance().getService(AcordoNivelServicoService.class, WebUtil.getUsuarioSistema(request));
}
return acordoNivelServicoService;
}
/**
* @return the acordoServicoContratoService
* @throws Exception
* @throws ServiceException
*/
public AcordoServicoContratoService getAcordoServicoContratoService(HttpServletRequest request) throws ServiceException, Exception {
if(acordoServicoContratoService == null){
acordoServicoContratoService = (AcordoServicoContratoService) ServiceLocator.getInstance().getService(AcordoServicoContratoService.class, WebUtil.getUsuarioSistema(request));
}
return acordoServicoContratoService;
}
/**
* @return the idFornecedor
*/
public Integer getIdFornecedor() {
return idFornecedor;
}
/**
* @param idFornecedor the idFornecedor to set
*/
public void setIdFornecedor(Integer idFornecedor) {
this.idFornecedor = idFornecedor;
}
/**
* @return the colServicosContrato
*/
public Collection getColServicosContrato() {
return colServicosContrato;
}
/**
* @param colServicosContrato the colServicosContrato to set
*/
public void setColServicosContrato(Collection colServicosContrato) {
this.colServicosContrato = colServicosContrato;
}
}