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\Clientes\ClienteModel;
|
||||
use App\Services\PresupuestoService;
|
||||
use stdClass;
|
||||
|
||||
class Importadorpresupuestos extends \App\Controllers\BaseResourceController
|
||||
@ -484,6 +485,14 @@ class Importadorpresupuestos extends \App\Controllers\BaseResourceController
|
||||
$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')->
|
||||
select("is_tapa_dura")->where('id', $tipo_presupuesto_id)->first();
|
||||
$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 = $cliente_model->find($cliente_id);
|
||||
// Para POD siempre es HQ
|
||||
if ($tirada[0] <= $POD && $isColor && !$cliente->forzar_rotativa_pod) {
|
||||
$isHq = true;
|
||||
}
|
||||
|
||||
$forzarRotativa = false;
|
||||
if ($tirada[0] <= $POD && $cliente->forzar_rotativa_pod) {
|
||||
$forzarRotativa = true;
|
||||
@ -467,7 +464,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
//$reqData = $this->request->getPost();
|
||||
$modelPapelGenerico = new PapelGenericoModel();
|
||||
|
||||
|
||||
$id = $reqData['id'] ?? 0;
|
||||
|
||||
$cliente_id = $reqData['clienteId'] ?? -1;
|
||||
@ -764,10 +760,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
$cliente_model = model(('App\Models\Clientes\ClienteModel'));
|
||||
$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;
|
||||
if ($tirada[0] <= $POD && $cliente->forzar_rotativa_pod) {
|
||||
$forzarRotativa = true;
|
||||
@ -2087,10 +2080,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
$cliente_model = model(('App\Models\Clientes\ClienteModel'));
|
||||
$cliente = $cliente_model->find($cliente_id);
|
||||
// Para POD siempre es HQ
|
||||
if ($tirada[$t] <= $POD && $isColor && !$cliente->forzar_rotativa_pod) {
|
||||
$isHq = true;
|
||||
}
|
||||
|
||||
$forzarRotativa = false;
|
||||
if ($tirada[$t] <= $POD && $cliente->forzar_rotativa_pod) {
|
||||
$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
|
||||
$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_alto as papel_formato_personalizado_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);
|
||||
}
|
||||
|
||||
|
||||
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