Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once ('DatabaseObject.php');
- class DatabaseObject_Preventivi extends DatabaseObject {
- public function __construct($db) {
- /*
- * chiamo il costruttore principale
- * che prende come parametri: l'adattatore, il nome della tabella e la chiave primaria
- */
- parent::__construct($db, 'preventivi', 'id_preventivo');
- /*
- * aggiungo i campi della tabella
- * primo parametro: nome campo
- * secondo parametro: valore di default
- * terzo parametro: tipo
- */
- $this->add('stato_prev');
- $this->add('attivita_in_corso');
- $this->add('id_opportunita');
- $this->add('cod_prodotto');
- $this->add('id_polizza');
- $this->add('brok');
- $this->add('rata');
- $this->add('durata');
- $this->add('montante');
- $this->add('netto');
- $this->add('provv');
- $this->add('provv_perc');
- $this->add('rappel');
- $this->add('rappel_perc');
- $this->add('num_pratica');
- $this->add('data_decorrenza');
- $this->add('scad_last_rata');
- $this->add('data_invio');
- $this->add('data_avvio');
- $this->add('segnalazione');
- $this->add('segn_perc');
- $this->add('provv_segn');
- $this->add('provv_totale');
- $this->add('num_arch_interno');
- $this->add('ultima_mod_pr');
- $this->add('commerciale_mod_pr');
- $this->add('data_richiesta_CS');
- $this->add('data_arrivo_CS');
- $this->add('data_stato_R');
- $this->add('data_stato_V');
- $this->add('data_rientro_polizza');
- $this->add('data_ricezione_originali');
- $this->add('data_invio_notifica');
- $this->add('numero_raccomandata');
- $this->add('data_ricezione_benestare');
- $this->add('data_estinzione');
- $this->add('finanziaria_da_estinguere');
- $this->add('note_preventivo');
- $this->add('rappel_perc_1');
- $this->add('rappel_1');
- $this->add('tot_generale');
- $this->add('close_max');
- $this->add('prima_firma_moduli');
- $this->add('data_firma_contratti');
- $this->add('luogo_firma_prima_mod');
- $this->add('referente_banca_ubi');
- $this->add('tel_referente_banca_ubi');
- $this->add('banca_ubi');
- $this->add('filiale_banca_ubi');
- $this->add('tel_filiale_banca_ubi');
- $this->add('data_stato_0');
- $this->add('blocco_creditolab');
- $this->add('IP');
- $this->add('creazione');
- $this->add('max_caricabile');
- $this->add('data_perfezionamento');
- $this->add('id_archiviazione');
- $this->add('data_annullamento');
- $this->add('provv_piva');
- $this->add('provv_piva_pagato');
- $this->add('num_fattura_provv_piva');
- $this->add('data_fattura_provv_piva');
- $this->add('acconto');
- $this->add('tan_perc');
- $this->add('taeg_perc');
- $this->add('finanziaria');
- $this->add('commissioni');
- $this->add('rid_comm_perc');
- $this->add('comm_perc');
- $this->add('confermato');
- $this->add('data_ora_conferma');
- $this->add('id_attivita_conferma');
- $this->add('conferma_visualizzata');
- $this->add('conferma_visualizzata_da');
- $this->add('conferma_visualizzata_il');
- $this->add('interessi');
- $this->add('oneri_erariali');
- $this->add('secci');
- $this->add('data_presunta_liquidazione');
- $this->add('ante_termine');
- $this->add('montante_da_estinguere');
- $this->add('data_deliberabilita');
- $this->add('rid_comm_perc');
- $this->add('probabile');
- $this->add('id_provvigione');
- $this->add('prodotto_14');
- $this->add('rid_accettata');
- }
- public function getTipoProdottoPerPreventivo($id_preventivo) {
- $tipo_prodotto = "";
- $selectProdotto = $this->_db->select()
- ->from(array('p' => $this->_table), array())
- ->join(array('pd' => 'prodotti'), 'p.cod_prodotto=pd.cod_prodotto', array('tipo_prodotto'))
- ->where('id_preventivo = (?)', $id_preventivo);
- $execSelect = $this->_db->fetchRow($selectProdotto);
- if ($execSelect) {
- $tipo_prodotto = $execSelect['tipo_prodotto'];
- }
- return $tipo_prodotto;
- }
- public function getPreventiviPerOpportunita($opportunita) {
- $selectPreventivi = $this->_db->select()
- ->from(array('p' => $this->_table), array('p.id_preventivo', 'pd.tipo_prodotto', 'p.probabile', 'p.rata', 'p.durata', 'p.montante', 'p.cod_prodotto', 'p.rid_comm_perc', 'p.montante_da_estinguere', 'p.comm_perc', 'p.commissioni', 'taeg_perc', 'p.tan_perc', 'creazione', 'provv_totale', 'netto', 'stato_prev', 'id_polizza', 'num_pratica', 'data_decorrenza', 'data_invio', 'data_avvio'))
- ->join(array('pd' => 'prodotti'), 'p.cod_prodotto=pd.cod_prodotto', array())
- ->where('id_opportunita = (?)', $opportunita->getId())
- ->where("stato_prev != 'NA'");
- $preventivi = $this->_db->query($selectPreventivi);
- return $preventivi->fetchAll();
- }
- public function resetProbabilitaPerTipoProdottoDiOpportunita($tipo_prodotto, $id_opportunita) {
- $resetProbabilita = "UPDATE {$this->_table} p
- JOIN prodotti pd ON p.cod_prodotto=pd.cod_prodotto
- SET probabile = NULL
- WHERE id_opportunita = '{$id_opportunita}' AND pd.tipo_prodotto = '{$tipo_prodotto}'";
- $reset = $this->_db->query($resetProbabilita);
- $selectPreventiviModificati = "SELECT id_preventivo
- FROM {$this->_table} p
- JOIN prodotti pd ON p.cod_prodotto=pd.cod_prodotto
- WHERE id_opportunita = '{$id_opportunita}' AND pd.tipo_prodotto = '{$tipo_prodotto}'";
- $preventivi = $this->_db->query($selectPreventiviModificati);
- $prevList = $preventivi->fetchAll();
- $listaIdPreventivi = array();
- foreach ($prevList as $prev) {
- $listaIdPreventivi[] = $prev['id_preventivo'];
- }
- return $listaIdPreventivi;
- }
- public function aggiorna($dati, $id_preventivo) {
- $this->_db->update($this->_table, $dati, "id_preventivo = {$id_preventivo}");
- }
- public function salvaStatoPreventiviUltimaOpportunitaPerAnagrafica($id_anagrafica, $stato) {
- $update = "UPDATE {$this->_table} pr "
- . "JOIN anagrafiche an ON an.ultima_opportunita = pr.id_opportunita "
- . "SET stato_prev = '{$stato}' "
- . "WHERE id_anagrafica = '{$id_anagrafica}' and stato_prev != '{$stato}'";
- $this->_db->query($update);
- }
- public function getPreventiviDeliberatiPerIMV($tipo_data, $mese_report, $year, $myIMV = null) {
- $condizione_data = "MONTH($tipo_data) = '{$mese_report}' AND YEAR($tipo_data) = '{$year}'";
- $condizionePreventivo = self::condizioniDeliberate();
- $selectMy = $this->_db->select()
- ->from(array('pr' => 'preventivi'), array('tot_provv' => 'SUM(pr.provv_totale)', 'im.nome_istanza', 'im.societa_commerciale', 'sc.nome_societa', 'im.id_imv', 'pd.gruppo'))
- ->join(array('op' => 'opportunita'), 'pr.id_opportunita=op.id_opportunita', array())
- ->join(array('an' => 'anagrafiche'), 'an.id_anagrafica=op.id_anagrafica', array())
- ->joinLeft(array('prc' => 'processi'), 'pr.id_preventivo=prc.id_preventivo', array())
- ->join(array('im' => 'imv'), 'im.id_imv = op.imv', array())
- ->join(array('sc' => 'societa'), 'im.societa_commerciale = sc.id_societa', array())
- ->join(array('u' => 'utenti'), 'op.id_commerciale=u.id_agente', array())
- ->join(array('pd' => 'prodotti'), 'pr.cod_prodotto=pd.cod_prodotto', array())
- ->where($condizione_data)
- ->where($condizionePreventivo);
- if (!is_null($myIMV)) {
- $selectMy->where('im.id_imv IN (?)', $myIMV);
- }
- $selectMy->group(array('im.societa_commerciale', 'im.nome_istanza', 'pd.gruppo'));
- $rProvv = $this->_db->query($selectMy);
- $resultProvv = $rProvv->fetchAll();
- $provvDeliberatoPerPo = array();
- $imvPresentiNelReportPerIlMese = array();
- $risultati_imv = array();
- $risultato = array();
- foreach ($resultProvv as $valoreProvvPerProdotto) {
- if (!array_key_exists($valoreProvvPerProdotto['nome_istanza'], $provvDeliberatoPerPo)) {
- $provvDeliberatoPerPo[$valoreProvvPerProdotto['nome_istanza']] = 0;
- }
- $provvDeliberatoPerPo[$valoreProvvPerProdotto['nome_istanza']] += $valoreProvvPerProdotto['tot_provv'];
- $prodotti[$valoreProvvPerProdotto['nome_istanza']][$valoreProvvPerProdotto['gruppo']] = $valoreProvvPerProdotto['tot_provv'];
- $risultato[$valoreProvvPerProdotto['nome_istanza']] = array(
- 'id_imv' => $valoreProvvPerProdotto['id_imv'],
- 'tot_provv' => $provvDeliberatoPerPo[$valoreProvvPerProdotto['nome_istanza']],
- 'societa_commerciale' => $valoreProvvPerProdotto['societa_commerciale'],
- 'nome_istanza' => $valoreProvvPerProdotto['nome_istanza'],
- //'obiettivoPo' => $obiettiviAttesiPo[$valoreProvvPerProdotto['nome_istanza']],
- 'prodotti_per_gruppi' => $prodotti[$valoreProvvPerProdotto['nome_istanza']],
- 'nome_societa' => $valoreProvvPerProdotto['nome_societa']
- );
- $imvPresentiNelReportPerIlMese[] = $valoreProvvPerProdotto['id_imv'];
- }
- return array(
- 'imv_in_report' => $imvPresentiNelReportPerIlMese,
- 'risultati_per_imv' => $risultato
- );
- }
- public function modelloStatisticheOrigine($gruppo, $tipo_data, $data_da, $data_a, $modello, $separa_preventivi = false) {
- $gruppoList = array('canale', 'mezzo', 'nome_campagna');
- if (!in_array($gruppo, $gruppoList)) {
- return false;
- }
- $selectMezzi = array('mezzo');
- $selectCanali = array('canale');
- $selectCampagna = array('nome_campagna');
- $itemDaSelezionare = array();
- $condizioneModello = "";
- $raggruppaPer = "";
- $ordinaPer = array();
- switch ($modello) {
- case 'prima_interazione':
- //$condizioneModello = "op.id_opportunita = (SELECT MIN(id_opportunita) from opportunita where id_anagrafica = A.id_anagrafica AND op.stato not in ('2', '3'))";
- if(!$separa_preventivi) {
- $itemDaSelezionare = array('num_pratiche' => 'COUNT(*)', 'provvigione' => 'SUM(provv_totale)');
- $raggruppaPer = $gruppo;
- } else {
- $itemDaSelezionare = array('pr.id_preventivo', 'op.id_opportunita', 'A.id_anagrafica');
- }
- break;
- case 'ultima_interazione':
- if(!$separa_preventivi) {
- //$condizioneModello = "op.id_opportunita = (SELECT MAX(id_opportunita) from opportunita where id_anagrafica = A.id_anagrafica AND op.stato not in ('2', '3'))";
- $itemDaSelezionare = array('num_pratiche' => 'COUNT(*)', 'provvigione' => 'SUM(provv_totale)');
- $raggruppaPer = $gruppo;
- }else {
- $itemDaSelezionare = array('pr.id_preventivo', 'op.id_opportunita', 'A.id_anagrafica');
- }
- break;
- case 'modello_lineare':
- $itemDaSelezionare = array('op.id_anagrafica', 'op.id_opportunita', 'provvigione' => 'provv_totale');
- $ordinaPer = array("op.id_anagrafica");
- break;
- case 'modello_su_posizione':
- $itemDaSelezionare = array('op.id_anagrafica', 'op.id_opportunita', 'provvigione' => 'provv_totale');
- $ordinaPer = array("op.id_anagrafica");
- break;
- }
- $selectMy = $this->_db->select()
- ->from(array('pr' => 'preventivi'), $itemDaSelezionare)
- ->join(array('op' => 'opportunita'), 'pr.id_opportunita=op.id_opportunita', array())
- ->joinLeft(array('prc' => 'processi'), 'pr.id_preventivo=prc.id_preventivo', array())
- ->join(array('A' => 'anagrafiche'), 'A.id_anagrafica=op.id_anagrafica', array());
- $opportunitaAlias = "op";
- if ("prima_interazione" == $modello ||
- "ultima_interazione" == $modello) {
- $seleziona = "prima";
- if ("ultima_interazione" == $modello) {
- $seleziona = "ultima";
- }
- if ("prima" == $seleziona) {
- $opportunitaEntity = new DatabaseObject_Opportunita($this->_db);
- $selectMyOP = $opportunitaEntity->selectPrimaUltimaOpportunita($seleziona);
- $opportunitaAlias = "OPP_M";
- $selectMy->join(array('MM_OP' => $selectMyOP), 'MM_OP.id_anagrafica = A.id_anagrafica', array());
- $selectMy->join(array($opportunitaAlias => 'opportunita'), 'OPP_M.id_opportunita=MM_OP.gruppo_id_opportunita', array());
- }
- else{
- $opportunitaAlias = "op";
- }
- }
- $selectMy->join(array('M' => 'mezzi'), "{$opportunitaAlias}.id_mezzo = M.id_mezzo", $selectMezzi)
- ->join(array('C' => 'canali'), "{$opportunitaAlias}.id_canale = C.id_canale", $selectCanali);
- if ("nome_campagna" == $gruppo) {
- $selectMy->join(array('CMP' => 'campagne'), "{$opportunitaAlias}.id_campagna = CMP.id_campagna", $selectCampagna);
- }
- if ("data_contatto" == $tipo_data) {
- $tipo_data = "op.data_contatto";
- }
- $selectMy->where(self::condizioniDeliberate())
- ->where("{$tipo_data} BETWEEN '{$data_da}' AND '{$data_a}'");
- if ("" != $condizioneModello) {
- $selectMy->where($condizioneModello);
- }
- if ("" != $raggruppaPer) {
- if("canale" == $raggruppaPer){
- $raggruppaPer = array('mezzo', 'canale');
- }
- $selectMy->group($raggruppaPer);
- }
- if (0 != count($ordinaPer)) {
- $selectMy->order($ordinaPer);
- }
- // echo $selectMy;
- // die();
- $rProvv = $this->_db->query($selectMy);
- //echo $selectMy;
- //die();
- $resultProvv = $rProvv->fetchAll();
- if(true == $separa_preventivi) {
- return $resultProvv;
- }
- $risultatoModello = array();
- $classList = array(
- 'Direct' => 'alert-error',
- 'Prestitalia' => 'alert-success',
- 'Territorio' => 'alert-info',
- 'Web' => 'alert-web'
- );
- $tot_pratiche = 0;
- $tot_provv = 0;
- switch ($modello) {
- case 'prima_interazione':
- case 'ultima_interazione':
- foreach ($resultProvv as $datiModello) {
- $risultatoModello[] = array(
- 'gruppoModello' => array(
- array(
- 'descrizione' => $datiModello[$gruppo],
- 'class' => array_key_exists($datiModello['mezzo'], $classList) ? $classList[$datiModello['mezzo']] : '',
- 'numero' => ''
- )
- ),
- 'num_pratiche' => $datiModello['num_pratiche'],
- 'provvigione' => $datiModello['provvigione']
- );
- $tot_pratiche += $datiModello['num_pratiche'];
- $tot_provv += $datiModello['provvigione'];
- }
- break;
- case 'modello_lineare':
- if ("nome_campagna" == $gruppo)
- return false;
- $opportunitaEntity = new DatabaseObject_Opportunita($this->_db);
- $tempResult = array();
- foreach ($resultProvv as $record) {
- $id_anagrafica = $record['id_anagrafica'];
- $provv = $record['provvigione'];
- $opportunitaPerAnagrafica = $opportunitaEntity->getOpportunitaPerAnagrafica($id_anagrafica, $data_a);
- $numeroOpportunita = count($opportunitaPerAnagrafica);
- for ($i = 0; $i < $numeroOpportunita; $i++) {
- if ($i == 0) { // Se รจ il primo
- $keyLinear = "";
- $origini = array();
- }
- $keyLinear = $keyLinear . $opportunitaPerAnagrafica[$i][$gruppo];
- $origini[] = array(
- 'gruppo' => $opportunitaPerAnagrafica[$i][$gruppo],
- 'class' => array_key_exists($opportunitaPerAnagrafica[$i]['mezzo'], $classList) ? $classList[$opportunitaPerAnagrafica[$i]['mezzo']] : '',
- );
- if ($i == ($numeroOpportunita - 1)) {
- if (!array_key_exists($keyLinear, $tempResult)) {
- $tempResult[$keyLinear] = array(
- 'provvigione' => 0,
- 'num_pratiche' => 0,
- 'origini' => array()
- );
- }
- $tempResult[$keyLinear]['provvigione'] += $provv;
- $tempResult[$keyLinear]['num_pratiche'] ++;
- $tempResult[$keyLinear]['origini'] = $origini;
- }
- }
- $tot_pratiche++;
- $tot_provv += $provv;
- }
- //var_dump($tempResult);
- foreach ($tempResult as $key => $infoSuModello) {
- $gruppoModello = array();
- $o = 0;
- do {
- $numero = 1;
- $origineLineare = $infoSuModello['origini'][$o]['gruppo'];
- $class = $infoSuModello['origini'][$o]['class'];
- $prox = $o + 1;
- for ($indice = $prox; $indice < count($infoSuModello['origini']); $indice++) {
- if ($infoSuModello['origini'][$indice]['gruppo'] == $origineLineare) {
- $numero++;
- $o = $indice;
- } else {
- break;
- }
- }
- $gruppoModello[] = array(
- 'descrizione' => $origineLineare,
- 'class' => $class,
- 'numero' => $numero
- );
- $o++;
- } while ($o < count($infoSuModello['origini']));
- $risultatoModello[] = array(
- 'modello' => $key,
- 'gruppoModello' => $gruppoModello,
- 'num_pratiche' => $infoSuModello['num_pratiche'],
- 'provvigione' => $infoSuModello['provvigione']
- );
- }
- break;
- case 'modello_su_posizione':
- $opportunitaEntity = new DatabaseObject_Opportunita($this->_db);
- $tempResult = array();
- foreach ($resultProvv as $record) {
- $id_opportunita = $record['id_opportunita'];
- $id_anagrafica = $record['id_anagrafica'];
- $provv = $record['provvigione'];
- $tot_provv += $provv;
- $tot_pratiche++;
- $opportunitaPerAnagrafica = $opportunitaEntity->getOpportunitaPerAnagrafica($id_anagrafica, $data_a);
- $numeroOpportunita = count($opportunitaPerAnagrafica);
- if (1 == $numeroOpportunita) {
- if (!array_key_exists($opportunitaPerAnagrafica[0][$gruppo], $tempResult)) {
- $tempResult[$opportunitaPerAnagrafica[0][$gruppo]] = array(
- 'provvigione' => 0,
- 'class' => array_key_exists($opportunitaPerAnagrafica[0]['mezzo'], $classList) ? $classList[$opportunitaPerAnagrafica[0]['mezzo']] : ''
- );
- }
- $tempResult[$opportunitaPerAnagrafica[0][$gruppo]]['provvigione'] += $provv;
- } elseif (2 == $numeroOpportunita) {
- foreach ($opportunitaPerAnagrafica as $oppDiAnagrafica) {
- if (!array_key_exists($oppDiAnagrafica[$gruppo], $tempResult)) {
- $tempResult[$oppDiAnagrafica[$gruppo]] = array(
- 'provvigione' => 0,
- 'class' => array_key_exists($oppDiAnagrafica['mezzo'], $classList) ? $classList[$oppDiAnagrafica['mezzo']] : ''
- );
- }
- $tempResult[$oppDiAnagrafica[$gruppo]]['provvigione'] += $provv / 2;
- }
- } else {
- $percPerPrimaEUltimaOpportunita = 40;
- $provvPrimaUltimaOpp = ($provv * $percPerPrimaEUltimaOpportunita) / 100;
- $numeroAltreOpportunita = $numeroOpportunita - 2; // meno la prima e l'ultima
- $provvRimanente = $provv - ($provvPrimaUltimaOpp * 2); // meno la prima e l'ultima
- $provvPerOpportunitaRimanenti = $provvRimanente / $numeroAltreOpportunita;
- //echo "Provv: {$provv} | $numeroOpportunita | {$provvPrimaUltimaOpp} | {$numeroAltreOpportunita} | {$provvRimanente} | {$provvPerOpportunitaRimanenti} <br>";
- for ($i = 0; $i < $numeroOpportunita; $i++) {
- //echo "$i / $numeroOpportunita<br>";
- if (!array_key_exists($opportunitaPerAnagrafica[$i][$gruppo], $tempResult)) {
- $tempResult[$opportunitaPerAnagrafica[$i][$gruppo]] = array(
- 'provvigione' => 0,
- 'class' => array_key_exists($opportunitaPerAnagrafica[$i]['mezzo'], $classList) ? $classList[$opportunitaPerAnagrafica[$i]['mezzo']] : ''
- );
- }
- if ($i == 0 ||
- $i == ($numeroOpportunita - 1)) {
- //รจ la prima o l'ultima
- $tempResult[$opportunitaPerAnagrafica[$i][$gruppo]]['provvigione'] += $provvPrimaUltimaOpp;
- //echo "Prima o ultima --- <br>";
- } else {
- $tempResult[$opportunitaPerAnagrafica[$i][$gruppo]]['provvigione'] += $provvPerOpportunitaRimanenti;
- //echo "Rimanente --- <br>";
- }
- }
- }
- }
- foreach ($tempResult as $origine => $info) {
- $risultatoModello[] = array(
- 'gruppoModello' => array(
- array(
- 'descrizione' => $origine,
- 'class' => $info['class'],
- 'numero' => ''
- )
- ),
- 'num_pratiche' => '',
- 'provvigione' => $info['provvigione']
- );
- }
- break;
- }
- //var_dump($tempResult);
- //var_dump($risultatoModello);
- return array(
- 'risultatoModello' => $risultatoModello,
- 'tot_provv' => $tot_provv,
- 'tot_pratiche' => $tot_pratiche,
- 'classList' => $classList
- );
- /*
- * Prima Iterazione
- *
- * "SELECT COUNT(*) AS `num_pratiche`, SUM(provv_totale) AS `provvigione`, `M`.`mezzo`
- * FROM `preventivi` AS `pr`
- * INNER JOIN `opportunita` AS `op` ON pr.id_opportunita=op.id_opportunita
- * LEFT JOIN `processi` AS `prc` ON pr.id_preventivo=prc.id_preventivo
- * INNER JOIN `anagrafiche` AS `A` ON A.id_anagrafica=op.id_anagrafica
- * INNER JOIN `mezzi` AS `M` ON op.id_mezzo = M.id_mezzo
- * INNER JOIN `canali` AS `C` ON op.id_canale = C.id_canale
- * WHERE (((op.stato IN ('PA','PD','LZ') AND pr.stato_prev IN ('R','S','X','1')
- * AND pr.rata IS NOT NULL AND pr.durata IS NOT NULL AND pr.montante IS NOT NULL
- * AND pr.netto IS NOT NULL AND pr.data_invio IS NOT NULL AND ((pr.cod_prodotto in ('AN','PP')
- * AND pr.num_pratica is null) OR (pr.cod_prodotto not in ('AN','PP') and pr.num_pratica is not null)))
- * OR (prc.stato IN ('CF', 'RP', 'NT', 'OB', 'VL', 'LZ'))))
- * AND (data_avvio BETWEEN '2017-01-01' AND '2017-09-30')
- * AND (op.id_opportunita = (SELECT MIN(id_opportunita) from opportunita where id_anagrafica = A.id_anagrafica AND op.stato not in ('2', '3')))
- * GROUP BY `mezzo`"
- *
- * Ultima Iterazione
- *
- * "SELECT COUNT(*) AS `num_pratiche`, SUM(provv_totale) AS `provvigione`, `M`.`mezzo`
- * FROM `preventivi` AS `pr`
- * INNER JOIN `opportunita` AS `op` ON pr.id_opportunita=op.id_opportunita
- * LEFT JOIN `processi` AS `prc` ON pr.id_preventivo=prc.id_preventivo
- * INNER JOIN `anagrafiche` AS `A` ON A.id_anagrafica=op.id_anagrafica
- * INNER JOIN `mezzi` AS `M` ON op.id_mezzo = M.id_mezzo
- * INNER JOIN `canali` AS `C` ON op.id_canale = C.id_canale
- * WHERE (((op.stato IN ('PA','PD','LZ') AND pr.stato_prev IN ('R','S','X','1')
- * AND pr.rata IS NOT NULL AND pr.durata IS NOT NULL AND pr.montante IS NOT NULL
- * AND pr.netto IS NOT NULL AND pr.data_invio IS NOT NULL AND ((pr.cod_prodotto in ('AN','PP')
- * AND pr.num_pratica is null) OR (pr.cod_prodotto not in ('AN','PP') and pr.num_pratica is not null)))
- * OR (prc.stato IN ('CF', 'RP', 'NT', 'OB', 'VL', 'LZ'))))
- * AND (data_avvio BETWEEN '2017-01-01' AND '2017-09-30')
- * AND (op.id_opportunita = (SELECT MAX(id_opportunita) from opportunita where id_anagrafica = A.id_anagrafica AND op.stato not in ('2', '3')))
- * GROUP BY `mezzo`"
- *
- *
- *
- *
- *
- *
- *
- *
- *
- * */
- }
- public function sposta($preventivi_insert_into, $preventivi_delete_from, $opportunita_delete_from, $id_anagrafica) {
- $insert_into_prev_cancellazione = "INSERT INTO {$preventivi_insert_into}
- SELECT {$preventivi_delete_from}.*
- FROM {$preventivi_delete_from}
- JOIN {$opportunita_delete_from} USING(id_opportunita)
- WHERE id_anagrafica = '{$id_anagrafica}'";
- $this->_db->query($insert_into_prev_cancellazione);
- }
- public function cancella($preventivi_delete_from, $opportunita_delete_from, $id_anagrafica) {
- $delete_preventivi = "DELETE pr.*
- FROM {$preventivi_delete_from} pr
- JOIN {$opportunita_delete_from} USING(id_opportunita)
- WHERE id_anagrafica = '{$id_anagrafica}'";
- $this->_db->query($delete_preventivi);
- }
- //#VERDI
- static function condizioniDeliberate() {
- $condizioneProcessoVenditaIstruttoriaGrid = "op.stato IN ('PA','PD','LZ')
- AND pr.stato_prev IN ('R','S','X','1')
- AND pr.rata IS NOT NULL
- AND pr.durata IS NOT NULL
- AND pr.montante IS NOT NULL
- AND pr.netto IS NOT NULL
- AND pr.data_invio IS NOT NULL
- AND ((pr.cod_prodotto in ('AN','PP') AND pr.num_pratica is null) OR (pr.cod_prodotto not in ('AN','PP') and pr.num_pratica is not null))";
- $condizioneProcessoIstruttoria = "prc.stato IN ('CF', 'RP', 'NT', 'OB', 'VL', 'LZ')";
- $condizione = "(({$condizioneProcessoVenditaIstruttoriaGrid}) OR ({$condizioneProcessoIstruttoria}))";
- return $condizione;
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement