diff options
| author | Lester Caine <lester@lsces.co.uk> | 2026-06-03 20:39:40 +0100 |
|---|---|---|
| committer | Lester Caine <lester@lsces.co.uk> | 2026-06-03 20:39:40 +0100 |
| commit | 48b2cf7753d4c83b73453e32c47af38b911be582 (patch) | |
| tree | bf26e279a9b9f21e748b594d9ed29599cc7d1f9c /includes | |
| parent | fcd97be1f1fd1587cc9954adfa84447c4b98d9c9 (diff) | |
| download | stock-48b2cf7753d4c83b73453e32c47af38b911be582.tar.gz stock-48b2cf7753d4c83b73453e32c47af38b911be582.tar.bz2 stock-48b2cf7753d4c83b73453e32c47af38b911be582.zip | |
stock: add Ordered/Received sort and ref_start_date to list_movements
- StockMovement::getList() adds ref_start_date correlated subquery from
liberty_xref.start_date on the reference row
- event_time sort handled explicitly (lc. prefix needed for Firebird)
- list_movements.tpl: Ordered column, sortable Received column, colspan fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'includes')
| -rw-r--r-- | includes/classes/StockMovement.php | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/includes/classes/StockMovement.php b/includes/classes/StockMovement.php index 6e07cbf..ddeab21 100644 --- a/includes/classes/StockMovement.php +++ b/includes/classes/StockMovement.php @@ -238,9 +238,14 @@ class StockMovement extends LibertyContent { $this->getServicesSql( 'content_list_sql_function', $selectSql, $joinSql, $whereSql, $bindVars ); - $orderby = !empty( $pListHash['sort_mode'] ) - ? " ORDER BY ".$this->mDb->convertSortmode( $pListHash['sort_mode'] ) - : ' ORDER BY lc.`last_modified` DESC'; + $sortMode = $pListHash['sort_mode'] ?? ''; + $orderby = match( $sortMode ) { + 'event_time_asc' => ' ORDER BY lc.event_time ASC', + 'event_time_desc' => ' ORDER BY lc.event_time DESC', + default => !empty( $sortMode ) + ? ' ORDER BY '.$this->mDb->convertSortmode( $sortMode ) + : ' ORDER BY lc.last_modified DESC', + }; if( !empty( $whereSql ) ) { $whereSql = substr_replace( $whereSql, ' WHERE ', 0, 4 ); @@ -267,7 +272,10 @@ class StockMovement extends LibertyContent { ORDER BY x.`xorder`) AS ref_type, (SELECT FIRST 1 x.`xkey` FROM `{$X}liberty_xref` x WHERE x.`content_id` = lc.`content_id` AND x.`item` IN ('REQN','TRANS','ORDER') - ORDER BY x.`xorder`) AS ref_key + ORDER BY x.`xorder`) AS ref_key, + (SELECT FIRST 1 x.`start_date` FROM `{$X}liberty_xref` x + WHERE x.`content_id` = lc.`content_id` AND x.`item` IN ('REQN','TRANS','ORDER') + ORDER BY x.`xorder`) AS ref_start_date $cmpQtySelect $selectSql FROM `{$X}liberty_content` lc |
