package com.njcn.harmonic.pojo.param.upload;

import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.web.pojo.param.BaseParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 用于存储总部下发的工单信息
 * </p>
 *
 * @author cdf
 * @since 2024-06-18
 */
@Data
public class RUploadWorkOrderParam {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    private String objId;

    /**
     * 省公司id
     */
    private String provinceId;

    /**
     * 省公司名称
     */
    private String provinceName;

    /**
     * 市公司
     */
    private String cityOrgId;

    /**
     * 市公司名称
     */
    private String cityOrgName;

    /**
     * 运维单位ID
     */
    private String maintainerId;

    /**
     * 运维单位名称
     */
    private String maintainerName;

    /**
     * 运维班组Id
     */
    private String maintcrewId;

    /**
     * 运维班组名称
     */
    private String maintcrewName;

    /**
     * 工单编号
     */
    private String orderId;

    /**
     * 工单类型（字典）
     */
    private String orderType;

    /**
     * 工单来源（字典）
     */
    private String orderSource;

    /**
     * 业务分类（字典）
     */
    private String businessType;

    /**
     * 工单内容
     */
    private String orderContent;

    /**
     * 事件时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate eventTime;

    /**
     * 下发时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime distributeTime;

    /**
     * 闭环时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate closedLoopTime;


    /**
     * 3-省，4-市
     */
    private String orgLevel;

    /**
     * 0-否，1-是
     */
    private String isFeedback;

    /**
     * 反馈人员
     */
    private String feedbackUser;

    /**
     * 反馈时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate feedbackTime;

    /**
     * 处理措施
     */
    private String handlingMeasures;

    /**
     * 接收时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime receiveTime;

    /**
     * 0-否，1-是
     */
    private String uploadStatus;

    /**
     * 工单状态(字典)
     */
    private String orderStatus;

    /**
     * 上报时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate uploadTime;

    /**
     * 下发人员
     */
    private String distributeUser;

    /**
     * 要求整改时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate planRectificationTime;



    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class RUploadWorkOrderQuery extends BaseParam {

        private String orderStatus;

        /**
         * 运维单位ID
         */
        private String maintainerId;

    }


}
