Preview:
import { ViewEntity, ViewColumn } from 'typeorm';

@ViewEntity({
  name: 'SUBMISSION_PERIOD_INFO_VIEW',
  expression: `
    SELECT
      ss1.SID AS submissionScheduleId,
      df.ID AS fileId,
      df.FILE_NAME AS fileName,
      df.CREATE_DATE AS fileCreateDate,
      dfsi.NUM_SLIS AS numberOfPOSLines,
      dfsi.NUM_ILIS AS numberOfInventoryLines
    FROM
      SUBMISSION_SCHEDULE ss1
      LEFT JOIN DATA_FILE_SUMMARY_INFO dfsi ON dfsi.SUBMISSION_PERIOD_SID = :sid AND dfsi.CUSTOMER_SID = :cs
      LEFT JOIN DATA_TYPE dt1 ON ss1.DATA_TYPE_SID = dt1.SID
      LEFT JOIN DATA_FILE df ON dfsi.CUSTOMER_SID = df.CUSTOMER_SID AND dfsi.DATA_FILE_SID = df.SID
                              AND df.DELETED = 0 AND df.DATA_TYPE = dt1.TYPE
    WHERE
      ss1.SID = :spssd AND ss1.CUSTOMER_SID = :cs AND df.ID IS NOT NULL
  `,
})
export class SubmissionPeriodInfoView {
  @ViewColumn()
  submissionScheduleId: number;

  @ViewColumn()
  fileId: number;

  @ViewColumn()
  fileName: string;

  @ViewColumn()
  fileCreateDate: Date;

  @ViewColumn()
  numberOfPOSLines: number;

  @ViewColumn()
  numberOfInventoryLines: number;
}
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter