mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
trabajando en el importador
This commit is contained in:
@ -71,7 +71,7 @@ class Database extends Config
|
||||
'busyTimeout' => 1000,
|
||||
];
|
||||
|
||||
public array $olderp = [
|
||||
public array $old_erp = [
|
||||
'DSN' => '',
|
||||
'hostname' => 'localhost',
|
||||
'username' => '',
|
||||
|
||||
@ -675,6 +675,13 @@ $routes->group('presupuestocliente', ['namespace' => 'App\Controllers\Presupuest
|
||||
});
|
||||
$routes->resource('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestocliente', 'except' => 'show,new,create,update']);
|
||||
|
||||
$routes->group('importador', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
|
||||
$routes->get('', 'Importadorpresupuestos::index', ['as' => 'importadorPresupuestos']);
|
||||
$routes->get('clientlist', 'Importadorpresupuestos::getClientList', ['as' => 'clientList']);
|
||||
$routes->get('presupuestoslist', 'Importadorpresupuestos::getPresupuestosList', ['as' => 'presupuestosList']);
|
||||
});
|
||||
$routes->resource('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestocliente', 'except' => 'show,new,create,update']);
|
||||
|
||||
$routes->group('serviciosacabados', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
|
||||
$routes->get('getacabados', 'Presupuestoacabados::getAcabados');
|
||||
$routes->post('getvalues', 'Presupuestoacabados::getRowValues');
|
||||
|
||||
88
ci4/app/Controllers/Presupuestos/Importadorpresupuestos.php
Normal file
88
ci4/app/Controllers/Presupuestos/Importadorpresupuestos.php
Normal file
@ -0,0 +1,88 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Presupuestos;
|
||||
|
||||
use App\Models\Presupuestos\ImportadorModel;
|
||||
use App\Models\Clientes\ClienteModel;
|
||||
|
||||
class Importadorpresupuestos extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
protected $modelName = "ImportadorModel";
|
||||
protected $format = 'json';
|
||||
|
||||
protected static $singularObjectName = 'Importadorpresupuesto';
|
||||
protected static $singularObjectNameCc = 'Importadorpresupuesto';
|
||||
protected static $pluralObjectName = 'ImportadorPresupuestos';
|
||||
protected static $pluralObjectNameCc = 'Importadorpresupuestos';
|
||||
|
||||
protected static $controllerSlug = 'importadorpresupuestos';
|
||||
|
||||
protected static $viewPath = 'themes/vuexy/form/presupuestos/importador/';
|
||||
|
||||
protected $indexRoute = 'listaPresupuestos';
|
||||
|
||||
|
||||
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
|
||||
{
|
||||
|
||||
$this->viewData['usingSweetAlert'] = true;
|
||||
|
||||
$this->viewData = ['usingServerSideDataTable' => true]; // JJO
|
||||
|
||||
// Breadcrumbs
|
||||
$this->viewData['breadcrumb'] = [
|
||||
['title' => lang("App.menu_presupuestos"), 'route' => "javascript:void(0);", 'active' => false],
|
||||
['title' => "Listado", 'route' => site_url('presupuestocliente/list'), 'active' => true]
|
||||
];
|
||||
$this->messageService = service('messages');
|
||||
|
||||
parent::initController($request, $response, $logger);
|
||||
$this->model = new ImportadorModel();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$viewData = [
|
||||
'currentModule' => static::$controllerSlug,
|
||||
'pageSubTitle' => lang('Basic.global.ManageAllRecords', [lang('Presupuestos.moduleName')]),
|
||||
];
|
||||
|
||||
$viewData = array_merge($this->viewData, $viewData); // merge any possible values from the parent controller class
|
||||
|
||||
return view(static::$viewPath . 'viewImportadorPresupuestos', $viewData);
|
||||
}
|
||||
|
||||
public function getClientList()
|
||||
{
|
||||
|
||||
$search = "";
|
||||
|
||||
if ($this->request->getGet("q")) {
|
||||
$search = $this->request->getGet("q");
|
||||
}
|
||||
|
||||
$dataOld = (new ImportadorModel())->getClientList();
|
||||
$dataNew = (new ClienteModel())->getIdName($search);
|
||||
|
||||
$newKeys = array_map(fn($item) => $item->id . '_' . $item->name, $dataNew);
|
||||
|
||||
// Filtrar $dataOld para obtener solo los elementos comunes
|
||||
$commonData = array_filter($dataOld, fn($item) => in_array($item->id . '_' . $item->name, $newKeys));
|
||||
|
||||
return $this->response->setJSON(array_values($commonData));
|
||||
}
|
||||
|
||||
public function getPresupuestosList(){
|
||||
|
||||
$search = "";
|
||||
|
||||
if ($this->request->getGet("q")) {
|
||||
$search = $this->request->getGet("q");
|
||||
}
|
||||
$clienteId = $this->request->getGet("clienteId");
|
||||
|
||||
$data = (new ImportadorModel())->getPresupuestosList($clienteId, $search);
|
||||
|
||||
return $this->response->setJSON($data);
|
||||
}
|
||||
}
|
||||
@ -3515,33 +3515,4 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
return $servicios;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function testRemoteDB()
|
||||
{
|
||||
|
||||
/* Añadir en .env
|
||||
|
||||
database.old_erp.hostname = 82.223.102.252
|
||||
database.old_erp.database = safekat
|
||||
database.old_erp.username = safekatdb
|
||||
database.old_erp.password = 0$Va3t8e
|
||||
database.old_erp.DBDriver = MySQLi
|
||||
database.old_erp.DBPrefix =
|
||||
database.old_erp.port = 3306
|
||||
|
||||
*/
|
||||
|
||||
$model = model('App\Models\Presupuestos\ImportadorModel');
|
||||
|
||||
|
||||
var_dump($model->where('id', 522314)->findAll());
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -3,10 +3,12 @@
|
||||
namespace App\Controllers;
|
||||
|
||||
use App\Controllers\BaseController;
|
||||
use App\Controllers\Presupuestos\Importadorpresupuestos;
|
||||
use App\Controllers\Presupuestos\Presupuestocliente;
|
||||
use App\Models\Configuracion\MaquinasTarifasImpresionModel;
|
||||
use App\Models\Configuracion\PapelGenericoModel;
|
||||
use App\Models\Configuracion\MaquinaModel;
|
||||
use App\Models\Presupuestos\ImportadorModel;
|
||||
use App\Models\Presupuestos\PresupuestoModel;
|
||||
use App\Models\Usuarios\GroupModel;
|
||||
use App\Models\Usuarios\PermisosModel;
|
||||
@ -28,7 +30,8 @@ class Test extends BaseController
|
||||
public function index()
|
||||
{
|
||||
|
||||
(new Presupuestocliente())->testRemoteDB();
|
||||
// (new Presupuestocliente())->testRemoteDB();
|
||||
(new Importadorpresupuestos())->getClientList();
|
||||
|
||||
|
||||
|
||||
|
||||
@ -385,4 +385,21 @@ class ClienteModel extends \App\Models\BaseModel
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public function getIdName($search = "")
|
||||
{
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.id AS id, t1.nombre AS name"
|
||||
)
|
||||
->where("is_deleted", 0);
|
||||
return empty($search)
|
||||
? $builder->get()->getResultObject()
|
||||
: $builder
|
||||
->groupStart()
|
||||
->like("t1.nombre", $search)
|
||||
->groupEnd()->get()->getResultObject();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,7 +9,35 @@ class ImportadorModel extends \App\Models\BaseModel
|
||||
//protected $allowedFields = ['ticket_number', 'order_id', 'created_at', 'updated_at', 'deleted_at', 'check_in'];
|
||||
|
||||
// Define the alternative connection group
|
||||
protected $DBGroup = 'olderp';
|
||||
protected $DBGroup = 'old_erp';
|
||||
|
||||
public function getClientList(){
|
||||
|
||||
$db = \Config\Database::connect($this->DBGroup); // Conectar a olderp
|
||||
$builder = $db->table('customers');
|
||||
$builder->select('id, name');
|
||||
$builder->where('deleted_at', NULL);
|
||||
$query = $builder->get();
|
||||
return $query->getResultObject();
|
||||
}
|
||||
|
||||
|
||||
public function getPresupuestosList($clienteId, $search = ""){
|
||||
|
||||
$db = \Config\Database::connect($this->DBGroup); // Conectar a olderp
|
||||
$builder = $db->table('pedido_libro');
|
||||
$builder->select('id as id, CONCAT(id, " - ", titulo) as name');
|
||||
$builder->where('customer_id', $clienteId);
|
||||
$builder->where('estado', 'finalizado');
|
||||
$builder->where('deleted_at', NULL);
|
||||
|
||||
return empty($search) ?
|
||||
$builder->get()->getResultObject() :
|
||||
$builder->groupStart()->
|
||||
like('titulo', $search)->
|
||||
orLike('id', $search)->
|
||||
groupEnd()->get()->getResultObject();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,66 @@
|
||||
<?= $this->include('themes/_commonPartialsBs/datatables') ?>
|
||||
<?= $this->include("themes/_commonPartialsBs/select2bs5") ?>
|
||||
<?= $this->include("themes/_commonPartialsBs/sweetalert") ?>
|
||||
|
||||
<?= $this->extend('themes/vuexy/main/defaultlayout') ?>
|
||||
|
||||
|
||||
<?= $this->section("content") ?>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><?= $pageTitle ?></h3>
|
||||
</div><!--//.card-header -->
|
||||
<div class="card-body">
|
||||
<?= view('themes/_commonPartialsBs/_alertBoxes'); ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<label id="label_clienteId" for="clienteId" class="form-label">
|
||||
Cliente
|
||||
</label>
|
||||
<select id="clienteId" name="cliente_id" class="form-control select2bs2" style="width: 100%;">
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<label id="label_clienteId" for="clienteId" class="form-label">
|
||||
Presupuesto
|
||||
</label>
|
||||
<select id="presupuesto" name="presupuesto" class="form-control select2bs2"
|
||||
style="width: 100%;">
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-4">
|
||||
<div id="openOld" class="btn mt-3 btn-primary waves-effect waves-light ml-2">
|
||||
<span
|
||||
class="align-middle d-sm-inline-block me-sm-1">Abrir original</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div><!--//.card-body -->
|
||||
<div class="card-footer">
|
||||
</div><!--//.card-footer -->
|
||||
</div><!--//.card -->
|
||||
</div><!--//.col -->
|
||||
</div><!--//.row -->
|
||||
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
|
||||
<?= $this->section('css') ?>
|
||||
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
<?= $this->section('additionalExternalJs') ?>
|
||||
<script type="module" src="<?= site_url('assets/js/safekat/pages/importadorPresupuestos/importador.js') ?>"></script>
|
||||
<?= $this->endSection() ?>
|
||||
Reference in New Issue
Block a user