Commit 35c592fa authored by wansari's avatar wansari

added methods in EJB for Purchase Wizard as moved to EJB from servlet


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@103908 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 075df503
......@@ -6,6 +6,7 @@
package ibase.webitm.ejb.wms;
import java.io.IOException;
import java.io.OutputStream;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
......@@ -21,13 +22,16 @@ import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.zip.GZIPOutputStream;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
import javax.ejb.Stateless;
import javax.servlet.ServletException;
......@@ -1031,7 +1035,8 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
return valueXmlString.toString();
}
public String getList(String field,String extra) throws RemoteException, ITMException
//public String getList(String field,String extra) throws RemoteException, ITMException
public String getList(String field,String[] values,String extra,String details) throws RemoteException, ITMException
{
String sql = "",sql2 = "";
StringBuffer valueXmlString = new StringBuffer("<Root>\r\n");
......@@ -1043,78 +1048,52 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
FinCommon finCommon = new FinCommon();
//Changed by Samadhan on 25/06/2015 D15CKAT026 start
String [] extras = extra.split("~");
String trCode = "",trMode = "";
try
{
DateFormat dateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
System.out.println("Inside SorderWizardEJB getList---->Field["+field+"] Values["+values+"] Extra["+extra+"] Details["+details+"]");
//Changed and Commented By Santosh on 14-06-2016 :[START]
//ConnDriver connDriver = new ConnDriver();
//conn = connDriver.getConnectDB("DriverITM");
conn = getConnection();
//Changed and Commented By Santosh on 14-06-2016 :[END]
DateFormat dateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
String [] extras = extra.split("~");
if (field.equals("tran_code"))
{
sql = "SELECT TRAN_CODE, TRAN_NAME, TRANSPORTER_TYPE FROM TRANSPORTER";
//sql="SELECT transporter.tran_code, transporter.tran_name,transporter_mode.trans_mode FROM transporter INNER JOIN transporter_mode ON transporter.tran_code=transporter_mode.tran_code";
}
else if (field.equals("trans_mode"))
{
//sql="SELECT TRAN_CODE, TRANS_MODE FROM TRANSPORTER_MODE";
//changed by wasim on 01-06-2015 to filter transporter mode [START]
System.out.println("Extra Length="+extra.length());
String[] trData = extra.split(":");
trCode = checkNullAndTrim(trData[0]);
trMode = checkNullAndTrim(trData[1]);
sql = "SELECT TRAN_CODE, TRANS_MODE FROM TRANSPORTER_MODE WHERE TRAN_CODE = ?";
//changed by wasim on 01-06-2015 to filter transporter mode [END]
}
else if (field.equals("supp_code"))
{
//sql = "SELECT SUPP_CODE,SUPP_NAME,CR_TERM,PRICE_LIST,DLV_TERM FROM SUPPLIER";
//sql = "SELECT SUPP_CODE,SUPP_NAME,CR_TERM,PRICE_LIST,DLV_TERM,CURR_CODE FROM SUPPLIER";
//Changed by Samadhan on 25/06/2015 D15CKAT026 Start
//sql = "SELECT SUPP_CODE,SUPP_NAME,CR_TERM,PRICE_LIST,DLV_TERM,CURR_CODE FROM SUPPLIER WHERE SUPP_TYPE = 'T'";
sql = "SELECT SUPP_CODE,SUPP_NAME,CR_TERM,PRICE_LIST,DLV_TERM,CURR_CODE FROM SUPPLIER WHERE SUPP_TYPE = ? ";
//Changed by Samadhan on 25/06/2015 D15CKAT026 End
}
else if (field.equals("item_ser"))
{
//Changed by Samadhan on 25/06/2015 D15CKAT026 Start
//sql = "SELECT ITEM_SER,DESCR FROM ITEMSER";
sql = "SELECT ITEM_SER,DESCR FROM ITEMSER WHERE business_type = ? ";
//Changed by Samadhan on 25/06/2015 D15CKAT026 End
}
else if (field.equals("cr_term"))
{
sql = "SELECT CR_TERM,DESCR FROM CRTERM";
}
else if (field.equals("dept_code"))
{
sql = "SELECT DEPT_CODE,DESCR FROM DEPARTMENT";
}
else if (field.equals("price_list"))
{
sql = "SELECT PRICE_LIST,RATE FROM PRICELIST";
}
else if (field.equals("item_code"))
{
//sql = "SELECT ITEM_CODE,DESCR FROM ITEM WHERE ITEM_PARNT IS NULL";
//Changed by Samadhan on 25/06/2015 D15CKAT026 Start
/*
sql =" select item_code,descr from item where item_code"
+" in (select distinct item_parnt from item where item_code in "
+" (select item_code from supplieritem where supp_code = ? )) ";
*/
if(extras[1].equals("T"))
{
sql =" select item_code,descr from item where item_code"
......@@ -1127,50 +1106,37 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
"(select item_code from supplieritem where supp_code = ? ) " +
"and i.item_ser = s.item_ser and s.business_type = ? ";
}
//Changed by Samadhan on 25/06/2015 D15CKAT026 End
}
else if (field.equals("type"))
{
sql ="SELECT RTRIM(FLD_VALUE),DESCR FROM GENCODES WHERE UPPER(RTRIM(FLD_NAME)) = "
+ "'PORD_TYPE' AND MOD_NAME= 'W_PORDER' AND ACTIVE= 'Y' ";
}
else if (field.equals("site_code__dlv"))
{
sql =" SELECT SITE_CODE, DESCR FROM SITE ";
}
else if (field.equals("curr_code"))
{
//sql =" SELECT EXCH_RATE__BUY FROM DAILY_EXCH_RATE_SELL_BUY ";
sql =" SELECT CURR_CODE,DESCR,STD_EXRT FROM CURRENCY ";
}
else if (field.equals("term_table"))
{
sql = " SELECT FLD_VALUE, DESCR FROM GENCODES WHERE FLD_NAME = 'TERM_TABLE' AND MOD_NAME = 'W_PORDER' ";
}
else if (field.equals("udf_str__1"))
{
sql = " select fld_value,descr from gencodes where mod_name='W_PORDERWIZ' and fld_name='UDF_STR__1' ";
}
// Changed by Sneha on 27-05-2016, for Purchase order pophelp [Start]
else if (field.equals("purc_order"))
{
sql = " SELECT PURC_ORDER, '' FROM PORDER WHERE CONFIRMED = 'N' ";
sql = " SELECT PURC_ORDER, '' FROM PORDER WHERE CONFIRMED = 'N' ORDER BY ORD_DATE DESC ";
}
// Changed by Sneha on 27-05-2016, for Purchase order pophelp [End]
pstmt = conn.prepareStatement(sql);
if(field.equals("item_code"))
{
//Changed by Samadhan on 25/06/2015 D15CKAT026 start
//pstmt.setString(1,extra);
if(extras[1].equals("T"))
{
pstmt.setString(1,extras[0]);
......@@ -1180,13 +1146,11 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
pstmt.setString(1,extras[0]);
pstmt.setString(2,extras[1]);
}
//Changed by Samadhan on 25/06/2015 D15CKAT026 end
}
if(field.equals("trans_mode"))
{
pstmt.setString(1,extra);
pstmt.setString(1,trCode);
}
//Changed by Samadhan on 25/06/2015 D15CKAT026 start
if(field.equals("item_ser"))
{
pstmt.setString(1,extra);
......@@ -1195,7 +1159,7 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
{
pstmt.setString(1,extras[0]);
}
//Changed by Samadhan on 25/06/2015 D15CKAT026 end
rs = pstmt.executeQuery();
String otherField = "";
......@@ -1237,23 +1201,15 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
{
otherField = checkNullAndTrim(rs.getString(3));
}
// Changed by Sneha on 27-05-2016, for Purchase order pophelp [Start]
else if (field.equals("purc_order"))
/*else if (field.equals("purc_order"))
{
otherField = checkNullAndTrim(rs.getString("PURC_ORDER"));
//System.out.println("PURC_ORDER is =========>> "+otherField);
}
// Changed by Sneha on 27-05-2016, for Purchase order pophelp [End]
}*/
else if(field.equals("curr_code"))
{
otherField = checkNullAndTrim(rs.getString("STD_EXRT"));
//conn2 = connDriver.getConnectDB("DriverITM");
sql2 = " SELECT EXCH_RATE__BUY FROM DAILY_EXCH_RATE_SELL_BUY WHERE CURR_CODE = ? ";
//sql2 = "SELECT CURR_CODE FROM FINENT WHERE FIN_ENTITY = (SELECT FIN_ENTITY FROM SITE WHERE SITE_CODE = ?)";
pstmt2 = conn.prepareStatement(sql2);
pstmt2.setString(1,fieldId);
rs2 = pstmt2.executeQuery();
......@@ -1266,17 +1222,19 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
{
otherField1 = "";
}
rs2.close(); rs2 = null;
pstmt2.close(); pstmt2 = null;
// conn2.close(); conn2 = null;
if(rs2!=null)
{
rs2.close();rs2 = null;
}
if(pstmt2!=null)
{
pstmt2.close();pstmt2 = null;
}
otherField = otherField +":"+ otherField1;
}
else if(field.equals("supp_code"))
{
//conn2 = connDriver.getConnectDB("DriverITM");
otherField1 = checkNullAndTrim(rs.getString(3));
otherField2 = checkNullAndTrim(rs.getString(4));
otherField3 = checkNullAndTrim(rs.getString(5));
......@@ -1293,12 +1251,14 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
{
descr1 = checkNullAndTrim(rs2.getString("DESCR"));
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
if(rs2!=null)
{
rs2.close();rs2 = null;
}
if(pstmt2!=null)
{
pstmt2.close();pstmt2 = null;
}
sql2 = " SELECT FIN_ENTITY FROM SITE WHERE SITE_CODE = ? ";
pstmt2 = conn.prepareStatement(sql2);
......@@ -1309,29 +1269,32 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
{
finEntity = checkNullAndTrim(rs2.getString("FIN_ENTITY"));
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
if(rs2!=null)
{
rs2.close();rs2 = null;
}
if(pstmt2!=null)
{
pstmt2.close();pstmt2 = null;
}
sql2 = " SELECT CURR_CODE FROM FINENT WHERE FIN_ENTITY = ? ";
pstmt2 = conn.prepareStatement(sql2);
pstmt2.setString(1,finEntity);
rs2 = pstmt2.executeQuery();
while (rs2.next())
{
finCurrCode = checkNullAndTrim(rs2.getString("CURR_CODE"));
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
/*conn2.close();
conn2 = null;*/
if(rs2!=null)
{
rs2.close();rs2 = null;
}
if(pstmt2!=null)
{
pstmt2.close();pstmt2 = null;
}
if(otherField4.equals(finCurrCode))
{
......@@ -1340,19 +1303,6 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
}
else
{
/*sql2 = " SELECT EXCH_RATE__BUY FROM DAILY_EXCH_RATE_SELL_BUY WHERE CURR_CODE = ? AND CURR_CODE__TO = ? ";
pstmt2 = conn.prepareStatement(sql2);
pstmt2.setString(1,otherField4);
pstmt2.setString(2,finCurrCode);
rs2 = pstmt2.executeQuery();
if (rs2.next())
{
exchRate = checkNullAndTrim(rs2.getString("EXCH_RATE__BUY"));
}*/
//Changed by manish on 21/01/16 for setting Exchange Rate from FinnCommon [start]
java.util.Date currDate = new java.util.Date();
String currDateStr = dateFormat.format(currDate);
System.out.println("TODAY IS="+currDateStr);
......@@ -1380,41 +1330,54 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
{
exchRate = checkNullAndTrim(rs1.getString("std_exrt"));
}
rs1.close(); rs1 = null;
pstmt1.close(); pstmt1 = null;
if(rs1!=null)
{
rs1.close();rs1 = null;
}
if(pstmt1!=null)
{
pstmt1.close();pstmt1 = null;
}
}
//rs2.close(); rs2 = null;
//pstmt2.close(); pstmt2 = null;
//conn2.close(); conn2 = null;
System.out.println("Exchange Rate is="+exchRate);
//Changed by manish on 21/01/16 for setting Exchange Rate from FinnCommon [end]
}
otherField = otherField1 +":"+ otherField2 +":"+ otherField3 +":"+ otherField4 +":"+ exchRate +":"+ descr1;
}//end supp_code
valueXmlString.append("<supp_code domID='" + num + "' selected = 'N' >\r\n");
if("trans_mode".equalsIgnoreCase(field))
{
String[] tr = trMode.split(",");
valueXmlString.append("<supp_code domID='" + num + "' selected = '" + useLoop(tr, fieldValue) + "' >\r\n");
}
else
{
valueXmlString.append("<supp_code domID='" + num + "' selected = '" + useLoop(values, fieldId) + "' >\r\n");
}
valueXmlString.append("<fieldId><![CDATA[").append(fieldId).append("]]></fieldId>\r\n");
valueXmlString.append("<fieldValue><![CDATA[").append(fieldValue).append("]]></fieldValue>\r\n");
valueXmlString.append("<otherField><![CDATA[").append(otherField).append("]]></otherField>\r\n");
valueXmlString.append("<otherField1><![CDATA[").append(otherField1).append("]]></otherField1>\r\n");
/*valueXmlString.append("<otherField1><![CDATA[").append(otherField1).append("]]></otherField1>\r\n");
valueXmlString.append("<otherField2><![CDATA[").append(otherField2).append("]]></otherField2>\r\n");
valueXmlString.append("<otherField3><![CDATA[").append(otherField3).append("]]></otherField3>\r\n");
valueXmlString.append("<otherField4><![CDATA[").append(otherField4).append("]]></otherField4>\r\n");
valueXmlString.append("<otherField5><![CDATA[").append(exchRate).append("]]></otherField5>\r\n");
valueXmlString.append("<descr1><![CDATA[").append(descr1).append("]]></descr1>\r\n");*/
valueXmlString.append("<descr1><![CDATA[").append(descr1).append("]]></descr1>\r\n");
valueXmlString.append("</supp_code>\r\n");
num++;
}
valueXmlString.append(details);
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception :ITMWizardStatefulEJB :getList(String):" + e.getMessage() + ":");
valueXmlString = valueXmlString.append(genericUtility.createErrorString(e));
throw new ITMException(e);
}
finally
{
......@@ -1438,7 +1401,6 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
}
catch (Exception e)
{
System.out.println("Exception :ITMWizardStatefulEJB :getProdTypeList(String) :==>\n"+ e.getMessage());
throw new ITMException(e);
}
}
......@@ -2238,6 +2200,1520 @@ public class DDPorderWizEJB extends ValidatorEJB implements DDPorderWizEJBRemote
}
return details.toString();
}
//Changed by wasim to add code from servlet to EJB [START]
public String getSKUDetail(String itemParentData,String itemDLVDate,String paraData,String otherDetails) throws ITMException
{
System.out.println("XXXXXXXXXXXXXXXXXXXXXX[ inside Purchase getSKUDetail ]XXXXXXXXXXXXXXXXXXXX");
String sql = "";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String color,size,dimension,itemCode = "";
String dColor,dSize,dDim = "",dColorDescr = "",dDimDescr = "";
HashMap dataMap = new HashMap();
ArrayList sizeList = new ArrayList();
ArrayList colorList = new ArrayList();
ArrayList dimensionList = new ArrayList();
ArrayList tooltip = new ArrayList();
HashMap colorData = new HashMap();
HashMap dimensionData = new HashMap();
int cntColors = 0, cntDimension = 0, cntSizes = 0;
StringBuffer valueXmlString = null;
try
{
System.out.println("ItemParent["+itemParentData+"] Date["+itemDLVDate+"] Para Details["+paraData+"] otherDetails ["+otherDetails+"]");
conn = getConnection();
valueXmlString = new StringBuffer("<Root>\r\n");
valueXmlString.append("<PRODUCT_SET selected = 'N'>\r\n");
String itmcode = itemParentData;
String itmDLVDate [] = itemDLVDate.split("~");
String paraDatas [] = paraData.split("~");
String tranType = paraDatas[0];
System.out.println("TRANTYPE = ["+tranType+"]");
String DLVDate="";
String dSizeDescr="";
if("T".equalsIgnoreCase(tranType))
{
valueXmlString.append("<TH_SET selected = 'N'>\r\n");
sql = " SELECT DISTINCT TRIM(V.ATTRIB_ID),SORT_ORDER AS PSIZE,V.DESCR FROM ITEM I, ITM_ATTRIB_VAL V WHERE V.ATTRIB_ID = I.PHY_ATTRIB_1 AND "
+" I.ITEM_PARNT = ? AND I.ITEM_CODE != ? AND V.ATTRIB_CODE = I.PHY_ATTRIB_22 "
+ " AND I.ACTIVE = 'Y' "
+" order by SORT_ORDER ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itmcode);
pstmt.setString(2, itmcode);
rs = pstmt.executeQuery();
valueXmlString.append("<SET><![CDATA[").append("Color").append("]]></SET>\r\n");
valueXmlString.append("<SET><![CDATA[").append("Dimension").append("]]></SET>\r\n");
valueXmlString.append("<SET><![CDATA[").append("Quantity").append("]]></SET>\r\n");
while (rs.next())
{
dSize = checkNullAndTrim(rs.getString(1));
dSizeDescr = checkNullAndTrim(rs.getString(3));
sizeList.add(dSize);
valueXmlString.append("<SET><![CDATA[").append(dSizeDescr).append("]]></SET>\r\n");
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
valueXmlString.append("</TH_SET>\r\n");
sql = "SELECT DISTINCT I.PHY_ATTRIB_2,V.DESCR FROM ITEM I,ITM_ATTRIB_VAL V WHERE I.ITEM_PARNT = ? AND I.ITEM_CODE != ?"
+" AND I.PHY_ATTRIB_2 = V.ATTRIB_ID "
+" AND V.ATTRIB_CODE='COLOR' "
+ " AND I.ACTIVE = 'Y' "
+" ORDER BY I.PHY_ATTRIB_2";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itmcode);
pstmt.setString(2, itmcode);
rs = pstmt.executeQuery();
while (rs.next())
{
dColor = checkNullAndTrim(rs.getString(1));
dColorDescr = checkNullAndTrim(rs.getString(2));
colorList.add(dColor);
colorData.put(dColor, dColorDescr);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
sql = "SELECT DISTINCT I.PHY_ATTRIB_3,V.DESCR FROM ITEM I,ITM_ATTRIB_VAL V "
+" WHERE I.ITEM_PARNT = ? AND I.ITEM_CODE != ? AND I.PHY_ATTRIB_3 = V.ATTRIB_ID"
+" AND V.ATTRIB_CODE='DIMENSION' "
+ " AND I.ACTIVE = 'Y' "
+"ORDER BY I.PHY_ATTRIB_3";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itmcode);
pstmt.setString(2, itmcode);
rs = pstmt.executeQuery();
while (rs.next())
{
dDim = checkNullAndTrim(rs.getString(1));
dDimDescr = checkNullAndTrim(rs.getString(2));
dimensionList.add(dDim);
dimensionData.put(dDim,dDimDescr);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
sql = " SELECT PHY_ATTRIB_2 COLOR, PHY_ATTRIB_3 ITEMDIMENSION,ITEM_CODE,PHY_ATTRIB_1 SIZE1"
+" FROM ITEM WHERE item_parnt = ? AND ITEM_CODE != ? and decode(catalog_no,null,'N',catalog_no) ='N' "
+ " AND ACTIVE = 'Y' "
+" GROUP BY ITEM_CODE,PHY_ATTRIB_2,PHY_ATTRIB_1,PHY_ATTRIB_3 "
+"ORDER BY PHY_ATTRIB_1 ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itmcode);
pstmt.setString(2, itmcode);
rs = pstmt.executeQuery();
int num = 1;
while (rs.next())
{
color = checkNullAndTrim(rs.getString("COLOR"));
dimension = checkNullAndTrim(rs.getString("ITEMDIMENSION"));
size = checkNullAndTrim(rs.getString("SIZE1"));
itemCode = checkNullAndTrim(rs.getString("ITEM_CODE"));
dataMap.put(color+":"+dimension+":"+size, itemCode);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
valueXmlString.append("<RECORDS>\r\n");
int dimlistlen = dimensionList.size();
int colorlen = colorList.size();
int sizelen = sizeList.size();
String key = "";
StringBuffer temStrBuffer = null;
boolean isItemExist = false;
for(int i=0;i<dimlistlen;i++)
{
for(int j=0;j<colorlen;j++)
{
temStrBuffer = new StringBuffer("");
isItemExist = false;
temStrBuffer.append("<tr>\r\n");
temStrBuffer.append("<td><![CDATA[").append(colorData.get(colorList.get(j))).append("]]></td>\r\n");
temStrBuffer.append("<td><![CDATA[").append(dimensionData.get(dimensionList.get(i))).append("]]></td>\r\n");
temStrBuffer.append("<td><![CDATA[").append(0).append("]]></td>\r\n");
for(int k=0;k<sizelen;k++)
{
key = colorList.get(j) + ":"+ dimensionList.get(i) + ":"+ sizeList.get(k);
System.out.println("Current Key["+key+"]");
temStrBuffer.append("<td>\r\n");
if(dataMap.containsKey(key))
{
isItemExist =true;
String qty ="0";
for (int x=1;x<paraDatas.length; x++)
{
String itmQty[] = paraDatas[x].split("::");
if(itmQty[0].equals(dataMap.get(key)))
{
qty = itmQty[1];
break;
}
}
if(qty.equals("0"))
{
temStrBuffer.append("<![CDATA[").append(dataMap.get(key)).append("]]>\r\n");
}
else
{
temStrBuffer.append("<![CDATA[").append(dataMap.get(key)+"~"+qty).append("]]>\r\n");
}
System.out.println("Your Key is="+key);
tooltip.add(key);
}
else
{
isItemExist =true;
temStrBuffer.append("<![CDATA[").append("X").append("]]>\r\n");
}
temStrBuffer.append("</td>\r\n");
}
temStrBuffer.append("</tr>\r\n");
/***********************************************************/
/************************************************************/
if(isItemExist)
{
valueXmlString.append(temStrBuffer.toString());
}
}
}
for (int i = 0; i < tooltip.size(); i++)
{
System.out.println("Adding="+tooltip.get(i));
valueXmlString.append("<tooltip>\r\n");
valueXmlString.append("<![CDATA[").append(tooltip.get(i)).append("]]>\r\n");
valueXmlString.append("</tooltip>\r\n");
}
sql = " SELECT ITEM_CODE,descr FROM ITEM I WHERE I.ITEM_CODE = ? AND I.ACTIVE = 'Y' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itmcode);
rs = pstmt.executeQuery();
if(rs.next())
{
valueXmlString.append("<Descr><![CDATA[").append(checkNullAndTrim(rs.getString(2))).append("]]></Descr>\r\n");
}
pstmt.close();
rs.close();
if(itmDLVDate.length>1)
{
DLVDate = itmDLVDate[1];
valueXmlString.append("<DLVDate><![CDATA[").append(checkNullAndTrim(DLVDate)).append("]]></DLVDate>\r\n");
}
valueXmlString.append("</RECORDS>\r\n");
valueXmlString.append("</PRODUCT_SET>\r\n");
valueXmlString.append("</Root>");
}
else
{
sql = " SELECT ITEM_CODE,descr,decode(catalog_no,null,'N',catalog_no) FROM ITEM I WHERE I.ITEM_CODE = ? AND I.ACTIVE = 'Y' AND I.ITEM_PARNT IS NULL ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itmcode);
rs = pstmt.executeQuery();
if(rs.next())
{
valueXmlString.append("<TH_SET selected = 'N'>\r\n");
valueXmlString.append("<SET><![CDATA[").append("Item Description").append("]]></SET>\r\n");
valueXmlString.append("<SET><![CDATA[").append("Total Quantity").append("]]></SET>\r\n");
valueXmlString.append("<SET><![CDATA[").append("Quantity").append("]]></SET>\r\n");
valueXmlString.append("</TH_SET>\r\n");
valueXmlString.append("<RECORDS>\r\n");
valueXmlString.append("<tr>\r\n");
valueXmlString.append("<td><![CDATA[").append(checkNullAndTrim(rs.getString(2))).append("]]></td>\r\n");
valueXmlString.append("<td><![CDATA[").append("0.0").append("]]></td>\r\n");
if(rs.getString(3).equals("Y"))
{
valueXmlString.append("<td><![CDATA[").append("X").append("]]></td>\r\n");
}
else
{
if(paraDatas.length>1)
{
valueXmlString.append("<td><![CDATA[").append(itmcode+"~"+paraDatas[1]).append("]]></td>\r\n");
}
else
{
valueXmlString.append("<td><![CDATA[").append(itmcode).append("]]></td>\r\n");
}
}
valueXmlString.append("</tr>\r\n");
valueXmlString.append("<tooltip><![CDATA[").append("Quantity").append("]]></tooltip>\r\n");
valueXmlString.append("<Descr><![CDATA[").append(checkNullAndTrim(rs.getString(2))).append("]]></Descr>\r\n");
DLVDate = itemDLVDate;
valueXmlString.append("<DLVDate><![CDATA[").append(checkNullAndTrim(DLVDate)).append("]]></DLVDate>\r\n");
valueXmlString.append("</RECORDS>\r\n");
valueXmlString.append("</PRODUCT_SET>\r\n");
valueXmlString.append("</Root>");
}
}
}//End try
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
if (conn != null && !conn.isClosed())
{
conn.close();
conn = null;
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
//System.out.println("return Product Set=["+valueXmlString.toString()+"]");
return valueXmlString.toString();
}
// Changed by Sneha on 31-05-2016, for PO details [Start]
public String getPurcDetail1(String purcOrder, String flag) throws ITMException
{
System.out.println("--------- Inside getPurcDetail1 ----------");
E12GenericUtility genericUtility = new E12GenericUtility();
StringBuffer valueXmlString = new StringBuffer("<Root>\r\n");
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
Date ordDate = null;
String currDate = "", itemSer = "", pordType = "", suppCode = "", siteCodeDlv = "", siteCodeOrd = "", deptCode = "", empCode = "",
crTerm = "", currCode = "", chgDate = "", chgUser = "", chgTerm = "", udfStr1 = "", confirmed = "", confDate = "", remarks = "",
tranCode = "", dlvTerm = "", type = "", priceList = "", exchRate = "", termTable = "", indNo = "", transMode = "", siteDescr = "",
udfStr2 = "", itemSerDescr = "", suppName = "", crTermDescr = "", tranName = "", departmentDescr = "", relAmt = "",
purOrderDb = "", amtType = "";
try
{
//ConnDriver connDriver = new ConnDriver();
//conn = connDriver.getConnectDB("DriverITM");
conn = getConnection();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
currDate = sdf.format(new java.util.Date());
int count = 0;
String sql = "";
sql = " SELECT COUNT(1) FROM PORDER_TEMP WHERE PURC_ORDER = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrder);
rs = pstmt.executeQuery();
if (rs.next())
{
count = rs.getInt(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
if(count > 0) //
{
sql = " SELECT PURC_ORDER, ORD_DATE, TRAN_DATE, IND_NO, PORD_TYPE, ITEM_SER, TASK_DESC, SUPP_CODE, SUPP_NAME, CR_TERM, CRTERM_DESCR,"
+ " REMARKS, DLV_TERM, TRAN_CODE, TRAN_NAME, PRICE_LIST, EXCH_RATE, DEPT_CODE, DEPT_DESCR, TRANS_MODE, SITE_CODE__DLV, "
+ " SITE_CODE__ORD, SITE_DESCR, SITE_ADD1, CURR_CODE, TERM_TABLE, UDF_STR__1, UDF_STR__2, EMP_CODE, CHG_DATE, CHG_USER, "
+ " CHG_TERM, STATUS FROM PORDER_TEMP WHERE PURC_ORDER = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrder);
rs = pstmt.executeQuery();
if (rs.next())
{
purOrderDb = checkNullAndTrim(rs.getString("PURC_ORDER"));
ordDate = rs.getDate("ORD_DATE");
indNo = checkNullAndTrim(rs.getString("IND_NO"));
pordType = checkNullAndTrim(rs.getString("PORD_TYPE"));
itemSer = checkNullAndTrim(rs.getString("ITEM_SER"));
itemSerDescr = checkNullAndTrim(rs.getString("TASK_DESC"));
suppCode = checkNullAndTrim(rs.getString("SUPP_CODE"));
suppName = checkNullAndTrim(rs.getString("SUPP_NAME"));
crTerm = checkNullAndTrim(rs.getString("CR_TERM"));
crTermDescr = checkNullAndTrim(rs.getString("CRTERM_DESCR"));
remarks = checkNullAndTrim(rs.getString("REMARKS"));
dlvTerm = checkNullAndTrim(rs.getString("DLV_TERM"));
tranCode = checkNullAndTrim(rs.getString("TRAN_CODE"));
tranName = checkNullAndTrim(rs.getString("TRAN_NAME"));
priceList = checkNullAndTrim(rs.getString("PRICE_LIST"));
exchRate = checkNullAndTrim(rs.getString("EXCH_RATE"));
deptCode = checkNullAndTrim(rs.getString("DEPT_CODE"));
departmentDescr = checkNullAndTrim(rs.getString("DEPT_DESCR"));
transMode = checkNullAndTrim(rs.getString("TRANS_MODE"));
siteCodeDlv = checkNullAndTrim(rs.getString("SITE_CODE__DLV"));
siteCodeOrd = checkNullAndTrim(rs.getString("SITE_CODE__ORD"));
siteDescr = checkNullAndTrim(rs.getString("SITE_DESCR"));
currCode = checkNullAndTrim(rs.getString("CURR_CODE"));
termTable = checkNullAndTrim(rs.getString("TERM_TABLE"));
udfStr1 = checkNullAndTrim(rs.getString("UDF_STR__1"));
udfStr2 = checkNullAndTrim(rs.getString("UDF_STR__2"));
empCode = checkNullAndTrim(rs.getString("EMP_CODE"));
chgDate = checkNullAndTrim(rs.getString("CHG_DATE"));
chgUser = checkNullAndTrim(rs.getString("CHG_USER"));
chgTerm = checkNullAndTrim(rs.getString("CHG_TERM"));
type = checkNullAndTrim(rs.getString("UDF_STR__1"));
relAmt = checkNullAndTrim(rs.getString("SITE_ADD1"));
udfStr2 = checkNullAndTrim(rs.getString("UDF_STR__2"));
confirmed = "N";
confDate = currDate;
if(udfStr1.equalsIgnoreCase("% of base"))
{
amtType = "01";
}
else if(udfStr1.equalsIgnoreCase("% of net"))
{
amtType = "02";
}
else if(udfStr1.equalsIgnoreCase("Fixed Amount"))
{
amtType = "03";
}
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
}
else //
{
sql = " SELECT PURC_ORDER, ORD_DATE, PORD_TYPE, SUPP_CODE, SITE_CODE__DLV, SITE_CODE__ORD, DEPT_CODE, EMP_CODE, ITEM_SER, CR_TERM, "
+ " CURR_CODE, CHG_DATE, CHG_USER, CHG_TERM, UDF_STR__1, CONFIRMED, CONF_DATE, REMARKS, TRAN_CODE, DLV_TERM, PRICE_LIST, "
+ " EXCH_RATE, TERM_TABLE, IND_NO, TRANS_MODE, SITE_DESCR, UDF_STR__2 FROM PORDER WHERE PURC_ORDER = ? "
+ " AND CONFIRMED = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrder);
pstmt.setString(2, "N");
rs = pstmt.executeQuery();
if (rs.next())
{
purOrderDb = checkNullAndTrim(rs.getString("PURC_ORDER"));
ordDate = rs.getDate("ORD_DATE");
pordType = checkNullAndTrim(rs.getString("PORD_TYPE"));
suppCode = checkNullAndTrim(rs.getString("SUPP_CODE"));
siteCodeDlv = checkNullAndTrim(rs.getString("SITE_CODE__DLV"));
siteCodeOrd = checkNullAndTrim(rs.getString("SITE_CODE__ORD"));
deptCode = checkNullAndTrim(rs.getString("DEPT_CODE"));
empCode = checkNullAndTrim(rs.getString("EMP_CODE"));
itemSer = checkNullAndTrim(rs.getString("ITEM_SER"));
crTerm = checkNullAndTrim(rs.getString("CR_TERM"));
currCode = checkNullAndTrim(rs.getString("CURR_CODE"));
chgDate = checkNullAndTrim(rs.getString("CHG_DATE"));
chgUser = checkNullAndTrim(rs.getString("CHG_USER"));
chgTerm = checkNullAndTrim(rs.getString("CHG_TERM"));
udfStr1 = checkNullAndTrim(rs.getString("UDF_STR__1"));
confirmed = checkNullAndTrim(rs.getString("CONFIRMED"));
confDate = checkNullAndTrim(rs.getString("CONF_DATE"));
remarks = checkNullAndTrim(rs.getString("REMARKS"));
tranCode = checkNullAndTrim(rs.getString("TRAN_CODE"));
dlvTerm = checkNullAndTrim(rs.getString("DLV_TERM"));
priceList = checkNullAndTrim(rs.getString("PRICE_LIST"));
exchRate = checkNullAndTrim(rs.getString("EXCH_RATE"));
termTable = checkNullAndTrim(rs.getString("TERM_TABLE"));
indNo = checkNullAndTrim(rs.getString("IND_NO"));
transMode = checkNullAndTrim(rs.getString("TRANS_MODE"));
siteDescr = checkNullAndTrim(rs.getString("SITE_DESCR"));
udfStr2 = checkNullAndTrim(rs.getString("UDF_STR__2"));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
sql = " SELECT REL_AMT, TYPE, AMT_TYPE FROM PORD_PAY_TERM WHERE PURC_ORDER = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrder);
rs = pstmt.executeQuery();
if (rs.next())
{
relAmt = checkNullAndTrim(rs.getString("REL_AMT"));
type = checkNullAndTrim(rs.getString("TYPE"));
amtType = checkNullAndTrim(rs.getString("AMT_TYPE"));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
sql = " SELECT DESCR FROM ITEMSER WHERE ITEM_SER = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemSer);
rs = pstmt.executeQuery();
if (rs.next())
{
itemSerDescr = checkNullAndTrim(rs.getString("DESCR"));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
sql = " SELECT SUPP_NAME FROM SUPPLIER WHERE SUPP_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, suppCode);
rs = pstmt.executeQuery();
if (rs.next())
{
suppName = checkNullAndTrim(rs.getString("SUPP_NAME"));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
sql = "SELECT DESCR FROM CRTERM where CR_TERM = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, crTerm);
rs = pstmt.executeQuery();
if (rs.next())
{
crTermDescr = checkNullAndTrim(rs.getString("DESCR"));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
sql = "SELECT TRAN_NAME FROM TRANSPORTER WHERE TRAN_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranCode);
rs = pstmt.executeQuery();
if (rs.next())
{
tranName = checkNullAndTrim(rs.getString("TRAN_NAME"));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
sql = "SELECT DESCR FROM DEPARTMENT WHERE DEPT_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, deptCode);
rs = pstmt.executeQuery();
if (rs.next())
{
departmentDescr = checkNullAndTrim(rs.getString("DESCR"));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
}
valueXmlString.append("<Detail1 domID='1' selected = 'N'>\r\n");
valueXmlString.append("<flag>").append("<![CDATA["+flag+"]]>").append("</flag>\r\n");
valueXmlString.append("<purc_order>").append("<![CDATA["+purOrderDb+"]]>").append("</purc_order>\r\n");
valueXmlString.append("<tran_date>").append("<![CDATA["+currDate+"]]>").append("</tran_date>\r\n");
valueXmlString.append("<ord_date>").append("<![CDATA["+sdf.format(ordDate).toString() +"]]>").append("</ord_date>\r\n");
valueXmlString.append("<pord_type>").append("<![CDATA["+pordType+"]]>").append("</pord_type>\r\n");
valueXmlString.append("<ind_no>").append("<![CDATA["+indNo+"]]>").append("</ind_no>\r\n");
valueXmlString.append("<item_ser>").append("<![CDATA["+itemSer+"]]>").append("</item_ser>\r\n");
valueXmlString.append("<item_descr>").append("<![CDATA["+itemSerDescr+"]]>").append("</item_descr>\r\n");
valueXmlString.append("<supp_code>").append("<![CDATA["+suppCode+"]]>").append("</supp_code>\r\n");
valueXmlString.append("<supp_name>").append("<![CDATA["+suppName+"]]>").append("</supp_name>\r\n");
valueXmlString.append("<cr_term>").append("<![CDATA["+crTerm+"]]>").append("</cr_term>\r\n");
valueXmlString.append("<crterm_descr>").append("<![CDATA["+crTermDescr+"]]>").append("</crterm_descr>\r\n");
valueXmlString.append("<remarks>").append("<![CDATA["+remarks+"]]>").append("</remarks>\r\n");
valueXmlString.append("<confirmed>").append("<![CDATA["+confirmed+"]]>").append("</confirmed>\r\n");
valueXmlString.append("<dlv_term>").append("<![CDATA["+dlvTerm+"]]>").append("</dlv_term>\r\n");
valueXmlString.append("<tran_code>").append("<![CDATA["+tranCode+"]]>").append("</tran_code>\r\n");
valueXmlString.append("<tran_name>").append("<![CDATA["+tranName+"]]>").append("</tran_name>\r\n");
valueXmlString.append("<price_list>").append("<![CDATA["+priceList+"]]>").append("</price_list>\r\n");
valueXmlString.append("<conf_date>").append("<![CDATA["+confDate+"]]>").append("</conf_date>\r\n");
valueXmlString.append("<exch_rate>").append("<![CDATA["+exchRate+"]]>").append("</exch_rate>\r\n");
valueXmlString.append("<dept_code>").append("<![CDATA["+deptCode+"]]>").append("</dept_code>\r\n");
valueXmlString.append("<department_descr>").append("<![CDATA["+departmentDescr+"]]>").append("</department_descr>\r\n");
valueXmlString.append("<trans_mode>").append("<![CDATA["+transMode+"]]>").append("</trans_mode>\r\n");
valueXmlString.append("<site_code__dlv>").append("<![CDATA["+siteCodeDlv+"]]>").append("</site_code__dlv>\r\n");
valueXmlString.append("<site_code__ord>").append("<![CDATA["+siteCodeOrd+"]]>").append("</site_code__ord>\r\n");
valueXmlString.append("<site_descr>").append("<![CDATA["+siteDescr+"]]>").append("</site_descr>\r\n");
//valueXmlString.append("<task_desc>").append("<![CDATA["+taskDesc+"]]>").append("</task_desc>\r\n");
valueXmlString.append("<site_add1>").append("<![CDATA["+relAmt+"]]>").append("</site_add1>\r\n");
valueXmlString.append("<emp_code>").append("<![CDATA["+empCode+"]]>").append("</emp_code>\r\n");
valueXmlString.append("<curr_code>").append("<![CDATA["+currCode+"]]>").append("</curr_code>\r\n");
valueXmlString.append("<chg_date>").append("<![CDATA["+chgDate+"]]>").append("</chg_date>\r\n");
valueXmlString.append("<chg_user>").append("<![CDATA["+chgUser+"]]>").append("</chg_user>\r\n");
valueXmlString.append("<chg_term>").append("<![CDATA["+chgTerm+"]]>").append("</chg_term>\r\n");
valueXmlString.append("<term_table>").append("<![CDATA["+termTable+"]]>").append("</term_table>\r\n");
valueXmlString.append("<udf_str__2>").append("<![CDATA["+udfStr2+"]]>").append("</udf_str__2>\r\n");
valueXmlString.append("<udf_str__1>").append("<![CDATA["+amtType+"]]>").append("</udf_str__1>\r\n");
//valueXmlString.append("<udf_str__3>").append("<![CDATA[]]>").append("</udf_str__3>\r\n");
valueXmlString.append("</Detail1>\r\n");
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception :PorderDetailBean :getPurcDetail1(String):" + e.getMessage() + ":");
valueXmlString = valueXmlString.append(genericUtility.createErrorString(e));
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
if (conn != null && !conn.isClosed())
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
System.out.println("Exception :PorderDetailBean :getPurcDetail1(String) :==>\n"+ e.getMessage());
throw new ITMException(e);
}
}
valueXmlString.append("</Root>\r\n");
System.out.println("\n****ValueXmlString :" + valueXmlString.toString() + ":********");
return valueXmlString.toString();
}
// Changed by Sneha on 31-05-2016, for PO details [Start]
public String getPorderDetail2(String siteCode,String empCodeFrmReq,String purcOrder,String flag)throws ITMException
{
System.out.println("******** Inside getPorderDetail2 ***********");
System.out.println("******** SiteCode["+siteCode+"] EmpCode["+empCodeFrmReq+"] SaleOrder["+purcOrder+"] Status["+flag+"] ***********");
String sql = "",retStr = "";
PreparedStatement pstmt = null,pstmtSel = null;
ResultSet rs = null,rsSel = null;
Connection conn = null;
String itemParent = "",itemCode = "",finalItmQtyStr = "",quantity = "",dspDateStr = "",saleOrderTemp = "",tabNum = "",dlvDate = "";
String sqlSel = "",purcOrderTemp = "";
HashMap<String, String> hm = new HashMap<String, String>();
Date dlvDateDt = null;
try
{
conn = getConnection();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
System.out.println("purcOrder Inside if GET_PURC_DET_2 = ["+ purcOrder +"]");
if("A".equalsIgnoreCase(flag) && purcOrder.length() <= 0) // Add mode, Purchase order blank
{
sqlSel = " SELECT PURC_ORDER FROM PORDER_TEMP WHERE STATUS = ? AND EMP_CODE = ? AND SITE_CODE__ORD = ? ";
pstmtSel = conn.prepareStatement(sqlSel);
pstmtSel.setString(1, "A");
pstmtSel.setString(2, empCodeFrmReq);
pstmtSel.setString(3, siteCode);
rsSel = pstmtSel.executeQuery();
if(rsSel.next())
{
purcOrderTemp = checkNullAndTrim(rsSel.getString("PURC_ORDER"));
sql = " SELECT I.ITEM_PARNT, P.ITEM_CODE, P.DLV_DATE, P.QUANTITY FROM PORDDET_TEMP P, ITEM I WHERE PURC_ORDER = ? "
+ " AND I.ITEM_CODE = P.ITEM_CODE ORDER BY I.ITEM_PARNT, P.ITEM_CODE ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrderTemp);
}
if(rsSel != null)
{
rsSel.close();
rsSel = null;
}
if(pstmtSel != null)
{
pstmtSel.close();
pstmtSel = null;
}
}
else if("E".equalsIgnoreCase(flag) && purcOrder.length() > 0) // Edit mode, Purchase order found
{
//System.out.println("Inside 333333333 ["+ purcOrder +"]");
sql = "SELECT I.ITEM_PARNT, P.ITEM_CODE, P.DLV_DATE, P.QUANTITY FROM PORDDET P, ITEM I WHERE PURC_ORDER = ? AND "
+ "I.ITEM_CODE = P.ITEM_CODE AND P.Item_code not in (SELECT PT.ITEM_CODE FROM PORDDET_TEMP PT WHERE PURC_ORDER = ? ) "
+ "UNION "
+ "SELECT I.ITEM_PARNT, PT.ITEM_CODE, PT.DLV_DATE, PT.QUANTITY FROM PORDDET_TEMP PT, ITEM I WHERE PURC_ORDER = ? "
+ "AND I.ITEM_CODE = PT.ITEM_CODE ORDER BY 1, 2 ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrder);
pstmt.setString(2, purcOrder);
pstmt.setString(3, purcOrder);
}
rs = pstmt.executeQuery();
while (rs.next())
{
itemParent = checkNullAndTrim(rs.getString("ITEM_PARNT"));
itemCode = checkNullAndTrim(rs.getString("ITEM_CODE"));
dlvDateDt = rs.getDate("DLV_DATE");
quantity = checkNullAndTrim(rs.getString("QUANTITY"));
dlvDate = sdf.format(dlvDateDt).toString();
if(hm.containsKey(itemParent))
{
String itemQtyStr = hm.get(itemParent);
hm.put(itemParent, itemQtyStr + itemCode + "::" + quantity + "~");
}
else
{
//10115C****301761~02/06/16****301761::1||||10****301738~02/06/16****301738::2~301736::3
hm.put(itemParent, (itemParent + "****" + itemCode + "~" + dlvDate + "****" +itemCode + "::" + quantity + "~"));
}
itemParent = "";
itemCode = "";
dlvDateDt = null;
quantity = "";
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
Set<String> setOfKeys = hm.keySet();
Iterator<String> iterator = setOfKeys.iterator();
finalItmQtyStr = "";
while (iterator.hasNext())
{
String key = (String) iterator.next();
String value = hm.get(key);
finalItmQtyStr = finalItmQtyStr+value.substring(0,value.length()-1)+"||||";
}
retStr = finalItmQtyStr;
}
catch(Exception e)
{
System.out.println("Inside catch getPorderDetail2 ");
e.printStackTrace();
}
finally
{
try
{
if (rsSel != null)
{
rsSel.close();
rsSel = null;
}
if (pstmtSel != null )
{
pstmtSel.close();
pstmtSel = null;
}
if( pstmt != null )
{
pstmt.close();pstmt = null;
}
if (rs != null)
{
rs.close();rs = null;
}
if (conn != null)
{
conn.close();conn = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
System.out.println("Returning getPorderDetail2"+retStr);
return retStr;
}
public String savePorderHeader(String str,String ordSiteCode) throws ITMException
{
String sql= "",sqlSel = "",retStr = "",purcOrderTemp = "";
PreparedStatement pstmt = null,pstmtSel = null;
ResultSet rs = null,rsSel = null;
Connection conn = null;
boolean isError = false;
try
{
conn = getConnection();
System.out.println("------Inside SAVE_PODtl1 ---------");
java.sql.Timestamp currdate = new java.sql.Timestamp( System.currentTimeMillis() );
String[] detail = str.split("~");
if(detail[29].equalsIgnoreCase("A"))
{
sqlSel = " SELECT PURC_ORDER FROM PORDER_TEMP WHERE STATUS = ? AND EMP_CODE = ? AND SITE_CODE__ORD = ? ";
pstmtSel = conn.prepareStatement(sqlSel);
pstmtSel.setString(1, detail[29]);
pstmtSel.setString(2, detail[26]);
pstmtSel.setString(3, detail[2]);
}
else if(detail[29].equalsIgnoreCase("E"))
{
sqlSel = " SELECT PURC_ORDER FROM PORDER_TEMP WHERE STATUS in (?,?) AND EMP_CODE = ? AND SITE_CODE__ORD = ? AND PURC_ORDER = ? ";
pstmtSel = conn.prepareStatement(sqlSel);
pstmtSel.setString(1, detail[29]);
pstmtSel.setString(2, "O");
pstmtSel.setString(3, detail[26]);
pstmtSel.setString(4, detail[2]);
pstmtSel.setString(5, detail[0]);
}
rsSel = pstmtSel.executeQuery();
if( rsSel.next() )
{
purcOrderTemp = checkNullAndTrim(rsSel.getString("PURC_ORDER"));
}
if(rsSel != null)
{
rsSel.close();
rsSel = null;
}
if(pstmtSel != null)
{
pstmtSel.close();
pstmtSel = null;
}
if(detail[0].length() <= 0 && purcOrderTemp.length() > 0) // Add mode old record
{
detail[0] = purcOrderTemp;
}
else if(detail[0].length() <= 0 && purcOrderTemp.length() <= 0) // Add mode new record
{
detail[0] = generateTranId( "w_porderWiz_temp", ordSiteCode, conn );
System.out.println("purchase order after generateTranId ======>>" + detail[0]);
}
System.out.println("------- purchase order after ----- " + detail[0]);
if(purcOrderTemp.length() > 0) // purchase order found blank and Status = "A" ADD
{
System.out.println("UPDATE PORDER_TEMP ======>>"+detail[0]);
sql = "UPDATE PORDER_TEMP SET TRAN_DATE = ?, PORD_TYPE = ?, ITEM_SER = ?, TASK_DESC = ?, SUPP_CODE = ?, SUPP_NAME = ?, "
+ "CR_TERM = ?, CRTERM_DESCR = ?, REMARKS = ?, DLV_TERM = ?, TRAN_CODE = ?, TRAN_NAME = ?, PRICE_LIST = ?, "
+ "EXCH_RATE = ?, DEPT_CODE = ?, DEPT_DESCR = ?, TRANS_MODE = ?, SITE_ADD1 = ?, CURR_CODE = ?, TERM_TABLE = ?, "
+ "UDF_STR__1 = ?, CHG_DATE = ?, CHG_USER = ?, CHG_TERM = ?, STATUS = ? "
+ "WHERE PURC_ORDER = ? AND EMP_CODE = ? AND SITE_CODE__ORD = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, currdate); // TRAN_DATE
pstmt.setString(2, detail[3]); // pord_type
pstmt.setString(3, detail[4]); // itmser
pstmt.setString(4, detail[5]); // itmdescr/TASK_DESC
pstmt.setString(5, detail[6]); // supcode
pstmt.setString(6, detail[7]); // supname
pstmt.setString(7, detail[8]); // crterm
pstmt.setString(8, detail[9]); // crdescr
pstmt.setString(9, detail[10]); // remarks
pstmt.setString(10, detail[12]); // dlvterm
pstmt.setString(11, detail[13]); // trcode
pstmt.setString(12, detail[14]); // trdescr
pstmt.setString(13, detail[17]); // prlist
pstmt.setString(14, detail[19]); // exch_rate
pstmt.setString(15, detail[20]); // dcode
pstmt.setString(16, detail[21]); // ddescr
pstmt.setString(17, detail[15]); // trmode
pstmt.setString(18, detail[24]); // site_add1
pstmt.setString(19, detail[18]); // curr_code
pstmt.setString(20, detail[22]); // term_table
pstmt.setString(21, detail[23]); // udf_str__1
pstmt.setTimestamp(22, currdate); // CHG_DATE
pstmt.setString(23, detail[27]); // CHG_USER
pstmt.setString(24, detail[28]); // CHG_TERM
pstmt.setString(25, detail[29]); // STATUS
pstmt.setString(26, detail[0]); // purc_order
pstmt.setString(27, detail[26]); // EMP_CODE
pstmt.setString(28, detail[2]); // SITE_CODE__ORD
pstmt.executeUpdate();
if( pstmt != null )
{
pstmt.close();
pstmt = null;
}
}
else if(purcOrderTemp.length() <= 0)
{
System.out.println("INSERT into PORDER_TEMP ======>>"+detail[0]);
String orddate = genericUtility.getValidDateTimeString(
checkNullAndTrim(detail[1]), genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
sql = "INSERT INTO PORDER_TEMP(PURC_ORDER, ORD_DATE, TRAN_DATE, PORD_TYPE, ITEM_SER, TASK_DESC, SUPP_CODE, SUPP_NAME, "
+ "CR_TERM, CRTERM_DESCR, REMARKS, DLV_TERM, TRAN_CODE, TRAN_NAME, PRICE_LIST, EXCH_RATE, DEPT_CODE, DEPT_DESCR, "
+ "TRANS_MODE, SITE_CODE__DLV, SITE_CODE__ORD, SITE_ADD1, CURR_CODE, TERM_TABLE, UDF_STR__1, "
+ "UDF_STR__2, EMP_CODE, CHG_DATE, CHG_USER, CHG_TERM, STATUS) "
+ " VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, detail[0]); // purc_order
pstmt.setTimestamp(2, java.sql.Timestamp.valueOf(orddate)); // orddate
pstmt.setTimestamp(3, currdate); // TRAN_DATE
pstmt.setString(4, detail[3]); // pord_type
pstmt.setString(5, detail[4]); // itmser
pstmt.setString(6, detail[5]); // itmdescr/TASK_DESC
pstmt.setString(7, detail[6]); // supcode
pstmt.setString(8, detail[7]); // supname
pstmt.setString(9, detail[8]); // crterm
pstmt.setString(10, detail[9]); // crdescr
pstmt.setString(11, detail[10]); // remarks
pstmt.setString(12, detail[12]); // dlvterm
pstmt.setString(13, detail[13]); // trcode
pstmt.setString(14, detail[14]); // trdescr
pstmt.setString(15, detail[17]); // prlist
pstmt.setString(16, detail[19]); // exch_rate
pstmt.setString(17, detail[20]); // dcode
pstmt.setString(18, detail[21]); // ddescr
pstmt.setString(19, detail[15]); // trmode
pstmt.setString(20, detail[11]); // site_code__dlv
pstmt.setString(21, detail[2]); // order_site/SITE_CODE__ORD
pstmt.setString(22, detail[24]); // site_add1
pstmt.setString(23, detail[18]); // curr_code
pstmt.setString(24, detail[22]); // term_table
pstmt.setString(25, detail[23]); // udf_str__1
pstmt.setString(26, detail[25]); // udf_str__2
pstmt.setString(27, detail[26]); // EMP_CODE
pstmt.setTimestamp(28, currdate); // CHG_DATE
pstmt.setString(29, detail[27]); // CHG_USER
pstmt.setString(30, detail[28]); // CHG_TERM
pstmt.setString(31, detail[29]); // STATUS
//pstmt.setString(28, detail[17]); // delivery_term_descr
pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
//retStr = detail[0];
}
catch (Exception e)
{
System.out.println("Inside catch savePorderHeader");
e.printStackTrace();
isError = true;
}
finally
{
try
{
if(isError)
{
conn.rollback();
}
else
{
conn.commit();
}
if (rsSel != null)
{
rsSel.close();
rsSel = null;
}
if (pstmtSel != null )
{
pstmtSel.close();
pstmtSel = null;
}
if( pstmt != null )
{
pstmt.close();pstmt = null;
}
if (rs != null)
{
rs.close();rs = null;
}
if (conn != null)
{
conn.close();conn = null;
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
return retStr;
}
public String savePorderDetail(String str) throws ITMException
{
String sql= "",sqlSel = "",retStr = "",purcOrderTemp = "",dlvDate = "";
PreparedStatement pstmt = null,pstmtSel = null;
ResultSet rs = null,rsSel = null;
Connection conn = null;
boolean isError = false;
try
{
conn = getConnection();
String[] detail = str.split("~");
String purcOrderFrmHdr = "";
if(detail[6].equalsIgnoreCase("A")) // Status
{
sqlSel = " SELECT PURC_ORDER FROM PORDER_TEMP WHERE STATUS = ? AND EMP_CODE = ? AND SITE_CODE__ORD = ? ";
pstmtSel = conn.prepareStatement(sqlSel);
pstmtSel.setString(1, detail[6]); //Status
pstmtSel.setString(2, detail[4]); // Emp_Code
pstmtSel.setString(3, detail[5]); // order_site/SITE_CODE__ORD
rsSel = pstmtSel.executeQuery();
if(rsSel.next())
{
purcOrderFrmHdr = rsSel.getString("PURC_ORDER");
}
if(rsSel != null)
{
rsSel.close();
rsSel = null;
}
if(pstmtSel != null)
{
pstmtSel.close();
pstmtSel = null;
}
}
else
{
purcOrderFrmHdr = detail[7];
}
if("DELETE".equalsIgnoreCase(detail[2])) //Deleting accordian
{
System.out.println("Inside delete acrrodian");
//sql = " DELETE FROM PORDDET_TEMP WHERE PURC_ORDER = ? AND ITEM_CODE IN (SELECT ITEM_CODE FROM ITEM WHERE ITEM_PARNT = ?) AND TAB_NO = ?";
sql = " DELETE FROM PORDDET_TEMP WHERE PURC_ORDER = ? AND ITEM_CODE IN (SELECT ITEM_CODE FROM ITEM WHERE ITEM_PARNT = ?) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrderFrmHdr);
pstmt.setString(2, detail[1]);
int upd = pstmt.executeUpdate();
System.out.println("Deleted Items="+upd);
if( pstmt != null )
{
pstmt.close();pstmt = null;
}
}
else
{
if(!detail[2].trim().equalsIgnoreCase("") && Integer.parseInt(detail[2]) > 0)
{
sqlSel = "SELECT ITEM_CODE FROM PORDDET_TEMP PD WHERE PURC_ORDER = ? AND ITEM_CODE = ? ";
pstmtSel = conn.prepareStatement(sqlSel);
pstmtSel.setString(1, purcOrderFrmHdr); // PURC_ORDER
pstmtSel.setString(2, detail[1]); // ITEM_CODE
rsSel = pstmtSel.executeQuery();
if( rsSel.next() )
{
sql = "UPDATE PORDDET_TEMP SET QUANTITY = ? WHERE PURC_ORDER = ? AND ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, detail[2]); // QUANTITY
pstmt.setString(2, purcOrderFrmHdr); // PURC_ORDER
pstmt.setString(3, detail[1]); // ITEM_CODE
pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
else
{
dlvDate = genericUtility.getValidDateTimeString(
checkNullAndTrim(detail[3]), genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
sql = "INSERT INTO PORDDET_TEMP(PURC_ORDER, SITE_CODE, ITEM_CODE, QUANTITY, DLV_DATE) "
+ " VALUES(?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrderFrmHdr); // PURC_ORDER
pstmt.setString(2, detail[0]); // SITE_CODE
pstmt.setString(3, detail[1]); // ITEM_CODE
pstmt.setString(4, detail[2]); // QUANTITY
pstmt.setTimestamp(5, java.sql.Timestamp.valueOf(dlvDate)); // DLV_DATE
pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
if(rsSel != null)
{
rsSel.close();
rsSel = null;
}
if(pstmtSel != null)
{
pstmtSel.close();
pstmtSel = null;
}
}
else if(detail[2].trim().equalsIgnoreCase("") || Integer.parseInt(detail[2]) <= 0) // if Quantity is zero
{
sql = "DELETE FROM PORDDET_TEMP WHERE PURC_ORDER = ? AND ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrderFrmHdr); // PURC_ORDER
pstmt.setString(2, detail[1]); // ITEM_CODE
pstmt.executeUpdate();
if( pstmt != null )
{
pstmt.close();
pstmt = null;
}
}
}
}
catch (Exception e)
{
e.printStackTrace();
isError = true;
}
finally
{
try
{
if(isError)
{
conn.rollback();
}
else
{
conn.commit();
}
if (rsSel != null)
{
rsSel.close();
rsSel = null;
}
if (pstmtSel != null )
{
pstmtSel.close();
pstmtSel = null;
}
if( pstmt != null )
{
pstmt.close();pstmt = null;
}
if (rs != null)
{
rs.close();rs = null;
}
if (conn != null)
{
conn.close();conn = null;
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
return retStr;
}
public String validatePorder(String itemCode) throws ITMException
{
String sql = "",retStr = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
Connection conn = null;
try
{
conn = getConnection();
int count = 0;
sql = " SELECT COUNT(*) FROM PORDER WHERE PURC_ORDER = ? AND CONFIRMED = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
pstmt.setString(2, "N");
rs = pstmt.executeQuery();
if (rs.next())
{
count = rs.getInt(1);
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null )
{
pstmt.close();pstmt = null;
}
retStr = String.valueOf(count);
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if( pstmt != null )
{
pstmt.close();pstmt = null;
}
if (rs != null)
{
rs.close();rs = null;
}
if (conn != null)
{
conn.close();conn = null;
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
return retStr;
}
public String resetPorderHeader(String str) throws ITMException
{
String sql = "",retStr = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
Connection conn = null;
boolean isError = false;
try
{
conn = getConnection();
String[] detail = str.split("~");
sql = "UPDATE PORDER_TEMP SET STATUS = ? WHERE STATUS = ? AND EMP_CODE = ? AND SITE_CODE__ORD = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "C");
pstmt.setString(2, detail[2]);
pstmt.setString(3, detail[0]);
pstmt.setString(4, detail[1]);
pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch (Exception e)
{
e.printStackTrace();
isError = true;
}
finally
{
try
{
if(isError)
{
conn.rollback();
}
else
{
conn.commit();
}
if( pstmt != null )
{
pstmt.close();pstmt = null;
}
if (rs != null)
{
rs.close();rs = null;
}
if (conn != null)
{
conn.close();conn = null;
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
return retStr;
}
// Changed by Sneha, on 28-07-2016 for generating tran_id [Start]
private String generateTranId( String windowName, String siteCode, Connection conn )throws ITMException
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String selSql = "";
String tranId = "";
String tranSer = "";
String keyString = "";
String keyCol = "";
String xmlValues = "";
String paySiteCode = "";
String effectiveDate = "";
java.sql.Timestamp currDate = null;
java.sql.Date effDate = null;
E12GenericUtility genericUtility = new E12GenericUtility();
try
{
SimpleDateFormat sdfAppl = new SimpleDateFormat(genericUtility.getApplDateFormat());
currDate = new java.sql.Timestamp(System.currentTimeMillis());
String currDateStr = sdfAppl.format(currDate);
selSql = "SELECT KEY_STRING, TRAN_ID_COL, REF_SER FROM TRANSETUP WHERE TRAN_WINDOW = ? ";
pstmt = conn.prepareStatement(selSql);
pstmt.setString( 1, windowName );
rs = pstmt.executeQuery();
if (rs.next())
{
keyString = rs.getString("KEY_STRING");
keyCol = rs.getString("TRAN_ID_COL");
tranSer = rs.getString("REF_SER");
}
rs.close();rs = null;
pstmt.close();pstmt = null;
System.out.println("keyString :"+keyString);
System.out.println("keyCol :"+keyCol);
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 + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues + "<tran_date>" + currDateStr + "</tran_date>";
xmlValues = xmlValues + "</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
tranId = tg.generateTranSeqID(tranSer, keyCol, keyString, conn);
System.out.println("tranId :"+tranId);
}
catch (SQLException ex)
{
System.out.println("Exception ::" +selSql+ ex.getMessage() + ":");
ex.printStackTrace();
throw new ITMException(ex);
}
catch (Exception e)
{
System.out.println("Exception ::" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e){}
}
return checkNullAndTrim(tranId);
}
// Changed by Sneha, on 28-07-2016 for generating tran_id [End]
//Changed by Samadhan on 14/07/2015 D15CKAT026 End
private String getSubLeadTime(String itemCode,String dlvDate,Connection conn)
{
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
String dlvleadTime = "";
sql = " select pur_lead_time from supplieritem where item_code = ? ";
try
{
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
rs = pstmt.executeQuery();
if ( rs.next() )
{
dlvleadTime = checkNullAndTrim(rs.getString("pur_lead_time"));
System.out.println("Pure Lead Time="+dlvleadTime);
System.out.println("Delivery Date="+dlvDate);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(dlvDate));
c.add(Calendar.DATE, (-Integer.parseInt(dlvleadTime)));
dlvDate = sdf.format(c.getTime());
System.out.println("New Delivery Date--------->>"+dlvDate);
}
}catch (Exception e)
{
}
return dlvDate;
}
//Changed by Samadhan on 14/07/2015 D15CKAT026 End
//Changed by wasim to add code from servlet to EJB [START]
}
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