diff options
| author | Lester Caine <lester@lsces.co.uk> | 2026-06-03 21:12:03 +0100 |
|---|---|---|
| committer | Lester Caine <lester@lsces.co.uk> | 2026-06-03 21:12:03 +0100 |
| commit | 4bbff18f76c601324b865a2084b3d1e4bf8dc7e5 (patch) | |
| tree | 640f4636396c2560f2d6bf2d274906f344df3dab /includes | |
| parent | bd83a2fe21894707ccb49f987dff4d1c0f6121cd (diff) | |
| download | stock-4bbff18f76c601324b865a2084b3d1e4bf8dc7e5.tar.gz stock-4bbff18f76c601324b865a2084b3d1e4bf8dc7e5.tar.bz2 stock-4bbff18f76c601324b865a2084b3d1e4bf8dc7e5.zip | |
stock: preserve movement type when CSV import updates reference xref
importCsv() was hardcoding item='TRANS' on the reference row, overwriting
an ORDER or REQN type already stored by edit_movement.php before the upload.
Now fetches the existing item and preserves it; TRANS only used for new rows.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'includes')
| -rw-r--r-- | includes/classes/StockMovement.php | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/includes/classes/StockMovement.php b/includes/classes/StockMovement.php index 6ad7011..747099a 100644 --- a/includes/classes/StockMovement.php +++ b/includes/classes/StockMovement.php @@ -347,13 +347,15 @@ class StockMovement extends LibertyContent { $orderDateStr = trim( $data[2] ?? '' ); $recvDateStr = trim( $data[3] ?? '' ); if( $ref !== '' ) { - $existingXrefId = $this->mDb->getOne( - "SELECT `xref_id` FROM `".BIT_DB_PREFIX."liberty_xref` + $existingRow = $this->mDb->getRow( + "SELECT `xref_id`, `item` FROM `".BIT_DB_PREFIX."liberty_xref` WHERE `content_id` = ? AND `item` IN ('REQN','TRANS','ORDER') ORDER BY `xorder`", [ $this->mContentId ] ); - $refHash = [ 'content_id' => $this->mContentId, 'item' => 'TRANS', 'xkey' => $ref, 'edit' => $from ]; - $existingXrefId ? $refHash['xref_id'] = $existingXrefId : $refHash['fAddXref'] = 1; + // Preserve existing type if already set; default to TRANS for new rows + $refItem = $existingRow['item'] ?? 'TRANS'; + $refHash = [ 'content_id' => $this->mContentId, 'item' => $refItem, 'xkey' => $ref, 'edit' => $from ]; + $existingRow ? $refHash['xref_id'] = $existingRow['xref_id'] : $refHash['fAddXref'] = 1; $this->storeXref( $refHash ); } // Order date (col 3) → xref.start_date |
