package pwc.taxtech.atms.dto.vatdto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import pwc.taxtech.atms.common.util.PwCDecimalSerialize;

import java.math.BigDecimal;
import java.util.List;

public class TrialBalanceDto {
    private String balanceId;
    private Integer periodId;
    private String acctCode;
    private String customerCode;
    @JsonSerialize(using = PwCDecimalSerialize.class)
    private BigDecimal begDebitBal;
    @JsonSerialize(using = PwCDecimalSerialize.class)
    private BigDecimal begCreditBal;
    @JsonSerialize(using = PwCDecimalSerialize.class)
    private BigDecimal begBal;
    @JsonSerialize(using = PwCDecimalSerialize.class)
    private BigDecimal endBal;
    @JsonSerialize(using = PwCDecimalSerialize.class)
    private BigDecimal endDebitBal;
    @JsonSerialize(using = PwCDecimalSerialize.class)
    private BigDecimal endCreditBal;
    @JsonSerialize(using = PwCDecimalSerialize.class)
    private BigDecimal debitBal;
    @JsonSerialize(using = PwCDecimalSerialize.class)
    private BigDecimal creditBal;
    private Integer monthId;
    @JsonSerialize(using = PwCDecimalSerialize.class)
    private BigDecimal yearDebitBal;
    @JsonSerialize(using = PwCDecimalSerialize.class)
    private BigDecimal yearCreditBal;
    private String parentCode;
    private String accountName;
    private boolean isDuplicate;
    private Integer acctProp;
    private int direction;
    private List<TrialBalanceDto> children;

    public String getBalanceId() {
        return this.balanceId;
    }

    public void setBalanceId(String balanceId) {
        this.balanceId = balanceId;
    }

    public Integer getPeriodId() {
        return this.periodId;
    }

    public void setPeriodId(Integer periodId) {
        this.periodId = periodId;
    }

    public String getAcctCode() {
        return this.acctCode;
    }

    public void setAcctCode(String acctCode) {
        this.acctCode = acctCode;
    }

    public String getCustomerCode() {
        return this.customerCode;
    }

    public void setCustomerCode(String customerCode) {
        this.customerCode = customerCode;
    }


    public BigDecimal getBegDebitBal() {
        return this.begDebitBal;
    }

    public void setBegDebitBal(BigDecimal begDebitBal) {
        this.begDebitBal = begDebitBal;
    }


    public BigDecimal getBegCreditBal() {
        return this.begCreditBal;
    }

    public void setBegCreditBal(BigDecimal begCreditBal) {
        this.begCreditBal = begCreditBal;
    }


    public BigDecimal getBegBal() {
        return this.begBal;
    }

    public void setBegBal(BigDecimal begBal) {
        this.begBal = begBal;
    }


    public BigDecimal getEndBal() {
        return this.endBal;
    }

    public void setEndBal(BigDecimal endBal) {
        this.endBal = endBal;
    }


    public BigDecimal getEndDebitBal() {
        return this.endDebitBal;
    }

    public void setEndDebitBal(BigDecimal endDebitBal) {
        this.endDebitBal = endDebitBal;
    }


    public BigDecimal getEndCreditBal() {
        return this.endCreditBal;
    }

    public void setEndCreditBal(BigDecimal endCreditBal) {
        this.endCreditBal = endCreditBal;
    }


    public BigDecimal getDebitBal() {
        return this.debitBal;
    }

    public void setDebitBal(BigDecimal debitBal) {
        this.debitBal = debitBal;
    }


    public BigDecimal getCreditBal() {
        return this.creditBal;
    }

    public void setCreditBal(BigDecimal creditBal) {
        this.creditBal = creditBal;
    }

    public Integer getMonthId() {
        return this.monthId;
    }

    public void setMonthId(Integer monthId) {
        this.monthId = monthId;
    }


    public BigDecimal getYearDebitBal() {
        return this.yearDebitBal;
    }

    public void setYearDebitBal(BigDecimal yearDebitBal) {
        this.yearDebitBal = yearDebitBal;
    }


    public BigDecimal getYearCreditBal() {
        return this.yearCreditBal;
    }

    public void setYearCreditBal(BigDecimal yearCreditBal) {
        this.yearCreditBal = yearCreditBal;
    }

    public String getParentCode() {
        return this.parentCode;
    }

    public void setParentCode(String parentCode) {
        this.parentCode = parentCode;
    }

    public String getAccountName() {
        return this.accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public boolean getIsDuplicate() {
        return this.isDuplicate;
    }

    public void setIsDuplicate(boolean duplicate) {
        this.isDuplicate = duplicate;
    }

    public Integer getAcctProp() {
        return this.acctProp;
    }

    public void setAcctProp(Integer acctProp) {
        this.acctProp = acctProp;
    }

    public int getDirection() {
        return this.direction;
    }

    public void setDirection(int direction) {
        this.direction = direction;
    }

    public List<TrialBalanceDto> getChildren() {
        return this.children;
    }

    public void setChildren(List<TrialBalanceDto> children) {
        this.children = children;
    }
}