mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
terminada faja
This commit is contained in:
@ -97,6 +97,7 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController
|
||||
$values = $model->getPrecioTarifa($tarifa['tarifa_id'], $tirada, $proveedor, $POD);
|
||||
$values[0]->cubierta = $tarifa['cubierta'] ?? 0;
|
||||
$values[0]->sobrecubierta = $tarifa['sobrecubierta'] ?? 0;
|
||||
$values[0]->faja = $tarifa['faja'] ?? 0;
|
||||
array_push($result, $values[0]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -495,6 +495,12 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
} else {
|
||||
$data['datosLibro']['acabadoSobrecubierta']['text'] = $modelAcabado->find($presupuesto->acabado_sobrecubierta_id)->nombre;
|
||||
}
|
||||
$data['datosLibro']['acabadoFaja']['id'] = $presupuesto->acabado_faja_id;
|
||||
if ($presupuesto->acabado_faja_id == 0) {
|
||||
$data['datosLibro']['acabadoFaja']['text'] = "Ninguno";
|
||||
} else {
|
||||
$data['datosLibro']['acabadoFaja']['text'] = $modelAcabado->find($presupuesto->acabado_faja_id)->nombre;
|
||||
}
|
||||
$data['datosLibro']['prototipo'] = $presupuesto->prototipo;
|
||||
$data['datosLibro']['ferro'] = $presupuesto->ferro;
|
||||
$data['datosLibro']['ferroDigital'] = $presupuesto->ferro_digital;
|
||||
|
||||
@ -540,6 +540,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'cubierta' => $cubierta,
|
||||
'sobrecubierta' => $sobrecubierta,
|
||||
'datos_guardas' => $datos_guardas,
|
||||
'faja' => $faja,
|
||||
|
||||
'servicios' => $reqData['servicios'] ?? [],
|
||||
);
|
||||
@ -694,7 +695,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$excluirRotativa = $reqData['excluirRotativa'] ?? 0;
|
||||
$excluirRotativa = intval($excluirRotativa);
|
||||
|
||||
$tipo = $reqData['tipo'] ??'cosido';
|
||||
$tipo = $reqData['tipo'] ?? 'cosido';
|
||||
$tipoCubierta = 'blanda'; // solapas sólo tapa blanda y sobre cubierta
|
||||
|
||||
$isColor = intval($reqData['isColor']) ?? 0;
|
||||
@ -1054,6 +1055,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'cubierta' => $cubierta,
|
||||
'sobrecubierta' => $sobrecubierta,
|
||||
'datos_guardas' => $datos_guardas,
|
||||
'faja' => $faja,
|
||||
|
||||
'servicios' => $reqData['servicios'] ?? [],
|
||||
);
|
||||
@ -1241,6 +1243,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
$resultado_presupuesto['info']['merma'] = $this->calcular_merma($selected_tirada, $POD);
|
||||
|
||||
$datos_presupuesto['faja'] = $faja;
|
||||
|
||||
$id = $model_presupuesto->insertarPresupuestoCliente(
|
||||
$id,
|
||||
$selected_tirada,
|
||||
@ -1267,6 +1271,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$this->guardarLineaPresupuesto($id, $resultado_presupuesto['values']['cubierta']);
|
||||
if (count($resultado_presupuesto['values']['sobrecubierta']) > 0)
|
||||
$this->guardarLineaPresupuesto($id, $resultado_presupuesto['values']['sobrecubierta']);
|
||||
if (count($resultado_presupuesto['values']['faja']) > 0)
|
||||
$this->guardarLineaPresupuesto($id, $resultado_presupuesto['values']['faja']);
|
||||
if (count($resultado_presupuesto['values']['guardas']) > 0)
|
||||
$this->guardarLineaPresupuesto($id, $resultado_presupuesto['values']['guardas']);
|
||||
|
||||
@ -1293,6 +1299,17 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (intval($faja['acabado']) > 0) {
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$servicio = $model->getPrecioTarifa(intval($faja['acabado']), intval($selected_tirada), -1, $POD);
|
||||
|
||||
if (count($servicio) > 0) {
|
||||
if ($servicio[0]->total > 0) {
|
||||
$this->guardarServicio($id, $servicio[0], 'acabado', false, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
foreach ($resultado_presupuesto['values']['serviciosDefecto']['encuadernacion'] as $servicio) {
|
||||
$this->guardarServicio($id, $servicio, 'encuadernacion');
|
||||
@ -1475,6 +1492,21 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$data['sobrecubierta']['acabado']['text'] = $modelAcabado->find($presupuesto->acabado_sobrecubierta_id)->nombre;
|
||||
}
|
||||
|
||||
if (array_key_exists('faja', $datos_papel)) {
|
||||
$data['faja']['papel'] = $datos_papel['faja'];
|
||||
$data['faja']['alto'] = $presupuesto->alto_faja_color;
|
||||
$data['faja']['solapas'] = 1;
|
||||
$data['faja']['solapas_ancho'] = $presupuesto->solapas_ancho_faja_color;
|
||||
$data['faja']['acabado']['id'] = $presupuesto->acabado_sobrecubierta_id;
|
||||
if ($presupuesto->acabado_faja_id == 0) {
|
||||
$data['faja']['acabado']['text'] = "Ninguno";
|
||||
} else {
|
||||
$data['faja']['acabado']['text'] = $modelAcabado->find($presupuesto->acabado_faja_id)->nombre;
|
||||
}
|
||||
} else {
|
||||
$data['faja'] = [];
|
||||
}
|
||||
|
||||
$data['guardas'] = array_key_exists('guardas', $datos_papel) ? $datos_papel['guardas'] : [];
|
||||
|
||||
$modelLinea = new PresupuestoLineaModel();
|
||||
@ -1586,11 +1618,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if (!is_null($new_name)) {
|
||||
$path = WRITEPATH . 'uploads/presupuestos/' . $new_name;
|
||||
move_uploaded_file($tmp_name, $path);
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
|
||||
>>>>>>> main
|
||||
}
|
||||
}
|
||||
$ftp->uploadFilePresupuesto($presupuesto_id);
|
||||
@ -1684,7 +1711,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
|
||||
|
||||
protected function guardarServicio($presupuestoId, $servicio, $tipo, $cubierta = false, $sobrecubierta = false)
|
||||
protected function guardarServicio($presupuestoId, $servicio, $tipo, $cubierta = false, $sobrecubierta = false, $faja = false)
|
||||
{
|
||||
|
||||
if ($tipo == 'encuadernacion') {
|
||||
@ -1728,6 +1755,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'proveedor_id' => $servicio->proveedor_id,
|
||||
'cubierta' => $cubierta,
|
||||
'sobrecubierta' => $sobrecubierta,
|
||||
'faja' => $faja,
|
||||
];
|
||||
$model->insert($data);
|
||||
} else if ($tipo == 'manipulado') {
|
||||
@ -1840,6 +1868,9 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
// Sobrecubierta
|
||||
$sobreCubierta = $datos_entrada["sobrecubierta"] ?? null;
|
||||
|
||||
// Faja
|
||||
$faja = $datos_entrada["faja"] ?? null;
|
||||
|
||||
// Guardas
|
||||
$datos_guardas = $datos_entrada['datos_guardas'] ?? [];
|
||||
|
||||
@ -2251,6 +2282,92 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$coste_faja = 0.0;
|
||||
$peso_faja = 0.0;
|
||||
$linea_faja = [];
|
||||
$acabadoFaja = [];
|
||||
if (!is_null($faja) && $faja && $faja != false) {
|
||||
|
||||
$input_data['papel_generico']['id'] = $faja['papel'] ?? 0;
|
||||
$input_data['gramaje'] = $faja['gramaje'] ?? 0;
|
||||
$input_data['datosPedido']->paginas = 4;
|
||||
$input_data['datosPedido']->alto = floatval($faja['alto'] ?? 0);
|
||||
$input_data['paginas_color'] = 4;
|
||||
$input_data['datosPedido']->solapas_ancho = intval($faja['solapas'] ?? 0);
|
||||
$input_data['datosPedido']->solapas = 1;
|
||||
$input_data['datosPedido']->lomo = $this->calcular_lomo([$cubierta], $input_data['datosPedido']->lomo);
|
||||
$input_data['isColor'] = 1;
|
||||
$input_data['isHq'] = 1;
|
||||
$input_data['uso'] = 'faja';
|
||||
|
||||
$linea_faja = PresupuestoClienteService::obtenerSobrecubierta($input_data);
|
||||
|
||||
if (count($linea_faja) > 0) {
|
||||
$linea_faja['tipo_linea'] = 'lp_faja';
|
||||
$coste_faja += floatval($linea_faja['total_impresion']);
|
||||
$peso_faja += floatval($linea_faja['peso']);
|
||||
if ($extra_info) {
|
||||
|
||||
$this->calcular_coste_linea(
|
||||
$linea_faja,
|
||||
$totalPapel,
|
||||
$margenPapel,
|
||||
$sumForFactor,
|
||||
$totalImpresion,
|
||||
$margenImpresion
|
||||
);
|
||||
}
|
||||
}
|
||||
if ($coste_faja <= 0) {
|
||||
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener la faja',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
|
||||
// Acabado faja
|
||||
if (intval($faja['acabado']) != 0) {
|
||||
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$acabadoFaja = $model->getPrecioTarifa(intval($faja['acabado']), $datosPedido->tirada, -1, $POD);
|
||||
|
||||
if (count($acabadoFaja) > 0) {
|
||||
|
||||
if ($acabadoFaja[0]->total <= 0) {
|
||||
|
||||
$input_data['tarifas_acabado_faja'] = intval($faja['acabado']);
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener acabados de faja',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
|
||||
$coste_servicios += floatval($acabadoFaja[0]->total);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($extra_info) {
|
||||
$totalPapel -= $margenPapel;
|
||||
$totalImpresion -= $margenImpresion;
|
||||
@ -2388,11 +2505,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_exceso_solapas_faja')->value
|
||||
];
|
||||
|
||||
<<<<<<< HEAD
|
||||
// se comprueba si $datos guardas es un array
|
||||
=======
|
||||
// se comprueba si $datos guardas es un array
|
||||
>>>>>>> main
|
||||
if (is_array($datos_guardas)) {
|
||||
if (count($datos_guardas) > 0) {
|
||||
array_push($servicios, $servicio_plegado_guardas); // Plegado de guardas
|
||||
@ -2411,18 +2524,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
array_push($servicios, $servicio_prototipo);
|
||||
if ($datos_entrada['servicios']['ferro']) // extra
|
||||
array_push($servicios, $servicio_ferro);
|
||||
if ($input_data['datosPedido']->solapas_ancho > 0)
|
||||
if ($solapasCubierta > 0)
|
||||
array_push($servicios, $servicio_solapas_cubierta);
|
||||
if (!is_null($sobreCubierta) && $sobreCubierta) // Si hay sobrecubierta, siempre con solapas
|
||||
array_push($servicios, $servicio_solapas_sobrecubierta);
|
||||
<<<<<<< HEAD
|
||||
/* TO-DO
|
||||
=======
|
||||
/* TO-DO
|
||||
>>>>>>> main
|
||||
if (!is_null($faja) && $faja) // Si hay faja, siempre con solapas
|
||||
if(!is_null($faja) && $faja && $faja != false) // Si hay faja, siempre con solapas
|
||||
array_push($servicios, $servicio_solapas_faja);
|
||||
*/
|
||||
|
||||
|
||||
foreach ($servicios as $servicio) {
|
||||
|
||||
@ -2487,8 +2595,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$totalServicios += floatval($resultado[0]->precio);
|
||||
$margenServicios += floatval($resultado[0]->precio) * floatval($resultado[0]->margen) / 100.0;
|
||||
}
|
||||
}
|
||||
else if ($servicio->nombre == 'solapas_cubierta' || $servicio->nombre == 'solapas_sobrecubierta' || $servicio->nombre == 'solapas_faja'){
|
||||
} else if ($servicio->nombre == 'solapas_cubierta' || $servicio->nombre == 'solapas_sobrecubierta' || $servicio->nombre == 'solapas_faja') {
|
||||
// Servicios manipulado
|
||||
$resultado = PresupuestoCLienteService::getServiciosManipulado([
|
||||
'tarifa_id' => intval($servicio->id),
|
||||
@ -2593,8 +2700,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
// TO-DO Faja
|
||||
|
||||
array_push($precio_u, round(($costeInterior + $coste_cubierta + $coste_sobrecubierta + $costeServiciosDefecto + $coste_servicios) / $tirada[$t], 4));
|
||||
array_push($peso, round($peso_interior + $peso_cubierta + $peso_sobrecubierta + $peso_guardas, 2));
|
||||
|
||||
@ -2638,6 +2743,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$return_data['values']['cubierta'] = $cubierta;
|
||||
$return_data['values']['sobrecubierta'] = $linea_sobrecubierta;
|
||||
$return_data['values']['guardas'] = $guardas;
|
||||
$return_data['values']['faja'] = $linea_faja;
|
||||
$return_data['values']['serviciosDefecto']['encuadernacion'] = $servDefectoEnc;
|
||||
$return_data['values']['serviciosDefecto']['manipulado'] = $servDefectoMan;
|
||||
$return_data['values']['servicios_automaticos'] = $serviciosAutomaticos;
|
||||
@ -2980,6 +3086,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$return_data['sobrecubierta']['papel'] = $modelPapelGenerico->getCodeFromId($linea->papel_id);
|
||||
$return_data['sobrecubierta']['gramaje'] = $linea->gramaje;
|
||||
$return_data['sobrecubierta']['paginas'] = $linea->paginas;
|
||||
} else if ($linea->tipo == 'lp_faja') {
|
||||
$return_data['faja']['papel'] = $modelPapelGenerico->getNombre($linea->papel_id)['nombre'];
|
||||
$return_data['faja']['papel_id'] = $linea->papel_id;
|
||||
$return_data['faja']['gramaje'] = $linea->gramaje;
|
||||
$return_data['faja']['paginas'] = $linea->paginas;
|
||||
} else if ($linea->tipo == 'lp_guardas') {
|
||||
$return_data['guardas']['papel'] = $modelPapelGenerico->getCodeFromId($linea->papel_id);
|
||||
$return_data['guardas']['gramaje'] = $linea->gramaje;
|
||||
|
||||
@ -90,6 +90,9 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
|
||||
$json_data_manipulado = $reqData['json_manipulado'] ?? null;
|
||||
$cliente_id = $reqData['cliente_id'] ?? 0;
|
||||
|
||||
$faja_alto = $reqData['faja_alto'] ?? 0;
|
||||
$solapas_faja = $reqData['solapas_faja'] ?? 0;
|
||||
|
||||
$tipo_impresion_id = $reqData['tipo_impresion_id'] ?? 4;
|
||||
|
||||
$values = [];
|
||||
@ -120,14 +123,27 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
|
||||
} else if ($tipo_impresion_id == 5 || $tipo_impresion_id == 7) {
|
||||
$datosPedido->isCosido = false;
|
||||
}
|
||||
} else if ($linea['row_id'] == 'lp_sobrecubierta' || $linea['row_id'] == 'lp_cubierta') {
|
||||
$datosPedido->solapas =
|
||||
$linea['row_id'] == 'lp_cubierta' ? $reqData['solapas_cubierta'] : $reqData['solapas_sobrecubierta'];
|
||||
$datosPedido->solapas_ancho =
|
||||
$linea['row_id'] == 'lp_cubierta' ? $reqData['solapas_cubierta_ancho'] : $reqData['solapas_sobrecubierta_ancho'];
|
||||
} else if ($linea['row_id'] == 'lp_sobrecubierta' || $linea['row_id'] == 'lp_cubierta' || $linea['row_id'] == 'lp_faja') {
|
||||
$datosPedido->solapas = $reqData['solapas_cubierta'];
|
||||
if ($linea['row_id'] == 'lp_faja') {
|
||||
$datosPedido->solapas = $solapas_faja;
|
||||
} else if ($linea['row_id'] == 'lp_sobrecubierta') {
|
||||
$datosPedido->solapas = $reqData['solapas_sobrecubierta'];
|
||||
}
|
||||
$datosPedido->solapas_ancho = $reqData['solapas_cubierta_ancho'];
|
||||
if ($linea['row_id'] == 'lp_faja') {
|
||||
$datosPedido->solapas_ancho = $solapas_faja;
|
||||
} else if ($linea['row_id'] == 'lp_sobrecubierta') {
|
||||
$datosPedido->solapas_ancho = $reqData['solapas_sobrecubierta_ancho'];
|
||||
}
|
||||
$datosPedido->lomo = $reqData['lomo'];
|
||||
|
||||
$type = $linea['row_id'] == 'lp_cubierta' ? 'cubierta' : 'sobrecubierta';
|
||||
$type = 'lp_cubierta';
|
||||
if ($linea['row_id'] == 'lp_sobrecubierta') {
|
||||
$type = 'lp_sobrecubierta';
|
||||
} else if ($linea['row_id'] == 'lp_faja') {
|
||||
$type = 'lp_faja';
|
||||
}
|
||||
|
||||
$datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($type, $tipo_impresion_id, $datosPedido);
|
||||
$datosPedido->altoExteriores = PresupuestoService::getAltoTotalExteriores($type, $tipo_impresion_id, $datosPedido);
|
||||
@ -174,6 +190,9 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
|
||||
case 'lp_sobrecubierta':
|
||||
$uso = 'sobrecubierta';
|
||||
break;
|
||||
case 'lp_faja':
|
||||
$uso = 'faja';
|
||||
break;
|
||||
case 'lp_guardas':
|
||||
$uso = 'guardas';
|
||||
break;
|
||||
@ -185,7 +204,7 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
|
||||
break;
|
||||
}
|
||||
|
||||
if ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'guardas') {
|
||||
if ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'faja' || $uso == 'guardas') {
|
||||
$isColor = true;
|
||||
$isHq = true;
|
||||
$tipo = 'colorhq';
|
||||
@ -233,6 +252,10 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
|
||||
$datosLinea['gramaje'] = $linea['gramaje'] ?? 0;
|
||||
|
||||
if ($linea['row_id'] != 'lp_rot_bn' && $linea['row_id'] != 'lp_rot_color') {
|
||||
$data = $datosLinea;
|
||||
if($uso=='faja'){
|
||||
$data['datosPedido']->alto = $faja_alto;
|
||||
}
|
||||
$linea_coste = PresupuestoService::getLineaPresupuestoPlana($datosLinea);
|
||||
} else {
|
||||
$linea_coste = PresupuestoService::getLineaPresupuestoRotativa($datosLinea);
|
||||
@ -339,8 +362,8 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
|
||||
$peso_libro = floatval($reqData['peso_libro']);
|
||||
// el primer envio con la tirada base
|
||||
$model = model('App\Models\Tarifas\TarifaEnvioModel');
|
||||
$envios = $model->getTarifaEnvio(1, 18000, $tirada_base * $peso_libro/1000.0, "cajas");
|
||||
$resultado = $this->calcular_envio($envios, $tirada_base * $peso_libro/1000.0);
|
||||
$envios = $model->getTarifaEnvio(1, 18000, $tirada_base * $peso_libro / 1000.0, "cajas");
|
||||
$resultado = $this->calcular_envio($envios, $tirada_base * $peso_libro / 1000.0);
|
||||
$coste_envio += $resultado->coste;
|
||||
$margen_envio += $resultado->margen;
|
||||
|
||||
@ -348,7 +371,7 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
|
||||
$json_envios = json_decode($json_envios, true);
|
||||
if (count($json_envios) > 0) {
|
||||
//la primera linea es el envio base
|
||||
for($i = 1; $i < count($json_envios); $i++) {
|
||||
for ($i = 1; $i < count($json_envios); $i++) {
|
||||
|
||||
$porcentaje = ($json_envios[$i]['cantidad']) / $tirada_base * 100.0;
|
||||
$cantidad = floor($reqData['tirada'] * $porcentaje / 100.0);
|
||||
@ -401,7 +424,7 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
|
||||
$m = (($envio->precio_max - $envio->precio_min) / ($envio->peso_max - $envio->peso_min));
|
||||
$b = $envio->precio_max - $m * $envio->peso_max;
|
||||
$coste_envio = number_format($m * $peso_envio + $b, 2);
|
||||
|
||||
|
||||
}
|
||||
|
||||
$margen_envio += $coste_envio * $envio->margen / 100.0;
|
||||
|
||||
@ -19,6 +19,7 @@ class PresupuestoAcabadosEntity extends \CodeIgniter\Entity\Entity
|
||||
"margen" => null,
|
||||
"cubierta" => null,
|
||||
"sobrecubierta" => null,
|
||||
"faja" => null,
|
||||
"created_at" => null,
|
||||
"updated_at" => null,
|
||||
];
|
||||
@ -31,6 +32,7 @@ class PresupuestoAcabadosEntity extends \CodeIgniter\Entity\Entity
|
||||
"margen" => "float",
|
||||
"cubierta" => "int",
|
||||
"sobrecubierta" => "int",
|
||||
"faja" => "int",
|
||||
];
|
||||
|
||||
public function maquinas() : array
|
||||
|
||||
@ -104,6 +104,7 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
|
||||
'excluir_rotativa' => null,
|
||||
"acabado_cubierta_id" => null,
|
||||
"acabado_sobrecubierta_id" => null,
|
||||
"acabado_faja_id" => null,
|
||||
"is_duplicado" => false,
|
||||
'paginas_color_consecutivas' => null,
|
||||
'papel_interior_diferente' => null,
|
||||
@ -176,6 +177,7 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
|
||||
'excluir_rotativa' => "?boolean",
|
||||
"acabado_cubierta_id" => "int",
|
||||
"acabado_sobrecubierta_id" => "int",
|
||||
"acabado_faja_id" => "int",
|
||||
"is_duplicado" => "boolean",
|
||||
'paginas_color_consecutivas' => "boolean",
|
||||
'papel_interior_diferente' => "boolean",
|
||||
|
||||
@ -71,6 +71,7 @@ return [
|
||||
'acabadosExteriores' => 'Acabados exteriores',
|
||||
'acabadoCubierta' => 'Acabado Cubierta',
|
||||
'acabadoSobrecubierta' => 'Acabado Sobrecubierta',
|
||||
'acabadoFaja' => 'Acabado Faja',
|
||||
'cosido' => 'Cosido',
|
||||
'ferro' => 'Ferro',
|
||||
'ferroDigital' => 'Ferro Digital',
|
||||
|
||||
@ -22,7 +22,7 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel
|
||||
3 => "t1.precio_total"
|
||||
];
|
||||
|
||||
protected $allowedFields = ["presupuesto_id", "tarifa_acabado_id", "proveedor_id", "nombre", "precio_total", "precio_unidad", "margen", "cubierta", "sobrecubierta"];
|
||||
protected $allowedFields = ["presupuesto_id", "tarifa_acabado_id", "proveedor_id", "nombre", "precio_total", "precio_unidad", "margen", "cubierta", "sobrecubierta", "faja"];
|
||||
protected $returnType = "App\Entities\Presupuestos\PresupuestoAcabadosEntity";
|
||||
|
||||
protected $useTimestamps = true;
|
||||
@ -132,7 +132,8 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel
|
||||
foreach($tarifas as $tarifa){
|
||||
if($tarifa->tarifa_id == $result->tarifa_acabado_id &&
|
||||
$tarifa->cubierta == $result->cubierta &&
|
||||
$tarifa->sobrecubierta == $result->sobrecubierta)
|
||||
$tarifa->sobrecubierta == $result->sobrecubierta &&
|
||||
$tarifa->faja == $result->faja)
|
||||
$found = true;
|
||||
}
|
||||
if(!$found){
|
||||
@ -162,6 +163,7 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel
|
||||
$builder->where('tarifa_acabado_id', $tarifa->tarifa_id);
|
||||
$builder->where('cubierta', $tarifa->cubierta);
|
||||
$builder->where('sobrecubierta', $tarifa->sobrecubierta);
|
||||
$builder->where('faja', $tarifa->faja);
|
||||
$result = $builder->get()->getResultObject();
|
||||
if(count($result)>0){
|
||||
$this->db
|
||||
@ -174,6 +176,7 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel
|
||||
->set('margen', $tarifa->margen)
|
||||
->set('cubierta', $tarifa->cubierta)
|
||||
->set('sobrecubierta', $tarifa->sobrecubierta)
|
||||
->set('faja', $tarifa->faja)
|
||||
->update();
|
||||
|
||||
|
||||
@ -189,6 +192,7 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel
|
||||
->set('margen', $tarifa->margen)
|
||||
->set('cubierta', $tarifa->cubierta)
|
||||
->set('sobrecubierta', $tarifa->sobrecubierta)
|
||||
->set('faja', $tarifa->faja)
|
||||
->insert();
|
||||
}
|
||||
}
|
||||
@ -208,6 +212,7 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel
|
||||
->select(
|
||||
"t1.id AS id, t1.tarifa_acabado_id AS tarifa_acabado_id, t1.tarifa_acabado_id AS tarifa_id, t1.precio_unidad AS precio_unidad,
|
||||
t1.precio_total AS precio_total, t1.margen AS margen, t2.nombre AS nombre, t1.cubierta AS cubierta, t1.sobrecubierta AS sobrecubierta,
|
||||
t1.faja AS faja,
|
||||
t1.proveedor_id AS proveedor_id, t3.nombre AS proveedor,"
|
||||
);
|
||||
|
||||
|
||||
@ -71,14 +71,26 @@ class PresupuestoManipuladosModel extends \App\Models\BaseModel
|
||||
return $ret_array;
|
||||
}
|
||||
else{
|
||||
$ret_array[] = (object)[
|
||||
'tarifa_id'=> $tarifa_manipulado_id,
|
||||
'tarifa_nombre'=> $modelTarifa->getNombreTarifaManipulado($tarifa_manipulado_id)[0]->nombre,
|
||||
'nombre'=> $modelTarifa->getNombreTarifaManipulado($tarifa_manipulado_id)[0]->nombre,
|
||||
'precio_unidad' => 0,
|
||||
'total'=> 0,
|
||||
'margen' => 0,
|
||||
];
|
||||
if(is_array($tarifa_manipulado_id)){
|
||||
$ret_array[] = (object)[
|
||||
'tarifa_id'=> $tarifa_manipulado_id['id'],
|
||||
'tarifa_nombre'=> $tarifa_manipulado_id['nombre'],
|
||||
'nombre'=> $tarifa_manipulado_id['nombre'],
|
||||
'precio_unidad' => 0,
|
||||
'total'=> 0,
|
||||
'margen' => 0,
|
||||
];
|
||||
}
|
||||
else{
|
||||
$ret_array[] = (object)[
|
||||
'tarifa_id'=> $tarifa_manipulado_id,
|
||||
'tarifa_nombre'=> $modelTarifa->getNombreTarifaManipulado($tarifa_manipulado_id)[0]->nombre,
|
||||
'nombre'=> $modelTarifa->getNombreTarifaManipulado($tarifa_manipulado_id)[0]->nombre,
|
||||
'precio_unidad' => 0,
|
||||
'total'=> 0,
|
||||
'margen' => 0,
|
||||
];
|
||||
}
|
||||
return $ret_array;
|
||||
}
|
||||
}
|
||||
|
||||
@ -129,6 +129,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
"barniz_cubierta_id",
|
||||
"estampado_cubierta_id",
|
||||
"acabado_sobrecubierta_id",
|
||||
"acabado_faja_id",
|
||||
"is_duplicado",
|
||||
'paginas_color_consecutivas',
|
||||
'papel_interior_diferente',
|
||||
@ -410,8 +411,6 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
'pais_id' => 1,
|
||||
'retractilado' => $data['retractilado'] ? 1 : 0,
|
||||
'retractilado5' => $data['retractilado5'] ? 1 : 0,
|
||||
'guardas' => in_array(62, $data['servicios']) ? 1 : 0,
|
||||
'faja_color' => in_array(16, $data['servicios']) ? 1 : 0,
|
||||
'ferro' => $data['ferro'] ? 1 : 0,
|
||||
'ferro_digital' => $data['ferro_digital'] ? 1 : 0,
|
||||
'marcapaginas' => $data['marcapaginas'] ? 1 : 0,
|
||||
@ -450,8 +449,13 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
|
||||
'comparador_json_data' => $this->generateJson($data),
|
||||
|
||||
'faja_color' => count($data['faja'])>0 ? 1 : 0,
|
||||
'solapas_ancho_faja_color' => count($data['faja'])>0 ? $data['faja']['solapas'] : 60,
|
||||
'alto_faja_color' => count($data['faja'])>0 ? $data['faja']['alto'] : 50,
|
||||
|
||||
'acabado_cubierta_id' => $data['cubierta']['acabado'],
|
||||
'acabado_sobrecubierta_id' => !$data['sobrecubierta'] ? 0 : $data['sobrecubierta']['acabado'],
|
||||
'acabado_faja_id' => count($data['faja'])>0 ? $data['faja']['acabado'] : 0,
|
||||
|
||||
'comp_tipo_impresion' => $data['isHq'] ? ($data['isColor'] ? 'colorhq' : 'negrohq') : ($data['isColor'] ? 'color' : 'negro'),
|
||||
|
||||
|
||||
@ -112,8 +112,9 @@ class TarifaManipuladoModel extends \App\Models\BaseModel
|
||||
return $builder->orderBy("t1.nombre", "asc")->get()->getResultObject();
|
||||
}
|
||||
|
||||
public function getTarifaPresupuestoManipulado($tarifa_id, $tirada){
|
||||
|
||||
public function getTarifaPresupuestoManipulado($tarifa_id, $tirada)
|
||||
{
|
||||
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
@ -125,15 +126,22 @@ class TarifaManipuladoModel extends \App\Models\BaseModel
|
||||
->where("t1.is_deleted", 0)
|
||||
//->where("t1.mostrar_en_presupuesto", 1)
|
||||
->where("t2.is_deleted", 0);
|
||||
|
||||
$builder->where('t1.id =', $tarifa_id);
|
||||
|
||||
// check if tarifa_id is an array
|
||||
if (is_array($tarifa_id)) {
|
||||
// check if tarifa_id['id'] exists
|
||||
$builder->where('t1.id', array_key_exists('id', $tarifa_id)? $tarifa_id['id']:$tarifa_id['tarifa_id']);
|
||||
} else {
|
||||
$builder->where('t1.id', $tarifa_id);
|
||||
}
|
||||
|
||||
$builder->where('t2.tirada_min <=', $tirada);
|
||||
$builder->where('t2.tirada_max >=', $tirada);
|
||||
|
||||
|
||||
return $builder->get()->getResultObject();
|
||||
}
|
||||
|
||||
public function getNombreTarifaManipulado($id=-1)
|
||||
public function getNombreTarifaManipulado($id = -1)
|
||||
{
|
||||
/*
|
||||
Todos los servicios de encuadernacion activas que se pueden usar en presupuestos
|
||||
@ -142,9 +150,13 @@ class TarifaManipuladoModel extends \App\Models\BaseModel
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.nombre AS nombre"
|
||||
)
|
||||
->where("t1.id", $id)
|
||||
->where("t1.is_deleted", 0);
|
||||
);
|
||||
$builder->where("t1.is_deleted", 0);
|
||||
if (is_array($id)) {
|
||||
$builder->where("t1.id", $id['id']);
|
||||
} else
|
||||
$builder->where("t1.id", $id);
|
||||
|
||||
|
||||
return $builder->orderBy("t1.nombre", "asc")->get()->getResultObject();
|
||||
}
|
||||
|
||||
@ -242,6 +242,18 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 col-lg-6 px-4 d-none acabado-faja">
|
||||
<div class="row">
|
||||
<div class="mb-1">
|
||||
<label id="label_acabado_faja_id" for="acabado_faja_id" class="form-label">
|
||||
<?= lang('Presupuestos.acabadoFaja') ?>*
|
||||
</label>
|
||||
<select id="acabado_faja_id" name="acabado_faja_id" tabindex="3"
|
||||
class="form-control select2bs2" style="width: 100%;">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!----------------------------------------------------------------------------->
|
||||
|
||||
@ -96,6 +96,7 @@
|
||||
<th><?= lang('Tarifaacabado.margen') ?></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
@ -286,15 +286,11 @@
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 config-faja d-none">
|
||||
<label for="plastificadoFaja" class="form-label">
|
||||
<label for="acabadoFaja" class="form-label">
|
||||
<?= lang('Presupuestos.plastificadoFaja') ?>
|
||||
</label>
|
||||
<select class="form-select select2bs2 calcular-presupuesto" id="plastificadoFaja"
|
||||
<select class="form-select select2bs2 calcular-presupuesto" id="acabadoFaja"
|
||||
name="plastificado_faja">
|
||||
<option value="NONE"> - </option>
|
||||
<option value="BRIL"><?= lang('Presupuestos.brillo') ?></option>
|
||||
<option value="MATE"><?= lang('Presupuestos.mate') ?></option>
|
||||
<option value="ANTI"><?= lang('Presupuestos.antirrayado') ?></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user