/* * Copyright (c) 2005-2011 Grameen Foundation USA * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. * * See also http://www.apache.org/licenses/LICENSE-2.0.html for an * explanation of the license and how it is applied. */ package org.mifos.application.servicefacade; import java.util.Date; import java.util.List; import org.mifos.application.accounting.business.CoaBranchBO; import org.mifos.application.accounting.business.FinancialYearBO; import org.mifos.application.accounting.business.GlBalancesBO; import org.mifos.application.accounting.business.GlMasterBO; import org.mifos.dto.domain.CoaNamesDto; import org.mifos.dto.domain.GLCodeDto; import org.mifos.dto.domain.GlDetailDto; import org.mifos.dto.domain.OfficeGlobalDto; import org.mifos.dto.domain.RolesActivityDto; import org.mifos.dto.domain.ViewStageTransactionsDto; import org.mifos.dto.domain.ViewTransactionsDto; import org.mifos.security.util.UserContext; /** * Service facade for Mifos Accounting functionality. */ public interface AccountingServiceFacade { List<OfficeGlobalDto> loadOfficesForLevel(Short officeLevelId); GlBalancesBO loadExistedGlBalancesBO(Integer officeLevelId,String officeId,String glCodeValue,Integer finantialYearId); List<OfficeGlobalDto> loadCustomerForLevel(Short customerLevelId); List<GLCodeDto> mainAccountForCash(); List<GLCodeDto> loadDebitAccounts(); List<GLCodeDto> loadCreditAccounts(String glCode); List<GLCodeDto> mainAccountForBank(); List<GLCodeDto> accountHead(String glCode); List<ViewTransactionsDto> getAccountingTransactions(Date toTrxnDate,Date fromTrxnDate, int startRecord, int numberOfRecords); int getNumberOfTransactions(Date toTrxnDate,Date fromTrxnDate); String getLastProcessDate(); boolean processMisPostings(Date lastProcessDate, Date processTillDate,Short createdBy); FinancialYearBO getFinancialYear(); FinancialYearBO updateFinancialYear(FinancialYearBO financialYearBO,UserContext userContext); List<GLCodeDto> findTotalGlAccounts(); FinancialYearBO getFinancialYearBO(int financialYearId); boolean savingAccountingTransactions(GlMasterBO bo); boolean savingOpeningBalances(GlBalancesBO bo); public void processYearEndBalances(UserContext userContext,FinancialYearBO oldFinancialYearBO); List<ViewStageTransactionsDto> getStageAccountingTransactions(Object object, int iPageNo, int noOfRecordsPerPage); List<ViewStageTransactionsDto> getStageAccountingTransactions(String stage, int startRecord, int numberOfRecords); int getNumberOfStageTransactions(); void approveStageAccountingTransactions(int transactionNo, int stage); ViewStageTransactionsDto getstagedAccountingTransactions(String transactionNo); public GlDetailDto getChequeDetails(String stageTransactionNo); public List<GLCodeDto> auditAccountHeads(); boolean savingStageAccountingTransactions(GlMasterBO bo); public List<ViewStageTransactionsDto> getStageAccountingTransactions(Date date, Date date2, int iPageNo, int noOfRecordsPerPage); public int getNumberOfStageTransactions(Date date, Date date2); public void addAuditComments(String stageTransactionNo, String audit, String auditComments); //inter office List<GLCodeDto> loadInterOfficeDebitAccounts(); public List<OfficeGlobalDto> loadCustomerForLevel(Short short1, String fromOffice); public List<OfficeGlobalDto> loadOfficesForLevel(Short valueOf, String fromOffice); //process operation dto public List getOfficeDetails(String officeId, String officLevelId); public String getLastProcessUpdatedDate(String globalOfficeNumber); public boolean processMisPostings(Date lastProcessDate, Date processTillDate, Short createdBy,String officeId); //coa branch List<GLCodeDto> coaBranchAccountHead(); List<GLCodeDto> loadRemainingCoaNames(String globalnumwithcoaname); int deleteGlobalNumRelatedCoaNames(String deletecoaname); List<GLCodeDto> loadCoaBranchNames(String coaName); boolean savingCoaBranchTransactions(CoaBranchBO co); //voucher List<CoaNamesDto> loadCoaNamesWithGlcodeValues(String coaname); //consolidated List<ViewStageTransactionsDto> getConsolidatedTransactions(String branchoffice); //general List<RolesActivityDto> glloadRolesActivity(); List<RolesActivityDto> multipleglloadRolesActivity(); //journal List<RolesActivityDto> jvloadRolesActivity(); }