package com.nbport.zgwl.contractlaunch.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 合同采集信息保存参数。
 *
 * 签署完成后，在「合同采集」阶段（pending_collect → pending_archive），
 * 用户通过采集弹窗补充用印信息、签订信息后保存到合同记录，
 * 再调用 dataCollectionPushService.collectContract 推送到法务系统。
 */
@Data
public class ContractLaunchCollectSaveDto implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 是否用印（1-是，0-否） */
    private String sealIsSeal;

    /** 用印和审批文本是否一致（1-是，0-否） */
    private String sealApproveSame;

    /** 用印数量 */
    private Integer sealQuantity;

    /** 用印时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime sealDate;

    /** 签订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime signDate;

    /** 合同生效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime activeDate;

    /** 合同履行执行人（账号） */
    private String executorAccount;

    /** 签署文件名 */
    private String signedFileName;

    /** 签署文件路径 */
    private String signedFilePath;

    /** 签署文件类型 */
    private String signedFileType;

    /** 签署文件大小 */
    private Long signedFileSize;
}
