Esempio n. 1
0
     include 'includes/header.inc';
     prnMsg(_('The sales order demand quantities from parent assemblies could not be retrieved by the SQL because') . ' - ' . DB_error_msg(), 'error');
     echo '<br /><a href="' . $RootPath . '/index.php">' . _('Back to the menu') . '</a>';
     if ($debug == 1) {
         echo '<br />' . $SQL;
     }
     include 'includes/footer.inc';
     exit;
 }
 // Get the QOO due to Purchase orders for all locations. Function defined in SQL_CommonFunctions.inc
 // Get the QOO dues to Work Orders for all locations. Function defined in SQL_CommonFunctions.inc
 if ($_POST['Location'] == 'All') {
     $QOO = GetQuantityOnOrderDueToPurchaseOrders($InventoryPlan['stockid'], '');
     $QOO += GetQuantityOnOrderDueToWorkOrders($InventoryPlan['stockid'], '');
 } else {
     $QOO = GetQuantityOnOrderDueToPurchaseOrders($InventoryPlan['stockid'], $_POST['Location']);
     $QOO += GetQuantityOnOrderDueToWorkOrders($InventoryPlan['stockid'], $_POST['Location']);
 }
 $DemandRow = DB_fetch_array($DemandResult);
 $BOMDemandRow = DB_fetch_array($BOMDemandResult);
 $TotalDemand = $DemandRow['qtydemand'] + $BOMDemandRow['dem'];
 $LeftOvers = $pdf->addTextWrap($Left_Margin, $YPos, 110, $FontSize, $InventoryPlan['stockid'], 'left');
 $LeftOvers = $pdf->addTextWrap(130, $YPos, 120, 6, $InventoryPlan['description'], 'left');
 $LeftOvers = $pdf->addTextWrap(251, $YPos, 40, $FontSize, locale_number_format($SalesRow['prd5'], 0), 'right');
 $LeftOvers = $pdf->addTextWrap(292, $YPos, 40, $FontSize, locale_number_format($SalesRow['prd4'], 0), 'right');
 $LeftOvers = $pdf->addTextWrap(333, $YPos, 40, $FontSize, locale_number_format($SalesRow['prd3'], 0), 'right');
 $LeftOvers = $pdf->addTextWrap(374, $YPos, 40, $FontSize, locale_number_format($SalesRow['prd2'], 0), 'right');
 $LeftOvers = $pdf->addTextWrap(415, $YPos, 40, $FontSize, locale_number_format($SalesRow['prd1'], 0), 'right');
 $LeftOvers = $pdf->addTextWrap(456, $YPos, 40, $FontSize, locale_number_format($SalesRow['prd0'], 0), 'right');
 if ($_POST['NumberMonthsHolding'] > 10) {
     $NumberMonths = $_POST['NumberMonthsHolding'] - 10;
     //Also need to add in the demand as a component of an assembly items if this items has any assembly parents.
     $sql = "SELECT SUM((salesorderdetails.quantity-salesorderdetails.qtyinvoiced)*bom.quantity) AS dem\n\t\t\t\tFROM salesorderdetails INNER JOIN salesorders\n\t\t\t\t     ON salesorders.orderno = salesorderdetails.orderno\n                INNER JOIN bom\n                      ON salesorderdetails.stkcode=bom.parent\n\t\t\t\tINNER JOIN stockmaster\n\t\t\t\t      ON stockmaster.stockid=bom.parent\n\t\t\t\tWHERE salesorders.fromstkloc='" . $myrow['loccode'] . "'\n\t\t\t\tAND salesorderdetails.quantity-salesorderdetails.qtyinvoiced > 0\n\t\t\t\tAND bom.component='" . $StockID . "'\n\t\t\t\tAND stockmaster.mbflag='A'\n\t\t\t\tAND salesorders.quotation=0";
     $ErrMsg = _('The demand for this product from') . ' ' . $myrow['loccode'] . ' ' . _('cannot be retrieved because');
     $DemandResult = DB_query($sql, $ErrMsg);
     if (DB_num_rows($DemandResult) == 1) {
         $DemandRow = DB_fetch_row($DemandResult);
         $DemandQty += $DemandRow[0];
     }
     $sql = "SELECT SUM((woitems.qtyreqd-woitems.qtyrecd)*bom.quantity) AS dem\n\t\t\t\tFROM workorders INNER JOIN woitems\n                     ON woitems.wo = workorders.wo\n                INNER JOIN bom\n                      ON woitems.stockid =  bom.parent\n\t\t\t\tWHERE workorders.closed=0\n\t\t\t\tAND   bom.component = '" . $StockID . "'\n\t\t\t\tAND   workorders.loccode='" . $myrow['loccode'] . "'";
     $DemandResult = DB_query($sql, $ErrMsg);
     if (DB_num_rows($DemandResult) == 1) {
         $DemandRow = DB_fetch_row($DemandResult);
         $DemandQty += $DemandRow[0];
     }
     // Get the QOO due to Purchase orders for all locations. Function defined in SQL_CommonFunctions.inc
     $QOO = GetQuantityOnOrderDueToPurchaseOrders($StockID, $myrow['loccode']);
     // Get the QOO dues to Work Orders for all locations. Function defined in SQL_CommonFunctions.inc
     $QOO += GetQuantityOnOrderDueToWorkOrders($StockID, $myrow['loccode']);
     if ($_POST['BelowReorderQuantity'] == 'Below' and $myrow['quantity'] - $myrow['reorderlevel'] - $DemandQty < 0 or $_POST['BelowReorderQuantity'] == 'All' or $_POST['BelowReorderQuantity'] == 'NotZero' or $_POST['BelowReorderQuantity'] == 'OnOrder' and $QOO != 0) {
         if ($_POST['BelowReorderQuantity'] == 'NotZero' and $myrow['quantity'] - $DemandQty > 0) {
             if ($k == 1) {
                 echo '<tr class="OddTableRows">';
                 $k = 0;
             } else {
                 echo '<tr class="EvenTableRows">';
                 $k = 1;
             }
             $tr = ($myrow['serialised'] or $myrow['controlled']) ? '' : '<tr>';
             printf('<td><a target="_blank" href="' . $RootPath . '/StockStatus.php?StockID=%s">%s</a></td>
 					<td>%s</td>
 					<td class="number">%s</td>
                $QOHSQL = "SELECT quantity AS qoh,\n\t\t\t\t\t\t\t\t\tstockmaster.decimalplaces\n\t\t\t\t\t\t\t   FROM locstock INNER JOIN stockmaster\n\t\t\t\t\t\t\t   ON locstock.stockid = stockmaster.stockid\n\t\t\t\t\t\t\t   WHERE locstock.stockid='" . $myrow['stockid'] . "' AND\n\t\t\t\t\t\t\t   loccode = '" . $_SESSION['Items' . $identifier]->Location . "'";
                $QOHResult = DB_query($QOHSQL);
                $QOHRow = DB_fetch_array($QOHResult);
                $QOH = $QOHRow['qoh'];
                // Find the quantity on outstanding sales orders
                $sql = "SELECT SUM(salesorderdetails.quantity-salesorderdetails.qtyinvoiced) AS dem\n\t\t\t\t\t\tFROM salesorderdetails INNER JOIN salesorders\n\t\t\t\t\t\tON salesorders.orderno = salesorderdetails.orderno\n\t\t\t\t\t\t WHERE  salesorders.fromstkloc='" . $_SESSION['Items' . $identifier]->Location . "'\n\t\t\t\t\t\t AND salesorderdetails.completed=0\n\t\t\t\t\t\t AND salesorders.quotation=0\n\t\t\t\t\t\t AND salesorderdetails.stkcode='" . $myrow['stockid'] . "'";
                $ErrMsg = _('The demand for this product from') . ' ' . $_SESSION['Items' . $identifier]->Location . ' ' . _('cannot be retrieved because');
                $DemandResult = DB_query($sql, $ErrMsg);
                $DemandRow = DB_fetch_row($DemandResult);
                if ($DemandRow[0] != null) {
                    $DemandQty = $DemandRow[0];
                } else {
                    $DemandQty = 0;
                }
                // Get the QOO due to Purchase orders for all locations. Function defined in SQL_CommonFunctions.inc
                $PurchQty = GetQuantityOnOrderDueToPurchaseOrders($myrow['stockid'], '');
                // Get the QOO dues to Work Orders for all locations. Function defined in SQL_CommonFunctions.inc
                $WoQty = GetQuantityOnOrderDueToWorkOrders($myrow['stockid'], '');
                if ($k == 1) {
                    echo '<tr class="EvenTableRows">';
                    $k = 0;
                } else {
                    echo '<tr class="OddTableRows">';
                    $k = 1;
                }
                $OnOrder = $PurchQty + $WoQty;
                $Available = $QOH - $DemandQty + $OnOrder;
                printf('<td>%s</td>
						<td title="%s">%s</td>
						<td>%s</td>
						<td>%s</td>
Esempio n. 4
0
 $QOH = 0;
 $QOO = 0;
 switch ($myrow['mbflag']) {
     case 'A':
     case 'D':
     case 'K':
         $QOH = _('N/A');
         $QOO = _('N/A');
         break;
     case 'M':
     case 'B':
         $QOHResult = DB_query("SELECT sum(quantity)\n\t\t\t\t\t\t\t\tFROM locstock\n\t\t\t\t\t\t\t\tINNER JOIN locationusers ON locationusers.loccode=locstock.loccode AND locationusers.userid='" . $_SESSION['UserID'] . "' AND locationusers.canview=1\n\t\t\t\t\t\t\t\tWHERE stockid = '" . DB_escape_string($myrow['stkcode']) . "'", $db);
         $QOHRow = DB_fetch_row($QOHResult);
         $QOH = $QOHRow[0];
         // Get the QOO due to Purchase orders for all locations. Function defined in SQL_CommonFunctions.inc
         $QOO = GetQuantityOnOrderDueToPurchaseOrders($myrow['stkcode'], '');
         // Get the QOO due to Work Orders for all locations. Function defined in SQL_CommonFunctions.inc
         $QOO += GetQuantityOnOrderDueToWorkOrders($myrow['stkcode'], '');
         break;
 }
 if (is_numeric($QOH) and is_numeric($QOO)) {
     $DaysOfStock = ($QOH + $QOO) / ($myrow['totalinvoiced'] / $_POST['NumberOfDays']);
 } elseif (is_numeric($QOH)) {
     $DaysOfStock = $QOH / ($myrow['totalinvoiced'] / $_POST['NumberOfDays']);
 } elseif (is_numeric($QOO)) {
     $DaysOfStock = $QOO / ($myrow['totalinvoiced'] / $_POST['NumberOfDays']);
 } else {
     $DaysOfStock = 0;
 }
 if ($DaysOfStock < $_POST['MaxDaysOfStock']) {
     if ($k == 1) {
Esempio n. 5
0
 //nested table to show QOH/orders
 $QOH = 0;
 switch ($myrow['mbflag']) {
     case 'A':
     case 'D':
     case 'K':
         $QOH = _('N/A');
         $QOO = _('N/A');
         break;
     case 'M':
     case 'B':
         $QOHResult = DB_query("SELECT sum(quantity)\n\t\t\t\t\t\tFROM locstock\n\t\t\t\t\t\tWHERE stockid = '" . $StockID . "'");
         $QOHRow = DB_fetch_row($QOHResult);
         $QOH = locale_number_format($QOHRow[0], $myrow['decimalplaces']);
         // Get the QOO due to Purchase orders for all locations. Function defined in SQL_CommonFunctions.inc
         $QOO = GetQuantityOnOrderDueToPurchaseOrders($StockID, '');
         // Get the QOO dues to Work Orders for all locations. Function defined in SQL_CommonFunctions.inc
         $QOO += GetQuantityOnOrderDueToWorkOrders($StockID, '');
         $QOO = locale_number_format($QOO, $myrow['decimalplaces']);
         break;
 }
 $Demand = 0;
 $DemResult = DB_query("SELECT SUM(salesorderdetails.quantity-salesorderdetails.qtyinvoiced) AS dem\n\t\t\t\t\t\tFROM salesorderdetails INNER JOIN salesorders\n\t\t\t\t\t\tON salesorders.orderno = salesorderdetails.orderno\n\t\t\t\t\t\tINNER JOIN locationusers ON locationusers.loccode=salesorders.fromstkloc AND locationusers.userid='" . $_SESSION['UserID'] . "' AND locationusers.canview=1\n\t\t\t\t\t\tWHERE salesorderdetails.completed=0\n\t\t\t\t\t\tAND salesorders.quotation=0\n\t\t\t\t\t\tAND salesorderdetails.stkcode='" . $StockID . "'");
 $DemRow = DB_fetch_row($DemResult);
 $Demand = $DemRow[0];
 $DemAsComponentResult = DB_query("SELECT  SUM((salesorderdetails.quantity-salesorderdetails.qtyinvoiced)*bom.quantity) AS dem\n\t\t\t\t\t\t\t\t\tFROM salesorderdetails INNER JOIN salesorders\n\t\t\t\t\t\t\t\t\tON salesorders.orderno = salesorderdetails.orderno\n\t\t\t\t\t\t\t\t\tINNER JOIN bom ON salesorderdetails.stkcode=bom.parent\n\t\t\t\t\t\t\t\t\tINNER JOIN stockmaster ON stockmaster.stockid=bom.parent\n\t\t\t\t\t\t\t\t\tINNER JOIN locationusers ON locationusers.loccode=salesorders.fromstkloc AND locationusers.userid='" . $_SESSION['UserID'] . "' AND locationusers.canview=1\n\t\t\t\t\t\t\t\t\tWHERE salesorderdetails.quantity-salesorderdetails.qtyinvoiced > 0\n\t\t\t\t\t\t\t\t\tAND bom.component='" . $StockID . "'\n\t\t\t\t\t\t\t\t\tAND stockmaster.mbflag='A'\n\t\t\t\t\t\t\t\t\tAND salesorders.quotation=0");
 $DemAsComponentRow = DB_fetch_row($DemAsComponentResult);
 $Demand += $DemAsComponentRow[0];
 //Also the demand for the item as a component of works orders
 $sql = "SELECT SUM(qtypu*(woitems.qtyreqd - woitems.qtyrecd)) AS woqtydemo\n\t\tFROM woitems INNER JOIN worequirements\n\t\tON woitems.stockid=worequirements.parentstockid\n\t\tINNER JOIN workorders\n\t\tON woitems.wo=workorders.wo\n\t\tAND woitems.wo=worequirements.wo\n\t\tINNER JOIN locationusers ON locationusers.loccode=workorders.loccode AND locationusers.userid='" . $_SESSION['UserID'] . "' AND locationusers.canview=1\n\t\tWHERE  worequirements.stockid='" . $StockID . "'\n\t\tAND workorders.closed=0";
 $ErrMsg = _('The workorder component demand for this product cannot be retrieved because');