001package org.kuali.ole.select.bo;
002
003import org.kuali.ole.coa.businessobject.OLECretePOAccountingLine;
004import org.kuali.ole.coa.businessobject.OleFundCode;
005import org.kuali.ole.select.document.OlePurchaseOrderDocument;
006import org.kuali.ole.sys.OLEConstants;
007import org.kuali.rice.core.api.config.property.ConfigContext;
008import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
009import org.kuali.rice.krad.service.KRADServiceLocator;
010import org.kuali.rice.krad.service.KRADServiceLocatorWeb;
011
012import java.util.ArrayList;
013import java.util.HashMap;
014import java.util.List;
015import java.util.Map;
016
017/**
018 * Created by sambasivam on 19/9/14.
019 *
020 * This class is used for displaying the results for create POs for eResource and instance.
021 */
022public class OLECreatePO extends PersistableBusinessObjectBase implements Cloneable {
023
024
025    private String createPOId;
026    private boolean selectFlag;
027    private String poId;
028    private String gokbId;
029    private String title;
030    private String isbnNIssn;
031    private String price;
032    private String vendorId;
033    private String purposeId;
034    private String orderTypeId;
035    private String instanceId;
036    private String instanceFlag;
037    private String bibId;
038    private String redirectUrl;
039    private String oleERSIdentifier;
040    private List<OLECretePOAccountingLine> accountingLines = new ArrayList<>();
041    private List<OleFundCode> fundCodes = new ArrayList<>();
042
043    public String getCreatePOId() {
044        return createPOId;
045    }
046
047    public void setCreatePOId(String createPOId) {
048        this.createPOId = createPOId;
049    }
050
051    public boolean isSelectFlag() {
052        return selectFlag;
053    }
054
055    public void setSelectFlag(boolean selectFlag) {
056        this.selectFlag = selectFlag;
057    }
058
059    public String getPoId() {
060        return poId;
061    }
062
063    public void setPoId(String poId) {
064        this.poId = poId;
065    }
066
067    public String getGokbId() {
068        return gokbId;
069    }
070
071    public void setGokbId(String gokbId) {
072        this.gokbId = gokbId;
073    }
074
075    public String getTitle() {
076        return title;
077    }
078
079    public void setTitle(String title) {
080        this.title = title;
081    }
082
083    public String getIsbnNIssn() {
084        return isbnNIssn;
085    }
086
087    public void setIsbnNIssn(String isbnNIssn) {
088        this.isbnNIssn = isbnNIssn;
089    }
090
091    public String getPrice() {
092        return price;
093    }
094
095    public void setPrice(String price) {
096        this.price = price;
097    }
098
099    public String getVendorId() {
100        return vendorId;
101    }
102
103    public void setVendorId(String vendorId) {
104        this.vendorId = vendorId;
105    }
106
107    public String getPurposeId() {
108        return purposeId;
109    }
110
111    public void setPurposeId(String purposeId) {
112        this.purposeId = purposeId;
113    }
114
115    public String getOrderTypeId() {
116        return orderTypeId;
117    }
118
119    public void setOrderTypeId(String orderTypeId) {
120        this.orderTypeId = orderTypeId;
121    }
122
123    @Override
124    public Object clone() throws CloneNotSupportedException {
125        return super.clone();
126    }
127
128    public String getInstanceId() {
129        return instanceId;
130    }
131
132    public void setInstanceId(String instanceId) {
133        this.instanceId = instanceId;
134    }
135
136    public String getInstanceFlag() {
137        return instanceFlag;
138    }
139
140    public void setInstanceFlag(String instanceFlag) {
141        this.instanceFlag = instanceFlag;
142    }
143
144    public String getBibId() {
145        return bibId;
146    }
147
148    public void setBibId(String bibId) {
149        this.bibId = bibId;
150    }
151
152    public String getRedirectUrl() {
153        String purchaseOrderLineItemIdentifier = this.getPoId().toString();
154        if (purchaseOrderLineItemIdentifier != null && !"".equals(purchaseOrderLineItemIdentifier)) {
155            Map poNumber = new HashMap();
156            poNumber.put(OLEConstants.PUR_DOC_IDENTIFIER, purchaseOrderLineItemIdentifier);
157            List<OlePurchaseOrderDocument> olePurchaseOrderDocumentList = (List) KRADServiceLocator.getBusinessObjectService().findMatching(OlePurchaseOrderDocument.class, poNumber);
158            for (OlePurchaseOrderDocument olePurchaseOrderDocument : olePurchaseOrderDocumentList) {
159                if (olePurchaseOrderDocument != null) {
160                    boolean validPO = olePurchaseOrderDocument != null ? olePurchaseOrderDocument.getPurchaseOrderCurrentIndicatorForSearching() : false;
161                    if (validPO) {
162                        redirectUrl = ConfigContext.getCurrentContextConfig().getProperty("kew.url") + OLEConstants.PO_LINE_ITEM_URL + olePurchaseOrderDocument.getDocumentNumber();
163                    }
164                }
165            }
166        }
167        return redirectUrl;
168    }
169
170    public void setRedirectUrl(String redirectUrl) {
171        this.redirectUrl = redirectUrl;
172    }
173
174    public String getOleERSIdentifier() {
175        return oleERSIdentifier;
176    }
177
178    public void setOleERSIdentifier(String oleERSIdentifier) {
179        this.oleERSIdentifier = oleERSIdentifier;
180    }
181
182    public List<OLECretePOAccountingLine> getAccountingLines() {
183        return accountingLines;
184    }
185
186    public void setAccountingLines(List<OLECretePOAccountingLine> accountingLines) {
187        this.accountingLines = accountingLines;
188    }
189
190    public List<OleFundCode> getFundCodes() {
191        return fundCodes;
192    }
193
194    public void setFundCodes(List<OleFundCode> fundCodes) {
195        this.fundCodes = fundCodes;
196    }
197}