package com.zioinfo.mes.job;

import lombok.Data;
import java.time.LocalDateTime;

/**
 * 작업관리 (mes_job) — 작업지시 하위 작업/작업자/설비 배정·할당·진행·이력.
 *
 * <p>상태: ASSIGNED → STARTED → (PAUSED) → DONE (CANCELLED 가능).
 * 작업지시(workorder)의 공정(op)을 작업자/설비에 할당하고 실작업 진행을 추적한다.
 */
@Data
public class MesJob {
    private Long id;
    private String jobNo;
    private Long workorderId;
    private String woNo;
    private String itemCode;
    private String itemName;          // 조인 표시(비영속)
    private Integer opSeq;
    private String processCode;
    private String processName;
    private String equipmentCode;
    private String workerId;          // 배정 작업자
    private Double assignedQty;
    private Double doneQty;
    private String status;            // ASSIGNED/STARTED/PAUSED/DONE/CANCELLED
    private LocalDateTime plannedStart;
    private LocalDateTime plannedEnd;
    private LocalDateTime startedAt;
    private LocalDateTime endedAt;
    private String remark;
    private String createdBy;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
