mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-23 22:03:18 +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)) {
|
||||
$search_fields[] = 'mg_articoli.descrizione LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'mg_articoli.codice LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'mg_articoli.barcode LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
|
||||
$custom = [
|
||||
|
@ -45,7 +45,7 @@ class Articolo extends Model
|
||||
*/
|
||||
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) {
|
||||
$this->qta += $qta;
|
||||
@ -53,7 +53,7 @@ class Articolo extends Model
|
||||
$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 = [])
|
||||
{
|
||||
$id = false;
|
||||
|
||||
if (empty($qta)) {
|
||||
return false;
|
||||
}
|
||||
@ -84,8 +86,9 @@ class Articolo extends Model
|
||||
'manuale' => $manuale,
|
||||
]));
|
||||
}
|
||||
$id = database()->lastInsertedID();
|
||||
|
||||
return true;
|
||||
return $id;
|
||||
}
|
||||
|
||||
// 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';
|
||||
|
||||
-- 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