/*
* eGov suite of products aim to improve the internal efficiency,transparency,
* accountability and the service delivery of the government organizations.
*
* Copyright (C) <2015> eGovernments Foundation
*
* The updated version of eGov suite of products as by eGovernments Foundation
* is available at http://www.egovernments.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see http://www.gnu.org/licenses/ or
* http://www.gnu.org/licenses/gpl.html .
*
* In addition to the terms of the GPL license to be adhered to in using this
* program, the following additional terms are to be complied with:
*
* 1) All versions of this program, verbatim or modified must carry this
* Legal Notice.
*
* 2) Any misrepresentation of the origin of the material is prohibited. It
* is required that all modified versions of this material be marked in
* reasonable ways as different from the original version.
*
* 3) This license does not grant any rights to any user of the program
* with regards to rights under trademark law for use of the trade names
* or trademarks of eGovernments Foundation.
*
* In case of any queries, you can reach eGovernments Foundation at contact@egovernments.org.
*/
package org.egov.egf.web.actions.report;
import com.opensymphony.xwork2.validator.annotations.Validation;
import org.apache.log4j.Logger;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import org.apache.struts2.interceptor.validation.SkipValidation;
import org.egov.commons.CGeneralLedger;
import org.egov.commons.CVoucherHeader;
import org.egov.commons.EgModules;
import org.egov.commons.Functionary;
import org.egov.commons.Fund;
import org.egov.commons.Fundsource;
import org.egov.commons.Scheme;
import org.egov.commons.SubScheme;
import org.egov.commons.Vouchermis;
import org.egov.commons.dao.FinancialYearDAO;
import org.egov.egf.model.VoucherReportView;
import org.egov.egf.web.actions.voucher.VoucherSearchAction;
import org.egov.infra.admin.master.entity.AppConfig;
import org.egov.infra.admin.master.entity.AppConfigValues;
import org.egov.infra.admin.master.entity.Boundary;
import org.egov.infra.admin.master.entity.Department;
import org.egov.infra.admin.master.service.AppConfigValueService;
import org.egov.infra.exception.ApplicationException;
import org.egov.infra.web.struts.actions.BaseFormAction;
import org.egov.infra.web.struts.annotation.ValidationErrorPage;
import org.egov.infra.web.utils.EgovPaginatedList;
import org.egov.infra.workflow.entity.State;
import org.egov.infstr.services.Page;
import org.egov.infstr.services.PersistenceService;
import org.egov.model.contra.ContraJournalVoucher;
import org.egov.model.payment.Paymentheader;
import org.egov.utils.Constants;
import org.egov.utils.FinancialConstants;
import org.egov.utils.ReportHelper;
import org.egov.utils.VoucherHelper;
import org.hibernate.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@Results(value = {
@Result(name = "PDF", type = "stream", location = "inputStream", params = { "inputName", "inputStream", "contentType",
"application/pdf", "contentDisposition", "no-cache;filename=VoucherStatusReport.pdf" }),
@Result(name = "search", location = "voucherStatusReport-search.jsp"),
@Result(name = "XLS", type = "stream", location = "inputStream", params = { "inputName", "inputStream", "contentType",
"application/xls", "contentDisposition", "no-cache;filename=VoucherStatusReport.xls" })
})
@ParentPackage("egov")
@Validation
public class VoucherStatusReportAction extends BaseFormAction
{
private static final Logger LOGGER = Logger.getLogger(VoucherSearchAction.class);
public List<Map<String, Object>> voucherList;
private static final long serialVersionUID = 1L;
public CVoucherHeader voucherHeader = new CVoucherHeader();
public final SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy", Constants.LOCALE);
public Date fromDate = new Date();
public Date toDate = null;
private final List<String> headerFields = new ArrayList<String>();
private final List<String> mandatoryFields = new ArrayList<String>();
InputStream inputStream;
private static final String JASPERPATH = "/reports/templates/voucherStatusReport.jasper";
ReportHelper reportHelper;
List<Object> voucherReportList = new ArrayList<Object>();
List<CVoucherHeader> voucherDisplayList = new ArrayList<CVoucherHeader>();
private Map<Integer, String> statusMap;
private final Map<String, Object> paramMap = new HashMap<String, Object>();
private Map<String, String> nameMap;
private HashMap<Long, String> voucherIDOwnerNameMap;
private Integer page = 1;
private Integer pageSize = 30;
private EgovPaginatedList pagedResults;
private String countQry;
private String modeOfPayment;
@Autowired
private AppConfigValueService appConfigValueService;
@Autowired
@Qualifier("persistenceService")
private PersistenceService persistenceService;
@Autowired
private FinancialYearDAO financialYearDAO;
List<String> voucherTypes = VoucherHelper.VOUCHER_TYPES;
Map<String, List<String>> voucherNames = VoucherHelper.VOUCHER_TYPE_NAMES;
@Override
public Object getModel() {
return voucherHeader;
}
public VoucherStatusReportAction()
{
voucherHeader.setVouchermis(new Vouchermis());
addRelatedEntity("vouchermis.departmentid", Department.class);
addRelatedEntity("fundId", Fund.class);
addRelatedEntity("vouchermis.schemeid", Scheme.class);
addRelatedEntity("vouchermis.subschemeid", SubScheme.class);
addRelatedEntity("vouchermis.functionary", Functionary.class);
addRelatedEntity("vouchermis.divisionid", Boundary.class);
addRelatedEntity("fundsourceId", Fundsource.class);
}
public void finYearDate() {
final String financialYearId = financialYearDAO.getCurrYearFiscalId();
if (financialYearId == null || financialYearId.equals(""))
fromDate = new Date();
else
fromDate = (Date) persistenceService.find("select startingDate from CFinancialYear where id=?",
Long.parseLong(financialYearId));
toDate = null;
}
@Override
public void prepare()
{
super.prepare();
getHeaderFields();
loadDropDowns();
if (LOGGER.isDebugEnabled())
LOGGER.debug("Number of MIS attributes are :" + headerFields.size());
if (LOGGER.isDebugEnabled())
LOGGER.debug("Number of mandate MIS attributes are :" + mandatoryFields.size());
statusMap = new HashMap<Integer, String>();
statusMap.put(FinancialConstants.CREATEDVOUCHERSTATUS, "Approved");
statusMap.put(FinancialConstants.REVERSEDVOUCHERSTATUS, "Reversed");
statusMap.put(FinancialConstants.REVERSALVOUCHERSTATUS, "Reversal");
statusMap.put(FinancialConstants.CANCELLEDVOUCHERSTATUS, "Cancelled");
statusMap.put(FinancialConstants.PREAPPROVEDVOUCHERSTATUS, "Preapproved");
}
private void loadDropDowns() {
if (headerFields.contains("department"))
addDropdownData("departmentList", persistenceService.findAllBy("from Department order by name"));
if (headerFields.contains("functionary"))
addDropdownData("functionaryList", persistenceService.findAllBy(" from Functionary where isactive=true order by name"));
if (headerFields.contains("fund"))
addDropdownData("fundList", persistenceService.findAllBy(" from Fund where isactive=true and isnotleaf=false order by name"));
if (headerFields.contains("fundsource"))
addDropdownData("fundsourceList",
persistenceService.findAllBy(" from Fundsource where isactive=true order by name"));
if (headerFields.contains("field"))
addDropdownData("fieldList",
persistenceService.findAllBy(" from Boundary b where lower(b.boundaryType.name)='ward' "));
if (headerFields.contains("scheme"))
addDropdownData("schemeList", Collections.EMPTY_LIST);
if (headerFields.contains("subscheme"))
addDropdownData("subschemeList", Collections.EMPTY_LIST);
// addDropdownData("typeList",
// persistenceService.findAllBy(" select distinct vh.type from CVoucherHeader vh order by vh.type")); //where
// vh.status!=4
addDropdownData("typeList", VoucherHelper.VOUCHER_TYPES);
addDropdownData("modeOfPaymentList", persistenceService.findAllBy(" select DISTINCT upper(type) from Paymentheader "));
nameMap = new LinkedHashMap<String, String>();
}
protected void getHeaderFields()
{
final List<AppConfigValues> appConfigList = appConfigValueService.getConfigValuesByModuleAndKey(FinancialConstants.MODULE_NAME_APPCONFIG, "DEFAULT_SEARCH_MISATTRRIBUTES");
for (final AppConfigValues appConfigVal : appConfigList)
{
final String value = appConfigVal.getValue();
final String header = value.substring(0, value.indexOf('|'));
headerFields.add(header);
final String mandate = value.substring(value.indexOf('|') + 1);
if (mandate.equalsIgnoreCase("M"))
mandatoryFields.add(header);
}
}
public boolean shouldShowHeaderField(final String field) {
return headerFields.contains(field);
}
public Map<Integer, String> getStatusMap() {
return statusMap;
}
public void setStatusMap(final Map<Integer, String> statusMap) {
this.statusMap = statusMap;
}
@SkipValidation
@Action(value = "/report/voucherStatusReport-beforeSearch")
public String beforeSearch()
{
voucherHeader.reset();
finYearDate();
/*
* try { Thread.sleep(30000); } catch (InterruptedException e) { }
*/
//
// LOGGER.errorpersistenceService.getSession().getFlushMode());
return "search";
}
@ValidationErrorPage(value = "search")
@Action(value = "/report/voucherStatusReport-search")
public String search() throws ApplicationException, ParseException
{
voucherList = new ArrayList<Map<String, Object>>();
Map<String, Object> voucherMap = null;
voucherIDOwnerNameMap = new HashMap<Long, String>();
Long voucherHeaderId;
String voucherOwner;
final Query qry = voucherSearchQuery();
final Long count = (Long) persistenceService.find(countQry);
final Page resPage = new Page(qry, page, pageSize);
pagedResults = new EgovPaginatedList(resPage, count.intValue());
final List<CVoucherHeader> list = pagedResults != null ? pagedResults.getList() : null;
for (final CVoucherHeader voucherheader : list)
{
voucherMap = new HashMap<String, Object>();
Double amt = new Double(0);
voucherHeaderId = voucherheader.getId();
voucherMap.put("id", voucherHeaderId);
voucherMap.put("vouchernumber", voucherheader.getVoucherNumber());
voucherMap.put("type", voucherheader.getType());
voucherMap.put("name", voucherheader.getName());
voucherMap.put("voucherdate", voucherheader.getVoucherDate());
voucherMap.put("deptName", voucherheader.getVouchermis().getDepartmentid().getName());
for (final CGeneralLedger detail : voucherheader.getGeneralledger())
amt = amt+detail.getDebitAmount();
voucherMap.put("amount", amt);
voucherMap.put("status", getVoucherStatus(voucherheader.getStatus()));
voucherMap.put("source", getVoucherModule(voucherheader.getModuleId()));
voucherOwner = getVoucherOwner(voucherheader);
voucherMap.put("owner", voucherOwner);
voucherIDOwnerNameMap.put(voucherHeaderId, voucherOwner);
voucherList.add(voucherMap);
}
loadAjaxedData();
pagedResults.setList(voucherList);
return "search";
}
private void loadAjaxedData() {
getVoucherNameMap(voucherHeader.getType());
if (headerFields.contains("scheme"))
if (voucherHeader.getFundId() != null && voucherHeader.getFundId().getId() != -1) {
final StringBuffer st = new StringBuffer();
st.append("from Scheme where isactive=true and fund.id=");
st.append(voucherHeader.getFundId().getId());
dropdownData.put("schemeList", persistenceService.findAllBy(st.toString()));
st.delete(0, st.length() - 1);
} else
dropdownData.put("schemeList", Collections.emptyList());
if (headerFields.contains("subscheme"))
if (voucherHeader.getVouchermis() != null
&& voucherHeader.getVouchermis().getSchemeid() != null
&& voucherHeader.getVouchermis().getSchemeid().getId() != -1)
dropdownData.put("subSchemeList", persistenceService.findAllBy(
"from SubScheme where isactive=true and scheme.id=?",
voucherHeader.getVouchermis().getSchemeid().getId()));
else
dropdownData.put("subSchemeList", Collections.emptyList());
}
public Map<String, String> getVoucherNameMap(final String type) {
final List<Object> voucherNameList = persistenceService.findAllBy(
"select distinct name from CVoucherHeader where type=?", type);
nameMap = new LinkedHashMap<String, String>();
for (final Object voucherName : voucherNameList)
nameMap.put((String) voucherName, (String) voucherName);
return nameMap;
}
private Query voucherSearchQuery() {
String sql = "";
if (!modeOfPayment.equals("-1"))
sql = sql + " from CVoucherHeader vh,Paymentheader ph where vh.id = ph.voucherheader.id and";
else
sql = sql + " from CVoucherHeader vh where ";
if (voucherHeader.getFundId() != null && voucherHeader.getFundId().getId() != -1)
sql = sql + " vh.fundId=" + voucherHeader.getFundId().getId();
if (voucherHeader.getType() != null && !voucherHeader.getType().equals("-1"))
sql = sql + " and vh.type='" + voucherHeader.getType() + "'";
if (voucherHeader.getName() != null && !voucherHeader.getName().equalsIgnoreCase("-1") && !voucherHeader.getName().equalsIgnoreCase("0"))
sql = sql + " and vh.name='" + voucherHeader.getName() + "'";
if (fromDate != null)
sql = sql + " and vh.voucherDate>='" + Constants.DDMMYYYYFORMAT1.format(fromDate) + "'";
if (toDate != null)
sql = sql + " and vh.voucherDate<='" + Constants.DDMMYYYYFORMAT1.format(toDate) + "'";
if (voucherHeader.getStatus() != -1)
sql = sql + " and vh.status=" + voucherHeader.getStatus();
if (voucherHeader.getVouchermis().getDepartmentid() != null
&& voucherHeader.getVouchermis().getDepartmentid().getId() != -1)
sql = sql + " and vh.vouchermis.departmentid=" + voucherHeader.getVouchermis().getDepartmentid().getId();
if (voucherHeader.getVouchermis().getSchemeid() != null)
sql = sql + " and vh.vouchermis.schemeid=" + voucherHeader.getVouchermis().getSchemeid().getId();
if (voucherHeader.getVouchermis().getSubschemeid() != null)
sql = sql + " and vh.vouchermis.subschemeid=" + voucherHeader.getVouchermis().getSubschemeid().getId();
if (voucherHeader.getVouchermis().getFunctionary() != null)
sql = sql + " and vh.vouchermis.functionary=" + voucherHeader.getVouchermis().getFunctionary().getId();
if (voucherHeader.getVouchermis().getDivisionid() != null)
sql = sql + " and vh.vouchermis.divisionid=" + voucherHeader.getVouchermis().getDivisionid().getId();
if (!modeOfPayment.equals("-1"))
sql = sql + " and upper(ph.type) ='" + getModeOfPayment() + "'";
countQry = "select count(*) " + sql;
sql = "select vh " + sql + " order by vh.vouchermis.departmentid.name ,vh.voucherDate, vh.voucherNumber";
final Query query = persistenceService.getSession().createQuery(sql);
return query;
}
private String getVoucherModule(final Integer vchrModuleId) throws ApplicationException
{
if (vchrModuleId == null)
return "Internal";
else
{
EgModules egModuleObj;
egModuleObj = (EgModules) persistenceService.find("from EgModules m where m.id=?", vchrModuleId);
if (egModuleObj == null)
throw new ApplicationException("INCORRECT MODULE ID");
else
return egModuleObj.getName();
}
}
@Override
public void validate() {
if (fromDate == null)
addFieldError("From Date", getText("Please enter From Date"));
if (toDate == null)
addFieldError("To Date", getText("Please enter To Date"));
checkMandatoryField("fundId", "fund", voucherHeader.getFundId(), "voucher.fund.mandatory");
checkMandatoryField("vouchermis.departmentid", "department", voucherHeader.getVouchermis().getDepartmentid(),
"voucher.department.mandatory");
checkMandatoryField("vouchermis.schemeid", "scheme", voucherHeader.getVouchermis().getSchemeid(),
"voucher.scheme.mandatory");
checkMandatoryField("vouchermis.subschemeid", "subscheme", voucherHeader.getVouchermis().getSubschemeid(),
"voucher.subscheme.mandatory");
checkMandatoryField("vouchermis.functionary", "functionary", voucherHeader.getVouchermis().getFunctionary(),
"voucher.functionary.mandatory");
checkMandatoryField("fundsourceId", "fundsource", voucherHeader.getVouchermis().getFundsource(),
"voucher.fundsource.mandatory");
checkMandatoryField("vouchermis.divisionId", "field", voucherHeader.getVouchermis().getDivisionid(),
"voucher.field.mandatory");
}
@SuppressWarnings("unchecked")
private void populateData() throws ParseException, ApplicationException {
final List<CVoucherHeader> list = new ArrayList();
list.addAll(voucherSearchQuery().list());
BigDecimal amt = BigDecimal.ZERO;
for (final CVoucherHeader cVchrHdr : list)
{
final VoucherReportView vhcrRptView = new VoucherReportView();
vhcrRptView.setDeptName(cVchrHdr.getVouchermis().getDepartmentid().getName());
vhcrRptView.setVoucherNumber(cVchrHdr.getVoucherNumber());
vhcrRptView.setVoucherType(cVchrHdr.getType());
vhcrRptView.setVoucherName(cVchrHdr.getName());
vhcrRptView.setVoucherDate(cVchrHdr.getVoucherDate());
vhcrRptView.setSource(getVoucherModule(cVchrHdr.getModuleId()));
for (final CGeneralLedger detail : cVchrHdr.getGeneralledger())
amt = amt.add(BigDecimal.valueOf(detail.getDebitAmount()).setScale(2, BigDecimal.ROUND_HALF_EVEN));
vhcrRptView.setAmount(amt);
vhcrRptView.setOwner(getVoucherOwner(cVchrHdr));
vhcrRptView.setStatus(getVoucherStatus(cVchrHdr.getStatus()));
voucherReportList.add(vhcrRptView);
amt = BigDecimal.ZERO;
}
setParamMap();
}
protected void checkMandatoryField(final String objectName, final String fieldName, final Object value, final String errorKey)
{
if (mandatoryFields.contains(fieldName) && (value == null || value.equals(-1)))
addFieldError(objectName, getText(errorKey));
}
public boolean isFieldMandatory(final String field) {
return mandatoryFields.contains(field);
}
private String getVoucherStatus(final int status)
{
if (FinancialConstants.CREATEDVOUCHERSTATUS.equals(status))
return "Approved";
if (FinancialConstants.REVERSEDVOUCHERSTATUS.equals(status))
return "Reversed";
if (FinancialConstants.REVERSALVOUCHERSTATUS.equals(status))
return "Reversal";
if (FinancialConstants.CANCELLEDVOUCHERSTATUS.equals(status))
return "Cancelled";
if (FinancialConstants.PREAPPROVEDVOUCHERSTATUS.equals(status))
return "Preapproved";
return "";
}
private String getVoucherOwner(final CVoucherHeader voucherHeader)
{
final String dash = "-";
final Integer voucherStatus = voucherHeader.getStatus();
final String voucherType = voucherHeader.getType();
State voucherState = null;
if (voucherStatus.longValue() == FinancialConstants.CANCELLEDVOUCHERSTATUS.longValue()
|| voucherStatus.longValue() == FinancialConstants.CREATEDVOUCHERSTATUS.longValue())
return dash;
else if (voucherType.equalsIgnoreCase(FinancialConstants.STANDARD_VOUCHER_TYPE_CONTRA))
{
final ContraJournalVoucher contraJV = (ContraJournalVoucher) persistenceService.find(
"from ContraJournalVoucher cj where cj.voucherHeaderId=?", voucherHeader);
if (contraJV == null)
return dash;
else
voucherState = contraJV.getState();
if (voucherState == null)
return dash;
else if (voucherState.getValue().equals("END"))
return dash;
else
return getUserNameForPosition(voucherState.getOwnerPosition().getId().intValue());
}
else if (voucherType.equalsIgnoreCase(FinancialConstants.STANDARD_VOUCHER_TYPE_JOURNAL))
{
voucherState = voucherHeader.getState();
if (voucherState == null)
return dash;
else if (voucherState.getValue().equals("END"))
return dash;
else
return getUserNameForPosition(voucherState.getOwnerPosition().getId().intValue());
}
else if (voucherType.equalsIgnoreCase(FinancialConstants.STANDARD_VOUCHER_TYPE_PAYMENT))
{
final Paymentheader paymentHeader = (Paymentheader) persistenceService.find(
"from Paymentheader ph where ph.voucherheader=?", voucherHeader);
if (paymentHeader == null)
return dash;
else
voucherState = paymentHeader.getState();
if (voucherState == null)
return dash;
else if (voucherState.getValue().equals("END"))
return dash;
else
return getUserNameForPosition(voucherState.getOwnerPosition().getId().intValue());
}
//no need to find owner of receipt
/* else if (voucherType.equalsIgnoreCase(FinancialConstants.STANDARD_VOUCHER_TYPE_RECEIPT))
{
final ReceiptVoucher receiptVoucher = (ReceiptVoucher) persistenceService.find(
"from ReceiptVoucher rv where rv.voucherHeader=?", voucherHeader);
if (receiptVoucher == null || receiptVoucher.getState() == null)
{
voucherState = voucherHeader.getState();
if (voucherState == null)
return dash;
else if (voucherState.getValue().equals("END"))
return dash;
else
return getUserNameForPosition(voucherState.getOwnerPosition().getId().intValue());
}
else if (voucherState.getValue().equals("END"))
return dash;
else
return getUserNameForPosition(receiptVoucher.getState().getOwnerPosition().getId().intValue());
}*/
else
return dash;
}
private String getUserNameForPosition(final Integer posId) {
final String query = "select emp.userName from org.egov.eis.entity.EmployeeView emp where emp.position.id = ? ";
final String userName = (String) persistenceService.find(query, posId.longValue());
return userName;
}
public void setParamMap()
{
paramMap.put("fund", voucherHeader.getFundId().getName());
if (voucherHeader.getVouchermis() != null && voucherHeader.getVouchermis().getDepartmentid() != null)
paramMap.put("deptName", voucherHeader.getVouchermis().getDepartmentid().getName());
paramMap.put("status", getVoucherStatus(voucherHeader.getStatus()));
paramMap.put("toDate", toDate);
paramMap.put("fromDate", fromDate);
paramMap.put("voucherName", voucherHeader.getName());
paramMap.put("voucherType", voucherHeader.getType());
}
public void setReportHelper(final ReportHelper reportHelper) {
this.reportHelper = reportHelper;
}
@SkipValidation
@Action(value = "/report/voucherStatusReport-generatePdf")
public String generatePdf() throws Exception {
populateData();
inputStream = reportHelper.exportPdf(inputStream, JASPERPATH, getParamMap(), voucherReportList);
return "PDF";
}
@SkipValidation
@Action(value = "/report/voucherStatusReport-generateXls")
public String generateXls() throws Exception {
populateData();
inputStream = reportHelper.exportXls(inputStream, JASPERPATH, getParamMap(), voucherReportList);
return "XLS";
}
protected Map<String, Object> getParamMap() {
return paramMap;
}
public void setPagedResults(final EgovPaginatedList pagedResults) {
this.pagedResults = pagedResults;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(final Integer pageSize) {
this.pageSize = pageSize;
}
public Date getFromDate() {
return fromDate;
}
public void setFromDate(final Date fromDate) {
this.fromDate = fromDate;
}
public Date getToDate() {
return toDate;
}
public void setToDate(final Date toDate) {
this.toDate = toDate;
}
public EgovPaginatedList getPagedResults() {
return pagedResults;
}
public Map<String, String> getNameMap() {
return nameMap;
}
public void setNameMap(final Map<String, String> nameMap) {
this.nameMap = nameMap;
}
public Integer getPage() {
return page;
}
public void setPage(final Integer page) {
this.page = page;
}
public List<String> getVoucherTypes() {
return voucherTypes;
}
public void setVoucherTypes(final List<String> voucherTypes) {
this.voucherTypes = voucherTypes;
}
public Map<String, List<String>> getVoucherNames() {
return voucherNames;
}
public void setVoucherNames(final Map<String, List<String>> voucherNames) {
this.voucherNames = voucherNames;
}
public String getModeOfPayment() {
return modeOfPayment;
}
public void setModeOfPayment(final String modeOfPayment) {
this.modeOfPayment = modeOfPayment;
}
public FinancialYearDAO getFinancialYearDAO() {
return financialYearDAO;
}
public void setFinancialYearDAO(FinancialYearDAO financialYearDAO) {
this.financialYearDAO = financialYearDAO;
}
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
}