mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Revert "Merge branch 'feat/add-chat-presupuesto-cliente' into 'main'"
This reverts merge request !352
This commit is contained in:
@ -210,7 +210,6 @@ class ChatModel extends Model
|
||||
->join("chat_departments","chat_departments.id = chats.chat_department_id","left")
|
||||
->join("pedidos","pedidos.id = chats.pedido_id","left")
|
||||
->whereIn("pedidos.id",$pedidos)
|
||||
->where("chats.chat_department_id is NOT NULL",NULL,FALSE)
|
||||
->get()->getResultObject();
|
||||
$chatMessageModel = model(ChatMessageModel::class);
|
||||
$count = 0;
|
||||
@ -238,7 +237,6 @@ class ChatModel extends Model
|
||||
->join("chat_departments","chat_departments.id = chats.chat_department_id","left")
|
||||
->join("facturas","facturas.id = chats.factura_id","left")
|
||||
->whereIn("facturas.id",$facturas)
|
||||
->where("chats.chat_department_id is NOT NULL",NULL,FALSE)
|
||||
->get()->getResultObject();
|
||||
$chatMessageModel = model(ChatMessageModel::class);
|
||||
$count = 0;
|
||||
@ -266,7 +264,6 @@ class ChatModel extends Model
|
||||
->join("chat_departments","chat_departments.id = chats.chat_department_id","left")
|
||||
->join("presupuestos","presupuestos.id = chats.presupuesto_id","left")
|
||||
->whereIn("presupuestos.id",$presupuestos)
|
||||
->where("chats.chat_department_id is NOT NULL",NULL,FALSE)
|
||||
->get()->getResultObject();
|
||||
$chatMessageModel = model(ChatMessageModel::class);
|
||||
$count = 0;
|
||||
|
||||
@ -54,7 +54,7 @@ class ClienteDireccionesModel extends \App\Models\BaseModel
|
||||
],
|
||||
"email" => [
|
||||
"label" => "ClienteDirecciones.email",
|
||||
"rules" => "trim|max_length[100]",
|
||||
"rules" => "trim|max_length[100]|valid_email",
|
||||
],
|
||||
"cp" => [
|
||||
"label" => "ClienteDirecciones.cp",
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Clientes;
|
||||
|
||||
class ClienteModel extends \App\Models\BaseModel
|
||||
@ -294,32 +293,30 @@ class ClienteModel extends \App\Models\BaseModel
|
||||
return empty($search)
|
||||
? $builder
|
||||
: $builder
|
||||
->groupStart()
|
||||
->like("t1.nombre", $search)
|
||||
->orLike("t1.alias", $search)
|
||||
->orLike("t1.cif", $search)
|
||||
->orLike("t1.email", $search)
|
||||
->orLike("t1.soporte_id", $search)
|
||||
->orLike("t1.forma_pago_id", $search)
|
||||
->orLike("t1.vencimiento", $search)
|
||||
->orLike("t5.id", $search)
|
||||
->orLike("t5.first_name", $search)
|
||||
->orLike("t5.last_name", $search)
|
||||
->orLike("t7.id", $search)
|
||||
->orLike("t7.nombre", $search)
|
||||
->groupEnd();
|
||||
->groupStart()
|
||||
->like("t1.nombre", $search)
|
||||
->orLike("t1.alias", $search)
|
||||
->orLike("t1.cif", $search)
|
||||
->orLike("t1.email", $search)
|
||||
->orLike("t1.soporte_id", $search)
|
||||
->orLike("t1.forma_pago_id", $search)
|
||||
->orLike("t1.vencimiento", $search)
|
||||
->orLike("t5.id", $search)
|
||||
->orLike("t5.first_name", $search)
|
||||
->orLike("t5.last_name", $search)
|
||||
->orLike("t7.id", $search)
|
||||
->orLike("t7.nombre", $search)
|
||||
->groupEnd();
|
||||
}
|
||||
|
||||
/*
|
||||
TO-DO: Implementar la lógica de negocio para el crédito disponible
|
||||
*/
|
||||
public function creditoDisponible($cliente_id)
|
||||
{
|
||||
public function creditoDisponible($cliente_id){
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getClienteDataFacturas($cliente_id)
|
||||
{
|
||||
public function getClienteDataFacturas($cliente_id){
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
@ -332,27 +329,27 @@ class ClienteModel extends \App\Models\BaseModel
|
||||
->where("t1.id", $cliente_id);
|
||||
$builder->join("lg_paises t2", "t1.pais_id = t2.id", "left");
|
||||
$builder->join("lg_provincias t3", "t1.provincia_id = t3.id", "left");
|
||||
|
||||
|
||||
return $builder->get()->getResultArray();
|
||||
}
|
||||
public function getClienteDataPresupuestoPedidoFactura(int $cliente_id): array
|
||||
public function getClienteDataPresupuestoPedidoFactura(int $cliente_id) : array
|
||||
{
|
||||
$query = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select([
|
||||
"t1.id as clienteId",
|
||||
"presupuestos.id as presupuestoId",
|
||||
"pedidos.id as pedidoId",
|
||||
"presupuesto_estados.estado as presupuestoEstado",
|
||||
"facturas_pedidos_lineas.factura_id as facturaId",
|
||||
->table($this->table." t1")
|
||||
->select([
|
||||
"t1.id as clienteId",
|
||||
"presupuestos.id as presupuestoId",
|
||||
"pedidos.id as pedidoId",
|
||||
"presupuesto_estados.estado as presupuestoEstado",
|
||||
"facturas_pedidos_lineas.factura_id as facturaId",
|
||||
|
||||
])
|
||||
->join("presupuestos", "t1.id = presupuestos.cliente_id", "left")
|
||||
->join("presupuesto_estados", "presupuestos.estado_id = presupuesto_estados.id", "left")
|
||||
->join("pedidos_linea", "presupuestos.id = pedidos_linea.presupuesto_id", "left")
|
||||
->join("pedidos", "pedidos.id = pedidos_linea.pedido_id", "left")
|
||||
->join("facturas_pedidos_lineas", "facturas_pedidos_lineas.pedido_linea_id = pedidos_linea.id", "left")
|
||||
->where("t1.id", $cliente_id);
|
||||
->join("presupuestos","t1.id = presupuestos.cliente_id","left")
|
||||
->join("presupuesto_estados","presupuestos.estado_id = presupuesto_estados.id","left")
|
||||
->join("pedidos_linea","presupuestos.id = pedidos_linea.presupuesto_id","left")
|
||||
->join("pedidos","pedidos.id = pedidos_linea.pedido_id","left")
|
||||
->join("facturas_pedidos_lineas","facturas_pedidos_lineas.pedido_linea_id = pedidos_linea.id","left")
|
||||
->where("t1.id",$cliente_id);
|
||||
$data = $query->get()->getResultObject();
|
||||
$facturas = [];
|
||||
$presupuestos = [];
|
||||
@ -370,23 +367,4 @@ class ClienteModel extends \App\Models\BaseModel
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
public function getNombre($id = -1)
|
||||
{
|
||||
|
||||
try {
|
||||
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.nombre AS nombre"
|
||||
)
|
||||
->where("id", $id)
|
||||
->where("is_deleted", 0);
|
||||
|
||||
return $builder->get()->getResultObject()[0]->nombre;
|
||||
} catch (\Exception $e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Configuracion;
|
||||
|
||||
class PapelFormatoModel extends \App\Models\BaseModel
|
||||
@ -73,64 +72,25 @@ class PapelFormatoModel extends \App\Models\BaseModel
|
||||
return empty($search)
|
||||
? $builder
|
||||
: $builder
|
||||
->groupStart()
|
||||
->like("t1.id", $search)
|
||||
->orLike("t1.ancho", $search)
|
||||
->orLike("t1.alto", $search)
|
||||
->orLike("t1.created_at", $search)
|
||||
->orLike("t1.updated_at", $search)
|
||||
->orLike("t1.id", $search)
|
||||
->orLike("t1.ancho", $search)
|
||||
->orLike("t1.alto", $search)
|
||||
->orLike("t1.created_at", $search)
|
||||
->orLike("t1.updated_at", $search)
|
||||
->groupEnd();
|
||||
->groupStart()
|
||||
->like("t1.id", $search)
|
||||
->orLike("t1.ancho", $search)
|
||||
->orLike("t1.alto", $search)
|
||||
->orLike("t1.created_at", $search)
|
||||
->orLike("t1.updated_at", $search)
|
||||
->orLike("t1.id", $search)
|
||||
->orLike("t1.ancho", $search)
|
||||
->orLike("t1.alto", $search)
|
||||
->orLike("t1.created_at", $search)
|
||||
->orLike("t1.updated_at", $search)
|
||||
->groupEnd();
|
||||
}
|
||||
|
||||
public function getElementsForMenu()
|
||||
{
|
||||
public function getElementsForMenu(){
|
||||
return $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.id AS id, CONCAT(t1.ancho, ' x ', t1.alto) AS tamanio"
|
||||
)->where('is_deleted', 0)->orderBy('orden_select', 'asc')->get()->getResultObject();
|
||||
}
|
||||
|
||||
public function getElementsForMenu2($search = "")
|
||||
{
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.id AS id, CONCAT(t1.ancho, ' x ', t1.alto) AS name"
|
||||
)
|
||||
->where('is_deleted', 0)
|
||||
->where('id>', 0)
|
||||
->orderBy('orden_select', 'asc');
|
||||
|
||||
|
||||
return empty($search)
|
||||
? $builder->get()->getResultObject()
|
||||
: $builder
|
||||
->groupStart()
|
||||
->like('t1.ancho', $search)
|
||||
->orLike('t1.alto', $search)
|
||||
->groupEnd()->get()->getResultObject();
|
||||
}
|
||||
|
||||
|
||||
public function getNombre($id = -1)
|
||||
{
|
||||
try {
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"CONCAT(t1.ancho, ' x ', t1.alto) AS name"
|
||||
)
|
||||
->where('t1.id', $id);
|
||||
|
||||
return $builder->get()->getResultObject()[0]->name;
|
||||
} catch (\Exception $e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -61,37 +61,6 @@ class PapelGenericoModel extends \App\Models\BaseModel
|
||||
],
|
||||
];
|
||||
|
||||
|
||||
public function getIdFromCode(string $code=""){
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.id AS id, t1.nombre AS nombre"
|
||||
)
|
||||
->where("t1.code", $code)
|
||||
->where("t1.is_deleted", 0);
|
||||
$data = $builder->get()->getFirstRow();
|
||||
// se convierte a de stdClass a array
|
||||
$data = json_decode(json_encode($data), true);
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
public function getCodeFromId($id=0){
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.code AS code"
|
||||
)
|
||||
->where("t1.id", $id)
|
||||
->where("t1.is_deleted", 0);
|
||||
$data = $builder->get()->getFirstRow();
|
||||
// se convierte a de stdClass a array
|
||||
$data = json_decode(json_encode($data), true);
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get resource data.
|
||||
*
|
||||
|
||||
@ -322,22 +322,4 @@ class PapelImpresionModel extends \App\Models\BaseModel
|
||||
|
||||
return $builder->orderBy("t1.id", "asc")->get()->getResultObject();
|
||||
}
|
||||
|
||||
public function getPapelGenericoCode($papel_id = 0){
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select("t2.code AS code")
|
||||
->join("lg_papel_generico t2", "t1.papel_generico_id = t2.id", "left")
|
||||
->where("t1.id", $papel_id)
|
||||
->where("t1.is_deleted", 0)
|
||||
->where("t1.isActivo", 1)
|
||||
->where("t2.is_deleted", 0);
|
||||
|
||||
$result = $builder->get()->getResultObject();
|
||||
if(count($result) > 0){
|
||||
return $result[0]->code;
|
||||
}
|
||||
else
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@ class BuscadorModel extends \App\Models\BaseModel
|
||||
"comparador_json_data",
|
||||
"is_deleted",
|
||||
"comp_tipo_impresion",
|
||||
"pos_paginas_color",
|
||||
"comp_pos_paginas_color",
|
||||
"total_coste_papel",
|
||||
"total_margen_papel",
|
||||
"total_margenPercent_papel",
|
||||
|
||||
@ -1,115 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Presupuestos;
|
||||
|
||||
use CodeIgniter\Database\BaseBuilder;
|
||||
use CodeIgniter\Model;
|
||||
|
||||
class ErrorPresupuesto extends Model
|
||||
{
|
||||
protected $table = 'presupuesto_errores';
|
||||
protected $primaryKey = 'id';
|
||||
protected $useAutoIncrement = true;
|
||||
protected $returnType = 'object';
|
||||
protected $useSoftDeletes = false;
|
||||
protected $protectFields = true;
|
||||
protected $allowedFields = [
|
||||
"presupuesto_id",
|
||||
"presupuesto_user_id",
|
||||
"error",
|
||||
"datos_presupuesto",
|
||||
"visto",
|
||||
"last_user_id",
|
||||
"comment",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"deleted_at",
|
||||
];
|
||||
|
||||
protected bool $allowEmptyInserts = false;
|
||||
protected bool $updateOnlyChanged = true;
|
||||
|
||||
protected array $casts = [];
|
||||
protected array $castHandlers = [];
|
||||
|
||||
// Dates
|
||||
protected $useTimestamps = false;
|
||||
protected $dateFormat = 'datetime';
|
||||
protected $createdField = 'created_at';
|
||||
protected $updatedField = 'updated_at';
|
||||
protected $deletedField = 'deleted_at';
|
||||
|
||||
// Validation
|
||||
protected $validationRules = [];
|
||||
protected $validationMessages = [];
|
||||
protected $skipValidation = false;
|
||||
protected $cleanValidationRules = true;
|
||||
|
||||
// Callbacks
|
||||
protected $allowCallbacks = true;
|
||||
protected $beforeInsert = [];
|
||||
protected $afterInsert = [];
|
||||
protected $beforeUpdate = [];
|
||||
protected $afterUpdate = [];
|
||||
protected $beforeFind = [];
|
||||
protected $afterFind = [];
|
||||
protected $beforeDelete = [];
|
||||
protected $afterDelete = [];
|
||||
|
||||
public function insertError(int $presupuesto_id, int $presupuesto_user_id, string $error, mixed $datos)
|
||||
{
|
||||
$this->insert([
|
||||
"presupuesto_id" => $presupuesto_id,
|
||||
"presupuesto_user_id" => $presupuesto_user_id,
|
||||
"error" => $error,
|
||||
"datos_presupuesto" => json_encode($datos)
|
||||
]);
|
||||
}
|
||||
public function updateComment(int $error_presupuesto_id, string $comment): bool
|
||||
{
|
||||
$updated = $this->update($error_presupuesto_id, [
|
||||
"comment" => $comment
|
||||
]);
|
||||
return $updated;
|
||||
}
|
||||
public function getErrorPresupuestoForm(int $error_presupuesto_id) : array
|
||||
{
|
||||
$query = $this->builder()
|
||||
->select([
|
||||
"presupuesto_errores.id",
|
||||
"CONCAT(t1.first_name,' ',t1.last_name) as presupuestoUser",
|
||||
"CONCAT(t2.first_name,' ',t2.last_name) as lastUser",
|
||||
"presupuesto_errores.created_at",
|
||||
"presupuesto_errores.datos_presupuesto",
|
||||
"presupuesto_errores.error",
|
||||
"presupuesto_errores.visto",
|
||||
"presupuesto_errores.comment"
|
||||
])
|
||||
->join("users t1", "t1.id = presupuesto_errores.presupuesto_user_id", "left")
|
||||
->join("users t2", "t2.id = presupuesto_errores.last_user_id", "left")
|
||||
->where("presupuesto_errores.deleted_at", null)
|
||||
->where("presupuesto_errores.id",$error_presupuesto_id);
|
||||
return $query->get()->getResultObject();
|
||||
}
|
||||
public function getQueryDatatable(): BaseBuilder
|
||||
{
|
||||
$query = $this->builder()
|
||||
->select([
|
||||
"presupuesto_errores.id",
|
||||
"presupuestos.id as presupuestoId",
|
||||
"CONCAT(t1.first_name,' ',t1.last_name) as presupuestoUser",
|
||||
"CONCAT(t2.first_name,' ',t2.last_name) as lastUser",
|
||||
"presupuesto_errores.created_at",
|
||||
"presupuesto_errores.datos_presupuesto",
|
||||
"presupuesto_errores.error",
|
||||
"presupuesto_errores.visto",
|
||||
"presupuesto_errores.comment",
|
||||
|
||||
])
|
||||
->join("users t1", "t1.id = presupuesto_errores.presupuesto_user_id", "left")
|
||||
->join("users t2", "t2.id = presupuesto_errores.last_user_id", "left")
|
||||
->join("presupuestos", "presupuestos.id = presupuesto_errores.presupuesto_id", "left")
|
||||
->where("presupuesto_errores.deleted_at", null);
|
||||
return $query;
|
||||
}
|
||||
}
|
||||
@ -123,21 +123,4 @@ class PresupuestoDireccionesModel extends \App\Models\BaseModel
|
||||
return $builder;
|
||||
}
|
||||
|
||||
public function getDireccion($id = -1)
|
||||
{
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.id AS id, t1.att AS att,
|
||||
t1.email AS email, t1.direccion AS direccion, t1.pais_id AS pais_id, t3.nombre AS pais,
|
||||
t1.municipio AS municipio, t1.provincia AS provincia, t1.cp AS cp, t1.telefono AS telefono"
|
||||
);
|
||||
|
||||
$builder->where('t1.id', $id);
|
||||
$builder->join("lg_paises t3", "t1.pais_id = t3.id", "left");
|
||||
|
||||
|
||||
return $builder->get()->getResultObject();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -96,9 +96,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
"comparador_json_data",
|
||||
"is_deleted",
|
||||
"comp_tipo_impresion",
|
||||
"pos_paginas_color",
|
||||
"paginas_color_consecutivas",
|
||||
"papel_interior_diferente",
|
||||
"comp_pos_paginas_color",
|
||||
"total_coste_papel",
|
||||
"total_margen_papel",
|
||||
"total_margenPercent_papel",
|
||||
@ -123,15 +121,8 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
'iva_reducido',
|
||||
'excluir_rotativa',
|
||||
"acabado_cubierta_id",
|
||||
"barniz_cubierta_id",
|
||||
"estampado_cubierta_id",
|
||||
"acabado_sobrecubierta_id",
|
||||
"is_duplicado",
|
||||
'paginas_color_consecutivas',
|
||||
'papel_interior_diferente',
|
||||
'paginasCuadernillo',
|
||||
'lomo_redondo',
|
||||
'cabezada',
|
||||
"is_duplicado"
|
||||
];
|
||||
protected $returnType = "App\Entities\Presupuestos\PresupuestoEntity";
|
||||
|
||||
@ -404,47 +395,35 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
'cliente_id' => $data['clienteId'],
|
||||
'tipo_impresion_id' => $data['tipo_impresion_id'],
|
||||
'pais_id' => 1,
|
||||
'retractilado' => in_array("RETR", $data['cubierta']['acabadosCubierta']) ? 1 : 0,
|
||||
'retractilado' => in_array(3, $data['servicios']) ? 1 : 0,
|
||||
'retractilado5' => in_array(5, $data['servicios']) ? 1 : 0,
|
||||
'guardas' => in_array(62, $data['servicios']) ? 1 : 0,
|
||||
'faja_color' => in_array(16, $data['servicios']) ? 1 : 0,
|
||||
'ferro' => in_array(24, $data['servicios']) ? 1 : 0,
|
||||
'prototipo' => $data['prototipo'] ? 1 : 0,
|
||||
'prototipo' => in_array(9, $data['servicios']) ? 1 : 0,
|
||||
'papel_formato_id' => is_null($papel_formato_id) ? 0 : $papel_formato_id->id,
|
||||
'papel_formato_personalizado' => !$papel_formato_id ? 1 : 0,
|
||||
'papel_formato_ancho' => !$papel_formato_id ? $data['tamanio']['ancho'] : null,
|
||||
'papel_formato_alto' => !$papel_formato_id ? $data['tamanio']['alto'] : null,
|
||||
'titulo' => $data_cabecera['titulo'],
|
||||
'autor' => $data_cabecera['autor'],
|
||||
'ISBN' => $data_cabecera['isbn'],
|
||||
'coleccion' => $data_cabecera['coleccion'],
|
||||
'referencia_cliente' => $data_cabecera['referenciaCliente'],
|
||||
'paginas' => $data['interior']['paginas'],
|
||||
'tirada' => $tirada,
|
||||
'solapas' => $data['cubierta']['solapasCubierta'] == 0 ? 0 : 1,
|
||||
'lomo_redondo' => $data['cubierta']['lomoRedondo'] == 0 ? 0 : 1,
|
||||
'cabezada' => $data['cubierta']['cabezada'] == 0 ? 0 : 1,
|
||||
'solapas_ancho' => $data['cubierta']['solapasCubierta'] == 0 ? $data['cubierta']['solapasCubierta'] : 0,
|
||||
'solapas_sobrecubierta' => !$data['sobrecubierta'] ? 0 : 1,
|
||||
'solapas_ancho_sobrecubierta' => !$data['sobrecubierta'] ? 0 : $data['sobrecubierta']['solapas'],
|
||||
'solapas' => $data['cubierta']['solapasCubierta'] > 0 ? 1 : 0,
|
||||
'solapas_ancho' => $data['cubierta']['solapasCubierta'] > 0 ? $data['cubierta']['solapasCubierta'] : 0,
|
||||
'solapas_sobrecubierta' => is_null($data['sobrecubierta']) ? 0 : 1,
|
||||
'solapas_ancho_sobrecubierta' => is_null($data['sobrecubierta']) ? 0 : $data['sobrecubierta']['solapas'],
|
||||
'cosido' => $is_cosido,
|
||||
'merma' => $extra_info['merma'],
|
||||
'merma_cubierta' => $extra_info['merma'],
|
||||
'paginasCuadernillo' => $data['paginasCuadernillo'],
|
||||
|
||||
'comp_pos_paginas_color' => $data['interior']['pos_paginas_color'],
|
||||
'paginas_color_consecutivas' => $data['interior']['paginas_color_consecutivas'],
|
||||
'papel_interior_diferente' => $data['interior']['papelInteriorDiferente'],
|
||||
|
||||
'lomo_cubierta' => $extra_info['lomo_cubierta'],
|
||||
'lomo_sobrecubierta' => $extra_info['lomo_sobrecubierta'],
|
||||
|
||||
'comparador_json_data' => $this->generateJson($data),
|
||||
|
||||
'acabado_cubierta_id' => $data['cubierta']['acabadosCubierta']['plastificado'],
|
||||
'barniz_cubierta_id' => $data['cubierta']['acabadosCubierta']['barniz'],
|
||||
'estampado_cubierta_id' => $data['cubierta']['acabadosCubierta']['estampado'],
|
||||
'acabado_sobrecubierta_id' => !$data['sobrecubierta'] ? 0 : $data['sobrecubierta']['acabados'],
|
||||
'acabado_cubierta_id' => $data['acabadoCubierta'],
|
||||
'acabado_sobrecubierta_id' => is_null($data['sobrecubierta']) ? 0 : $data['sobrecubierta']['acabado'],
|
||||
|
||||
'comp_tipo_impresion' => $data['isHq'] ? ($data['isColor'] ? 'colorhq' : 'negrohq') : ($data['isColor'] ? 'color' : 'negro'),
|
||||
|
||||
@ -465,7 +444,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
'total_margenPercent_servicios' => round($resumen_totales['porcentajeMargenServicios'], 2),
|
||||
'total_coste_envios' => round($resumen_totales['coste_envio'], 2),
|
||||
'total_margen_envios' => round($resumen_totales['margen_envio'], 2),
|
||||
'total_costes' => round($totalCostes, 2),
|
||||
'total_costes' => round($totalCostes, 2),
|
||||
'total_margenes' => round($totalMargenes, 2),
|
||||
|
||||
'total_antes_descuento' => round($totalCostes + $totalMargenes, 2),
|
||||
@ -503,45 +482,29 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
if (is_array($data)) {
|
||||
// -- INTERIOR --
|
||||
// Si hay negro
|
||||
if (intval($data['interior']['paginas']) > intval($data['interior']['paginas_color'])) {
|
||||
if ($data['interior']['paginas'] > $data['interior']['paginas_color']) {
|
||||
|
||||
if ($data['isHq'])
|
||||
$key = 'bnhq';
|
||||
else
|
||||
$key = 'bn';
|
||||
if (array_key_exists('id', $data['interior']['papel_generico'])) {
|
||||
$papel_id = intval($data['interior']['papel_generico']['id']);
|
||||
$gramaje = intval($data['interior']['gramaje']);
|
||||
} else {
|
||||
$papel_id = intval($data['interior']['papel_generico']['negro']['id']);
|
||||
$gramaje = intval($data['interior']['gramaje']['negro']);
|
||||
}
|
||||
|
||||
|
||||
$values[$key] = array(
|
||||
'paginas' => intval($data['interior']['paginas']) - intval(intval($data['interior']['paginas_color'])),
|
||||
'papel_id' => $papel_id,
|
||||
'gramaje' => $gramaje,
|
||||
'paginas' => intval($data['interior']['paginas']) - intval($data['interior']['paginas_color']),
|
||||
'papel_id' => intval($data['interior']['papel_generico']['id']),
|
||||
'gramaje' => intval($data['interior']['gramaje']),
|
||||
);
|
||||
}
|
||||
// Si hay color
|
||||
if (intval($data['interior']['paginas_color']) > 0) {
|
||||
if ($data['interior']['paginas_color'] > 0) {
|
||||
|
||||
if ($data['isHq'])
|
||||
$key = 'colorhq';
|
||||
else
|
||||
$key = 'color';
|
||||
if (array_key_exists('id', $data['interior']['papel_generico'])) {
|
||||
$papel_id = intval($data['interior']['papel_generico']['id']);
|
||||
$gramaje = intval($data['interior']['gramaje']);
|
||||
} else {
|
||||
$papel_id = intval($data['interior']['papel_generico']['color']['id']);
|
||||
$gramaje = intval($data['interior']['gramaje']['color']);
|
||||
}
|
||||
$values[$key] = array(
|
||||
'paginas' => intval(intval($data['interior']['paginas_color'])),
|
||||
'papel_id' => $papel_id,
|
||||
'gramaje' => $gramaje,
|
||||
'paginas' => intval($data['interior']['paginas_color']),
|
||||
'papel_id' => intval($data['interior']['papel_generico']['id']),
|
||||
'gramaje' => intval($data['interior']['gramaje']),
|
||||
);
|
||||
}
|
||||
|
||||
@ -553,7 +516,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
);
|
||||
|
||||
// -- SOBRECUBIERTA --
|
||||
if ($data['sobrecubierta']) {
|
||||
if (!is_null($data['sobrecubierta'])) {
|
||||
$values['sobrecubierta'] = array(
|
||||
'papel_id' => intval($data['sobrecubierta']['papel']),
|
||||
'gramaje' => intval($data['sobrecubierta']['gramaje']),
|
||||
@ -579,7 +542,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.id AS numero, t1.tipo_impresion_id as tipo, t1.tirada AS unidades, t1.total_aceptado as total, t1.paginas AS paginas,
|
||||
"t1.id AS numero, t1.tipo_impresion_id as tipo, t1.tirada AS unidades, t1.total_aceptado as total, t1.paginas AS paginas,
|
||||
t1.titulo AS titulo, t1.autor AS autor, t1.isbn AS isbn,
|
||||
t1.papel_formato_id AS papel_formato_id, t1.papel_formato_personalizado AS papel_formato_personalizado,
|
||||
t1.papel_formato_ancho AS papel_formato_ancho, t1.papel_formato_alto AS papel_formato_alto,
|
||||
@ -587,7 +550,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
t3.codigo AS codigo_encuadernacion,
|
||||
t1.solapas AS solapas_cubierta, CAST(t1.solapas_ancho AS INT) AS solapas_ancho_cubierta,
|
||||
t1.solapas_sobrecubierta AS solapas_sobrecubierta, CAST(t1.solapas_ancho_sobrecubierta AS INT) AS solapas_ancho_sobrecubierta,"
|
||||
);
|
||||
);
|
||||
$builder->join("lg_papel_formato t2", "t1.papel_formato_id = t2.id", "left");
|
||||
$builder->join("tipos_presupuestos t3", "t1.tipo_impresion_id = t3.id", "left");
|
||||
$builder->where("t1.is_deleted", 0);
|
||||
@ -622,7 +585,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
);
|
||||
$presupuesto->concepto .= $this->generarConceptoLineasPresupuestoLibro($lineas, $presupuesto);
|
||||
|
||||
$presupuesto = (object) [
|
||||
$presupuesto = (object)[
|
||||
'numero' => $presupuesto->numero,
|
||||
'unidades' => $presupuesto->unidades,
|
||||
'total' => $presupuesto->total,
|
||||
@ -671,8 +634,8 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
->join('presupuesto_manipulados', 'presupuesto_manipulados.presupuesto_id = presupuestos.id', 'left')
|
||||
->join('lg_tarifa_manipulado', 'lg_tarifa_manipulado.id = presupuesto_manipulados.tarifa_manipulado_id', 'left')
|
||||
->where('presupuestos.id', $presupuesto_id);
|
||||
|
||||
$queryExtras = $this->db->table($this->table)
|
||||
|
||||
$queryExtras = $this->db->table($this->table)
|
||||
->select(
|
||||
[
|
||||
'lg_tarifa_preimpresion.id',
|
||||
@ -682,7 +645,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
)
|
||||
->join('presupuesto_serviciosExtra', 'presupuesto_serviciosExtra.presupuesto_id = presupuestos.id', 'left')
|
||||
->join('lg_tarifa_preimpresion', 'lg_tarifa_preimpresion.id = presupuesto_serviciosExtra.tarifa_extra_id', 'left')
|
||||
->where('presupuestos.id', $presupuesto_id);
|
||||
->where('presupuestos.id', $presupuesto_id);
|
||||
|
||||
$servicios['acabado'] = $queryAcabado->get()->getResultObject();
|
||||
$servicios['manipulado'] = $queryManipulado->get()->getResultObject();
|
||||
@ -820,5 +783,5 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -15,10 +15,11 @@ class PresupuestoServiciosExtraModel extends \App\Models\BaseModel
|
||||
|
||||
const SORTABLE = [
|
||||
0 => "t2.nombre",
|
||||
1 => "t1.precio",
|
||||
1 => "t1.precio_unidad",
|
||||
2 => "t1.precio_total"
|
||||
];
|
||||
|
||||
protected $allowedFields = ["presupuesto_id", "tarifa_extra_id", "precio", "margen"];
|
||||
protected $allowedFields = ["presupuesto_id", "tarifa_extra_id", "precio_total", "precio_unidad", "margen"];
|
||||
protected $returnType = "App\Entities\Presupuestos\PresupuestoServiciosExtraEntity";
|
||||
|
||||
protected $useTimestamps = true;
|
||||
|
||||
@ -21,8 +21,6 @@ class TarifaAcabadoModel extends \App\Models\BaseModel
|
||||
|
||||
protected $allowedFields = [
|
||||
"nombre",
|
||||
"code",
|
||||
"comment",
|
||||
"precio_min",
|
||||
"importe_fijo",
|
||||
"mostrar_en_presupuesto",
|
||||
@ -85,13 +83,13 @@ class TarifaAcabadoModel extends \App\Models\BaseModel
|
||||
public function getResource(string $search = "")
|
||||
{
|
||||
$builder = $this->db->table($this->table . " t1")->select(
|
||||
"t1.id AS id, t1.nombre AS nombre,t1.code AS code, t1.precio_min AS precio_min, t1.importe_fijo AS importe_fijo,
|
||||
"t1.id AS id, t1.nombre AS nombre, t1.precio_min AS precio_min, t1.importe_fijo AS importe_fijo,
|
||||
t1.mostrar_en_presupuesto AS mostrar_en_presupuesto, t1.acabado_cubierta AS acabado_cubierta, t1.acabado_sobrecubierta AS acabado_sobrecubierta"
|
||||
);
|
||||
|
||||
//JJO
|
||||
$builder->where("t1.is_deleted", 0);
|
||||
|
||||
|
||||
return empty($search)
|
||||
? $builder
|
||||
: $builder
|
||||
@ -116,9 +114,8 @@ class TarifaAcabadoModel extends \App\Models\BaseModel
|
||||
return $builder->orderBy("t1.nombre", "asc")->get()->getResultObject();
|
||||
}
|
||||
|
||||
public function getTarifaPresupuestoAcabado($tarifa_id, $tirada, $proveedor_id = -1)
|
||||
{
|
||||
|
||||
public function getTarifaPresupuestoAcabado($tarifa_id, $tirada, $proveedor_id = -1){
|
||||
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
@ -131,18 +128,18 @@ class TarifaAcabadoModel 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);
|
||||
$builder->where('t2.tirada_min <=', $tirada);
|
||||
$builder->where('t2.tirada_max >=', $tirada);
|
||||
|
||||
if ($proveedor_id != -1) {
|
||||
|
||||
if($proveedor_id != -1){
|
||||
$builder->where('t2.proveedor_id', $proveedor_id);
|
||||
}
|
||||
return $builder->get()->getResultObject();
|
||||
}
|
||||
|
||||
public function getNombreTarifaAcabado($id = -1)
|
||||
public function getNombreTarifaAcabado($id=-1)
|
||||
{
|
||||
/*
|
||||
Todos los servicios de encuadernacion activas que se pueden usar en presupuestos
|
||||
@ -187,23 +184,4 @@ class TarifaAcabadoModel extends \App\Models\BaseModel
|
||||
|
||||
return $builder->orderBy("t1.id", "asc")->get()->getResultObject();
|
||||
}
|
||||
|
||||
public function getCodeFromId($id = 0)
|
||||
{
|
||||
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.code AS code"
|
||||
)
|
||||
->where("t1.id", $id)
|
||||
->where("t1.is_deleted", 0);
|
||||
|
||||
$data = $builder->get()->getResultObject();
|
||||
if (count($data) > 0) {
|
||||
return $data[0]->code;
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,8 +22,6 @@ class TarifaEncuadernacionModel extends \App\Models\BaseModel
|
||||
|
||||
protected $allowedFields = [
|
||||
"nombre",
|
||||
"code",
|
||||
"comment",
|
||||
"mostrar_en_presupuesto",
|
||||
"tipo_encuadernacion",
|
||||
"servicio_encuadernacion",
|
||||
@ -67,7 +65,7 @@ class TarifaEncuadernacionModel extends \App\Models\BaseModel
|
||||
*/
|
||||
public function getResource(string $search = "")
|
||||
{
|
||||
$builder = $this->db->table($this->table . " t1")->select("t1.id AS id, t1.nombre AS nombre, t1.code AS code,
|
||||
$builder = $this->db->table($this->table . " t1")->select("t1.id AS id, t1.nombre AS nombre,
|
||||
t1.mostrar_en_presupuesto AS mostrar_en_presupuesto,
|
||||
t1.tipo_encuadernacion AS tipo_encuadernacion, t1.servicio_encuadernacion AS servicio_encuadernacion,
|
||||
t1.por_horas AS por_horas");
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Tarifas;
|
||||
|
||||
class TarifaEnvioModel extends \App\Models\BaseModel
|
||||
@ -18,7 +17,7 @@ class TarifaEnvioModel extends \App\Models\BaseModel
|
||||
1 => "t2.nombre",
|
||||
];
|
||||
|
||||
protected $allowedFields = ["pais_id", "nombre", "code", "comment", "deleted_at", "is_deleted"];
|
||||
protected $allowedFields = ["pais_id", "nombre","deleted_at","is_deleted"];
|
||||
protected $returnType = "App\Entities\Tarifas\TarifaEnvioEntity";
|
||||
|
||||
protected $useTimestamps = true;
|
||||
@ -74,7 +73,7 @@ class TarifaEnvioModel extends \App\Models\BaseModel
|
||||
*/
|
||||
public function getResource(string $search = "")
|
||||
{
|
||||
$builder = $this->db->table($this->table . " t1")->select("t1.id as id, t1.nombre AS nombre,t1.code AS code, t2.nombre AS pais_id");
|
||||
$builder = $this->db->table($this->table . " t1")->select("t1.id as id, t1.nombre AS nombre, t2.nombre AS pais_id");
|
||||
$builder->join("lg_paises t2", "t1.pais_id = t2.id", "left");
|
||||
|
||||
//JJO
|
||||
@ -83,44 +82,43 @@ class TarifaEnvioModel extends \App\Models\BaseModel
|
||||
return empty($search)
|
||||
? $builder
|
||||
: $builder
|
||||
->groupStart()
|
||||
->like("t1.nombre", $search)
|
||||
->orLike("t2.code", $search)
|
||||
->orLike("t2.id", $search)
|
||||
->orLike("t1.pais_id", $search)
|
||||
->orLike("t1.nombre", $search)
|
||||
->orLike("t2.nombre", $search)
|
||||
->groupEnd();
|
||||
->groupStart()
|
||||
->like("t1.nombre", $search)
|
||||
->orLike("t2.id", $search)
|
||||
->orLike("t1.pais_id", $search)
|
||||
->orLike("t1.nombre", $search)
|
||||
->orLike("t2.nombre", $search)
|
||||
->groupEnd();
|
||||
}
|
||||
|
||||
public function getTarifaEnvio($paisId, string $cp, $peso, $tipo_envio)
|
||||
{
|
||||
public function getTarifaEnvio($paisId, string $cp, $peso, $tipo_envio){
|
||||
// Si el pais es españa se tienen que tener en cuenta los postales
|
||||
// Se busca primero la tarifa a la que corresponde
|
||||
$builder = $this->db->table($this->table . " t1")
|
||||
->select("t1.id AS tarifa_envio_id, t2.importe_fijo as importe_fijo")
|
||||
->join("tarifas_envios_zonas t2", "t1.id = t2.tarifa_envio_id")
|
||||
->where("t1.pais_id", $paisId)
|
||||
->where("t1.is_deleted", 0)
|
||||
->where("t2.is_deleted", 0);
|
||||
|
||||
if ($paisId == 1) { // España
|
||||
->select("t1.id AS tarifa_envio_id, t2.importe_fijo as importe_fijo")
|
||||
->join("tarifas_envios_zonas t2", "t1.id = t2.tarifa_envio_id")
|
||||
->where("t1.pais_id", $paisId)
|
||||
->where("t1.is_deleted", 0)
|
||||
->where("t2.is_deleted", 0);
|
||||
|
||||
if($paisId == 1) {// España
|
||||
$builder->where("CAST(t2.cp_inicial AS UNSIGNED)<=", intval($cp))
|
||||
->where("CAST(t2.cp_final AS UNSIGNED) >=", intval($cp));
|
||||
->where("CAST(t2.cp_final AS UNSIGNED) >=", intval($cp));
|
||||
}
|
||||
$tarifas = $builder->get()->getResultObject();
|
||||
|
||||
$resultado = [];
|
||||
|
||||
|
||||
$model = model('App\Models\Tarifas\TarifaEnvioPrecioModel');
|
||||
foreach ($tarifas as $tarifa) {
|
||||
foreach($tarifas as $tarifa){
|
||||
$precio_tarifas = $model->getEnvioPrecio($tarifa->tarifa_envio_id, $peso, $tipo_envio);
|
||||
foreach ($precio_tarifas as $precio_tarifa) {
|
||||
foreach($precio_tarifas as $precio_tarifa){
|
||||
$precio_tarifa->importe_fijo = $tarifa->importe_fijo;
|
||||
array_push($resultado, $precio_tarifa);
|
||||
}
|
||||
}
|
||||
|
||||
return $resultado;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,8 +22,6 @@ class TarifaManipuladoModel extends \App\Models\BaseModel
|
||||
protected $allowedFields = [
|
||||
"nombre",
|
||||
"precio_min",
|
||||
"code",
|
||||
"comment",
|
||||
"importe_fijo",
|
||||
"mostrar_en_presupuesto",
|
||||
"deleted_at",
|
||||
@ -82,7 +80,7 @@ class TarifaManipuladoModel extends \App\Models\BaseModel
|
||||
*/
|
||||
public function getResource(string $search = "")
|
||||
{
|
||||
$builder = $this->db->table($this->table . " t1")->select("t1.id AS id,t1.code AS code, t1.nombre AS nombre, t1.precio_min AS precio_min, t1.importe_fijo AS importe_fijo
|
||||
$builder = $this->db->table($this->table . " t1")->select("t1.id AS id, t1.nombre AS nombre, t1.precio_min AS precio_min, t1.importe_fijo AS importe_fijo
|
||||
,t1.mostrar_en_presupuesto AS mostrar_en_presupuesto");
|
||||
|
||||
//JJO
|
||||
|
||||
@ -13,9 +13,7 @@ class TarifaextraModel extends \App\Models\BaseModel
|
||||
protected $useAutoIncrement = true;
|
||||
|
||||
protected $allowedFields = [
|
||||
"nombre",
|
||||
"code",
|
||||
"comment",
|
||||
"nombre",
|
||||
"precio",
|
||||
"margen",
|
||||
"mostrar_en_presupuesto",
|
||||
|
||||
@ -13,9 +13,7 @@ class TarifapreimpresionModel extends \App\Models\BaseModel
|
||||
protected $useAutoIncrement = true;
|
||||
|
||||
protected $allowedFields = [
|
||||
"nombre",
|
||||
"code",
|
||||
"comment",
|
||||
"nombre",
|
||||
"precio",
|
||||
"margen",
|
||||
"mostrar_en_presupuesto",
|
||||
@ -39,14 +37,6 @@ class TarifapreimpresionModel extends \App\Models\BaseModel
|
||||
"label" => "Tarifapreimpresion.nombre",
|
||||
"rules" => "trim|required|max_length[255]",
|
||||
],
|
||||
"code" => [
|
||||
"label" => "Tarifapreimpresion.code",
|
||||
"rules" => "trim|required|max_length[5]",
|
||||
],
|
||||
"comment" => [
|
||||
"label" => "Tarifapreimpresion.comment",
|
||||
"rules" => "trim|max_length[255]",
|
||||
],
|
||||
"precio" => [
|
||||
"label" => "Tarifapreimpresion.precio",
|
||||
"rules" => "required|decimal",
|
||||
@ -62,14 +52,6 @@ class TarifapreimpresionModel extends \App\Models\BaseModel
|
||||
"max_length" => "Tarifapreimpresion.validation.nombre.max_length",
|
||||
"required" => "Tarifapreimpresion.validation.nombre.required",
|
||||
],
|
||||
"code" => [
|
||||
"max_length" => "Tarifapreimpresion.validation.code.max_length",
|
||||
"required" => "Tarifapreimpresion.validation.code.required",
|
||||
],
|
||||
"comment" => [
|
||||
"max_length" => "Tarifapreimpresion.validation.comment.max_length",
|
||||
"required" => "Tarifapreimpresion.validation.comment.required",
|
||||
],
|
||||
"precio" => [
|
||||
"decimal" => "Tarifapreimpresion.validation.precio.decimal",
|
||||
"required" => "Tarifapreimpresion.validation.precio.required",
|
||||
|
||||
Reference in New Issue
Block a user