Material Expediting
Module: expedite, shown in the menu as Material Expediting. It tracks every ordered line item from contract to site: the promised delivery date, the required-on-site date, the shipping status and the current issue, grouped by expediting group.
How this page was verified
Written from master on 2026-09-06 and compared with the big five the same day. No earlier page existed. A map, not a line-by-line trace: 12 files, about 100 database calls.
Where it sits
Contract / Purchase Order line items (ts_lineitem) → Expediting rows → weekly forecast snapshot
↘ IRN attachmentsExpediting rows are added per line item (addLine), so the module depends on the Cost Control contract register and the Purchase Order items being there first. addAll writes a forecast snapshot of every row, the same thing the weekly cron does.
The data
| Table | Holds |
|---|---|
ts_expediting | one row per line item: lineitem_id, contract_id, cnt_number, vendor_id, exp_group_id, exp_po_date, exp_delivery_date and its _so twin (as ordered), exp_ros_date (required on site), exp_eta_site, exp_delivery_terms, exp_ship, exp_mvr, exp_current_status, exp_current_issue, exp_status, status_approval |
ts_expediting_detail | the same columns per sub-line (lineitem_detail_id) |
ts_expediting_group | the grouping: exp_group_title, exp_group_dept, exp_group_project, so_id |
ts_lineitem | the shared line-item register: cbs_id, lineitem_no, lineitem_desc, order_id, po_item_id, is_manual |
ts_expediting_attachment, ts_map_expediting_attachment and their _detail twins | the IRN (inspection release note) files |
ts_expediting_forecast, ts_expediting_forecast_snapshot | weekly snapshots of the delivery forecast |
The screen
expedite.php with the tree on the left (expedite_handler_tree.inc.php, by group) and the grid on the right (expedite_handler_browse.inc.php). Commands: addLine, editLine, groupby, sortby, add_search, set_param_search, update_status_exp, uploadirn. Actions: addLine, editLine, edit, delete, addAll and editSnap for the snapshots, and the attachment set (addAttachment, multiuploadprocess, deleteAttachment, deleteFileAttachment, closeAttachment). Print: due-route and expediting report.
The weekly snapshot
cron/expediting_weekly_cron.php copies every expediting row into ts_expediting_forecast_snapshot under a new ts_expediting_forecast header named by date and time. It is written with mysqli_query($dbLink, ...), which is dead in every repository, so the snapshot has not run since the legacy helpers were removed. See Cron jobs.
What still runs on the legacy helper
Counted on 2026-09-06: 62 calls to iw_mysql_query() against 37 uses of $pdo.
| Path | State where the legacy helper throws |
|---|---|
expedite.inc.php, expedite_handler_tree.inc.php, the print reports | on $pdo, work |
expedite_handler_browse.inc.php (4 legacy, 18 PDO), expedite.php (2 legacy, 3 PDO) | mostly PDO |
expedite_handler_post.inc.php (47 legacy, 13 PDO) | mixed, most writes on the legacy helper |
expedite_handler_ajax.inc.php, expedite_handler_print_dueroute.php | dead |
expedite_test.php | a scratch file, not routed |
Gotchas
- Two date pairs.
exp_delivery_dateis the current promise;exp_delivery_date_sois what the order said. Slippage is the difference. The same for the delivery terms. - Detail rows duplicate the header columns, so a status change on the header does not cascade. Update both when a line has sub-lines.
exp_statusandstatus_approvalare different things. The first is the expediting stage, the second the routing state.
Instance differences
Checked on 2026-09-06.
| Instance | Difference |
|---|---|
| JOTRE | Installed. Five files differ and seven were added: an import master schedule screen (expedite_import_master_schedule.php, form_import_master_schedule.inc.php), an evidence upload (expedite_upload.php, form_evidence_upload.inc.php) and three .bak / .tmp leftovers. Legacy paths work there. |
| Jadestone, Medco, Timas | Not installed in their QA databases. Code identical to master. |
Related
- Cost Control: the contract and line-item register.
- Goods Received Report: what closes a delivery.
- Cron jobs: the weekly snapshot.