Fix pianificazione interventi da promemoria in dashboard
This commit is contained in:
parent
a9adbacdb5
commit
3296731d8b
|
@ -424,6 +424,52 @@ if (!empty($google)) {
|
||||||
{( "name": "filelist_and_upload", "id_module": "<?php echo $id_module; ?>", "id_record": "<?php echo $id_record; ?>" )}
|
{( "name": "filelist_and_upload", "id_module": "<?php echo $id_module; ?>", "id_record": "<?php echo $id_record; ?>" )}
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
//fatture, ddt, preventivi collegati a questa anagrafica
|
||||||
|
$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idanagrafica` = '.prepare($id_record).') UNION
|
||||||
|
SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `idanagrafica` = '.prepare($id_record).') UNION
|
||||||
|
SELECT `co_preventivi`.`id`, `co_preventivi`.`data_bozza`, `co_preventivi`.`numero`, 0 AS numero_esterno , "Preventivo" AS tipo_documento, 0 AS dir FROM `co_preventivi` WHERE `co_preventivi`.`id` IN (SELECT `idpreventivo` FROM `co_righe_preventivi` WHERE `idanagrafica` = '.prepare($id_record).') ORDER BY `data`');
|
||||||
|
|
||||||
|
if (!empty($elementi)) {
|
||||||
|
echo '
|
||||||
|
<div class="alert alert-warning">
|
||||||
|
<p>'.tr('_NUM_ altr_I_ document_I_ collegat_I_', [
|
||||||
|
'_NUM_' => count($elementi),
|
||||||
|
'_I_' => (count($elementi) > 1) ? tr('i') : tr('o'),
|
||||||
|
]).':</p>
|
||||||
|
<ul>';
|
||||||
|
|
||||||
|
foreach ($elementi as $elemento) {
|
||||||
|
$descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [
|
||||||
|
'_DOC_' => $elemento['tipo_documento'],
|
||||||
|
'_NUM_' => !empty($elemento['numero_esterno']) ? $elemento['numero_esterno'] : $elemento['numero'],
|
||||||
|
'_DATE_' => Translator::dateToLocale($elemento['data']),
|
||||||
|
]);
|
||||||
|
|
||||||
|
//se non è un preventivo è un ddt o una fattura
|
||||||
|
//se non è un ddt è una fattura.
|
||||||
|
if (in_array($elemento['tipo_documento'], ['Preventivo'])) {
|
||||||
|
$modulo = 'Preventivi';
|
||||||
|
} elseif (!in_array($elemento['tipo_documento'], ['Ddt di vendita', 'Ddt di acquisto'])) {
|
||||||
|
$modulo = ($elemento['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto';
|
||||||
|
} else {
|
||||||
|
$modulo = ($elemento['dir'] == 'entrata') ? 'Ddt di vendita' : 'Ddt di acquisto';
|
||||||
|
}
|
||||||
|
|
||||||
|
$id = $elemento['id'];
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<li>'.Modules::link($modulo, $id, $descrizione).'</li>';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '
|
||||||
|
</ul>
|
||||||
|
<p>'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale.').'</p>
|
||||||
|
</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (!str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
|
if (!str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
|
||||||
echo '
|
echo '
|
||||||
<a class="btn btn-danger ask" data-backto="record-list">
|
<a class="btn btn-danger ask" data-backto="record-list">
|
||||||
|
@ -434,8 +480,12 @@ if (!str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
|
||||||
echo '
|
echo '
|
||||||
<div class=\'alert alert-warning\' >'.tr('Questa è l\'anagrafica "Azienda" e non è possibile eliminarla').'.</div>';
|
<div class=\'alert alert-warning\' >'.tr('Questa è l\'anagrafica "Azienda" e non è possibile eliminarla').'.</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(document).ready( function(){
|
$(document).ready( function(){
|
||||||
$(".colorpicker").colorpicker().on("changeColor", function(){
|
$(".colorpicker").colorpicker().on("changeColor", function(){
|
||||||
|
|
|
@ -319,6 +319,8 @@ echo '
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
{( "name": "filelist_and_upload", "id_module": "<?php echo $id_module; ?>", "id_record": "<?php echo $id_record; ?>" )}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$("#categoria").change( function(){
|
$("#categoria").change( function(){
|
||||||
session_set("superselect,id_categoria", $(this).val(), 0);
|
session_set("superselect,id_categoria", $(this).val(), 0);
|
||||||
|
@ -374,8 +376,6 @@ if (!empty($elementi)) {
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
{( "name": "filelist_and_upload", "id_module": "<?php echo $id_module; ?>", "id_record": "<?php echo $id_record; ?>" )}
|
|
||||||
|
|
||||||
<a class="btn btn-danger ask" data-backto="record-list">
|
<a class="btn btn-danger ask" data-backto="record-list">
|
||||||
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
|
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -258,6 +258,19 @@ switch (post('op')) {
|
||||||
// Se è specificato che l'intervento fa parte di una pianificazione aggiorno il codice dell'intervento sulla riga della pianificazione
|
// Se è specificato che l'intervento fa parte di una pianificazione aggiorno il codice dell'intervento sulla riga della pianificazione
|
||||||
if (!empty($idcontratto_riga)) {
|
if (!empty($idcontratto_riga)) {
|
||||||
$dbo->update('co_righe_contratti', $array, ['idcontratto' => $idcontratto, 'id' => $idcontratto_riga]);
|
$dbo->update('co_righe_contratti', $array, ['idcontratto' => $idcontratto, 'id' => $idcontratto_riga]);
|
||||||
|
|
||||||
|
//copio le righe dal promemoria all'intervento
|
||||||
|
$dbo->query('INSERT INTO in_righe_interventi (descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,idintervento,sconto,sconto_unitario,tipo_sconto) SELECT descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,'.$id_record.',sconto,sconto_unitario,tipo_sconto FROM co_righe_contratti_materiali WHERE id_riga_contratto = '.$idcontratto_riga.' ');
|
||||||
|
|
||||||
|
//copio gli articoli dal promemoria all'intervento
|
||||||
|
$dbo->query('INSERT INTO mg_articoli_interventi (idarticolo, idintervento,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$id_record.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto FROM co_righe_contratti_articoli WHERE id_riga_contratto = '.$idcontratto_riga.' ');
|
||||||
|
|
||||||
|
// Decremento la quantità per ogni articolo copiato
|
||||||
|
$rs_articoli = $dbo->fetchArray('SELECT * FROM mg_articoli_interventi WHERE idintervento = '.$id_record.' ');
|
||||||
|
foreach ($rs_articoli as $rs_articolo) {
|
||||||
|
add_movimento_magazzino($rs_articolo['idarticolo'], -force_decimal($rs_articolo['qta']), ['idautomezzo' => $rs_articolo['idautomezzo'], 'idintervento' => $id_record]);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,9 +65,15 @@ elseif (!empty($idcontratto) && !empty($idcontratto_riga)) {
|
||||||
$data = (null !== filter('data')) ? filter('data') : $rs[0]['data_richiesta'];
|
$data = (null !== filter('data')) ? filter('data') : $rs[0]['data_richiesta'];
|
||||||
$richiesta = $rs[0]['richiesta'];
|
$richiesta = $rs[0]['richiesta'];
|
||||||
$idsede = $rs[0]['idsede'];
|
$idsede = $rs[0]['idsede'];
|
||||||
|
$idimpianti = $rs[0]['idimpianti'];
|
||||||
|
|
||||||
$rs = $dbo->fetchArray('SELECT idimpianto FROM my_impianti_contratti WHERE idcontratto='.prepare($idcontratto));
|
//se gli impianti non sono stati definiti nel promemoria, carico tutti gli impianti a contratto
|
||||||
$idimpianto = implode(',', array_column($rs, 'idimpianto'));
|
if (empty($idimpianti)){
|
||||||
|
$rs = $dbo->fetchArray('SELECT idimpianto FROM my_impianti_contratti WHERE idcontratto='.prepare($idcontratto));
|
||||||
|
$idimpianto = implode(',', array_column($rs, 'idimpianto'));
|
||||||
|
}else{
|
||||||
|
$idimpianto = $idimpianti;
|
||||||
|
}
|
||||||
|
|
||||||
// Seleziono "In programmazione" come stato
|
// Seleziono "In programmazione" come stato
|
||||||
$rs = $dbo->fetchArray("SELECT * FROM in_statiintervento WHERE idstatointervento='WIP'");
|
$rs = $dbo->fetchArray("SELECT * FROM in_statiintervento WHERE idstatointervento='WIP'");
|
||||||
|
|
Loading…
Reference in New Issue