package com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto;

import com.chinaweal.aiccs.common.util.DateUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;

/**
 * 个案办理 - 外单位严重违法移出请求DTO
 * @author lroyia
 * @since 2026/3/9
 **/
@Data
@ApiModel("个案办理 - 外单位严重违法移出请求DTO")
public class RemoveCaseHandleDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID", required = true)
    @NotBlank(message = "主键ID不能为空")
    private String illid;

    @ApiModelProperty(value = "移出事由", required = true)
    @NotBlank(message = "移出事由不能为空")
    private String remexcpres;

    @ApiModelProperty(value = "移出事由（中文名称）", required = true)
    @NotBlank(message = "移出事由（中文名称）不能为空")
    private String remexcpresCn;

    @ApiModelProperty(value = "移出日期", required = true, example = "2025-01-01")
    @NotNull(message = "移出日期不能为空")
    @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDate remdate;

    @ApiModelProperty(value = "移出作出决定机关", required = true)
    @NotBlank(message = "移出作出决定机关不能为空")
    private String recorg;

    @ApiModelProperty(value = "移出作出决定机关（中文名称）", required = true)
    @NotBlank(message = "移出作出决定机关（中文名称）不能为空")
    private String recorgCn;

    @ApiModelProperty(value = "移出文号", required = true)
    @NotBlank(message = "移出文号不能为空")
    private String redocnum;
}