/** * @Route("/order/saveSoftone") */ function saveSoftone(Request $request) { $id = $request->request->get("id"); $softone = new Softone(); $object = "SALDOC"; $order = $this->getDoctrine()->getRepository("SoftoneBundle:Order")->find($id); $customer = $this->getDoctrine()->getRepository("SoftoneBundle:Customer")->find($order->getCustomer()); $vat = $id > 0 ? $order->getVat()->getVatsts() : $this->getSetting("SoftoneBundle:Product:Vat"); //$vat = $id > 0 ? $order->getVat()->getId() : $this->getSetting("SoftoneBundle:Product:Vat"); if ($order->getReference() > 0) { $data = $softone->delData($object, (int) $order->getReference()); } $objectArr = array(); $objectArr[0]["TRDR"] = $customer->getReference(); $objectArr[0]["SERIESNUM"] = $order->getId(); $objectArr[0]["FINCODE"] = $order->getFincode(); $objectArr[0]["PAYMENT"] = 1000; //$objectArr[0]["TFPRMS"] = $model->tfprms; //$objectArr[0]["FPRMS"] = $model->fprms; $objectArr[0]["SERIES"] = 7021; //$model->series; $objectArr[0]["VATSTS"] = $customer->getCustomerVatsts(); //$objectArr[0]["DISC1PRC"] = 10; $dataOut[$object] = (array) $objectArr; $dataOut["ITELINES"] = array(); $k = 0; foreach ($order->getItems() as $item) { //$dataOut["ITELINES"][] = array("QTY1" => $item->getQty(), "VAT" => $vat, "LINENUM" => $item->getLineval(), "MTRL" => $item->getProduct()->getReference()); $dataOut["ITELINES"][] = array("VAT" => $vat, "QTY1" => $item->getQty(), "LINENUM" => $k++, "MTRL" => $item->getProduct()->getReference(), "PRICE" => $item->getPrice(), "LINEVAL" => $item->getLineval(), "DISC1PRC" => $item->getDisc1prc()); } $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->setData((array) $dataOut, $object, (int) 0); //print_r($out); if (@$out->id > 0) { $order->setReference($out->id); $this->flushpersist($order); } $json = json_encode($out); return new Response($json, 200, array('Content-Type' => 'application/json')); }