mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Añadida a vista de presupuesto admin iskn. Asignacion automatica al confirmar presupuesto
This commit is contained in:
@ -67,6 +67,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
"titulo",
|
||||
"autor",
|
||||
"coleccion",
|
||||
"iskn",
|
||||
"numero_edicion",
|
||||
"isbn",
|
||||
"referencia_cliente",
|
||||
@ -139,7 +140,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
'lomo_redondo',
|
||||
'cabezada',
|
||||
'envio_base',
|
||||
'direcciones_fp_checks',
|
||||
'direcciones_fp_checks',
|
||||
];
|
||||
protected $returnType = "App\Entities\Presupuestos\PresupuestoEntity";
|
||||
|
||||
@ -401,15 +402,27 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
}
|
||||
}
|
||||
|
||||
function confirmarPresupuesto($presupuesto_id)
|
||||
/**
|
||||
* Confirma un presupuesto (cambia su estado a 'confirmado') y,
|
||||
* si no tiene asignado un ISKN, lo genera y lo asigna automáticamente.
|
||||
*
|
||||
* @param int $presupuesto_id ID del presupuesto a confirmar.
|
||||
* @return void
|
||||
*/
|
||||
public function confirmarPresupuesto($presupuesto_id)
|
||||
{
|
||||
// Cambiar el estado del presupuesto a '2' (confirmado)
|
||||
$this->db
|
||||
->table($this->table . " t1")
|
||||
->where('t1.id', $presupuesto_id)
|
||||
->set('t1.estado_id', 2)
|
||||
->update();
|
||||
|
||||
// Si existe y aún no tiene ISKN asignado, lo generamos y asignamos
|
||||
$this->asignarIskn($presupuesto_id);
|
||||
}
|
||||
|
||||
|
||||
function insertarPresupuestoCliente($id, $tirada, $data, $data_cabecera, $extra_info, $resumen_totales, $iva_reducido, $excluir_rotativa, $tiradas_alternativas)
|
||||
{
|
||||
|
||||
@ -501,8 +514,8 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
|
||||
'total_antes_descuento' => round(
|
||||
$totalCostes + $totalMargenes +
|
||||
$resumen_totales['coste_envio'] + $resumen_totales['margen_envio'] +
|
||||
$data['envio_base'],
|
||||
$resumen_totales['coste_envio'] + $resumen_totales['margen_envio'] +
|
||||
$data['envio_base'],
|
||||
2
|
||||
),
|
||||
'total_descuento' => 0,
|
||||
@ -511,25 +524,25 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
'total_precio_unidad' => $resumen_totales['precio_unidad'],
|
||||
'total_presupuesto' => round(
|
||||
$totalCostes + $totalMargenes +
|
||||
$resumen_totales['coste_envio'] + $resumen_totales['margen_envio'] +
|
||||
$data['envio_base'],
|
||||
$resumen_totales['coste_envio'] + $resumen_totales['margen_envio'] +
|
||||
$data['envio_base'],
|
||||
2
|
||||
),
|
||||
'total_aceptado' => round(
|
||||
$totalCostes + $totalMargenes +
|
||||
$resumen_totales['coste_envio'] + $resumen_totales['margen_envio'] +
|
||||
$data['envio_base'],
|
||||
$resumen_totales['coste_envio'] + $resumen_totales['margen_envio'] +
|
||||
$data['envio_base'],
|
||||
2
|
||||
),
|
||||
|
||||
'total_factor' => round(
|
||||
($totalCostes + $totalMargenes) /
|
||||
$resumen_totales['sumForFactor'],
|
||||
$resumen_totales['sumForFactor'],
|
||||
2
|
||||
),
|
||||
'total_factor_ponderado' => round(
|
||||
($totalCostes + $totalMargenes) /
|
||||
$resumen_totales['sumForFactorPonderado'],
|
||||
$resumen_totales['sumForFactorPonderado'],
|
||||
2
|
||||
),
|
||||
|
||||
@ -635,7 +648,6 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
'gramaje' => intval($data['faja']['gramaje']),
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
$json = json_encode($values);
|
||||
return $json;
|
||||
@ -915,5 +927,19 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
]);
|
||||
}
|
||||
|
||||
public function asignarIskn(int $presupuesto_id): bool
|
||||
{
|
||||
$presupuesto = $this->find($presupuesto_id);
|
||||
|
||||
// Si no existe o ya tiene ISKN, no lo modificamos
|
||||
if (!$presupuesto || !empty($presupuesto->iskn)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $this->update($presupuesto_id, [
|
||||
'iskn' => model('App\Models\Catalogo\IdentificadorIsknModel')->newIskn(),
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
'user_update_id' => auth()->id(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user