package com.brilliance.isc.vo;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.model.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

import static com.brilliance.mda.runtime.mda.Constants.NULLSTR;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class LnvlstVo extends BaseEntity {

    //批次号
    private  String seqnum = NULLSTR;
    //发票代码
    private  String invoicecode = NULLSTR;
    //发票号码
    private  String invoicenumber = NULLSTR;
    //开票日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date billingdate;
    //校验码后六位
    private  String checkcode = NULLSTR;
    //合计金额
    private BigDecimal totalamount = Decimals.ZERO_SCALE3;
    //发票占用金额
    private  BigDecimal amountin = Decimals.ZERO_SCALE3;
    //发票剩余金额
    private  BigDecimal balance = Decimals.ZERO_SCALE3;
    //银税通技术操作代码
    private  String outcode = NULLSTR;
    //银税通业务操作代码
    private  String outsubcode = NULLSTR;
    //价税合计
    private  BigDecimal amounttax = Decimals.ZERO_SCALE3;
    //发票状态
    private  String state = NULLSTR;
    //状态'新时'
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private  Date statetime;
    //查询结果
    private  String result = NULLSTR;
    //使用过改发票的业务编号
    private  String usedref = NULLSTR;
    //上一笔剩余金额
    private  BigDecimal usedbalance = Decimals.ZERO_SCALE0;
    //上一笔批次号
    private  String usedseqnum = NULLSTR;
    //前trn流'
    private  String usedtrninr = NULLSTR;
    //失'原因
    private  String reason = NULLSTR;
    //是否替换
    private  String selflg = NULLSTR;
    //发票监控状态
    private  String monstatus = NULLSTR;
    //发票监控状态变化时'
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private  Date monstatustime;
    //首次登记标识
    private  String firstsign = NULLSTR;
    //检核次数
    private  String checktotal = NULLSTR;
    //本机构检核次数
    private  String checkown = NULLSTR;
    //其他机构检核次数
    private  String checkother = NULLSTR;
    //监控次数
    private  String monitortoal = NULLSTR;
    //本机构监控次数
    private  String monitorown = NULLSTR;
    //其他机构监次数
    private  String monitorother = NULLSTR;
    //忽略
    private  String ignflg = NULLSTR;
    //替换
    private  String repflg = NULLSTR;
    //处理状态
    private  String hantyp = NULLSTR;
    //处理时'
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private  Date handat;
    //处理用户
    private  String hanusr = NULLSTR;
    //币种
    private  String invcur = NULLSTR;
    //外币币种
    private  String forcur = NULLSTR;
    //外币金额
    private  BigDecimal foramt = Decimals.ZERO_SCALE3;

}
