Creado util para clonar tarifas de encuadernacion

This commit is contained in:
imnavajas
2024-11-27 09:10:21 +01:00
parent 71f75283e8
commit 325c0acd1d

View File

@ -32,50 +32,6 @@ class Utiles extends BaseController
}
private function clonar_tarifa_encuadernacion($teOrigen, $teDestino)
{
$tet_model = model('App\Models\Tarifas\TarifaEncuadernacionTiradaModel');
$tel_model = model('App\Models\Tarifas\TarifaEncuadernacionLineaModel');
$tarifasTiradas = $tet_model->asObject()->where('tarifa_encuadernacion_id', $teOrigen)->findAll();
foreach ($tarifasTiradas as $tarifasTirada) {
echo "--->" . $tarifasTirada->id . "<br>";
$tarifasLineas = $tel_model->asObject()->where('tirada_encuadernacion_id', $tarifasTirada->id)->findAll();
// Prepare the data
unset($tarifasTirada->id);
$tarifasTirada->tarifa_encuadernacion_id = $teDestino;
$tarifasTirada->created_at = date('Y-m-d H:i:s');
$tarifasTirada->updated_at = date('Y-m-d H:i:s');
//var_dump($tarifasTirada);
// Insert it
$tet_model->insert($tarifasTirada);
$inserted_id = $tet_model->insertID();
foreach ($tarifasLineas as $tarifasLinea) {
echo "------>" . $tarifasLinea->id . "<br>";
// Prepare the data
unset($tarifasLinea->id);
$tarifasLinea->tirada_encuadernacion_id = $inserted_id;
$tarifasLinea->created_at = date('Y-m-d H:i:s');
$tarifasLinea->updated_at = date('Y-m-d H:i:s');
//var_dump($tarifasLinea);
// Insert it
$tel_model->insert($tarifasLinea);
}
}
}
public function get_tarifas_encuadernacion()
{
@ -224,7 +180,7 @@ class Utiles extends BaseController
if (!empty($tarifas_encuadernacion_lineas_horas)) {
foreach ($tarifas_encuadernacion_lineas_horas as $tarifa_encuadernacion_linea_hora) {
$modelTELineasHoras->delete($tarifa_encuadernacion_linea_hora->id); // Eliminar la línea/hora
echo "Eliminando Línea/Hora ID: " . $tarifa_encuadernacion_linea_hora->id . "<br>";
echo "===sk >-Eliminando Línea/Hora ID: " . $tarifa_encuadernacion_linea_hora->id . "<br>";
}
}
@ -237,17 +193,17 @@ class Utiles extends BaseController
if (!empty($tarifas_encuadernacion_lineas)) {
foreach ($tarifas_encuadernacion_lineas as $tarifa_encuadernacion_linea) {
$modelTELineas->delete($tarifa_encuadernacion_linea->id); // Eliminar la línea
echo "Eliminando Línea ID: " . $tarifa_encuadernacion_linea->id . "<br>";
echo "===>-Eliminando Línea ID: " . $tarifa_encuadernacion_linea->id . "<br>";
}
}
// Eliminar la tirada
$modelTETiradas->delete($tarifa_encuadernacion_tirada->id); // Eliminar la tirada
echo "Eliminando Tirada ID: " . $tarifa_encuadernacion_tirada->id . "<br>";
echo "=>-Eliminando Tirada ID: " . $tarifa_encuadernacion_tirada->id . "<br>";
}
}
echo "Proceso de eliminación completado.";
echo " *** Proceso de eliminación completado. ***<br><br>";
}
public function clone_tarifa_encuadernacion($origenId, $destinoId)
@ -269,20 +225,24 @@ class Utiles extends BaseController
foreach ($tiradasOrigen as $tiradaOrigen) {
// Crear un nuevo registro para la tirada en la tarifa destino
$nuevaTirada = [
'tarifa_encuadernacion_id' => $destinoId,
'proveedor_id' => $tiradaOrigen->proveedor_id,
'importe_fijo' => $tiradaOrigen->importe_fijo,
'tirada_min' => $tiradaOrigen->tirada_min,
'tirada_max' => $tiradaOrigen->tirada_max,
'user_created_id' => auth()->id(),
'is_deleted' => 0,
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s')
'tarifa_encuadernacion_id' => (int) $destinoId,
'proveedor_id' => (int) $tiradaOrigen->proveedor_id,
'importe_fijo' => (float) $tiradaOrigen->importe_fijo,
'tirada_min' => (int) $tiradaOrigen->tirada_min,
'tirada_max' => (int) $tiradaOrigen->tirada_max,
'user_created_id' => (int) auth()->id(),
'is_deleted' => 0
];
$nuevaTiradaId = $modelTETiradas->insert($nuevaTirada);
try {
$nuevaTiradaId = $modelTETiradas->insert($nuevaTirada);
if (!$nuevaTiradaId) {
throw new \Exception("Error al insertar el registro.");
}
echo "<br>==>+Tirada creada con ID: " . $nuevaTiradaId;
} catch (\Exception $e) {
echo "Error: " . $e->getMessage();
}
// 3. Clonar las líneas asociadas a esta tirada
$lineasOrigen = $modelTELineas->where([
@ -292,23 +252,30 @@ class Utiles extends BaseController
foreach ($lineasOrigen as $lineaOrigen) {
$nuevaLinea = [
'tirada_encuadernacion_id' => $nuevaTiradaId,
'paginas_libro_min' => $lineaOrigen->paginas_libro_min,
'paginas_libro_max' => $lineaOrigen->paginas_libro_max,
'dimensiones_id' => $lineaOrigen->dimensiones_id,
'precio_min' => $lineaOrigen->precio_min,
'precio_max' => $lineaOrigen->precio_max,
'tirada_min' => $lineaOrigen->tirada_min,
'tirada_max' => $lineaOrigen->tirada_max,
'total_min' => $lineaOrigen->total_min,
'margen' => $lineaOrigen->margen,
'user_created_id' => auth()->id(),
'is_deleted' => 0,
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s')
'tirada_encuadernacion_id' => (int) $nuevaTiradaId,
'paginas_libro_min' => (float) $lineaOrigen->paginas_libro_min,
'paginas_libro_max' => (float) $lineaOrigen->paginas_libro_max,
'dimensiones_id' => (int) $lineaOrigen->dimensiones_id,
'precio_min' => (float) $lineaOrigen->precio_min,
'precio_max' => (float) $lineaOrigen->precio_max,
'tirada_min' => (float) $lineaOrigen->tirada_min,
'tirada_max' => (float) $lineaOrigen->tirada_max,
'total_min' => (float) $lineaOrigen->total_min,
'margen' => (float) $lineaOrigen->margen,
'user_created_id' => (int) auth()->id(),
'is_deleted' => 0
];
$modelTELineas->insert($nuevaLinea);
try {
$nuevaLineaId = $modelTELineas->insert($nuevaLinea);
if (!$nuevaLineaId) {
throw new \Exception("Error al insertar el registro.");
}
echo "<br>====>+Linea creada con ID: " . $nuevaLineaId;
} catch (\Exception $e) {
echo "Error: " . $e->getMessage();
}
}
// 4. Clonar las líneas y horas asociadas a esta tirada
@ -319,21 +286,30 @@ class Utiles extends BaseController
foreach ($lineasHorasOrigen as $lineaHoraOrigen) {
$nuevaLineaHora = [
'tirada_encuadernacion_id' => $nuevaTiradaId,
'tiempo_min' => $lineaHoraOrigen->tiempo_min,
'tiempo_max' => $lineaHoraOrigen->tiempo_max,
'precio_hora' => $lineaHoraOrigen->precio_hora,
'total_min' => $lineaHoraOrigen->total_min,
'margen' => $lineaHoraOrigen->margen,
'user_created_id' => auth()->id(),
'is_deleted' => 0,
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s')
'tirada_encuadernacion_id' => (int) $nuevaTiradaId,
'tiempo_min' => (float) $lineaHoraOrigen->tiempo_min,
'tiempo_max' => (float) $lineaHoraOrigen->tiempo_max,
'precio_hora' => (float) $lineaHoraOrigen->precio_hora,
'total_min' => (float) $lineaHoraOrigen->total_min,
'margen' => (float) $lineaHoraOrigen->margen,
'user_created_id' => (int) auth()->id(),
'is_deleted' => 0
];
$modelTELineasHoras->insert($nuevaLineaHora);
try {
$nuevaLineaHoraId = $modelTELineasHoras->insert($nuevaLineaHora);
if (!$nuevaLineaHoraId) {
throw new \Exception("Error al insertar el registro.");
}
echo "<br>====>+Linea/Hora creado con ID: " . $nuevaLineaHoraId;
} catch (\Exception $e) {
echo "Error: " . $e->getMessage();
}
}
}
echo "<br> *** Proceso de clonacion completado. ***<br><br>";
}