# AdRequestVO.java

    package cloud.wconnect.frontoffice.pojo.vo.adjustment;

    import cloud.wconnect.commonlib.pojo.dto.jsonview.Views;
    import cloud.wconnect.frontoffice.pojo.dto.adjustment.AdRequestCommentDTO;
    import com.fasterxml.jackson.annotation.JsonView;
    import lombok.Data;

    import java.math.BigDecimal;
    import java.util.List;

    /**
     * 调账数据 VO类
     *
     * @author lichen
     * @date 2024/1/30
     */
    @Data
    public class AdRequestVO {

        /**
         * 主键Id
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Long id;
        /**
         * 资产id
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer propertyId;
        /**
         * 是否自动创建
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Boolean autoCreated;
        /**
         * 内容摘要
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String digestKey;
        /**
         * Conf.Num
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String confNumber;
        /**
         * adjNumber
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String adjNumber;
        /**
         * 1:Sales 2:Front Desk 3:Accounting 4:Misposting 5：chargeback
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer requestType;
        /**
         * 责任选项 0:无,1:N/A,2:Employee`s Name
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer mistakeType;
        /**
         * 责任描述/员工姓名（根据责任选项决定）
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String mistakeBy;
        /**
         * 来宾姓名或公司名
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String guestName;
        /**
         * 入住日期 (年月日)
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Long checkInDate;
        /**
         * 退房日期 (年月日)
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Long checkOutDate;
        /**
         * 房间号
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String roomNumber;
        /**
         * 需调整金额
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private BigDecimal adjustedDollar;
        /**
         * 选择原因(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)
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer choosedReason;
        /**
         * 原因详情 {company name：公司名，rate code：rate code，correct rate：房价，explain：解释，specify：指明，comment：备注}
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String choosedReasonDetails;
        /**
         * 备注
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String comment;
        /**
         * 审批单附件上传标识，true：有，false：无
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Boolean haveAttachments;
        /**
         * 附件
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String attachments;
        /**
         * 关联主adj的id
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Long cbAdjId;
        /**
         * Case编号
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String caseNumber;
        /**
         * Revenue lost (yes / no)
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Boolean revenueLost;
        /**
         * 有权补录数据的责任人
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer dutyUser;
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String dutyUserName;
        /**
         * 当前审批层级索引
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer approveIndex;
        /**
         * 状态 0: 无效 1:有效 2:待定
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer status;
        /**
         * 流程状态 1:draft-草稿 2:审批中 3:审批结束
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer flowStatus;
        /**
         * pmsAccount
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String pmsAccount;
        /**
         * 是否归档
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Boolean isArchive;
        /**
         * 审批单添加评论数
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Long commentsCount;
        /**
         * 创建人、创建人姓名、创建时间
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer createBy;
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String createName;
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Long createTime;
        /**
         * 更新人、更新人姓名、更新时间
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer updateBy;
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String updateName;
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Long updateTime;
        /**
         * 评论数组
         */
        @JsonView({Views.DetailsView.class})
        private List<AdRequestCommentVO> comments;

        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String trxCode;

        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String trxDesc;

        /**
         * 业务日期，格式yyyyMMdd
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer businessDate;

        /**
         * 账户编号
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String accountNumber;

        /**
         * 配对类型
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer matchType;
    }