1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.vnd.batch.dataaccess;
20
21 import java.util.List;
22
23 import org.apache.ojb.broker.query.Criteria;
24 import org.apache.ojb.broker.query.QueryByCriteria;
25 import org.apache.ojb.broker.query.QueryFactory;
26 import org.kuali.kfs.vnd.businessobject.DebarredVendorMatch;
27 import org.kuali.kfs.vnd.businessobject.VendorDetail;
28 import org.kuali.rice.core.framework.persistence.ojb.dao.PlatformAwareDaoBaseOjb;
29
30 public class DebarredVendorMatchDaoOjb extends PlatformAwareDaoBaseOjb implements DebarredVendorMatchDao {
31
32
33
34
35 @Override
36 public DebarredVendorMatch getPreviousVendorExcludeConfirmation(DebarredVendorMatch match) {
37 Criteria criteria = new Criteria();
38
39 criteria.addEqualTo("vendorHeaderGeneratedIdentifier", match.getVendorHeaderGeneratedIdentifier());
40 criteria.addEqualTo("vendorDetailAssignedIdentifier", match.getVendorDetailAssignedIdentifier());
41
42 if (match.getName() != null) {
43 criteria.addEqualTo("upper(name)", match.getName().toUpperCase());
44 } else {
45 criteria.addIsNull("name");
46 }
47 if (match.getAddress1() != null) {
48 criteria.addEqualTo("upper(address1)", match.getAddress1().toUpperCase());
49 } else {
50 criteria.addIsNull("address1");
51 }
52 if (match.getAddress2() != null) {
53 criteria.addEqualTo("upper(address2)", match.getAddress2().toUpperCase());
54 } else {
55 criteria.addIsNull("address2");
56 }
57 if (match.getCity() != null) {
58 criteria.addEqualTo("upper(city)", match.getCity().toUpperCase());
59 } else {
60 criteria.addIsNull("city");
61 }
62 if (match.getState() != null) {
63 criteria.addEqualTo("upper(state)", match.getState().toUpperCase());
64 } else {
65 criteria.addIsNull("state");
66 }
67 if (match.getZip() != null) {
68 criteria.addEqualTo("zip", match.getZip());
69 } else {
70 criteria.addIsNull("zip");
71 }
72 QueryByCriteria query = QueryFactory.newQuery(DebarredVendorMatch.class, criteria);
73 List<DebarredVendorMatch> matches = (List<DebarredVendorMatch>)getPersistenceBrokerTemplate().getCollectionByQuery(query);
74
75 DebarredVendorMatch oldMatch = null;
76 if (matches.size() > 0) {
77 oldMatch = matches.get(0);
78 }
79 return oldMatch;
80 }
81
82
83
84
85 @Override
86 public List<VendorDetail> getDebarredVendorsUnmatched() {
87
88 Criteria subcr = new Criteria();
89 subcr.addEqualToField("vendorHeaderGeneratedIdentifier", Criteria.PARENT_QUERY_PREFIX + "vendorHeaderGeneratedIdentifier");
90 subcr.addEqualToField("vendorDetailAssignedIdentifier", Criteria.PARENT_QUERY_PREFIX + "vendorDetailAssignedIdentifier");
91 Criteria orcr = new Criteria();
92 orcr.addEqualTo("confirmStatusCode", "C");
93 Criteria orcr2 = new Criteria();
94 orcr2.addEqualTo("confirmStatusCode", "U");
95 orcr.addOrCriteria(orcr2);
96 subcr.addAndCriteria(orcr);
97 QueryByCriteria subqr = QueryFactory.newQuery(DebarredVendorMatch.class, subcr);
98
99 Criteria criteria = new Criteria();
100 criteria.addEqualTo("vendorHeader.vendorDebarredIndicator", "Y");
101 criteria.addNotExists(subqr);
102 QueryByCriteria query = QueryFactory.newQuery(VendorDetail.class, criteria);
103 List<VendorDetail> vendors = (List<VendorDetail>) getPersistenceBrokerTemplate().getCollectionByQuery(query);
104
105 return vendors;
106 }
107
108 @Override
109 public DebarredVendorMatch getDebarredVendor(int debarredVendorId) {
110 Criteria criteria = new Criteria();
111 criteria.addEqualTo("debarredVendorId", debarredVendorId);
112 QueryByCriteria query = QueryFactory.newQuery(DebarredVendorMatch.class, criteria);
113 return (DebarredVendorMatch)getPersistenceBrokerTemplate().getObjectByQuery(query);
114 }
115
116 }