import { Entity, Column, ManyToOne, JoinColumn, OneToMany, VirtualColumn} from 'typeorm'; import { CustomerDomainEntity } from '../base/CustomerDomainEntity'; import { returnsSubmissionPeriod } from '../submission/SubmissionPeriod'; import { SubmissionPeriod } from '../submission/SubmissionPeriod'; import {getDataFileIdSql, getDataFileNameSql} from './DataFileSummaryInfoSql'; export const returnsSubmissionPeriods = () => SubmissionPeriod; export const returnsSummaryInfo = (submissionPeriod) => submissionPeriod.dataFileSummaryInfo; @Entity({ name: 'DATA_FILE_SUMMARY_INFO' }) export class DataFileSummaryInfo extends CustomerDomainEntity { @ManyToOne(returnsSubmissionPeriod) @JoinColumn({ name: 'SUBMISSION_PERIOD_SID', referencedColumnName:'sid'}) submissionPeriod?: Promise<SubmissionPeriod>; // @ManyToOne(returnsUserSession) // @JoinColumn({ name: 'USER_SESSION_SID' }) // userSession?: Promise<UserSession>; @Column({name:'DATA_FILE_SID'}) dataFileSid: number; @Column({name: 'CUSTOMER_SID'}) customerSid: number; @Column({name:'NUM_SLIS'}) numberOfPOSLines: number; @Column({name:'NUM_ILIS'}) numberOfInventoryLines: number; @Column({name: 'CREATE_DATE'}) receivedDate: Date; // specifying that submissionPeriodSid can be null @Column({ name: 'SUBMISSION_PERIOD_SID', nullable: true }) submissionPeriodSid: number; // VirtualColumn to get DataFile information @VirtualColumn({ query: getDataFileIdSql}) dataFileId?: string; // VirtualColumn to get DataFile information @VirtualColumn({ query: getDataFileNameSql}) dataFileName?: string; // @VirtualColumn( {query : fileIdSql} ) // fileId?: number[]; // @VirtualColumn( {query : filesCountSql} ) // numberOfFiles?: number; }
Preview:
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