import { BaseEntity } from '../../base/entity/base';
import { Column, Entity, Index } from 'typeorm';

/**
 * 数据源定义信息
 */
@Entity('t_basicdata_iot')
export class BasicdataIotEntity extends BaseEntity {
  @Index({ unique: true })
  @Column({ comment: '终端编码' })
  iotCode: string;

  @Index()
  @Column({ comment: '终端名称' })
  iotName: string;

  @Index()
  @Column({ comment: '终端类型' })    // 电子秤 固定监控 车载监控 车载GPS 司机异常 监控手环
  iotTypeCode: string;

  
  @Column({ comment: '关联业务表' })
  businessType: string;

  @Column({ comment: '业务表ID' })
  businessId: string;

   @Column({ comment: '归属单位' })
  departmentId: number;

  // 部门名称
  departmentName: string;

  @Column({ comment: '终端Key' , nullable: true })
  iotKey: string;

  @Column({ comment: '终端Secret' , nullable: true })
  iotSecret: string;

  @Column({ comment: '终端上报渠道', dict: 'datachanel', default: "4G/5G" })
  iotChanel: string;

  @Column({ comment: '终端通信卡', nullable: true })
  iotPhone: string;

  @Column({ comment: '通信卡流量包' , nullable: true })
  iotPhonePackage: string;

  @Column({ comment: '安装位置描述', nullable: true })
  installLocation: string;

  @Column({ comment: '数据格式', nullable: true })
  dataFormat: string;

  @Column({ comment: '通信协议', nullable: true })
  protocol: string;

  @Column({ comment: '采集方向', nullable: true })
  dataDirection: string;

  @Column({ comment: '采集频率', nullable: true })
  frequency: string;

  @Column({ comment: '数据存储位置', nullable: true })
  storageLocation: string;


  @Column({ comment: '状态', dict: ['禁用', '启用'], default: 1 })
  status: number;

  @Column({ comment: '备注', nullable: true })
  remark: string;
}
