# AdRequestMirror.java

    package cloud.wconnect.frontoffice.entity.adjustment;

    import com.baomidou.mybatisplus.annotation.IdType;
    import com.baomidou.mybatisplus.annotation.TableId;
    import com.baomidou.mybatisplus.annotation.TableName;
    import java.io.Serializable;
    import java.math.BigDecimal;
    import lombok.Getter;
    import lombok.Setter;
    import lombok.ToString;
    import lombok.experimental.Accessors;

    /**
     * <p>
     *
     * </p>
     *
     * @author lichen
     * @since 2026-02-11
     */
    @Getter
    @Setter
    @ToString
    @Accessors(chain = true)
    @TableName("ad_request_mirror")
    public class AdRequestMirror implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * 审批单
         */
        @TableId(value = "id", type = IdType.AUTO)
        private Long id;

        /**
         * 资产id
         */
        private Integer propertyId;

        /**
         * 创建人
         */
        private Integer createBy;

        /**
         * 创建时间
         */
        private Long createTime;

        /**
         * 是否自动创建(0:否,1:是)
         */
        private Boolean autoCreated;

        /**
         * Conf. Num.
         */
        private String confNumber;

        /**
         * Adj. Num.
         */
        private String adjNumber;

        /**
         * 类型(1:Sales 2:Front Desk 3:Accounting 4:Misposting 5：chargeback)
         */
        private Integer requestType;

        /**
         * 责任选项(0:无,1:N/A,2:Employee`s Name)
         */
        private Integer mistakeType;

        /**
         * 责任描述/员工姓名（根据责任选项决定）
         */
        private String mistakeBy;

        /**
         * 来宾姓名或公司名
         */
        private String guestName;

        /**
         * 入住日期 (年月日)
         */
        private Long checkInDate;

        /**
         * 退房日期 (年月日)
         */
        private Long checkOutDate;

        /**
         * 房间号
         */
        private String roomNumber;

        /**
         * 需调整金额
         */
        private BigDecimal adjustedDollar;

        /**
         * 交易描述
         */
        private String trxDesc;

        /**
         * 选择原因(1:Incorrect Company rate,2:Guest Relation/Complaint,3:Over payment,4:CHANGE Credit Card OR other Method of Payment,5:Incorrect Posting Correction will be posted,6:Other,7:Chargeback,8:DB Write Off,9:Misposting类型使用,10:Fraud)
         */
        private Integer choosedReason;

        /**
         * 原因详情 {company name：公司名，rate code：rate code，correct rate：房价，explain：解释，specify：指明}
         */
        private String choosedReasonDetails;

        /**
         * 备注
         */
        private String comment;

        /**
         * 状态 0: 无效 1:有效 2:待定 3:作废
         */
        private Integer status;

        /**
         * 附件
         */
        private String attachments;

        /**
         * 关联主adj的id
         */
        private Long cbAdjId;

        /**
         * Case编号
         */
        private String caseNumber;

        /**
         * Revenue lost (yes / no)
         */
        private Boolean revenueLost;

        /**
         * 流程状态 1:draft-草稿 2:审批中 3:审批结束
         */
        private Integer flowStatus;

        /**
         * 当前审批层级索引
         */
        private Integer approveIndex;

        /**
         * 审批层级ID
         */
        private Long approveLevelId;

        /**
         * 当前审批批次id
         */
        private Long batchId;

        /**
         * 责任人
         */
        private Integer dutyUser;

        /**
         * 更新人
         */
        private Integer updateBy;

        /**
         * 更新时间
         */
        private Long updateTime;

        /**
         * PMS 系统账户
         */
        private String pmsAccount;

        /**
         * 是否归档
         */
        private Boolean isArchive;

        /**
         * 交易code
         */
        private String trxCode;

        /**
         * 业务日期，格式yyyyMMdd。调账数据与PMS报告配对成功后，数据在PMS报告中的业务日期
         */
        private Integer businessDate;

        /**
         * 配对时间戳，未配对时默认为0
         */
        private Long matchTime;

        private String accountNumber;

        /**
         * 配对方式1：使用guestName、roomNumber、trxCode、adjustedDollar配对 2：使用trxCode、adjustedDollar、confNumber配对
         */
        private Integer matchType;

        /**
         * 是否作废
         */
        private Boolean isCancel;

        /**
         * Chargeback关联的时间
         */
        private Long caseRelTime;
    }