Пример #1
0
function display_wo_production($prod_id)
{
    global $table_style;
    $myrow = get_work_order_produce($prod_id);
    start_table($table_style);
    $th = array(tr("Production #"), tr("Reference"), tr("For Work Order #"), tr("Item"), tr("Quantity Manufactured"), tr("Date"));
    table_header($th);
    start_row();
    label_cell($myrow["id"]);
    label_cell($myrow["reference"]);
    label_cell(get_trans_view_str(systypes::work_order(), $myrow["workorder_id"]));
    label_cell($myrow["stock_id"] . " - " . $myrow["StockDescription"]);
    qty_cell($myrow["quantity"]);
    label_cell(sql2date($myrow["date_"]));
    end_row();
    comments_display_row(29, $prod_id);
    end_table(1);
    is_voided_display(29, $prod_id, tr("This production has been voided."));
}
Пример #2
0
function display_wo_issue($issue_no)
{
    global $table_style;
    $myrow = get_work_order_issue($issue_no);
    start_table($table_style);
    $th = array(tr("Issue #"), tr("Reference"), tr("For Work Order #"), tr("Item"), tr("From Location"), tr("To Work Centre"), tr("Date of Issue"));
    table_header($th);
    start_row();
    label_cell($myrow["issue_no"]);
    label_cell($myrow["reference"]);
    label_cell(get_trans_view_str(systypes::work_order(), $myrow["workorder_id"]));
    label_cell($myrow["stock_id"] . " - " . $myrow["description"]);
    label_cell($myrow["location_name"]);
    label_cell($myrow["WorkCentreName"]);
    label_cell(sql2date($myrow["issue_date"]));
    end_row();
    comments_display_row(28, $issue_no);
    end_table(1);
    is_voided_display(28, $issue_no, tr("This issue has been voided."));
}
Пример #3
0
        if (strlen($cust_row['name']) > 0) {
            $person = $cust_row['name'] . " (" . $cust_row['br_name'] . ")";
        }
    } elseif ($myrow["type"] == 25) {
        // get the supplier name
        $sql = "SELECT supp_name FROM suppliers WHERE supplier_id = '" . $myrow["person_id"] . "'";
        $supp_result = db_query($sql, "check failed");
        $supp_row = db_fetch($supp_result);
        if (strlen($supp_row['supp_name']) > 0) {
            $person = $supp_row['supp_name'];
        }
    } elseif ($myrow["type"] == systypes::location_transfer() || $myrow["type"] == systypes::inventory_adjustment()) {
        // get the adjustment type
        $movement_type = get_movement_type($myrow["person_id"]);
        $person = $movement_type["name"];
    } elseif ($myrow["type"] == systypes::work_order() || $myrow["type"] == 28 || $myrow["type"] == 29) {
        $person = "";
    }
    label_cell($person);
    label_cell($myrow["qty"] >= 0 ? $quantity_formatted : "", "nowrap align=right");
    label_cell($myrow["qty"] < 0 ? $quantity_formatted : "", "nowrap align=right");
    label_cell(number_format2($after_qty, user_qty_dec()), "nowrap align=right");
    end_row();
    $j++;
    if ($j == 12) {
        $j = 1;
        table_header($th);
    }
    //end of page full new headings if
}
//end of while loop
Пример #4
0
$myrow = get_work_order($woid);
if ($myrow["type"] == wo_types::advanced()) {
    display_wo_details($woid, true);
} else {
    display_wo_details_quick($woid, true);
}
echo "<center>";
// display the WO requirements
echo "<br>";
if ($myrow["released"] == false) {
    display_heading2(tr("BOM for item:") . " " . $myrow["StockItemName"]);
    display_bom($myrow["stock_id"]);
} else {
    display_heading2(tr("Work Order Requirements"));
    display_wo_requirements($woid, $myrow["units_reqd"]);
    if ($myrow["type"] == wo_types::advanced()) {
        echo "<br><table cellspacing=7><tr valign=top><td>";
        display_heading2(tr("Issues"));
        display_wo_issues($woid);
        echo "</td><td>";
        display_heading2(tr("Productions"));
        display_wo_productions($woid);
        echo "</td><td>";
        display_heading2(tr("Payments"));
        display_wo_payments($woid);
        echo "</td></tr></table>";
    }
}
echo "<br>";
is_voided_display(systypes::work_order(), $woid, tr("This work order has been voided."));
end_page(true);
Пример #5
0
function can_process()
{
    global $selected_id;
    if (!isset($selected_id)) {
        if (!references::is_valid($_POST['wo_ref'])) {
            display_error(tr("You must enter a reference."));
            set_focus('wo_ref');
            return false;
        }
        if (!is_new_reference($_POST['wo_ref'], systypes::work_order())) {
            display_error(tr("The entered reference is already in use."));
            set_focus('wo_ref');
            return false;
        }
    }
    if (!check_num('quantity', 0)) {
        display_error(tr("The quantity entered is invalid or less than zero."));
        set_focus('quantity');
        return false;
    }
    if (!is_date($_POST['date_'])) {
        display_error(tr("The date entered is in an invalid format."));
        set_focus('date_');
        return false;
    } elseif (!is_date_in_fiscalyear($_POST['date_'])) {
        display_error(tr("The entered date is not in fiscal year."));
        set_focus('date_');
        return false;
    }
    // only check bom and quantites if quick assembly
    if (!($_POST['type'] == wo_types::advanced())) {
        if (!has_bom($_POST['stock_id'])) {
            display_error(tr("The selected item to manufacture does not have a bom."));
            set_focus('stock_id');
            return false;
        }
        if ($_POST['Costs'] == "") {
            $_POST['Costs'] = price_format(0);
        }
        if (!check_num('Costs', 0)) {
            display_error(tr("The cost entered is invalid or less than zero."));
            set_focus('Costs');
            return false;
        }
        if (!sys_prefs::allow_negative_stock()) {
            if ($_POST['type'] == wo_types::assemble()) {
                // check bom if assembling
                $result = get_bom($_POST['stock_id']);
                while ($bom_item = db_fetch($result)) {
                    if (has_stock_holding($bom_item["ResourceType"])) {
                        $quantity = $bom_item["quantity"] * input_num('quantity');
                        $qoh = get_qoh_on_date($bom_item["component"], $bom_item["loc_code"], $_POST['date_']);
                        if (-$quantity + $qoh < 0) {
                            display_error(tr("The work order cannot be processed because there is an insufficient quantity for component:") . " " . $bom_item["component"] . " - " . $bom_item["description"] . ".  " . tr("Location:") . " " . $bom_item["location_name"]);
                            set_focus('quantity');
                            return false;
                        }
                    }
                }
            } elseif ($_POST['type'] == wo_types::unassemble()) {
                // if unassembling, check item to unassemble
                $qoh = get_qoh_on_date($_POST['stock_id'], $_POST['StockLocation'], $_POST['date_']);
                if (-input_num('quantity') + $qoh < 0) {
                    display_error(tr("The selected item cannot be unassembled because there is insufficient stock."));
                    return false;
                }
            }
        }
    } else {
        if (!is_date($_POST['RequDate'])) {
            set_focus('RequDate');
            display_error(tr("The date entered is in an invalid format."));
            return false;
        }
        //elseif (!is_date_in_fiscalyear($_POST['RequDate']))
        //{
        //	display_error(tr("The entered date is not in fiscal year."));
        //	return false;
        //}
        if (isset($selected_id)) {
            $myrow = get_work_order($selected_id, true);
            if ($_POST['units_issued'] > input_num('quantity')) {
                set_focus('quantity');
                display_error(tr("The quantity cannot be changed to be less than the quantity already manufactured for this order."));
                return false;
            }
        }
    }
    return true;
}
Пример #6
0
    label_cell(get_trans_view_str(systypes::work_order(), $myrow["id"], $myrow["wo_ref"]));
    label_cell(wo_types::name($myrow["type"]));
    label_cell($myrow["location_name"]);
    view_stock_status_cell($myrow["stock_id"], $myrow["description"]);
    qty_cell($myrow["units_reqd"]);
    qty_cell($myrow["units_issued"]);
    label_cell(sql2date($myrow["date_"]));
    label_cell(sql2date($myrow["required_by"]));
    label_cell($myrow["closed"] ? tr("Yes") : tr("No"));
    if ($issue_link != "") {
        label_cell($issue_link);
    }
    if ($myrow["released"] == 0) {
        label_cell("<a href={$release_page}>" . tr("Release") . "</a>");
    }
    if ($myrow["closed"] == 0) {
        label_cell("<a href={$modify_page}>" . tr("Edit") . "</a>");
    }
    label_cell(get_gl_view_str(systypes::work_order(), $myrow["id"]));
    end_row();
    $j++;
    if ($j == 12) {
        $j = 1;
        table_header($th);
    }
    //end of page full new headings if
}
//end of while loop
end_table(1);
//---------------------------------------------------------------------------------
end_page();