import { JobcodeModel } from "./jobcode.model"

export interface PmsMasfromEvaluationFullModel {
    personalLevel: PersonalLevel
    jd: JobcodeModel
    pmsMasfromEvaluationRound: PmsMasfromEvaluationRoundModel
    companyId?: string
    active?: boolean
    statusEmp?: boolean
    fromDetail: any
    apsassessy: Apsassessy
    apsapprove1: Apsapprove1
    apsapprove2: Apsapprove2
    apsapprove3: Apsapprove3
    apsapprove4: Apsapprove4
    apsapprove5: Apsapprove5
    apsassessyStatus: any
    apsapprove1Status: any
    apsapprove2Status: any
    apsapprove3Status: any
    apsapprove4Status: any
    apsapprove5Status: any
    apsassessyScore: any
    apsapprove1Score: any
    apsapprove2Score: any
    apsapprove3Score: any
    apsapprove4Score: any
    apsapprove5Score: any
    masfromEvaluationAssessment1List: masfromEvaluationAssessment1List[]
  }
  
  export interface PersonalLevel {
    plId: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface PmsMasfromEvaluationRoundModel {
    pmsEvaluationRoundId: string
    companyId: string
    tdesc: string
    edesc: string
    apsyear: string
    apsPeriodStart: string
    apsPeriodEnd: string
    statusCode: any
  }
  
  export interface Apsassessy {
    employeeId: string
    bossId?: string
    prefix?: Prefix
    fname: string
    lname: string
    efname: string
    elname: string
    bu1: Bu1
    bu2?: Bu2
    bu3?: Bu3
    bu4?: Bu4
    bu5?: Bu5
    position: Position
    job?: Job
    pl: Pl
    status: Status
    time0?: Time0
    resignDate?: string
    endWorkDate?: string
    startDate: string
    thFullName: string
    engFullName?: string
  }
  
  export interface Prefix {
    prefixId: string
    tdesc: string
    edesc: string
  }
  
  export interface Bu1 {
    bu1id: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Bu2 {
    bu2id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu3 {
    bu3id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu4 {
    bu4id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu5 {
    bu5id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Position {
    positionId: string
    tdesc: string
    edesc: string
  }
  
  export interface Job {
    jobCodeId?: string
    tdesc?: string
    edesc?: string
  }
  
  export interface Pl {
    plId: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Status {
    statusCode: string
    statusType: string
    tdesc: string
    edesc: string
  }
  
  export interface Time0 {
    time0id: string
    tdesc: string
    edesc: string
    stickTm: string
    hourD: number
  }
  
  export interface Apsapprove1 {
    employeeId?: string
    bossId?: string
    prefix?: Prefix2
    fname?: string
    lname?: string
    efname?: string
    elname?: string
    bu1?: Bu12
    bu2?: Bu22
    bu3?: Bu32
    bu4?: Bu42
    bu5?: Bu52
    position?: Position2
    job?: Job2
    pl?: Pl2
    status?: Status2
    time0?: Time02
    resignDate?: string
    endWorkDate?: string
    startDate?: string
    thFullName?: string
    engFullName?: string
  }
  
  export interface Prefix2 {
    prefixId: string
    tdesc: string
    edesc: string
  }
  
  export interface Bu12 {
    bu1id: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Bu22 {
    bu2id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu32 {
    bu3id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu42 {
    bu4id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu52 {
    bu5id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Position2 {
    positionId: string
    tdesc: string
    edesc: string
  }
  
  export interface Job2 {
    jobCodeId: string
    tdesc?: string
    edesc?: string
  }
  
  export interface Pl2 {
    plId: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Status2 {
    statusCode: string
    statusType: string
    tdesc: string
    edesc: string
  }
  
  export interface Time02 {
    time0id: string
    tdesc: string
    edesc: string
    stickTm: string
    hourD: number
  }
  
  export interface Apsapprove2 {
    employeeId?: string
    bossId?: string
    prefix?: Prefix3
    fname?: string
    lname?: string
    efname?: string
    elname?: string
    bu1?: Bu13
    bu2?: Bu23
    bu3?: Bu33
    bu4?: Bu43
    bu5?: Bu53
    position?: Position3
    job?: Job3
    pl?: Pl3
    status?: Status3
    time0?: Time03
    resignDate?: string
    endWorkDate?: string
    startDate?: string
    thFullName?: string
    engFullName?: string
  }
  
  export interface Prefix3 {
    prefixId: string
    tdesc: string
    edesc: string
  }
  
  export interface Bu13 {
    bu1id: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Bu23 {
    bu2id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu33 {
    bu3id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu43 {
    bu4id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu53 {
    bu5id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Position3 {
    positionId: string
    tdesc: string
    edesc: string
  }
  
  export interface Job3 {
    jobCodeId: string
    tdesc: string
    edesc: string
  }
  
  export interface Pl3 {
    plId: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Status3 {
    statusCode: string
    statusType: string
    tdesc: string
    edesc: string
  }
  
  export interface Time03 {
    time0id: string
    tdesc: string
    edesc: string
    stickTm: string
    hourD: number
  }
  
  export interface Apsapprove3 {
    employeeId?: string
    bossId?: string
    prefix?: Prefix4
    fname?: string
    lname?: string
    efname?: string
    elname?: string
    bu1?: Bu14
    bu2?: Bu24
    bu3?: Bu34
    bu4?: Bu44
    bu5?: Bu54
    position?: Position4
    job?: Job4
    pl?: Pl4
    status?: Status4
    time0?: Time04
    resignDate?: string
    endWorkDate?: string
    startDate?: string
    thFullName?: string
    engFullName?: string
  }
  
  export interface Prefix4 {
    prefixId: string
    tdesc: string
    edesc: string
  }
  
  export interface Bu14 {
    bu1id: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Bu24 {
    bu2id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu34 {
    bu3id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu44 {
    bu4id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu54 {
    bu5id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Position4 {
    positionId: string
    tdesc: string
    edesc: string
  }
  
  export interface Job4 {
    jobCodeId: string
    tdesc: string
    edesc: string
  }
  
  export interface Pl4 {
    plId: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Status4 {
    statusCode: string
    statusType: string
    tdesc: string
    edesc: string
  }
  
  export interface Time04 {
    time0id: string
    tdesc: string
    edesc: string
    stickTm: string
    hourD: number
  }
  
  export interface Apsapprove4 {
    employeeId?: string
    bossId?: string
    prefix?: Prefix5
    fname?: string
    lname?: string
    efname?: string
    elname?: string
    bu1?: Bu15
    bu2?: Bu25
    bu3?: Bu35
    bu4?: Bu45
    bu5?: Bu55
    position?: Position5
    job?: Job5
    pl?: Pl5
    status?: Status5
    time0?: Time05
    resignDate?: string
    endWorkDate?: string
    startDate?: string
    thFullName?: string
    engFullName?: string
  }
  
  export interface Prefix5 {
    prefixId: string
    tdesc: string
    edesc: string
  }
  
  export interface Bu15 {
    bu1id: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Bu25 {
    bu2id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu35 {
    bu3id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu45 {
    bu4id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu55 {
    bu5id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Position5 {
    positionId: string
    tdesc: string
    edesc: string
  }
  
  export interface Job5 {
    jobCodeId: string
    tdesc: string
    edesc: string
  }
  
  export interface Pl5 {
    plId: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Status5 {
    statusCode: string
    statusType: string
    tdesc: string
    edesc: string
  }
  
  export interface Time05 {
    time0id: string
    tdesc: string
    edesc: string
    stickTm: string
    hourD: number
  }
  
  export interface Apsapprove5 {
    employeeId?: string
    bossId?: string
    prefix?: Prefix6
    fname?: string
    lname?: string
    efname?: string
    elname?: string
    bu1?: Bu16
    bu2?: Bu26
    bu3?: Bu36
    bu4?: Bu46
    bu5?: Bu56
    position?: Position6
    job?: Job6
    pl?: Pl6
    status?: Status6
    time0?: Time06
    resignDate?: string
    endWorkDate?: string
    startDate?: string
    thFullName?: string
    engFullName?: string
  }
  
  export interface Prefix6 {
    prefixId: string
    tdesc: string
    edesc: string
  }
  
  export interface Bu16 {
    bu1id: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Bu26 {
    bu2id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu36 {
    bu3id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu46 {
    bu4id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Bu56 {
    bu5id: string
    tdesc: string
    edesc: string
    parent: string
    companyId: string
  }
  
  export interface Position6 {
    positionId: string
    tdesc: string
    edesc: string
  }
  
  export interface Job6 {
    jobCodeId: string
    tdesc: string
    edesc: string
  }
  
  export interface Pl6 {
    plId: string
    tdesc: string
    edesc: string
    companyId: string
  }
  
  export interface Status6 {
    statusCode: string
    statusType: string
    tdesc: string
    edesc: string
  }
  
  export interface Time06 {
    time0id: string
    tdesc: string
    edesc: string
    stickTm: string
    hourD: number
  }
  
  export interface masfromEvaluationAssessment1List {
    companyId?: string
    weight?: number
    scoreTopicExpectation: any
    groupAssessment1: GroupAssessment1
  }
  
  export interface GroupAssessment1 {
    companyId: string
    pmsTopic: PmsTopic
  }
  
  export interface PmsTopic {
    pmsTopicId: string
    pmsType: PmsType
    companyId: string
    lineNo: number
    edesc: string
    tdesc: string
    indicatorsDetail: string
    performanceGoalsDetail: string
    weight: number
    detailUnit: string
    completionDate: string
    targetAdetail: string
    targetBdetail: string
    targetCdetail: string
    targetDdetail: string
    targetFdetail: string
  }
  
  export interface PmsType {
    pmsTypeId: string
    companyId: string
    edesc: string
    tdesc: string
    shortName: string
    weight?: number
  }
  