mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-24 14:31:42 +01:00
Aggiunta funzioni per movimentazione articoli libera
This commit is contained in:
parent
4bd795122f
commit
f4051a53d1
@ -90,6 +90,7 @@ switch ($resource) {
|
|||||||
if (!empty($search)) {
|
if (!empty($search)) {
|
||||||
$search_fields[] = 'mg_articoli.descrizione LIKE '.prepare('%'.$search.'%');
|
$search_fields[] = 'mg_articoli.descrizione LIKE '.prepare('%'.$search.'%');
|
||||||
$search_fields[] = 'mg_articoli.codice LIKE '.prepare('%'.$search.'%');
|
$search_fields[] = 'mg_articoli.codice LIKE '.prepare('%'.$search.'%');
|
||||||
|
$search_fields[] = 'mg_articoli.barcode LIKE '.prepare('%'.$search.'%');
|
||||||
}
|
}
|
||||||
|
|
||||||
$custom = [
|
$custom = [
|
||||||
|
@ -45,7 +45,7 @@ class Articolo extends Model
|
|||||||
*/
|
*/
|
||||||
public function movimenta($qta, $descrizone = null, $data = null, $manuale = false, $array = [])
|
public function movimenta($qta, $descrizone = null, $data = null, $manuale = false, $array = [])
|
||||||
{
|
{
|
||||||
$this->registra($qta, $descrizone, $data, $manuale, $array);
|
$id = $this->registra($qta, $descrizone, $data, $manuale, $array);
|
||||||
|
|
||||||
if ($this->servizio == 0) {
|
if ($this->servizio == 0) {
|
||||||
$this->qta += $qta;
|
$this->qta += $qta;
|
||||||
@ -53,7 +53,7 @@ class Articolo extends Model
|
|||||||
$this->save();
|
$this->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return $id;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -69,6 +69,8 @@ class Articolo extends Model
|
|||||||
*/
|
*/
|
||||||
public function registra($qta, $descrizone = null, $data = null, $manuale = false, $array = [])
|
public function registra($qta, $descrizone = null, $data = null, $manuale = false, $array = [])
|
||||||
{
|
{
|
||||||
|
$id = false;
|
||||||
|
|
||||||
if (empty($qta)) {
|
if (empty($qta)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -84,8 +86,9 @@ class Articolo extends Model
|
|||||||
'manuale' => $manuale,
|
'manuale' => $manuale,
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
$id = database()->lastInsertedID();
|
||||||
|
|
||||||
return true;
|
return $id;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Attributi Eloquent
|
// Attributi Eloquent
|
||||||
|
38
modules/movimenti/actions.php
Normal file
38
modules/movimenti/actions.php
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
use Modules\Articoli\Articolo;
|
||||||
|
|
||||||
|
switch (post('op')) {
|
||||||
|
|
||||||
|
case 'add':
|
||||||
|
$idsede_partenza = post('idsede_partenza');
|
||||||
|
$idsede_destinazione = post('idsede_destinazione');
|
||||||
|
$qta = ( post('direzione') == 'Carico manuale' ) ? post('qta') : -post('qta');
|
||||||
|
|
||||||
|
if( post('direzione') == 'Carico manuale' ){
|
||||||
|
if( $idsede_partenza == 0){
|
||||||
|
$qta = -post('qta');
|
||||||
|
} elseif( $idsede_partenza != 0 && $idsede_destinazione == 0){
|
||||||
|
$qta = post('qta');
|
||||||
|
$idsede_partenza = post('idsede_destinazione');
|
||||||
|
$idsede_destinazione = post('idsede_partenza');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if( $idsede_destinazione == 0){
|
||||||
|
$qta = -post('qta');
|
||||||
|
$idsede_partenza = post('idsede_destinazione');
|
||||||
|
$idsede_destinazione = post('idsede_partenza');
|
||||||
|
} elseif( $idsede_partenza == 0 && $idsede_destinazione != 0){
|
||||||
|
$qta = post('qta');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$articolo = Articolo::find(post('idarticolo'));
|
||||||
|
$idmovimento = $articolo->movimenta($qta, post('movimento'), post('data'), 1);
|
||||||
|
$dbo->query('UPDATE mg_movimenti SET idsede_azienda='.prepare($idsede_partenza).', idsede_controparte='.prepare($idsede_destinazione).' WHERE id='.prepare($idmovimento));
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
87
modules/movimenti/add.php
Normal file
87
modules/movimenti/add.php
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
// Imposto come azienda l'azienda predefinita per selezionare le sedi a cui ho accesso
|
||||||
|
$_SESSION['superselect']['idanagrafica'] = get_var('Azienda predefinita');
|
||||||
|
|
||||||
|
// Azzero le sedi selezionate
|
||||||
|
unset($_SESSION['superselect']['idsede_partenza']);
|
||||||
|
unset($_SESSION['superselect']['idsede_destinazione']);
|
||||||
|
$_SESSION['superselect']['idsede_partenza'] = 0;
|
||||||
|
$_SESSION['superselect']['idsede_destinazione'] = 0;
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
<form action="" method="post" id="add-form" onsubmit="rimuovi();">
|
||||||
|
<input type="hidden" name="op" value="add">
|
||||||
|
<input type="hidden" name="backto" value="record-edit">
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
{["type":"select", "label":"<?php echo tr('Articolo');?>", "name":"idarticolo", "ajax-source":"articoli", "value":"", "required":1]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-2">
|
||||||
|
{["type":"number", "label":"<?php echo tr('Quantità');?>", "name":"qta", "decimals":"2", "value":"1", "required":1]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-2">
|
||||||
|
{["type":"date", "label":"<?php echo tr('Data');?>", "name":"data", "value":"-now-", "required":1]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
|
{["type":"select", "label":"<?php echo tr('Causale');?>", "name":"direzione", "values":"list=\"Carico manuale\":\"Carico\", \"Scarico manuale\":\"Scarico\" ", "value":"Carico manuale", "required":1]}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
{["type":"textarea", "label":"<?php echo tr('Descrizione movimento');?>", "name":"movimento", "required":1]}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
{[ "type": "select", "label": "<?php echo tr('Sede'); ?>", "name": "idsede_destinazione", "ajax-source": "sedi_azienda", "value": "0", "required":1 ]}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-6">
|
||||||
|
{[ "type": "select", "label": "<?php echo tr('Partenza merce'); ?>", "name": "idsede_partenza", "ajax-source": "sedi_azienda", "value": "0", "required":1 ]}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- PULSANTI -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12 text-right">
|
||||||
|
<button type="submit" class="btn btn-default"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi e chiudi'); ?></button>
|
||||||
|
<a type="button" class="btn btn-primary" onclick="ajax_submit();"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi'); ?></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$('#bs-popup').on('shown.bs.modal', function(){
|
||||||
|
$('#direzione').on('change', function(){
|
||||||
|
$('#movimento').val( $(this).val() );
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#direzione').trigger('change');
|
||||||
|
$('#idarticolo').select2('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
function ajax_submit() {
|
||||||
|
//Controllo che siano presenti tutti i dati richiesti
|
||||||
|
if( $("#add-form").parsley().validate() ){
|
||||||
|
submitAjax(
|
||||||
|
$('#add-form'),
|
||||||
|
{},
|
||||||
|
function() {
|
||||||
|
$("#idarticolo").selectReset();
|
||||||
|
$("#qta").val(1);
|
||||||
|
renderMessages();
|
||||||
|
}, function(){}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -14,4 +14,7 @@ UPDATE `in_statiintervento` SET `descrizione` = 'Programmato' WHERE `in_statiint
|
|||||||
UPDATE `in_interventi` SET `data_scadenza` = NULL WHERE `data_scadenza` = '0000-00-00 00:00:00';
|
UPDATE `in_interventi` SET `data_scadenza` = NULL WHERE `data_scadenza` = '0000-00-00 00:00:00';
|
||||||
|
|
||||||
-- Permetti inserimento sessioni anche per altri tecnici
|
-- Permetti inserimento sessioni anche per altri tecnici
|
||||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `created_at`, `updated_at`, `order`, `help`) VALUES (NULL, 'Permetti inserimento sessioni degli altri tecnici', '0', 'boolean', '1', 'Interventi', NULL, NULL, NULL, 'Permette al tecnico l\'inserimento delle sessioni di lavoro anche per gli altri tecnici.');
|
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `created_at`, `updated_at`, `order`, `help`) VALUES (NULL, 'Permetti inserimento sessioni degli altri tecnici', '0', 'boolean', '1', 'Interventi', NULL, NULL, NULL, 'Permette al tecnico l\'inserimento delle sessioni di lavoro anche per gli altri tecnici.');
|
||||||
|
|
||||||
|
-- Aggiunta cartella per il modulo "Movimenti"
|
||||||
|
UPDATE `zz_modules` SET `directory` = 'movimenti' WHERE `name` = 'Movimenti';
|
Loading…
Reference in New Issue
Block a user