package cb.acct.ticket.bean; import cb.acct.ticket.util.*; import cb.smg.bagkeys.CBBagKeys; import cb.smg.configuration.CBDebug; import cb.acct.ticket.pom.*; import cb.smg.businesstype.*; import cb.smg.bagkeysapp.*; import cb.smg.general.utility.*; import cb.mcs.muh.thp.bean.ThpY; import cb.mcs.muh.thp.bean.ThpCache; import java.util.Hashtable; /**
Ticket Reports.@module Accounting CORE FINANSBANK @history 29-05-2005 9.0.1 BurakDuygulu
- Documentation* @modelguid {FBB47E7A-AE10-4CE2-B7DA-6BBB04F58E8B} */ public class TicketReports implements CBBagKeys,CBBagKeysRU{ /** *
Finds revaluation tickets.* @servicename ACCT_GET_TICKET_REVALUATION_TICKETS * @param cb.smg.general.utility.CBBag * @return cb.smg.general.utility.CBBag */ public static CBBag getRevaluationTickets(CBBag inBag) throws CBException { CBBag outBag = CBBagFactory.createBag(); CBDate accountingDate = inBag.get(ACCOUNTINGDATE).toCBDate(); String productCode = TicketConstants.TICKLET_PRODUCT_CODE; String productOperationCode = TicketConstants.REVALUATION_PRODUCT_OPERATION_CODE; String glAccountNumber = inBag.get(GLACCOUNTNR).toString(); CBQueryExecuter qq = new CBQueryExecuter("ACCT_FIND_TICKET_REVALUATION_TICKET"); qq.setParameter("PRODUCT" , productCode); qq.setParameter("PRODUCTOPERATION" , productOperationCode); qq.setParameter("ACCOUNTINGDATE" , accountingDate); qq.setParameter("GLACCOUNTNR" , glAccountNumber); qq.executeQuery(); if(qq.next()){ outBag.put(SLIP , qq.getString("FISNO")); outBag.put(PRODUCTOPERATIONREFNO , qq.getString("FISNO")); } return outBag; } /** *
Prints Cash Documents* @servicename ACCT_FIND_TICKET_INFO_FOR_DOCUMENTS * @param cb.smg.general.utility.CBBag * @return cb.smg.general.utility.CBBag */ public static CBBag findTicketTemplateInfo(CBBag inBag) throws CBException { CBBag outBag = CBBagFactory.createBag(); CBBag serviceBag = CBBagFactory.createBag(); CBBag ticketBag = CBBagFactory.createBag(); CBBag controlBag = CBBagFactory.createBag(); serviceBag = CBCaller.call("MUH_FIND_TICKET_INFO_FOR_DOCUMENTS",inBag); if(inBag.existsBagKey(ACCOUNTINGCODE) && inBag.get(ACCOUNTINGCODE).toString().equals("YES")){ return serviceBag; } long templateOid = 0; TicketTemplateExtensionPOMData template = null; int j = 0; int debitIndex = 0; int creditIndex = 0; String explanation = null; boolean printDocument = true; for(int i=0;i
Header information of ticket is queried throughout this service* @servicename * @param cb.smg.general.utility.CBBag * @bagkey PRODUCTOPERATIONREFERNCENUMBER String Yes
Product operation reference number* @bagkey TICKETNUMBER String Yes
Ticket Number* @return cb.smg.general.utility.CBBag */ public static CBBag findSubsidiaryLedgerInfoWrapper(CBBag inBag) throws CBException { CBBag outBag = CBBagFactory.createBag(); outBag = CBCaller.call("ACCT_GET_SUBSIDIARY_LEDGER",inBag); String explanation = null; String debitCredit = null; long ticketOid = 0; ThpY thpY = ThpCache.getInstance().getThp(inBag.get(GLHESAPNO).toString()); CBCurrency debit = outBag.get(TOTALINCOME).toCBCurrency(); CBCurrency credit = outBag.get(TOTALEXPENSE).toCBCurrency(); CBCurrency amount = CBCurrency.ZERO; CBCurrency turnoverDebit = outBag.get(DEVIRBORC).toCBCurrency()==null?CBCurrency.ZERO:outBag.get(DEVIRBORC).toCBCurrency(); CBCurrency turnoverCredit = outBag.get(DEVIRALACAK).toCBCurrency()==null?CBCurrency.ZERO:outBag.get(DEVIRALACAK).toCBCurrency(); CBCurrency turnOverbakiye = null; CBCurrency bakiye = null; for(int i=0;i
Product operation reference number* @bagkey TICKETNUMBER String Yes
Ticket Number* @return cb.smg.general.utility.CBBag */ public static CBBag findTicketInfo(CBBag inBag) throws CBException { CBBag outBag = CBBagFactory.createBag(); long ticketOid = 0; String explanation = null; outBag = CBCaller.call("ACCT_FIND_RECEIPT",inBag); explanation = outBag.get(EXPLANATION).toString().replaceAll("\n"," "); ticketOid = outBag.get(FISOID).toSimpleLong(); outBag.put(EXPLANATION, TicketHelper.getExplanation(ticketOid,explanation).replace('\\',' ')); TicketTemporaryExtensionPOM _pomExt = TicketTemporaryExtensionPOM.newTicketTemporaryExtensionPOM(); TicketTemporaryExtensionPOMData _pomDataExt = null; TicketRealExtensionPOM _pomRealExt = TicketRealExtensionPOM.newTicketRealExtensionPOM(); TicketRealExtensionPOMData _pomRealDataExt = null; if(_pomExt.readByTicketOid(ticketOid)){ _pomDataExt = _pomExt.getTicketTemporaryExtensionPOMData(); outBag.put(CODE1 , _pomDataExt.voCode1); outBag.put(CASHSYMBOL , _pomDataExt.cashSymbol); outBag.put(CODE4 , _pomDataExt.codeOfSymbol); outBag.put(CODE3 , _pomDataExt.psCode); outBag.put(CODE2 , _pomDataExt.paymentPriority); outBag.put(TYPEOFNONCASHOPERATION , _pomDataExt.typeOfNonCashOperation); outBag.put(TYPEOFCASHOPERATION , _pomDataExt.typeOfOperation); outBag.put(NUMBER1 , _pomDataExt.documentNo1); outBag.put(DOCUMENTTYPENAME , _pomDataExt.documentType); outBag.put(DOCUMENTID , _pomDataExt.documentIndex); outBag.put(TRANSFERSTATUS , _pomDataExt.transferred); }else if(_pomRealExt.readByTicketOid(ticketOid)){ _pomRealDataExt = _pomRealExt.getTicketRealExtensionPOMData(); outBag.put(CODE1 , _pomRealDataExt.voCode1); outBag.put(CASHSYMBOL , _pomRealDataExt.cashSymbol); outBag.put(CODE4 , _pomRealDataExt.codeOfSymbol); outBag.put(CODE3 , _pomRealDataExt.psCode); outBag.put(CODE2 , _pomRealDataExt.paymentPriority); outBag.put(TYPEOFNONCASHOPERATION , _pomRealDataExt.typeOfNonCashOperation); outBag.put(TYPEOFCASHOPERATION , _pomRealDataExt.typeOfOperation); outBag.put(NUMBER1 , _pomRealDataExt.documentNo1); outBag.put(DOCUMENTTYPENAME , _pomRealDataExt.documentType); outBag.put(DOCUMENTID , _pomRealDataExt.documentIndex); outBag.put(TRANSFERSTATUS , _pomRealDataExt.transferred); }else{ return outBag; } return outBag; } /** *
Header information of ticket is queried throughout this service* @servicename * @param cb.smg.general.utility.CBBag * @bagkey PRODUCTOPERATIONREFERNCENUMBER String Yes
Product operation reference number* @bagkey TICKETNUMBER String Yes
Ticket Number* @return cb.smg.general.utility.CBBag * @bagkey OID long No
Object id* @bagkey REFERENCEOID long No
Referenced object id* @bagkey TICKETNUMBER long No
Ticket number* @bagkey EXPLANATION String No
Explanation* @bagkey BRANCHCODE String No
Branch code* @bagkey MAKER String No
User who has entered the ticket* @bagkey VERIFIER String No
User who has approved the operation* @bagkey PRODUCTOPERATIONREFERNCENUMBER long No
Product Operation Reference Number* @bagkey PRODUCTNUMBER String No
Product Code* @bagkey PRODUCTOPERATIONNUMBER String No
Product Operation Code* @bagkey ACCOUNTINGDATE CBDate No
Accounting date* @bagkey ACCOUNTINGTIME CBTime No
Accounting time* @bagkey OPERATIONDATE CBDate No
Date of operation* @bagkey OPERATIONTIME CBTime No
Time of operation* @bagkey PROFITCENTER String No
Profit center* @modelguid {8B741877-01B9-4EFB-9ECB-21C9CA8D8087} */ public static CBBag getTicketInfoWrapper(CBBag inBag) throws CBException { CBBag outBag = null; CBBag tempOutBag = null; long ticketOid = 0; String explanation = null; long number = inBag.get(NUMBER).toSimpleLong(); outBag = CBCaller.call("MUH_FIS_SORGULA",inBag); for(int i=0;i
Product operation reference number* @bagkey TICKETNUMBER String Yes
Ticket Number* @return cb.smg.general.utility.CBBag * @bagkey OID long No
Object id* @bagkey REFERENCEOID long No
Referenced object id* @bagkey TICKETNUMBER long No
Ticket number* @bagkey EXPLANATION String No
Explanation* @bagkey BRANCHCODE String No
Branch code* @bagkey MAKER String No
User who has entered the ticket* @bagkey VERIFIER String No
User who has approved the operation* @bagkey PRODUCTOPERATIONREFERNCENUMBER long No
Product Operation Reference Number* @bagkey PRODUCTNUMBER String No
Product Code* @bagkey PRODUCTOPERATIONNUMBER String No
Product Operation Code* @bagkey ACCOUNTINGDATE CBDate No
Accounting date* @bagkey ACCOUNTINGTIME CBTime No
Accounting time* @bagkey OPERATIONDATE CBDate No
Date of operation* @bagkey OPERATIONTIME CBTime No
Time of operation* @bagkey PROFITCENTER String No
Profit center* @modelguid {8B741877-01B9-4EFB-9ECB-21C9CA8D8087} */ public static CBBag getTicketInfoPrintExcel(CBBag inBag) throws CBException { CBBag dataBag = CBBagFactory.createBag(); dataBag.put(QUERY , inBag.get(QUERY).toString()); CBBag docBag = CBBagFactory.createBag(); docBag.put(DOKUMANKODU , "0158"); docBag.put(CALLERSERVICENAME , "ACCT_GET_TICKET_INFO"); docBag.put(ACIKLAMA , ""); docBag.put(DOKUMANDATA , dataBag); CBBag oBag = CBBagFactory.createBag(); CBBag returnBag = CBCaller.call("URN_DOCMANAGER_GENERATEDOCUMENT",docBag); oBag.put(DOCUMENTID , returnBag.get(DOCUMENTID).toString()); return oBag; } /** *
Header information of ticket is queried throughout this service* @servicename * @param cb.smg.general.utility.CBBag * @bagkey PRODUCTOPERATIONREFERNCENUMBER String Yes
Product operation reference number* @bagkey TICKETNUMBER String Yes
Ticket Number* @return cb.smg.general.utility.CBBag * @bagkey OID long No
Object id* @bagkey REFERENCEOID long No
Referenced object id* @bagkey TICKETNUMBER long No
Ticket number* @bagkey EXPLANATION String No
Explanation* @bagkey BRANCHCODE String No
Branch code* @bagkey MAKER String No
User who has entered the ticket* @bagkey VERIFIER String No
User who has approved the operation* @bagkey PRODUCTOPERATIONREFERNCENUMBER long No
Product Operation Reference Number* @bagkey PRODUCTNUMBER String No
Product Code* @bagkey PRODUCTOPERATIONNUMBER String No
Product Operation Code* @bagkey ACCOUNTINGDATE CBDate No
Accounting date* @bagkey ACCOUNTINGTIME CBTime No
Accounting time* @bagkey OPERATIONDATE CBDate No
Date of operation* @bagkey OPERATIONTIME CBTime No
Time of operation* @bagkey PROFITCENTER String No
Profit center* @modelguid {8B741877-01B9-4EFB-9ECB-21C9CA8D8087} */ public static CBBag getTicketInfo(CBBag inBag) throws CBException { CBBag outBag = CBBagFactory.createBag(); CBQueryExecuter qq = null; CBQueryExecuter qq2 = null; long ticketOid = 0; String explanation = null; try{ qq = TicketHelper.getGenericFisQuery(inBag); CBDebug.println(qq.getQueryString()); if(inBag.existsBagKey(DOCUMENTCREATE) && inBag.get(DOCUMENTCREATE).toSimpleInt()==1){ return getTicketInfoPrintExcel(outBag.put(QUERY,qq.getQueryString())); } qq.executeQuery(); qq.move(inBag.get(PAGENUMBER).toSimpleInt()); int i = 0; while(qq.next()){ outBag.put(SLIPQUERY , i, DEBITAMOUNT_ , qq.getCBCurrency("DEBITAMOUNT")); outBag.put(SLIPQUERY , i, CREDITAMOUNT , qq.getCBCurrency("CREDITAMOUNT")); outBag.put(SLIPQUERY , i, BASEAMOUNT , qq.getCBCurrency("DEBITBASEAMOUNT")); outBag.put(SLIPQUERY , i, OPERATIONDATE , qq.getCBDate("TRANSACTIONDATE")); outBag.put(SLIPQUERY , i, DEBITACCOUNTNUMBER , qq.getString("DEBITACCOUNTNUMBER")); outBag.put(SLIPQUERY , i, CREDITACCOUNTNUMBER , qq.getString("CREDITACCOUNTNUMBER")); outBag.put(SLIPQUERY , i, BASEAMOUNT , qq.getCBCurrency("BASEAMOUNT")); outBag.put(SLIPQUERY , i, PRODUCTOPERATIONREFNO , qq.getLong("PRODUCTOPERATIONREFNO")); outBag.put(SLIPQUERY , i, OID , qq.getLong("TICKETOID")); outBag.put(SLIPQUERY , i, SLIP , qq.getLong("SLIP")); outBag.put(SLIPQUERY , i, CODE1 , qq.getString("VOCODE1")); outBag.put(SLIPQUERY , i, CODE2 , qq.getString("PAYMENTPRIORITY")); outBag.put(SLIPQUERY , i, CODE3 , qq.getString("PSCODE")); outBag.put(SLIPQUERY , i, CODE4 , qq.getInt("CODEOFSYMBOL")); outBag.put(SLIPQUERY , i, TYPEOFNONCASHOPERATION , qq.getInt("TYPEOFNONCASHOPERATION")); outBag.put(SLIPQUERY , i, TYPEOFCASHOPERATION , qq.getString("TYPEOFOPERATION")); outBag.put(SLIPQUERY , i, CASHSYMBOL , qq.getInt("CASHSYMBOL")); outBag.put(SLIPQUERY , i, NUMBER , qq.getLong("DOCUMENTNO1")); outBag.put(SLIPQUERY , i, DOCUMENTID , qq.getLong("DOCUMENTINDEX")); explanation = qq.getString("EXPLANATION").replaceAll("\n"," "); ticketOid = qq.getLong("TICKETOID"); outBag.put(SLIPQUERY , i, EXPLANATION , TicketHelper.getExplanation(ticketOid,explanation).replace('\\',' ')); i++; } if(qq.nextPageExists()) { outBag.put(NEXT,1); } else { outBag.put(NEXT,0); } String creditCurrType= inBag.get(EXCHANGE1).toString(); String debitCurrType= inBag.get(EXCHANGE2).toString(); // if both debit/credit currency are given, then put total debit/credit amount to outbag if(!creditCurrType.equals("") && !debitCurrType.equals("")){ qq2 = TicketHelper.getTotalDebitAndCredit(inBag); CBDebug.println(qq2.getQueryString()); qq2.executeQuery(); if(qq2.next()){ outBag.put(TOTALCREDIT,qq2.getCBCurrency("TOTALCREDITAMOUNT")); outBag.put(TOTALDEBIT,qq2.getCBCurrency("TOTALDEBITAMOUNT")); } outBag.put(EXISTSORNOT,1); }else{ outBag.put(EXISTSORNOT,0); } }finally{ if(qq!=null){ qq.close(); } if(qq2!=null){ qq2.close(); } } return outBag; } /** * * @servicename ACCT_LIST_DIASOFT_TRANSFER * @param cb.smg.general.utility.CBBag * @return cb.smg.general.utility.CBBag * @gridbegin * @gridend */ public static CBBag listDiasoftTransfer(CBBag inBag) throws CBException { CBBag outBag = CBBagFactory.createBag(); CBQueryExecuter qq = null; try { int debitSyntetic = inBag.get(ACCOUNTNR).toSimpleInt(); int creditSyntetic = inBag.get(ACCOUNTNR2).toSimpleInt(); String debitAccount = debitSyntetic==1 ? inBag.get(DEBITACCOUNTNO).toString():inBag.get(DEBITACCOUNTNUMBER).toString(); String creditAccount = creditSyntetic==1 ? inBag.get(CREDITACCTNO).toString():inBag.get(CREDITACCOUNTNUMBER).toString(); String branchCode = inBag.get(BRANCHCODE).toString(); int transfer = inBag.get(TRANSFER).toSimpleInt(); int operationType = inBag.get(OPERATIONTYPE).toSimpleInt(); String productCode = inBag.get(PRODUCTCODE).toString(); String productOpCode = inBag.get(PRODUCTOPERATIONCODE).toString(); CBDate accountingDate = inBag.get(ACCOUNTINGDATE).toCBDate(); CBDate today = CBSystem.getInstance().getDate(); String queryName = null; if(accountingDate.compareTo(today)>=0) queryName = "ACCT_LIST_FOR_DIASOFT_TRANSFER"; else queryName = "ACCT_LIST_FOR_DIASOFT_TRANSFER_PAST"; qq = new CBQueryExecuter(queryName,true); if(!branchCode.equals("")) { qq.setParameter("OPERATIONBRANCH", branchCode); } if(!debitAccount.equals("")) { qq.setParameter("DEBITACCOUNTNUMBER", debitAccount+'%'); } if(!creditAccount.equals("")) { qq.setParameter("CREDITACCOUNTNUMBER", creditAccount+'%'); } if(transfer==0 || transfer==1) { qq.setParameter("TRANSFERRED", transfer); } if(operationType != 0){ qq.setParameter("OPERATIONTYPE", operationType); } if(!productCode.equals("")){ qq.setParameter("URUNKODU",productCode); } if(!productOpCode.equals("")){ qq.setParameter("URUNISLEMKODU",productOpCode); } if(accountingDate != null){ qq.setParameter("ACCOUNTINGDATE",accountingDate); qq.setParameter("ACCOUNTINGDATE2",accountingDate); } CBDebug.println(qq.getQueryString()); int i = 0; qq.executeQuery(); qq.move(inBag.get(PAGENUMBER).toSimpleInt()); while(qq.next()) { outBag.put(SLIPQUERY,i,TRANSACTIONDATE, qq.getCBDate("TRANSACTIONDATE")); outBag.put(SLIPQUERY,i,ACCOUNTINGDATE, qq.getCBDate("ACCOUNTINGDATE")); outBag.put(SLIPQUERY,i,DEBITACCOUNTNUMBER, qq.getString("DEBITACCOUNTNUMBER")); outBag.put(SLIPQUERY,i,CREDITACCOUNTNUMBER, qq.getString("CREDITACCOUNTNUMBER")); outBag.put(SLIPQUERY,i,EXPLANATION, qq.getString("EXPLANATION")); outBag.put(SLIPQUERY,i,USERCODE, qq.getString("USERCODE")); outBag.put(SLIPQUERY,i,USERCODE2, qq.getString("USERCODE2")); outBag.put(SLIPQUERY,i,SLIP, qq.getString("SLIP")); outBag.put(SLIPQUERY,i,PRODUCTOPERATIONREFNO, qq.getString("UIREFNO")); outBag.put(SLIPQUERY,i,OID, qq.getString("OIDSTRING")); outBag.put(SLIPQUERY,i,EXCHANGE1, qq.getString("DEBITCURRENCY")); outBag.put(SLIPQUERY,i,EXCHANGE2, qq.getString("CREDITCURRENCY")); outBag.put(SLIPQUERY,i,DEBITAMOUNT_, qq.getString("DEBITAMOUNT")); outBag.put(SLIPQUERY,i,CREDITAMOUNT, qq.getString("CREDITAMOUNT")); i++; } if(qq.nextPageExists()) { outBag.put(NEXT,1); } else { outBag.put(NEXT,0); } } finally { if (qq != null) qq.close(); } return outBag; } /** *
Lists tickets respecting branch code, product and operation code, date interval, maker/verifier and ticket number interval* @servicename * @param cb.smg.general.utility.CBBag * @bagkey BRANCHCODE String No
Branch code* @bagkey PRODUCTNUMBER String Yes
Product Code* @bagkey PRODUCTOPERATIONNUMBER String Yes
Product Operation Code* @bagkey ACCOUNTINGDATELOWER CBDate No
Accounting date lower limit* @bagkey ACCOUNTINGDATEUPPER CBDate No
Accounting date upper limit* @bagkey MAKER String Yes
User who has entered the ticket* @bagkey VERIFIER String Yes
User who has approved the operation* @bagkey TICKETNUMBERLOWER long Yes
Ticket number lower limit* @bagkey TICKETNUMBERUPPER long Yes
Ticket number upper limit* @bagkey OPERATIONDATE CBDate No
Date of operation* @bagkey OPERATIONTIME CBTime No
Time of operation* @return cb.smg.general.utility.CBBag * @gridbegin * @bagkey TICKETNUMBER String No
Branch Code* @bagkey PRODUCTOPERATIONREFERNCENUMBER long No
Product Operation Reference Number* @bagkey ACCOUNTINGDATE CBDate No
Accounting date* @bagkey EXPLANATION String No
Explanation* @bagkey MAKER String No
maker* @bagkey VERIFIER String No
verifier* @bagkey ACCOUNTINGTIME CBTime No
Accounting time* @bagkey OPERATIONTIME CBTime No
Operation time* @bagkey OPERATIONDATE CBDate No
Operation date* @bagkey PROFITCENTER String No
Profit center* @bagkey BRANCHCODE String No
Branch Code* @gridend * @modelguid {948A3353-3EC0-4A42-B50B-8F28B4B42D13} */ public static CBBag listTicketManual(CBBag inBag) throws CBException { CBBag outBag = CBBagFactory.createBag(); CBQueryExecuter qq = null; try { CBDate date1 = inBag.get(DATENUMBER).toCBDate(); CBDate date2 = inBag.get(DATENUMBER2).toCBDate(); String debitAccount = inBag.get(DEBITACCOUNTNUMBER).toString(); String creditAccount = inBag.get(CREDITACCOUNTNUMBER).toString(); qq = new CBQueryExecuter("ACCT_LIST_TICKET_MANUAL",true); qq.setParameter("DATE1", date1); qq.setParameter("DATE2", date2); qq.setParameter("DATE11", date1); qq.setParameter("DATE21", date2); qq.setParameter("OPERATIONBRANCH", CBSessionInfo.getIslemAnaBirimKodu()); if(!debitAccount.equals("")) { qq.setParameter("DEBITACCOUNTNUMBER", debitAccount); } if(!creditAccount.equals("")) { qq.setParameter("CREDITACCOUNTNUMBER", creditAccount); } CBDebug.println(qq.getQueryString()); int i = 0; qq.executeQuery(); qq.move(inBag.get(PAGENUMBER).toSimpleInt()); while(qq.next()) { outBag.put(SLIPQUERY,i,TRANSACTIONDATE, qq.getCBDate("TRANSACTIONDATE")); outBag.put(SLIPQUERY,i,ACCOUNTINGDATE, qq.getCBDate("ACCOUNTINGDATE")); outBag.put(SLIPQUERY,i,DEBITACCOUNTNUMBER, qq.getString("DEBITACCOUNTNUMBER")); outBag.put(SLIPQUERY,i,CREDITACCOUNTNUMBER, qq.getString("CREDITACCOUNTNUMBER")); outBag.put(SLIPQUERY,i,EXPLANATION, qq.getString("EXPLANATION")); outBag.put(SLIPQUERY,i,USERCODE, qq.getString("USERCODE")); outBag.put(SLIPQUERY,i,USERCODE2, qq.getString("USERCODE2")); outBag.put(SLIPQUERY,i,SLIP, qq.getString("SLIP")); outBag.put(SLIPQUERY,i,PRODUCTOPERATIONREFNO, qq.getString("UIREFNO")); outBag.put(SLIPQUERY,i,OID, qq.getString("OIDSTRING")); i++; } if(qq.nextPageExists()) { outBag.put(NEXT,1); } else { outBag.put(NEXT,0); } } finally { if (qq != null) qq.close(); } return outBag; } /** * * @servicename ACCT_GET_TICKET_DOCUMENT * @param cb.smg.general.utility.CBBag * @return cb.smg.general.utility.CBBag * @gridbegin * @gridend */ public static CBBag getTicketDocument(CBBag inBag) throws CBException { CBBag outBag = CBBagFactory.createBag(); CBBag ticketBag = CBBagFactory.createBag(); ticketBag = CBCaller.call("MUH_FIS_BUL",inBag); long ticketOid = ticketBag.get(FISOID).toSimpleLong(); long documentId = 0; outBag.put(DOCUMENTID,documentId); TicketTemporaryExtensionPOM _pomExt = TicketTemporaryExtensionPOM.newTicketTemporaryExtensionPOM(); TicketTemporaryExtensionPOMData _pomDataExt = null; TicketRealExtensionPOM _pomRealExt = TicketRealExtensionPOM.newTicketRealExtensionPOM(); TicketRealExtensionPOMData _pomRealDataExt = null; if(_pomExt.readByTicketOid(ticketOid)){ _pomDataExt = _pomExt.getTicketTemporaryExtensionPOMData(); outBag.put(DOCUMENTID , _pomDataExt.documentIndex); }else if(_pomRealExt.readByTicketOid(ticketOid)){ _pomRealDataExt = _pomRealExt.getTicketRealExtensionPOMData(); outBag.put(DOCUMENTID , _pomRealDataExt.documentIndex); }else{ throw new CBException(TicketExceptions.TICKET_DOCUMENT_CAN_NOT_BE_FOUND, outBag); } return outBag; } /** * * @servicename ACCT_GET_ACC_LOGS * @param cb.smg.general.utility.CBBag * @return cb.smg.general.utility.CBBag * @gridbegin * @gridend */ public static CBBag getAccountingLogs(CBBag inBag) throws CBException { CBBag outBag = CBBagFactory.createBag(); CBDate date = inBag.get(DATE).toCBDate(); String branch = inBag.get(BRANCHCODE).toString(); String code = inBag.get(CODE).toString(); String search = inBag.get(INPUTKEY).toString(); CBQueryExecuter qq = new CBQueryExecuter("ACCT_GET_LOGS"); qq.setParameter("DATE" , date); if(!branch.equalsIgnoreCase("")) qq.setParameter("BRANCHCODE" , branch); if(!code.equalsIgnoreCase("")) qq.setParameter("OPERATIONCODE" , code); if(!search.equalsIgnoreCase("")) { qq.setParameter("SEARCHKEY1" , search); qq.setParameter("SEARCHKEY2" , search); qq.setParameter("SEARCHKEY3" , search); } qq.executeQuery(); StringBuffer log = new StringBuffer(); int i= 0; while(qq.next()){ outBag.put(TABLE,i,TIME,qq.getCBTime("ISLEMSAATI")); outBag.put(TABLE,i,LOG1,qq.getString("DATA1")); outBag.put(TABLE,i,LOG2,qq.getString("DATA2")); outBag.put(TABLE,i,LOG3,qq.getString("DATA3")); i++; } outBag.put(LOG1,log.toString()); qq.close(); return outBag; } /** *
*Creates report of the account statement according to account number and date interval. ** @servicename ACCT_PRINT_ACCOUNT_STATEMENT * @param cb.smg.general.utility.CBBag * @bagkey BRANCHCODE String No
branch code* @bagkey GLACCOUNTNR String Yes
GL Account Number* @bagkey INITIALDATE String Yes
initial date of date interval* @bagkey COMPLETIONDATE String Yes
completion date of date interval* @bagkey ACCOUNTTYPE String Yes
type of account* @bagkey CURRENCY String Yes
currency of the account* @bagkey GLACCOUNTNAME String Yes
account holder* @return cb.smg.general.utility.CBBag * @throws CBException */ public static CBBag printAccountStatement(CBBag inBag) throws cb.smg.general.utility.CBException { CBBag docBag = CBBagFactory.createBag(); CBBag retBag = CBBagFactory.createBag(); CBBag hesapBag = CBBagFactory.createBag(); CBBag glBag = CBBagFactory.createBag(); CBDate baslangicTarihi = inBag.get(INITIALDATE).toCBDate(); CBDate bitisTarihi = inBag.get(COMPLETIONDATE).toCBDate(); int type = inBag.get(TYPE).toSimpleInt(); String hesap = inBag.get(GLACCOUNTNR).toString(); CBDate lastDate = null; boolean greater95 = false; if (bitisTarihi.difference(baslangicTarihi) > 95) greater95 = true; //Type 0 customer if (type == 0){ hesapBag.put(INFORMATION, true); hesapBag.put(INITIALDATE, baslangicTarihi); hesapBag.put(COMPLETIONDATE, bitisTarihi); hesapBag.put(ACCOUNTNR, hesap); hesapBag.put(VALUETYPE, "PR"); CBBag outBag = CBCaller.call("HESAP_HESAPHAREKETLERIGETIR_SB", hesapBag); int size = outBag.getSize(TRANSACTION); if(size>0){ lastDate = outBag.get( TRANSACTION,size-1,TRANSACTIONDATE).toCBDate(); } //devir bakiyesi hesapla. CBCurrency devirbakiye=devirBakiyeHesapla(baslangicTarihi, hesap); int accountType = ThpCache.getInstance().getThp(inBag.get(ACCOUNTNR2).toString()).getActivePassive(); inBag.put(ACTIVEFLAG , accountType); inBag.put(LASTDATE , lastDate==null?null:lastDate.toString(".")); inBag.put(DATENUMBER , baslangicTarihi.toString(".")); inBag.put(DATENUMBER2 , bitisTarihi.toString(".")); inBag.put(OPENINGBALANCE, devirbakiye.toString()); docBag.put(DOKUMANDATA, inBag); docBag.put(DOKUMANKODU, greater95?"0514":"0480"); docBag.put(DOCFORMAT, "PDF"); docBag.put(ACIKLAMA, CBBundles.getInstance().getString("MCS_ACCOUNT_STATEMENT", CBMultiLang.getDefaultLanguage().getLocale()) + " " +hesap); docBag.put(CALLERSERVICENAME, "ACCT_PRINT_ACCOUNT_STATEMENT"); retBag = CBCaller.call("URN_DOCMANAGER_GENERATEDOCUMENT", docBag); }else{ //Type 1 GL CBQueryExecuter qq = new CBQueryExecuter("ACCT_GET_TRIAL_BALANCE_DAY"); qq.setParameter("DATE" , baslangicTarihi.subtract(CBDate.DAY,1)); qq.setParameter("ACCOUNTNUMBER" , hesap); qq.executeQuery(); int accountType = ThpCache.getInstance().getThp(hesap).getActivePassive(); if(qq.next()) inBag.put(OPENINGBALANCE , qq.getCBCurrency("BALANCE")); else inBag.put(OPENINGBALANCE , CBCurrency.ZERO); lastDate = TicketHelper.getMaximumTransactionDate(baslangicTarihi,bitisTarihi,hesap); inBag.put(ACTIVEFLAG , accountType); inBag.put(LASTDATE , lastDate==null?null:lastDate.toString(".")); inBag.put(DATENUMBER , baslangicTarihi.toString(".")); inBag.put(DATENUMBER2 , bitisTarihi.toString(".")); docBag.put(DOKUMANDATA, inBag); docBag.put(DOKUMANKODU, "0483"); docBag.put(DOCFORMAT, "PDF"); docBag.put(CALLERSERVICENAME, "ACCT_PRINT_ACCOUNT_STATEMENT"); docBag.put(ACIKLAMA, CBBundles.getInstance().getString("MCS_ACCOUNT_STATEMENT", CBMultiLang.getDefaultLanguage().getLocale()) + " " +hesap); retBag = CBCaller.call("URN_DOCMANAGER_GENERATEDOCUMENT", docBag); qq.close(); } //if(__DEBUG__) CBDebug.println("Dokuman numarasy : "+retBag.get(DOCUMENTID).toString()); if (greater95) retBag.put(DOCUMENTID,""); return retBag; } private static CBCurrency devirBakiyeHesapla(CBDate baslangicTar, String carihesapno) throws CBException { CBCurrency devirBakiyesi = CBCurrency.ZERO; CBQueryExecuter rset = new CBQueryExecuter("MMS_HESAP_ACILIS_BAKIYE"); CBQueryExecuter rHarYok = new CBQueryExecuter("MMS_HESAP_DEVIRBAKIYE_HESAPLA"); rset.setParameter("HESAPNO",carihesapno); rset.executeQuery(); rHarYok.setParameter("TARIH", baslangicTar); rHarYok.setParameter("CARIHESAPNO", carihesapno); rHarYok.executeQuery(); if(rset.next()) devirBakiyesi = rset.getCBCurrency("ACILISBAKIYE"); if (rHarYok.next() && rHarYok.getCBCurrency("HAREKETTUTAR")!=null) { devirBakiyesi = devirBakiyesi.add(rHarYok.getCBCurrency("HAREKETTUTAR")); } if (rHarYok != null) rHarYok.close(); if (rset != null) rset.close(); return devirBakiyesi; } protected static void changeCodeBagkeys(CBBag inBag, CBBag ticketBag) throws CBException { // If the codes come from screen with other names if (inBag.existsBagKey(VOCODE1)) ticketBag.put(CODE1,inBag.get(VOCODE1).toString()); if (inBag.existsBagKey(VOCODE)) ticketBag.put(CODE1,inBag.get(VOCODE).toString()); if (inBag.existsBagKey(PSCODE)) ticketBag.put(CODE3,inBag.get(PSCODE).toString()); if (inBag.existsBagKey(CODEOFSYMBOL)) ticketBag.put(CODE4,inBag.get(CODEOFSYMBOL).toString()); } /** *
*Lists branch operations according to product and product operation ** @servicename ACCT_LIST_ARCHIVE_PRODUCT_OPERATION * @param cb.smg.general.utility.CBBag * @bagkey DATE String No
branch code* @bagkey PRODUCT String Yes
GL Account Number* @bagkey PRODUCTOPERATION String Yes
initial date of date interval* @bagkey CURRENCY String Yes
currency of the account* @return cb.smg.general.utility.CBBag * @throws CBException */ public static CBBag listArchiveProductOperation(CBBag inBag) throws CBException{ CBBag outBag = CBBagFactory.createBag(); CBDate date = inBag.get(DATE).toCBDate(); String currency = inBag.get(CURRENCY).toString(); String product = inBag.get(PRODUCT).toString(); String productOp = inBag.get(PRODUCTOPERATION).toString(); int opType = inBag.get(OPERATIONTYPE).toSimpleInt(); int totalCount =0; CBCurrency totalAmount =CBCurrency.ZERO; CBCurrency totalBaseAmount =CBCurrency.ZERO; CBQueryExecuter qq = null; if(date.compareTo(CBSystem.getInstance().getDate()) == 0){ qq = new CBQueryExecuter("ACCT_LIST_ARCHIVE_PRODUCT_OPERATION_TODAY"); } else{ qq = new CBQueryExecuter("ACCT_LIST_ARCHIVE_PRODUCT_OPERATION_PAST"); } qq.setParameter("DATE1",date); qq.setParameter("DATE2",date); qq.setParameter("DATE3",date); qq.setParameter("CURRENCY1",currency); qq.setParameter("CURRENCY2",currency); if(currency.equalsIgnoreCase("RUB")) qq.setParameter("CURRENCY3","RUBRUB"); else qq.setParameter("CURRENCY3","%"+currency+"%"); if (!product.equalsIgnoreCase("")) qq.setParameter("PRODUCT",product); if (!productOp.equalsIgnoreCase("")) qq.setParameter("PRODUCTOPERATION",productOp); if (opType!=0) qq.setParameter("OPERATIONTYPE",opType); qq.executeQuery(); int i=0; while(qq.next()){ outBag.put(TABLE,i,BRANCH ,qq.getString("BRANCH")); outBag.put(TABLE,i,COUNT ,qq.getInt("COUNT")); outBag.put(TABLE,i,AMOUNT ,qq.getCBCurrency("AMOUNT")); outBag.put(TABLE,i,BASEAMOUNT ,qq.getCBCurrency("BASEAMOUNT")); totalCount += qq.getInt("COUNT"); totalAmount = totalAmount.add(qq.getCBCurrency("AMOUNT")); totalBaseAmount = totalBaseAmount.add(qq.getCBCurrency("BASEAMOUNT")); i++; } outBag.put(COUNT,totalCount); outBag.put(AMOUNT,totalAmount); outBag.put(BASEAMOUNT,totalBaseAmount); CBBag difBag = CBBagFactory.createBag(); difBag.put(QUERY,qq.getQueryString()); if (inBag.get(TYPE).toString().equalsIgnoreCase("DIF")) outBag.put(DOCUMENTID,getTicketInfoPrintExcel(difBag).get(DOCUMENTID).toString()); if(qq != null) qq.close(); return outBag; } }