package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 【请填写功能名称】对象 sys_report
 *
 * @author ruoyi
 * @date 2022-06-20
 */
@Data
public class SysReport extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 施工计划id */
    @Excel(name = "施工计划id")
    private Long planId;

    /** 占用车道 */
    @Excel(name = "占用车道")
    private String lane;

    /** 预计开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预计开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 预计结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预计结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 现场负责人 */
    @Excel(name = "现场负责人")
    private String manageUser;

    /** 现场负责人手机号 */
    @Excel(name = "现场负责人手机号")
    private String managePhone;

    /** 现场安全员 */
    @Excel(name = "现场安全员")
    private String saveUser;

    /** 安全员手机号 */
    @Excel(name = "安全员手机号")
    private String savePhone;

    /** 填报人 */
    @Excel(name = "填报人")
    private String createUser;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updateUser;

    /** 是否合并 0：否 1：是 */
    @Excel(name = "是否合并 0：否 1：是")
    private String isMerge;

    /** 施工路段 */
    @Excel(name = "施工路段")
    private String section;

    /** 方向 */
    @Excel(name = "方向")
    private String direction;

    /** 开始公里桩 */
    @Excel(name = "开始公里桩")
    private String startKm;

    /** 开始百米桩 */
    @Excel(name = "开始百米桩")
    private String startHectometer;

    /** 结束公里桩 */
    @Excel(name = "结束公里桩")
    private String endKm;

    /** 结束百米桩 */
    @Excel(name = "结束百米桩")
    private String endHectometer;


    /** 施工内容一 */
    @Excel(name = "施工内容一")
    private String contentOne;

    /** 施工内容二 */
    @Excel(name = "施工内容二")
    private String contentTwo;

    /** 施工描述 */
    @Excel(name = "施工内容二")
    private String contentDes;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 冲突id */
    @Excel(name = "冲突id")
    private String clashId;

    /** 审核部门 */
    @Excel(name = "审核部门")
    private String auditDept;

    @Excel(name = "审核部门")
    private String dept;

    private String cids;

    private String ext1;

    private List<SysReport> children;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("planId", getPlanId())
            .append("lane", getLane())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("manageUser", getManageUser())
            .append("managePhone", getManagePhone())
            .append("saveUser", getSaveUser())
            .append("savePhone", getSavePhone())
            .append("createUser", getCreateUser())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("updateTime", getUpdateTime())
            .append("isMerge", getIsMerge())
                .append("section", getSection())
                .append("direction", getDirection())
                .append("startKm", getStartKm())
                .append("startHectometer", getStartHectometer())
                .append("endKm", getEndKm())
                .append("endHectometer", getEndHectometer())
                .append("contentOne", getContentOne())
                .append("contentTwo", getContentTwo())
                .append("status", getStatus())
                .append("clashId", getClashId())
                .append("auditDept", getAuditDept())
            .toString();
    }
}
