View Javadoc
1   /*
2    * Copyright 2007 The Kuali Foundation
3    * 
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    * http://www.opensource.org/licenses/ecl2.php
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  /*
17   * Created on Aug 7, 2004
18   *
19   */
20  package org.kuali.ole.pdp.dataaccess.impl;
21  
22  import java.math.BigDecimal;
23  import java.sql.Timestamp;
24  
25  import org.apache.ojb.broker.query.Criteria;
26  import org.apache.ojb.broker.query.QueryByCriteria;
27  import org.kuali.ole.pdp.PdpPropertyConstants;
28  import org.kuali.ole.pdp.businessobject.Batch;
29  import org.kuali.ole.pdp.businessobject.CustomerProfile;
30  import org.kuali.ole.pdp.dataaccess.PaymentFileLoadDao;
31  import org.kuali.rice.core.framework.persistence.ojb.dao.PlatformAwareDaoBaseOjb;
32  
33  /**
34   * @see org.kuali.ole.pdp.dataaccess.PaymentFileLoadDao
35   */
36  public class PaymentFileLoadDaoOjb extends PlatformAwareDaoBaseOjb implements PaymentFileLoadDao {
37      private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(PaymentFileLoadDaoOjb.class);
38  
39      public PaymentFileLoadDaoOjb() {
40          super();
41      }
42  
43      /**
44       * @see org.kuali.ole.pdp.dataaccess.PaymentFileLoadDao#isDuplicateBatch(org.kuali.ole.pdp.businessobject.CustomerProfile,
45       *      java.lang.Integer, java.math.BigDecimal, java.sql.Timestamp)
46       */
47      public boolean isDuplicateBatch(CustomerProfile customer, Integer count, BigDecimal totalAmount, Timestamp now) {
48          LOG.debug("isDuplicateBatch() starting");
49  
50          Criteria criteria = new Criteria();
51          criteria.addEqualTo(PdpPropertyConstants.CUSTOMER_ID, customer.getId());
52          criteria.addEqualTo(PdpPropertyConstants.CUSTOMER_FILE_CREATE_TIMESTAMP, now);
53          criteria.addEqualTo(PdpPropertyConstants.PAYMENT_COUNT, count);
54          criteria.addEqualTo(PdpPropertyConstants.PAYMENT_TOTAL_AMOUNT, totalAmount);
55  
56          return getPersistenceBrokerTemplate().getObjectByQuery(new QueryByCriteria(Batch.class, criteria)) != null;
57      }
58  }