public function updatei() { ini_set('max_execution_time', '9999'); ini_set('memory_limit', '-1'); $this->load->model('clients/indexmodel', 'modelIndex'); $this->load->helper('email'); $sql = 'select DATE(u.date) as date from cemaco_clients.client_update u order by u.date desc LIMIT 0,1'; $row = $this->db->query($sql)->row(); if ($row) { $dateSoap = str_replace('-', '', $row->date); } else { $dateSoap = '20140320'; } $sql = $this->db->insert_string('cemaco_clients.client_update', array('items' => 0, 'items2' => 0)); $this->db->query($sql); $idact = $this->db->insert_id(); $msg = 'La actualización <span class="bold">' . str_pad($idact, 5, "0", STR_PAD_LEFT) . '</span> se realizó <span class="underline">correctamente</span>.'; $requestParams = array('sFecha_YYYYMMDD' => $dateSoap, 'sAnoSaldo' => substr($dateSoap, 0, 4), 'sMesSaldo' => round(substr($dateSoap, 4, 2))); $client = new SoapClient('http://190.171.26.19:82/wsbodas/listabodas.asmx?WSDL', array('soap_version' => SOAP_1_2, 'trace' => 1)); $response = $client->ObtenerClientes($requestParams); $string = $response->ObtenerClientesResult->any; $xml = simplexml_load_string($string); if (empty($xml->NewDataSet->Table)) { $this->session->set_flashdata('returnMessage', $msg); redirect('clients/updatem'); } $count = 0; $count2 = 0; $sqlTxt = ""; foreach ($xml->NewDataSet->Table as $row) { $id = 0; if ($row->COD_CLIENTE) { $sql = "select id_client as id from cemaco_clients.client where cod_cliente = '{$row->COD_CLIENTE}' LIMIT 0,1"; $client = $this->db->query($sql)->row(); if ($client) { $id = $client->id; } } $id_gender = $this->modelIndex->get_gender((string) $row->GENERO); $id_civil_status = $this->modelIndex->get_civil_status((string) $row->ESTADO_CIVIL); $id_province = $this->modelIndex->get_province((string) $row->PROVINCIA); $id_canton = $this->modelIndex->get_canton((string) $row->CANTON); $id_district = $this->modelIndex->get_district((string) $row->DISTRITO); $birthday = $this->modelIndex->get_birthday2((string) $row->F_NACIMIENTO); $pub_tel = $this->modelIndex->get_pub_tel((string) $row->IND_ENV_PUB_TELEF); $pub_mail = $this->modelIndex->get_pub_mail((string) $row->IND_ENV_PUB_EMAIL); $types = $this->modelIndex->get_types((string) $row->TIPOS_CLIENTE); $data = array('cod_cliente' => (string) $row->COD_CLIENTE, 'ididentificacion' => (string) $row->ID_IDENTIFICACION, 'nombre' => mb_ucfirstword((string) $row->NOMBRE), 'apellido1' => mb_ucfirstword((string) $row->APELLIDO1), 'telefono' => (string) $row->TELEFONO, 'celular' => (string) $row->CELULAR, 'acumulados' => abs(round((string) $row->ACUMULADOS, 2)), 'redimidos' => abs(round((string) $row->REDIMIDOS, 2)), 'saldo_cem' => abs(round((string) $row->SALDO_CEM, 2)), 'vencido' => abs(round((string) $row->VENCIDO, 2)), 'acumulados_col' => abs(round((string) $row->ACUMULADOS_COL, 2)), 'redimidos_col' => abs(round((string) $row->REDIMIDOS_COL, 2)), 'saldo_col' => abs(round((string) $row->SALDO_COL, 2)), 'last_cem' => abs(round((string) $row->CEMACOLONES_GEN_ULTIMA_COMPRA, 2)), 'tipos_cliente' => $types, 'f_nacimiento' => (string) $row->F_NACIMIENTO, 'pub_mail' => $pub_mail, 'pub_tel' => $pub_tel, 'birthday' => $birthday, 'id_gender' => $id_gender, 'id_civil_status' => $id_civil_status, 'id_province' => $id_province, 'id_canton' => $id_canton, 'id_district' => $id_district, 'date' => date('Y-m-d')); if (isset($row->APELLIDO2)) { $data['apellido2'] = mb_ucfirstword((string) $row->APELLIDO2); } if (isset($row->EMAIL1)) { $mail = (string) $row->EMAIL1; if (valid_email($mail)) { $data['email1'] = strtolower($mail); } } if ($id) { unset($data['date']); $sql = $this->db->update_string('cemaco_clients.client', $data, "id_client = '{$id}'"); } else { $sql = $this->db->insert_string('cemaco_clients.client', $data); } $sqlTxt .= "{$sql}\n"; $this->db->query($sql); if (mysql_affected_rows()) { $count2++; } $count++; if (!$pub_mail && isset($data['email1'])) { $sql = "INSERT IGNORE INTO cemaco_clients.unsuscribe (mail) values('{$data['email1']}') "; $this->db->query($sql); } } $sql = $this->db->update_string('cemaco_clients.client_update', array('items' => $count, 'items2' => $count2, 'log' => $sqlTxt), "id_update = '{$idact}'"); $this->db->query($sql); $this->session->set_flashdata('returnMessage', $msg); redirect('clients/updatem'); }
public function get_civil_status($str = '') { $str = mb_ucfirstword(rtrim(trim($str))); if (!$str) { return 4; } $sql = "select id_civil_status as id from cemaco_clients.civil_status where civil_status = '{$str}'"; $row = $this->db->query($sql)->row(); if ($row) { return $row->id; } $sql = $this->db->insert_string('cemaco_clients.civil_status', array('civil_status' => $str)); $this->db->query($sql); return $this->db->insert_id(); }