var oArchivoDevolucion = oArchivoDevolucion || {
itemSearch : 0
};
oArchivoDevolucion.nPendiente = 0;
oArchivoDevolucion.fnCbProductor = function() {
var nCliente = oGlobal.productor.CLIENSEC;
var cNivel = oGlobal.productor.NIVEL;
oGen.fnComboCarga({
titulo : ' ',
idComponente : 'cbProductorArchivoDevolucion',
params : {
prm_dataSource : 'ovQbe',
prm_funcion : 'ov.PACONSULTAMQ.suscripcionORyPR',
prm_USUARCOD : oGlobal.cUsuario,
prm_CLIENSECAS : nCliente,
prm_NIVELCLAS : cNivel
},
valorSeleccionado : function(reg) {
reg = JSON.parse(reg);
},
fnCallback : function(reg) {
if ($('#cbProductorArchivoDevolucion').val() != "")
oArchivoDevolucion.fnSuscripto();
else
oGen.fnBloqueaHide();
},
valor : function(reg) {
return JSON.stringify(reg);
},
descripcion : function(reg) {
return reg.AGENTCOD + '|' + reg.AGENTCLA + '|' + reg.NOMBRE;
}
});
};
oArchivoDevolucion.fnSuscripto = function() {
var cAgentcla = JSON.parse($('#cbProductorArchivoDevolucion').val()).AGENTCLA;
var cAgentcod = JSON.parse($('#cbProductorArchivoDevolucion').val()).AGENTCOD;
oGen.fnBloqueaShow();
oGen.fnGetStore({
titulo : "",
params : {
prm_dataSource : "ovQbe",
prm_funcion : "ov.PACONSULTAMQ.cartera1603",
prm_USUARCOD : oGlobal.cUsuario,
prm_PRODU : cAgentcod,
prm_CLASE : cAgentcla,
prm_PROCESO : 'N',
prm_MARCA : ''
},
fnCallback : function(oResp) {
// Aca hace todas las acciones si esta suscipto o no.
if (oResp.count == 0){
$("#idSinArchivosArchivoDevolucion").show();
$("#idDescargaFechaArchivoDevolucion").show();
$("#idDescargaArchivoDevolucion").hide();
$("#idSuscriptoArchivoDevolucion").hide();
$("#idSuscriptoArchivoDevolucion2").hide();
oGen.fnBloqueaHide();
}
else if (oResp.records[0].SUSCRIPTO == 'Y') {
$("#idDescargaFechaArchivoDevolucion span").text('Usted ha solicitado la generación de este archivo a partir del:' //
+ oResp.records[0].FECHASUSCRI + '.');
// $("#idSuscriptoArchivoDevolucion").show();
// $("#idDescargaArchivoDevolucion").show();
oArchivoDevolucion.fnArchivo();
} else {
$("#idPrimeraDescargaArchivoDevolucion").show();
oGen.fnBloqueaHide();
}
}
});
};
oArchivoDevolucion.fnSuscribirse = function() {
var cAgentcla = JSON.parse($('#cbProductorArchivoDevolucion').val()).AGENTCLA;
var cAgentcod = JSON.parse($('#cbProductorArchivoDevolucion').val()).AGENTCOD;
oGen.fnBloqueaShow();
oGen.fnGetStore({
titulo : "",
params : {
prm_dataSource : "ovQbe",
prm_funcion : "ov.PACONSULTAMQ.cartera1603",
prm_USUARCOD : oGlobal.cUsuario,
prm_PRODU : cAgentcod,
prm_CLASE : cAgentcla,
prm_PROCESO : 'N',
prm_MARCA : 'S'
},
fnCallback : function(oResp) {
oGen.fnBloqueaHide();
$("#idPrimeraDescargaArchivoDevolucion").hide();
$("#idPrimeraDescargaSuccess").show();
$("#idSinArchivosArchivoDevolucion").show();
}
});
};
oArchivoDevolucion.fnArchivo = function(bPopup) {
var cAgentcla = JSON.parse($('#cbProductorArchivoDevolucion').val()).AGENTCLA;
var cAgentcod = JSON.parse($('#cbProductorArchivoDevolucion').val()).AGENTCOD;
var divReportes = "";
try {
//Solo abre el pop-up con los datos cargados anteriormente.
if ( bPopup == 'S' ){
MessageAlert.messagePopup("Archivos", oArchivoDevolucion.divReportes);
} else {
oGen.fnGetStore({
titulo : "",
params : {
prm_dataSource : "ovQbe",
prm_funcion : "ov.PACONSULTAMQ.archSus",
prm_USUARCOD : oGlobal.cUsuario,
prm_PRODU : cAgentcod,
prm_CLASE : cAgentcla
},
fnCallback : function(oResp) {
var nArchivos = oResp.count;
if (nArchivos == 0) {
// $("#idSinArchivos").show();
$("#idSinArchivosArchivoDevolucion").show();
$("#idDescargaFechaArchivoDevolucion").show();
$("#idDescargaArchivoDevolucion").hide();
$("#idSuscriptoArchivoDevolucion").hide();
$("#idSuscriptoArchivoDevolucion2").hide();
oGen.fnBloqueaHide();
} else {
var getFileName = function(fecha){
return ('OV_' + cAgentcla + cAgentcod + '_' + fecha + '.TXT');
};
var getFileDate = function(fecha){
return fecha.substr(6, 2) + '/' + fecha.substr(4, 2) + '/' + fecha.substr(0, 4);
};
var getFiles = function(n){
if( (n+1) == nArchivos ){
var archivo = getFileName(oResp.records[n].FECHA);
var fecha = getFileDate(oResp.records[n].FECHA);
//Si hay algun archivo con tamaño cero o no se encuentra no muestra nada.
oArchivoDevolucion.fnTamanioZip(archivo, function(ok){
if(ok){
divReportes += oArchivoDevolucion.linkZip(archivo, fecha) + '
';
}
if(divReportes == ""){
$("#idSinArchivosArchivoDevolucion").show();
$("#idDescargaFechaArchivoDevolucion").show();
$("#idDescargaArchivoDevolucion").hide();
$("#idSuscriptoArchivoDevolucion").hide();
$("#idSuscriptoArchivoDevolucion2").hide();
}else{
$("#idSinArchivosArchivoDevolucion").hide();
$("#idDescargaFechaArchivoDevolucion").show();
$("#idDescargaArchivoDevolucion").show();
$("#idSuscriptoArchivoDevolucion2").show();
}
oArchivoDevolucion.divReportes = divReportes;
oGen.fnBloqueaHide();
});
}else{
var archivo = getFileName(oResp.records[n].FECHA);
var fecha = getFileDate(oResp.records[n].FECHA);
//Si hay algun archivo con tamaño cero o no se encuentra no muestra nada.
oArchivoDevolucion.fnTamanioZip(archivo, function(ok){
if(ok){
divReportes += oArchivoDevolucion.linkZip(archivo, fecha) + '
';
}
setTimeout(function(){ getFiles(++n); }, 5); //avoid browser crash;
});
}
};
getFiles(0);
}
}
});
}
} catch (e) {
console.log("Error al descargar archivo", e);
oGen.fnBloqueaHide();
}
};
//Verificar Tamaña Archivo
oArchivoDevolucion.fnTamanioZip = function(archivo, callback) {
callback = callback || function(){};
oGen.fnGetStore({
titulo : "",
params : {
prm_dataSource : "ovQbe",
prm_funcion : "ov.OVMQEMISION.generarZIP",
prm_FILENAME : archivo
},
fnCallback : function(oResp) {
// Llamamos al getBinaryFile para hacer download
callback((oResp !== undefined && oResp.records !== undefined && oResp.records[0].ZIP !== undefined));
}
});
};
// Verifica si existe y comprime el ZIP
oArchivoDevolucion.fnGenerarZip = function(archivo) {
oGen.fnBloqueaShow();
oGen.fnGetStore({
titulo : "",
params : {
prm_dataSource : "ovQbe",
prm_funcion : "ov.OVMQEMISION.generarZIP",
prm_FILENAME : archivo
},
fnCallback : function(oResp) {
// Llamamos al getBinaryFile para hacer download
oGen.fnBloqueaHide();
oArchivoDevolucion.fnBinaryFile(oResp.records[0].ZIP, archivo);
}
});
};
oArchivoDevolucion.linkZip = function(p_nombreArchivo, p_fecha) {
return '