/**
 * Copyright 2022 bejson.com
 */
package com.jianshui.invoice.domain.dto.api.elephant;


import com.jianshui.common.utils.InvoiceUtils;
import com.jianshui.invoice.domain.BillDetail;
import com.jianshui.invoice.domain.BillInfo;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;

/**
 * Auto-generated: 2022-03-26 11:29:4
 *
 * @author Gong Quanlin
 */
public class DDTXX {

    public String getKPRZJHM() {
        return KPRZJHM;
    }

    public void setKPRZJHM(String KPRZJHM) {
        this.KPRZJHM = KPRZJHM;
    }

    public String getKPRZJLX() {
        return KPRZJLX;
    }

    public void setKPRZJLX(String KPRZJLX) {
        this.KPRZJLX = KPRZJLX;
    }

    public String getYHM() {
        return YHM;
    }

    public void setYHM(String YHM) {
        this.YHM = YHM;
    }

    public DDTXX(BillInfo billInfo) {
        this.setDDQQLSH(billInfo.getSystemOrderno()); // 订单请求流水号
        this.setNSRSBH(billInfo.getSellerTaxnum()); // 纳税人识别号
        this.setNSRMC(billInfo.getSellerName()); // 纳税人名称
        String kplx = "0";
        if (StringUtils.equals(billInfo.getKptype(), "1")) {
            kplx = "0";
        }
        if (StringUtils.equals(billInfo.getKptype(), "2")) {
            kplx = "1";
        }
        this.setKPLX(kplx); // 开票类型 //  开票类型转换
        // this.setQYLX(billInfo.getBillType()); // 企业类型 // 转换
        this.setBMBBBH(billInfo.getBmbbh()); // 编码表版本号 // TODO 编码表编号 可以为空
        this.setXHFSBH(billInfo.getSellerTaxnum()); // 销货方纳税人识别号
        this.setXHFMC(billInfo.getSellerName()); // 销货方名称
        this.setXHFDZ(billInfo.getSellerAddress()); // 销货方地址
        this.setXHFDH(billInfo.getSellerTelephone()); // 销货方电话
        this.setXHFYH(billInfo.getSellerBank()); // 销货方银行名称
        this.setXHFZH(billInfo.getSellerAccount()); // 销货方银行账号
        // this.setGMFBM(billInfo.get); // 购买方编码
        this.setGMFSBH(billInfo.getBuyerTaxnum()); // 购买方纳税人识别号
        this.setGMFMC(billInfo.getBuyerName()); // 购买方名称
        this.setGMFDZ(billInfo.getBuyerAddress()); // 购买方地址
        this.setGMFDH(billInfo.getBuyerTelephone()); // 购买方电话
        this.setGMFYH(billInfo.getBuyerBank()); // 购买方银行名称
        this.setGMFZH(billInfo.getBuyerAccount()); // 购买方银行账号
        this.setGMFLX(InvoiceUtils.checkBuyerType(billInfo.getBuyerTaxnum())); // 购买方类型
        // this.setGMFSF(billInfo.get); // 购买方省份
        this.setGMFSJH(billInfo.getBuyerPhone()); // 购买方手机
        this.setGMFDZYX(billInfo.getBuyerEmail()); // 购买方邮箱
        this.setKPR(billInfo.getClerk()); // 开票人
        this.setSKR(billInfo.getPayee()); // 收款人
        this.setFHR(billInfo.getChecker()); // 复核人
        this.setYFPDM(billInfo.getOriginFpdm()); // 原发票代码
        this.setYFPHM(billInfo.getOriginFphm()); // 原发票号码
        this.setQDBZ(billInfo.getQdbz()); // 清单标志 //  清单标志
        this.setQDXMMC(billInfo.getQdxmmc()); // 清单项目名称
        this.setJSHJ(billInfo.getTaxamt().toString()); // 价税合计 // 计算金额税额，在processing里
        this.setHJJE(billInfo.getTaxfreeamt().toString()); // 合计金额 // 计算金额税额，在processing里
        this.setHJSE(billInfo.getTax().toString()); // 合计税额 // 计算金额税额，在processing里
        this.setBZ(billInfo.getMessage()); // 备注
         this.setCHYY(billInfo.getChyy()); // 冲红原因
        if (StringUtils.equals(billInfo.getKptype(), "2")) {
            if (StringUtils.equals(billInfo.getInvoiceType(), "p")) {
                this.setTSCHBZ("0"); // 特殊冲红标志
            }else{
                this.setTSCHBZ("1"); // 特殊冲红标志
            }
        }
        this.setDDH(billInfo.getSystemOrderno()); // 订单号
        // this.setTHDH(billInfo.get); // 退货单号
        this.setDDSJ(DateFormatUtils.format(billInfo.getInvoicedTime(), "yyyy-MM-dd HH:mm:ss")); // 订单时间
        // this.setYWLX(billInfo.get); // 业务类型
        this.setHZXXBBH(billInfo.getRedInvoiceInfoCode()); // 红字信息表编号
        // this.setSFCF(billInfo.get); // 是否拆分
        // this.setBYZD1(billInfo.get); // 备用字段 1
        // this.setBYZD2(billInfo.get); // 备用字段 2
        // this.setBYZD3(billInfo.get); // 备用字段 3
        // this.setBYZD4(billInfo.get); // 备用字段 4
        // this.setBYZD5(billInfo.get); // 备用字段

        //kk TODO : 2023/9/15 V6数电新加
        // KPRZJHM  开票人证件号码
        this.setKPRZJHM(billInfo.getBsrysfzjhm());
        // KPRZJLX  开票人证件类型
        this.setKPRZJLX(billInfo.getKPRZJLX());
        // YHM  电局登录用户名
        this.setYHM(billInfo.getYHM());





    }

    private String DDQQLSH; // 订单请求流水号
    private String NSRSBH; // 纳税人识别号
    private String NSRMC; // 纳税人名称
    private String KPLX; // 开票类型
    private String QYLX; // 企业类型
    private String BMBBBH; // 编码表版本号
    private String XHFSBH; // 销货方纳税人识别号
    private String XHFMC; // 销货方名称
    private String XHFDZ; // 销货方地址
    private String XHFDH; // 销货方电话
    private String XHFYH; // 销货方银行名称
    private String XHFZH; // 销货方银行账号
    private String GMFBM; // 购买方编码
    private String GMFSBH; // 购买方纳税人识别号
    private String GMFMC; // 购买方名称
    private String GMFDZ; // 购买方地址
    private String GMFDH; // 购买方电话
    private String GMFYH; // 购买方银行名称
    private String GMFZH; // 购买方银行账号
    private String GMFLX; // 购买方类型
    private String GMFSF; // 购买方省份
    private String GMFSJH; // 购买方手机
    private String GMFDZYX; // 购买方邮箱
    private String KPR; // 开票人
    private String SKR; // 收款人
    private String FHR; // 复核人
    private String YFPDM; // 原发票代码
    private String YFPHM; // 原发票号码
    private String QDBZ; // 清单标志
    private String QDXMMC; // 清单项目名称
    private String JSHJ; // 价税合计
    private String HJJE; // 合计金额
    private String HJSE; // 合计税额
    private String BZ; // 备注
    private String CHYY; // 冲红原因
    private String TSCHBZ; // 特殊冲红标志
    private String DDH; // 订单号
    private String THDH; // 退货单号
    private String DDSJ; // 订单时间
    private String YWLX; // 业务类型
    private String HZXXBBH; // 红字信息表编号
    private String SFCF; // 是否拆分
    private String BYZD1; // 备用字段 1
    private String BYZD2; // 备用字段 2
    private String BYZD3; // 备用字段 3
    private String BYZD4; // 备用字段 4
    private String BYZD5; // 备用字段

    // 数电发票新加字段
    private String KPRZJHM; // 开票人证件号码
    private String KPRZJLX; // 开票人证件类型
    private String YHM; // 电局登录用户名



    public void setDDQQLSH(String DDQQLSH) {
        this.DDQQLSH = DDQQLSH;
    }

    public String getDDQQLSH() {
        return DDQQLSH;
    }

    public void setNSRSBH(String NSRSBH) {
        this.NSRSBH = NSRSBH;
    }

    public String getNSRSBH() {
        return NSRSBH;
    }

    public void setNSRMC(String NSRMC) {
        this.NSRMC = NSRMC;
    }

    public String getNSRMC() {
        return NSRMC;
    }

    public void setKPLX(String KPLX) {
        this.KPLX = KPLX;
    }

    public String getKPLX() {
        return KPLX;
    }

    public void setQYLX(String QYLX) {
        this.QYLX = QYLX;
    }

    public String getQYLX() {
        return QYLX;
    }

    public void setBMBBBH(String BMBBBH) {
        this.BMBBBH = BMBBBH;
    }

    public String getBMBBBH() {
        return BMBBBH;
    }

    public void setXHFSBH(String XHFSBH) {
        this.XHFSBH = XHFSBH;
    }

    public String getXHFSBH() {
        return XHFSBH;
    }

    public void setXHFMC(String XHFMC) {
        this.XHFMC = XHFMC;
    }

    public String getXHFMC() {
        return XHFMC;
    }

    public void setXHFDZ(String XHFDZ) {
        this.XHFDZ = XHFDZ;
    }

    public String getXHFDZ() {
        return XHFDZ;
    }

    public void setXHFDH(String XHFDH) {
        this.XHFDH = XHFDH;
    }

    public String getXHFDH() {
        return XHFDH;
    }

    public void setXHFYH(String XHFYH) {
        this.XHFYH = XHFYH;
    }

    public String getXHFYH() {
        return XHFYH;
    }

    public void setXHFZH(String XHFZH) {
        this.XHFZH = XHFZH;
    }

    public String getXHFZH() {
        return XHFZH;
    }

    public void setGMFBM(String GMFBM) {
        this.GMFBM = GMFBM;
    }

    public String getGMFBM() {
        return GMFBM;
    }

    public void setGMFSBH(String GMFSBH) {
        this.GMFSBH = GMFSBH;
    }

    public String getGMFSBH() {
        return GMFSBH;
    }

    public void setGMFMC(String GMFMC) {
        this.GMFMC = GMFMC;
    }

    public String getGMFMC() {
        return GMFMC;
    }

    public void setGMFDZ(String GMFDZ) {
        this.GMFDZ = GMFDZ;
    }

    public String getGMFDZ() {
        return GMFDZ;
    }

    public void setGMFDH(String GMFDH) {
        this.GMFDH = GMFDH;
    }

    public String getGMFDH() {
        return GMFDH;
    }

    public void setGMFYH(String GMFYH) {
        this.GMFYH = GMFYH;
    }

    public String getGMFYH() {
        return GMFYH;
    }

    public void setGMFZH(String GMFZH) {
        this.GMFZH = GMFZH;
    }

    public String getGMFZH() {
        return GMFZH;
    }

    public void setGMFLX(String GMFLX) {
        this.GMFLX = GMFLX;
    }

    public String getGMFLX() {
        return GMFLX;
    }

    public void setGMFSF(String GMFSF) {
        this.GMFSF = GMFSF;
    }

    public String getGMFSF() {
        return GMFSF;
    }

    public void setGMFSJH(String GMFSJH) {
        this.GMFSJH = GMFSJH;
    }

    public String getGMFSJH() {
        return GMFSJH;
    }

    public void setGMFDZYX(String GMFDZYX) {
        this.GMFDZYX = GMFDZYX;
    }

    public String getGMFDZYX() {
        return GMFDZYX;
    }

    public void setKPR(String KPR) {
        this.KPR = KPR;
    }

    public String getKPR() {
        return KPR;
    }

    public void setSKR(String SKR) {
        this.SKR = SKR;
    }

    public String getSKR() {
        return SKR;
    }

    public void setFHR(String FHR) {
        this.FHR = FHR;
    }

    public String getFHR() {
        return FHR;
    }

    public void setYFPDM(String YFPDM) {
        this.YFPDM = YFPDM;
    }

    public String getYFPDM() {
        return YFPDM;
    }

    public void setYFPHM(String YFPHM) {
        this.YFPHM = YFPHM;
    }

    public String getYFPHM() {
        return YFPHM;
    }

    public void setQDBZ(String QDBZ) {
        this.QDBZ = QDBZ;
    }

    public String getQDBZ() {
        return QDBZ;
    }

    public void setQDXMMC(String QDXMMC) {
        this.QDXMMC = QDXMMC;
    }

    public String getQDXMMC() {
        return QDXMMC;
    }

    public void setJSHJ(String JSHJ) {
        this.JSHJ = JSHJ;
    }

    public String getJSHJ() {
        return JSHJ;
    }

    public void setHJJE(String HJJE) {
        this.HJJE = HJJE;
    }

    public String getHJJE() {
        return HJJE;
    }

    public void setHJSE(String HJSE) {
        this.HJSE = HJSE;
    }

    public String getHJSE() {
        return HJSE;
    }

    public void setBZ(String BZ) {
        this.BZ = BZ;
    }

    public String getBZ() {
        return BZ;
    }

    public void setCHYY(String CHYY) {
        this.CHYY = CHYY;
    }

    public String getCHYY() {
        return CHYY;
    }

    public void setTSCHBZ(String TSCHBZ) {
        this.TSCHBZ = TSCHBZ;
    }

    public String getTSCHBZ() {
        return TSCHBZ;
    }

    public void setDDH(String DDH) {
        this.DDH = DDH;
    }

    public String getDDH() {
        return DDH;
    }

    public void setTHDH(String THDH) {
        this.THDH = THDH;
    }

    public String getTHDH() {
        return THDH;
    }

    public void setDDSJ(String DDSJ) {
        this.DDSJ = DDSJ;
    }

    public String getDDSJ() {
        return DDSJ;
    }

    public void setYWLX(String YWLX) {
        this.YWLX = YWLX;
    }

    public String getYWLX() {
        return YWLX;
    }

    public void setHZXXBBH(String HZXXBBH) {
        this.HZXXBBH = HZXXBBH;
    }

    public String getHZXXBBH() {
        return HZXXBBH;
    }

    public void setSFCF(String SFCF) {
        this.SFCF = SFCF;
    }

    public String getSFCF() {
        return SFCF;
    }

    public void setBYZD1(String BYZD1) {
        this.BYZD1 = BYZD1;
    }

    public String getBYZD1() {
        return BYZD1;
    }

    public void setBYZD2(String BYZD2) {
        this.BYZD2 = BYZD2;
    }

    public String getBYZD2() {
        return BYZD2;
    }

    public void setBYZD3(String BYZD3) {
        this.BYZD3 = BYZD3;
    }

    public String getBYZD3() {
        return BYZD3;
    }

    public void setBYZD4(String BYZD4) {
        this.BYZD4 = BYZD4;
    }

    public String getBYZD4() {
        return BYZD4;
    }

    public void setBYZD5(String BYZD5) {
        this.BYZD5 = BYZD5;
    }

    public String getBYZD5() {
        return BYZD5;
    }

}