コード例 #1
0
ファイル: Customer.php プロジェクト: AlexanderTheGr/alexander
 function toSoftone()
 {
     //if ($this->reference)
     global $kernel;
     if ('AppCache' == get_class($kernel)) {
         $kernel = $kernel->getKernel();
     }
     $em = $kernel->getContainer()->get('doctrine.orm.entity_manager');
     $object = "CUSTOMER";
     $softone = new Softone();
     $fields = $softone->retrieveFields($object, "partsbox");
     //echo $this->reference . "\n";
     //print_r($fields);
     $objectArr = array();
     $objectArr2 = array();
     if ((int) $this->reference > 0) {
         $data = $softone->getData($object, $this->reference);
         //print_r($data);
         $objectArr = $data->data->{$object};
         //print_r($objectArr);
         $objectArr2 = (array) $objectArr[0];
     } else {
         $filters = "CUSTOMER.CODE=" . $this->customerCode . "&CUSTOMER.CODE_TO=" . $this->customerCode;
         $datas = $softone->retrieveData($object, "partsbox", $filters);
         foreach ($datas as $data) {
             $data = (array) $data;
             $zoominfo = $data["zoominfo"];
             $info = explode(";", $zoominfo);
             $this->reference = $info[1];
             break;
         }
         $data = $softone->getData($object, $this->reference);
         $objectArr = $data->data->{$object};
         $objectArr2 = (array) $objectArr[0];
     }
     foreach ($fields as $field) {
         $field1 = strtoupper(str_replace(strtolower($object) . "_", "", $field));
         $field2 = lcfirst($this->createName($field));
         //echo $field2 . "<BR>";
         @($objectArr2[$field1] = $this->{$field2});
         //}
     }
     $objectArr[0] = $objectArr2;
     $dataOut[$object] = (array) $objectArr;
     //@$dataOut["ITEEXTRA"][0] = array("NUM02" => $this->item_mtrl_iteextra_num02);
     //print_r(@$dataOut);
     $out = $softone->setData((array) $dataOut, $object, (int) $this->reference);
     //print_r($out);
     if (@$out->id > 0) {
         $filters = "CUSTOMER.CODE=" . $this->customerCode . "&CUSTOMER.CODE_TO=" . $this->customerCode;
         $datas = $softone->retrieveData($object, "partsbox", $filters);
         foreach ($datas as $data) {
             $data = (array) $data;
             $zoominfo = $data["zoominfo"];
             $info = explode(";", $zoominfo);
             $this->reference = $info[1];
             break;
         }
         if ($this->reference > 0) {
             $em->persist($this);
             $em->flush();
         }
     }
 }
コード例 #2
0
ファイル: Product.php プロジェクト: AlexanderTheGr/alexander
 function toSoftone()
 {
     //if ($this->reference)
     global $kernel;
     if ('AppCache' == get_class($kernel)) {
         $kernel = $kernel->getKernel();
     }
     $em = $kernel->getContainer()->get('doctrine.orm.entity_manager');
     $object = "ITEM";
     $softone = new Softone();
     //$fields = $softone->retrieveFields($object, $params["list"]);
     echo $softone->appId;
     $fields[] = "item_code";
     $fields[] = "item_name";
     $fields[] = "item_code1";
     $fields[] = "item_code2";
     $fields[] = "item_name1";
     $fields[] = "item_mtrunit1";
     $fields[] = "item_pricew";
     $fields[] = "item_pricer";
     $fields[] = "item_pricew01";
     $fields[] = "item_pricer01";
     $fields[] = "item_pricew02";
     $fields[] = "item_pricew03";
     $fields[] = "item_pricer02";
     $fields[] = "item_vat";
     $fields[] = "item_mtrmanfctr";
     $fields[] = "item_mtrplace";
     $fields[] = "item_apvcode";
     $fields[] = "item_isactive";
     //$fields[] = "item_mtrsup";
     $fields[] = "item_mtrcategory";
     $fields[] = "item_markupw";
     $fields[] = "item_isactive";
     $fields[] = "item_mtrmark";
     $fields[] = "item_cccfxreltdcode";
     $fields[] = "item_cccfxrelbrand";
     //print_r($fields);
     //return;
     $objectArr = array();
     $objectArr2 = array();
     if ($this->reference > 0) {
         $data = $softone->getData($object, $this->reference);
         $objectArr = $data->data->{$object};
         $objectArr2 = (array) $objectArr[0];
     } else {
         $filters = $object . ".CODE=" . $this->itemCode . "&" . $object . ".CODE_TO=" . $this->itemCode;
         $datas = $softone->retrieveData($object, "partsbox", $filters);
         foreach ($datas as $data) {
             $data = (array) $data;
             $zoominfo = $data["zoominfo"];
             $info = explode(";", $zoominfo);
             $this->reference = $info[1];
             break;
         }
         $data = $softone->getData($object, $this->reference);
         $objectArr = $data->data->{$object};
         $objectArr2 = (array) $objectArr[0];
     }
     foreach ($fields as $field) {
         $field1 = strtoupper(str_replace(strtolower($object) . "_", "", $field));
         $field2 = lcfirst($this->createName($field));
         //echo $field2 . "<BR>";
         @($objectArr2[$field1] = $this->{$field2});
         //}
     }
     $objectArr2["MTRUNIT1"] = 101;
     $objectArr2["VAT"] = 1310;
     $objectArr2["CODE2"] = $this->supplierCode;
     $objectArr2["ISACTIVE"] = $this->itemIsactive;
     $objectArr2["MTRMANFCTR"] = $this->itemMtrmanfctr > 0 ? $this->itemMtrmanfctr : 1000;
     $objectArr[0] = $objectArr2;
     $dataOut[$object] = (array) $objectArr;
     //@$dataOut["ITEEXTRA"][0] = array("NUM02" => $this->item_mtrl_iteextra_num02);
     //print_r(@$dataOut);
     $out = $softone->setData((array) $dataOut, $object, (int) $this->reference);
     //print_r($out);
     if (@$out->id > 0) {
         $this->reference = $out->id;
         $em->persist($this);
         $em->flush();
         $this->itemMtrmark = $this->itemMtrmark > 0 ? $this->itemMtrmark : 1000;
         $this->itemMtrmanfctr = $this->itemMtrmanfctr > 0 ? $this->itemMtrmanfctr : 1000;
         $params["fSQL"] = "UPDATE MTRL SET MTRMANFCTR=" . $this->itemMtrmanfctr . " , MTRMARK=" . $this->itemMtrmark . " WHERE MTRL = " . $this->reference;
         print_r($softone->createSql($params));
     }
 }
コード例 #3
0
 /**
  * @Route("/customer/retrieve")
  */
 function retrieveSoftoneData($params = array())
 {
     $this->retrieveCustomer();
     $params["list"] = 'partsbox';
     $params = array("softone_object" => "CUSTOMER", "eav_model" => "customer", "model" => "Customer", "list" => "monitor");
     set_time_limit(100000);
     ini_set('memory_limit', '2256M');
     $softone = new Softone();
     $em = $this->getDoctrine()->getManager();
     $fields = $em->getClassMetadata('SoftoneBundle\\Entity\\Customer')->getFieldNames();
     $date = "2016-02-01";
     $filters = "CUSTOMER.UPDDATE=" . $date . "&CUSTOMER.UPDDATE_TO=" . date("Y-m-d");
     $datas = $softone->retrieveData($params["softone_object"], $params["list"], $filters);
     foreach ($datas as $data) {
         $data = (array) $data;
         $zoominfo = $data["zoominfo"];
         $info = explode(";", $zoominfo);
         $entity = $this->getDoctrine()->getRepository($this->repository)->findOneBy(array("reference" => (int) $info[1]));
         if (@$entity->id == 0) {
             $entity = new Customer();
             $dt = new \DateTime("now");
             $entity->setTs($dt);
             $entity->setField("reference", (int) $info[1]);
             //$entity->setCustomerInsdate($dt);
             //$entity->setCustomerUpddate($dt);
             $entity->setCreated($dt);
             $entity->setModified($dt);
         }
         $this->flushpersist($entity);
         $q = array();
         foreach ($data as $identifier => $val) {
             $imporetedData[strtolower($identifier)] = addslashes($val);
             $ad = strtolower(str_replace(strtolower($params["softone_object"]) . "_", "", $identifier));
             $baz = strtolower($params["softone_object"]) . ucwords(str_replace("_", " ", $ad));
             //echo $baz."<BR>";
             if (in_array($baz, $fields)) {
                 $q[] = "`" . strtolower($identifier) . "` = '" . addslashes($val) . "'";
                 //$entity->setField($baz, $val);
             }
         }
         @($entity_id = (int) $entity->id);
         if (@$entity_id > 0) {
             $sql = "update softone_customer set " . implode(",", $q) . " where id = '" . $entity_id . "'";
             //echo $sql."<BR>";
             $em->getConnection()->exec($sql);
         }
         //break;
     }
     $datas = $softone->getCustomerAddresses();
     $sql = "truncate softone_customeraddress";
     $em->getConnection()->exec($sql);
     $fields = $em->getClassMetadata('SoftoneBundle\\Entity\\Customeraddress')->getFieldNames();
     //print_r($datas);
     if (@$datas->data) {
         foreach ($datas->data as $data) {
             $data = (array) $data;
             $customer = $this->getDoctrine()->getRepository($this->repository)->findOneBy(array("reference" => (int) $data["TRDR"]));
             $entity = new \SoftoneBundle\Entity\Customeraddress();
             $entity->setCustomer($customer);
             $entity->setReference($data["TRDR"]);
             $this->flushpersist($entity);
             $q = array();
             foreach ($data as $identifier => $val) {
                 if (in_array(strtolower($identifier), $fields)) {
                     $q[] = "`" . strtolower($identifier) . "` = '" . addslashes($val) . "'";
                     //$entity->setField($baz, $val);
                 }
             }
             @($entity_id = (int) $entity->id);
             $sql = "update softone_customeraddress set " . implode(",", $q) . " where id = '" . $entity_id . "'";
             $em->getConnection()->exec($sql);
             //echo $sql . "<BR>";
         }
     }
     exit;
 }