mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-02 08:56:48 +01:00
Potenziamento controlli eliminazione contratto
This commit is contained in:
parent
d438c3d94d
commit
2ead8908f9
@ -259,15 +259,26 @@ switch (post('op')) {
|
||||
|
||||
// eliminazione contratto
|
||||
case 'delete':
|
||||
try {
|
||||
$contratto->delete();
|
||||
|
||||
$dbo->query('DELETE FROM co_promemoria WHERE idcontratto='.prepare($id_record));
|
||||
$dbo->query('DELETE FROM co_contratti_tipiintervento WHERE idcontratto='.prepare($id_record));
|
||||
// Fatture o interventi collegati a questo contratto
|
||||
$elementi = $dbo->fetchArray('SELECT 0 AS `codice`, `co_documenti`.`id` AS `id`, `co_documenti`.`numero` AS `numero`, `co_documenti`.`numero_esterno` AS `numero_esterno`, `co_documenti`.`data`, `co_tipidocumento`.`descrizione` AS `tipo_documento`, `co_tipidocumento`.`dir` AS `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 `idcontratto` = '.prepare($id_record).')'.'
|
||||
UNION
|
||||
SELECT `in_interventi`.`codice` AS `codice`, `in_interventi`.`id` AS `id`, 0 AS `numero`, 0 AS `numero_esterno`, `in_interventi`.`data_richiesta` AS `data`, 0 AS `tipo_documento`, 0 AS `dir` FROM `in_interventi` WHERE `in_interventi`.`id_contratto` = '.prepare($id_record).' ORDER BY `data` ');
|
||||
|
||||
if (empty($elementi)) {
|
||||
|
||||
try {
|
||||
$contratto->delete();
|
||||
|
||||
$dbo->query('DELETE FROM co_promemoria WHERE idcontratto='.prepare($id_record));
|
||||
$dbo->query('DELETE FROM co_contratti_tipiintervento WHERE idcontratto='.prepare($id_record));
|
||||
$dbo->query('DELETE FROM my_impianti_contratti WHERE idcontratto='.prepare($id_record));
|
||||
|
||||
flash()->info(tr('Contratto eliminato!'));
|
||||
} catch (InvalidArgumentException $e) {
|
||||
flash()->error(tr('Sono stati utilizzati alcuni serial number nel documento: impossibile procedere!'));
|
||||
}
|
||||
|
||||
flash()->info(tr('Contratto eliminato!'));
|
||||
} catch (InvalidArgumentException $e) {
|
||||
flash()->error(tr('Sono stati utilizzati alcuni serial number nel documento: impossibile procedere!'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -114,13 +114,11 @@ $_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Impianti'); ?>", "name": "matricolaimpianto[]", "values": "query=SELECT idanagrafica, id AS id, IF(nome = '', matricola, CONCAT(matricola, ' - ', nome)) AS descrizione FROM my_impianti WHERE idanagrafica='$idanagrafica$' ORDER BY descrizione", "value": "$idimpianti$" ]}
|
||||
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Impianti'); ?>", "name": "matricolaimpianto[]", "values": "query=SELECT idanagrafica, id AS id, IF(nome = '', matricola, CONCAT(matricola, ' - ', nome)) AS descrizione FROM my_impianti WHERE idanagrafica='$idanagrafica$' ORDER BY descrizione", "value": "$idimpianti$", "icon-after": "add|<?php echo Modules::get('MyImpianti')['id']; ?>|||<?php echo (empty($block_edit)) ? '' : 'disabled'; ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "textarea", "label": "<?php echo tr('Esclusioni'); ?>", "name": "esclusioni", "class": "autosize", "value": "$esclusioni$" ]}
|
||||
@ -388,8 +386,11 @@ include $docroot.'/modules/contratti/row-list.php';
|
||||
|
||||
<?php
|
||||
// Collegamenti diretti
|
||||
// Fatture collegate a questo contratto
|
||||
$elementi = $dbo->fetchArray('SELECT `co_documenti`.*, `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 `idcontratto` = '.prepare($id_record).') ORDER BY `data`');
|
||||
// Fatture o interventi collegati a questo contratto
|
||||
$elementi = $dbo->fetchArray('SELECT 0 AS `codice`, `co_documenti`.`id` AS `id`, `co_documenti`.`numero` AS `numero`, `co_documenti`.`numero_esterno` AS `numero_esterno`, `co_documenti`.`data`, `co_tipidocumento`.`descrizione` AS `tipo_documento`, `co_tipidocumento`.`dir` AS `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 `idcontratto` = '.prepare($id_record).')'.'
|
||||
UNION
|
||||
SELECT `in_interventi`.`codice` AS `codice`, `in_interventi`.`id` AS `id`, 0 AS `numero`, 0 AS `numero_esterno`, `in_interventi`.`data_richiesta` AS `data`, 0 AS `tipo_documento`, 0 AS `dir` FROM `in_interventi` WHERE `in_interventi`.`id_contratto` = '.prepare($id_record).' ORDER BY `data` ');
|
||||
|
||||
|
||||
if (!empty($elementi)) {
|
||||
echo '
|
||||
@ -404,19 +405,38 @@ if (!empty($elementi)) {
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<ul>';
|
||||
|
||||
// Elenco attività o contratti collegati
|
||||
foreach ($elementi as $riga) {
|
||||
if (!empty($riga['dir'])){
|
||||
|
||||
foreach ($elementi as $fattura) {
|
||||
$descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [
|
||||
'_DOC_' => $fattura['tipo_documento'],
|
||||
'_NUM_' => !empty($fattura['numero_esterno']) ? $fattura['numero_esterno'] : $fattura['numero'],
|
||||
'_DATE_' => Translator::dateToLocale($fattura['data']),
|
||||
]);
|
||||
$descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [
|
||||
'_DOC_' => $riga['tipo_documento'],
|
||||
'_NUM_' => !empty($riga['numero_esterno']) ? $riga['numero_esterno'] : $riga['numero'],
|
||||
'_DATE_' => Translator::dateToLocale($riga['data']),
|
||||
]);
|
||||
|
||||
$modulo = ($fattura['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto';
|
||||
$id = $fattura['id'];
|
||||
$modulo = ($riga['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto';
|
||||
$id = $riga['id'];
|
||||
|
||||
echo '
|
||||
<li>'.Modules::link($modulo, $id, $descrizione).'</li>';
|
||||
|
||||
}else{
|
||||
|
||||
$descrizione = tr('Intervento num. _NUM_ del _DATE_', [
|
||||
'_NUM_' => $riga['codice'],
|
||||
'_DATE_' => Translator::dateToLocale($riga['data']),
|
||||
]);
|
||||
|
||||
$modulo = 'Interventi';
|
||||
$id = $riga['id'];
|
||||
|
||||
echo '
|
||||
<li>'.Modules::link($modulo, $id, $descrizione).'</li>';
|
||||
|
||||
}
|
||||
|
||||
echo '
|
||||
<li>'.Modules::link($modulo, $id, $descrizione).'</li>';
|
||||
}
|
||||
|
||||
echo '
|
||||
@ -430,10 +450,16 @@ if (!empty($elementi)) {
|
||||
<div class="alert alert-error">
|
||||
'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'.
|
||||
</div>';
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
?>
|
||||
|
||||
<a class="btn btn-danger ask" data-backto="record-list">
|
||||
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
|
||||
</a>
|
||||
|
||||
<?php
|
||||
|
||||
}
|
||||
?>
|
||||
|
@ -84,7 +84,8 @@ switch ($op) {
|
||||
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
if (isAjaxRequest() && post('source') != '') {
|
||||
//&& post('source') != ''
|
||||
if (isAjaxRequest()) {
|
||||
echo json_encode(['id' => $id_record, 'text' => $matricola.' - '.$nome]);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user