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 | |
| 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>
| -rw-r--r-- | includes/classes/StockMovement.php | 16 | ||||
| -rw-r--r-- | templates/list_movements.tpl | 6 |
2 files changed, 16 insertions, 6 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 diff --git a/templates/list_movements.tpl b/templates/list_movements.tpl index 3839641..bc0bc34 100644 --- a/templates/list_movements.tpl +++ b/templates/list_movements.tpl @@ -42,7 +42,8 @@ <th>{tr}Type{/tr}</th> <th>{tr}Ref{/tr}</th> {if $componentContentId}<th class="text-right">{tr}Qty{/tr}</th>{/if} - <th>{tr}Received{/tr}</th> + <th>{tr}Ordered{/tr}</th> + <th>{smartlink ititle="Received" isort="event_time_desc" ifile="list_movements.php" ipackage="stock"}</th> <th>{smartlink ititle="Date" isort="created_desc"}</th> <th>{tr}Creator{/tr}</th> {if $gBitUser->hasPermission('p_stock_create')}<th></th>{/if} @@ -57,6 +58,7 @@ {if $componentContentId} <td class="text-right">{$mov.cmp_qty|string_format:"%.0f"} {$mov.cmp_qty_type|escape}</td> {/if} + <td>{if $mov.ref_start_date}{$mov.ref_start_date|bit_short_date}{else}—{/if}</td> <td>{if $mov.event_time}{$mov.event_time|bit_short_date}{else}—{/if}</td> <td>{$mov.created|bit_short_date}</td> <td>{$mov.real_name|default:$mov.login|escape}</td> @@ -68,7 +70,7 @@ {/if} </tr> {foreachelse} - <tr><td colspan="7" class="norecords">{tr}No movements found.{/tr}</td></tr> + <tr><td colspan="8" class="norecords">{tr}No movements found.{/tr}</td></tr> {/foreach} </tbody> </table> |
