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(); } } }
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)); } }
/** * @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; }