package com.ruoyi.zdsz.domain.bo;

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

import javax.validation.Valid;
import javax.validation.constraints.*;

import java.util.Date;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.NoArgsConstructor;
import org.springframework.validation.annotation.Validated;

/**
 * 工程详情业务对象 z_engineering_info
 *
 * @author ruoyi
 * @date 2023-12-27
 */

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

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

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

    /**
     * 施工地址
     */
    private String constructAddre;

    /**
     * 是否按图纸施工
     */
    private String constructAccordingDrawings;

    /**
     * 分段打压是否合格
     */
    private String segmentedCompressionQualified;

    /**
     * 回填时间
     */
    private Date backfillTime;

    /**
     * 施工人电话
     */
    private String constructPhone;

    /**
     * 施工人
     */
    private String constructUser;

    /**
     * 施工时间
     */
    private Date constructTime;

    /**
     * 负责人名称
     */
    private String headName;

    /**
     * 负责人电话
     */
    private String headPhone;


    /**
     * 备注
     */
    private String remark;
    /**
     * 状态
     */
    private String state;

    public List<String> getzEngiineeringPhotoBoList() {
        return zEngiineeringPhotoBoList;
    }

    public void setzEngiineeringPhotoBoList(List<String> zEngiineeringPhotoBoList) {
        this.zEngiineeringPhotoBoList = zEngiineeringPhotoBoList;
    }

    /**
     * 照片
     */
    @Valid
    @NotNull(message = "照片不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> zEngiineeringPhotoBoList;
    @Valid
    @NotNull(message = "管上皮深度测量照片不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> ductalEpithelium;
    @Valid
    @NotNull(message = "管沟远景照片不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> trenchProspect;
    @Valid
    @NotNull(message = "石粉回填不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> stonePowder;
    @Valid
    @NotNull(message = "回填后照片不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> photosAfter;
    @Valid
    @NotNull(message = "警示带铺设照片不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> warningtTape;
    @Valid
    @NotNull(message = "视频不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> video;
    @NotNull(message = "管道施工记录不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> constructionRecords;
    @NotNull(message = "沟上部分不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> onTheDitch;


    public List<String> getBeforeBottom() {
        return beforeBottom;
    }

    public void setBeforeBottom(List<String> beforeBottom) {
        this.beforeBottom = beforeBottom;
    }

    public List<String> getLegBackfilling() {
        return legBackfilling;
    }

    public void setLegBackfilling(List<String> legBackfilling) {
        this.legBackfilling = legBackfilling;
    }

    public List<String> getInferiorSulcus() {
        return inferiorSulcus;
    }

    public void setInferiorSulcus(List<String> inferiorSulcus) {
        this.inferiorSulcus = inferiorSulcus;
    }

    @NotNull(message = "底腿开挖前不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> beforeBottom;
    @Valid
    @NotNull(message = "底腿回填不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> legBackfilling;
    @Valid
    @NotNull(message = "底腿下沟不能为空", groups = { AddGroup.class, EditGroup.class })
    public List<String> inferiorSulcus;

    public List<String> getDuctalEpithelium() {
        return ductalEpithelium;
    }

    public void setDuctalEpithelium(List<String> ductalEpithelium) {
        this.ductalEpithelium = ductalEpithelium;
    }

    public List<String> getTrenchProspect() {
        return trenchProspect;
    }

    public void setTrenchProspect(List<String> trenchProspect) {
        this.trenchProspect = trenchProspect;
    }

    public List<String> getStonePowder() {
        return stonePowder;
    }

    public void setStonePowder(List<String> stonePowder) {
        this.stonePowder = stonePowder;
    }

    public List<String> getPhotosAfter() {
        return photosAfter;
    }

    public void setPhotosAfter(List<String> photosAfter) {
        this.photosAfter = photosAfter;
    }

    public List<String> getWarningtTape() {
        return warningtTape;
    }

    public void setWarningtTape(List<String> warningtTape) {
        this.warningtTape = warningtTape;
    }

    public List<String> getVideo() {
        return video;
    }

    public void setVideo(List<String> video) {
        this.video = video;
    }

    public List<ZEngineeringMaterialBo> getzEngineeringMaterialBo() {
        return zEngineeringMaterialBo;
    }

    public void setzEngineeringMaterialBo(List<ZEngineeringMaterialBo> zEngineeringMaterialBo) {
        this.zEngineeringMaterialBo = zEngineeringMaterialBo;
    }

    /**
     * 工程用料
     */

    private  List<ZEngineeringMaterialBo> zEngineeringMaterialBo;

    public ZEngineeringReviewBo getzEngineeringReviewBo() {
        return zEngineeringReviewBo;
    }

    public void setzEngineeringReviewBo(ZEngineeringReviewBo zEngineeringReviewBo) {
        this.zEngineeringReviewBo = zEngineeringReviewBo;
    }

    /**
     * 审核信息
     */
    private  ZEngineeringReviewBo zEngineeringReviewBo;

}
