  <?php
/* $Id: index.php 6941 2014-10-26 23:18:08Z daintree $*/
error_reporting(E_ALL & ~E_NOTICE);
$PageSecurity=0;

include('includes/session.inc');
include('includes/SQL_CommonFunctions.inc');
$Title=_('HRMS-Process Pay');
include('includes/newheader.php');

?>

		
  

  
 									
									<?php

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

		
  if (isset($_GET['id'])) {
		$_SESSION['id'] = stripslashes($_GET['id']);
	}
	$calendarid = $_SESSION['id'];
$sql =  "SELECT payid
						 
			FROM gltrans   where calendarid = '" . $calendarid."'
			AND type = '9'
			
			";
	$ErrMsg = _('This customer could not be added because');
			$result = DB_query($sql,$ErrMsg);
		$myrow = DB_fetch_array($result);



if ($status == "pending" || $status == "processed" || $status == "approved"  ){
	$message = "Status is not processed or not locked yet. Once its locked then can post GL entries ";
	echo "<script type='text/javascript'>alert('$message');</script>";
echo "<script type='text/javascript'>javascript:history.go(-1)</script>"; 
	exit();
	
}elseif($status == "gldone"  ){
	$message = "GL is processed. Can process it again ";
	echo "<script type='text/javascript'>alert('$message');</script>";
echo "<script type='text/javascript'>javascript:history.go(-1)</script>"; 
	exit(); 
	
	
}else {								

	if ($myrow['payid'] ==''){
	
$sql4 =  "SELECT *
								  
						 
			FROM payrun_details
			where id = '" . $calendarid."'
		  
			";
	$ErrMsg = _('This customer could not be added    because');
			$result4 = DB_query($sql4,$ErrMsg);

			
		while ($myrow4 = DB_fetch_array($result4)) {
		
		
				  $sqldate = $myrow4['date_processed'];
	
				$yeardate = date('Y',strtotime($sqldate));
				$monthdate =date('m',strtotime($sqldate));
				$monthname =date('M',strtotime($sqldate)); 
				$query22 = "SELECT 
						periodno,
		             lastdate_in_period
		                 
					  
		          FROM periods
				    WHERE YEAR(lastdate_in_period) = '" . $yeardate. "'
					AND MONTH(lastdate_in_period)  = '" . $monthdate. "'";
				
        			$result22=DB_query($query22);
					$myrow22=DB_fetch_array($result22);
      
					$PeriodNo = $myrow22['periodno'];
			
$glno = GetNextTransNo(9, $db);
			
			$sql41 =  "SELECT *
						 
			FROM management_gl_setup   where employeeid = '" . $myrow4['employeeid']."'
			AND type = 'Cost'
			
			";
	$ErrMsg = _('This customer could not be added because');
			$result41 = DB_query($sql41,$ErrMsg);
		
			
			
		while ($myrow41 = DB_fetch_array($result41)){
				
				
			
		//update cost potion debit entries
			$SQL = "INSERT INTO gltrans (type,
												typeno,
												payid,
												trandate,
												periodno,
												account,
												narrative,
												amount,
												department,
												calendarid,
												employee)
										VALUES (
											9,
											'" . $glno  . "',
											'" . $myrow4['payid']  . "',
											'" . $myrow4['date_processed'] . "',
											'" . $PeriodNo . "',
											'" . $myrow41['glcode'] . "',
											'Management Cost Debit GL',
											'" .round(($myrow4['totalgross_amount'] * ($myrow41['rate']/100)),2). "',
											'" . $myrow4['department'] . "',
											'" . $calendarid. "',
											'" . $myrow4['employeeid'] . "')";

					$ErrMsg = _('CRITICAL ERROR') . '! ' . _('NOTE DOWN THIS ERROR AND SEEK ASSISTANCE') . ': ' . _('Sales Gl ');
					$DbgMsg = _('The following SQL to insert the GLTrans record was used');
					$Result = DB_query($SQL,$ErrMsg,$DbgMsg,true);
		




//process salary type is fixed
		}

//3 credit entriesfor fnpf and one for tpaf
		//update tax gl
			$SQL = "INSERT INTO gltrans (type,
												typeno,
												payid,
												trandate,
												periodno,
												account,
												narrative,
												amount,
												department,
												calendarid,
												employee)
										VALUES (
											9,
											'" . $glno  . "',
											'" . $myrow4['payid']  . "',
											'" . $myrow4['date_processed'] . "',
											'" . $PeriodNo . "',
											'G400',
											'Management Cost Credit GL',
											'" .-$myrow4['totalgross_amount'] . "',
											'" . $myrow4['department'] . "',
											'" . $calendarid. "',
											'" . $myrow4['employeeid'] . "')";

					$ErrMsg = _('CRITICAL ERROR') . '! ' . _('NOTE DOWN THIS ERROR AND SEEK ASSISTANCE') . ': ' . _('Sales Gl ');
					$DbgMsg = _('The following SQL to insert the GLTrans record was used');
					$Result = DB_query($SQL,$ErrMsg,$DbgMsg,true);
			
			
		//fnpf
			
				$sql41 =  "SELECT *
						 
			FROM management_gl_setup   where employeeid = '" . $myrow4['employeeid']."'
			AND type = 'Fnpf'
			
			";
	$ErrMsg = _('This customer could not be added because');
			$result41 = DB_query($sql41,$ErrMsg);
		
			
			
		while ($myrow41 = DB_fetch_array($result41)){
				
				
			
		//update fnpfdebit entries
			$SQL = "INSERT INTO gltrans (type,
												typeno,
												payid,
												trandate,
												periodno,
												account,
												narrative,
												amount,
												department,
												calendarid,
												employee)
										VALUES (
											9,
											'" . $glno  . "',
											'" . $myrow4['payid']  . "',
											'" . $myrow4['date_processed'] . "',
											'" . $PeriodNo . "',
											'" . $myrow41['glcode'] . "',
											'Management Fnpf Cost Debit GL',
											'" .round(($myrow4['fnpf_employer'] * ($myrow41['rate']/100)),2). "',
											'" . $myrow4['department'] . "',
											'" . $calendarid. "',
											'" . $myrow4['employeeid'] . "')";

					$ErrMsg = _('CRITICAL ERROR') . '! ' . _('NOTE DOWN THIS ERROR AND SEEK ASSISTANCE') . ': ' . _('Sales Gl ');
					$DbgMsg = _('The following SQL to insert the GLTrans record was used');
					$Result = DB_query($SQL,$ErrMsg,$DbgMsg,true);
		




//process salary type is fixed
		}

//3 credit entries for banks. 1 for cost, one for fnpf and one for tpaf
		//update tax gl
			$SQL = "INSERT INTO gltrans (type,
												typeno,
												payid,
												trandate,
												periodno,
												account,
												narrative,
												amount,
												department,
												calendarid,
												employee)
										VALUES (
											9,
											'" . $glno  . "',
											'" . $myrow4['payid']  . "',
											'" . $myrow4['date_processed'] . "',
											'" . $PeriodNo . "',
											'G406',
											'Management Fnpf Cost Credit GL',
											'" .-$myrow4['fnpf_employer'] . "',
											'" . $myrow4['department'] . "',
											'" . $calendarid. "',
											'" . $myrow4['employeeid'] . "')";

					$ErrMsg = _('CRITICAL ERROR') . '! ' . _('NOTE DOWN THIS ERROR AND SEEK ASSISTANCE') . ': ' . _('Sales Gl ');
					$DbgMsg = _('The following SQL to insert the GLTrans record was used');
					$Result = DB_query($SQL,$ErrMsg,$DbgMsg,true);
			
			
			//tpaf
					
				$sql41 =  "SELECT *
						 
			FROM management_gl_setup   where employeeid = '" . $myrow4['employeeid']."'
			AND type = 'Tpaf'
			
			";
	$ErrMsg = _('This customer could not be added because');
			$result41 = DB_query($sql41,$ErrMsg);
		
			
			
		while ($myrow41 = DB_fetch_array($result41)){
				
				$tpafamnt = $myrow4['totalgross_amount'] * 0.01;
			
		//update fnpfdebit entries
			$SQL = "INSERT INTO gltrans (type,
												typeno,
												payid,
												trandate,
												periodno,
												account,
												narrative,
												amount,
												department,
												calendarid,
												employee)
										VALUES (
											9,
											'" . $glno  . "',
											'" . $myrow4['payid']  . "',
											'" . $myrow4['date_processed'] . "',
											'" . $PeriodNo . "',
											'" . $myrow41['glcode'] . "',
											'Management Tpaf Cost Debit GL',
											'" .round(($tpafamnt * ($myrow41['rate']/100)),2). "',
											'" . $myrow4['department'] . "',
											'" . $calendarid. "',
											'" . $myrow4['employeeid'] . "')";

					$ErrMsg = _('CRITICAL ERROR') . '! ' . _('NOTE DOWN THIS ERROR AND SEEK ASSISTANCE') . ': ' . _('Sales Gl ');
					$DbgMsg = _('The following SQL to insert the GLTrans record was used');
					$Result = DB_query($SQL,$ErrMsg,$DbgMsg,true);
		




//process salary type is fixed
		}

//3 credit entries for banks. 1 for cost, one for fnpf and one for tpaf
		//update tax gl
			$SQL = "INSERT INTO gltrans (type,
												typeno,
													payid,
												trandate,
												periodno,
												account,
												narrative,
												amount,
												department,
												calendarid,
												employee)
										VALUES (
											9,
											'" . $glno  . "',
											'" . $myrow4['payid']  . "',
											'" . $myrow4['date_processed'] . "',
											'" . $PeriodNo . "',
											'G407',
											'Management Tpaf Cost Credit GL',
											'" .-$tpafamnt . "',
											'" . $myrow4['department'] . "',
											'" . $calendarid. "',
											'" . $myrow4['employeeid'] . "')";

					$ErrMsg = _('CRITICAL ERROR') . '! ' . _('NOTE DOWN THIS ERROR AND SEEK ASSISTANCE') . ': ' . _('Sales Gl ');
					$DbgMsg = _('The following SQL to insert the GLTrans record was used');
					$Result = DB_query($SQL,$ErrMsg,$DbgMsg,true);
			
			
		}
	//success message and redirect to a page

	
	$SQLS = "UPDATE calendar_management SET status = 'gldone'
									WHERE id ='" . $calendarid . "'";


			$ResultS = DB_query($SQLS); 
		
$message = "SUCCESS! This pay period has been processed. Please check the entries.";
	echo "<script type='text/javascript'>alert('$message');</script>";
echo "<script type='text/javascript'>javascript:history.go(-1)</script>"; 
	exit();
		

}
		
}//status end
echo '</div>';
  
 	echo '</div >';


echo '<div class="row"> <div class="col-sm-12" >';

//echo '<iframe src="Reporttimesheetsuva-GFS.php" height="400" width="100%">
  // alternative content for browsers which do not support iframe.
//</iframe>';		?>
										
						</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;
}
	
?>
here are no reports to show!') . '</li>';
	}
	return $RptLinks;
}
	
?>
