/[openfoncier]/trunk/obj/taxe_amenagement.class.php
ViewVC logotype

Annotation of /trunk/obj/taxe_amenagement.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3730 - (hide annotations)
Fri Mar 18 11:50:26 2016 UTC (8 years, 10 months ago) by mbroquet
File size: 9833 byte(s)
Actualisation du trunk
1 mbroquet 3730 <?php
2     //$Id$
3     //gen openMairie le 24/07/2015 12:20
4    
5     require_once "../gen/obj/taxe_amenagement.class.php";
6    
7     class taxe_amenagement extends taxe_amenagement_gen {
8    
9     /**
10     * Instance de la classe om_collectivite.
11     *
12     * @var mixed
13     */
14     var $inst_om_collectivite = null;
15    
16     /**
17     * Liste des champs nécessaires au calcul de l'imposition.
18     *
19     * @var array
20     */
21     var $list_fields_simulation = array(
22     "tax_su_princ_log_nb1",
23     "tax_su_princ_surf1",
24     "tax_su_princ_surf_stat1",
25     "tax_su_princ_surf2",
26     "tax_su_princ_surf_stat2",
27     "tax_su_princ_surf4",
28     "tax_su_princ_surf_stat4",
29     "tax_su_princ_surf3",
30     "tax_su_princ_surf_stat3",
31     "tax_su_secon_surf",
32     "tax_su_secon_surf_stat",
33     "tax_su_non_habit_surf1",
34     "tax_su_non_habit_surf_stat1",
35     "tax_su_non_habit_surf2",
36     "tax_su_non_habit_surf_stat2",
37     "tax_su_non_habit_surf3",
38     "tax_su_non_habit_surf_stat3",
39     "tax_empl_ten_carav_mobil_nb_cr",
40     "tax_empl_hll_nb_cr",
41     "tax_eol_haut_nb_cr",
42     "tax_sup_bass_pisc_cr",
43     "tax_pann_volt_sup_cr",
44     "tax_am_statio_ext_cr"
45     );
46    
47     function __construct($id, &$dnu1 = null, $dnu2 = null) {
48     $this->constructeur($id);
49     }
50    
51     /**
52     * Permet de définir l’attribut “onchange” sur chaque champ.
53     *
54     * @param object $form Formumaire
55     * @param integer $maj Mode d'insertion
56     */
57     function setOnchange(&$form, $maj) {
58     parent::setOnchange($form, $maj);
59     $form->setOnchange('tx_depart', 'VerifFloat(this, 2)');
60     $form->setOnchange('tx_reg', 'VerifFloat(this, 2)');
61     $form->setOnchange('tx_comm_secteur_1', 'VerifFloat(this, 2)');
62     $form->setOnchange('tx_comm_secteur_2', 'VerifFloat(this, 2)');
63     $form->setOnchange('tx_comm_secteur_3', 'VerifFloat(this, 2)');
64     $form->setOnchange('tx_comm_secteur_4', 'VerifFloat(this, 2)');
65     $form->setOnchange('tx_comm_secteur_5', 'VerifFloat(this, 2)');
66     $form->setOnchange('tx_comm_secteur_6', 'VerifFloat(this, 2)');
67     $form->setOnchange('tx_comm_secteur_7', 'VerifFloat(this, 2)');
68     $form->setOnchange('tx_comm_secteur_8', 'VerifFloat(this, 2)');
69     $form->setOnchange('tx_comm_secteur_9', 'VerifFloat(this, 2)');
70     $form->setOnchange('tx_comm_secteur_10', 'VerifFloat(this, 2)');
71     $form->setOnchange('tx_comm_secteur_11', 'VerifFloat(this, 2)');
72     $form->setOnchange('tx_comm_secteur_12', 'VerifFloat(this, 2)');
73     $form->setOnchange('tx_comm_secteur_13', 'VerifFloat(this, 2)');
74     $form->setOnchange('tx_comm_secteur_14', 'VerifFloat(this, 2)');
75     $form->setOnchange('tx_comm_secteur_15', 'VerifFloat(this, 2)');
76     $form->setOnchange('tx_comm_secteur_16', 'VerifFloat(this, 2)');
77     $form->setOnchange('tx_comm_secteur_17', 'VerifFloat(this, 2)');
78     $form->setOnchange('tx_comm_secteur_18', 'VerifFloat(this, 2)');
79     $form->setOnchange('tx_comm_secteur_19', 'VerifFloat(this, 2)');
80     $form->setOnchange('tx_comm_secteur_20', 'VerifFloat(this, 2)');
81     }
82    
83     /**
84     * Permet de définir les valeurs des champs.
85     *
86     * @param object $form Objet formulaire
87     * @param integer $maj Mode du formulaire
88     * @param integer $validation Validation du formulaire
89     *
90     * @return void
91     */
92     function setVal(&$form, $maj, $validation) {
93     parent::setVal($form, $maj, $validation);
94    
95     //
96     if ($validation == 0 && $this->getParameter('maj') == 0) {
97     //
98     $form->setVal('val_forf_surf_cstr', 705);
99     $form->setVal('val_forf_empl_tente_carav_rml', 3000);
100     $form->setVal('val_forf_empl_hll', 10000);
101     $form->setVal('val_forf_surf_piscine', 200);
102     $form->setVal('val_forf_nb_eolienne', 3000);
103     $form->setVal('val_forf_surf_pann_photo', 10);
104     $form->setVal('val_forf_nb_parking_ext', 2000);
105     $form->setVal('tx_depart', "2.00");
106     $form->setVal('tx_comm_secteur_1', "1.00");
107     }
108     }
109    
110     /**
111     * Définit s'il y a un seul secteur.
112     *
113     * @return boolean
114     */
115     function has_one_secteur() {
116     // Il ne peut y avoir que 20 secteur maximum
117     for ($i=2; $i < 21; $i++) {
118     //
119     $secteur = $this->getVal('tx_comm_secteur_'.$i);
120     // Si un des secteurs de 2 à 20 n'est pas vide
121     if (!empty($secteur)) {
122     //
123     return false;
124     }
125     }
126    
127     //
128     return true;
129     }
130    
131     /**
132     * Calcul des montants liquidés.
133     *
134     * @param integer $secteur Numéro du secteur
135     * @param array $donnees_techniques Liste des valeurs des données techniques
136     *
137     * @return array
138     */
139     function calcul($secteur, $donnees_techniques) {
140    
141     // Taux
142     $tx = array();
143     $tx['commu'] = ($this->getVal('tx_comm_secteur_'.$secteur)/100);
144     $tx['depart'] = ($this->getVal('tx_depart')/100);
145     $tx['reg'] = ($this->getVal('tx_reg')/100);
146    
147     // Initialisation du tableau des résultats
148     $result = array();
149    
150     // Pour chaque part
151     foreach ($tx as $key => $taux) {
152    
153     // Surface résidence principale
154     $surf_log_res_princ = ($donnees_techniques['tax_su_princ_surf1'] + $donnees_techniques['tax_su_princ_surf_stat1']) + ($donnees_techniques['tax_su_princ_surf2'] + $donnees_techniques['tax_su_princ_surf_stat2']) + ($donnees_techniques['tax_su_princ_surf4'] + $donnees_techniques['tax_su_princ_surf_stat4']) + ($donnees_techniques['tax_su_princ_surf3'] + $donnees_techniques['tax_su_princ_surf_stat3']);
155    
156     //
157     if ($donnees_techniques['tax_su_princ_log_nb1'] * 100 > $surf_log_res_princ) {
158    
159     //
160     $cal1 = (($surf_log_res_princ / 2) + (($donnees_techniques['tax_su_princ_surf3'] + $donnees_techniques['tax_su_princ_surf_stat3']) / 2) + ($donnees_techniques['tax_su_secon_surf'] + $donnees_techniques['tax_su_secon_surf_stat']) + ($donnees_techniques['tax_su_non_habit_surf1'] + $donnees_techniques['tax_su_non_habit_surf_stat1']) + ((($donnees_techniques['tax_su_non_habit_surf2'] + $donnees_techniques['tax_su_non_habit_surf_stat2']) + ($donnees_techniques['tax_su_non_habit_surf3'] + $donnees_techniques['tax_su_non_habit_surf_stat3'])) / 2)) * $taux * $this->getVal('val_forf_surf_cstr');
161    
162     } else {
163    
164     //
165     $cal1 = (($donnees_techniques['tax_su_princ_log_nb1'] * 100 / 2) + (($surf_log_res_princ - ($donnees_techniques['tax_su_princ_log_nb1'] * 100))) + (($donnees_techniques['tax_su_princ_surf3'] + $donnees_techniques['tax_su_princ_surf_stat3']) / 2) + ($donnees_techniques['tax_su_secon_surf'] + $donnees_techniques['tax_su_secon_surf_stat']) + ($donnees_techniques['tax_su_non_habit_surf1'] + $donnees_techniques['tax_su_non_habit_surf_stat1']) + ((($donnees_techniques['tax_su_non_habit_surf2'] + $donnees_techniques['tax_su_non_habit_surf_stat2']) + ($donnees_techniques['tax_su_non_habit_surf3'] + $donnees_techniques['tax_su_non_habit_surf_stat3'])) / 2)) * $taux * $this->getVal('val_forf_surf_cstr');
166     }
167    
168     // Calcul des autres installations
169     $cal2 = (($donnees_techniques['tax_empl_ten_carav_mobil_nb_cr'] * $this->getVal('val_forf_empl_tente_carav_rml')) + ($donnees_techniques['tax_empl_hll_nb_cr'] * $this->getVal('val_forf_empl_hll')) + ($donnees_techniques['tax_eol_haut_nb_cr'] * $this->getVal('val_forf_nb_eolienne')) + ($donnees_techniques['tax_sup_bass_pisc_cr'] * $this->getVal('val_forf_surf_piscine')) + ($donnees_techniques['tax_pann_volt_sup_cr'] * $this->getVal('val_forf_surf_pann_photo')) + ($donnees_techniques['tax_am_statio_ext_cr'] * $this->getVal('val_forf_nb_parking_ext'))) * $taux;
170    
171     // Montant liquidé
172     $result[$key] = $cal1 + $cal2;
173     }
174    
175     //
176     return $result;
177     }
178    
179     /**
180     * Permet de modifier le fil d'Ariane.
181     *
182     * @param string $ent Fil d'Ariane
183     *
184     * @return string
185     */
186     function getFormTitle($ent) {
187    
188     // Si différent de l'ajout
189     if ($this->getParameter("maj") != 0) {
190    
191     $ent .= " -> ".$this->get_om_collectivite_libelle();
192     }
193    
194     // Change le fil d'Ariane
195     return $ent;
196     }
197    
198     /**
199     * Récupère le libellé de la collectivité.
200     *
201     * @return string
202     */
203     function get_om_collectivite_libelle() {
204     // Instance de om_collectivite
205     $om_collectivite = $this->get_inst_om_collectivite();
206    
207     // Récupère la valeur du champ libelle
208     $libelle = $om_collectivite->getVal('libelle');
209    
210     //
211     return $libelle;
212     }
213    
214     /**
215     * Récupère l'instance de la collectivité.
216     *
217     * @param mixed $om_collectivite Identifiant de la om_collectivite
218     *
219     * @return object
220     */
221     function get_inst_om_collectivite($om_collectivite = null) {
222     //
223     if (is_null($this->inst_om_collectivite)) {
224     //
225     if (is_null($om_collectivite)) {
226     $om_collectivite = $this->getVal('om_collectivite');
227     }
228     //
229     require_once "../obj/om_collectivite.class.php";
230     $this->inst_om_collectivite = new om_collectivite($om_collectivite, $this->f->db, 0);
231     }
232     //
233     return $this->inst_om_collectivite;
234     }
235    
236     /**
237     * Récupère la liste des champs nécessaires au calcul de l'imposition.
238     *
239     * @return array
240     */
241     function get_list_fields_simulation() {
242     //
243     return $this->list_fields_simulation;
244     }
245    
246     }
247    
248     ?>

Properties

Name Value
svn:executable

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26