凭证套打类,注意如何更新IRowSet结果集。

/*jadclipse*/// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.

package com.kingdee.eas.fi.gl.client;

import com.kingdee.bos.BOSException;
import com.kingdee.bos.ctrl.kdf.data.datasource.BOSQueryDataSource;
import com.kingdee.bos.ctrl.kdf.data.impl.BOSQueryDelegate;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
import com.kingdee.bos.util.BOSUuid;
import com.kingdee.eas.basedata.assistant.*;
import com.kingdee.eas.basedata.master.account.*;
import com.kingdee.eas.basedata.master.account.AccountProperty;
import com.kingdee.eas.basedata.master.auxacct.*;
import com.kingdee.eas.basedata.master.cssp.CustomerInfo;
import com.kingdee.eas.basedata.org.CompanyOrgUnitInfo;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.eas.common.SysConstant;
import com.kingdee.eas.common.client.SysContext;
import com.kingdee.eas.fi.gl.*;
import com.kingdee.eas.fi.gl.common.GLResUtil;
import com.kingdee.eas.util.SysUtil;
import com.kingdee.eas.util.client.EASResource;
import com.kingdee.jdbc.rowset.IRowSet;
import com.kingdee.jdbc.rowset.IRowSetMetaData;
import com.kingdee.jdbc.rowset.impl.ColInfo;
import com.kingdee.jdbc.rowset.impl.DynamicRowSet;
import java.math.BigDecimal;
import java.sql.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import org.apache.velocity.util.StringUtils;

// Referenced classes of package com.kingdee.eas.fi.gl.client:
//            VoucherEditParam

public class VoucherRowSetProvider
    implements BOSQueryDelegate
{

    public VoucherRowSetProvider(VoucherCollection vc, VoucherEditParam editParam)
    {
        vchType = null;
        this.editParam = null;
        needCpmputeAsst = false;
        vchCol = vc;
        this.editParam = editParam;
    }

    public IRowSet execute(BOSQueryDataSource ds)
    {
        IRowSet rs = null;
        int i = 4;
        do
        {
            if(i > 30)
                break;
            if(("dsStandard" + i).equalsIgnoreCase(ds.getID()))
            {
                rs = getRowSet(false, i);
                break;
            }
            if(("flowStandard" + i).equalsIgnoreCase(ds.getID()))
            {
                rs = getRowSetFlow(false, i);
                break;
            }
            if(("ds1_Standard" + i).equalsIgnoreCase(ds.getID()))
            {
                rs = getRowSet(true, i);
                break;
            }
            if(("flow1_Standard" + i).equalsIgnoreCase(ds.getID()))
            {
                rs = getRowSetFlow(true, i);
                break;
            }
            if(("ds2_subtotal" + i).equalsIgnoreCase(ds.getID()))
            {
                rs = getRowSet2(i);
                break;
            }
            if(("ds" + i).equalsIgnoreCase(ds.getID()))
            {
                rs = getRowSet3(i);
                break;
            }
            if(("voucher_ds" + i).equalsIgnoreCase(ds.getID()))
            {
                rs = getRowSet4(i);
                break;
            }
            if(("vchFlow" + i).equalsIgnoreCase(ds.getID()))
            {
                rs = getRowSet5(i);
                break;
            }
            i++;
        } while(true);
        return rs;
    }

    public IRowSet getRowSet(boolean pltype, int rowLineCount)
    {
        java.util.Locale locale = SysContext.getSysContext().getLocale();
        DateFormat df = new SimpleDateFormat(EASResource.getString("com.kingdee.eas.fi.gl.GLAutoGenerateResource", "20_RptAsstactXBalanceUI"));
        DateFormat dft = DateFormat.getDateTimeInstance(2, 2, locale);
        int colCount = col.length;
        DynamicRowSet drs = null;
        boolean bInserRow = false;
        try
        {
            drs = new DynamicRowSet(colCount);
            for(int i = 0; i < colCount; i++)
            {
                ColInfo ci = new ColInfo();
                ci.colType = 12;
                ci.columnName = col[i];
                ci.nullable = 1;
                drs.setColInfo(i + 1, ci);
            }

            drs.beforeFirst();
            Iterator itrVch = vchCol.iterator();
            int size = vchCol.size();
            BigDecimal allDeit = SysConstant.BIGZERO;
            BigDecimal allCret = SysConstant.BIGZERO;
            int vchCount = 0;
            while(itrVch.hasNext()) 
            {
                VoucherInfo vch = (VoucherInfo)itrVch.next();
                if(pltype && computerVoucherType(vch))
                    vch = changeVoucher(vch);
                String vchId = Integer.toString(++vchCount);
                CompanyOrgUnitInfo com = vch.getCompany();
                CurrencyInfo localCurrency = com.getBaseCurrency();
                int lcpre = localCurrency.getPrecision();
                CurrencyInfo reportingCurrency = com.getReportCurrency();
                int rcpre = reportingCurrency.getPrecision();
                allDeit = vch.getLocalDebitAmount();
                allCret = vch.getLocalCreditAmount();
                Iterator itrEntry = vch.getEntries().iterator();
                EntryDC entryDC = null;
                int entrySize = vch.getEntries().size();
                int voucherCount = 0;
                if(entrySize % rowLineCount == 0)
                    voucherCount = entrySize / rowLineCount;
                else
                    voucherCount = entrySize / rowLineCount + 1;
                int entryCount = 1;
                while(itrEntry.hasNext()) 
                {
                    VoucherEntryInfo e = (VoucherEntryInfo)itrEntry.next();
                    EntryDC dc = e.getEntryDC();
                    drs.moveToInsertRow();
                    clearRow(drs);
                    fillVoucherHeaderData(vch, drs, df, dft, size, allDeit, allCret);
                    fillVoucherEntryData(vchId, e, drs, lcpre, rcpre);
                    entryCount++;
                    int page = 0;
                    if(entryCount % rowLineCount == 0)
                        page = entryCount / rowLineCount;
                    else
                        page = entryCount / rowLineCount + 1;
                    drs.updateString("pageCount", page + "/" + voucherCount);
                    drs.updateString("pageCurrent", page + "");
                    drs.updateString("pageTotal", "" + voucherCount);
                    drs.updateString("bizStatus", vch.getBizStatus().toString());
                    drs.updateString("attachments", Integer.toString(vch.getAttachments()));
                    drs.updateString("attachmentsChinese", GlUtils.getChineseBig(vch.getAttachments()));
                    if(page == voucherCount)
                    {
                        drs.updateString("creditTotal", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                        drs.updateString("debitTotal", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                        drs.updateString("localAmountDebit", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                        drs.updateString("localAmountCredit", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                        drs.updateString("reportingAmountDebit", GlUtils.formatNumber(vch.getReportingDebitAmount(), lcpre));
                        drs.updateString("reportingAmountCredit", GlUtils.formatNumber(vch.getReportingCreditAmount(), lcpre));
                        drs.updateString("amountTotalChinese", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                        drs.updateString("amountTotal", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                    }
                    drs.insertRow();
                }
            }
            drs.beforeFirst();
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
            return null;
        }
        return drs;
    }

    public IRowSet getRowSetFlow(boolean pltype, int rowLineCount)
    {
        java.util.Locale locale = SysContext.getSysContext().getLocale();
        DateFormat df = new SimpleDateFormat(EASResource.getString("com.kingdee.eas.fi.gl.GLAutoGenerateResource", "20_RptAsstactXBalanceUI"));
        DateFormat dft = DateFormat.getDateTimeInstance(2, 2, locale);
        int colCount = col.length;
        DynamicRowSet drs = null;
        CashflowRecordCollection cashflowRecordsCollection = null;
        try
        {
            drs = new DynamicRowSet(colCount);
            for(int i = 0; i < colCount; i++)
            {
                ColInfo ci = new ColInfo();
                ci.colType = 12;
                ci.columnName = col[i];
                ci.nullable = 1;
                drs.setColInfo(i + 1, ci);
            }

            drs.beforeFirst();
            Iterator itrVch = vchCol.iterator();
            int size = vchCol.size();
            BigDecimal allDeit = SysConstant.BIGZERO;
            BigDecimal allCret = SysConstant.BIGZERO;
            int vchCount = 0;
            while(itrVch.hasNext()) 
            {
                VoucherInfo vch = (VoucherInfo)itrVch.next();
                if(pltype && computerVoucherType(vch))
                    vch = changeVoucher(vch);
                String vchId = Integer.toString(++vchCount);
                CompanyOrgUnitInfo com = vch.getCompany();
                CurrencyInfo localCurrency = com.getBaseCurrency();
                int lcpre = localCurrency.getPrecision();
                CurrencyInfo reportingCurrency = com.getReportCurrency();
                int rcpre = reportingCurrency.getPrecision();
                allDeit = vch.getLocalDebitAmount();
                allCret = vch.getLocalCreditAmount();
                Iterator itrEntry = vch.getEntries().iterator();
                EntryDC entryDC = null;
                int entrySize = vch.getEntries().size();
                int voucherCount = 0;
                if(entrySize % rowLineCount == 0)
                    voucherCount = entrySize / rowLineCount;
                else
                    voucherCount = entrySize / rowLineCount + 1;
                int entryCount = 1;
                while(itrEntry.hasNext()) 
                {
                    VoucherEntryInfo e = (VoucherEntryInfo)itrEntry.next();
                    EntryDC dc = e.getEntryDC();
                    drs.moveToInsertRow();
                    clearRow(drs);
                    fillVoucherHeaderData(vch, drs, df, dft, size, allDeit, allCret);
                    fillVoucherEntryData(vchId, e, drs, lcpre, rcpre);
                    entryCount++;
                    int page = 0;
                    if(entryCount % rowLineCount == 0)
                        page = entryCount / rowLineCount;
                    else
                        page = entryCount / rowLineCount + 1;
                    drs.updateString("pageCount", page + "/" + voucherCount);
                    drs.updateString("pageCurrent", page + "");
                    drs.updateString("pageTotal", "" + voucherCount);
                    drs.updateString("bizStatus", vch.getBizStatus().toString());
                    drs.updateString("attachments", Integer.toString(vch.getAttachments()));
                    drs.updateString("attachmentsChinese", GlUtils.getChineseBig(vch.getAttachments()));
                    if(page == voucherCount)
                    {
                        drs.updateString("creditTotal", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                        drs.updateString("debitTotal", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                        drs.updateString("localAmountDebit", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                        drs.updateString("localAmountCredit", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                        drs.updateString("reportingAmountDebit", GlUtils.formatNumber(vch.getReportingDebitAmount(), lcpre));
                        drs.updateString("reportingAmountCredit", GlUtils.formatNumber(vch.getReportingCreditAmount(), lcpre));
                        drs.updateString("amountTotalChinese", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                        drs.updateString("amountTotal", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                    }
                    if(chkPrintCashFlow)
                        printCashflow(drs, e, null, lcpre);
                    drs.insertRow();
                }
            }
            drs.beforeFirst();
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
            return null;
        }
        return drs;
    }

    public IRowSet getRowSet2(int rowLineCount)
    {
        java.util.Locale locale = SysContext.getSysContext().getLocale();
        DateFormat df = new SimpleDateFormat(EASResource.getString("com.kingdee.eas.fi.gl.GLAutoGenerateResource", "20_RptAsstactXBalanceUI"));
        DateFormat dft = DateFormat.getDateTimeInstance(2, 2, locale);
        int colCount = col.length;
        DynamicRowSet drs = null;
        IAssistantHG assistantHG = null;
        IVoucherAssistRecord asstre = null;
        try
        {
            drs = new DynamicRowSet(colCount);
            for(int i = 0; i < colCount; i++)
            {
                ColInfo ci = new ColInfo();
                ci.colType = 12;
                ci.columnName = col[i];
                ci.nullable = 1;
                drs.setColInfo(i + 1, ci);
            }

            drs.beforeFirst();
            Iterator itrVch = vchCol.iterator();
            int size = vchCol.size();
            BigDecimal allDeit = SysConstant.BIGZERO;
            BigDecimal allCret = SysConstant.BIGZERO;
            int vchCount = 0;
            while(itrVch.hasNext()) 
            {
                VoucherInfo vch = (VoucherInfo)itrVch.next();
                String vchId = Integer.toString(++vchCount);
                CompanyOrgUnitInfo com = vch.getCompany();
                CurrencyInfo localCurrency = com.getBaseCurrency();
                int lcpre = localCurrency.getPrecision();
                CurrencyInfo reportingCurrency = com.getReportCurrency();
                int rcpre = reportingCurrency.getPrecision();
                allDeit = vch.getLocalDebitAmount();
                allCret = vch.getLocalCreditAmount();
                Iterator itr = vch.getEntries().iterator();
                int entrySize = 0;
                int seq = 0;
                while(itr.hasNext()) 
                {
                    VoucherEntryInfo e = (VoucherEntryInfo)itr.next();
                    seq = e.getSeq();
                    VoucherAssistRecordCollection assitCollection = e.getAssistRecords();
                    if(assitCollection != null && assitCollection.size() > 0 && chkAssistant)
                        entrySize += assitCollection.size();
                    else
                        entrySize++;
                }
                Iterator itrEntry = vch.getEntries().iterator();
                EntryDC entryDC = null;
                int voucherCount = 0;
                if((entrySize + seq) % rowLineCount == 0)
                    voucherCount = (entrySize + seq) / rowLineCount;
                else
                    voucherCount = (entrySize + seq) / rowLineCount + 1;
                int entryCount = 1;
                while(itrEntry.hasNext()) 
                {
                    VoucherEntryInfo e = (VoucherEntryInfo)itrEntry.next();
                    VoucherAssistRecordCollection assitCollection = e.getAssistRecords();
                    EntryDC dc = e.getEntryDC();
                    int asstCount = 0;
                    int page;
                    if(assitCollection != null && assitCollection.size() > 0 && chkAssistant)
                    {
                        for(Iterator itrASST = assitCollection.iterator(); itrASST.hasNext(); drs.insertRow())
                        {
                            VoucherAssistRecordInfo r = (VoucherAssistRecordInfo)itrASST.next();
                            drs.moveToInsertRow();
                            clearRow(drs);
                            fillVoucherHeaderData(vch, drs, df, dft, size, allDeit, allCret);
                            fillVoucherEntryData(vchId, e, drs, lcpre, rcpre);
                            if(chkAssistant)
                                fillVoucherASSTData(r, drs, df, lcpre, dc, assistantHG, asstre, e);
                            if(++asstCount > 1)
                            {
                                drs.updateString("e_seq", " ");
                                drs.updateString("e_account", null);
                                drs.updateString("e_account1", null);
                            }
                            entryCount++;
                             page = 0;
                            if(entryCount % rowLineCount == 0)
                                page = entryCount / rowLineCount;
                            else
                                page = entryCount / rowLineCount + 1;
                            drs.updateString("pageCount", page + "/" + voucherCount);
                            drs.updateString("pageCurrent", page + "");
                            drs.updateString("pageTotal", "" + voucherCount);
                            drs.updateString("bizStatus", vch.getBizStatus().toString());
                            drs.updateString("attachments", Integer.toString(vch.getAttachments()));
                            drs.updateString("attachmentsChinese", GlUtils.getChineseBig(vch.getAttachments()));
                            if(page == voucherCount)
                            {
                                drs.updateString("debitTotal", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                                drs.updateString("creditTotal", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                                drs.updateString("localAmountDebit", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                                drs.updateString("localAmountCredit", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                                drs.updateString("reportingAmountDebit", GlUtils.formatNumber(vch.getReportingDebitAmount(), lcpre));
                                drs.updateString("reportingAmountCredit", GlUtils.formatNumber(vch.getReportingCreditAmount(), lcpre));
                                drs.updateString("amountTotalChinese", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                                drs.updateString("amountTotal", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                                drs.updateString("sum", "");
                            }
                        }

                    } else
                    {
                        drs.moveToInsertRow();
                        clearRow(drs);
                        fillVoucherHeaderData(vch, drs, df, dft, size, allDeit, allCret);
                        fillVoucherEntryData(vchId, e, drs, lcpre, rcpre);
                        if(EntryDC.DEBIT.equals(dc))
                        {
                            drs.updateString("e_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("e_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("e_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                            drs.updateString("r_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("r_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                        } else
                        {
                            drs.updateString("e_localAmountCredit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("e_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("e_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                            drs.updateString("r_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_localAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                        }
                        entryCount++;
                        page = 0;
                        if(entryCount % rowLineCount == 0)
                            page = entryCount / rowLineCount;
                        else
                            page = entryCount / rowLineCount + 1;
                        drs.updateString("pageCount", page + "/" + voucherCount);
                        drs.updateString("pageCurrent", page + "");
                        drs.updateString("pageTotal", "" + voucherCount);
                        drs.updateString("bizStatus", vch.getBizStatus().toString());
                        drs.updateString("attachments", Integer.toString(vch.getAttachments()));
                        drs.updateString("attachmentsChinese", GlUtils.getChineseBig(vch.getAttachments()));
                        if(page == voucherCount)
                        {
                            drs.updateString("debitTotal", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                            drs.updateString("creditTotal", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                            drs.updateString("localAmountDebit", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                            drs.updateString("localAmountCredit", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                            drs.updateString("reportingAmountDebit", GlUtils.formatNumber(vch.getReportingDebitAmount(), lcpre));
                            drs.updateString("reportingAmountCredit", GlUtils.formatNumber(vch.getReportingCreditAmount(), lcpre));
                            drs.updateString("amountTotalChinese", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                            drs.updateString("amountTotal", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                            drs.updateString("sum", "");
                        }
                        drs.insertRow();
                    }
                    drs.moveToInsertRow();
                    drs.updateString("e_seq", "");
                    drs.updateString("e_description", "");
                    drs.updateString("e_account", "");
                    drs.updateString("e_account1", "");
                    drs.updateString("zc_account", "");
                    drs.updateString("e_currency", "");
                    drs.updateString("e_measureUnitName", "");
                    drs.updateString("e_measureUnitNumber", "");
                    drs.updateString("periodYear", "");
                    drs.updateString("periodNumber", "");
                    drs.updateString("bizDate", "");
                    drs.updateString("bookedDate", "");
                    drs.updateString("bookedDateYear", "");
                    drs.updateString("bookedDateMonth", "");
                    drs.updateString("r_description", "");
                    drs.updateString("r_settlementType", "");
                    drs.updateString("r_settlementCode", "");
                    drs.updateString("r_bizNumber", "");
                    drs.updateString("r_originalAmount", "");
                    drs.updateString("r_originalAmount", "");
                    drs.updateString("r_originalAmountDebit", "");
                    drs.updateString("r_localAmount", "");
                    drs.updateString("r_localAmountDebit", "");
                    drs.updateString("r_localAmountCredit", "");
                    drs.updateString("r_reportingAmount", "");
                    drs.updateString("r_reportingAmountDebit", "");
                    drs.updateString("r_reportingAmountCredit", "");
                    drs.updateString("r_measureUnitName", "");
                    drs.updateString("r_measureUnitNumber", "");
                    drs.updateString("r_price", "");
                    drs.updateString("r_quantity", "");
                    drs.updateString("r_bizDate", "");
                    drs.updateString("r_invoice", "");
                    drs.updateString("r_endDate", "");
                    drs.updateString("r_assGrp", "");
                    drs.updateString("r_longName", "");
                    drs.updateString("r_accountAsst", "");
                    drs.updateString("r_AsstHeadNumber", "");
                    drs.updateString("r_AsstNumber", "");
                    drs.updateString("r_AsstHeadName", "");
                    drs.updateString("r_AsstName", "");
                    drs.updateString("r_AsstLevelName", "");
                    drs.updateString("zc_assGrp", "");
                    drs.updateString("c_item", "");
                    drs.updateString("c_itemEbb", "");
                    drs.updateString("c_primItem", "");
                    drs.updateString("c_suppItem", "");
                    drs.updateString("c_oppAccount", "");
                    drs.updateString("c_originalAmount", "");
                    drs.updateString("c_localAmount", "");
                    drs.updateString("c_reportingAmount", "");
                    drs.updateString("c_primItemName", "");
                    drs.updateString("c_suppItemName", "");
                    drs.updateString("customer.number", "");
                    drs.updateString("customer.name", "");
                    drs.updateString("cusNumberName", "");
                    drs.updateString("vchId", vchId);
                    drs.updateString("e_isoCode", GLResUtil.getRes("subtotal"));
                    if(EntryDC.DEBIT.equals(dc))
                    {
                        drs.updateString("e_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                        drs.updateString("e_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                        drs.updateString("e_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                        drs.updateString("r_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                        drs.updateString("r_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                        drs.updateString("r_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                    } else
                    {
                        drs.updateString("e_localAmountCredit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                        drs.updateString("e_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                        drs.updateString("e_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                        drs.updateString("r_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                        drs.updateString("r_localAmountCredit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                        drs.updateString("r_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                    }
                    entryCount++;
                    page = 0;
                    if(entryCount % rowLineCount == 0)
                        page = entryCount / rowLineCount;
                    else
                        page = entryCount / rowLineCount + 1;
                    drs.updateString("pageCount", page + "/" + voucherCount);
                    drs.updateString("pageCurrent", page + "");
                    drs.updateString("pageTotal", "" + voucherCount);
                    drs.updateString("bizStatus", vch.getBizStatus().toString());
                    drs.updateString("attachments", Integer.toString(vch.getAttachments()));
                    drs.updateString("attachmentsChinese", GlUtils.getChineseBig(vch.getAttachments()));
                    if(page == voucherCount)
                    {
                        drs.updateString("debitTotal", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                        drs.updateString("creditTotal", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                        drs.updateString("localAmountDebit", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                        drs.updateString("localAmountCredit", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                        drs.updateString("reportingAmountDebit", GlUtils.formatNumber(vch.getReportingDebitAmount(), lcpre));
                        drs.updateString("reportingAmountCredit", GlUtils.formatNumber(vch.getReportingCreditAmount(), lcpre));
                        drs.updateString("amountTotalChinese", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                        drs.updateString("amountTotal", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                    }
                    drs.insertRow();
                }
            }
            drs.beforeFirst();
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
            return null;
        }
        return drs;
    }

    public IRowSet getRowSet3(int rowLineCount)
    {
        java.util.Locale locale = SysContext.getSysContext().getLocale();
        DateFormat df = new SimpleDateFormat(EASResource.getString("com.kingdee.eas.fi.gl.GLAutoGenerateResource", "20_RptAsstactXBalanceUI"));
        DateFormat dft = DateFormat.getDateTimeInstance(2, 2, locale);
        int colCount = col.length;
        DynamicRowSet drs = null;
        IAssistantHG assistantHG = null;
        IVoucherAssistRecord asstre = null;
        VoucherEntryInfo e = null;
        CashflowRecordCollection cashflowRecordsCollection = null;
        try
        {
            drs = new DynamicRowSet(colCount);
            for(int i = 0; i < colCount; i++)
            {
                ColInfo ci = new ColInfo();
                ci.colType = 12;
                ci.columnName = col[i];
                ci.nullable = 1;
                drs.setColInfo(i + 1, ci);
            }

            drs.beforeFirst();
            Iterator itrVch = vchCol.iterator();
            int size = vchCol.size();
            BigDecimal allDeit = SysConstant.BIGZERO;
            BigDecimal allCret = SysConstant.BIGZERO;
            int vchCount = 0;
            while(itrVch.hasNext()) 
            {
                VoucherInfo vch = (VoucherInfo)itrVch.next();
                String vchId = Integer.toString(++vchCount);
                CompanyOrgUnitInfo com = vch.getCompany();
                CurrencyInfo localCurrency = com.getBaseCurrency();
                int lcpre = localCurrency.getPrecision();
                CurrencyInfo reportingCurrency = com.getReportCurrency();
                int rcpre = reportingCurrency.getPrecision();
                allDeit = vch.getLocalDebitAmount();
                allCret = vch.getLocalCreditAmount();
                Iterator itr = vch.getEntries().iterator();
                int entrySize = 0;
                while(itr.hasNext()) 
                {
                    e = (VoucherEntryInfo)itr.next();
                    VoucherAssistRecordCollection assitCollection = e.getAssistRecords();
                    if(assitCollection != null && assitCollection.size() > 0 && chkAssistant)
                        entrySize += assitCollection.size();
                    else
                        entrySize++;
                }
                Iterator itrEntry = vch.getEntries().iterator();
                EntryDC entryDC = null;
                int rowCount = 0;
                int voucherCount = 0;
                if(entrySize % rowLineCount == 0)
                    voucherCount = entrySize / rowLineCount;
                else
                    voucherCount = entrySize / rowLineCount + 1;
                int entryCount = 0;
                while(itrEntry.hasNext()) 
                {
                    e = (VoucherEntryInfo)itrEntry.next();
                    VoucherAssistRecordCollection assitCollection = e.getAssistRecords();
                    EntryDC dc = e.getEntryDC();
                    int asstCount = 0;
                    if(assitCollection != null && assitCollection.size() > 0 && chkAssistant)
                    {
                        Iterator itrASST = assitCollection.iterator();
                        while(itrASST.hasNext()) 
                        {
                            VoucherAssistRecordInfo r = (VoucherAssistRecordInfo)itrASST.next();
                            drs.moveToInsertRow();
                            clearRow(drs);
                            fillVoucherHeaderData(vch, drs, df, dft, size, allDeit, allCret);
                            fillVoucherEntryData(vchId, e, drs, lcpre, rcpre);
                            if(chkAssistant)
                                fillVoucherASSTData(r, drs, df, lcpre, dc, assistantHG, asstre, e);
                            if(++asstCount > 1)
                                drs.updateString("e_seq", " ");
                            entryCount++;
                            int page = 0;
                            if(entryCount % rowLineCount == 0)
                                page = entryCount / rowLineCount;
                            else
                                page = entryCount / rowLineCount + 1;
                            drs.updateString("pageCount", page + "/" + voucherCount);
                            drs.updateString("pageCurrent", page + "");
                            drs.updateString("pageTotal", "" + voucherCount);
                            drs.updateString("bizStatus", vch.getBizStatus().toString());
                            drs.updateString("attachments", Integer.toString(vch.getAttachments()));
                            drs.updateString("attachmentsChinese", GlUtils.getChineseBig(vch.getAttachments()));
                            if(page == voucherCount)
                            {
                                drs.updateString("debitTotal", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                                drs.updateString("creditTotal", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                                drs.updateString("localAmountDebit", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                                drs.updateString("localAmountCredit", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                                drs.updateString("reportingAmountDebit", GlUtils.formatNumber(vch.getReportingDebitAmount(), lcpre));
                                drs.updateString("reportingAmountCredit", GlUtils.formatNumber(vch.getReportingCreditAmount(), lcpre));
                                drs.updateString("amountTotalChinese", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                                drs.updateString("amountTotal", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                            }
                            drs.insertRow();
                        }
                    } else
                    {
                        drs.moveToInsertRow();
                        clearRow(drs);
                        fillVoucherHeaderData(vch, drs, df, dft, size, allDeit, allCret);
                        fillVoucherEntryData(vchId, e, drs, lcpre, rcpre);
                        if(EntryDC.DEBIT.equals(dc))
                        {
                            drs.updateString("e_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("e_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("e_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                            drs.updateString("r_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("r_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                        } else
                        {
                            drs.updateString("e_localAmountCredit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("e_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("e_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                            drs.updateString("r_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_localAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                        }
                        entryCount++;
                        int page = 0;
                        if(entryCount % rowLineCount == 0)
                            page = entryCount / rowLineCount;
                        else
                            page = entryCount / rowLineCount + 1;
                        drs.updateString("pageCount", page + "/" + voucherCount);
                        drs.updateString("pageCurrent", page + "");
                        drs.updateString("pageTotal", "" + voucherCount);
                        drs.updateString("bizStatus", vch.getBizStatus().toString());
                        drs.updateString("attachments", Integer.toString(vch.getAttachments()));
                        drs.updateString("attachmentsChinese", GlUtils.getChineseBig(vch.getAttachments()));
                        if(page == voucherCount)
                        {
                            drs.updateString("debitTotal", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                            drs.updateString("creditTotal", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                            drs.updateString("localAmountDebit", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                            drs.updateString("localAmountCredit", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                            drs.updateString("reportingAmountDebit", GlUtils.formatNumber(vch.getReportingDebitAmount(), lcpre));
                            drs.updateString("reportingAmountCredit", GlUtils.formatNumber(vch.getReportingCreditAmount(), lcpre));
                            drs.updateString("amountTotalChinese", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                            drs.updateString("amountTotal", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                        }
                        drs.insertRow();
                    }
                }
            }
            drs.beforeFirst();
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
            return null;
        }
        return drs;
    }

    public IRowSet getRowSet4(int rowLineCount)
    {
        java.util.Locale locale = SysContext.getSysContext().getLocale();
        DateFormat df = new SimpleDateFormat(EASResource.getString("com.kingdee.eas.fi.gl.GLAutoGenerateResource", "20_RptAsstactXBalanceUI"));
        DateFormat dft = DateFormat.getDateTimeInstance(2, 2, locale);
        int colCount = col.length;
        DynamicRowSet drs = null;
        IAssistantHG assistantHG = null;
        IVoucherAssistRecord asstre = null;
        try
        {
            drs = new DynamicRowSet(colCount);
            for(int i = 0; i < colCount; i++)
            {
                ColInfo ci = new ColInfo();
                ci.colType = 12;
                ci.columnName = col[i];
                ci.nullable = 1;
                drs.setColInfo(i + 1, ci);
            }

            drs.beforeFirst();
            Iterator itrVch = vchCol.iterator();
            int size = vchCol.size();
            BigDecimal allDeit = SysConstant.BIGZERO;
            BigDecimal allCret = SysConstant.BIGZERO;
            int vchCount = 0;
            while(itrVch.hasNext()) 
            {
                VoucherInfo vch = (VoucherInfo)itrVch.next();
                String vchId = Integer.toString(++vchCount);
                CompanyOrgUnitInfo com = vch.getCompany();
                CurrencyInfo localCurrency = com.getBaseCurrency();
                int lcpre = localCurrency.getPrecision();
                CurrencyInfo reportingCurrency = com.getReportCurrency();
                int rcpre = reportingCurrency.getPrecision();
                allDeit = vch.getLocalDebitAmount();
                allCret = vch.getLocalCreditAmount();
                Iterator itr = vch.getEntries().iterator();
                int entrySize = 0;
                while(itr.hasNext()) 
                {
                    VoucherEntryInfo e = (VoucherEntryInfo)itr.next();
                    VoucherAssistRecordCollection assitCollection = e.getAssistRecords();
                    if(assitCollection != null && assitCollection.size() > 0 && chkAssistant)
                        entrySize += assitCollection.size();
                    else
                        entrySize++;
                }
                Iterator itrEntry = vch.getEntries().iterator();
                EntryDC entryDC = null;
                int rowCount = 0;
                int voucherCount = 0;
                if(entrySize % rowLineCount == 0)
                    voucherCount = entrySize / rowLineCount;
                else
                    voucherCount = entrySize / rowLineCount + 1;
                int entryCount = 0;
                BigDecimal creditTotal = GlUtils.zero;
                BigDecimal debitTotal = GlUtils.zero;
                HashMap creditmap = new HashMap();
                HashMap debitmap = new HashMap();
                itr = vch.getEntries().iterator();
label0:
                do
                {
                    if(!itr.hasNext())
                        break;
                    VoucherEntryInfo e = (VoucherEntryInfo)itr.next();
                    EntryDC dc = e.getEntryDC();
                    VoucherAssistRecordCollection assitCollection = e.getAssistRecords();
                    if(assitCollection != null && assitCollection.size() > 0 && chkAssistant)
                    {
                        Iterator itrASST = assitCollection.iterator();
                        do
                        {
                            int page;
                            do
                            {
                                if(!itrASST.hasNext())
                                    continue label0;
                                VoucherAssistRecordInfo r = (VoucherAssistRecordInfo)itrASST.next();
                                entryCount++;
                                page = 0;
                                if(entryCount % rowLineCount == 0)
                                    page = entryCount / rowLineCount;
                                else
                                    page = entryCount / rowLineCount + 1;
                                if(entryCount % rowLineCount == 1)
                                {
                                    creditTotal = GlUtils.zero;
                                    debitTotal = GlUtils.zero;
                                }
                                if(EntryDC.DEBIT.equals(dc))
                                    debitTotal = debitTotal.add(r.getLocalAmount());
                                else
                                    creditTotal = creditTotal.add(r.getLocalAmount());
                            } while(entryCount % rowLineCount != 0);
                            creditmap.put(String.valueOf(page), creditTotal);
                            debitmap.put(String.valueOf(page), debitTotal);
                        } while(true);
                    }
                    entryCount++;
                    int page = 0;
                    if(entryCount % rowLineCount == 0)
                        page = entryCount / rowLineCount;
                    else
                        page = entryCount / rowLineCount + 1;
                    if(entryCount % rowLineCount == 1)
                    {
                        creditTotal = GlUtils.zero;
                        debitTotal = GlUtils.zero;
                    }
                    if(EntryDC.DEBIT.equals(dc))
                        debitTotal = debitTotal.add(e.getLocalAmount());
                    else
                        creditTotal = creditTotal.add(e.getLocalAmount());
                    if(entryCount % rowLineCount == 0)
                    {
                        creditmap.put(String.valueOf(page), creditTotal);
                        debitmap.put(String.valueOf(page), debitTotal);
                    }
                } while(true);
                entryCount = 0;
                while(itrEntry.hasNext()) 
                {
                    VoucherEntryInfo e = (VoucherEntryInfo)itrEntry.next();
                    VoucherAssistRecordCollection assitCollection = e.getAssistRecords();
                    EntryDC dc = e.getEntryDC();
                    int asstCount = 0;
                    if(assitCollection != null && assitCollection.size() > 0 && chkAssistant)
                    {
                        Iterator itrASST = assitCollection.iterator();
                        while(itrASST.hasNext()) 
                        {
                            VoucherAssistRecordInfo r = (VoucherAssistRecordInfo)itrASST.next();
                            drs.moveToInsertRow();
                            clearRow(drs);
                            fillVoucherHeaderData(vch, drs, df, dft, size, allDeit, allCret);
                            fillVoucherEntryData(vchId, e, drs, lcpre, rcpre);
                            if(chkAssistant)
                                fillVoucherASSTData(r, drs, df, lcpre, dc, assistantHG, asstre, e);
                            if(++asstCount > 1)
                                drs.updateString("e_seq", " ");
                            entryCount++;
                            int page = 0;
                            if(entryCount % rowLineCount == 0)
                            {
                                page = entryCount / rowLineCount;
                            } else
                            {
                                page = entryCount / rowLineCount + 1;
                                if(entryCount % rowLineCount == 1)
                                {
                                    creditTotal = GlUtils.zero;
                                    debitTotal = GlUtils.zero;
                                }
                            }
                            if(EntryDC.DEBIT.equals(dc))
                                debitTotal = debitTotal.add(r.getLocalAmount());
                            else
                                creditTotal = creditTotal.add(r.getLocalAmount());
                            drs.updateString("pageCount", page + "/" + voucherCount);
                            drs.updateString("pageCurrent", page + "");
                            drs.updateString("pageTotal", "" + voucherCount);
                            drs.updateString("bizStatus", vch.getBizStatus().toString());
                            drs.updateString("attachments", Integer.toString(vch.getAttachments()));
                            drs.updateString("attachmentsChinese", GlUtils.getChineseBig(vch.getAttachments()));
                            if(page == voucherCount)
                            {
                                drs.updateString("debitTotal", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                                drs.updateString("creditTotal", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                                drs.updateString("localAmountDebit", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                                drs.updateString("localAmountCredit", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                                drs.updateString("reportingAmountDebit", GlUtils.formatNumber(vch.getReportingDebitAmount(), lcpre));
                                drs.updateString("reportingAmountCredit", GlUtils.formatNumber(vch.getReportingCreditAmount(), lcpre));
                                drs.updateString("amountTotalChinese", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                                drs.updateString("amountTotal", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                                drs.updateString("sum", "");
                            } else
                            {
                                drs.updateString("debitTotal", GlUtils.formatNumber((BigDecimal)debitmap.get(String.valueOf(page)), lcpre));
                                drs.updateString("creditTotal", GlUtils.formatNumber((BigDecimal)creditmap.get(String.valueOf(page)), lcpre));
                                drs.updateString("sum", GLResUtil.getRes("subtotal"));
                            }
                            drs.insertRow();
                        }
                    } else
                    {
                        drs.moveToInsertRow();
                        clearRow(drs);
                        fillVoucherHeaderData(vch, drs, df, dft, size, allDeit, allCret);
                        fillVoucherEntryData(vchId, e, drs, lcpre, rcpre);
                        if(EntryDC.DEBIT.equals(dc))
                        {
                            drs.updateString("e_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("e_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("e_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                            drs.updateString("r_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("r_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                        } else
                        {
                            drs.updateString("e_localAmountCredit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("e_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("e_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                            drs.updateString("r_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_localAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                        }
                        entryCount++;
                        int page = 0;
                        if(entryCount % rowLineCount == 0)
                        {
                            page = entryCount / rowLineCount;
                        } else
                        {
                            page = entryCount / rowLineCount + 1;
                            if(entryCount % rowLineCount == 1)
                            {
                                creditTotal = GlUtils.zero;
                                debitTotal = GlUtils.zero;
                            }
                        }
                        if(EntryDC.DEBIT.equals(dc))
                            debitTotal = debitTotal.add(e.getLocalAmount());
                        else
                            creditTotal = creditTotal.add(e.getLocalAmount());
                        drs.updateString("pageCount", page + "/" + voucherCount);
                        drs.updateString("pageCurrent", page + "");
                        drs.updateString("pageTotal", "" + voucherCount);
                        drs.updateString("bizStatus", vch.getBizStatus().toString());
                        drs.updateString("attachments", Integer.toString(vch.getAttachments()));
                        drs.updateString("attachmentsChinese", GlUtils.getChineseBig(vch.getAttachments()));
                        if(page == voucherCount)
                        {
                            drs.updateString("debitTotal", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                            drs.updateString("creditTotal", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                            drs.updateString("localAmountDebit", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                            drs.updateString("localAmountCredit", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                            drs.updateString("reportingAmountDebit", GlUtils.formatNumber(vch.getReportingDebitAmount(), lcpre));
                            drs.updateString("reportingAmountCredit", GlUtils.formatNumber(vch.getReportingCreditAmount(), lcpre));
                            drs.updateString("amountTotalChinese", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                            drs.updateString("amountTotal", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                            drs.updateString("sum", "");
                        } else
                        {
                            drs.updateString("debitTotal", GlUtils.formatNumber((BigDecimal)debitmap.get(String.valueOf(page)), lcpre));
                            drs.updateString("creditTotal", GlUtils.formatNumber((BigDecimal)creditmap.get(String.valueOf(page)), lcpre));
                            drs.updateString("sum", GLResUtil.getRes("subtotal"));
                        }
                        drs.insertRow();
                    }
                }
            }
            drs.beforeFirst();
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
            return null;
        }
        return drs;
    }

    public IRowSet getRowSet5(int rowLineCount)
    {
        java.util.Locale locale = SysContext.getSysContext().getLocale();
        DateFormat df = new SimpleDateFormat(EASResource.getString("com.kingdee.eas.fi.gl.GLAutoGenerateResource", "20_RptAsstactXBalanceUI"));
        DateFormat dft = DateFormat.getDateTimeInstance(2, 2, locale);
        int colCount = col.length;
        DynamicRowSet drs = null;
        IAssistantHG assistantHG = null;
        IVoucherAssistRecord asstre = null;
        boolean bInserRow = false;
        try
        {
            drs = new DynamicRowSet(colCount);
            for(int i = 0; i < colCount; i++)
            {
                ColInfo ci = new ColInfo();
                ci.colType = 12;
                ci.columnName = col[i];
                ci.nullable = 1;
                drs.setColInfo(i + 1, ci);
            }

            drs.beforeFirst();
            Iterator itrVch = vchCol.iterator();
            int size = vchCol.size();
            BigDecimal allDeit = SysConstant.BIGZERO;
            BigDecimal allCret = SysConstant.BIGZERO;
            int vchCount = 0;
            while(itrVch.hasNext()) 
            {
                VoucherInfo vch = (VoucherInfo)itrVch.next();
                String vchId = Integer.toString(++vchCount);
                CompanyOrgUnitInfo com = vch.getCompany();
                CurrencyInfo localCurrency = com.getBaseCurrency();
                int lcpre = localCurrency.getPrecision();
                CurrencyInfo reportingCurrency = com.getReportCurrency();
                int rcpre = reportingCurrency.getPrecision();
                allDeit = vch.getLocalDebitAmount();
                allCret = vch.getLocalCreditAmount();
                Iterator itr = vch.getEntries().iterator();
                int entrySize = 0;
                while(itr.hasNext()) 
                {
                    VoucherEntryInfo e = (VoucherEntryInfo)itr.next();
                    VoucherAssistRecordCollection assitCollection = e.getAssistRecords();
                    if(assitCollection != null && assitCollection.size() > 0 && chkAssistant)
                        entrySize += assitCollection.size();
                    else
                        entrySize++;
                }
                Iterator itrEntry = vch.getEntries().iterator();
                EntryDC entryDC = null;
                int rowCount = 0;
                int voucherCount = 0;
                if(entrySize % rowLineCount == 0)
                    voucherCount = entrySize / rowLineCount;
                else
                    voucherCount = entrySize / rowLineCount + 1;
                int entryCount = 0;
                BigDecimal creditTotal = GlUtils.zero;
                BigDecimal debitTotal = GlUtils.zero;
                HashMap creditmap = new HashMap();
                HashMap debitmap = new HashMap();
                itr = vch.getEntries().iterator();
label0:
                do
                {
                    if(!itr.hasNext())
                        break;
                    VoucherEntryInfo e = (VoucherEntryInfo)itr.next();
                    EntryDC dc = e.getEntryDC();
                    VoucherAssistRecordCollection assitCollection = e.getAssistRecords();
                    if(assitCollection != null && assitCollection.size() > 0 && chkAssistant)
                    {
                        Iterator itrASST = assitCollection.iterator();
                        do
                        {
                            int page;
                            do
                            {
                                if(!itrASST.hasNext())
                                    continue label0;
                                VoucherAssistRecordInfo r = (VoucherAssistRecordInfo)itrASST.next();
                                entryCount++;
                                page = 0;
                                if(entryCount % rowLineCount == 0)
                                    page = entryCount / rowLineCount;
                                else
                                    page = entryCount / rowLineCount + 1;
                                if(entryCount % rowLineCount == 1)
                                {
                                    creditTotal = GlUtils.zero;
                                    debitTotal = GlUtils.zero;
                                }
                                if(EntryDC.DEBIT.equals(dc))
                                    debitTotal = debitTotal.add(r.getLocalAmount());
                                else
                                    creditTotal = creditTotal.add(r.getLocalAmount());
                            } while(entryCount % rowLineCount != 0);
                            creditmap.put(String.valueOf(page), creditTotal);
                            debitmap.put(String.valueOf(page), debitTotal);
                        } while(true);
                    }
                    entryCount++;
                    int page = 0;
                    if(entryCount % rowLineCount == 0)
                        page = entryCount / rowLineCount;
                    else
                        page = entryCount / rowLineCount + 1;
                    if(entryCount % rowLineCount == 1)
                    {
                        creditTotal = GlUtils.zero;
                        debitTotal = GlUtils.zero;
                    }
                    if(EntryDC.DEBIT.equals(dc))
                        debitTotal = debitTotal.add(e.getLocalAmount());
                    else
                        creditTotal = creditTotal.add(e.getLocalAmount());
                    if(entryCount % rowLineCount == 0)
                    {
                        creditmap.put(String.valueOf(page), creditTotal);
                        debitmap.put(String.valueOf(page), debitTotal);
                    }
                } while(true);
                entryCount = 0;
                while(itrEntry.hasNext()) 
                {
                    VoucherEntryInfo e = (VoucherEntryInfo)itrEntry.next();
                    VoucherAssistRecordCollection assitCollection = e.getAssistRecords();
                    EntryDC dc = e.getEntryDC();
                    int asstCount = 0;
                    if(assitCollection != null && assitCollection.size() > 0 && chkAssistant)
                    {
                        Iterator itrASST = assitCollection.iterator();
                        while(itrASST.hasNext()) 
                        {
                            VoucherAssistRecordInfo r = (VoucherAssistRecordInfo)itrASST.next();
                            drs.moveToInsertRow();
                            clearRow(drs);
                            fillVoucherHeaderData(vch, drs, df, dft, size, allDeit, allCret);
                            fillVoucherEntryData(vchId, e, drs, lcpre, rcpre);
                            if(chkAssistant)
                                fillVoucherASSTData(r, drs, df, lcpre, dc, assistantHG, asstre, e);
                            if(++asstCount > 1)
                                drs.updateString("e_seq", " ");
                            entryCount++;
                            int page = 0;
                            if(entryCount % rowLineCount == 0)
                            {
                                page = entryCount / rowLineCount;
                            } else
                            {
                                page = entryCount / rowLineCount + 1;
                                if(entryCount % rowLineCount == 1)
                                {
                                    creditTotal = GlUtils.zero;
                                    debitTotal = GlUtils.zero;
                                }
                            }
                            if(EntryDC.DEBIT.equals(dc))
                                debitTotal = debitTotal.add(r.getLocalAmount());
                            else
                                creditTotal = creditTotal.add(r.getLocalAmount());
                            drs.updateString("pageCount", page + "/" + voucherCount);
                            drs.updateString("pageCurrent", page + "");
                            drs.updateString("pageTotal", "" + voucherCount);
                            drs.updateString("bizStatus", vch.getBizStatus().toString());
                            drs.updateString("attachments", Integer.toString(vch.getAttachments()));
                            drs.updateString("attachmentsChinese", GlUtils.getChineseBig(vch.getAttachments()));
                            if(page == voucherCount)
                            {
                                drs.updateString("debitTotal", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                                drs.updateString("creditTotal", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                                drs.updateString("localAmountDebit", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                                drs.updateString("localAmountCredit", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                                drs.updateString("reportingAmountDebit", GlUtils.formatNumber(vch.getReportingDebitAmount(), lcpre));
                                drs.updateString("reportingAmountCredit", GlUtils.formatNumber(vch.getReportingCreditAmount(), lcpre));
                                drs.updateString("amountTotalChinese", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                                drs.updateString("amountTotal", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                                drs.updateString("sum", "");
                            } else
                            {
                                drs.updateString("debitTotal", GlUtils.formatNumber((BigDecimal)debitmap.get(String.valueOf(page)), lcpre));
                                drs.updateString("creditTotal", GlUtils.formatNumber((BigDecimal)creditmap.get(String.valueOf(page)), lcpre));
                                drs.updateString("sum", GLResUtil.getRes("subtotal"));
                            }
                            if(chkPrintCashFlow)
                                printCashflow(drs, e, r, lcpre);
                            drs.insertRow();
                        }
                    } else
                    {
                        drs.moveToInsertRow();
                        clearRow(drs);
                        fillVoucherHeaderData(vch, drs, df, dft, size, allDeit, allCret);
                        fillVoucherEntryData(vchId, e, drs, lcpre, rcpre);
                        if(EntryDC.DEBIT.equals(dc))
                        {
                            drs.updateString("e_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("e_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("e_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                            drs.updateString("r_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("r_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                        } else
                        {
                            drs.updateString("e_localAmountCredit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
                            drs.updateString("e_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("e_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                            drs.updateString("r_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_localAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
                            drs.updateString("r_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
                        }
                        entryCount++;
                        int page = 0;
                        if(entryCount % rowLineCount == 0)
                        {
                            page = entryCount / rowLineCount;
                        } else
                        {
                            page = entryCount / rowLineCount + 1;
                            if(entryCount % rowLineCount == 1)
                            {
                                creditTotal = GlUtils.zero;
                                debitTotal = GlUtils.zero;
                            }
                        }
                        if(EntryDC.DEBIT.equals(dc))
                            debitTotal = debitTotal.add(e.getLocalAmount());
                        else
                            creditTotal = creditTotal.add(e.getLocalAmount());
                        drs.updateString("pageCount", page + "/" + voucherCount);
                        drs.updateString("pageCurrent", page + "");
                        drs.updateString("pageTotal", "" + voucherCount);
                        drs.updateString("bizStatus", vch.getBizStatus().toString());
                        drs.updateString("attachments", Integer.toString(vch.getAttachments()));
                        drs.updateString("attachmentsChinese", GlUtils.getChineseBig(vch.getAttachments()));
                        if(page == voucherCount)
                        {
                            drs.updateString("debitTotal", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                            drs.updateString("creditTotal", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                            drs.updateString("localAmountDebit", GlUtils.formatNumber(vch.getLocalDebitAmount(), lcpre));
                            drs.updateString("localAmountCredit", GlUtils.formatNumber(vch.getLocalCreditAmount(), lcpre));
                            drs.updateString("reportingAmountDebit", GlUtils.formatNumber(vch.getReportingDebitAmount(), lcpre));
                            drs.updateString("reportingAmountCredit", GlUtils.formatNumber(vch.getReportingCreditAmount(), lcpre));
                            drs.updateString("amountTotalChinese", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                            drs.updateString("amountTotal", GlUtils.getChineseFormat(vch.getLocalCreditAmount(), false));
                            drs.updateString("sum", "");
                        } else
                        {
                            drs.updateString("debitTotal", GlUtils.formatNumber((BigDecimal)debitmap.get(String.valueOf(page)), lcpre));
                            drs.updateString("creditTotal", GlUtils.formatNumber((BigDecimal)creditmap.get(String.valueOf(page)), lcpre));
                            drs.updateString("sum", GLResUtil.getRes("subtotal"));
                        }
                        if(chkPrintCashFlow)
                            printCashflow(drs, e, null, lcpre);
                        drs.insertRow();
                    }
                }
            }
            drs.beforeFirst();
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
            return null;
        }
        return drs;
    }

    protected static void fillVoucherHeaderData(VoucherInfo vch, IRowSet rs, DateFormat df, DateFormat dft, int size, BigDecimal allDeit, BigDecimal allCret)
        throws Exception
    {
        CompanyOrgUnitInfo com = vch.getCompany();
        CurrencyInfo localCurrency = com.getBaseCurrency();
        int lcpre = localCurrency.getPrecision();
        CurrencyInfo reportingCurrency = com.getReportCurrency();
        int rcpre = reportingCurrency.getPrecision();
        rs.updateString("company", com.getName());
        rs.updateString("companyBaseCurreny", com.getBaseCurrency().getName().toString());
        rs.updateString("companyReportCurreny", com.getReportCurrency().getName().toString());
        rs.updateString("description", vch.getDescription());
        rs.updateString("bookedDate", GlUtils.formatDate(df, vch.getBookedDate()));
        rs.updateString("voucherDate", GlUtils.formatDate(df, vch.getBookedDate()));
        Date voucherBookDate = (Date)vch.getBookedDate();
        Calendar now = Calendar.getInstance();
        now.setTime(voucherBookDate);
        rs.updateString("bookedDateYear", String.valueOf(now.get(1)));
        int month = now.get(2) + 1;
        rs.updateString("bookedDateMonth", month >= 10 ? "" + month : "0" + month);
        int date = now.get(5);
        rs.updateString("bookedDateDay", date >= 10 ? "" + date : "0" + date);
        rs.updateString("bizDate", GlUtils.formatDate(df, vch.getBizDate()));
        PeriodInfo prd = vch.getPeriod();
        if(prd != null)
        {
            rs.updateString("periodYear", Integer.toString(prd.getPeriodYear()));
            rs.updateString("periodNumber", Integer.toString(prd.getPeriodNumber()));
        }
        rs.updateString("sysDateNow", GlUtils.formatDate(dft, SysUtil.getAppServerTime(null)));
        String type = GlUtils.getName(vch, "voucherType");
        rs.updateString("voucherType", type);
        String strNumber = vch.getNumber();
        String strNumberShort = "";
        if(strNumber != null)
        {
            int n = strNumber.length();
            int il = 0;
            char ch[] = new char[n];
            int i = 0;
            do
            {
                if(i >= n)
                    break;
                ch[i] = strNumber.charAt(i);
                if(ch[i] != '0')
                    break;
                il++;
                i++;
            } while(true);
            strNumberShort = strNumber.substring(il, n);
        }
        rs.updateString("number", vch.getNumber());
        rs.updateString("numberShort", strNumberShort);
        rs.updateString("vouchtTypeNumber", type + vch.getNumber());
        rs.updateString("currency", GlUtils.getName(vch, "currency"));
        rs.updateString("handler", GlUtils.getName(vch, "handler"));
        rs.updateString("creator", GlUtils.getName(vch, "creator"));
        rs.updateString("auditor", GlUtils.getName(vch, "auditor"));
        rs.updateString("cashier", GlUtils.getName(vch, "cashier"));
        rs.updateString("poster", GlUtils.getName(vch, "poster"));
        rs.updateString("canceller", GlUtils.getName(vch, "canceller"));
    }

    protected static void fillVoucherEntryData(String vchId, VoucherEntryInfo e, IRowSet rs, int lcpre, int rcpre)
        throws Exception
    {
        rs.updateString("vchId", vchId);
        rs.updateString("e_seq", Integer.toString(e.getSeq()));
        rs.updateString("e_description", e.getDescription());
        if(rs.getString("r_description") == null)
            rs.updateString("r_description", e.getDescription());
        acctname = GlUtils.getNumberAndLongName(e, "account");
        if(showAccountNumber && showAccountDetail)
            acctname = GlUtils.getNumberAndLongName(e, "account");
        else
        if(!showAccountNumber && showAccountDetail)
            acctname = GlUtils.getLongName(e, "account");
        else
        if(showAccountNumber && !showAccountDetail)
            acctname = GlUtils.getNumberAndName(e, "account");
        else
            acctname = GlUtils.getName(e, "account");
        String acctnameZC = GlUtils.getNumberAndLongName(e, "account");
        String topAccountNumer = null;
        AccountViewInfo account = (AccountViewInfo)e.get("account");
        if(account != null && account.getLongNumber() != null && account.getLevel() != 1)
        {
            String longNumber = account.getLongNumber();
            int idx = longNumber.indexOf("!");
            topAccountNumer = longNumber.substring(0, idx);
        }
        if(acctnameZC != null)
        {
            if(acctnameZC.indexOf("_", 0) != -1 && acctnameZC.indexOf("_", 0) != -1)
            {
                if(showAccountNumber && topAccountNumer != null)
                    zc_acctname = topAccountNumer + " - " + acctnameZC.substring(acctnameZC.indexOf("-", 0) + 2, acctnameZC.indexOf("_", 0));
                else
                    zc_acctname = acctnameZC.substring(acctnameZC.indexOf("-", 0) + 2, acctnameZC.indexOf("_", 0));
            } else
            if(showAccountNumber)
                zc_acctname = acctnameZC;
            else
                zc_acctname = acctnameZC.substring(acctnameZC.indexOf("-", 0) + 2, acctnameZC.length());
        } else
        {
            acctname = "";
            zc_acctname = "";
        }

		rs.updateString("e_account", acctname);
        if(acctname != null && (acctname.contains("N区域") || acctname.contains("K区域")))
        	rs.updateString("e_account", acctname.replaceAll("_N区域","").replaceAll("_K区域", ""));
        else
        	rs.updateString("e_account", acctname);
        
        rs.updateString("r_accountAsst", acctname);
        rs.updateString("zc_account", zc_acctname);
        if(e.getAccount() != null && e.getAccount().isIsQty())
        {
            if(e.getMeasureUnit() != null)
            {
                rs.updateString("e_measureUnitName", e.getMeasureUnit().getName());
                rs.updateString("e_measureUnitNumber", e.getMeasureUnit().getNumber());
            }
            Object initData[] = getDefaultGLParam("defaultGLParam");
            int pricePrecision = ((Integer)initData[7]).intValue();
            rs.updateString("e_price", GlUtils.formatNumber(e.getPrice(), pricePrecision));
            int quantityPrecision = ((Integer)initData[8]).intValue();
            rs.updateString("e_quantity", GlUtils.formatNumber(e.getQuantity(), quantityPrecision));
        }
        if(e.getCustomer() != null)
        {
            rs.updateString("customer.number", e.getCustomer().getNumber());
            rs.updateString("customer.name", e.getCustomer().getName());
            rs.updateString("cusNumberName", e.getCustomer().getNumber() + "\uFF1A" + e.getCustomer().getName());
        }
        rs.updateString("e_currency", GlUtils.getName(e, "currency"));
        if(e.getCurrency() != null)
        {
            rs.updateString("e_isoCode", e.getCurrency().getIsoCode());
            rs.updateString("e_localExchangeRate", GlUtils.formatNumber(e.getLocalExchangeRate()));
            rs.updateString("e_reportingExchangeRate", GlUtils.formatNumber(e.getReportingExchangeRate()));
        }
        rs.updateString("e_originalAmount", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
        rs.updateString("r_originalAmount", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
        EntryDC dc = e.getEntryDC();
        if(EntryDC.DEBIT.equals(dc))
        {
            rs.updateString("e_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
            rs.updateString("e_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
            rs.updateString("e_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
            rs.updateString("r_originalAmountDebit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
            rs.updateString("r_localAmountDebit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
            rs.updateString("r_reportingAmountDebit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
        } else
        {
            rs.updateString("e_localAmountCredit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
            rs.updateString("e_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
            rs.updateString("e_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
            rs.updateString("r_originalAmountCredit", GlUtils.formatNumber(e.getOriginalAmount(), lcpre));
            rs.updateString("r_localAmountCredit", GlUtils.formatNumber(e.getLocalAmount(), lcpre));
            rs.updateString("r_reportingAmountCredit", GlUtils.formatNumber(e.getReportingAmount(), lcpre));
        }
    }

    protected static void fillVoucherASSTData(VoucherAssistRecordInfo r, IRowSet rs, DateFormat adf, int lcpre, EntryDC dc, IAssistantHG assistantHG, IVoucherAssistRecord asstre, VoucherEntryInfo e)
        throws Exception
    {
        rs.updateString("r_description", r.getDescription());
        if(rs.getString("r_description") == null)
            rs.updateString("r_description", e.getDescription());
        if(r.getMeasureUnit() != null)
        {
            rs.updateString("r_measureUnitName", r.getMeasureUnit().getName());
            rs.updateString("r_measureUnitNumber", r.getMeasureUnit().getNumber());
            rs.updateString("e_measureUnitName", r.getMeasureUnit().getName());
            rs.updateString("e_measureUnitNumber", r.getMeasureUnit().getNumber());
        }
        if(r.getSettlementType() != null)
            rs.updateString("r_settlementType", r.getSettlementType().getDisplayName());
        if(e.getAccount() != null && e.getAccount().isAC())
            rs.updateString("r_endDate", GlUtils.formatDate(adf, r.getEndDate()));
        else
            rs.updateString("r_endDate", "");
        rs.updateString("r_settlementCode", r.getSettlementCode());
        rs.updateString("r_bizNumber", r.getBizNumber());
        rs.updateString("r_bizDate", GlUtils.formatDate(adf, r.getBizDate()));
        rs.updateString("r_invoice", r.getInvoiceNumber());
        if(EntryDC.DEBIT.equals(dc))
        {
            rs.updateString("e_originalAmountDebit", GlUtils.formatNumber(r.getOriginalAmount(), lcpre));
            rs.updateString("e_localAmountDebit", GlUtils.formatNumber(r.getLocalAmount(), lcpre));
            rs.updateString("e_reportingAmountDebit", GlUtils.formatNumber(r.getReportingAmount(), lcpre));
            rs.updateString("r_originalAmountDebit", GlUtils.formatNumber(r.getOriginalAmount(), lcpre));
            rs.updateString("r_localAmountDebit", GlUtils.formatNumber(r.getLocalAmount(), lcpre));
            rs.updateString("r_reportingAmountDebit", GlUtils.formatNumber(r.getReportingAmount(), lcpre));
        } else
        {
            rs.updateString("e_localAmountCredit", GlUtils.formatNumber(r.getLocalAmount(), lcpre));
            rs.updateString("e_originalAmountCredit", GlUtils.formatNumber(r.getOriginalAmount(), lcpre));
            rs.updateString("e_reportingAmountCredit", GlUtils.formatNumber(r.getReportingAmount(), lcpre));
            rs.updateString("r_originalAmountCredit", GlUtils.formatNumber(r.getOriginalAmount(), lcpre));
            rs.updateString("r_localAmountCredit", GlUtils.formatNumber(r.getLocalAmount(), lcpre));
            rs.updateString("r_reportingAmountCredit", GlUtils.formatNumber(r.getReportingAmount(), lcpre));
        }
        rs.updateString("r_originalAmount", GlUtils.formatNumber(r.getOriginalAmount(), lcpre));
        rs.updateString("r_reportingAmount", GlUtils.formatNumber(r.getReportingAmount(), lcpre));
        rs.updateString("r_localAmount", GlUtils.formatNumber(r.getLocalAmount(), lcpre));
        String assGrpId = null;
        String name = null;
        String fullName = null;
        String levelName = null;
        String assGrp = null;
        String assGrpNumber = null;
        String asstFull = null;
        String asstFullNumber = null;
        String asstheadnumber = null;
        String asstnumber = null;
        String asstheadname = null;
        String asstname = null;
        String asstlevelname = null;
        String asstLevelNameNumber = null;
        AssistantHGInfo assistantHGInfo = r.getAssGrp();
        if(assistantHGInfo != null)
        {
            Object initData[] = getDefaultGLParam("defaultGLParam");
            boolean isQty = ((Boolean)((Object[])initData[18])[17]).booleanValue();
            if(e.getAccount().getCAA() != null && e.getAccount().isIsQty() && (e.getAccount().getCAA().isIsQty() || !isQty))
            {
                int pricePrecision = ((Integer)initData[7]).intValue();
                int quantityPrecision = ((Integer)initData[8]).intValue();
                rs.updateString("r_price", GlUtils.formatNumber(r.getPrice(), pricePrecision));
                rs.updateString("r_quantity", GlUtils.formatNumber(r.getQuantity(), quantityPrecision));
                rs.updateString("e_price", GlUtils.formatNumber(r.getPrice(), pricePrecision));
                rs.updateString("e_quantity", GlUtils.formatNumber(r.getQuantity(), quantityPrecision));
            }
            IObjectValue value = null;
            assGrpId = assistantHGInfo.getId().toString();
            name = null;
            fullName = null;
            levelName = null;
            if(showAsstDetail)
                levelName = getAsstribute("r_AsstLevelNameNumber", assGrpId);
            else
                levelName = getAsstribute("r_AsstLevelName", assGrpId);
            if(showAsstDetail && showAsstNumber)
            {
                fullName = getAsstribute("r_asstFullNumber", assGrpId);
                name = fullName;
            } else
            if(showAsstDetail && !showAsstNumber)
            {
                fullName = getAsstribute("r_asstFull", assGrpId);
                name = fullName;
            } else
            if(!showAsstDetail && !showAsstNumber)
            {
                fullName = getAsstribute("r_assGrp", assGrpId);
                name = fullName;
            } else
            if(!showAsstDetail && showAsstNumber)
            {
                fullName = getAsstribute("r_assGrpNumber", assGrpId);
                name = fullName;
            }
            assGrp = getAsstribute("assGrp", assGrpId);
            assGrpNumber = getAsstribute("assGrpNumber", assGrpId);
            asstFull = getAsstribute("asstFull", assGrpId);
            asstFullNumber = getAsstribute("asstFullNumber", assGrpId);
            asstheadnumber = getAsstribute("r_AsstHeadNumber", assGrpId);
            asstnumber = getAsstribute("r_AsstNumber", assGrpId);
            asstheadname = getAsstribute("r_AsstHeadName", assGrpId);
            asstname = getAsstribute("r_AsstName", assGrpId);
            asstlevelname = getAsstribute("r_AsstLevelName", assGrpId);
            asstLevelNameNumber = getAsstribute("r_AsstLevelNameNumber", assGrpId);
            if(name == null)
            {
                value = getAsstValue(r, assistantHG, asstre);
                assGrp = value.getString("assGrp");
                setAsstribute("r_assGrp", assGrpId, assGrp);
                assGrpNumber = value.getString("assGrpNumber");
                setAsstribute("r_assGrpNumber", assGrpId, assGrpNumber);
                asstFull = value.getString("asstFull");
                setAsstribute("r_asstFull", assGrpId, asstFull);
                asstFullNumber = value.getString("asstFullNumber");
                setAsstribute("r_asstFullNumber", assGrpId, asstFullNumber);
                asstheadnumber = value.getString("asstheadnumber");
                setAsstribute("r_AsstHeadNumber", assGrpId, asstheadnumber);
                asstnumber = value.getString("asstnumber");
                setAsstribute("r_AsstNumber", assGrpId, asstnumber);
                asstheadname = value.getString("asstheadname");
                setAsstribute("r_AsstHeadName", assGrpId, asstheadname);
                asstname = value.getString("asstname");
                setAsstribute("r_AsstName", assGrpId, asstname);
                asstlevelname = value.getString("asstlevelname");
                setAsstribute("r_AsstLevelName", assGrpId, asstlevelname);
                asstLevelNameNumber = value.getString("asstLevelNameNumber");
                setAsstribute("r_AsstLevelNameNumber", assGrpId, asstLevelNameNumber);
                if(showAsstDetail)
                    levelName = asstLevelNameNumber;
                else
                    levelName = asstlevelname;
                if(showAsstDetail && showAsstNumber)
                {
                    fullName = asstFullNumber;
                    name = fullName;
                } else
                if(showAsstDetail && !showAsstNumber)
                {
                    fullName = asstFull;
                    name = fullName;
                } else
                if(!showAsstDetail && !showAsstNumber)
                {
                    fullName = assGrp;
                    name = fullName;
                } else
                if(!showAsstDetail && showAsstNumber)
                {
                    fullName = assGrpNumber;
                    name = fullName;
                }
            }
            if(showAccountNumber && showAccountDetail)
                acctname = GlUtils.getNumberAndLongName(e, "account");
            else
            if(!showAccountNumber && showAccountDetail)
                acctname = GlUtils.getLongName(e, "account");
            else
            if(showAccountNumber && !showAccountDetail)
                acctname = GlUtils.getNumberAndName(e, "account");
            else
                acctname = GlUtils.getName(e, "account");
            String acctnameZC = GlUtils.getNumberAndLongName(e, "account");
            if(acctnameZC.indexOf("_", 0) != -1)
                zc_listacctname = acctnameZC.substring(acctnameZC.indexOf("_", 0) + 1, acctnameZC.length());
            else
                zc_listacctname = acctnameZC.substring(acctnameZC.indexOf("-", 0) + 1, acctnameZC.length());
        }
        String accountNumber = GlUtils.getNumber(e, "account");
        if(fullName == null || "null".equals(fullName))
        {
            fullName = "";
            name = fullName;
        } else
        {
            fullName = "(" + fullName + ")";
        }
        if(!bselectedList)
        {
            rs.updateString("r_assGrp", getStr(name));
            rs.updateString("r_longName", getStr(fullName));
            rs.updateString("r_AsstHeadNumber", asstheadnumber);
            rs.updateString("r_AsstNumber", asstnumber);
            rs.updateString("r_AsstHeadName", asstheadname);
            rs.updateString("r_AsstName", asstname);
            rs.updateString("r_AsstLevelName", levelName);
            rs.updateString("r_accountAsst", acctname + "" + getStr(fullName) + "");
            rs.updateString("zc_assGrp", zc_listacctname + "" + getStr(fullName) + "");
        } else
        if(bselectedList && !balanceAccountIsInExistence(accountNumber))
        {
            rs.updateString("r_assGrp", getStr(name));
            rs.updateString("r_longName", getStr(fullName));
            rs.updateString("r_AsstHeadNumber", asstheadnumber);
            rs.updateString("r_AsstNumber", asstnumber);
            rs.updateString("r_AsstHeadName", asstheadname);
            rs.updateString("r_AsstName", asstname);
            rs.updateString("r_AsstLevelName", levelName);
            rs.updateString("r_accountAsst", acctname + "" + getStr(fullName) + "");
            rs.updateString("zc_assGrp", zc_listacctname + "" + getStr(fullName) + "");
        } else
        {
            rs.updateString("r_assGrp", "");
            rs.updateString("r_longName", "");
            rs.updateString("r_AsstHeadNumber", "");
            rs.updateString("r_AsstNumber", "");
            rs.updateString("r_AsstHeadName", "");
            rs.updateString("r_AsstName", "");
            rs.updateString("r_AsstLevelName", "");
            rs.updateString("r_accountAsst", "");
            rs.updateString("zc_assGrp", "");
            rs.updateString("r_description", e.getDescription());
        }
    }

    protected static void printCashflow(DynamicRowSet drs, VoucherEntryInfo e, VoucherAssistRecordInfo r, int lcpre)
        throws Exception
    {
        StringBuffer sbOriginalAmount = new StringBuffer();
        StringBuffer sblocalAmount = new StringBuffer();
        StringBuffer sbreportingAmount = new StringBuffer();
        StringBuffer sbprimItem = new StringBuffer();
        StringBuffer sbitem = new StringBuffer();
        StringBuffer sbitemEbb = new StringBuffer();
        StringBuffer sbsuppItem = new StringBuffer();
        StringBuffer sbsupp = new StringBuffer();
        StringBuffer sbsuppEbb = new StringBuffer();
        StringBuffer sbfullInfoItem = new StringBuffer();
        StringBuffer sbfullInfo = new StringBuffer();
        StringBuffer sbfullInfoEbb = new StringBuffer();
        BigDecimal bdPrimary = null;
        BigDecimal bdSupp = null;
        CashflowRecordCollection cashflowRecordsCollection = null;
        int seq = e.getSeq();
        if(printCashflowMeOrOther)
            cashflowRecordsCollection = e.getCashflowEntry();
        else
            cashflowRecordsCollection = e.getCashflowRecords();
        if(cashflowRecordsCollection != null && cashflowRecordsCollection.size() > 0)
        {
            Iterator itrCfr = cashflowRecordsCollection.iterator();
            do
            {
                if(!itrCfr.hasNext())
                    break;
                CashflowRecordInfo cfrInfo = (CashflowRecordInfo)itrCfr.next();
                if(cfrInfo.getItemFlag() != null && cfrInfo.getItemFlag().getValue() != 5 && (printCashflowMeOrOther ? seq == cfrInfo.getEntry().getSeq() : seq == cfrInfo.getOpposingAccountEntry().getSeq() && (r == null || cfrInfo.getItemFlag().getValue() != 1 && cfrInfo.getItemFlag().getValue() != 2 && cfrInfo.getItemFlag().getValue() != 3 || cfrInfo.getOppVoucherAssistRecord() == null || r.getSeq() == cfrInfo.getOppVoucherAssistRecord().getSeq())))
                {
                    bdPrimary = new BigDecimal(String.valueOf(cfrInfo.getPrimaryCoefficient()));
                    bdSupp = new BigDecimal(String.valueOf(cfrInfo.getSupplementaryCoefficient()));
                    sbOriginalAmount.append(GlUtils.formatNumber(cfrInfo.getOriginalAmount(), lcpre) + ";");
                    sblocalAmount.append(GlUtils.formatNumber(cfrInfo.getLocalAmount(), lcpre) + ";");
                    sbreportingAmount.append(GlUtils.formatNumber(cfrInfo.getReportingAmount(), lcpre) + ";");
                    drs.updateString("c_originalAmount", sbOriginalAmount.toString());
                    drs.updateString("c_localAmount", sblocalAmount.toString());
                    drs.updateString("c_reportingAmount", sbreportingAmount.toString());
                    CashFlowItemInfo cfinfo_primItem = cfrInfo.getPrimaryItem();
                    if(cfinfo_primItem != null)
                    {
                        String str_primItem_number = cfinfo_primItem.getNumber();
                        String str_primItem_name = cfinfo_primItem.getName();
                        sbprimItem.append(str_primItem_number + str_primItem_name + ";");
                        sbitem.append(cfinfo_primItem + GlUtils.formatNumber(cfrInfo.getLocalAmount().multiply(bdPrimary), lcpre) + ";");
                        sbitemEbb.append("(" + str_primItem_name + ")" + GlUtils.formatNumber(cfrInfo.getLocalAmount().multiply(bdPrimary), lcpre) + ";");
                        drs.updateString("c_primItem", sbprimItem.toString());
                        drs.updateString("c_item", sbitem.toString());
                        drs.updateString("c_itemEbb", sbitemEbb.toString());
                        drs.updateString("c_primItemName", str_primItem_name + ";");
                    }
                    CashFlowItemInfo cfinfo_suppItem = cfrInfo.getSupplementaryItem();
                    if(cfinfo_suppItem != null)
                    {
                        String str_suppItem_number = cfinfo_suppItem.getNumber();
                        String str_suppItem_name = cfinfo_suppItem.getName();
                        sbsuppItem.append(str_suppItem_number + str_suppItem_name + ";");
                        sbsupp.append(cfinfo_suppItem + GlUtils.formatNumber(cfrInfo.getLocalAmount().multiply(bdSupp), lcpre) + ";");
                        sbsuppEbb.append("(" + str_suppItem_name + ")" + GlUtils.formatNumber(cfrInfo.getLocalAmount().multiply(bdSupp), lcpre) + ";");
                        drs.updateString("c_suppItem", sbsuppItem.toString());
                        drs.updateString("c_supp", sbsupp.toString());
                        drs.updateString("c_suppEbb", sbsuppEbb.toString());
                        drs.updateString("c_suppItemName", str_suppItem_name + ";");
                    }
                    CashFlowItemInfo cfInfo_fullInfoItem = cfrInfo.getFullInfoItem();
                    if(cfInfo_fullInfoItem != null)
                    {
                        String str_fullInfoItem_number = cfInfo_fullInfoItem.getNumber();
                        String str_fullInfoItem_name = cfInfo_fullInfoItem.getName();
                        sbfullInfoItem.append(str_fullInfoItem_number + str_fullInfoItem_name + ";");
                        sbfullInfo.append(str_fullInfoItem_number + str_fullInfoItem_name + GlUtils.formatNumber(cfrInfo.getLocalAmount(), lcpre) + ";");
                        sbfullInfoEbb.append("(" + str_fullInfoItem_name + ")" + GlUtils.formatNumber(cfrInfo.getLocalAmount(), lcpre) + ";");
                        drs.updateString("c_fullInfoItem", sbfullInfoItem.toString());
                        drs.updateString("c_fullInfo", sbfullInfo.toString());
                        drs.updateString("c_fullInfoEbb", sbfullInfoEbb.toString());
                    }
                }
            } while(true);
        }
    }

    protected boolean computerVoucherType(VoucherInfo vch)
    {
        boolean pnlAccExist = false;
        int count = vch.getEntryCount();
        for(int i = 0; i < count; i++)
        {
            AccountViewInfo acc = vch.getEntries().get(i).getAccount();
            if(AccountProperty.SUNYI.equals(acc.getAccountTypeID().getProperty()))
                pnlAccExist = true;
        }

        return pnlAccExist;
    }

    protected VoucherInfo changeVoucher(VoucherInfo vch)
    {
        VoucherInfo info = new VoucherInfo();
        info.setId(vch.getId());
        info.setNumber(vch.getNumber());
        info.setAttachments(vch.getAttachments());
        info.setBizOU(vch.getBizOU());
        info.setPeriod(vch.getPeriod());
        info.setBizDate(vch.getBizDate());
        info.setBookedDate(vch.getBookedDate());
        info.setCompany(vch.getCompany());
        info.setCreateTime(vch.getCreateTime());
        info.setCreator(vch.getCreator());
        info.setCU(vch.getCU());
        info.setCurrency(vch.getCurrency());
        info.setDescription(vch.getDescription());
        info.setDisplayFormat(vch.getDisplayFormat());
        info.setLocalCreditAmount(vch.getLocalCreditAmount());
        info.setLocalDebitAmount(vch.getLocalDebitAmount());
        info.setReportingCreditAmount(vch.getReportingCreditAmount());
        info.setReportingDebitAmount(vch.getReportingDebitAmount());
        info.setHandler(vch.getHandler());
        info.setAuditor(vch.getAuditor());
        info.setCashier(vch.getCashier());
        info.setCanceller(vch.getCanceller());
        info.setPoster(vch.getPoster());
        info.setHasCashAccount(vch.isHasCashAccount());
        info.setHasEffected(vch.isHasEffected());
        info.setLastUpdateTime(vch.getLastUpdateTime());
        info.setLastUpdateUser(vch.getLastUpdateUser());
        info.setVoucherType(vch.getVoucherType());
        info.setVoucherTypeDetail(vch.getVoucherTypeDetail());
        int infoCount = 0;
        Map acctMap = new HashMap();
        int count = vch.getEntryCount();
        VoucherEntryCollection vchEntryCol = vch.getEntries();
        VoucherEntryCollection infoEntryCol = info.getEntries();
        for(int i = 0; i < count; i++)
        {
            VoucherEntryInfo vchEntryInfo = vchEntryCol.get(i);
            VoucherEntryInfo entry = new VoucherEntryInfo();
            entry.setAccount(vchEntryInfo.getAccount());
            entry.setBill(info);
            entry.setId(vchEntryInfo.getId());
            entry.setCurrency(vchEntryInfo.getCurrency());
            entry.setDescription(vchEntryInfo.getDescription());
            entry.setDisplayFormat(vchEntryInfo.getDisplayFormat());
            entry.setEntryDC(vchEntryInfo.getEntryDC());
            entry.setMeasureUnit(vchEntryInfo.getMeasureUnit());
            entry.setOriginalAmount(vchEntryInfo.getOriginalAmount());
            entry.setLocalAmount(vchEntryInfo.getLocalAmount());
            entry.setReportingAmount(vchEntryInfo.getReportingAmount());
            entry.setLocalExchangeRate(vchEntryInfo.getLocalExchangeRate());
            entry.setReportingExchangeRate(vchEntryInfo.getReportingExchangeRate());
            entry.setPrice(vchEntryInfo.getPrice());
            entry.setQuantity(vchEntryInfo.getQuantity());
            entry.setStandardQuantity(vchEntryInfo.getStandardQuantity());
            AccountViewInfo acc = entry.getAccount();
            if(AccountProperty.SUNYI.equals(acc.getAccountTypeID().getProperty()))
            {
                AccountViewInfo accInfo = null;
                try
                {
                    IAccountView accountView = AccountViewFactory.getRemoteInstance();
                    BOSUuid accID = acc.getId();
                    ObjectUuidPK objectUUidPK = new ObjectUuidPK(accID);
                    accInfo = accountView.getAccountViewInfo(objectUUidPK);
                }
                catch(BOSException e)
                {
                    e.printStackTrace();
                }
                catch(EASBizException e)
                {
                    e.printStackTrace();
                }
                String flongnumber = accInfo.getLongNumber();
                String flongname = accInfo.getLongName();
                String fnumber = flongnumber;
                String fname = flongname;
                int index = flongnumber.indexOf("!");
                if(index != -1)
                {
                    fnumber = flongnumber.substring(0, flongnumber.indexOf("!"));
                    fname = flongname.substring(0, flongname.indexOf("_"));
                }
                acc.setName(fname);
                acc.setNumber(fnumber);
                acc.setLongName(fname);
                acc.setLongNumber(fnumber);
                if(acctMap.containsKey(fnumber))
                {
                    VoucherEntryInfo entryInfo = (VoucherEntryInfo)acctMap.get(fnumber);
                    entryInfo.setOriginalAmount(entryInfo.getOriginalAmount().add(entry.getOriginalAmount()));
                    entryInfo.setLocalAmount(entryInfo.getLocalAmount().add(entry.getLocalAmount()));
                    entryInfo.setReportingAmount(entryInfo.getReportingAmount().add(entry.getReportingAmount()));
                    entryInfo.setQuantity(entryInfo.getQuantity().add(entry.getQuantity()));
                    entryInfo.setStandardQuantity(entryInfo.getStandardQuantity().add(entry.getStandardQuantity()));
                } else
                {
                    infoCount++;
                    entry.setSeq(infoCount);
                    acctMap.put(fnumber, entry);
                }
            } else
            {
                infoCount++;
                entry.setSeq(infoCount);
                infoEntryCol.add(entry);
            }
        }

        info.setEntryCount(infoCount);
        Set set = acctMap.keySet();
        VoucherEntryInfo entryInfo;
        for(Iterator iter = set.iterator(); iter.hasNext(); infoEntryCol.add(entryInfo))
        {
            String fnumber = (String)iter.next();
            entryInfo = (VoucherEntryInfo)acctMap.get(fnumber);
        }

        return info;
    }

    protected static IObjectValue getAsstValue(VoucherAssistRecordInfo tmpAssistRecordInfo, IAssistantHG assistantHG, IVoucherAssistRecord asstre)
        throws EASBizException, BOSException
    {
        BOSUuid assGrpId = tmpAssistRecordInfo.getAssGrp().getId();
        if(assistantHG == null)
            assistantHG = AssistantHGFactory.getRemoteInstance();
        ObjectUuidPK objectUUidPK = new ObjectUuidPK(assGrpId);
        AssistantHGInfo info = assistantHG.getAssistantHGInfo(objectUUidPK);
        if(asstre == null)
            asstre = VoucherAssistRecordFactory.getRemoteInstance();
        IObjectValue value = asstre.getDefaultAssitInfo(info.getAsstAccount().getId().toString(), assGrpId.toString());
        return value;
    }

    protected static String getBlankString(int size, String str)
    {
        StringBuffer name = new StringBuffer("");
        for(int i = 0; i < size; i++)
            name.append(" ");

        name.append(str);
        return name.toString();
    }

    protected static Object[] getDefaultGLParam(String defaultGLParam)
        throws BOSException, EASBizException
    {
        Object objPrecision[] = null;
        if(mapPrecision.containsKey(SysContext.getSysContext().getCurrentFIUnit().getId().toString() + "_" + defaultGLParam))
        {
            objPrecision = (Object[])mapPrecision.get(SysContext.getSysContext().getCurrentFIUnit().getId().toString() + "_" + defaultGLParam);
        } else
        {
            objPrecision = GlUtils.getDefaultGLParam();
            mapPrecision.put(SysContext.getSysContext().getCurrentFIUnit().getId().toString() + "_" + defaultGLParam, ((Object) (objPrecision)));
        }
        return objPrecision;
    }

    public static String getAsstribute(String asstribute, String id)
    {
        Map map = null;
        String name = null;
        if(asstributeMap == null)
            asstributeMap = new HashMap();
        if(asstributeMap.containsKey(asstribute))
        {
            map = (Map)asstributeMap.get(asstribute);
        } else
        {
            map = new HashMap();
            asstributeMap.put(asstribute, map);
        }
        if(map.containsKey(id))
        {
            name = (String)map.get(id);
            map.put(id, name);
        }
        return name;
    }

    public static void setAsstribute(String asstribute, String id, String value)
    {
        Map map = null;
        if(asstributeMap == null)
            asstributeMap = new HashMap();
        if(asstributeMap.containsKey(asstribute))
        {
            map = (Map)asstributeMap.get(asstribute);
        } else
        {
            map = new HashMap();
            asstributeMap.put(asstribute, map);
        }
        if(!map.containsKey(id))
            map.put(id, value);
    }

    public String getString(String key)
    {
        return EASResource.getString("com.kingdee.eas.fi.gl.client.VoucherEditResource", key);
    }

    protected static void clearRow(IRowSet rs)
        throws Exception
    {
        int colCount = rs.getRowSetMetaData().getColumnCount();
        for(int i = 1; i <= colCount; i++)
            rs.updateString(i, null);

    }

    protected static boolean balanceAccountIsInExistence(String strAccountNumber)
        throws Exception
    {
        boolean isInExistence = false;
        if(selectedList.length() != 0)
        {
            Object objToSelect[] = selectedList.split("\\,");
            Object objSelectNumber[] = new Object[objToSelect.length];
            int i = 0;
            for(int n = objToSelect.length; i < n; i++)
            {
                Object objTemp[] = objToSelect[i].toString().split("\\ ");
                objSelectNumber[i] = objTemp[0];
            }

            int j = 0;
            for(int m = objSelectNumber.length; j < m; j++)
                if(strAccountNumber.equalsIgnoreCase(objSelectNumber[j].toString()))
                    isInExistence = true;

            return isInExistence;
        } else
        {
            return isInExistence;
        }
    }

    protected static String[] getAsstActList()
    {
        if(basstActSeleectedList)
        {
            String asstActList[] = StringUtils.split(asstActSeleectedList, ",");
            return asstActList;
        } else
        {
            return null;
        }
    }

    protected static String getStr(String name)
    {
        String string = "";
        String names[] = null;
        if(name != null)
        {
            names = StringUtils.split(name, ";");
            String asstActList[] = getAsstActList();
            if(asstActList != null)
            {
                for(int i = 0; i < names.length; i++)
                {
                    String s = names[i];
                    String temp[] = s.split(":");
                    for(int j = 0; j < asstActList.length; j++)
                    {
                        String asst = asstActList[j];
                        if(temp[0].toString().indexOf(asst.split("-")[1].toString()) != -1)
                            names[i] = "";
                    }

                }

            }
        }
        if(names != null)
        {
            for(int i = 0; i < names.length; i++)
            {
                string = string + names[i];
                if(!")".equals(names[i]) && !"".equals(names[i]))
                    string = string + ";";
            }

        }
        if(string.indexOf("(") != -1 && string.indexOf(")") != -1)
            return string;
        if(string.indexOf(")") != -1 && string.indexOf(")") != 0 && string.indexOf("(") == -1)
            string = "(" + string;
        else
        if(string.indexOf(")") == 0)
            string = "";
        return string;
    }

    public void setVchType(String vchType)
    {
        this.vchType = vchType;
    }

    public String getAcctname()
    {
        return acctname;
    }

    public static void setShowAsstDetail(boolean v)
    {
        showAsstDetail = v;
    }

    public static void setShowAsstNumber(boolean v)
    {
        showAsstNumber = v;
    }

    public static void setChkPrintCashFlow(boolean v)
    {
        chkPrintCashFlow = v;
    }

    public static void setChkAssistant(boolean v)
    {
        chkAssistant = v;
    }

    public static void setPrintCashflowMeOrOther(boolean v)
    {
        printCashflowMeOrOther = v;
    }

    public static void setIsListOrEdit(boolean v)
    {
        isListOrEdit = v;
    }

    public static void setShowAccountNumber(boolean v)
    {
        showAccountNumber = v;
    }

    public static void setShowAccountDetail(boolean v)
    {
        showAccountDetail = v;
    }

    public static void setBselectedList(boolean v)
    {
        bselectedList = v;
    }

    public static void setSelectedList(String v)
    {
        selectedList = v;
    }

    public static void setBasstActSeleectedList(boolean v)
    {
        basstActSeleectedList = v;
    }

    public static void setAasstActSeleectedList(String v)
    {
        asstActSeleectedList = v;
    }

    public static void clearCache()
    {
        asstributeMap = null;
    }

    public static final String col[] = {
        "pageCount", "pageCurrent", "pageTotal", "company", "companyBaseCurreny", "companyReportCurreny", "description", "attachments", "attachmentsChinese", "sum", 
        "periodYear", "periodNumber", "bizDate", "voucherDate", "bookedDate", "bookedDateYear", "bookedDateMonth", "bookedDateDay", "sysDateNow", "vchId", 
        "bizStatus", "voucherType", "number", "numberShort", "vouchtTypeNumber", "currency", "amountTotalChinese", "amountTotal", "creditTotal", "debitTotal", 
        "localAmountDebit", "localAmountCredit", "reportingAmountDebit", "reportingAmountCredit", "handler", "creator", "auditor", "cashier", "poster", "canceller", 
        "e_seq", "e_description", "e_account", "e_account1", "zc_account", "e_currency", "e_isoCode", "e_measureUnitName", "e_measureUnitNumber", "e_price", "e_quantity", 
        "e_originalAmount", "e_originalAmountDebit", "e_originalAmountCredit", "e_localExchangeRate", "e_localAmountDebit", "e_localAmountCredit", "e_reportingExchangeRate", "e_reportingAmountDebit", "e_reportingAmountCredit", "r_description", 
        "r_settlementType", "r_settlementCode", "r_bizNumber", "r_originalAmount", "r_originalAmountDebit", "r_originalAmountCredit", "r_localAmount", "r_localAmountDebit", "r_localAmountCredit", "r_reportingAmount", 
        "r_reportingAmountDebit", "r_reportingAmountCredit", "r_measureUnitName", "r_measureUnitNumber", "r_price", "r_quantity", "r_bizDate", "r_invoice", "r_endDate", "r_customer", 
        "r_supplier", "r_orgUnit", "r_matirial", "r_assGrp", "r_longName", "r_AsstHeadNumber", "r_AsstNumber", "r_AsstHeadName", "r_AsstName", "r_AsstLevelName", 
        "r_accountAsst", "zc_assGrp", "c_item", "c_itemEbb", "c_primItem", "c_supp", "c_suppEbb", "c_suppItem", "c_fullInfo", "c_fullInfoEbb", 
        "c_fullInfoItem", "c_oppAccount", "c_originalAmount", "c_localAmount", "c_reportingAmount", "c_primItemName", "c_suppItemName", "customer.number", "customer.name", "cusNumberName"
    };
    protected String vchType;
    protected VoucherEditParam editParam;
    protected VoucherCollection vchCol;
    protected static boolean chkPrintCashFlow = false;
    protected static boolean chkAssistant = true;
    protected static boolean showAsstDetail = true;
    protected static boolean showAsstNumber = true;
    protected static boolean printCashflowMeOrOther = true;
    protected static boolean isListOrEdit = true;
    protected static boolean showAccountNumber = true;
    protected static boolean showAccountDetail = true;
    protected static String selectedList = null;
    protected static boolean bselectedList = false;
    protected static String asstActSeleectedList = null;
    protected static boolean basstActSeleectedList = false;
    protected boolean needCpmputeAsst;
    protected static String acctname = null;
    protected static String zc_acctname = null;
    protected static String zc_listacctname = null;
    protected static Map asstributeMap = null;
    protected static final Map mapPrecision = new HashMap();

}


/*
	DECOMPILATION REPORT

	Decompiled from: W:\EAS705\lib\client\eas\fi_gl-client.jar
	Total time: 249 ms
	Jad reported messages/errors:
	Exit status: 0
	Caught exceptions:
*/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值