package com.ruoyi.zdsz.domain.bo;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 工业工程|市政工程业务对象 z_engineering_industry
 *
 * @author ruoyi
 * @date 2024-01-02
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ZEngineeringIndustryBo extends BaseEntity {

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 工程类型
     */
    @NotBlank(message = "工程类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String enginType;

    /**
     * 建筑单位
     */
    @NotBlank(message = "建筑单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String constructUnit;

    /**
     * 项目负责人
     */
    @NotBlank(message = "项目负责人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String projectHead;

    /**
     * 现场负责人
     */
    @NotBlank(message = "现场负责人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sceneHead;

    /**
     * 设计单位
     */
    @NotBlank(message = "设计单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String designUnit;

    /**
     * 设计负责人
     */
    @NotBlank(message = "设计负责人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String designHead;

    /**
     * 设计联系电话
     */
    @NotBlank(message = "设计联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
    private String designPhone;

    /**
     * 监理单位
     */
    @NotBlank(message = "监理单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String supervisionUnit;

    /**
     * 监理负责人
     */
    @NotBlank(message = "监理负责人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String supervisionHead;

    /**
     * 监理联系电话
     */
    @NotBlank(message = "监理联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
    private String supervisionPhone;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String enginName;

    /**
     * 工程分类
     */
    private String enginClassification;

    /**
     * 类型(工业工程|市政工程)
     */
    @NotBlank(message = "类型(工业工程|市政工程)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    private ZEngineeringNodeBo zEngineeringNodeBo;

    /**
     * 附件
     */
    private List<ZFileBo> files;

    public ZEngineeringNodeBo getzEngineeringNodeBo() {
        return zEngineeringNodeBo;
    }

    public void setzEngineeringNodeBo(ZEngineeringNodeBo zEngineeringNodeBo) {
        this.zEngineeringNodeBo = zEngineeringNodeBo;
    }
}
