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;


    public String getNodeName() {
        return nodeName;
    }

    public void setNodeName(String nodeName) {
        this.nodeName = nodeName;
    }

    private String nodeName;
    /**
     * 状态
     */
    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> getzEngiineeringPhotoBoListThree() {
        return zEngiineeringPhotoBoListThree;
    }

    public void setzEngiineeringPhotoBoListThree(List<String> zEngiineeringPhotoBoListThree) {
        this.zEngiineeringPhotoBoListThree = zEngiineeringPhotoBoListThree;
    }

    public List<String> getzEngiineeringPhotoBoListTwo() {
        return zEngiineeringPhotoBoListTwo;
    }

    public void setzEngiineeringPhotoBoListTwo(List<String> zEngiineeringPhotoBoListTwo) {
        this.zEngiineeringPhotoBoListTwo = zEngiineeringPhotoBoListTwo;
    }

    public List<String> getzEngiineeringPhotoBoListOne() {
        return zEngiineeringPhotoBoListOne;
    }

    public void setzEngiineeringPhotoBoListOne(List<String> zEngiineeringPhotoBoListOne) {
        this.zEngiineeringPhotoBoListOne = zEngiineeringPhotoBoListOne;
    }

    public List<String> zEngiineeringPhotoBoListThree;
    public List<String> zEngiineeringPhotoBoListTwo;
    public List<String> zEngiineeringPhotoBoListOne;

    // 市政施工-沟上施工 焊接
    public List<String> welding;
    // 市政施工-沟上施工 防腐
    public List<String> aczoiling;
    // 市政施工-沟下施工 管道下沟
    public List<String> piping;
    // 市政施工-沟下施工 警示带铺设
    public List<String> warning;
    // 市政施工-沟下施工 回填
    public List<String> backfilling;

    // 带气封堵施工-PE封堵 鞍型焊接
    public List<String> peSaddleWelding;
    // 带气封堵施工-PE封堵 气密实验
    public List<String> peAirtightTest;
    // 带气封堵施工-PE封堵 开孔
    public List<String> peHolesOpening;
    // 带气封堵施工-PE封堵 清扫
    public List<String> peCleaning;
    // 带气封堵施工-PE封堵 封堵
    public List<String> pePlugging;
    // 带气封堵施工-PE封堵 碰口作业
    public List<String> peCollisionOperating;
    // 带气封堵施工-PE封堵 恢复通气捡漏
    public List<String> peAirrecovering;
    // 带气封堵施工-PE封堵 作业完成
    public List<String> peHomeworkDone;

    // 带气封堵施工-钢管带气封堵 管道壁厚
    public List<String> ironPipelineThickness;
    // 带气封堵施工-钢管带气封堵 焊接四通
    public List<String> iron4Welding;
    // 带气封堵施工-钢管带气封堵 焊接旁通
    public List<String> ironBypassWelding;
    // 带气封堵施工-钢管带气封堵 开孔
    public List<String> ironHolesOpening;
    // 带气封堵施工-钢管带气封堵 封堵
    public List<String> ironCleaning;
    // 带气封堵施工-钢管带气封堵 氮气吹扫
    public List<String> ironNitrogenPurging;
    // 带气封堵施工-钢管带气封堵 管道置换
    public List<String> ironPipelineReplacing;
    // 带气封堵施工-钢管带气封堵 下堵
    public List<String> ironLowerEndCap;
    // 带气封堵施工-钢管带气封堵 作业完成
    public List<String> ironHomeworkDone;
    // 带气封堵施工-钢管带气封堵 四通防腐
    public List<String> iron4Aczoiling;

    public List<String> getBoxBrand() {
        return boxBrand;
    }

    public void setBoxBrand(List<String> boxBrand) {
        this.boxBrand = boxBrand;
    }

    public List<String> getLightning() {
        return Lightning;
    }

    public void setLightning(List<String> lightning) {
        Lightning = lightning;
    }

    public List<String> getBottomLeg() {
        return BottomLeg;
    }

    public void setBottomLeg(List<String> bottomLeg) {
        BottomLeg = bottomLeg;
    }

    public List<String> getGroundHardening() {
        return GroundHardening;
    }

    public void setGroundHardening(List<String> groundHardening) {
        GroundHardening = groundHardening;
    }

    // 调压箱名牌
    public List<String> boxBrand;
    //调压箱防雷接地
    public List<String> Lightning;
    //调压箱底腿连接
    public List<String> BottomLeg;
    //调压箱护栏及地面硬化（远景）
    public List<String> GroundHardening;


    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;

}
