public function importData(Vendor $vendor)
 {
     $this->currentVendor = $vendor;
     $baseActiveSheet = $vendor->getActiveSheet();
     while (!$vendor->endReached()) {
         $vendorItemData = $vendor->getNextLine();
         if (isset($vendorItemData['item']) && $vendorItemData['item'] != "") {
             $itemIds = $this->baseData->getItemIds($vendorItemData['item'], $vendor->getBaseDataColumn());
             if (!empty($itemIds)) {
                 foreach ($itemIds as $itemId) {
                     $itemData = $this->findItem($itemId);
                     if (!isset($itemData['row'])) {
                         $itemData['row'] = $this->counter;
                         $this->counter++;
                     } else {
                         $vendorItemData['price'] = $vendorItemData['price'] > $itemData['price'] ? $vendorItemData['price'] : $itemData['price'];
                         $vendorItemData['qty'] += $itemData['qty'];
                     }
                     $this->excel->setActiveSheetIndex($baseActiveSheet)->setCellValue('A' . $itemData['row'], $itemId);
                     $vendorConfig = $vendor->getConfig();
                     $this->excel->setActiveSheetIndex($baseActiveSheet)->setCellValue($vendorConfig['master-file-item-column'] . $itemData['row'], $vendorItemData['item']);
                     $this->excel->setActiveSheetIndex($baseActiveSheet)->setCellValue($vendorConfig['master-file-price-column'] . $itemData['row'], $vendorItemData['price']);
                     $this->excel->setActiveSheetIndex($baseActiveSheet)->setCellValue($vendorConfig['master-file-qty-column'] . $itemData['row'], $vendorItemData['qty']);
                 }
             }
         }
     }
 }
Beispiel #2
0
 public function importData(Vendor $vendor)
 {
     $vendorConfig = $vendor->getConfig();
     while (!$vendor->endReached()) {
         $vendorItemData = $vendor->getNextLine();
         if (isset($vendorItemData['item']) && $vendorItemData['item'] != "") {
             $itemIds = $this->baseData->getItemIds($vendorItemData['item'], $vendor->getBaseDataColumn());
             if (!empty($itemIds)) {
                 foreach ($itemIds as $itemId) {
                     $query = "INSERT INTO " . $this->config['master-table'] . " (" . "item_id," . $vendorConfig['master-file-item-column-name'] . "," . $vendorConfig['master-file-price-column-name'] . "," . $vendorConfig['master-file-qty-column-name'] . ") VALUES (" . "'" . $itemId . "'," . "'" . $vendorItemData['item'] . "'," . $vendorItemData['price'] . "," . $vendorItemData['qty'] . ") ON DUPLICATE KEY UPDATE " . $vendorConfig['master-file-item-column-name'] . "='" . $vendorItemData['item'] . "'," . $vendorConfig['master-file-price-column-name'] . "= IF (" . $vendorConfig['master-file-price-column-name'] . "<" . $vendorItemData['price'] . "," . $vendorItemData['price'] . "," . $vendorConfig['master-file-price-column-name'] . ")," . $vendorConfig['master-file-qty-column-name'] . "=" . $vendorConfig['master-file-qty-column-name'] . "+" . $vendorItemData['qty'];
                     db_query($query);
                 }
             }
         }
     }
 }