/** * Import Vendors * @param $clientID * @param $importedVendors */ public static function importVendors($clientID, $importedVendors) { $all_amount=count($importedVendors); $i=0; $pb= ProgressBar::init(); foreach($importedVendors as $importedVendor) { $company = Companies::model()->with('client')->findByAttributes(array( 'Company_Fed_ID' => $importedVendor['fedId'], )); if ($company) { $client = $company->client; } else { //if company does not exists, create new company $client = Companies::createEmptyCompany($importedVendor['fedId'], $importedVendor['companyName'], $importedVendor); } $vendorClientId = $client->Client_ID; $vendor = Vendors::model()->findByAttributes(array( 'Client_Client_ID' => $clientID, 'Vendor_Client_ID' => $vendorClientId, )); $newVendor = false; if (!$vendor) { $vendor = new Vendors(); $newVendor = true; } else { $vendor->Active_Relationship = self::ACTIVE_RELATIONSHIP; $vendor->save(); } $vendor->Vendor_ID_Shortcut = $importedVendor['shortcut']; $vendor->Vendor_Client_ID = $vendorClientId; $vendor->Client_Client_ID = $clientID; $vendor->Vendor_Name_Checkprint = $importedVendor['checkprint']; $vendor->Vendor_1099 = $importedVendor['v1099']; $vendor->Vendor_Default_GL = $importedVendor['defG']; $vendor->Vendor_Default_GL_Note = $importedVendor['defGLNote']; $vendor->Vendor_Note_General = $importedVendor['noteGeneral']; if ($vendor->validate()) { $vendor->save(); } else if ($newVendor) { $vendor = new Vendors(); $vendor->Vendor_ID_Shortcut = ''; $vendor->Vendor_Client_ID = $vendorClientId; $vendor->Client_Client_ID = $clientID; $vendor->Vendor_Name_Checkprint = ''; $vendor->Vendor_1099 = ''; $vendor->Vendor_Default_GL = ''; $vendor->Vendor_Default_GL_Note = ''; $vendor->Vendor_Note_General = ''; $vendor->Active_Relationship = self::ACTIVE_RELATIONSHIP; $vendor->save(); } $i++; $percent=intval($i/$all_amount*100); session_start(); $_SESSION['progress']=$percent; session_write_close(); } }
/** * Import COAs skipping same value and updating changed * @param $clientID * @param $projectID * @param $importedCoas */ public static function importUniqueCOAs($clientID, $projectID, $importedCoas) { $all_amount=count($importedCoas); $i=0; ProgressBar::toZero(); $pb= ProgressBar::init(); //1.2 select from database all acctNumbers $list_items = Coa::getAllCoasAcctNumbers(Yii::app()->user->clientID,Yii::app()->user->projectID); foreach ($importedCoas as $imported_item) { $result_coa_model = self::addSingleCOA($clientID, $projectID, $imported_item,$list_items); /** * * Next block used for progress bar animation only * As COAs importing about 75% percents of whole COA Importing -so we multiply on 75 (not on 100) */ $i++; $percent=intval($i/$all_amount*100); session_start(); $_SESSION['progress']=$percent; session_write_close(); //end of block } }