/* * Created on 8.9.2003 */ package se.idega.idegaweb.commune.accounting.export.data; import javax.ejb.FinderException; import java.util.Collection; import com.idega.block.school.data.SchoolCategory; import com.idega.data.GenericEntity; import com.idega.data.IDOQuery; /** * @author laddi * * A data bean to set the values needed to export accounting strings to external * systems. */ public class ExportDataMappingBMPBean extends GenericEntity implements ExportDataMapping { private static final String ENTITY_NAME = "cacc_data_mapping"; private static final String COLUMN_OPERATIONAL_FIELD = "operational_field"; private static final String COLUMN_JOURNAL_NUMBER = "journal_number"; private static final String COLUMN_ACCOUNT = "account"; private static final String COLUMN_COUNTER_ACCOUNT = "counter_account"; private static final String COLUMN_PAYABLE_ACCOUNT = "payable_account"; private static final String COLUMN_CUSTOMER_CLAIM_ACCOUNT = "customer_claim_account"; private static final String COLUMN_ACCOUNT_SETTLEMENT_TYPE = "account_settlement_type"; private static final String COLUMN_CASH_FLOW_IN = "cash_flow_in"; private static final String COLUMN_CASH_FLOW_OUT = "cash_flow_out"; private static final String COLUMN_PROVIDER_AUTHORIZATION = "provider_authorization"; private static final String COLUMN_STANDARD_PAYMENT_DAY = "standard_payment_day"; private static final String COLUMN_FILE_CREATION_FOLDER = "file_folder"; private static final String COLUMN_IFS_FILE_FOLDER = "ifs_file_folder"; private static final String COLUMN_EXPORT_FILE_FOLDER = "export_file_folder"; private static final String COLUMN_FILE_BACKUP_FOLDER = "file_backup_folder"; private static final String COLUMN_LIST_CREATION_FOLDER = "list_folder"; private static final String COLUMN_LIST_BACKUP_FOLDER = "list_backup_folder"; private static final String COLUMN_USE_SPECIFIED_DAYS_PR_MONTH = "use_specified_days_month"; private static final String COLUMN_DAYS_PR_MONTH = "specified_day"; private static final String COLUMN_PAYMENTS_FOR_COMMUNES_OUTSIDE = "payments_for_comm_outside"; private static final String COLUMN_USE_AGE_IN_POSTING = "use_age_in_posting"; private static final String COLUMN_USE_CARE_TIME_IN_POSTING = "use_care_time_in_posting"; private static final String COLUMN_INVOICE_LIMIT = "invoice_limit"; private static final String COLUMN_SKIP_STUDENTS_OUTSIDE_COMMUNE = "skip_students_outside_commune"; /* * (non-Javadoc) * * @see com.idega.data.GenericEntity#getEntityName() */ public String getEntityName() { return ENTITY_NAME; } /* * (non-Javadoc) * * @see com.idega.data.GenericEntity#getIDColumnName() */ public String getIDColumnName() { return COLUMN_OPERATIONAL_FIELD; } /* * (non-Javadoc) * * @see com.idega.data.IDOEntityBean#getPrimaryKeyClass() */ public Class getPrimaryKeyClass() { return String.class; } /* * (non-Javadoc) * * @see com.idega.data.GenericEntity#initializeAttributes() */ public void initializeAttributes() { addOneToOneRelationship(COLUMN_OPERATIONAL_FIELD, SchoolCategory.class); setAsPrimaryKey(COLUMN_OPERATIONAL_FIELD, true); addAttribute(COLUMN_JOURNAL_NUMBER, "Journal number", String.class, 255); addAttribute(COLUMN_ACCOUNT, "Account number", String.class, 255); addAttribute(COLUMN_COUNTER_ACCOUNT, "Counter account number", String.class, 255); addAttribute(COLUMN_PAYABLE_ACCOUNT, "Payable account number", String.class, 255); addAttribute(COLUMN_CUSTOMER_CLAIM_ACCOUNT, "Customer claim account number", String.class, 255); addAttribute(COLUMN_ACCOUNT_SETTLEMENT_TYPE, "Account settlement type", Integer.class); addAttribute(COLUMN_STANDARD_PAYMENT_DAY, "Standard payment day", Integer.class); addAttribute(COLUMN_CASH_FLOW_IN, "Has cash flow in", Boolean.class); addAttribute(COLUMN_CASH_FLOW_OUT, "Has cash flow out", Boolean.class); addAttribute(COLUMN_PROVIDER_AUTHORIZATION, "Requires provider authorization", Boolean.class); addAttribute(COLUMN_FILE_CREATION_FOLDER, "Folder to create files for this type in", String.class, 255); addAttribute(COLUMN_IFS_FILE_FOLDER, "Folder where IFS reads files for this type", String.class, 255); addAttribute(COLUMN_EXPORT_FILE_FOLDER, "Folder where external system reads files", String.class, 255); addAttribute(COLUMN_LIST_CREATION_FOLDER, "Folder to create lists for this type in", String.class, 255); addAttribute(COLUMN_USE_SPECIFIED_DAYS_PR_MONTH, "Whether or not to use a specified nr. of days pr month in calculations", Boolean.class); addAttribute(COLUMN_DAYS_PR_MONTH, "The number of specified days pr. month", Integer.class); addAttribute(COLUMN_PAYMENTS_FOR_COMMUNES_OUTSIDE, "Pay commune providers outside of commune", Boolean.class); addAttribute(COLUMN_USE_AGE_IN_POSTING, "Use age when getting posting parameters", Boolean.class); addAttribute(COLUMN_USE_CARE_TIME_IN_POSTING, "Use care time when getting posting parameters", Boolean.class); addAttribute(COLUMN_INVOICE_LIMIT, "Invoice limit", Float.class); addAttribute(COLUMN_SKIP_STUDENTS_OUTSIDE_COMMUNE, "Skip students outside commune", Boolean.class); } // Getters public SchoolCategory getOperationalField() { return (SchoolCategory) getColumnValue(COLUMN_OPERATIONAL_FIELD); } public String getJournalNumber() { return getStringColumnValue(COLUMN_JOURNAL_NUMBER); } public String getAccount() { return getStringColumnValue(COLUMN_ACCOUNT); } public String getCounterAccount() { return getStringColumnValue(COLUMN_COUNTER_ACCOUNT); } public String getPayableAccount() { return getStringColumnValue(COLUMN_PAYABLE_ACCOUNT); } public String getCustomerClaimAccount() { return getStringColumnValue(COLUMN_CUSTOMER_CLAIM_ACCOUNT); } public int getAccountSettlementType() { return getIntColumnValue(COLUMN_ACCOUNT_SETTLEMENT_TYPE); } public int getStandardPaymentDay() { return getIntColumnValue(COLUMN_STANDARD_PAYMENT_DAY); } public boolean getCashFlowIn() { return getBooleanColumnValue(COLUMN_CASH_FLOW_IN, false); } public boolean getCashFlowOut() { return getBooleanColumnValue(COLUMN_CASH_FLOW_OUT, false); } public boolean getProviderAuthorization() { return getBooleanColumnValue(COLUMN_PROVIDER_AUTHORIZATION, false); } public String getFileCreationFolder() { return getStringColumnValue(COLUMN_FILE_CREATION_FOLDER); } public String getIFSFileFolder() { return getStringColumnValue(COLUMN_IFS_FILE_FOLDER); } public String getExportFileFolder() { return getStringColumnValue(COLUMN_EXPORT_FILE_FOLDER); } public String getFileBackupFolder() { return getStringColumnValue(COLUMN_FILE_BACKUP_FOLDER); } public String getListCreationFolder() { return getStringColumnValue(COLUMN_LIST_CREATION_FOLDER); } public String getListBackupFolder() { return getStringColumnValue(COLUMN_LIST_BACKUP_FOLDER); } public boolean getUseSpecifiedNumberOfDaysPrMonth() { return getBooleanColumnValue(COLUMN_USE_SPECIFIED_DAYS_PR_MONTH, false); } public int getSpecifiedNumberOfDaysPrMonth() { return getIntColumnValue(COLUMN_DAYS_PR_MONTH, 0); } public boolean getCreatePaymentsForCommuneProvidersOutsideCommune() { return getBooleanColumnValue(COLUMN_PAYMENTS_FOR_COMMUNES_OUTSIDE, false); } public boolean getUseAgeInPosting() { return getBooleanColumnValue(COLUMN_USE_AGE_IN_POSTING, false); } public boolean getUseCareTimeInPosting() { return getBooleanColumnValue(COLUMN_USE_CARE_TIME_IN_POSTING, false); } public float getInvoiceLimit() { return getFloatColumnValue(COLUMN_INVOICE_LIMIT, 50.0f); } public boolean getSkipStudentsOutsideCommune() { return getBooleanColumnValue(COLUMN_SKIP_STUDENTS_OUTSIDE_COMMUNE, false); } // Setters public void setOperationalField(String operationalField) { setColumn(COLUMN_OPERATIONAL_FIELD, operationalField); } public void setOperationalField(SchoolCategory operationalField) { setColumn(COLUMN_OPERATIONAL_FIELD, operationalField); } public void setJournalNumber(String journalNumber) { setColumn(COLUMN_JOURNAL_NUMBER, journalNumber); } public void setAccount(String account) { setColumn(COLUMN_ACCOUNT, account); } public void setCounterAccount(String counterAccount) { setColumn(COLUMN_COUNTER_ACCOUNT, counterAccount); } public void setPayableAccount(String payableAccount) { setColumn(COLUMN_PAYABLE_ACCOUNT, payableAccount); } public void setCustomerClaimAccount(String customerClaimAccount) { setColumn(COLUMN_CUSTOMER_CLAIM_ACCOUNT, customerClaimAccount); } public void setAccountSettlementType(int accountSettlementType) { setColumn(COLUMN_ACCOUNT_SETTLEMENT_TYPE, accountSettlementType); } public void setStandardPaymentDay(int standardPaymentDay) { setColumn(COLUMN_STANDARD_PAYMENT_DAY, standardPaymentDay); } public void setCashFlowIn(boolean cashFlowIn) { setColumn(COLUMN_CASH_FLOW_IN, cashFlowIn); } public void setCashFlowOut(boolean cashFlowOut) { setColumn(COLUMN_CASH_FLOW_OUT, cashFlowOut); } public void setProviderAuthorization(boolean providerAuthorization) { setColumn(COLUMN_PROVIDER_AUTHORIZATION, providerAuthorization); } public void setFileCreationFolder(String folder) { setColumn(COLUMN_FILE_CREATION_FOLDER, folder); } public void setIFSFileFolder(String folder) { setColumn(COLUMN_IFS_FILE_FOLDER, folder); } public void setExportFileFolder(String folder) { setColumn(COLUMN_EXPORT_FILE_FOLDER, folder); } public void setFileBackupFolder(String folder) { setColumn(COLUMN_FILE_BACKUP_FOLDER, folder); } public void setListCreationFolder(String folder) { setColumn(COLUMN_LIST_CREATION_FOLDER, folder); } public void setListBackupFolder(String folder) { setColumn(COLUMN_LIST_BACKUP_FOLDER, folder); } public void setUseSpecifiedNumberOfDaysPrMonth(boolean useSpecifiedDays) { setColumn(COLUMN_USE_SPECIFIED_DAYS_PR_MONTH, useSpecifiedDays); } public void setSpecifiedNumberOfDaysPrMonth(int specifiedDays) { setColumn(COLUMN_DAYS_PR_MONTH, specifiedDays); } public void setCreatePaymentsForCommuneProvidersOutsideCommune(boolean createPayments) { setColumn(COLUMN_PAYMENTS_FOR_COMMUNES_OUTSIDE, createPayments); } public void setUseAgeInPosting(boolean useAge) { setColumn(COLUMN_USE_AGE_IN_POSTING, useAge); } public void setUseCareTimeInPosting(boolean useCareTime) { setColumn(COLUMN_USE_CARE_TIME_IN_POSTING, useCareTime); } public void setInvoiceLimit(float limit) { setColumn(COLUMN_INVOICE_LIMIT, limit); } public void setSkipStudentsOutsideCommune(boolean skip) { setColumn(COLUMN_SKIP_STUDENTS_OUTSIDE_COMMUNE, skip); } // Find methods public Collection ejbFindAll() throws FinderException { IDOQuery query = idoQuery(); query.appendSelectAllFrom(this); return idoFindPKsByQuery(query); } }