/* * The Kuali Financial System, a comprehensive financial management system for higher education. * * Copyright 2005-2014 The Kuali Foundation * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.kuali.kfs.module.cam.businessobject; import java.sql.Timestamp; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.kuali.kfs.sys.businessobject.Building; import org.kuali.kfs.sys.businessobject.Room; import org.kuali.kfs.sys.context.SpringContext; import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; import org.kuali.rice.krad.service.KualiModuleService; import org.kuali.rice.krad.service.ModuleService; import org.kuali.rice.location.api.LocationConstants; import org.kuali.rice.location.framework.campus.CampusEbo; /** * Class for the barcode inventory error detail */ public class BarcodeInventoryErrorDetail extends PersistableBusinessObjectBase { private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(BarcodeInventoryErrorDetail.class); private String documentNumber; private Long uploadRowNumber; private String errorCorrectionStatusCode; private String correctorUniversalIdentifier; private Timestamp inventoryCorrectionTimestamp; private String assetTagNumber; private boolean uploadScanIndicator; private Timestamp uploadScanTimestamp; private String campusCode; private String buildingCode; private String buildingRoomNumber; private String buildingSubRoomNumber; private String assetConditionCode; // References private CampusEbo campus; private Room buildingRoom; private Building building; private AssetCondition condition; // error description. This field is not being saved in any table. private String errorDescription; private boolean rowSelected; /** * Default constructor. */ public BarcodeInventoryErrorDetail() { } /** * Gets the documentNumber attribute. * * @return Returns the documentNumber */ public String getDocumentNumber() { return documentNumber; } /** * Sets the documentNumber attribute. * * @param documentNumber The documentNumber to set. */ public void setDocumentNumber(String documentNumber) { this.documentNumber = documentNumber; } /** * Gets the uploadRowNumber attribute. * * @return Returns the uploadRowNumber */ public Long getUploadRowNumber() { return uploadRowNumber; } /** * Sets the uploadRowNumber attribute. * * @param uploadRowNumber The uploadRowNumber to set. */ public void setUploadRowNumber(Long uploadRowNumber) { this.uploadRowNumber = uploadRowNumber; } /** * Gets the errorCorrectionStatusCode attribute. * * @return Returns the errorCorrectionStatusCode */ public String getErrorCorrectionStatusCode() { return errorCorrectionStatusCode; } /** * Sets the errorCorrectionStatusCode attribute. * * @param errorCorrectionStatusCode The errorCorrectionStatusCode to set. */ public void setErrorCorrectionStatusCode(String errorCorrectionStatusCode) { this.errorCorrectionStatusCode = errorCorrectionStatusCode; } /** * Gets the correctorUniversalIdentifier attribute. * * @return Returns the correctorUniversalIdentifier */ public String getCorrectorUniversalIdentifier() { return correctorUniversalIdentifier; } /** * Sets the correctorUniversalIdentifier attribute. * * @param correctorUniversalIdentifier The correctorUniversalIdentifier to set. */ public void setCorrectorUniversalIdentifier(String correctorUniversalIdentifier) { this.correctorUniversalIdentifier = correctorUniversalIdentifier; } /** * Gets the inventoryCorrectionTimestamp attribute. * * @return Returns the inventoryCorrectionTimestamp */ public Timestamp getInventoryCorrectionTimestamp() { return inventoryCorrectionTimestamp; } /** * Sets the inventoryCorrectionTimestamp attribute. * * @param inventoryCorrectionTimestamp The inventoryCorrectionTimestamp to set. */ public void setInventoryCorrectionTimestamp(Timestamp inventoryCorrectionTimestamp) { this.inventoryCorrectionTimestamp = inventoryCorrectionTimestamp; } /** * Gets the assetTagNumber attribute. * * @return Returns the assetTagNumber */ public String getAssetTagNumber() { return assetTagNumber; } /** * Sets the assetTagNumber attribute. * * @param assetTagNumber The assetTagNumber to set. */ public void setAssetTagNumber(String assetTagNumber) { this.assetTagNumber = assetTagNumber; } /** * Gets the uploadScanIndicator attribute. * * @return Returns the uploadScanIndicator */ public boolean isUploadScanIndicator() { return uploadScanIndicator; } /** * Sets the uploadScanIndicator attribute. * * @param uploadScanIndicator The uploadScanIndicator to set. */ public void setUploadScanIndicator(boolean uploadScanIndicator) { this.uploadScanIndicator = uploadScanIndicator; } /** * Gets the uploadScanTimestamp attribute. * * @return Returns the uploadScanTimestamp */ public Timestamp getUploadScanTimestamp() { return uploadScanTimestamp; } /** * Sets the uploadScanTimestamp attribute. * * @param uploadScanTimestamp The uploadScanTimestamp to set. */ public void setUploadScanTimestamp(Timestamp uploadScanTimestamp) { this.uploadScanTimestamp = uploadScanTimestamp; } /** * Gets the campusCode attribute. * * @return Returns the campusCode */ public String getCampusCode() { return campusCode; } /** * Sets the campusCode attribute. * * @param campusCode The campusCode to set. */ public void setCampusCode(String campusCode) { this.campusCode = campusCode; } /** * Gets the buildingCode attribute. * * @return Returns the buildingCode */ public String getBuildingCode() { return buildingCode; } /** * Sets the buildingCode attribute. * * @param buildingCode The buildingCode to set. */ public void setBuildingCode(String buildingCode) { this.buildingCode = buildingCode; } /** * Gets the buildingRoomNumber attribute. * * @return Returns the buildingRoomNumber */ public String getBuildingRoomNumber() { return buildingRoomNumber; } /** * Sets the buildingRoomNumber attribute. * * @param buildingRoomNumber The buildingRoomNumber to set. */ public void setBuildingRoomNumber(String buildingRoomNumber) { this.buildingRoomNumber = buildingRoomNumber; } /** * Gets the buildingSubRoomNumber attribute. * * @return Returns the buildingSubRoomNumber */ public String getBuildingSubRoomNumber() { return buildingSubRoomNumber; } /** * Sets the buildingSubRoomNumber attribute. * * @param buildingSubRoomNumber The buildingSubRoomNumber to set. */ public void setBuildingSubRoomNumber(String buildingSubRoomNumber) { this.buildingSubRoomNumber = buildingSubRoomNumber; } /** * Gets the assetConditionCode attribute. * * @return Returns the assetConditionCode */ public String getAssetConditionCode() { return assetConditionCode; } /** * Sets the assetConditionCode attribute. * * @param assetConditionCode The assetConditionCode to set. */ public void setAssetConditionCode(String assetConditionCode) { this.assetConditionCode = assetConditionCode; } /** * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper() */ protected LinkedHashMap toStringMapper_RICE20_REFACTORME() { LinkedHashMap m = new LinkedHashMap(); m.put("documentNumber", this.documentNumber); if (this.uploadRowNumber != null) { m.put("uploadRowNumber", this.uploadRowNumber.toString()); } m.put("assetTagNumber", this.assetTagNumber); m.put("buildingRoomNumber", this.buildingRoomNumber); m.put("errorCorrectionStatusCode", this.getErrorCorrectionStatusCode()); return m; } /** * Gets the campus code reference object * * @return Campus */ public CampusEbo getCampus() { if ( StringUtils.isBlank(campusCode) ) { campus = null; } else { if ( campus == null || !StringUtils.equals( campus.getCode(),campusCode) ) { ModuleService moduleService = SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(CampusEbo.class); if ( moduleService != null ) { Map<String,Object> keys = new HashMap<String, Object>(1); keys.put(LocationConstants.PrimaryKeyConstants.CODE, campusCode); campus = moduleService.getExternalizableBusinessObject(CampusEbo.class, keys); } else { throw new RuntimeException( "CONFIGURATION ERROR: No responsible module found for EBO class. Unable to proceed." ); } } } return campus; } /** * sets the campus code reference object * * @param campus */ public void setCampus(CampusEbo campus) { this.campus = campus; } /** * Gets the building room reference object * * @return Room */ public Room getBuildingRoom() { return buildingRoom; } /** * Sets the bulding room reference object * * @param buildingRoom */ public void setBuildingRoom(Room buildingRoom) { this.buildingRoom = buildingRoom; } /** * Gets the building reference object * * @return Building */ public Building getBuilding() { return building; } /** * Sets the building reference object * * @param building */ public void setBuilding(Building building) { this.building = building; } /** * Gets the condition code reference object * * @return AssetCondition */ public AssetCondition getCondition() { return condition; } /** * sets the condition code reference object * * @param condition */ public void setCondition(AssetCondition condition) { this.condition = condition; } /** * Gets the error description of an asset * * @return String */ public String getErrorDescription() { return errorDescription; } /** * sets the field that will hold the error description of an asset * * @param errorDescription */ public void setErrorDescription(String errorDescription) { this.errorDescription = errorDescription; } }