89 lines
3.9 KiB
PHP
89 lines
3.9 KiB
PHP
<?php
|
|
session_start();
|
|
require_once 'db/config.php';
|
|
|
|
// Verificar si el usuario es Administrador
|
|
if (!isset($_SESSION['user_id']) || ($_SESSION['user_role'] !== 'admin' && $_SESSION['user_role'] !== 'Administrador')) {
|
|
header("Location: login.php");
|
|
exit;
|
|
}
|
|
|
|
$db = db();
|
|
$message = '';
|
|
|
|
// Crear tabla de configuración si no existe
|
|
$db->exec("CREATE TABLE IF NOT EXISTS configuracion_costos (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
clave VARCHAR(50) UNIQUE,
|
|
valor DECIMAL(10,2)
|
|
)");
|
|
|
|
// Valores por defecto
|
|
$defaults = [
|
|
'envio_contraentrega' => 10.00,
|
|
'envio_agencia' => 12.00,
|
|
'comision_venta' => 5.00,
|
|
'publicidad_diaria' => 50.00
|
|
];
|
|
|
|
foreach ($defaults as $clave => $valor) {
|
|
$stmt = $db->prepare("INSERT IGNORE INTO configuracion_costos (clave, valor) VALUES (?, ?)");
|
|
$stmt->execute([$clave, $valor]);
|
|
}
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
foreach ($_POST['costos'] as $clave => $valor) {
|
|
$stmt = $db->prepare("UPDATE configuracion_costos SET valor = ? WHERE clave = ?");
|
|
$stmt->execute([$valor, $clave]);
|
|
}
|
|
$message = '<div class="alert alert-success">Configuración actualizada correctamente.</div>';
|
|
}
|
|
|
|
$stmt = $db->query("SELECT clave, valor FROM configuracion_costos");
|
|
$config = $stmt->fetchAll(PDO::FETCH_KEY_PAIR);
|
|
|
|
$pageTitle = 'Configuración de Rentabilidad';
|
|
include 'layout_header.php';
|
|
?>
|
|
|
|
<div class="container-fluid mt-4">
|
|
<div class="row">
|
|
<div class="col-md-8 offset-md-2">
|
|
<div class="card shadow">
|
|
<div class="card-header bg-primary text-white">
|
|
<h4 class="mb-0"><i class="fas fa-calculator me-2"></i>Configuración de Costos y Rentabilidad</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<?php echo $message; ?>
|
|
<form method="POST">
|
|
<div class="row">
|
|
<div class="col-md-6 mb-3">
|
|
<label class="form-label">Costo Envío Contraentrega Estándar (S/)</label>
|
|
<input type="number" step="0.01" name="costos[envio_contraentrega]" class="form-control" value="<?php echo $config['envio_contraentrega']; ?>">
|
|
</div>
|
|
<div class="col-md-6 mb-3">
|
|
<label class="form-label">Costo Envío Agencia Estándar (S/)</label>
|
|
<input type="number" step="0.01" name="costos[envio_agencia]" class="form-control" value="<?php echo $config['envio_agencia']; ?>">
|
|
</div>
|
|
<div class="col-md-6 mb-3">
|
|
<label class="form-label">Comisión por Venta Estándar (S/)</label>
|
|
<input type="number" step="0.01" name="costos[comision_venta]" class="form-control" value="<?php echo $config['comision_venta']; ?>">
|
|
</div>
|
|
<div class="col-md-6 mb-3">
|
|
<label class="form-label">Presupuesto Publicidad Diario Estimado (S/)</label>
|
|
<input type="number" step="0.01" name="costos[publicidad_diaria]" class="form-control" value="<?php echo $config['publicidad_diaria']; ?>">
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
<div class="alert alert-info">
|
|
<i class="fas fa-info-circle me-2"></i> Estos valores se utilizarán para calcular la rentabilidad automática en los reportes, sin necesidad de llenar datos en cada pedido.
|
|
</div>
|
|
<button type="submit" class="btn btn-primary w-100">Guardar Configuración</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<?php include 'layout_footer.php'; ?>
|