 <?php
error_reporting(E_ALL & ~E_NOTICE);

$PageSecurity=0;
include ('includes/GetSalesTransGLCodes.inc');
/*defines the structure of the data required to hold the transaction as a session variable */
//include ('includes/DefineCartClass.php');
include('includes/session.inc');
$Title=_('ERP Home');
include('includes/newheader.php');
include('includes/SQL_CommonFunctions.inc');
   
	//echo $request->BuyerCostCenterId;

	
  
	
	 if (isset($_GET['transno'])) {
$_SESSION['transno']= stripslashes($_GET['transno']);
	 }
$CreditNo = $_SESSION['transno'];

if (isset($_GET['debtorno'])) {
		$_SESSION['debtorno'] = stripslashes($_GET['debtorno']);
	}
	$debtorno = $_SESSION['debtorno'];	

if (isset($_GET['order_'])) {
		$_SESSION['order_'] = stripslashes($_GET['order_']);
	}
	$orderno = $_SESSION['order_'];

	 if (isset($_GET['reference'])) {
$_SESSION['reference']= stripslashes($_GET['reference']);
	 }
$reference= $_SESSION['reference'];

	if (isset($_GET['ovamount'])) {
		$_SESSION['ovamount'] = stripslashes($_GET['ovamount']);
	}
	$ovamount = $_SESSION['ovamount'];

	 if (isset($_GET['ovgst'])) {
$_SESSION['ovgst']= stripslashes($_GET['ovgst']);
	 }
$ovgst= $_SESSION['ovgst'];

if (isset($_GET['cancelled'])) {
		$_SESSION['cancelled'] = stripslashes($_GET['cancelled']);
	}
	$cancelled = $_SESSION['cancelled'];

	/* SQL to process the postings for sales credit notes... First Get the area where the credit note is to from the branches table */
  
	

if ($cancelled == 0){
	
	$quotedate1= date('d/m/Y h:i a');
	$quotedate= date('m/d/Y h:i:s a');

    $date =date(DATE_ISO8601, strtotime($quotedate));
	
	$erpfijidate = date('d/m/Y');
		$userid = $_SESSION['UserID'];
		
$SQLuser = "SELECT email,realname
	               
			FROM www_users
			WHERE userid='" . $userid. "'
			";
	
			$resultuser = DB_query($SQLuser);
	
			$myrowuser = DB_fetch_array($resultuser) ;
		$emailm= $myrowuser['email'];
$realname= $myrowuser['realname'];
$usertin= "N/A";	
$pac = "N/A";	
	

//retrieve header info from debtor trans
	 
	$sqldate = date("Y-m-d");
	$sqldate1 = date("Y-m-d h:i:s");
$yeardate = date('Y',strtotime($sqldate));
$monthdate =date('m',strtotime($sqldate));
$monthname =date('M',strtotime($sqldate)); 
	
//	$sdctime =  date("Y-m-d h:i:s a",$quotedated );
	    
	
		$userid = $_SESSION['UserID'];
		
$SQLuser = "SELECT email,realname
	               
			FROM www_users
			WHERE userid='" . $userid. "'
			";
	
			$resultuser = DB_query($SQLuser);
	
			$myrowuser = DB_fetch_array($resultuser) ;
		$emailm= $myrowuser['email'];
$realname= $myrowuser['realname'];
	//database abstraction layer
	 //$DefaultDispatchDate = FormatDateForSQL($DefaultDispatchDate);
		
		

		
	 
$erpinvoicenumber = mb_substr($reference,24,5);
			
		
$totalvip = $ovamount + $ovgst;

	/*Now need to update the invoice DebtorTrans record for the amount to be allocated and if the invoice is now settled*/

		$SQL = "UPDATE debtortrans
				SET alloc = alloc +  '" . $totalvip . "',
					settled='0'
					
				WHERE transno= '" . $erpinvoicenumber. "'
				AND type=10";

		$ErrMsg = _('CRITICAL ERROR') . '! ' . _('NOTE DOWN THIS ERROR AND SEEK ASSISTANCE') . ': ' . _('The alteration to the invoice record to reflect the allocation of the credit note to the invoice could not be done because');
		$DbgMsg = _('The following SQL to update the invoice allocation was used');
		$Result = DB_query($SQL, $ErrMsg, $DbgMsg, true);



	
		$SQL11 = "UPDATE debtortrans
				SET 
					cancelled='1',
					cancelled_by='" . $userid . "',
					cancelled_date='" . $sqldate1 . "',
					settled=1
				WHERE transno= '" . $CreditNo. "'
				AND type=11";

		$ErrMsg = _('CRITICAL ERROR') . '! ' . _('NOTE DOWN THIS ERROR AND SEEK ASSISTANCE') . ': ' . _('The alteration to the invoice record to reflect the allocation of the credit note to the invoice could not be done because');
		$DbgMsg = _('The following SQL to update the invoice allocation was used');
		$Result11 = DB_query($SQL11, $ErrMsg, $DbgMsg, true);

$message1 = "This credit note is is reversed now. Status changed to cancelled";
	echo "<script type='text/javascript'>alert('$message1');</script>";
echo "<script type='text/javascript'>javascript:history.go(-1)</script>"; 
		exit();
		


}else{
	
	//echo "This credit note is already reversed.";
	
	$message1 = "This credit note is already reversed";
	echo "<script type='text/javascript'>alert('$message1');</script>";
echo "<script type='text/javascript'>javascript:history.go(-1)</script>"; 
		exit();
		
}

	
	
//echo 'Quotation Created Successfully'. $jobno.'!';
echo '</div>';
echo '</div>';
		  
 	echo '</div >';
	?>
						

		
					</div>
				</div>
			</div>
					
		  
	 
	 
 
	
	
	
 







	
					

						<!--end:: Widgets/Stats-->

						<!--Begin::Section-->
						

		<!-- end::Quick Sidebar -->

		<!-- begin::Scroll Top -->
		<div id="m_scroll_top" class="m-scroll-top">
			<i class="la la-arrow-up"></i>
		</div>

		<!-- end::Scroll Top -->

		<!-- begin::Quick Nav -->
		

		<!-- begin::Quick Nav -->
<script src="includes/vendors/owl.carousel/dist/owl.carousel.js" type="text/javascript"></script>

		<!--end::Page Scripts -->
	</body>

	<!-- end::Body -->
</html>
 
      
<?php



/*The module link codes are hard coded in a switch statement below to determine the options to show for each tab */
include('includes/MainMenuLinksArray.php');

if (isset($SupplierLogin) AND $SupplierLogin==1){
	echo '<table class="table_index">
			<tr>
			<td class="menu_group_item">
				<p>&bull; <a href="' . $RootPath . '/SupplierTenders.php?TenderType=1">' . _('View or Amend outstanding offers') . '</a></p>
			</td>
			</tr>
			<tr>
			<td class="menu_group_item">
				<p>&bull; <a href="' . $RootPath . '/SupplierTenders.php?TenderType=2">' . _('Create a new offer') . '</a></p>
			</td>
			</tr>
			<tr>
			<td class="menu_group_item">
				<p>&bull; <a href="' . $RootPath . '/SupplierTenders.php?TenderType=3">' . _('View any open tenders without an offer') . '</a></p>
			</td>
			</tr>
		</table>';
	include('includes/footer.inc');
	exit;
} elseif (isset($CustomerLogin) AND $CustomerLogin==1){
	echo '<table class="table_index">
			<tr>
			<td class="menu_group_item">
				<p>&bull; <a href="' . $RootPath . '/CustomerInquiry.php?CustomerID=' . $_SESSION['CustomerID'] . '">' . _('Account Status') . '</a></p>
			</td>
			</tr>
			<tr>
			<td class="menu_group_item">
				<p>&bull; <a href="' . $RootPath . '/SelectOrderItems.php?NewOrder=Yes">' . _('Place An Order') . '</a></p>
			</td>
			</tr>
			<tr>
			<td class="menu_group_item">
				<p>&bull; <a href="' . $RootPath . '/SelectCompletedOrder.php?SelectedCustomer=' . $_SESSION['CustomerID'] . '">' . _('Order Status') . '</a></p>
			</td>
			</tr>
		</table>';

	include('includes/footer.inc');
	exit;
}

if (isset($_GET['Application'])){ /*This is sent by this page (to itself) when the user clicks on a tab */
	$_SESSION['Module'] = $_GET['Application'];
}








//include('includes/footer.inc');

function GetRptLinks($GroupID) {
/*
This function retrieves the reports given a certain group id as defined in /reports/admin/defaults.php
in the acssociative array $ReportGroups[]. It will fetch the reports belonging solely to the group
specified to create a list of links for insertion into a table to choose a report. Two table sections will
be generated, one for standard reports and the other for custom reports.
*/
	global $db, $RootPath, $ReportList;
	require_once('reportwriter/languages/en_US/reports.php');
	require_once('reportwriter/admin/defaults.php');
	$GroupID=$ReportList[$GroupID];
	$Title= array(_('Custom Reports'), _('Standard Reports and Forms'));

	$sql= "SELECT id,
				reporttype,
				defaultreport,
				groupname,
				reportname
			FROM reports
			ORDER BY groupname,
					reportname";
	$Result=DB_query($sql,'','',false,true);
	$ReportList = '';
	while ($Temp = DB_fetch_array($Result)) $ReportList[] = $Temp;

	$RptLinks = '';
	for ($Def=1; $Def>=0; $Def--) {
        $RptLinks .= '<li class="menu_group_headers">';
        $RptLinks .= '<b>' .  $Title[$Def] . '</b>';
        $RptLinks .= '</li>';
		$NoEntries = true;
		if ($ReportList) { // then there are reports to show, show by grouping
			foreach ($ReportList as $Report) {
				if ($Report['groupname']==$GroupID AND $Report['defaultreport']==$Def) {
                    $RptLinks .= '<li class="menu_group_item">';
					$RptLinks .= '<p>&bull; <a href="' . $RootPath . '/reportwriter/ReportMaker.php?action=go&amp;reportid=' . $Report['id'] . '">' . _($Report['reportname']) . '</a></p>';
					$RptLinks .= '</li>';
					$NoEntries = false;
				}
			}
			// now fetch the form groups that are a part of this group (List after reports)
			$NoForms = true;
			foreach ($ReportList as $Report) {
				$Group=explode(':',$Report['groupname']); // break into main group and form group array
				if ($NoForms AND $Group[0]==$GroupID AND $Report['reporttype']=='frm' AND $Report['defaultreport']==$Def) {
                    $RptLinks .= '<li class="menu_group_item">';
					$RptLinks .= '<img src="' . $RootPath . '/css/' . $_SESSION['Theme'] . '/images/folders.gif" width="16" height="13" alt="" />&nbsp;';
					$RptLinks .= '<p>&bull; <a href="' . $RootPath . '/reportwriter/FormMaker.php?id=' . $Report['groupname'] . '"></p>';
					$RptLinks .= $FormGroups[$Report['groupname']] . '</a>';
					$RptLinks .= '</li>';
					$NoForms = false;
					$NoEntries = false;
				}
			}
		}
		if ($NoEntries) $RptLinks .= '<li class="menu_group_item">' . _('There are no reports to show!') . '</li>';
	}
	return $RptLinks;
}
	
?>
<!-- Modal HTML embedded directly into document -->
<div id="ex1" class="modal">
  <p>Thanks for clicking. That felt good.</p>
  <a href="#" rel="modal:close">Close</a>
</div>


<!-- Modal -->
 <div class="modal fade" id="getCodeModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
   <div class="modal-dialog modal-lg">
      <div class="modal-content">
       <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
         <h4 class="modal-title" id="myModalLabel"> API CODE </h4>
       </div>
       <div class="modal-body" id="getCode" style="overflow-x: scroll;">
       
          
          
       </div>
    </div>
   </div>
 </div>
<script>
jQuery(document).ready(function($){

   // event must be delegated from .xcrud
	
	
	
	
	function disableF5(e) {
		
if ((e.which || e.keyCode) == 116) 
	
	e.preventDefault(); 
	
	};
// To disable f5
    /* jQuery < 1.7 */
$(document).bind("keydown", disableF5);
/* OR jQuery >= 1.7 */
$(document).on("keydown", disableF5);


		 $(".Price").change(function(){
                 var identifier = $(this).attr('id');
		 
		 var qty = $("#Quantity_"+identifier).val();
		 
                 var unitprice = $(this).val();
	
			 
                // var Price = $("#Price_"+identifier).val();//price value
                 var Total =  parseFloat(qty) * parseFloat(unitprice);  
		 var linetotal = parseFloat(Total).toFixed(2)
                 $("#linetotal_"+identifier).val(linetotal);              
                       GrandTotal();
			 
		
               });
	
	 $(".Quantity").change(function(){
                 var identifier = $(this).attr('id');
		 
		 var qtyinvoiced = $("#invoiced_"+identifier).val();
		 
                 var Qty = $(this).val();
		 if (Qty <= qtyinvoiced && Qty !=0) {
			 
                 var Price = $("#Price_"+identifier).val();//price value
                 var Total =  parseFloat(Qty) * parseFloat(Price);  
		 var linetotal = parseFloat(Total).toFixed(2)
                 $("#linetotal_"+identifier).val(linetotal);              
                       GrandTotal();
			 
		 }
	
		 else{
			alert('Credit Quantity should be less than qty invoiced. For zero qty please delete the lineitem instead Correct this')
			   $(this).focus();
              return false; 
			 
		 }
               });
             GrandTotal();   

          function GrandTotal(){
            var GrandTotal=0;
             $(".Quantity").each(function(){
                 var identifier = $(this).attr('id');
                 var Qty = $(this).val();
                 var Price = $("#Price_"+identifier).val();//price value
                 var Total = parseFloat(Qty) * parseFloat(Price);                   
				 var linetotal = parseFloat(Total).toFixed(2)
                 GrandTotal += Total;
                 $("#linetotal_"+identifier).val(linetotal);    
               });
var GrandTotal = parseFloat(GrandTotal).toFixed(2)
          $("#grandtotal").val(GrandTotal);

        }

    	 $(".remove").click(function(){
                 var identifier = $(this).attr('id');
			 var total_item_amount = $('#linetotal_'+identifier).val();
          var final_amount = $('#grandtotal').val();
          var result_amount = parseFloat(final_amount) - parseFloat(total_item_amount);
			 var GrandTotal = parseFloat(result_amount).toFixed(2)
          $('#grandtotal').val(GrandTotal);
			 
			  var totalitem = $('#total_item').val();
			  var finalitemtotal = parseFloat(totalitem) - parseFloat(1);
			 $('#total_item').val(finalitemtotal);
		  $('#row_id_'+identifier).remove();
			  
               });

         
	
	
});
	
</script>