2024-02-29 09:56:03 +08:00
|
|
|
|
import { ApiHideProperty, ApiProperty } from '@nestjs/swagger';
|
2024-03-07 17:19:33 +08:00
|
|
|
|
import { Column, Entity, JoinColumn, JoinTable, ManyToMany, ManyToOne, Relation } from 'typeorm';
|
2024-02-29 09:56:03 +08:00
|
|
|
|
import { CommonEntity } from '~/common/entity/common.entity';
|
2024-03-07 17:19:33 +08:00
|
|
|
|
import { DictItemEntity } from '../system/dict-item/dict-item.entity';
|
|
|
|
|
import { Storage } from '../tools/storage/storage.entity';
|
2024-02-29 09:56:03 +08:00
|
|
|
|
|
|
|
|
|
@Entity({ name: 'vehicle_usage' })
|
|
|
|
|
export class VehicleUsageEntity extends CommonEntity {
|
|
|
|
|
@Column({ type: 'int', comment: '年度' })
|
|
|
|
|
@ApiProperty({ description: '年度' })
|
|
|
|
|
year: number;
|
|
|
|
|
|
2024-03-07 17:19:33 +08:00
|
|
|
|
@Column({ name: 'vehicle_id', type: 'int', comment: '外出使用的车辆名称(字典)' })
|
2024-02-29 10:32:37 +08:00
|
|
|
|
@ApiProperty({ description: '外出使用的车辆名称(字典)' })
|
2024-03-08 10:38:28 +08:00
|
|
|
|
vehicleId: number;
|
2024-02-29 09:56:03 +08:00
|
|
|
|
|
|
|
|
|
@Column({
|
|
|
|
|
name: 'applicant',
|
|
|
|
|
type: 'varchar',
|
|
|
|
|
length: 50,
|
|
|
|
|
comment: '申请人'
|
|
|
|
|
})
|
|
|
|
|
@ApiProperty({ description: '申请人' })
|
|
|
|
|
applicant: string;
|
|
|
|
|
|
|
|
|
|
@Column({
|
|
|
|
|
name: 'driver',
|
|
|
|
|
type: 'varchar',
|
|
|
|
|
length: 50,
|
2024-03-08 10:38:28 +08:00
|
|
|
|
comment: '出行司机',
|
|
|
|
|
nullable: true
|
2024-02-29 09:56:03 +08:00
|
|
|
|
})
|
2024-03-08 10:38:28 +08:00
|
|
|
|
@ApiProperty({ description: '出行司机' })
|
2024-02-29 09:56:03 +08:00
|
|
|
|
driver: string;
|
|
|
|
|
|
2024-03-08 10:38:28 +08:00
|
|
|
|
@Column({
|
|
|
|
|
name: 'partner',
|
|
|
|
|
type: 'varchar',
|
|
|
|
|
length: 50,
|
|
|
|
|
comment: '随行人员',
|
|
|
|
|
nullable: true
|
|
|
|
|
})
|
|
|
|
|
@ApiProperty({ description: '随行人员' })
|
|
|
|
|
partner: string;
|
|
|
|
|
|
2024-02-29 09:56:03 +08:00
|
|
|
|
@Column({ name: 'current_mileage', type: 'int', comment: '当前车辆里程数(KM)', nullable: true })
|
|
|
|
|
@ApiProperty({ description: '当前车辆里程数(KM)' })
|
|
|
|
|
currentMileage: number;
|
|
|
|
|
|
|
|
|
|
@Column({
|
|
|
|
|
name: 'expected_start_date',
|
|
|
|
|
type: 'date',
|
|
|
|
|
nullable: true,
|
|
|
|
|
comment: '预计出行开始时间'
|
|
|
|
|
})
|
|
|
|
|
@ApiProperty({ description: '预计出行开始时间' })
|
|
|
|
|
expectedStartDate: Date;
|
|
|
|
|
|
|
|
|
|
@Column({ name: 'expected_end_date', type: 'date', nullable: true, comment: '预计出行结束时间' })
|
|
|
|
|
@ApiProperty({ description: '预计出行结束时间' })
|
|
|
|
|
expectedEndDate: Date;
|
|
|
|
|
|
|
|
|
|
@Column({ name: 'purpose', type: 'varchar', length: 255, comment: '使用事由', nullable: true })
|
|
|
|
|
@ApiProperty({ description: '使用事由' })
|
|
|
|
|
purpose: string;
|
|
|
|
|
|
|
|
|
|
@Column({
|
|
|
|
|
name: 'actual_return_time',
|
|
|
|
|
type: 'date',
|
|
|
|
|
nullable: true,
|
|
|
|
|
comment: '实际回司时间'
|
|
|
|
|
})
|
|
|
|
|
@ApiProperty({ description: '实际回司时间' })
|
|
|
|
|
actualReturnTime: Date;
|
|
|
|
|
|
|
|
|
|
@Column({ name: 'return_mileage', type: 'int', comment: '回城车辆里程数(KM)', nullable: true })
|
|
|
|
|
@ApiProperty({ description: '回城车辆里程数(KM)' })
|
|
|
|
|
returnMileage: number;
|
|
|
|
|
|
|
|
|
|
@Column({ name: 'reviewer', type: 'varchar', length: 50, comment: '审核人', nullable: true })
|
|
|
|
|
@ApiProperty({ description: '审核人' })
|
|
|
|
|
reviewer: string;
|
|
|
|
|
|
2024-02-29 10:32:37 +08:00
|
|
|
|
@Column({ name: 'status', type: 'tinyint', default: 0, comment: '审核状态(字典)' })
|
|
|
|
|
@ApiProperty({ description: '审核状态:0待审核,1同意,2.不同意(字典)' })
|
2024-02-29 09:56:03 +08:00
|
|
|
|
status: number;
|
|
|
|
|
|
2024-02-29 10:32:37 +08:00
|
|
|
|
@Column({ name: 'remark', type: 'varchar', length: 255, comment: '备注', nullable: true })
|
2024-02-29 09:56:03 +08:00
|
|
|
|
@ApiProperty({ description: '备注' })
|
2024-02-29 10:32:37 +08:00
|
|
|
|
remark: string;
|
2024-03-07 17:19:33 +08:00
|
|
|
|
|
|
|
|
|
@ManyToOne(() => DictItemEntity)
|
|
|
|
|
@JoinColumn({ name: 'vehicle_id' })
|
|
|
|
|
vehicle: DictItemEntity;
|
|
|
|
|
|
|
|
|
|
@ManyToMany(() => Storage, storage => storage.vehicleUsage)
|
|
|
|
|
@JoinTable({
|
|
|
|
|
name: 'vehicle_usage_storage',
|
|
|
|
|
joinColumn: { name: 'vehicle_id', referencedColumnName: 'id' },
|
|
|
|
|
inverseJoinColumn: { name: 'file_id', referencedColumnName: 'id' }
|
|
|
|
|
})
|
|
|
|
|
files: Relation<Storage[]>;
|
2024-02-29 09:56:03 +08:00
|
|
|
|
}
|