public function softoneCalculate($jsonarr, $id) { if ((int) $id == 0) { exit; } $order = $this->getDoctrine()->getRepository("SoftoneBundle:Order")->find($id); if ($id > 0) { $customer = $this->getDoctrine()->getRepository("SoftoneBundle:Customer")->find($order->getCustomer()); } $jsonarr2 = array(); foreach ($jsonarr as $json) { $jsonarr2[] = $json; } //return $jsonarr2; $softone = new Softone(); $object = "SALDOC"; $objectArr = array(); $objectArr[0]["TRDR"] = $customer->getReference(); $objectArr[0]["SERIESNUM"] = 1; $objectArr[0]["FINCODE"] = 1; $objectArr[0]["PAYMENT"] = 1000; //$objectArr[0]["TFPRMS"] = $model->tfprms; //$objectArr[0]["FPRMS"] = $model->fprms; $objectArr[0]["SERIES"] = 7021; //$model->series; //$objectArr[0]["DISC1PRC"] = 10; $dataOut[$object] = (array) $objectArr; $k = 9000001; $dataOut["ITELINES"] = array(); $vat = $id > 0 ? $order->getVat()->getVatsts() : $this->getSetting("SoftoneBundle:Product:Vat"); //$vat = 2310; foreach ($jsonarr as $MTRL => $json) { if ($MTRL) { $dataOut["ITELINES"][] = array("QTY1" => 1, "VAT" => $vat, "LINENUM" => $json[1], "MTRL" => $MTRL); } } //print_r($dataOut); $locateinfo = "MTRL,NAME,PRICE,QTY1,VAT;ITELINES:DISC1PRC,ITELINES:LINEVAL,MTRL,MTRL_ITEM_CODE,MTRL_ITEM_CODE1,MTRL_ITEM_NAME,MTRL_ITEM_NAME1,PRICE,QTY1;SALDOC:BUSUNITS,EXPN,TRDR,MTRL,PRICE,QTY1,VAT"; $out = $softone->calculate((array) $dataOut, $object, "", "", $locateinfo); //print_r($out); //exit; foreach ((array) $out->data->ITELINES as $item) { $jsonarr[$item->MTRL][5] = str_replace("value='---'", "value='" . $item->LINEVAL . "'", $jsonarr[$item->MTRL][5]); $jsonarr[$item->MTRL][6] = str_replace("value='---'", "value='" . $item->LINEVAL . "'", $jsonarr[$item->MTRL][6]); } $jsonarr2 = array(); foreach ($jsonarr as $json) { $jsonarr2[] = $json; } return $jsonarr2; }
public function calculate($customer) { $softone = new Softone(); //foreach ($order->_items_ as $item) { $items = array(); $items[] = $this->reference; //} $object = "SALDOC"; $objectArr = array(); $objectArr[0]["TRDR"] = $customer->reference; $objectArr[0]["SERIESNUM"] = "00"; $objectArr[0]["FINCODE"] = "00"; $objectArr[0]["PAYMENT"] = 1000; //$objectArr[0]["TFPRMS"] = $this->tfprms; //$objectArr[0]["FPRMS"] = $this->fprms; $objectArr[0]["SERIES"] = 7021; //$this->series; //$objectArr[0]["DISC1PRC"] = 10; $dataOut[$object] = (array) $objectArr; $k = 9000001; $dataOut["ITELINES"] = array(); $vat = 1310; foreach ($products as $product) { if ($product->reference > 0) { $dataOut["ITELINES"][] = array("QTY1" => 1, "VAT" => $vat, "LINENUM" => $product->id, "MTRL" => $product->reference); } } //echo "1"; //print_r($dataOut); $locateinfo = "MTRL,NAME,PRICE,QTY1,VAT;ITELINES:DISC1PRC,ITELINES:LINEVAL,MTRL,MTRL_ITEM_CODE,MTRL_ITEM_CODE1,MTRL_ITEM_NAME,MTRL_ITEM_NAME1,PRICE,QTY1;SALDOC:BUSUNITS,EXPN,TRDR,MTRL,PRICE,QTY1,VAT"; //echo "<pre>"; //print_r($dataOut); $out = $softone->calculate((array) $dataOut, $object, "", "", $locateinfo); }