package com.tofly.feesapi.sfgl.entity.dto;

import com.tofly.feesapi.common.core.dto.Order;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@Data
@ApiModel("欠费明细查询参数DTO")
public class YyQfmxFilter {

    @ApiModelProperty("所屬抄錶片區")
    private String sscbpq;

    @ApiModelProperty("所屬抄表本")
    private String sscbb;

    @ApiModelProperty("财务日期")
    private String cwrq;

    @ApiModelProperty("用户编号")
    private String yhbh;

    @ApiModelProperty("客户编码")
    private String khbm;


    @ApiModelProperty("所属公司编码")
    private String ssgs;

    @ApiModelProperty("年份")
    private String nf;

    @ApiModelProperty("水量相同(应收水量等于0)")
    private Boolean slxt;

    @ApiModelProperty("是否水费补差（0：否；1：是）")
    private String sfbc;

    @ApiModelProperty("抄表数据来源（0手工抄表，1抄表机抄表，2移动APP抄表，3远传抄表，4批量导入抄表，5换表抄）")
    private String cbly;

    @ApiModelProperty("计算开始日期(yyyy-MM-dd HH:mm:ss)")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime jsrqStart;

    @ApiModelProperty("计算截止日期(yyyy-MM-dd HH:mm:ss)")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime jsrqEnd;


    @ApiModelProperty("计算日期(yyyy-MM-dd HH:mm:ss)")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime jsrq;


    @ApiModelProperty("付费关系组号(批量收费时使用)")
    private String ffgxzh;

    @ApiModelProperty("是否是预开发票0否1是")
    private String sfsykfp;

    @ApiModelProperty("抄表人员编码")
    private String cbrybm;

    @ApiModelProperty("区域负责人")
    private String qyfzr;

    @ApiModelProperty(value = "用户编号开始")
    private String yhbhStart;

    @ApiModelProperty(value = "用户编号结束")
    private String yhbhEnd;

    @ApiModelProperty("财务日期开始")
    private String cwrqStart;

    @ApiModelProperty("财务日期结束")
    private String cwrqEnd;

    @ApiModelProperty("收费标志")
    private String sfbz;

    @ApiModelProperty("冲红标志")
    private String chbz;

    @ApiModelProperty("工单流水编号")
    private String gdlsbh;

    @ApiModelProperty("工单状态")
    private String gdzt;

    @ApiModelProperty("用水性质")
    private String ysxz;

    @ApiModelProperty("违约金工单流水编号")
    private String wyjgdlsbh;

    @ApiModelProperty("排序字符串（查询欠费(应收)明细才有用）")
    private List<Order> orders = new ArrayList<>();

    @ApiModelProperty("冲减类型")
    private String jyType;

    @ApiModelProperty("用水月份开始")
    private String ysyfStart;

    @ApiModelProperty("用水月份结束")
    private String ysyfEnd;

    @ApiModelProperty(value = "Excel导出字段", example = "yhbh,yhxm")
    private String exportFields;

    @ApiModelProperty(value = "用户姓名")
    private String yhxm;

    @ApiModelProperty("是否开启预扣减: 0-否 1-是")
    private Integer ykj;

    @ApiModelProperty("用户姓名简码")
    private String yhxmjm;

    @ApiModelProperty("大小户")
    private String dxh;

    @ApiModelProperty(value = "高级查询参数")
    private  String commSearchParams;

    @ApiModelProperty(value = "高级查询参数",hidden = true)
    private  String  sqlStrWhere;

    @ApiModelProperty("关键字")
    private String searchText;

    @ApiModelProperty("当前登录人ID")
    private String userId;


    @ApiModelProperty("大户根据KHBM汇总 1 根据客户编码  0.根据用户编码展示")
    private String dhkh="0";
}
