金蝶EAS,后台代码查询科目余额,SQL查询科目余额

xiaoxiao2021-02-27  462

以下代码演示了如何从EAS系统查询科目余额,用于后台业务逻辑(app目录下的ControllerBean)。

/** * 查询科目余额,封装数据,返回值映射中,键:科目ID;值:科目余额队列 * @param ctx 上下文 * @param easOrgId 财务组织 * @param periodId 会计期间 */ @SuppressWarnings({ "unchecked", "unused" }) private Map<String, List> getParentAcctBalCache(Context ctx, String easOrgId, String periodId) throws BOSException { StringBuffer sql = new StringBuffer(); Map<String, List> map = new HashMap<String, List>(); sql.append("select FBalType, fperiodyear, fperiodnumber,").append("\n"); sql.append("FOrgUnitID, FPeriodID, FAccountID, FCurrencyID,").append("\n"); sql.append("FBeginBalanceFor, FBeginBalanceLocal, FBeginBalanceRpt,").append("\n"); sql.append("FDebitFor, FDebitLocal, FDebitRpt,").append("\n"); sql.append("FCreditFor, FCreditLocal, FCreditRpt,").append("\n"); sql.append("FYearDebitFor, FYearDebitLocal, FYearDebitRpt,").append("\n"); sql.append("FYearCreditFor, FYearCreditLocal, FYearCreditRpt,").append("\n"); sql.append("FEndBalanceFor, FEndBalanceLocal, FEndBalanceRpt").append("\n"); sql.append("from T_GL_AccountBalance").append("\n"); sql.append("where FBalType = ? and FOrgUnitID = ?").append("\n"); sql.append("and FPeriodID = ? and FCurrencyID = ?"); List params = new ArrayList(); params.add(5); //已过帐 params.add(easOrgId); //财务组织 params.add(periodId); //期间 params.add(CURRENCYID); //币别,人民币 IRowSet rs = DbUtil.executeQuery(ctx, sql.toString(), params.toArray()); try { while(rs.next()){ List list = new ArrayList(); String accountId = rs.getString("FAccountID"); //科目ID list.add(5); //余额类型 list.add(rs.getInt("fperiodyear")); //年 list.add(rs.getInt("fperiodnumber")); //月 list.add(easOrgId); //财务组织 list.add(periodId); //期间 list.add(accountId); //科目 list.add(CURRENCYID); //币别 list.add(rs.getBigDecimal("FBeginBalanceFor")); //期初余额原币 list.add(rs.getBigDecimal("FBeginBalanceLocal")); //本位币 list.add(rs.getBigDecimal("FBeginBalanceRpt")); //报告币 list.add(rs.getBigDecimal("FDebitFor")); //本期发生借方原币 list.add(rs.getBigDecimal("FDebitLocal")); //本位币 list.add(rs.getBigDecimal("FDebitRpt")); //报告币 list.add(rs.getBigDecimal("FCreditFor")); //本期发生贷方原币 list.add(rs.getBigDecimal("FCreditLocal")); //本位币 list.add(rs.getBigDecimal("FCreditRpt")); //报告币 list.add(rs.getBigDecimal("FYearDebitFor")); //本年累计借方原币 list.add(rs.getBigDecimal("FYearDebitLocal")); //本位币 list.add(rs.getBigDecimal("FYearDebitRpt")); //报告币 list.add(rs.getBigDecimal("FYearCreditFor")); //本年累计贷方原币 list.add(rs.getBigDecimal("FYearCreditLocal")); //本位币 list.add(rs.getBigDecimal("FYearCreditRpt")); //报告币 list.add(rs.getBigDecimal("FEndBalanceFor")); //期末余额原币 list.add(rs.getBigDecimal("FEndBalanceLocal")); //本位币 list.add(rs.getBigDecimal("FEndBalanceRpt")); //报告币 map.put(accountId, list); } } catch (SQLException e) { throw new BOSException(e); } return map; }

转载请注明原文地址: https://www.6miu.com/read-12848.html

最新回复(0)