/** * <p>Evaluate I18N overseas sales invoice lines query.</p> * @param pItsOwnerId ID of sales invoice * @param pLang lang * @return query * @throws Exception - an exception **/ public final String evalSalesInvOverseaseLinesSql( final String pItsOwnerId, final String pLang) throws Exception { if (this.salesInvOverseaseLinesSql == null) { synchronized (this) { if (this.salesInvOverseaseLinesSql == null) { String flName = "/accounting/trade/salesInvOverseaseLines.sql"; this.salesInvOverseaseLinesSql = loadString(flName); } } } String query = this.salesInvOverseaseLinesSql.replace(":ITSOWNER", pItsOwnerId).replace(":LANG", pLang); return query; }
/** * <p>Evaluate Balance query.</p> * @param pAddParam additional param * @param pDate date of balance * @return query of balance * @throws Exception - an exception **/ public final synchronized String evalQueryBalance( final Map<String, Object> pAddParam, final Date pDate) throws Exception { if (this.queryBalance == null) { String flName = "/" + "accounting" + "/" + "balance" + "/" + "queryBalanceSheet.sql"; this.queryBalance = loadString(flName); } String query = queryBalance.replace(":DATE1", String.valueOf(getSrvBalance() .evalDatePeriodStartFor(pAddParam, pDate).getTime())); query = query.replace(":DATE2", String.valueOf(pDate.getTime())); return query; }
/** * <p>Get InvoiceReportPdf (create and put into map).</p> * @param pAddParam additional param * @return requested InvoiceReportPdf * @throws Exception - an exception */ protected final InvoiceReportPdf<RS, WI> lazyGetInvoiceReportPdf( final Map<String, Object> pAddParam) throws Exception { @SuppressWarnings("unchecked") InvoiceReportPdf<RS, WI> rep = (InvoiceReportPdf<RS, WI>) this.reportersMap .get(InvoiceReportPdf.class.getSimpleName()); if (rep == null) { rep = new InvoiceReportPdf<RS, WI>(); rep.setSrvAccSettings(getSrvAccSettings()); rep.setSrvNumberToString(getSrvNumberToString()); rep.setSrvI18n(getSrvI18n()); rep.setSrvOrm(getSrvOrm()); rep.setPdfFactory(this.pdfFactory); //assigning fully initialized object: this.reportersMap.put(InvoiceReportPdf.class.getSimpleName(), rep); } return rep; }
.get(beanName); if (hndlBalancePdfReq == null) { hndlBalancePdfReq = new HndlBalancePdfReq<RS>(); hndlBalancePdfReq.setSrvDatabase(this.factoryAppBeans .lazyGetSrvDatabase()); hndlBalancePdfReq.setSrvDate(this.factoryAppBeans .lazyGetSrvDate()); hndlBalancePdfReq.setSrvAccSettings(lazyGetSrvAccSettings()); BalanceSheetPdf<RS, HasPdfContent> bSheetPdf = new BalanceSheetPdf<RS, HasPdfContent>(); bSheetPdf.setPdfFactory(lazyGetPdfFactory()); bSheetPdf.setSrvAccSettings(lazyGetSrvAccSettings()); bSheetPdf.setSrvNumberToString(this.factoryAppBeans .lazyGetSrvNumberToString()); bSheetPdf.setSrvI18n(this.factoryAppBeans.lazyGetSrvI18n()); hndlBalancePdfReq.setBalanceSheetPdf(bSheetPdf); SrvBalanceSheet<RS> srvBalanceSheet = new SrvBalanceSheet<RS>(this .factoryAppBeans.lazyGetSrvDatabase(), lazyGetSrvAccSettings(), lazyGetSrvBalanceStd()); hndlBalancePdfReq.setSrvBalanceSheet(srvBalanceSheet); this.factoryAppBeans.lazyGetLogger().info(null, FactoryAccServices.class, "HndlBalancePdfReq has been created.");
/** * <p>Get SrvReqBalanceSheet in lazy mode.</p> * @return SrvReqBalanceSheet - SrvReqBalanceSheet * @throws Exception - an exception */ public final SrvReqBalanceSheet<RS> lazyGetSrvReqBalanceSheet( ) throws Exception { String beanName = getSrvReqBalanceSheetName(); @SuppressWarnings("unchecked") SrvReqBalanceSheet<RS> srvReqBalanceSheet = (SrvReqBalanceSheet<RS>) this.factoryAppBeans.getBeansMap() .get(beanName); if (srvReqBalanceSheet == null) { srvReqBalanceSheet = new SrvReqBalanceSheet<RS>(); srvReqBalanceSheet.setSrvDatabase(this.factoryAppBeans .lazyGetSrvDatabase()); srvReqBalanceSheet.setSrvDate(this.factoryAppBeans .lazyGetSrvDate()); srvReqBalanceSheet.setSrvAccSettings(lazyGetSrvAccSettings()); SrvBalanceSheet<RS> srvBalanceSheet = new SrvBalanceSheet<RS>(this .factoryAppBeans.lazyGetSrvDatabase(), lazyGetSrvAccSettings(), lazyGetSrvBalanceStd()); srvReqBalanceSheet.setSrvBalanceSheet(srvBalanceSheet); this.factoryAppBeans.lazyGetLogger().info(null, FactoryAccServices.class, "SrvReqBalanceSheet has been created."); this.factoryAppBeans.getBeansMap() .put(beanName, srvReqBalanceSheet); } return srvReqBalanceSheet; }
final Map<String, Object> pAddParam, final Date pDate) throws Exception { getSrvBalance().recalculateAllIfNeed(pDate); BalanceSheet result = new BalanceSheet(); result.setItsDate(pDate); String query = evalQueryBalance(pDate); IRecordSet<RS> recordSet = null; try { recordSet = getSrvDatabase().retrieveRecords(query); if (recordSet.moveToFirst()) { do { String accName = getSrvDatabase().getSrvRecordRetriever() .getString(recordSet.getRecordSet(), "ACCOUNTNAME"); Integer accType = getSrvDatabase().getSrvRecordRetriever() .getInteger(recordSet.getRecordSet(), "ITSTYPE"); String accNumber = getSrvDatabase().getSrvRecordRetriever() .getString(recordSet.getRecordSet(), "ITSNUMBER"); Double debit = getSrvDatabase().getSrvRecordRetriever() .getDouble(recordSet.getRecordSet(), "DEBIT"); Double credit = getSrvDatabase().getSrvRecordRetriever() .getDouble(recordSet.getRecordSet(), "CREDIT"); if (debit != 0 || credit != 0) { bl.setAccType(accType); bl.setDebit(BigDecimal.valueOf(debit).setScale( getSrvAccSettings().lazyGetAccSettings().getBalancePrecision(), getSrvAccSettings().lazyGetAccSettings().getRoundingMode())); bl.setCredit(BigDecimal.valueOf(credit).setScale( getSrvAccSettings().lazyGetAccSettings().getBalancePrecision(),
/** * <p>Handle request.</p> * @param pRequestData Request Data * @throws Exception - an exception */ @Override public final void handleRequest( final IRequestData pRequestData) throws Exception { try { this.srvDatabase.setIsAutocommit(false); this.srvDatabase. setTransactionIsolation(ISrvDatabase.TRANSACTION_READ_UNCOMMITTED); this.srvDatabase.beginTransaction(); Date date2 = new Date(Long.parseLong(pRequestData .getParameter("date2"))); BalanceSheet balanceSheet = getSrvBalanceSheet() .retrieveBalance(null, date2); pRequestData.setAttribute("balanceSheet", balanceSheet); pRequestData.setAttribute("accSettings", srvAccSettings .lazyGetAccSettings()); this.srvDatabase.commitTransaction(); } catch (Exception ex) { this.srvDatabase.rollBackTransaction(); throw ex; } finally { this.srvDatabase.releaseResources(); } }
/** * <p>Handle file-report request.</p> * @param pReqVars Request scoped variables * @param pRequestData Request Data * @param pSous servlet output stream * @throws Exception - an exception */ @Override public final void handle(final Map<String, Object> pReqVars, final IRequestData pRequestData, final OutputStream pSous) throws Exception { try { this.srvDatabase.setIsAutocommit(false); this.srvDatabase. setTransactionIsolation(ISrvDatabase.TRANSACTION_READ_UNCOMMITTED); this.srvDatabase.beginTransaction(); Date date2 = srvDate .fromIso8601DateTimeNoTz(pRequestData.getParameter("date2"), null); BalanceSheet balanceSheet = getSrvBalanceSheet() .retrieveBalance(pReqVars, date2); this.balanceSheetPdf.makeReport(pReqVars, balanceSheet, pSous); this.srvDatabase.commitTransaction(); } catch (Exception ex) { this.srvDatabase.rollBackTransaction(); throw ex; } finally { this.srvDatabase.releaseResources(); } }
DateFormat dateFormat = DateFormat .getDateInstance(DateFormat.MEDIUM, new Locale(lang)); SalesInvoice inv = retrieveEntity(pReqVars, pInvoice, lang, !lang.equals(langDef)); boolean isInvoiceBasis = false; doc.setBorder(widthNdot); doc.setContentPadding(0.0); doc.setContentPaddingBottom(mmToDocUom(1.0, doc.getUnitOfMeasure())); DocTable<WI> tblOwner = docMaker.addDocTableNoBorder(doc, 1, 1); I18nAccounting i18nAccounting = tblTitle.getItsCells().get(0).setFontNumber(1); tblTitle.setAlignHorizontal(EAlignHorizontal.CENTER); doc.setContainerMarginBottom(mmToDocUom(1.0, doc.getUnitOfMeasure())); docMaker.makeDocTableWrapping(tblTitle); DocTable<WI> tblCustomer = docMaker.addDocTableNoBorder(doc, 1, 1); I18nBuyer i18nBuyer = null; if (!lang.equals(langDef)) { i18nBuyer = getSrvOrm().retrieveEntityById(pReqVars, I18nBuyer.class, inv.getCustomer()); BigDecimal total; if (inv.getItsLines() != null && inv.getItsLines().size() > 0) { doc.setContainerMarginBottom(mmToDocUom(2.0, doc.getUnitOfMeasure())); DocTable<WI> tblTiGoods = docMaker.addDocTableNoBorder(doc, 1, 1); tblTiGoods.getItsCells().get(0).setItsContent(this.srvI18n tblTiGoods.setAlignHorizontal(EAlignHorizontal.CENTER);
pReqVars.put("InvItemneededFields", ndFlItUm); pReqVars.put("UnitOfMeasureneededFields", ndFlItUm); inv.setItsLines(getSrvOrm().retrieveListByQuery(pReqVars, SalesInvoiceLine.class, evalSalesInvOverseaseLinesSql(inv.getItsId().toString(), pLang))); pReqVars.remove("SalesInvoiceLineneededFields"); pReqVars.remove("InvItemneededFields"); } else { pReqVars.put("SalesInvoiceLineitsOwnerdeepLevel", 1); //only ID inv.setItsLines(getSrvOrm(). retrieveListWithConditions(pReqVars, SalesInvoiceLine.class, "where REVERSEDID is null and ITSOWNER=" + inv.getItsId())); sitl.setItsOwner(inv); pReqVars.put("SalesInvoiceTaxLineitsOwnerdeepLevel", 1); //only ID inv.setTaxesLines(getSrvOrm(). retrieveListForField(pReqVars, sitl, "itsOwner")); pReqVars.remove("SalesInvoiceTaxLineitsOwnerdeepLevel"); pReqVars.put("ServiceToSaleneededFields", ndFlItUm); pReqVars.put("UnitOfMeasureneededFields", ndFlItUm); inv.setServices(getSrvOrm().retrieveListByQuery(pReqVars, SalesInvoiceServiceLine.class, evalSalesInvOverseaseServiceLinesSql( inv.getItsId().toString(), pLang))); pReqVars.remove("SalesInvoiceServiceLineneededFields"); sisl.setItsOwner(inv); pReqVars.put("SalesInvoiceServiceLineitsOwnerdeepLevel", 1); //only ID
doc.setBorder(widthNdot); doc.setContentPadding(0.0); doc.setContainerMarginBottom(mmToDocUom(3.5, doc.getUnitOfMeasure())); doc.setContentPaddingBottom(mmToDocUom(0.5, doc.getUnitOfMeasure())); doc.setAlignHoriCont(EAlignHorizontal.CENTER); DocTable<WI> tblTitle = docMaker.addDocTableNoBorder(doc, 1, 3); tblTitle.setAlignHorizontal(EAlignHorizontal.CENTER); docMaker.makeDocTableWrapping(tblTitle); doc.setContentPadding(mmToDocUom(1.0, doc.getUnitOfMeasure())); doc.setAlignHoriCont(EAlignHorizontal.LEFT); DocTable<WI> tblBal = docMaker if (pBalance.getItsLines().get(i).getDebit() .compareTo(BigDecimal.ZERO) != 0) { cnt = prn(pAddParam, pBalance.getItsLines().get(i).getDebit()); } else { cnt = "(" + prn(pAddParam, pBalance.getItsLines().get(i).getCredit()) + ")"; String cntc; if (isPrnCurLf) { cntc = curSign + prn(pAddParam, pBalance.getTotalAssets()); } else { cntc = prn(pAddParam, pBalance.getTotalAssets()) + curSign; if (pBalance.getItsLines().get(i).getCredit() .compareTo(BigDecimal.ZERO) != 0) { cnt = prn(pAddParam, pBalance.getItsLines().get(i).getCredit());
/** * <p>Get SrvReqBalanceSheet in lazy mode.</p> * @return SrvReqBalanceSheet - SrvReqBalanceSheet * @throws Exception - an exception */ public final synchronized SrvReqBalanceSheet<RS> lazyGetSrvReqBalanceSheet( ) throws Exception { @SuppressWarnings("unchecked") SrvReqBalanceSheet<RS> srvReqBalanceSheet = (SrvReqBalanceSheet<RS>) this.factoryAppBeans.getBeansMap() .get("srvReqBalanceSheet"); if (srvReqBalanceSheet == null) { srvReqBalanceSheet = new SrvReqBalanceSheet<RS>(); srvReqBalanceSheet.setSrvDatabase(this.factoryAppBeans .lazyGetSrvDatabase()); srvReqBalanceSheet.setSrvAccSettings(lazyGetSrvAccSettings()); SrvBalanceSheet<RS> srvBalanceSheet = new SrvBalanceSheet<RS>(this .factoryAppBeans.lazyGetSrvDatabase(), lazyGetSrvAccSettings(), lazyGetSrvBalanceStd()); srvReqBalanceSheet.setSrvBalanceSheet(srvBalanceSheet); this.factoryAppBeans.lazyGetLogger().info(FactoryAccServices.class, "SrvReqBalanceSheet has been created."); this.factoryAppBeans.getBeansMap() .put("srvReqBalanceSheet", srvReqBalanceSheet); } return srvReqBalanceSheet; }
final Map<String, Object> pAddParam, final Date pDate) throws Exception { getSrvBalance().recalculateAllIfNeed(pAddParam, pDate); BalanceSheet result = new BalanceSheet(); result.setItsDate(pDate); String query = evalQueryBalance(pAddParam, pDate); IRecordSet<RS> recordSet = null; try { recordSet = getSrvDatabase().retrieveRecords(query); if (recordSet.moveToFirst()) { do { bl.setAccType(accType); bl.setDebit(BigDecimal.valueOf(debit).setScale( getSrvAccSettings().lazyGetAccSettings(pAddParam) .getBalancePrecision(), getSrvAccSettings() .lazyGetAccSettings(pAddParam).getRoundingMode())); bl.setCredit(BigDecimal.valueOf(credit).setScale( getSrvAccSettings().lazyGetAccSettings(pAddParam) .getBalancePrecision(), getSrvAccSettings() .lazyGetAccSettings(pAddParam).getRoundingMode())); if (bl.getDebit().doubleValue() != 0
/** * <p>Handle request.</p> * @param pReqVars Request scoped variables * @param pRequestData Request Data * @throws Exception - an exception */ @Override public final void handle(final Map<String, Object> pReqVars, final IRequestData pRequestData) throws Exception { try { this.srvDatabase.setIsAutocommit(false); this.srvDatabase. setTransactionIsolation(ISrvDatabase.TRANSACTION_READ_UNCOMMITTED); this.srvDatabase.beginTransaction(); Date date2 = srvDate .fromIso8601DateTimeNoTz(pRequestData.getParameter("date2"), null); BalanceSheet balanceSheet = getSrvBalanceSheet() .retrieveBalance(pReqVars, date2); pRequestData.setAttribute("balanceSheet", balanceSheet); pRequestData.setAttribute("accSettings", srvAccSettings .lazyGetAccSettings(pReqVars)); this.srvDatabase.commitTransaction(); } catch (Exception ex) { this.srvDatabase.rollBackTransaction(); throw ex; } finally { this.srvDatabase.releaseResources(); } }
/** * <p>Evaluate Balance query.</p> * @param pDate date of balance * @return query of balance * @throws Exception - an exception **/ public final synchronized String evalQueryBalance( final Date pDate) throws Exception { if (this.queryBalance == null) { String flName = "/" + "accounting" + "/" + "balance" + "/" + "queryBalanceSheet.sql"; this.queryBalance = loadString(flName); } String query = queryBalance.replace(":DATE1", String.valueOf(getSrvBalance().evalDatePeriodStartFor(pDate).getTime())); query = query.replace(":DATE2", String.valueOf(pDate.getTime())); return query; }
/** * <p>Evaluate I18N overseas sales invoice service lines query.</p> * @param pItsOwnerId ID of sales invoice * @param pLang lang * @return query * @throws Exception - an exception **/ public final String evalSalesInvOverseaseServiceLinesSql( final String pItsOwnerId, final String pLang) throws Exception { if (this.salesInvOverseaseServiceLinesSql == null) { synchronized (this) { if (this.salesInvOverseaseServiceLinesSql == null) { String flName = "/accounting/trade/salesInvOverseaseServiceLines.sql"; this.salesInvOverseaseServiceLinesSql = loadString(flName); } } } String query = this.salesInvOverseaseServiceLinesSql.replace(":ITSOWNER", pItsOwnerId).replace(":LANG", pLang); return query; }