import { Entity, Column, ManyToOne, JoinColumn } from "typeorm";
import { EntityBase } from "./base/Base";
import { ProfileEmployee } from "./ProfileEmployee";

@Entity("profileEmployeeInformationHistory")
export class ProfileEmployeeInformationHistory extends EntityBase {
  @Column({
    nullable: true,
    comment: "กลุ่มงาน",
    default: null,
  })
  positionEmployeeGroupId: string;

  @Column({
    nullable: true,
    comment: "สายงาน",
    default: null,
  })
  positionEmployeeLineId: string;

  @Column({
    nullable: true,
    comment: "ชื่อตำแหน่งทางสายงาน",
    default: null,
  })
  positionEmployeePositionId: string;

  @Column({
    nullable: true,
    comment: "สังกัด",
    default: null,
  })
  employeeOc: string;

  @Column({
    nullable: true,
    comment: "ประเภทบุคคล",
    default: null,
  })
  employeeTypeIndividual: string;

  @Column({
    nullable: true,
    comment: "ค่าจ้าง",
    default: null,
  })
  employeeWage: string;

  @Column({
    nullable: true,
    comment: "เงินเพิ่มการครองชีพชั่วคราว",
    default: null,
  })
  employeeMoneyIncrease: string;

  @Column({
    nullable: true,
    comment: "เงินช่วยเหลือการครองชีพชั่วคราว",
    default: null,
  })
  employeeMoneyAllowance: string;

  @Column({
    nullable: true,
    comment: "เงินสมทบประกันสังคม(ลูกจ้าง)",
    default: null,
  })
  employeeMoneyEmployee: string;

  @Column({
    nullable: true,
    comment: "เงินสมทบประกันสังคม(นายจ้าง)",
    default: null,
  })
  employeeMoneyEmployer: string;

  @Column({
    nullable: true,
    length: 40,
    comment: "คีย์นอก(FK)ของตาราง ProfileEmployee",
    default: null,
  })
  profileEmployeeId: string;

  @ManyToOne(() => ProfileEmployee, (profileEmp) => profileEmp.information_histories)
  @JoinColumn({ name: "profileEmployeeId" })
  profileEmployeeInformation: ProfileEmployee;
}
