public function uploadPipelineConsignmentsAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender(TRUE);
     $type = $this->_request->getPost('type');
     if ($this->_request->isPost()) {
         $em = Zend_Registry::get('doctrine');
         $em->getConnection()->beginTransaction();
         try {
             $pipelines = $this->_request->getPost('pipeline');
             $receivedqty = $this->_request->getPost('receivedqty');
             $vvmstage = $this->_request->getPost('vvmstage');
             if (count($pipelines) > 0) {
                 $i = 0;
                 foreach ($pipelines as $row) {
                     if (ABS($receivedqty[$i]) <= 0) {
                         continue;
                     }
                     $str_sql = $this->_em->createQueryBuilder()->select('pc')->from("PipelineConsignments", "pc")->where("pc.pkId = {$row}")->andWhere("pc.status != 'Received'");
                     $pc = $str_sql->getQuery()->getResult();
                     $pipeline_consignments = $pc[0];
                     $locations = array();
                     if (count($pc) > 0) {
                         $type = $pipeline_consignments->getTransactionType()->getPkId();
                         $params = array('rec_id' => $pipeline_consignments->getPkId(), 'wh_id' => $pipeline_consignments->getToWarehouse()->getPkId(), 'from_wh_id' => $pipeline_consignments->getFromWarehouse()->getPkId(), 'voucher' => $pipeline_consignments->getVoucherNumber(), 'batch_no' => $pipeline_consignments->getBatchNumber(), 'qty' => $receivedqty[$i], 'trans_type' => $type, 'vvmstage' => $vvmstage[$i]);
                         $p_consignments = new Model_PipelineConsignments();
                         $p_consignments->form_values = $params;
                         $voucher_number = $p_consignments->uploadPipelineConsignments();
                         $pipeline_consignments->setReceivedQuantity($receivedqty[$i]);
                         $pipeline_consignments->setStatus("Received");
                         $this->_em->persist($pipeline_consignments);
                         $this->_em->flush();
                     }
                     $i++;
                 }
             }
             $em->getConnection()->commit();
         } catch (Exception $e) {
             $em->getConnection()->rollback();
             $em->close();
         }
     }
     if ($type == Model_TransactionTypes::TRANSACTION_RECIEVE) {
         $this->_redirect("stock/search-pipeline-consignments/voucher/{$voucher_number}");
     }
     if ($type == Model_TransactionTypes::TRANSACTION_ISSUE) {
         $this->_redirect("stock/search-planned-issue/voucher/{$voucher_number}");
     }
 }