maia_modificado/.svn/pristine/f2/f2e12439c50a8954a071f22668d...

883 lines
33 KiB
Plaintext
Executable File

package com.fp.frontend.controller.armas.solicitud;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.primefaces.context.RequestContext;
import com.fp.dto.Request;
import com.fp.dto.Response;
import com.fp.dto.save.DtoSave;
import com.fp.frontend.controller.AbstractController;
import com.fp.frontend.controller.ReportController;
import com.fp.frontend.controller.alfresco.AlfrescoController;
import com.fp.frontend.controller.armas.funcionalidad.CargaController;
import com.fp.frontend.controller.armas.parametros.CentroControlArmasController;
import com.fp.frontend.controller.armas.parametros.IngresoDatosTipoTramite;
import com.fp.frontend.controller.armas.parametros.TarmCentroControlJurController;
import com.fp.frontend.controller.pcustomer.PersonAddressController;
import com.fp.frontend.controller.pcustomer.PersonDetailController;
import com.fp.frontend.controller.pgeneral.date.TgeneNotAccountingDayController;
import com.fp.frontend.controller.pgeneral.gene.CatalogDetailController;
import com.fp.frontend.controller.pgeneral.gene.ParametersController;
import com.fp.frontend.helper.MessageHelper;
import com.fp.frontend.utility.ConvertNumberToText;
import com.fp.frontend.utility.MsgControlArmas;
import com.fp.frontend.utility.MsgGeneral;
import com.fp.persistence.parmas.fun.TarmCarga;
import com.fp.persistence.parmas.param.TarmCentroControl;
import com.fp.persistence.parmas.param.TarmCentroControlJur;
import com.fp.persistence.parmas.param.TarmTramite;
import com.fp.persistence.parmas.soli.TarmAgenciaArma;
import com.fp.persistence.parmas.soli.TarmSolicitud;
import com.fp.persistence.parmas.soli.TarmSolicitudAgenciaSucursal;
import com.fp.persistence.parmas.soli.TarmSolicitudArmas;
import com.fp.persistence.parmas.soli.TarmSolicitudTramite;
import com.fp.persistence.pcustomer.gene.TcustPersonAddress;
import com.fp.persistence.pcustomer.gene.TcustPersonDetail;
import com.fp.persistence.pgeneral.gene.TgeneCatalogDetail;
import com.fp.persistence.pgeneral.gene.TgeneParameters;
import com.fp.persistence.pgeneral.safe.TsafeUserDetail;
/**
* Clase controladora para la validacion del deposito
*
* @author CHRISTIAN PAZMINO
* @version 2.1
*/
@SuppressWarnings("serial")
@ManagedBean
@ViewScoped
public class ValidarDepositoController extends AbstractController<TarmSolicitudTramite> {
/**
* Codigo de solicitud
*/
private String csolicitud;
/**
* Variable del tipo TgeneCatalogDetail(catalogo del tramite)
*/
private TgeneCatalogDetail nombreTramite;
/**
* Variable del tipo TgeneCatalogDetail(catalogo de la categoria)
*/
private TgeneCatalogDetail nombreCategoria;
/**
* Variable del tipo TgeneCatalogDetail(catalogo del uso actividad del tramite)
*/
private TgeneCatalogDetail nombreUsoActividad;
/**
* Opciones de aceptar o rechazar
*/
private List<TgeneCatalogDetail> accionList;
/**
* Propiedad usada para el manejo del Alfresco
*/
@ManagedProperty(value = "#{alfrescoController}")
private AlfrescoController alfrescoController;
/**
* Propiedad usada para el manejo del numero de armas de la solicitud
*/
@ManagedProperty(value = "#{recepcionArmasController}")
private RecepcionArmasController recepcionArmasController;
/**
* Propiedad usada para el manejo del centro de control de armas
*/
@ManagedProperty(value = "#{centroControlArmasController}")
private CentroControlArmasController centroControlArmasController;
/**
* controlador de la solicitud
*/
@ManagedProperty(value = "#{solicitudArmasController}")
private SolicitudArmasController solicitudMP;
/**
* Propiedad usada para el manejo de reportes
*/
@ManagedProperty(value = "#{reportController}")
private ReportController reportController;
/**
* Controlador que maneja las armas asociadas a las agencias
*/
@ManagedProperty(value="#{agenciaArmaController}")
private AgenciaArmaController agenciaArma;
/**
* Controlador que maneja cargas para previa importacion
*/
@ManagedProperty(value = "#{cargaController}")
private CargaController cargaController;
/**
* Propiedad usada para el manejo de la solicitud actual
*/
private TarmSolicitud solicitud;
/**
* Accion tomada por el usuario, aprobar o rechazar
*/
private String accionTomada;
/**
* Constante usada para referirse a la opcion general aprobar
*/
private final String APROBAR = "APR";
/**
* Constante usada para referirse a la opcion general rechazar
*/
private final String REPROBAR = "RECH";
/**
* Constante usada para referirse a la opcion aprobar deposito
*/
private final String APROBAR_DEPOSITO = "APBDEP";
/**
* Constante usada para referirse a la opcion rechazar deposito
*/
private final String ANULAR_DEPOSITO = "ANUDEP";
/**
* Propiedad usada para el manejo del tramite actual
*/
private TarmTramite tramite;
/**
* Fecha de atencion del proximo tramite
*/
private Date fechaAtencionTramite;
/**
* Variable que indica si el usuario esta negado para continuar en la pantalla
*/
private Boolean isDenied;
/**
* Variable auxiliar usada para diferenciar cuando se presenta o no el mensaje de validacion de fecha expiracion solicitud
*/
private Boolean isOnlyMsj;
/**
* Obtiene el centro d control de armas de la solicitud actual
*/
private TarmCentroControl centroControlObj;
/**
* Bandera de tipo booleano para indicar si se habilita el boton de completar tarea
*/
private Boolean isEnableCompletarTarea= Boolean.FALSE;
/**
* Nombre del centro de control
*/
private String nombreCentroControl;
private Boolean requiereNoSolAucpBln;
private Boolean btnImprimir;
public ValidarDepositoController() throws Exception {
super(TarmSolicitudTramite.class);
}
@PostConstruct
private void postconstruct() {
super.startQuery();
csolicitud = this.getMfilters().get("csolicitud");
this.getMfilters().clear();
init();
}
/**
* Incializa el controlador, cuando se esta utilizando una pagina que utliza el controlador.
*/
private void init() {
this.beanalias = "VALIDARDEPOSITO";
// Recuperamos el centro de control de armas correspondiente al solicitante
accionList=CatalogDetailController.find("ACCION");
this.record = SolicitudTramiteController.findByCSolicitud(csolicitud);
isOnlyMsj = false;
btnImprimir=Boolean.FALSE;
requiereNoSolAucpBln=Boolean.FALSE;
try {
isDenied = true;
if(record!=null){
solicitud = SolicitudArmasController.find(csolicitud);
if(solicitud!=null && solicitud.getCtramite()!=null){
tramite = IngresoDatosTipoTramite.find(solicitud.getCtramite().toString());
if(tramite!=null){
//Tramite
nombreTramite= CatalogDetailController.findxCodigoCodcatalogo(tramite.getTipoautorizacion(), tramite.getTipoautorizacioncodigo());
nombreCategoria= CatalogDetailController.findxCodigoCodcatalogo(tramite.getCategoria(), tramite.getCategoriacodigo());
nombreUsoActividad= CatalogDetailController.findxCodigoCodcatalogo(tramite.getUsoactividad(), tramite.getUsoactividadcodigo());
if(tramite.getCategoria().equals("14")){
requiereNoSolAucpBln=Boolean.TRUE;
}else{
requiereNoSolAucpBln=Boolean.FALSE;
}
}
else{
MessageHelper.setMessageError("NO EXISTE UN TIPO DE TR\u00c1MITE ASOCIADO A LA SOLICITUD");
return;
}
}
else{
MessageHelper.setMessageError("NO EXISTE UNA SOLICITUD ASOCIADA AL TR\u00c1MITE");
return;
}
//Obteniendo el centro de control
// TsafeUserDetail tsafeUserDetail = (TsafeUserDetail) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL");
// PersonAddressController direccion = new PersonAddressController();
// TcustPersonAddress tcustPersonAddres= direccion.findPrincipal(tsafeUserDetail.getPk().getPersoncode().toString());
// TarmCentroControlJur jurisdiccionCentroControl;
// jurisdiccionCentroControl= TarmCentroControlJurController.findxProvincia(tcustPersonAddres.getProvincecode());
centroControlObj = CentroControlArmasController.findPorCodigo(solicitud.getCcentrocontrol());
this.setNombreCentroControl(CatalogDetailController.findxCodigoCodcatalogo( centroControlObj.getNombreinstitucion(),
centroControlObj.getNombreinstitucioncodigo()).getDescription());
}
else{
MessageHelper.setMessageError("NO EXISTE EL TR\u00c1MITE EN LA BASE DE DATOS");
}
} catch (Exception e) {
MessageHelper.setMessageError(e);
}
}
/**
* Metodo que devuelve el centro de control al que pertenece el cliente dueno de la solicitud
* @throws Exception
*/
// private String obtenerCentroControlSolicitante() throws Exception {
// PersonAddressController personAddressController = new PersonAddressController();
// TcustPersonAddress tcustPersonAddres=personAddressController.findPrincipal(solicitud.getPersoncode().toString());
// TarmCentroControlJur centroControlJur= TarmCentroControlJurController.findxProvincia(tcustPersonAddres.getProvincecode());
// TarmCentroControl centroControl= CentroControlArmasController.findPorCodigo(centroControlJur.getCcentrocontrol());
// String institucionCentroControl = CatalogDetailController.findxCodigoCodcatalogo( centroControl.getNombreinstitucion(), centroControl.getNombreinstitucioncodigo()).getDescription();
// return institucionCentroControl;
// }
/**
* ?
*/
public void cancelar(){
init();
}
/**
* Genera la fecha disponible para el proximo tramite en el centro de control de armas respectivo
*/
public void generarFechaProximoTramite(){
try {
// Validamos si ya existe una fecha para realizar el proximo tramite
centroControlObj.isnew = false;
Date fechaActual=new Date(Calendar.getInstance().getTimeInMillis());
if(centroControlObj.getFechaproximotramite()==null || centroControlObj.getFechaproximotramite().before(fechaActual)){
fechaAtencionTramite = TgeneNotAccountingDayController.diasLaborablesPosterioresAUnaFecha(new Date(), 1);
}else{
fechaAtencionTramite = centroControlObj.getFechaproximotramite();
}
// Numero de armas de la solicitud
List<TarmSolicitudArmas>armasList = RecepcionArmasController.findPorSolicitud(csolicitud);
int numArmasSolicitud = armasList.size();
int salvedad = 10;
int capacidadCentroUltDia = 0;
if(centroControlObj.getCuposlibresultimodia()!=null){
capacidadCentroUltDia = centroControlObj.getCuposlibresultimodia();
}
else{
capacidadCentroUltDia = centroControlObj.getTramitespordia();
}
// Si la capacidad del centro en el ultimo dia es mayor al numero de armas a revisarse
if(numArmasSolicitud < capacidadCentroUltDia){
centroControlObj.setCuposlibresultimodia(capacidadCentroUltDia - numArmasSolicitud);
centroControlArmasController.update(centroControlObj);
centroControlArmasController.save();
}
else if((numArmasSolicitud == capacidadCentroUltDia) || (numArmasSolicitud <= (capacidadCentroUltDia + salvedad))){
// Si la capacidad del centro es igual al numero de armas a revisarse o ajusta cupo con la salvedad
centroControlObj.setCuposlibresultimodia(centroControlObj.getTramitespordia());
Date newFechaAtencionTramite = TgeneNotAccountingDayController.diasLaborablesPosterioresAUnaFecha(fechaAtencionTramite, 1);
centroControlObj.setFechaproximotramite(new java.sql.Date(newFechaAtencionTramite.getTime()));
centroControlArmasController.update(centroControlObj);
centroControlArmasController.save();
}
else{
// Cociente y residuo para los casos donde se tiene 50 armas o mas a tramitarse
int diasRequeridos = numArmasSolicitud/centroControlObj.getTramitespordia();
// Requerido para el calculo de los cupos disponibles para el ultimo dia
int residuoDiasRequeridos = numArmasSolicitud%centroControlObj.getTramitespordia();
fechaAtencionTramite = TgeneNotAccountingDayController.diasLaborablesPosterioresAUnaFecha(fechaAtencionTramite, 1);
Date newFechaAtencionTramite;
centroControlObj.setCuposlibresultimodia(centroControlObj.getTramitespordia()-residuoDiasRequeridos);
newFechaAtencionTramite = TgeneNotAccountingDayController.diasLaborablesPosterioresAUnaFecha(fechaAtencionTramite, diasRequeridos);
centroControlObj.setFechaproximotramite(new java.sql.Date(newFechaAtencionTramite.getTime()));
centroControlArmasController.update(centroControlObj);
centroControlArmasController.save();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* M&eacute;todo para finalizar la tarea del flujo
*/
public void completarTarea() {
try {
Request request = callerhelper.getRequest();
// limpiar request para finalizar la tarea.
super.cleanRequest(request);
request.modifiedData().put("csolicitud", csolicitud);
request.modifiedData().put("TID", tid);
request.modifiedData().put("BPMObs", bpmDataComment == null ? "OK" : bpmDataComment);
// Completar tarea en el flujo
Map<String,Object>datosmail = new HashMap<String,Object>();
if(accionTomada.equalsIgnoreCase(APROBAR)){
request.modifiedData().put("BPMStatus", "A");
if(tramite!=null && tramite.getTipotramite()!=null){
// En el caso de permisos enviamos una notificacion al cliente con algunos parametros adicionales
if(tramite.getTipoautorizacion().equalsIgnoreCase("6")){
datosmail.put("razonsocial",solicitud.getModifiedData().get("nombre"));
// datosmail.put("csolicitud",csolicitud);
// datosmail.put("numcomprobante",record.getNumerocomprobante());
TsafeUserDetail userDetailObj=(TsafeUserDetail)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL");
TcustPersonDetail personDetailObj=PersonDetailController.find(userDetailObj.getPk().getPersoncode().toString());
// Datos del funcionario que valida
datosmail.put("funcionario",personDetailObj.getName());
datosmail.put("grado",personDetailObj.getMilitarygrade()==null?"":personDetailObj.getMilitarygrade());
String nombreCCA = CatalogDetailController.findxCodigoCodcatalogo(centroControlObj.getNombreinstitucion(), centroControlObj.getNombreinstitucioncodigo()).getDescription();
datosmail.put("nombreCCA",nombreCCA);
datosmail.put("nombreCCACliente",nombreCCA);
datosmail.put("numeroTramite",solicitud.getNumerosolicitud().replace("SOL", "TRA"));
generarFechaProximoTramite();
SimpleDateFormat sdf = new SimpleDateFormat(MsgGeneral.getProperty("dateformat"));
datosmail.put("fechaGenerada",sdf.format(fechaAtencionTramite));
}
}
}else{
request.modifiedData().put("BPMStatus", "D");
datosmail.put("razonsocial",solicitud.getModifiedData().get("nombre"));
datosmail.put("numeroSolicitud",solicitud.getNumerosolicitud());
datosmail.put("numcomprobante",record.getNumerocomprobante());
TsafeUserDetail userDetailObj=(TsafeUserDetail)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL");
TcustPersonDetail personDetailObj=PersonDetailController.find(userDetailObj.getPk().getPersoncode().toString());
// Datos del funcionario que valida
datosmail.put("funcionario",personDetailObj.getName());
datosmail.put("grado",personDetailObj.getMilitarygrade()==null?"":personDetailObj.getMilitarygrade());
String nombreCCA = CatalogDetailController.findxCodigoCodcatalogo(centroControlObj.getNombreinstitucion(), centroControlObj.getNombreinstitucioncodigo()).getDescription();
datosmail.put("nombreCCA",nombreCCA);
}
request.modifiedData().put("datosmail", datosmail);
Response resp = this.callerhelper.executeSave(request);
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) {
this.postCommit(resp);
MessageHelper.setMessageInfo(resp);
btnImprimir=Boolean.FALSE;
if(!accionTomada.equalsIgnoreCase(APROBAR)){
saveAnularSolicitud();
}
RequestContext.getCurrentInstance().execute("Maia.refreshusertasks()");
isDenied = true;
} else {
MessageHelper.setMessageError(resp);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void saveAnularSolicitud() {
try {
// CATEGORIA 14 PREVIA IMPORTACION
if(tramite.getCategoria().equals("14")){
desasociarCargaSolicitud();
}
//Poner la solicitud en estado anulado deposito
solicitud.setEstado("ANUDEP");
solicitudMP.setRecord(solicitud);
solicitudMP.update();
DtoSave dtoSolicitud = solicitudMP.getDtoSave();
if(record!=null){
record.setIsnew(false);
record.setEstadotramite("ANUDEP");
super.update();
}
//Desasociar las armas en apertura de agencias y apertura de sucursales
if(solicitud.getCtramite()==44 || solicitud.getCtramite()==48){
List<TarmSolicitudArmas> armasSolicitudList = RecepcionArmasController.findPorSolicitud(solicitud.getPk());
for(TarmSolicitudArmas armaObj:armasSolicitudList){
// Codigo agencia de la solicitud
List<TarmSolicitudAgenciaSucursal>solicitudAgenciaLst = SolicitudAgenciaSucursalController.findPorSolicitud(solicitud.getPk());
for(TarmSolicitudAgenciaSucursal solicitudAgenciaSucursalObj:solicitudAgenciaLst){
String cAgencia = solicitudAgenciaSucursalObj.getPk().getCagencia().toString();
TarmAgenciaArma agenciaArmaObj = AgenciaArmaController.findByCArma(armaObj.getPk().getCarma(), cAgencia);
agenciaArma.setRecord(agenciaArmaObj);
agenciaArma.remove();
}
}
}
DtoSave dtoSolicitudTramite = this.getDtoSave();
DtoSave dtoAgenciaArma = agenciaArma.getDtoSave();
HashMap<String, DtoSave> msave = new HashMap<String, DtoSave>();
Request request = callerhelper.getRequest();
super.cleanRequest(request);
msave.put(solicitudMP.getBeanalias(), dtoSolicitud); // adicionar metadata de mantenimiento para cada tabla.
msave.put(this.getBeanalias(), dtoSolicitudTramite);
msave.put(agenciaArma.getBeanalias(), dtoAgenciaArma);
request.setSaveTables(msave);
Response resp = callerhelper.executeSave(request);
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) {
this.postCommit(resp);
solicitudMP.postCommit(resp);
agenciaArma.postCommit(resp);
MessageHelper.setMessageInfo(resp);
} else {
MessageHelper.setMessageError(resp);
}
} catch (Throwable e) {
MessageHelper.setMessageError(e);
}
}
public void desasociarCargaSolicitud(){
try{
TarmCarga carga = CargaController.findByAUCP(solicitud.getAucp());
if(carga!=null){
carga.setCsolicitud(null);
cargaController.update(carga);
cargaController.save();
}
} catch (Throwable e) {
MessageHelper.setMessageError(e);
}
}
@Override
public void save() {
try {
super.update();
DtoSave dtosave = super.getDtoSave();
HashMap<String, DtoSave> msave = new HashMap<String, DtoSave>();
Request request = this.callerhelper.getRequest();
msave.put(this.beanalias, dtosave); // adicionar metadata de mantenimiento para cada tabla.
request.setSaveTables(msave);
if(accionTomada.equalsIgnoreCase(APROBAR)){
record.setEstadotramite(APROBAR_DEPOSITO);
btnImprimir=Boolean.TRUE;
}else{
record.setEstadotramite(ANULAR_DEPOSITO);
}
Response resp = this.callerhelper.executeSave(request);
if (resp.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) {
this.postCommit(resp);
MessageHelper.setMessageInfo(resp);
isDenied = true;
isEnableCompletarTarea = Boolean.TRUE;
} else {
MessageHelper.setMessageError(resp);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
protected void querydatabase() {
try {
} catch (Exception e) {
MessageHelper.setMessageError(e);
}
}
/**
* Consulta y retorna el codigo de un aprobado
*/
public String codigoAceptado() throws Exception {
TgeneParameters f = ParametersController.find("ACEPTADO", "1");
return f.getTextvalue();
}
/**
* Retorna la ruta de documento base en donde se almacenar&aacute; dicho archivo
*
* @return
*/
public String getRutaDocumentoSolBase() {
Calendar calendar = Calendar.getInstance();
calendar.setTime(solicitud.getFregistro());
StringBuilder ruta = new StringBuilder("cm:Solicitudes");
ruta = ruta.append("/cm:").append(calendar.get(Calendar.YEAR));
ruta = ruta.append("/cm:").append((calendar.get(Calendar.MONTH)+1) <= 9 ? "0" + (calendar.get(Calendar.MONTH) + 1) : (calendar.get(Calendar.MONTH)+1));
return ruta.toString();
}
/**
* Metodo para validar el valor a pagar
*/
public void validarValorDelDeposito(){
if(record.getValorapagar().compareTo(record.getValorverificado())!=0){
MessageHelper.setMessageError(MsgControlArmas.getProperty("msg_error_vVerificDiferenteDeVAPagar"));
}
}
/**
* Genera el reporte del comprobante de caja
* @param name Nombre del reporte a generar.
*/
public void generateReport() {
String path = "armas/reports/comprobanteCaja";
String filename=MsgControlArmas.getProperty("lbl_comprobanteCaja");
//Fija parametros del report.
HashMap<String, Object> parameters = new HashMap<>();
parameters.put("pathLogoIzquierda", "repo:/maia/1/image/comandoconjunto");
parameters.put("pathLogoDerecha", "repo:/maia/1/image/selloarmas");
//RUC de COMACO
String rucComaco="-";
TgeneParameters parametroRUC=ParametersController.find("RUCCOMACO", "1");
if(parametroRUC!=null){
rucComaco=parametroRUC.getTextvalue();
}
parameters.put("rucComaco", rucComaco);
//Nombre centro
parameters.put("nombreCentro", this.getNombreCentroControl());
//No comprobante
String noComprobante="-";
TarmSolicitudTramite solicitudTramite=SolicitudTramiteController.findByCSolicitud(this.solicitud.getPk());
if(solicitudTramite!=null){
noComprobante=solicitudTramite.getNumerotramite();
}
parameters.put("noComprobante", noComprobante);
//Fecha de emision
SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy");
parameters.put("fechaSistema", sdf.format(Calendar.getInstance().getTime()));
//Ruc del usuario
if(this.solicitud.getModifiedData().get("identification")!=null){
parameters.put("ruc", this.solicitud.getModifiedData().get("identification"));
}else {
parameters.put("ruc", " ");
}
//Nombre-razon social
if(this.solicitud.getModifiedData().get("nombre")!=null){
parameters.put("nombreRazon", this.solicitud.getModifiedData().get("nombre"));
}else {
parameters.put("nombreRazon", " ");
}
//Cantidad en letras
String cantidadLetras= ConvertNumberToText.convertNumberToLetter(this.record.getValorapagar().toString());
parameters.put("cantidadLetras", cantidadLetras);
//Tramite-categoria-uso
if(this.nombreTramite!=null && this.nombreCategoria!=null && this.nombreUsoActividad!=null){
parameters.put("tramiteCategoriaUso", this.nombreTramite.getDescription()+"-"+this.nombreCategoria.getDescription()+"-"+this.nombreUsoActividad.getDescription());
}else {
parameters.put("tramiteCategoriaUso", " ");
}
//No comprobante del deposito
String noComprobanteDeposito=this.record.getNumerocomprobante().replace("-", "").toLowerCase();
Boolean caracterEliminado=false;
for (int i = 0; i < noComprobanteDeposito.length(); i++) {
if(caracterEliminado){
i=0;
caracterEliminado=false;
}
if(noComprobanteDeposito.toCharArray()[i]!='0' && noComprobanteDeposito.toCharArray()[i]!='1' && noComprobanteDeposito.toCharArray()[i]!='2'
&& noComprobanteDeposito.toCharArray()[i]!='3' && noComprobanteDeposito.toCharArray()[i]!='4' && noComprobanteDeposito.toCharArray()[i]!='5'
&& noComprobanteDeposito.toCharArray()[i]!='6' && noComprobanteDeposito.toCharArray()[i]!='7' && noComprobanteDeposito.toCharArray()[i]!='8'
&& noComprobanteDeposito.toCharArray()[i]!='9'){
String caracterExtranno="";
caracterExtranno+=noComprobanteDeposito.toCharArray()[i];
noComprobanteDeposito=noComprobanteDeposito.replace(caracterExtranno, "");
caracterEliminado=true;
}
}
parameters.put("noComprobanteDeposito", noComprobanteDeposito);
//Banco-cuenta
String banco="-";
TgeneParameters parametroBanco=ParametersController.find("BANCODEPOSITO", "1");
if(parametroBanco!=null){
banco=parametroBanco.getTextvalue();
}
String cuenta="-";
TgeneParameters parametroCuenta=ParametersController.find("CUENTADEPOSITO", "1");
if(parametroCuenta!=null){
cuenta=parametroCuenta.getTextvalue();
}
//Banco-Cuenta
parameters.put("banco", "Banco "+banco+" "+"No. "+cuenta);
//Valor deposito
parameters.put("valorDeposito", this.record.getValorapagar().toString());
//Fecha deposito
parameters.put("fechaDeposito", sdf.format(this.record.getFechacomprobante()));
String format = "pdf";
try {
this.reportController.execute(path, parameters, format, filename, this.getLoginController());
} catch (Exception ex) {
MessageHelper.setMessageError(ex);
}
}
public AlfrescoController getAlfrescoController() {
return alfrescoController;
}
public void setAlfrescoController(AlfrescoController alfrescoController) {
this.alfrescoController = alfrescoController;
}
public String getCsolicitud() {
return csolicitud;
}
public void setCsolicitud(String csolicitud) {
this.csolicitud = csolicitud;
}
public TgeneCatalogDetail getNombreTramite() {
return nombreTramite;
}
public void setNombreTramite(TgeneCatalogDetail nombreTramite) {
this.nombreTramite = nombreTramite;
}
public TgeneCatalogDetail getNombreCategoria() {
return nombreCategoria;
}
public void setNombreCategoria(TgeneCatalogDetail nombreCategoria) {
this.nombreCategoria = nombreCategoria;
}
public TgeneCatalogDetail getNombreUsoActividad() {
return nombreUsoActividad;
}
public void setNombreUsoActividad(TgeneCatalogDetail nombreUsoActividad) {
this.nombreUsoActividad = nombreUsoActividad;
}
public TarmSolicitud getSolicitud() {
return solicitud;
}
public void setSolicitud(TarmSolicitud solicitud) {
this.solicitud = solicitud;
}
public Boolean getIsDenied() {
return isDenied;
}
public void setIsDenied(Boolean isDenied) {
this.isDenied = isDenied;
}
public Boolean getIsOnlyMsj() {
return isOnlyMsj;
}
public void setIsOnlyMsj(Boolean isOnlyMsj) {
this.isOnlyMsj = isOnlyMsj;
}
public List<TgeneCatalogDetail> getAccionList() {
return accionList;
}
public void setAccionList(List<TgeneCatalogDetail> accionList) {
this.accionList = accionList;
}
public String getAccionTomada() {
return accionTomada;
}
public void setAccionTomada(String accionTomada) {
this.accionTomada = accionTomada;
}
public RecepcionArmasController getRecepcionArmasController() {
return recepcionArmasController;
}
public void setRecepcionArmasController(
RecepcionArmasController recepcionArmasController) {
this.recepcionArmasController = recepcionArmasController;
}
public CentroControlArmasController getCentroControlArmasController() {
return centroControlArmasController;
}
public void setCentroControlArmasController(
CentroControlArmasController centroControlArmasController) {
this.centroControlArmasController = centroControlArmasController;
}
public Boolean getIsEnableCompletarTarea() {
return isEnableCompletarTarea;
}
public void setIsEnableCompletarTarea(Boolean isEnableCompletarTarea) {
this.isEnableCompletarTarea = isEnableCompletarTarea;
}
/**
* Metodo utilizado para determinar la accion a tomar, de forma automatica la accion es reprobar en caso de encontrarse un valor de deposito incorrecto
*/
public void aceptar(){
if(record.getValorapagar().compareTo(record.getValorverificado())!=0){
accionTomada = REPROBAR;
isDenied = true;
}else{
accionTomada = "";
isDenied = false;
}
}
public ReportController getReportController() {
return reportController;
}
public void setReportController(ReportController reportController) {
this.reportController = reportController;
}
public TarmTramite getTramite() {
return tramite;
}
public void setTramite(TarmTramite tramite) {
this.tramite = tramite;
}
public Date getFechaAtencionTramite() {
return fechaAtencionTramite;
}
public void setFechaAtencionTramite(Date fechaAtencionTramite) {
this.fechaAtencionTramite = fechaAtencionTramite;
}
public TarmCentroControl getCentroControlObj() {
return centroControlObj;
}
public void setCentroControlObj(TarmCentroControl centroControlObj) {
this.centroControlObj = centroControlObj;
}
public String getAPROBAR() {
return APROBAR;
}
public String getREPROBAR() {
return REPROBAR;
}
public String getAPROBAR_DEPOSITO() {
return APROBAR_DEPOSITO;
}
public String getANULAR_DEPOSITO() {
return ANULAR_DEPOSITO;
}
public Boolean getBtnImprimir() {
return btnImprimir;
}
public void setBtnImprimir(Boolean btnImprimir) {
this.btnImprimir = btnImprimir;
}
public SolicitudArmasController getSolicitudMP() {
return solicitudMP;
}
public void setSolicitudMP(SolicitudArmasController solicitudMP) {
this.solicitudMP = solicitudMP;
}
public AgenciaArmaController getAgenciaArma() {
return agenciaArma;
}
public void setAgenciaArma(AgenciaArmaController agenciaArma) {
this.agenciaArma = agenciaArma;
}
public CargaController getCargaController() {
return cargaController;
}
public void setCargaController(CargaController cargaController) {
this.cargaController = cargaController;
}
public Boolean getRequiereNoSolAucpBln() {
return requiereNoSolAucpBln;
}
public void setRequiereNoSolAucpBln(Boolean requiereNoSolAucpBln) {
this.requiereNoSolAucpBln = requiereNoSolAucpBln;
}
public String getNombreCentroControl() {
return nombreCentroControl;
}
public void setNombreCentroControl(String nombreCentroControl) {
this.nombreCentroControl = nombreCentroControl;
}
}