Commit 5a3c7c5e authored by sbehera's avatar sbehera

New Method is added for Viewing Accounting Effect of Stock Transfer Confirm.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@93407 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 6e277ebb
......@@ -16,6 +16,7 @@ import java.util.HashMap;
import ibase.webitm.ejb.*;
import org.w3c.dom.*;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.fin.FinCommon;
public class InvAcct
......@@ -1496,7 +1497,364 @@ public class InvAcct
return input;
}
//// added by cpatil..... migrate pb code into java on 09-03-13 end
//added by sbehera ---migrating pb code on 31.07.13
public String retreiveStockTrans(String tranId, Connection conn) throws ITMException{
System.out.println("<-------Inside retrieve stock transfer------->");
PreparedStatement pstmt=null;
ResultSet rs=null;
ResultSet rs1=null;
PreparedStatement pstmt1=null;
String sql="";
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
FinCommon finCommon= new FinCommon();
DistCommon distCommon = new DistCommon();
String retString="";
String errString="";
java.sql.Timestamp tranDate=null;
java.sql.Timestamp confDate=null;
java.sql.Timestamp refDate=null;
java.sql.Timestamp effDate=null;
HashMap glTraceMap = null;
HashMap stkmap=new HashMap();
String combination="";
//variables of Stock Transfer
String siteCode="",refserFor="",refIdFor="", reasCode="", confirmed="", itemSer="";
String empCodeAprv="", tranType="",truckNo="";
//variables of Stock Transfer Detail
String lineNo="", itemCode="", locCodeFrom="", locCodeTo="", lotNoFrom="";
String lotNoTo="", lotslFrom="", lotslTo="", remarks="", acctCodCr="", acctCodDr="";
String cctrCodeCr="", cctrCodeDr="", locCodeSys="";
int noArt=0, count=0;
double quantity=0.0;
//variable from pb comp.
String invOnline="", finEntity="", currCode="";
double amount=0, rate=0, exchRate=1;
String mcctrCode="", macctCode="", analysis="",analysis1="", analysis2="", analysis3="", stkList="";
int sum=0;
try{
invOnline=distCommon.getDisparams("999999", "INV_ACCT_TRF", conn);
if(invOnline==null||invOnline.trim().length()==0){
errString = itmDBAccessEJB.getErrorString("","VTFINPARM","","",conn);
return errString;
}
else{
sql =" select tran_date,site_code,ref_ser__for,ref_id__for,reas_code,item_ser, "
+" confirmed,conf_date,emp_code__aprv,tran_type,truck_no,ref_date "
+" from stock_transfer "
+" where tran_id = ? " ;
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs=pstmt.executeQuery();
if(rs.next()){
tranDate = rs.getTimestamp("tran_date");
siteCode = rs.getString("site_code");
refserFor= rs.getString("ref_ser__for");
refIdFor = rs.getString("ref_id__for");
reasCode = rs.getString("reas_code");
itemSer = rs.getString("item_ser");
confirmed= rs.getString("confirmed");
confDate = rs.getTimestamp("conf_date");
empCodeAprv=rs.getString("emp_code__aprv");
tranType = rs.getString("tran_type");
truckNo = rs.getString("truck_no");
refDate = rs.getTimestamp("ref_date");
System.out.println("@@@siteCode"+siteCode);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
sql="select count(*) from stock_transfer_det where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
count =rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(count <= 0)
{
System.out.println("no record found in stock_transfer_det");
errString = itmDBAccessEJB.getErrorString("","VTNOREC2","","",conn);
return errString;
}
sql =" select line_no,item_code,quantity,loc_code__fr,loc_code__to,lot_no__fr, "
+" lot_no__to,lot_sl__fr,lot_sl__to,remarks,acct_code__cr,acct_code__dr, "
+" cctr_code__dr,cctr_code__cr,no_art,loc_code__sys"
+" from stock_transfer_det "
+" where tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
while(rs.next()){
lineNo=rs.getString("line_no");
itemCode=rs.getString("item_code");
quantity=rs.getDouble("quantity");
locCodeFrom=rs.getString("loc_code__fr");
locCodeTo=rs.getString("loc_code__to");
lotNoFrom=rs.getString("lot_no__fr");
lotNoTo=rs.getString("lot_no__to");
lotslFrom=rs.getString("lot_sl__fr");
lotslTo=rs.getString("lot_sl__to");
remarks=rs.getString("remarks");
acctCodCr=rs.getString("acct_code__cr");
acctCodDr=rs.getString("acct_code__dr");
cctrCodeDr=rs.getString("cctr_code__dr");
cctrCodeCr=rs.getString("cctr_code__cr");
noArt=rs.getInt("no_art");
locCodeSys=rs.getString("loc_code__sys");
//Condition2 from pb comp.
sql="select fin_entity from site where site_code=? ";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,siteCode);
rs1 = pstmt1.executeQuery();
if(rs1.next()){
finEntity=rs1.getString("fin_entity");
}else{
errString = itmDBAccessEJB.getErrorString("","DS000","","",conn);
return errString;
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
//Condition3 from pb comp.
sql="select curr_code from finent where fin_entity=?";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,finEntity);
rs1 = pstmt1.executeQuery();
if(rs1.next()){
currCode=rs1.getString("curr_code");
}else{
errString = itmDBAccessEJB.getErrorString("","DS000","","",conn);
return errString;
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
//condition 4
sql="select rate from stock where item_code=? and site_code=? and loc_code=? and lot_no=? and lot_sl=?";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,itemCode);
pstmt1.setString(2, siteCode);
pstmt1.setString(3, locCodeFrom);
pstmt1.setString(4, lotNoFrom);
pstmt1.setString(5, lotslFrom);
rs1 = pstmt1.executeQuery();
if(rs1.next()){
rate=rs1.getDouble("rate");
}else{
errString = itmDBAccessEJB.getErrorString("","DS000","","",conn);
return errString;
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
//1st- Add to glTrace
amount=quantity*rate;
System.out.println("@@@@@@@amount@@@@@@"+amount);
glTraceMap=new HashMap();
glTraceMap.put("tran_date", tranDate);
glTraceMap.put("eff_date", tranDate);
glTraceMap.put("fin_entity", finEntity);
glTraceMap.put("site_code", siteCode);
glTraceMap.put("sundry_type", 'O');
glTraceMap.put("acct_code", acctCodDr);
glTraceMap.put("cctr_code", cctrCodeDr);
glTraceMap.put("curr_code", currCode);
glTraceMap.put("exch_rate", exchRate);
glTraceMap.put("dr_amt", amount);
glTraceMap.put("cr_amt", 0);
glTraceMap.put("ref_type", "");
glTraceMap.put("ref_ser", refserFor);
glTraceMap.put("ref_id", tranId);
glTraceMap.put("remarks", remarks);
errString=finCommon.glTraceUpdate(glTraceMap, conn);
System.out.println("errString@@@@@@"+errString);
if(errString != null && errString.trim().length() > 0)
{
System.out.println("errString---inside"+errString);
return errString;
}
//2nd part
glTraceMap.put("tran_date", tranDate);
glTraceMap.put("eff_date", tranDate);
glTraceMap.put("fin_entity", finEntity);
glTraceMap.put("site_code", siteCode);
glTraceMap.put("sundry_type", 'O');
glTraceMap.put("acct_code", acctCodCr);
glTraceMap.put("cctr_code", cctrCodeCr);
glTraceMap.put("curr_code", currCode);
glTraceMap.put("exch_rate", exchRate);
glTraceMap.put("dr_amt", 0);
glTraceMap.put("cr_amt", amount);
glTraceMap.put("ref_type", "");
glTraceMap.put("ref_ser", refserFor);
glTraceMap.put("ref_id", tranId);
glTraceMap.put("remarks", remarks);
errString=finCommon.glTraceUpdate(glTraceMap, conn);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
String temp=finCommon.getAcctDetrTtype(itemCode, " ", "XFRX", tranType, conn);
String[] split=temp.split(",");
macctCode=split[0];
mcctrCode=split[1];
combination=macctCode+"@"+mcctrCode;
System.out.println("combination::"+combination);
if(!stkmap.containsKey(combination)){
stkmap.put(combination, amount);
}else{
stkmap.put(combination,(Double)stkmap.get(combination)+amount);
System.out.println("get value::::"+(Double)stkmap.get(combination)+(amount));
}
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
Set keyset=stkmap.keySet();
Iterator itr=keyset.iterator();
while(itr.hasNext()){
String key=(String)itr.next();
String[] split1=key.split("@");
macctCode=split1[0];
mcctrCode=split1[1];
glTraceMap.put("tran_date", tranDate);
glTraceMap.put("eff_date", tranDate);
glTraceMap.put("fin_entity", finEntity);
glTraceMap.put("site_code", siteCode);
glTraceMap.put("sundry_type", 'O');
if((macctCode==null)||(macctCode.trim().length()==0))
{
errString = itmDBAccessEJB.getErrorString("","VTSTTRF","","",conn);
return errString;
}else{
glTraceMap.put("acct_code", macctCode);
}
if((mcctrCode==null)||(mcctrCode.trim().length()==0))
{
glTraceMap.put("cctr_code", cctrCodeCr);
}
else
{
glTraceMap.put("cctr_code", mcctrCode);
}
glTraceMap.put("curr_code", currCode);
glTraceMap.put("exch_rate", exchRate);
glTraceMap.put("dr_amt", 0);
glTraceMap.put("cr_amt", (stkmap.get(combination)));
glTraceMap.put("ref_ser", refserFor);
glTraceMap.put("ref_id", tranId);
glTraceMap.put("remarks", remarks);
errString=finCommon.glTraceUpdate(glTraceMap, conn);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
glTraceMap.put("tran_date", tranDate);
glTraceMap.put("eff_date", tranDate);
glTraceMap.put("fin_entity", finEntity);
glTraceMap.put("site_code", siteCode);
glTraceMap.put("sundry_type", 'O');
glTraceMap.put("acct_code", macctCode);
if((mcctrCode==null)||(mcctrCode.trim().length()==0))
{
glTraceMap.put("cctr_code", cctrCodeCr);
}
else
{
glTraceMap.put("cctr_code", mcctrCode);
}
glTraceMap.put("curr_code", currCode);
glTraceMap.put("exch_rate", exchRate);
glTraceMap.put("dr_amt", (stkmap.get(combination)));
glTraceMap.put("cr_amt", 0);
glTraceMap.put("ref_type", "");
glTraceMap.put("ref_ser", refserFor);
glTraceMap.put("ref_id", tranId);
glTraceMap.put("remarks", remarks);
errString=finCommon.glTraceUpdate(glTraceMap, conn);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
}
errString=finCommon.checkGlTranDrCr(refserFor, tranId, conn);
System.out.println("all correct");
}
}catch(Exception e){
System.out.println("Exception :StockTransferConf :retreiveStockTrans :==>"+e.getMessage());
errString = GenericUtility.getInstance().createErrorString(e);
throw new ITMException(e);
}finally{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
}
\ No newline at end of file
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