mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
añadido cambio de calidad en importador erp antiguo. falta añadirlo a rama y bubok
This commit is contained in:
@ -4,6 +4,7 @@ namespace App\Controllers\Presupuestos;
|
|||||||
|
|
||||||
use App\Models\Presupuestos\ImportadorModel;
|
use App\Models\Presupuestos\ImportadorModel;
|
||||||
use App\Models\Clientes\ClienteModel;
|
use App\Models\Clientes\ClienteModel;
|
||||||
|
use App\Services\PresupuestoService;
|
||||||
use stdClass;
|
use stdClass;
|
||||||
|
|
||||||
class Importadorpresupuestos extends \App\Controllers\BaseResourceController
|
class Importadorpresupuestos extends \App\Controllers\BaseResourceController
|
||||||
@ -484,6 +485,14 @@ class Importadorpresupuestos extends \App\Controllers\BaseResourceController
|
|||||||
$isColor = true;
|
$isColor = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// se recalcula isColor y isHq
|
||||||
|
[$isColor, $isHq] = PresupuestoService::getCalidad(
|
||||||
|
'admin',
|
||||||
|
null,
|
||||||
|
$isColor,
|
||||||
|
$isHq,
|
||||||
|
intval($this->request->getPost('tirada') ?? 0));
|
||||||
|
|
||||||
$tapaCubierta = model('App\Models\Configuracion\TipoPresupuestoModel')->
|
$tapaCubierta = model('App\Models\Configuracion\TipoPresupuestoModel')->
|
||||||
select("is_tapa_dura")->where('id', $tipo_presupuesto_id)->first();
|
select("is_tapa_dura")->where('id', $tipo_presupuesto_id)->first();
|
||||||
$tapaCubierta = $tapaCubierta->is_tapa_dura == 0 ? "tapaBlanda" : "tapaDura";
|
$tapaCubierta = $tapaCubierta->is_tapa_dura == 0 ? "tapaBlanda" : "tapaDura";
|
||||||
|
|||||||
@ -332,10 +332,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$cliente_model = model(('App\Models\Clientes\ClienteModel'));
|
$cliente_model = model(('App\Models\Clientes\ClienteModel'));
|
||||||
$cliente = $cliente_model->find($cliente_id);
|
$cliente = $cliente_model->find($cliente_id);
|
||||||
// Para POD siempre es HQ
|
|
||||||
if ($tirada[0] <= $POD && $isColor && !$cliente->forzar_rotativa_pod) {
|
|
||||||
$isHq = true;
|
|
||||||
}
|
|
||||||
$forzarRotativa = false;
|
$forzarRotativa = false;
|
||||||
if ($tirada[0] <= $POD && $cliente->forzar_rotativa_pod) {
|
if ($tirada[0] <= $POD && $cliente->forzar_rotativa_pod) {
|
||||||
$forzarRotativa = true;
|
$forzarRotativa = true;
|
||||||
@ -467,7 +464,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
//$reqData = $this->request->getPost();
|
//$reqData = $this->request->getPost();
|
||||||
$modelPapelGenerico = new PapelGenericoModel();
|
$modelPapelGenerico = new PapelGenericoModel();
|
||||||
|
|
||||||
|
|
||||||
$id = $reqData['id'] ?? 0;
|
$id = $reqData['id'] ?? 0;
|
||||||
|
|
||||||
$cliente_id = $reqData['clienteId'] ?? -1;
|
$cliente_id = $reqData['clienteId'] ?? -1;
|
||||||
@ -764,10 +760,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$cliente_model = model(('App\Models\Clientes\ClienteModel'));
|
$cliente_model = model(('App\Models\Clientes\ClienteModel'));
|
||||||
$cliente = $cliente_model->find($cliente_id);
|
$cliente = $cliente_model->find($cliente_id);
|
||||||
// Para POD siempre es HQ cuando es color
|
|
||||||
if ($tirada[0] <= $POD && $isColor && !$cliente->forzar_rotativa_pod) {
|
|
||||||
$isHq = true;
|
|
||||||
}
|
|
||||||
$forzarRotativa = false;
|
$forzarRotativa = false;
|
||||||
if ($tirada[0] <= $POD && $cliente->forzar_rotativa_pod) {
|
if ($tirada[0] <= $POD && $cliente->forzar_rotativa_pod) {
|
||||||
$forzarRotativa = true;
|
$forzarRotativa = true;
|
||||||
@ -2087,10 +2080,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$cliente_model = model(('App\Models\Clientes\ClienteModel'));
|
$cliente_model = model(('App\Models\Clientes\ClienteModel'));
|
||||||
$cliente = $cliente_model->find($cliente_id);
|
$cliente = $cliente_model->find($cliente_id);
|
||||||
// Para POD siempre es HQ
|
|
||||||
if ($tirada[$t] <= $POD && $isColor && !$cliente->forzar_rotativa_pod) {
|
|
||||||
$isHq = true;
|
|
||||||
}
|
|
||||||
$forzarRotativa = false;
|
$forzarRotativa = false;
|
||||||
if ($tirada[$t] <= $POD && $cliente->forzar_rotativa_pod) {
|
if ($tirada[$t] <= $POD && $cliente->forzar_rotativa_pod) {
|
||||||
$forzarRotativa = true;
|
$forzarRotativa = true;
|
||||||
|
|||||||
@ -0,0 +1,76 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use CodeIgniter\Database\Migration;
|
||||||
|
|
||||||
|
class CreateSelectorCalidadImpresion extends Migration
|
||||||
|
{
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
$this->forge->addField([
|
||||||
|
'id' => [
|
||||||
|
'type' => 'INT',
|
||||||
|
'constraint' => 11,
|
||||||
|
'unsigned' => true,
|
||||||
|
'auto_increment' => true,
|
||||||
|
],
|
||||||
|
'alias' => [
|
||||||
|
'type' => 'VARCHAR',
|
||||||
|
'constraint' => 255,
|
||||||
|
],
|
||||||
|
'cliente_id' => [
|
||||||
|
'type' => 'INT',
|
||||||
|
'constraint' => 10,
|
||||||
|
'unsigned' => true,
|
||||||
|
'null' => true,
|
||||||
|
],
|
||||||
|
'isPod' => [
|
||||||
|
'type' => 'TINYINT',
|
||||||
|
'constraint' => 1,
|
||||||
|
'default' => 0,
|
||||||
|
],
|
||||||
|
'input_isColor' => [
|
||||||
|
'type' => 'TINYINT',
|
||||||
|
'constraint' => 1,
|
||||||
|
'default' => 0,
|
||||||
|
],
|
||||||
|
'input_isHq' => [
|
||||||
|
'type' => 'TINYINT',
|
||||||
|
'constraint' => 1,
|
||||||
|
'default' => 0,
|
||||||
|
],
|
||||||
|
'output_isColor' => [
|
||||||
|
'type' => 'TINYINT',
|
||||||
|
'constraint' => 1,
|
||||||
|
'default' => 0,
|
||||||
|
],
|
||||||
|
'output_isHq' => [
|
||||||
|
'type' => 'TINYINT',
|
||||||
|
'constraint' => 1,
|
||||||
|
'default' => 0,
|
||||||
|
],
|
||||||
|
'created_at' => [
|
||||||
|
'type' => 'DATETIME',
|
||||||
|
'null' => true,
|
||||||
|
],
|
||||||
|
'updated_at' => [
|
||||||
|
'type' => 'DATETIME',
|
||||||
|
'null' => true,
|
||||||
|
],
|
||||||
|
'deleted_at' => [
|
||||||
|
'type' => 'DATETIME',
|
||||||
|
'null' => true,
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->forge->addKey('id', true);
|
||||||
|
$this->forge->addForeignKey('cliente_id', 'clientes', 'id', 'CASCADE', 'SET NULL');
|
||||||
|
$this->forge->createTable('selector_calidad_impresion');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
$this->forge->dropTable('selector_calidad_impresion');
|
||||||
|
}
|
||||||
|
}
|
||||||
55
ci4/app/Database/Seeds/SelectorCalidadImpresionSeeder.php
Normal file
55
ci4/app/Database/Seeds/SelectorCalidadImpresionSeeder.php
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Database\Seeds;
|
||||||
|
|
||||||
|
use CodeIgniter\Database\Seeder;
|
||||||
|
|
||||||
|
class SelectorCalidadImpresionSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$registros = [
|
||||||
|
// admin
|
||||||
|
['alias' => 'admin', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 0, 'input_isHq' => 0, 'output_isColor' => 0, 'output_isHq' => 0],
|
||||||
|
['alias' => 'admin', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 1, 'input_isHq' => 0, 'output_isColor' => 1, 'output_isHq' => 0],
|
||||||
|
['alias' => 'admin', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 0, 'input_isHq' => 1, 'output_isColor' => 0, 'output_isHq' => 1],
|
||||||
|
['alias' => 'admin', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 1, 'input_isHq' => 1, 'output_isColor' => 1, 'output_isHq' => 1],
|
||||||
|
['alias' => 'admin', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 0, 'input_isHq' => 0, 'output_isColor' => 0, 'output_isHq' => 0],
|
||||||
|
['alias' => 'admin', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 1, 'input_isHq' => 0, 'output_isColor' => 1, 'output_isHq' => 0],
|
||||||
|
['alias' => 'admin', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 0, 'input_isHq' => 1, 'output_isColor' => 0, 'output_isHq' => 1],
|
||||||
|
['alias' => 'admin', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 1, 'input_isHq' => 1, 'output_isColor' => 1, 'output_isHq' => 1],
|
||||||
|
|
||||||
|
// cliente
|
||||||
|
['alias' => 'cliente', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 0, 'input_isHq' => 0, 'output_isColor' => 0, 'output_isHq' => 0],
|
||||||
|
['alias' => 'cliente', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 1, 'input_isHq' => 0, 'output_isColor' => 1, 'output_isHq' => 0],
|
||||||
|
['alias' => 'cliente', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 0, 'input_isHq' => 1, 'output_isColor' => 0, 'output_isHq' => 1],
|
||||||
|
['alias' => 'cliente', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 1, 'input_isHq' => 1, 'output_isColor' => 1, 'output_isHq' => 1],
|
||||||
|
['alias' => 'cliente', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 0, 'input_isHq' => 0, 'output_isColor' => 0, 'output_isHq' => 0],
|
||||||
|
['alias' => 'cliente', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 1, 'input_isHq' => 0, 'output_isColor' => 1, 'output_isHq' => 0],
|
||||||
|
['alias' => 'cliente', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 0, 'input_isHq' => 1, 'output_isColor' => 0, 'output_isHq' => 1],
|
||||||
|
['alias' => 'cliente', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 1, 'input_isHq' => 1, 'output_isColor' => 1, 'output_isHq' => 1],
|
||||||
|
|
||||||
|
// importador-rama
|
||||||
|
['alias' => 'importador-rama', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 0, 'input_isHq' => 0, 'output_isColor' => 0, 'output_isHq' => 0],
|
||||||
|
['alias' => 'importador-rama', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 1, 'input_isHq' => 0, 'output_isColor' => 0, 'output_isHq' => 0],
|
||||||
|
['alias' => 'importador-rama', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 0, 'input_isHq' => 1, 'output_isColor' => 0, 'output_isHq' => 0],
|
||||||
|
['alias' => 'importador-rama', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 1, 'input_isHq' => 1, 'output_isColor' => 1, 'output_isHq' => 0],
|
||||||
|
['alias' => 'importador-rama', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 0, 'input_isHq' => 0, 'output_isColor' => 0, 'output_isHq' => 0],
|
||||||
|
['alias' => 'importador-rama', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 1, 'input_isHq' => 0, 'output_isColor' => 1, 'output_isHq' => 0],
|
||||||
|
['alias' => 'importador-rama', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 0, 'input_isHq' => 1, 'output_isColor' => 0, 'output_isHq' => 0],
|
||||||
|
['alias' => 'importador-rama', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 1, 'input_isHq' => 1, 'output_isColor' => 1, 'output_isHq' => 0],
|
||||||
|
|
||||||
|
// importador-bubok
|
||||||
|
['alias' => 'importador-bubok', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 0, 'input_isHq' => 0, 'output_isColor' => 0, 'output_isHq' => 0],
|
||||||
|
['alias' => 'importador-bubok', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 1, 'input_isHq' => 0, 'output_isColor' => 1, 'output_isHq' => 1],
|
||||||
|
['alias' => 'importador-bubok', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 0, 'input_isHq' => 1, 'output_isColor' => 0, 'output_isHq' => 1],
|
||||||
|
['alias' => 'importador-bubok', 'cliente_id' => null, 'isPod' => 0, 'input_isColor' => 1, 'input_isHq' => 1, 'output_isColor' => 1, 'output_isHq' => 1],
|
||||||
|
['alias' => 'importador-bubok', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 0, 'input_isHq' => 0, 'output_isColor' => 1, 'output_isHq' => 1],
|
||||||
|
['alias' => 'importador-bubok', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 1, 'input_isHq' => 0, 'output_isColor' => 1, 'output_isHq' => 1],
|
||||||
|
['alias' => 'importador-bubok', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 0, 'input_isHq' => 1, 'output_isColor' => 1, 'output_isHq' => 1],
|
||||||
|
['alias' => 'importador-bubok', 'cliente_id' => null, 'isPod' => 1, 'input_isColor' => 1, 'input_isHq' => 1, 'output_isColor' => 1, 'output_isHq' => 1],
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->db->table('selector_calidad_impresion')->insertBatch($registros);
|
||||||
|
}
|
||||||
|
}
|
||||||
28
ci4/app/Entities/Configuracion/SelectorCalidadImpresion.php
Normal file
28
ci4/app/Entities/Configuracion/SelectorCalidadImpresion.php
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Entities\Configuracion;
|
||||||
|
|
||||||
|
use CodeIgniter\Entity\Entity;
|
||||||
|
|
||||||
|
class SelectorCalidadImpresion extends Entity
|
||||||
|
{
|
||||||
|
protected $attributes = [
|
||||||
|
'alias' => null,
|
||||||
|
'cliente_id' => null,
|
||||||
|
'isPod' => 0,
|
||||||
|
'input_isColor' => 0,
|
||||||
|
'input_isHq' => 0,
|
||||||
|
'output_isColor' => 0,
|
||||||
|
'output_isHq' => 0,
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $datamap = [];
|
||||||
|
protected $dates = ['created_at', 'updated_at', 'deleted_at'];
|
||||||
|
protected $casts = [
|
||||||
|
'isPod' => 'boolean',
|
||||||
|
'input_isColor' => 'boolean',
|
||||||
|
'input_isHq' => 'boolean',
|
||||||
|
'output_isColor' => 'boolean',
|
||||||
|
'output_isHq' => 'boolean',
|
||||||
|
];
|
||||||
|
}
|
||||||
@ -0,0 +1,71 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models\Configuracion;
|
||||||
|
|
||||||
|
use CodeIgniter\Model;
|
||||||
|
use App\Entities\Configuracion\SelectorCalidadImpresion;
|
||||||
|
|
||||||
|
class SelectorCalidadImpresionModel extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'selector_calidad_impresion';
|
||||||
|
protected $primaryKey = 'id';
|
||||||
|
protected $returnType = SelectorCalidadImpresion::class;
|
||||||
|
protected $useSoftDeletes = true;
|
||||||
|
protected $allowedFields = [
|
||||||
|
'alias',
|
||||||
|
'cliente_id',
|
||||||
|
'isPod',
|
||||||
|
'input_isColor',
|
||||||
|
'input_isHq',
|
||||||
|
'output_isColor',
|
||||||
|
'output_isHq',
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $useTimestamps = true;
|
||||||
|
protected $createdField = 'created_at';
|
||||||
|
protected $updatedField = 'updated_at';
|
||||||
|
protected $deletedField = 'deleted_at';
|
||||||
|
|
||||||
|
protected $validationRules = [];
|
||||||
|
protected $validationMessages = [];
|
||||||
|
protected $skipValidation = false;
|
||||||
|
|
||||||
|
public function getCalidadImpresion($alias = 'cliente', $cliente_id = null, $isColor = 0, $isHq = 0, $tirada = 100)
|
||||||
|
{
|
||||||
|
$pod = intval(model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value);
|
||||||
|
$isPoD = $tirada <= $pod ? 1 : 0;
|
||||||
|
$builder = $this->db
|
||||||
|
->table($this->table . " t1")
|
||||||
|
->select('output_isColor, output_isHq')
|
||||||
|
->where('alias', $alias)
|
||||||
|
->where('input_isColor', $isColor)
|
||||||
|
->where('input_isHq', $isHq)
|
||||||
|
->where('isPod', $isPoD)
|
||||||
|
->where('deleted_at', null);
|
||||||
|
if ($cliente_id) {
|
||||||
|
$builder->where('cliente_id', $cliente_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
$output_isColor = 0;
|
||||||
|
$output_isHq = 0;
|
||||||
|
|
||||||
|
$result = $builder->get()->getRowArray();
|
||||||
|
if ($result){
|
||||||
|
$output_isColor = $result['output_isColor'];
|
||||||
|
$output_isHq = $result['output_isHq'];
|
||||||
|
|
||||||
|
return [
|
||||||
|
'status' => true,
|
||||||
|
'isColor' => $output_isColor,
|
||||||
|
'isHq' => $output_isHq,
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
return [
|
||||||
|
'status' => false,
|
||||||
|
'isColor' => $output_isColor,
|
||||||
|
'isHq' => $output_isHq,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -41,7 +41,7 @@ class ImportadorModel extends \App\Models\BaseModel
|
|||||||
|
|
||||||
$db = \Config\Database::connect($this->DBGroup); // Conectar a olderp
|
$db = \Config\Database::connect($this->DBGroup); // Conectar a olderp
|
||||||
$builder = $db->table('pedido_libro t1')
|
$builder = $db->table('pedido_libro t1')
|
||||||
->select('t1.paginas, t1.tirada, t1.papel_formato_personalizado,
|
->select('t1.paginas, t1.tirada, t1.papel_formato_personalizado, t1.customer_id,
|
||||||
t1.papel_formato_ancho as papel_formato_personalizado_ancho,
|
t1.papel_formato_ancho as papel_formato_personalizado_ancho,
|
||||||
t1.papel_formato_alto as papel_formato_personalizado_alto,
|
t1.papel_formato_alto as papel_formato_personalizado_alto,
|
||||||
t2.ancho as papel_formato_ancho, t2.alto as papel_formato_alto,
|
t2.ancho as papel_formato_ancho, t2.alto as papel_formato_alto,
|
||||||
|
|||||||
@ -2076,4 +2076,15 @@ class PresupuestoService extends BaseService
|
|||||||
|
|
||||||
return round($merma, 0);
|
return round($merma, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static function getCalidad($alias, $cliente_id, $isColor, $isHq, $tirada)
|
||||||
|
{
|
||||||
|
$model = model('App\Models\Configuracion\SelectorCalidadImpresionModel');
|
||||||
|
$calidad = $model->getCalidadImpresion($alias, $cliente_id, $isColor, $isHq, $tirada);
|
||||||
|
if ($calidad) {
|
||||||
|
return [$calidad['isColor'], $calidad['isHq']];
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user