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;
 }
Esempio n. 2
0
 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);
 }