コード例 #1
0
 public function run($context)
 {
     $stock_factory = new Stock();
     $stocks = $stock_factory->find_by_query('SELECT * FROM `creso_titoli` ' . 'LEFT JOIN `creso_obbligazioni` ON `creso_titoli`.`isin` = `creso_obbligazioni`.`isin` ' . 'WHERE ' . "`creso_titoli`.`tipo` = 'obbligazione' " . 'AND ' . "`creso_obbligazioni`.`emissione` = '0000-00-00' " . 'AND ' . '`creso_titoli`.`attivo` = 1 ' . 'LIMIT 1500');
     $updated_count = 0;
     foreach ($stocks as $stock) {
         $bond = new Bond();
         $bond->find_by_id($stock->isin);
         $bond->emissione = isin2emissione_ariva($stock->isin);
         if ($bond->emissione != '0000-00-00') {
             $bond->save();
             $updated_count++;
         }
     }
     printf("%s updated %d bonds\n", get_called_class(), $updated_count);
 }
コード例 #2
0
 public function run($context)
 {
     // printf("ISIN;Emissione;Scadenza;Cadenza;Stacco;Tasso\n");
     $updated_count = 0;
     foreach ($context->stocks as $stock) {
         if ($stock->tipo != 'obbligazione' || !$stock->attivo) {
             continue;
         }
         // print_r($stock);
         $bond = new Bond();
         if ($bond->find_by_id($stock->isin)) {
             if ($bond->scadenza != EPOCH_ZERO && $bond->emissione != EPOCH_ZERO && $bond->stacco != EPOCH_ZERO) {
                 continue;
             }
         }
         // printf("%s;%s;%s;%s;%s;%s\n",
         //	 $bond->isin,
         //	 $bond->emissione,
         //	 $bond->scadenza,
         //	 $bond->cadenza,
         //	 $bond->stacco,
         //	 $bond->tasso
         // );
         switch ($stock->mercato) {
             case "eurotlx":
             case "tlx":
                 $params = isin2bond_tlx($stock->isin, $context->preferences->isin_lookup_eurotlx);
                 break;
         }
         if ($params === FALSE) {
             continue;
         }
         $bond_new = new Bond($params);
         $bond_new->isin = $stock->isin;
         if (!empty($bond_new->scadenza) && $bond->scadenza != $bond_new->scadenza || !empty($bond_new->emissione) && $bond->emissione != $bond_new->emissione || !empty($bond_new->stacco) && $bond->stacco != $bond_new->stacco) {
             // printf("%s;%s;%s;%s;%s;%s\n",
             //	 $bond->isin,
             //	 $bond->emissione,
             //	 $bond->scadenza,
             //	 $bond->cadenza,
             //	 $bond->stacco,
             //	 $bond->tasso
             // );
             //
             // printf("%s;%s;%s;%s;%s;%s\n\n",
             //	 $bond_new->isin,
             //	 $bond_new->emissione,
             //	 $bond_new->scadenza,
             //	 $bond_new->cadenza,
             //	 $bond_new->stacco,
             //	 $bond_new->tasso
             // );
             // print_r($bond_new);
             $bond_new->_force_create = TRUE;
             $bond_new->_ignore = TRUE;
             $bond_new->save();
             $updated_count++;
         }
     }
     printf("%s updated %d bonds\n", get_called_class(), $updated_count);
 }