$grn_detail->setDescription($row->{'itemDesc'});
             $grn_detail->setQuantity($row->{'itemQuan'});
             $grn_detail->setAssessment($row->{'assess'});
             $grn_detail->setRemark($row->{'remarks'});
             if (!$error) {
                 $grn_detail->store();
             }
         } catch (fExpectedException $e) {
             echo $e->printMessage();
             $error = true;
         }
     }
 }
 $details = Good_receipt_note_detail::findDetail($grn->getDocNumber());
 foreach ($details as $detail) {
     Inv_stock::addStock($detail->getItemId(), $grn->getBranchId(), $detail->getQuantity());
 }
 $grn->setStatus("completed");
 $grn->store();
 if ($_POST['cloneNew'] == "yes") {
     //if(substr($grn->getDocNumber(),-3) != "rev")
     $newGRNNo = $grn->getDocNumber() . "/rev";
     //else{
     //	$newGRNNo = $grn->getDocNumber().Good_receipt_note::findRev($grn->getPoNo());
     //}
     $newGRN = $grn->replicate();
     $newGRN->setDocNumber($newGRNNo);
     $newGRN->setDocType("GRNRev");
     $newGRN->setStatus('incomplete');
     $newGRN->store();
     foreach ($jsonForm as $row) {
 if ($_POST['type'] == "transfer") {
     $json_form = fRequest::get('jsonForm');
     $jsonForm = fJSON::decode($json_form);
     foreach ($jsonForm as $row) {
         try {
             Inv_stock::removeStock($row->{'itemCode'}, $row->{'branch'}, $row->{'quantity'});
             $mattrans = new Material_transfer($_POST['doc_num']);
             $mattrans->setStatus("completed");
             $mattrans->store();
             $mattrans_detail = new Material_transfer_detail($row->{'id'});
             $mattrans_detail->setFromBranch($row->{'branch'});
             $mattrans_detail->store();
         } catch (fExpectedException $e) {
             echo $e->printMessage();
         }
         Inv_stock::addStock($row->{'itemCode'}, $_POST['branch'], $row->{'quantity'});
     }
 } else {
     if ($_POST['type'] == "ACcount") {
         try {
             $branch = fRequest::get('branch');
             $itemcode = fRequest::get('item');
             $stocks = Inv_stock::findStockByBranch($itemcode, $branch);
             $stock = $stocks[0];
             echo $stock->prepareQuantity();
         } catch (fExpectedException $e) {
             echo $e->printMessage();
         }
     } else {
         if ($_POST['type'] == "reset") {
             echo Inv_stock::resetStock(fRequest::get('target'), fRequest::get('quantity', 'integer'));