| 
      
      
      From: <dai...@us...> - 2011-01-30 05:16:10
      
     | 
| Revision: 4479
          http://web-erp.svn.sourceforge.net/web-erp/?rev=4479&view=rev
Author:   daintree
Date:     2011-01-30 05:16:03 +0000 (Sun, 30 Jan 2011)
Log Message:
-----------
Purch order stuff goods received etc
Modified Paths:
--------------
    trunk/GoodsReceived.php
    trunk/PDFGrn.php
    trunk/PO_PDFPurchOrder.php
    trunk/doc/Change.log.html
    trunk/includes/DefinePOClass.php
Modified: trunk/GoodsReceived.php
===================================================================
--- trunk/GoodsReceived.php	2011-01-30 03:56:30 UTC (rev 4478)
+++ trunk/GoodsReceived.php	2011-01-30 05:16:03 UTC (rev 4479)
@@ -81,12 +81,21 @@
 				'"></td></tr></table><br>';
 
 	echo '<table cellpadding=2 class=selection>
+					<tr><th colspan="2"></th>
+								<th align="centre" colspan="3"><b>' . _('Supplier Units') . '</b></th>
+								<th></th>
+								<th align="centre" colspan="5"><b>' . _('Our Units') . '</b></th>
+						</tr>
 					<tr><th>' . _('Item Code') . '</th>
 							<th>' . _('Description') . '</th>
 							<th>' . _('Quantity') . '<br>' . _('Ordered') . '</th>
 							<th>' . _('Units') . '</th>
-							<th>' . _('Already Received') . '</th>
-							<th>' . _('This Delivery') . '<br>' . _('Quantity') . '</th>';
+							<th>' . _('Already') . '<br />' . _('Received') . '</th>
+							<th>' . _('Conversion') . '<br />' . _('Factor') . '</th>
+							<th>' . _('Quantity') . '<br>' . _('Ordered') . '</th>
+							<th>' . _('Units') . '</th>
+							<th>' . _('Already') . '<br />' . _('Received') . '</th>
+							<th>' . _('This Delivery') . '<br />' . _('Quantity') . '</th>';
 
 	if ($_SESSION['ShowValueOnGRN']==1) {
 		echo '<th>' . _('Price') . '</th><th>' . _('Total Value') . '<br>' . _('Received') . '</th>';
@@ -125,41 +134,23 @@
 
 		$LineTotal = ($LnItm->ReceiveQty * $LnItm->Price );
 		$_SESSION['PO'.$identifier]->Total = $_SESSION['PO'.$identifier]->Total + $LineTotal;
+		$DisplaySupplierQtyOrd = number_format($LnItm->Quantity/$LnItm->ConversionFactor,$LnItm->DecimalPlaces);
+		$DisplaySupplierQtyRec = number_format($LnItm->QtyReceived/$LnItm->ConversionFactor,$LnItm->DecimalPlaces);
 		$DisplayQtyOrd = number_format($LnItm->Quantity,$LnItm->DecimalPlaces);
 		$DisplayQtyRec = number_format($LnItm->QtyReceived,$LnItm->DecimalPlaces);
 		$DisplayLineTotal = number_format($LineTotal,2);
 		$DisplayPrice = number_format($LnItm->Price,2);
 
-		$SupplierUomSQL="SELECT unitsofmeasure.unitname,
-															conversionfactor,
-															suppliersuom,
-															max(effectivefrom)
-												FROM purchdata
-												LEFT JOIN unitsofmeasure
-												ON purchdata.suppliersuom=unitsofmeasure.unitid
-												WHERE supplierno='".$_SESSION['PO'.$identifier]->SupplierID."'
-												AND stockid='".$LnItm->StockID."'
-												GROUP BY unitsofmeasure.unitname";
 
-		$SupplierUOMResult=DB_query($SupplierUomSQL, $db);
-		if (DB_num_rows($SupplierUOMResult)>0) {
-			$SupplierUOMRow=DB_fetch_array($SupplierUOMResult);
-			if (strlen($SupplierUOMRow['unitname'])>0) {
-				$Uom=$SupplierUOMRow['unitname'];
-			} else {
-				$Uom=$LnItm->Units;
-			}
-			$ConversionFactor=$SupplierUOMRow['conversionfactor'];
-		} else { //using our units throughout
-			$Uom=$LnItm->Units;
-			$ConversionFactor=1;
-		}
-
 		//Now Display LineItem
 		echo '<td>' . $LnItm->StockID . '</td>';
 		echo '<td>' . $LnItm->ItemDescription . '</td>';
+		echo '<td class=number>' . $DisplaySupplierQtyOrd . '</td>';
+		echo '<td>' . $LnItm->SuppliersUnit . '</td>';
+		echo '<td class=number>' . $DisplaySupplierQtyRec . '</td>';
+		echo '<td class=number>' . $LnItm->ConversionFactor . '</td>';
 		echo '<td class=number>' . $DisplayQtyOrd . '</td>';
-		echo '<td>' . $LnItm->uom . '</td>';
+		echo '<td>' . $LnItm->Units . '</td>';
 		echo '<td class=number>' . $DisplayQtyRec . '</td>';
 		echo '<td class=number>';
 
@@ -191,7 +182,7 @@
 	echo "<script>defaultControl(document.forms[0].RecvQty_$LnItm->LineNo);</script>";
 $DisplayTotal = number_format($_SESSION['PO'.$identifier]->Total,2);
 if ($_SESSION['ShowValueOnGRN']==1) {
-	echo '<tr><td colspan=7 class=number><b>' . _('Total value of goods received'). '</b></td>
+	echo '<tr><td colspan="11" class=number><b>' . _('Total value of goods received'). '</b></td>
 						<td class=number><b>'. $DisplayTotal. '</b></td>
 				</tr></table>';
 } else {
@@ -675,7 +666,7 @@
 	
 	
 	if ($_SESSION['PO'.$identifier]->AllLinesReceived()==1) { //all lines on the purchase order are now completed
-		$StatusComment=date($_SESSION['DefaultDateFormat']) .' - ' . _('Order Completed') .'<br />' . $_SESSION['PO'.$identifier]->StatusComment;
+		$StatusComment=date($_SESSION['DefaultDateFormat']) .' - ' . _('Order Completed') .'<br />' . $_SESSION['PO'.$identifier]->StatusComments;
 		$sql="UPDATE purchorders
 					SET status='Completed',
 					stat_comment='" . $StatusComment . "'
Modified: trunk/PDFGrn.php
===================================================================
--- trunk/PDFGrn.php	2011-01-30 03:56:30 UTC (rev 4478)
+++ trunk/PDFGrn.php	2011-01-30 05:16:03 UTC (rev 4479)
@@ -2,14 +2,11 @@
 
 /* $Id$*/
 
-/* $Revision: 1.5 $ */
-
-//$PageSecurity = 2;
+//$PageSecurity = 2; Now comes from DB - read in from session
 include('includes/session.inc');
+include('includes/DefinePOClass.php');
 
-if (isset($_POST['GRNNo'])) {
-	$GRNNo=$_POST['GRNNo'];
-} else if (isset($_GET['GRNNo'])) {
+if (isset($_GET['GRNNo'])) {
 	$GRNNo=$_GET['GRNNo'];
 } else {
 	$GRNNo='';
@@ -29,105 +26,62 @@
 $pdf->addInfo('Title', _('Goods Received Note') );
 
 if ($GRNNo=='Preview') {
-	$ListCount = 1; // UldisN
+	$ListCount = 1; 
 } else {
 	$sql="SELECT grns.itemcode,
 			grns.grnno,
 			grns.deliverydate,
 			grns.itemdescription,
 			grns.qtyrecd,
-			grns.supplierid
+			grns.supplierid,
+			grns.podetailitem
 		FROM grns
 		WHERE grnbatch='".$GRNNo."'";
-	$result=DB_query($sql, $db);
-	$ListCount = DB_num_rows($result); // UldisN
-
-	include('includes/PDFGrnHeader.inc');
+	$GRNResult=DB_query($sql, $db);
+	$NoOfGRNs = DB_num_rows($GRNResult);
+	if ($NoOfGRNs>0){
+		$_GET['ModifyOrderNumber'] = (int)$_GET['PONo'];
+		$identifier=date('U');
+		include('includes/PO_ReadInOrder.inc'); //Read the PO in
+		include('includes/PDFGrnHeader.inc');
+	}
 }
-$counter=1;
+$i=1;
 $YPos=$FormDesign->Data->y;
-while ($counter<=$ListCount) {
+while ($i<=$NoOfGRNs) {
 	if ($GRNNo=='Preview') {
 		$StockID=str_pad('',10,'x');
 		$Date='1/1/1900';
 		$Description=str_pad('',30,'x');
-		$Quantity='XXXXX.XX';
+		$SuppliersQuantity='XXXXX.XX';
+		$OurUnitsQuantity='XXXXX.XX';
 		$Supplier=str_pad('',25,'x');
+		$Units = str_pad('',10,'x');
+		$SupplierUnits =str_pad('',10,'x');
 	} else {
-		$sql="SELECT orddate from purchorders WHERE orderno='".$_GET['PONo']."'";
-		$purchorderresult=DB_query($sql, $db);
-		$purchorderdate=DB_fetch_array($purchorderresult);
-		$myrow=DB_fetch_array($result);
-		$datesql="SELECT max(effectivefrom)
-					FROM purchdata
-					WHERE supplierno='".$myrow['supplierid']."'
-						AND stockid='".$myrow['itemcode']."'
-						AND effectivefrom<='".$purchorderdate[0]."'";
-		$dateresult=DB_query($datesql, $db);
-		$date=DB_fetch_row($dateresult);
-		if ($date[0]!='') {
-			$sql="SELECT unitsofmeasure.unitname,
-					suppliers_partno,
-					conversionfactor
-				FROM purchdata
-				LEFT JOIN unitsofmeasure
-					ON purchdata.suppliersuom=unitsofmeasure.unitid
-				WHERE supplierno='".$myrow['supplierid']."'
-					AND stockid='".$myrow['itemcode']."'
-					AND effectivefrom='".$date[0]."'";
-			$purchdataresult=DB_query($sql, $db);
-			$myrow2=DB_fetch_array($purchdataresult);
-		} else {
-			$sql="SELECT units as unitname,
-						stockid as suppliers_partno,
-						1 as conversionfactor
-						FROM stockmaster
-						WHERE stockid='".$myrow['itemcode']."'";
-			$purchdataresult=DB_query($sql, $db);
-			$myrow2=DB_fetch_array($purchdataresult);
-		}
-		$StockID=$myrow[0];
-		$GRNNo=$myrow[1];
-		$Date=ConvertSQLDate($myrow[2]);
-		$Description=$myrow[3];
-		$Quantity=$myrow[4];
-		$SupplierID=$myrow[5];
-		if ($myrow2['unitname']=='') {
-			$sql="SELECT units
-					FROM stockmaster
-					WHERE stockid='".$myrow['itemcode']."'";
-			$uomresult=DB_query($sql, $db);
-			$uomrow=DB_fetch_array($uomresult);
-			$units=$uomrow['units'];
-			$myrow2['conversionfactor']=1;
-		} else {
-			$units=$myrow2['unitname'];
-		}
-		$sql="SELECT units,
-					decimalplaces
-				FROM stockmaster
-				WHERE stockid='".$myrow['itemcode']."'";
-		$uomresult=DB_query($sql, $db);
-		$uomrow=DB_fetch_array($uomresult);
-		$stockunits=$uomrow['units'];
-
-		$sql="SELECT suppname
-				FROM suppliers
-			WHERE supplierid='".$SupplierID."'";
-		$supplierresult=DB_query($sql, $db);
-		$suppliermyrow=DB_fetch_array($supplierresult);
-		$Supplier=$suppliermyrow[0];
+		$myrow = DB_fetch_array($GRNResult);
+		$LineNo = $_SESSION['PO'.$identifier]->GetLineNoFromPODetailItem($myrow['podetailitem']);
+		echo '<br />The podetailitem is ' . $myrow['podetailitem'] . '<br />Got the line number it is: ' . $LineNo;
+		$StockID=$myrow['itemcode'];
+		$GRNNo=$myrow['grnno'];
+		$Date=ConvertSQLDate($myrow['deliverydate']);
+		$Description=$myrow['itemdescription'];
+		$SuppliersQuantity=number_format($myrow['qtyrecd']/$_SESSION['PO' . $identifier]->LineItems[$LineNo]->ConversionFactor,$_SESSION['PO' . $identifier]->LineItems[$LineNo]->DecimalPlaces);
+		$OurUnitsQuantity=number_format($myrow['qtyrecd'],$_SESSION['PO' . $identifier]->LineItems[$LineNo]->DecimalPlaces);
+		$SupplierID=$myrow['supplierid'];
+		$Units = $_SESSION['PO' . $identifier]->LineItems[$LineNo]->Units;
+		$SuppliersUnit = $_SESSION['PO' . $identifier]->LineItems[$LineNo]->SuppliersUnit;
+		$Supplier = $_SESSION['PO' . $identifier]->SupplierName;
 	}
-
 	$LeftOvers = $pdf->addTextWrap($FormDesign->Data->Column1->x,$Page_Height-$YPos,$FormDesign->Data->Column1->Length,$FormDesign->Data->Column1->FontSize, $StockID);
 	$LeftOvers = $pdf->addTextWrap($FormDesign->Data->Column2->x,$Page_Height-$YPos,$FormDesign->Data->Column2->Length,$FormDesign->Data->Column2->FontSize, $Description);
 	$LeftOvers = $pdf->addTextWrap($FormDesign->Data->Column3->x,$Page_Height-$YPos,$FormDesign->Data->Column3->Length,$FormDesign->Data->Column3->FontSize, $Date);
-	$LeftOvers = $pdf->addTextWrap($FormDesign->Data->Column4->x,$Page_Height-$YPos,$FormDesign->Data->Column4->Length,$FormDesign->Data->Column4->FontSize, number_format($Quantity,$uomrow['decimalplaces']), 'right');
-	$LeftOvers = $pdf->addTextWrap($FormDesign->Data->Column5->x,$Page_Height-$YPos,$FormDesign->Data->Column5->Length,$FormDesign->Data->Column5->FontSize, $units, 'left');
-	$LeftOvers = $pdf->addTextWrap($FormDesign->Data->Column6->x,$Page_Height-$YPos,$FormDesign->Data->Column6->Length,$FormDesign->Data->Column6->FontSize, number_format($Quantity*$myrow2['conversionfactor'],$uomrow['decimalplaces']), 'right');
-	$LeftOvers = $pdf->addTextWrap($FormDesign->Data->Column7->x,$Page_Height-$YPos,$FormDesign->Data->Column7->Length,$FormDesign->Data->Column7->FontSize, $stockunits, 'left');
+	$LeftOvers = $pdf->addTextWrap($FormDesign->Data->Column4->x,$Page_Height-$YPos,$FormDesign->Data->Column4->Length,$FormDesign->Data->Column4->FontSize, $SuppliersQuantity, 'right');
+	$LeftOvers = $pdf->addTextWrap($FormDesign->Data->Column5->x,$Page_Height-$YPos,$FormDesign->Data->Column5->Length,$FormDesign->Data->Column5->FontSize, $SuppliersUnit, 'left');
+	$LeftOvers = $pdf->addTextWrap($FormDesign->Data->Column6->x,$Page_Height-$YPos,$FormDesign->Data->Column6->Length,$FormDesign->Data->Column6->FontSize, $OurUnitsQuantity, 'right');
+	$LeftOvers = $pdf->addTextWrap($FormDesign->Data->Column7->x,$Page_Height-$YPos,$FormDesign->Data->Column7->Length,$FormDesign->Data->Column7->FontSize, $Units, 'left');
 	$YPos += $line_height;
-	$counter++;
+	$i++;
 	if ($YPos >= $FormDesign->LineAboveFooter->starty){
 		/* We reached the end of the page so finsih off the page and start a newy */
 		$PageNumber++;
@@ -140,10 +94,10 @@
 
 $LeftOvers = $pdf->addText($FormDesign->SignedFor->x,$Page_Height-$FormDesign->SignedFor->y,$FormDesign->SignedFor->FontSize, _('Signed for ').'______________________');
 
-if ($ListCount == 0) {   //UldisN
+if ($NoOfGRNs == 0) {  
 	$title = _('GRN Error');
 	include('includes/header.inc');
-	prnMsg(_('There were no GRN to print'),'warn');
+	prnMsg(_('There were no GRNs to print'),'warn');
 	echo '<br><a href="'.$rootpath.'/index.php?' . SID . '">'. _('Back to the menu').'</a>';
 	include('includes/footer.inc');
 	exit;
Modified: trunk/PO_PDFPurchOrder.php
===================================================================
--- trunk/PO_PDFPurchOrder.php	2011-01-30 03:56:30 UTC (rev 4478)
+++ trunk/PO_PDFPurchOrder.php	2011-01-30 05:16:03 UTC (rev 4479)
@@ -37,11 +37,13 @@
 }
 $title = _('Print Purchase Order Number').' '. $OrderNo;
 
-if ($_POST['PrintOrEmail']=='Email' AND ! IsEmailAddress($_POST['EmailTo'])){
-	include('includes/header.inc');
-	prnMsg( _('The email address entered does not appear to be valid. No emails have been sent.'),'warn');
-	include('includes/footer.inc');
-	exit;
+if (isset($_POST['PrintOrEmail']) ){
+	if ($_POST['PrintOrEmail'] =='Email' AND ! IsEmailAddress($_POST['EmailTo'])){
+		include('includes/header.inc');
+		prnMsg( _('The email address entered does not appear to be valid. No emails have been sent.'),'warn');
+		include('includes/footer.inc');
+		exit;
+	}
 }
 $ViewingOnly = 0;
 if (isset($_GET['ViewingOnly']) AND $_GET['ViewingOnly']!='') {
Modified: trunk/doc/Change.log.html
===================================================================
--- trunk/doc/Change.log.html	2011-01-30 03:56:30 UTC (rev 4478)
+++ trunk/doc/Change.log.html	2011-01-30 05:16:03 UTC (rev 4479)
@@ -1,5 +1,7 @@
 <p>/<font SIZE=4 COLOR=BLUE><b>webERP Change Log</b></font></p
 <p></p>
+<p>30/1/11: Phil GoodsReceived.php  rework for supplier units and conversion factor etc now in PO class</p>
+<p>30/1/11: Phil PDFGrn.php  rework for supplier units and conversion factor etc now in PO class</p>
 <p>30/1/11:Exson changed PDFLowGP report remove % from gettext string</p>
 <p>29/1/11:Tim fix reportwriter with tcpdf using parent::__construct rather than $this->Cpdf( </p>
 <p>24/1/11:Phil Depreciation fixes - SelectAsset by description fix</p>
Modified: trunk/includes/DefinePOClass.php
===================================================================
--- trunk/includes/DefinePOClass.php	2011-01-30 03:56:30 UTC (rev 4478)
+++ trunk/includes/DefinePOClass.php	2011-01-30 05:16:03 UTC (rev 4479)
@@ -226,6 +226,15 @@
 		return 0; //nowt received
 	}
 	
+	function GetLineNoFromPODetailItem($PODetailItem){
+		foreach ($this->LineItems as $OrderedItems) {
+			if ($OrderedItems->PODetailRec ==$PODetailItem){
+				return $OrderedItems->LineNo;
+			}
+		}
+		return false; //PODetailItem not on the order
+	}
+	
 } /* end of class defintion */
 
 Class LineDetails {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |