mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-23 14:57:46 +01:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
1551ae4c14
@ -583,9 +583,6 @@ input.small-width {
|
||||
.callout a{
|
||||
text-decoration: none;
|
||||
}
|
||||
.box{
|
||||
border-top:0px;
|
||||
}
|
||||
/*fix per tabs editor */
|
||||
.nav-tabs-custom > .nav-tabs > li{
|
||||
border-top: 3px solid #ddd;
|
||||
|
@ -33,6 +33,7 @@ switch (post('op')) {
|
||||
'cellulare' => $post['cellulare'],
|
||||
'fax' => $post['fax'],
|
||||
'email' => $post['email'],
|
||||
'pec' => $post['pec'],
|
||||
'idsede_fatturazione' => $post['idsede_fatturazione'],
|
||||
'note' => $post['note'],
|
||||
'codiceri' => $post['codiceri'],
|
||||
@ -174,6 +175,16 @@ switch (post('op')) {
|
||||
$dbo->insert('an_anagrafiche', [
|
||||
'ragione_sociale' => $ragione_sociale,
|
||||
'codice' => $codice,
|
||||
'piva' => post('piva'),
|
||||
'codice_fiscale' => post('codice_fiscale'),
|
||||
'indirizzo' => post('indirizzo'),
|
||||
'citta' => post('citta'),
|
||||
'cap' => post('cap'),
|
||||
'provincia' => post('provincia'),
|
||||
'telefono' => post('telefono'),
|
||||
'cellulare' => post('cellulare'),
|
||||
'email' => post('email'),
|
||||
'idrelazione' => post('idrelazione'),
|
||||
'idagente' => $idagente,
|
||||
]);
|
||||
|
||||
|
@ -22,10 +22,75 @@ echo '
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Tipo di anagrafica').'", "name": "idtipoanagrafica[]", "multiple": "1", "required": 1, "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = \'Azienda\' AND deleted = 0) ORDER BY descrizione", "value": "'.$idtipoanagrafica.'" ]}
|
||||
</div>
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
|
||||
|
||||
echo
|
||||
'<div class="box box-info collapsed-box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">'.tr('Dati anagrafici').'</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" class="btn btn-box-tool" data-widget="collapse">
|
||||
<i class="fa fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body collapse">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "'.tr('Partita IVA').'", "maxlength": 13, "name": "piva", "class": "text-center alphanumeric-mask", "value": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "'.tr('Codice fiscale').'", "maxlength": 16, "name": "codice_fiscale", "class": "text-center alphanumeric-mask", "value": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "'.tr('Relazione').'", "name": "idrelazione", "values": "query=SELECT id, descrizione, colore AS _bgcolor_ FROM an_relazioni ORDER BY descrizione", "value": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "'.tr('Indirizzo').'", "name": "indirizzo", "value": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
{[ "type": "text", "label": "'.tr('C.A.P.').'", "name": "cap", "maxlength": 5, "class": "text-center", "value": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "'.tr('Città').'", "name": "citta", "class": "text-center", "value": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
{[ "type": "text", "label": "'.tr('Provincia').'", "name": "provincia", "maxlength": 2, "class": "text-center", "value": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "'.tr('Telefono').'", "name": "telefono", "class": "text-center", "value": "", "icon-before": "<i class=\"fa fa-phone\"></i>" ]}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "'.tr('Cellulare').'", "name": "cellulare", "class": "text-center", "value": "", "icon-before": "<i class=\"fa fa-mobile\"></i>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "'.tr('Email').'", "name": "email", "class": "email-mask", "placeholder":"casella@dominio.ext", "value": "", "icon-before": "<i class=\"fa fa-envelope\"></i>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
|
||||
|
||||
|
||||
echo
|
||||
'<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> '.tr('Aggiungi').'</button>
|
||||
</div>
|
||||
|
@ -74,17 +74,21 @@ if (!$cliente) {
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "<?php echo tr('Indirizzo'); ?>", "name": "indirizzo", "value": "$indirizzo$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "<?php echo tr('Indirizzo2'); ?>", "name": "indirizzo2", "value": "$indirizzo2$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY descrizione ASC", "value": "$idzona$", "placeholder": "<?php echo tr('Nessuna zona'); ?>", "icon-after": "add|<?php echo Modules::get('Zone')['id']; ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-2">
|
||||
{[ "type": "select", "label": "<?php echo tr('Nazione'); ?>", "name": "id_nazione", "values": "query=SELECT id AS id, nome AS descrizione FROM an_nazioni ORDER BY nome ASC", "value": "$id_nazione$" ]}
|
||||
</div>
|
||||
|
||||
@ -92,7 +96,7 @@ if (!$cliente) {
|
||||
{[ "type": "text", "label": "<?php echo tr('C.A.P.'); ?>", "name": "cap", "maxlength": 5, "class": "text-center", "value": "$cap$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "<?php echo tr('Città'); ?>", "name": "citta", "class": "text-center", "value": "$citta$" ]}
|
||||
</div>
|
||||
|
||||
@ -136,12 +140,14 @@ if (!$cliente) {
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "<?php echo tr('Sito web'); ?>", "name": "sitoweb", "placeholder":"www.dominio.ext", "value": "$sitoweb$", "icon-before": "<i class='fa fa-globe'></i>" ]}
|
||||
{[ "type": "text", "label": "<?php echo tr('PEC'); ?>", "name": "pec", "class": "email-mask", "placeholder":"pec@dominio.ext", "value": "$pec$", "icon-before": "<i class='fa fa-envelope-o'></i>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY descrizione ASC", "value": "$idzona$", "placeholder": "<?php echo tr('Nessuna zona'); ?>", "icon-after": "add|<?php echo Modules::get('Zone')['id']; ?>" ]}
|
||||
{[ "type": "text", "label": "<?php echo tr('Sito web'); ?>", "name": "sitoweb", "placeholder":"www.dominio.ext", "value": "$sitoweb$", "icon-before": "<i class='fa fa-globe'></i>" ]}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -687,6 +687,7 @@ if (get_var('Utilizzare i tooltip sul calendario') == '1') {
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
$('#calendar').fullCalendar('option', 'contentHeight', 'auto');
|
||||
},
|
||||
events: {
|
||||
url: globals.rootdir + "/modules/dashboard/ajaxreq.php?op=get_current_month",
|
||||
|
@ -232,6 +232,7 @@ switch (post('op')) {
|
||||
$dbo->query('DELETE FROM co_righe_documenti WHERE iddocumento='.prepare($id_record));
|
||||
$dbo->query('DELETE FROM co_scadenziario WHERE iddocumento='.prepare($id_record));
|
||||
$dbo->query('DELETE FROM mg_movimenti WHERE iddocumento='.prepare($id_record));
|
||||
$dbo->query('DELETE FROM co_movimenti WHERE iddocumento='.prepare($id_record));
|
||||
|
||||
// Azzeramento collegamento della rata contrattuale alla pianificazione
|
||||
$dbo->query('UPDATE co_ordiniservizio_pianificazionefatture SET iddocumento=0 WHERE iddocumento='.prepare($id_record));
|
||||
|
@ -196,26 +196,6 @@ switch (post('op')) {
|
||||
break;
|
||||
|
||||
case 'add':
|
||||
/*
|
||||
$codice = post('codice');
|
||||
|
||||
// Controlli sul codice
|
||||
$count = -1;
|
||||
do {
|
||||
$new_codice = ($count < 0) ? $codice : Util\Generator::generate(get_var('Formato codice intervento'), $codice);
|
||||
$rs = $dbo->fetchArray('SELECT codice FROM in_interventi WHERE codice='.prepare($new_codice));
|
||||
++$count;
|
||||
} while (!empty($rs) || empty($new_codice));
|
||||
|
||||
if ($count > 0) {
|
||||
$_SESSION['warnings'][] = tr('Numero intervento _NUM_ saltato perchè già esistente!', [
|
||||
'_NUM_' => "'".$codice."'"
|
||||
]);
|
||||
$_SESSION['warnings'][] = tr('Nuovo numero intervento calcolato _NUM_', [
|
||||
'_NUM_' => "'".$new_codice."'"
|
||||
]);
|
||||
}
|
||||
*/
|
||||
$formato = get_var('Formato codice intervento');
|
||||
$template = str_replace('#', '%', $formato);
|
||||
|
||||
@ -279,10 +259,6 @@ switch (post('op')) {
|
||||
if (!empty($idcontratto_riga)) {
|
||||
$dbo->update('co_righe_contratti', $array, ['idcontratto' => $idcontratto, 'id' => $idcontratto_riga]);
|
||||
}
|
||||
// Altrimenti inserisco una nuova pianificazione e collego l'intervento
|
||||
else {
|
||||
$dbo->insert('co_righe_contratti', array_merge(['idcontratto' => $idcontratto], $array));
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($post['idordineservizio'])) {
|
||||
|
@ -264,7 +264,7 @@ for ($x = 0; $x < $n1; ++$x) {
|
||||
echo '</table>';
|
||||
} else {
|
||||
echo "<p align='right'><big><b>RICAVI:</b> ".Translator::numberToLocale(sum($totale_ricavi))." €</big></p>\n";
|
||||
echo "<p align='right'><big><b>COSTI:</b> ".Translator::numberToLocale(sum(abs($totale_costi)))." €</big></p>\n";
|
||||
echo "<p align='right'><big><b>COSTI:</b> ".Translator::numberToLocale(abs(sum($totale_costi)))." €</big></p>\n";
|
||||
echo "<p align='right'><big><b>UTILE/PERDITA:</b> ".Translator::numberToLocale(sum($totale_ricavi) - sum(abs($totale_costi)))." €</big></p>\n";
|
||||
}
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ switch (post('op')) {
|
||||
$rs = $dbo->fetchArray($query);
|
||||
|
||||
// Aggiorno lo stato della fattura
|
||||
if ($rs[0]['tot_pagato'] == $rs[0]['tot_da_pagare']) {
|
||||
if (abs($rs[0]['tot_pagato']) == abs($rs[0]['tot_da_pagare'])) {
|
||||
$dbo->query("UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='Pagato') WHERE id=".prepare($iddocumento));
|
||||
} else {
|
||||
$dbo->query("UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='Parzialmente pagato') WHERE id=".prepare($iddocumento));
|
||||
|
@ -33,7 +33,7 @@ include_once __DIR__.'/../../core.php';
|
||||
$field = 'idconto_'.($dir == 'entrata' ? 'vendite' : 'acquisti');
|
||||
$idconto_aziendale = $dbo->fetchArray('SELECT '.$field.' FROM co_pagamenti WHERE id = (SELECT idpagamento FROM co_documenti WHERE id='.prepare($iddocumento).') GROUP BY descrizione')[0][$field];
|
||||
|
||||
// Lettura conto cassa di default
|
||||
// Lettura conto di default
|
||||
$idconto_aziendale = !empty($idconto_aziendale) ? $idconto_aziendale : get_var('Conto aziendale predefinito');
|
||||
|
||||
// Generazione causale (incasso fattura)
|
||||
@ -139,7 +139,9 @@ include_once __DIR__.'/../../core.php';
|
||||
</tr>';
|
||||
|
||||
for ($i = 0; $i < 10; ++$i) {
|
||||
// Conto
|
||||
|
||||
($i<=1) ? $required = 1 : $required = 0;
|
||||
// Conto
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
@ -149,7 +151,7 @@ include_once __DIR__.'/../../core.php';
|
||||
} elseif ($i == 1) {
|
||||
echo $idconto_aziendale;
|
||||
}
|
||||
echo '", "ajax-source": "conti" ]}
|
||||
echo '", "ajax-source": "conti", "required": "'.$required.'" ]}
|
||||
</td>';
|
||||
|
||||
// Importo dare e avere
|
||||
|
@ -70,11 +70,14 @@ include_once __DIR__.'/../../core.php';
|
||||
</tr>';
|
||||
|
||||
for ($i = 0; $i < 10; ++$i) {
|
||||
|
||||
($i<=1) ? $required = 1 : $required = 0;
|
||||
|
||||
// Conto
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
{[ "type": "select", "name": "idconto['.$i.']", "value": "'.$rs[$i]['idconto'].'", "ajax-source": "conti" ]}
|
||||
{[ "type": "select", "name": "idconto['.$i.']", "value": "'.$rs[$i]['idconto'].'", "ajax-source": "conti", "required": "'.$required.'" ]}
|
||||
</td>';
|
||||
|
||||
// Importo dare e avere
|
||||
|
@ -8,7 +8,13 @@ $body = file_get_contents($docroot.'/templates/magazzino_inventario/magazzino_in
|
||||
|
||||
$search_codice = $_GET['search_codice'];
|
||||
$search_descrizione = $_GET['search_descrizione'];
|
||||
$search_categoria = $_GET['search_categoria'].' '.$_GET['search_subcategoria'];
|
||||
|
||||
if ($_GET['search_subcategoria']=='undefined')
|
||||
$_GET['search_subcategoria'] = '';
|
||||
|
||||
if (!empty( $_GET['search_categoria'] ) or !empty( $_GET['search_subcategoria'] ) )
|
||||
$search_categoria = $_GET['search_categoria'].' '.$_GET['search_subcategoria'];
|
||||
|
||||
$search_tipo = $_GET['search_tipo'];
|
||||
|
||||
if ($search_tipo == '') {
|
||||
@ -23,15 +29,31 @@ if ($search_tipo == 'solo prodotti attivi') {
|
||||
$add_where = '';
|
||||
}
|
||||
|
||||
|
||||
if ($search_codice!='')
|
||||
$add_where .= " AND ( replace(codice,'.','') LIKE \"%$search_codice%\" OR codice LIKE \"%$search_codice%\" )";
|
||||
|
||||
if ($search_descrizione!='')
|
||||
$add_where .= " AND replace(descrizione,'.','') LIKE \"%$search_descrizione%\"";
|
||||
|
||||
$add_having = '';
|
||||
if (!empty($search_categoria))
|
||||
$add_having .= " AND CONCAT_WS( ' ', categoria, subcategoria ) LIKE '%".$search_categoria."%' ";
|
||||
|
||||
|
||||
|
||||
include_once $docroot.'/templates/pdfgen_variables.php';
|
||||
|
||||
// Ciclo tra gli articoli selezionati
|
||||
// LEFT OUTER JOIN mg_unitamisura ON mg_unitamisura.id=mg_articoli.idum
|
||||
// mg_unitamisura.valore AS um
|
||||
// LEFT OUTER JOIN mg_categorie ON (mg_categorie.id=mg_articoli.id_categoria AND mg_categorie.parent = 0) OR (mg_categorie.id=mg_articoli.id_sottocategoria AND mg_categorie.parent = 1)
|
||||
$rs = $dbo->fetchArray("SELECT *, mg_articoli.id AS id_articolo, (SELECT nome FROM mg_categorie WHERE mg_categorie.parent = 0 AND mg_categorie.id = mg_articoli.id_categoria) AS categoria, (SELECT nome FROM mg_categorie WHERE mg_categorie.parent = 1 AND mg_categorie.id = mg_articoli.id_sottocategoria) AS subcategoria FROM mg_articoli WHERE ( replace(codice,'.','') LIKE \"%$search_codice%\" OR codice LIKE \"%$search_codice%\" ) AND replace(descrizione,'.','') LIKE \"%$search_descrizione%\" ".$add_where." AND qta > 0 HAVING CONCAT_WS( ' ', categoria, subcategoria ) LIKE \"%".$search_categoria.'%" ORDER BY codice ASC');
|
||||
$query = "SELECT *, mg_articoli.id AS id_articolo, (SELECT nome FROM mg_categorie WHERE mg_categorie.parent = 0 AND mg_categorie.id = mg_articoli.id_categoria) AS categoria, (SELECT nome FROM mg_categorie WHERE mg_categorie.parent = 1 AND mg_categorie.id = mg_articoli.id_sottocategoria) AS subcategoria FROM mg_articoli WHERE 1=1 ".$add_where." AND qta > 0 HAVING 2=2 ".$add_having." ORDER BY codice ASC";
|
||||
$rs = $dbo->fetchArray($query);
|
||||
$totrows = sizeof($rs);
|
||||
|
||||
|
||||
|
||||
$body .= '<h3>INVENTARIO AL '.date('d/m/Y')."</h3>\n";
|
||||
|
||||
$body .= "<table cellspacing='0' style='table-layout:fixed;'>\n";
|
||||
|
@ -1 +1,16 @@
|
||||
ALTER TABLE `co_contratti` ADD `idsede` INT NOT NULL AFTER `idanagrafica`;
|
||||
ALTER TABLE `co_contratti` ADD `idsede` INT NOT NULL AFTER `idanagrafica`;
|
||||
|
||||
-- Imposto conto cassa per contanti e rimesse
|
||||
UPDATE `co_pagamenti` SET `idconto_vendite` = (SELECT id FROM co_pianodeiconti3 WHERE descrizione = 'Cassa'), `idconto_acquisti` = (SELECT id FROM co_pianodeiconti3 WHERE descrizione = 'Cassa') WHERE `co_pagamenti`.`descrizione` = 'Contanti' OR `co_pagamenti`.`descrizione` LIKE 'Rimessa %';
|
||||
|
||||
-- Imposto conto banca per tutti i bonifici e ri.ba.
|
||||
UPDATE `co_pagamenti` SET `idconto_vendite` = (SELECT id FROM co_pianodeiconti3 WHERE descrizione = 'Banca C/C'), `idconto_acquisti` = (SELECT id FROM co_pianodeiconti3 WHERE descrizione = 'Banca C/C') WHERE `co_pagamenti`.`descrizione` LIKE 'Bonifico %' OR `co_pagamenti`.`descrizione` LIKE 'Ri.Ba. %';
|
||||
|
||||
-- Indirizzo PEC
|
||||
ALTER TABLE `an_anagrafiche` ADD `pec` VARCHAR(255) NOT NULL AFTER `email`;
|
||||
|
||||
-- ISO 3166-1 alpha-2 code per nazioni
|
||||
ALTER TABLE `an_nazioni` ADD `iso2` VARCHAR(2) NOT NULL AFTER `nome`;
|
||||
|
||||
-- ISO 2 per ITALIA (https://it.wikipedia.org/wiki/ISO_3166-1_alpha-2)
|
||||
UPDATE `an_nazioni` SET `iso2` = 'IT' WHERE `an_nazioni`.`nome` = 'ITALIA';
|
Loading…
x
Reference in New Issue
Block a user