BrightSide Workbench Full Report + Source Code
AccountStringWrapper.java
Go to the documentation of this file.
1 /*
2  * TurrĂ³ i Cutiller Foundation. License notice.
3  * Copyright (C) 2011 Lluis TurrĂ³ Cutiller <http://www.turro.org/>
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU Affero General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Affero General Public License for more details.
14  *
15  * You should have received a copy of the GNU Affero General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 package org.turro.financials.model.register;
19 
20 import java.util.Date;
21 import org.turro.financials.db.FinancialsPU;
22 import org.turro.financials.entity.RegisterView;
23 
28 public class AccountStringWrapper {
29 
30  private String account;
31 
32  public AccountStringWrapper(String account) {
33  this.account = account;
34  }
35 
36  public Double[] getAmounts(RegisterView view, Date fromDate, Date toDate) {
37  Object[] pars = view != null ?
38  new Object[] {
39  account + "%",
40  fromDate,
41  toDate,
42  view
43  } :
44  new Object[] {
45  account + "%",
46  fromDate,
47  toDate
48  };
49  Object[] o = (Object[]) new FinancialsPU().getSingleResult(
50  "select sum(entry.debit), sum(entry.credit) " +
51  "from RegisterEntry as entry " +
52  "where entry.account.id like ? " +
53  "and entry.register.registerDate >= ? " +
54  "and entry.register.registerDate <= ? " +
55  (view != null ? "and entry.register.view = ? " : ""),
56  pars);
57  return new Double[] {
58  (Double) (o[0] == null ? 0.0 : o[0]),
59  (Double) (o[1] == null ? 0.0 : o[1])
60  };
61  }
62 
63  public Double getBalance(RegisterView view, Date toDate) {
64  Object[] pars = view != null ?
65  new Object[] {
66  account + "%",
67  toDate,
68  view
69  } :
70  new Object[] {
71  account + "%",
72  toDate
73  };
74  Object o = new FinancialsPU().getSingleResult(
75  "select sum(entry.debit-entry.credit) " +
76  "from RegisterEntry as entry " +
77  "where entry.account.id like ? " +
78  "and entry.register.registerDate <= ? " +
79  (view != null ? "and entry.register.view = ? " : ""),
80  pars);
81  return (Double) o;
82  }
83 }
Double[] getAmounts(RegisterView view, Date fromDate, Date toDate)
Object getSingleResult(WhereClause wc)
Definition: Dao.java:380