public function processEditAction() { $params = $this->_getParam('pharmacy'); if (isset($params['preferred'])) { $params['preferred'] = 1; } $pharmacy = new Pharmacy(); $pharmacy->populateWithArray($params); //$pharmacy->pharmacyId = Pharmacy::generateGUID(); $pharmacy->LastModifierDate = date('Y-m-d H:i:s'); $pharmacy->persist(); $data['pharmacyId'] = $pharmacy->pharmacyId; $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct($data); }
public static function loadPharmacy($filename) { trigger_error('before loading pharmacies: ' . calcTS(), E_USER_NOTICE); set_time_limit(300); // 5 minutes $filename = sys_get_temp_dir() . DIRECTORY_SEPARATOR . preg_replace('/.*(\\/|\\ee)/', '', $filename); $pharmDataTmp = fopen($filename, 'r'); $db = Zend_Registry::get('dbAdapter'); $sqlSelect = $db->select()->from('pharmacies', array('pharmacyId', 'NCPDPID', 'preferred')); $pharmacies = array(); if ($rows = $db->fetchAll($sqlSelect)) { foreach ($rows as $row) { $pharmacies[$row['NCPDPID']] = array('pharmacyId' => $row['pharmacyId'], 'preferred' => $row['preferred']); } } fseek($pharmDataTmp, 0); $counter = 0; while ($line = fgets($pharmDataTmp)) { $pharmacy = array(); $pharmacy['NCPDPID'] = substr($line, 0, 7); $pharmacy['StoreNumber'] = substr($line, 7, 35); $pharmacy['ReferenceNumberAlt1'] = substr($line, 42, 35); $pharmacy['ReferenceNumberAlt1Qualifier'] = substr($line, 77, 3); $pharmacy['StoreName'] = substr($line, 80, 35); $pharmacy['AddressLine1'] = substr($line, 115, 35); $pharmacy['AddressLine2'] = substr($line, 150, 35); $pharmacy['City'] = substr($line, 185, 35); $pharmacy['State'] = substr($line, 220, 2); $pharmacy['Zip'] = substr($line, 222, 11); $pharmacy['PhonePrimary'] = substr($line, 233, 25); $pharmacy['Fax'] = substr($line, 258, 25); $pharmacy['Email'] = substr($line, 283, 80); $pharmacy['PhoneAlt1'] = substr($line, 363, 25); $pharmacy['PhoneAlt1Qualifier'] = substr($line, 388, 3); $pharmacy['PhoneAlt2'] = substr($line, 391, 25); $pharmacy['PhoneAlt2Qualifier'] = substr($line, 416, 3); $pharmacy['PhoneAlt3'] = substr($line, 419, 25); $pharmacy['PhoneAlt3Qualifier'] = substr($line, 444, 3); $pharmacy['PhoneAlt4'] = substr($line, 447, 25); $pharmacy['PhoneAlt4Qualifier'] = substr($line, 472, 3); $pharmacy['PhoneAlt5'] = substr($line, 475, 25); $pharmacy['PhoneAlt5Qualifier'] = substr($line, 500, 3); $pharmacy['ActiveStartTime'] = substr($line, 503, 22); $pharmacy['ActiveEndTime'] = substr($line, 525, 22); $pharmacy['ServiceLevel'] = substr($line, 547, 5); $pharmacy['PartnerAccount'] = substr($line, 552, 35); $pharmacy['LastModifiedDate'] = substr($line, 587, 22); $pharmacy['TwentyFourHourFlag'] = substr($line, 609, 1); $pharmacy['Available CrossStreet'] = substr($line, 610, 35); $pharmacy['RecordChange'] = substr($line, 645, 1); $pharmacy['OldServiceLevel'] = substr($line, 646, 5); $pharmacy['TextServiceLevel'] = substr($line, 651, 100); $pharmacy['TextServiceLevelChange'] = substr($line, 751, 100); $pharmacy['Version'] = substr($line, 851, 5); $pharmacy['NPI'] = substr($line, 856, 10); $data = array(); foreach ($pharmacy as $key => $value) { $data[$key] = trim($value); } $p = new Pharmacy(); $p->_shouldAudit = false; $p->populateWithArray($data); if (isset($pharmacies[$p->NCPDPID])) { $p->pharmacyId = $pharmacies[$p->NCPDPID]['pharmacyId']; $p->preferred = $pharmacies[$p->NCPDPID]['preferred']; } //$p->populatePharmacyIdWithNCPDPID(); $p->persist(); $counter++; } fclose($pharmDataTmp); unlink($filename); trigger_error('Number of rows updated: ' . $counter, E_USER_NOTICE); trigger_error('after loading pharmacies: ' . calcTS(), E_USER_NOTICE); return $counter; }