package com.fp.frontend.controller.armas.solicitud;

import java.util.ArrayList;
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 org.primefaces.event.SelectEvent;

import com.fp.dto.AbstractDataTransport;
import com.fp.frontend.controller.AbstractController;
import com.fp.frontend.controller.alfresco.AlfrescoController;
import com.fp.frontend.controller.armas.eval.EvaluacionController;
import com.fp.frontend.controller.armas.parametros.CashManagementHistoryController;
import com.fp.frontend.controller.armas.parametros.CentroControlArmasController;
import com.fp.frontend.controller.armas.parametros.TarmCentroControlJurController;
import com.fp.frontend.controller.armas.parametros.TarmVentaArmaTemporalController;
import com.fp.frontend.controller.pcustomer.PersonAddressController;
import com.fp.frontend.controller.pcustomer.PersonDetailController;
import com.fp.frontend.enums.EnumLovOption;
import com.fp.frontend.helper.MessageHelper;
import com.fp.frontend.utility.MsgControlArmas;
import com.fp.persistence.parmas.eval.TarmEvaluacion;
import com.fp.persistence.parmas.fun.TarmCashManagementHistory;
import com.fp.persistence.parmas.fun.TarmVentaArmaTem;
import com.fp.persistence.parmas.ins.TarmPlanificacionInspeccion;
import com.fp.persistence.parmas.param.TarmCentroControl;
import com.fp.persistence.parmas.param.TarmCentroControlJur;
import com.fp.persistence.parmas.soli.TarmArmaPruebas;
import com.fp.persistence.parmas.soli.TarmArmas;
import com.fp.persistence.parmas.soli.TarmCertificadoFiscalia;
import com.fp.persistence.parmas.soli.TarmDecomiso;
import com.fp.persistence.parmas.soli.TarmDecomisoArmaTransaccion;
import com.fp.persistence.parmas.soli.TarmDocumentoAlfresco;
import com.fp.persistence.parmas.soli.TarmDocumentoHabilitante;
import com.fp.persistence.parmas.soli.TarmInspeccion;
import com.fp.persistence.parmas.soli.TarmInspeccionArchivo;
import com.fp.persistence.parmas.soli.TarmSolicitud;
import com.fp.persistence.parmas.soli.TarmSolicitudGuardias;
import com.fp.persistence.parmas.soli.TarmSolicitudRequisitos;
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.safe.TsafeUserDetail;

/**
 * Clase controladora para consultar documentos en alfresco.
 *
 * @author Carlos Guzman.
 * @version 2.1
 */
@SuppressWarnings("serial")
@ManagedBean
@ViewScoped
public class ConsultaAlfrescoController extends AbstractController<AbstractDataTransport> {

    @ManagedProperty(value = "#{alfrescoController}")
    private AlfrescoController alfrescoController;

    @ManagedProperty(value = "#{ingresoFichaTecnicaArmasController}")
    private IngresoFichaTecnicaArmasController ingresoFichaTecnicaArmasController;

    //Manu
    @ManagedProperty(value = "#{solicitudController}")
    private SolicitudController solicitudController;

    @ManagedProperty(value = "#{solicitudGuardiasController}")
    private SolicitudGuardiasController solicitudGuardiasController;

    /*reporte alfresco*/
    private TarmDocumentoHabilitante documentoHabilitante = new TarmDocumentoHabilitante();
    private List<TarmArmaPruebas> armaPrueba = new ArrayList<>();
    private List<TarmSolicitudRequisitos> solicitudRequisitos = new ArrayList<>();
    private List<TarmInspeccionArchivo> inspeccionArchivo = new ArrayList<>();
    private TarmSolicitudTramite solicitudTramite = new TarmSolicitudTramite();

    //Manu
    private TarmSolicitud solicitud = new TarmSolicitud();
    private TarmEvaluacion tarmevaluacion = new TarmEvaluacion();
    private List<TarmEvaluacion> listaEvaluacionGuardias = new ArrayList<>();
    private List<TarmCashManagementHistory> listaCash = new ArrayList<>();
    private List<TarmPlanificacionInspeccion> listaPlanificacion;
    //New
    private List<TarmInspeccionArchivo> listaInspeccionesNoPlanificacion;
    private List<TarmDecomisoArmaTransaccion> listTtarmdecomisoarmaEntrega;
    private List<TarmDecomisoArmaTransaccion> listTtarmdecomisoarmaRecepcion;
    private List<TarmDecomiso> listTarmdecomiso;
    private TarmCertificadoFiscalia certificadoFiscalia;

    private String consulta;

    private String tipoDocumento;
    private boolean verPanelDocumentos;

    private String year;
    private String mes;
    private Date fechaDesde;
    private Date fechaHasta;
    private String centro;
    private TarmCentroControl centroControl = new TarmCentroControl();

    private String documentos;

    private String tipoPersona;

    /**
     * Lista de documentos habilitantes suspendidos
     */
    private List<TarmDocumentoHabilitante> listaDocumentoHabSus;

    private List<TarmArmas> listaArmasCompradas;
    private TcustPersonDetail tcustPersonDetail;
    private List<TarmVentaArmaTem> listaTarmVentaArmaTem;

    /**
     * Constructor
     *
     * @throws Exception
     */
    public ConsultaAlfrescoController() throws Exception {
        super(AbstractDataTransport.class);
    }

    @PostConstruct
    private void postconstruct() throws Exception {
        solicitudController = new SolicitudController();
        listaDocumentoHabSus = new ArrayList<>();
        listaArmasCompradas = new ArrayList<>();
        listaTarmVentaArmaTem = new ArrayList<>();
        String perfil = this.getLoginController().getRequest().getProfile();
        List<TarmDocumentoAlfresco> lista = MantenimientoDocumentosAlfrescoController.findByProfile(perfil);
        if (lista != null && !lista.isEmpty()) {
            for (TarmDocumentoAlfresco docAlfresco : lista) {
                if ("".equals(documentos)) {
                    documentos += docAlfresco.getDocumento();
                } else {
                    documentos += ", " + docAlfresco.getDocumento();
                }
            }
        }
        this.init();
    }

    @Override
    protected void querydatabase() {
        try {
            if ("solicitud".equals(tipoDocumento)) {
                if (consulta == null || consulta.isEmpty()) {
                    return;
                }
                setSolicitud(SolicitudController.findSolicitudxnumerosolicitud(consulta.trim()));
                if (solicitud == null) {
                    MsgControlArmas.getProperty("msg_error_solicitud_noencontrada");
                    return;
                }
                String consultaCodigo = solicitud.getPk();

                solicitudTramite = TarmSolicitudTramiteController.findPorCSolicitud(solicitud.getPk());
                if (solicitudTramite != null && ("FIN".equals(solicitudTramite.getEstadotramite()) || "APB".equals(solicitudTramite.getEstadotramite()))) {
                    documentoHabilitante = DocumentoHabilitanteController.findPorSolicitud(consultaCodigo);
                } else {
                    documentoHabilitante = null;
                }

                armaPrueba = ingresoFichaTecnicaArmasController.findPorSolicitud(consultaCodigo);
                solicitudRequisitos = SolicitudRequisitosController.find(consultaCodigo);
                inspeccionArchivo = InspeccionArchivoController.findPorSolicitud(consultaCodigo);
//				solicitudTramite = TarmSolicitudTramiteController.findPorCSolicitud(consultaCodigo);
                TcustPersonDetail tcustPersonDetailObj = PersonDetailController.find(solicitud.getPersoncode().toString());
                if (tcustPersonDetailObj.getPersontypecatalog().equals("2")) {
                    tipoPersona = "JURIDICA";
                    this.listaEvaluacionGuardias.clear();
                    List<TarmSolicitudGuardias> lsolicitudGuardias = solicitudGuardiasController.findPorSolicitud(solicitud.getPk());
                    if (lsolicitudGuardias != null && !lsolicitudGuardias.isEmpty()) {
                        for (TarmSolicitudGuardias solicitudGuardias : lsolicitudGuardias) {
                            TarmEvaluacion tarmEvaluacionGuardia = EvaluacionController.findEvaluacionesVigentes(solicitudGuardias.getPk().getCguardia().toString(), "PSICOLOGICA");
                            if (tarmEvaluacionGuardia == null) {
                                tarmEvaluacionGuardia = new TarmEvaluacion();
                            }
                            TcustPersonDetail tcustPersonDetailGuardia = PersonDetailController.find(solicitudGuardias.getPk().getCguardia().toString());
                            tarmEvaluacionGuardia.getModifiedData().put("nombreGuardia", tcustPersonDetailGuardia.getName());
                            this.listaEvaluacionGuardias.add(tarmEvaluacionGuardia);
                        }
                    }
                } else {
                    tipoPersona = "NATURAL";
                    tarmevaluacion = EvaluacionController.findEvaluacionesVigentes(solicitud.getPersoncode().toString(), "PSICOLOGICA");
                }
            } else if ("cashManagement".equals(tipoDocumento)) {
                listaCash = CashManagementHistoryController.findReportesByDate(fechaDesde, fechaHasta);
            } else if ("planificacionAnual".equals(tipoDocumento)) {
                listaPlanificacion = AprobacionPlanInspeccionController.findPorAnno(centroControl.getPk(), getYear());

                List<TarmInspeccion> listaInspecciones = InspeccionController.findPorAnno(centroControl.getPk(), getYear());
                if (listaInspecciones != null && !listaInspecciones.isEmpty()) {
                    listaInspeccionesNoPlanificacion = InspeccionArchivoController.findPorInspeccion(listaInspecciones.get(0).getPk().toString());
                }

            } else if ("decomisos".equals(tipoDocumento)) {
                //numero de consulta
                if (consulta == null || consulta.isEmpty()) {
                    return;
                }
                TarmDecomiso tarmDecomiso = DecomisoController.find(consulta);
                if (tarmDecomiso != null) {
                    listTarmdecomiso = new ArrayList<>();
                    listTarmdecomiso.add(tarmDecomiso);
                    listTtarmdecomisoarmaEntrega = DecomisoArmaTransaccionController.findPorEnvioNroDecomiso("ENTREGA", tarmDecomiso.getPk());
                    listTtarmdecomisoarmaRecepcion = DecomisoArmaTransaccionController.findPorEnvioNroDecomiso("RECEPCION", tarmDecomiso.getPk());
                }
            } else if ("fiscalia".equals(tipoDocumento)) {
                certificadoFiscalia = SolicitudCertificadoController.findPorSolicitud(consulta.trim());

            } else if ("suspenciondh".equals(tipoDocumento)) {
                if (tcustPersonDetail == null || tcustPersonDetail.getPk() == null) {
                    MessageHelper.setMessageError("SELECCIONE UNA IDENTIFICACI\u00d3N");
                    return;
                }
                listaDocumentoHabSus = DocumentoHabilitanteController.findByPersonCode(tcustPersonDetail.getPk().getPersoncode());
            } else if ("ventaarmas".equals(tipoDocumento)) {
                solicitud = null;
                if (consulta == null || consulta.trim().isEmpty()) {
                    MessageHelper.setMessageError("INGRESE EL LOTE");
                    return;
                }
                listaArmasCompradas = ArmasController.findxLoteRegistro(consulta);
            } else if ("roboperdida".equals(tipoDocumento)) {
                solicitud = null;
                if (consulta == null || consulta.trim().isEmpty()) {
                    MessageHelper.setMessageError("INGRESE EL LOTE");
                    return;
                }
                listaArmasCompradas = ArmasController.findxLotePerdidaRobo(consulta);
            } else if ("ventaarmas2".equals(tipoDocumento)) {
                solicitud = null;
                if (consulta == null || consulta.trim().isEmpty()) {
                    MessageHelper.setMessageError("INGRESE EL LOTE");
                    return;
                }
                listaTarmVentaArmaTem = TarmVentaArmaTemporalController.findLote(consulta);
            }
        } catch (Exception e) {
            MessageHelper.setMessageError(e);
        }
    }

    /**
     * Metodo para extrer solo el nombre del archivo
     *
     * @param xpath xpath del archivo en alfresco
     * @return solo la parte correspondiente al nombre del archivo
     */
    public String soloNombreArchivo(String xpath) {
        return xpath.substring(xpath.lastIndexOf(":") + 1, xpath.length());
    }

    /**
     * Incializa el controlador, cuando se esta utilizando una pagina que utliza
     * el controlador.
     */
    private void init() {
        try {
            this.lrecord = new ArrayList<>();
            this.beanalias = "CONSULTAALFRESCO";
            verPanelDocumentos = false;
        } catch (Exception e) {
            MessageHelper.setMessageError(e);
        }
    }

    /**
     * Metodo que analiza si el archivo tiene la extension permitida
     *
     * @param nombreArchivo
     * @return
     */
    public Boolean esExtensionDeArchivoPermitida(String nombreArchivo) {
        String[] archivosPermitidosLst = {".pdf"};
        for (String extensionValida : archivosPermitidosLst) {
            if (nombreArchivo.contains(extensionValida)) {
                return Boolean.TRUE;
            }
        }
        return Boolean.FALSE;
    }

    public void guardarRegistro() {
    }

    public boolean activarPanel(String selectedDocument) {
        for (String doc : documentos.split(", ")) {
            if (doc.equals(selectedDocument)) {
                return true;
            }
        }
        return false;
    }

    /**
     * Permite actualizar el centro de armas en caso de set tipo
     * planificacionAnual
     *
     * @throws Exception
     *
     */
    public void actualizarMenu() throws Exception {
        tcustPersonDetail = null;
        verPanelDocumentos = false;
        consulta = "";
        fechaDesde = null;
        fechaHasta = null;
        year = "";
        if ("planificacionAnual".equals(tipoDocumento)) {
            TsafeUserDetail tsafeUserDetail = (TsafeUserDetail) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("TSAFEUSERDETAIL");
            PersonAddressController personAddressController = new PersonAddressController();
            TcustPersonAddress tcustPersonAddres = personAddressController.findPrincipal(tsafeUserDetail.getPk().getPersoncode().toString());
            TarmCentroControlJur centroControlJur = TarmCentroControlJurController.findxProvincia(tcustPersonAddres.getProvincecode());
            setCentroControl(CentroControlArmasController.findPorCodigo(centroControlJur.getCcentrocontrol()));
        }
    }

    /* (non-Javadoc)
	 * @see com.fp.frontend.controller.AbstractController#save()
     */
    @Override
    public void save() {
    }

    @Override
    public void query() throws Exception {
        verPanelDocumentos = true;
        super.query();
    }

    public static void openLov() {
        Map<String, Object> options = new HashMap<String, Object>();
        // hint: ver EnumLovOption para las opciones del modal
        options.put(EnumLovOption.MODAL.getLabel(), true);
        options.put(EnumLovOption.HEIGHT.getLabel(), 450);
        options.put(EnumLovOption.WIDTH.getLabel(), 700);
        options.put(EnumLovOption.RESIZABLE.getLabel(), true);
        // lovpersona es el nombre de la pagina
        RequestContext.getCurrentInstance().openDialog("/pages/customer/lov/personLov.xhtml", options, null);
    }

    /**
     * Maneja la respuesta del Lov de Personas
     *
     * @param event
     * @throws Exception
     */
    public void onReturnPersonLov(SelectEvent event) throws Exception {
        tcustPersonDetail = (TcustPersonDetail) event.getObject();
        this.getMfilters().put("personcode", tcustPersonDetail.getPk().getPersoncode().toString());
        this.query();
    }

    public AlfrescoController getAlfrescoController() {
        return alfrescoController;
    }

    public void setAlfrescoController(AlfrescoController alfrescoController) {
        this.alfrescoController = alfrescoController;
    }

    /**
     * @return the solicitudController
     */
    public SolicitudController getSolicitudController() {
        return solicitudController;
    }

    /**
     * @param solicitudController the solicitudController to set
     */
    public void setSolicitudController(SolicitudController solicitudController) {
        this.solicitudController = solicitudController;
    }

    public IngresoFichaTecnicaArmasController getIngresoFichaTecnicaArmasController() {
        return ingresoFichaTecnicaArmasController;
    }

    public void setIngresoFichaTecnicaArmasController(
            IngresoFichaTecnicaArmasController ingresoFichaTecnicaArmasController) {
        this.ingresoFichaTecnicaArmasController = ingresoFichaTecnicaArmasController;
    }

    public TarmDocumentoHabilitante getDocumentoHabilitante() {
        return documentoHabilitante;
    }

    public void setDocumentoHabilitante(
            TarmDocumentoHabilitante documentoHabilitante) {
        this.documentoHabilitante = documentoHabilitante;
    }

    /**
     * @return the solicitud
     */
    public TarmSolicitud getSolicitud() {
        return solicitud;
    }

    /**
     * @param solicitud the solicitud to set
     */
    public void setSolicitud(TarmSolicitud solicitud) {
        this.solicitud = solicitud;
    }

    public List<TarmArmaPruebas> getArmaPrueba() {
        return armaPrueba;
    }

    public void setArmaPrueba(List<TarmArmaPruebas> armaPrueba) {
        this.armaPrueba = armaPrueba;
    }

    public List<TarmSolicitudRequisitos> getSolicitudRequisitos() {
        return solicitudRequisitos;
    }

    public void setSolicitudRequisitos(
            List<TarmSolicitudRequisitos> solicitudRequisitos) {
        this.solicitudRequisitos = solicitudRequisitos;
    }

    public List<TarmInspeccionArchivo> getInspeccionArchivo() {
        return inspeccionArchivo;
    }

    public void setInspeccionArchivo(List<TarmInspeccionArchivo> inspeccionArchivo) {
        this.inspeccionArchivo = inspeccionArchivo;
    }

    public TarmSolicitudTramite getSolicitudTramite() {
        return solicitudTramite;
    }

    public void setSolicitudTramite(TarmSolicitudTramite solicitudTramite) {
        this.solicitudTramite = solicitudTramite;
    }

    /**
     * @return the tarmevaluacion
     */
    public TarmEvaluacion getTarmevaluacion() {
        return tarmevaluacion;
    }

    /**
     * @param tarmevaluacion the tarmevaluacion to set
     */
    public void setTarmevaluacion(TarmEvaluacion tarmevaluacion) {
        this.tarmevaluacion = tarmevaluacion;
    }

    /**
     * @return the listaCash
     */
    public List<TarmCashManagementHistory> getListaCash() {
        return listaCash;
    }

    /**
     * @param listaCash the listaCash to set
     */
    public void setListaCash(List<TarmCashManagementHistory> listaCash) {
        this.listaCash = listaCash;
    }

    /**
     * @return the centroControl
     */
    public TarmCentroControl getCentroControl() {
        return centroControl;
    }

    /**
     * @param centroControl the centroControl to set
     */
    public void setCentroControl(TarmCentroControl centroControl) {
        this.centroControl = centroControl;
    }

    /**
     * @return the listaPlanificacion
     */
    public List<TarmPlanificacionInspeccion> getListaPlanificacion() {
        return listaPlanificacion;
    }

    /**
     * @param listaPlanificacion the listaPlanificacion to set
     */
    public void setListaPlanificacion(
            List<TarmPlanificacionInspeccion> listaPlanificacion) {
        this.listaPlanificacion = listaPlanificacion;
    }

    /**
     * @return the listTtarmdecomisoarmaEntrega
     */
    public List<TarmDecomisoArmaTransaccion> getListTtarmdecomisoarmaEntrega() {
        return listTtarmdecomisoarmaEntrega;
    }

    /**
     * @param listTtarmdecomisoarmaEntrega the listTtarmdecomisoarmaEntrega to
     * set
     */
    public void setListTtarmdecomisoarmaEntrega(
            List<TarmDecomisoArmaTransaccion> listTtarmdecomisoarmaEntrega) {
        this.listTtarmdecomisoarmaEntrega = listTtarmdecomisoarmaEntrega;
    }

    /**
     * @return the listTtarmdecomisoarmaRecepcion
     */
    public List<TarmDecomisoArmaTransaccion> getListTtarmdecomisoarmaRecepcion() {
        return listTtarmdecomisoarmaRecepcion;
    }

    /**
     * @param listTtarmdecomisoarmaRecepcion the listTtarmdecomisoarmaRecepcion
     * to set
     */
    public void setListTtarmdecomisoarmaRecepcion(
            List<TarmDecomisoArmaTransaccion> listTtarmdecomisoarmaRecepcion) {
        this.listTtarmdecomisoarmaRecepcion = listTtarmdecomisoarmaRecepcion;
    }

    public String getConsulta() {
        return consulta;
    }

    public void setConsulta(String consulta) {
        this.consulta = consulta;
    }

    public String getTipoDocumento() {
        return tipoDocumento;
    }

    public void setTipoDocumento(String tipoDocumento) {
        this.tipoDocumento = tipoDocumento;
    }

    public boolean isVerPanelDocumentos() {
        return verPanelDocumentos;
    }

    public void setVerPanelDocumentos(boolean verPanelDocumentos) {
        this.verPanelDocumentos = verPanelDocumentos;
    }

    public String getYear() {
        return year;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public String getMes() {
        return mes;
    }

    public void setMes(String mes) {
        this.mes = mes;
    }

    public Date getFechaDesde() {
        return fechaDesde;
    }

    public void setFechaDesde(Date fechaDesde) {
        this.fechaDesde = fechaDesde;
    }

    public Date getFechaHasta() {
        return fechaHasta;
    }

    public void setFechaHasta(Date fechaHasta) {
        this.fechaHasta = fechaHasta;
    }

    public String getCentro() {
        return centro;
    }

    public void setCentro(String centro) {
        this.centro = centro;
    }

    /**
     * @return the certificadoFiscalia
     */
    public TarmCertificadoFiscalia getCertificadoFiscalia() {
        return certificadoFiscalia;
    }

    /**
     * @param certificadoFiscalia the certificadoFiscalia to set
     */
    public void setCertificadoFiscalia(TarmCertificadoFiscalia certificadoFiscalia) {
        this.certificadoFiscalia = certificadoFiscalia;
    }

    public List<TarmInspeccionArchivo> getListaInspeccionesNoPlanificacion() {
        return listaInspeccionesNoPlanificacion;
    }

    public void setListaInspeccionesNoPlanificacion(
            List<TarmInspeccionArchivo> listaInspeccionesNoPlanificacion) {
        this.listaInspeccionesNoPlanificacion = listaInspeccionesNoPlanificacion;
    }

    public List<TarmDecomiso> getListTarmdecomiso() {
        return listTarmdecomiso;
    }

    public void setListTarmdecomiso(List<TarmDecomiso> listTarmdecomiso) {
        this.listTarmdecomiso = listTarmdecomiso;
    }

    public List<TarmEvaluacion> getListaEvaluacionGuardias() {
        return listaEvaluacionGuardias;
    }

    public void setListaEvaluacionGuardias(
            List<TarmEvaluacion> listaEvaluacionGuardias) {
        this.listaEvaluacionGuardias = listaEvaluacionGuardias;
    }

    public String getTipoPersona() {
        return tipoPersona;
    }

    public void setTipoPersona(String tipoPersona) {
        this.tipoPersona = tipoPersona;
    }

    public SolicitudGuardiasController getSolicitudGuardiasController() {
        return solicitudGuardiasController;
    }

    public void setSolicitudGuardiasController(
            SolicitudGuardiasController solicitudGuardiasController) {
        this.solicitudGuardiasController = solicitudGuardiasController;
    }

    public List<TarmDocumentoHabilitante> getListaDocumentoHabSus() {
        return listaDocumentoHabSus;
    }

    public void setListaDocumentoHabSus(
            List<TarmDocumentoHabilitante> listaDocumentoHabSus) {
        this.listaDocumentoHabSus = listaDocumentoHabSus;
    }

    public List<TarmArmas> getListaArmasCompradas() {
        return listaArmasCompradas;
    }

    public void setListaArmasCompradas(List<TarmArmas> listaArmasCompradas) {
        this.listaArmasCompradas = listaArmasCompradas;
    }

    public TcustPersonDetail getTcustPersonDetail() {
        return tcustPersonDetail;
    }

    public void setTcustPersonDetail(TcustPersonDetail tcustPersonDetail) {
        this.tcustPersonDetail = tcustPersonDetail;
    }

    public List<TarmVentaArmaTem> getListaTarmVentaArmaTem() {
        return listaTarmVentaArmaTem;
    }

    public void setListaTarmVentaArmaTem(
            List<TarmVentaArmaTem> listaTarmVentaArmaTem) {
        this.listaTarmVentaArmaTem = listaTarmVentaArmaTem;
    }

}
