mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-16 19:40:44 +01:00
Aggiunti stati nei select.
Per Interventi, Contratti e Preventivi.
This commit is contained in:
parent
0601fa7898
commit
14155bd075
@ -4,18 +4,27 @@ include_once __DIR__.'/../../../core.php';
|
||||
|
||||
switch ($resource) {
|
||||
case 'contratti':
|
||||
$query = 'SELECT co_contratti.id AS id, CONCAT(numero, " ", nome) AS descrizione FROM co_contratti INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id';
|
||||
$query = 'SELECT co_contratti.id AS id, CONCAT("Contratto ", numero, " del ", DATE_FORMAT(data_bozza, "%d/%m/%Y"), " - ", nome, " [", (SELECT `descrizione` FROM `co_staticontratti` WHERE `co_staticontratti`.`id` = `idstato`) , "]") AS descrizione, (SELECT SUM(subtotale) FROM co_righe_contratti WHERE idcontratto=co_contratti.id) AS totale, (SELECT SUM(sconto) FROM co_righe_contratti WHERE idcontratto=co_contratti.id) AS sconto FROM co_contratti INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id';
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'id='.prepare($element);
|
||||
}
|
||||
|
||||
$where[] = 'an_anagrafiche.idanagrafica='.prepare($superselect['idanagrafica']);
|
||||
$where[] = 'idstato IN (SELECT `id` FROM co_staticontratti WHERE pianificabile = 1)';
|
||||
|
||||
$stato = !empty($superselect['stato']) ? $superselect['stato'] : 'pianificabile';
|
||||
$where[] = 'idstato IN (SELECT `id` FROM co_staticontratti WHERE '.$stato.' = 1)';
|
||||
|
||||
if (!empty($superselect['non_fatturato'])) {
|
||||
$where[] = 'id NOT IN (SELECT idcontratto FROM co_righe_documenti WHERE idcontratto IS NOT NULL)';
|
||||
}
|
||||
|
||||
if (!empty($search)) {
|
||||
$search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
|
||||
$custom['totale'] = 'totale';
|
||||
$custom['sconto'] = 'sconto';
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -31,10 +31,12 @@ echo '
|
||||
<input type="hidden" name="dir" value="'.$dir.'">';
|
||||
|
||||
// Contratto
|
||||
$_SESSION['superselect']['stato'] = 'fatturabile';
|
||||
$_SESSION['superselect']['non_fatturato'] = 1;
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "required": 1, "values": "query=SELECT id, CONCAT(\'Contratto numero \', numero, \' - \', nome) AS descrizione, budget, (SELECT SUM(subtotale) FROM co_righe_contratti WHERE idcontratto=co_contratti.id) AS subtot, (SELECT SUM(sconto) FROM co_righe_contratti WHERE idcontratto=co_contratti.id) AS sconto FROM co_contratti WHERE idanagrafica='.prepare($idanagrafica).' AND id NOT IN (SELECT idcontratto FROM co_righe_documenti WHERE NOT idcontratto=NULL) AND idstato IN( SELECT id FROM co_staticontratti WHERE fatturabile = 1)", "extra": "onchange=\"$data = $(this).selectData(); $(\'#descrizione\').val($data.text); $(\'#prezzo\').val($data.subtot); $(\'#sconto\').val($data.sconto);\"" ]}
|
||||
{[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "required": 1, "ajax-source": "contratti", "extra": "onchange=\"$data = $(this).selectData(); $(\'#descrizione\').val($data.text); $(\'#prezzo\').val($data.subtot); $(\'#sconto\').val($data.sconto);\"" ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
|
@ -35,7 +35,7 @@ echo '
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT
|
||||
in_interventi.id,
|
||||
CONCAT(\'Intervento numero \', in_interventi.codice, \' del \', DATE_FORMAT(IFNULL((SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento=in_interventi.id), in_interventi.data_richiesta), \'%d/%m/%Y\')) AS descrizione,
|
||||
CONCAT(\'Intervento numero \', in_interventi.codice, \' del \', DATE_FORMAT(IFNULL((SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento=in_interventi.id), in_interventi.data_richiesta), \'%d/%m/%Y\'), " [", `in_statiintervento`.`descrizione` , "]") AS descrizione,
|
||||
CONCAT(\'\n\', in_interventi.descrizione) AS descrizione_intervento,
|
||||
IF(idclientefinale='.prepare($idanagrafica).', \'Interventi conto terzi\', \'Interventi diretti\') AS `optgroup`
|
||||
FROM
|
||||
|
@ -31,10 +31,16 @@ echo '
|
||||
<input type="hidden" name="dir" value="'.$dir.'">';
|
||||
|
||||
// Preventivo
|
||||
$_SESSION['superselect']['stati'] = [
|
||||
'Accettato',
|
||||
'In lavorazione',
|
||||
'In attesa di conferma',
|
||||
];
|
||||
$_SESSION['superselect']['non_fatturato'] = 1;
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Preventivo').'", "name": "idpreventivo", "required": 1, "values": "query=SELECT id, nome AS descrizione, (SELECT SUM(subtotale) FROM co_righe_preventivi WHERE idpreventivo=co_preventivi.id GROUP BY idpreventivo) - (SELECT SUM(sconto) FROM co_righe_preventivi WHERE idpreventivo=co_preventivi.id GROUP BY idpreventivo) AS subtot FROM co_preventivi WHERE idanagrafica='.prepare($idanagrafica).' AND id NOT IN (SELECT idpreventivo FROM co_righe_documenti WHERE NOT idpreventivo=NULL) AND idstato IN( SELECT id FROM co_statipreventivi WHERE descrizione=\'Accettato\' OR descrizione=\'In lavorazione\' OR descrizione=\'In attesa di conferma\')", "extra": "onchange=\"$data = $(this).selectData(); $(\'#descrizione\').val($data.text); $(\'#prezzo\').val($data.subtot);\"" ]}
|
||||
{[ "type": "select", "label": "'.tr('Preventivo').'", "name": "idpreventivo", "required": 1, "ajax-source": "preventivi", "extra": "onchange=\"$data = $(this).selectData(); $(\'#descrizione\').val($data.text); $(\'#prezzo\').val($data.totale - $data.sconto);console.log($data.totale)\"" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
|
@ -46,7 +46,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
||||
|
||||
<!-- RIGA 2 -->
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-6">
|
||||
<?php
|
||||
if (($records[0]['idpreventivo'] != '')) {
|
||||
echo '
|
||||
@ -57,7 +57,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
||||
{[ "type": "select", "label": "<?php echo tr('Preventivo'); ?>", "name": "idpreventivo", "value": "$idpreventivo$", "ajax-source": "preventivi", "readonly": "<?php echo $records[0]['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-6">
|
||||
<?php
|
||||
$rs = $dbo->fetchArray('SELECT id, idcontratto FROM co_contratti_promemoria WHERE idintervento='.prepare($id_record));
|
||||
if (count($rs) == 1) {
|
||||
|
@ -5,14 +5,30 @@ include_once __DIR__.'/../../../core.php';
|
||||
switch ($resource) {
|
||||
case 'preventivi':
|
||||
if (isset($superselect['idanagrafica'])) {
|
||||
$query = 'SELECT co_preventivi.id AS id, an_anagrafiche.idanagrafica, CONCAT(numero, " ", nome) AS descrizione, co_preventivi.idtipointervento, (SELECT descrizione descrizione FROM in_tipiintervento WHERE in_tipiintervento.idtipointervento = co_preventivi.idtipointervento) AS idtipointervento_descrizione FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id';
|
||||
$query = 'SELECT co_preventivi.id AS id, an_anagrafiche.idanagrafica, CONCAT("Preventivo ", numero, " del ", DATE_FORMAT(data_bozza, "%d/%m/%Y"), " - ", nome, " [", (SELECT `descrizione` FROM `co_statipreventivi` WHERE `co_statipreventivi`.`id` = `idstato`) , "]") AS descrizione, co_preventivi.idtipointervento, (SELECT descrizione descrizione FROM in_tipiintervento WHERE in_tipiintervento.idtipointervento = co_preventivi.idtipointervento) AS idtipointervento_descrizione, (SELECT SUM(subtotale) FROM co_righe_preventivi WHERE idpreventivo=co_preventivi.id GROUP BY idpreventivo) AS totale, (SELECT SUM(sconto) FROM co_righe_preventivi WHERE idpreventivo=co_preventivi.id GROUP BY idpreventivo) AS sconto FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id';
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'id='.prepare($element);
|
||||
}
|
||||
|
||||
$where[] = 'an_anagrafiche.idanagrafica='.prepare($superselect['idanagrafica']);
|
||||
$where[] = "idstato NOT IN (SELECT `id` FROM co_statipreventivi WHERE descrizione='Bozza' OR descrizione='Rifiutato' OR descrizione='Pagato')";
|
||||
|
||||
$stati = !empty($superselect['stati']) ? $superselect['stati'] : [
|
||||
'In attesa di conferma',
|
||||
'Accettato',
|
||||
'In lavorazione',
|
||||
'Concluso',
|
||||
'In attesa di pagamento',
|
||||
];
|
||||
$desc = [];
|
||||
foreach ($stati as $value) {
|
||||
$desc[] = prepare($value);
|
||||
}
|
||||
$where[] = 'idstato IN (SELECT `id` FROM co_statipreventivi WHERE descrizione IN ('.implode(',', $desc).'))';
|
||||
|
||||
if (!empty($superselect['non_fatturato'])) {
|
||||
$where[] = 'id NOT IN (SELECT idpreventivo FROM co_righe_documenti WHERE idpreventivo IS NOT NULL)';
|
||||
}
|
||||
|
||||
if (!empty($search)) {
|
||||
$search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
|
||||
@ -20,6 +36,8 @@ switch ($resource) {
|
||||
|
||||
$custom['idtipointervento'] = 'idtipointervento';
|
||||
$custom['idtipointervento_descrizione'] = 'idtipointervento_descrizione';
|
||||
$custom['totale'] = 'totale';
|
||||
$custom['sconto'] = 'sconto';
|
||||
}
|
||||
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user