package com.ycl.domain.form; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.common.group.Update; import com.ycl.common.group.Add; import com.ycl.common.utils.StringUtils; import com.ycl.system.domain.base.AbsForm; import com.ycl.domain.entity.ProjectEngineering; import com.ycl.system.domain.base.AbsUUIDForm; import org.springframework.beans.BeanUtils; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import org.springframework.lang.NonNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * 项目工程表单 * * @author xp * @since 2025-02-26 */ @Data @ApiModel(value = "ProjectEngineering表单", description = "项目工程表单") public class ProjectEngineeringForm extends AbsUUIDForm { @NotNull(message = "项目id不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("项目id") private Long projectInfoId; @NotBlank(message = "工程名称不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("工程名称") private String projectName; @NotBlank(message = "项目推进类型不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("项目推进类型") private String projectType; @NotBlank(message = "投资额不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("投资额") private String investmentAmount; @NotBlank(message = "状态不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("状态") private String status; @ApiModelProperty("主管部门") private Long department; @ApiModelProperty("业主单位") private Long unit; @ApiModelProperty("年份") private String year; @ApiModelProperty("父工程") private String parent; @ApiModelProperty("建设内容") private String buildContent; public static ProjectEngineering getEntityByForm(@NonNull ProjectEngineeringForm form, ProjectEngineering entity) { if(entity == null) { entity = new ProjectEngineering(); } if (StringUtils.isEmpty(form.parent)){ form.setParent("0"); } BeanUtils.copyProperties(form, entity); return entity; } }