clases java por capas

Download Clases Java Por Capas

If you can't read please download the document

Upload: giovanni

Post on 11-Jan-2016

254 views

Category:

Documents


0 download

DESCRIPTION

Clases java usando el patron MVC

TRANSCRIPT

Ejemplo de Clases JAVA por capas.

Patron MVC

Capa C(Controller)

package com.praxis.siho.web.controller;

import java.io.IOException;import java.io.Serializable;import java.util.ArrayList;import java.util.HashMap;import java.util.List;

import javax.annotation.PostConstruct;import javax.faces.context.FacesContext;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.primefaces.component.datatable.DataTable;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Component;

import com.praxis.siho.core.data.dto.AsignacionesPorRecursoDto;import com.praxis.siho.core.data.dto.CatalogoGerenteDto;import com.praxis.siho.core.data.dto.ConsultaAsignacionesDto;import com.praxis.siho.core.data.dto.CuentaDto;import com.praxis.siho.core.data.dto.DescripcionCatalogoDto;import com.praxis.siho.core.data.dto.EstatusRecursoDto;import com.praxis.siho.core.data.dto.LineaTecnologicaDto;import com.praxis.siho.core.data.dto.ProyectoDto;import com.praxis.siho.core.data.dto.PuestoDto;import com.praxis.siho.core.data.dto.RecursoDto;import com.praxis.siho.core.data.dto.ResponsablesRecursosDto;import com.praxis.siho.core.data.dto.StatusAsignacionesDto;import com.praxis.siho.core.data.dto.TipoDeVentaDto;import com.praxis.siho.core.data.dto.UnidadDeNegocioDto;import com.praxis.siho.core.service.AsignacionesService;import com.praxis.siho.core.service.CuentasService;import com.praxis.siho.core.service.DescripcionCatalogoService;import com.praxis.siho.core.service.GerenteService;import com.praxis.siho.core.service.LineaTecnologicaService;import com.praxis.siho.core.service.ProyectosService;import com.praxis.siho.core.service.PuestosService;import com.praxis.siho.core.service.RecursosService;import com.praxis.siho.core.service.StatusAsignacionesService;import com.praxis.siho.core.service.UnidadDeNegocioService;import com.praxis.siho.core.util.TiempoUtil;import com.praxis.siho.web.domain.Pagina;import com.praxis.siho.web.mvc.SimpleViewController;import com.praxis.siho.web.util.JsfUtil;import com.praxis.siho.web.util.HttpJSFUti;

/*** * Controlador para Consulta de Asignaciones e historico de proyectos* * @author GOHG - OOJY**/@Component@Scope("view")public class ConsultaAsignacionesViewController extends SimpleViewController implements Serializable {

private static final long serialVersionUID = 1L;private final static Logger logger = LoggerFactory.getLogger(ConsultaAsignacionesViewController.class);

@Autowired private RecursosService recursosService;@Autowired private ProyectosService proyectoService;@Autowired private PuestosService puestosService;@Autowired private CuentasService cuentasService;@Autowired private LineaTecnologicaService lineaTecnologicaService;@Autowired private UnidadDeNegocioService unidadDeNegocioService;@Autowired private AsignacionesService asignacionesService;@Autowired private GerenteService gerenteService;@Autowired private StatusAsignacionesService statusAsignacionesService;@Autowired private DescripcionCatalogoService descripcionCatalogoService;private List lstRecursos;private List lstProyectos;private List lstLineasTecnologicas;private List lstUnidadesDeNegocio;private List lstPuestos;private List lstGerentes;private List lstResponsables;private List lstEstatusRec;private List lstAsignacionesPorRecurso;private List lstEstatusAsig;private List lstTipoPago;private List lstDetalleVenta;private List lstClientes;private List lstTipoDeVenta;private AsignacionesLazyDataModel model;private ConsultaAsignacionesDto consultaAsignacionesDto = new ConsultaAsignacionesDto();private ConsultaAsignacionesDto filtros;private String title = "";private String subTitle = ""; private String activeIndex = "";

@PostConstructpublic void initModel() {fillLists();filtros = new ConsultaAsignacionesDto();filtros.setEstatusRecurso("AC");filtros.setTipoVistaTabla("recurso");model = new AsignacionesLazyDataModel(asignacionesService, filtros);setTitle("Consulta de Asignaciones");setSubTitle("Datos de la Consulta");setActiveIndex("");}

private void fillLists() {fillListRecursosByEstatus("AC");lstProyectos = proyectoService.getProyectos();lstTipoDeVenta = proyectoService.getListTipoVenta();lstEstatusRec = recursosService.getEstatusRecursos();lstClientes = cuentasService.getCuentasPraxis();lstLineasTecnologicas = lineaTecnologicaService.getAll();lstUnidadesDeNegocio = unidadDeNegocioService.getAll();lstPuestos = puestosService.getPuestosByStatus();lstGerentes = gerenteService.getGerenteInfoByRecEstado();lstResponsables = recursosService.getResponsablesProyectos();lstEstatusAsig = statusAsignacionesService.getAll();lstTipoPago = descripcionCatalogoService.getCatalogos(47);}public void generateReport(){HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet();

HSSFRow row;

row = sheet.createRow(0);row.createCell(0).setCellValue("Rec Id");sheet.setColumnWidth(0, 2000);row.createCell(1).setCellValue("Ingreso");sheet.setColumnWidth(1, 4000);row.createCell(2).setCellValue("Estatus");sheet.setColumnWidth(2, 2000);row.createCell(3).setCellValue("Tipo Cobro");sheet.setColumnWidth(3, 4000);row.createCell(4).setCellValue("Puesto");sheet.setColumnWidth(4, 10000);row.createCell(5).setCellValue("Proyecto");sheet.setColumnWidth(5, 7000);row.createCell(6).setCellValue("Cliente");sheet.setColumnWidth(6, 8000);row.createCell(7).setCellValue("D.N.");sheet.setColumnWidth(7, 8000);row.createCell(8).setCellValue("C.C.");sheet.setColumnWidth(8, 8000);row.createCell(9).setCellValue("Tipo Venta");sheet.setColumnWidth(9, 3000);row.createCell(10).setCellValue("Det. Venta");sheet.setColumnWidth(10, 4000);row.createCell(11).setCellValue("Inicio");sheet.setColumnWidth(11, 4000);row.createCell(12).setCellValue("Fin");sheet.setColumnWidth(12, 4000);row.createCell(13).setCellValue("L. Tec.");sheet.setColumnWidth(13, 1000);row.createCell(14).setCellValue("Observaciones");sheet.setColumnWidth(14, 4000);

Pagina pagina = asignacionesService.getAsignacionesAsEntities(filtros, 0, filtros.getFilasEncontradas());List lst = pagina.getContent();

for (int i = 0; i < filtros.getFilasEncontradas(); i ++){row = sheet.createRow((short)i + 1);row.createCell(0).setCellValue(lst.get(i).getRecId());row.createCell(1).setCellValue(TiempoUtil.fechaTextoDiaMesAo(lst.get(i).getFechaDeIngreso())); row.createCell(2).setCellValue(lst.get(i).getAsigStaId()); row.createCell(3).setCellValue(lst.get(i).getAsigTipoCobro()); row.createCell(4).setCellValue(lst.get(i).getPuesto()); row.createCell(5).setCellValue(lst.get(i).getProyecto()); row.createCell(6).setCellValue(lst.get(i).getCliente()); row.createCell(7).setCellValue(lst.get(i).getDN()); row.createCell(8).setCellValue(lst.get(i).getCcNombre());row.createCell(9).setCellValue(lst.get(i).getProTipoDeVenta());row.createCell(10).setCellValue(lst.get(i).getProDetTipoVenta());row.createCell(11).setCellValue(TiempoUtil.fechaTextoDiaMesAo(lst.get(i).getInicio()));row.createCell(12).setCellValue(TiempoUtil.fechaTextoDiaMesAo(lst.get(i).getFin()));row.createCell(13).setCellValue(lst.get(i).getLineaTec());row.createCell(14).setCellValue(lst.get(i).getObservaciones());}

HttpServletResponse res = HttpJSFUti.getResponse();res.setContentType("application/vnd.ms-excel");res.setHeader("Content-disposition", "attachment; filename=data.xls");

try {ServletOutputStream out = res.getOutputStream();

wb.write(out);wb.close();out.flush();out.close();

} catch (IOException ex) { manageException(ex);}

FacesContext faces = FacesContext.getCurrentInstance();faces.responseComplete(); }

public void getAsignacionesByTipoDeVenta() {fillListDetalleTipoVenta();enableActiveIndex();}

public void getAsignacionesByEstatusRecursos() {fillListRecursosByEstatus(model.getFiltros().getEstatusRecurso());enableActiveIndex();}

private void fillListRecursosByEstatus(String estatusRecursos) {if (estatusRecursos.equals("AC")) {lstRecursos = recursosService.getRecursosActivos();} else {lstRecursos = recursosService.getRecursosInactivos();}}private void fillListDetalleTipoVenta() {

String tipoVenta = model.getFiltros().getIdTipoVenta();if(tipoVenta.equals("-1")) {model.getFiltros().setIdDetalleVenta(0);lstDetalleVenta = proyectoService.getDetalleTipoVenta(tipoVenta);}lstDetalleVenta = proyectoService.getDetalleTipoVenta(tipoVenta);}public void resetPageSize() {DataTable dataTableActividades = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("formConsultaHorarios:datos");dataTableActividades.setFirst(0);enableActiveIndex();}public void enableActiveIndex() {setActiveIndex("0");}public void insertUpdateAsignacion() {try {HashMap mapMensajes = new HashMap();if (consultaAsignacionesDto.getFilasSeleccionadasDeTabla().size() 0) {String msg = "";for (AsignacionesPorRecursoDto a : lstAsignacionesActualizadas) {msg += " " + a.getRecId().trim() + " - " + a.getProyecto().trim() + " - "+ TiempoUtil.fechaTextoDiaMesAo(a.getInicio()) + " . ";}JsfUtil.addSuccessMessage("ACTUALIZACIONES: "+ msg);consultaAsignacionesDto.getFilasSeleccionadasDeTabla().clear();}if (lstAsignacionesNoActualizadas.size() > 0) {if (lstErrorInicioMayorFin.size() > 0) {String msg = "";for (AsignacionesPorRecursoDto a : lstErrorInicioMayorFin) {msg += a.getRecId() + " - " + a.getProyecto() + " - "+ TiempoUtil.fechaTextoDiaMesAo(a.getInicio()) + " . ";}JsfUtil.addErrorMessage("Inicio mayor que fin de asignacin: " + msg);}if (lstErrorFinFueraPeriodoLaboral.size() > 0) {String msg = "";for (AsignacionesPorRecursoDto a : lstErrorFinFueraPeriodoLaboral) {msg += a.getRecId() + " - " + a.getProyecto() + " - "+ TiempoUtil.fechaTextoDiaMesAo(a.getInicio()) + " . ";}JsfUtil.addErrorMessage("Asignacin fuera de periodo laboral: " + msg);}if (lstErrorFinFueraVigenciaProyecto.size() > 0) {String msg = "";for (AsignacionesPorRecursoDto a : lstErrorFinFueraVigenciaProyecto) {msg += a.getRecId() + " - " + a.getProyecto() + " - "+ TiempoUtil.fechaTextoDiaMesAo(a.getInicio()) + " . ";}JsfUtil.addErrorMessage("Fin de asignacin fuera de Vigencia del Proyecto: " + msg);}if (lstErrorExisteAsignacion.size() > 0) {String msg = "";for (AsignacionesPorRecursoDto a : lstErrorExisteAsignacion) {msg += a.getRecId() + " - " + a.getProyecto() + " - "+ TiempoUtil.fechaTextoDiaMesAo(a.getInicio()) + " . ";}JsfUtil.addErrorMessage("Asignacin al mismo proyecto: " + msg);}if (lstErrorIncluyeAsignaciones.size() > 0) {String msg = "";for (AsignacionesPorRecursoDto a : lstErrorIncluyeAsignaciones) {msg += a.getRecId() + " - " + a.getProyecto() + " - "+ TiempoUtil.fechaTextoDiaMesAo(a.getInicio()) + " . ";}JsfUtil.addErrorMessage("Incluye Asignaciones/Desasignaciones: " + msg);}if (lstErrorEnActividades.size() > 0) {String msg = "";for (AsignacionesPorRecursoDto a : lstErrorEnActividades) {msg += a.getRecId() + " - " + a.getProyecto() + " - "+ TiempoUtil.fechaTextoDiaMesAo(a.getInicio()) + " . ";}JsfUtil.addErrorMessage("Asignacion con Actividades: " + msg);}if (lstErrorTieneActividades.size() > 0) {String msg = "";for (AsignacionesPorRecursoDto a : lstErrorTieneActividades) {msg += a.getRecId() + " - " + a.getProyecto() + " - "+ TiempoUtil.fechaTextoDiaMesAo(a.getInicio()) + " . ";}JsfUtil.addErrorMessage("Asignaciones Truncadas con Actividades: " + msg);}}if (consultaAsignacionesDto.getFilasSeleccionadasDeTabla().size() != 0) {consultaAsignacionesDto.getFilasSeleccionadasDeTabla().clear();}}}catch (Exception e) {manageException(e);}}

public void deleteAsignacion() {try {HashMap mapDetallesDeEliminacion = new HashMap();if(consultaAsignacionesDto.getFilasSeleccionadasDeTabla().size() 0) {String msg = "";for (AsignacionesPorRecursoDto a : lstAsignacionesEliminadas) {msg += a.getRecId() + " - " + a.getProyecto() + " - "+ TiempoUtil.fechaTextoDiaMesAo(a.getInicio()) + ". ";}JsfUtil.addSuccessMessage("Las asignaciones siguientes fueron eliminadas: " + msg);}if (lstAsignacionesNoEliminadas.size() > 0) {String msg = "";for (AsignacionesPorRecursoDto a : lstAsignacionesNoEliminadas) {msg += a.getRecId() + " - "+ a.getProyecto() + " - "+ TiempoUtil.fechaTextoDiaMesAo(a.getInicio()) + ". ";}JsfUtil.addErrorMessage("Las asignaciones siguientes No fueron eliminadas: " + msg);}}if (consultaAsignacionesDto.getFilasSeleccionadasDeTabla().size() != 0) {consultaAsignacionesDto.getFilasSeleccionadasDeTabla().clear();}}catch (Exception e) {manageException(e);}}/** * Getters y setters */public List getListaRecursos() {return lstRecursos;}

public void setListaRecursos(List listaRecursos) {this.lstRecursos = listaRecursos;}

public List getListaProyectos() {return lstProyectos;}

public void setListaProyectos(List listaProyectos) {this.lstProyectos = listaProyectos;}

public List getListaLineasTecnologicas() {return lstLineasTecnologicas;}

public void ListaLineasTecnologicas(ArrayList listaLineasTecnologicas) {this.lstLineasTecnologicas = listaLineasTecnologicas;}

public List getListaUnidadesDeNegocio() {return lstUnidadesDeNegocio;}

public void setListaUnidadesDeNegocio(List listaUnidadesDeNegocio) {this.lstUnidadesDeNegocio = listaUnidadesDeNegocio;}

public List getListaPuestos() {return lstPuestos;}

public void setListaPuestos(List listaPuestos) {this.lstPuestos = listaPuestos;}

public List getListaGerentes() {return lstGerentes;}

public void setListaGerentes(List listaGerentes) {this.lstGerentes = listaGerentes;}

public List getListaResponsables() {return lstResponsables;}

public void setListaResponsables(List listaResponsables) {this.lstResponsables = listaResponsables;}

public List getListaEstatusRec() {return lstEstatusRec;}

public void setListaEstatusRec(List listaEstatusRec) {this.lstEstatusRec = listaEstatusRec;}

public List getListaAsignacionesPorRecurso() {return lstAsignacionesPorRecurso;}

public void setListaAsignacionesPorRecurso(List listaAsignacionesPorRecurso) {this.lstAsignacionesPorRecurso = listaAsignacionesPorRecurso;}

public List getListaEstatusAsig() {return lstEstatusAsig;}

public void setListaEstatusAsig(List listaEstatusAsig) {this.lstEstatusAsig = listaEstatusAsig;}

public List getListaTipoPago() {return lstTipoPago;}

public void setListaTipoPago(List listaTipoPago) {this.lstTipoPago = listaTipoPago;}

public List getListaDetalleVenta() {return lstDetalleVenta;}

public void setListaDetalleVenta(List listaDetalleVenta) {this.lstDetalleVenta = listaDetalleVenta;}

public List getListaClientes() {return lstClientes;}

public void setListaClientes(List listaClientes) {this.lstClientes = listaClientes;}

public List getListaTipoDeVenta() {return lstTipoDeVenta;}

public void setListaTipoDeVenta(List listaTipoDeVenta) {this.lstTipoDeVenta = listaTipoDeVenta;}

public ConsultaAsignacionesDto getConsultaAsignacionesDto() {return consultaAsignacionesDto;}

public void setConsultaAsignacionesDto(ConsultaAsignacionesDto consultaAsignacionesDto) {this.consultaAsignacionesDto = consultaAsignacionesDto;}

public AsignacionesLazyDataModel getModelo() {return model;}

public void setModelo(AsignacionesLazyDataModel model) {this.model = model;}

public ConsultaAsignacionesDto getFiltros() {return filtros;}

public void setFiltros(ConsultaAsignacionesDto filtros) {this.filtros = filtros;}

public String getTitle() {return title;}

public void setTitle(String title) {this.title = title;}

public String getSubTitle() {return subTitle;}

public void setSubTitle(String subTitle) {this.subTitle = subTitle;}public String getActiveIndex() {return activeIndex;}

public void setActiveIndex(String activeIndex) {this.activeIndex = activeIndex;}

@Overrideprotected Logger getLogger() {return logger;}

@Overridepublic String search() {return null;}

@Overridepublic String searchDatabyId() {return null;}

@Overridepublic String save() {

return null;}

@Overridepublic String delete() {return null;}

}

Capa V(xhtml)

Capa dfe servicio (Modelo)

package com.praxis.siho.core.service;

import java.math.BigDecimal;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;

import com.praxis.siho.core.data.dto.AsignacionDto;import com.praxis.siho.core.data.dto.AsignacionRecursoDto;import com.praxis.siho.core.data.dto.AsignacionesPorRecursoDto;import com.praxis.siho.core.data.dto.CatalogoActividadesDto;import com.praxis.siho.core.data.dto.ConsultaAsignacionesDto;import com.praxis.siho.core.data.dto.EstatusRecursoDto;import com.praxis.siho.core.data.dto.NuevaAsignacionDto;import com.praxis.siho.core.data.dto.PeriodoDeTrabajoDto;import com.praxis.siho.core.data.dto.ProximosADesasignarseDto;import com.praxis.siho.core.data.dto.ProyectoInfoDto;import com.praxis.siho.core.data.dto.RecursoDto;import com.praxis.siho.core.data.dto.RegistroDesasignacionDto;import com.praxis.siho.core.data.repository.AsignacionesRepository;import com.praxis.siho.core.data.repository.AsignacionesRepositoryWrapper;import com.praxis.siho.core.util.Enumerations;import com.praxis.siho.core.util.TextoUtil;import com.praxis.siho.core.util.TiempoUtil;import com.praxis.siho.security.service.PlataformaSecurityContext;import com.praxis.siho.web.domain.Pagina;

/*** @author GOHG**/

@Service@Transactionalpublic class AsignacionesServiceImpl implements AsignacionesService {

//@Autowired SoftwareRepository softwareRepository;//@Autowired CatalogosGeneralesRepository catalogosGeneralesRepository;@Autowired AsignacionesRepository asignacionRepository;@Autowired AsignacionesRepositoryWrapper asignacionesRepositoryWrapper;@Autowired ProyectosService proyectosService;@Autowired ActividadesRecursosService actividadesRecursosService;@Autowired HorarioService horarioService;@Autowired PeriodosDeTrabajoService periodosDeTrabajoService;@Autowired private PlataformaSecurityContext context;

//@Transactional(readOnly = true)//@Override//public Collection consultaConocimientoPorId(//String recursoId) {//return softwareRepository.consultaConocimientoPorId(recursoId);//}

/** * se movio el metodo a puestos verifiar q exista el service * */

/* * * (non-Javadoc) * * @see com.praxis.siho.core.service.AsignacionesService#getPuestosAsig() */// @Transactional(readOnly = true)// @Override// public ArrayList getPuestosAsig() {// ArrayList lista = asignacionRepository.getPuestosAsig();// ArrayList listaPuestosDto = new ArrayList();// for (Object o : lista) {// PuestoDto puestosDto = new PuestoDto();// Object[] array = (Object[]) o;// puestosDto.setPueId(Long.parseLong(array[0].toString().trim()));// puestosDto.setPueNombre(array[1].toString());// listaPuestosDto.add(puestosDto);// }// return listaPuestosDto;// }

/** * se movio el metodo a ResponsablesProyecto verifiar q exista el service * */

/* * (non-Javadoc) * * @see * com.praxis.siho.core.service.AsignacionesService#getResponsablesProyecto * () */// @Transactional(readOnly = true)// @Override// public ArrayList getResponsablesProyecto() {// ArrayList lista = asignacionRepository.getResponsablesProyecto();// ArrayList listaResponsables = new// ArrayList();// for (Object o : lista) {// Object[] oArray = (Object[]) o;// ResponsablesProyectosDto responsablesProyectosDto = new// ResponsablesProyectosDto();// ResponsableProyectoDto responsableProyectoDto = new// ResponsableProyectoDto();// RecursoDto recursoDto = new RecursoDto();// responsableProyectoDto.setRppId(Long.parseLong(oArray[0].toString().trim()));// recursoDto.setRecId(oArray[1].toString().trim());// recursoDto.setRecNombre(oArray[2].toString().trim());// recursoDto.setRecMaterno(oArray[3].toString().trim());// recursoDto.setRecPaterno(oArray[4].toString().trim());// recursoDto.setRecEstado(oArray[5].toString());// recursoDto.setRecTipo(oArray[6].toString());// responsablesProyectosDto.setResponsableProyectoDto(responsableProyectoDto);// responsablesProyectosDto.setRecursoDto(recursoDto);// listaResponsables.add(responsablesProyectosDto);// }// return listaResponsables;// }

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#getAsignacionesAsEntities(com.praxis.siho.core.data.dto.ConsultaAsignacionesDto, int, int) */@Transactional(readOnly = true)@Overridepublic Pagina getAsignacionesAsEntities(ConsultaAsignacionesDto consultaAsignacionesDto, int first, int pageSize) {

if(consultaAsignacionesDto.getEstatusRecurso() == null) {

consultaAsignacionesDto.setEstatusRecurso("AC");

}

consultaAsignacionesDto.setHistorico(false);

if(consultaAsignacionesDto.getTipoVistaTabla().equals("historico")) {

consultaAsignacionesDto.setHistorico(true);

}

long size = asignacionesRepositoryWrapper.countAsignaciones(consultaAsignacionesDto);List listaAsignacionesPorRecurso = new ArrayList();

List lista = asignacionesRepositoryWrapper.getAsignacionesAsEntities(consultaAsignacionesDto, first, pageSize);

for (Object[] o : lista) {

AsignacionesPorRecursoDto asignacionesPorRecursoDto = new AsignacionesPorRecursoDto();

asignacionesPorRecursoDto.setRecId(o[0] != null ? o[0].toString().trim() : "");asignacionesPorRecursoDto.setFechaDeIngreso((Date) o[1]);asignacionesPorRecursoDto.setAsigStaId(o[2] != null ? o[2].toString() : "");asignacionesPorRecursoDto.setEstatus(o[3] != null ? o[3].toString(): "");asignacionesPorRecursoDto.setAsigTipoCobro(o[4] != null ? o[4].toString().trim() : "");

if (asignacionesPorRecursoDto.getAsigTipoCobro().equals("Cobrado")) {

asignacionesPorRecursoDto.setTipoCobroCategoria(Enumerations.TipoCobro.Cobrado.getValue());

} else if (asignacionesPorRecursoDto.getAsigTipoCobro().equals("No Cobrado")) {

asignacionesPorRecursoDto.setTipoCobroCategoria(Enumerations.TipoCobro.NoCobrado.getValue());

}

asignacionesPorRecursoDto.setAsigProId(o[5] != null ? o[5].toString() : "");asignacionesPorRecursoDto.setProTipoDeVenta(o[6] != null ? o[6].toString() : "");asignacionesPorRecursoDto.setProDetTipoVenta(o[7] != null ? o[7].toString() : "");asignacionesPorRecursoDto.setPuesto(o[8] != null ? o[8].toString(): "");asignacionesPorRecursoDto.setProyecto(o[9] != null ? o[9].toString() : "");asignacionesPorRecursoDto.setCliente(o[10] != null ? o[10].toString() : "");asignacionesPorRecursoDto.setDN(o[11] != null ? o[11].toString(): "");asignacionesPorRecursoDto.setCcNombre(o[12] != null ? o[12].toString() : "");asignacionesPorRecursoDto.setInicio((Date) o[13]);asignacionesPorRecursoDto.setFin((Date) o[14]);asignacionesPorRecursoDto.setTecId(o[15] != null ? o[15].toString(): "");asignacionesPorRecursoDto.setLineaTec(o[16] != null ? o[16].toString() : "");asignacionesPorRecursoDto.setObservaciones(o[17] != null ? o[17].toString() : "");

listaAsignacionesPorRecurso.add(asignacionesPorRecursoDto);

}

consultaAsignacionesDto.setFilasEncontradas(Integer.parseInt(String.valueOf(size)));

return new Pagina(listaAsignacionesPorRecurso,size);

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#getAsignaciones(com.praxis.siho.core.data.dto.ConsultaAsignacionesDto, int, int) */@Transactional(readOnly = true)@Overridepublic Pagina getAsignaciones(ConsultaAsignacionesDto consultaAsignacionesDto, int first,int pageSize) {

AsignacionesPorRecursoDto asignacionDTO;List asignacionesPorRecurso = new ArrayList();

List lista = asignacionesRepositoryWrapper.getAsignaciones(consultaAsignacionesDto, first, pageSize);

long size = asignacionesRepositoryWrapper.getCountAsignaciones(consultaAsignacionesDto);

for (Object[] asignacion : lista) {

asignacionDTO = new AsignacionesPorRecursoDto();

asignacionDTO.setRecId((String) asignacion[0]);asignacionesPorRecurso.add(asignacionDTO);

}

return new Pagina(asignacionesPorRecurso,size);

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#assignExists(int, com.praxis.siho.core.data.dto.AsignacionesPorRecursoDto, java.util.Date) */@Transactional(readOnly = true)@Overridepublic int assignExists(int update, AsignacionesPorRecursoDto asignacion,Date fechaInicio) {

try{

return asignacionesRepositoryWrapper.assignExists(update, asignacion,fechaInicio);

}catch(Exception e){

return 0;

}

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#assignsBetweenAssign(com.praxis.siho.core.data.dto.AsignacionesPorRecursoDto) */@Transactional(readOnly = true)@Overridepublic ArrayList assignsBetweenAssign(AsignacionesPorRecursoDto asignacion) {

ArrayList listaProyectos = new ArrayList();

String recList = asignacion.getRecId().trim();String estatus = asignacion.getAsigStaId().trim();Date fechaInicio = asignacion.getInicio();Date fechaFin = asignacion.getFin();

ArrayList lista = asignacionesRepositoryWrapper.getAsignacionesBetweenPeriodo(recList, estatus, fechaInicio,fechaFin);

if (lista.size() != 0) {

for (Object[] oArray : lista) {

AsignacionesPorRecursoDto asignacionesPorRecursoDto = new AsignacionesPorRecursoDto();

asignacionesPorRecursoDto.setAsigProId(oArray[0] != null ? oArray[0].toString().trim() : null);asignacionesPorRecursoDto.setProyecto(oArray[1] != null ? oArray[1].toString(): null);asignacionesPorRecursoDto.setRecId(oArray[2] != null ? oArray[2].toString().trim() : null);asignacionesPorRecursoDto.setInicio(oArray[3] != null ? (Date) oArray[3] : null);asignacionesPorRecursoDto.setFin(oArray[4] != null ? (Date) oArray[4] : null);

listaProyectos.add(asignacionesPorRecursoDto);}}

return listaProyectos;

}

/** * se movio el metodo asignacionesRecursos verifiar q exista el service * */// @Transactional(readOnly = true)// @Override// public int getAssignsWhitActivities(int proId, String recId, Date// fechaInicio, Date fechaFin) {// String inicio = TiempoUtil.fechaTextoDiaMesAo(fechaInicio);// String fin = TiempoUtil.fechaTextoDiaMesAo(fechaFin);// return asignacionRepository.getAssignsWhitActivities(proId, recId,// inicio, fin);// }

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#getAssignsEnd(java.lang.String, java.lang.String, java.util.Date, java.util.Date) */@Transactional(readOnly = true)@Overridepublic ArrayList getAssignsEnd(String recList,String estatus, Date fechaInicio, Date fechaFin) {

ArrayList listaAsignaciones = new ArrayList();

ArrayList lista = asignacionesRepositoryWrapper.getAssignsEnd(recList, estatus, fechaInicio, fechaFin);

if (lista.size() != 0) {

for (Object[] oArray : lista) {

AsignacionesPorRecursoDto asignacionesPorRecursoDto = new AsignacionesPorRecursoDto();

asignacionesPorRecursoDto.setAsigProId(oArray[0] != null ? oArray[0].toString() : null);asignacionesPorRecursoDto.setProyecto(oArray[1] != null ? oArray[1].toString() : null);asignacionesPorRecursoDto.setRecId(oArray[2] != null ? oArray[2].toString() : null);asignacionesPorRecursoDto.setInicio(oArray[3] != null ? (Date) oArray[3] : null);asignacionesPorRecursoDto.setFin(oArray[4] != null ? (Date) oArray[4] : null);asignacionesPorRecursoDto.setObservaciones(oArray[5] != null ? oArray[5].toString() : null);asignacionesPorRecursoDto.setAsigTipoCobro(oArray[6] != null ? oArray[6].toString() : null);

listaAsignaciones.add(asignacionesPorRecursoDto);

}}

return listaAsignaciones;

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#getAssignsBegin(java.lang.String, java.lang.String, java.util.Date, java.util.Date) */@Transactional(readOnly = true)@Overridepublic ArrayList getAssignsBegin(String recList,String estatus, Date fechaInicio, Date fechaFin) {

ArrayList listaAsignaciones = new ArrayList();

ArrayList lista = asignacionesRepositoryWrapper.getAssignsBegin(recList, estatus, fechaInicio, fechaFin);

if (lista.size() != 0) {

for (Object[] oArray : lista) {

AsignacionesPorRecursoDto asignacionesPorRecursoDto = new AsignacionesPorRecursoDto();

asignacionesPorRecursoDto.setAsigProId(oArray[0] != null ? oArray[0].toString(): null);asignacionesPorRecursoDto.setProyecto(oArray[1] != null ? oArray[1].toString(): null);asignacionesPorRecursoDto.setRecId(oArray[2] != null ? oArray[2].toString(): null);asignacionesPorRecursoDto.setInicio(oArray[3] != null ? (Date) oArray[3] : null);asignacionesPorRecursoDto.setFin(oArray[4] != null ? (Date) oArray[4] : null);asignacionesPorRecursoDto.setObservaciones(oArray[5] != null ? oArray[5].toString() : null);asignacionesPorRecursoDto.setAsigTipoCobro(oArray[6] != null ? oArray[6].toString() : null);

listaAsignaciones.add(asignacionesPorRecursoDto);}}

return listaAsignaciones;

}

/* * Inserta y o modifica las asignaciones de un recurso a un proyecto */private boolean insertUpdateAsignacion(List assignBegin,AsignacionesPorRecursoDto aNew, AsignacionesPorRecursoDto aOld) {

return asignacionesRepositoryWrapper.insertUpdateAsignacion(assignBegin, aNew, aOld);

}

/* * (non-Javadoc) * * @see * com.praxis.siho.core.service.AsignacionesService#actividadesEnNomina( * java.lang.String, int, java.lang.String) */@Transactional(readOnly = true)@Overridepublic int actividadesEnNomina(String recId, int proId, String fechaInicio) {

return asignacionRepository.actividadesEnNomina(recId, proId,fechaInicio);

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#deleteAsignaciones(com.praxis.siho.core.data.dto.AsignacionesPorRecursoDto) */@Overridepublic int deleteAsignaciones(AsignacionesPorRecursoDto asignacion) {

String idRec = asignacion.getRecId().trim();String fechaInicio = TiempoUtil.fechaTextoDiaMesAo(asignacion.getInicio());int idPro = Integer.valueOf(asignacion.getAsigProId());

int realizado = asignacionRepository.deleteAsignaciones(idRec, idPro, fechaInicio);

return realizado;

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#insertUpdateAsignacion(java.util.List, java.util.Date) */@Overridepublic HashMap insertUpdateAsignacion(List filasSeleccionadasDeTabla,Date finAsignacionIni) {

boolean eliminar = true;

if(finAsignacionIni == null) {

String fechaFinTexto = "01/01/1000";finAsignacionIni = TiempoUtil.fechaTextoDiaMesAo(fechaFinTexto);

}

HashMap mapMensajes = new HashMap();

List lstErrorInicioMayorFin = new ArrayList();List lstErrorFinFueraPeriodoLaboral = new ArrayList();List lstErrorFinFueraVigenciaProyecto = new ArrayList();List lstErrorExisteAsignacion = new ArrayList();List lstErrorIncluyeAsignaciones = new ArrayList();List lstErrorEnActividades = new ArrayList();List lstErrorTieneActividades = new ArrayList();List lstAsignacionesNoActualizadas = new ArrayList();List listaAsignacionesActualizadas = new ArrayList();

for (AsignacionesPorRecursoDto asig : filasSeleccionadasDeTabla) {AsignacionesPorRecursoDto nuevaAsignacion = new AsignacionesPorRecursoDto(asig);AsignacionesPorRecursoDto asignacion = new AsignacionesPorRecursoDto(asig);

nuevaAsignacion.setFin(finAsignacionIni);

if (nuevaAsignacion.getInicio().after(nuevaAsignacion.getFin())) {

lstErrorInicioMayorFin.add(asignacion);

}

int periodoValido = asignacionEnPeriodoLaboral(nuevaAsignacion);

if (periodoValido > 1) {

eliminar = false;lstErrorFinFueraPeriodoLaboral.add(asignacion);

}

ProyectoInfoDto proyecto = new ProyectoInfoDto();

proyecto = proyectosService.getProjectInfo(Integer.valueOf(asignacion.getAsigProId().trim()));

if (nuevaAsignacion.getFin().before(proyecto.getProFechaInicio())|| nuevaAsignacion.getFin().after(proyecto.getProFechaFin())) {

eliminar = false;lstErrorFinFueraVigenciaProyecto.add(asignacion);

}

if (assignExists(1, nuevaAsignacion, asignacion.getInicio()) == 1) {

eliminar = false;lstErrorExisteAsignacion.add(asignacion);

}

if (assignsBetweenAssig(nuevaAsignacion)) {

eliminar = false;lstErrorIncluyeAsignaciones.add(asignacion);

}

if (nuevaAsignacion.getFin().before(asignacion.getFin())) {

if (overFlowActivities(asignacion, nuevaAsignacion)) {

eliminar = false;lstErrorEnActividades.add(asignacion);

}}

List lstAsignacionesTruncadas = getAssignsTruncateBegin(nuevaAsignacion);

for (AsignacionesPorRecursoDto assign : lstAsignacionesTruncadas) {

if (getActivities(assign, asignacion.getRecId(),assign.getInicio(), asignacion.getFin())) {

eliminar = false;lstErrorTieneActividades.add(asignacion);

}}

if (eliminar == false) {

lstAsignacionesNoActualizadas.add(asignacion);

} else {

listaAsignacionesActualizadas.add(nuevaAsignacion);

insertUpdateAsignacion(lstAsignacionesTruncadas, nuevaAsignacion,asignacion);

}}

mapMensajes.put("lstAsignacionesActualizadas",listaAsignacionesActualizadas);mapMensajes.put("lstAsignacionesNoActualizadas", lstAsignacionesNoActualizadas);mapMensajes.put("lstErrorInicioMayorFin", lstErrorInicioMayorFin);mapMensajes.put("lstErrorFinFueraPeriodoLaboral", lstErrorFinFueraPeriodoLaboral);mapMensajes.put("lstErrorFinFueraVigenciaProyecto",lstErrorFinFueraVigenciaProyecto);mapMensajes.put("lstErrorExisteAsignacion", lstErrorExisteAsignacion);mapMensajes.put("lstErrorIncluyeAsignaciones", lstErrorIncluyeAsignaciones);mapMensajes.put("lstErrorEnActividades", lstErrorEnActividades);mapMensajes.put("lstErrorTieneActividades", lstErrorTieneActividades);

return mapMensajes;

}

/* * Valida que la asignacin esta en el periodo laboral del recurso Las * asignaciones que ya estaban no se validan */@Transactional(readOnly = true)private int asignacionEnPeriodoLaboral(AsignacionesPorRecursoDto asignacion) {

PeriodoDeTrabajoDto periodoDeTrabajo = new PeriodoDeTrabajoDto();

int tempAsignacionEnPeriodoLaboral = 1;

periodoDeTrabajo = periodosDeTrabajoService.getFechaSalidaRecurso(asignacion.getRecId().trim());

if (periodoDeTrabajo.getPtFechaDeSalida() == null) {

if (asignacion.getFin().before(periodoDeTrabajo.getPtFechaDeIngreso())) {

return 2;

}

} else {

if (asignacion.getFin().before(periodoDeTrabajo.getPtFechaDeIngreso())) {

//Ambas fechas de asignacin estan fuera del periodo laboralreturn 2;

} else if (asignacion.getFin().after(periodoDeTrabajo.getPtFechaDeSalida())) {

//Unicamente la fecha de fin de asignacin esta fuera del periodo laboralreturn 4;

}}

return tempAsignacionEnPeriodoLaboral;

}

/* * Verifica si existen asignaciones/desasignaciones en el periodo de la * asignacin actual */private boolean assignsBetweenAssig(AsignacionesPorRecursoDto a) {

ArrayList assignsCollection = new ArrayList();

boolean tempassignsBetweenAssign = false;

assignsCollection = assignsBetweenAssign(a);

if (assignsCollection.size() > 0) {

tempassignsBetweenAssign = true;

}

return tempassignsBetweenAssign;

}

private boolean overFlowActivities(AsignacionesPorRecursoDto aOld,AsignacionesPorRecursoDto aNew) {

if (aOld.getFin().after(aNew.getFin())) {

if (actividadesRecursosService.getAssignsWhitActivities(Integer.valueOf(aNew.getAsigProId().trim()),aNew.getRecId().trim(),TiempoUtil.sumarRestarDiasFecha(aNew.getFin(), 1), aOld.getFin()) == 1) {

return true;

}}return false;}

/* * Obtiene la asignacion que deben ser truncada */private ArrayList getAssignsTruncateBegin(AsignacionesPorRecursoDto a) {

ArrayList tempgetAssignsTruncateBegin = new ArrayList();

String recList = a.getRecId().trim();

tempgetAssignsTruncateBegin = getAssignsBegin(recList, a.getAsigStaId().trim(), a.getInicio(), a.getFin());

return tempgetAssignsTruncateBegin;

}

/* * Indica si existen actividades registradas en el proyecto asignado al * recurso */private boolean getActivities(AsignacionesPorRecursoDto a, String recId,Date fechaInicio, Date fechaFin) {

if (actividadesRecursosService.getAssignsWhitActivities(Integer.valueOf(a.getAsigProId().trim()),recId.trim(), fechaInicio, fechaFin) == 1) {

return true;

} else {

return false;

}}

/* * (non-Javadoc) * * @see * com.praxis.siho.core.service.AsignacionesService#deleteAsignacion(java * .util.ArrayList) */@Overridepublic HashMap deleteAsignacion(ArrayList filasSeleccionadasDeTabla) {

HashMap mapDetallesDeEliminacion = new HashMap();

List lstAsignacionesNoEliminadas = new ArrayList();List lstAsignacionesAEliminar = new ArrayList();List lstAsignacionesEliminadas = new ArrayList();

boolean eliminar = true;

// Obtiene la informacin de las asignacines seleccionadasfor (AsignacionesPorRecursoDto asignacionAEliminar : filasSeleccionadasDeTabla) {

// Si tiene actividades cargadas en nomina no se elimina String idRecurso = asignacionAEliminar.getRecId().trim();

if (actividadesEnNomina(idRecurso,Integer.valueOf(asignacionAEliminar.getAsigProId().trim()),TiempoUtil.fechaTextoDiaMesAo(asignacionAEliminar.getInicio())) > 0) {

eliminar = false;

}

// Si tiene actividades capturadas no se eliminaif(actividadesRecursosService.getAssignsWhitActivities(Integer.valueOf(asignacionAEliminar.getAsigProId().trim()),idRecurso, asignacionAEliminar.getInicio(), asignacionAEliminar.getFin()) > 0) {

eliminar = false;

}

if (eliminar == false) {

lstAsignacionesNoEliminadas.add(asignacionAEliminar);

} else {

lstAsignacionesAEliminar.add(asignacionAEliminar);

}}

// Elimina las asignacionesfor (AsignacionesPorRecursoDto asignacion : lstAsignacionesAEliminar) {

if (deleteAsignaciones(asignacion) != 1) {

lstAsignacionesNoEliminadas.add(asignacion);

} else {

lstAsignacionesEliminadas.add(asignacion);

}}

mapDetallesDeEliminacion.put("lstAsignacionesEliminadas",lstAsignacionesEliminadas);mapDetallesDeEliminacion.put("lstAsignacionesNoEliminadas", lstAsignacionesNoEliminadas);

return mapDetallesDeEliminacion;

}

/* * (non-Javadoc) * * @see * com.praxis.siho.core.service.AsignacionesService#getListCatalogActivities * () */@Overridepublic List getListCatalogActivities() {

List lstCatActivities = new ArrayList();

List listCatActivities = asignacionRepository.getCatalogActivities();

for (Object[] obj : listCatActivities) {

CatalogoActividadesDto catActivities = new CatalogoActividadesDto();

catActivities.setCacId(obj[0] != null ? Long.valueOf(obj[0].toString()) : null);catActivities.setCacDescripcion((obj[1] == null)?"":obj[1].toString());catActivities.setCacStatus(obj[2] == null? null:obj[2].toString());catActivities.setCacBase((Long.valueOf(obj[3].toString()).longValue() == 1));

lstCatActivities.add(catActivities);

}

return lstCatActivities;

}

/* * (non-Javadoc) * * @see * com.praxis.siho.core.service.AsignacionesService#getDetallesAsignaciones * (java.lang.String) */@Overridepublic Pagina getProximasDesasignacionesPorRecurso(ProximosADesasignarseDto filtros, int first, int pageSize) {

List lst;List lstDetalleAsignaciones = new ArrayList();

ProximosADesasignarseDto proximosADesasignarseDto;

Date fechaSistema = context.getFechaSistema();String idRecurso = filtros.getAsigRecId() != null ? filtros.getAsigRecId().trim() : "";

lst = asignacionRepository.getProximasDesasignacionesByIdRecurso(idRecurso, first, pageSize);

long size = Long.parseLong(asignacionRepository.getCountAsignacionesByIdRecurso(idRecurso).toString().trim());

for (Object[] asignacion : lst) {

proximosADesasignarseDto = new ProximosADesasignarseDto();proximosADesasignarseDto.setIdProyecto(Long.parseLong(asignacion[0].toString().trim()));proximosADesasignarseDto.setProyectoNombreCorto(asignacion[1].toString());proximosADesasignarseDto.setFechaInicioAsignacion((Date) asignacion[2]);Date fechaFinAsignacion = (Date) asignacion[3];proximosADesasignarseDto.setFechaFinAsignacion(fechaFinAsignacion);

if (fechaFinAsignacion.after(fechaSistema)) {

proximosADesasignarseDto.setAsignacionFinalizada(false);

} else {

proximosADesasignarseDto.setAsignacionFinalizada(true);

}

lstDetalleAsignaciones.add(proximosADesasignarseDto);}

return new Pagina(lstDetalleAsignaciones,size);}

/* * (non-Javadoc) * * @see com.praxis.siho.core.service.AsignacionesService# * getProximasDesasignacionesPorDia * (com.praxis.siho.core.data.dto.ProximosADesasignarseDto, int, int) */@Overridepublic Pagina getProximasDesasignacionesByDias(ProximosADesasignarseDto filtros, int first, int pageSize) {

List lst;List lstProximasDesasignaciones = new ArrayList();

ProximosADesasignarseDto proximosADesasignarseDto;

int dias = filtros.getNumeroDias() != null ? filtros.getNumeroDias(): 0;lst = asignacionRepository.getProximasDesasignacionesByDias(dias,first, pageSize);

long size = Long.parseLong(asignacionRepository.countPaginador(dias).toString().trim());

for (Object[] asignacion : lst) {

proximosADesasignarseDto = new ProximosADesasignarseDto();

proximosADesasignarseDto.setAsigRecId((String) asignacion[0].toString().trim());proximosADesasignarseDto.setIdProyecto(Long.parseLong(asignacion[1].toString().trim()));proximosADesasignarseDto.setProyectoNombreCorto(asignacion[2].toString());proximosADesasignarseDto.setFechaInicioAsignacion((Date) asignacion[3]);proximosADesasignarseDto.setFechaFinAsignacion((Date) asignacion[4]);proximosADesasignarseDto.setNumeroDias(Integer.parseInt(asignacion[5].toString().trim()));

lstProximasDesasignaciones.add(proximosADesasignarseDto);}

return new Pagina(lstProximasDesasignaciones, size);

}

/* * (non-Javadoc) * * @see * com.praxis.siho.core.service.AsignacionesService#getHrsRecursos(java. * lang.String) *///@Override//public List getHrsRecursos(//String fecha) {////List list = asignacionesRepositoryWrapper//.getHrsRecursoss(fecha);////List listDto = new ArrayList();//for (Object listObj : list) {//Object[] arr = (Object[]) listObj;////AsignacionDto asignaciones = new AsignacionDto();//ProyectoDto proyectos = new ProyectoDto();//ActidadesRecursosDto actividadesRecurso = new ActidadesRecursosDto();////AsignacionesProyectosActidadesRecursosDTo dto = new AsignacionesProyectosActidadesRecursosDTo();////asignaciones.setAsigTipId(arr[0].toString().trim());//proyectos.setProAp(arr[1].toString().trim());////dto.setAsignacionDto(asignaciones);//dto.setProyectoDto(proyectos);//dto.setActidadesRecursosDTo(actividadesRecurso);//listDto.add(dto);////}////return listDto;//}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#getFechasAsigRecurso(java.lang.String, long) */@Overridepublic AsignacionDto getFechasAsigRecurso(String recId, long proId) {

Object value = asignacionRepository.getFechasAsignacionRec(TextoUtil.completaIdRecursoConEspacios(recId), proId);

Object[] arrayObj = (Object[]) value;

AsignacionDto dto = new AsignacionDto();

dto.setAsigFechaInicio((Date)arrayObj[0]);dto.setAsigFechaFin((Date)arrayObj[1]);dto.setAsigObservaciones((String)arrayObj[2]);

return dto;

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#getDetalleAsigRecurso(java.lang.String) */@Overridepublic List getDetalleAsigRecurso(String recId) {

List lista = asignacionRepository.getDetalleAsignacionRec(TextoUtil.completaIdRecursoConEspacios(recId));List listDto = new ArrayList();

for (Object[] arr : lista) {

RegistroDesasignacionDto fechasAsignacionDto = new RegistroDesasignacionDto();

fechasAsignacionDto.setProNombreCorto((String)arr[0]);fechasAsignacionDto.setAsigFechaInicio((Date)arr[1]);fechasAsignacionDto.setAsigFechaFin((Date)arr[2]);

listDto.add(fechasAsignacionDto);

}

return listDto;

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#getAsignaciones(com.praxis.siho.core.data.dto.ConsultaAsignacionesDto) */@Override@Transactional(readOnly = true)public List getAsignaciones( ConsultaAsignacionesDto filtros) {

List lista = asignacionesRepositoryWrapper.getAsignaciones(filtros);List listaAsignaciones = new ArrayList();

for (Object[] arr : lista) {

ConsultaAsignacionesDto dto = new ConsultaAsignacionesDto();

dto.setIdRecurso(arr[0].toString().trim());dto.setAsigIni((Date) arr[6]);dto.setAsigFin((Date) arr[7]);

listaAsignaciones.add(dto);

}

return listaAsignaciones;

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#getAsignacionesProyectoByPeriodo(long, java.lang.String, java.lang.String) */@Overridepublic List getAsignacionesProyectoByPeriodo(long proId,String fechaInicial, String fechaFinal) {

List lst = asignacionesRepositoryWrapper.getAsignacionesProyectoByPeriodo(proId, fechaInicial, fechaFinal);List lstAsignaciones = new ArrayList();

for(Object[] arr:lst) {

AsignacionRecursoDto asignacionRecursoDto = new AsignacionRecursoDto();AsignacionDto asignacionDto = new AsignacionDto();RecursoDto recursoDto = new RecursoDto();

recursoDto.setRecId(arr[0].toString());

asignacionDto.setAsigFechaInicio((Date)arr[6]);asignacionDto.setAsigFechaFin((Date)arr[7]);

asignacionRecursoDto.setRecursoDto(recursoDto);asignacionRecursoDto.setAsignacionDto(asignacionDto);

lstAsignaciones.add(asignacionRecursoDto);

}

return lstAsignaciones;

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#getAsignacionByKey(com.praxis.siho.core.data.dto.AsignacionDto) */@Overridepublic NuevaAsignacionDto getAsignacionByKey(AsignacionDto adto) {

NuevaAsignacionDto dto = new NuevaAsignacionDto();int tipPago = Enumerations.IdCatalogos.TipoPago.getValue();

if(asignacionRepository.getExisteAsignacion(adto.getAsigRecId().trim(),adto.getAsigProId())>0){

List objeto = asignacionRepository.AsignacionByKey(adto.getAsigRecId(),adto.getAsigProId(),TiempoUtil.fechaTextoDiaMesAo(adto.getAsigFechaInicio()),tipPago);

for(Object[] oArray : objeto) {

dto.setRecId(oArray[0].toString().trim());dto.setProId(((BigDecimal)oArray[4]).longValue());dto.setProNombreCorto(oArray[5].toString());dto.setInicioAsignacion((Date)oArray[6]);dto.setFinAsignacion((Date)oArray[7]);dto.setRecPuesto(oArray[8]==null?"":oArray[8].toString());dto.setEstatusAsignacionId(oArray[9]==null?"":oArray[9].toString());dto.setEstatusAsignacion(oArray[10]==null?"":oArray[10].toString());dto.setTipCobroId(oArray[11]==null?null:(BigDecimal)oArray[11]);dto.setTipCobroDescripcion(oArray[12]==null?"":oArray[12].toString());dto.setComentarios(oArray[13]==null?"":oArray[13].toString());

}

}

return dto;

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#insertUpdateAsignacion(java.util.ArrayList, java.util.ArrayList, com.praxis.siho.core.data.dto.AsignacionesPorRecursoDto, com.praxis.siho.core.data.dto.AsignacionesPorRecursoDto) */@Overridepublic boolean insertUpdateAsignacion(ArrayList assignBegin,ArrayList assignEnd,AsignacionesPorRecursoDto aNew, AsignacionesPorRecursoDto aOld) {

try{

asignacionesRepositoryWrapper.insertUpdateAsignacion(assignBegin,assignEnd ,aNew, aOld);

return true;

}catch(Exception e){

return false;

}

}

/* * (non-Javadoc) * @see com.praxis.siho.core.service.AsignacionesService#getEstatusRecursos() */@Overridepublic ArrayList getEstatusRecursos() {// TODO Auto-generated method stubreturn null;}@Overridepublic NuevaAsignacionDto getAsignacionFechas(AsignacionDto adto) {

NuevaAsignacionDto dto = new NuevaAsignacionDto();int tipPago = Enumerations.IdCatalogos.TipoPago.getValue();

if(asignacionRepository.getExisteAsignacion(adto.getAsigRecId().trim(),adto.getAsigProId())>0){

List objeto = asignacionRepository.getAsignacionFechas(adto.getAsigRecId(),adto.getAsigProId(),tipPago);

for(Object[] oArray : objeto) {

dto.setRecId(oArray[0].toString().trim());dto.setProId(((BigDecimal)oArray[4]).longValue());dto.setProNombreCorto(oArray[5].toString());dto.setInicioAsignacion((Date)oArray[6]);dto.setFinAsignacion((Date)oArray[7]);dto.setRecPuesto(oArray[8]==null?"":oArray[8].toString());dto.setEstatusAsignacionId(oArray[9]==null?"":oArray[9].toString());dto.setEstatusAsignacion(oArray[10]==null?"":oArray[10].toString());dto.setTipCobroId(oArray[11]==null?null:(BigDecimal)oArray[11]);dto.setTipCobroDescripcion(oArray[12]==null?"":oArray[12].toString());dto.setComentarios(oArray[13]==null?"":oArray[13].toString());

}

}

return dto;

}

}