/**
 * Goods Received Note number: `GRN-<DIRECTION>-<YYYYMMDD>-<REF8>`.
 *
 * Shared so a GRN raised at a load/unload facility is indistinguishable from one
 * raised in a warehouse — the two live in different tables
 * (facility_handling_events vs warehouse_inventory), and a second generator would
 * eventually let their formats drift apart.
 */
export function generateGrnNumber(direction: string, referenceId: string, date: Date): string {
  const stamp = date.toISOString().slice(0, 10).replace(/-/g, '');
  const suffix = referenceId.replace(/-/g, '').slice(0, 8).toUpperCase();
  return `GRN-${direction.toUpperCase()}-${stamp}-${suffix}`;
}
