package com.yuchen.saas.park.api.dto.property;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.nest.springwrap.core.mp.support.Query;

import java.util.Date;
import java.util.List;

@Data
@ApiModel(value = "账单管理查询")
public class PropertyBillPageQryDto extends Query {

    /**账单id*/
    private Long billId;

    private List<Long> billIdList;

    @ApiModelProperty("园区id")
    private Long parkId;

    @ApiModelProperty(value = "楼栋id")
    private Long buildingId;

    @ApiModelProperty(value = "房源id")
    private Long houseId;

    @ApiModelProperty(value = "收费项目")
    private Long feeItemId;

    @ApiModelProperty(value = "收费标准")
    private Long feeId;

    private List<Long> feeIdList;

    /**
     * 账单状态;1-未出账单，2-已出账单，3-冻结账单，4-已结账单
     * BillStatusEnum
     */
    @ApiModelProperty(value = "出账状态")
    private Integer billStatus;

    /**
     * 账单状态数组billStatusList
     */
    private List<Integer> billStatusList;

    /**
     * 账单类型
     * CreateBillTypeEnum
     */
    private List<Integer> createBillTypeList;

    @ApiModelProperty(value = "客户名称")
    private Long customerId;
    private String customerName;

    @ApiModelProperty(value = "记账开始时间")
    private Date startOutBillTime;
    @ApiModelProperty(value = "记账结束时间")
    private Date endOutBillTime;

    @ApiModelProperty(value = "应收开始时间")
    private Date startReceivableDate;
    @ApiModelProperty(value = "应收结束时间")
    private Date endReceivableDate;

    /**
     * 账单状态 PayStatusEnum
     */
    @ApiModelProperty
    private Integer payStatus;

    private List<Integer> payStatusList;
    /**
     * 账单导出类型 ExportBillTypeEnum
     */
    @ApiModelProperty
    private Integer exportBillType;
    /**
     * 查询时，是否扣减直接减免金额
     * 1-是，0-否
     * YesOrNoEnum
     */
    private int isDirectReduction;

//    /**
//     * 是否显示零元账单; 1-是，0-否
//     */
//    private Integer isShowZero;


    /**排序*/
    private Integer isOrderByAsc;
    /**排序字段*/
    private String orderByColumn;

}
