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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tofly.feesapi.common.constant.CbbzEnum;
import com.tofly.feesapi.common.constant.JsbzEnum;
import com.tofly.feesapi.common.constant.ShbzEnum;
import com.tofly.feesapi.common.core.dto.SortDto;
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.List;

@Data
@ApiModel("抄表录入查询参数DTO")
public class YyCblrFilter extends SortDto {

    @ApiModelProperty(value = "所属公司", position = 2)
    private String ssgs;

    @ApiModelProperty(value = "所属抄表片区", position = 3)
    private String sscbpq;

    @ApiModelProperty(value = "所属抄表本(册)", position = 4)
    private String sscbb;

    @ApiModelProperty(value = "抄表方式", position = 5)
    private String cbfs;

    @ApiModelProperty(value = "用水性质", position = 6)
    private String ysxz;

    @ApiModelProperty(value = "水表口径编码", position = 7)
    private String sbkj;

    @ApiModelProperty(value = "抄表人员编码", position = 8)
    private String cbrybm;

    @ApiModelProperty(value = "财务日期", position = 9)
    private String cwrq;

    @ApiModelProperty(value = "抄表标志", position = 10)
    private CbbzEnum cbbz;

    @ApiModelProperty(value = "审核标志", position = 11)
    private ShbzEnum shbz;

    @ApiModelProperty(value = "计算标志", position = 12)
    private JsbzEnum jsbz;

    @ApiModelProperty(value = "录入开始日期(yyyy-MM-dd HH:mm:ss),示例值(2024-01-01 00:00:00)", position = 13)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime lrrqStart;

    @ApiModelProperty(value = "录入截止日期(yyyy-MM-dd HH:mm:ss),示例值(2024-01-30 23:59:59)", position = 14)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lrrqEnd;

    @ApiModelProperty(value = "抄表序号", position = 15)
    private Integer cbxh;

    @ApiModelProperty(value = "关键字(用户编号、用户姓名、用户地址)", position = 20)
    private String searchText;

    @ApiModelProperty(value = "用户编号", position = 21)
    private String yhbh;

    @ApiModelProperty(value = "是否是算费表：1为是，0为否", position = 22)
    private String sfssfb;

    @ApiModelProperty(value = "开始水量", position = 23)
    private Long kssl;

    @ApiModelProperty(value = "结束水量", position = 24)
    private Long jssl;

    @ApiModelProperty(value = "区域负责人", position = 25)
    private String qyfzr;

    @ApiModelProperty(value = "是否查看图片：1查看", position = 26)
    private String sfcktp;

    @ApiModelProperty(value = "查询来源：值为空或app", position = 27)
    private String cxly;

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

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

    @ApiModelProperty("用户开始")
    private String yhbhStart;

    @ApiModelProperty("用户结束")
    private String yhbhEnd;

    @ApiModelProperty("水表状态")
    private String sbzt;

    @ApiModelProperty("水表类别（0机械表、1IC卡表、2远传表、3物联网表）")
    private String sblb;

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

    @ApiModelProperty("百分比")
    private Long bfb;

    @ApiModelProperty(value = "当前登录用户id")
    private String userId;

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

    @ApiModelProperty("抄表类型")
    private String cblx;
}
