package com.ycl.platform.domain.form; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.platform.base.AbsForm; import com.ycl.platform.domain.entity.Report; import com.ycl.system.domain.group.Add; import com.ycl.system.domain.group.Update; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import jakarta.validation.constraints.NotBlank; import lombok.Data; import lombok.experimental.Accessors; import org.springframework.beans.BeanUtils; import org.springframework.lang.NonNull; import org.springframework.web.multipart.MultipartFile; import java.util.Date; import java.util.List; /** * 报备表单 * * @author xp * @since 2024-03-19 */ @Data @Accessors(chain = true) @ApiModel(value = "Report表单", description = "报备表单") public class ReportForm extends AbsForm { private Integer unitId; private Integer peopleId; @ApiModelProperty("点位国标码") private String pointId; @ApiModelProperty("导入点位") private MultipartFile importPointId; @ApiModelProperty("生效时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date beginCreateTime; private String beginCreateTimeStr; @ApiModelProperty("失效时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endCreateTime; private String endCreateTimeStr; @ApiModelProperty("报备类型") private String reportType; @NotBlank(message = "报备内容不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("报备内容") private String reportContent; @NotBlank(message = "上报材料不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("上报材料") private String reportMaterials; @ApiModelProperty("故障类型") private List errorTypeList; public static Report getEntityByForm(@NonNull ReportForm form, Report entity) { if(entity == null) { entity = new Report(); } BeanUtils.copyProperties(form, entity); return entity; } }