/* * 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.accounting.struts.action; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.mifos.accounting.struts.actionform.ProcessAccountingTransactionsActionForm; import org.mifos.application.servicefacade.AccountingServiceFacade; import org.mifos.application.servicefacade.AccountingServiceFacadeWebTier; import org.mifos.application.util.helpers.ActionForwards; import org.mifos.dto.domain.DynamicOfficeDto; import org.mifos.dto.domain.OfficeGlobalDto; import org.mifos.dto.domain.OfficesList; import org.mifos.framework.struts.action.BaseAction; import org.mifos.framework.util.helpers.DateUtils; import org.mifos.security.util.UserContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ProcessAccountingTransactionsAction extends BaseAction { private static final Logger logger = LoggerFactory .getLogger(ProcessAccountingTransactionsAction.class); private AccountingServiceFacade accountingServiceFacade = new AccountingServiceFacadeWebTier(); public ActionForward load(ActionMapping mapping, ActionForm form, HttpServletRequest request, @SuppressWarnings("unused") HttpServletResponse response) throws Exception { ProcessAccountingTransactionsActionForm actionForm = (ProcessAccountingTransactionsActionForm) form; UserContext context = getUserContext(request); actionForm.setOfficeLevelId(String.valueOf(context.getOfficeLevelId())); actionForm .setOffice(""); List<OfficesList> offices = new ArrayList<OfficesList>(); List<DynamicOfficeDto> listOfOffices = null; listOfOffices = accountingServiceFacade.getOfficeDetails( String.valueOf(context.getBranchId()), String.valueOf(context.getOfficeLevelId())); OfficesList officesList = null; OfficeGlobalDto officeGlobalDto = null; for (DynamicOfficeDto officeDto : listOfOffices) { if (officeDto.getOfficeLevelId() == 5) { officesList = new OfficesList(officeDto.getOfficeId(), officeDto.displayName, officeDto.officeLevelId, officeDto.globalOfficeNumber); offices.add(officesList); } } if("1".equals(String.valueOf(getUserContext(request).getOfficeLevelId()))){ storingSession(request, "officeLevelId", actionForm.getOfficeLevelId()); storingSession(request, "DynamicOfficesOnHierarchy", offices); }else if("5".equals(String.valueOf(getUserContext(request).getOfficeLevelId()))){ if(offices.size() > 0 && (offices.get(0)!=null)){ officeGlobalDto = new OfficeGlobalDto(offices.get(0).globalOfficeNumber, offices.get(0).displayName); } actionForm.setOffice(offices.get(0).globalOfficeNumber); storingSession(request, "officeLevelId", actionForm.getOfficeLevelId()); storingSession(request, "DynamicOfficesOnHierarchy", officeGlobalDto); actionForm.setLastProcessDate(accountingServiceFacade .getLastProcessUpdatedDate(getUserContext(request) .getBranchGlobalNum())); }else{ storingSession(request, "DynamicOfficesOnHierarchy", offices); } /* * actionForm.setLastProcessDate(accountingServiceFacade * .getLastProcessDate()); */ return mapping.findForward(ActionForwards.load_success.toString()); } public ActionForward process(ActionMapping mapping, ActionForm form, HttpServletRequest request, @SuppressWarnings("unused") HttpServletResponse response) throws Exception { /*ProcessAccountingTransactionsActionForm actionForm = (ProcessAccountingTransactionsActionForm) form; accountingServiceFacade.processMisPostings( DateUtils.getDate(actionForm.getLastProcessDate()), DateUtils.getDate(actionForm.getProcessTillDate()),getUserContext(request).getId()); actionForm.setLastProcessDate(accountingServiceFacade .getLastProcessDate()); storingSession(request, "ProcessAccountingTransactionsActionForm", actionForm);*/ ProcessAccountingTransactionsActionForm actionForm = (ProcessAccountingTransactionsActionForm) form; UserContext userContext = getUserContext(request); monthClosingServiceFacade.validateTransactionDate(DateUtils .getDate(actionForm.getProcessTillDate())); accountingServiceFacade.processMisPostings(DateUtils.getDate(actionForm .getLastProcessDate()), DateUtils.getDate(actionForm .getProcessTillDate()), getUserContext(request).getId(), actionForm.getOffice()); /* * actionForm.setLastProcessDate(accountingServiceFacade * .getLastProcessDate()); */ actionForm.setLastProcessDate(accountingServiceFacade .getLastProcessUpdatedDate(actionForm.getOffice())); storingSession(request, "ProcessAccountingTransactionsActionForm", actionForm); return mapping.findForward("submit_success"); } public ActionForward loadLastUpdatedDate(ActionMapping mapping, ActionForm form, HttpServletRequest request, @SuppressWarnings("unused") HttpServletResponse response) throws Exception { ProcessAccountingTransactionsActionForm actionForm = (ProcessAccountingTransactionsActionForm) form; actionForm.setLastProcessDate(accountingServiceFacade.getLastProcessUpdatedDate(actionForm.getOffice())); return mapping.findForward(ActionForwards.load_success.toString()); } public void storingSession(HttpServletRequest httpServletRequest, String s, Object o) { httpServletRequest.getSession().setAttribute(s, o); } }