Esempio n. 1
0
 /**
  * import prices
  * @return boolean
  */
 private function importPrices()
 {
     $this->prod = load_product();
     $this->partners = load_partners();
     $partners_external = array();
     foreach ($this->partners as $partner) {
         $partners_external[$partner['external_id']] = $partner['code'];
     }
     foreach ($this->xml->СписокЦен as $offer) {
         //prepare update data
         $data = array();
         $data['external_id'] = $offer->ID . '';
         $data['price'] = number_format((double) $offer->Цена, 2, '.', '');
         $data['action'] = (int) $offer->ЭтоАкционнаяЦена;
         if ($offer->IDWebНоменклатура . '') {
             $data['product_id'] = $offer->IDWebНоменклатура . '';
         } else {
             foreach ($this->prod as $key => $product) {
                 if ($product == $offer->IDНоменклатура . '') {
                     $data['product_id'] = $key;
                     break;
                 }
             }
         }
         $data['partner_external_id'] = $offer->IDОрганизация . '';
         if (!is_partner($data['partner_external_id'], $this->partners)) {
             return FALSE;
         }
         $data['partner_code'] = $partners_external[$data['partner_external_id']];
         $price_exist = is_price($data['external_id'], $this->prices);
         if ($offer->IDWeb || $price_exist) {
             $data['id'] = $offer->IDWeb . '' ? $offer->IDWeb . '' : $price_exist['id'];
             $this->update[] = $data;
         } else {
             $this->insert[] = $data;
         }
     }
     $this->insertData($this->prices_table);
     $this->updateData($this->prices_table, 'external_id');
 }
Esempio n. 2
0
 /**
  * import prices
  * @return boolean
  */
 private function importPrices()
 {
     $this->prod = load_product();
     $this->partners = load_partners();
     foreach ($this->xml->СписокЦен as $offer) {
         //prepare update data
         $data = array();
         $data['price'] = (double) $offer->Цена;
         $data['action'] = (int) $offer->ЭтоАкционнаяЦена;
         $data['product_external_id'] = $offer->IDНоменклатура . '';
         $data['partner_external_id'] = $offer->IDОрганизация . '';
         if (!is_prod($data['product_external_id'], $this->prod)) {
             return FALSE;
         }
         if (!is_partner($data['partner_external_id'], $this->partners)) {
             return FALSE;
         }
         if (is_price($data, $this->prices)) {
             $this->ci->db->where('product_external_id', $data['product_external_id'])->where('partner_external_id', $data['partner_external_id'])->update($this->prices_table, $data);
         } else {
             $this->ci->db->insert($this->prices_table, $data);
         }
     }
 }