X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Frep409.php;h=6f453834fc45895cacf46abc3c7ebdc58d778676;hb=5a3cbfe6d2df1c8c32edcab8bf93e8a8432a15fc;hp=f454c41f431f668f07aa3d5179e521ebea7f9aac;hpb=31a87119c319b95241389111765b40a3faadf4f6;p=fa-stable.git diff --git a/reporting/rep409.php b/reporting/rep409.php index f454c41f..6f453834 100644 --- a/reporting/rep409.php +++ b/reporting/rep409.php @@ -9,14 +9,10 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License here . ***********************************************************************/ -$page_security = 2; -// ---------------------------------------------------------------- -// $ Revision: 2.0 $ -// Creator: Janusz Dobrwolski -// date_: 2008-01-14 -// Title: Print Workorders -// draft version! +$page_security = $_POST['PARAM_0'] == $_POST['PARAM_1'] ? + 'SA_MANUFTRANSVIEW' : 'SA_MANUFBULKREP'; // ---------------------------------------------------------------- +// Title: Work Orders $path_to_root=".."; include_once($path_to_root . "/includes/session.inc"); @@ -32,7 +28,7 @@ print_workorders(); function print_workorders() { - global $path_to_root; + global $path_to_root, $dflt_lang; include_once($path_to_root . "/reporting/includes/pdf_report.inc"); @@ -40,15 +36,15 @@ function print_workorders() $to = $_POST['PARAM_1']; $email = $_POST['PARAM_2']; $comments = $_POST['PARAM_3']; + $orientation = $_POST['PARAM_4']; - if ($from == null) - $from = 0; - if ($to == null) - $to = 0; - $dec = user_price_dec(); + if (!$from || !$to) return; + $orientation = ($orientation ? 'L' : 'P'); $fno = explode("-", $from); $tno = explode("-", $to); + $from = min($fno[0], $tno[0]); + $to = max($fno[0], $tno[0]); $cols = array(4, 60, 190, 255, 320, 385, 450, 515); @@ -60,60 +56,38 @@ function print_workorders() $cur = get_company_Pref('curr_default'); if ($email == 0) - { - $rep = new FrontReport(_('WORK ORDER'), "WorkOrderBulk", user_pagesize()); - $rep->currency = $cur; - $rep->Font(); - $rep->Info($params, $cols, null, $aligns); - } + $rep = new FrontReport(_('WORK ORDER'), "WorkOrderBulk", user_pagesize(), 9, $orientation); + if ($orientation == 'L') + recalculate_cols($cols); - for ($i = $fno[0]; $i <= $tno[0]; $i++) + for ($i = $from; $i <= $to; $i++) { - $myrow = get_work_order($i); + $myrow = get_work_order($i, true); if ($myrow === false) continue; - $date_ = sql2date($myrow["date_"]); if ($email == 1) { - $rep = new FrontReport("", "", user_pagesize()); - $rep->currency = $cur; - $rep->Font(); - $rep->title = _('WORK ORDER'); - $rep->filename = "WorkOrder" . $myrow['reference'] . ".pdf"; - $rep->Info($params, $cols, null, $aligns); - } - else + $rep = new FrontReport("", "", user_pagesize(), 9, $orientation); $rep->title = _('WORK ORDER'); - $rep->Header2($myrow, null, null, '', 26); + $rep->filename = "WorkOrder" . $myrow['wo_ref'] . ".pdf"; + } + $rep->currency = $cur; + $rep->Font(); + $rep->Info($params, $cols, null, $aligns); + + $contact = array('email' =>$myrow['email'],'lang' => $dflt_lang, // ??? + 'name' => $myrow['contact'], 'name2' => '', 'contact'); + + $rep->SetCommonData($myrow, null, null, '', 26, $contact); + $rep->SetHeaderType('Header2'); + $rep->NewPage(); $result = get_wo_requirements($i); $rep->TextCol(0, 5,_("Work Order Requirements"), -2); $rep->NewLine(2); - $has_marked = false; while ($myrow2=db_fetch($result)) { - $qoh = 0; - $show_qoh = true; - // if it's a non-stock item (eg. service) don't show qoh - if (!has_stock_holding($myrow2["mb_flag"])) - $show_qoh = false; - - if ($show_qoh) - $qoh = get_qoh_on_date($myrow2["stock_id"], $myrow2["loc_code"], $date_); - - if ($show_qoh && ($myrow2["units_req"] * $myrow["units_issued"] > $qoh) && - !sys_prefs::allow_negative_stock()) - { - // oops, we don't have enough of one of the component items - $has_marked = true; - } - else - $has_marked = false; - if ($has_marked) - $str = $myrow2['stock_id']." ***"; - else - $str = $myrow2['stock_id']; - $rep->TextCol(0, 1, $str, -2); + $rep->TextCol(0, 1, $myrow2['stock_id'], -2); $rep->TextCol(1, 2, $myrow2['description'], -2); $rep->TextCol(2, 3, $myrow2['location_name'], -2); @@ -125,21 +99,23 @@ function print_workorders() $rep->AmountCol(6, 7, $myrow2['units_issued'], $dec, -2); $rep->NewLine(1); if ($rep->row < $rep->bottomMargin + (15 * $rep->lineHeight)) - $rep->Header2($myrow, null, null,'',26); + $rep->NewPage(); } - $rep->NewLine(1); - $rep->TextCol(0, 5," *** = "._("Insufficient stock"), -2); - - $comments = get_comments(26, $i); - if ($comments && db_num_rows($comments)) + $memo = get_comments_string(ST_WORKORDER, $i); + if ($memo != "") { $rep->NewLine(); - while ($comment=db_fetch($comments)) - $rep->TextColLines(0, 6, $comment['memo_'], -2); + $rep->TextColLines(1, 5, $memo, -2); + } + + if ($email == 1) + { + $myrow['DebtorName'] = $myrow['contact']; + $myrow['reference'] = $myrow['wo_ref']; + $rep->End($email); } } if ($email == 0) $rep->End(); } -?> \ No newline at end of file