Commit 8861171d authored by cpatil's avatar cpatil

modify / added for post order migration by vishakha / Mahendra / priyanka / vallabh


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@39275 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 0f88c5f6
package ibase.webitm.ejb.dis;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.E12CreateBatchLoadEjb;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.fin.InvAcct;
import ibase.webitm.ejb.sys.CreateRCPXML;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
import java.io.Serializable;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import org.w3c.dom.Document;
@javax.ejb.Stateless
public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirmLocal,DespatchConfirmRemote{
//Calling GR NO GEneration and Retreiving Despatch Code Here ...
//GP No Generation code...
public String generateGPNO(String xmlValues,String site,String SOrderNo,Connection conn) throws Exception
{
String GPno = "",orderType = "",orderTypes = "",keyString = "",keyCol = "",tranSer = "";
DistCommon dis = new DistCommon();
//SELECTING ORDER TYPE OF SALES ORDER
PreparedStatement pstmt3 = null;
ResultSet rs = null, rs1 = null,rs3 = null;
String sql = "",sql1 = "";
sql1 = "select order_type from sorder where sale_order = ? ";
pstmt3 = conn.prepareStatement(sql1);
pstmt3.setString(1,SOrderNo);
rs3 = pstmt3.executeQuery();
while(rs3.next())
{
orderType = rs3.getString("order_type");
}
rs3.close();
rs3 = null;
pstmt3.close();
pstmt3 = null;
sql1 = "select key_string, TRAN_ID_COL, REF_SER from transetup where tran_window = 'gpno'";
pstmt3 = conn.prepareStatement(sql1);
rs3 = pstmt3.executeQuery();
while(rs3.next())
{
keyString = rs3.getString("key_string");
keyCol = rs3.getString("TRAN_ID_COL");
tranSer = rs3.getString("REF_SER");
}
rs3.close();
rs3 = null;
pstmt3.close();
pstmt3 = null;
//SELECTING ORDER TYPES FROM DISPARM
orderTypes = dis.getDisparams("999999", "GP_NO", conn);
//IF DATA FOUND IN DISPARM THEN ONLY GENERATE GP NO ELSE NOT REQUIRED
//COMPARING VALUES FROM SORDER AND DISPARM IF ORDER TYPE FROM SORDER DOES EXIST
//IN DISPARM THEN GP_NO SHOULD NOT BE GENERATED
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
GPno = tg.generateTranSeqID(tranSer, keyCol, keyString, conn);
System.out.println("GP NO Generated :::::::::"+GPno);
return GPno;
}
//Confirmation through Button ..
//Calling Despatch Confirmation Code Here....
public String confirm(String tranID,String xtraParams, String forcedFlag) throws RemoteException,ITMException
{
System.out.println("----------------confirmed method (Despatch confirm)----through button-----");
String retString = "";
Connection conn = null;
ConnDriver connDriver = null;
ITMDBAccessEJB itmDBAccessEJB = null;
try
{
connDriver = new ConnDriver();
conn = connDriver.getConnectDB("Driver");
conn.setAutoCommit(false);
itmDBAccessEJB = new ITMDBAccessEJB();
retString = confirm( tranID, xtraParams, forcedFlag,conn); //calling and creating connection
if( retString != null && retString.trim().length() > 0 )
{
conn.rollback();
return retString;
}
else
{
System.out.println("@@@@@@@@@@@118:::::::::::commiting record........");
conn.commit();
retString = itmDBAccessEJB.getErrorString("","CONFSUCC","");
return retString;
}
}
catch(Exception exception)
{
System.out.println("Exception in [Despatch Confirmation] confirm " + exception.getMessage());
}
finally
{
try
{
if( conn != null && ! conn.isClosed() )
{
conn.close();
conn = null;
}
}
catch(Exception ef)
{
System.out.println(ef.getMessage());
ef.printStackTrace();
throw new ITMException(ef);
}
}
return retString;
}
public String confirm(String tranId,String xtraParams, String forcedFlag ,Connection conn) throws RemoteException,ITMException
{
System.out.println("----------------confirmed method (Despatch confirm)---- with Connection-----");
DistCommon distCommon = new DistCommon();
PreparedStatement pstmt = null, pstmt1 = null ,pstmt3 = null ;
ResultSet rs = null, rs1 = null,rs3 = null;
String sql = "",sql1 = "",sql3 = "";
String confirm = "";
String errString = "",holdFlag = "",holdFlagNew = "",invStat = "",grade = "",tranSer = "",gpSer = "",gpNo = "",siteCodeExc = "";
String statusDesp = "",channelPartner = "",lockLevel = "",isAllocated = "",varValue = "",disLink = "";
String availableYN = "",tranid = "",siteCode = "",disparmVal = "",sordNo = "",lineNo = "",lineNoSord = "",expLev = "",itemCodeOrd = "",itemCode = "",lotNo = "",lotSl = "",locCode = "",unitStd = "";
double quantityStduom = 0.0,quantity = 0.0,rateStduom = 0.0,hldQty = 0.0,qtyAlloc = 0.0,OrderQty = 0.0,mQtyCheck = 0.0;
double mCancperc = 0.0,bondTaxAmt = 0.0,bondValue = 0.0,bankGuarantee = 0.0;
double grossWeight = 0.0,tareWeight = 0.0,netweight = 0.0;
String exportOrderType = "",bondTaxGroup = "",eou = "";
String noArt = "",custCode = "",custCodeDlv = "",lockCode = "",varValuePurInteg = "",dataStr = "",siteCodeDlv = "";
String status ="",allocFlag = "",pendOrder = "";
String varValueTransit = "",invStatTransit = "",bondNo ="";
HashMap updDesp = new HashMap();
HashMap updDespTransit = new HashMap();
E12GenericUtility genericUtility = new E12GenericUtility();
//ConnDriver connDriver = null;
ITMDBAccessEJB itmDBAccessEJB = null;
Timestamp despDate = null,gpDate = null;
int cnt = 0,editOption = 0,detCount = 0;
boolean isLocal=false;
try
{
itmDBAccessEJB = new ITMDBAccessEJB();
/* if(conn==null)
{
connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
conn.setAutoCommit(false);
isLocal=true;
}*/
sql = "select confirmed from despatch where desp_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
confirm = rs.getString("confirmed");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(confirm != null && "Y".equalsIgnoreCase(confirm))
{
System.out.println("The Selected transaction is already confirmed");
errString = itmDBAccessEJB.getErrorString("","VTMCONF1","");
return errString;
}
else
{
sql = "select status,desp_date,available_yn,desp_id,site_code,sord_no,cust_code__dlv,cust_code,gp_date,gp_ser,gp_no "
+ " from despatch where desp_id = ? ";// QUERY OF SRD TO BE COPIED...........
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs = pstmt.executeQuery();
while ( rs.next() )
{
statusDesp = checkNull(rs.getString("status"));
// tranSer = rs.getString("tran_ser");
//despDate = new Timestamp(rs.getDate("tran_Date").getTime());
despDate = rs.getTimestamp("desp_date");
availableYN = checkNull(rs.getString("available_yn"));
tranid = checkNull(rs.getString("desp_id"));
siteCode = checkNull(rs.getString("site_code"));
sordNo = checkNull(rs.getString("sord_no"));
custCode = checkNull(rs.getString("cust_code"));
custCodeDlv = checkNull(rs.getString("cust_code__dlv"));
gpDate = rs.getTimestamp("gp_date");
gpSer = checkNull(rs.getString("gp_ser"));
gpNo = checkNull(rs.getString("gp_no"));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
/**************************For despatch GP NO Generation********************************************************************/
sql1 = "select site_code__exc "
+" from site where site_code = ? ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1,siteCode);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{
siteCodeExc = checkNull(rs1.getString("site_code__exc"));
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
/* genKey.put("site_code",siteCodeExc);
genKey.put("desp_date",despDate);
genKey.put("sord_no",sordNo);
genKey.put("gp_date",gpDate);
genKey.put("gp_ser",gpSer);*/
String xmlValues = "";
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id/>";
xmlValues = xmlValues + "<site_code>" + siteCodeExc + "</site_code>";
xmlValues = xmlValues + "<desp_date>"+ despDate + "</desp_date>";
xmlValues = xmlValues + "<gp_ser>"+ gpSer + "</gp_ser>";
xmlValues = xmlValues + "</Detail1></Root>";
varValue= distCommon.getDisparams("999999", "EXC_SITE_NO", conn);
System.out.println("varValue===="+varValue);
/*sql1 = "select var_value from disparm where prd_code = '999999' and var_name = 'EXC_SITE_NO' ";
pstmt1 = conn.prepareStatement(sql1);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{
varValue = rs1.getString("site_code__exc");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;*/
if( varValue.contains(siteCodeExc))
{
gpNo = generateGPNO(xmlValues,siteCodeExc+gpSer,sordNo,conn);//Code need to be migrated
}
else{
gpNo = generateGPNO(xmlValues,siteCodeExc,sordNo,conn);//Code need to be migrated
}
sql = "update despatch set gp_no = ? , gp_date = ? "
+" where desp_id = ? ";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,gpNo);
pstmt1.setTimestamp(2,gpDate);
pstmt1.setString(3,tranId);
int cnt2 = pstmt1.executeUpdate();
System.out.println("Count value after updating despatch...."+cnt2);
pstmt1.close();
pstmt1 = null;
//despatch_edit.setitem(ll_ctr,"confirmed", 'Y') //Ruchira 21/09/2k5 taken out of abovve if ... endif statement.
// CHECKING WHETHER PURCHASE IS INTEGRATED WITH SALES OR NOT
varValuePurInteg = checkNull(distCommon.getDisparams("999999","PUR_INTEGRATED",conn));
sql1 = "select edi_option from transetup "
+ "where tran_window = 'w_despatch' ";
pstmt1 = conn.prepareStatement(sql1);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{
editOption = rs1.getInt("edi_option");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
/*despatch_edit.setfilter("desp_id = '" + ls_desp_id + "'")
despatch_edit.filter()
desp_det.setfilter("desp_id = '" + ls_desp_id + "'")
desp_det.filter()*/
if(varValuePurInteg == "Y" || editOption > 0)
{
//channelPartner and dis link retrieved earlier
if(channelPartner == null)
{
sql1 = "select channel_partner, dis_link from customer "
+" where cust_code = ? ";
pstmt1 = conn.prepareStatement(sql1);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{
channelPartner = checkNull(rs1.getString("channel_partner"));
disLink = checkNull(rs1.getString("dis_link"));
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
//Took code from Porder amd conf
if(channelPartner == "Y" || editOption > 0)
{
if(disLink == "E" || editOption > 0 )
{
if(editOption == 2)
{
CreateRCPXML createRCPXML = new CreateRCPXML("w_despatch", "tran_id");
dataStr = createRCPXML.getTranXML(tranId, conn);
System.out.println("dataStr =[ " + dataStr + "]");
Document ediDataDom = genericUtility.parseString(dataStr);
E12CreateBatchLoadEjb e12CreateBatchLoad = new E12CreateBatchLoadEjb();
errString = e12CreateBatchLoad.createBatchLoad(ediDataDom, "w_despatch", ""+editOption , xtraParams, conn);
createRCPXML = null;
e12CreateBatchLoad = null;
if (errString != null && "SUCCESS".equals(errString))
{
System.out.println("retString from batchload = [" + errString + "]");
}
}
}
/*if (ls_dis_link = 'A' or ls_dis_link = 'S' or ls_dis_link = 'C') and ls_var_value = 'Y' then //prince --17-11-06
ls_hdr = despatch_edit.describe("datawindow.data")
ls_det = desp_det.describe("datawindow.data")
//sqlca_cp,ls_dis_link argument added by jasmina 18/06/09-DI78SUN061
merrcode = nvo_porcp.gbf_create_porcp(ls_hdr,ls_det,sqlca_cp,ls_dis_link)
if len(trim(merrcode)) > 0 then goto errfound
end if*/
}
}
//Despatch confirm code ...
// merrcode = gbf_confirm_despatch(despatch_edit.describe("datawindow.data"), desp_det.describe("datawindow.data"),1)
exportOrderType = checkNull(distCommon.getDisparams("999999","EXPORT_DESPATCH_ORDER_TYPE",conn));//gf_getenv_dis('999999',"EXPORT_DESPATCH_ORDER_TYPE")
if(exportOrderType != "")
{
bondTaxGroup = checkNull(distCommon.getDisparams("999999","B17_BOND_TAX_GROUP",conn));
}
sql3 = "select sord_no,line_no,line_no__sord,exp_lev,item_code__ord,item_code,lot_no,lot_sl," +
"loc_code,unit__std,quantity__stduom,quantity,rate__stduom,no_art,lock_code " +
"from despatchdet where desp_id = ?";
pstmt3 = conn.prepareStatement(sql3);
pstmt3.setString(1,tranId);
rs3 = pstmt3.executeQuery();
while ( rs3.next() )
{
if(statusDesp != "X") {
lineNo = checkNull(rs3.getString("line_no"));
lineNoSord = checkNull(rs3.getString("line_no__sord"));
expLev = checkNull(rs3.getString("exp_lev"));
itemCodeOrd = checkNull(rs3.getString("item_code__ord"));
itemCode = checkNull(rs3.getString("item_code"));
lotNo = checkNull(rs3.getString("lot_no"));
lotSl = checkNull(rs3.getString("lot_sl"));
locCode = checkNull(rs3.getString("loc_code"));
unitStd = checkNull(rs3.getString("unit__std"));
quantityStduom = rs3.getDouble("quantity__stduom");
quantity = rs3.getDouble("quantity");
rateStduom = rs3.getDouble("rate__stduom");
noArt = checkNull(rs3.getString("no_art"));
lockCode = checkNull(rs3.getString("lock_code"));
disparmVal = checkNull(distCommon.getDisparams("999999","QUARNTINE_LOCKCODE",conn));//gf_getenv_dis('999999','QUARNTINE_LOCKCODE')
sql = " Select hold_qty as lc_hold_qty "
+" From stock Where item_code = ? and site_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
pstmt.setString(2,siteCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
rs = pstmt.executeQuery();
while(rs.next())
{
hldQty = rs.getDouble("lc_hold_qty");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(hldQty > 0.0)
{
sql = "select count(*) as ll_cnt from inv_hold a, inv_hold_det b , inv_hold_rel_trace c"
+" where a.tran_id = b.tran_id and b.tran_id = c.ref_no and c.item_code = ? and c.site_code = ? and c.loc_code = ?"
+" and c.lot_no = ? and c.lot_sl = ? and b.lot_no = ?"
+" and b.lot_sl = ? and (b.line_no_sl = 0 or b.line_no_sl is null)"
+" and a.confirmed='Y' and b.hold_status ='H' and a.lock_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
pstmt.setString(2,siteCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,disparmVal);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("ll_cnt");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(cnt > 0)
{
lockCode = disparmVal;
}
}//end of hld condn...
sql = "select channel_partner,dis_link,site_code__ch from site_customer where cust_code = ? and site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,custCodeDlv);
pstmt.setString(2,siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
channelPartner = checkNull(rs.getString("channel_partner"));
disLink = checkNull(rs.getString("dis_link"));
siteCodeDlv = checkNull(rs.getString("site_code__ch"));
if(channelPartner == null)//not found in above query
{
sql1 = "select channel_partner,dis_link, site_code from customer where cust_code = ? ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1,custCodeDlv);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
channelPartner = checkNull(rs1.getString("channel_partner"));
disLink = checkNull(rs1.getString("dis_link"));
siteCodeDlv = checkNull(rs1.getString("site_code__ch"));
if(channelPartner == null)
{
channelPartner = "N";
}
}
pstmt1.close();
pstmt1 = null;
rs1.close();
rs1 = null;
}
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(channelPartner == "N")
{
sql = "select lock_level from inv_lock where lock_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,lockCode);
rs = pstmt.executeQuery();
while(rs.next())
{
lockLevel = checkNull(rs.getString("lock_level"));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(lockLevel == "I")
{
sql = "select hold_flag from item where item_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
while(rs.next())
{
holdFlag = checkNull(rs.getString("hold_flag"));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(holdFlag == "Y")
{
errString = itmDBAccessEJB.getErrorString("","VTCODE1","","",conn);
return errString;
}
}
else if(lockLevel == "L")
{
sql = "select hold_flag from item_lot_info where item_code = ? and lot_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
pstmt.setString(2,lotNo);
rs = pstmt.executeQuery();
while(rs.next())
{
holdFlagNew = checkNull(rs.getString("hold_flag"));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(holdFlagNew == "Y")
{
errString = itmDBAccessEJB.getErrorString("","VTCODE2","","",conn);
return errString ;
}
}
}
sql = " select inv_stat from location where loc_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,locCode);
rs = pstmt.executeQuery();
while(rs.next())
{
invStat = rs.getString("inv_stat");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = " select count(*) as count1 from sordalloc "
+" where sale_order = ? "
+" and line_no = ? "
+" and exp_lev = ? "
+" and item_code__ord = ? "
+" and item_code = ? "
+" and lot_no = ? "
+" and lot_sl = ? "
+" and loc_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNo);
pstmt.setString(3,expLev);
pstmt.setString(4,itemCodeOrd);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
rs = pstmt.executeQuery();
while(rs.next())
{
cnt = rs.getInt("count1");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(cnt == 0)
{
isAllocated = "N";
}
else{
isAllocated = "Y";
}
if(isAllocated == "Y")
{
sql ="select qty_alloc from sordalloc "
+" where sale_order = ? and line_no = ? and exp_lev = ? and item_code__ord = ? and item_code = ? "
+" and lot_no = ? and lot_sl = ? and loc_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNo);
pstmt.setString(3,expLev);
pstmt.setString(4,itemCodeOrd);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
rs = pstmt.executeQuery();
if(rs.next())
{
qtyAlloc = rs.getDouble("qty_alloc");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if((qtyAlloc - quantityStduom) <= 0.0)
{
sql =" delete from sordalloc where sale_order = ? and line_no = ? and exp_lev = ? and item_code__ord = ? and item_code = ?"
+" and lot_no = ? and lot_sl = ? and loc_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNo);
pstmt.setString(3,expLev);
pstmt.setString(4,itemCodeOrd);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
pstmt.executeQuery();
pstmt.close();
pstmt = null;
}
else{
sql = "Update sordalloc set status = 'D', qty_alloc = qty_alloc - ? "
+" where sale_order = ? and line_no = ? and exp_lev = ? and item_code__ord = ? and item_code = ? "
+" and lot_no = ? and lot_sl = ? and loc_code = ? ";
pstmt = conn.prepareStatement(sql);
//pstmt.setDouble(1,qtyAlloc - quantityStduom);
pstmt.setDouble(1,quantityStduom);
pstmt.setString(2,sordNo);
pstmt.setString(3,lineNo);
pstmt.setString(4,expLev);
pstmt.setString(5,itemCodeOrd);
pstmt.setString(6,itemCode);
pstmt.setString(7,lotNo);
pstmt.setString(8,lotSl);
pstmt.setString(9,locCode);
pstmt.executeQuery();
pstmt.close();
pstmt = null;
}
}
sql = " update sorditem set status = 'D', qty_alloc = qty_alloc - ? , " +
" qty_desp = (case when qty_desp is null then 0 else qty_desp end ) + ? , "+
" date_desp = ? where sale_order = ? and line_no = ? and exp_lev = ? ";
pstmt = conn.prepareStatement(sql);
// pstmt.setDouble(1,quantity);
// pstmt.setDouble(2,qtyAlloc - quantityStduom);
pstmt.setDouble(1, quantityStduom);
pstmt.setDouble(2,quantity);
pstmt.setTimestamp(3,despDate);
pstmt.setString(4,sordNo);
pstmt.setString(5,lineNo);
pstmt.setString(6,expLev);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
// CALLING FUNCTION FOR UPDATING STOCK AFTER DESPATCH PICKING GRADE,ACCT_CODE__CR AND CCTR_CODE__CR FROM STOCK
String ordType = "",itemSer = "",acctCodeDr = "",cctrCodeDr = "",acctCodeCr = "",cctrCodeCr = "",invLock = "",holdTranId = "";
sql = " select grade ,acct_code__inv,cctr_code__inv from stock "
+" where site_code = ? and item_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
rs = pstmt.executeQuery();
while(rs.next())
{
grade = rs.getString("grade");
acctCodeCr = rs.getString("acct_code__inv");
cctrCodeCr = rs.getString("cctr_code__inv");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
// PICKING ORDER TYPE, ITEM SER FROM SORDER
sql = " select order_type, item_ser from sorder "
+" where sale_order = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
rs = pstmt.executeQuery();
while(rs.next())
{
ordType = rs.getString("order_type");
itemSer = rs.getString("item_ser");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
//PICKING ACCT_CODE AND CCTR_CODE COGS. IF CCTR CODE COGS IS BLANK THEN REPLACE WITH CREDIT CCTR CODE AS PER SHIRI
sql = " select acct_code__cogs, cctr_code__cogs from item_acct_detr where item_ser = ? and grp_code = ' '"
+" and item_code = ' ' and tran_type = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemSer);
pstmt.setString(2,ordType);
rs = pstmt.executeQuery();
while(rs.next())
{
acctCodeDr = rs.getString("acct_code__cogs");
cctrCodeDr = rs.getString("cctr_code__cogs");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(cctrCodeDr == null || cctrCodeDr.trim().length() == 0)
{
cctrCodeDr = cctrCodeCr;
}
updDesp.put("hold_lock", "N");
updDesp.put("tran_date",despDate);
updDesp.put("tran_ser","S-DSP");
updDesp.put("tran_id", tranId);
updDesp.put("tran_type", "ID");
updDesp.put("line_no", lineNo);
updDesp.put("sorder_no",sordNo);
updDesp.put("item_code", itemCode);
updDesp.put("site_code", siteCode);
updDesp.put("loc_code", locCode);
updDesp.put("unit", unitStd);
updDesp.put("lot_no", lotNo);
updDesp.put("lot_sl", lotSl);
updDesp.put("quantity", quantity);
updDesp.put("qty_stduom", quantityStduom);
updDesp.put("rate", rateStduom);
updDesp.put("item_ser",itemSer);
updDesp.put("inv_stat", invStat);
updDesp.put("grade", grade);
updDesp.put("acct_code__dr", acctCodeDr);
updDesp.put("cctr_code__dr", cctrCodeDr);
updDesp.put("acct_code__cr",acctCodeCr);
updDesp.put("cctr_code__cr", cctrCodeCr);
updDesp.put("gross_weight", grossWeight);
updDesp.put("tare_weight", tareWeight);
updDesp.put("net_weight", netweight);
updDesp.put("no_art",noArt);
if(hldQty > 0.0)
{
sql = " Select a.lock_code ,a.tran_id "
+ " From inv_hold a, inv_hold_det b , inv_hold_rel_trace c"
+ " Where a.tran_id = b.tran_id "
+ " And b.tran_id = c.ref_no "
+ " And c.item_code = ? "
+ " And c.site_code = ? "
+ " And c.loc_code = ? "
+ " And c.lot_no = ? "
+ " And c.lot_sl = ? "
+ " And b.lot_no = ? "
+ " And b.lot_sl = ? "
+ " And (b.line_no_sl = 0 or b.line_no_sl is null) "
+ " And a.confirmed='Y' "
+ " And b.hold_status ='H' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
pstmt.setString(2,siteCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
rs = pstmt.executeQuery();
while(rs.next())
{
invLock = rs.getString("lock_code");
holdTranId = rs.getString("tran_id");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(invLock != null && invLock.trim().length() > 0 && availableYN == "N")
{
if(invLock.equals(disparmVal))
{
updDesp.put("hold_lock", "Y");
}
else
{
updDesp.put("hold_lock", "N");
}
}
if("Y".equalsIgnoreCase(updDesp.get("hold_lock")==null?"":updDesp.get("hold_lock").toString()))
{
updDesp.put("hold_qty", quantityStduom);
}
}
StockUpdate stckupd = new StockUpdate();
errString = stckupd.updateStock(updDesp, xtraParams, conn);
//CALLING UPDATE OF STOCK FOR TRANSIT ENTRY
if(channelPartner == "Y" && disLink == "E")
{
sql = "select var_value from disparm where prd_code='999999' and var_name='TRANSIT_LOC'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next())
{
varValueTransit = rs.getString("var_value");//location code
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = "select inv_stat from location where loc_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,varValueTransit);
rs = pstmt.executeQuery();
while(rs.next())
{
invStatTransit = rs.getString("inv_stat");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = "select exp_date,mfg_date,site_code__mfg,pack_code,acct_code__inv,cctr_code__inv "
+" from stock where site_code = ? and item_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
rs = pstmt.executeQuery();
while(rs.next())
{
updDespTransit.put("acct_code_inv", rs.getString("acct_code__inv"));
updDespTransit.put("cctr_code_inv", rs.getString("cctr_code__inv"));
updDespTransit.put("exp_date", rs.getTimestamp("exp_date"));
updDespTransit.put("mfg_date", rs.getTimestamp("mfg_date"));
updDespTransit.put("site_code__mfg", rs.getString("site_code__mfg"));
updDespTransit.put("pack_code", rs.getString("pack_code"));
updDespTransit.put("inv_stat", invStatTransit);
updDespTransit.put("loc_code",varValueTransit);
updDespTransit.put("tran_type","R");
updDespTransit.put("site_code",siteCodeDlv);
updDespTransit.put("hold_qty",0.0);
errString = stckupd.updateStock(updDespTransit, xtraParams, conn);
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
//following code added by ajit on date 19/08/2014
if(errString == null || errString.trim().length() == 0 && "Y".equalsIgnoreCase(updDesp.get("hold_lock")==null?"":updDesp.get("hold_lock").toString()) )
{
sql = " Update stock set hold_qty = case when hold_qty is null then 0 else hold_qty end + ? Where item_code = ? And site_code = ? "
+" And loc_code = ? And lot_no = ? And lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,quantityStduom);
pstmt.setString(2,itemCode);
pstmt.setString(3,siteCodeDlv);
pstmt.setString(4,invStatTransit);
pstmt.setString(5,lotNo);
pstmt.setString(6,lotSl);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql = "update inv_hold_det set loc_code = ?, site_code = ? Where tran_id = ? And item_code = ? And lot_no = ? "
+" And lot_sl = ? And loc_code = ? And hold_status ='H'" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,invStatTransit);
pstmt.setString(2,itemCode);
pstmt.setString(3,holdTranId);
pstmt.setString(4,itemCode);
pstmt.setString(5,lotNo);
pstmt.setString(6,lotSl);
pstmt.setString(7,locCode);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql = " update inv_hold_rel_trace set loc_code = ?, site_code = ? Where ref_no = ? And site_code = ? "
+" And item_code = ? And lot_no = ? And lot_sl = ? And loc_code = ? And hold_qty > 0 ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,invStatTransit);
pstmt.setString(2,siteCodeDlv);
pstmt.setString(3,holdTranId);
pstmt.setString(4,siteCode);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
}//end of transit entry
//Updating sorder status.
sql = "select sum(quantity) as lc_order_qty , sum(quantity) - sum(qty_desp) as mqty_chk from sorditem "
+ "where sale_order = ? and line_type = 'I'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
rs = pstmt.executeQuery();
while(rs.next())
{
OrderQty = rs.getDouble("lc_order_qty");
mQtyCheck = rs.getDouble("mqty_chk");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(mQtyCheck > 0.0) //PARTIAL DESPATCH
{
status = "P";
allocFlag = "N";
}
else
{
status = "C";
allocFlag = "Y";
}
sql = " update sorder set status = ?,order_status = ?, status_date = ?,alloc_flag = ? "
+" where sale_order = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,status);
pstmt.setString(2,status);
pstmt.setTimestamp(3,despDate);
pstmt.setString(4,allocFlag);
pstmt.setString(5,sordNo);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
//End of updating sorder status.
sql = " select pending_order from sorder where sale_order = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
rs = pstmt.executeQuery();
while(rs.next())
{
pendOrder = checkNull(rs.getString("pending_order"));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(pendOrder == "I")
{
sql = "Select (case when ordc_perc is null then 0 else ordc_perc end) as mCancperc "
+" from item where item_code = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
while(rs.next())
{
mCancperc = rs.getDouble("mCancperc");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(OrderQty > 0.0)
{
if((mQtyCheck/OrderQty * 100) <= mCancperc)
{
sql = " update sorditem set status = 'C' where sale_order = ? and line_no = ? and exp_lev= ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNoSord);
pstmt.setString(3,expLev);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql = "update sorddet set status = 'C' where sale_order = ? and line_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNoSord);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
sql = "select count(1) as ll_cnt from sorddet where sale_order = ? and status <> 'C'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
rs = pstmt.executeQuery();
while(rs.next())
{
detCount = rs.getInt("ll_cnt");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(detCount == 0)
{
sql = "update sorder set status = 'C', status_date = ?, alloc_flag = 'Y', order_status = 'C' "
+"where sale_order = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1,despDate);
pstmt.setString(2,sordNo);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
}
}//end of if pending order == "I"
else if(pendOrder == "Y")
{
sql = "update sorder set status = 'C', status_date = ?, alloc_flag = 'Y', order_status = 'C' where sale_order = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1,despDate);
pstmt.setString(2,sordNo);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
//If eou is site and EXPORT order type than Updating Bond Value, bond value shd be Credited
sql = "Select case when eou is null then 'N' else eou end as ls_eou From site Where site_code = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
eou = rs.getString("ls_eou");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if("Y".equalsIgnoreCase(eou) && (exportOrderType == ordType) && bondTaxGroup!= null && bondTaxGroup.trim().length() > 0)
{
bondTaxAmt = 0.0;
sql = "select Sum(case when tax_amt is null then 0 else tax_amt end) as tax_amt from taxtran Where tran_code = 'S-DSP' and tran_id = ? "
+ "and line_no = ? and tax_code IN ( select tax_code from tax where tax_group in ( ? )" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
pstmt.setString(2,lineNo);
pstmt.setString(3,bondTaxGroup);
rs = pstmt.executeQuery();
while(rs.next())
{
bondTaxAmt = rs.getDouble("tax_amt");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(bondTaxAmt != 0.0)
{
int cnt4=0;
bondValue = 0.0;
sql = "select bond_no, case when bond_value is null then 0 else bond_value end as bond_value,case when bank_guarantee is null then 0 else bank_guarantee end "
+ " as lc_bank_guarantee from b17_bond where site_code = ? and ? >= eff_from and ? <= valid_upto "
+" and case when confirmed is null then 'N' else confirmed end = 'Y' and bond_type = 'B' " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
pstmt.setTimestamp(2,despDate);
pstmt.setTimestamp(3,despDate);
pstmt.setString(3,bondTaxGroup);
rs = pstmt.executeQuery();
while(rs.next())
{
cnt4++;
bondNo = rs.getString("bond_no");
bondValue = rs.getDouble("bond_value");
bankGuarantee = rs.getDouble("lc_bank_guarantee");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(cnt4 == 0)
{
errString = itmDBAccessEJB.getErrorString("","VTB17ERR1","","",conn);
return errString ;
}
else if(bankGuarantee < (bondValue+bondTaxAmt))
{
errString = itmDBAccessEJB.getErrorString("","VTB17ERR2","","",conn);
return errString ;
}
else
{
sql = "update b17_bond set bond_value = ? where bond_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,bondValue+bondTaxAmt);
pstmt.setString(2,bondNo);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
}
}
}//status not cancelled
}
pstmt3.close();
pstmt3 = null;
rs3.close();
rs3 = null;
}
System.out.println("ERROR STRING WHILE DESPATCH CONFIRMATION!!!!!!!!!!!!!!"+errString);
if(errString == null || errString.trim().length()== 0)
{
System.out.println("Insiding Despatch Confirmation!!!!!!");
sql = "update despatch set confirmed = 'Y', conf_date = ? where desp_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1,new Timestamp(System.currentTimeMillis()));
pstmt.setString(2,tranId);
int confirmCnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
if(confirmCnt > 0)
{
System.out.println(">>The selected transaction is confirmed!!!!");
errString= "<?xml version='1.0'?><Root><message>VTPOSTDES</message><TranID>"+tranId+"</TranID></errors></Root>";
System.out.println("@@@@@ retString:" + errString);
}
/*sql = "select confirmed from despatch where desp_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
confirm = rs.getString("confirmed");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("@@@@@@@@@@@@test:::desp_id["+tranId+"]confirm["+confirm+"]");
*/
}
}
catch(Exception e)
{
try
{
conn.rollback();
}
catch (Exception e1)
{
}
e.printStackTrace();
System.out.println("Exception ::"+e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
/*if( conn != null && ! conn.isClosed() )
{
conn.close();
conn = null;
}*/
}
catch(Exception ef)
{
System.out.println(ef.getMessage());
ef.printStackTrace();
throw new ITMException(ef);
}
}
return errString;
}
private String checkNull(String inp)
{
if(inp == null)
inp = " ";
return inp.trim();
}
}
package ibase.webitm.ejb.dis;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import java.sql.Connection;
import java.rmi.RemoteException;
import javax.ejb.Local;
@Local
public interface DespatchConfirmLocal extends ActionHandlerLocal
{
public String confirm(String tranID, String xtraParams, String forcedFlag) throws RemoteException,ITMException;
public String confirm( String tranId, String xtraParams,String forcedFlag, Connection conn) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.dis;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import java.sql.Connection;
import java.rmi.RemoteException;
import javax.ejb.Remote;
@Remote
public interface DespatchConfirmRemote extends ActionHandlerRemote
{
public String confirm(String tranID, String xtraParams, String forcedFlag) throws RemoteException,ITMException;
public String confirm( String tranId, String xtraParams,String forcedFlag, Connection conn) throws RemoteException,ITMException;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
package ibase.webitm.ejb.dis;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import javax.naming.InitialContext;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
import ibase.system.config.AppConnectParm;
import ibase.webitm.ejb.MasterStatefulLocal;
public class PostOrdDespatchGen
{
E12GenericUtility genericUtility=new E12GenericUtility();
FinCommon finCommon=new FinCommon();
public String createDespatch(String saleOrderfr, String saleOrderTo,String custCodeFr, String custCodeTo, Timestamp frDate,
Timestamp toDate, String siteCodeShip, Connection conn) throws RemoteException, ITMException, SQLException
{
ibase.utility.UserInfoBean userInfo = new UserInfoBean();
System.out.println("CREATING DESPATCH !!!!!!!!!!!!");
String sql = "";
// Connection conn = null;
ibase.utility.E12GenericUtility genericUtility = null;
genericUtility = new ibase.utility.E12GenericUtility();
java.util.Date today = new java.util.Date();
PreparedStatement pstmt = null, pstmt1 = null,pstmt2=null,pstmt3=null;
ResultSet rs = null, rs1 = null,rs2=null,rs3=null;;
String saleOrder = "", custCode = "", custCodeDlv = "", custCodeBill = "", itemSer = "", priceList = "", crTerm = "";
String custName="",custNameDlv="",listType="";
String siteCode = "", currCode = "", dlvAdd1 = "", dlvAdd2 = "", dlvAdd3 = "", tranCode = "", stateCodeDlv = "";
String stanCode = "",stationDescr="", dlvPin = "", countCodeDlv = "", dlvCity = "", dlvTerm = "", orderType = "";
String lineNo = "", transMode = "", itemCode = "", remarks = "", currCodeFrt = "", currCodeIns = "";
String keyString="",keyCol="",tranSer1="";
double exchrate = 0, exchrateFrt = 0, exchrateIns = 0, insAmt = 0, frtAmt = 0,sordQty=0,itemRate=0,totRate=0,diffRate=0,discAmt=0;
String stkOpt = "",gpSer="",shName="",lrNo="",gpNo="",confirmed="";
Date orderDate = null,retestDate=null;
String splitCode = "",restdate="";
String tempSplitCode = "";
String priceListDisc="",priceListClg="",getPriceList="",itemRef="",priceListType="",priceListDiscType="",priceListClgType="";
Date plDate=null,ordDate=null;
int count = 0;
HashMap splitCodeWiseMap = new HashMap();
HashMap tempMap = null;
HashMap tempMapSord = null;
HashMap sordDetMap=null;
ArrayList tempList = null;
ArrayList sordList=new ArrayList();
ArrayList sordDetList=null;
HashMap newTempMap = new HashMap();
//HashMap newTempMapDet=new HashMap();
StringBuffer xmlString = null;
String userId="",chgUser="",chgTerm="";
String sysDate = "",despDate="";
Timestamp despDateTs=null,effDate=null;
String tranId="";
int insertCntHdr=0,insertCntDet=0;
String xtraParams = null;
//Details
String errString = "";
String orderDtStr ="",plDateStr="";
Timestamp ordDtTS=null,plDateTs=null;
int whileCnt=0,whileCntDet=0;
ITMDBAccessEJB itmDBAccessEJB = null;
String lineNoOrd="",expLev="",locCode="",descr="",itemCodeRef="",nature="",applyPrice="",priceVar="";
String itemType="",unitWt="",unitRate="",rateOpt="",priceListClgYN="",temp="",status="";
double grossWtPerart=0,tareWtPerArt=0,netWtPerArt=0;
String siteCodeMfg="",itemCodeOrd="",lotNo="",lotSl="",siteCde="",unitStd="",unit="",custCodeSal="";
double mZero=0,allocQty=0,qtyOrduom=0,mrate=0,discMerge=0,plistDisc=0,rateStdum=0;
int cnt=0,lineNum=0;
boolean lbCheck=false;
Date expDate=null,mfgDate=null;
double quantityStd=0,qtyAllocStd=0,convQtyStduom=0,costRate=0,noArt=0,confDiffAmt=0;
double rate=0,rateClg=0,qtyDesp=0,pendingQty=0,shipperQty=0,intQty=0,convRtuomStduom=0,rateStduom=0,rateStd=0;
String taxClass="",taxChap="",taxEnv="",packCode="",custItemRef="",unitRateSord="",unitSord="";
DistCommon distCommon=new DistCommon();
try {
System.out.println("process starts---------");
itmDBAccessEJB = new ITMDBAccessEJB();
xtraParams = "loginCode="+userInfo.getLoginCode()+"~~termId="+userInfo.getRemoteHost()+"~~loginSiteCode="+userInfo.getSiteCode()+"~~loginEmpCode="+userInfo.getEmpCode();
java.util.Date currentDate = new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat(this.genericUtility.getApplDateFormat());
Calendar c = Calendar.getInstance();
c.setTime(today);
today = c.getTime();
SimpleDateFormat sdf1 = new SimpleDateFormat(this.genericUtility.getApplDateFormat());
sysDate = sdf.format(today);
System.out.println("sysDate****==========" + sysDate);
despDate=sysDate;
despDateTs = Timestamp.valueOf(genericUtility.getValidDateString(despDate, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("Date to be set as despDateTs@@@@@@@==="+despDateTs);
System.out.println("Despatch Date-========="+despDate);
effDate=despDateTs;
System.out.println("Effective date====="+effDate);
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
chgUser =(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
chgTerm =(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgTerm"));
userId=userInfo.getLoginCode();
System.out.println("User Id :- ["+userId+"]");
System.out.println("saleOrderfr=====" + saleOrderfr);
System.out.println("saleOrderTo=====" + saleOrderTo);
System.out.println("custCodeFr=====" + custCodeFr);
System.out.println("custCodeTo=====" + custCodeTo);
System.out.println("frDate=====" + frDate);
System.out.println("toDate=====" + toDate);
System.out.println("siteCodeShip=====" + siteCodeShip);
sql = "SELECT SORDER.SALE_ORDER, SORDER.ORDER_DATE,SORDER.CUST_CODE,SORDER.CUST_CODE__DLV,SORDER.CUST_CODE__BIL , "
+ " SORDER.ITEM_SER , SORDER.PRICE_LIST,SORDER.PRICE_LIST__DISC,SORDER.PRICE_LIST__CLG,SORDER.PL_DATE,SORDER.CR_TERM,SORDER.SITE_CODE, SORDER.CONFIRMED,"
+ "SORDER.CONF_DATE , SORDER.CURR_CODE , SORDER.DLV_ADD1 ,SORDER.DLV_ADD2,SORDER.DLV_CITY ,"
+ "SORDER.COUNT_CODE__DLV,SORDER.DLV_PIN,SORDER.STAN_CODE,SORDER.TRAN_CODE,SORDER.STATE_CODE__DLV,"
+ "SORDER.DLV_ADD3,SORDER.ALLOC_FLAG,SORDER.DLV_TERM,SORDDET.SITE_CODE,SORDDET.QUANTITY,"
+ "SORDDET.UNIT, SORDDET.RATE,SORDDET.DISCOUNT,SORDDET.TAX_AMT,SORDDET.TAX_CLASS,SORDDET.TAX_CHAP,"
+ "SORDDET.TAX_ENV,SORDDET.NET_AMT,SORDDET.UNIT__RATE,SORDDET.RATE__CLG,SORDDET.PACK_CODE,SORDDET.CUST_ITEM__REF,SORDDET.CONV__QTY_STDUOM,"
+ "SORDDET.CONV__RTUOM_STDUOM,SORDDET.UNIT__STD,SORDDET.QUANTITY__STDUOM,SORDDET.RATE__STDUOM,SORDDET.RATE__STD,"
+ "SORDDET.NO_ART,SORDDET.ITEM_CODE,SORDDET.ITEM_SER, SORDER.ORDER_TYPE,SORDDET.LINE_NO,"
+ "SORDER.TRANS_MODE,SORDER.REMARKS,SORDER.EXCH_RATE, SORDER.EXCH_RATE__FRT,SORDER.CURR_CODE__FRT,"
+ "SORDER.EXCH_RATE__INS,SORDER.CURR_CODE__INS,SORDER.FRT_AMT,SORDER.INS_AMT "
+ "FROM SORDER,SORDDET "
+ "WHERE ( SORDER . SALE_ORDER = SORDDET . SALE_ORDER ) "
+ "and ( sorder.sale_order >= ? ) "
+ "AND ( sorder.sale_order <= ? )"
+ "AND ( sorder.cust_code >= ?)"
+ "AND ( sorder.cust_code <= ?) "
+ "AND ( sorder.due_date >= ?) "
+ "AND ( sorder.due_date <= ?) "
+ "AND ( sorder.confirmed = 'Y' )"
+ " AND ( sorder.alloc_flag = 'Y' )"
+ "AND ( sorder.status = 'P' )"
+ "AND sorder.site_code__ship = ? "
+ "ORDER BY SORDER . CUST_CODE ASC,SORDER.CUST_CODE__DLV ASC, "
+ "SORDER.ITEM_SER ASC,SORDER.CR_TERM ASC,SORDER.DLV_TERM ASC,"
+ "SORDER.ORDER_TYPE ASC,SORDER.TRANS_MODE ASC,SORDDET.SITE_CODE ASC";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, saleOrderfr);
pstmt.setString(2, saleOrderTo);
pstmt.setString(3, custCodeFr);
pstmt.setString(4, custCodeTo);
pstmt.setTimestamp(5, frDate);// due date frm
pstmt.setTimestamp(6, toDate);// due date to
pstmt.setString(7, siteCodeShip);
rs = pstmt.executeQuery();
while (rs.next())
{
whileCnt++;
System.out.println("while cnt==="+whileCnt);
saleOrder = rs.getString("SALE_ORDER");
orderDate = rs.getDate("ORDER_DATE");
custCode = rs.getString("CUST_CODE");
custCodeDlv = rs.getString("CUST_CODE__DLV");
custCodeBill = rs.getString("CUST_CODE__BIL");
itemSer = rs.getString("ITEM_SER");
priceList = rs.getString("PRICE_LIST");
priceListDisc=rs.getString("PRICE_LIST__DISC");
priceListClg=rs.getString("PRICE_LIST__CLG");
plDate = rs.getDate("PL_DATE");
crTerm = rs.getString("CR_TERM");
siteCode = rs.getString("SITE_CODE");
currCode = rs.getString("CURR_CODE");
dlvAdd1 = rs.getString("DLV_ADD1");
dlvAdd2 = rs.getString("DLV_ADD2");
dlvAdd3 = rs.getString("DLV_ADD3");
dlvCity = rs.getString("DLV_CITY");
countCodeDlv = rs.getString("COUNT_CODE__DLV");
dlvPin = rs.getString("DLV_PIN");
stanCode = rs.getString("STAN_CODE");
tranCode = rs.getString("TRAN_CODE");
stateCodeDlv = rs.getString("STATE_CODE__DLV");
dlvTerm = rs.getString("DLV_TERM");
orderType = rs.getString("ORDER_TYPE");
lineNo = rs.getString("LINE_NO");
transMode = rs.getString("TRANS_MODE");
itemCode = rs.getString("item_code");
remarks = rs.getString("remarks");
exchrate = rs.getDouble("EXCH_RATE");
currCodeFrt = rs.getString("CURR_CODE__FRT");
currCodeIns = rs.getString("CURR_CODE__INS");
exchrateFrt = rs.getDouble("EXCH_RATE__FRT");
exchrateIns = rs.getDouble("EXCH_RATE__INS");
frtAmt = rs.getDouble("FRT_AMT");
insAmt = rs.getDouble("INS_AMT");
rateClg = rs.getDouble("RATE__CLG");
packCode = rs.getString("PACK_CODE");
custItemRef = rs.getString("CUST_ITEM__REF");
convRtuomStduom = rs.getDouble("CONV__RTUOM_STDUOM");
rateStduom = rs.getDouble("RATE__STDUOM");
rateStd = rs.getDouble("RATE__STD");
unitRateSord = rs.getString("UNIT__RATE");
unitSord = rs.getString("UNIT");
System.out.println("saleOrder=====" + saleOrder);
System.out.println("orderDate=====" + orderDate);
System.out.println("custCode=====" + custCode);
System.out.println("custCodeDlv=====" + custCodeDlv);
System.out.println("custCodeBill=====" + custCodeBill);
System.out.println("itemSer=====" + itemSer);
System.out.println("priceList=====" + priceList);
System.out.println("priceListClg=====" + priceListClg);
System.out.println("priceListDisc=====" + priceListDisc);
System.out.println("plDate=====" + plDate);
System.out.println("crTerm=====" + crTerm);
System.out.println("siteCode=====" + siteCode);
System.out.println("currCode=====" + currCode);
System.out.println("dlvAdd1=====" + dlvAdd1);
System.out.println("dlvAdd1=====" + dlvAdd1);
System.out.println("dlvAdd3=====" + dlvAdd3);
System.out.println("dlvCity=====" + dlvCity);
System.out.println("countCodeDlv=====" + countCodeDlv);
System.out.println("currCode=====" + currCode);
System.out.println("dlvPin=====" + dlvPin);
System.out.println("stanCode=====" + stanCode);
System.out.println("tranCode=====" + tranCode);
System.out.println("stateCodeDlv=====" + stateCodeDlv);
System.out.println("dlvTerm=====" + dlvTerm);
System.out.println("orderType=====" + orderType);
System.out.println("lineNo=====" + lineNo);
System.out.println("transMode=====" + transMode);
System.out.println("itemCode=====" + itemCode);
System.out.println("remarks=====" + remarks);
System.out.println("exchrate=====" + exchrate);
System.out.println("currCodeFrt=====" + currCodeFrt);
System.out.println("currCodeIns=====" + currCodeIns);
System.out.println("exchrateFrt=====" + exchrateFrt);
System.out.println("exchrateIns=====" + exchrateIns);
System.out.println("frtAmt=====" + frtAmt);
System.out.println("insAmt=====" + insAmt);
System.out.println("rateClg=====" + rateClg);
System.out.println("packCode=====" + packCode);
System.out.println("custItemRef=====" + custItemRef);
System.out.println("convRtuomStduom=====" + convRtuomStduom);
System.out.println("rateStduom=====" + rateStduom);
System.out.println("unitRateSord=====" + unitRateSord);
if(orderDate!=null)
{
orderDtStr = sdf.format(orderDate);
ordDtTS = Timestamp.valueOf(genericUtility.getValidDateString(orderDtStr, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("Date to be set as ordDtTS@@@@@@@==="+ordDtTS);
}
sql = "select stk_opt from siteitem where site_code = ? and item_code = ? ";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, siteCode);
pstmt1.setString(2, itemCode);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
stkOpt = rs1.getString("stk_opt");
System.out.println("stkOpt=====" + stkOpt);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if (stkOpt == null || stkOpt.trim().length() == 0)
{
sql = "select stk_opt from item where item_code = ?";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, itemCode);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
stkOpt = rs1.getString("stk_opt");
System.out.println("stkOpt=====" + stkOpt);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if (stkOpt == null || stkOpt.trim().length() == 0)
{
stkOpt = "0";
}
}
System.out.println(" final stkOpt=====" + stkOpt);
// //SELECT TO CHECK WHETHER ITEM IS ALLOCATED OR NOT
sql = "select count(*) from sorditem where sale_order = ? "
+ "and line_no = ? and item_code__ref = ?"
+ "and line_type = 'I' "
+ "and quantity - (case when qty_desp is NULL then 0 else qty_desp end ) > 0 "
+ "and case when ? = '0' then 1 else (case when qty_alloc is NULL then 0 else qty_alloc end ) end > 0 ";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, saleOrder);
pstmt1.setString(2, lineNo);
pstmt1.setString(3, itemCode);
pstmt1.setString(4, stkOpt);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
count = rs1.getInt(1);
System.out.println("Count =======" + count);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if (count > 0)
{
tempSplitCode = custCode + "@" + custCodeDlv + "@" + itemSer
+ "@" + crTerm + "@" + dlvTerm + "@" + orderType + "@"
+ siteCode + "@" + transMode;
System.out.println("splitCodeWiseMap===" + splitCodeWiseMap);
System.out.println("tempSplitCode Combo===" + tempSplitCode);
if (splitCodeWiseMap.containsKey(tempSplitCode))
{
System.out.println("*****Combination Exist*****");
tempList = (ArrayList) splitCodeWiseMap.get(tempSplitCode);
System.out.println("Combination Exist TempList======"+ tempList);
}
else
{
System.out.println("*****Combination Not Exist*****");
tempList = new ArrayList();
System.out.println("Combination Not $$ Exist TempList======"+ tempList);
}
System.out.println("tempList======" + tempList);
tempMap = new HashMap();//to put header detail value from sorder
sql=" select cust_name from customer where cust_code = ?";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,custCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
custName =rs1.getString("cust_name");
System.out.println("custName ======="+custName);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sql="select cust_name from customer where cust_code = ?";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,custCodeDlv);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
custNameDlv =rs1.getString("cust_name");
System.out.println("custNameDlv ======="+custNameDlv);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sql="select gp_ser from sordertype where order_type = ?";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,orderType);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
gpSer =rs1.getString("gp_ser");
System.out.println("gpSer ======="+gpSer);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if(gpSer==null||gpSer.trim().length()==0)
{
//ls_gp_ser = left(trim(ls_ordertype),1)
gpSer=orderType.substring(1);
System.out.println("gpSer==="+gpSer);
}
sql="select descr from station where stan_code = ?";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,stanCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
stationDescr =rs1.getString("descr");
System.out.println("stationDescr ======="+stationDescr);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
//Detail Migrate for sorditem
System.out.println("Starting Detail Migration@@@@");
sql="select item_code from sorditem where sale_order = ? " +
"and line_no = ? and (status <> 'I' or status is null) order by line_no,item_code ";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,saleOrder);
pstmt1.setString(2,lineNo);
rs1=pstmt.executeQuery();
if(rs1.next())
{
itemCode =rs1.getString("item_code");
System.out.println("itemCode ======="+itemCode);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sql="select stk_opt from item where item_code = ?";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,itemCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
stkOpt =rs1.getString("stk_opt");
System.out.println("stkOpt ======="+stkOpt);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if("0".equals(stkOpt))
{
System.out.println("0.equals(stkOpt)");
sql=" select line_no, exp_lev, item_code__ord, quantity, item_code, quantity qty_alloc,lot_no,lot_sl," +
"loc_code,unit unit__std,1 conv__qty_stduom, unit,exp_date, site_code,mfg_date,site_code__mfg " +
"from sorditem " +
"where sale_order = ? " +
"and line_no =? " +
"and site_code = ? " +
"and (status <> 'I' or status is null) order by item_code, line_no ";
}
else
{
System.out.println("Else////");
/*sql=" select line_no, exp_lev, item_code__ord, quantity, item_code,qty_alloc, " +
"lot_no, lot_sl, loc_code, unit__std, conv__qty_stduom,unit," +
" exp_date, site_code, mfg_date, site_code__mfg " +
"from sordalloc " +
"where sale_order =? " +
"and line_no = ? " +
"and site_code = ? " +
"and (status <> 'I' or status is null) order by item_code, exp_lev,exp_date";*/
sql=" select line_no, exp_lev, item_code__ord, quantity, item_code,qty_alloc, " +
"lot_no, lot_sl, loc_code, unit__std, conv__qty_stduom,unit," +
" exp_date, site_code, mfg_date, site_code__mfg " +
"from sordalloc " +
"where sale_order =? " +
"and site_code = ? " +
"and (status <> 'I' or status is null) order by item_code, exp_lev,exp_date";
}
pstmt2=conn.prepareStatement(sql);
pstmt2.setString(1,saleOrder);
// pstmt2.setString(2,lineNo);
pstmt2.setString(2,siteCode);
rs2=pstmt2.executeQuery();
while(rs2.next())
{
whileCntDet++;
System.out.println("While of Detail count@@@@"+whileCntDet);
lineNoOrd =rs2.getString("line_no");
expLev =rs2.getString("exp_lev");
itemCodeOrd =rs2.getString("item_code__ord");
quantityStd =rs2.getDouble("quantity");
itemCode =rs2.getString("item_code");
qtyAllocStd =rs2.getDouble("qty_alloc");
lotNo =rs2.getString("lot_no");
lotSl =rs2.getString("lot_sl");
locCode =rs2.getString("loc_code");
unitStd =rs2.getString("unit__std");
convQtyStduom =rs2.getDouble("conv__qty_stduom");
unit =rs2.getString("unit");
expDate =rs2.getDate("exp_date");
siteCde =rs2.getString("site_code");
mfgDate =rs2.getDate("mfg_date");
siteCodeMfg =rs2.getString("site_code__mfg");
System.out.println("lineNoOrd ======="+lineNoOrd);
System.out.println("expLev ======="+expLev);
System.out.println("itemCodeOrd ======="+itemCodeOrd);
System.out.println("quantity ======="+quantityStd);
System.out.println("itemCode ======="+itemCode);
System.out.println("qtyAllocStd ======="+qtyAllocStd);
System.out.println("lotNo ======="+lotNo);
System.out.println("lotSl ======="+lotSl);
System.out.println("locCode ======="+locCode);
System.out.println("unitStd ======="+unitStd);
System.out.println("convQtyStduom ======="+convQtyStduom);
System.out.println("unit ======="+unit);
System.out.println("expDate ======="+expDate);
System.out.println("siteCde ======="+siteCde);
System.out.println("mfgDate ======="+mfgDate);
System.out.println("siteCodeMfg ======="+siteCodeMfg);
sql="select sum(quantity__stduom) as qty_desp from despatch, despatchdet " +
"where despatch.desp_id = despatchdet.desp_id " +
" and despatchdet.sord_no = ? " +
" and line_no__sord = ? " +
" and exp_lev = ? " +
" and item_code = ? and despatch.confirmed = 'N' ";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,saleOrder);
pstmt1.setString(2,lineNoOrd);
pstmt1.setString(3,expLev);
pstmt1.setString(4,itemCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
qtyDesp =rs1.getDouble("qty_desp");
System.out.println("qtyDesp ======="+qtyDesp);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if(qtyDesp==0)
{
qtyDesp=0;
}
sql="select sum(quantity - qty_desp) as pending_qty from sorditem " +
"where sale_order = ? " +
"and line_no = ? " +
"and exp_lev = ? ";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,saleOrder);
pstmt1.setString(2,lineNoOrd);
pstmt1.setString(3,expLev);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
pendingQty =rs1.getDouble("pending_qty");
System.out.println("pendingQty ======="+pendingQty);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if(pendingQty==0)
{
pendingQty=0;
}
if(pendingQty < (qtyAllocStd+qtyDesp))
{
qtyAllocStd=qtyAllocStd-qtyDesp;
System.out.println("qtyDesp Value=="+qtyDesp);
}
if(qtyAllocStd==0)
{
System.out.println(">>The selected transaction is confirmed");
errString = itmDBAccessEJB.getErrorString("","VTDESP6","","",conn);
}
if(unitStd!=unit)
{
mZero=0;
allocQty=distCommon.convQtyFactor(unitStd, unit, itemCode, qtyAllocStd, conn);
if(allocQty==-999999999)
{
// errcode = "Unable to convert quantity";
System.out.println("Unable to convert quantity");
errString = itmDBAccessEJB.getErrorString("","VTQTY01","","",conn);
}
//doubt
qtyOrduom=distCommon.convQtyFactor(unitStd, unit, itemCode, quantityStd ,conn);
if(qtyOrduom==-999999999)
{
//errcode = "Unable to convert quantity";
System.out.println("Unable to convert quantity");
errString = itmDBAccessEJB.getErrorString("","VTQTY01","","",conn);
}
}
else
{
allocQty=qtyAllocStd;
qtyOrduom=quantityStd;
}
sql="select descr from item where item_code = ?";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, itemCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
descr =rs1.getString("descr");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
status="I";
tempMapSord=new HashMap();// contain values for sorditem
tempMapSord.put("line_no__sord", lineNoOrd);
tempMapSord.put("exp_lev",expLev);
tempMapSord.put("item_code__ord", itemCodeOrd);
tempMapSord.put("quantity__ord", qtyOrduom);
tempMapSord.put("item_code", itemCode);
// tempMap.put("item_descr", dlvCity);
tempMapSord.put("quantity", allocQty);
tempMapSord.put("lot_no", lotNo);
tempMapSord.put("lot_sl", lotSl);
tempMapSord.put("loc_code", locCode);
tempMapSord.put("unit__std", unitStd);
tempMapSord.put("conv__qty_stduom", convQtyStduom);
tempMapSord.put("unit", unit);
tempMapSord.put("quantity__stduom", allocQty);
tempMapSord.put("quantity_real", allocQty);
if(expDate!=null)
{
tempMapSord.put("exp_date", expDate);
}
if(mfgDate!=null)
{
tempMapSord.put("mfg_date", mfgDate);
}
tempMapSord.put("site_code", siteCode);
tempMapSord.put("site_code__mfg", siteCde);
tempMapSord.put("status", status);
tempMapSord.put("tax_chap", taxChap);
tempMapSord.put("tax_class", taxClass);
tempMapSord.put("tax_env", taxEnv);
confDiffAmt=0;
tempMapSord.put("conf_diff_amt", confDiffAmt);
System.out.println("@@@@@@@@@@@ custItemRef["+custItemRef+"]");
if(custItemRef!=null && custItemRef.trim().length()>0)
{
tempMapSord.put("cust_item__ref", custItemRef);
}
else
{
sql=" select ITEM_CODE__REF from customeritem where item_code = ? and cust_code =? ";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1, itemCode);
pstmt1.setString(2, custCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
itemCodeRef =rs1.getString("ITEM_CODE__REF");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
System.out.println("@@@@@@@@@@ itemCodeRef==========="+itemCodeRef);
tempMapSord.put("cust_item__ref",checkNull(itemCodeRef));
}
sql=" select (case when rate is null then 0 else rate end ) as costRate ,retest_date as retest_date " +
"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, siteCde);
pstmt1.setString(3, locCode);
pstmt1.setString(4, lotNo);
pstmt1.setString(5, lotSl);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
costRate =rs1.getDouble("costRate");
retestDate =rs1.getDate("retest_date");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
System.out.println("costRate====="+costRate);
System.out.println("retestDate====="+retestDate);
tempMapSord.put("cost_rate", costRate);
if(retestDate!=null)
{
restdate=sdf.format(retestDate);
}
System.out.println("restdate======"+restdate);
if(restdate!=null && restdate.trim().length()>0 &&restdate.equals("01/01/1900"))
{
restdate= null;
}
else
{
tempMapSord.put("retest_date", retestDate);
}
noArt=distCommon.getNoArt(siteCde, custCode, itemCode, packCode, allocQty, 'B', shipperQty, intQty, conn);
System.out.println("noArt========"+noArt);
tempMapSord.put("no_art", noArt);
sql=" select nature from sorditem where sale_order = ? and line_no = ? and exp_lev = ?";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, saleOrder);
pstmt1.setString(2, lineNoOrd);
pstmt1.setString(3, expLev);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
nature =rs1.getString("nature");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
System.out.println("Nature==="+nature);
if(nature==null ||nature.trim().length()==0)
{
nature="C";
}
if(rate==0 && "C".equalsIgnoreCase(nature))
{
plDateStr = sdf.format(plDate);
System.out.println("plDateStr======"+plDateStr);
plDateTs = Timestamp.valueOf(genericUtility.getValidDateString(plDateStr, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("plDateTs time stamp@@@@@@@==="+plDateTs);
///
sql="select quantity__stduom from sorddet where sale_order = ? and line_no = ?";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, saleOrder);
pstmt1.setString(2, lineNoOrd);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
sordQty =rs1.getDouble("quantity__stduom");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
System.out.println("sordQty======"+sordQty);
if(priceListDisc==null||priceListDisc.trim().length()==0)
{
priceListType= distCommon.getPriceListType(priceList, conn);
System.out.println("priceListType====="+priceListType);
if("L".equals(priceListType))
{
sql=" select count(*) from pricelist where price_list =? and list_type = 'I'";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, priceList);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
cnt =rs1.getInt(1);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
System.out.println("cnt======"+cnt);
if(cnt==0)
{
mrate=distCommon.pickRate(priceList, despDate, itemCode, lotNo, "D", sordQty, conn);//changes required
}
else
{
String listTyp= siteCode + "@" + locCode + "@" + lotNo;
mrate=distCommon.pickRate(priceList, despDate, itemCode, listTyp, "I", sordQty, conn);//changes required
}
if(mrate<0)
{
// errcode = 'VTRATE1'
System.out.println(">Rate is not proper for "+ itemCode + "@" + lotNo);
errString = itmDBAccessEJB.getErrorString("","VTRATE1","","",conn);
}
}
}
else
{
// lc_plist_disc = i_nvo_gbf_func.gbf_get_discount(ls_plist_disc,ld_order_date,ls_custcode,ls_site_code,ls_itemcode,ls_unitstd,lc_disc_merge,ld_plist_date,lc_sord_qty)
plistDisc=getDiscount(priceListDisc, ordDtTS, custCode, siteCode, itemCode, unit, discMerge, plDateTs, sordQty, conn);
priceListDiscType= distCommon.getPriceListType(priceListDisc, conn);
System.out.println("priceListDiscType for priceListDisc ======"+priceListDiscType);
if("M".equals(priceListDiscType))
{
System.out.println("priceListDiscType for priceListDisc===M");
priceListType= distCommon.getPriceListType(priceList, conn);
System.out.println("priceListType====="+priceListType);
if(!"L".equalsIgnoreCase(priceListType))
{
System.out.println("priceListType not equal to l");
mrate=distCommon.pickRate(priceList, despDate, itemCode, lotNo, "D", sordQty, conn);//changes required
}
mrate =calcRate(mrate, plistDisc);
System.out.println("mrate from calcRate function====="+mrate);
}
else
{
sql="select count(*) from pricelist where price_list = ? and list_type = 'I'";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, priceList);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
cnt =rs1.getInt(1);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
System.out.println("cnt======"+cnt);
if(cnt==0)
{
System.out.println("cnt is zero======");
priceListType= distCommon.getPriceListType(priceList, conn);
System.out.println("priceListType====="+priceListType);
if(!"L".equalsIgnoreCase(priceListType))
{
mrate=distCommon.pickRate(priceList, despDate, itemCode, lotNo, "D", sordQty, conn);
}
}
else
{
mrate=distCommon.pickRate(priceList, despDate, itemCode, lotNo, "D", sordQty, conn);//changes required****
}
if(mrate<0)
{
System.out.println(">Rate is not proper for !!! "+ itemCode + "@" + lotNo);
errString = itmDBAccessEJB.getErrorString("","VTRATE1","","",conn);
}
}
}
}
if( (nature!=null && nature.trim().length()>0) && "F".equalsIgnoreCase(nature))
{
mrate=0;
}
listType= distCommon.getPriceListType(priceList, conn);
sql="select apply_price,price_var from bom where bom_code =?";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, itemCodeOrd);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
applyPrice =rs1.getString("apply_price");
priceVar =rs1.getString("price_var");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
System.out.println("applyPrice======"+applyPrice);
System.out.println("priceVar======"+priceVar);
sql="select item_ref from sorditem where sale_order =? and line_no = ? and exp_lev = ?";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, saleOrder);
pstmt1.setString(2, lineNo);
pstmt1.setString(3, expLev);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
itemRef =rs1.getString("item_ref");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
System.out.println("itemRef======"+itemRef);
if((listType!=null && listType.trim().length()>0) && (applyPrice!=null && applyPrice.trim().length()>0 ))
{
if("L".equalsIgnoreCase(listType) && "E".equalsIgnoreCase(applyPrice))
{
sql="select (case when eff_cost is null then 0 else eff_cost end ) as mrate from bomdet " +
"where bom_code = ? and item_ref = ?";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, itemCodeOrd);
pstmt1.setString(2, itemRef);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
mrate =rs1.getDouble("mrate");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
System.out.println("mrate from bomdet======"+mrate);
}
}
tempMapSord.put("conv__rtuom_stduom", convRtuomStduom);
rateStdum=convRtuomStduom*mrate;
System.out.println("rateStdum==="+rateStdum);
tempMapSord.put("rate__stduom", rateStdum);
tempMapSord.put("rate__std", rateStdum);
CalcSchemeAmt calcSchemeAmt= new CalcSchemeAmt();
calcSchemeAmt.updateAmt(saleOrder, conn);
sql="select item_type, unit__netwt, unit__rate from item where item_code = ? ";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1, itemCodeOrd);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
itemType =rs1.getString("item_type");
unitWt =rs1.getString("unit__netwt");
unitRate =rs1.getString("unit__rate");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
System.out.println("itemType======"+itemType);
System.out.println("unitWt======"+unitWt);
System.out.println("unitRate======"+unitRate);
if(itemType!=null && itemType.trim().length()>0)
{
sql="select rate_opt from item_type where item_type = ?";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, itemType);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
rateOpt=rs1.getString("rate_opt");
System.out.println("rateOpt===="+rateOpt);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if("1".equalsIgnoreCase(rateOpt))
{
if(unitWt.trim().equalsIgnoreCase(unitRate.trim()))
{
if((unitSord!=null && unitSord.trim().length()>0) &&(unitRateSord!=null && unitRateSord.trim().length()>0))
{
if(unitSord!=unitRateSord)
{
sql="select gross_wt_per_art, tare_wt_per_art from stock " +
"where item_code = ? " +
" and site_code = ? " +
" and loc_code = ? " +
" and lot_no= ? " +
" and lot_sl= ? ";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, itemCodeOrd);
pstmt1.setString(2, siteCode);
pstmt1.setString(3, locCode);
pstmt1.setString(4, lotNo);
pstmt1.setString(5, lotSl);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
grossWtPerart=rs1.getDouble("gross_wt_per_art");
tareWtPerArt=rs1.getDouble("tare_wt_per_art");
System.out.println("grossWtPerart===="+grossWtPerart);
System.out.println("tareWtPerArt===="+tareWtPerArt);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if(grossWtPerart==0)
{
grossWtPerart=0;
}
if(tareWtPerArt==0)
{
tareWtPerArt=0;
}
netWtPerArt=grossWtPerart-tareWtPerArt;
System.out.println("netWtPerArt====="+netWtPerArt);
tempMapSord.put("conv__rtuom_stduom", netWtPerArt);
tempMapSord.put("rate__stduom", netWtPerArt*mrate);
//CalcSchemeAmt calcSchemeAmt= new CalcSchemeAmt();
calcSchemeAmt.updateAmt(saleOrder, conn);
/* lc_offinv_rate = nvo_fin_inv.gbf_calc_discount_rate(as_sordno,ls_linenoord,ls_itemcode,(ld_net_wt_perart * mrate),'O')
if isnull(lc_offinv_rate) then lc_offinv_rate = 0
if lc_offinv_rate > 0 and lc_offinv_rate <> ((ld_net_wt_perart * mrate)) then
a_dwobject.setitem(ll_newrow, "rate__stduom", lc_offinv_rate)
end if
a_dwobject.setitem(ll_newrow, "rate__std", (ld_net_wt_perart * mrate))
mdesc_offinv_amt = nvo_fin_inv.gbf_calc_detdisc_amt(as_sordno,ls_linenoord,ls_itemcode,(ld_net_wt_perart * mrate),lc_qtyallocstd,'O')
mdesc_bb_amt = nvo_fin_inv.gbf_calc_detdisc_amt(as_sordno,ls_linenoord,ls_itemcode,(ld_net_wt_perart * mrate),lc_qtyallocstd,'B')
a_dwobject.SetItem(ll_newrow, "disc_schem_offinv_amt", mdesc_offinv_amt )
a_dwobject.setitem(ll_newrow, "disc_schem_billback_amt", mdesc_bb_amt ) */
}
}
}
}
}
if(rateClg==0)
{
priceListClgYN= distCommon.getDisparams("999999", "PRICE_LIST__CLG_YN", conn);
System.out.println("priceListClgYN====="+priceListClgYN);
if(priceListClgYN.equals("NULLFOUND"))
{
priceListClgYN="N";
}
if("N".equalsIgnoreCase(priceListClgYN))
{
rateClg=mrate;
}
else
{
priceListClgType= distCommon.getPriceListType(priceListClg, conn);
System.out.println("priceListClgType========="+priceListClgType);
if("L".equalsIgnoreCase(priceListClgType))
{
rateClg=distCommon.pickRate(priceListClg, despDate, itemCode, lotNo, "L", quantityStd, conn);
}
}
}
if(rateClg==0||rateClg==-1)
{
tempMapSord.put("rate__clg", mrate);
}
else
{
tempMapSord.put("rate__clg", rateClg);
}
sql=" select distinct list_type from pricelist where price_list = ?";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, priceList);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
listType=rs1.getString("list_type");
System.out.println("listType===="+listType);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if("L".equalsIgnoreCase(listType) && "P".equalsIgnoreCase(applyPrice))
{
sql="select rate from pricelist where price_list =?";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, priceList);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
itemRate=rs1.getDouble("rate");
System.out.println("itemRate===="+itemRate);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sql=" select sum(rate) as tot_rate from pricelist " +
" where price_list = ? " +
"and item_code in (select item_code from sorditem " +
"where sale_order = ? " +
"and line_no= ? " +
"and line_type = 'I')";
pstmt1= conn.prepareStatement(sql);
pstmt1.setString(1, priceList);
pstmt1.setString(2, saleOrder);
pstmt1.setString(3, lineNoOrd);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
totRate=rs1.getDouble("tot_rate");
System.out.println("totRate===="+totRate);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
diffRate= totRate*rateStduom;
System.out.println("diffRate===="+diffRate);
discAmt=diffRate*(itemRate/totRate);
System.out.println("discAmt===="+discAmt);
if(discAmt==0)
{
discAmt=0;
}
tempMapSord.put("disc_amt", discAmt);
System.out.println("DisAmt==="+ checkDoubleNullVal((Double) tempMapSord.get("disc_amt")));
}
else
{
discAmt=0;
tempMapSord.put("disc_amt", discAmt);
}
// sordList=new ArrayList();
sordList.add(tempMapSord);
System.out.println("Sord item list====="+sordList);
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
lrNo=null;
tempMap.put("desp_date", sysDate);
tempMap.put("sord_no", saleOrder);
if
(orderDate!=null)
{
tempMap.put("sord_date",orderDate);
}
tempMap.put("cust_code", custCode);
tempMap.put("cust_code__dlv", custCodeDlv);
tempMap.put("site_code", siteCode);
tempMap.put("dlv_add1", dlvAdd1);
tempMap.put("dlv_add2", dlvAdd2);
tempMap.put("dlv_add3", dlvAdd3);
tempMap.put("dlv_city", dlvCity);
tempMap.put("dlv_pin", dlvCity);
tempMap.put("count_code__dlv", countCodeDlv);
tempMap.put("state_code__dlv", stateCodeDlv);
tempMap.put("tran_code", tranCode);
sql="select sh_name from transporter where tran_code = ?";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,tranCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
shName =rs1.getString("sh_name");
System.out.println("shName ======="+shName);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
tempMap.put("stan_code", stanCode);
sql="select descr from station where stan_code = ?";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,tranCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
stationDescr =rs1.getString("descr");
System.out.println("stationDescr ======="+stationDescr);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
gpNo=null;
/* tempMap.put("lr_no", lrNo);
tempMap.put("gp_ser", gpSer);
tempMap.put("gp_no", gpNo);
tempMap.put("gp_date", sysDate);*/
tempMap.put("eff_date", sysDate);
/* if len(trim(ls_post_upto)) = 0 or isnull(ls_post_upto) then
ls_post_upto = gf_getenv_dis('999999','POST_SORDER_UPTO')
end if
ls_conf_onpost = gf_getenv_dis('999999','CONFIRM_DESPATCH_ONPOST')
if ls_conf_onpost = 'Y' or ls_post_upto = 'I' then
despatch_edit.setitem(ls_hdr_row, "confirmed", 'Y')
despatch_edit.setitem(ls_hdr_row, "conf_date", mdesp_date)
else
despatch_edit.setitem(ls_hdr_row, "confirmed", 'N')
end if
*/
tempMap.put("trans_mode", transMode);
tempMap.put("curr_code", currCode);
tempMap.put("remarks", remarks);
tempMap.put("exch_rate", exchrate);
tempMap.put("curr_code__frt", currCodeFrt);
tempMap.put("exch_rate__frt", exchrateFrt);
tempMap.put("curr_code__ins", currCodeIns);
tempMap.put("curr_code__ins", currCodeIns);
tempMap.put("exch_rate__ins", exchrateIns);
tempMap.put("freight", frtAmt);
tempMap.put("insurance", insAmt);
tempMap.put("detailList", sordList);
System.out.println("Getting value in Map======" + tempMap);
tempList.add(tempMap);
System.out.println("1303Getting tempList value after ading in list ======" + tempList);
if (splitCodeWiseMap.containsKey(tempSplitCode))
{
System.out.println("splitCodeWiseMap.containsKey(tempSplitCode)");
splitCodeWiseMap.put(tempSplitCode, tempList);
}
else
{
System.out.println("else*************");
splitCodeWiseMap.put(tempSplitCode, tempList);
}
}
// //SELECT TO CHECK WHETHER ITEM IS ALLOCATED OR NOT
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//iterating Map
Set setItem = splitCodeWiseMap.entrySet();
System.out.println("1327getting set item=====" + setItem);
tempList = null;
Iterator itrItem = setItem.iterator();
int testCnt = 0;
String tranIdDespatch="";
double sumNetAmt = 0.0D;
while (itrItem.hasNext())
{
testCnt++;
System.out.println("1335while loop@@@@@@@ " + testCnt);
Map.Entry itemMapEntry = (Map.Entry)itrItem.next();
splitCode = (String)itemMapEntry.getKey();
System.out.println("splitCode---" + splitCode);
System.out.println("Length---" + splitCode.split("@").length);
tempList = (ArrayList)splitCodeWiseMap.get(splitCode);
System.out.println("TempList Inside While=======" + tempList);
if (splitCode.split("@").length != 0)
{
String spiltArr[]=splitCode.split("@");
custCode = checkNull(spiltArr[0]);
custCodeDlv = checkNull(spiltArr[1]);
itemSer = checkNull(spiltArr[2]);
crTerm = checkNull(spiltArr[3]);
dlvTerm = checkNull(spiltArr[4]);
orderType = checkNull(spiltArr[5]);
siteCode = checkNull(spiltArr[6]);
transMode = checkNull(spiltArr[7]);
}
sql="select dlv_add1,dlv_add2,dlv_add3,dlv_city,dlv_pin,count_code__dlv,state_code__dlv from sorder where cust_code__dlv= ?";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, custCodeDlv);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
dlvAdd1 = rs1.getString("dlv_add1");
dlvAdd2 = rs1.getString("dlv_add2");
dlvAdd3 = rs1.getString("dlv_add3");
dlvCity = rs1.getString("dlv_city");
dlvPin = rs1.getString("dlv_pin");
countCodeDlv = rs1.getString("count_code__dlv");
stateCodeDlv = rs1.getString("state_code__dlv");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
System.out.println("dlvAdd1=====" + dlvAdd1);
System.out.println("dlvAdd1=====" + dlvAdd2);
System.out.println("dlvAdd3=====" + dlvAdd3);
System.out.println("dlvCity=====" + dlvCity);
System.out.println("countCodeDlv=====" + countCodeDlv);
System.out.println("stateCodeDlv=====" + stateCodeDlv);
System.out.println("Header Creation for Despatch@@@@@@@@");
sql = "SELECT KEY_STRING, TRAN_ID_COL, REF_SER FROM TRANSETUP WHERE lower(TRAN_WINDOW) = 'w_despatch'";
System.out.println("keyStringQuery--------->>"+sql);
pstmt1 = conn.prepareStatement(sql);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
keyString = rs1.getString(1);
keyCol = rs1.getString(2);
tranSer1 = rs1.getString(3);
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1 =null;
System.out.println("keyString :"+ keyString);
System.out.println("keyCol :"+ keyCol);
System.out.println("tranSer1 :"+ tranSer1);
String xmlValues = "";
String tranDateStr = getCurrdateAppFormat();
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues + "<tran_date>" + tranDateStr + "</tran_date>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
tranId = tg.generateTranSeqID(tranSer1, keyCol, keyString, conn);
System.out.println("@@@@ generated tranId :["+tranId+"]");
confirmed="N";
sql="Insert into despatch(desp_id,desp_date,sord_no,sord_date,cust_code,cust_code__dlv," +
"site_code,dlv_add1,dlv_add2,dlv_add3,dlv_city,dlv_pin,count_code__dlv,state_code__dlv," +
"tran_code,stan_code,trans_mode,curr_code,exch_rate," +
"curr_code__frt,exch_rate__frt,curr_code__ins,exch_rate__ins,freight," +
"insurance,eff_date,confirmed,status)" +
"values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
//tranId = generateTranId("w_despatch",userId,conn);
pstmt.setString(1,tranId);
pstmt.setTimestamp(2,despDateTs);
pstmt.setString(3,tempMap.get("sord_no").toString());
pstmt.setDate(4,(Date)tempMap.get("sord_date"));//
pstmt.setString(5,custCode);
pstmt.setString(6,custCodeDlv);
//pstmt.setString(6,tempMap.get("cust_code__dlv").toString());
pstmt.setString(7,siteCode);
pstmt.setString(8,dlvAdd1);
pstmt.setString(9,dlvAdd2);
pstmt.setString(10,dlvAdd3);
pstmt.setString(11,dlvCity);
pstmt.setString(12,dlvPin);
pstmt.setString(13,countCodeDlv);
pstmt.setString(14,stateCodeDlv);
//pstmt.setString(11,tempMap.get("count_code__dlv").toString());
//pstmt.setString(12,tempMap.get("state_code__dlv").toString());
pstmt.setString(15,tempMap.get("tran_code").toString());
pstmt.setString(16,tempMap.get("stan_code").toString());
pstmt.setString(17,transMode);
pstmt.setString(18,currCode);
//pstmt.setString(31,tempMap.get("remarks").toString());//
pstmt.setDouble(19,exchrate);
pstmt.setString(20,currCodeFrt);
pstmt.setDouble(21,exchrateFrt);
pstmt.setString(22,currCodeIns);
pstmt.setDouble(23,exchrateIns);
pstmt.setString(24,tempMap.get("freight").toString());
pstmt.setString(25,tempMap.get("insurance").toString());
// pstmt.setDate(26,(Date)tempMap.get("eff_date"));//
pstmt.setTimestamp(26,effDate );
pstmt.setString(27,confirmed);
pstmt.setString(28,"I");
insertCntHdr = pstmt.executeUpdate();
System.out.println("Despatch Header Count===="+insertCntHdr);
lineNum = 0;
for (int itemCtr = 0; itemCtr < tempList.size(); itemCtr++)
{
//templist contain records as per spiltcode of specific size
newTempMap=(HashMap) tempList.get(itemCtr);
System.out.println("newTempMap Value===="+newTempMap);
//newTempMap contain list of detailMap with key "detailList"
sordDetList=(ArrayList) newTempMap.get("detailList");
System.out.println("sordDetList===="+sordDetList);
System.out.println("sordDetList size===="+sordDetList.size());
for (int sordCtr = 0; sordCtr < sordDetList.size(); sordCtr++)
{
lineNum++;
System.out.println("lineNum======"+lineNum);
String lineNumber=String.valueOf(lineNum);
System.out.println("lineNumber======"+lineNumber);
sordDetMap=new HashMap();
sordDetMap=(HashMap) sordDetList.get(sordCtr);
System.out.println("@@@@@@@@@@@sordDetMap values======[[["+sordDetMap+"]]]");
/*lc_qty_std = desp_det.getitemnumber(ls_ctr, "quantity__stduom")
lc_rate_std = desp_det.getitemnumber(ls_ctr, "rate__stduom")
lc_tot_amt = lc_tot_amt + (lc_rate_std * lc_qty_std)*/
System.out.println("quantity__stduom values======"+(Double)sordDetMap.get("quantity__stduom"));
System.out.println("quantity__stduom values======"+(Double)sordDetMap.get("rate__stduom"));
sumNetAmt = 0.0D;
System.out.println("Sum Amount 1 @@@===" + sumNetAmt);
sumNetAmt+=((Double)sordDetMap.get("quantity__stduom")*(Double)sordDetMap.get("rate__stduom"));
System.out.println("Sum Amount After 1 @@@===" + sumNetAmt);
sql="insert into despatchdet(DESP_ID,LINE_NO,SORD_NO,LINE_NO__SORD,EXP_LEV,ITEM_CODE__ORD,ITEM_CODE," +
"LOT_NO ,LOT_SL,QUANTITY__ORD,QUANTITY,LOC_CODE ,STATUS," +
"CONV__QTY_STDUOM,UNIT__STD,UNIT,QUANTITY__STDUOM,QUANTITY_REAL," +
"RATE__STDUOM,NO_ART ,SITE_CODE,MFG_DATE,EXP_DATE,SITE_CODE__MFG," +
"RATE__CLG,DISC_AMT,COST_RATE,CUST_ITEM__REF,RETEST_DATE,CONF_DIFF_AMT,CONV__RTUOM_STDUOM,RATE__STD) " +
"values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
pstmt.setString(2,lineNumber);//
//pstmt.setString(2,sordDetMap.get("line_no").toString());//
//pstmt.setString(3,sordDetMap.get("sord_no").toString());
pstmt.setString(3,checkNull(tempMap.get("sord_no").toString()));
pstmt.setString(4,checkNull(sordDetMap.get("line_no__sord").toString()));
pstmt.setString(5,checkNull(sordDetMap.get("exp_lev").toString()));//
pstmt.setString(6,checkNull(sordDetMap.get("item_code__ord").toString()));
pstmt.setString(7,checkNull(sordDetMap.get("item_code").toString()));
pstmt.setString(8,checkNull(sordDetMap.get("lot_no").toString()));
pstmt.setString(9,checkNull(sordDetMap.get("lot_sl").toString()));
pstmt.setDouble(10,(Double)sordDetMap.get("quantity__ord"));
pstmt.setDouble(11,(Double)sordDetMap.get("quantity"));
pstmt.setString(12,sordDetMap.get("loc_code").toString());
pstmt.setString(13,sordDetMap.get("status").toString());
pstmt.setDouble(14,(Double)sordDetMap.get("conv__qty_stduom"));
pstmt.setString(15,sordDetMap.get("unit__std").toString());
pstmt.setString(16,sordDetMap.get("unit").toString());
pstmt.setDouble(17,(Double)sordDetMap.get("quantity__stduom"));
pstmt.setDouble(18,(Double)sordDetMap.get("quantity_real"));
pstmt.setDouble(19,(Double)sordDetMap.get("rate__stduom"));
pstmt.setDouble(20,(Double)sordDetMap.get("no_art"));//
pstmt.setString(21,sordDetMap.get("site_code").toString());
pstmt.setDate(22,(Date) sordDetMap.get("mfg_date"));
pstmt.setDate(23,(Date) sordDetMap.get("exp_date"));//
pstmt.setString(24,sordDetMap.get("site_code__mfg").toString());
pstmt.setDouble(25,(Double)sordDetMap.get("rate__clg"));
//pstmt.setDouble(26, checkDoubleNullVal((Double) sordDetMap.get("disc_amt")));
pstmt.setDouble(26,((Double)sordDetMap.get("disc_amt")));
pstmt.setDouble(27,(Double)sordDetMap.get("cost_rate"));
pstmt.setString(28,sordDetMap.get("cust_item__ref").toString());
pstmt.setDate(29,(Date)sordDetMap.get("retest_date"));//
pstmt.setDouble(30,(Double)sordDetMap.get("conf_diff_amt"));
pstmt.setDouble(31,(Double)sordDetMap.get("conv__rtuom_stduom"));
pstmt.setDouble(32,(Double)sordDetMap.get("rate__std"));
insertCntDet = pstmt.executeUpdate();
System.out.println("Despatch Detail Count===="+insertCntDet);
}
}
}
System.out.println("insertCntHdr==="+insertCntHdr+"@=====@"+"insertCntDet=="+insertCntDet);
if(insertCntHdr>0 && insertCntDet>0)
{
//VTCONSUCF
System.out.println(">>The selected transaction is getting saved!!!!");
errString= "<?xml version='1.0'?><Root><message>VTCONPARM</message><TranID>"+tranId+"</TranID></errors></Root>";
System.out.println("@@@@@2: retString:" + errString);
if (errString.indexOf("VTCONPARM") > -1)
{
System.out.println("retString.indexOf(Success) > -1)");
String[] arrayForTranId = errString.split("<TranID>");
System.out.println(">>>In Post order Despatch generation arrayForTranId:[" + arrayForTranId.toString() + "]arrayForTranId.length[" + arrayForTranId.length + "]");
if (arrayForTranId.length > 1)
{
int endIndex = arrayForTranId[1].indexOf("</TranID>");
tranIdDespatch = arrayForTranId[1].substring(0, endIndex);
}
System.out.println("tranIdDespatch for Despatch Creation===="+tranIdDespatch);
sql = "UPDATE DESPATCH SET TOT_VALUE= ? WHERE DESP_ID= ?";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, sumNetAmt);
pstmt.setString(2, tranIdDespatch);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
//conn.commit();
}
else
{
// conn.rollback();
System.out.println("RollBack!!!!!!!!!!");
}
}
else
{
System.out.println("Record not found!!!!!!!");
}
// }
}
catch (Exception e)
{
System.out.println("Inside Catch@@@@@@@");
conn.rollback();
errString = itmDBAccessEJB.getErrorString("","VTDESPF","","",conn);
System.out.println("Exception ::"+e.getMessage());
//errString = GenericUtility.getInstance().createErrorString(e);
e.printStackTrace();
throw new ITMException(e);
// throw new ITMException(e);
}
finally
{
try
{
System.out.println(">>>>>In finally errString:"+errString);
/*if(errString != null && errString.trim().length() > 0)
{
if(errString.indexOf("VTCONSUCF") > -1)
{
conn.commit();
System.out.println("Commit Completed");
}
else
{
conn.rollback();
}
}*/
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
//conn.close();
}
catch(Exception e)
{
System.out.println("Exception : "+e);
e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
private static String generateTranId(String windowName, String userId, Connection conn) throws Exception
{
Statement stmt = null;
ResultSet rs = null;
String sql = "";
String tranId = "";
String newKeystring = "";
CommonConstants commonConstants = new CommonConstants();
try
{
sql = "SELECT KEY_STRING, TRAN_ID_COL, nvl(REF_SER,'PEXRE') FROM TRANSETUP WHERE TRAN_WINDOW = '"+windowName+"'";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
System.out.println("keyString :"+rs.toString());
String keyString = "";
String keyCol = "";
String tranSer ="";
if (rs.next())
{
keyString = rs.getString(1);
keyCol = rs.getString(2);
tranSer = rs.getString(3);
}
String xmlValues = "";
System.out.println("keyCol"+keyCol);
System.out.println("keyString"+keyString);
System.out.println("tranSer"+tranSer);
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>" ;
xmlValues = xmlValues + "</Detail1></Root>";
System.out.println("xmlValues for tranid :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, userId, commonConstants.DB_NAME);
tranId = tg.generateTranSeqID(tranSer, keyCol, keyString, conn);
}
catch (SQLException ex)
{
System.out.println("Exception ::" +sql+ ex.getMessage() + ":");
ex.printStackTrace();
throw new Exception(ex);
}
catch (Exception e)
{
System.out.println("Exception ::" + e.getMessage() + ":");
e.printStackTrace();
throw new Exception(e);
}
System.out.println("tranId :- ["+tranId+"]");
return tranId;
}
private String checkNull(String str)
{
if (str == null)
{
return "";
}
return str;
}
private double checkDoubleNull(String str)
{
if(str == null || str.trim().length() == 0)
{
return 0.0;
}
else
{
return Double.parseDouble(str) ;
}
}
private double checkDoubleNullVal(double str)
{
if(str==0)
{
return 0.0;
}
return str;
}
public double calcRate(double rate,double plistDisc)
{
try
{
rate = rate - (plistDisc * rate)/100;
if( rate < 0 )
{
rate=0;
}
}
catch(Exception e)
{
e.printStackTrace();
}
return rate;
}
public double getDiscount(String plistDisc,Timestamp orderDate,String custCode,String siteCode,String itemCode,String unit,double discMerge,Timestamp plDate,double sordItmQty,Connection conn) throws SQLException, ITMException
{
String ls_listtype = "", itemSer = "",sql="";
double lc_rate=0.0, lc_disc=0.0,rate=0.0,discPerc=0.0;
PreparedStatement pstmt=null;
ResultSet rs = null;
try
{
if(plistDisc.trim().length() > 0)
{
sql = " select case when rate is null then 0 else rate end as rate" +
" from pricelist where price_list = ? and " +
" item_code = ? and unit = ? " +
" and list_type IN ('M','N') " +
" and case when min_qty is null then 0 else min_qty end <= ? " +
" and ((case when max_qty is null then 0 else max_qty end >= ? ) " +
" OR (case when max_qty is null then 0 else max_qty end =0)) and eff_from <= ? " +
" and valid_upto >= ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,plistDisc);
pstmt.setString(2,itemCode);
pstmt.setString(3,unit);
pstmt.setDouble(4,sordItmQty);
pstmt.setDouble(5,sordItmQty);
pstmt.setTimestamp(6,plDate);
pstmt.setTimestamp(7,plDate);
rs = pstmt.executeQuery();
if(rs.next())
{
rate = rs.getDouble("rate");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
if("M".equalsIgnoreCase(ls_listtype) || plistDisc == null || plistDisc.trim().length() == 0
|| rate == 0)
{
sql = "select item_ser from item where item_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
if(rs.next())
{
itemSer = rs.getString("item_ser");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "select disc_perc from customer_series where cust_code = ? and item_ser = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,custCode);
pstmt.setString(2,itemSer);
rs = pstmt.executeQuery();
if(rs.next())
{
discPerc = rs.getDouble("disc_perc");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(discPerc == 0)
{
sql = "select disc_perc from site_customer where site_code = ? and cust_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
pstmt.setString(2,custCode);
rs = pstmt.executeQuery();
if(rs.next())
{
discPerc = rs.getDouble("disc_perc");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
if(discPerc == 0)
{
sql = "select disc_perc from customer where cust_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,custCode);
rs = pstmt.executeQuery();
if(rs.next())
{
discPerc = rs.getDouble("disc_perc");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
if("M".equalsIgnoreCase(ls_listtype))
{
discMerge = discPerc;
if(rate != 0)
{
discPerc = rate;
}
}
else
{
discMerge = 0;
}
}
if(itemCode == null)
{
discPerc = 0;
}
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return discPerc;
}
// lc_offinv_rate = nvo_fin_inv.gbf_calc_discount_rate(as_sordno,ls_linenoord,ls_itemcode,lc_rtconv * mrate,'O')
public double getDiscountRate(String saleOrder,String lineNoOrd,String itemCode,double rate,String value,Connection conn) throws SQLException, ITMException
{
String schemeCode = "", promoTerm = "",priceVar="",sql="";
double mrate=0.0, lc_disc=0.0,discPerc=0.0;
PreparedStatement pstmt=null,pstmt1=null;
ResultSet rs = null,rs1=null;
try
{
sql="select scheme_code from sorderdet_scheme where tran_id = ? and line_no_form = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,saleOrder);
pstmt.setString(2,lineNoOrd);
rs = pstmt.executeQuery();
while(rs.next())
{
schemeCode = rs.getString("scheme_code");
System.out.println(" schemeCode========="+ schemeCode);
if( schemeCode!=null && schemeCode.trim().length()>0)
{
sql="select promo_term,price_var from bom where bom_code = ?";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,saleOrder);
pstmt1.setString(2,lineNoOrd);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
promoTerm= rs1.getString("promo_term");
priceVar= rs1.getString("price_var");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if("D".equalsIgnoreCase("priceVar"))
{
mrate= -1;
}
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return discPerc;
}
private String getCurrdateAppFormat() throws ITMException
{
String s = "";
GenericUtility genericUtility = GenericUtility.getInstance();
try
{
java.util.Date date = null;
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
System.out.println(genericUtility.getDBDateFormat());
SimpleDateFormat simpledateformat = new SimpleDateFormat(genericUtility.getDBDateFormat());
date = simpledateformat.parse(timestamp.toString());
timestamp = Timestamp.valueOf(simpledateformat.format(date).toString() + " 00:00:00.0");
s = (new SimpleDateFormat(genericUtility.getApplDateFormat())).format(timestamp).toString();
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return s;
}
}
package ibase.webitm.ejb.dis;
import ibase.system.config.AppConnectParm;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.io.File;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import javax.naming.InitialContext;
/**
* @author VALLABH KADAM
* To generate Invoice from dispatch
*/
public class PostOrdInvoiceGen extends ActionHandlerEJB
{
DistCommon distCommon= new DistCommon();
FinCommon finCommon=new FinCommon();
String postUpto="";
E12GenericUtility genericUtility=new E12GenericUtility();
FileOutputStream fos1 = null;
Calendar calendar = Calendar.getInstance();
java.util.Date startDate = new java.util.Date(System.currentTimeMillis());
String startDateStr = null;
/**
*
* @param conn
* @return String
* @throws ITMException
* @throws Exception
*/
public String invoiceProcess(String salesOrdFrm,String salesOrdTo,String custCodeFrm,String custCodeTo,
String descpIdFrm,String orderType,Timestamp frmDateStr,String clubOrder,String clubPendOrder,
String adjDrCr,String adjCustAdv,String advAdjMode,String adjNewPrdInv,Connection conn) throws ITMException, Exception
{
String retString="",frmDate="",frmCustCode="",currCode="",lrNo="",lrDate="",remarks="",sysDate="",toDateStr="";
String toCustCode="",stanCodeInit="",descpIdTo="";
String runOpt="*";
boolean lbClubOrders=false,lbClub=false,lbDrCr=false,lbAdv=false,lbCustomer=false,lbNewPrdInv=false,tempflag=false;
String sql="";
PreparedStatement pstmt=null;
ResultSet rs=null;
double exchangeRate=0.0;
HashMap<String, String> ldsInvHdrMp=new HashMap<String, String>();
/**
* Select postUpto from table 'disparam'
* where var_name='POST_SORDER_UPTO'
* */
postUpto=checknull(distCommon.getDisparams("999999", "POST_SORDER_UPTO", conn));
/**
* Intializing Log
* */
System.out.println("Intializing Log $$$$$..."+ intializingLog("Post_Ord_InvGen_log"));
try
{
java.util.Date today = new java.util.Date();
Calendar cal = Calendar.getInstance();
cal.setTime(today);
today = cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
sysDate = sdf.format(today);
System.out.println("System date :- [" + sysDate + "]");
SimpleDateFormat sdf1 = new SimpleDateFormat(genericUtility.getApplDateFormat());
startDate = new java.util.Date(System.currentTimeMillis());
calendar.setTime(new java.sql.Timestamp(System.currentTimeMillis()));
startDateStr = sdf1.format(startDate)+" "+calendar.get(Calendar.HOUR)+":"+calendar.get(Calendar.MINUTE)+":"+calendar.get(Calendar.SECOND);
fos1.write(("Invoice Genertion Started At " + startDateStr +"\r\n").getBytes());
System.out.println("postUpto::::::::::::::::::::::"+postUpto);
/**
* Check postUpto is not 'D'
* */
/*added by vishakha*/
SimpleDateFormat dateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
String fromDate = dateFormat.format(frmDateStr);
System.out.println("@@@@@@@@@@@98::::::::Form Date["+fromDate+"]frmDateStr["+frmDateStr+"]postUpto["+postUpto+"]");
if(postUpto.equalsIgnoreCase("D"))
{
System.out.println("@@@@@@@@@.........conn.commit()................");
conn.commit();
}
else
{
descpIdTo=descpIdFrm;
// frmDateStr="";//ld_from_date
if(orderType==null || orderType.trim().length()==0)
{
orderType="%";
}
else
{
System.out.println("Insidingggg else part of order type:::::::::::"+orderType);
/**
* select desp_date,cust_code, curr_code,
* lr_no, lr_date, remarks from table 'despatch'
* */
sql="select desp_date, cust_code, curr_code, lr_no, lr_date, remarks,exch_rate from despatch where desp_id=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, descpIdFrm);
rs=pstmt.executeQuery();
if(rs.next())
{
frmDate=checknull(rs.getString("desp_date"));
frmCustCode=checknull(rs.getString("cust_code"));
currCode=checknull(rs.getString("curr_code"));
lrNo=checknull(rs.getString("lr_no"));
lrDate=checknull(rs.getString("lr_date"));
remarks=checknull(rs.getString("remarks"));
remarks=checknull(rs.getString("remarks"));
exchangeRate=rs.getDouble("exch_rate");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
toDateStr=frmDate;
toCustCode=frmCustCode;
/**
* Check lrDate is not null
* */
if(lrDate!=null && lrDate.trim().length()>0)
{
exchangeRate=0.0;
/**
* select exch_rate__sell
* from table 'daily_exch_rate_sell_buy'
* for lrDate in between from_date and to_date
* and curr_code,curr_code__to='RS'
* */
sql="select exch_rate__sell from daily_exch_rate_sell_buy where ? between from_date and to_date"
+ " and curr_code = ? and curr_code__to = 'RS'";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lrDate);
pstmt.setString(2, currCode);
rs=pstmt.executeQuery();
if(rs.next())
{
exchangeRate=rs.getDouble("exch_rate__sell");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
}
System.out.println("@@@@@@lrDate["+lrDate+"]fromDate["+fromDate+"]");
ldsInvHdrMp.put("so_type", orderType);
ldsInvHdrMp.put("desp_id__fr", descpIdFrm);
ldsInvHdrMp.put("desp_id__to", descpIdTo);
ldsInvHdrMp.put("desp_date__fr", ""+fromDate);
ldsInvHdrMp.put("desp_date__to", toDateStr);
ldsInvHdrMp.put("cust_code__fr", frmCustCode);
ldsInvHdrMp.put("cust_code__to", toCustCode);
ldsInvHdrMp.put("invoice__date", ""+fromDate);
ldsInvHdrMp.put("lr_date", lrDate);
ldsInvHdrMp.put("lr_no", lrNo);
ldsInvHdrMp.put("remarks", remarks);
ldsInvHdrMp.put("curr_code", currCode);
ldsInvHdrMp.put("exch_rate", String.valueOf(exchangeRate));
sql="select stan_code__init from sorder where sale_order =?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, salesOrdFrm);
rs=pstmt.executeQuery();
if(rs.next())
{
stanCodeInit=checknull(rs.getString("stan_code__init"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
ldsInvHdrMp.put("stan_code__init", stanCodeInit);
if(clubOrder.equalsIgnoreCase("Y"))
{
lbClubOrders=true;
}
else
{
lbClubOrders=false;
}
if(clubPendOrder.equalsIgnoreCase("Y"))
{
lbClub=true;
}
else
{
lbClub=false;
}
if(adjDrCr.equalsIgnoreCase("Y"))
{
lbDrCr=true;
}
else
{
lbDrCr=false;
}
if(adjCustAdv.equalsIgnoreCase("Y"))
{
lbAdv=true;
}
else
{
lbAdv=false;
}
if(advAdjMode.equalsIgnoreCase("Y"))
{
lbCustomer=true;
}
else
{
lbCustomer=false;
}
if(adjNewPrdInv.equalsIgnoreCase("Y"))
{
lbNewPrdInv=true;
}
else
{
lbNewPrdInv=false;
}
tempflag=true;
/**
* Create Invoice header
* */
System.out.println("@@@@@@@@@@260:::::ldsInvHdrMp["+ldsInvHdrMp+"]");
retString=createInvoice(ldsInvHdrMp,lbClub,lbDrCr,lbAdv,tempflag,runOpt,lbCustomer,lbNewPrdInv,conn); // Missing 'lds_credit_check'
fos1.write(("\n \n Final Return String :- [" + retString +"]\r\n").getBytes());
}
}
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if(fos1!=null)
{
fos1.close();
fos1=null;
}
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
}
return retString;
}
/**
*
* @param ldsInvHdrMp
* @param lbClub
* @param lbDrCr
* @param lbAdv
* @param tempflag
* @param runOpt
* @param lbCustomer
* @param lbNewPrdInv
* @param conn
* @return String
* @throws ITMException
*/
private String createInvoice(HashMap<String, String> ldsInvHdrMp, boolean lbClub, boolean lbDrCr, boolean lbAdv, boolean tempflag,
String runOpt, boolean lbCustomer, boolean lbNewPrdInv, Connection conn) throws ITMException
{
// TODO Auto-generated method stub
StringBuffer xmlBuff=new StringBuffer();
// HashMap<String, HashMap<String, String>> mainInvDespMap=new HashMap<String, HashMap<String, String>>();
// HashMap<String, HashMap<String, String>> mainInvDespDetMap=new HashMap<String, HashMap<String, String>>();
HashMap<String, HashMap> mainInvDespDetMap=new HashMap<String, HashMap>();
HashMap<String, String> invDespMap=new HashMap<String, String>();
HashMap<String, Object> invDetBeanMap= new HashMap<String, Object>();
// HashMap<String, String> invDespDetMap=null;
HashMap<String, String> invTraceDetMap=null;
HashMap<String, String> acctSchemehdrMap=null;
HashMap<String, String> sorderSalMap=null;
HashMap<String, String> disItemserMap=null;
HashMap<String, String> arCustomerMap=null;
String xtraParams = null;
String despIdKey="",despId="",sysDate="",salesInvPstHdr="",despLineNo="",userId="",termId="",loginSite="",tranId="";
String xmlInvString="",retString="";
double lcCommAmtOc=0.0,tcommAmt=0.0,lcExchRate=0.0;
int lineNo=0,lineNoDet=0;
Timestamp dueDate=null;
/**
* Generate Bean object
* */
InvoiceDetBean invoiceDetBean= null;
try
{
UserInfoBean userInfo=new UserInfoBean();
userId=userInfo.getLoginCode();
termId=userInfo.getRemoteHost();
loginSite=userInfo.getSiteCode();
xtraParams = "loginCode="+userInfo.getLoginCode()+"~~termId="+userInfo.getRemoteHost()+"~~loginSiteCode="+userInfo.getSiteCode()+"~~loginEmpCode="+userInfo.getEmpCode();
java.util.Date today = new java.util.Date();
Calendar cal = Calendar.getInstance();
cal.setTime(today);
today = cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
sysDate = sdf.format(today);
System.out.println("System date :- [" + sysDate + "]");
// mainInvDespMap=getInvDespatch(ldsInvHdrMp,conn);
invDespMap=getInvDespatch(ldsInvHdrMp,conn);
System.out.println("@@@@@@@@@invDespMap.size():-["+invDespMap.size()+"]invDespMap["+invDespMap+"]");
salesInvPstHdr=checknull(finCommon.getFinparams("999999", "SALES_INV_POST_HDR", conn));
/**
* Iterate MainInvDeapMap
* to get inner values
* */
// for(String key:mainInvDespMap.keySet())
// {
// despIdKey=key;
// invDespMap=new HashMap<String, String>();
// invDespMap=mainInvDespMap.get(despIdKey);
// System.out.println("Inner InvDespMap size:-["+invDespMap.size()+"]");
despIdKey=invDespMap.get("desp_id");
fos1.write(("\n Invoice in process for Dispatch Id :- [" + despIdKey +"]\r\n").getBytes());
/**
* get dispat_det main map
* */
ArrayList <Object>dataList= new ArrayList<Object>();
dataList=getInvDespatchDet(invDespMap.get("sord_no"),invDespMap.get("status"),despIdKey,ldsInvHdrMp,
invDespMap.get("desp_site_code"),conn);
// System.out.println("MainInvDespDetMap size :- ["+mainInvDespDetMap.size()+"]");
System.out.println("@@@@@@@@dataList.size:::["+dataList.size()+"]::::::::dataList["+dataList+"]");
System.out.println("@@@@@@@@:::::::ldsInvHdrMp[["+ldsInvHdrMp+"]]::::::::invDespMap["+invDespMap+"]");
/**
* Generate XML string
* for invoice header
* */
xmlBuff.append("<?xml version='1.0' encoding='ISO-8859-1'?><DocumentRoot>");
xmlBuff.append("<description>Datawindow Root</description>");
xmlBuff.append("<group0>");
xmlBuff.append("<description>Group0 description</description>");
xmlBuff.append("<Header0>");
xmlBuff.append("<objName><![CDATA[").append("invoice_po").append("]]></objName>");
xmlBuff.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlBuff.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlBuff.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
xmlBuff.append("<focusedColumn><![CDATA[").append("").append("]]></focusedColumn>");
xmlBuff.append("<action><![CDATA[").append("SAVE").append("]]></action>");
xmlBuff.append("<elementName><![CDATA[").append("").append("]]></elementName>");
xmlBuff.append("<keyValue><![CDATA[").append("1").append("]]></keyValue>");
xmlBuff.append("<taxKeyValue><![CDATA[").append("").append("]]></taxKeyValue>");
xmlBuff.append("<saveLevel><![CDATA[").append("1").append("]]></saveLevel>");
xmlBuff.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlBuff.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlBuff.append("<description>Header0 members</description>");
xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objContext=\"1\" objName=\"invoice_po\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" status=\"N\" updateFlag=\"A\"/>");
xmlBuff.append("<invoice_id/>");
if(ldsInvHdrMp.get("lr_date")==null || ldsInvHdrMp.get("lr_date").trim().length()==0)
{
xmlBuff.append("<tran_date><![CDATA[" + ldsInvHdrMp.get("invoice__date") + "]]></tran_date>");
xmlBuff.append("<eff_date><![CDATA[" + ldsInvHdrMp.get("invoice__date") + "]]></eff_date>");
}
else
{
xmlBuff.append("<tran_date><![CDATA[" + ldsInvHdrMp.get("lr_date") + "]]></tran_date>");
xmlBuff.append("<eff_date><![CDATA[" + ldsInvHdrMp.get("lr_date") + "]]></eff_date>");
}
xmlBuff.append("<fin_entity><![CDATA[" +invDespMap.get("fin_entity")+ "]]></fin_entity>"); //fin_entity required 'site_fin_entity'
xmlBuff.append("<sales_grp><![CDATA[" +""+ "]]></sales_grp>"); //sales_grp required 'sales_grp'
acctSchemehdrMap= new HashMap<String, String>();
acctSchemehdrMap=getAcctSchemehdr(invDespMap.get("sord_no"),conn);
System.out.println("AcctSchemehdrMap size :- ["+acctSchemehdrMap.size()+"]");
xmlBuff.append("<acc_code__order><![CDATA[" +acctSchemehdrMap.get("ls_acct_schemehdr")+ "]]></acc_code__order>");
xmlBuff.append("<tran_mode><![CDATA[" +"S"+ "]]></tran_mode>");
xmlBuff.append("<desp_id><![CDATA[" +invDespMap.get("desp_id")+ "]]></desp_id>");
xmlBuff.append("<desp_date><![CDATA[" +invDespMap.get("desp_date")+ "]]></desp_date>");
xmlBuff.append("<sale_order><![CDATA[" +invDespMap.get("sord_no")+ "]]></sale_order>");
xmlBuff.append("<site_code><![CDATA[" +invDespMap.get("desp_site_code")+ "]]></site_code>");
xmlBuff.append("<cust_code><![CDATA[" +invDespMap.get("cust_code")+ "]]></cust_code>");
xmlBuff.append("<cust_code__bil><![CDATA[" +invDespMap.get("cust_code__bil")+ "]]></cust_code__bil>");
xmlBuff.append("<item_ser><![CDATA[" +invDespMap.get("item_ser")+ "]]></item_ser>");
xmlBuff.append("<gp_no><![CDATA[" +invDespMap.get("gp_no")+ "]]></gp_no>");
xmlBuff.append("<gp_date><![CDATA[" +invDespMap.get("gp_date")+ "]]></gp_date>");
xmlBuff.append("<lr_no><![CDATA[" +ldsInvHdrMp.get("lr_no")+ "]]></lr_no>");
xmlBuff.append("<lr_date><![CDATA[" +ldsInvHdrMp.get("lr_date")+ "]]></lr_date>");
// xmlBuff.append("<lr_date><![CDATA[" +ldsInvHdrMp.get("lr_date")+ "]]></lr_date>");
if(salesInvPstHdr.equalsIgnoreCase("NULLFOUND") || salesInvPstHdr.equalsIgnoreCase("H"))
{
sorderSalMap=new HashMap<String, String>();
sorderSalMap=getsorderSal(invDespMap.get("sord_no"),conn);
System.out.println("SorderSalMap size :- ["+sorderSalMap.size()+"]");
xmlBuff.append("<acct_code__sal><![CDATA[" +sorderSalMap.get("lsacct_sal")+ "]]></acct_code__sal>");
xmlBuff.append("<cctr_code__sal><![CDATA[" +sorderSalMap.get("lscctr_sal")+ "]]></cctr_code__sal>");
xmlBuff.append("<posttype><![CDATA[" +"H"+ "]]></posttype>");
}
else if(salesInvPstHdr.equalsIgnoreCase("D"))
{
xmlBuff.append("<acct_code__sal><![CDATA[]]></acct_code__sal>"); //set to null
xmlBuff.append("<cctr_code__sal><![CDATA[]]></cctr_code__sal>"); // set to null
xmlBuff.append("<posttype><![CDATA[" +"D"+ "]]></posttype>");
}
disItemserMap= new HashMap<String, String>();
disItemserMap=getdisItemser(invDespMap.get("item_ser"),conn);
xmlBuff.append("<acct_code__dis><![CDATA["+disItemserMap.get("lsacct_dis")+"]]></acct_code__dis>");
xmlBuff.append("<cctr_code__dis><![CDATA["+disItemserMap.get("lscctr_dis")+"]]></cctr_code__dis>");
xmlBuff.append("<bank_code><![CDATA["+invDespMap.get("bank_code")+"]]></bank_code>");
xmlBuff.append("<market_reg><![CDATA["+sorderSalMap.get("ls_market_reg")+"]]></market_reg>");
arCustomerMap=new HashMap<String, String>();
arCustomerMap=getarCustomer(invDespMap.get("cust_code__bil"),conn);
xmlBuff.append("<acct_code__ar><![CDATA["+arCustomerMap.get("macctar")+"]]></acct_code__ar>");
xmlBuff.append("<cctr_code__ar><![CDATA["+arCustomerMap.get("mcctrar")+"]]></cctr_code__ar>");
xmlBuff.append("<cr_term><![CDATA["+invDespMap.get("cr_term")+"]]></cr_term>");
xmlBuff.append("<cr_days><![CDATA["+invDespMap.get("cr_days")+"]]></cr_days>");
String dueDate1=getDueDate(invDespMap.get("cr_term"),ldsInvHdrMp.get("invoice__date"),invDespMap.get("eff_date"),ldsInvHdrMp.get("lr_date"),
invDespMap.get("cr_days"),conn);
xmlBuff.append("<due_date><![CDATA["+dueDate1+"]]></due_date>"); //Get due date from method "gbf_get_duedate()"
xmlBuff.append("<tax_class><![CDATA["+invDespMap.get("tax_class")+"]]></tax_class>");
xmlBuff.append("<tax_chap><![CDATA["+invDespMap.get("tax_chap")+"]]></tax_chap>");
xmlBuff.append("<tax_env><![CDATA["+invDespMap.get("tax_env")+"]]></tax_env>");
xmlBuff.append("<tax_date><![CDATA["+invDespMap.get("tax_date")+"]]></tax_date>");
xmlBuff.append("<frt_amt><![CDATA["+invDespMap.get("frt_amt")+"]]></frt_amt>");
xmlBuff.append("<frt_type><![CDATA["+invDespMap.get("frt_term")+"]]></frt_type>");
xmlBuff.append("<curr_code><![CDATA["+invDespMap.get("sorder_curr_code")+"]]></curr_code>");
xmlBuff.append("<exch_rate><![CDATA["+invDespMap.get("sorder_exch_rate")+"]]></exch_rate>");
xmlBuff.append("<sales_pers><![CDATA["+invDespMap.get("sales_pers")+"]]></sales_pers>");
xmlBuff.append("<curr_code__frt><![CDATA["+invDespMap.get("curr_code__frt")+"]]></curr_code__frt>");
xmlBuff.append("<exch_rate__frt><![CDATA["+invDespMap.get("exch_rate__frt")+"]]></exch_rate__frt>");
xmlBuff.append("<confirmed><![CDATA["+"N"+"]]></confirmed>");
xmlBuff.append("<chg_date><![CDATA["+sysDate+"]]></chg_date>");
xmlBuff.append("<chg_user><![CDATA["+userId+"]]></chg_user>");
xmlBuff.append("<chg_term><![CDATA["+termId+"]]></chg_term>");
xmlBuff.append("<inv_type><![CDATA["+sorderSalMap.get("ls_ordertype")+"]]></inv_type>");
xmlBuff.append("<curr_code__ins><![CDATA["+invDespMap.get("curr_code__ins")+"]]></curr_code__ins>");
xmlBuff.append("<exch_rate__ins><![CDATA["+invDespMap.get("exch_rate__ins")+"]]></exch_rate__ins>");
xmlBuff.append("<ins_amt><![CDATA["+invDespMap.get("ins_amt")+"]]></ins_amt>");
xmlBuff.append("<remarks><![CDATA["+ldsInvHdrMp.get("remarks")+"]]></remarks>");
xmlBuff.append("<stan_code__init><![CDATA["+ldsInvHdrMp.get("stan_code__init")+"]]></stan_code__init>");
xmlBuff.append("<frt_amt><![CDATA["+invDespMap.get("frt_amt")+"]]></frt_amt>");
xmlBuff.append("<exch_rate__frt><![CDATA["+invDespMap.get("exch_rate__frt")+"]]></exch_rate__frt>");
xmlBuff.append("<acct_code__pr><![CDATA["+acctSchemehdrMap.get("ls_acct_code__pr")+"]]></acct_code__pr>");
xmlBuff.append("<cctr_code__pr><![CDATA["+acctSchemehdrMap.get("ls_cctr_code__pr")+"]]></cctr_code__pr>");
xmlBuff.append("<comm_amt><![CDATA["+invDespMap.get("comm_amt")+"]]></comm_amt>");
xmlBuff.append("<tax_amt><![CDATA["+invDespMap.get("tax_amt")+"]]></tax_amt>");
// xmlBuff.append("<disc_amt><![CDATA[]]></disc_amt>"); //Get disc_amt from inv_det
// xmlBuff.append("<inv_amt><![CDATA[]]></inv_amt>"); //Get inv_amt from inv_det
xmlBuff.append("<disc_schem_billback_amt><![CDATA["+invDespMap.get("disc_schem_billback_amt")+"]]></disc_schem_billback_amt>");
xmlBuff.append("<disc_schem_offinv_amt><![CDATA["+invDespMap.get("disc_schem_offinv_amt")+"]]></disc_schem_offinv_amt>");
// xmlBuff.append("<disc_offinv_amt_hdr><![CDATA[]]></disc_offinv_amt_hdr>"); // get by method gbf_calc_hdrdisc_amt()
// xmlBuff.append("<disc_billback_amt_hdr><![CDATA[]]></disc_billback_amt_hdr>"); // get by method gbf_calc_hdrdisc_amt()
lcCommAmtOc=Double.parseDouble(invDespMap.get("comm_amt"))/Double.parseDouble(ldsInvHdrMp.get("exch_rate"));
xmlBuff.append("<comm_amt__oc><![CDATA["+lcCommAmtOc+"]]></comm_amt__oc>");
xmlBuff.append("<sales_pers__1><![CDATA["+invDespMap.get("sales_pers__1")+"]]></sales_pers__1>");
xmlBuff.append("<sales_pers__2><![CDATA["+invDespMap.get("sales_pers__2")+"]]></sales_pers__2>");
xmlBuff.append("<sales_pers_comm_1><![CDATA["+invDespMap.get("sales_pers_comm_1")+"]]></sales_pers_comm_1>");
xmlBuff.append("<sales_pers_comm_2><![CDATA["+invDespMap.get("sales_pers_comm_2")+"]]></sales_pers_comm_2>");
xmlBuff.append("<sales_pers_comm_3><![CDATA["+invDespMap.get("sales_pers_comm_3")+"]]></sales_pers_comm_3>");
xmlBuff.append("<sales_pers_comm_1><![CDATA["+invDespMap.get("sales_pers_comm_1")+"]]></sales_pers_comm_1>");
xmlBuff.append("<sales_pers_comm_2><![CDATA["+invDespMap.get("sales_pers_comm_2")+"]]></sales_pers_comm_2>");
xmlBuff.append("<sales_pers_comm_3><![CDATA["+invDespMap.get("sales_pers_comm_3")+"]]></sales_pers_comm_3>");
xmlBuff.append("<round_adj><![CDATA[]]></round_adj>"); // Set round_adj
xmlBuff.append("<net_amt><![CDATA[]]></net_amt>"); // Set net_amt
xmlBuff.append("</Detail1>");
mainInvDespDetMap=(HashMap<String, HashMap>) dataList.get(0);
System.out.println("@@@@@@@@@525:::mainInvDespDetMap["+mainInvDespDetMap+"]");
for(String keyStr:mainInvDespDetMap.keySet())
{
System.out.println("Detail 2:::");
// if(!keyStr.contains("@"))
// {
/**
* Generating XML for
* Invoice Trace
* */
invTraceDetMap= new HashMap<String, String>();
despLineNo=keyStr;
invTraceDetMap=mainInvDespDetMap.get(keyStr);
System.out.println("Inner InvDespDetMap size:-["+invTraceDetMap.size()+"]");
lineNo++;
xmlBuff.append("<Detail2 dbID=\"\" domID=\""+lineNo+"\" objContext=\"2\" objName=\"invoice_po\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" status=\"N\" updateFlag=\"A\"/>");
xmlBuff.append("<invoice_id/>");
xmlBuff.append("<inv_line_no><![CDATA[" + lineNo + "]]></inv_line_no>");
xmlBuff.append("<desp_id><![CDATA["+invTraceDetMap.get("desp_id")+"]]></desp_id>");
xmlBuff.append("<desp_line_no><![CDATA["+invTraceDetMap.get("line_no")+"]]></desp_line_no>");
xmlBuff.append("<item_code><![CDATA[" + invTraceDetMap.get("item_code") + "]]></item_code>");
xmlBuff.append("<quantity><![CDATA[" + invTraceDetMap.get("quantity") + "]]></quantity>");
xmlBuff.append("<unit><![CDATA[" + invTraceDetMap.get("unit") + "]]></unit>");
xmlBuff.append("<rate><![CDATA[" + invTraceDetMap.get("rate") + "]]></rate>");
xmlBuff.append("<unit__rate><![CDATA[" + invTraceDetMap.get("unit__rate") + "]]></unit__rate>");
xmlBuff.append("<discount><![CDATA[" + invTraceDetMap.get("discount") + "]]></discount>");
xmlBuff.append("<tax_class><![CDATA["+invTraceDetMap.get("tax_class")+"]]></tax_class>");
xmlBuff.append("<tax_chap><![CDATA["+invTraceDetMap.get("tax_chap")+"]]></tax_chap>");
xmlBuff.append("<tax_env><![CDATA["+invTraceDetMap.get("tax_env")+"]]></tax_env>");
xmlBuff.append("<tax_amt><![CDATA[]]></tax_amt>"); //tax_amt missing
xmlBuff.append("<net_amt><![CDATA[]]></net_amt>"); //net_amt missing
xmlBuff.append("<unit__std><![CDATA[" + invTraceDetMap.get("sord_unit__std") + "]]></unit__std>");
xmlBuff.append("<conv__qty_stduom><![CDATA[" + invTraceDetMap.get("sord_conv__qty_stduom") + "]]></conv__qty_stduom>");
xmlBuff.append("<quantity__stduom><![CDATA[" + invTraceDetMap.get("desp_quantity__stduom") + "]]></quantity__stduom>");
xmlBuff.append("<conv__rtuom_stduom><![CDATA[" + invTraceDetMap.get("conv__rtuom_stduom") + "]]></conv__rtuom_stduom>");
xmlBuff.append("<rate__stduom><![CDATA[" + invTraceDetMap.get("desp_rate__stduom") + "]]></rate__stduom>");
xmlBuff.append("<comm_amt__oc><![CDATA[]]></comm_amt__oc>"); //comm_amt__oc missing
xmlBuff.append("<sord_no><![CDATA[" + invTraceDetMap.get("sord_no") + "]]></sord_no>");
xmlBuff.append("<sord_line_no><![CDATA[" + invTraceDetMap.get("line_no__sord") + "]]></sord_line_no>");
xmlBuff.append("<item_code__ord><![CDATA[" + invTraceDetMap.get("item_code__ord") + "]]></item_code__ord>");
xmlBuff.append("<no_art><![CDATA[" + invTraceDetMap.get("no_art") + "]]></no_art>");
xmlBuff.append("<chg_date><![CDATA["+sysDate+"]]></chg_date>");
xmlBuff.append("<chg_user><![CDATA["+userId+"]]></chg_user>");
xmlBuff.append("<chg_term><![CDATA["+termId+"]]></chg_term>");
xmlBuff.append("<lot_no><![CDATA["+invTraceDetMap.get("lot_no")+"]]></lot_no>");
xmlBuff.append("<lot_sl><![CDATA["+invTraceDetMap.get("lot_sl")+"]]></lot_sl>");
xmlBuff.append("<site_code__mfg><![CDATA["+invTraceDetMap.get("site_code__mfg")+"]]></site_code__mfg>");
xmlBuff.append("<mfg_date><![CDATA["+invTraceDetMap.get("mfg_date")+"]]></mfg_date>");
xmlBuff.append("<exp_date><![CDATA["+invTraceDetMap.get("exp_date")+"]]></exp_date>");
xmlBuff.append("<exp_lev><![CDATA["+invTraceDetMap.get("exp_lev")+"]]></exp_lev>");
xmlBuff.append("<fob_value><![CDATA[]]></fob_value>");
xmlBuff.append("<rate__clg><![CDATA["+invTraceDetMap.get("rate__clg")+"]]></rate__clg>");
xmlBuff.append("<line_no><![CDATA["+lineNo+"]]></line_no>");
xmlBuff.append("<item_ser__prom><![CDATA[]]></item_ser__prom>");
xmlBuff.append("<curr_code><![CDATA["+invDespMap.get("sorder_curr_code")+"]]></curr_code>");
xmlBuff.append("<exch_rate><![CDATA["+invDespMap.get("sorder_exch_rate")+"]]></exch_rate>");
xmlBuff.append("<rate__stk><![CDATA[]]></rate__stk>");
xmlBuff.append("<rate__std><![CDATA[]]></rate__std>");
xmlBuff.append("<cost_rate><![CDATA[]]></cost_rate>");
xmlBuff.append("<line_type><![CDATA["+invTraceDetMap.get("line_type")+"]]></line_type>");
xmlBuff.append("<cust_item__ref><![CDATA["+invTraceDetMap.get("cust_item__ref")+"]]></cust_item__ref>");
xmlBuff.append("<disc_schem_billback_amt><![CDATA[" + invTraceDetMap.get("disc_schem_billback_amt") + "]]></disc_schem_billback_amt>");
xmlBuff.append("<disc_schem_offinv_amt><![CDATA[" + invTraceDetMap.get("disc_schem_offinv_amt") + "]]></disc_schem_offinv_amt>");
xmlBuff.append("<item_flg><![CDATA[I]]></item_flg>");
xmlBuff.append("</Detail2>");
// }
// else
// {
// }
} // END of Detail [mainInvDespDetMap] for loop
/**
* Generating XML for
* Invoice Det
* */
// invDetBeanMap=mainInvDespDetMap.get(keyStr);
invDetBeanMap=(HashMap<String, Object>) dataList.get(1);
System.out.println("@@@@@@@@@@@ invDetBeanMap["+invDetBeanMap+"]");
for(String keyStr:invDetBeanMap.keySet())
{
System.out.println("Detail 3:::::::::::");
lineNoDet++;
invoiceDetBean=(InvoiceDetBean) invDetBeanMap.get(keyStr);
xmlBuff.append("<Detail3 dbID=\"\" domID=\""+lineNoDet+"\" objContext=\"3\" objName=\"invoice_po\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" status=\"N\" updateFlag=\"A\"/>");
xmlBuff.append("<invoice_id/>");
xmlBuff.append("<line_no><![CDATA[" + lineNoDet + "]]></line_no>");
xmlBuff.append("<sord_no><![CDATA[" + invoiceDetBean.getSord_no()+ "]]></sord_no>");
xmlBuff.append("<sord_line_no><![CDATA[" + invoiceDetBean.getLine_no__sord() + "]]></sord_line_no>");
xmlBuff.append("<item_code><![CDATA[" + invoiceDetBean.getItem_code() + "]]></item_code>");
xmlBuff.append("<item_code__ord><![CDATA[" + invoiceDetBean.getItem_code__ord() + "]]></item_code__ord>");
xmlBuff.append("<item_flg><![CDATA[I]]></item_flg>"); //item_flag missing
xmlBuff.append("<quantity><![CDATA[" + invoiceDetBean.getmTotDespQty()+ "]]></quantity>");
xmlBuff.append("<unit><![CDATA[" + invoiceDetBean.getUnit()+ "]]></unit>");
xmlBuff.append("<unit__std><![CDATA[" + invoiceDetBean.getSord_unit__std() + "]]></unit__std>");
xmlBuff.append("<conv__qty_stduom><![CDATA[" + invoiceDetBean.getSord_conv__qty_stduom() + "]]></conv__qty_stduom>");
xmlBuff.append("<quantity__stduom><![CDATA[" + invoiceDetBean.getmTotStdQty() + "]]></quantity__stduom>");
xmlBuff.append("<no_art><![CDATA[" + invoiceDetBean.getmNoArt() + "]]></no_art>");
xmlBuff.append("<rate><![CDATA[" + invoiceDetBean.getRate() + "]]></rate>");
xmlBuff.append("<unit__rate><![CDATA[" + invoiceDetBean.getUnit__rate() + "]]></unit__rate>");
xmlBuff.append("<conv__rtuom_stduom><![CDATA[" + invoiceDetBean.getConv__rtuom_stduom() + "]]></conv__rtuom_stduom>");
xmlBuff.append("<rate__stduom><![CDATA[" + invoiceDetBean.getDesp_rate__stduom() + "]]></rate__stduom>");
xmlBuff.append("<discount><![CDATA[" + invoiceDetBean.getDiscount() + "]]></discount>");
xmlBuff.append("<disc_amt><![CDATA[" + invoiceDetBean.getDisc_amt()+ "]]></disc_amt>");
xmlBuff.append("<disc_schem_billback_amt><![CDATA[" + invoiceDetBean.getDisc_schem_billback_amt()+ "]]></disc_schem_billback_amt>");
xmlBuff.append("<disc_schem_offinv_amt><![CDATA[" + invoiceDetBean.getDisc_schem_offinv_amt() + "]]></disc_schem_offinv_amt>");
xmlBuff.append("<acc_code__item><![CDATA[" + invoiceDetBean.getAcc_code__item() + "]]></acc_code__item>");
xmlBuff.append("<comm_amt><![CDATA[]]></comm_amt>"); //comm_amt missing
xmlBuff.append("<sales_pers_comm_1><![CDATA["+invDespMap.get("sales_pers_comm_1")+"]]></sales_pers_comm_1>");
xmlBuff.append("<sales_pers_comm_2><![CDATA["+invDespMap.get("sales_pers_comm_2")+"]]></sales_pers_comm_2>");
xmlBuff.append("<sales_pers_comm_3><![CDATA["+invDespMap.get("sales_pers_comm_3")+"]]></sales_pers_comm_3>");
xmlBuff.append("<sales_pers_comm_3><![CDATA["+invDespMap.get("sales_pers_comm_3")+"]]></sales_pers_comm_3>");
xmlBuff.append("<comm_amt__oc><![CDATA[]]></comm_amt__oc>"); //comm_amt__oc missing
//xmlBuff.append("<tax_class><![CDATA["+invoiceDetBean.getTax_class()+"]]></tax_class>");
//xmlBuff.append("<tax_chap><![CDATA["+invoiceDetBean.getTax_chap()+"]]></tax_chap>");
//xmlBuff.append("<tax_env><![CDATA["+invoiceDetBean.getTax_env()+"]]></tax_env>");
xmlBuff.append("<desp_id><![CDATA["+invoiceDetBean.getDesp_id()+"]]></desp_id>");
xmlBuff.append("<line_no_desp><![CDATA["+"1"+"]]></line_no_desp>");
xmlBuff.append("<rate__clg><![CDATA["+invoiceDetBean.getRate__clg()+"]]></rate__clg>");
xmlBuff.append("<fin_scheme><![CDATA["+invoiceDetBean.getFin_scheme()+"]]></fin_scheme>");
xmlBuff.append("<cust_item__ref><![CDATA["+invoiceDetBean.getCust_item__ref()+"]]></cust_item__ref>");
xmlBuff.append("<tax_amt><![CDATA[]]></tax_amt>"); //tax_amt missing
xmlBuff.append("<net_amt><![CDATA[]]></net_amt>"); //net_amt missing
xmlBuff.append("<chg_date><![CDATA["+sysDate+"]]></chg_date>");
xmlBuff.append("<chg_user><![CDATA["+userId+"]]></chg_user>");
xmlBuff.append("<chg_term><![CDATA["+termId+"]]></chg_term>");
xmlBuff.append("</Detail3>");
}
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
xmlInvString=xmlBuff.toString();
System.out.println("XML generated :- ["+xmlInvString+"]");
/**
* Master statefull
* Save data
* */
retString = saveData(loginSite, xmlInvString, xtraParams, conn);
System.out.println("Return string after save data :- ["+retString+"]");
fos1.write(("Return String after save data is :- [" + retString +"]\r\n").getBytes());
/**
* Check Save return string
* */
if (retString.indexOf("Success") > -1)
{
System.out.println("Master statefull SAVE success..");
// conn.commit();
String[] arrayForTranIdIssue = retString.split("<TranID>");
int endIndexIssue = arrayForTranIdIssue[1].indexOf("</TranID>");
tranId = arrayForTranIdIssue[1].substring(0, endIndexIssue);
System.out.println("@V@ Tran id :- [" + tranId + "]");
fos1.write(("Invoice successful for Dispatch id :- ["+despIdKey+"] TranId generated is:- [" + tranId +"]\n END \r\n\n").getBytes());
/**
* Call Credit check component
* PostOrdCreditChk.java
* */
// PostOrdCreditChk pCrdChk=new PostOrdCreditChk();
//net amount is not exist in
//invDespMap
// retString=pCrdChk.creditCheck(invDespMap.get("cust_code"),invDespMap.get("cust_code__bil"), invDespMap.get("item_ser"), "0.00",runOpt,//Net amount missing
// invDespMap.get("sord_no"), ldsInvHdrMp.get("invoice__date"), invDespMap.get("desp_site_code"), "I", despId,conn);
/**
* Invoice Posting
* */
// temp cpatil
// PostOrdInvoicePost invPost=new PostOrdInvoicePost();
// retString=invPost.invoicePosting(tranId, conn);
System.out.println("Invoice posting ret string :- ["+retString+"]");
}
else
{
fos1.write(("Invoice fail for Dispatch id :- ["+despIdKey+"]\n END \r\n\n").getBytes());
}
// } // END of Header [mainInvDespMap] for loop
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return retString;
}
private String getDueDate(String crTerm, String invDate, String effDate, String lrDate, String crDays,Connection conn) throws ITMException, Exception
{
Timestamp dueDate=null,ldTranDate=null,ldTodate=null;
// TODO Auto-generated method stub
String sql="",startFrom="",lsMonth="",liDueDays="",lsOvrdDueDate="",liDays="";
PreparedStatement pstmt=null;
ResultSet rs=null;
int liMonth=0;
long liCrDays=0,liCurrDays=0,liDaysNo=0;
try
{
UtilMethods utlMethods= new UtilMethods();
System.out.println("crterm :::::::::::::::::::::::"+crTerm);
sql="select start_from from crterm where cr_term =?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, crTerm);
rs=pstmt.executeQuery();
if(rs.next())
{
startFrom=rs.getString("start_from");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
System.out.println("Startfrom value!!!"+startFrom);
System.out.println("Effective date:::::::::::"+effDate);
System.out.println("LR date:::::::::::"+lrDate);
if("D".equalsIgnoreCase(startFrom) || "Q".equalsIgnoreCase(startFrom) || "B".equalsIgnoreCase(startFrom))
{
ldTranDate = Timestamp.valueOf(genericUtility.getValidDateString(effDate, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0"); //Timestamp.valueOf(effDate);
}
else if("L".equalsIgnoreCase(startFrom))
{
ldTranDate = Timestamp.valueOf(genericUtility.getValidDateString(lrDate, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0"); //Timestamp.valueOf(lrDate);
}
//pending for R
System.out.println("ldTranDate::::::::::::"+ldTranDate);
if(ldTranDate != null)
{
liMonth=ldTranDate.getMonth();
}
System.out.println("Li Month :- ["+liMonth+"]");
if(liMonth==12)
{
liMonth=1;
lsMonth="01";
}
else
{
liMonth=liMonth+1;
if(liMonth>9)
{
lsMonth=String.valueOf(liMonth);
}
else
{
lsMonth="0"+String.valueOf(liMonth);
}
}
sql="select c.cr_days ,d.override_due_date from crterm c,crterm_disc d where c.cr_term = d.cr_term and c.cr_term = ?"
+ " and d.cr_month=? and d.override_due_date is not null";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, crTerm);
pstmt.setString(2, lsMonth);
rs=pstmt.executeQuery();
if(rs.next())
{
liDueDays=rs.getString("cr_days");
lsOvrdDueDate=rs.getString("override_due_date");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
if(lsOvrdDueDate!=null && lsOvrdDueDate.trim().length()>0)
{
liCrDays=Long.valueOf(lsOvrdDueDate.substring(3, 2));
}
else
{
sql="select c.cr_days ,d.override_due_date from crterm c,crterm_disc d where c.cr_term = d.cr_term and c.cr_term = ?"
+ " and d.cr_month='99' and d.override_due_date is not null";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, crTerm);
rs=pstmt.executeQuery();
if(rs.next())
{
liDueDays=rs.getString("cr_days");
lsOvrdDueDate=rs.getString("override_due_date");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
if(lsOvrdDueDate!=null && lsOvrdDueDate.trim().length()>0)
{
liCrDays=Long.valueOf(lsOvrdDueDate.substring(3, 2));
}
else
{
sql="select cr_days from crterm where cr_term =?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, crTerm);
rs=pstmt.executeQuery();
if(rs.next())
{
liDays=rs.getString("cr_days");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
}
}
if(liDueDays==null || liDueDays.trim().length()==0)
{
liDueDays="0";
}
if(liDays==null || liDays.trim().length()==0)
{
liDays="0";
}
if(lsOvrdDueDate!=null && lsOvrdDueDate.trim().length()>0)
{
sql="select to_date from period where fr_date <=? and to_date >=?";
pstmt=conn.prepareStatement(sql);
pstmt.setTimestamp(1, ldTranDate);
pstmt.setTimestamp(2, ldTranDate);
rs=pstmt.executeQuery();
if(rs.next())
{
ldTodate=rs.getTimestamp("to_date");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
liCurrDays= utlMethods.DaysAfter(ldTranDate, ldTodate);
liDaysNo=liCurrDays+Long.valueOf(liCrDays)+Long.valueOf(liDueDays);
}
System.out.println("crDays:::::::::::::::::::::::::"+crDays);
if(Integer.parseInt(crDays)!= -999)
{
dueDate=utlMethods.RelativeDate(ldTranDate, Integer.parseInt(crDays));
}
else
{
dueDate=utlMethods.RelativeDate(ldTranDate,(int)liDaysNo);
}
System.out.println("Due Date is :- ["+dueDate+"]");
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
System.out.println("@@@@@@@@@@@901::::::::dueDate["+dueDate+"]");
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
String dueDate1 = sdf.format(dueDate);
System.out.println("System date :- [" + dueDate + "]");
System.out.println("@@@@@@@@@@@901::::::::dueDate1["+dueDate1+"]");
return dueDate1;
}
/**
*
* @param ldsInvHdrMp
* @param conn
* @return HashMap<String, String>
* @throws ITMException
*/
// private HashMap<String, HashMap<String, String>> getInvDespatch(HashMap<String, String> ldsInvHdrMp,Connection conn)
private HashMap<String, String> getInvDespatch(HashMap<String, String> ldsInvHdrMp,Connection conn) throws ITMException
{
// TODO Auto-generated method stub
HashMap<String, String> invDespMap=null;
HashMap<String, HashMap<String, String>> mainInvDespMap=new HashMap<String, HashMap<String,String>>();
String invDespSql="",mFrDespDt="",mToDespDt="",despDtStr="",sordDtStr="",lrDtStr="",gpDtStr="",taxDtStr="",effDtStr="";
String fromDate = "";
PreparedStatement pstmt=null;
ResultSet rs=null;
Timestamp fromDateTimestamp = null;
try
{
if(ldsInvHdrMp.get("lr_date")!=null && ldsInvHdrMp.get("lr_date").trim().length()>0)
{
mFrDespDt=ldsInvHdrMp.get("lr_date");
mToDespDt=ldsInvHdrMp.get("lr_date");
}
//added by vishakha for date since query was not getting executed
if(ldsInvHdrMp.get("desp_date__fr")!=null && ldsInvHdrMp.get("desp_date__fr").trim().length()>0)
{
fromDate=ldsInvHdrMp.get("desp_date__fr");
// mToDespDt=ldsInvHdrMp.get("lr_date");
}
/* fromDateTimestamp = Timestamp.valueOf(fromDate,genericUtility.getDBDateFormat(),genericUtility.getApplDateFormat());//(complDate, dateFormat,genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("fromDateTimestamp:::::::::::::::::::::"+fromDateTimestamp);
*/
invDespSql="SELECT despatch.desp_id,despatch.desp_date,despatch.sord_no,despatch.sord_date,despatch.cust_code,"
+ "despatch.cust_code__dlv,despatch.tran_code,despatch.lr_no,despatch.lr_date,despatch.gp_ser,"
+ "despatch.gp_no,despatch.gp_date,despatch.stan_code,despatch.chg_date,despatch.chg_user,"
+ "despatch.chg_term,despatch.status,despatch.site_code,sorder.sales_pers,sorder.tax_class,"
+ "sorder.tax_chap,sorder.tax_env,sorder.tax_date,sorder.cr_term,sorder.site_code,"
+ "sorder.curr_code,sorder.exch_rate,sorder.ord_amt,sorder.tax_amt,sorder.tot_amt,"
+ "sorder.comm_amt,sorder.frt_amt,sorder.curr_code__frt,sorder.exch_rate__frt,site.fin_entity,"
+ "crterm.cr_days,sorder.cust_code__bil,sorder.frt_term,sorder.part_qty,sorder.comm_perc,"
+ "sorder.comm_perc__on,despatch.eff_date,sorder.item_ser,sorder.bank_code,sorder.order_type,"
+ "despatch.trans_mode,sorder.curr_code__ins,sorder.exch_rate__ins,sorder.ins_amt,sorder.sales_pers__1,"
+ "sorder.sales_pers__2,sorder.sales_pers_comm_1,sorder.sales_pers_comm_2,sorder.sales_pers_comm_3,despatch.freight,"
+ "despatch.curr_code__frt,despatch.exch_rate__frt,despatch.exch_rate,despatch.curr_code,despatch.disc_schem_billback_amt,"
+ "despatch.disc_schem_offinv_amt,despatch.disc_offinv_amt_det,despatch.disc_billback_amt_det,despatch.freight_amt_add"
+ " FROM despatch,sorder,site,crterm"
+ " WHERE ( sorder.cr_term = crterm.cr_term ) "
+ " and( despatch.sord_no = sorder.sale_order ) "
+ " and( despatch.site_code = site.site_code ) "
+ " AND( despatch.desp_id >= ? ) "
+ " AND( despatch.desp_id <= ? ) "
+ " AND( despatch.cust_code >= ? ) "
+ " AND( despatch.cust_code <= ? ) "
// + " AND( despatch.status = ?) "
// + " OR( despatch.status = 'H' ) "
+ " AND( despatch.confirmed = 'Y' ) "
+ " AND( sorder.order_type like (?) )"
+ " ORDER BY despatch.sord_no ASC,despatch.desp_id ASC";
pstmt=conn.prepareStatement(invDespSql);
// pstmt.setString(1, ldsInvHdrMp.get("desp_date__fr"));
// pstmt.setString(2, ldsInvHdrMp.get("desp_date__to"));
// pstmt.setString(1, mFrDespDt);
// pstmt.setString(2, mToDespDt);
// pstmt.setTimestamp(1, fromDateTimestamp);//changed by vishakha
// pstmt.setTimestamp(2, fromDateTimestamp);//changed by vishakha
pstmt.setString(1, ldsInvHdrMp.get("desp_id__fr"));
// pstmt.setString(4, ldsInvHdrMp.get("desp_id__to"));
pstmt.setString(2, ldsInvHdrMp.get("desp_id__fr"));
pstmt.setString(3, ldsInvHdrMp.get("cust_code__fr"));
pstmt.setString(4, ldsInvHdrMp.get("cust_code__to"));
// pstmt.setString(7, ""); // Blank Status
pstmt.setString(5, ldsInvHdrMp.get("so_type"));
rs=pstmt.executeQuery();
if(rs.next())
{
System.out.println("@@@@@@@@@@@@ for deaspatch header data.......data found........ ");
invDespMap=new HashMap<String, String>();
invDespMap.put("desp_id", checknull(rs.getString("desp_id")));
if((rs.getString("desp_date"))!= null)
{
despDtStr=genericUtility.getValidDateString(checknull(rs.getString("desp_date")), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
}
invDespMap.put("desp_date", despDtStr);
invDespMap.put("sord_no", checknull(rs.getString("sord_no")));
if((rs.getString("sord_date"))!= null)
{
System.out.println("inside if of sord_date");
sordDtStr=genericUtility.getValidDateString(checknull(rs.getString("sord_date")), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
}
invDespMap.put("sord_date", sordDtStr);
invDespMap.put("cust_code", checknull(rs.getString("cust_code")));
invDespMap.put("cust_code__dlv", checknull(rs.getString("cust_code__dlv")));
invDespMap.put("tran_code", checknull(rs.getString("tran_code")));
invDespMap.put("lr_no", checknull(rs.getString("lr_no")));
if((rs.getString("lr_date")) != null)
{
System.out.println("inside if of lr_date");
lrDtStr=genericUtility.getValidDateString(checknull(rs.getString("lr_date")), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
}
invDespMap.put("lr_date", lrDtStr);
invDespMap.put("gp_ser", checknull(rs.getString("gp_ser")));
invDespMap.put("gp_no", checknull(rs.getString("gp_no")));
if((rs.getString("gp_date"))!=null)
{
System.out.println("inside if of gp_date");
gpDtStr=genericUtility.getValidDateString(checknull(rs.getString("gp_date")), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
}
invDespMap.put("gp_date", gpDtStr);
invDespMap.put("stan_code", checknull(rs.getString("stan_code")));
invDespMap.put("status", checknull(rs.getString("status")));
invDespMap.put("desp_site_code", checknull(rs.getString("site_code")));
invDespMap.put("sales_pers", checknull(rs.getString("sales_pers")));
invDespMap.put("tax_class", checknull(rs.getString("tax_class")));
invDespMap.put("tax_chap", checknull(rs.getString("tax_chap")));
invDespMap.put("tax_env", checknull(rs.getString("tax_env")));
if((rs.getString("tax_date")) != null)
{
System.out.println("inside if of tax_date");
taxDtStr=genericUtility.getValidDateString(checknull(rs.getString("tax_date")), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
}
invDespMap.put("tax_date", taxDtStr);
invDespMap.put("cr_term", checknull(rs.getString("cr_term")));
invDespMap.put("sorder_site_code", checknull(rs.getString("site_code")));
invDespMap.put("sorder_curr_code", checknull(rs.getString("curr_code")));
invDespMap.put("sorder_exch_rate", checknull(rs.getString("exch_rate")));
invDespMap.put("ord_amt", checknull(rs.getString("ord_amt")));
invDespMap.put("tax_amt", checknull(rs.getString("tax_amt")));
invDespMap.put("tot_amt", checknull(rs.getString("tot_amt")));
invDespMap.put("comm_amt", checknull(rs.getString("comm_amt")));
invDespMap.put("frt_amt", checknull(rs.getString("frt_amt")));
invDespMap.put("curr_code__frt", checknull(rs.getString("curr_code__frt")));
invDespMap.put("exch_rate__frt", checknull(rs.getString("exch_rate__frt")));
invDespMap.put("fin_entity", checknull(rs.getString("fin_entity")));
invDespMap.put("cr_days", checknull(rs.getString("cr_days")));
invDespMap.put("cust_code__bil", checknull(rs.getString("cust_code__bil")));
invDespMap.put("frt_term", checknull(rs.getString("frt_term")));
invDespMap.put("part_qty", checknull(rs.getString("part_qty")));
invDespMap.put("comm_perc", checknull(rs.getString("comm_perc")));
invDespMap.put("comm_perc__on", checknull(rs.getString("comm_perc__on")));
if((rs.getString("eff_date"))!= null)
{
System.out.println("inside if of eff_date");
effDtStr=genericUtility.getValidDateString(checknull(rs.getString("eff_date")), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
}
invDespMap.put("eff_date", effDtStr);
invDespMap.put("item_ser", checknull(rs.getString("item_ser")));
invDespMap.put("bank_code", checknull(rs.getString("bank_code")));
invDespMap.put("order_type", checknull(rs.getString("order_type")));
invDespMap.put("trans_mode", checknull(rs.getString("trans_mode")));
invDespMap.put("curr_code__ins", checknull(rs.getString("curr_code__ins")));
invDespMap.put("exch_rate__ins", checknull(rs.getString("exch_rate__ins")));
invDespMap.put("ins_amt", checknull(rs.getString("ins_amt")));
invDespMap.put("sales_pers__1", checknull(rs.getString("sales_pers__1")));
invDespMap.put("sales_pers__2", checknull(rs.getString("sales_pers__2")));
invDespMap.put("sales_pers_comm_1", checknull(rs.getString("sales_pers_comm_1")));
invDespMap.put("sales_pers_comm_2", checknull(rs.getString("sales_pers_comm_2")));
invDespMap.put("sales_pers_comm_3", checknull(rs.getString("sales_pers_comm_3")));
invDespMap.put("freight", checknull(rs.getString("freight")));
invDespMap.put("curr_code__frt", checknull(rs.getString("curr_code__frt")));
invDespMap.put("exch_rate__frt", checknull(rs.getString("exch_rate__frt")));
invDespMap.put("exch_rate", checknull(rs.getString("exch_rate")));
invDespMap.put("curr_code", checknull(rs.getString("curr_code")));
invDespMap.put("disc_schem_billback_amt", checknull(rs.getString("disc_schem_billback_amt")));
invDespMap.put("disc_schem_offinv_amt", checknull(rs.getString("disc_schem_offinv_amt")));
invDespMap.put("disc_offinv_amt_det", checknull(rs.getString("disc_offinv_amt_det")));
invDespMap.put("disc_billback_amt_det", checknull(rs.getString("disc_billback_amt_det")));
invDespMap.put("freight_amt_add", checknull(rs.getString("freight_amt_add")));
System.out.println("MAP VALUES:::::::::::::::"+invDespMap);
// mainInvDespMap.put(rs.getString("desp_id"), invDespMap);
// invDespMap=null;
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (ITMException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
// return mainInvDespMap;
return invDespMap;
}
/**
*
* @param sordNo
* @param status
* @param despId
* @param ldsInvHdrMp
* @param despSiteCode
* @param conn
* @return HashMap<String, String>
* @throws ITMException
*/
// private HashMap<String, HashMap<String, String>> getInvDespatchDet(String sordNo, String status,String despId,HashMap<String, String> ldsInvHdrMp, Connection conn)
private ArrayList<Object> getInvDespatchDet(String sordNo, String status,String despId,HashMap<String, String> ldsInvHdrMp, String despSiteCode, Connection conn) throws ITMException
{
// TODO Auto-generated method stub
// HashMap<String, String> invDespDetMap=null;
HashMap<String, String> invTraceMap=null;
// HashMap<String, HashMap<String, String>> mainInvDespDetMap=new HashMap<String, HashMap<String,String>>();
HashMap<String, HashMap> mainInvDespDetMap=new HashMap<String, HashMap>();
HashMap<String, Object> invDetBeanMap= new HashMap<String, Object>();
HashMap<String, String> stockDetMap=new HashMap<String, String>();
String invDespDetSql="",mFrDespDt="",mToDespDt="",lsAcctSchemedet="",lsFinscheme="",lsCustitemRef="",mfgDtStr="",ldExpDtStr="";
double lcDiscAmt=0.0,mTotDespQty=0.0,mTotStdQty=0.0,mRealQty=0.0;
int mNoArt=0;
String desp_id="",line_no="",sord_no="",line_no__sord="",exp_lev="",item_code__ord="",item_code="",lot_no="",lot_sl="",quantity__ord="";
String quantity="",loc_code="",desp_conv__qty_stduom="",desp_unit__std="",unit="",desp_quantity__stduom="",tax_class="",tax_chap="",tax_env="";
String discount="",unit__rate="",sord_conv__qty_stduom="",conv__rtuom_stduom="",sord_unit__std="",sord_quantity__stduom="",sord_rate__stduom="";
String rate="",quantity_real="",quantity_inv="",invoice_id="",no_art="",rate__clg="",desp_rate__stduom="",disc_amt="",cust_item__ref="";
String disc_schem_billback_amt="",disc_schem_offinv_amt="";
PreparedStatement pstmt=null;
ResultSet rs=null;
String beanMapKey="",lsLineType="";
ArrayList<Object> mainArrayList= new ArrayList<Object>();
/**
* Generate Bean object
* */
InvoiceDetBean invoiceDetBean= null;
try
{
invDespDetSql="SELECT despatchdet.desp_id,despatchdet.line_no,despatchdet.sord_no,despatchdet.line_no__sord,despatchdet.exp_lev,"
+ "despatchdet.item_code__ord,despatchdet.item_code,despatchdet.lot_no,despatchdet.lot_sl,despatchdet.quantity__ord,"
+ "despatchdet.quantity,despatchdet.loc_code,despatchdet.status,despatchdet.conv__qty_stduom,despatchdet.unit__std,"
+ "despatchdet.unit,despatchdet.quantity__stduom,sorddet.tax_class,sorddet.tax_chap,sorddet.tax_env,"
+ "sorddet.discount,sorddet.unit__rate,sorddet.conv__qty_stduom,sorddet.conv__rtuom_stduom,sorddet.unit__std,"
+ "sorddet.quantity__stduom,sorddet.rate__stduom,sorddet.rate,despatchdet.quantity_real,despatchdet.quantity_inv,"
+ "despatchdet.invoice_id,despatchdet.no_art,despatchdet.rate__clg,despatchdet.rate__stduom,despatchdet.disc_amt,"
+ "despatchdet.cust_item__ref,despatchdet.disc_schem_billback_amt,despatchdet.disc_schem_offinv_amt"
+ " FROM despatchdet,sorddet"
+ " WHERE ( despatchdet.sord_no = sorddet.sale_order )"
+ " and( despatchdet.line_no__sord = sorddet.line_no )"
+ " and( ( case when DESPATCHDET.STATUS is null then ' ' else despatchdet.STATUS end = ? )"
+ " AND( DESPATCHDET.SORD_NO = ?)"
+ " AND( DESPATCHDET.DESP_ID >= ?)"
+ " AND( DESPATCHDET.DESP_ID <= ? ) )"
+ " ORDER BY despatchdet.sord_no ASC,despatchdet.line_no__sord ASC,despatchdet.exp_lev ASC";
pstmt=conn.prepareStatement(invDespDetSql);
pstmt.setString(1,status);
pstmt.setString(2,sordNo);
pstmt.setString(3,despId);
pstmt.setString(4,despId);
rs=pstmt.executeQuery();
while(rs.next())
{
invTraceMap=new HashMap<String, String>();
desp_id=checknull(rs.getString("desp_id"));
line_no=checknull(rs.getString("line_no"));
sord_no=checknull(rs.getString("sord_no"));
line_no__sord=checknull(rs.getString("line_no__sord"));
exp_lev=checknull(rs.getString("exp_lev"));
item_code__ord=checknull(rs.getString("item_code__ord"));
item_code=checknull(rs.getString("item_code"));
lot_no=checknull(rs.getString("lot_no"));
lot_sl=checknull(rs.getString("lot_sl"));
quantity__ord=checknull(rs.getString("quantity__ord"));
quantity=checknull(rs.getString("quantity"));
loc_code=checknull(rs.getString("loc_code"));
status=checknull(rs.getString("status"));
desp_conv__qty_stduom=checknull(rs.getString("conv__qty_stduom"));
desp_unit__std=checknull(rs.getString("unit__std"));
unit=checknull(rs.getString("unit"));
desp_quantity__stduom=checknull(rs.getString("quantity__stduom"));
tax_class=checknull(rs.getString("tax_class"));
tax_chap=checknull(rs.getString("tax_chap"));
tax_env=checknull(rs.getString("tax_env"));
discount=checknull(rs.getString("discount"));
unit__rate=checknull(rs.getString("unit__rate"));
sord_conv__qty_stduom=checknull(rs.getString("conv__qty_stduom"));
conv__rtuom_stduom=checknull(rs.getString("conv__rtuom_stduom"));
sord_unit__std=checknull(rs.getString("unit__std"));
sord_quantity__stduom=checknull(rs.getString("quantity__stduom"));
sord_rate__stduom=checknull(rs.getString("rate__stduom"));
rate=checknull(rs.getString("rate"));
quantity_real=checknull(rs.getString("quantity_real"));
quantity_inv=checknull(rs.getString("quantity_inv"));
invoice_id=checknull(rs.getString("invoice_id"));
no_art=checknull(rs.getString("no_art"));
rate__clg=checknull(rs.getString("rate__clg"));
desp_rate__stduom=checknull(rs.getString("rate__stduom"));
disc_amt=checknull(rs.getString("disc_amt"));
cust_item__ref=checknull(rs.getString("cust_item__ref"));
disc_schem_billback_amt=checknull(rs.getString("disc_schem_billback_amt"));
disc_schem_offinv_amt=checknull(rs.getString("disc_schem_offinv_amt"));
invTraceMap.put("desp_id", desp_id);
invTraceMap.put("line_no", line_no);
invTraceMap.put("sord_no", sord_no);
invTraceMap.put("line_no__sord",line_no__sord);
invTraceMap.put("exp_lev",exp_lev );
invTraceMap.put("item_code__ord", item_code__ord);
invTraceMap.put("item_code",item_code );
invTraceMap.put("lot_no",lot_no );
invTraceMap.put("lot_sl", lot_sl);
invTraceMap.put("quantity__ord",quantity__ord );
invTraceMap.put("quantity",quantity );
invTraceMap.put("loc_code", loc_code);
invTraceMap.put("status", status);
invTraceMap.put("desp_conv__qty_stduom", desp_conv__qty_stduom);
invTraceMap.put("desp_unit__std",desp_unit__std);
invTraceMap.put("unit", unit);
invTraceMap.put("desp_quantity__stduom",desp_quantity__stduom );
invTraceMap.put("tax_class", tax_class);
invTraceMap.put("tax_chap", tax_chap);
invTraceMap.put("tax_env", tax_env);
invTraceMap.put("discount", discount);
invTraceMap.put("unit__rate", unit__rate);
invTraceMap.put("sord_conv__qty_stduom", sord_conv__qty_stduom);
invTraceMap.put("conv__rtuom_stduom", conv__rtuom_stduom);
invTraceMap.put("sord_unit__std", sord_unit__std);
invTraceMap.put("sord_quantity__stduom", sord_quantity__stduom);
invTraceMap.put("sord_rate__stduom", sord_rate__stduom);
invTraceMap.put("rate", rate);
invTraceMap.put("quantity_real", quantity_real);
invTraceMap.put("quantity_inv", quantity_inv);
invTraceMap.put("invoice_id", invoice_id);
invTraceMap.put("no_art", no_art);
invTraceMap.put("rate__clg", rate__clg);
invTraceMap.put("desp_rate__stduom", desp_rate__stduom);
invTraceMap.put("disc_amt", disc_amt);
invTraceMap.put("cust_item__ref", cust_item__ref);
invTraceMap.put("disc_schem_billback_amt", disc_schem_billback_amt);
invTraceMap.put("disc_schem_offinv_amt", disc_schem_offinv_amt);
System.out.println("Detal map Size::::::::::::::"+invTraceMap.size());
System.out.println("Map Values :::::::::::::::::::"+invTraceMap);
CalcSchemeAmt calcSchemeAmt=new CalcSchemeAmt();
calcSchemeAmt.updateAmt(rs.getString("sord_no"), conn);
lsAcctSchemedet=getLsAcctSchemedet(rs.getString("sord_no"),rs.getString("line_no__sord"),conn);
invTraceMap.put("acc_code__item", lsAcctSchemedet);
lsFinscheme=getLsFinscheme(rs.getString("sord_no"),conn);
invTraceMap.put("fin_scheme", lsFinscheme);
lsLineType=getLineType(rs.getString("sord_no"),rs.getString("line_no__sord"),rs.getString("exp_lev"),conn);
invTraceMap.put("line_type",lsLineType);
stockDetMap=getStockDetail(rs.getString("item_code"),despSiteCode,rs.getString("loc_code"),rs.getString("lot_no"),
rs.getString("lot_sl"),conn);
System.out.println("@@@@@@@@stockDetMap["+stockDetMap+"]");
invTraceMap.put("site_code__mfg",stockDetMap.get("ls_site_code__mfg"));
//mfgDtStr=genericUtility.getValidDateString(stockDetMap.get("ld_mfg_date"), genericUtility.getDBDateFormat(),genericUtility.getApplDateFormat());
invTraceMap.put("mfg_date",stockDetMap.get("ld_mfg_date"));
//invTraceMap.put("mfg_date",mfgDtStr);
//ldExpDtStr=genericUtility.getValidDateString(stockDetMap.get("ld_exp_date"), genericUtility.getDBDateFormat(),genericUtility.getApplDateFormat());
invTraceMap.put("exp_date",stockDetMap.get("ld_exp_date"));
//invTraceMap.put("exp_date",ldExpDtStr);
// lsCustitemRef=getlsCustitemRef(rs.getString("sord_no"),rs.getString("item_code"),conn);
// invDespDetMap.put("cust_item__ref", lsCustitemRef);
// mainInvDespDetMap.put(rs.getString("desp_id"), invDespDetMap);
System.out.println("@@@@@@@@@@@@@@@@@ invTraceMap["+invTraceMap+"]");
mainInvDespDetMap.put(rs.getString("line_no"), invTraceMap);
System.out.println("@@@@@@@@@@@@@@@@@ mainInvDespDetMap["+mainInvDespDetMap+"]");
beanMapKey=rs.getString("sord_no").trim()+"@".trim()+rs.getString("line_no__sord").trim();
/**
* Check generated key is exist in
* Bean map
* */
if(invDetBeanMap.get(beanMapKey)==null)
{
invoiceDetBean= new InvoiceDetBean();
invoiceDetBean.setmTotDespQty(Double.parseDouble(quantity==null?"0.00":quantity));
invoiceDetBean.setmTotStdQty(Double.parseDouble(desp_quantity__stduom==null?"0.00":desp_quantity__stduom));
invoiceDetBean.setmNoArt(Integer.parseInt(no_art==null?"0":no_art));
invoiceDetBean.setmRealQty(Double.parseDouble(quantity_real==null?"0.00":quantity_real));
invoiceDetBean.setDesp_id(checknull(desp_id));
invoiceDetBean.setLine_no(checknull(line_no));
invoiceDetBean.setSord_no(checknull(sord_no));
invoiceDetBean.setLine_no__sord(checknull(line_no__sord));
invoiceDetBean.setExp_lev(checknull(exp_lev));
invoiceDetBean.setItem_code__ord(checknull(item_code__ord));
invoiceDetBean.setItem_code(checknull(item_code));
invoiceDetBean.setLot_no(checknull(lot_no));
invoiceDetBean.setLot_sl(checknull(lot_sl));
invoiceDetBean.setQuantity__ord(checknull(quantity__ord));
// invDespDetMap.put("quantity", checknull(rs.getString("quantity")));
invoiceDetBean.setLoc_code(checknull(loc_code));
invoiceDetBean.setStatus(checknull(status));
invoiceDetBean.setDesp_conv__qty_stduom(checknull(desp_quantity__stduom));
invoiceDetBean.setDesp_unit__std(checknull(desp_unit__std));
invoiceDetBean.setUnit(checknull(unit));
invoiceDetBean.setDesp_quantity__stduom(checknull(sord_quantity__stduom));
invoiceDetBean.setTax_class(checknull(tax_class));
invoiceDetBean.setTax_chap(checknull(tax_chap));
invoiceDetBean.setTax_env(checknull(tax_env));
invoiceDetBean.setDiscount(checknull(discount));
invoiceDetBean.setUnit__rate(checknull(unit__rate));
invoiceDetBean.setSord_conv__qty_stduom(checknull(sord_conv__qty_stduom));
invoiceDetBean.setConv__rtuom_stduom(checknull(conv__rtuom_stduom));
invoiceDetBean.setSord_unit__std(checknull(sord_unit__std));
// invDespDetMap.put("sord_quantity__stduom", checknull(rs.getString("quantity__stduom")));
invoiceDetBean.setSord_rate__stduom(checknull(sord_rate__stduom));
invoiceDetBean.setRate(checknull(rate));
// invDespDetMap.put("quantity_real", checknull(rs.getString("quantity_real")));
invoiceDetBean.setQuantity_inv(checknull(quantity_inv));
invoiceDetBean.setInvoice_id(checknull(invoice_id));
// invDespDetMap.put("no_art", checknull(rs.getString("no_art")));
invoiceDetBean.setRate__clg(checknull(rate__clg));
invoiceDetBean.setDesp_rate__stduom(checknull(desp_rate__stduom));
invoiceDetBean.setDisc_amt(checknull(disc_amt));
invoiceDetBean.setCust_item__ref(checknull(cust_item__ref));
invoiceDetBean.setDisc_schem_billback_amt(checknull(disc_schem_billback_amt));
invoiceDetBean.setDisc_schem_offinv_amt(checknull(disc_schem_offinv_amt));
invoiceDetBean.setAcc_code__item(lsAcctSchemedet);
invoiceDetBean.setFin_scheme(lsFinscheme);
invDetBeanMap.put(beanMapKey, invoiceDetBean);
}
else
{
invoiceDetBean=(InvoiceDetBean) invDetBeanMap.get(beanMapKey);
mTotDespQty=mTotDespQty+invoiceDetBean.getmTotDespQty();
mTotStdQty=mTotStdQty+invoiceDetBean.getmTotStdQty();
mNoArt=mNoArt+invoiceDetBean.getmNoArt();
mRealQty=mRealQty+invoiceDetBean.getmRealQty();
invDetBeanMap.put(beanMapKey, invoiceDetBean);
}
}// DESP_DET while loop END
/**
* Set invDetBeanMap
* in mainInvDespDetMap
* */
System.out.println("@@@@@@@@@@@1384:::before:mainArrayList.size()["+mainArrayList.size()+"]:::mainInvDespDetMap[["+mainInvDespDetMap+"]]::::::::invDetBeanMap[["+invDetBeanMap+"]]");
mainArrayList.add(mainInvDespDetMap);
mainArrayList.add(invDetBeanMap);
System.out.println("@@@@@@@@@@@1388:::after:mainArrayList.size()["+mainArrayList.size()+"]");
// mainInvDespDetMap.put(beanMapKey, invDetBeanMap);
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (ITMException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
// return mainInvDespDetMap;
return mainArrayList;
}
private HashMap<String, String> getStockDetail(String itemCode, String despSiteCode, String locCode, String lotNo, String lotSl, Connection conn) throws ITMException, Exception
{
HashMap<String, String> stockMap=new HashMap<String, String>();
String sql="";
PreparedStatement pstmt=null;
ResultSet rs=null;
// TODO Auto-generated method stub
try
{
sql="select site_code__mfg, mfg_date, exp_date from stock where item_code =? and site_code = ?"
+ " and loc_code=? and lot_no=? and lot_sl=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
pstmt.setString(2, despSiteCode);
pstmt.setString(3, locCode);
pstmt.setString(4, lotNo);
pstmt.setString(5, lotSl);
rs=pstmt.executeQuery();
if(rs.next())
{
//stockMap.put("ls_site_code__mfg", checknull(rs.getString("site_code__mfg")));
//String ld_mfg_date = rs.getString("mfg_date");
String ld_mfg_date=genericUtility.getValidDateString(rs.getString("mfg_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
String ld_exp_date=genericUtility.getValidDateString(rs.getString("exp_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
//Timestamp ld_exp_date = rs.getTimestamp("exp_date");
System.out.println("@@@@@@@@@ ld_mfg_date["+ld_mfg_date+"]ld_exp_date["+ld_exp_date+"]");
stockMap.put("ls_site_code__mfg", checknull(rs.getString("site_code__mfg")));
stockMap.put("ld_mfg_date", ld_mfg_date);
stockMap.put("ld_exp_date", ld_exp_date);
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return stockMap;
}
private String getLineType(String sordNo, String sordNoLineno, String expLev, Connection conn) throws ITMException
{
String lsLineType="",sql="";
PreparedStatement pstmt=null;
ResultSet rs=null;
// TODO Auto-generated method stub
try
{
sql="select nature from sorditem where sale_order =? and line_no =? and exp_lev= ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, sordNo);
pstmt.setString(2, sordNoLineno);
pstmt.setString(3, expLev);
rs=pstmt.executeQuery();
if(rs.next())
{
lsLineType=checknull(rs.getString("nature"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return lsLineType;
}
class InvoiceDetBean
{
private double mTotDespQty;
private double mTotStdQty;
private double mDescOffInvTotAmt;
private double mDescbbTotAmt;
private int mNoArt;
private double mRealQty;
private double mRealQtyConv;
private String desp_id;
private String line_no;
private String sord_no;
private String line_no__sord;
private String exp_lev;
private String item_code__ord;
private String item_code;
private String lot_no;
private String lot_sl;
private String quantity__ord;
private String quantity;
private String loc_code;
private String status;
private String desp_conv__qty_stduom;
private String desp_unit__std;
private String unit;
private String desp_quantity__stduom;
private String tax_class;
private String tax_chap;
private String tax_env;
private String discount;
private String unit__rate;
private String sord_conv__qty_stduom;
private String sord_rate__stduom;
private String rate;
private String quantity_real;
private String quantity_inv;
private String invoice_id;
private String no_art;
private String rate__clg;
private String desp_rate__stduom;
private String disc_amt;
private String cust_item__ref;
private String disc_schem_billback_amt;
private String disc_schem_offinv_amt;
private String acc_code__item;
private String fin_scheme;
private String conv__rtuom_stduom;
private String sord_unit__std;
public double getmTotDespQty()
{
return mTotDespQty;
}
public void setmTotDespQty(double mTotDespQty)
{
this.mTotDespQty = mTotDespQty;
}
public double getmTotStdQty()
{
return mTotStdQty;
}
public void setmTotStdQty(double mTotStdQty)
{
this.mTotStdQty = mTotStdQty;
}
public double getmDescOffInvTotAmt()
{
return mDescOffInvTotAmt;
}
public void setmDescOffInvTotAmt(double mDescOffInvTotAmt)
{
this.mDescOffInvTotAmt = mDescOffInvTotAmt;
}
public double getmDescbbTotAmt()
{
return mDescbbTotAmt;
}
public void setmDescbbTotAmt(double mDescbbTotAmt)
{
this.mDescbbTotAmt = mDescbbTotAmt;
}
public int getmNoArt()
{
return mNoArt;
}
public void setmNoArt(int mNoArt)
{
this.mNoArt = mNoArt;
}
public double getmRealQty()
{
return mRealQty;
}
public void setmRealQty(double mRealQty)
{
this.mRealQty = mRealQty;
}
public double getmRealQtyConv()
{
return mRealQtyConv;
}
public void setmRealQtyConv(double mRealQtyConv)
{
this.mRealQtyConv = mRealQtyConv;
}
public String getDesp_id()
{
return desp_id;
}
public void setDesp_id(String desp_id)
{
this.desp_id = desp_id;
}
public String getLine_no()
{
return line_no;
}
public void setLine_no(String line_no)
{
this.line_no = line_no;
}
public String getSord_no()
{
return sord_no;
}
public void setSord_no(String sord_no)
{
this.sord_no = sord_no;
}
public String getLine_no__sord()
{
return line_no__sord;
}
public void setLine_no__sord(String line_no__sord)
{
this.line_no__sord = line_no__sord;
}
public String getExp_lev()
{
return exp_lev;
}
public void setExp_lev(String exp_lev)
{
this.exp_lev = exp_lev;
}
public String getItem_code__ord()
{
return item_code__ord;
}
public void setItem_code__ord(String item_code__ord)
{
this.item_code__ord = item_code__ord;
}
public String getItem_code()
{
return item_code;
}
public void setItem_code(String item_code)
{
this.item_code = item_code;
}
public String getLot_no()
{
return lot_no;
}
public void setLot_no(String lot_no)
{
this.lot_no = lot_no;
}
public String getLot_sl()
{
return lot_sl;
}
public void setLot_sl(String lot_sl)
{
this.lot_sl = lot_sl;
}
public String getQuantity__ord()
{
return quantity__ord;
}
public void setQuantity__ord(String quantity__ord)
{
this.quantity__ord = quantity__ord;
}
public String getQuantity()
{
return quantity;
}
public void setQuantity(String quantity)
{
this.quantity = quantity;
}
public String getLoc_code()
{
return loc_code;
}
public void setLoc_code(String loc_code)
{
this.loc_code = loc_code;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
public String getDesp_conv__qty_stduom()
{
return desp_conv__qty_stduom;
}
public void setDesp_conv__qty_stduom(String desp_conv__qty_stduom)
{
this.desp_conv__qty_stduom = desp_conv__qty_stduom;
}
public String getDesp_unit__std()
{
return desp_unit__std;
}
public void setDesp_unit__std(String desp_unit__std)
{
this.desp_unit__std = desp_unit__std;
}
public String getUnit()
{
return unit;
}
public void setUnit(String unit)
{
this.unit = unit;
}
public String getDesp_quantity__stduom()
{
return desp_quantity__stduom;
}
public void setDesp_quantity__stduom(String desp_quantity__stduom)
{
this.desp_quantity__stduom = desp_quantity__stduom;
}
public String getTax_class()
{
return tax_class;
}
public void setTax_class(String tax_class)
{
this.tax_class = tax_class;
}
public String getTax_chap()
{
return tax_chap;
}
public void setTax_chap(String tax_chap)
{
this.tax_chap = tax_chap;
}
public String getTax_env()
{
return tax_env;
}
public void setTax_env(String tax_env)
{
this.tax_env = tax_env;
}
public String getDiscount()
{
return discount;
}
public void setDiscount(String discount)
{
this.discount = discount;
}
public String getUnit__rate()
{
return unit__rate;
}
public void setUnit__rate(String unit__rate)
{
this.unit__rate = unit__rate;
}
public String getSord_conv__qty_stduom()
{
return sord_conv__qty_stduom;
}
public void setSord_conv__qty_stduom(String sord_conv__qty_stduom)
{
this.sord_conv__qty_stduom = sord_conv__qty_stduom;
}
public String getSord_rate__stduom()
{
return sord_rate__stduom;
}
public void setSord_rate__stduom(String sord_rate__stduom)
{
this.sord_rate__stduom = sord_rate__stduom;
}
public String getRate()
{
return rate;
}
public void setRate(String rate)
{
this.rate = rate;
}
public String getQuantity_real()
{
return quantity_real;
}
public void setQuantity_real(String quantity_real)
{
this.quantity_real = quantity_real;
}
public String getQuantity_inv()
{
return quantity_inv;
}
public void setQuantity_inv(String quantity_inv)
{
this.quantity_inv = quantity_inv;
}
public String getInvoice_id()
{
return invoice_id;
}
public void setInvoice_id(String invoice_id)
{
this.invoice_id = invoice_id;
}
public String getNo_art()
{
return no_art;
}
public void setNo_art(String no_art)
{
this.no_art = no_art;
}
public String getRate__clg()
{
return rate__clg;
}
public void setRate__clg(String rate__clg)
{
this.rate__clg = rate__clg;
}
public String getDesp_rate__stduom()
{
return desp_rate__stduom;
}
public void setDesp_rate__stduom(String desp_rate__stduom)
{
this.desp_rate__stduom = desp_rate__stduom;
}
public String getDisc_amt()
{
return disc_amt;
}
public void setDisc_amt(String disc_amt)
{
this.disc_amt = disc_amt;
}
public String getCust_item__ref()
{
return cust_item__ref;
}
public void setCust_item__ref(String cust_item__ref)
{
this.cust_item__ref = cust_item__ref;
}
public String getDisc_schem_billback_amt()
{
return disc_schem_billback_amt;
}
public void setDisc_schem_billback_amt(String disc_schem_billback_amt)
{
this.disc_schem_billback_amt = disc_schem_billback_amt;
}
public String getDisc_schem_offinv_amt()
{
return disc_schem_offinv_amt;
}
public void setDisc_schem_offinv_amt(String disc_schem_offinv_amt)
{
this.disc_schem_offinv_amt = disc_schem_offinv_amt;
}
public String getAcc_code__item()
{
return acc_code__item;
}
public void setAcc_code__item(String acc_code__item)
{
this.acc_code__item = acc_code__item;
}
public String getFin_scheme()
{
return fin_scheme;
}
public void setFin_scheme(String fin_scheme)
{
this.fin_scheme = fin_scheme;
}
public String getConv__rtuom_stduom()
{
return conv__rtuom_stduom;
}
public void setConv__rtuom_stduom(String conv__rtuom_stduom)
{
this.conv__rtuom_stduom = conv__rtuom_stduom;
}
public String getSord_unit__std()
{
return sord_unit__std;
}
public void setSord_unit__std(String sord_unit__std)
{
this.sord_unit__std = sord_unit__std;
}
}
/**
*
* @param custCodeBill
* @param conn
* @return HashMap<String, String>
* @throws ITMException
*/
private HashMap<String, String> getarCustomer(String custCodeBill, Connection conn) throws ITMException
{
HashMap<String, String> arCustomerMap=new HashMap<String, String>();
String sql="";
PreparedStatement pstmt=null;
ResultSet rs=null;
// TODO Auto-generated method stub
try
{
sql="select acct_code__ar , cctr_code__ar from customer where cust_code = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, custCodeBill);
rs=pstmt.executeQuery();
if(rs.next())
{
arCustomerMap.put("macctar", rs.getString("acct_code__ar"));
arCustomerMap.put("mcctrar", rs.getString("cctr_code__ar"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return arCustomerMap;
}
/**
*
* @param itemSer
* @param conn
* @return HashMap<String, String>
* @throws ITMException
*/
private HashMap<String, String> getdisItemser(String itemSer, Connection conn) throws ITMException
{
HashMap<String, String> disItemserMap=new HashMap<String, String>();
String sql="";
PreparedStatement pstmt=null;
ResultSet rs=null;
// TODO Auto-generated method stub
try
{
sql="select acct_code__dis, cctr_code__dis from itemser where item_ser = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, itemSer);
rs=pstmt.executeQuery();
if(rs.next())
{
disItemserMap.put("lsacct_dis", checknull(rs.getString("acct_code__dis")));
disItemserMap.put("lscctr_dis", checknull(rs.getString("cctr_code__dis")));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return disItemserMap;
}
/**
*
* @param sordId
* @param itemCode
* @param conn
* @return String
* @throws ITMException
*/
private String getlsCustitemRef(String sordId, String itemCode, Connection conn) throws ITMException
{
String lsCustitemRef="",sql="";
// TODO Auto-generated method stub
PreparedStatement pstmt=null;
ResultSet rs=null;
try
{
sql="select item_code__ref from customeritem where item_code = ? and cust_code = (select cust_code from sorder where sale_order =?)";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
pstmt.setString(2, sordId);
rs=pstmt.executeQuery();
if(rs.next())
{
lsCustitemRef=checknull(rs.getString("item_code__ref"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return lsCustitemRef;
}
/**
*
* @param sorderNo
* @param conn
* @return HashMap<String, String>
* @throws ITMException
*/
private HashMap<String, String> getsorderSal(String sorderNo, Connection conn) throws ITMException
{
HashMap<String, String> sorderSalMap=new HashMap<String, String>();
String sql="";
PreparedStatement pstmt=null;
ResultSet rs=null;
// TODO Auto-generated method stub
try
{
sql="select acct_code__sal, cctr_code__sal, market_reg, order_type from sorder where sale_order =?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, sorderNo);
rs=pstmt.executeQuery();
if(rs.next())
{
sorderSalMap.put("lsacct_sal", rs.getString("acct_code__sal"));
sorderSalMap.put("lscctr_sal", rs.getString("cctr_code__sal"));
sorderSalMap.put("ls_market_reg", rs.getString("market_reg"));
sorderSalMap.put("ls_ordertype", rs.getString("order_type"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return sorderSalMap;
}
/**
*
* @param sordId
* @param conn
* @return String
* @throws ITMException
*/
private String getLsFinscheme(String sordId, Connection conn) throws ITMException
{
String lsFinscheme="",sql="";
// TODO Auto-generated method stub
PreparedStatement pstmt=null;
ResultSet rs=null;
try
{
sql="select fin_scheme from sorder where sale_order = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, sordId);
rs=pstmt.executeQuery();
if(rs.next())
{
lsFinscheme=checknull(rs.getString("fin_scheme"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return lsFinscheme;
}
/**
*
* @param sorderNo
* @param conn
* @return HashMap<String, String>
* @throws ITMException
*/
private HashMap<String, String> getAcctSchemehdr(String sorderNo, Connection conn) throws ITMException
{
HashMap<String, String> acctSchemehdrMap=new HashMap<String, String>();
String sql="";
PreparedStatement pstmt=null;
ResultSet rs=null;
// TODO Auto-generated method stub
try
{
sql="select a.acc_code__order,a.acct_code__pr,a.cctr_code__pr from bom a,sorder_scheme b where a.bom_code = b.scheme_code"
+ " and b.tran_id = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, sorderNo);
rs=pstmt.executeQuery();
if(rs.next())
{
acctSchemehdrMap.put("ls_acct_schemehdr", rs.getString("acc_code__order"));
acctSchemehdrMap.put("ls_acct_code__pr", rs.getString("acct_code__pr"));
acctSchemehdrMap.put("ls_cctr_code__pr", rs.getString("cctr_code__pr"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return acctSchemehdrMap;
}
/**<NEWLINE>
*
* @param sordId
* @param lineNoSord
* @param conn
* @return String
* @throws ITMException
*/
private String getLsAcctSchemedet(String sordId, String lineNoSord, Connection conn) throws ITMException
{
String lsAcctSchemedet="",sql="";
// TODO Auto-generated method stub
PreparedStatement pstmt=null;
ResultSet rs=null;
try
{
sql="select a.acc_code__item from bom a,sorderdet_scheme b where a.bom_code = b.scheme_code "
+ "and tran_id = ? and line_no_form = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, sordId);
pstmt.setString(2, lineNoSord);
rs=pstmt.executeQuery();
if(rs.next())
{
lsAcctSchemedet=checknull(rs.getString("acc_code__item"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return lsAcctSchemedet;
}
/**
* Save XML data
* @param siteCode
* @param xmlString
* @param xtraParams
* @param conn
* @return String
* @throws ITMException
*/
private String saveData(String siteCode, String xmlString, String xtraParams, Connection conn) throws ITMException
{
System.out.println("saving data...........");
InitialContext ctx = null;
String retString = null;
MasterStatefulLocal masterStateful = null; // for ejb3
ibase.utility.UserInfoBean userInfo = new UserInfoBean();
String chgUser = "", chgTerm = "";
String loginCode = "", loginEmpCode = "", loginSiteCode = "";
E12GenericUtility genericUtility = new E12GenericUtility();
try
{
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
masterStateful = (MasterStatefulLocal) ctx.lookup("ibase/MasterStatefulEJB/local");
System.out.println("-----------masterStateful------- " + masterStateful);
String[] authencate = new String[2];
authencate[0] = "";
authencate[1] = "";
System.out.println("xmlString to masterstateful [" + xmlString + "]");
// userInfo = new ibase.utility.UserInfoBean();
System.out.println("xtraParams>>>>" + xtraParams);
chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgUser");
chgTerm = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgTerm");
loginCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
loginEmpCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode");
loginSiteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
userInfo.setEmpCode(loginEmpCode);
userInfo.setRemoteHost(chgTerm);
userInfo.setSiteCode(loginSiteCode);
userInfo.setLoginCode(loginCode);
userInfo.setEntityCode(loginEmpCode);
System.out.println("userInfo>>>>>" + userInfo);
System.out.println("chgUser :" + chgUser);
System.out.println("chgTerm :" + chgTerm);
System.out.println("loginCode :" + loginCode);
System.out.println("loginEmpCode :" + loginEmpCode);
retString = masterStateful.processRequest(authencate, siteCode, true, xmlString, true, conn);
//retString = masterStateful.processRequest(userInfo, xmlString, true, conn);
System.out.println("--retString - -" + retString);
} catch (ITMException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception :CreateDistOrder :saveData :==>");
throw new ITMException(e);
}
return retString;
}
/**
* Initialise and generate log file
* @param fileName
* @return String
* @throws ITMException
*/
private String intializingLog(String fileName) throws ITMException
{
String log="intializingLog_Failed";
String strToWrite = "";
String currTime = null;
try{
SimpleDateFormat sdf1 = new SimpleDateFormat(genericUtility.getDBDateFormat());
try
{
currTime = sdf1.format(new Timestamp(System.currentTimeMillis())).toString();
currTime = currTime.replaceAll("-","");
calendar.setTime(new java.sql.Timestamp(System.currentTimeMillis()));
fileName = fileName+currTime+calendar.get(Calendar.HOUR)+""+calendar.get(Calendar.MINUTE)+".log";
fos1 = new FileOutputStream(CommonConstants.JBOSSHOME + File.separator +"EDI"+File.separator+fileName);
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
startDate = new java.util.Date(System.currentTimeMillis());
calendar.setTime(new java.sql.Timestamp(System.currentTimeMillis()));
startDateStr = sdf1.format(startDate)+" "+calendar.get(Calendar.HOUR)+":"+calendar.get(Calendar.MINUTE)+":"+calendar.get(Calendar.SECOND);
fos1.write(("Fetching Records Started At " + startDateStr +"\r\n").getBytes());
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
log ="intializingLog_Successesfull";
return log;
}
/**
* Check null String
* @param inputStr
* @return String
*/
private String checknull(String inputStr)
{
// TODO Auto-generated method stub
if(inputStr==null)
{
inputStr="";
}
return inputStr;
}
}
package ibase.webitm.ejb.dis;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.fin.InvAcct;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.ITMException;
public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoicePostLocal,PostOrdInvoicePostRemote
{
E12GenericUtility genericUtility= new E12GenericUtility();
DistCommon distCommon= new DistCommon();
FinCommon finCommon=new FinCommon();
@Override
public String invoicePosting(String invoiceId, Connection conn) throws ITMException
{
String retString="",sql="",itemSer="",lsCctrCodeSal="",lsAcctCodeSal="",lsAnalysis="",lsTemp="",tempInvId="",sqlUpd="";
String detInvId="",detAcctCode="",detCctrCode="",hdrAnalCode="",detAnalysis1="",detAnalysis2="",detAnalysis3="",detItemCd="";
String analysis1__dr="",analysis2__dr="",analysis3__dr="",analysis1__cr="",analysis2__cr="",analysis3__cr="";
String lsCctrCodeDis="",lsAcctCodeDis="",lsAcctSchemedet="",lsAcctCodePr="",lsCctrCodePr="",lsAcctCodeTax="",lsCctrCodeTax="";
String sql1="",lsTaxRecoCctr="",lsTaxRecoAcct="",lsAcctReco="",lsCctrReco="",lsAnalysis1="",lsAnalysis2="",lsAnalysis3="";
int detLineNo=0,iActCnt=0,uActCnt=0;
double detAmount=0.0,tempAmount=0.0,lnAmountDis=0.0,lcSchemeDiscount=0.0,lnAmountTax=0.0,lcRecoAmt=0.0,lnAmountSal=0.0;
PreparedStatement pstmt=null,pstmtU=null,pstmt1=null;
ResultSet rs=null,rs1=null;
boolean connFlag=false;
// TODO Auto-generated method stub
HashMap<String, String> InvoiceHrdMap=new HashMap<String, String>();
// HashMap<String, HashMap<String, String>> InvoiceAcctMap=new HashMap<String, HashMap<String,String>>();
ArrayList<Object> invoiceAcctList=new ArrayList<Object>();
ArrayList<Object> invoiceDeapList=new ArrayList<Object>();
ArrayList<Object> invoiceDetList=new ArrayList<Object>();
HashMap<String, String>InvoiceDetMap=null;
String analysisStr []=null;
try
{
if(conn==null)
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
conn.setAutoCommit(false);
connDriver = null;
connFlag=true;
}
InvAcct invAcct=new InvAcct();
/**
* Select from
* Invoice header
* */
InvoiceHrdMap=getInvoiceHdr(invoiceId,conn);
/**
* Select from
* Invoice trace
* */
invoiceDeapList=getInvoiceDesp(invoiceId,conn);
System.out.println("Invoice trace list size:- ["+invoiceDeapList.size()+"]");
// invoiceDetList=getInvoiceDet(invoiceId,conn);
/**
* Invoice trace list size
* */
if(invoiceDeapList.size()>0)
{
/**
* Insert in Table 'invacct'
* for each 'invdet' line
* */
for(int itr=0;itr<invoiceDeapList.size();itr++)
{
InvoiceDetMap=(HashMap<String, String>) invoiceDeapList.get(itr);
detInvId=InvoiceDetMap.get("invoice_id");
detItemCd=InvoiceDetMap.get("item_code");
hdrAnalCode=InvoiceHrdMap.get("anal_code");
detLineNo=Integer.parseInt(InvoiceDetMap.get("line_no"));
detAmount=Double.parseDouble(InvoiceDetMap.get("quantity__stduom")) * Double.parseDouble(InvoiceDetMap.get("rate__stduom"));
lsAnalysis=invAcct.AcctAnalysisType(" ","S-INV",InvoiceHrdMap.get("inv_type"),"CR",conn);
lsTemp="CR"+lsAnalysis;
analysisStr = lsAnalysis.split("@");
int lenCr = analysisStr.length-1;
//System.out.println("@@@cr len["+len+"]");
if( lenCr > -1 )
{
analysis1__cr = analysisStr[0];
}
else
{
analysis1__cr = "";
}
if( lenCr > 0 )
{
analysis2__cr = analysisStr[1];
}
else
{
analysis2__cr = "";
}
if( lenCr > 1)
{
analysis3__cr = analysisStr[2];
}
else
{
analysis3__cr ="";
}
lsAnalysis=invAcct.AcctAnalysisType(" ","S-INV",InvoiceHrdMap.get("inv_type"),"DR",conn);
lsTemp="DR"+lsAnalysis;
analysisStr = lsAnalysis.split("@");
int lenDr = analysisStr.length-1;
//System.out.println("@@@cr len["+len+"]");
if( lenDr > -1 )
{
analysis1__dr = analysisStr[0];
}
else
{
analysis1__dr = "";
}
if( lenDr > 0 )
{
analysis2__dr = analysisStr[1];
}
else
{
analysis2__dr = "";
}
if( lenDr > 1)
{
analysis3__dr = analysisStr[2];
}
else
{
analysis3__dr ="";
}
sql="select item_ser from item where item_code=? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, detItemCd);
rs=pstmt.executeQuery();
if(rs.next())
{
itemSer=rs.getString("item_ser");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
/**
* Select 'ls_acct_schemedet','ls_acct_code__pr','ls_cctr_code__pr'
* from 'bom' and 'sorderdet_scheme'
* */
sql="select a.acc_code__item,a.acct_code__pr,a.cctr_code__pr from bom a,sorderdet_scheme b"
+ " where a.bom_code = b.scheme_code"
+ " and tran_id = ? and line_no_form = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceDetMap.get("sord_no"));
pstmt.setString(2, InvoiceDetMap.get("sord_line_no"));
rs=pstmt.executeQuery();
if(rs.next())
{
lsAcctSchemedet=checkNull(rs.getString("acc_code__item"));
lsAcctCodePr=checkNull(rs.getString("acct_code__pr"));
lsCctrCodePr=checkNull(rs.getString("cctr_code__pr"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
lsCctrCodeSal=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "SAL", InvoiceDetMap.get("inv_type"), conn));
// detCctrCode=lsCctrCodeSal;
System.out.println("@@@@@@@@@@@@@@ lsCctrCodeSal["+lsCctrCodeSal+"]");
String ls_acct_code__sal[]=lsCctrCodeSal.split(",");
if( ls_acct_code__sal.length > 0)
{
lsAcctCodeSal=ls_acct_code__sal[0];
}
if( ls_acct_code__sal.length > 1)
{
lsCctrCodeSal=ls_acct_code__sal[1];
}
// detAcctCode=lsAcctCodeSal;
System.out.println("@@@@@@@@@@@@@@lsAcctCodeSal["+lsAcctCodeSal+"]:::lsCctrCodeSal["+lsCctrCodeSal+"]");
sql="select invoice_id,amount from invacct where acct_code=? and cctr_code=? and anal_code=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodeSal);
pstmt.setString(2, lsCctrCodeSal);
pstmt.setString(3, hdrAnalCode);
rs=pstmt.executeQuery();
if(rs.next())
{
/**
* Update record
* */
tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount");
detAmount=detAmount+tempAmount;
updateAcctAmt(tempInvId,detAmount,conn);
}
else
{
/**
* Insert record
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeSal,lsCctrCodeSal,hdrAnalCode,detAmount,analysis1__cr,analysis2__cr,analysis3__cr,conn);
}
lnAmountDis=(Double.parseDouble(InvoiceDetMap.get("rate__stduom"))*Double.parseDouble(InvoiceDetMap.get("quantity__stduom"))) * Double.parseDouble(InvoiceDetMap.get("rate__stduom"))/100;
if(lnAmountDis!=0)
{
/**
* find 'ls_cctr_code__dis'
* and 'ls_acct_code__dis'
* */
lsCctrCodeDis=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "DIS", InvoiceDetMap.get("inv_type"), conn));
String ls_acct_code__dis[]=lsCctrCodeDis.split(",");
if( ls_acct_code__dis.length > 0)
{
lsAcctCodeDis=ls_acct_code__dis[0];
}
if( ls_acct_code__dis.length > 1)
{
lsCctrCodeDis=ls_acct_code__dis[1];
}
// detAcctCode=lsAcctCodeDis;
if(lsCctrCodeDis==null || lsCctrCodeDis.trim().length()==0)
{
lsCctrCodeDis=InvoiceHrdMap.get("cctr_code__dis");
}
sql="select invoice_id,amount from invacct where acct_code=? and cctr_code=? and anal_code=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodeDis);
pstmt.setString(2, lsCctrCodeDis);
pstmt.setString(3, hdrAnalCode);
rs=pstmt.executeQuery();
if(rs.next())
{
/**
* Update record
* */
tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount");
/**
* Discount amount
* */
lnAmountDis=tempAmount-lnAmountDis;
updateAcctAmt(tempInvId,lnAmountDis,conn);
}
else
{
/**
* Insert record
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeDis,lsCctrCodeDis,hdrAnalCode,lnAmountDis,"","","",conn);
}
}//lnAmountDis amount not 0 END
/**
* Find lc_scheme_discount
* */
lcSchemeDiscount=Double.parseDouble(InvoiceDetMap.get("disc_schem_billback_amt"))+Double.parseDouble(InvoiceDetMap.get("disc_schem_offinv_amt"));
if(lcSchemeDiscount!=0)
{
sql="select invoice_id from invacct where acct_code=? and cctr_code=? and anal_code=?"
+ " and analysis1=? and analysis2=? and analysis3=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodePr);
pstmt.setString(2, lsCctrCodePr);
pstmt.setString(3, hdrAnalCode);
pstmt.setString(4, analysis1__dr);
pstmt.setString(5, analysis2__dr);
pstmt.setString(6, analysis3__dr);
rs=pstmt.executeQuery();
if(rs.next())
{
/**
* Update record
* */
tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount");
lnAmountDis=tempAmount-lcSchemeDiscount;
updateAcctAmt(tempInvId,lnAmountDis,conn);
}
else
{
/**
* Insert record
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodePr,lsCctrCodePr,hdrAnalCode,lnAmountDis,analysis1__dr,analysis2__dr,analysis3__dr,conn);
}
}// lc_scheme_discount>0 END
/**
* check lc_billback_amt>0
* */
if(Double.parseDouble(InvoiceDetMap.get("disc_schem_billback_amt"))>0)
{
sql="select invoice_id from invacct where acct_code=? and cctr_code=? and anal_code=?"
+ " and analysis1=? and analysis2=? and analysis3=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodePr);
pstmt.setString(2, lsCctrCodePr);
pstmt.setString(3, hdrAnalCode);
pstmt.setString(4, analysis1__dr);
pstmt.setString(5, analysis2__dr);
pstmt.setString(6, analysis3__dr);
rs=pstmt.executeQuery();
if(rs.next())
{
/**
* Update record
* */
tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount");
lnAmountDis=tempAmount+Double.parseDouble(InvoiceDetMap.get("disc_schem_billback_amt"));
updateAcctAmt(tempInvId,lnAmountDis,conn);
}
else
{
/**
* Insert record
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodePr,lsCctrCodePr,hdrAnalCode,Double.parseDouble(InvoiceDetMap.get("disc_schem_billback_amt")),analysis1__dr,analysis2__dr,analysis3__dr,conn);
}
}// lc_billback_amt>0 END
/**
* Select 'taxtran'details
* */
sql="select acct_code,cctr_code,sum(tax_amt), case when sum(reco_amount) is null then 0 else sum(reco_amount) end"
+ " from taxtran where tran_code = 'S-INV' and tran_id = ? and line_no = ? "
+ " and effect <> 'N' group BY acct_code,cctr_code";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceDetMap.get("invoice_id"));
pstmt.setString(2, InvoiceDetMap.get("line_no"));
rs=pstmt.executeQuery();
while(rs.next())
{
lsAcctCodeTax=checkNull(rs.getString("acct_code")).trim();
lsCctrCodeTax=checkNull(rs.getString("cctr_code"));
lnAmountTax=rs.getDouble("tax_amt");
lcRecoAmt=rs.getDouble("reco_amount");
sql1="select invoice_id,amount from invacct where acct_code=? and cctr_code=? and anal_code=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, lsAcctCodeTax);
pstmt1.setString(2, lsCctrCodeTax);
pstmt1.setString(3, hdrAnalCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
/**
* Update record
* */
tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount");
lnAmountTax=lnAmountTax+tempAmount-lcRecoAmt;
updateAcctAmt(tempInvId,lnAmountTax,conn);
}
else
{
/**
* Insert record
* */
tempAmount=lnAmountTax-lcRecoAmt;
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeTax,lsCctrCodeTax,hdrAnalCode,tempAmount,"","","",conn);
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}//'taxtran'details while END
pstmt.close();
pstmt=null;
rs.close();
rs=null;
/**
* tax reco details
* from 'taxtran'
* */
lsTaxRecoCctr=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "TAXRECO", InvoiceDetMap.get("inv_type"), conn));
// detCctrCode=lsCctrCodeSal;
String ls_tax_reco_acct[]=lsTaxRecoCctr.split(",");
if( ls_tax_reco_acct.length > 0)
{
lsTaxRecoAcct=ls_tax_reco_acct[0];
}
if( ls_tax_reco_acct.length > 1)
{
lsTaxRecoCctr =ls_tax_reco_acct[1];
}
// detAcctCode=lsAcctCodeSal;
sql="select acct_code__reco, cctr_code__reco, case when sum(reco_amount) is null then 0 else sum(reco_amount) end"
+ " from taxtran"
+ " where tran_code = 'S-INV' and tran_id = ?"
+ " and line_no = ? and effect <> 'N'"
+ " and (case when reco_amount is null then 0 else reco_amount end) <> 0"
+ " group BY acct_code__reco, cctr_code__reco ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceDetMap.get("invoice_id"));
pstmt.setString(2, InvoiceDetMap.get("line_no"));
rs=pstmt.executeQuery();
while(rs.next())
{
lsAcctReco=checkNull(rs.getString("acct_code__reco"));
lsCctrReco=checkNull(rs.getString("cctr_code__reco"));
lcRecoAmt=rs.getDouble("reco_amount");
sql1="select invoice_id,amount from invacct where acct_code=? and cctr_code=? and anal_code=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, lsAcctReco);
pstmt1.setString(2, lsCctrReco);
pstmt1.setString(3, hdrAnalCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
/**
* Update record
* */
tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount");
lcRecoAmt=lcRecoAmt+tempAmount;
updateAcctAmt(tempInvId,lcRecoAmt,conn);
}
else
{
/**
* Insert record
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctReco,lsCctrReco,hdrAnalCode,lcRecoAmt,"","","",conn);
}
}//tax reco details while END
}//invoiceDeapList FOR loop END
}
else// Invoice Trace is empty
{
/**
* If invoice trace is empty
* select from invoice det
* */
invoiceDetList=getInvoiceDet(invoiceId,conn);
System.out.println("Invoice det list size :- ["+invoiceDetList.size()+"]");
/**
* If invoice trace is empty
* invoiceDetList loop
* */
for(int itr=0;itr<invoiceDetList.size();itr++)
{
InvoiceDetMap=(HashMap<String, String>) invoiceDetList.get(itr);
detInvId=InvoiceDetMap.get("invoice_id");
detItemCd=InvoiceDetMap.get("item_code");
hdrAnalCode=InvoiceHrdMap.get("anal_code");
detLineNo=Integer.parseInt(InvoiceDetMap.get("line_no"));
lnAmountSal=Double.parseDouble(InvoiceDetMap.get("quantity__stduom")) * Double.parseDouble(InvoiceDetMap.get("rate__stduom"));
lnAmountDis=Double.parseDouble(InvoiceDetMap.get("disc_amt"));
lsAnalysis1=InvoiceDetMap.get("analysis1");
lsAnalysis2=InvoiceDetMap.get("analysis2");
lsAnalysis3 =InvoiceDetMap.get("analysis3");
sql="select item_ser from item where item_code=? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, detItemCd);
rs=pstmt.executeQuery();
if(rs.next())
{
itemSer=rs.getString("item_ser");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
lsCctrCodeSal=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "SAL", InvoiceDetMap.get("inv_type"), conn));
String ls_acct_code__sal[]=lsCctrCodeSal.split(",");
if( ls_acct_code__sal.length > 0)
{
lsAcctCodeSal=ls_acct_code__sal[0];
}
if( ls_acct_code__sal.length > 1)
{
lsCctrCodeSal=ls_acct_code__sal[1];
}
sql="select invoice_id from invacct where acct_code=? and cctr_code=? and anal_code=? and analysis1=? and analysis2=?"
+ " and analysis3=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodeSal);
pstmt.setString(2, lsCctrCodeSal);
pstmt.setString(3, hdrAnalCode);
pstmt.setString(4, lsAnalysis1);
pstmt.setString(5, lsAnalysis2);
pstmt.setString(6, lsAnalysis3);
rs=pstmt.executeQuery();
if(rs.next())
{
/**
* Update record
* */
tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount");
lnAmountSal=lnAmountSal+tempAmount;
uActCnt=updateAcctAmt(tempInvId,lnAmountSal,conn);
}
else
{
/**
* Insert record
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeSal,lsCctrCodeSal,hdrAnalCode,lnAmountSal,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn);
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
if(lnAmountDis!=0)
{
/**
* find 'ls_cctr_code__dis'
* and 'ls_acct_code__dis'
* */
lsCctrCodeDis=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "DIS", InvoiceDetMap.get("inv_type"), conn));
String ls_acct_code__dis[]=lsCctrCodeDis.split(",");
if( ls_acct_code__dis.length > 0 )
{
lsAcctCodeDis=ls_acct_code__dis[0];
}
if( ls_acct_code__dis.length > 1 )
{
lsCctrCodeDis=ls_acct_code__dis[1];
}
sql="select invoice_id from invacct where acct_code=? and cctr_code=? and anal_code=? and analysis1=? and analysis2=?"
+ " and analysis3=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodeDis);
pstmt.setString(2, lsCctrCodeDis);
pstmt.setString(3, hdrAnalCode);
pstmt.setString(4, lsAnalysis1);
pstmt.setString(5, lsAnalysis2);
pstmt.setString(6, lsAnalysis3);
rs=pstmt.executeQuery();
if(rs.next())
{
/**
* Update record
* */
tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount");
lnAmountDis=tempAmount-lnAmountDis;
updateAcctAmt(tempInvId,lnAmountDis,conn);
}
else
{
/**
* Insert record
* */
lnAmountDis=0-lnAmountDis;
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeDis,lsCctrCodeDis,hdrAnalCode,lnAmountDis,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn);
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
}// lnAmountDis!=0 END
/**
* select 'taxtran' details
* */
sql="select acct_code,cctr_code,sum(tax_amt), case when sum(reco_amount) is null then 0 else sum(reco_amount) end"
+ " from taxtran"
+ " where tran_code = 'S-INV' and tran_id = ?"
+ " and line_no = ? effect <> 'N'"
+ " group BY acct_code,cctr_code";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceDetMap.get("invoice_id"));
pstmt.setString(2, InvoiceDetMap.get("line_no"));
rs=pstmt.executeQuery();
while(rs.next())
{
lsAcctCodeTax=checkNull(rs.getString("acct_code"));
lsCctrCodeTax=checkNull(rs.getString("cctr_code"));
lnAmountTax=rs.getDouble("tax_amt");
lcRecoAmt=rs.getDouble("reco_amount");
sql1="select invoice_id from invacct where acct_code=? and cctr_code=? and anal_code=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, lsAcctCodeTax);
pstmt1.setString(2, lsCctrCodeTax);
pstmt1.setString(3, hdrAnalCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
/**
* Update record
* */
tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount");
lnAmountTax=lnAmountTax+tempAmount-lcRecoAmt;
updateAcctAmt(tempInvId,lnAmountTax,conn);
}
else
{
/**
* Insert record
* */
lnAmountTax=lnAmountTax-lcRecoAmt;
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeTax,lsCctrCodeTax,hdrAnalCode,lnAmountTax,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn);
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
/**
* tax_reco details from
* 'taxtran'
* */
lsTaxRecoCctr=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "TAXRECO", InvoiceDetMap.get("inv_type"), conn));
// detCctrCode=lsCctrCodeSal;
String ls_tax_reco_acct[]=lsTaxRecoCctr.split(",");
if( ls_tax_reco_acct.length > 0)
{
lsTaxRecoAcct=ls_tax_reco_acct[0];
}
if( ls_tax_reco_acct.length > 1)
{
lsTaxRecoCctr=ls_tax_reco_acct[1];
}
// detAcctCode=lsAcctCodeSal;
sql="select acct_code__reco, cctr_code__reco, case when sum(reco_amount) is null then 0 else sum(reco_amount) end"
+ " from taxtran"
+ " where tran_code = 'S-INV' and tran_id = ?"
+ " and line_no = ? and effect <> 'N'"
+ " and (case when reco_amount is null then 0 else reco_amount end) <> 0"
+ " group BY acct_code__reco, cctr_code__reco ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceDetMap.get("invoice_id"));
pstmt.setString(2, InvoiceDetMap.get("line_no"));
rs=pstmt.executeQuery();
while(rs.next())
{
lsAcctReco=checkNull(rs.getString("acct_code__reco")).trim();
lsCctrReco=checkNull(rs.getString("cctr_code__reco"));
lcRecoAmt=rs.getDouble("reco_amount");
sql1="select invoice_id,amount from invacct where acct_code=? and cctr_code=? and anal_code=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, lsAcctReco);
pstmt1.setString(2, lsCctrReco);
pstmt1.setString(3, hdrAnalCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
/**
* Update record
* */
tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount");
lcRecoAmt=lcRecoAmt+tempAmount;
updateAcctAmt(tempInvId,lcRecoAmt,conn);
}
else
{
/**
* Insert record
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctReco,lsCctrReco,hdrAnalCode,lcRecoAmt,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn);
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
}//invoiceDetList FOR loop END
}
/**
* Select from
* Invoice acct
* */
invoiceAcctList=getInvoiceAcct(invoiceId,conn);
System.out.println("Invoice Acct list size:- ["+invoiceAcctList.size()+"]");
/**
* Post Invoice
* */
retString=gbfPostInvoice(InvoiceHrdMap,invoiceAcctList,conn);
System.out.println("Invoice post return String :- ["+retString+"]");
/**
* Local connection commit
* */
if(connFlag)
{
conn.commit();
}
} catch (ITMException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (RemoteException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return retString;
}
private int updateAcctAmt(String tempInvId, double amount, Connection conn) throws ITMException
{
int uActCnt=0;
String sqlUpd="";
PreparedStatement pstmtU=null;
// TODO Auto-generated method stub
try
{
sqlUpd="update invacct set amount=? where invoice_id=?";
pstmtU=conn.prepareStatement(sqlUpd);
pstmtU.setDouble(1, amount);
pstmtU.setString(2, tempInvId);
uActCnt=pstmtU.executeUpdate();
pstmtU.close();
pstmtU=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return uActCnt;
}
private int insertInvAcct(String detInvId, int detLineNo, String detAcctCode, String detCctrCode, String hdrAnalCode,
double detAmount, String detAnalysis1, String detAnalysis2, String detAnalysis3, Connection conn) throws ITMException
{
// TODO Auto-generated method stub
int insertCnt=0;
String sql="";
PreparedStatement pstmt=null;
try
{
sql="insert into invacct (invoice_id,line_no,acct_code,cctr_code,anal_code,amount,analysis1,analysis2,analysis3)"
+ " values (?,?,?,?,?,?,?,?,?)";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, detInvId);
pstmt.setInt(2, detLineNo);
pstmt.setString(3, detAcctCode);
pstmt.setString(4, detCctrCode);
pstmt.setString(5, hdrAnalCode);
pstmt.setDouble(6, detAmount);
pstmt.setString(7, detAnalysis1);
pstmt.setString(8, detAnalysis2);
pstmt.setString(9, detAnalysis3);
insertCnt=pstmt.executeUpdate();
pstmt.close();
pstmt=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return insertCnt;
}
private ArrayList<Object> getInvoiceDet(String invoiceId, Connection conn) throws ITMException
{
// TODO Auto-generated method stub
ArrayList<Object> invoiceDetList=new ArrayList<Object>();
HashMap<String, String>InvoiceDetMap=null;
String sql="",chgDtStr="";
PreparedStatement pstmt=null;
ResultSet rs=null;
try
{
sql="SELECT invdet.invoice_id,invdet.line_no,invdet.sord_line_no,invdet.item_code,invdet.item_flg,"
+ "invdet.item_descr,invdet.quantity,invdet.unit,invdet.rate,invdet.unit__rate,invdet.discount,invdet.tax_class,"
+ "invdet.tax_chap,invdet.tax_env,invdet.tax_amt,invdet.net_amt,invdet.unit__std,"
+ "invdet.conv__qty_stduom,invdet.quantity__stduom,invdet.conv__rtuom_stduom,invdet.rate__stduom,invdet.chg_date,"
+ "invdet.chg_user,invdet.chg_term,invdet.comm_amt,invdet.sord_no,invdet.no_art,"
+ "invdet.disc_amt,invdet.item_code__ord,invdet.rate__clg,invdet.comm_amt__oc,invdet.analysis1,"
+ "invdet.analysis2,invdet.analysis3,' ' custitem_desc,"
+ "invdet.disc_schem_billback_amt,invdet.disc_schem_offinv_amt"
+ " FROM invdet"
+ " WHERE invdet.invoice_id =?"
+ " ORDER BY invdet.invoice_id ASC,invdet.line_no ASC,invdet.sord_line_no ASC";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, invoiceId);
rs=pstmt.executeQuery();
while(rs.next())
{
InvoiceDetMap=new HashMap<String, String>();
InvoiceDetMap.put("invoice_id", checkNull(rs.getString("invoice_id")));
InvoiceDetMap.put("line_no", checkNull(rs.getString("line_no")));
InvoiceDetMap.put("sord_line_no", checkNull(rs.getString("sord_line_no")));
InvoiceDetMap.put("item_code", checkNull(rs.getString("item_code")));
InvoiceDetMap.put("item_flg", checkNull(rs.getString("item_flg")));
InvoiceDetMap.put("item_descr", checkNull(rs.getString("item_descr")));
InvoiceDetMap.put("quantity", checkNull(rs.getString("quantity")==null?"0.0":rs.getString("quantity")));
InvoiceDetMap.put("unit", checkNull(rs.getString("unit")));
InvoiceDetMap.put("unit__rate", checkNull(rs.getString("unit__rate")));
InvoiceDetMap.put("discount", checkNull(rs.getString("discount")));
InvoiceDetMap.put("tax_class", checkNull(rs.getString("tax_class")));
InvoiceDetMap.put("tax_chap", checkNull(rs.getString("tax_chap")));
InvoiceDetMap.put("tax_env", checkNull(rs.getString("tax_env")));
InvoiceDetMap.put("tax_amt", checkNull(rs.getString("tax_amt")));
InvoiceDetMap.put("net_amt", checkNull(rs.getString("net_amt")));
InvoiceDetMap.put("unit__std", checkNull(rs.getString("unit__std")));
InvoiceDetMap.put("conv__qty_stduom", checkNull(rs.getString("conv__qty_stduom")==null?"0.0":rs.getString("conv__qty_stduom")));
InvoiceDetMap.put("quantity__stduom", checkNull(rs.getString("quantity__stduom")==null?"0.0":rs.getString("quantity__stduom")));
InvoiceDetMap.put("conv__rtuom_stduom", checkNull(rs.getString("conv__rtuom_stduom")));
InvoiceDetMap.put("rate__stduom", checkNull(rs.getString("rate__stduom")==null?"0.0":rs.getString("rate__stduom")));
chgDtStr=genericUtility.getValidDateString(rs.getString("chg_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
InvoiceDetMap.put("chg_date", chgDtStr);
InvoiceDetMap.put("chg_user", checkNull(rs.getString("chg_user")));
InvoiceDetMap.put("chg_term", checkNull(rs.getString("chg_term")));
InvoiceDetMap.put("comm_amt", checkNull(rs.getString("comm_amt")));
InvoiceDetMap.put("sord_no", checkNull(rs.getString("sord_no")));
InvoiceDetMap.put("no_art", checkNull(rs.getString("no_art")==null?"0":rs.getString("no_art")));
InvoiceDetMap.put("disc_amt", checkNull(rs.getString("disc_amt")==null?"0.0":rs.getString("disc_amt")));
InvoiceDetMap.put("item_code__ord", checkNull(rs.getString("item_code__ord")));
InvoiceDetMap.put("rate__clg", checkNull(rs.getString("rate__clg")));
InvoiceDetMap.put("comm_amt__oc", checkNull(rs.getString("comm_amt__oc")==null?"0.0":rs.getString("comm_amt__oc")));
InvoiceDetMap.put("analysis1", checkNull(rs.getString("analysis1")));
InvoiceDetMap.put("analysis2", checkNull(rs.getString("analysis2")));
InvoiceDetMap.put("analysis3", checkNull(rs.getString("analysis3")));
InvoiceDetMap.put("disc_schem_billback_amt", checkNull(rs.getString("disc_schem_billback_amt")==null?"0.0":rs.getString("disc_schem_billback_amt")));
InvoiceDetMap.put("disc_schem_offinv_amt", checkNull(rs.getString("disc_schem_offinv_amt")==null?"0.0":rs.getString("disc_schem_offinv_amt")));
invoiceDetList.add(InvoiceDetMap);
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (ITMException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return invoiceDetList;
}
private String gbfPostInvoice(HashMap<String, String> InvoiceHrdMap, ArrayList<Object> invoiceAcctList,Connection conn) throws ITMException
{
String retString="";
// TODO Auto-generated method stub
/**
* Posting Invoice header
* */
retString=gbfPostInvoiceHdr(InvoiceHrdMap,conn);
retString=gbfPostInvoiceDet(InvoiceHrdMap,invoiceAcctList,conn);
return retString;
}
private String gbfPostInvoiceDet(HashMap<String, String> InvoiceHrdMap, ArrayList<Object> invoiceAcctList, Connection conn) throws ITMException
{
// TODO Auto-generated method stub
String retString="",lsPostdate="",ldPostdate="",sql="",lsProjCode="",partyDocRef="";
PreparedStatement pstmt=null;
ResultSet rs=null;
HashMap glTraceMap = null;
HashMap<String, String>InvoiceAcctMap=null;
try
{
lsPostdate=checkNull(finCommon.getFinparams("999999", "POST_DATE_INV", conn));
if(lsPostdate==null || lsPostdate.equalsIgnoreCase("NULLFOUND") || lsPostdate.trim().length()==0)
{
ldPostdate=InvoiceHrdMap.get("tran_date");
}
if(lsPostdate.contains("TRAN"))
{
ldPostdate=InvoiceHrdMap.get("tran_date");
}
else if(lsPostdate.contains("EFF"))
{
ldPostdate=InvoiceHrdMap.get("eff_date");
}
else
{
ldPostdate=InvoiceHrdMap.get("tran_date");
}
sql="select b.proj_code from invoice a, sorder b where a.sale_order = b.sale_order and a.invoice_id =?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceHrdMap.get("invoice_id"));
rs=pstmt.executeQuery();
if(rs.next())
{
lsProjCode=checkNull(rs.getString("proj_code"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
for(int itr=0; itr<invoiceAcctList.size();itr++)
{
InvoiceAcctMap=new HashMap<String, String>();
InvoiceAcctMap=(HashMap<String, String>) invoiceAcctList.get(itr);
/**
* Generate gl_trace Map
* */
glTraceMap=new HashMap();
glTraceMap.put("ref_type", "D");
glTraceMap.put("ref_ser", "S-INV");
glTraceMap.put("ref_id", InvoiceHrdMap.get("invoice_id"));
glTraceMap.put("ref_id", InvoiceHrdMap.get("invoice_id"));
partyDocRef = finCommon.gfGetPartyDocRef((String)glTraceMap.get("ref_ser"), (String)glTraceMap.get("ref_id"),conn);
glTraceMap.put("party_doc_ref", partyDocRef);
glTraceMap.put("tran_date", ldPostdate);
glTraceMap.put("eff_date",new Timestamp(Timestamp.parse(InvoiceHrdMap.get("eff_date"))));
glTraceMap.put("fin_entity", InvoiceHrdMap.get("fin_entity"));
glTraceMap.put("site_code", InvoiceHrdMap.get("site_code"));
glTraceMap.put("sundry_type","O");
glTraceMap.put("sundry_code"," ");
glTraceMap.put("acct_code",InvoiceAcctMap.get("acct_code"));
glTraceMap.put("cctr_code",InvoiceAcctMap.get("cctr_code"));
glTraceMap.put("anal_code",InvoiceAcctMap.get("anal_code"));
glTraceMap.put("curr_code",InvoiceHrdMap.get("curr_code"));
glTraceMap.put("exch_rate",InvoiceHrdMap.get("exch_rate"));
if(Double.parseDouble(InvoiceAcctMap.get("amount"))>0)
{
glTraceMap.put("dr_amt",0);
glTraceMap.put("cr_amt",InvoiceAcctMap.get("amount"));
}
else
{
glTraceMap.put("dr_amt",(0-Double.parseDouble(InvoiceAcctMap.get("amount"))));
glTraceMap.put("cr_amt",0);
}
glTraceMap.put("remarks", InvoiceHrdMap.get("net_amt").substring(0, 60));
glTraceMap.put("proj_code", lsProjCode);
glTraceMap.put("ANALYSIS1", InvoiceAcctMap.get("analysis1"));
glTraceMap.put("ANALYSIS2", InvoiceAcctMap.get("analysis2"));
glTraceMap.put("ANALYSIS3", InvoiceAcctMap.get("analysis3"));
/**
* gl_trace update
* */
retString=finCommon.glTraceUpdate(glTraceMap,conn);
}
} catch (ITMException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return retString;
}
private String gbfPostInvoiceHdr(HashMap<String, String> InvoiceHrdMap,Connection conn) throws ITMException
{
// TODO Auto-generated method stub
String retSting="",sysDate="",lsPostdate="",sql="",lsProjCode="",partyDocRef="",lcCramt="",lsAnalysis="",lsTemp="",llRelAfter="",lsAmtType="";
String analysis1__dr="",analysis2__dr="",analysis3__dr="",analysis1__cr="",analysis2__cr="",analysis3__cr="",sql1="";
double lc_cramt=0.0,lc_dramt=0.0,lcSchemehdrAmt=0.0,lcRelAmt=0.0,lcTotAmt=0.0;
Timestamp ldDueDate=null;
PreparedStatement pstmt=null,pstmt1=null;
ResultSet rs=null,rs1=null;
HashMap sundryBalMap = null;
HashMap glTraceMap = null;
HashMap receivablesMap = null;
String[] analysisStr =null;
int cnt=0,lsNo=0;
UtilMethods utlMethods= new UtilMethods();
Timestamp ldDiscdt=null;
try
{
java.util.Date today = new java.util.Date();
Calendar cal = Calendar.getInstance();
cal.setTime(today);
today = cal.getTime();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
sysDate = sdf.format(today);
System.out.println("System date :- [" + sysDate + "]");
lsPostdate=checkNull(finCommon.getFinparams("999999", "POST_DATE_INV", conn));
if(lsPostdate==null || lsPostdate.trim().length()==0)
{
lsPostdate=InvoiceHrdMap.get("tran_date");
}
else if(lsPostdate.contains("EFF"))
{
lsPostdate=InvoiceHrdMap.get("eff_date");
}
/**
* Generate sundry_bal Map
* */
sundryBalMap = new HashMap();
sundryBalMap.put("tran_date",new Timestamp(Timestamp.parse(InvoiceHrdMap.get("tran_date"))));
sundryBalMap.put("eff_date",new Timestamp(Timestamp.parse(InvoiceHrdMap.get("eff_date"))));
sundryBalMap.put("fin_entity", InvoiceHrdMap.get("fin_entity"));
sundryBalMap.put("site_code", InvoiceHrdMap.get("site_code"));
sundryBalMap.put("sundry_type", "C");
sundryBalMap.put("sundry_code", InvoiceHrdMap.get("cust_code__bil"));
sundryBalMap.put("acct_code", InvoiceHrdMap.get("acct_code__ar"));
sundryBalMap.put("cctr_code", InvoiceHrdMap.get("cctr_code__ar"));
sundryBalMap.put("curr_code", InvoiceHrdMap.get("curr_code"));
sundryBalMap.put("exch_rate", InvoiceHrdMap.get("exch_rate"));
sundryBalMap.put("dr_amt", InvoiceHrdMap.get("net_amt"));
sundryBalMap.put("cr_amt", 0);
sundryBalMap.put("adv_amt", 0.0);
sundryBalMap.put("contact_code", "");
/**
* sundry_bal update
* */
retSting = finCommon.gbf_sundrybal_upd(sundryBalMap,conn);
sql="select b.proj_code from invoice a, sorder b where a.sale_order = ? and a.invoice_id = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceHrdMap.get("sale_order"));
pstmt.setString(2, InvoiceHrdMap.get("invoice_id"));
rs=pstmt.executeQuery();
if(rs.next())
{
lsProjCode=checkNull(rs.getString("proj_code"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
/**
* Generate gl_trace Map
* */
glTraceMap.put("ref_type", "D");
glTraceMap.put("ref_ser", "S-INV");
glTraceMap.put("ref_id", InvoiceHrdMap.get("invoice_id"));
partyDocRef = finCommon.gfGetPartyDocRef((String)glTraceMap.get("ref_ser"), (String)glTraceMap.get("ref_id"),conn);
glTraceMap.put("party_doc_ref", partyDocRef);
glTraceMap.put("tran_date", lsPostdate);
glTraceMap.put("eff_date",new Timestamp(Timestamp.parse(InvoiceHrdMap.get("eff_date"))));
glTraceMap.put("fin_entity", InvoiceHrdMap.get("fin_entity"));
glTraceMap.put("site_code", InvoiceHrdMap.get("site_code"));
glTraceMap.put("sundry_type", "C");
glTraceMap.put("sundry_code", InvoiceHrdMap.get("cust_code__bil"));
glTraceMap.put("acct_code", InvoiceHrdMap.get("acct_code__ar"));
glTraceMap.put("anal_code", InvoiceHrdMap.get("anal_code"));
glTraceMap.put("curr_code", InvoiceHrdMap.get("curr_code"));
glTraceMap.put("exch_rate", InvoiceHrdMap.get("exch_rate"));
glTraceMap.put("dr_amt", InvoiceHrdMap.get("net_amt"));
glTraceMap.put("cr_amt", 0);
glTraceMap.put("remarks", InvoiceHrdMap.get("net_amt").substring(0, 60));
glTraceMap.put("proj_code", lsProjCode);
sql="select sum(case when tax_amt is null then 0 else tax_amt end) as lcCramt from taxtran where tran_code = 'S-INV'"
+ " and tran_id = ? and effect <> 'N' and pay_tax = 'Y' ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, glTraceMap.get("ref_id").toString());
rs=pstmt.executeQuery();
if(rs.next())
{
lcCramt=checkNull(rs.getString("lcCramt"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
if(lcCramt==null || lcCramt.trim().length()==0)
{
lc_cramt=0;
lc_dramt=(Double)glTraceMap.get("dr_amt")-lc_cramt;
glTraceMap.put("dr_amt",lc_dramt);
/**
* gl_trace update
* */
retSting=finCommon.glTraceUpdate(glTraceMap,conn);
}
if(Math.abs(Double.parseDouble(lcCramt))>0)
{
glTraceMap.put("dr_amt",0);
lc_cramt=(-1)*lc_cramt;
glTraceMap.put("cr_amt",lc_cramt);
/**
* gl_trace update
* */
retSting=finCommon.glTraceUpdate(glTraceMap,conn);
}
lcSchemehdrAmt=Double.parseDouble(InvoiceHrdMap.get("disc_offinv_amt_hdr"))+Double.parseDouble(InvoiceHrdMap.get("disc_billback_amt_hdr"));
if(lcSchemehdrAmt>0)
{
InvAcct invAcct=new InvAcct();
lsAnalysis=invAcct.AcctAnalysisType(" ","S-INV",InvoiceHrdMap.get("inv_type"),"DR",conn);
lsTemp="Invoice Header Posting"+lsAnalysis;
analysisStr = lsAnalysis.split("@");
int len = analysisStr.length-1;
//System.out.println("@@@cr len["+len+"]");
if( len > -1 )
{
analysis1__dr = analysisStr[0];
}
else
{
analysis1__dr = "";
}
if( len > 0 )
{
analysis2__dr = analysisStr[1];
}
else
{
analysis2__dr = "";
}
if( len > 1)
{
analysis3__dr = analysisStr[2];
}
else
{
analysis3__dr ="";
}
glTraceMap.put("sundry_code", ' ');
glTraceMap.put("acct_code", InvoiceHrdMap.get("acc_code__order"));
if(InvoiceHrdMap.get("cctr_code__sal")!=null && InvoiceHrdMap.get("cctr_code__sal").trim().length()>0)
{
glTraceMap.put("cctr_code", InvoiceHrdMap.get("cctr_code__sal"));
}
else
{
glTraceMap.put("cctr_code", InvoiceHrdMap.get("cctr_code__ar"));
}
glTraceMap.put("sundry_type", "O");
glTraceMap.put("dr_amt", lcSchemehdrAmt);
glTraceMap.put("cr_amt", 0);
glTraceMap.put("ANALYSIS1", analysis1__dr);
glTraceMap.put("ANALYSIS2", analysis2__dr);
glTraceMap.put("ANALYSIS3", analysis3__dr);
/**
* gl_trace update
* */
retSting=finCommon.glTraceUpdate(glTraceMap,conn);
}
if(Double.parseDouble(InvoiceHrdMap.get("disc_billback_amt_hdr"))>0)
{
glTraceMap.put("sundry_code", ' ');
glTraceMap.put("acct_code", InvoiceHrdMap.get("acct_code__pr"));
glTraceMap.put("cctr_code", InvoiceHrdMap.get("cctr_code__pr"));
glTraceMap.put("dr_amt", 0);
glTraceMap.put("cr_amt", InvoiceHrdMap.get("disc_billback_amt_hdr"));
/**
* gl_trace update
* */
retSting=finCommon.glTraceUpdate(glTraceMap,conn);
}
sql="select count(*) as cnt from sord_cr_terms where sale_order = ? and cr_type = '03'";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceHrdMap.get("sale_order"));
rs=pstmt.executeQuery();
if(rs.next())
{
cnt=rs.getInt("cnt");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
if(cnt>0)
{
sql="select line_no,rel_after,rel_amt,amt_type from sord_cr_terms where sale_order = ? and cr_type = '03'";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceHrdMap.get("sale_order"));
rs=pstmt.executeQuery();
while(rs.next())
{
lsNo=rs.getInt("line_no");
llRelAfter=checkNull(rs.getString("rel_after"));
lcRelAmt=rs.getDouble("rel_amt");
lsAmtType=checkNull(rs.getString("amt_type"));
if(lsAmtType.equalsIgnoreCase("01"))
{
lcRelAmt=(lcRelAmt/100)*(Double)glTraceMap.get("dr_amt");
}
else if(lsAmtType.equalsIgnoreCase("03"))
{
sql1="select sum(rel_amt) as lcTotAmt from sord_cr_terms where sale_order = ? and cr_type = '03' and amt_type = '02'";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, InvoiceHrdMap.get("sale_order"));
rs1=pstmt1.executeQuery();
if(rs1.next())
{
lcTotAmt=rs.getDouble("lcTotAmt");
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
lcRelAmt=(Double)glTraceMap.get("dr_amt")-lcTotAmt;
}
ldDueDate=Timestamp.valueOf(lsPostdate);
if(!llRelAfter.equalsIgnoreCase("0"))
{
ldDueDate=utlMethods.RelativeDate(ldDueDate,Integer.parseInt(llRelAfter));
}
receivablesMap=new HashMap();
receivablesMap.put("tran_ser", "S-INV");
receivablesMap.put("tran_date", Timestamp.valueOf(lsPostdate));
receivablesMap.put("fin_entity", InvoiceHrdMap.get("fin_entity"));
receivablesMap.put("site_code", InvoiceHrdMap.get("site_code"));
receivablesMap.put("ref_no", InvoiceHrdMap.get("invoice_id"));
receivablesMap.put("ref_date", Timestamp.valueOf(lsPostdate));
receivablesMap.put("due_date", ldDueDate);
receivablesMap.put("curr_code", InvoiceHrdMap.get("curr_code"));
receivablesMap.put("exch_rate", InvoiceHrdMap.get("exch_rate"));
receivablesMap.put("cust_code", InvoiceHrdMap.get("cust_code__bil"));
receivablesMap.put("acct_code", InvoiceHrdMap.get("acct_code__ar"));
receivablesMap.put("cctr_code", InvoiceHrdMap.get("cctr_code__ar"));
receivablesMap.put("tax_amt", InvoiceHrdMap.get("tax_amt"));
receivablesMap.put("discount", InvoiceHrdMap.get("disc_amt"));
receivablesMap.put("tot_amt",lcRelAmt);
receivablesMap.put("auto_rcp", "N");
receivablesMap.put("bank_code",InvoiceHrdMap.get("bank_code"));
receivablesMap.put("ref_type", InvoiceHrdMap.get("inv_type"));
receivablesMap.put("cr_term", InvoiceHrdMap.get("cr_term"));
receivablesMap.put("sales_pers", InvoiceHrdMap.get("sales_pers"));
receivablesMap.put("eff_date", InvoiceHrdMap.get("eff_date"));
receivablesMap.put("sales_pers__1", InvoiceHrdMap.get("sales_pers__1"));
receivablesMap.put("sales_pers__2", InvoiceHrdMap.get("sales_pers__2"));
receivablesMap.put("item_ser", InvoiceHrdMap.get("item_ser"));
receivablesMap.put("line_no__ref", lsNo);
receivablesMap.put("gp_no", InvoiceHrdMap.get("gp_no"));
receivablesMap.put("gp_date", InvoiceHrdMap.get("gp_date"));
ldDiscdt=gbf_calc_discountdate(InvoiceHrdMap.get("cr_term"), InvoiceHrdMap.get("tran_date"), InvoiceHrdMap.get("eff_date"),
InvoiceHrdMap.get("tran_date"),conn);
receivablesMap.put("discount_date", ldDiscdt);
/**
* receivable update
* */
retSting = finCommon.gbfReceivablesUpd(receivablesMap,conn);
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
}
else
{
receivablesMap=new HashMap();
receivablesMap.put("tran_ser", "S-INV");
receivablesMap.put("tran_date", Timestamp.valueOf(lsPostdate));
receivablesMap.put("fin_entity", InvoiceHrdMap.get("fin_entity"));
receivablesMap.put("site_code", InvoiceHrdMap.get("site_code"));
receivablesMap.put("ref_no", InvoiceHrdMap.get("invoice_id"));
receivablesMap.put("ref_date", Timestamp.valueOf(lsPostdate));
receivablesMap.put("due_date", InvoiceHrdMap.get("due_date"));
receivablesMap.put("curr_code", InvoiceHrdMap.get("curr_code"));
receivablesMap.put("exch_rate", InvoiceHrdMap.get("exch_rate"));
receivablesMap.put("cust_code", InvoiceHrdMap.get("cust_code__bil"));
receivablesMap.put("acct_code", InvoiceHrdMap.get("acct_code__ar"));
receivablesMap.put("cctr_code", InvoiceHrdMap.get("cctr_code__ar"));
receivablesMap.put("tax_amt", InvoiceHrdMap.get("tax_amt"));
receivablesMap.put("discount", InvoiceHrdMap.get("disc_amt"));
receivablesMap.put("tot_amt",lcRelAmt);
receivablesMap.put("auto_rcp", "N");
receivablesMap.put("bank_code",InvoiceHrdMap.get("bank_code"));
receivablesMap.put("ref_type", InvoiceHrdMap.get("inv_type"));
receivablesMap.put("cr_term", InvoiceHrdMap.get("cr_term"));
receivablesMap.put("sales_pers", InvoiceHrdMap.get("sales_pers"));
receivablesMap.put("eff_date", InvoiceHrdMap.get("eff_date"));
receivablesMap.put("sales_pers__1", InvoiceHrdMap.get("sales_pers__1"));
receivablesMap.put("sales_pers__2", InvoiceHrdMap.get("sales_pers__2"));
receivablesMap.put("item_ser", InvoiceHrdMap.get("item_ser"));
receivablesMap.put("gp_no", InvoiceHrdMap.get("gp_no"));
receivablesMap.put("gp_date", InvoiceHrdMap.get("gp_date"));
ldDiscdt=gbf_calc_discountdate(InvoiceHrdMap.get("cr_term"), InvoiceHrdMap.get("tran_date"), InvoiceHrdMap.get("eff_date"),
InvoiceHrdMap.get("tran_date"),conn);
receivablesMap.put("discount_date", ldDiscdt);
/**
* receivable update
* */
retSting = finCommon.gbfReceivablesUpd(receivablesMap,conn);
}
} catch (ITMException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return retSting;
}
private Timestamp gbf_calc_discountdate(String crTerm, String vouchDate, String effDate, String billDate,Connection conn) throws ITMException
{
String discountDate="",sql="",lsStart="",lsMonth="",lsOverridediscdt="";
PreparedStatement pstmt=null;
ResultSet rs=null;
Timestamp ldDuedate=null,ldTranDt=null;
long llCount,liMonth,liCrDays,liCurrDays,liDueDays;
int sqlCount=0,liDays=0;
UtilMethods utlMethods= new UtilMethods();
try
{
// TODO Auto-generated method stub
sql="select start_from from crterm where cr_term = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, crTerm);
rs=pstmt.executeQuery();
if(rs.next())
{
lsStart=checkNull(rs.getString("start_from"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
if(lsStart.equalsIgnoreCase("R"))
{
ldTranDt=Timestamp.valueOf(vouchDate);
}
else if(lsStart.equalsIgnoreCase("D")||lsStart.equalsIgnoreCase("Q"))
{
ldTranDt=Timestamp.valueOf(effDate);
}
else if(lsStart.equalsIgnoreCase("B"))
{
ldTranDt=Timestamp.valueOf(billDate);
}
liMonth=ldTranDt.getMonth();
if(liMonth==12)
{
liMonth=1;
lsMonth="01";
}
else
{
liMonth=liMonth+1;
if(liMonth>9)
{
lsMonth=String.valueOf(liMonth);
}
else
{
lsMonth="0"+String.valueOf(liMonth);
}
}
sql="select override_discount_date from crterm_disc where cr_term = ?"
+ " and cr_month= ? and override_discount_date is not null";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, crTerm);
pstmt.setString(2, lsMonth);
rs=pstmt.executeQuery();
if(rs.next())
{
sqlCount++;
lsOverridediscdt=checkNull(rs.getString("override_discount_date"));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
if(sqlCount>0)
{
if(lsOverridediscdt!=null && lsOverridediscdt.trim().length()>0)
{
liCrDays=Long.parseLong(lsOverridediscdt.substring(2));
}
}
else
{
sql="select crtermfc.max_day,crterm_disc.override_discount_date"
+ " from crterm_disc,crtermfc"
+ " where crterm_disc.cr_term = crtermfc.cr_term"
+ " and trim(crtermfc.line_no) = '1' and crterm_disc.cr_term =?"
+ " and crterm_disc.cr_month = '99' and crterm_disc.override_discount_date is not null";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, crTerm);
rs=pstmt.executeQuery();
if(rs.next())
{
sqlCount++;
lsOverridediscdt=checkNull(rs.getString("override_discount_date"));
liDays=rs.getInt("max_day");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
if(sqlCount>0)
{
liCrDays=Long.parseLong(lsOverridediscdt.substring(2));
}
else
{
sql="select max_day from crtermfc where cr_term = ? and crtermfc.line_no = '1'";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, crTerm);
rs=pstmt.executeQuery();
if(rs.next())
{
sqlCount++;
liDays=rs.getInt("max_day");
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
if(sqlCount>0)
{
ldDuedate=null;
return ldDuedate;
}
}
}
ldDuedate=utlMethods.RelativeDate(ldTranDt,liDays);
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return ldDuedate;
}
private ArrayList<Object> getInvoiceDesp(String invoiceId, Connection conn) throws ITMException
{
HashMap<String, String> InvoiceDespMap=new HashMap<String, String>();
ArrayList<Object> invoiceDeapList=new ArrayList<Object>();
double ln_amount_dis=0.00,ln_amount_sal=0.00;
String rateStd="",qtyStd="",discount="",ls_cctr_code__sal="",mfgDtStr="",expDtStr="",excDtStr="";
// TODO Auto-generated method stub
String sql="";
PreparedStatement pstmt=null;
ResultSet rs=null;
try
{
sql="SELECT invoice_trace.invoice_id,invoice_trace.inv_line_no,invoice_trace.desp_id,invoice_trace.desp_line_no,invoice_trace.item_code,"
+ "invoice_trace.quantity,invoice_trace.unit,invoice_trace.rate,invoice_trace.unit__rate,invoice_trace.discount,"
+ "invoice_trace.tax_class,invoice_trace.tax_chap,invoice_trace.tax_env,invoice_trace.tax_amt,invoice_trace.net_amt,"
+ "invoice_trace.unit__std,invoice_trace.conv__qty_stduom,invoice_trace.quantity__stduom,invoice_trace.conv__rtuom_stduom,invoice_trace.rate__stduom,"
+ "invoice_trace.comm_amt,invoice_trace.sord_no,invoice_trace.sord_line_no,invoice_trace.item_code__ord,invoice_trace.no_art,"
+ "invoice_trace.lot_no,invoice_trace.lot_sl,invoice_trace.site_code__mfg,invoice_trace.mfg_date,invoice_trace.exp_date,"
+ "invoice_trace.exp_lev,item.descr,invoice_trace.fob_value,invoice_trace.rate__clg,invoice_trace.line_no,"
+ "invoice_trace.item_ser__prom,invoice_trace.curr_code,invoice_trace.exch_rate,invoice_trace.comm_amt__oc,invoice_trace.rate__std,"
+ "invoice_trace.cost_rate,invoice_trace.line_type,invoice_trace.cust_item__ref,"
+ "FN_INV_CUSTITM_DSC( INVOICE_TRACE.INVOICE_ID,INVOICE_TRACE.ITEM_CODE,INVOICE_TRACE.CUST_ITEM__REF) custitem_desc,"
+ "invoice_trace.disc_schem_billback_amt,invoice_trace.disc_schem_offinv_amt"
+ " FROM invoice_trace,item"
+ " WHERE ( invoice_trace.item_code = item.item_code )"
+ " and( ( invoice_trace.invoice_id = ?) )"
+ "ORDER BY invoice_trace.invoice_id ASC,invoice_trace.line_no ASC ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, invoiceId);
rs=pstmt.executeQuery();
while(rs.next())
{
InvoiceDespMap.put("invoice_id", checkNull(rs.getString("invoice_id")));
InvoiceDespMap.put("inv_line_no", checkNull(rs.getString("inv_line_no")));
InvoiceDespMap.put("desp_id", checkNull(rs.getString("desp_id")));
InvoiceDespMap.put("desp_line_no", checkNull(rs.getString("desp_line_no")));
InvoiceDespMap.put("item_code", checkNull(rs.getString("item_code")));
InvoiceDespMap.put("quantity", checkNull(rs.getString("quantity")==null?"0.00":rs.getString("quantity")));
InvoiceDespMap.put("unit", checkNull(rs.getString("unit")));
InvoiceDespMap.put("rate", checkNull(rs.getString("rate")));
InvoiceDespMap.put("unit__rate", checkNull(rs.getString("unit__rate")));
discount=checkNull(rs.getString("discount")==null?"0":rs.getString("discount"));
InvoiceDespMap.put("discount", checkNull(rs.getString("discount")==null?"0":rs.getString("discount")));
InvoiceDespMap.put("tax_class", checkNull(rs.getString("tax_class")));
InvoiceDespMap.put("tax_chap", checkNull(rs.getString("tax_chap")));
InvoiceDespMap.put("tax_amt", checkNull(rs.getString("tax_amt")));
InvoiceDespMap.put("net_amt", checkNull(rs.getString("net_amt")==null?"0":rs.getString("net_amt")));
InvoiceDespMap.put("unit__std", checkNull(rs.getString("unit__std")));
InvoiceDespMap.put("conv__qty_stduom", checkNull(rs.getString("conv__qty_stduom")));
qtyStd=checkNull(rs.getString("quantity__stduom")==null?"0":rs.getString("quantity__stduom"));
InvoiceDespMap.put("quantity__stduom", checkNull(rs.getString("quantity__stduom")==null?"0":rs.getString("quantity__stduom")));
InvoiceDespMap.put("conv__rtuom_stduom", checkNull(rs.getString("conv__rtuom_stduom")));
InvoiceDespMap.put("rate__stduom", checkNull(rs.getString("rate__stduom")));
InvoiceDespMap.put("comm_amt", checkNull(rs.getString("comm_amt")));
InvoiceDespMap.put("sord_no", checkNull(rs.getString("sord_no")));
InvoiceDespMap.put("sord_line_no", checkNull(rs.getString("sord_line_no")));
InvoiceDespMap.put("no_art", checkNull(rs.getString("no_art")));
InvoiceDespMap.put("lot_no", checkNull(rs.getString("lot_no")));
InvoiceDespMap.put("lot_sl", checkNull(rs.getString("lot_sl")));
InvoiceDespMap.put("site_code__mfg", checkNull(rs.getString("site_code__mfg")));
if( rs.getString("mfg_date") != null)
{
mfgDtStr=genericUtility.getValidDateString(rs.getString("mfg_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
}
InvoiceDespMap.put("mfg_date", mfgDtStr);
if( rs.getString("exp_date") != null)
{
expDtStr=genericUtility.getValidDateString(rs.getString("exp_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
}
InvoiceDespMap.put("exp_date", expDtStr);
InvoiceDespMap.put("exp_lev", checkNull(rs.getString("exp_lev")));
InvoiceDespMap.put("item_descr", checkNull(rs.getString("descr")));
InvoiceDespMap.put("fob_value", checkNull(rs.getString("fob_value")));
InvoiceDespMap.put("rate__clg", checkNull(rs.getString("rate__clg")));
InvoiceDespMap.put("line_no", checkNull(rs.getString("line_no")));
InvoiceDespMap.put("item_ser__prom", checkNull(rs.getString("item_ser__prom")));
InvoiceDespMap.put("curr_code", checkNull(rs.getString("curr_code")));
/*
excDtStr=genericUtility.getValidDateString(rs.getString("exch_rate"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
*/
InvoiceDespMap.put("exch_rate", rs.getString("exch_rate")==null?"0":rs.getString("exch_rate"));
InvoiceDespMap.put("comm_amt__oc", checkNull(rs.getString("comm_amt__oc")));
rateStd=checkNull(rs.getString("rate__std")==null?"0":rs.getString("rate__std"));
InvoiceDespMap.put("rate__std", checkNull(rs.getString("rate__std")==null?"0":rs.getString("rate__std")));
InvoiceDespMap.put("cost_rate", checkNull(rs.getString("cost_rate")));
InvoiceDespMap.put("line_type", checkNull(rs.getString("line_type")));
InvoiceDespMap.put("cust_item__ref", checkNull(rs.getString("cust_item__ref")));
InvoiceDespMap.put("custitem_desc", checkNull(rs.getString("custitem_desc")));
InvoiceDespMap.put("disc_schem_billback_amt", checkNull(rs.getString("disc_schem_billback_amt")==null?"0":rs.getString("disc_schem_billback_amt")));
InvoiceDespMap.put("disc_schem_offinv_amt", checkNull(rs.getString("disc_schem_offinv_amt")==null?"0":rs.getString("disc_schem_offinv_amt")));
ln_amount_dis=(Double.parseDouble(rateStd)*Double.parseDouble(qtyStd))*Double.parseDouble(discount)/100;
InvoiceDespMap.put("ln_amount_dis", String.valueOf(ln_amount_dis));
ln_amount_sal=Double.parseDouble(qtyStd) * Double.parseDouble(rateStd);
InvoiceDespMap.put("ln_amount_sal", String.valueOf(ln_amount_sal));
invoiceDeapList.add(InvoiceDespMap);
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (ITMException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return invoiceDeapList;
}
private ArrayList<Object> getInvoiceAcct(String invoiceId, Connection conn) throws ITMException
{
// HashMap<String, HashMap<String, String>> InvoiceAcctExpMap=new HashMap<String, HashMap<String,String>>();
HashMap<String, String>InvoiceAcctMap=new HashMap<String, String>();
ArrayList<Object> invoiceAcctList=new ArrayList<Object>();
String sql="",lineNo="";
PreparedStatement pstmt=null;
ResultSet rs=null;
try
{
sql="SELECT invacct.invoice_id,invacct.line_no,invacct.acct_code,invacct.cctr_code,invacct.emp_code,"
+ "invacct.anal_code,invacct.amount,invacct.analysis1,invacct.analysis2,invacct.analysis3"
+ " FROM invacct WHERE INVACCT.INVOICE_ID =?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, invoiceId);
rs=pstmt.executeQuery();
while(rs.next())
{
lineNo=checkNull(rs.getString("line_no"));
InvoiceAcctMap.put("invoice_id", checkNull(rs.getString("invoice_id")));
InvoiceAcctMap.put("line_no", checkNull(rs.getString("line_no")));
InvoiceAcctMap.put("acct_code", checkNull(rs.getString("acct_code")));
InvoiceAcctMap.put("cctr_code", checkNull(rs.getString("cctr_code")));
InvoiceAcctMap.put("emp_code", checkNull(rs.getString("emp_code")));
InvoiceAcctMap.put("anal_code", checkNull(rs.getString("anal_code")));
InvoiceAcctMap.put("amount", checkNull(rs.getString("amount")));
InvoiceAcctMap.put("analysis1", checkNull(rs.getString("analysis1")));
InvoiceAcctMap.put("analysis2", checkNull(rs.getString("analysis2")));
InvoiceAcctMap.put("analysis3", checkNull(rs.getString("analysis3")));
// InvoiceAcctExpMap.put(lineNo, InvoiceAcctMap);
invoiceAcctList.add(InvoiceAcctMap);
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
// TODO Auto-generated method stub
return invoiceAcctList;
}
private HashMap<String, String> getInvoiceHdr(String invoiceId,Connection conn) throws ITMException
{
// TODO Auto-generated method stub
HashMap<String, String> InvoiceHrdMap=new HashMap<String, String>();
String sql="",trnDtStr="",despDtStr="",dueDtStr="",effDtStr="",taxDtStr="",confDtStr="",chgDtStr="";
PreparedStatement pstmt=null;
ResultSet rs=null;
try
{
sql="SELECT invoice.invoice_id,invoice.tran_date,invoice.sale_order,invoice.desp_id,invoice.tran_mode,"
+ "invoice.desp_date,invoice.site_code,invoice.eff_date,invoice.fin_entity,invoice.item_ser,"
+ "invoice.cust_code,invoice.cust_code__bil,invoice.cr_term,invoice.cr_days,invoice.due_date,"
+ "invoice.tax_date,invoice.tax_class,invoice.tax_chap,invoice.tax_env,invoice.inv_amt,"
+ "invoice.tran_id__fb,invoice.inv_type,invoice.tax_amt,invoice.disc_amt,invoice.net_amt,"
+ "invoice.curr_code,invoice.anal_code,invoice.frt_type,invoice.frt_amt,invoice.curr_code__frt,"
+ "invoice.sales_pers,invoice.comm_amt,invoice.acct_code__sal,invoice.cctr_code__sal,invoice.acct_code__ar,"
+ "invoice.cctr_code__ar,invoice.acct_code__dis,invoice.cctr_code__dis,invoice.bank_code,invoice.adj_amount,"
+ "invoice.confirmed,invoice.conf_date,invoice.emp_code__aprv,invoice.remarks,invoice.chg_date,"
+ "invoice.chg_user,invoice.chg_term,finent.descr,site.descr,customer.cust_name,"
+ "site.city,sales_pers.sp_name,invoice.exch_rate,invoice.exch_rate__frt,invoice.agent_code,"
+ "ins_agent.sagent_name,invoice.round_adj,invoice.comm_amt__oc,invoice.sales_pers__1,invoice.sales_pers__2,"
+ "invoice.sales_pers_comm_1,invoice.sales_pers_comm_2,invoice.sales_pers_comm_3,invoice.posttype,invoice.stan_code__init,"
+ "' ' as advance,fn_sundry_name( 'P',invoice.sales_pers__1,'') as salespers1_descr,"
+ "fn_sundry_name( 'P',invoice.sales_pers__2,'') as salespers2_descr,invoice.doc_status,invoice.gp_no,invoice.gp_date,"
+ "invoice.sales_grp,customer.edi_addr,"
+ "case when adj_amount < 0 then abs(to_char(adj_amount,'9999999.99')) || ' Dr. ' else abs(to_char(adj_amount,'9999999.99')) || ' Cr. ' end as adjust_amount,"
+ "invoice.disc_schem_billback_amt,invoice.disc_schem_offinv_amt,invoice.acc_code__order,invoice.disc_offinv_amt_hdr,"
+ "invoice.disc_billback_amt_hdr,invoice.acct_code__pr,invoice.cctr_code__pr"
+ " FROM invoice,sales_pers,finent,site,customer,ins_agent"
+ " WHERE ( invoice.sales_pers = sales_pers.sales_pers (+))"
+ " and( invoice.agent_code = ins_agent.agent_code (+))"
+ " and( invoice.fin_entity = finent.fin_entity )"
+ " and( invoice.site_code = site.site_code )"
+ " and( invoice.cust_code = customer.cust_code )"
+ " and( ( invoice.invoice_id = ? ) )";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, invoiceId);
rs=pstmt.executeQuery();
if(rs.next())
{
InvoiceHrdMap.put("invoice_id", checkNull(rs.getString("invoice_id")));
trnDtStr=genericUtility.getValidDateString(rs.getString("tran_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
InvoiceHrdMap.put("tran_date", trnDtStr);
InvoiceHrdMap.put("sale_order", checkNull(rs.getString("sale_order")));
InvoiceHrdMap.put("desp_id", checkNull(rs.getString("desp_id")));
InvoiceHrdMap.put("tran_mode", checkNull(rs.getString("tran_mode")));
despDtStr=genericUtility.getValidDateString(rs.getString("desp_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
InvoiceHrdMap.put("desp_date", despDtStr);
InvoiceHrdMap.put("site_code", checkNull(rs.getString("site_code")));
effDtStr=genericUtility.getValidDateString(rs.getString("eff_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
InvoiceHrdMap.put("eff_date", effDtStr);
InvoiceHrdMap.put("fin_entity", checkNull(rs.getString("fin_entity")));
InvoiceHrdMap.put("item_ser", checkNull(rs.getString("item_ser")));
InvoiceHrdMap.put("cust_code", checkNull(rs.getString("cust_code")));
InvoiceHrdMap.put("cust_code__bil", checkNull(rs.getString("cust_code__bil")));
InvoiceHrdMap.put("cr_term", checkNull(rs.getString("cr_term")));
InvoiceHrdMap.put("cr_days", checkNull(rs.getString("cr_days")));
dueDtStr=genericUtility.getValidDateString(rs.getString("due_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
InvoiceHrdMap.put("due_date",dueDtStr);
taxDtStr=genericUtility.getValidDateString(rs.getString("tax_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
InvoiceHrdMap.put("tax_date", taxDtStr);
InvoiceHrdMap.put("tax_class", checkNull(rs.getString("tax_class")));
InvoiceHrdMap.put("tax_chap", checkNull(rs.getString("tax_chap")));
InvoiceHrdMap.put("tax_env", checkNull(rs.getString("tax_env")));
InvoiceHrdMap.put("inv_amt", checkNull(rs.getString("inv_amt")));
InvoiceHrdMap.put("tran_id__fb", checkNull(rs.getString("tran_id__fb")));
InvoiceHrdMap.put("inv_type", checkNull(rs.getString("inv_type")));
InvoiceHrdMap.put("tax_amt", checkNull(rs.getString("tax_amt")));
InvoiceHrdMap.put("disc_amt", checkNull(rs.getString("disc_amt")));
InvoiceHrdMap.put("net_amt", checkNull(rs.getString("net_amt")));
InvoiceHrdMap.put("curr_code", checkNull(rs.getString("curr_code")));
InvoiceHrdMap.put("anal_code", checkNull(rs.getString("anal_code")));
InvoiceHrdMap.put("frt_type", checkNull(rs.getString("frt_type")));
InvoiceHrdMap.put("frt_amt", checkNull(rs.getString("frt_amt")));
InvoiceHrdMap.put("curr_code__frt", checkNull(rs.getString("curr_code__frt")));
InvoiceHrdMap.put("sales_pers", checkNull(rs.getString("sales_pers")));
InvoiceHrdMap.put("comm_amt", checkNull(rs.getString("comm_amt")));
InvoiceHrdMap.put("acct_code__sal", checkNull(rs.getString("acct_code__sal")));
InvoiceHrdMap.put("cctr_code__sal", checkNull(rs.getString("cctr_code__sal")));
InvoiceHrdMap.put("acct_code__ar", checkNull(rs.getString("acct_code__ar")));
InvoiceHrdMap.put("cctr_code__ar", checkNull(rs.getString("cctr_code__ar")));
InvoiceHrdMap.put("acct_code__dis", checkNull(rs.getString("acct_code__dis")));
InvoiceHrdMap.put("cctr_code__dis", checkNull(rs.getString("cctr_code__dis")));
InvoiceHrdMap.put("bank_code", checkNull(rs.getString("bank_code")));
InvoiceHrdMap.put("adj_amount", checkNull(rs.getString("adj_amount")));
InvoiceHrdMap.put("confirmed", checkNull(rs.getString("confirmed")));
if( rs.getString("conf_date") != null )
{
confDtStr=genericUtility.getValidDateString(rs.getString("conf_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
}
InvoiceHrdMap.put("conf_date", confDtStr);
InvoiceHrdMap.put("emp_code__aprv", checkNull(rs.getString("emp_code__aprv")));
InvoiceHrdMap.put("remarks", checkNull(rs.getString("remarks")));
chgDtStr=genericUtility.getValidDateString(rs.getString("chg_date"), genericUtility.getDBDateFormat(),
genericUtility.getApplDateFormat());
InvoiceHrdMap.put("chg_date", chgDtStr);
InvoiceHrdMap.put("chg_user", checkNull(rs.getString("chg_user")));
InvoiceHrdMap.put("chg_term", checkNull(rs.getString("chg_term")));
InvoiceHrdMap.put("descr", checkNull(rs.getString("descr")));
InvoiceHrdMap.put("finent_descr", checkNull(rs.getString("descr")));
InvoiceHrdMap.put("site_descr", checkNull(rs.getString("descr")));
InvoiceHrdMap.put("cust_name", checkNull(rs.getString("cust_name")));
InvoiceHrdMap.put("city", checkNull(rs.getString("city")));
InvoiceHrdMap.put("sp_name", checkNull(rs.getString("sp_name")));
InvoiceHrdMap.put("exch_rate", checkNull(rs.getString("exch_rate")));
InvoiceHrdMap.put("exch_rate__frt", checkNull(rs.getString("exch_rate__frt")));
InvoiceHrdMap.put("agent_code", checkNull(rs.getString("agent_code")));
InvoiceHrdMap.put("sagent_name", checkNull(rs.getString("sagent_name")));
InvoiceHrdMap.put("round_adj", checkNull(rs.getString("round_adj")));
InvoiceHrdMap.put("comm_amt__oc", checkNull(rs.getString("comm_amt__oc")));
InvoiceHrdMap.put("sales_pers__1", checkNull(rs.getString("sales_pers__1")));
InvoiceHrdMap.put("sales_pers__2", checkNull(rs.getString("sales_pers__2")));
InvoiceHrdMap.put("sales_pers_comm_1", checkNull(rs.getString("sales_pers_comm_1")));
InvoiceHrdMap.put("sales_pers_comm_2", checkNull(rs.getString("sales_pers_comm_2")));
InvoiceHrdMap.put("sales_pers_comm_3", checkNull(rs.getString("sales_pers_comm_3")));
InvoiceHrdMap.put("posttype", checkNull(rs.getString("posttype")));
InvoiceHrdMap.put("stan_code__init", checkNull(rs.getString("stan_code__init")));
InvoiceHrdMap.put("advance", checkNull(rs.getString("advance")));
InvoiceHrdMap.put("salespers1_descr", checkNull(rs.getString("salespers1_descr")));
InvoiceHrdMap.put("salespers2_descr", checkNull(rs.getString("salespers2_descr")));
InvoiceHrdMap.put("doc_status", checkNull(rs.getString("doc_status")));
InvoiceHrdMap.put("gp_no", checkNull(rs.getString("gp_no")));
InvoiceHrdMap.put("gp_date", checkNull(rs.getString("gp_date")));
InvoiceHrdMap.put("sales_grp", checkNull(rs.getString("sales_grp")));
InvoiceHrdMap.put("edi_addr", checkNull(rs.getString("edi_addr")));
InvoiceHrdMap.put("adj_amount", checkNull(rs.getString("adj_amount")));
InvoiceHrdMap.put("disc_schem_billback_amt", checkNull(rs.getString("disc_schem_billback_amt")));
InvoiceHrdMap.put("disc_schem_offinv_amt", checkNull(rs.getString("disc_schem_offinv_amt")));
InvoiceHrdMap.put("acc_code__order", checkNull(rs.getString("acc_code__order")));
InvoiceHrdMap.put("disc_offinv_amt_hdr", checkNull(rs.getString("disc_offinv_amt_hdr")));
InvoiceHrdMap.put("disc_billback_amt_hdr", checkNull(rs.getString("disc_billback_amt_hdr")));
InvoiceHrdMap.put("acct_code__pr", checkNull(rs.getString("acct_code__pr")));
InvoiceHrdMap.put("cctr_code__pr", checkNull(rs.getString("cctr_code__pr")));
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (ITMException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return InvoiceHrdMap;
}
private String checkNull(String inputStr)
{
// TODO Auto-generated method stub
if(inputStr==null)
{
inputStr="";
}
return inputStr;
}
}
package ibase.webitm.ejb.dis;
import ibase.webitm.utility.ITMException;
import java.sql.Connection;
public interface PostOrdInvoicePostLocal
{
public String invoicePosting(String invoiceId,Connection conn)throws ITMException;
}
package ibase.webitm.ejb.dis;
import ibase.webitm.utility.ITMException;
import java.sql.Connection;
public interface PostOrdInvoicePostRemote
{
public String invoicePosting(String invoiceId,Connection conn)throws ITMException;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
package ibase.webitm.ejb.dis; package ibase.webitm.ejb.dis;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList;
/*
* Request Id:D15JSUN018 /*
* Developer : Mahendra Jadhav * Request Id:D15JSUN018
* date : 21-01-2015 * Developer : Mahendra Jadhav
* */ * date : 21-01-2015
public class SordItemBean implements Serializable * */
{ public class SordItemBean implements Serializable
{
private String saleOrder = null;
private String lineNo = null; private String saleOrder = null;
private String itemCode = null; private String lineNo = null;
private String itemCodeOrd = null; private String itemCode = null;
private String siteCode = null; private String itemCodeOrd = null;
private String unit = null; private String siteCode = null;
private String status = null; private String unit = null;
private String expLev = null; private String status = null;
private String itemRef = null; private String expLev = null;
//String minShelfLife = null; private String itemRef = null;
private String unitRef = null; //String minShelfLife = null;
private String itemFlag = null; private String unitRef = null;
//String qtyAlloc = null; private String itemFlag = null;
private String nature = null; //String qtyAlloc = null;
private String unitStd=null; private String nature = null;
private String itemCodeParent=null; private String unitStd=null;
private String skipline=null; private String itemCodeParent=null;
private String skiplot = null; private String skipline=null;
private String skiplot = null;
// private String rateClg = null;
//private String stockOpt=null; // private String rateClg = null;
private boolean isRejected=false; //private String stockOpt=null;
private double quantityStduom=0.0; private boolean isRejected=false;
private double convQtyStduom=0.0; private double quantityStduom=0.0;
private double minShelfLife = 0.0; private double convQtyStduom=0.0;
private double maxShelfLife = 0.0; private double minShelfLife = 0.0;
private double qtyAlloc=0.0; private double maxShelfLife = 0.0;
private double qtyDesp = 0.0; private double qtyAlloc=0.0;
private double quantity = 0.0; private double qtyDesp = 0.0;
private double siteItmQty = 0.0; private double quantity = 0.0;
private double sordItmQty = 0.0; private double siteItmQty = 0.0;
private double rate = 0.0; private double sordItmQty = 0.0;
private double rateClg = 0.0; private double rate = 0.0;
private double rateClg = 0.0;
private int stockOpt=0;
private SorderBean sorderBean; private int stockOpt=0;
private ArrayList<StockBean> stockList=new ArrayList<StockBean>();
private SorderBean sorderBean;
public String getUnitStd() {
return unitStd;
} public void setStockList(ArrayList stockList)
public void setUnitStd(String unitStd) { {
this.unitStd = unitStd; this.stockList=stockList;
} }
public double getQuantityStduom() { public ArrayList<StockBean> getStockList()
return quantityStduom; {
} return this.stockList;
public void setQuantityStduom(double quantityStduom) { }
this.quantityStduom = quantityStduom;
} public String getUnitStd() {
public double getConvQtyStduom() { return unitStd;
return convQtyStduom; }
} public void setUnitStd(String unitStd) {
public void setConvQtyStduom(double convQtyStduom) { this.unitStd = unitStd;
this.convQtyStduom = convQtyStduom; }
} public double getQuantityStduom() {
public boolean isRejected() { return quantityStduom;
return isRejected; }
} public void setQuantityStduom(double quantityStduom) {
public void setRejected(boolean isRejected) { this.quantityStduom = quantityStduom;
this.isRejected = isRejected; }
} public double getConvQtyStduom() {
public String getLineNo() { return convQtyStduom;
return lineNo; }
} public void setConvQtyStduom(double convQtyStduom) {
public void setLineNo(String lineNo) { this.convQtyStduom = convQtyStduom;
this.lineNo = lineNo; }
} public boolean isRejected() {
return isRejected;
public String getUnit() { }
return unit; public void setRejected(boolean isRejected) {
} this.isRejected = isRejected;
public void setUnit(String unit) { }
this.unit = unit; public String getLineNo() {
} return lineNo;
public String getStatus() { }
return status; public void setLineNo(String lineNo) {
} this.lineNo = lineNo;
public void setStatus(String status) { }
this.status = status;
} public String getUnit() {
public String getExpLev() { return unit;
return expLev; }
} public void setUnit(String unit) {
public void setExpLev(String expLev) { this.unit = unit;
this.expLev = expLev; }
} public String getStatus() {
public String getItemRef() { return status;
return itemRef; }
} public void setStatus(String status) {
public void setItemRef(String itemRef) { this.status = status;
this.itemRef = itemRef; }
} public String getExpLev() {
/*public String getMinShelfLife() { return expLev;
return minShelfLife; }
} public void setExpLev(String expLev) {
public void setMinShelfLife(String minShelfLife) { this.expLev = expLev;
this.minShelfLife = minShelfLife; }
}*/ public String getItemRef() {
public String getUnitRef() { return itemRef;
return unitRef; }
} public void setItemRef(String itemRef) {
public void setUnitRef(String unitRef) { this.itemRef = itemRef;
this.unitRef = unitRef; }
} /*public String getMinShelfLife() {
public String getItemFlag() { return minShelfLife;
return itemFlag; }
} public void setMinShelfLife(String minShelfLife) {
public void setItemFlag(String itemFlag) { this.minShelfLife = minShelfLife;
this.itemFlag = itemFlag; }*/
} public String getUnitRef() {
/*public String getQtyAlloc() { return unitRef;
return qtyAlloc; }
} public void setUnitRef(String unitRef) {
public void setQtyAlloc(String qtyAlloc) { this.unitRef = unitRef;
this.qtyAlloc = qtyAlloc; }
}*/ public String getItemFlag() {
public String getNature() { return itemFlag;
return nature; }
} public void setItemFlag(String itemFlag) {
public void setNature(String nature) { this.itemFlag = itemFlag;
this.nature = nature; }
} /*public String getQtyAlloc() {
public String getItemCode() { return qtyAlloc;
return itemCode; }
} public void setQtyAlloc(String qtyAlloc) {
public void setItemCode(String itemCode) { this.qtyAlloc = qtyAlloc;
this.itemCode = itemCode; }*/
} public String getNature() {
public String getItemCodeOrd() { return nature;
return itemCodeOrd; }
} public void setNature(String nature) {
public void setItemCodeOrd(String itemCodeOrd) { this.nature = nature;
this.itemCodeOrd = itemCodeOrd; }
} public String getItemCode() {
public String getSiteCode() { return itemCode;
return siteCode; }
} public void setItemCode(String itemCode) {
public void setSiteCode(String siteCode) { this.itemCode = itemCode;
this.siteCode = siteCode; }
} public String getItemCodeOrd() {
public double getMinShelfLife() { return itemCodeOrd;
return minShelfLife; }
} public void setItemCodeOrd(String itemCodeOrd) {
public void setMinShelfLife(double minShelfLife) { this.itemCodeOrd = itemCodeOrd;
this.minShelfLife = minShelfLife; }
} public String getSiteCode() {
public double getQtyAlloc() { return siteCode;
return qtyAlloc; }
} public void setSiteCode(String siteCode) {
public void setQtyAlloc(double qtyAlloc) { this.siteCode = siteCode;
this.qtyAlloc = qtyAlloc; }
} public double getMinShelfLife() {
public double getQtyDesp() { return minShelfLife;
return qtyDesp; }
} public void setMinShelfLife(double minShelfLife) {
public void setQtyDesp(double qtyDesp) { this.minShelfLife = minShelfLife;
this.qtyDesp = qtyDesp; }
} public double getQtyAlloc() {
public double getQuantity() { return qtyAlloc;
return quantity; }
} public void setQtyAlloc(double qtyAlloc) {
public void setQuantity(double quantity) { this.qtyAlloc = qtyAlloc;
this.quantity = quantity; }
} public double getQtyDesp() {
public double getSiteItmQty() { return qtyDesp;
return siteItmQty; }
} public void setQtyDesp(double qtyDesp) {
public void setSiteItmQty(double siteItmQty) { this.qtyDesp = qtyDesp;
this.siteItmQty = siteItmQty; }
} public double getQuantity() {
/*public String getStockOpt() { return quantity;
return stockOpt; }
} public void setQuantity(double quantity) {
public void setStockOpt(String stockOpt) { this.quantity = quantity;
this.stockOpt = stockOpt; }
}*/ public double getSiteItmQty() {
public SorderBean getSorderBean() { return siteItmQty;
return sorderBean; }
} public void setSiteItmQty(double siteItmQty) {
public void setSorderBean(SorderBean sorderBean) { this.siteItmQty = siteItmQty;
this.sorderBean = sorderBean; }
} /*public String getStockOpt() {
public String getSaleOrder() { return stockOpt;
return saleOrder; }
} public void setStockOpt(String stockOpt) {
public void setSaleOrder(String saleOrder) { this.stockOpt = stockOpt;
this.saleOrder = saleOrder; }*/
} public SorderBean getSorderBean() {
public int getStockOpt() { return sorderBean;
return stockOpt; }
} public void setSorderBean(SorderBean sorderBean) {
public void setStockOpt(int stockOpt) { this.sorderBean = sorderBean;
this.stockOpt = stockOpt; }
} public String getSaleOrder() {
public double getSordItmQty() { return saleOrder;
return sordItmQty; }
} public void setSaleOrder(String saleOrder) {
public void setSordItmQty(double sordItmQty) { this.saleOrder = saleOrder;
this.sordItmQty = sordItmQty; }
} public int getStockOpt() {
public double getMaxShelfLife() { return stockOpt;
return maxShelfLife; }
} public void setStockOpt(int stockOpt) {
public void setMaxShelfLife(double maxShelfLife) { this.stockOpt = stockOpt;
this.maxShelfLife = maxShelfLife; }
} public double getSordItmQty() {
public double getRate() { return sordItmQty;
return rate; }
} public void setSordItmQty(double sordItmQty) {
public void setRate(double rate) { this.sordItmQty = sordItmQty;
this.rate = rate; }
} public double getMaxShelfLife() {
public double getRateClg() { return maxShelfLife;
return rateClg; }
} public void setMaxShelfLife(double maxShelfLife) {
public void setRateClg(double rateClg) { this.maxShelfLife = maxShelfLife;
this.rateClg = rateClg; }
} public double getRate() {
public String getItemCodeParent() { return rate;
return itemCodeParent; }
} public void setRate(double rate) {
public void setItemCodeParent(String itemCodeParent) { this.rate = rate;
this.itemCodeParent = itemCodeParent; }
} public double getRateClg() {
public String getSkipline() { return rateClg;
return skipline; }
} public void setRateClg(double rateClg) {
public void setSkipline(String skipline) { this.rateClg = rateClg;
this.skipline = skipline; }
} public String getItemCodeParent() {
public String getSkiplot() { return itemCodeParent;
return skiplot; }
} public void setItemCodeParent(String itemCodeParent) {
public void setSkiplot(String skiplot) { this.itemCodeParent = itemCodeParent;
this.skiplot = skiplot; }
} public String getSkipline() {
return skipline;
}
public void setSkipline(String skipline) {
this.skipline = skipline;
}
public String getSkiplot() {
} return skiplot;
}
public void setSkiplot(String skiplot) {
this.skiplot = skiplot;
}
}
package ibase.webitm.ejb.dis; package ibase.webitm.ejb.dis;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp; import java.sql.Timestamp;
/* import java.util.ArrayList;
* Request Id:D15JSUN018 /*
* Developer : Mahendra Jadhav * Request Id:D15JSUN018
* date : 21-01-2015 * Developer : Mahendra Jadhav
* */ * date : 21-01-2015
import java.util.Date; * */
import java.util.Date;
public class SorderBean implements Serializable {
public class SorderBean implements Serializable {
private String saleOrder = null;
private String priceListClg = null; private String saleOrder = null;
private String priceList = null; private String priceListClg = null;
private String custCode=null; private String priceList = null;
private String siteCodeShip=null; private String custCode=null;
private String status=null; private String siteCodeShip=null;
private String locGroup = null; private String status=null;
private String confirmed=null; private String locGroup = null;
private String partQty = null; private String confirmed=null;
private String orderType = null; private String partQty = null;
private Date dueDate=null; private String orderType = null;
private String siteCode = null; private Date dueDate=null;
private String priceListDisc = null; private String siteCode = null;
private Timestamp plDate = null; private String priceListDisc = null;
private Timestamp orderdate = null; private Timestamp plDate = null;
private String stateCodeDlv=null; private Timestamp orderdate = null;
private String countCodeDlv=null; private String stateCodeDlv=null;
private String countCodeDlv=null;
boolean isRejected=false;
boolean isRejected=false;
private ArrayList<SordItemBean> sorditemList=new ArrayList<SordItemBean>();
public String getSaleOrder() { public void setSorditemList(ArrayList sorditemList)
return saleOrder; {
} this.sorditemList=sorditemList;
public void setSaleOrder(String saleOrder) { }
this.saleOrder = saleOrder; public ArrayList<SordItemBean> getSorditemList()
} {
public String getPriceListClg() { return this.sorditemList;
return priceListClg; }
}
public void setPriceListClg(String priceListClg) {
this.priceListClg = priceListClg; public String getSaleOrder() {
} return saleOrder;
public String getPriceList() { }
return priceList; public void setSaleOrder(String saleOrder) {
} this.saleOrder = saleOrder;
public void setPriceList(String priceList) { }
this.priceList = priceList; public String getPriceListClg() {
} return priceListClg;
public String getCustCode() { }
return custCode; public void setPriceListClg(String priceListClg) {
} this.priceListClg = priceListClg;
public void setCustCode(String custCode) { }
this.custCode = custCode; public String getPriceList() {
} return priceList;
public String getSiteCodeShip() { }
return siteCodeShip; public void setPriceList(String priceList) {
} this.priceList = priceList;
public void setSiteCodeShip(String siteCodeShip) { }
this.siteCodeShip = siteCodeShip; public String getCustCode() {
} return custCode;
public String getStatus() { }
return status; public void setCustCode(String custCode) {
} this.custCode = custCode;
public void setStatus(String status) { }
this.status = status; public String getSiteCodeShip() {
} return siteCodeShip;
public String getConfirmed() { }
return confirmed; public void setSiteCodeShip(String siteCodeShip) {
} this.siteCodeShip = siteCodeShip;
public void setConfirmed(String confirmed) { }
this.confirmed = confirmed; public String getStatus() {
} return status;
public Date getDueDate() { }
return dueDate; public void setStatus(String status) {
} this.status = status;
public void setDueDate(Date dueDate) { }
this.dueDate = dueDate; public String getConfirmed() {
} return confirmed;
}
public boolean isRejected() { public void setConfirmed(String confirmed) {
return isRejected; this.confirmed = confirmed;
} }
public void setRejected(boolean isRejected) { public Date getDueDate() {
this.isRejected = isRejected; return dueDate;
} }
public String getPartQty() { public void setDueDate(Date dueDate) {
return partQty; this.dueDate = dueDate;
} }
public void setPartQty(String partQty) {
this.partQty = partQty; public boolean isRejected() {
} return isRejected;
public String getLocGroup() { }
return locGroup; public void setRejected(boolean isRejected) {
} this.isRejected = isRejected;
public void setLocGroup(String locGroup) { }
this.locGroup = locGroup; public String getPartQty() {
} return partQty;
public String getOrderType() { }
return orderType; public void setPartQty(String partQty) {
} this.partQty = partQty;
public void setOrderType(String orderType) { }
this.orderType = orderType; public String getLocGroup() {
} return locGroup;
public String getSiteCode() { }
return siteCode; public void setLocGroup(String locGroup) {
} this.locGroup = locGroup;
public void setSiteCode(String siteCode) { }
this.siteCode = siteCode; public String getOrderType() {
} return orderType;
public String getPriceListDisc() { }
return priceListDisc; public void setOrderType(String orderType) {
} this.orderType = orderType;
public void setPriceListDisc(String priceListDisc) { }
this.priceListDisc = priceListDisc; public String getSiteCode() {
} return siteCode;
public Timestamp getPlDate() { }
return plDate; public void setSiteCode(String siteCode) {
} this.siteCode = siteCode;
public void setPlDate(Timestamp plDate) { }
this.plDate = plDate; public String getPriceListDisc() {
} return priceListDisc;
public Timestamp getOrderdate() { }
return orderdate; public void setPriceListDisc(String priceListDisc) {
} this.priceListDisc = priceListDisc;
public void setOrderdate(Timestamp orderdate) { }
this.orderdate = orderdate; public Timestamp getPlDate() {
} return plDate;
public String getStateCodeDlv() { }
return stateCodeDlv; public void setPlDate(Timestamp plDate) {
} this.plDate = plDate;
public void setStateCodeDlv(String stateCodeDlv) { }
this.stateCodeDlv = stateCodeDlv; public Timestamp getOrderdate() {
} return orderdate;
public String getCountCodeDlv() { }
return countCodeDlv; public void setOrderdate(Timestamp orderdate) {
} this.orderdate = orderdate;
public void setCountCodeDlv(String countCodeDlv) { }
this.countCodeDlv = countCodeDlv; public String getStateCodeDlv() {
} return stateCodeDlv;
}
public void setStateCodeDlv(String stateCodeDlv) {
this.stateCodeDlv = stateCodeDlv;
}
public String getCountCodeDlv() {
} return countCodeDlv;
}
public void setCountCodeDlv(String countCodeDlv) {
this.countCodeDlv = countCodeDlv;
}
}
package ibase.webitm.ejb.dis; package ibase.webitm.ejb.dis;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Date; import java.util.Date;
public class StockBean implements Serializable { public class StockBean implements Serializable {
private String lotNo=null; private String lotNo=null;
private String lotSl=null; private String lotSl=null;
private String grade=null; private String grade=null;
private String siteCodeMfg=null; private String siteCodeMfg=null;
private String locCode=null; private String locCode=null;
private String skipline = null; private String skipline = null;
private String skiplot = null; private String skiplot = null;
private Timestamp expDate = null; private Timestamp expDate = null;
private Timestamp mfgDate = null; private Timestamp mfgDate = null;
private double stockQty =0.0; private double stockQty =0.0;
private double allocQty =0.0; private double allocQty =0.0;
private double holdQty =0.0; private double holdQty =0.0;
private double stockQtyTot = 0.0; private double stockQtyTot = 0.0;
private boolean isRejected=false; private boolean isRejected=false;
private SordItemBean sordItemBean; private SordItemBean sordItemBean;
private int errorCnt=0; private int errorCnt=0;
public String getLotNo() { public String getLotNo() {
return lotNo; return lotNo;
} }
public void setLotNo(String lotNo) { public void setLotNo(String lotNo) {
this.lotNo = lotNo; this.lotNo = lotNo;
} }
public String getLotSl() { public String getLotSl() {
return lotSl; return lotSl;
} }
public void setLotSl(String lotSl) { public void setLotSl(String lotSl) {
this.lotSl = lotSl; this.lotSl = lotSl;
} }
public String getGrade() { public String getGrade() {
return grade; return grade;
} }
public void setGrade(String grade) { public void setGrade(String grade) {
this.grade = grade; this.grade = grade;
} }
public String getSiteCodeMfg() { public String getSiteCodeMfg() {
return siteCodeMfg; return siteCodeMfg;
} }
public void setSiteCodeMfg(String siteCodeMfg) { public void setSiteCodeMfg(String siteCodeMfg) {
this.siteCodeMfg = siteCodeMfg; this.siteCodeMfg = siteCodeMfg;
} }
public String getLocCode() { public String getLocCode() {
return locCode; return locCode;
} }
public void setLocCode(String locCode) { public void setLocCode(String locCode) {
this.locCode = locCode; this.locCode = locCode;
} }
/* public double getQuantity() { /* public double getQuantity() {
return quantity; return quantity;
} }
public void setQuantity(double quantity) { public void setQuantity(double quantity) {
this.quantity = quantity; this.quantity = quantity;
}*/ }*/
public double getAllocQty() { public double getAllocQty() {
return allocQty; return allocQty;
} }
public void setAllocQty(double allocQty) { public void setAllocQty(double allocQty) {
this.allocQty = allocQty; this.allocQty = allocQty;
} }
public double getHoldQty() { public double getHoldQty() {
return holdQty; return holdQty;
} }
public void setHoldQty(double holdQty) { public void setHoldQty(double holdQty) {
this.holdQty = holdQty; this.holdQty = holdQty;
} }
public SordItemBean getSordItemBean() { public SordItemBean getSordItemBean() {
return sordItemBean; return sordItemBean;
} }
public void setSordItemBean(SordItemBean sordItemBean) { public void setSordItemBean(SordItemBean sordItemBean) {
this.sordItemBean = sordItemBean; this.sordItemBean = sordItemBean;
} }
public boolean isRejected() { public boolean isRejected() {
return isRejected; return isRejected;
} }
public void setRejected(boolean isRejected) { public void setRejected(boolean isRejected) {
this.isRejected = isRejected; this.isRejected = isRejected;
} }
public Timestamp getExpDate() { public Timestamp getExpDate() {
return expDate; return expDate;
} }
public void setExpDate(Timestamp expDate) { public void setExpDate(Timestamp expDate) {
this.expDate = expDate; this.expDate = expDate;
} }
public Timestamp getMfgDate() { public Timestamp getMfgDate() {
return mfgDate; return mfgDate;
} }
public void setMfgDate(Timestamp mfgDate) { public void setMfgDate(Timestamp mfgDate) {
this.mfgDate = mfgDate; this.mfgDate = mfgDate;
} }
public double getStockQtyTot() { public double getStockQtyTot() {
return stockQtyTot; return stockQtyTot;
} }
public void setStockQtyTot(double stockQtyTot) { public void setStockQtyTot(double stockQtyTot) {
this.stockQtyTot = stockQtyTot; this.stockQtyTot = stockQtyTot;
} }
public double getStockQty() { public double getStockQty() {
return stockQty; return stockQty;
} }
public void setStockQty(double stockQty) { public void setStockQty(double stockQty) {
this.stockQty = stockQty; this.stockQty = stockQty;
} }
public String getSkipline() { public String getSkipline() {
return skipline; return skipline;
} }
public void setSkipline(String skipline) { public void setSkipline(String skipline) {
this.skipline = skipline; this.skipline = skipline;
} }
public String getSkiplot() { public String getSkiplot() {
return skiplot; return skiplot;
} }
public void setSkiplot(String skiplot) { public void setSkiplot(String skiplot) {
this.skiplot = skiplot; this.skiplot = skiplot;
} }
public int getErrorCnt() { public int getErrorCnt() {
return errorCnt; return errorCnt;
} }
public void setErrorCnt(int errorCnt) { public void setErrorCnt(int errorCnt) {
this.errorCnt = errorCnt; this.errorCnt = errorCnt;
} }
} }
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