package com.chinaweal.aiccs.aiccs.force.entity.querydto;

import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion;
import com.chinaweal.aiccs.aiccs.business.entity.dto.BaseParamDto;
import com.chinaweal.aiccs.aiccs.force.entity.XrForceDeregisterRem;
import com.chinaweal.aiccs.aiccs.force.entity.XrForceDeregisterSpe;
import com.chinaweal.aiccs.aiccs.force.entity.XrLiccanRecTask;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * 拟强制注销业务查询参数体
 *
 * @author zhouxy
 * @since 2025/9/28
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("拟强制注销业务保存参数体")
public class ForceDeregisterSpeSaveDto extends BaseParamDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "拟强制注销业务信息")
    private XrForceDeregisterSpe xrForceDeregisterSpe;

    @ApiModelProperty("查询业务号")
    private String bizSeqNo;

    @ApiModelProperty(value = "待办主键")
    private String taskLikeId;

    /**
     * 下一流程节点
     */
    @ApiModelProperty(value = "下一流程节点")
    @NotBlank(message = "下一流程节点类型不能为空！")
    private String nextNodeID;

    /**
     * 意见
     */
    @ApiModelProperty(value = "意见")
    @Valid
    private XrOpinion opinion;

    /**
     * 下一步处理人id
     */
    @ApiModelProperty(value = "下一步处理人ids")
    private String[] nextPerformerIds;

    /**
     * 下一步处理人机构
     */
    @ApiModelProperty(value = "下一步处理人机构")
    private String nextOrgID;

    /**
     * 下一步处理人姓名
     */
    @ApiModelProperty(value = "下一步处理人姓名数组")
    private String nextPerformerNames;

    /**
     * 当前流程节点
     */
    @ApiModelProperty(value = "当前流程节点")
    private String currentNodeID;

    @ApiModelProperty(value = "终止强制注销业务表")
    private XrForceDeregisterRem xrForceDeregisterRem;

    @ApiModelProperty(value = "营业执照作废声明业务")
    private XrLiccanRecTask xrLiccanRecTask;

    @ApiModelProperty(value = "拟强制注销登记法定事由（国标C13042）")
    private String forceRra;

    @ApiModelProperty(value = "公告期自")
    private LocalDate noticeFrom;

    @ApiModelProperty(value = "公告期至")
    private LocalDate noticeTo;

    @ApiModelProperty(value = "公告期至")
    private LocalDate forceResDate;

    @ApiModelProperty(value = "公告标题")
    private String noticeTitle;

    @ApiModelProperty(value = "公告内容")
    private String noticeContent;

    @ApiModelProperty(value = "强制注销类型  1:拟强制注销，0:强制注销")
    private String forceType;

    @ApiModelProperty(value = "强制注销决定送达公告内容")
    private String forceNoticeContent;

    @ApiModelProperty(value = "强制注销决定书内容")
    private String decisionContent;

}
