mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Merge branch 'mod/papeles_imp_maquinas' into 'main'
rehecho papeles impresion. Lista de tarifas a 50 elementos por defecto See merge request jjimenez/safekat!43
This commit is contained in:
@ -32,6 +32,8 @@ use App\Models\Configuracion\PapelImpresionModel;
|
||||
use App\Models\Configuracion\PapelGenericoModel;
|
||||
|
||||
use App\Models\Configuracion\PapelImpresionTipologiaModel;
|
||||
use App\Models\Configuracion\MaquinasPapelesImpresionModel;
|
||||
use App\Models\Configuracion\MaquinaModel;
|
||||
|
||||
|
||||
class Papelesimpresion extends \App\Controllers\GoBaseResourceController
|
||||
@ -56,6 +58,8 @@ class Papelesimpresion extends \App\Controllers\GoBaseResourceController
|
||||
$this->viewData['pageTitle'] = lang('PapelImpresion.moduleTitle');
|
||||
$this->viewData['usingSweetAlert'] = true;
|
||||
|
||||
$this->viewData = ['usingServerSideDataTable' => true]; // JJO
|
||||
|
||||
// Se indica que este controlador trabaja con soft_delete
|
||||
$this->soft_delete = true;
|
||||
// Se indica el flag para los ficheros borrados
|
||||
@ -92,14 +96,11 @@ class Papelesimpresion extends \App\Controllers\GoBaseResourceController
|
||||
|
||||
public function add()
|
||||
{
|
||||
|
||||
|
||||
|
||||
$requestMethod = $this->request->getMethod();
|
||||
|
||||
if ($requestMethod === 'post') :
|
||||
|
||||
$nullIfEmpty = true; // !(phpversion() >= '8.1');
|
||||
$nullIfEmpty = false; // !(phpversion() >= '8.1');
|
||||
|
||||
$postData = $this->request->getPost();
|
||||
|
||||
@ -132,7 +133,8 @@ class Papelesimpresion extends \App\Controllers\GoBaseResourceController
|
||||
|
||||
if ($thenRedirect) :
|
||||
if (!empty($this->indexRoute)) :
|
||||
return redirect()->to(route_to($this->indexRoute))->with('sweet-success', $message);
|
||||
return redirect()->to(site_url('/configuracion/papelesimpresion/edit/' . $id))->with('sweet-success', $message);
|
||||
//return redirect()->to(route_to($this->indexRoute))->with('sweet-success', $message);
|
||||
else :
|
||||
return $this->redirect2listView('sweet-success', $message);
|
||||
endif;
|
||||
@ -204,8 +206,18 @@ class Papelesimpresion extends \App\Controllers\GoBaseResourceController
|
||||
$sanitizedData['rotativa'] = false;
|
||||
}
|
||||
|
||||
// Hay que asegurarse de que se quitan los consumos de tintas de rotativa
|
||||
// en caso de que se haya deseleccionado la opción rotativa
|
||||
if(!$sanitizedData['rotativa']){
|
||||
$this->tpModel->removeForPapelImpresion($id);
|
||||
}
|
||||
|
||||
|
||||
// Si hay máquinas seleccionadas, hay que guardar las que cumplan las nuevas condiciones
|
||||
// y borrar el resto
|
||||
$this->updateMaquinas($id, $sanitizedData);
|
||||
|
||||
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
|
||||
@ -293,12 +305,22 @@ class Papelesimpresion extends \App\Controllers\GoBaseResourceController
|
||||
$length = $reqData['length'] ?? 5;
|
||||
$search = $reqData['search']['value'];
|
||||
$requestedOrder = $reqData['order']['0']['column'] ?? 1;
|
||||
$order = PapelImpresionModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 1];
|
||||
$requestedOrder2 = $reqData['order']['1']['column'] ?? $requestedOrder;
|
||||
$requestedOrder3 = $reqData['order']['2']['column'] ?? $requestedOrder;
|
||||
$requestedOrder4 = $reqData['order']['3']['column'] ?? $requestedOrder;
|
||||
$order = PapelImpresionModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 0];
|
||||
$order2 = PapelImpresionModel::SORTABLE[$requestedOrder2 >= 0 ? $requestedOrder2 : 0];
|
||||
$order3 = PapelImpresionModel::SORTABLE[$requestedOrder3 >= 0 ? $requestedOrder3 : 0];
|
||||
$order4 = PapelImpresionModel::SORTABLE[$requestedOrder4 >= 0 ? $requestedOrder4 : 0];
|
||||
$dir = $reqData['order']['0']['dir'] ?? 'asc';
|
||||
$dir2 = $reqData['order']['1']['dir'] ?? $dir;
|
||||
$dir3 = $reqData['order']['2']['dir'] ?? $dir;
|
||||
$dir4 = $reqData['order']['3']['dir'] ?? $dir;
|
||||
|
||||
if($id_PG<0){
|
||||
|
||||
$resourceData = $this->model->getResource($search)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject();
|
||||
$resourceData = $this->model->getResource($search)->orderBy($order, $dir)->orderBy($order2, $dir2)->orderBy($order3, $dir3)
|
||||
->orderBy($order4, $dir4)->limit($length, $start)->get()->getResultObject();
|
||||
|
||||
return $this->respond(Collection::datatable(
|
||||
$resourceData,
|
||||
@ -321,58 +343,6 @@ class Papelesimpresion extends \App\Controllers\GoBaseResourceController
|
||||
}
|
||||
|
||||
|
||||
public function datatable_editor(){
|
||||
/*if ($this->request->isAJAX()) {
|
||||
|
||||
$reqData = $this->request->getPost();
|
||||
$rows_id = array_keys($reqData['data']);
|
||||
echo '<pre>' ;
|
||||
var_dump($reqData['data'][$keys[0]]) ;
|
||||
echo '</pre>';
|
||||
}*/
|
||||
|
||||
if ($this->request->isAJAX()) {
|
||||
|
||||
$sql_details = array(
|
||||
"type" => "Mysql", // Database type: "Mysql", "Postgres", "Sqlserver", "Sqlite" or "Oracle"
|
||||
"user" => "sk_jjo", // Database user name
|
||||
"pass" => "61tv&G1Zf^XY", // Database password
|
||||
"host" => "localhost", // Database host
|
||||
"port" => "", // Database connection port (can be left empty for default)
|
||||
"db" => "sk_jjo", // Database name
|
||||
"dsn" => "", // PHP DSN extra information. Set as `charset=utf8mb4` if you are using MySQL
|
||||
"pdoAttr" => array() // PHP PDO attributes array. See the PHP documentation for all options
|
||||
);
|
||||
|
||||
$db = new Database( array(
|
||||
"type" => "Mysql",
|
||||
"pdo" => $sql_details
|
||||
) );
|
||||
|
||||
|
||||
// Build our Editor instance and process the data coming from _POST
|
||||
Editor::inst( $db, 'lg_papel_impresion_tipologias' )
|
||||
->fields(
|
||||
Field::inst( 'tipo' ),
|
||||
//->validator( Validate::notEmpty( ValidateOptions::inst()) ),//->validator( Validate::values( array('negro', 'color', 'bicolor') ) ),
|
||||
Field::inst( 'negro' ),
|
||||
//->validator( Validate::notEmpty( ValidateOptions::inst()) ),
|
||||
Field::inst( 'cyan' ),
|
||||
//->validator( Validate::notEmpty( ValidateOptions::inst()) ),
|
||||
Field::inst( 'magenta' ),
|
||||
//->validator( Validate::notEmpty( ValidateOptions::inst()) ),
|
||||
Field::inst( 'amarillo' ),
|
||||
//->validator( Validate::notEmpty( ValidateOptions::inst()) ),
|
||||
Field::inst( 'gota_negro' ),
|
||||
//->validator( Validate::notEmpty( ValidateOptions::inst()) ),
|
||||
Field::inst( 'got_color' ),
|
||||
//->validator( Validate::notEmpty( ValidateOptions::inst()) ),
|
||||
)
|
||||
->process( $_POST )
|
||||
->json();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function allItemsSelect()
|
||||
{
|
||||
@ -424,24 +394,7 @@ class Papelesimpresion extends \App\Controllers\GoBaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
function fetch_single_data()
|
||||
{
|
||||
if ($this->request->isAJAX()) {
|
||||
$reqData = $this->request->getPost();
|
||||
if(isset($reqData['id']))
|
||||
{
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
|
||||
$data = [
|
||||
'data' => $this->tpModel->getResource($reqData['id'])->get()->getResultObject()[0],
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
echo json_encode($data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected function getPapelGenericoListItems($selId = null)
|
||||
{
|
||||
@ -456,4 +409,23 @@ class Papelesimpresion extends \App\Controllers\GoBaseResourceController
|
||||
endif;
|
||||
return $data;
|
||||
}
|
||||
|
||||
private function updateMaquinas($id, $data){
|
||||
|
||||
$ma_model = new MaquinaModel();
|
||||
$ma_pa_model = new MaquinasPapelesImpresionModel();
|
||||
|
||||
$active_values = $ma_pa_model->getInitSelectedMachines($id, $data['rotativa'], $data['ancho'], $data['alto'])->get()->getResult('array');
|
||||
|
||||
$ma_pa_model->deleteForPapelImpresion($id);
|
||||
|
||||
// Se obtienen las máquinas que cumplen las condiciones
|
||||
$rows = $ma_model->getIdMaquinasForPapelImpresion($id, $data['rotativa'], $data['ancho'], $data['alto'])->get()->getResult('array');
|
||||
$ma_pa_model->insertRows($rows);
|
||||
|
||||
// Se actualizan los activos que había en caso de que los hubiera
|
||||
if(count($active_values)>0){
|
||||
$ma_pa_model->updateRows($active_values);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user