Commit 3d24e9cf authored by wansari's avatar wansari

W16IBAS005 added postSalesReturn method for migration NVO to java


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@106089 ce508802-f39f-4f6c-b175-0d175dae99d5
parent ac0e45a9
......@@ -3972,5 +3972,975 @@ public class InvAcct
}
return str1;
}
//Changed by wasim on 05-JUN-2017 for migration NVO to Java #W16IBAS005 [START]
public String postSalesReturn (String salesReturnNo,String xtraParams, String forcedFlag, Connection conn) throws ITMException
{
String retString = "",sql = "";
PreparedStatement pstmt = null,pstmtSql = null;
ResultSet rs = null,rsSql = null;
DistCommon distCommon = new DistCommon();
String sretInvQty = "",invOnline = "",itemCode = "",itemSer = "",acctCentVat = "",cctrCentVat = "",siteCode = "", invoiceID = "",
projCode = "",siteCodeDlv = "",finEntity = "",currCode = "",exacTaxCode = "",lineNo = "",locCode = "",lotNo = "",lotSl = "",
retRepFlag = "",lineNoInvTrace = "",lineNoInv = "",despID = "",despIDLineNo = "",tranType = "",cctrCodeCogos = "",acctrCodeCogos = "",
acctCodeInv = "", cctrCodeInv = "",acctCodeOh = "",cctrCodeOh = "",postType = "",priceList = "",analysis = "",
analysis1Dr = "",analysis2Dr = "",analysis3Dr = "", typeMap = "",acctCodeMap = "",cctrCodeMap = "",
analysis1Map = "",analysis2Map = "",analysis3Map = "",analysis1Cr = "",analysis2Cr = "",analysis3Cr = "",postOnline = "";
Timestamp tranDate = null,effDate = null,currDate = null;
boolean exitFlag = false;
int countRec = 0,findIndex = 0;
double qtyStduom = 0, costRate = 0, physicalQty = 0,rateOh = 0,rate = 0,stdRate = 0,amtInv = 0, amtOh = 0,amtCogos = 0,grAmount = 0,amountMap = 0;
ArrayList porcpList = new ArrayList();
HashMap porcpMap = null;
HashMap glTraceMap = null;
try
{
System.out.println("Inside postSalesReturn salesReturnNo ["+salesReturnNo+"]");
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
currDate = new java.sql.Timestamp(System.currentTimeMillis());
sretInvQty = checkNull(distCommon.getDisparams("999999","SRET_INV_QTY",conn));
invOnline = checkNull(finCommon.getFinparams("999999","INV_ACCT_SRET",conn));
System.out.println("SRET_INV_QTY ["+sretInvQty+"] INV_ACCT_SRET ["+invOnline+"]");
invOnline = invOnline.trim();
if ("NULLFOUND".equals(invOnline))
{
retString = itmDBAccessEJB.getErrorString("","VTFINPARM","","",conn);
return retString;
}
if(!"Y".equals(invOnline) && !"S".equals(invOnline))
{
return "";
}
if("S".equals(invOnline))
{
sql = " select item_code from sreturndet where tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,salesReturnNo);
rs = pstmt.executeQuery();
while(rs.next())
{
itemCode = rs.getString("item_code");
sql = " select (case when b.inv_acct is null then 'N' else b.inv_acct end) as item_ser from item a,itemser b "
+ " where a.item_ser = b.item_ser and a.item_code = ? ";
pstmtSql = conn.prepareStatement(sql);
pstmtSql.setString(1, itemCode);
rsSql = pstmtSql.executeQuery();
if(rsSql.next())
{
itemSer = rsSql.getString("item_ser");
}
if (rsSql != null)
{
rsSql.close();rsSql = null;
}
if (pstmtSql != null)
{
pstmtSql.close();pstmtSql = null;
}
if(!"Y".equals(itemSer))
{
exitFlag = true;
}
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null)
{
pstmt.close();pstmt = null;
}
}
if(exitFlag)
{
return "";
}
acctCentVat = checkNull(finCommon.getFinparams("999999","PLA_ACCT",conn));
acctCentVat = acctCentVat.trim();
cctrCentVat = " ";
sql = " select tran_date, eff_date, site_code, invoice_id, proj_code, site_code__dlv from sreturn where tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,salesReturnNo);
rs = pstmt.executeQuery();
if(rs.next())
{
tranDate = rs.getTimestamp("tran_date");
effDate = rs.getTimestamp("eff_date");
siteCode = rs.getString("site_code");
invoiceID = rs.getString("invoice_id");
projCode = rs.getString("proj_code");
siteCodeDlv = rs.getString("site_code__dlv");
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null)
{
pstmt.close();pstmt = null;
}
countRec = 0;
sql = " select fin_entity from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
countRec++;
finEntity = rs.getString("fin_entity");
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null)
{
pstmt.close();pstmt = null;
}
if(countRec == 0)
{
retString = itmDBAccessEJB.getErrorString("","VTSITECD1","","",conn);
return retString;
}
if(finEntity == null || finEntity.trim().length() == 0)
{
retString = itmDBAccessEJB.getErrorString("","VMFINENT","","",conn);
return retString;
}
countRec = 0;
sql = " select curr_code from finent where fin_entity = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,finEntity);
rs = pstmt.executeQuery();
if(rs.next())
{
countRec++;
currCode = rs.getString("curr_code");
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null)
{
pstmt.close();pstmt = null;
}
if(countRec == 0)
{
retString = itmDBAccessEJB.getErrorString("","VTFINENT1","","",conn);
return retString;
}
if(currCode == null || currCode.trim().length() == 0)
{
retString = itmDBAccessEJB.getErrorString("","VTCURFIN","","",conn);
return retString;
}
exacTaxCode = distCommon.getDisparams("999999","EXC_TAX_CODE",conn);
if(exacTaxCode == null || exacTaxCode.trim().length() == 0)
{
retString = itmDBAccessEJB.getErrorString("","VTEXCISECD","","",conn);
return retString;
}
exacTaxCode = exacTaxCode.trim();
sql = " select item_code, line_no, quantity__stduom, loc_code, lot_no,lot_sl, invoice_id , cost_rate, "
+ " line_no__inv, ret_rep_flag, physical_qty, line_no__invtrace from sreturndet where tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,salesReturnNo);
rs = pstmt.executeQuery();
while(rs.next())
{
itemCode = rs.getString("item_code");
lineNo = rs.getString("line_no");
qtyStduom = rs.getDouble("quantity__stduom");
locCode = rs.getString("loc_code");
lotNo = rs.getString("lot_no");
lotSl = rs.getString("lot_sl");
invoiceID = rs.getString("invoice_id");
costRate = rs.getDouble("cost_rate");
lineNoInv = rs.getString("line_no__inv");
retRepFlag = rs.getString("ret_rep_flag");
physicalQty = rs.getDouble("physical_qty");
lineNoInvTrace = rs.getString("line_no__invtrace");
sql = " select desp_id, desp_line_no from invoice_trace where invoice_id = ? and inv_line_no = ? and line_no = ? ";
pstmtSql = conn.prepareStatement(sql);
pstmtSql.setString(1,invoiceID);
pstmtSql.setString(2,lineNoInv);
pstmtSql.setString(3,lineNoInvTrace);
rsSql = pstmtSql.executeQuery();
if(rsSql.next())
{
despID = rsSql.getString("desp_id");
despIDLineNo = rsSql.getString("desp_line_no");
}
else
{
if (rsSql != null)
{
rsSql.close();rsSql = null;
}
if (pstmtSql != null)
{
pstmtSql.close();pstmtSql = null;
}
sql = " select loc_code from despatchdet where desp_id = ? and line_no = ? ";
pstmtSql = conn.prepareStatement(sql);
pstmtSql.setString(1,invoiceID);
pstmtSql.setString(2,lineNoInv);
pstmtSql.setString(3,lineNoInvTrace);
rsSql = pstmtSql.executeQuery();
if(rsSql.next())
{
despID = rsSql.getString("desp_id");
despIDLineNo = rsSql.getString("desp_line_no");
}
if (rsSql != null)
{
rsSql.close();rsSql = null;
}
if (pstmtSql != null)
{
pstmtSql.close();pstmtSql = null;
}
}
if (rsSql != null)
{
rsSql.close();rsSql = null;
}
if (pstmtSql != null)
{
pstmtSql.close();pstmtSql = null;
}
if(projCode == null || projCode.trim().length() == 0)
{
if(invoiceID != null || invoiceID.trim().length() > 0)
{
sql = " select b.proj_code from invoice a, sorder b where a.sale_order = b.sale_order and a.invoice_id = ? ";
pstmtSql = conn.prepareStatement(sql);
pstmtSql.setString(1,invoiceID);
rsSql = pstmtSql.executeQuery();
if(rsSql.next())
{
projCode = rsSql.getString("proj_code");
}
if (rsSql != null)
{
rsSql.close();rsSql = null;
}
if (pstmtSql != null)
{
pstmtSql.close();pstmtSql = null;
}
}
}
sql = " select item_ser from item where item_code = ? ";
pstmtSql = conn.prepareStatement(sql);
pstmtSql.setString(1,itemCode);
rsSql = pstmtSql.executeQuery();
if(rsSql.next())
{
itemSer = rsSql.getString("item_ser");
}
if (rsSql != null)
{
rsSql.close();rsSql = null;
}
if (pstmtSql != null)
{
pstmtSql.close();pstmtSql = null;
}
sql = " select tran_type from sreturn where tran_id = ? ";
pstmtSql = conn.prepareStatement(sql);
pstmtSql.setString(1,salesReturnNo);
rsSql = pstmtSql.executeQuery();
if(rsSql.next())
{
tranType = rsSql.getString("tran_type");
}
if (rsSql != null)
{
rsSql.close();rsSql = null;
}
if (pstmtSql != null)
{
pstmtSql.close();pstmtSql = null;
}
itemSer = itemSer.trim();
cctrCodeCogos = finCommon.getAcctDetrTtype(itemCode, itemSer, "COGS", tranType, conn);
if(cctrCodeCogos != null && cctrCodeCogos.trim().length() > 0)
{
String tokens [] = cctrCodeCogos.split(",");
if ( tokens.length >= 2)
{
acctrCodeCogos = tokens[0];
cctrCodeCogos = tokens[1];
}
else
{
acctrCodeCogos = cctrCodeCogos.substring(0,cctrCodeCogos.indexOf(","));
cctrCodeCogos = cctrCodeCogos.substring(cctrCodeCogos.indexOf(",") + 1);
}
}
System.out.println("acctrCodeCogos ["+acctrCodeCogos+"] cctrCodeCogos["+cctrCodeCogos+"]");
if(acctrCodeCogos == null || acctrCodeCogos.trim().length() == 0)
{
retString = itmDBAccessEJB.getErrorString("","VTACCOGS","","",conn);
return retString;
}
if(cctrCodeCogos == null || cctrCodeCogos.trim().length() == 0)
{
cctrCodeCogos = " ";
}
sql = " select acct_code__inv, cctr_code__inv, (case when rate is null then 0 else rate end) as rate, "
+ " acct_code__oh, cctr_code__oh, (case when rate__oh is null then 0 else rate__oh end) as rate__oh "
+ " from stock where item_code = ? and site_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmtSql = conn.prepareStatement(sql);
pstmtSql.setString(1,itemCode);
pstmtSql.setString(2,siteCode);
pstmtSql.setString(3,locCode);
pstmtSql.setString(4,lotNo);
pstmtSql.setString(5,lotSl);
rsSql = pstmtSql.executeQuery();
if(rsSql.next())
{
acctCodeInv = rsSql.getString("acct_code__inv");
cctrCodeInv = rsSql.getString("cctr_code__inv");
rate = rsSql.getDouble("rate");
acctCodeOh = rsSql.getString("acct_code__oh");
cctrCodeOh = rsSql.getString("cctr_code__oh");
rateOh = rsSql.getDouble("rate__oh");
}
if (rsSql != null)
{
rsSql.close();rsSql = null;
}
if (pstmtSql != null)
{
pstmtSql.close();pstmtSql = null;
}
if(acctCodeInv == null || acctCodeInv.trim().length() == 0)
{
retString = itmDBAccessEJB.getErrorString("","VTACCTSTK","","",conn);
return retString;
}
if(cctrCodeInv == null || cctrCodeInv.trim().length() == 0)
{
cctrCodeInv = " ";
}
sql = " select post_type from itemser where item_ser = ? ";
pstmtSql = conn.prepareStatement(sql);
pstmtSql.setString(1,itemSer);
rsSql = pstmtSql.executeQuery();
if(rsSql.next())
{
postType = rsSql.getString("post_type");
}
if (rsSql != null)
{
rsSql.close();rsSql = null;
}
if (pstmtSql != null)
{
pstmtSql.close();pstmtSql = null;
}
if("S".equals(postType))
{
priceList = checkNull(distCommon.getDisparams("999999","STD_SO_PL",conn));
if(priceList == null && "NULLFOUND".equals(priceList))
{
stdRate = 0;
}
else
{
SimpleDateFormat sdfAppl = new SimpleDateFormat(genericUtility.getApplDateFormat());
String currDateStr = sdfAppl.format(currDate);
stdRate = distCommon.pickRate(priceList, currDateStr, itemCode, " ", "L", conn);
}
if(stdRate >= 0)
{
costRate = stdRate;
}
}
else
{
if(costRate == 0)
{
sql = " select (case when rate is null then 0 else rate end) as rate from stock where "
+ " item_code= ? and site_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmtSql = conn.prepareStatement(sql);
pstmtSql.setString(1,itemCode);
pstmtSql.setString(2,siteCodeDlv);
pstmtSql.setString(3,locCode);
pstmtSql.setString(4,lotNo);
pstmtSql.setString(5,lotSl);
rsSql = pstmtSql.executeQuery();
if(rsSql.next())
{
costRate = rsSql.getDouble("rate");
}
if (rsSql != null)
{
rsSql.close();rsSql = null;
}
if (pstmtSql != null)
{
pstmtSql.close();pstmtSql = null;
}
}
}
if(costRate < 0)
{
retString = itmDBAccessEJB.getErrorString("","VTSTKRATE","","",conn);
return retString;
}
if(physicalQty == 0 )
{
physicalQty = qtyStduom;
}
if("P".equals(sretInvQty) && "R".equals(retRepFlag))
{
amtInv = physicalQty * costRate ;
amtOh = physicalQty * rateOh;
}
else
{
amtInv = qtyStduom * costRate ;
amtOh = qtyStduom * rateOh;
}
amtCogos = amtInv - amtOh;
analysis = AcctAnalysisType(itemCode, "S-RET" , "CR", tranType, conn);
//forcedFlag = "CR" + analysis;
if(analysis != null && analysis.trim().length() > 0)
{
String token[] = analysis.split(",");
if(token.length >= 3)
{
analysis1Cr = token[0];
analysis2Cr = token[1];
analysis3Cr = token[2];
}
}
analysis = AcctAnalysisType(itemCode, "S-RET" , "DR", tranType, conn);
//forcedFlag = "DR" + analysis;
if(analysis != null && analysis.trim().length() > 0)
{
String token[] = analysis.split(",");
if(token.length >= 3)
{
analysis1Dr = token[0];
analysis2Dr = token[1];
analysis3Dr = token[2];
}
}
if("R".equals(retRepFlag))
{
if(amtInv != 0)
{
if(porcpList.size() == 0)
{
porcpMap = new HashMap();
porcpMap.put("type","D");
porcpMap.put("acct_code", acctCodeInv);
porcpMap.put("cctr_code", cctrCodeInv);
porcpMap.put("amount", amtInv);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Dr);
porcpMap.put("analysis2", analysis2Dr);
porcpMap.put("analysis3", analysis3Dr);
porcpList.add(porcpMap);
}
else
{
findIndex = findExistingIndex(porcpList,"D",acctCodeInv,cctrCodeInv,analysis1Dr,analysis2Dr,analysis3Dr);
if(findIndex < 0)
{
porcpMap = new HashMap();
porcpMap.put("type","D");
porcpMap.put("acct_code", acctCodeInv);
porcpMap.put("cctr_code", cctrCodeInv);
porcpMap.put("amount", amtInv);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Dr);
porcpMap.put("analysis2", analysis2Dr);
porcpMap.put("analysis3", analysis3Dr);
porcpList.add(porcpMap);
}
else
{
porcpMap = (HashMap) porcpList.get(findIndex);
grAmount = (Double) porcpMap.get("amount");
porcpMap.put("amount", grAmount + amtInv);
porcpList.set(findIndex, porcpMap);
}
}
}
if(amtCogos != 0)
{
if(porcpList.size() == 0)
{
porcpMap = new HashMap();
porcpMap.put("type","C");
porcpMap.put("acct_code", acctrCodeCogos);
porcpMap.put("cctr_code", cctrCodeCogos);
porcpMap.put("amount", amtCogos);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Cr);
porcpMap.put("analysis2", analysis2Cr);
porcpMap.put("analysis3", analysis3Cr);
porcpList.add(porcpMap);
}
else
{
findIndex = findExistingIndex(porcpList,"C",acctrCodeCogos,cctrCodeCogos,analysis1Dr,analysis2Dr,analysis3Dr);
if(findIndex < 0)
{
porcpMap = new HashMap();
porcpMap.put("type","C");
porcpMap.put("acct_code", acctrCodeCogos);
porcpMap.put("cctr_code", cctrCodeCogos);
porcpMap.put("amount", amtCogos);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Cr);
porcpMap.put("analysis2", analysis2Cr);
porcpMap.put("analysis3", analysis3Cr);
porcpList.add(porcpMap);
}
else
{
porcpMap = (HashMap) porcpList.get(findIndex);
grAmount = (Double) porcpMap.get("amount");
porcpMap.put("amount", grAmount + amtCogos);
porcpList.set(findIndex, porcpMap);
}
}
}
if(amtOh != 0)
{
if(porcpList.size() == 0)
{
porcpMap = new HashMap();
porcpMap.put("type","C");
porcpMap.put("acct_code", acctrCodeCogos);
porcpMap.put("cctr_code", cctrCodeCogos);
porcpMap.put("amount", amtCogos);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Cr);
porcpMap.put("analysis2", analysis2Cr);
porcpMap.put("analysis3", analysis3Cr);
porcpList.add(porcpMap);
}
else
{
findIndex = findExistingIndex(porcpList,"C",acctrCodeCogos,cctrCodeCogos,analysis1Dr,analysis2Dr,analysis3Dr);
if(findIndex < 0)
{
porcpMap = new HashMap();
porcpMap.put("type","C");
porcpMap.put("acct_code", acctrCodeCogos);
porcpMap.put("cctr_code", cctrCodeCogos);
porcpMap.put("amount", amtCogos);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Cr);
porcpMap.put("analysis2", analysis2Cr);
porcpMap.put("analysis3", analysis3Cr);
porcpList.add(porcpMap);
}
else
{
porcpMap = (HashMap) porcpList.get(findIndex);
grAmount = (Double) porcpMap.get("amount");
porcpMap.put("amount", grAmount + amtCogos);
porcpList.set(findIndex, porcpMap);
}
}
if(acctCodeOh == null || acctCodeOh.trim().length() == 0)
{
retString = itmDBAccessEJB.getErrorString("","VTACCTOH","","",conn);
return retString;
}
if(cctrCodeOh == null || cctrCodeOh.trim().length() == 0)
{
cctrCodeOh = " ";
}
if(porcpList.size() == 0)
{
porcpMap = new HashMap();
porcpMap.put("type","C");
porcpMap.put("acct_code", acctrCodeCogos);
porcpMap.put("cctr_code", cctrCodeCogos);
porcpMap.put("amount", amtOh);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Cr);
porcpMap.put("analysis2", analysis2Cr);
porcpMap.put("analysis3", analysis3Cr);
porcpList.add(porcpMap);
}
else
{
findIndex = findExistingIndex(porcpList,"C",acctrCodeCogos,cctrCodeCogos,analysis1Dr,analysis2Dr,analysis3Dr);
if(findIndex < 0)
{
porcpMap = new HashMap();
porcpMap.put("type","C");
porcpMap.put("acct_code", acctrCodeCogos);
porcpMap.put("cctr_code", cctrCodeCogos);
porcpMap.put("amount", amtOh);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Cr);
porcpMap.put("analysis2", analysis2Cr);
porcpMap.put("analysis3", analysis3Cr);
porcpList.add(porcpMap);
}
else
{
porcpMap = (HashMap) porcpList.get(findIndex);
grAmount = (Double) porcpMap.get("amount");
porcpMap.put("amount", grAmount + amtOh);
porcpList.set(findIndex, porcpMap);
}
}
}
}
else
{
if(amtInv != 0)
{
if(porcpList.size() == 0)
{
porcpMap = new HashMap();
porcpMap.put("type","C");
porcpMap.put("acct_code", acctCodeInv);
porcpMap.put("cctr_code", cctrCodeInv);
porcpMap.put("amount", amtInv);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Cr);
porcpMap.put("analysis2", analysis2Cr);
porcpMap.put("analysis3", analysis3Cr);
porcpList.add(porcpMap);
}
else
{
findIndex = findExistingIndex(porcpList,"C",acctCodeInv,cctrCodeInv,analysis1Dr,analysis2Dr,analysis3Dr);
if(findIndex < 0)
{
porcpMap = new HashMap();
porcpMap.put("type","C");
porcpMap.put("acct_code", acctCodeInv);
porcpMap.put("cctr_code", cctrCodeInv);
porcpMap.put("amount", amtInv);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Cr);
porcpMap.put("analysis2", analysis2Cr);
porcpMap.put("analysis3", analysis3Cr);
porcpList.add(porcpMap);
}
else
{
porcpMap = (HashMap) porcpList.get(findIndex);
grAmount = (Double) porcpMap.get("amount");
porcpMap.put("amount", grAmount + amtInv);
porcpList.set(findIndex, porcpMap);
}
}
}
if(amtCogos != 0)
{
if(porcpList.size() == 0)
{
porcpMap = new HashMap();
porcpMap.put("type","D");
porcpMap.put("acct_code", acctrCodeCogos);
porcpMap.put("cctr_code", cctrCodeCogos);
porcpMap.put("amount", amtCogos);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Dr);
porcpMap.put("analysis2", analysis2Dr);
porcpMap.put("analysis3", analysis3Dr);
porcpList.add(porcpMap);
}
else
{
findIndex = findExistingIndex(porcpList,"D",acctrCodeCogos,cctrCodeCogos ,analysis1Dr,analysis2Dr,analysis3Dr);
if(findIndex == 0)
{
porcpMap = new HashMap();
porcpMap.put("type","D");
porcpMap.put("acct_code", acctrCodeCogos);
porcpMap.put("cctr_code", cctrCodeCogos);
porcpMap.put("amount", amtCogos);
porcpMap.put("projCode", projCode);
porcpMap.put("analysis1", analysis1Dr);
porcpMap.put("analysis2", analysis2Dr);
porcpMap.put("analysis3", analysis3Dr);
porcpList.add(porcpMap);
}
else
{
porcpMap = (HashMap) porcpList.get(findIndex);
grAmount = (Double) porcpMap.get("amount");
porcpMap.put("amount", grAmount + amtCogos);
porcpList.set(findIndex, porcpMap);
}
}
}
}
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null)
{
pstmt.close();pstmt = null;
}
System.out.println("porcpList Size---->["+porcpList.size()+"]");
for(int x=0; x<porcpList.size(); x++)
{
porcpMap = (HashMap) porcpList.get(x);
typeMap = (String) porcpMap.get("type");
acctCodeMap = (String) porcpMap.get("acct_code");
cctrCodeMap = (String) porcpMap.get("cctr_code");
amountMap = (Double) porcpMap.get("amount");
projCode = (String) porcpMap.get("proj_code");
analysis1Map = (String) porcpMap.get("analysis1");
analysis2Map = (String) porcpMap.get("analysis2");
analysis3Map = (String) porcpMap.get("analysis3");
glTraceMap = new HashMap();
glTraceMap.put("tran_date",tranDate);
glTraceMap.put("eff_date",effDate);
glTraceMap.put("fin_entity", finEntity);
glTraceMap.put("site_code", siteCode);
glTraceMap.put("sundry_type","O");
glTraceMap.put("sundry_code","");
glTraceMap.put("acct_code", acctCodeMap);
glTraceMap.put("cctr_code", cctrCodeMap);
glTraceMap.put("emp_code", "");
glTraceMap.put("anal_code", "");
glTraceMap.put("curr_code", currCode);
glTraceMap.put("exch_rate", 1 );
if("D".equals(typeMap))
{
if(amountMap > 0)
{
glTraceMap.put("dr_amt",amountMap);
glTraceMap.put("cr_amt",0.0);
}
else
{
glTraceMap.put("dr_amt", 0.0);
glTraceMap.put("cr_amt", 0 - amountMap);
}
}
else if("C".equals(typeMap))
{
if(amountMap > 0)
{
glTraceMap.put("dr_amt", 0.0);
glTraceMap.put("cr_amt", amountMap);
}
else
{
glTraceMap.put("dr_amt", 0 - amountMap);
glTraceMap.put("cr_amt", 0.0);
}
}
glTraceMap.put("ref_type","D");
glTraceMap.put("ref_ser", "S-RET");
glTraceMap.put("ref_id", salesReturnNo);
glTraceMap.put("remarks","");
retString = finCommon.glTraceUpdate(glTraceMap,conn);
System.out.println("After postSalesReturn glTraceUpdate retString["+retString+"]");
if(retString != null && retString.trim().length() > 0)
{
return retString;
}
postOnline = checkNull(finCommon.getFinparams("999999", "POST_ON_LINE", conn));
System.out.println("PostOnline["+postOnline+"]");
if("Y".equals(postOnline))
{
retString = finCommon.checkGlTranDrCr(itemSer, salesReturnNo, conn);
}
}
}
catch(Exception e)
{
System.out.println("Exception inside postSalesReturn-->"+e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null)
{
pstmt.close();pstmt = null;
}
if (rsSql != null)
{
rsSql.close();rsSql = null;
}
if (pstmtSql != null)
{
pstmtSql.close();pstmtSql = null;
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
return retString;
}
private int findExistingIndex(ArrayList detList, String type, String acctCode, String cctrCode, String analysis1, String analysis2, String analysis3)throws RemoteException,ITMException
{
int findIndex = -1;
HashMap detMap = null;
String typeMap = "",acctCodeMap = "", cctrCodeMap = "",analysis1Map = "",analysis2Map = "", analysis3Map = "";
try
{
for(int ctr=0 ; ctr < detList.size() ; ctr++)
{
detMap = (HashMap) detList.get(ctr);
typeMap = (String) detMap.get("type");
acctCodeMap = (String) detMap.get("acct_code");
cctrCodeMap = (String) detMap.get("cctr_code");
analysis1Map = (String) detMap.get("analysis1");
analysis2Map = (String) detMap.get("analysis2");
analysis3Map = (String) detMap.get("analysis3");
if ( acctCodeMap.trim().equalsIgnoreCase(acctCode.trim()) && cctrCodeMap.trim().equalsIgnoreCase(cctrCode.trim()) &&
analysis1Map.trim().equalsIgnoreCase(analysis1.trim()) && analysis2Map.trim().equalsIgnoreCase(analysis2.trim()) &&
analysis3Map.trim().equalsIgnoreCase(analysis3.trim()) && typeMap.trim().equalsIgnoreCase(type.trim())
)
{
findIndex = ctr;
break;
}
}
}
catch(Exception e)
{
System.out.println("Exception inside findExistingIndex ---->"+e.getMessage());
e.printStackTrace();
//throw new ITMException(e);
}
System.out.println("findExistingIndex----Returning index ["+findIndex+"]");
return findIndex;
}
//Changed by wasim on 05-JUN-2017 for migration NVO to Java #W16IBAS005 [END]
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment