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

来源:互联网 发布:淘宝免费引流1天100人 编辑:程序博客网 时间:2024/06/10 23:25

以下代码演示了如何从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"); //科目IDlist.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;}


原创粉丝点击