<commit_before>//Variables globales
var datosKardex = [],
	datosSalidas = [],
	stockTotal = 0;

//Objetos
var contenidoKardex = document.getElementById("contenidoKardex"),
	divCostoUnitario = document.getElementById("costoUnitario"),
	mensajekardex = document.getElementById("mensajeKardex");

//Funciones
var agregarEntrada = function(fecha,cantidad,valorUnitario,proveedor,comprobante){
	var proveedor = proveedor || "-",
		comprobante = comprobante || "-";
	stockTotal += parseInt(cantidad);
	datosKardex.push({"tipo":"entrada","fecha":fecha,"cantidadIngresada":parseInt(cantidad),"restante":parseInt(cantidad),"valorUnitario":parseFloat(valorUnitario),"proveedor":proveedor,"comprobante":comprobante});
	console.log(datosKardex);
	console.log(stockTotal);
},
agregarSalida = function(fecha,cantidad,proveedor,comprobante){
	var proveedor = proveedor || "-",
		comprobante = comprobante || "-";
	stockTotal -= parseInt(cantidad);
	datosKardex.push({"tipo":"salida","fecha":fecha,"cantidadSacada":parseInt(cantidad),"proveedor":proveedor,"comprobante":comprobante});
	var cod = datosKardex.length - 1;
	datosSalidas[cod] = generarSalidasSegunMetodoSeleccionado(cod);
	console.log(datosSalidas);
},
generarSalidasSegunMetodoSeleccionado = function(cod){
	var tem = [];
	switch(configuracion.metodo){
		case 'peps':
		console.log("Entro a peps");
		var restanteParaSacar = datosKardex[cod].cantidadSacada;
			for(x in datosKardex){
				if(datosKardex[x].tipo === "entrada" && datosKardex[x].restante > 0){
					if(datosKardex[x].restante >= restanteParaSacar){
						datosKardex[x].restante = datosKardex[x].restante - restanteParaSacar;
						tem.push({"precioUnitario": datosKardex[x].valorUnitario,"cantidad":restanteParaSacar});
						break;
					}else{
						tem.push({"precioUnitario": datosKardex[x].valorUnitario,"cantidad":datosKardex[x].restante});
						restanteParaSacar -= datosKardex[x].restante;
						datosKardex[x].restante = 0;
					}
				}
				//Verificar luego
				if(x === cod){
					break;
				}
			}
		break;
		case 'ueps':

		break;
	}

	return tem;
},
vaciarFormulario = function(){
	formularioOperaciones.cantidad.value = "";
	formularioOperaciones.compra.value = "";
	formularioOperaciones.tipoEspecie.selectedIndex = 0;
	divCostoUnitario.classList.add('oculto');
	formularioOperaciones.persona.value = "";
	formularioOperaciones.comprobante.value = "";
	formularioOperaciones.fecha.focus();
},<commit_msg>Funcionalidad PEPS y UEPS a nivel de objetos<commit_after>//Variables globales
var datosKardex = [],
	datosSalidas = [],
	stockTotal = 0;

//Objetos
var contenidoKardex = document.getElementById("contenidoKardex"),
	divCostoUnitario = document.getElementById("costoUnitario"),
	mensajekardex = document.getElementById("mensajeKardex");

//Funciones
var agregarEntrada = function(fecha,cantidad,valorUnitario,proveedor,comprobante){
	var proveedor = proveedor || "-",
		comprobante = comprobante || "-";
	stockTotal += parseInt(cantidad);
	datosKardex.push({"tipo":"entrada","fecha":fecha,"cantidadIngresada":parseInt(cantidad),"restante":parseInt(cantidad),"valorUnitario":parseFloat(valorUnitario),"proveedor":proveedor,"comprobante":comprobante});
	console.log(datosKardex);
	console.log(stockTotal);
},
agregarSalida = function(fecha,cantidad,proveedor,comprobante){
	var proveedor = proveedor || "-",
		comprobante = comprobante || "-";
	stockTotal -= parseInt(cantidad);
	datosKardex.push({"tipo":"salida","fecha":fecha,"cantidadSacada":parseInt(cantidad),"proveedor":proveedor,"comprobante":comprobante});
	var cod = datosKardex.length - 1;
	datosSalidas[cod] = generarSalidasSegunMetodoSeleccionado(cod);
	console.log(datosSalidas);
},
generarSalidasSegunMetodoSeleccionado = function(cod){
	var tem = [];
	switch(configuracion.metodo){
		case 'peps':
			var restanteParaSacar = datosKardex[cod].cantidadSacada;
			for(x in datosKardex){
				if(datosKardex[x].tipo === "entrada" && datosKardex[x].restante > 0){
					if(datosKardex[x].restante >= restanteParaSacar){
						datosKardex[x].restante = datosKardex[x].restante - restanteParaSacar;
						tem.push({"precioUnitario": datosKardex[x].valorUnitario,"cantidad":restanteParaSacar});
						break;
					}else{
						tem.push({"precioUnitario": datosKardex[x].valorUnitario,"cantidad":datosKardex[x].restante});
						restanteParaSacar -= datosKardex[x].restante;
						datosKardex[x].restante = 0;
					}
				}
				//Verificar luego
				if(x === cod){
					break;
				}
			}
		break;
		case 'ueps':
			console.log("Entro a ueps");
			var restanteParaSacar = datosKardex[cod].cantidadSacada;
			for (var x = cod; x >= 0; x--) {
				console.log("plep");
				if(datosKardex[x].tipo === "entrada" && datosKardex[x].restante > 0){
					if(datosKardex[x].restante >= restanteParaSacar){
						datosKardex[x].restante = datosKardex[x].restante - restanteParaSacar;
						tem.push({"precioUnitario": datosKardex[x].valorUnitario,"cantidad":restanteParaSacar});
						break;
					}else{
						tem.push({"precioUnitario": datosKardex[x].valorUnitario,"cantidad":datosKardex[x].restante});
						restanteParaSacar -= datosKardex[x].restante;
						datosKardex[x].restante = 0;
					}
				}
			};
		break;
		case 'pp':

		break;
		default:

	}

	return tem;
},
vaciarFormulario = function(){
	formularioOperaciones.cantidad.value = "";
	formularioOperaciones.compra.value = "";
	formularioOperaciones.tipoEspecie.selectedIndex = 0;
	divCostoUnitario.classList.add('oculto');
	formularioOperaciones.persona.value = "";
	formularioOperaciones.comprobante.value = "";
	formularioOperaciones.fecha.focus();
},
{'fraction_non_alphanumeric': 0.152317880794702, 'fraction_numerical': 0.0023268301413996778, 'mean_word_length': 5.652380952380953, 'pattern_counts': {'":': 36, '<': 3, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '288147', 'n_tokens_mistral': 2364, 'n_tokens_neox': 2131, 'n_words': 245}