本文整理汇总了PHP中Zend_Db::query方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Db::query方法的具体用法?PHP Zend_Db::query怎么用?PHP Zend_Db::query使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Db
的用法示例。
在下文中一共展示了Zend_Db::query方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: import
public function import()
{
foreach (glob($this->db->config->logBaseDir . '/stat_oper*') as $statFile) {
$statHandler = fopen($statFile, 'r');
echo $statFile . PHP_EOL;
$rawData = fgetcsv($statHandler, 100, ';');
$data = $this->parseData($rawData);
do {
if (isset($data) && $data['time'] != '') {
try {
$this->db->query('
INSERT IGNORE INTO
aps_stat.operaz
(datetime, operaz, time) VALUES (
"' . $data['datetime'] . '",
"' . $data['operaz'] . '",
' . $data['time'] . ')', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
} catch (\Exception $e) {
var_dump($data);
die;
}
}
$rawData = fgetcsv($statHandler, 100, ';');
$data = $this->parseData($rawData);
} while (is_array($rawData));
fclose($statHandler);
}
}
示例2: setup
/**
* Creates and populates the DataSource
*
* @access public
* @return void
**/
public function setup()
{
$select = $this->getSelect();
if ($this->paginate) {
$sql = $this->getSelectCountSql();
$this->totalRows = (int) $this->_db->fetchOne($sql);
list($start, $total) = $this->limit;
$select->reset(Zend_Db_Select::LIMIT_COUNT);
$select->reset(Zend_Db_Select::LIMIT_OFFSET);
$select->limit($total, $start);
} else {
$this->totalRows = 0;
}
$select->reset(Zend_Db_Select::ORDER);
if (count($this->order) > 0) {
$select->order($this->order);
}
// Fetch Select Columns
$rawColumns = $select->getPart(Zend_Db_Select::COLUMNS);
$columns = array();
// Get columns and Force casting as strings
foreach ($rawColumns as $col) {
$columns[] = (string) $col[1];
}
$this->cols = $columns;
$this->totalColumns = count($columns);
// Fetch
$stmt = $this->_db->query($select);
$rows = $stmt->fetchAll(Zend_Db::FETCH_ASSOC);
$total = count($rows);
$this->totalRowset = $total;
$this->rows = $rows;
}
示例3: attach
/**
* Attach
*
* Attaches a given SQLite database file into this connection.
*
* @param string $dbFile Database file to attach
* @param string $dbName Alias to give attached database file
* @return void
*/
public function attach($dbFile, $dbName)
{
$this->_db->query('ATTACH DATABASE "' . $dbFile . '" AS "' . $dbName . '"');
$tableNames = $this->_db->fetchCol("SELECT name FROM " . $dbName . ".sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%'");
foreach ($tableNames as $tableName) {
if (in_array($tableName, $this->_tableNames)) {
continue;
}
$this->_tableNames[] = $tableName;
}
$this->_saveTableNamesCache();
}
示例4: _moduleRow
/**
* Make a query into the module table.
* The function make the query directly for avoid caches.
*
* @param string $module Name of the module.
* @param string $field Name of the field for get.
*
* @return mix
*/
private function _moduleRow($module, $field = 'id')
{
$select = $this->_db->select()->from('module')->where('name = ?', $module);
$stmt = $this->_db->query($select);
$rows = $stmt->fetchAll();
switch ($field) {
case 'id':
$default = 0;
break;
case 'version':
default:
$default = null;
break;
}
if (isset($rows[0])) {
return $rows[0][$field];
} else {
return $default;
}
}
示例5: import
public function import($statOnly = '')
{
$dateFilter = '`data_ora_rich` > CURDATE() - INTERVAL 1 MONTH';
if ($statOnly != '') {
$config = clone $this->db->config;
$configDb = $this->db->config->database->toArray();
$configDb['options']['buffer_results'] = false;
$this->db = new \Zend\Db\Adapter\Adapter($configDb);
$this->db->config = $config;
$dateFilter = 'TRUE';
if ($this->db->config->storeExpiryStatFile->VisSintRep != '') {
$statHandler = fopen($this->db->config->storeExpiryStatFile->VisSintRep, 'w');
}
$manager = new \MongoDB\Driver\Manager("mongodb://localhost:27017");
$bulk = new \MongoDB\Driver\BulkWrite();
}
$this->db->query('ALTER TABLE company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE company_to_company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE person DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE person_to_company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$archiviRichieste = array(array('dir' => 'risposteBaseDirMass', 'sql' => '
SELECT aps_prod_backup.eps_richiesta_mass.id_richiesta,
aps_prod_backup.eps_richiesta_mass.id_mov_contab,
aps_prod_backup.eps_richiesta_mass.id_richiesta_cache,
aps_prod_backup.eps_richiesta_mass.stringa_richiesta,
aps_prod_backup.eps_richiesta_mass.data_ora_rich,
aps_prod_backup.eps_richiesta_mass.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab_mass.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab_mass.importo as importo ,
aps_prod_backup.eps_mov_contab_mass.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta_mass
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta_mass.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab_mass ON aps_prod_backup.eps_mov_contab_mass.id_mov_contab=aps_prod_backup.eps_richiesta_mass.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab_mass.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab_mass.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND
aps_prod.eps_operazione.cod_operazione = "vissintrep"
', 'sqlp' => '
SELECT aps_prod_backup.eps_richiesta.id_richiesta,
aps_prod_backup.eps_richiesta.id_mov_contab,
aps_prod_backup.eps_richiesta.id_richiesta_cache,
aps_prod_backup.eps_richiesta.stringa_richiesta,
aps_prod_backup.eps_richiesta.data_ora_rich,
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab ON aps_prod_backup.eps_mov_contab.id_mov_contab=aps_prod_backup.eps_richiesta.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
aps_prod_backup.eps_mov_contab.id_mov_contab = %d
'), array('dir' => 'risposteBaseDir', 'sql' => '
SELECT aps_prod_backup.eps_richiesta.id_richiesta,
aps_prod_backup.eps_richiesta.id_mov_contab,
aps_prod_backup.eps_richiesta.id_richiesta_cache,
aps_prod_backup.eps_richiesta.stringa_richiesta,
aps_prod_backup.eps_richiesta.data_ora_rich,
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod_backup.eps_mov_contab.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab ON aps_prod_backup.eps_mov_contab.id_mov_contab=aps_prod_backup.eps_richiesta.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND
aps_prod.eps_operazione.cod_operazione = "vissintrep"
', 'sqlp' => '
SELECT aps_prod_backup.eps_richiesta.id_richiesta,
aps_prod_backup.eps_richiesta.id_mov_contab,
aps_prod_backup.eps_richiesta.id_richiesta_cache,
aps_prod_backup.eps_richiesta.stringa_richiesta,
aps_prod_backup.eps_richiesta.data_ora_rich,
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
//.........这里部分代码省略.........
示例6: import
public function import($statOnly = '')
{
$dateFilter = '`data_ora_rich` > CURDATE() - INTERVAL 2 MONTH';
if ($statOnly != '') {
$dateFilter = 'TRUE';
if ($this->db->config->storeExpiryStatFile->Sksocio != '') {
$statHandler = fopen($this->db->config->storeExpiryStatFile->Sksocio, 'w');
}
}
$archiviRichieste = array(array('dir' => 'risposteBaseDirMass', 'sql' => '
SELECT aps_prod_backup.eps_richiesta_mass.id_richiesta,
aps_prod_backup.eps_richiesta_mass.id_mov_contab,
aps_prod_backup.eps_richiesta_mass.id_richiesta_cache,
aps_prod_backup.eps_richiesta_mass.stringa_richiesta,
aps_prod_backup.eps_richiesta_mass.data_ora_rich,
aps_prod_backup.eps_richiesta_mass.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab_mass.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab_mass.importo as importo ,
aps_prod_backup.eps_mov_contab_mass.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta_mass
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta_mass.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab_mass ON aps_prod_backup.eps_mov_contab_mass.id_mov_contab=aps_prod_backup.eps_richiesta_mass.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab_mass.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab_mass.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND
aps_prod.eps_operazione.cod_operazione = "sksocio" OR aps_prod.eps_operazione.cod_operazione = "sksociosto"
'), array('dir' => 'risposteBaseDir', 'sql' => '
SELECT aps_prod_backup.eps_richiesta.id_richiesta,
aps_prod_backup.eps_richiesta.id_mov_contab,
aps_prod_backup.eps_richiesta.id_richiesta_cache,
aps_prod_backup.eps_richiesta.stringa_richiesta,
aps_prod_backup.eps_richiesta.data_ora_rich,
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod_backup.eps_mov_contab.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab ON aps_prod_backup.eps_mov_contab.id_mov_contab=aps_prod_backup.eps_richiesta.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND
aps_prod.eps_operazione.cod_operazione = "sksocio" OR aps_prod.eps_operazione.cod_operazione = "sksociosto"
'));
$totalCount = 0;
foreach ($archiviRichieste as $archivioRichieste) {
$richieste = $this->db->query($archivioRichieste['sql'], \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$count = 0;
$groupCount = 0;
$rCompany = new \crm\Company($this->db);
$company = new \crm\Company($this->db);
$person = new \crm\Person($this->db);
while (is_object($richiesta = $richieste->current())) {
echo "\r" . $count++ . '/' . ($richieste->count() - 1) . str_repeat(' ', 5);
$dati = array();
$imprese = array();
$esponenti = array();
$sId = str_pad($richiesta->id_richiesta, 9, '0', STR_PAD_LEFT);
$dM = 'M' . substr($sId, 0, 3);
$dK = 'K' . substr($sId, 3, 3);
$nomeFile = $this->db->config->{$archivioRichieste['dir']} . "/{$dM}/{$dK}/F{$sId}.xml";
if (!is_file($nomeFile)) {
$richieste->next();
continue;
}
$dati['id_mov_contab'] = $richiesta->id_mov_contab;
$dati['massiva'] = $archivioRichieste['dir'] == 'risposteBaseDir' ? 0 : 1;
$dati['id_richiesta'] = $richiesta->id_richiesta;
$dati['test_nome_file'] = "\"" . str_replace('"', '\\"', basename($nomeFile)) . "\"";
$dati['errore'] = '';
$attesa = $this->db->query('
SELECT time FROM aps_stat.operaz WHERE
datetime="' . $richiesta->data_ora_evas . '" AND
operaz="daim.' . $richiesta->cod_operazione . '"
', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$attesa = $attesa->current();
$dati['data_ora_rich'] = $richiesta->data_ora_rich;
$dati['data_ora_evas'] = $richiesta->data_ora_evas;
$dati['cod_operazione'] = $richiesta->cod_operazione;
$dati['cod_prodotto'] = $richiesta->cod_prodotto;
$dati['cod_cliente'] = $richiesta->cod_cliente;
$dati['cod_istanza'] = $richiesta->cod_istanza;
$dati['importo'] = $richiesta->importo;
$dati['differita'] = 1;
if ($richiesta->importo == 0 && $richiesta->id_richiesta_cache == 0) {
$richieste->next();
continue;
//.........这里部分代码省略.........
示例7: import
public function import($statOnly = '')
{
$dateFilter = '`data_ora_rich` > CURDATE() - INTERVAL 2 MONTH';
if ($statOnly != '') {
$config = clone $this->db->config;
$configDb = $this->db->config->database->toArray();
$configDb['options']['buffer_results'] = false;
$this->db = new \Zend\Db\Adapter\Adapter($configDb);
$this->db->config = $config;
$dateFilter = 'TRUE';
$manager = new \MongoDB\Driver\Manager("mongodb://localhost:27017");
$bulk = new \MongoDB\Driver\BulkWrite();
}
$this->db->query('ALTER TABLE company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE company_to_company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE person DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE person_to_company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$richieste = $this->db->query('
SELECT aps_prod_backup.eps_richiesta.id_richiesta,
aps_prod_backup.eps_richiesta.id_mov_contab,
aps_prod_backup.eps_richiesta.id_richiesta_cache,
aps_prod_backup.eps_richiesta.stringa_richiesta,
aps_prod_backup.eps_richiesta.data_ora_rich,
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab ON aps_prod_backup.eps_mov_contab.id_mov_contab=aps_prod_backup.eps_richiesta.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND
aps_prod.eps_operazione.cod_operazione = "negflagpreg2"
', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$count = 0;
$totalCount = 0;
$groupCount = 0;
$company = new \crm\Company($this->db);
$rCompany = new \crm\Company($this->db);
$person = new \crm\Person($this->db);
while (is_object($richiesta = $richieste->current())) {
echo "\r" . $count++ . '/' . ($richieste->count() - 1) . str_repeat(' ', 5);
$dati = array();
$sId = str_pad($richiesta->id_richiesta, 9, '0', STR_PAD_LEFT);
$dM = 'M' . substr($sId, 0, 3);
$dK = 'K' . substr($sId, 3, 3);
$nomeFile = $this->db->config->risposteBaseDir . "/{$dM}/{$dK}/F{$sId}.xml";
if (!is_file($nomeFile)) {
$richieste->next();
continue;
}
$dati['id_mov_contab'] = $richiesta->id_mov_contab;
$dati['massiva'] = 0;
$dati['id_richiesta'] = $richiesta->id_richiesta;
$dati['test_nome_file'] = "\"" . str_replace('"', '\\"', basename($nomeFile)) . "\"";
$dati['errore'] = '';
$dati['data_ora_rich'] = $richiesta->data_ora_rich;
$dati['data_ora_evas'] = $richiesta->data_ora_evas;
$dati['cod_operazione'] = $richiesta->cod_operazione;
$dati['cod_prodotto'] = $richiesta->cod_prodotto;
$dati['cod_cliente'] = $richiesta->cod_cliente;
$dati['cod_istanza'] = $richiesta->cod_istanza;
$dati['importo'] = $richiesta->importo;
$dati['differita'] = 0;
/*if ($richiesta->importo ==0 && $richiesta->id_richiesta_cache == 0) {
$richieste->next();
continue;
}*/
set_error_handler(create_function('', ''));
try {
$report = new \SimpleXMLElement($nomeFile, 0, true);
} catch (\Exception $e) {
var_dump($e);
}
restore_error_handler();
if ($statOnly != '') {
array_walk($dati, create_function('&$item', '$item=str_replace("\\"","",$item);'));
if (isset($statHandler)) {
if (ftell($statHandler) == 0) {
fputcsv($statHandler, array_keys($dati));
}
fputcsv($statHandler, $dati);
fflush($statHandler);
}
$domXml = dom_import_simplexml($report);
$aXML = array('_id' => $dati['id_mov_contab']);
$this->xml2array($domXml, $aXML);
/*$xml = new \SimpleXMLElement('<root/>');
$t*his->array_to_xml($aXML,$xml);*/
if (true || is_array($aXML) && $totalCount++ < 10000.0) {
$bulk->update(array('_id' => $dati['id_mov_contab']), $aXML, array('multi' => false, 'upsert' => true));
//.........这里部分代码省略.........
示例8: import
public function import()
{
if ($this->db->config->storeExpiryStatFile->Offline != '') {
$statHandler = fopen($this->db->config->storeExpiryStatFile->Offline, 'w');
}
$archiviRichieste = array(array('dir' => 'risposteBaseDir', 'sql' => '
SELECT aps_prod_backup.eps_richiesta.id_richiesta,
aps_prod_backup.eps_richiesta.id_mov_contab,
aps_prod_backup.eps_richiesta.id_richiesta_cache,
aps_prod_backup.eps_richiesta.stringa_richiesta,
aps_prod_backup.eps_richiesta.data_ora_rich,
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod_backup.eps_mov_contab.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab ON aps_prod_backup.eps_mov_contab.id_mov_contab=aps_prod_backup.eps_richiesta.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
LEFT JOIN aps_prod.eps_operaz_classe ON aps_prod.eps_operaz_classe.id_classe=aps_prod.eps_operazione.id_classe
WHERE
TRUE AND
aps_prod.eps_operaz_classe.on_off_line="off"
'));
foreach ($archiviRichieste as $archivioRichieste) {
$richieste = $this->db->query($archivioRichieste['sql'], \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$count = 0;
while (is_object($richiesta = $richieste->current())) {
echo "\r" . $count++ . '/' . ($richieste->count() - 1) . str_repeat(' ', 5);
$dati = array();
$sId = str_pad($richiesta->id_richiesta, 9, '0', STR_PAD_LEFT);
$dM = 'M' . substr($sId, 0, 3);
$dK = 'K' . substr($sId, 3, 3);
$nomeFile = $this->db->config->{$archivioRichieste['dir']} . "/{$dM}/{$dK}/F{$sId}*";
$fileGlob = glob($nomeFile);
if (!is_array($fileGlob) || sizeof($fileGlob) == 0) {
$richieste->next();
continue;
}
$nomeFile = current($fileGlob);
$dati['id_mov_contab'] = $richiesta->id_mov_contab;
$dati['massiva'] = $archivioRichieste['dir'] == 'risposteBaseDir' ? 0 : 1;
$dati['id_richiesta'] = $richiesta->id_richiesta;
$dati['test_nome_file'] = "\"" . str_replace('"', '\\"', basename($nomeFile)) . "\"";
$dati['errore'] = '';
$dati['data_ora_rich'] = $richiesta->data_ora_rich;
$dati['data_ora_evas'] = $richiesta->data_ora_evas;
$dati['cod_operazione'] = $richiesta->cod_operazione;
$dati['cod_prodotto'] = $richiesta->cod_prodotto;
$dati['cod_cliente'] = $richiesta->cod_cliente;
$dati['cod_istanza'] = $richiesta->cod_istanza;
$dati['importo'] = $richiesta->importo;
$dati['differita'] = 1;
$dati['stornata'] = 0;
if ($richiesta->importo == 0 && $richiesta->id_richiesta_cache == 0) {
$dati['stornata'] = 1;
}
array_walk($dati, create_function('&$item', '$item=str_replace("\\"","",$item);'));
if (isset($statHandler)) {
if (ftell($statHandler) == 0) {
fputcsv($statHandler, array_keys($dati));
}
fputcsv($statHandler, $dati);
fflush($statHandler);
}
$richieste->next();
}
}
if (isset($statHandler)) {
fclose($statHandler);
}
echo PHP_EOL;
}
示例9: import
public function import($statOnly = '')
{
$dateFilter = '`data_ora_rich` > CURDATE() - INTERVAL 2 MONTH';
if ($statOnly != '') {
$config = clone $this->db->config;
$configDb = $this->db->config->database->toArray();
$configDb['options']['buffer_results'] = false;
$this->db = new \Zend\Db\Adapter\Adapter($configDb);
$this->db->config = $config;
$dateFilter = 'TRUE';
if ($this->db->config->storeExpiryStatFile->Skimp != '') {
$statHandler = fopen($this->db->config->storeExpiryStatFile->Skimp, 'w');
}
$manager = new \MongoDB\Driver\Manager("mongodb://localhost:27017");
$bulk = new \MongoDB\Driver\BulkWrite();
}
$this->db->query('ALTER TABLE company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE company_to_company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE person DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE person_to_company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$archiviRichieste = array(array('dir' => 'risposteBaseDirMass', 'sql' => '
SELECT aps_prod_backup.eps_richiesta_mass.id_richiesta,
aps_prod_backup.eps_richiesta_mass.id_mov_contab,
aps_prod_backup.eps_richiesta_mass.id_richiesta_cache,
aps_prod_backup.eps_richiesta_mass.stringa_richiesta,
aps_prod_backup.eps_richiesta_mass.data_ora_rich,
aps_prod_backup.eps_richiesta_mass.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab_mass.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab_mass.importo as importo ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta_mass
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta_mass.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab_mass ON aps_prod_backup.eps_mov_contab_mass.id_mov_contab=aps_prod_backup.eps_richiesta_mass.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab_mass.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab_mass.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND (
aps_prod.eps_operazione.cod_operazione = "skimpord" OR
aps_prod.eps_operazione.cod_operazione = "skimpsto"
)
'), array('dir' => 'risposteBaseDir', 'sql' => '
SELECT aps_prod_backup.eps_richiesta.id_richiesta,
aps_prod_backup.eps_richiesta.id_mov_contab,
aps_prod_backup.eps_richiesta.id_richiesta_cache,
aps_prod_backup.eps_richiesta.stringa_richiesta,
aps_prod_backup.eps_richiesta.data_ora_rich,
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab ON aps_prod_backup.eps_mov_contab.id_mov_contab=aps_prod_backup.eps_richiesta.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND (
aps_prod.eps_operazione.cod_operazione = "skimpord" OR
aps_prod.eps_operazione.cod_operazione = "skimpsto"
)
'));
foreach ($archiviRichieste as $archivioRichieste) {
$richieste = $this->db->query($archivioRichieste['sql'], \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$count = 0;
$totalCount = 0;
$groupCount = 0;
$company = new \crm\Company($this->db);
$rCompany = new \crm\Company($this->db);
$person = new \crm\Person($this->db);
while (is_object($richiesta = $richieste->current())) {
echo "\r" . $count++ . '/' . ($richieste->count() - 1) . str_repeat(' ', 5);
$dati = array();
$imprese = array();
$esponenti = array();
$sId = str_pad($richiesta->id_richiesta, 9, '0', STR_PAD_LEFT);
$dM = 'M' . substr($sId, 0, 3);
$dK = 'K' . substr($sId, 3, 3);
$nomeFile = $this->db->config->{$archivioRichieste['dir']} . "/{$dM}/{$dK}/F{$sId}.xml";
if (!is_file($nomeFile)) {
$richieste->next();
continue;
}
$dati['id_mov_contab'] = $richiesta->id_mov_contab;
$dati['massiva'] = 0;
$dati['id_richiesta'] = $richiesta->id_richiesta;
$dati['test_nome_file'] = "\"" . str_replace('"', '\\"', basename($nomeFile)) . "\"";
$dati['errore'] = '';
$dati['data_ora_rich'] = $richiesta->data_ora_rich;
$dati['data_ora_evas'] = $richiesta->data_ora_evas;
//.........这里部分代码省略.........
示例10: import
//.........这里部分代码省略.........
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod_backup.eps_mov_contab.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab ON aps_prod_backup.eps_mov_contab.id_mov_contab=aps_prod_backup.eps_richiesta.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
LEFT JOIN aps_prod.eps_operaz_classe ON aps_prod.eps_operaz_classe.id_classe=aps_prod.eps_operazione.id_classe
WHERE
TRUE
# AND aps_prod_backup.eps_richiesta.id_mov_contab = 844780
# AND aps_prod_backup.eps_richiesta.id_mov_contab > 854751
AND
(
aps_prod.eps_operazione.cod_operazione = "falcogold" OR
aps_prod.eps_operazione.cod_operazione = "falcogoldurg" OR
aps_prod.eps_operazione.cod_operazione = "falcosilv" OR
aps_prod.eps_operazione.cod_operazione = "falcosilvurg" OR
aps_prod.eps_operazione.cod_operazione = "cribis_search" OR
aps_prod.eps_operazione.cod_operazione = "cribis_search_urg" OR
aps_prod.eps_operazione.cod_operazione = "falcosafe" OR
aps_prod.eps_operazione.cod_operazione = "falcosafeurg"
)
'));
foreach ($archiviRichieste as $archivioRichieste) {
$richieste = $this->db->query($archivioRichieste['sql'], \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$count = 0;
while (is_object($richiesta = $richieste->current())) {
echo "\r" . $count++ . '/' . ($richieste->count() - 1) . str_repeat(' ', 5);
$dati = array();
$sId = str_pad($richiesta->id_richiesta, 9, '0', STR_PAD_LEFT);
$dM = 'M' . substr($sId, 0, 3);
$dK = 'K' . substr($sId, 3, 3);
$nomeFile = $this->db->config->{$archivioRichieste['dir']} . "/{$dM}/{$dK}/F{$sId}*";
$fileGlob = glob($nomeFile);
if (!is_array($fileGlob) || sizeof($fileGlob) == 0) {
$richieste->next();
continue;
}
$nomeFile = current($fileGlob);
$dati['id_mov_contab'] = $richiesta->id_mov_contab;
$dati['massiva'] = $archivioRichieste['dir'] == 'risposteBaseDir' ? 0 : 1;
$dati['id_richiesta'] = $richiesta->id_richiesta;
$dati['test_nome_file'] = "\"" . str_replace('"', '\\"', basename($nomeFile)) . "\"";
$dati['errore'] = '';
$dati['data_ora_rich'] = $richiesta->data_ora_rich;
$dati['data_ora_evas'] = $richiesta->data_ora_evas;
$dati['cod_operazione'] = $richiesta->cod_operazione;
$dati['cod_prodotto'] = $richiesta->cod_prodotto;
$dati['cod_cliente'] = $richiesta->cod_cliente;
$dati['cod_istanza'] = $richiesta->cod_istanza;
$dati['importo'] = $richiesta->importo;
$dati['differita'] = 1;
$dati['stornata'] = 0;
$parameters = array();
$rawParameters = preg_split('/[=§]/', $richiesta->stringa_richiesta);
foreach ($rawParameters as $id => $value) {
if (is_numeric($value) && array_key_exists($value, $this->parametri) && array_key_exists($id + 1, $rawParameters)) {
示例11: import
public function import($statOnly = '')
{
$dateFilter = '`data_ora_rich` > CURDATE() - INTERVAL 2 MONTH';
if ($statOnly != '') {
$config = clone $this->db->config;
$configDb = $this->db->config->database->toArray();
$configDb['options']['buffer_results'] = false;
$this->db = new \Zend\Db\Adapter\Adapter($configDb);
$this->db->config = $config;
$dateFilter = 'TRUE';
if ($this->db->config->storeExpiryStatFile->Sksocieta != '') {
$statHandler = fopen($this->db->config->storeExpiryStatFile->Sksocieta, 'w');
}
$manager = new \MongoDB\Driver\Manager("mongodb://localhost:27017");
$bulk = new \MongoDB\Driver\BulkWrite();
}
$archiviRichieste = array(array('dir' => 'risposteBaseDirMass', 'sql' => '
SELECT aps_prod_backup.eps_richiesta_mass.id_richiesta,
aps_prod_backup.eps_richiesta_mass.id_mov_contab,
aps_prod_backup.eps_richiesta_mass.id_richiesta_cache,
aps_prod_backup.eps_richiesta_mass.stringa_richiesta,
aps_prod_backup.eps_richiesta_mass.data_ora_rich,
aps_prod_backup.eps_richiesta_mass.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab_mass.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab_mass.importo as importo ,
aps_prod_backup.eps_mov_contab_mass.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta_mass
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta_mass.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab_mass ON aps_prod_backup.eps_mov_contab_mass.id_mov_contab=aps_prod_backup.eps_richiesta_mass.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab_mass.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab_mass.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND
aps_prod.eps_operazione.cod_operazione = "sksocieta"
'), array('dir' => 'risposteBaseDir', 'sql' => '
SELECT aps_prod_backup.eps_richiesta.id_richiesta,
aps_prod_backup.eps_richiesta.id_mov_contab,
aps_prod_backup.eps_richiesta.id_richiesta_cache,
aps_prod_backup.eps_richiesta.stringa_richiesta,
aps_prod_backup.eps_richiesta.data_ora_rich,
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod_backup.eps_mov_contab.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab ON aps_prod_backup.eps_mov_contab.id_mov_contab=aps_prod_backup.eps_richiesta.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND
aps_prod.eps_operazione.cod_operazione = "sksocieta"
'));
$totalCount = 0;
foreach ($archiviRichieste as $archivioRichieste) {
$richieste = $this->db->query($archivioRichieste['sql'], \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$count = 0;
$groupCount = 0;
$rCompany = new \crm\Company($this->db);
$company = new \crm\Company($this->db);
$person = new \crm\Person($this->db);
while (is_object($richiesta = $richieste->current())) {
echo "\r" . $count++ . '/' . ($richieste->count() - 1) . str_repeat(' ', 5);
$dati = array();
$imprese = array();
$esponenti = array();
$sId = str_pad($richiesta->id_richiesta, 9, '0', STR_PAD_LEFT);
$dM = 'M' . substr($sId, 0, 3);
$dK = 'K' . substr($sId, 3, 3);
$nomeFile = $this->db->config->{$archivioRichieste['dir']} . "/{$dM}/{$dK}/F{$sId}.xml";
if (!is_file($nomeFile)) {
$richieste->next();
continue;
}
$dati['id_mov_contab'] = $richiesta->id_mov_contab;
$dati['massiva'] = $archivioRichieste['dir'] == 'risposteBaseDir' ? 0 : 1;
$dati['id_richiesta'] = $richiesta->id_richiesta;
$dati['test_nome_file'] = "\"" . str_replace('"', '\\"', basename($nomeFile)) . "\"";
$dati['errore'] = '';
$dati['data_ora_rich'] = $richiesta->data_ora_rich;
$dati['data_ora_evas'] = $richiesta->data_ora_evas;
$dati['cod_operazione'] = $richiesta->cod_operazione;
$dati['cod_prodotto'] = $richiesta->cod_prodotto;
$dati['cod_cliente'] = $richiesta->cod_cliente;
$dati['cod_istanza'] = $richiesta->cod_istanza;
$dati['importo'] = $richiesta->importo;
$dati['differita'] = 1;
if ($richiesta->importo == 0 && $richiesta->id_richiesta_cache == 0) {
$richieste->next();
//.........这里部分代码省略.........
示例12: _parse_ini_db
/**
* read config from (current db in $dbc).$db_table
*
* @param Zend_Db $dbc
* @param string $db_table
* @param string $section
* @return array
*/
protected function _parse_ini_db($dbc, $db_table, $section)
{
$sql = 'select * from ' . $db_table;
if ($section !== null) {
$sql .= ' where ' . $section;
}
$db_config = $dbc->query($sql);
$config = array();
while (($row = $db_config->fetch()) !== false) {
$key = explode('.', $row['config_key']);
$depth = count($key);
$ci =& $config;
for ($cnt = 0; $cnt < $depth; $cnt++) {
if ($cnt == $depth - 1) {
$ci[$key[$cnt]] = $row['config_value'];
} elseif (!isset($ci[$key[$cnt]])) {
$ci[$key[$cnt]] = array();
}
$ci =& $ci[$key[$cnt]];
}
}
return $config;
}
示例13: import
public function import($statOnly = '')
{
$dateFilter = '`data_ora_rich` > CURDATE() - INTERVAL 2 MONTH';
if ($statOnly != '') {
$config = clone $this->db->config;
$configDb = $this->db->config->database->toArray();
$configDb['options']['buffer_results'] = false;
$this->db = new \Zend\Db\Adapter\Adapter($configDb);
$this->db->config = $config;
$dateFilter = 'TRUE';
if ($this->db->config->storeExpiryStatFile->Rep3P != '') {
$statHandler = fopen($this->db->config->storeExpiryStatFile->Rep3P, 'w');
}
$manager = new \MongoDB\Driver\Manager("mongodb://localhost:27017");
$bulk = new \MongoDB\Driver\BulkWrite();
}
$this->db->query('ALTER TABLE company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE company_to_company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE person DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE person_to_company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$richieste = $this->db->query('
SELECT aps_prod_backup.eps_richiesta.id_richiesta,
aps_prod_backup.eps_richiesta.id_mov_contab,
aps_prod_backup.eps_richiesta.id_richiesta_cache,
aps_prod_backup.eps_richiesta.stringa_richiesta,
aps_prod_backup.eps_richiesta.data_ora_rich,
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab ON aps_prod_backup.eps_mov_contab.id_mov_contab=aps_prod_backup.eps_richiesta.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND (
aps_prod.eps_operazione.cod_operazione = "repbfs3p" OR
aps_prod.eps_operazione.cod_operazione = "repbfs3pcor" OR
aps_prod.eps_operazione.cod_operazione = "reportadvanced" OR
aps_prod.eps_operazione.cod_operazione = "reportadvancedcor" OR
aps_prod.eps_operazione.cod_operazione = "reportordinary" OR
aps_prod.eps_operazione.cod_operazione = "reportordinarycor"
)
', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$count = 0;
$totalCount = 0;
$groupCount = 0;
$company = new \crm\Company($this->db);
$rCompany = new \crm\Company($this->db);
$person = new \crm\Person($this->db);
while (is_object($richiesta = $richieste->current())) {
echo "\r" . $count++ . '/' . ($richieste->count() - 1) . str_repeat(' ', 5);
$dati = array();
$imprese = array();
$esponenti = array();
$sId = str_pad($richiesta->id_richiesta, 9, '0', STR_PAD_LEFT);
$dM = 'M' . substr($sId, 0, 3);
$dK = 'K' . substr($sId, 3, 3);
$nomeFile = $this->db->config->risposteBaseDir . "/{$dM}/{$dK}/F{$sId}.xml";
if (!is_file($nomeFile)) {
$richieste->next();
continue;
}
$dati['id_mov_contab'] = $richiesta->id_mov_contab;
$dati['massiva'] = 0;
$dati['id_richiesta'] = $richiesta->id_richiesta;
$dati['test_nome_file'] = "\"" . str_replace('"', '\\"', basename($nomeFile)) . "\"";
$dati['errore'] = '';
$dati['data_ora_rich'] = $richiesta->data_ora_rich;
$dati['data_ora_evas'] = $richiesta->data_ora_evas;
$dati['cod_operazione'] = $richiesta->cod_operazione;
$dati['cod_prodotto'] = $richiesta->cod_prodotto;
$dati['cod_cliente'] = $richiesta->cod_cliente;
$dati['cod_istanza'] = $richiesta->cod_istanza;
$dati['importo'] = $richiesta->importo;
$dati['differita'] = 0;
if ($richiesta->importo == 0 && $richiesta->id_richiesta_cache == 0) {
$richieste->next();
continue;
}
set_error_handler(create_function('', ''));
try {
$sXML = new \SimpleXMLElement($nomeFile, 0, true);
$errore = $sXML->xpath('/env:Envelope/env:Body/env:Fault/faultstring');
if (is_array($errore)) {
$dati['errore'] = "\"" . array_shift($errore) . "\"";
}
$sContenuto = base64_decode($sXML->xpath('//document')[0]);
$sXML = new \SimpleXMLElement($sContenuto);
} catch (\Exception $e) {
$dati['differita'] = 1;
$data = file_get_contents($nomeFile);
preg_match('/--(?<MIME_boundary>.+?)\\s/', $data, $match);
$mimeBoundary = $match['MIME_boundary'];
//.........这里部分代码省略.........
示例14: import
public function import($statOnly = '')
{
$dateFilter = '`data_ora_rich` > CURDATE() - INTERVAL 2 MONTH';
if ($statOnly != '') {
$config = clone $this->db->config;
$configDb = $this->db->config->database->toArray();
$configDb['options']['buffer_results'] = false;
$this->db = new \Zend\Db\Adapter\Adapter($configDb);
$this->db->config = $config;
$dateFilter = 'TRUE';
if ($this->db->config->storeExpiryStatFile->Catasto != '') {
$statHandler = fopen($this->db->config->storeExpiryStatFile->Catasto, 'w');
}
}
$archiviRichieste = array(array('dir' => 'risposteBaseDirMass', 'sql' => '
SELECT aps_prod_backup.eps_richiesta_mass.id_richiesta,
aps_prod_backup.eps_richiesta_mass.id_mov_contab,
aps_prod_backup.eps_richiesta_mass.id_richiesta_cache,
aps_prod_backup.eps_richiesta_mass.stringa_richiesta,
aps_prod_backup.eps_richiesta_mass.data_ora_rich,
aps_prod_backup.eps_richiesta_mass.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab_mass.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab_mass.importo as importo ,
aps_prod_backup.eps_mov_contab_mass.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta_mass
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta_mass.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab_mass ON aps_prod_backup.eps_mov_contab_mass.id_mov_contab=aps_prod_backup.eps_richiesta_mass.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab_mass.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab_mass.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND (
aps_prod.eps_operazione.cod_operazione = "omicf" OR
aps_prod.eps_operazione.cod_operazione = "omi" OR
aps_prod.eps_operazione.cod_operazione = "sintecf" OR
aps_prod.eps_operazione.cod_operazione = "sintesi" OR
aps_prod.eps_operazione.cod_operazione = "sintesi3" OR
aps_prod.eps_operazione.cod_operazione = "visucf" OR
aps_prod.eps_operazione.cod_operazione = "visura" OR
aps_prod.eps_operazione.cod_operazione = "visura3"
)
'), array('dir' => 'risposteBaseDir', 'sql' => '
SELECT aps_prod_backup.eps_richiesta.id_richiesta,
aps_prod_backup.eps_richiesta.id_mov_contab,
aps_prod_backup.eps_richiesta.id_richiesta_cache,
aps_prod_backup.eps_richiesta.stringa_richiesta,
aps_prod_backup.eps_richiesta.data_ora_rich,
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod_backup.eps_mov_contab.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab ON aps_prod_backup.eps_mov_contab.id_mov_contab=aps_prod_backup.eps_richiesta.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND (
aps_prod.eps_operazione.cod_operazione = "sintecf" OR aps_prod.eps_operazione.cod_operazione = "omicf" OR
aps_prod.eps_operazione.cod_operazione = "sintesi" OR aps_prod.eps_operazione.cod_operazione = "omi" OR
aps_prod.eps_operazione.cod_operazione = "sintecf" OR aps_prod.eps_operazione.cod_operazione = "sintecf" OR
aps_prod.eps_operazione.cod_operazione = "sintesi" OR aps_prod.eps_operazione.cod_operazione = "sintesi" OR
aps_prod.eps_operazione.cod_operazione = "sintesi3" OR aps_prod.eps_operazione.cod_operazione = "sintesi3" OR
aps_prod.eps_operazione.cod_operazione = "sintecf" OR aps_prod.eps_operazione.cod_operazione = "visucf" OR
aps_prod.eps_operazione.cod_operazione = "sintesi" OR aps_prod.eps_operazione.cod_operazione = "visura" OR
aps_prod.eps_operazione.cod_operazione = "sintesi3" OR aps_prod.eps_operazione.cod_operazione = "visura3"
)
'));
foreach ($archiviRichieste as $archivioRichieste) {
$richieste = $this->db->query($archivioRichieste['sql'], \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$count = 0;
$rCompany = new \crm\Company($this->db);
$company = new \crm\Company($this->db);
$person = new \crm\Person($this->db);
$rPerson = new \crm\Person($this->db);
while (is_object($richiesta = $richieste->current())) {
echo "\r" . $count++ . '/' . ($richieste->count() - 1) . str_repeat(' ', 5);
$dati = array();
$sId = str_pad($richiesta->id_richiesta, 9, '0', STR_PAD_LEFT);
$dM = 'M' . substr($sId, 0, 3);
$dK = 'K' . substr($sId, 3, 3);
$nomeFile = $this->db->config->{$archivioRichieste['dir']} . "/{$dM}/{$dK}/F{$sId}.xml";
if (!is_file($nomeFile)) {
$richieste->next();
continue;
}
$dati['id_mov_contab'] = $richiesta->id_mov_contab;
$dati['massiva'] = $archivioRichieste['dir'] == 'risposteBaseDir' ? 0 : 1;
$dati['id_richiesta'] = $richiesta->id_richiesta;
$dati['test_nome_file'] = "\"" . str_replace('"', '\\"', basename($nomeFile)) . "\"";
//.........这里部分代码省略.........
示例15: import
public function import($statOnly = '')
{
$dateFilter = '`data_ora_rich` > CURDATE() - INTERVAL 2 MONTH';
if ($statOnly != '') {
$config = clone $this->db->config;
$configDb = $this->db->config->database->toArray();
$configDb['options']['buffer_results'] = false;
$this->db = new \Zend\Db\Adapter\Adapter($configDb);
$this->db->config = $config;
$dateFilter = 'TRUE';
if ($this->db->config->storeExpiryStatFile->AnaimpVis != '') {
$statHandler = fopen($this->db->config->storeExpiryStatFile->AnaimpVis, 'w');
}
$manager = new \MongoDB\Driver\Manager("mongodb://localhost:27017");
$bulk = new \MongoDB\Driver\BulkWrite();
}
$this->db->query('ALTER TABLE company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE company_to_company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE person DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$this->db->query('ALTER TABLE person_to_company DISABLE KEYS', \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$archiviRichieste = array(array('dir' => 'risposteBaseDir', 'sql' => '
SELECT aps_prod_backup.eps_richiesta.id_richiesta,
aps_prod_backup.eps_richiesta.id_mov_contab,
aps_prod_backup.eps_richiesta.id_richiesta_cache,
aps_prod_backup.eps_richiesta.stringa_richiesta,
aps_prod_backup.eps_richiesta.data_ora_rich,
aps_prod_backup.eps_richiesta.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab.importo as importo ,
aps_prod_backup.eps_mov_contab.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab ON aps_prod_backup.eps_mov_contab.id_mov_contab=aps_prod_backup.eps_richiesta.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND (
aps_prod.eps_operazione.cod_operazione = "anaimpvisord" OR
aps_prod.eps_operazione.cod_operazione = "anaimpvissto"
)
'), array('dir' => 'risposteBaseDirMass', 'sql' => '
SELECT aps_prod_backup.eps_richiesta_mass.id_richiesta,
aps_prod_backup.eps_richiesta_mass.id_mov_contab,
aps_prod_backup.eps_richiesta_mass.id_richiesta_cache,
aps_prod_backup.eps_richiesta_mass.stringa_richiesta,
aps_prod_backup.eps_richiesta_mass.data_ora_rich,
aps_prod_backup.eps_richiesta_mass.data_ora_evas,
aps_prod.eps_operazione.cod_operazione as cod_operazione ,
aps_prod_backup.eps_mov_contab_mass.cod_causale as cod_causale ,
aps_prod_backup.eps_mov_contab_mass.importo as importo ,
aps_prod_backup.eps_mov_contab_mass.id_mov_contab_gen as id_mov_contab_gen ,
aps_prod.eps_prodotto.cod_prodotto as cod_prodotto ,
aps_prod.eps_cliente.cod_cliente as cod_cliente ,
aps_prod.eps_istanza.cod_istanza as cod_istanza
FROM aps_prod_backup.eps_richiesta_mass
LEFT JOIN aps_prod.eps_operazione ON aps_prod.eps_operazione.id_operazione=aps_prod_backup.eps_richiesta_mass.id_operazione
LEFT JOIN aps_prod_backup.eps_mov_contab_mass ON aps_prod_backup.eps_mov_contab_mass.id_mov_contab=aps_prod_backup.eps_richiesta_mass.id_mov_contab
LEFT JOIN aps_prod.eps_prodotto ON aps_prod.eps_prodotto.id_prodotto =aps_prod_backup.eps_mov_contab_mass.id_prodotto
LEFT JOIN aps_prod.eps_cliente ON aps_prod.eps_cliente.id_cliente=aps_prod_backup.eps_mov_contab_mass.id_cliente
LEFT JOIN aps_prod.eps_istanza ON aps_prod.eps_istanza.id_istanza=aps_prod.eps_cliente.id_istanza
WHERE
' . $dateFilter . ' AND (
aps_prod.eps_operazione.cod_operazione = "anaimpvisord" OR
aps_prod.eps_operazione.cod_operazione = "anaimpvissto"
)
'));
$totalCount = 0;
foreach ($archiviRichieste as $archivioRichieste) {
$richieste = $this->db->query($archivioRichieste['sql'], \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
$count = 0;
$groupCount = 0;
$company = new \crm\Company($this->db);
$rCompany = new \crm\Company($this->db);
$person = new \crm\Person($this->db);
while (is_object($richiesta = $richieste->current())) {
echo "\r" . $count++ . '/' . ($richieste->count() - 1) . str_repeat(' ', 5);
$dati = array();
$imprese = array();
$esponenti = array();
$sId = str_pad($richiesta->id_richiesta, 9, '0', STR_PAD_LEFT);
$dM = 'M' . substr($sId, 0, 3);
$dK = 'K' . substr($sId, 3, 3);
$nomeFile = $this->db->config->{$archivioRichieste['dir']} . "/{$dM}/{$dK}/F{$sId}.xml";
if (!is_file($nomeFile)) {
$richieste->next();
continue;
}
$dati['id_mov_contab'] = $richiesta->id_mov_contab;
$dati['massiva'] = $archivioRichieste['dir'] == 'risposteBaseDir' ? 0 : 1;
$dati['id_richiesta'] = $richiesta->id_richiesta;
$dati['test_nome_file'] = "\"" . str_replace('"', '\\"', basename($nomeFile)) . "\"";
$dati['errore'] = '';
$dati['data_ora_rich'] = $richiesta->data_ora_rich;
$dati['data_ora_evas'] = $richiesta->data_ora_evas;
//.........这里部分代码省略.........