package com.estate.expert.admin.domain.standard.problem; import com.estate.expert.admin.domain.common.EntityRef; import com.estate.expert.admin.domain.common.IDtoBase; import com.estate.expert.admin.domain.standard.problem.detail.NumberFactor; import com.estate.expert.admin.domain.standard.problem.detail.ScaleFactor; import com.estate.expert.admin.domain.standard.problem.enums.IncidentType; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Builder; import lombok.Value; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; /** * DTO for {@link Problem} */ @ApiModel(value = "系统问题表") @Value @Builder public class ProblemDto implements Serializable, IDtoBase { @ApiModelProperty(value = "id") Integer id; @ApiModelProperty(value = "层级id") @NotNull(message = "层级id不能为空") Integer hierarchyId; @ApiModelProperty(value = "层级路径") @NotNull(message = "层级路径不能为空") String hierarchyPath; @ApiModelProperty(value = "问题描述") @NotBlank(message = "问题描述不能为空") String description; @ApiModelProperty(value = "规范与条款") List specificTerms; @ApiModelProperty(value = "建议措施") List suggestActions; @ApiModelProperty(value = "数值") Float numValue; @ApiModelProperty(value = "事故类型") List incidentTypes; @ApiModelProperty(value = "点评范式") String reviewParadigm; @ApiModelProperty(value = "责任人") String responsiblePerson; @ApiModelProperty(value = "责任部门") String responsibleDepartment; @ApiModelProperty(value = "事故案例") EntityRef incidentCase; @ApiModelProperty(value = "正确做法") String correctPractice; @ApiModelProperty(value = "问题数量集合") @NotEmpty(message = "问题数量集合不能为空") List numberFactors; @ApiModelProperty(value = "对应规模集合") @NotEmpty(message = "对应规模集合不能为空") List scaleFactors; @ApiModelProperty(value = "创建时间") LocalDateTime createTime; @ApiModelProperty(value = "更新时间") LocalDateTime updateTime; }