Commit 8801d697 authored by msingh's avatar msingh

Added EJB for product wizard.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@98941 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 717c44e3
package ibase.webitm.ejb.wms;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import javax.ejb.Stateless;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
/**
* Session Bean implementation class DDProductWizEJB
*/
@Stateless
public class DDProductWizEJB extends ValidatorEJB implements DDProductWizRemote, DDProductWizLocal
{
//GenericUtility genericUtility = GenericUtility.getInstance();
E12GenericUtility genericUtility = new E12GenericUtility(); //Added by Parikshit Kumbhar on 23/04/2015
/**
* Default constructor.
*/
public DDProductWizEJB() {
// TODO Auto-generated constructor stub
}
@Override
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException
{
String errString = "";
Document dom = null;
Document dom1 = null;
Document dom2 = null;
try
{
System.out.println("xmlString:::"+xmlString);
if(xmlString != null && xmlString.trim().length()!=0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length()!=0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length()!=0)
{
dom2 = genericUtility.parseString(xmlString2);
}
errString = wfValData(dom,dom1,dom2,objContext,editFlag,xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : Cpp : wfValData(String xmlString) : ==>\n"+e.getMessage());
}
return(errString);
}
@Override
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams)throws RemoteException, ITMException
{
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = null;
String userId = "";
String errCode = "";
String errorType = "";
String errString = "";
int ctr=0;
int childNodeListLength;
int currentFormNo = 0;
long cnt = 0;
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
Connection conn = null;
PreparedStatement pstmt = null ;
ResultSet rs = null;
ConnDriver connDriver = new ConnDriver();
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
try
{
conn = connDriver.getConnectDB("DriverITM");
userId = getValueFromXTRA_PARAMS(xtraParams, "loginCode");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
if(objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext);
}
switch(currentFormNo)
{
case 1 :
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr ++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if (childNodeName.equalsIgnoreCase("item_parnt"))
{
int paramName = 0;
String item_parnt = genericUtility.getColumnValue("item_parnt", dom);
String countSerSql = "SELECT COUNT(1) AS COUNT FROM ITEM WHERE TRIM(ITEM_CODE) = ?";
PreparedStatement pstmtParamName = conn.prepareStatement(countSerSql);
pstmtParamName.setString(1, item_parnt);
ResultSet rsCnt = pstmtParamName.executeQuery();
System.out.println("countSerSql" + countSerSql);
if (rsCnt.next())
{
paramName = rsCnt.getInt("COUNT");
}
if (paramName != 0) {
errCode = "DUPITEMCD";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else if (childNodeName.equalsIgnoreCase("item_parnt_desc"))
{
int paramName = 0;
String item_parnt_desc = genericUtility.getColumnValue("item_parnt_desc", dom);
String countSerSql = "SELECT COUNT(1) AS COUNT FROM ITEM WHERE TRIM(DESCR) = ?";
PreparedStatement pstmtParamName = conn.prepareStatement(countSerSql);
pstmtParamName.setString(1, item_parnt_desc);
ResultSet rsCnt = pstmtParamName.executeQuery();
System.out.println("countSerSql" + countSerSql);
if (rsCnt.next())
{
paramName = rsCnt.getInt("COUNT");
}
if (paramName != 0) {
errCode = "DUPITEMDES";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else if (childNodeName.equalsIgnoreCase("item_type"))
{
int paramName = 0;
String itemType = genericUtility.getColumnValue("item_type", dom);
String countSerSql = "SELECT COUNT(1) AS COUNT FROM ITEM_TYPE WHERE ITEM_TYPE = ?";//Added By Parikshit Kumbhar on 29/05/15 Changed pophelp query
PreparedStatement pstmtParamName = conn.prepareStatement(countSerSql);
pstmtParamName.setString(1, itemType);
ResultSet rsCnt = pstmtParamName.executeQuery();
System.out.println("countSerSql" + countSerSql);
if (rsCnt.next())
{
paramName = rsCnt.getInt("COUNT");
}
/*if (paramName == 0) {
errCode = "INVSLSPERS";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}*/
}
else if (childNodeName.equalsIgnoreCase("item_ser"))
{
int paramName = 0;
String itemSer = genericUtility.getColumnValue("item_ser", dom);
String countSerSql = "SELECT COUNT(1) AS COUNT FROM itemser WHERE item_ser = ?";//Added By Parikshit Kumbhar on 29/05/15 Changed pophelp query
PreparedStatement pstmtParamName = conn.prepareStatement(countSerSql);
pstmtParamName.setString(1, itemSer);
ResultSet rsCnt = pstmtParamName.executeQuery();
System.out.println("countSerSql" + countSerSql);
if (rsCnt.next())
{
paramName = rsCnt.getInt("COUNT");
}
}
else if (childNodeName.equalsIgnoreCase("grp_code"))
{
int paramName = 0;
String gradeCode = genericUtility.getColumnValue("grp_code", dom);
String countSerSql = "SELECT COUNT(1) AS COUNT FROM gencodes WHERE fld_name = 'GRP_CODE' and mod_name = 'W_DD_PRODUCTWIZ' AND fld_value = ?";
PreparedStatement pstmtParamName = conn.prepareStatement(countSerSql);
pstmtParamName.setString(1, gradeCode);
ResultSet rsCnt = pstmtParamName.executeQuery();
System.out.println("countSerSql" + countSerSql);
if (rsCnt.next())
{
paramName = rsCnt.getInt("COUNT");
}
}
else if (childNodeName.equalsIgnoreCase("site_codes"))
{
String siteCode = checkNullAndTrim(genericUtility.getColumnValue("site_codes", dom));
if (!siteCode.equals(""))
{
String[] siteCodes = siteCode.split(",");
for (int i = 0; i < siteCodes.length; i++)
{
int paramName = 0;
String countSerSql = "SELECT COUNT(1) AS COUNT FROM SITE WHERE SITE_CODE = ?";
PreparedStatement pstmtParamName = conn.prepareStatement(countSerSql);
pstmtParamName.setString(1, checkNullAndTrim(siteCodes[i]));
ResultSet rsCnt = pstmtParamName.executeQuery();
System.out.println("countSerSql" + countSerSql);
if (rsCnt.next())
{
paramName = rsCnt.getInt("COUNT");
}
if (paramName == 0)
{
errCode = "INVSITESEL";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}
else if (childNodeName.equalsIgnoreCase("color_codes"))
{
String colorCode = checkNullAndTrim(genericUtility.getColumnValue("color_codes", dom));
if (!colorCode.equals(""))
{
String[] colorCodes = colorCode.split(",");
for (int i = 0; i < colorCodes.length; i++)
{
int paramName = 0;
String countSerSql = "SELECT COUNT(1) AS COUNT FROM ITM_ATTRIB_VAL WHERE ATTRIB_CODE ='COLOR' AND TRIM(ATTRIB_ID) = ?";//Added By Parikshit Kumbhar on 29/05/15 Changed pophelp query
PreparedStatement pstmtParamName = conn.prepareStatement(countSerSql);
pstmtParamName.setString(1, checkNullAndTrim(colorCodes[i]));
ResultSet rsCnt = pstmtParamName.executeQuery();
System.out.println("countSerSql" + countSerSql);
if (rsCnt.next())
{
paramName = rsCnt.getInt("COUNT");
}
if (paramName == 0)
{
errCode = "INVCLRSEL";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}
else if (childNodeName.equalsIgnoreCase("category_descr"))
{
String category = checkNullAndTrim(genericUtility.getColumnValue("category_descr", dom));
if (!category.equals(""))
{
String[] categoryCodes = category.split(",");
for (int i = 0; i < categoryCodes.length; i++)
{
int paramName = 0;
String countSerSql = "SELECT COUNT(1) AS COUNT FROM ITM_ATTRIB_VAL WHERE ATTRIB_CODE ='CATEGORY' AND TRIM(ATTRIB_ID) = ?";//Added By Parikshit Kumbhar on 29/05/15 Changed pophelp query
PreparedStatement pstmtParamName = conn.prepareStatement(countSerSql);
pstmtParamName.setString(1, checkNullAndTrim(categoryCodes[i]));
ResultSet rsCnt = pstmtParamName.executeQuery();
System.out.println("countSerSql" + countSerSql);
if (rsCnt.next())
{
paramName = rsCnt.getInt("COUNT");
}
if (paramName == 0)
{
errCode = "INVCATSEL";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}
}
break;
case 2 :
String customerName = "";
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr ++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if (childNodeName.equalsIgnoreCase("item_barcode"))
{
int paramName = 0;
String item_parnt = genericUtility.getColumnValue("item_barcode", dom);
String countSerSql = "SELECT COUNT(1) AS COUNT FROM ITEM WHERE TRIM(udf__str2) = ?";
PreparedStatement pstmtParamName = conn.prepareStatement(countSerSql);
pstmtParamName.setString(1, item_parnt);
ResultSet rsCnt = pstmtParamName.executeQuery();
System.out.println("countSerSql" + countSerSql);
if (rsCnt.next())
{
paramName = rsCnt.getInt("COUNT");
}
if (paramName != 0) {
errCode = "DUPITMBARC";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
if( errString.indexOf("<Errors>")!=-1 )
{
if( errString.length() > 0 )
{
String msgDescr = errString.substring(errString.indexOf("<description>")+("<description>").length(),errString.indexOf("</description>")) + " for customer " + customerName ;
errString = errString.substring(0, errString.indexOf("<description>")+("<description>").length()) + msgDescr + "" + errString.substring( errString.indexOf("</description>"), errString.length());
return errString;
}
}
}
int errListSize = errList.size();
cnt = 0;
String errFldName = null;
if(errList != null && errListSize > 0)
{
for(cnt = 0; cnt < errListSize; cnt ++)
{
errCode = errList.get((int) cnt);
errFldName = errFields.get((int) cnt);
errString = getErrorString(errFldName, errCode, userId);
errorType = errorType(conn , errCode);
if(errString.length() > 0)
{
String bifurErrString = errString.substring(errString.indexOf("<Errors>") + 8, errString.indexOf("<trace>"));
bifurErrString = bifurErrString + errString.substring(errString.indexOf("</trace>") + 8, errString.indexOf("</Errors>"));
errStringXml.append(bifurErrString);
errString = "";
}
if(errorType.equalsIgnoreCase("E"))
{
break;
}
}
errList.clear();
errList = null;
errFields.clear();
errFields = null;
errStringXml.append("</Errors> </Root> \r\n");
}
else
{
errStringXml = new StringBuffer("");
}
}// End of try
catch(Exception e)
{
e.printStackTrace();
errString = e.getMessage();
throw new ITMException(e);
}
finally
{
try
{
connDriver = null;
if(conn != null)
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
}
conn = null;
}
catch(Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
errString = errStringXml.toString();
return errString;
}
@Override
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
Document dom1 = null;
Document dom = null;
Document dom2 = null;
String valueXmlString = "";
try
{
if(xmlString != null && xmlString.trim().length()!=0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length()!=0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length()!=0)
{
dom2 = genericUtility.parseString(xmlString2);
}
/*System.out.println("xmlString : ["+ xmlString+ "] \nxmlString1 : ["+ xmlString1 +"] \nxmlString2 : ["+ xmlString2 +"]");*/
valueXmlString = itemChanged(dom,dom1,dom2,objContext,currentColumn,editFlag,xtraParams);
}
catch(Exception e)
{
System.out.println("Exception :DDProductWizEJB:itemChanged(String,String,String,String,String,String):" + e.getMessage() + ":");
valueXmlString = genericUtility.createErrorString(e);
e.printStackTrace();
}
return (valueXmlString);
}
@Override
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null ;
String userId = "";
String currDate = "";
int currentFormNo = 0;
StringBuffer valueXmlString = new StringBuffer();
ConnDriver connDriver = new ConnDriver();
String sqlQueryDisparam;
String strLocId = "";
String sqlQueryLocation;
String locCode = "";
String locDescr = "";
String locType = "";
try
{
conn = connDriver.getConnectDB("DriverITM");
System.out.println("user id is equal to ===============> "+userId);
conn.setAutoCommit(false);
connDriver = null;
String dateFormat = genericUtility.getApplDateFormat(); // Added by Parikshit Kumbhar on 08/07/2015 [to set date format]
//Added by Chetan Mahajan on date:06/02/2015 [Getting loc_code from disparam table] Start
sqlQueryDisparam = "select var_value from disparm where var_name='PGRL_INVSTAT'";
pstmt = conn.prepareStatement(sqlQueryDisparam);
rs = pstmt.executeQuery();
if(rs.next())
{
strLocId = rs.getString(1);
}
pstmt=null;
rs=null;
if(!strLocId.equals(""))
{
sqlQueryLocation = "select loc_code, descr,loc_type from location where loc_code = ?";
pstmt = conn.prepareStatement(sqlQueryLocation);
pstmt.setString(1, strLocId);
rs = pstmt.executeQuery();
if(rs.next())
{
locCode = rs.getString(1);
locDescr = rs.getString(2);
locType = rs.getString(3);
}
pstmt=null;
rs=null;
}
System.out.println("Location code = "+locCode);
System.out.println("Location Descr = "+locDescr);
System.out.println("Location Type = "+locType);
//Added by Chetan Mahajan on date:06/02/2015 [Getting loc_code from disparam table] End
if(objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext);
}
valueXmlString = new StringBuffer("<?xml version = \"1.0\"?>\r\n<Root>\r\n<header>\r\n<editFlag>");
valueXmlString.append(editFlag).append("</editFlag>\r\n</header>\r\n");
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
currDate = sdf.format(new java.util.Date());
userId = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginCode" );
String chgTerm = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "chgTerm" );
switch ( currentFormNo )
{
case 1:
{
valueXmlString.append("<Detail1 domID='1' selected = 'N'>\r\n");
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ))
{
valueXmlString.append("<item_parnt>").append("<![CDATA[]]>").append("</item_parnt>\r\n");
valueXmlString.append("<item_parnt_desc>").append("<![CDATA[]]>").append("</item_parnt_desc>\r\n");
valueXmlString.append("<item_type>").append("<![CDATA[]]>").append("</item_type>\r\n");
valueXmlString.append("<item_type_desc>").append("<![CDATA[]]>").append("</item_type_desc>\r\n");
valueXmlString.append("<item_ser>").append("<![CDATA[]]>").append("</item_ser>\r\n");
valueXmlString.append("<itemser_descr>").append("<![CDATA[]]>").append("</itemser_descr>\r\n");
valueXmlString.append("<descr>").append("<![CDATA[]]>").append("</descr>\r\n");
valueXmlString.append("<grp_code>").append("<![CDATA[]]>").append("</grp_code>\r\n");
valueXmlString.append("<grp_code_desc>").append("<![CDATA[]]>").append("</grp_code_desc>\r\n");
valueXmlString.append("<loc_code>").append("<![CDATA["+ checkNullAndTrim(locCode) +"]]>").append("</loc_code>\r\n");
valueXmlString.append("<stk_opt>").append("<![CDATA[]]>").append("</stk_opt>\r\n");
valueXmlString.append("<site_codes>").append("<![CDATA[]]>").append("</site_codes>\r\n");
valueXmlString.append("<site_desc>").append("<![CDATA[]]>").append("</site_desc>\r\n");
valueXmlString.append("<dimension_desc>").append("<![CDATA[]]>").append("</dimension_desc>\r\n");
valueXmlString.append("<dim_code_desc>").append("<![CDATA[]]>").append("</dim_code_desc>\r\n");
valueXmlString.append("<color_codes>").append("<![CDATA[]]>").append("</color_codes>\r\n");
valueXmlString.append("<color_code_descr>").append("<![CDATA[]]>").append("</color_code_descr>\r\n");
valueXmlString.append("<size_codes>").append("<![CDATA[]]>").append("</size_codes>\r\n");
valueXmlString.append("<size_type>").append("<![CDATA[]]>").append("</size_type>\r\n");
valueXmlString.append("<phy_attr4>").append("<![CDATA[]]>").append("</phy_attr4>\r\n");
valueXmlString.append("<phy_attr5>").append("<![CDATA[]]>").append("</phy_attr5>\r\n");
//valueXmlString.append("<price>").append("<![CDATA[]]>").append("</price>\r\n");
//valueXmlString.append("<curr_code>").append("<![CDATA[]]>").append("</curr_code>\r\n");
valueXmlString.append("<unit>").append("<![CDATA[NOS]]>").append("</unit>\r\n");
valueXmlString.append("<track_shelf_life>").append("<![CDATA[N]]>").append("</track_shelf_life>\r\n");
valueXmlString.append("<unit_rate>").append("<![CDATA[]]>").append("</unit_rate>\r\n");
valueXmlString.append("<item_category>").append("<![CDATA[]]>").append("</item_category>\r\n");
valueXmlString.append("<category_descr>").append("<![CDATA[]]>").append("</category_descr>\r\n");
valueXmlString.append("<price_list_dtl>").append("<![CDATA[]]>").append("</price_list_dtl>\r\n");
valueXmlString.append("<item_length>").append("<![CDATA[0.000]]>").append("</item_length>\r\n");
valueXmlString.append("<item_width>").append("<![CDATA[0.000]]>").append("</item_width>\r\n");
valueXmlString.append("<item_height>").append("<![CDATA[0.000]]>").append("</item_height>\r\n");
valueXmlString.append("<item_gross_wt>").append("<![CDATA[0.000]]>").append("</item_gross_wt>\r\n");
valueXmlString.append("<supp_code>").append("<![CDATA[]]>").append("</supp_code>\r\n");
valueXmlString.append("<supplier_desc>").append("<![CDATA[]]>").append("</supplier_desc>\r\n");
valueXmlString.append("<supp_item_desc>").append("<![CDATA[]]>").append("</supp_item_desc>\r\n");
valueXmlString.append("<img_path>").append("<![CDATA[]]>").append("</img_path>\r\n");
valueXmlString.append("<item_sh_descr>").append("<![CDATA[]]>").append("</item_sh_descr>\r\n");
valueXmlString.append("<long_desc>").append("<![CDATA[]]>").append("</long_desc>\r\n");
valueXmlString.append("<meta_desc>").append("<![CDATA[]]>").append("</meta_desc>\r\n");
valueXmlString.append("<meta_keywords>").append("<![CDATA[]]>").append("</meta_keywords>\r\n");
valueXmlString.append("<meta_title>").append("<![CDATA[]]>").append("</meta_title>\r\n");
valueXmlString.append("<login_code>").append("<![CDATA["+ userId +"]]>").append("</login_code>\r\n");
valueXmlString.append("<chg_date>").append("<![CDATA["+ currDate +"]]>").append("</chg_date>\r\n");
valueXmlString.append("<chg_user>").append("<![CDATA["+ userId +"]]>").append("</chg_user>\r\n");
valueXmlString.append("<chg_term>").append("<![CDATA["+ chgTerm +"]]>").append("</chg_term>\r\n");
//Added by Chetan Mahajan on date:06/02/2015 [Added purchase lead time,location description, location ] Start
valueXmlString.append("<pur_lead_time>").append("<![CDATA[0]]>").append("</pur_lead_time>\r\n");
valueXmlString.append("<location_descr>").append("<![CDATA["+ checkNullAndTrim(locDescr) +"]]>").append("</location_descr>\r\n");
valueXmlString.append("<loc_type>").append("<![CDATA["+ checkNullAndTrim(locType) +"]]>").append("</loc_type>\r\n");
//Added by Chetan Mahajan on date:06/02/2015 [Added purchase lead time,location description, location ] End
//Added by Parikshit Kumbhar on date:20/04/2015 [Added shipper_size, case_length, case_width,size_height, case_gross_weight, case_net_weight, pack_size_dtl,lang fields] Starts
valueXmlString.append("<shipper_size>").append("<![CDATA[0.000]]>").append("</shipper_size>\r\n");
valueXmlString.append("<case_length>").append("<![CDATA[0.000]]>").append("</case_length>\r\n");
valueXmlString.append("<case_width>").append("<![CDATA[0.000]]>").append("</case_width>\r\n");
valueXmlString.append("<size_height>").append("<![CDATA[0.000]]>").append("</size_height>\r\n");
valueXmlString.append("<case_gross_weight>").append("<![CDATA[0.000]]>").append("</case_gross_weight>\r\n");
valueXmlString.append("<case_net_weight>").append("<![CDATA[0.000]]>").append("</case_net_weight>\r\n");
//valueXmlString.append("<language>").append("<![CDATA[]]>").append("</language>\r\n");
//valueXmlString.append("<language_desc>").append("<![CDATA[]]>").append("</language_desc>\r\n");
valueXmlString.append("<pack_size_dtl>").append("<![CDATA[]]>").append("</pack_size_dtl>\r\n");
valueXmlString.append("<size_type_desc>").append("<![CDATA[]]>").append("</size_type_desc>\r\n");
// valueXmlString.append("<language_dtl>").append("<![CDATA[]]>").append("</language_dtl>\r\n");
valueXmlString.append("<tax>").append("<![CDATA[]]>").append("</tax>\r\n");
valueXmlString.append("<tax_desc>").append("<![CDATA[]]>").append("</tax_desc>\r\n");
valueXmlString.append("<site_code>").append("<![CDATA[]]>").append("</site_code>\r\n");
valueXmlString.append("<site_descr>").append("<![CDATA[]]>").append("</site_descr>\r\n");
valueXmlString.append("<supp_code>").append("<![CDATA[]]>").append("</supp_code>\r\n");
valueXmlString.append("<supp_descr>").append("<![CDATA[]]>").append("</supp_descr>\r\n");
//Added by Parikshit Kumbhar on date:20/04/2015 [Added shipper_size, case_length, case_width,size_height, case_gross_weight, case_net_weight, pack_size_dtl,lang fields] Ends
valueXmlString.append("<date_format>").append("<![CDATA["+ checkNullAndTrim(dateFormat) +"]]>").append("</date_format>\r\n");//Added by parikshit kumbhar on 08/07/2015 [To set date format]
valueXmlString.append(getLanguages(conn));
}
valueXmlString.append("</Detail1>\r\n");
}
break;
case 2 :
{
String item_parnt = genericUtility.getColumnValue("item_parnt", dom1);
String item_parnt_desc = genericUtility.getColumnValue("item_parnt_desc", dom1);
String item_type = genericUtility.getColumnValue("item_type", dom1);
String item_type_desc = genericUtility.getColumnValue("item_type_desc", dom1);
String item_ser = genericUtility.getColumnValue("item_ser", dom1);
String itemser_descr = genericUtility.getColumnValue("itemser_descr", dom1);
String descr = genericUtility.getColumnValue("descr", dom1);
String grp_code = genericUtility.getColumnValue("grp_code", dom1);
String grp_code_desc = genericUtility.getColumnValue("grp_code_desc", dom1);
String loc_code = genericUtility.getColumnValue("loc_code", dom1);
String stk_opt = genericUtility.getColumnValue("stk_opt", dom1);
String site_codes = genericUtility.getColumnValue("site_codes", dom1);
String site_desc = genericUtility.getColumnValue("site_desc", dom1);
String size_codes = genericUtility.getColumnValue("size_codes", dom1);
String size_type = genericUtility.getColumnValue("size_type", dom1);
String dimension_desc = genericUtility.getColumnValue("dimension_desc", dom1);
String dim_code_desc = genericUtility.getColumnValue("dim_code_desc", dom1);
String color_codes = genericUtility.getColumnValue("color_codes", dom1);
String color_code_descr = genericUtility.getColumnValue("color_code_descr", dom1);
String phy_attr4 = genericUtility.getColumnValue("phy_attr4", dom1);
String phy_attr5 = genericUtility.getColumnValue("phy_attr5", dom1);
String item_category = genericUtility.getColumnValue("item_category", dom1);
String category_descr = genericUtility.getColumnValue("category_descr", dom1);
//String price = genericUtility.getColumnValue("price", dom1);
//String curr_code = genericUtility.getColumnValue("curr_code", dom1);
String unit = genericUtility.getColumnValue("unit", dom1);
String loc_type = genericUtility.getColumnValue("loc_type", dom1);
String track_shelf_life = genericUtility.getColumnValue("track_shelf_life", dom1);
String unit_rate = genericUtility.getColumnValue("unit_rate", dom1);
String price_list_dtl = genericUtility.getColumnValue("price_list_dtl", dom1);
String item_length = genericUtility.getColumnValue("item_length", dom1);
String item_width = genericUtility.getColumnValue("item_width", dom1);
String item_height = genericUtility.getColumnValue("item_height", dom1);
String item_gross_wt = genericUtility.getColumnValue("item_gross_wt", dom1);
String img_path = genericUtility.getColumnValue("img_path", dom1);
String item_sh_descr = genericUtility.getColumnValue("item_sh_descr", dom1);
String long_desc = genericUtility.getColumnValue("long_desc", dom1);
String meta_desc = genericUtility.getColumnValue("meta_desc", dom1);
String meta_keywords = genericUtility.getColumnValue("meta_keywords", dom1);
String meta_title = genericUtility.getColumnValue("meta_title", dom1);
String supp_code = genericUtility.getColumnValue("supp_code", dom1);
String supplier_desc = genericUtility.getColumnValue("supplier_desc", dom1);
String supp_item_desc = genericUtility.getColumnValue("supp_item_desc", dom1);
//Added by Chetan Mahajan on date:06/02/2015 [Added purchase lead time,location description ] Start
String pur_lead_time = genericUtility.getColumnValue("pur_lead_time", dom1);
String location_descr = genericUtility.getColumnValue("location_descr", dom1);
//Added by Chetan Mahajan on date:06/02/2015 [Added purchase lead time,location description ] End
//Added by Parikshit Kumbhar on date:16/04/2015 [Added shipper_size, case_length, case_width,size_height, case_gross_weight, case_net_weight, pack_size_dtl,lang fields] Starts
String shipper_size = genericUtility.getColumnValue("shipper_size", dom1);
String case_length = genericUtility.getColumnValue("case_length", dom1);
String case_width = genericUtility.getColumnValue("case_width", dom1);
String size_height = genericUtility.getColumnValue("size_height", dom1);
String case_gross_weight= genericUtility.getColumnValue("case_gross_weight", dom1);
String case_net_weight = genericUtility.getColumnValue("case_net_weight", dom1);
String pack_size_dtl = genericUtility.getColumnValue("pack_size_dtl", dom1);
String language = genericUtility.getColumnValue("language", dom1);
String language_desc = genericUtility.getColumnValue("language_desc", dom1);
String size_type_desc = genericUtility.getColumnValue("size_type_desc", dom1);
String language_dtl = genericUtility.getColumnValue("language_dtl", dom1);
String tax = genericUtility.getColumnValue("tax", dom1);
String tax_desc = genericUtility.getColumnValue("tax_desc", dom1);
//Added by Parikshit Kumbhar on date:20/04/2015 [Added shipper_size, case_length, case_width,size_height, case_gross_weight, case_net_weight, pack_size_dtl,lang fields] Ends
valueXmlString.append("<Detail2 domID='0' selected = 'N'>\r\n");
if(currentColumn.equalsIgnoreCase("itm_default"))
{
valueXmlString.append("<item_parnt>").append("<![CDATA["+ checkNullAndTrim(item_parnt) +"]]>").append("</item_parnt>\r\n");
valueXmlString.append("<item_parnt_desc>").append("<![CDATA["+ checkNullAndTrim(item_parnt_desc) +"]]>").append("</item_parnt_desc>\r\n");
valueXmlString.append("<item_type>").append("<![CDATA["+ checkNullAndTrim(item_type) +"]]>").append("</item_type>\r\n");
valueXmlString.append("<item_type_desc>").append("<![CDATA["+ checkNullAndTrim(item_type_desc) +"]]>").append("</item_type_desc>\r\n");
valueXmlString.append("<item_ser>").append("<![CDATA["+ checkNullAndTrim(item_ser) +"]]>").append("</item_ser>\r\n");
valueXmlString.append("<itemser_descr>").append("<![CDATA["+ checkNullAndTrim(itemser_descr) +"]]>").append("</itemser_descr>\r\n");
valueXmlString.append("<descr>").append("<![CDATA["+ checkNullAndTrim(descr) +"]]>").append("</descr>\r\n");
valueXmlString.append("<grp_code>").append("<![CDATA["+ checkNullAndTrim(grp_code) +"]]>").append("</grp_code>\r\n");
valueXmlString.append("<grp_code_desc>").append("<![CDATA["+ checkNullAndTrim(grp_code_desc) +"]]>").append("</grp_code_desc>\r\n");
valueXmlString.append("<loc_code>").append("<![CDATA["+ checkNullAndTrim(loc_code) +"]]>").append("</loc_code>\r\n");
valueXmlString.append("<stk_opt>").append("<![CDATA["+ checkNullAndTrim(stk_opt) +"]]>").append("</stk_opt>\r\n");
valueXmlString.append("<site_codes>").append("<![CDATA["+ checkNullAndTrim(site_codes) +"]]>").append("</site_codes>\r\n");
valueXmlString.append("<site_desc>").append("<![CDATA["+ checkNullAndTrim(site_desc) +"]]>").append("</site_desc>\r\n");
valueXmlString.append("<dimension_desc>").append("<![CDATA["+ checkNullAndTrim(dimension_desc) +"]]>").append("</dimension_desc>\r\n");
valueXmlString.append("<dim_code_desc>").append("<![CDATA["+ checkNullAndTrim(dim_code_desc) +"]]>").append("</dim_code_desc>\r\n");
valueXmlString.append("<color_codes>").append("<![CDATA["+ checkNullAndTrim(color_codes) +"]]>").append("</color_codes>\r\n");
valueXmlString.append("<color_code_descr>").append("<![CDATA["+ checkNullAndTrim(color_code_descr) +"]]>").append("</color_code_descr>\r\n");
valueXmlString.append("<size_codes>").append("<![CDATA["+ checkNullAndTrim(size_codes) +"]]>").append("</size_codes>\r\n");
valueXmlString.append("<size_type>").append("<![CDATA["+ checkNullAndTrim(size_type) +"]]>").append("</size_type>\r\n");
valueXmlString.append("<phy_attr4>").append("<![CDATA["+ checkNullAndTrim(phy_attr4) +"]]>").append("</phy_attr4>\r\n");
valueXmlString.append("<phy_attr5>").append("<![CDATA["+ checkNullAndTrim(phy_attr5) +"]]>").append("</phy_attr5>\r\n");
//valueXmlString.append("<price>").append("<![CDATA[]]>").append("</price>\r\n");
//valueXmlString.append("<curr_code>").append("<![CDATA[]]>").append("</curr_code>\r\n");
valueXmlString.append("<unit>").append("<![CDATA["+ checkNullAndTrim(unit) +"]]>").append("</unit>\r\n");
valueXmlString.append("<loc_type>").append("<![CDATA["+ checkNullAndTrim(loc_type) +"]]>").append("</loc_type>\r\n");
valueXmlString.append("<track_shelf_life>").append("<![CDATA["+ checkNullAndTrim(track_shelf_life) +"]]>").append("</track_shelf_life>\r\n");
valueXmlString.append("<unit_rate>").append("<![CDATA["+ checkNullAndTrim(unit_rate) +"]]>").append("</unit_rate>\r\n");
valueXmlString.append("<price_list_dtl>").append("<![CDATA["+ checkNullAndTrim(price_list_dtl) +"]]>").append("</price_list_dtl>\r\n");
valueXmlString.append("<item_length>").append("<![CDATA["+ checkNullAndTrim(item_length) +"]]>").append("</item_length>\r\n");
valueXmlString.append("<item_width>").append("<![CDATA["+ checkNullAndTrim(item_width) +"]]>").append("</item_width>\r\n");
valueXmlString.append("<item_height>").append("<![CDATA["+ checkNullAndTrim(item_height) +"]]>").append("</item_height>\r\n");
valueXmlString.append("<item_gross_wt>").append("<![CDATA["+ checkNullAndTrim(item_gross_wt) +"]]>").append("</item_gross_wt>\r\n");
valueXmlString.append("<supp_code>").append("<![CDATA["+ checkNullAndTrim(supp_code) +"]]>").append("</supp_code>\r\n");
valueXmlString.append("<supplier_desc>").append("<![CDATA["+ checkNullAndTrim(supplier_desc) +"]]>").append("</supplier_desc>\r\n");
valueXmlString.append("<supp_item_desc>").append("<![CDATA["+ checkNullAndTrim(supp_item_desc) +"]]>").append("</supp_item_desc>\r\n");
valueXmlString.append("<item_category>").append("<![CDATA["+ checkNullAndTrim(item_category) +"]]>").append("</item_category>\r\n");
valueXmlString.append("<category_descr>").append("<![CDATA["+ checkNullAndTrim(category_descr) +"]]>").append("</category_descr>\r\n");
valueXmlString.append("<img_path>").append("<![CDATA["+ checkNullAndTrim(img_path) +"]]>").append("</img_path>\r\n");
valueXmlString.append("<item_sh_descr>").append("<![CDATA["+ checkNullAndTrim(item_sh_descr) +"]]>").append("</item_sh_descr>\r\n");
valueXmlString.append("<long_desc>").append("<![CDATA["+ checkNullAndTrim(long_desc) +"]]>").append("</long_desc>\r\n");
valueXmlString.append("<meta_desc>").append("<![CDATA["+ checkNullAndTrim(meta_desc) +"]]>").append("</meta_desc>\r\n");
valueXmlString.append("<meta_keywords>").append("<![CDATA["+ checkNullAndTrim(meta_keywords) +"]]>").append("</meta_keywords>\r\n");
valueXmlString.append("<meta_title>").append("<![CDATA["+ checkNullAndTrim(meta_title) +"]]>").append("</meta_title>\r\n");
valueXmlString.append("<login_code>").append("<![CDATA["+ userId +"]]>").append("</login_code>\r\n");
valueXmlString.append("<chg_date>").append("<![CDATA["+ currDate +"]]>").append("</chg_date>\r\n");
valueXmlString.append("<chg_user>").append("<![CDATA["+ userId +"]]>").append("</chg_user>\r\n");
valueXmlString.append("<chg_term>").append("<![CDATA["+ chgTerm +"]]>").append("</chg_term>\r\n");
//Added by Chetan Mahajan on date:06/02/2015 [Added purchase lead time,location description ] Start
valueXmlString.append("<pur_lead_time>").append("<![CDATA["+ checkNullAndTrim(pur_lead_time)+"]]>").append("</pur_lead_time>\r\n"); /*Added by Chetan Mahajan on date:04/02/2015..*/
valueXmlString.append("<location_descr>").append("<![CDATA["+ checkNullAndTrim(location_descr) +"]]>").append("</location_descr>\r\n"); /*Added by Chetan Mahajan on date:05/02/2015..*/
//Added by Chetan Mahajan on date:06/02/2015 [Added purchase lead time,location description ] End
//Added by Parikshit Kumbhar on date:16/04/2015 [Added shipper_size, case_length, case_width,size_height, case_gross_weight, case_net_weight, pack_size_dtl,lang fields] Starts
valueXmlString.append("<shipper_size>").append("<![CDATA["+ checkNullAndTrim(shipper_size) +"]]>").append("</shipper_size>\r\n");
valueXmlString.append("<case_length>").append("<![CDATA["+ checkNullAndTrim(case_length) +"]]>").append("</case_length>\r\n");
valueXmlString.append("<case_width>").append("<![CDATA["+ checkNullAndTrim(case_width) +"]]>").append("</case_width>\r\n");
valueXmlString.append("<size_height>").append("<![CDATA["+ checkNullAndTrim(size_height) +"]]>").append("</size_height>\r\n");
valueXmlString.append("<case_gross_weight>").append("<![CDATA["+ checkNullAndTrim(case_gross_weight) +"]]>").append("</case_gross_weight>\r\n");
valueXmlString.append("<case_net_weight>").append("<![CDATA["+ checkNullAndTrim(case_net_weight) +"]]>").append("</case_net_weight>\r\n");
valueXmlString.append("<pack_size_dtl>").append("<![CDATA["+ checkNullAndTrim(pack_size_dtl) +"]]>").append("</pack_size_dtl>\r\n");
valueXmlString.append("<language>").append("<![CDATA["+ checkNullAndTrim(language) +"]]>").append("</language>\r\n");
valueXmlString.append("<language_desc>").append("<![CDATA["+ checkNullAndTrim(language_desc) +"]]>").append("</language_desc>\r\n");
valueXmlString.append("<size_type_desc>").append("<![CDATA["+ checkNullAndTrim(size_type_desc) +"]]>").append("</size_type_desc>\r\n");
valueXmlString.append("<language_dtl>").append("<![CDATA["+ checkNullAndTrim(language_dtl) +"]]>").append("</language_dtl>\r\n");
valueXmlString.append("<tax>").append("<![CDATA["+ checkNullAndTrim(tax) +"]]>").append("</tax>\r\n");
valueXmlString.append("<tax_desc>").append("<![CDATA["+ checkNullAndTrim(tax_desc) +"]]>").append("</tax_desc>\r\n");
//Added by Parikshit Kumbhar on date:16/04/2015 [Added shipper_size, case_length, case_width,size_height, case_gross_weight, case_net_weight, pack_size_dtl,lang fields] Ends
valueXmlString.append("<date_format>").append("<![CDATA["+ checkNullAndTrim(dateFormat) +"]]>").append("</date_format>\r\n");//Added by parikshit kumbhar on 08/07/2015 [To set date format]
}
valueXmlString.append("</Detail2>\r\n");
String[] size = checkNullAndTrim(size_type_desc).split(",");
String[] color = checkNullAndTrim(color_codes).split(",");
String[] dimension = checkNullAndTrim(dimension_desc).split(",");
//String[] color1= checkNullAndTrim(color_codes).split(",");
String[] size1 = checkNullAndTrim(size_type).split(",");
String[] color1= checkNullAndTrim(color_code_descr).split(",");
String[] dimension1 = checkNullAndTrim(dim_code_desc).split(",");
String[] sizeDesc = checkNullAndTrim(size_type_desc).split(",");
String[] dimensionDesc = checkNullAndTrim(dimension_desc).split(",");
int no = 0;
String itemDesc = "";
for (int i = 0; i < dimension.length; i++)
{
for (int j = 0; j < color.length; j++)
{
for (int k = 0; k < size.length; k++)
{
no++;
itemDesc = descr + " " + sizeDesc[k] + " " + color1[j] + " " + dimensionDesc[i];
valueXmlString.append("<Detail2 domID='"+ no +"' selected = 'Y'>\r\n");
if(currentColumn.equalsIgnoreCase("itm_default"))
{
valueXmlString.append("<item_descr>").append("<![CDATA["+ checkNullAndTrim(itemDesc) +"]]>").append("</item_descr>\r\n");
valueXmlString.append("<phy_attrib_1>").append("<![CDATA["+ checkNullAndTrim(size[k]) +"]]>").append("</phy_attrib_1>\r\n");
valueXmlString.append("<phy_attrib_2>").append("<![CDATA["+ checkNullAndTrim(color[j]) +"]]>").append("</phy_attrib_2>\r\n");
valueXmlString.append("<phy_attrib_3>").append("<![CDATA["+ checkNullAndTrim(dimension[i]) +"]]>").append("</phy_attrib_3>\r\n");
valueXmlString.append("<phy_att1>").append("<![CDATA["+ checkNullAndTrim(size1[k]) +"]]>").append("</phy_att1>\r\n");
valueXmlString.append("<phy_att2>").append("<![CDATA["+ checkNullAndTrim(color1[j]) +"]]>").append("</phy_att2>\r\n");
valueXmlString.append("<phy_att3>").append("<![CDATA["+ checkNullAndTrim(dimension1[i]) +"]]>").append("</phy_att3>\r\n");
valueXmlString.append("<item_category>").append("<![CDATA["+ checkNullAndTrim(item_category) +"]]>").append("</item_category>\r\n");
valueXmlString.append("<category_descr>").append("<![CDATA["+ checkNullAndTrim(category_descr) +"]]>").append("</category_descr>\r\n");
valueXmlString.append("<item_length>").append("<![CDATA["+ checkNullAndTrim(item_length) +"]]>").append("</item_length>\r\n");
valueXmlString.append("<item_width>").append("<![CDATA["+ checkNullAndTrim(item_width) +"]]>").append("</item_width>\r\n");
valueXmlString.append("<item_height>").append("<![CDATA["+ checkNullAndTrim(item_height) +"]]>").append("</item_height>\r\n");
valueXmlString.append("<item_gross_wt>").append("<![CDATA["+ checkNullAndTrim(item_gross_wt) +"]]>").append("</item_gross_wt>\r\n");
valueXmlString.append("<item_barcode>").append("<![CDATA[]]>").append("</item_barcode>\r\n");
//Added by Chetan Mahajan on date:06/02/2015 [Added purchase lead time,location description] Start
valueXmlString.append("<loc_code>").append("<![CDATA["+ checkNullAndTrim(loc_code) +"]]>").append("</loc_code>\r\n"); /*Added by Chetan Mahajan on date:05/02/2015..*/
valueXmlString.append("<loc_type>").append("<![CDATA["+ checkNullAndTrim(loc_type) +"]]>").append("</loc_type>\r\n"); /*Added by Chetan Mahajan on date:05/02/2015..*/
//Added by Chetan Mahajan on date:06/02/2015 [Added purchase lead time,location description] End
//Added by Parikshit Kumbhar on date 20/04/2015 [Added shipper_size, case_length, case_width,size_height, case_gross_weight, case_net_weight, pack_size_dtl,lang fields] Starts
valueXmlString.append("<shipper_size>").append("<![CDATA["+ checkNullAndTrim(shipper_size) +"]]>").append("</shipper_size>\r\n");
valueXmlString.append("<case_length>").append("<![CDATA["+ checkNullAndTrim(case_length) +"]]>").append("</case_length>\r\n");
valueXmlString.append("<case_width>").append("<![CDATA["+ checkNullAndTrim(case_width) +"]]>").append("</case_width>\r\n");
valueXmlString.append("<size_height>").append("<![CDATA["+ checkNullAndTrim(size_height) +"]]>").append("</size_height>\r\n");
valueXmlString.append("<case_gross_weight>").append("<![CDATA["+ checkNullAndTrim(case_gross_weight) +"]]>").append("</case_gross_weight>\r\n");
valueXmlString.append("<case_net_weight>").append("<![CDATA["+ checkNullAndTrim(case_net_weight) +"]]>").append("</case_net_weight>\r\n");
valueXmlString.append("<pack_size_dtl>").append("<![CDATA["+ checkNullAndTrim(pack_size_dtl) +"]]>").append("</pack_size_dtl>\r\n");
valueXmlString.append("<language>").append("<![CDATA["+ checkNullAndTrim(language) +"]]>").append("</language>\r\n");
valueXmlString.append("<language_desc>").append("<![CDATA["+ checkNullAndTrim(language_desc) +"]]>").append("</language_desc>\r\n");
valueXmlString.append("<size_type_desc>").append("<![CDATA["+ checkNullAndTrim(size_type_desc) +"]]>").append("</size_type_desc>\r\n");
valueXmlString.append("<language_dtl>").append("<![CDATA["+ checkNullAndTrim(language_dtl) +"]]>").append("</language_dtl>\r\n");
valueXmlString.append("<tax>").append("<![CDATA["+ checkNullAndTrim(tax) +"]]>").append("</tax>\r\n");
valueXmlString.append("<tax_desc>").append("<![CDATA["+ checkNullAndTrim(tax_desc) +"]]>").append("</tax_desc>\r\n");
valueXmlString.append("<item_commodity>").append("<![CDATA[]]>").append("</item_commodity>\r\n");
//Added by Parikshit Kumbhar on date 20/04/2015 [Added shipper_size, case_length, case_width,size_height, case_gross_weight, case_net_weight, pack_size_dtl,lang fields] Ends
valueXmlString.append("<price_list_dtl>").append("<![CDATA["+ checkNullAndTrim(price_list_dtl) +"]]>").append("</price_list_dtl>\r\n");
valueXmlString.append("<supp_item_desc>").append("<![CDATA["+ checkNullAndTrim(supp_item_desc) +"]]>").append("</supp_item_desc>\r\n");
}
valueXmlString.append("</Detail2>\r\n");
}
}
}
}
break;
}
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
connDriver = null;
if(conn != null)
{
if(rs != null)
rs.close();
if(pstmt != null)
pstmt.close();
rs = null;
pstmt = null;
conn.close();
conn = null;
}
}
catch(Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
valueXmlString.append("</Root>");
System.out.println("valueXmlString ::"+valueXmlString.toString());
return valueXmlString.toString();
}
public String getLanguages(Connection conn)
{
StringBuffer valueXmlString = new StringBuffer();
try
{
String languageDtl = "";
String langCode ="";
String langDesc ="";
PreparedStatement pstmt1 = null ;
ResultSet rs1 = null;
String sqlLanguage = "SELECT FLD_VALUE, TRIM(Descr) FROM GENCODES WHERE FLD_NAME='LANGUAGE' AND FLD_VALUE <>'EN' ";
pstmt1 = conn.prepareStatement(sqlLanguage);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{
langCode += rs1.getString(1) + ", ";
langDesc += rs1.getString(2) + ", " ;
languageDtl += "||" + rs1.getString(1) + ":null:null:null:null";
}
languageDtl = languageDtl.substring(2, languageDtl.length());
langCode = langCode.trim().substring(0, langCode.length()-2);
langDesc = langDesc.trim().substring(0, langDesc.length()-2);
valueXmlString.append("<language>").append("<![CDATA["+ langDesc +"]]>").append("</language>\r\n");
valueXmlString.append("<language_desc>").append("<![CDATA["+ langCode +"]]>").append("</language_desc>\r\n");
valueXmlString.append("<language_dtl>").append("<![CDATA["+ languageDtl +"]]>").append("</language_dtl>\r\n");
rs1.close(); rs1 = null;
pstmt1.close(); pstmt1 = null;
}
catch (SQLException ex)
{
// TODO Auto-generated catch block
ex.printStackTrace();
}
return valueXmlString.toString();
}
/**
* select error description from MESSAGES
* @param conn
* @param errorCode
* @return
*/
private String errorType(Connection conn , String errorCode)
{
String msgType = "";
PreparedStatement pstmt = null ;
ResultSet rs = null;
try
{
String sql = "SELECT MSG_TYPE FROM MESSAGES WHERE MSG_NO = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,errorCode);
rs = pstmt.executeQuery();
while(rs.next())
{
msgType = rs.getString("MSG_TYPE");
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
return msgType;
}
@Override
public String getList(String loginCode, String field, String[] values) throws RemoteException, ITMException
{
String sql = "";
StringBuffer valueXmlString = new StringBuffer("<?xml version = \"1.0\" encoding = \"UTF-8\"?> \r\n <Root>\r\n");
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
//GenericUtility genericUtility = GenericUtility.getInstance();
try
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
if (field.equals("item_parnt"))
{
sql = " SELECT ITEM_CODE, DESCR FROM ITEM WHERE ITEM_PARNT IS NULL";
}
// Added By Parikshit Kumbhar changed item_type & item_ser pophelp from respective table on 29/05/15 Start
else if (field.equals("item_code"))
{
sql = " select item_code, DESCR from item where item_parnt is null ";
}
else if (field.equals("item_type"))
{
sql = "SELECT ITEM_TYPE,DESCR FROM ITEM_TYPE ORDER BY ITEM_TYPE";
}
else if (field.equals("item_ser"))
{
sql = "SELECT ITEM_SER, DESCR FROM ITEMSER WHERE BUSINESS_TYPE = 'T' ORDER BY ITEM_SER";
}
// Added By Parikshit Kumbhar changed item_type & item_ser pophelp from respective table on 29/05/15 End
else if (field.equals("grp_code"))
{
sql = "SELECT FLD_VALUE, DESCR FROM GENCODES WHERE FLD_NAME = 'GRP_CODE' AND MOD_NAME = 'W_DD_PRODUCTWIZ' ORDER BY FLD_VALUE";
}
// Added by Parikshit Kumbhar on 07/05/2015 [to change pophelp of color, size, dimension & language field] Start
else if (field.equals("site_codes"))
{
/*sql = " SELECT TRIM(site.SITE_CODE), TRIM(site.DESCR), TRIM(gencds.DESCR) || ':' || TRIM(fint.curr_code) " +
" FROM FINENT fint INNER JOIN SITE site ON site.FIN_ENTITY = fint.FIN_ENTITY " +
" LEFT OUTER JOIN GENCODES gencds ON TRIM(site.SITE_CODE) = TRIM(gencds.FLD_VALUE) " +
" AND gencds.fld_name='SITE_PRICE' AND gencds.mod_name='W_DD_PRODUCTWIZ' ORDER BY site.SITE_CODE ";*/
// Updated Query by Parikshit Kumbhar on 27/06/2015 [D15CKAT031] Start
sql = " SELECT TRIM(site.SITE_CODE), TRIM(site.DESCR), TRIM(gencds.DESCR) || ':' || TRIM(gencds.UDF_STR1)" +
" FROM SITE site LEFT OUTER JOIN GENCODES gencds ON TRIM(site.SITE_CODE) = TRIM(gencds.FLD_VALUE) " +
" AND gencds.fld_name='SITE_PRICE' AND gencds.mod_name='W_DD_PRODUCTWIZ' ORDER BY site.SITE_CODE ";
// Updated Query by Parikshit Kumbhar on 27/06/2015 [D15CKAT031] End
}
else if (field.equals("dimension_desc"))
{
sql = "SELECT Attrib_Id, TRIM(Descr) FROM itm_attrib_val WHERE Attrib_Code ='DIMENSION' ORDER BY sort_order";
}
else if (field.equals("color_codes"))
{
sql = "SELECT Attrib_Id, TRIM(Descr) FROM itm_attrib_val WHERE Attrib_Code='COLOR' ORDER BY sort_order";
}
else if (field.equals("size_codes"))
{
//sql = "SELECT Attrib_Id, TRIM(Descr) FROM itm_attrib_val WHERE Attrib_Code='SIZE_TYPE' ORDER BY sort_order;"
//Added by parikshit on 28/07/15 [commented above query & added new query] start
sql = " SELECT itmAttVal.ATTRIB_ID, itmAtt.DESCR FROM ITEM_ATTRIBUTE itmAtt,ITM_ATTRIB_VAL itmAttVal " +
" WHERE itmAttVal.Attrib_Code= 'SIZE_TYPE' and itmAttVal.ATTRIB_ID=itmAtt.ATTRIB_CODE ORDER BY itmAttVal.sort_order ";
//Added by parikshit on 28/07/15 [commented above query & added new query] end
}
else if (field.equals("language_desc"))
{
sql = "SELECT FLD_VALUE, TRIM(Descr) FROM GENCODES WHERE FLD_NAME='LANGUAGE' ORDER BY FLD_VALUE";
}
else if (field.equals("tax"))
{
sql = "SELECT Attrib_Id, TRIM(Descr) FROM itm_attrib_val WHERE Attrib_Code='Tax' ORDER BY sort_order";
}
// Added by Parikshit Kumbhar on 07/05/2015 [to change pophelp of color, size, dimension & language field] End
else if (field.equals("item_category"))
{
sql = "SELECT Attrib_Id, TRIM(Descr) FROM itm_attrib_val WHERE Attrib_Code='CATEGORY' ORDER BY sort_order";
}
else if (field.equals("pricelist"))
{
sql = "SELECT PRICE_LIST, DESCR FROM PRICELIST_MST ORDER BY PRICE_LIST";
}
else if (field.equals("supplier_code"))
{
sql = "SELECT SUPP_CODE, TRIM(SUPP_NAME), PRICE_LIST|| ':'||TRIM(curr_code) FROM SUPPLIER ORDER BY SUPP_CODE"; // Changed by Parikshit Kumbhar on 11/06/15 added curr_code
}
//Added by Chetan Mahajan on date:06/02/2015 [Added loc_code] Start
else if (field.equals("loc_code"))
{
sql = "SELECT LOC_CODE, DESCR,loc_type FROM location ORDER BY LOC_CODE";
}
//Added by Chetan Mahajan on date:06/02/2015 [Added loc_code] End
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int num = 1;
while (rs.next())
{
String fieldId = checkNullAndTrim(rs.getString(1));
String fieldValue = checkNullAndTrim(rs.getString(2));
String otherField = "";
if (field.equals("site_codes") || field.equals("supplier_code") || field.equals("loc_code"))
{
otherField = checkNullAndTrim(rs.getString(3));
}
/*if (field.equals("item_category"))
{
valueXmlString.append("<PROD_TYPE domID='" + num + "' selected = '" + useLoop(values, fieldValue) + "'>\r\n");
}
else
{
valueXmlString.append("<PROD_TYPE domID='" + num + "' selected = '" + useLoop(values, fieldId) + "'>\r\n");
}*/
valueXmlString.append("<PROD_TYPE 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("</PROD_TYPE>\r\n");
num++;
}
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception :ITMWizardStatefulEJB :getList(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 :ITMWizardStatefulEJB :getProdTypeList(String) :==>\n"+ e.getMessage());
throw new ITMException(e);
}
}
valueXmlString.append("</Root>\r\n");
System.out.println("\n****ValueXmlString :" + valueXmlString.toString() + ":********");
return valueXmlString.toString();
}
/**
*
* @param input
* @return
*/
private static String checkNullAndTrim(String input)
{
if (input==null)
{
input="";
}
return input.trim();
}
/**
*
* @param arr
* @param targetValue
* @return
*/
public static String useLoop(String[] arr, String targetValue)
{
for(String s: arr)
{
String str = checkNullAndTrim(s);
if(str.equals(targetValue))
return "Y";
}
return "N";
}
}
package ibase.webitm.ejb.wms;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
import javax.ejb.Stateless;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
/**
* Session Bean implementation class DDProductWizEditEJB
*/
@Stateless
public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEditRemote, DDProductWizEditLocal
{
E12GenericUtility genericUtility = new E12GenericUtility();
/**
* Default constructor.
*/
public DDProductWizEditEJB()
{
}
@Override
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException
{
String errString = "";
Document dom = null;
Document dom1 = null;
Document dom2 = null;
try
{
System.out.println("xmlString:::"+xmlString);
if(xmlString != null && xmlString.trim().length()!=0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length()!=0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length()!=0)
{
dom2 = genericUtility.parseString(xmlString2);
}
errString = wfValData(dom,dom1,dom2,objContext,editFlag,xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : DDProductWizEditEJB : wfValData(String xmlString) : ==>\n"+e.getMessage());
errString = genericUtility.createErrorString(e);
e.printStackTrace();
}
return (errString);
}
private String errorType(Connection conn , String errorCode)
{
String msgType = "";
PreparedStatement pstmt = null ;
ResultSet rs = null;
try
{
String sql = "SELECT MSG_TYPE FROM MESSAGES WHERE MSG_NO = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,errorCode);
rs = pstmt.executeQuery();
while(rs.next())
{
msgType = rs.getString("MSG_TYPE");
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
return msgType;
}
@Override
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException
{
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = null;
String userId = "";
String errCode = "";
String errorType = "";
String errString = "";
int ctr=0;
int childNodeListLength;
int currentFormNo = 0;
long cnt = 0;
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
Connection conn = null;
PreparedStatement pstmt = null ;
ResultSet rs = null;
ConnDriver connDriver = new ConnDriver();
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
try
{
conn = connDriver.getConnectDB("DriverITM");
userId = getValueFromXTRA_PARAMS(xtraParams, "loginCode");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
if(objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext);
}
switch(currentFormNo)
{
case 1 :
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr ++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if (childNodeName.equalsIgnoreCase("item_code"))
{
int paramName = 0;
String item_parnt = genericUtility.getColumnValue("item_code", dom);
String countSerSql = "SELECT COUNT(1) AS COUNT FROM ITEM WHERE TRIM(ITEM_CODE) = ?";
PreparedStatement pstmtParamName = conn.prepareStatement(countSerSql);
pstmtParamName.setString(1, item_parnt);
ResultSet rsCnt = pstmtParamName.executeQuery();
System.out.println("countSerSql" + countSerSql);
if (rsCnt.next())
{
paramName = rsCnt.getInt("COUNT");
}
if (paramName == 0) {
errCode = "INPRNTCD";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
break;
case 3 :
String customerName = "";
parentNodeList = dom.getElementsByTagName("Detail3");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
//Added by Parikshit Kumbhar on 25/06/2015 to make error msg on barcode start
for(ctr = 0; ctr < childNodeListLength; ctr ++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if (childNodeName.equalsIgnoreCase("item_barcode"))
{
int paramName = 0;
String item_parnt = genericUtility.getColumnValue("item_barcode", dom);
String ITEM_CODE = genericUtility.getColumnValue("item_code", dom);
String countSerSql = "SELECT COUNT(1) AS COUNT FROM ITEM WHERE TRIM(udf__str2) = ? AND item_code != ? ";
PreparedStatement pstmtParamName = conn.prepareStatement(countSerSql);
pstmtParamName.setString(1, item_parnt);
pstmtParamName.setString(2, ITEM_CODE);
ResultSet rsCnt = pstmtParamName.executeQuery();
System.out.println("countSerSql" + countSerSql);
if (rsCnt.next())
{
paramName = rsCnt.getInt("COUNT");
}
if (paramName != 0) {
errCode = "DUPITMBARC";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
//Added by Parikshit Kumbhar on 25/06/2015 to make error msg on barcode End
}
int errListSize = errList.size();
cnt = 0;
String errFldName = null;
if(errList != null && errListSize > 0)
{
for(cnt = 0; cnt < errListSize; cnt ++)
{
errCode = errList.get((int) cnt);
errFldName = errFields.get((int) cnt);
errString = getErrorString(errFldName, errCode, userId);
errorType = errorType(conn , errCode);
if(errString.length() > 0)
{
String bifurErrString = errString.substring(errString.indexOf("<Errors>") + 8, errString.indexOf("<trace>"));
bifurErrString = bifurErrString + errString.substring(errString.indexOf("</trace>") + 8, errString.indexOf("</Errors>"));
errStringXml.append(bifurErrString);
errString = "";
}
if(errorType.equalsIgnoreCase("E"))
{
break;
}
}
errList.clear();
errList = null;
errFields.clear();
errFields = null;
errStringXml.append("</Errors> </Root> \r\n");
}
else
{
errStringXml = new StringBuffer("");
}
}// End of try
catch(Exception e)
{
e.printStackTrace();
errString = e.getMessage();
throw new ITMException(e);
}
finally
{
try
{
connDriver = null;
if(conn != null)
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
}
conn = null;
}
catch(Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
errString = errStringXml.toString();
return errString;
}
@Override
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
Document dom1 = null;
Document dom = null;
Document dom2 = null;
String valueXmlString = "";
try
{
System.out.println("xmlString:::"+xmlString);
System.out.println("xmlString1:::"+xmlString1);
System.out.println("xmlString2:::"+xmlString2);
if(xmlString != null && xmlString.trim().length()!=0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length()!=0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length()!=0)
{
dom2 = genericUtility.parseString(xmlString2);
}
valueXmlString = itemChanged(dom,dom1,dom2,objContext,currentColumn,editFlag,xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : DDProductWizEditEJB : itemChanged(String,String,String,String,String,String):\n" + e.getMessage() + ":");
valueXmlString = genericUtility.createErrorString(e);
e.printStackTrace();
}
return (valueXmlString);
}
@Override
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
String userId = "";
String currDate = "";
String chgTerm = "";
int currentFormNo = 0;
StringBuffer valueXmlString = new StringBuffer();
try
{
if(objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext);
}
String dateFormat = genericUtility.getApplDateFormat();//Added by parikshit on 07/07/15 [for date format]
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
currDate = sdf.format(new java.util.Date());
userId = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginCode" );
chgTerm = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "chgTerm" );
valueXmlString = new StringBuffer("<?xml version = \"1.0\" encoding=\"ISO-8859-1\" ?>\r\n<Root>\r\n<header>\r\n<editFlag>");//Added by parikshit on 07/07/15 [for date format]
valueXmlString.append(editFlag).append("</editFlag>\r\n</header>\r\n");
switch ( currentFormNo )
{
case 1:
{
valueXmlString.append("<Detail1 domID='1' selected = 'Y'>\r\n");
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ))
{
valueXmlString.append("<item_code>").append("<![CDATA[]]>").append("</item_code>\r\n");
valueXmlString.append("<login_code>").append("<![CDATA["+ userId +"]]>").append("</login_code>\r\n");
valueXmlString.append("<date_format>").append("<![CDATA["+ dateFormat +"]]>").append("</date_format>\r\n");//Added by Parikshit Kumbhar on 08/07/15 [to set date format]
}
valueXmlString.append("</Detail1>\r\n");
}
break;
case 2:
{
String itemCode = genericUtility.getColumnValue("item_code", dom1);
valueXmlString.append("<Detail2 domID='1' selected = 'Y'>\r\n");
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ))
{
valueXmlString.append( getItemParentDetails( dom, itemCode) );
valueXmlString.append("<login_code>").append("<![CDATA["+ userId +"]]>").append("</login_code>\r\n");
valueXmlString.append("<date_format>").append("<![CDATA["+ dateFormat +"]]>").append("</date_format>\r\n");//Added by Parikshit Kumbhar on 08/07/15 [to set date format]
}
valueXmlString.append("</Detail2>\r\n");
}
break;
case 3:
{
String itemCode = genericUtility.getColumnValue("item_code", dom1);
System.out.println("itemCode = "+ itemCode);
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ))
{
valueXmlString.append( getSKUDetails( dom, itemCode, dom1, dom2) );
}
}
break;
}
}
catch (NumberFormatException e)
{
e.printStackTrace();
System.out.println("NumberFormatException ::"+ e.getMessage());
throw new ITMException(e);
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
valueXmlString.append("</Root>");
System.out.println("valueXmlString ::"+valueXmlString.toString());
return valueXmlString.toString();
}
private String getItemParentDetails( Document dom, String itemCode ) throws Exception
{
PreparedStatement pstmt = null ;
ResultSet rs = null;
Connection conn = null;
StringBuffer valueXmlString = new StringBuffer();
try
{
if ( preDomExists( dom, "2" ) )
{
String preFormDet = getPrevFormValues( dom, "2" );
Document preFormDom = genericUtility.parseString("<Root>"+preFormDet+"</Root>");
String item_code = checkNullAndTrim(genericUtility.getColumnValue("item_code", preFormDom));
String descr = checkNullAndTrim(genericUtility.getColumnValue("descr", preFormDom));
String item_type = checkNullAndTrim(genericUtility.getColumnValue("item_type", preFormDom));
String item_type_descr = checkNullAndTrim(genericUtility.getColumnValue("item_type_descr", preFormDom));
String item_ser = checkNullAndTrim(genericUtility.getColumnValue("item_ser", preFormDom));
String item_ser_descr = checkNullAndTrim(genericUtility.getColumnValue("item_ser_descr", preFormDom));
String grp_code = checkNullAndTrim(genericUtility.getColumnValue("grp_code", preFormDom));
String grp_code_descr = checkNullAndTrim(genericUtility.getColumnValue("grp_code_descr", preFormDom));
String loc_code = checkNullAndTrim(genericUtility.getColumnValue("loc_code", preFormDom));
String loc_type = checkNullAndTrim(genericUtility.getColumnValue("loc_type", preFormDom));
String loc_code_descr = checkNullAndTrim(genericUtility.getColumnValue("loc_code_descr", preFormDom));
String sh_descr = checkNullAndTrim(genericUtility.getColumnValue("sh_descr", preFormDom));
String long_descr = checkNullAndTrim(genericUtility.getColumnValue("long_descr", preFormDom));
String meta_keywords = checkNullAndTrim(genericUtility.getColumnValue("meta_keywords", preFormDom));
String meta_title = checkNullAndTrim(genericUtility.getColumnValue("meta_title", preFormDom));
String meta_desc = checkNullAndTrim(genericUtility.getColumnValue("meta_desc", preFormDom));
String img_path = checkNullAndTrim(genericUtility.getColumnValue("img_path", preFormDom));
String pur_lead_time = checkNullAndTrim(genericUtility.getColumnValue("pur_lead_time", preFormDom));
String tax = checkNullAndTrim(genericUtility.getColumnValue("tax", preFormDom));
String tax_descr = checkNullAndTrim(genericUtility.getColumnValue("tax_descr", preFormDom));
String language = checkNullAndTrim(genericUtility.getColumnValue("language", preFormDom));
String language_desc = checkNullAndTrim(genericUtility.getColumnValue("language_desc", preFormDom));
String language_dtl = checkNullAndTrim(genericUtility.getColumnValue("language_dtl", preFormDom));
valueXmlString.append("<item_code>").append("<![CDATA["+ checkNullAndTrim(item_code) +"]]>").append("</item_code>\r\n");
valueXmlString.append("<descr>").append("<![CDATA["+ checkNullAndTrim(descr) +"]]>").append("</descr>\r\n");
valueXmlString.append("<item_type>").append("<![CDATA["+ checkNullAndTrim(item_type) +"]]>").append("</item_type>\r\n");
valueXmlString.append("<item_type_descr>").append("<![CDATA["+ checkNullAndTrim(item_type_descr) +"]]>").append("</item_type_descr>\r\n");
valueXmlString.append("<item_ser>").append("<![CDATA["+ checkNullAndTrim(item_ser) +"]]>").append("</item_ser>\r\n");
valueXmlString.append("<item_ser_descr>").append("<![CDATA["+ checkNullAndTrim(item_ser_descr) +"]]>").append("</item_ser_descr>\r\n");
valueXmlString.append("<grp_code>").append("<![CDATA["+ checkNullAndTrim(grp_code) +"]]>").append("</grp_code>\r\n");
valueXmlString.append("<grp_code_descr>").append("<![CDATA["+ checkNullAndTrim(grp_code_descr) +"]]>").append("</grp_code_descr>\r\n");
valueXmlString.append("<loc_code>").append("<![CDATA["+ checkNullAndTrim(loc_code) +"]]>").append("</loc_code>\r\n");
valueXmlString.append("<loc_type>").append("<![CDATA["+ checkNullAndTrim(loc_type) +"]]>").append("</loc_type>\r\n");
valueXmlString.append("<loc_code_descr>").append("<![CDATA["+ checkNullAndTrim(loc_code_descr) +"]]>").append("</loc_code_descr>\r\n");
valueXmlString.append("<sh_descr>").append("<![CDATA["+ checkNullAndTrim(sh_descr) +"]]>").append("</sh_descr>\r\n");
valueXmlString.append("<long_descr>").append("<![CDATA["+ checkNullAndTrim(long_descr) +"]]>").append("</long_descr>\r\n");
valueXmlString.append("<meta_keywords>").append("<![CDATA["+ checkNullAndTrim(meta_keywords) +"]]>").append("</meta_keywords>\r\n");
valueXmlString.append("<meta_title>").append("<![CDATA["+ checkNullAndTrim(meta_title) +"]]>").append("</meta_title>\r\n");
valueXmlString.append("<meta_desc>").append("<![CDATA["+ checkNullAndTrim(meta_desc) +"]]>").append("</meta_desc>\r\n");
valueXmlString.append("<img_path>").append("<![CDATA["+ checkNullAndTrim(img_path) +"]]>").append("</img_path>\r\n");
valueXmlString.append("<pur_lead_time>").append("<![CDATA["+ checkNullAndTrim(pur_lead_time) +"]]>").append("</pur_lead_time>\r\n");
valueXmlString.append("<tax>").append("<![CDATA["+ checkNullAndTrim(tax) +"]]>").append("</tax>\r\n");
valueXmlString.append("<tax_descr>").append("<![CDATA["+ checkNullAndTrim(tax_descr) +"]]>").append("</tax_descr>\r\n");
valueXmlString.append("<language>").append("<![CDATA["+ checkNullAndTrim(language) +"]]>").append("</language>\r\n");
valueXmlString.append("<language_desc>").append("<![CDATA["+ checkNullAndTrim(language_desc) +"]]>").append("</language_desc>\r\n");
valueXmlString.append("<language_dtl>").append("<![CDATA["+ checkNullAndTrim(language_dtl) +"]]>").append("</language_dtl>\r\n");
}
else
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
String itemParentSelect = " SELECT ITEM_CODE, DESCR, SH_DESCR, ITEM_TYPE, " +
" (SELECT DESCR FROM ITEM_TYPE WHERE ITEM_TYPE = ITEM.ITEM_TYPE) ITEM_TYPE_DESC, " +
" ITEM_SER, (SELECT DESCR FROM ITEMSER WHERE ITEM_SER = ITEM.ITEM_SER) ITEM_SER_DESC, " +
" GRP_CODE, (SELECT DESCR FROM GENCODES WHERE FLD_NAME = 'GRP_CODE' " +
" AND MOD_NAME = 'W_DD_PRODUCTWIZ' AND FLD_VALUE = GRP_CODE) GRP_CODE_DESC, " +
" LOC_CODE, (SELECT DESCR FROM LOCATION WHERE LOC_CODE = ITEM.LOC_CODE) LOC_CODE_DESC, " +
" PHY_ATTRIB_18, PHY_ATTRIB_17, PHY_ATTRIB_19, PHY_ATTRIB_20, " +
" PHY_ATTRIB_21, PHY_ATTRIB_1, PHY_ATTRIB_2, PHY_ATTRIB_3, PUR_LEAD_TIME, LOC_TYPE, " +
" UDF__STR1, (SELECT TRIM(DESCR) FROM ITM_ATTRIB_VAL WHERE ATTRIB_CODE='Tax' AND ATTRIB_ID = ITEM.UDF__STR1) TAX " +
" FROM ITEM WHERE ITEM_CODE = '"+ itemCode +"'";
pstmt = conn.prepareStatement(itemParentSelect);
rs = pstmt.executeQuery();
while(rs.next())
{
valueXmlString.append("<item_code>").append("<![CDATA["+ checkNullAndTrim(rs.getString(1)) +"]]>").append("</item_code>\r\n");
valueXmlString.append("<descr>").append("<![CDATA["+ checkNullAndTrim(rs.getString(2)) +"]]>").append("</descr>\r\n");
valueXmlString.append("<item_type>").append("<![CDATA["+ checkNullAndTrim(rs.getString(4)) +"]]>").append("</item_type>\r\n");
valueXmlString.append("<item_type_descr>").append("<![CDATA["+ checkNullAndTrim(rs.getString(5)) +"]]>").append("</item_type_descr>\r\n");
valueXmlString.append("<item_ser>").append("<![CDATA["+ checkNullAndTrim(rs.getString(6)) +"]]>").append("</item_ser>\r\n");
valueXmlString.append("<item_ser_descr>").append("<![CDATA["+ checkNullAndTrim(rs.getString(7)) +"]]>").append("</item_ser_descr>\r\n");
valueXmlString.append("<grp_code>").append("<![CDATA["+ checkNullAndTrim(rs.getString(8)) +"]]>").append("</grp_code>\r\n");
valueXmlString.append("<grp_code_descr>").append("<![CDATA["+ checkNullAndTrim(rs.getString(9)) +"]]>").append("</grp_code_descr>\r\n");
valueXmlString.append("<loc_code>").append("<![CDATA["+ checkNullAndTrim(rs.getString(10)) +"]]>").append("</loc_code>\r\n");
valueXmlString.append("<loc_type>").append("<![CDATA["+ checkNullAndTrim(rs.getString(21)) +"]]>").append("</loc_type>\r\n");
valueXmlString.append("<loc_code_descr>").append("<![CDATA["+ checkNullAndTrim(rs.getString(11)) +"]]>").append("</loc_code_descr>\r\n");
valueXmlString.append("<sh_descr>").append("<![CDATA["+ checkNullAndTrim(rs.getString(3)) +"]]>").append("</sh_descr>\r\n");
valueXmlString.append("<long_descr>").append("<![CDATA["+ checkNullAndTrim(rs.getString(12)) +"]]>").append("</long_descr>\r\n");
valueXmlString.append("<meta_keywords>").append("<![CDATA["+ checkNullAndTrim(rs.getString(15)) +"]]>").append("</meta_keywords>\r\n");
valueXmlString.append("<meta_title>").append("<![CDATA["+ checkNullAndTrim(rs.getString(16)) +"]]>").append("</meta_title>\r\n");
valueXmlString.append("<meta_desc>").append("<![CDATA["+ checkNullAndTrim(rs.getString(14)) +"]]>").append("</meta_desc>\r\n");
valueXmlString.append("<img_path>").append("<![CDATA["+ checkNullAndTrim(rs.getString(13)) +"]]>").append("</img_path>\r\n");
valueXmlString.append("<pur_lead_time>").append("<![CDATA["+ checkNullAndTrim(rs.getString(20)) +"]]>").append("</pur_lead_time>\r\n");
valueXmlString.append("<tax>").append("<![CDATA["+ checkNullAndTrim(rs.getString(22)) +"]]>").append("</tax>\r\n");
valueXmlString.append("<tax_descr>").append("<![CDATA["+ checkNullAndTrim(rs.getString(23)) +"]]>").append("</tax_descr>\r\n");
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
try
{
String languageSelect = " SELECT LANGUAGES, " +
" (SELECT TRIM(DESCR) FROM GENCODES WHERE FLD_NAME='LANGUAGE' AND FLD_VALUE = LANGUAGES) LANG_DESCR, " +
" ATTR_VALUE, UDF_STR1, UDF_STR2 FROM OBJ_ATTRIBUTE " +
" WHERE ITEM_ATTR_VAL = 'ITEM_CODE:"+itemCode+"' " +
" AND OBJ_NAME = 'W_ITEM' " +
" AND LANGUAGES != 'EN'";
pstmt = conn.prepareStatement(languageSelect);
rs = pstmt.executeQuery();
String languageDtl = "";
String langDesc = "";
String langCode = "";
while(rs.next())
{
String langCodes = rs.getString(1);
langCode += rs.getString(1) + ", ";
langDesc += rs.getString(2) + ", ";
String langCodeDescs = rs.getString(3);
String langShDescs = rs.getString(4);
String langLongDescs = rs.getString(5);
languageDtl += "||" + langCodes + ":" + itemCode + ":" + langCodeDescs + ":" + langShDescs + ":" + langLongDescs;
}
String languageDtls = languageDtl.substring(2, languageDtl.length());
langCode = langCode.trim().substring(0, langCode.length()-2);
langDesc = langDesc.trim().substring(0, langDesc.length()-2);
System.out.println("languageDtls = "+ languageDtls);
System.out.println("langdesc = "+ langDesc +" langCode = "+ langCode);
valueXmlString.append("<language>").append("<![CDATA["+ langDesc +"]]>").append("</language>\r\n");
valueXmlString.append("<language_desc>").append("<![CDATA["+ langCode +"]]>").append("</language_desc>\r\n");
valueXmlString.append("<language_dtl>").append("<![CDATA["+ languageDtls +"]]>").append("</language_dtl>\r\n");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new Exception(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
return valueXmlString.toString();
}
private String getSKUDetails( Document dom, String itemCode, Document dom1, Document dom2) throws Exception
{
PreparedStatement pstmt = null ;
ResultSet rs = null;
PreparedStatement pstmt1 = null ;
ResultSet rs1 = null;
Connection conn = null;
StringBuffer valueXmlString = new StringBuffer();
String dateFormat = genericUtility.getApplDateFormat();//Added by parikshit on 07/07/15 [to set date format]
int count = 1;
HashMap<String, String> categoryMap = new HashMap<String, String>();
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
try
{
try
{
String suppListDtl = " SELECT SUPP_CODE, (SELECT TRIM(SUPP_NAME) FROM SUPPLIER WHERE SUPP_CODE = SUPPLIERITEM.SUPP_CODE) SUPP_DESCR" +
" FROM SUPPLIERITEM " +
" WHERE ITEM_CODE IN (SELECT ITEM_CODE FROM ITEM WHERE ITEM_PARNT = '"+itemCode+"') "
+ " GROUP BY SUPP_CODE";
pstmt1 = conn.prepareStatement(suppListDtl);
rs1 = pstmt1.executeQuery();
String suppCodes = "";
String suppdtls = "";
if(rs1.next())
{
suppCodes += rs1.getString(1) + ",";
suppdtls += rs1.getString(2) + ",";
}
//Added by parikshit on 07/07/15 [for check null value] start
if ( suppCodes.trim().length() > 0 )
{
suppCodes = suppCodes.substring(0, suppCodes.length() - 1);
}
if ( suppdtls.trim().length() > 0 )
{
suppdtls = suppdtls.substring(0, suppdtls.length() - 1);
}
valueXmlString.append("<Detail3 domID='0' selected = 'N'>\r\n");
valueXmlString.append("<supp_code>").append("<![CDATA["+ checkNullAndTrim(suppCodes) +"]]>").append("</supp_code>\r\n");
valueXmlString.append("<supp_descr>").append("<![CDATA["+ checkNullAndTrim(suppdtls) +"]]>").append("</supp_descr>\r\n");
//Added by parikshit on 07/07/15 [for check null value] end
rs1.close(); rs1 = null;
pstmt1.close(); pstmt1 = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
try
{
/*String siteListDtl = " SELECT DISTINCT SITEITEM.SITE_CODE, (SELECT TRIM(DESCR) FROM GENCODES WHERE FLD_NAME = 'SITE_PRICE' " +
" AND MOD_NAME = 'W_DD_PRODUCTWIZ' AND TRIM(FLD_VALUE) = TRIM(SITE.SITE_CODE))||':'||TRIM(SITE.DESCR)||':'||TRIM(FINENT.CURR_CODE) descr " +
" FROM SITEITEM, SITE LEFT OUTER JOIN FINENT ON SITE.FIN_ENTITY = FINENT.FIN_ENTITY WHERE SITE.SITE_CODE = SITEITEM.SITE_CODE " +
" AND SITEITEM.ITEM_CODE IN (SELECT ITEM_CODE FROM ITEM WHERE ITEM_PARNT = '"+itemCode+"') ";*/
//Added by Parikshit Kumbhar on 25/06/2015 changed Query start
String siteListDtl = " SELECT DISTINCT SITEITEM.SITE_CODE, (SELECT TRIM(GENCODES.DESCR) ||':'||TRIM(SITE.DESCR)||':'||TRIM(GENCODES.UDF_STR1) FROM GENCODES " +
" WHERE FLD_NAME = 'SITE_PRICE' AND GENCODES.MOD_NAME = 'W_DD_PRODUCTWIZ' AND TRIM(GENCODES.FLD_VALUE) = TRIM(SITE.SITE_CODE)) descr " +
" FROM SITEITEM, SITE WHERE SITE.SITE_CODE = SITEITEM.SITE_CODE AND SITEITEM.ITEM_CODE IN (SELECT ITEM_CODE FROM ITEM WHERE ITEM_PARNT = '"+itemCode+"')";
//Added by Parikshit Kumbhar on 25/06/2015 changed Query End
/*String siteListDtl = " SELECT SITE_CODE, (SELECT DESCR FROM SITE WHERE SITE_CODE = SITEITEM.SITE_CODE) SITE_DESCR " +
" FROM SITEITEM " +
" WHERE ITEM_CODE IN (SELECT ITEM_CODE FROM ITEM WHERE ITEM_PARNT = '"+itemCode+"') "
+ " GROUP BY SITE_CODE";*/
pstmt1 = conn.prepareStatement(siteListDtl);
rs1 = pstmt1.executeQuery();
String siteCodes = "";
String siteDtls = "";
while(rs1.next())
{
siteCodes += rs1.getString(1) + "," ;
siteDtls += rs1.getString(2) + ",";
}
//Added by parikshit on 07/07/15 [for check null value] starts
if ( siteCodes.trim().length() > 0 )
{
siteCodes = siteCodes.substring(0, siteCodes.length() - 1);
}
if ( siteDtls.trim().length() > 0 )
{
siteDtls = siteDtls.substring(0, siteDtls.length() - 1);
}
valueXmlString.append("<site_code>").append("<![CDATA["+ siteCodes +"]]>").append("</site_code>\r\n");
valueXmlString.append("<site_descr>").append("<![CDATA["+ siteDtls +"]]>").append("</site_descr>\r\n");
valueXmlString.append("<date_format>").append("<![CDATA["+ dateFormat +"]]>").append("</date_format>\r\n");//Added by Parikshit Kumbhar on 08/07/15 [to set date format]
//Added by parikshit on 07/07/15 [for check null value] end
rs1.close(); rs1 = null;
pstmt1.close(); pstmt1 = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
valueXmlString.append("</Detail3>\r\n");
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = null;
int ctr=0;
int childNodeListLength;
parentNodeList = dom2.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
//Added by parikshit on 07/07/15 [variable declaration] start
String loc_code = "";
String loc_type = "";
String loc_code_descr = "";
//Added by parikshit on 07/07/15 [variable declaration] end
if(parentNode != null)
{
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr ++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
// Added by Parikshit Kumbhar on 08/07/2015 [to set location code] start
if (childNodeName.equalsIgnoreCase("loc_code"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_code = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
//System.out.println("******************** 1 loc_code ["+loc_code+"]");
}
else if (childNodeName.equalsIgnoreCase("loc_type"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_type = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
//System.out.println("******************** 2 loc_type ["+loc_type);
}
else if (childNodeName.equalsIgnoreCase("loc_code_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_code_descr = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
//System.out.println("******************** 2 loc_code_descr ["+loc_code_descr);
}
// Added by Parikshit Kumbhar on 08/07/2015 [to location code] end
}
}
try
{
String categoryDtl = "SELECT ATTRIB_ID, TRIM(DESCR) FROM ITM_ATTRIB_VAL WHERE ATTRIB_CODE='CATEGORY'";
pstmt1 = conn.prepareStatement(categoryDtl);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{
categoryMap.put(rs1.getString(1), rs1.getString(2));
}
rs1.close(); rs1 = null;
pstmt1.close(); pstmt1 = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
String skuDetails = "SELECT ITEM_CODE, DESCR, LENGTH, WIDTH, HEIGHT, GROSS_WEIGHT, "
+ " LOC_CODE, (SELECT DESCR FROM LOCATION WHERE LOC_CODE = ITEM.LOC_CODE) LOC_CODE_DESC, "
+ " UDF__STR2, PHY_ATTRIB_23, LOC_TYPE, "
+ " UDF__STR1, (SELECT TRIM(DESCR) FROM ITM_ATTRIB_VAL WHERE ATTRIB_CODE='Tax' AND TRIM(ATTRIB_ID) = ITEM.UDF__STR1) TAX, HSN_NO"
+ " FROM ITEM "
+ " WHERE ITEM_PARNT = '"+ itemCode +"'";
pstmt = conn.prepareStatement( skuDetails );
rs = pstmt.executeQuery();
while(rs.next())
{
valueXmlString.append("<Detail3 domID='"+ count +"' selected = 'Y'>\r\n");
valueXmlString.append("<item_code>").append("<![CDATA["+ checkNullAndTrim(rs.getString(1)) +"]]>").append("</item_code>\r\n");
valueXmlString.append("<descr>").append("<![CDATA["+ checkNullAndTrim(rs.getString(2)) +"]]>").append("</descr>\r\n");
valueXmlString.append("<length>").append("<![CDATA["+ checkNullAndTrim(rs.getString(3)) +"]]>").append("</length>\r\n");
valueXmlString.append("<width>").append("<![CDATA["+ checkNullAndTrim(rs.getString(4)) +"]]>").append("</width>\r\n");
valueXmlString.append("<height>").append("<![CDATA["+ checkNullAndTrim(rs.getString(5)) +"]]>").append("</height>\r\n");
valueXmlString.append("<gross_weight>").append("<![CDATA["+ checkNullAndTrim(rs.getString(6)) +"]]>").append("</gross_weight>\r\n");
valueXmlString.append("<loc_code>").append("<![CDATA["+ checkNullAndTrim(loc_code) +"]]>").append("</loc_code>\r\n");
valueXmlString.append("<loc_type>").append("<![CDATA["+ checkNullAndTrim(loc_type) +"]]>").append("</loc_type>\r\n");
valueXmlString.append("<loc_code_descr>").append("<![CDATA["+ checkNullAndTrim(loc_code_descr) +"]]>").append("</loc_code_descr>\r\n");
valueXmlString.append("<item_barcode>").append("<![CDATA["+ checkNullAndTrim(rs.getString(9)) +"]]>").append("</item_barcode>\r\n");
valueXmlString.append("<item_category>").append("<![CDATA["+ checkNullAndTrim(rs.getString(10)) +"]]>").append("</item_category>\r\n");
valueXmlString.append("<tax>").append("<![CDATA["+ checkNullAndTrim(rs.getString(12)) +"]]>").append("</tax>\r\n");
valueXmlString.append("<tax_descr>").append("<![CDATA["+ checkNullAndTrim(rs.getString(13)) +"]]>").append("</tax_descr>\r\n");
valueXmlString.append("<item_commodity>").append("<![CDATA["+ checkNullAndTrim(rs.getString(14)) +"]]>").append("</item_commodity>\r\n");
String categoryDescr = rs.getString(10);
String[] categoryDescrs = categoryDescr.split(",");
String categoryCode = "";
for ( int i = 0; i < categoryDescrs.length; i++ )
{
categoryCode += getKeyFromValue(categoryMap,categoryDescrs[i].trim())+ ",";
}
if (categoryCode.length() > 1 )
{
categoryCode = categoryCode.substring(0, categoryCode.length() - 1);
}
valueXmlString.append("<item_category_descr>").append("<![CDATA["+ checkNullAndTrim(categoryCode) +"]]>").append("</item_category_descr>\r\n");
try
{
String packSizeDtl = "SELECT SHIPPER_SIZE||':'||LENGTH||':'||WIDTH||':'||HEIGHT||':'||GROSS_WEIGHT||':'||NET_WEIGHT "
+ " FROM ITEM_LOT_PACKSIZE "
+ " WHERE ITEM_CODE ='"+ rs.getString(1)+"' ";
pstmt1 = conn.prepareStatement(packSizeDtl);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
valueXmlString.append("<pack_size_descr>").append("<![CDATA["+ checkNullAndTrim(rs1.getString(1)) +"]]>").append("</pack_size_descr>\r\n");
}
else
{
valueXmlString.append("<pack_size_descr>").append("<![CDATA[]]>").append("</pack_size_descr>\r\n");
}
rs1.close(); rs1 = null;
pstmt1.close(); pstmt1 = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
try
{
String attValues = "SELECT PHY_ATTRIB_1, "
+ " (SELECT TRIM(DESCR) FROM ITM_ATTRIB_VAL WHERE ATTRIB_CODE= ITEM.PHY_ATTRIB_22 AND TRIM(ATTRIB_ID) = TRIM(ITEM.PHY_ATTRIB_1)) SIZE_DESCR, "
+ " PHY_ATTRIB_2, "
+ " (SELECT TRIM(DESCR) FROM ITM_ATTRIB_VAL WHERE ATTRIB_CODE='COLOR' AND TRIM(ATTRIB_ID) = TRIM(ITEM.PHY_ATTRIB_2)) COLOR_DESCR, "
+ " PHY_ATTRIB_3, "
+ " (SELECT TRIM(DESCR) FROM ITM_ATTRIB_VAL WHERE ATTRIB_CODE='DIMENSION' AND TRIM(ATTRIB_ID) = TRIM(ITEM.PHY_ATTRIB_3)) DIMENSION_DESCR "
+ " FROM ITEM "
+ " WHERE ITEM_CODE = '"+ rs.getString(1) +"' "; //changed by parikshit on 24/07/15 [in query added ATTRIB_CODE= ITEM.PHY_ATTRIB_22]
pstmt1 = conn.prepareStatement(attValues);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
valueXmlString.append("<phy_attrib_1>").append("<![CDATA["+ checkNullAndTrim(rs1.getString(1)) +"]]>").append("</phy_attrib_1>\r\n");
valueXmlString.append("<size_code_descr>").append("<![CDATA["+ checkNullAndTrim(rs1.getString(2)) +"]]>").append("</size_code_descr>\r\n");
valueXmlString.append("<phy_attrib_2>").append("<![CDATA["+ checkNullAndTrim(rs1.getString(3)) +"]]>").append("</phy_attrib_2>\r\n");
valueXmlString.append("<color_code_descr>").append("<![CDATA["+ checkNullAndTrim(rs1.getString(4)) +"]]>").append("</color_code_descr>\r\n");
valueXmlString.append("<phy_attrib_3>").append("<![CDATA["+ checkNullAndTrim(rs1.getString(5)) +"]]>").append("</phy_attrib_3>\r\n");
valueXmlString.append("<dimension_code_descr>").append("<![CDATA["+ checkNullAndTrim(rs1.getString(6)) +"]]>").append("</dimension_code_descr>\r\n");
}
else
{
valueXmlString.append("<phy_attrib_1>").append("<![CDATA[]]>").append("</phy_attrib_1>\r\n");
valueXmlString.append("<size_code_descr>").append("<![CDATA[]]>").append("</size_code_descr>\r\n");
valueXmlString.append("<phy_attrib_2>").append("<![CDATA[]]>").append("</phy_attrib_2>\r\n");
valueXmlString.append("<color_code_descr>").append("<![CDATA[]]>").append("</color_code_descr>\r\n");
valueXmlString.append("<phy_attrib_3>").append("<![CDATA[]]>").append("</phy_attrib_3>\r\n");
valueXmlString.append("<dimension_code_descr>").append("<![CDATA[]]>").append("</dimension_code_descr>\r\n");
}
rs1.close(); rs1 = null;
pstmt1.close(); pstmt1 = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
try
{
String suppListDtl = "SELECT SUPP.SUPP_CODE, TRIM(SUPP.SUPP_NAME) SUPP_DESC, PRICELIST.PRICE_LIST, "
+ " PRICELIST.RATE, PRICELIST.EFF_FROM, PRICELIST.VALID_UPTO, SUPP.curr_code "
+ " FROM SUPPLIERITEM SUPPITM, SUPPLIER SUPP, PRICELIST "
+ " WHERE SUPPITM.SUPP_CODE = SUPP.SUPP_CODE "
+ " AND PRICELIST.PRICE_LIST = SUPP.PRICE_LIST "
+ " AND SUPPITM.ITEM_CODE = PRICELIST.ITEM_CODE "
+ " AND SUPPITM.ITEM_CODE = '"+ rs.getString(1) +"' " +
" AND PRICELIST.SLAB_NO = (SELECT MAX(SLAB_NO) FROM PRICELIST P1 WHERE P1.ITEM_CODE = PRICELIST.ITEM_CODE " +
" AND P1.PRICE_LIST = PRICELIST.PRICE_LIST)";
pstmt1 = conn.prepareStatement(suppListDtl);
rs1 = pstmt1.executeQuery();
String suppDtl = "";
if(rs1.next())
{
String fromDt = genericUtility.getValidDateString(
rs1.getString(5), genericUtility.getDBDateFormat(), genericUtility.getDispDateFormat());
String toDt = genericUtility.getValidDateString(
rs1.getString(6), genericUtility.getDBDateFormat(), genericUtility.getDispDateFormat());
suppDtl = ("1"+":"+ rs1.getString(1) +":"+ rs1.getString(3) +":"+ rs1.getString(4) +":"+ fromDt +":"+ toDt+":"+ rs1.getString(7) );
}
valueXmlString.append("<supp_item_dtl>").append("<![CDATA["+ suppDtl +"]]>").append("</supp_item_dtl>\r\n");
rs1.close(); rs1 = null;
pstmt1.close(); pstmt1 = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
try
{
String priceListDtl = "SELECT TRIM(SITEITM.SITE_CODE), TRIM(SITE.DESCR), TRIM(GENCODES.DESCR), " +
" PRICELIST.RATE, PRICELIST.EFF_FROM, PRICELIST.VALID_UPTO, GENCODES.UDF_STR1" + //changed By parikshit GENCODES.UDF_STR1 instead of finentity on 29/06/2015
" FROM SITEITEM SITEITM, SITE, GENCODES, PRICELIST " +
" WHERE SITE.SITE_CODE = SITEITM.SITE_CODE " +
" AND SITEITM.ITEM_CODE = PRICELIST.ITEM_CODE " +
" AND GENCODES.FLD_NAME = 'SITE_PRICE' AND GENCODES.MOD_NAME = 'W_DD_PRODUCTWIZ' " +
" AND TRIM(SITE.SITE_CODE) = TRIM(GENCODES.FLD_VALUE) AND TRIM(GENCODES.DESCR) = TRIM(PRICELIST.PRICE_LIST) " +
" AND SITEITM.ITEM_CODE = '"+ rs.getString(1) +"' " +
" AND PRICELIST.SLAB_NO = (SELECT MAX(P1.SLAB_NO) FROM PRICELIST P1 " +
" WHERE P1.ITEM_CODE = PRICELIST.ITEM_CODE AND P1.PRICE_LIST = PRICELIST.PRICE_LIST)";
pstmt1 = conn.prepareStatement(priceListDtl);
rs1 = pstmt1.executeQuery();
String priceDtl = "";
while(rs1.next())
{
String fromDt = genericUtility.getValidDateString(
rs1.getString(5), genericUtility.getDBDateFormat(), genericUtility.getDispDateFormat());
String toDt = genericUtility.getValidDateString(
rs1.getString(6), genericUtility.getDBDateFormat(), genericUtility.getDispDateFormat());
priceDtl += ("||1"+":"+ rs1.getString(1) +":"+ rs1.getString(3) +":"+ rs1.getString(4) +":0:"+ fromDt +":"+ toDt+":"+ rs1.getString(7));
}
if (priceDtl.length() > 2)
{
priceDtl = priceDtl.substring(2, priceDtl.length());
}
valueXmlString.append("<price_list_dtl>").append("<![CDATA["+ priceDtl +"]]>").append("</price_list_dtl>\r\n");
rs1.close(); rs1 = null;
pstmt1.close(); pstmt1 = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
try
{
String languageSelect = " SELECT LANGUAGES, " +
" (SELECT TRIM(DESCR) FROM GENCODES WHERE FLD_NAME='LANGUAGE' AND FLD_VALUE = LANGUAGES) LANG_DESCR, " +
" ATTR_VALUE, UDF_STR1, UDF_STR2 FROM OBJ_ATTRIBUTE " +
" WHERE ITEM_ATTR_VAL = 'ITEM_CODE:"+rs.getString(1)+"' " +
" AND OBJ_NAME = 'W_ITEM' " +
" AND LANGUAGES != 'EN'";
pstmt1 = conn.prepareStatement(languageSelect);
rs1 = pstmt1.executeQuery();
String languageDtl = "";
String langDesc = "";
String langCode = "";
while(rs1.next())
{
String langCodes = rs1.getString(1);
langCode += rs1.getString(1) + ", ";
langDesc += rs1.getString(2) + ", ";
String langCodeDescs = rs1.getString(3);
String langShDescs = rs1.getString(4);
String langLongDescs = rs1.getString(5);
languageDtl += "||" + langCodes + ":" + rs.getString(1) + ":" + langCodeDescs + ":" + langShDescs + ":" + langLongDescs;
}
String languageDtls = languageDtl.substring(2, languageDtl.length());
langCode = langCode.trim().substring(0, langCode.length()-2);
langDesc = langDesc.trim().substring(0, langDesc.length()-2);
System.out.println("languageDtls = "+ languageDtls);
System.out.println("langdesc = "+ langDesc +" langCode = "+ langCode);
valueXmlString.append("<language>").append("<![CDATA["+ langDesc +"]]>").append("</language>\r\n");
valueXmlString.append("<language_desc>").append("<![CDATA["+ langCode +"]]>").append("</language_desc>\r\n");
valueXmlString.append("<language_dtl>").append("<![CDATA["+ languageDtls +"]]>").append("</language_dtl>\r\n");
rs1.close(); rs1 = null;
pstmt1.close(); pstmt1 = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
valueXmlString.append("</Detail3>\r\n");
count++;
}
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new Exception(e);
}
finally
{
try
{
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt1 != null)
{
pstmt.close();
pstmt = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
return valueXmlString.toString();
}
/**
* Check string is null
* @param input
* @return
*/
private static String checkNullAndTrim(String input)
{
if (input == null)
{
input = "";
}
return input.trim();
}
/**
* Checking previous document exist or not
*/
private boolean preDomExists(Document dom, String currentFormNo) throws ITMException
{
NodeList parentList = null;
NodeList childList = null;
Node childNode = null;
boolean selected = false;
try
{
parentList = dom.getElementsByTagName("Detail" + currentFormNo);
if ( parentList.item(0) != null )
{
childList = parentList.item(0).getChildNodes();
for (int ctr = 0; ctr < childList.getLength(); ctr++)
{
childNode = childList.item(ctr);
if((childNode.getFirstChild() != null && childNode.getFirstChild().getNodeValue() != null))
{
System.out.println("Column found!!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + childNode.getNodeName());
selected = true;
break;
}
}
}
}
catch ( Exception e )
{
System.out.println( "Exception :DDProductWizEditEJB :preDomExists :==>\n"+e.getMessage());
throw new ITMException(e);
}
return selected;
}
private String getPrevFormValues( Document dom, String currentFormNo ) throws ITMException
{
NodeList parentList = null;
NodeList childList = null;
Node parentNode = null;
Node childNode = null;
Element elementAttr = null;
String columnValue = "";
String returnPrevStr = "";
Document chgPreDom = null;
try
{
chgPreDom = genericUtility.parseString("<Root/>");
System.out.println("currentFormNo ["+currentFormNo+"]");
parentList = dom.getElementsByTagName("Detail" + currentFormNo);
int parentNodeListLength = parentList.getLength();
System.out.println("parentlistlength["+parentNodeListLength+"]");
for (int prntCtr = 0; prntCtr < parentNodeListLength; prntCtr++ )
{
parentNode = parentList.item(prntCtr);
childList = parentNode.getChildNodes();
for (int ctr = 0; ctr < childList.getLength(); ctr++)
{
childNode = childList.item(ctr);
if((childNode.getFirstChild() != null && childNode.getFirstChild().getNodeValue() != null))
{
columnValue = childNode.getFirstChild().getNodeValue().trim();
System.out.println("columnValue["+columnValue+"]");
elementAttr = (Element)parentNode;
if ( parentNode.getAttributes().getNamedItem( "domID" ) != null )
{
elementAttr.setAttribute( "domID" , "1" );
elementAttr.setAttribute( "selected" , "Y" );
}
Node importedNode = chgPreDom.importNode( parentNode, true );
chgPreDom.getDocumentElement().appendChild( importedNode );
break;
}
}
}
returnPrevStr = genericUtility.serializeDom(chgPreDom);
if(returnPrevStr.indexOf("Detail"+currentFormNo) != -1)
{
returnPrevStr = returnPrevStr.substring(returnPrevStr.indexOf(">") + 1, returnPrevStr.lastIndexOf("</"));
}
returnPrevStr = returnPrevStr.indexOf("Detail"+currentFormNo) != -1 ? returnPrevStr : "";
}
catch ( Exception e )
{
System.out.println( "Exception :DDProductWizEditEJB :getPrevFormValues :==>\n"+e.getMessage());
throw new ITMException(e);
}
return returnPrevStr;
}
private static Object getKeyFromValue(Map hm, Object value)
{
for (Object o : hm.keySet())
{
if (hm.get(o).equals(value))
{
return o;
}
}
return null;
}
}
package ibase.webitm.ejb.wms;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local;
import org.w3c.dom.Document;
@Local
public interface DDProductWizEditLocal
{
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1,String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1,Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.wms;
import java.net.URLEncoder;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.bean.wms.Product;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.wms.CommonWmsUtil;
import javax.ejb.Stateless;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
/**
* Session Bean implementation class DDProductWizEditPosEJB
*/
@Stateless
public class DDProductWizEditPosEJB extends ValidatorEJB implements DDProductWizEditPosRemote, DDProductWizEditPosLocal
{
E12GenericUtility genericUtility = new E12GenericUtility();
private String loginSiteCode= "", userId= "", chgTerm = "";
private String item_descr= "", item_code= "", item_ser= "", grp_code= "", item_type= "", phy_attrib_1= "", phy_attrib_2= "", phy_attrib_3= "",item_length= "", size_codes= "",
item_width= "", item_height= "", price_list_dtl= "", item_gross_wt= "", item_parnt_desc= "", item_type_descr= "", item_ser_descr= "",
descr= "", grp_code_descr= "", site_codes= "", color_codes= "", dimension_desc= "", supp_item_dtl= "", item_barcode= "", item_category= "",
img_path= "", sh_descr= "", long_descr= "", meta_desc= "", meta_keywords= "", meta_title= "", loc_code= "", suppCode= "", loc_type= "", loc_type_child= "", pack_size_descr= "",
language_dtl= "", language= "", categoryId= "", tax= "",item_commodity = "";
private Double pur_lead_time = 0.00;
//Changed by wasim on 15-07-2015 [START]
private String deleteSkus = "",attributeSetId = "",item_parnt = "",hdrlanguage_dtl = "";
CommonWmsUtil commonutility = new CommonWmsUtil();
List<Integer> simpleProductIdCollection = new ArrayList<Integer>();
int simpleProductId = 0;
String apiSimpleUrl = commonutility.getDDSalesConfig("PROD_SIMPLE_API_URL");
String apiConfigUrl = commonutility.getDDSalesConfig("PROD_CONFIG_API_URL");
String apiDelSkusUrl = commonutility.getDDSalesConfig("PROD_DELETE_API_URL");
String apiKey = commonutility.getDDSalesConfig("API_KEY");//Changed by wasim on 15-07-2015 to get apiKey for magento
int siteCnt=0;
String storeInfo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <store_info> ";
double price = 0.0;
ArrayList<Double> parentMaxPrice = new ArrayList<Double>();
DDProductWizPosEJB prodEjb = new DDProductWizPosEJB();
Product objProductsChild = null;
//Changed by samadhan on 27/07/2015 FOR magento Updation
HashMap maxPriceMap = new HashMap();
PreparedStatement pstmt = null;
ResultSet rs1 = null;
PreparedStatement pstmtsel=null;
ResultSet rs = null;
//Changed by wasim on 15-07-2015 [END]
Timestamp currDate = new Timestamp(System.currentTimeMillis());
/**
* Default constructor.
*/
public DDProductWizEditPosEJB()
{
}
@Override
public String postSave(String xmlStringAll, String dcrId, String editFlag, String xtraParams, Connection conn) throws RemoteException, ITMException
{
String retString = "";
loginSiteCode = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginSiteCode" );
userId = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginCode" );
chgTerm = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "chgTerm" );
System.out.println("PostSave Action Called:::");
System.out.println("loginSiteCode = ["+ loginSiteCode +"]");
try
{
retString = updateItemDetails( xmlStringAll, conn );
}
catch (Exception e)
{
e.printStackTrace();
retString = e.getMessage();
throw new ITMException(e);
}
return retString;
}
private String updateItemDetails( String xmlStringAll, Connection conn ) throws Exception
{
String retString = "";
PreparedStatement pstmtIns = null;
boolean localConnection = false;
boolean isError = false;
Document dom = null;
System.out.println("xmlStringAll::"+xmlStringAll);
try
{
dom = genericUtility.parseString(xmlStringAll);
int currDetailListLength = 0;
int detailListLength = 0;
Node currDetail1 = null;
NodeList detail1List = null;
NodeList currDetail1List = null;
detail1List = dom.getElementsByTagName("Detail2");
detailListLength = detail1List.getLength();
for ( int ctr1 = 0; ctr1 < detailListLength; ctr1++ )
{
currDetail1 = detail1List.item(ctr1);
currDetail1List = currDetail1.getChildNodes();
currDetailListLength = currDetail1List.getLength();
System.out.println("currDetailListLength =["+currDetailListLength+"]");
for ( int i=0; i< currDetailListLength; i++ )
{
Node childNode = currDetail1List.item(i);
String nodeName = childNode.getNodeName();
if (nodeName.equalsIgnoreCase("item_code"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_code = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
item_parnt = item_code;//Changed by wasim on 15-07-2015
}
}
else if (nodeName.equalsIgnoreCase("descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
descr = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
//Changed by samadhan on 27/07/2015
item_parnt_desc = descr;
}
}
else if (nodeName.equalsIgnoreCase("item_type"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_type = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_type_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_type_descr = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_ser"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_ser = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_ser_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_ser_descr = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("grp_code"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
grp_code = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("grp_code_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
grp_code_descr = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("tax"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
tax = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("language"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
language = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("language_dtl"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
language_dtl = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
hdrlanguage_dtl = language_dtl;//Changed by wasim on 15-07-2015 to get header data
}
}
else if (nodeName.equalsIgnoreCase("sh_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
sh_descr = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
else
{
sh_descr = "";
}
}
else if (nodeName.equalsIgnoreCase("meta_title"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
meta_title = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
else
{
meta_title = "";
}
}
else if (nodeName.equalsIgnoreCase("meta_keywords"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
meta_keywords = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
else
{
meta_keywords = "";
}
}
else if (nodeName.equalsIgnoreCase("meta_desc"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
meta_desc = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
else
{
meta_desc = "";
}
}
else if (nodeName.equalsIgnoreCase("img_path"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
img_path = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
else
{
img_path = "";
}
}
else if (nodeName.equalsIgnoreCase("pur_lead_time"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
pur_lead_time = Double.parseDouble(checkNullAndTrim(childNode.getFirstChild().getNodeValue()));
}
}
else if (nodeName.equalsIgnoreCase("loc_code"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_code = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("loc_type"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_type = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("long_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
long_descr = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
}
}
String sql = "UPDATE ITEM SET DESCR = ?, ITEM_SER = ?, GRP_CODE = ?, ITEM_TYPE = ?, LOC_TYPE = ?, LOC_CODE = ?, "
+ " SH_DESCR = ?, PHY_ATTRIB_17 = ?, PHY_ATTRIB_18 = ?, PHY_ATTRIB_19 = ?, PHY_ATTRIB_20 = ?, PHY_ATTRIB_21 = ?, "
+ " LOC_TYPE__PARENT = ?, PUR_LEAD_TIME = ?, UDF__STR1 = ?, CHG_DATE = SYSDATE, CHG_TERM = ?, CHG_USER = ? "
+ " WHERE ITEM_CODE = ?";
System.out.println("sh_descr = ["+ checkNullAndTrim(sh_descr) +"] img_path = ["+checkNullAndTrim(img_path)+"] long_descr = ["+checkNullAndTrim(long_descr)+"]");
System.out.println("meta_desc = ["+ checkNullAndTrim(meta_desc) +"] meta_keywords = ["+checkNullAndTrim(meta_keywords)+"] meta_title = ["+checkNullAndTrim(meta_title)+"]");
if (conn == null)
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
localConnection = true;
}
conn.setAutoCommit(false);
pstmtIns = conn.prepareStatement( sql );
pstmtIns.setString(1, descr);
pstmtIns.setString(2, item_ser);
pstmtIns.setString(3, grp_code);
pstmtIns.setString(4, item_type);
pstmtIns.setString(5, loc_type);
pstmtIns.setString(6, loc_code);
pstmtIns.setString(7, checkNullAndTrim(sh_descr));
pstmtIns.setString(8, checkNullAndTrim(img_path));
pstmtIns.setString(9, checkNullAndTrim(long_descr));
pstmtIns.setString(10, checkNullAndTrim(meta_desc));
pstmtIns.setString(11, checkNullAndTrim(meta_keywords));
pstmtIns.setString(12, checkNullAndTrim(meta_title));
pstmtIns.setString(13, loc_type);
pstmtIns.setDouble(14, pur_lead_time);
pstmtIns.setString(15, tax);
pstmtIns.setString(16, chgTerm);
pstmtIns.setString(17, userId);
pstmtIns.setString(18, item_code);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
//Changed by Samadhan on 28/07/2015 Start
String sql5="select ATTR_VALUE from OBJ_ATTRIBUTE WHERE ITEM_ATTR_VAL = ? AND OBJ_NAME = 'W_ITEM' and LANGUAGES = 'EN'";
pstmt = conn.prepareStatement( sql5 );
pstmt.setString(1,"ITEM_CODE:"+item_code);
rs1 = pstmt.executeQuery();
if(rs1.next())
{
item_descr = rs1.getString(1);
}
pstmt.close();
rs1.close();
//Changed by Samadhan on 28/07/2015 End
sql = " UPDATE OBJ_ATTRIBUTE SET UDF_STR1 = ?, UDF_STR2 = ?, CHG_DATE = SYSDATE, CHG_TERM = ?, CHG_USER = ? " +
" WHERE ITEM_ATTR_VAL = ? AND OBJ_NAME = 'W_ITEM' and LANGUAGES = 'EN'";
pstmtIns = conn.prepareStatement(sql);
//Changed by parikshit on 27 07 2015 for stop description updation start
//pstmtIns.setString(1, descr);
pstmtIns.setString(1, checkNullAndTrim(sh_descr));
pstmtIns.setString(2, checkNullAndTrim(long_descr));
pstmtIns.setString(3, chgTerm);
pstmtIns.setString(4, userId);
pstmtIns.setString(5, "ITEM_CODE:"+item_code);
//Changed by parikshit on 27 07 2015 for stop description updation End
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
String[] lang = language_dtl.split("\\|\\|");
for (int i = 0; i < lang.length; i++)
{
String[] language = lang[i].split(":");
String langShDescr = "";
String langLngDescr = "";
for (int j = 0; j < language.length; j++)
{
if (j == 3)
langShDescr = language[3];
if (j == 4)
langLngDescr = language[4];
}
sql = " UPDATE OBJ_ATTRIBUTE SET ATTR_VALUE = ?, UDF_STR1 = ?, UDF_STR2 = ? , CHG_DATE = SYSDATE, CHG_TERM = ?, CHG_USER = ?" +
" WHERE ITEM_ATTR_VAL = ? AND LANGUAGES != 'EN' AND OBJ_NAME = 'W_ITEM' and LANGUAGES = ?";
pstmtIns = conn.prepareStatement( sql );
pstmtIns.setString(1, language[2]);
pstmtIns.setString(2, langShDescr);
pstmtIns.setString(3, langLngDescr);
pstmtIns.setString(4, chgTerm);
pstmtIns.setString(5, userId);
pstmtIns.setString(6, "ITEM_CODE:"+item_code);
pstmtIns.setString(7, language[0]);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
Node currDetail = null;
NodeList detail2List = null;
NodeList currDetailList = null;
detail2List = dom.getElementsByTagName("Detail3");
detailListLength = detail2List.getLength();
for ( int ctr = 0; ctr < detailListLength; ctr++ )
{
currDetail = detail2List.item(ctr);
currDetailList = currDetail.getChildNodes();
currDetailListLength = currDetailList.getLength();
System.out.println("currDetailListLength =["+currDetailListLength+"]");
for ( int i=0; i< currDetailListLength; i++ )
{
Node childNode = currDetailList.item(i);
String nodeName = childNode.getNodeName();
if (nodeName.equalsIgnoreCase("item_code"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_code = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
descr = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("length"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_length = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("width"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_width = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("height"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_height = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("gross_weight"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_gross_wt = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("phy_attrib_1"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
phy_attrib_1 = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("phy_attrib_2"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
phy_attrib_2 = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("phy_attrib_3"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
phy_attrib_3 = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_category"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_category = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_barcode"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_barcode = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("loc_code"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_code = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("loc_type"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_type = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("pack_size_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
pack_size_descr = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("supp_item_dtl"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
supp_item_dtl = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("price_list_dtl"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
price_list_dtl = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("language_dtl"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
language_dtl = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("tax"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
tax = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("category_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
categoryId = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("size_codes"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
size_codes = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("loc_type"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_type = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_ser"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_ser = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("pur_lead_time"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
pur_lead_time = Double.parseDouble(checkNullAndTrim(childNode.getFirstChild().getNodeValue()));
}
}
else if (nodeName.equalsIgnoreCase("grp_code"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
grp_code = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_commodity"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_commodity = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
}
sql = "UPDATE ITEM SET DESCR = ?, ITEM_SER = ?, GRP_CODE = ?, ITEM_TYPE = ?, LOC_TYPE = ?, "
+ " LOC_CODE = ?, LENGTH = ?, WIDTH = ?, HEIGHT = ?, GROSS_WEIGHT = ?, PHY_ATTRIB_1 = ?, PHY_ATTRIB_2 = ?, "
+ " PHY_ATTRIB_3 = ?, PHY_ATTRIB_23 = ?, UDF__STR2 = ?, LOC_TYPE__PARENT = ?, "
+ " PUR_LEAD_TIME = ?, UDF__STR1 = ?, CHG_DATE = SYSDATE, CHG_TERM = ?, CHG_USER = ?, HSN_NO = ?"
+ " WHERE ITEM_CODE = ?";
pstmtIns = conn.prepareStatement( sql );
pstmtIns.setString(1, descr);
pstmtIns.setString(2, item_ser);
pstmtIns.setString(3, grp_code);
pstmtIns.setString(4, item_type);
pstmtIns.setString(5, loc_type);
pstmtIns.setString(6, loc_code);
pstmtIns.setString(7, item_length);
pstmtIns.setString(8, item_width);
pstmtIns.setString(9, item_height);
pstmtIns.setString(10, item_gross_wt);
pstmtIns.setString(11, phy_attrib_1);
pstmtIns.setString(12, phy_attrib_2);
pstmtIns.setString(13, phy_attrib_3);
pstmtIns.setString(14, item_category);
pstmtIns.setString(15, item_barcode);
//pstmtIns.setString(16, size_codes); //commented by parikshit on 24/07/15 [non updatable field]
pstmtIns.setString(16, loc_type);
pstmtIns.setDouble(17, pur_lead_time);
pstmtIns.setString(18, tax);
pstmtIns.setString(19, chgTerm);
pstmtIns.setString(20, userId);
pstmtIns.setString(21, item_commodity);
pstmtIns.setString(22, item_code);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
sql = " UPDATE OBJ_ATTRIBUTE SET ATTR_VALUE = ?, CHG_DATE = SYSDATE, CHG_TERM = ?, CHG_USER = ? " +
" WHERE ITEM_ATTR_VAL = ? AND OBJ_NAME = 'W_ITEM' and LANGUAGES = 'EN'";
pstmtIns = conn.prepareStatement(sql);
pstmtIns.setString(1, descr);
pstmtIns.setString(2, chgTerm);
pstmtIns.setString(3, userId);
pstmtIns.setString(4, "ITEM_CODE:"+item_code);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
System.out.println("language_dtl = "+language_dtl);
String[] langDtl = language_dtl.split("\\|\\|");
for (int i = 0; i < langDtl.length; i++)
{
String[] language = langDtl[i].split(":");
String sql1 = " UPDATE OBJ_ATTRIBUTE SET Attr_Value=?, CHG_DATE = SYSDATE, CHG_TERM = ?, CHG_USER = ?" +
" WHERE item_attr_val = ? and Languages != 'EN' and OBJ_NAME = 'W_ITEM' and LANGUAGES = ? ";
pstmtIns = conn.prepareStatement( sql1 );
pstmtIns.setString(1, language[2]);
pstmtIns.setString(2, chgTerm);
pstmtIns.setString(3, userId);
pstmtIns.setString(4, "ITEM_CODE:"+item_code);
pstmtIns.setString(5, language[0]);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
System.out.println("pack_size_descr = "+pack_size_descr);
String[] pack_size_desc = pack_size_descr.split(":");
String sql1 = "UPDATE ITEM_LOT_PACKSIZE SET SHIPPER_SIZE = ?, LENGTH = ?, WIDTH = ?, HEIGHT = ?, GROSS_WEIGHT = ?, "
+ " NET_WEIGHT = ?, SITE_CODE__OWN = ?,CHG_DATE = SYSDATE, CHG_TERM = ?, CHG_USER = ? "
+ " WHERE ITEM_CODE = ?";
pstmtIns = conn.prepareStatement( sql1);
pstmtIns.setString(1, pack_size_desc[0]);
pstmtIns.setString(2, pack_size_desc[1]);
pstmtIns.setString(3, pack_size_desc[2]);
pstmtIns.setString(4, pack_size_desc[3]);
pstmtIns.setString(5, pack_size_desc[4]);
pstmtIns.setString(6, pack_size_desc[5]);
pstmtIns.setString(7, loginSiteCode);
pstmtIns.setString(8, chgTerm);
pstmtIns.setString(9, userId);
pstmtIns.setString(10, item_code);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
System.out.println("** supp_item_desc ** : "+ supp_item_dtl);
if(supp_item_dtl != null)
{
String[] supp_item_list = supp_item_dtl.split("\\|\\|");
for (int i = 0; i < supp_item_list.length; i++)
{
String[] supp_item = supp_item_list[i].split(":");
String suppFrDt = "", suppToDt = "", suppRate = "", suppPrice = "";
for (int j = 0; j < supp_item.length; j++)
{
if (j == 2)
suppPrice = checkNullAndTrim(supp_item[2]);
else if (j == 3)
suppRate = checkNullAndTrim(supp_item[3]).equals("") ? "0.00" : checkNullAndTrim(supp_item[3]);
else if (j == 4)
suppFrDt = checkNullAndTrim(supp_item[4]);
else if (j == 5)
suppToDt = checkNullAndTrim(supp_item[5]);
}
if (!supp_item[0].equals("0"))
{
System.out.println("** supp_item[1] **\n"+ supp_item[1]);
String[] suppliers = supp_item[1].split(",");
suppCode = suppliers[0];
System.out.println("Supplier Code in for loop = "+suppCode);
for (int j = 0; j < suppliers.length; j++)
{
String sqlSuppItemIns = "UPDATE supplieritem SET item_code__ref = ?, item_ser = ?, pur_lead_time = ?, " +
" grp_code = ?, chg_date = SYSDATE, chg_user = ?, chg_term = ? WHERE supp_code = ? AND item_code = ? ";
pstmtIns = conn.prepareStatement(sqlSuppItemIns);
pstmtIns.setString(1, item_code);
pstmtIns.setString(2, item_ser);
pstmtIns.setDouble(3, pur_lead_time);
pstmtIns.setString(4, grp_code);
pstmtIns.setString(5, userId);
pstmtIns.setString(6, chgTerm);
pstmtIns.setString(7, suppliers[j]);
pstmtIns.setString(8, item_code);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
int slabNo = 1;
double rates = 0;
String effFrDt = "" , validUpDt = "" ;
String sqlPrice = " SELECT SLAB_NO, RATE, EFF_FROM, VALID_UPTO " +
" FROM PRICELIST " +
" WHERE ITEM_CODE = '"+item_code+"' " +
" AND PRICE_LIST = '"+suppPrice+"' " +
" AND SLAB_NO IN (SELECT MAX(SLAB_NO) FROM PRICELIST WHERE ITEM_CODE = '"+item_code+"' AND PRICE_LIST = '"+suppPrice+"')";
pstmtIns = conn.prepareStatement(sqlPrice);
ResultSet rs1 = pstmtIns.executeQuery();
while (rs1.next())
{
slabNo = rs1.getInt(1) + 1;
rates = rs1.getDouble(2);
effFrDt = rs1.getString(3);
validUpDt = rs1.getString(4);
}
pstmtIns.close();
pstmtIns = null;
rs1.close();rs1 = null;
String fromDate = "", toDate = "";
if(!effFrDt.equals("") && !validUpDt.equals("") )
{
fromDate = genericUtility.getValidDateString(
checkNullAndTrim(effFrDt), genericUtility.getDBDateFormat(), genericUtility.getDispDateFormat());
toDate = genericUtility.getValidDateString(
checkNullAndTrim(validUpDt), genericUtility.getDBDateFormat(), genericUtility.getDispDateFormat());
}
if( !supp_item[0].equals("0") && (rates != Double.parseDouble(suppRate) || ! fromDate.equals(suppFrDt) || ! toDate.equals(suppToDt)) )
{
String sqlPricesIns1 = "UPDATE PRICELIST SET VALID_UPTO = ?, CHG_DATE = SYSDATE, CHG_USER = ?, CHG_TERM = ? " +
" WHERE ITEM_CODE = ? AND PRICE_LIST = ?";
pstmtIns = conn.prepareStatement(sqlPricesIns1);
pstmtIns.setTimestamp(1, currDate);
pstmtIns.setString(2, userId);
pstmtIns.setString(3, chgTerm);
pstmtIns.setString(4, item_code);
pstmtIns.setString(5, suppPrice);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
String sqlPricesIns = "INSERT INTO PRICELIST(PRICE_LIST, ITEM_CODE, UNIT, LIST_TYPE, SLAB_NO, RATE, " +
" EFF_FROM, VALID_UPTO, LOT_NO__FROM, LOT_NO__TO, MIN_QTY, MAX_QTY, " +
" RATE_TYPE, MIN_RATE, MAX_RATE, CHG_DATE, CHG_USER, CHG_TERM ) " +
" VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmtIns = conn.prepareStatement(sqlPricesIns);
String dtFrom = "", dtTo = "";
if(!suppFrDt.equals("") && !suppToDt.equals("") )
{
dtFrom = genericUtility.getValidDateTimeString( checkNullAndTrim(suppFrDt),
genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat());
dtTo = genericUtility.getValidDateTimeString( checkNullAndTrim(suppToDt),
genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat());
}
pstmtIns.setString(1, suppPrice);
pstmtIns.setString(2, item_code);
pstmtIns.setString(3, "NO");
pstmtIns.setString(4, "L");
pstmtIns.setInt(5, slabNo);
pstmtIns.setString(6, suppRate);
pstmtIns.setTimestamp(7, java.sql.Timestamp.valueOf(dtFrom));
pstmtIns.setTimestamp(8, java.sql.Timestamp.valueOf(dtTo));
pstmtIns.setString(9, "00");
pstmtIns.setString(10, "ZZ");
pstmtIns.setString(11, "0");
pstmtIns.setString(12, "999999");
pstmtIns.setString(13, "F");
pstmtIns.setString(14, suppRate);
pstmtIns.setString(15, suppRate);
pstmtIns.setTimestamp(16, currDate);
pstmtIns.setString(17, userId);
pstmtIns.setString(18, chgTerm);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
}
}
}
System.out.println("** price_list_dtl ** : "+ price_list_dtl);
if(price_list_dtl != null)
{
String[] price_list = price_list_dtl.split("\\|\\|");
for (int k = 0; k < price_list.length; k++)
{
String[] site_list = price_list[k].split(":");
String siteFrDt = "", siteToDt = "", siteRate = "", sitePrice = "";
for (int j = 0; j < site_list.length; j++)
{
if (j == 2)
sitePrice = checkNullAndTrim(site_list[2]);
else if (j == 3)
siteRate = checkNullAndTrim(site_list[3]).equals("") ? "0.00" : checkNullAndTrim(site_list[3]);
else if (j == 5)
siteFrDt = checkNullAndTrim(site_list[5]);
else if (j == 6)
siteToDt = checkNullAndTrim(site_list[6]);
}
if (!site_list[0].equals("0"))
{
String sqlSiteIns = " UPDATE SITEITEM SET ITEM_CODE = ?, PUR_LEAD_TIME = ?, " +
" ITEM_SER = ?,CHG_DATE = SYSDATE, CHG_USER = ?, CHG_TERM = ?, loc_code__aprv = ? " +
" WHERE ITEM_CODE = ? and SITE_CODE = ?";
pstmtIns = conn.prepareStatement(sqlSiteIns);
pstmtIns.setString(1, item_code);
pstmtIns.setDouble(2, pur_lead_time);
pstmtIns.setString(3, item_ser);
pstmtIns.setString(4, userId);
pstmtIns.setString(5, chgTerm);
pstmtIns.setString(6, loc_code);
pstmtIns.setString(7, item_code);
pstmtIns.setString(8, site_list[1]);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
int slabNos = 1 ;
double rate = 0 ;
String effFrDts = "" , validUpDts = "" ;
String sqlPrices = " SELECT SLAB_NO, RATE, EFF_FROM, VALID_UPTO " +
" FROM PRICELIST WHERE ITEM_CODE = '"+item_code+"' " +
" AND PRICE_LIST = '"+sitePrice+"' " +
" AND SLAB_NO IN (SELECT MAX(SLAB_NO) FROM PRICELIST WHERE ITEM_CODE = '"+item_code+"' AND PRICE_LIST = '"+sitePrice+"')";
pstmtIns = conn.prepareStatement(sqlPrices);
ResultSet rs1 = pstmtIns.executeQuery();
while (rs1.next())
{
slabNos = rs1.getInt(1) + 1;
rate = rs1.getDouble(2);
effFrDts = rs1.getString(3);
validUpDts = rs1.getString(4);
}
pstmtIns.close();
pstmtIns = null;
rs1.close();rs1 = null;
String fromDt = "", toDate = "";
if(!effFrDts.equals("") && !validUpDts.equals("") )
{
fromDt = genericUtility.getValidDateString(
checkNullAndTrim(effFrDts), genericUtility.getDBDateFormat(), genericUtility.getDispDateFormat());
toDate = genericUtility.getValidDateString(
checkNullAndTrim(validUpDts), genericUtility.getDBDateFormat(), genericUtility.getDispDateFormat());
}
if( !site_list[0].equals("0") && (rate != Double.parseDouble(siteRate) || ! fromDt.equals(siteFrDt) || ! toDate.equals(siteToDt)) )
{
String sqlPricesIns1 = "UPDATE PRICELIST SET VALID_UPTO = ?, CHG_DATE = SYSDATE, CHG_USER = ?, CHG_TERM = ? " +
" WHERE ITEM_CODE = ? AND PRICE_LIST = ?";
pstmtIns = conn.prepareStatement(sqlPricesIns1);
pstmtIns.setTimestamp(1, currDate);
pstmtIns.setString(2, userId);
pstmtIns.setString(3, chgTerm);
pstmtIns.setString(4, item_code);
pstmtIns.setString(5, sitePrice);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
String dtFrom = "", dtTo ="";
if (!siteFrDt.equals("") && !siteToDt.equals(""))
{
dtFrom = genericUtility.getValidDateTimeString( checkNullAndTrim(siteFrDt),
genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat());
dtTo = genericUtility.getValidDateTimeString( checkNullAndTrim(siteToDt),
genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat());
}
String sqlPricesIn = "insert into PRICELIST(PRICE_LIST, ITEM_CODE, UNIT, LIST_TYPE, SLAB_NO, RATE, " +
" EFF_FROM, VALID_UPTO, LOT_NO__FROM, LOT_NO__TO, min_qty, max_qty, " +
" rate_type, min_rate, max_rate, CHG_DATE, CHG_USER, CHG_TERM ) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmtIns = conn.prepareStatement(sqlPricesIn);
pstmtIns.setString(1, checkNullAndTrim(sitePrice));
pstmtIns.setString(2, item_code);
pstmtIns.setString(3, "NO");
pstmtIns.setString(4, "L");
pstmtIns.setInt(5, slabNos);
pstmtIns.setString(6, checkNullAndTrim(siteRate));
pstmtIns.setTimestamp(7, java.sql.Timestamp.valueOf(dtFrom));
pstmtIns.setTimestamp(8, java.sql.Timestamp.valueOf(dtTo));
pstmtIns.setString(9, "00");
pstmtIns.setString(10, "ZZ");
pstmtIns.setString(11, "0");
pstmtIns.setString(12, "999999");
pstmtIns.setString(13, "F");
pstmtIns.setString(14, checkNullAndTrim(siteRate));
pstmtIns.setString(15, checkNullAndTrim(siteRate));
pstmtIns.setTimestamp(16, currDate);
pstmtIns.setString(17, userId);
pstmtIns.setString(18, chgTerm);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
}
}//ENd Detail 3 loop
}
//Changed By Samadhan on 30/07/2015 for change loop location Start
//Changed by wasim on 14-07-2015 [START]
System.out.println("@@Language="+hdrlanguage_dtl);
String[] language_dtl_list = hdrlanguage_dtl.split("\\|\\|");
String[] price_list = price_list_dtl.split("\\|\\|");
String siteCode = "";
String sqlPriceSite = " SELECT SITE_CODE FROM SITE ";
PreparedStatement pstmtSel=null;
pstmtSel = conn.prepareStatement(sqlPriceSite);
ResultSet rs1 = pstmtSel.executeQuery();
siteCnt=0;
storeInfo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <store_info> ";
while (rs1.next())
{
siteCode = rs1.getString(1);
siteCnt++;
String operatingLang="";
boolean flag = false;
operatingLang = prodEjb.getOperatingLang(siteCode.trim(),conn);
price = 0.0;
System.out.println("@@My Length="+price_list.length);
for (int i = 0; i < price_list.length; i++)
{
String []site_list = price_list[i].split(":");
System.out.println("@@My List="+site_list[1]+"Site Code="+siteCode);
if(site_list[1].trim().equalsIgnoreCase(siteCode.trim()))
{
System.out.println("@@SiteList3["+site_list[3]+"]");
price = Double.parseDouble((site_list[3]==null||site_list[3].equals(""))?"0":site_list[3].trim());
}
}
System.out.println("@@My Price="+price);
System.out.println("@@Language Lenght="+language_dtl_list.length);
for (int j = 0; j < language_dtl_list.length; j++)
{
lang = language_dtl_list[j].split(":");
System.out.println("@@ MyLang="+lang[0]);
System.out.println("@@ OpLang="+operatingLang);
if(operatingLang.equalsIgnoreCase(lang[0]))
{
System.out.println("@@ MyLang2="+lang[2]);
//Changed by samadhan Start
String sDescr = "";
String lDescr = "";
try
{
sDescr = lang[3];
}catch(Exception e)
{}
try
{
lDescr = lang[4];
}catch(Exception e)
{}
//Changed by samadhan End
System.out.println("@@ MyLang3="+sDescr);
System.out.println("@@ MyLang4="+lDescr);
storeInfo = storeInfo + "<store> " ;
storeInfo = storeInfo + "<code><![CDATA["+operatingLang.toLowerCase()+"]]></code> " ;
storeInfo = storeInfo + "<product_id><![CDATA["+item_code+"]]></product_id> " ;
storeInfo = storeInfo + "<name><![CDATA["+lang[2]+"]]></name> " ;
storeInfo = storeInfo + "<short_desc><![CDATA["+sDescr+"]]></short_desc> ";
storeInfo = storeInfo + "<long_desc><![CDATA["+lDescr+"]]></long_desc> ";
storeInfo = storeInfo + "<price><![CDATA["+price+"]]></price> ";
storeInfo = storeInfo + "</store>";
parentMaxPrice.add(price);
flag=true;
break;
}
}
if(!flag)
{
storeInfo = storeInfo + "<store> " ;
storeInfo = storeInfo + "<code><![CDATA["+operatingLang.toLowerCase()+"]]></code> " ;
storeInfo = storeInfo + "<product_id><![CDATA["+item_code+"]]></product_id> " ;
storeInfo = storeInfo + "<name><![CDATA["+item_descr+"]]></name> " ;
storeInfo = storeInfo + "<short_desc><![CDATA["+sh_descr+"]]></short_desc> ";
storeInfo = storeInfo + "<long_desc><![CDATA["+long_descr+"]]></long_desc> ";
storeInfo = storeInfo + "<price><![CDATA["+price+"]]></price> ";
storeInfo = storeInfo + "</store>";
parentMaxPrice.add(price);
}
//Changed by samadhan on 27/07/2015 Start
if(maxPriceMap.containsKey(operatingLang.toLowerCase()))
{
if((Double)maxPriceMap.get(operatingLang.toLowerCase())<price)
{
maxPriceMap.put(operatingLang.toLowerCase(), price);
}
}
else
{
maxPriceMap.put(operatingLang.toLowerCase(), price);
}
//Changed by samadhan on 27/07/2015 End
}
pstmtSel.close();
pstmtSel = null;
rs1.close();
rs1 = null;
storeInfo = storeInfo + "</store_info>";
System.out.println("Hurray======"+storeInfo);
String colorId = "";
objProductsChild = new Product();
objProductsChild.setApiKey(apiKey);//Changed by wasim on 14-08-2015 to set apiKey for magento
objProductsChild.setCost(0);
objProductsChild.setStoreId(0);
colorId = checkNullAndTrim(prodEjb.getItemAttribVal("UDF__STR1","COLOR",phy_attrib_2, conn));
colorId = colorId.length() == 0 ? "0" : colorId;
objProductsChild.setColorId(Integer.parseInt(colorId));
objProductsChild.setTaxClass(Integer.parseInt((tax.equals("")||tax==null)?"2":tax.trim()));
//Changed by Samadhan on 28/07/2015
size_codes = prodEjb.getColumnDescr(conn,"phy_attrib_22","item","item_code",item_code);
System.out.println("@@My Size Code is="+size_codes);
String sizeStrGen = checkNullAndTrim(prodEjb.getItemAttribVal("UDF__STR1",size_codes,phy_attrib_1, conn));
sizeStrGen = sizeStrGen.length() == 0 ? "0" : sizeStrGen;
objProductsChild.setProductSizeId(Integer.parseInt(sizeStrGen));
String dimension1 = checkNullAndTrim(prodEjb.getItemAttribVal("UDF__STR1","DIMENSION",phy_attrib_3, conn));
dimension1 = dimension1.length() == 0 ? "0" : dimension1;
int dimension = Integer.parseInt(dimension1);
objProductsChild.setProductDimensionId(dimension); //MEDIUM
System.out.println("@@My Image="+img_path);
objProductsChild.setImagePath(URLEncoder.encode(img_path,"UTF-8"));//phy_attrib_17
objProductsChild.setLongDescription(URLEncoder.encode(long_descr,"UTF-8"));
//Changed by Samadhan on 28/07/2015 Start
String categoryDesc = prodEjb.getColumnDescr(conn,"phy_attrib_23","item","item_code",item_code);
String [] id = categoryDesc.split(",");
categoryId="";
for(String str : id)
{
categoryId = categoryId+prodEjb.getColumnDescr(conn,"attrib_id","itm_attrib_val","attrib_code = 'CATEGORY' and descr",checkNullAndTrim(str))+",";
}
categoryId = categoryId.substring(0 ,categoryId.length() -1);
//Changed by Samadhan on 28/07/2015 End
id = categoryId.split(",");
String categoty ="";
for(String str : id)
{
String categoryId="";
categoryId = checkNullAndTrim(prodEjb.getItemAttribVal("UDF__STR1","CATEGORY",checkNullAndTrim(str), conn));
categoty = categoty + categoryId+",";
}
categoty = categoty.substring(0 ,categoty.length() -1);
System.out.println("categoty------>>["+categoty+"]");
objProductsChild.setCategories(categoty);
String manufacturerId="";
manufacturerId = prodEjb.getColumnDescr(conn,"udf_1","supplier","supp_code",suppCode);
manufacturerId = manufacturerId.length() == 0 ? "0" :manufacturerId;
objProductsChild.setManufacturerId(Integer.parseInt(manufacturerId));//supplier code
sql = "SELECT SP.COUNT_CODE FROM ITEM I,SUPPLIERITEM S,SUPPLIER SP "
+"WHERE I.ITEM_CODE = ? "
+"AND I.ITEM_CODE = S.ITEM_CODE "
+"AND SP.SUPP_CODE = S.SUPP_CODE ";
pstmtsel = conn.prepareStatement(sql);
pstmtsel.setString(1, item_code);
rs = pstmtsel.executeQuery();
String countCodeMfg="";
if(rs.next())
{
countCodeMfg = checkNullAndTrim(rs.getString("COUNT_CODE"));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmtsel != null)
{
pstmtsel.close();
pstmtsel = null;
}
objProductsChild.setManufacturerCountryCode(countCodeMfg); //count_code__mfg
objProductsChild.setMetaDescription(URLEncoder.encode(meta_desc,"UTF-8")); //.phy_attrib_19
objProductsChild.setMetaKeywords(URLEncoder.encode(meta_keywords,"UTF-8"));//phy_attrib_20
objProductsChild.setMetaTitle(URLEncoder.encode(meta_title,"UTF-8"));//phy_attrib_21
objProductsChild.setPrice(0);
objProductsChild.setProductName(URLEncoder.encode(descr,"UTF-8"));
objProductsChild.setProductStatus(1);
item_gross_wt=(item_gross_wt==null||item_gross_wt.equals(""))?"0":item_gross_wt.trim();
objProductsChild.setProductWeight(Double.parseDouble(item_gross_wt));
objProductsChild.setQty(0);
objProductsChild.setShortDescription(URLEncoder.encode(sh_descr,"UTF-8"));
objProductsChild.setSku(item_code);
deleteSkus = deleteSkus + item_code +",";
attributeSetId = prodEjb.getColumnDescr(conn,"udf_str1","item_type","item_type",item_type);
objProductsChild.setAttributeSetId(Integer.parseInt((attributeSetId.equals("")||attributeSetId==null)?"0":attributeSetId.trim()));
/*ArrayList<String> prIds = new ArrayList<String>();
System.out.println("@@@Site Count is="+siteCnt);
for(int j=0;j<siteCnt;j++)
{
prIds.add(item_code);
}*/
System.out.println("Store Info Child >>>>>>>>>:["+storeInfo+"]");
//objProductsChild.setStoreInf(URLEncoder.encode(String.format(storeInfo,prIds.toArray(new String[prIds.size()])),"UTF-8"));
objProductsChild.setStoreInf(URLEncoder.encode(storeInfo,"UTF-8"));
objProductsChild.setBarcode(URLEncoder.encode(item_barcode,"UTF-8"));
int simpleId = commonutility.Call(objProductsChild,apiSimpleUrl, null);
System.out.println("simpleId child---->>["+simpleId+"]");
if(simpleId != 0)
{
simpleProductIdCollection.add(simpleId);
prodEjb.updateItemUdfNum(item_code,simpleId,conn);
}
//Changed By Samadhan on 30/07/2015 End
}
//Changed By Samadhan on 30/07/2015 Start
System.out.println("simpleProductId Parent@------>>["+simpleProductId+"]");
System.out.println("simpleProductIdCollection Parent------>>["+simpleProductIdCollection+"]");
if(simpleProductIdCollection !=null && ! simpleProductIdCollection.isEmpty())
{
System.out.println("itemCodec Parent@------>>["+item_parnt+"] itemCodeDescrP--->>"+item_parnt_desc);
System.out.println("parentMaxPrice parentMaxPrice@------>>["+parentMaxPrice+"]");
String sqlPriceSite = " SELECT SITE_CODE FROM SITE ";
pstmtsel = conn.prepareStatement(sqlPriceSite);
rs = pstmtsel.executeQuery();
siteCnt=0;
storeInfo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <store_info> ";
String[] language_dtl_list = hdrlanguage_dtl.split("\\|\\|");
while (rs.next())
{
String siteCode = rs.getString(1);
String operatingLang="";
boolean flag = false;
operatingLang = prodEjb.getOperatingLang(siteCode.trim(),conn);
siteCnt++;
price = (Double)maxPriceMap.get(operatingLang.toLowerCase());
System.out.println("Max Price of "+operatingLang+" is: "+price);
for (int j = 0; j < language_dtl_list.length; j++)
{
String[] langdescr = language_dtl_list[j].split(":");
if(operatingLang.equalsIgnoreCase(langdescr[0]))
{
storeInfo = storeInfo + "<store> " ;
storeInfo = storeInfo + "<code><![CDATA["+operatingLang.toLowerCase()+"]]></code> " ;
storeInfo = storeInfo + "<product_id><![CDATA["+item_parnt+"]]></product_id> " ;
storeInfo = storeInfo + "<name><![CDATA["+langdescr[2]+"]]></name> " ;
storeInfo = storeInfo + "<short_desc><![CDATA["+langdescr[3]+"]]></short_desc> ";
storeInfo = storeInfo + "<long_desc><![CDATA["+langdescr[4]+"]]></long_desc> ";
storeInfo = storeInfo + "<price><![CDATA["+price+"]]></price> ";
storeInfo = storeInfo + "</store>";
flag=true;
break;
}
}
if(!flag)
{
storeInfo = storeInfo + "<store> " ;
storeInfo = storeInfo + "<code><![CDATA["+operatingLang.toLowerCase()+"]]></code> " ;
storeInfo = storeInfo + "<product_id><![CDATA["+item_parnt+"]]></product_id> " ;
storeInfo = storeInfo + "<name><![CDATA["+item_descr+"]]></name> " ;
storeInfo = storeInfo + "<short_desc><![CDATA["+sh_descr+"]]></short_desc> ";
storeInfo = storeInfo + "<long_desc><![CDATA["+long_descr+"]]></long_desc> ";
storeInfo = storeInfo + "<price><![CDATA["+price+"]]></price> ";
storeInfo = storeInfo + "</store>";
}
}
storeInfo = storeInfo + "</store_info> ";
pstmtsel.close();
rs.close();
objProductsChild.setSku(item_parnt);
objProductsChild.setProductName(URLEncoder.encode(item_parnt_desc,"UTF-8"));
/*ArrayList<String> prIds = new ArrayList<String>();
for(int k=0;k<siteCnt;k++)
{
prIds.add(item_parnt);
}*/
System.out.println("Store Info Parent >>>>>>>>>:["+storeInfo+"]");
//objProductsChild.setStoreInf(URLEncoder.encode(String.format(storeInfo,prIds.toArray(new String[prIds.size()])),"UTF-8"));
objProductsChild.setStoreInf(URLEncoder.encode(storeInfo,"UTF-8"));
deleteSkus = deleteSkus + item_parnt +",";
simpleProductId = commonutility.Call(objProductsChild,apiConfigUrl, simpleProductIdCollection);
prodEjb.updateItemUdfNum(item_parnt,simpleProductId,conn);
}
//Changed By Samadhan on 30/07/2015 End
}
catch (Exception e)
{
e.printStackTrace();
isError = true;
retString = e.getMessage();
throw new Exception(e);
}
finally
{
try
{
if (pstmtIns != null)
{
pstmtIns.close();
pstmtIns = null;
}
if (localConnection && conn != null && !conn.isClosed())
{
if ( !isError )
{
conn.commit();
}
else
{
conn.rollback();
}
conn.close();
conn = null;
}
}
catch(Exception e){}
}
return retString;
}
/**
* Check string is null
* @param input
* @return
*/
private static String checkNullAndTrim(String input)
{
if (input==null)
{
input="";
}
return input.trim();
}
}
package ibase.webitm.ejb.wms;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Local;
@Local
public interface DDProductWizEditPosLocal
{
public String postSave(String xmlStringAll, String dcrId, String editFlag, String xtraParams, Connection conn) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.wms;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Remote;
@Remote
public interface DDProductWizEditPosRemote
{
public String postSave(String xmlStringAll, String dcrId, String editFlag, String xtraParams, Connection conn) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.wms;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Remote;
import org.w3c.dom.Document;
@Remote
public interface DDProductWizEditRemote
{
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1,String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1,Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.wms;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local;
import org.w3c.dom.Document;
@Local
public interface DDProductWizLocal
{
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1,String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1,Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String getList(String loginCode, String field, String[] values) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.wms;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.bean.wms.Product;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
import ibase.webitm.utility.wms.CommonWmsUtil;
import java.util.Iterator;
import java.io.BufferedReader;
import java.io.FileReader;
import java.net.URLEncoder;
import java.rmi.RemoteException;
import java.sql.BatchUpdateException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.ejb.Stateless;
import org.w3c.dom.DOMException;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import java.io.File;
/**
* Session Bean implementation class DDProductWizPosEJB
*/
@Stateless
public class DDProductWizPosEJB extends ValidatorEJB implements DDProductWizPosRemote, DDProductWizPosLocal
{
//GenericUtility genericUtility = GenericUtility.getInstance();
E12GenericUtility genericUtility = new E12GenericUtility(); // Added by Parikshit Kumbhar on 23/04/2015.
private String tranId = "";
//Changed by samadhan D15AKAT003 on 18/05/2015 for magento updation. start
String apiSimpleUrl="",apiConfigUrl="",apiDelSkusUrl;
String deleteSkus="";
int simpleProductId = 0;
List<Integer> simpleProductIdCollection = new ArrayList<Integer>();
ArrayList<Double> parentMaxPrice = new ArrayList<Double>();
Product objProductsChild = null;
CommonWmsUtil commonutility = new CommonWmsUtil();
double price = 0.0;
String attributeSetId="";
int siteCnt=0;
HashMap maxPriceMap = new HashMap();
//Changed by samadhan D15AKAT003 on 08/06/2015 for store view magento updation
String storeInfo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <store_info> ";
//Changed by samadhan D15AKAT003 on 18/05/2015 for magento updation. End
private String item_descr, item_parnt, item_ser, grp_code, item_type, phy_attrib_1, phy_attrib_2, phy_attrib_3,item_length, size_codes,
item_width, item_height, price_list_dtl, item_gross_wt, item_parnt_desc, item_type_desc, itemser_descr,
descr, grp_code_desc, site_codes, color_codes, dimension_desc, supp_item_desc, item_barcode, item_category,
img_path, item_sh_descr, long_desc, meta_desc, meta_keywords, meta_title, loc_code,
loginSiteCode , language_dtl, categoryId, tax, item_commodity; // Added By Parikshit on 23/02/2015[Added variable language_dtl ]
//Added by Chetan Mahajan on date:06/02/2015 [Added new fields] Start
private Double pur_lead_time ;
private String suppCode = "" ,loc_type = "",loc_type_child = "", pack_size_dtl = "" ; // Added By Parikshit on 20/02/2015[Added pack_size_dtl]
private String language = "";
private Timestamp currDate;
private String chg_user = "", chg_term = "";
//Added by Chetan Mahajan on date:06/02/2015 [Added new fields] End
/**
* Default constructor.
*/
public DDProductWizPosEJB() {
// TODO Auto-generated constructor stub
}
@Override
public String postSave(String xmlStringAll, String dcrId, String editFlag, String xtraParams, Connection conn) throws RemoteException, ITMException
{
String retString="";
loginSiteCode = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginSiteCode" );
System.out.println("PostSave Action Called:::");
System.out.println("loginSiteCode = ["+ loginSiteCode +"]");
try
{
//Changed by samadhan D15AKAT003 for magento updation. start
CommonConstants.setIBASEHOME();
setDDSalesConfig();
//Changed by samadhan D15AKAT003 for magento updation. End
insertItemdetails(xmlStringAll, conn);
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return retString;
}
/**
* inserting records in tables
* @param xmlStringAll
* @throws ITMException
* @throws RemoteException
*/
public void insertItemdetails(String xmlStringAll, Connection conn) throws ITMException, RemoteException
{
HashMap<String, String> itemAttrHashMap = new HashMap<String, String>(); //added by parikshit kumbhar on 13/05/2015.
PreparedStatement pstmtIns = null;
PreparedStatement pstmtSel = null;
//Connection conn = null;
boolean localConnection = false;
boolean isError = false;
System.out.println("insertItemdetails:::");
NodeList detail2dom = null;
Document dom = null;
int det2length = 0;
System.out.println("xmlStringAll::"+xmlStringAll);
dom = genericUtility.parseString(xmlStringAll);
detail2dom = dom.getElementsByTagName("Detail2");
det2length = detail2dom.getLength();
System.out.println("det2length =["+det2length+"]");
String objName = checkNull(getObjNameFromDom(dom, "objName","1"));
System.out.println("objName =["+objName+"]");
currDate = new Timestamp(System.currentTimeMillis());
chg_user = checkNull(genericUtility.getColumnValue("chg_user",dom, "1"));
chg_term = checkNull(genericUtility.getColumnValue("chg_term",dom, "1"));
int currDetailListLength = 0;
int detailListLength = 0;
Node currDetail1 = null;
NodeList detail1List = null;
NodeList currDetail1List = null;
detail1List = dom.getElementsByTagName("Detail1");
detailListLength = detail1List.getLength();
for ( int ctr1 = 0; ctr1 < detailListLength; ctr1++ )
{
currDetail1 = detail1List.item(ctr1);
currDetail1List = currDetail1.getChildNodes();
currDetailListLength = currDetail1List.getLength();
System.out.println("currDetailListLength =["+currDetailListLength+"]");
for ( int i=0; i< currDetailListLength; i++ )
{
Node childNode = currDetail1List.item(i);
String nodeName = childNode.getNodeName();
if (nodeName.equalsIgnoreCase("item_parnt"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_parnt = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_parnt_desc"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_parnt_desc = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_type"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_type = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_type_desc"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_type_desc = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_ser"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_ser = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("itemser_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
itemser_descr = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
descr = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("grp_code"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
grp_code = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("grp_code_desc"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
grp_code_desc = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("site_codes"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
site_codes = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("color_codes"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
color_codes = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("dimension_desc"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
dimension_desc = checkNull(childNode.getFirstChild().getNodeValue());
}
}
//Added by Parikshit Kumbhar on date:24/04/2015 [Added language] Start
else if (nodeName.equalsIgnoreCase("language"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
language = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("language_dtl"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
language_dtl = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("tax"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
tax = checkNull(childNode.getFirstChild().getNodeValue());
}
}
//Added by Parikshit Kumbhar on date:24/04/2015 [Added language] End
else if (nodeName.equalsIgnoreCase("item_sh_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_sh_descr = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("long_desc"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
long_desc = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("meta_title"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
meta_title = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("meta_keywords"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
meta_keywords = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("meta_desc"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
meta_desc = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("img_path"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
img_path = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("size_codes"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
size_codes = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("pur_lead_time"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
pur_lead_time = Double.parseDouble(checkNull(childNode.getFirstChild().getNodeValue()));
}
}
//Added by Chetan Mahajan on date:05/02/2015 [Added loc_code , loc_type] Start
else if (nodeName.equalsIgnoreCase("loc_code"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_code = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("loc_type"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_type = checkNull(childNode.getFirstChild().getNodeValue());
}
}
//Added by Chetan Mahajan on date:05/02/2015 [Added loc_code , loc_type] End
}
/*System.out.println("item_parnt : "+ item_parnt +" grp_code : "+ grp_code +" item_parnt_desc : "+ item_parnt_desc + " item_type : "
+ item_type +" descr : "+ descr +" dimension_desc : "+ dimension_desc);*/
}
String sql = "insert into item (item_code, descr, item_ser, grp_code, item_type, unit, track_shelf_life, unit__rate, " +
" stk_opt, loc_type, loc_code, INTEGRAL_QTY, ISS_CRITERIA, UNIT__PUR, sh_descr, phy_attrib_17, phy_attrib_18, phy_attrib_19, " +
" phy_attrib_20, phy_attrib_21, active, supp_sour, qc_reqd, pack_code, order_opt, item_usage, " +
" auto_reqc, loc_type__parent, chg_date, chg_term, chg_user,pur_lead_time,udf__str1)" +
" Values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";//Added by Parikshit Kumbhar on 26/05/2015 [Added udf__str1 in query]
try
{
if (conn == null)
{
System.out.println("in conn");
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
localConnection = true;
}
conn.setAutoCommit(false);
/*tranId = getTransID( "w_dd_productWizard", conn);*/
pstmtIns = conn.prepareStatement( sql );
pstmtIns.setString(1, item_parnt);
/*pstmtIns.setString(1, tranId);*/
pstmtIns.setString(2, item_parnt_desc);
pstmtIns.setString(3, item_ser);
pstmtIns.setString(4, grp_code);
pstmtIns.setString(5, item_type);
pstmtIns.setString(6, "NO");
pstmtIns.setString(7, "N");
pstmtIns.setString(8, "NO");
pstmtIns.setString(9, "1");
pstmtIns.setString(10, loc_type); //changed by Chetan Mahajan on date:05/02/2015
pstmtIns.setString(11, loc_code); //changed by Chetan Mahajan on date:05/02/2015
pstmtIns.setString(12, "1");
pstmtIns.setString(13, "I");
pstmtIns.setString(14, "NO");
pstmtIns.setString(15, item_sh_descr);
pstmtIns.setString(16, img_path);
pstmtIns.setString(17, long_desc);
pstmtIns.setString(18, meta_desc);
pstmtIns.setString(19, meta_keywords);
pstmtIns.setString(20, meta_title);
pstmtIns.setString(21, "Y");
pstmtIns.setString(22, "P");
pstmtIns.setString(23, "N");
pstmtIns.setString(24, "NO");
pstmtIns.setString(25, "C");
pstmtIns.setString(26, "NA");
pstmtIns.setString(27, "N");
pstmtIns.setString(28, loc_type); //changed by Chetan Mahajan on date:06/02/2015
pstmtIns.setTimestamp(29, currDate);
pstmtIns.setString(30, chg_term);
pstmtIns.setString(31, chg_user);
pstmtIns.setDouble(32, pur_lead_time); //Added by Chetan Mahajan on date:04/02/2015 [Added for pur_lead_time]
pstmtIns.setString(33, tax); //Added by Parikshit Kumbhar on 26/05/2015 [Added udf__str1 in query for insert tax value ]
/*pstmtIns.addBatch();
pstmtIns.clearParameters();*/
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
// Added by Parikshit Kumbhar on date:13/05/2015 [to add insert query] start
System.out.println("language_dtl :" + language_dtl);
String sqllangForEN = "insert into OBJ_ATTRIBUTE (obj_name, item_attr_val, column_name, languages, attr_value, udf_str1, udf_str2, chg_date, chg_term, chg_user)"
+ "values(?,?,?,?,?,?,?,?,?,?)";
try
{
pstmtIns = conn.prepareStatement(sqllangForEN);
pstmtIns.setString(1, "W_ITEM");
pstmtIns.setString(2, "ITEM_CODE:" + item_parnt);
pstmtIns.setString(3, "ITEM_CODE");
pstmtIns.setString(4, "EN");
pstmtIns.setString(5, descr);
pstmtIns.setString(6, item_sh_descr);
pstmtIns.setString(7, long_desc);
pstmtIns.setTimestamp(8, currDate);
pstmtIns.setString(9, chg_term);
pstmtIns.setString(10, chg_user);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
catch (SQLException e)
{
isError = true;
System.out.println("SQLException ::" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
String[] languageDtl = language_dtl.split("\\|\\|");
for (int k = 0; k < languageDtl.length; k++)
{
String[] langDtl = languageDtl[k].split(":");
//Changed by parikshit on 15/06/2015
//if(Integer.parseInt(langDtl[5]) == 1)
//{
String sqllang = "insert into OBJ_ATTRIBUTE (obj_name, item_attr_val, column_name, languages, attr_value, udf_str1, udf_str2, chg_date, chg_term, chg_user)"
+ "values(?,?,?,?,?,?,?,?,?,?)";
try
{
String langShDescr = "";
String langLngDescr = "";
for (int j = 0; j < langDtl.length; j++)
{
if (j == 3)
langShDescr = langDtl[3];
if (j == 4)
langLngDescr = langDtl[4];
}
pstmtIns = conn.prepareStatement(sqllang);
pstmtIns.setString(1, "W_ITEM");
pstmtIns.setString(2, "ITEM_CODE:" + item_parnt);
pstmtIns.setString(3, "ITEM_CODE");
pstmtIns.setString(4, langDtl[0]);
pstmtIns.setString(5, langDtl[2]);
pstmtIns.setString(6, checkNull(langShDescr));
pstmtIns.setString(7, checkNull(langLngDescr));
pstmtIns.setTimestamp(8, currDate);
pstmtIns.setString(9, chg_term);
pstmtIns.setString(10, chg_user);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
catch (SQLException e)
{
isError = true;
System.out.println("SQLException ::" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
//Changed by parikshit on 15/06/2015
//}
}
PreparedStatement pstmt = null;
ResultSet rs = null;
String itmVal = "", attVal = "";
try
{
//changed by prasad on 29 05 2015 for retrieving language mapping start
/*
String sqlselt = "SELECT (ITEM_ATTR_VAL||':'||LANGUAGES)As LANG_DET, TRIM(ATTR_VALUE) " +
" FROM OBJ_ATTRIBUTE WHERE OBJ_NAME = 'W_ITM_ATTRIB_VAL'"+
" AND ( ITEM_ATTR_VAL LIKE 'COLOR:%' OR ITEM_ATTR_VAL LIKE 'DIMENSION:%' OR ITEM_ATTR_VAL LIKE 'SIZE:%' ) " +
" ORDER BY ITEM_ATTR_VAL, LANGUAGES";
*/
String sqlselt = "SELECT (ITEM_ATTR_VAL||':'||LANGUAGES)As LANG_DET, ATTR_VALUE FROM OBJ_ATTRIBUTE WHERE OBJ_NAME = 'W_ITM_ATTRIB_VAL'"+
"AND ( ITEM_ATTR_VAL LIKE 'COLOR:%' OR ITEM_ATTR_VAL LIKE 'DIMENSION:%' OR ITEM_ATTR_VAL LIKE 'SIZE:%' ) ORDER BY ITEM_ATTR_VAL, LANGUAGES";
//changed by prasad on 29 05 2015 for retrieving language mapping end
pstmt = conn.prepareStatement(sqlselt);
rs = pstmt.executeQuery();
while (rs.next())
{
itmVal = rs.getString(1);
attVal = rs.getString(2);
itemAttrHashMap.put(itmVal, attVal);
}
rs.close();rs = null;
pstmt.close();pstmt = null;
}
catch (Exception e)
{
isError = true;
System.out.println("SQLException ::" + 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){}
}
System.out.println("itemAttrHashMap Size" +itemAttrHashMap.size());
Set set = itemAttrHashMap.entrySet();
Iterator it = set.iterator();
while(it.hasNext()) {
Map.Entry mp = (Map.Entry)it.next();
String statusFeatures=(String) mp.getKey();
String statusFeatures1=(String) mp.getValue();
System.out.println("key = [" + statusFeatures +"] values = [" + statusFeatures1 + "]");
}
//Added by Parikshit Kumbhar on date:13/05/2015 [to add insert query] End
Node currDetail = null;
NodeList detail2List = null;
NodeList currDetailList = null;
detail2List = dom.getElementsByTagName("Detail2");
detailListLength = detail2List.getLength();
for ( int ctr = 0; ctr < detailListLength; ctr++ )
{
currDetail = detail2List.item(ctr);
currDetailList = currDetail.getChildNodes();
currDetailListLength = currDetailList.getLength();
System.out.println("currDetailListLength =["+currDetailListLength+"]");
for ( int i=0; i< currDetailListLength; i++ )
{
Node childNode = currDetailList.item(i);
String nodeName = childNode.getNodeName();
/*System.out.println("nodeName : "+ nodeName +" i : "+ i);*/
if (nodeName.equalsIgnoreCase("item_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_descr = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_length"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_length = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_width"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_width = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_height"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_height = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("price_list_dtl"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
price_list_dtl = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_gross_wt"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_gross_wt = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("phy_attrib_1"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
phy_attrib_1 = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("phy_attrib_2"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
phy_attrib_2 = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("phy_attrib_3"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
phy_attrib_3 = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_category"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_category = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("item_barcode"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_barcode = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("supp_item_desc"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
supp_item_desc = checkNull(childNode.getFirstChild().getNodeValue());
}
}
//Added by Chetan Mahajan on date:05/02/2015 [Added for loc_code, loc_type] Starts
else if (nodeName.equalsIgnoreCase("loc_code"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_code = checkNull(childNode.getFirstChild().getNodeValue());
}
}
else if (nodeName.equalsIgnoreCase("loc_type"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_type_child = checkNull(childNode.getFirstChild().getNodeValue());
}
}
//Added by Chetan Mahajan on date:05/02/2015 [Added for loc_code, loc_type] End
//Added by Parikshit Kumbhar on date:20/04/2015 [Added pack_size_dtl] start
else if (nodeName.equalsIgnoreCase("pack_size_dtl"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
pack_size_dtl = checkNull(childNode.getFirstChild().getNodeValue());
System.out.println("** pack_size_dtl **\n"+ pack_size_dtl);
}
}
else if (nodeName.equalsIgnoreCase("language_dtl"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
language_dtl = checkNull(childNode.getFirstChild().getNodeValue());
System.out.println("** language_dtl **\n"+ language_dtl);
}
}
else if (nodeName.equalsIgnoreCase("tax"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
tax = checkNull(childNode.getFirstChild().getNodeValue());
System.out.println("** tax **\n"+ tax);
}
}
//Added by Parikshit Kumbhar on date:20/04/2015 [Added pack_size_dtl] end
else if (nodeName.equalsIgnoreCase("category_descr"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
categoryId = checkNull(childNode.getFirstChild().getNodeValue());
System.out.println("** category_descr **\n"+ categoryId);
}
}
else if (nodeName.equalsIgnoreCase("item_commodity"))
{
if ( childNode != null && childNode.getFirstChild() != null )
{
item_commodity = checkNull(childNode.getFirstChild().getNodeValue());
}
}
//Added by Parikshit Kumbhar on date:20/04/2015 [Added pack_size_dtl] end
/*System.out.println("item_descr : "+ item_descr +" item_length : "+ item_length +" item_width : "+ item_width
+ " item_height : "+ item_height +" price_list_dtl : "+ price_list_dtl +" item_gross_wt : "+ item_gross_wt);*/
/*pstmtIns.clearParameters();*/
}
tranId = getTransID( "w_dd_productWiz", conn);
sql = "insert into item (item_code, descr, item_parnt, item_ser, grp_code, item_type, unit, track_shelf_life, unit__rate, " +
" stk_opt, loc_type, loc_code, length, width, height, gross_weight, " +
" phy_attrib_1, phy_attrib_2, phy_attrib_3, INTEGRAL_QTY, ISS_CRITERIA, UNIT__PUR, " +
" phy_attrib_23, udf__str2, active, phy_attrib_22, supp_sour, qc_reqd, pack_code, " +
" order_opt, item_usage, auto_reqc, loc_type__parent, chg_date, chg_term, chg_user,pur_lead_time,udf__str1,hsn_no)" +
" values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; //Added by Parikshit Kumbhar on 26/05/2015 [Added udf__str1 in query]
pstmtIns = conn.prepareStatement( sql );
pstmtIns.setString(1, tranId);
pstmtIns.setString(2, item_descr);
pstmtIns.setString(3, item_parnt);
pstmtIns.setString(4, item_ser);
pstmtIns.setString(5, grp_code);
pstmtIns.setString(6, item_type);
pstmtIns.setString(7, "NO");
pstmtIns.setString(8, "N");
pstmtIns.setString(9, "NO");
pstmtIns.setString(10, "1");
pstmtIns.setString(11, loc_type_child); //changed by Chetan Mahajan on date:05/02/2015
pstmtIns.setString(12, loc_code); //changed by Chetan Mahajan on date:05/02/2015
pstmtIns.setString(13, item_length);
pstmtIns.setString(14, item_width);
pstmtIns.setString(15, item_height);
pstmtIns.setString(16, item_gross_wt);
pstmtIns.setString(17, phy_attrib_1);
pstmtIns.setString(18, phy_attrib_2);
pstmtIns.setString(19, phy_attrib_3);
pstmtIns.setString(20, "1");
pstmtIns.setString(21, "I");
pstmtIns.setString(22, "NO");
pstmtIns.setString(23, item_category);
pstmtIns.setString(24, item_barcode);
pstmtIns.setString(25, "Y");
pstmtIns.setString(26, size_codes);
pstmtIns.setString(27, "P");
pstmtIns.setString(28, "N");
pstmtIns.setString(29, "NO");
pstmtIns.setString(30, "C");
pstmtIns.setString(31, "NA");
pstmtIns.setString(32, "N");
pstmtIns.setString(33, loc_type); //changed by Chetan Mahajan on date:06/02/2015
pstmtIns.setTimestamp(34, currDate);
pstmtIns.setString(35, chg_term);
pstmtIns.setString(36, chg_user);
pstmtIns.setDouble(37, pur_lead_time); //Added by Chetan Mahajan on date:04/02/2015 [Added for pur_lead_time]
pstmtIns.setString(38, tax); //Added by Parikshit Kumbhar on 26/05/2015 [Added udf__str1 in query for insert tax value ]
pstmtIns.setString(39, item_commodity);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
// Added by Parikshit Kumbhar [for insert values in table] on 13/05/2015 start
System.out.println("** pack_size_dtl **\n"+ pack_size_dtl);
String pack_list[] = pack_size_dtl.split(":");
String sqlpacksize = "insert into item_lot_packsize (shipper_size, length, width, height, gross_weight, net_weight, Lot_no__from, Lot_no__to,unit__pack,unit__inner_label, site_code__own,item_code, chg_date, chg_term, chg_user)" + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmtIns = conn.prepareStatement(sqlpacksize);
pstmtIns.setString(1, pack_list[0]);
pstmtIns.setString(2, pack_list[1]);
pstmtIns.setString(3, pack_list[2]);
pstmtIns.setString(4, pack_list[3]);
pstmtIns.setString(5, pack_list[4]);
pstmtIns.setString(6, pack_list[5]);
pstmtIns.setString(7, "00");
pstmtIns.setString(8, "ZZ");
pstmtIns.setString(9, "NO");
pstmtIns.setString(10, "NO");
pstmtIns.setString(11, loginSiteCode);
pstmtIns.setString(12, tranId);
pstmtIns.setTimestamp(13, currDate);
pstmtIns.setString(14, chg_term);
pstmtIns.setString(15, chg_user);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
System.out.println("** language_dtl **\n" + language_dtl);
String sqllangdtlItemInsEn = "insert into OBJ_ATTRIBUTE (obj_name, item_attr_val, column_name, languages, attr_value, Udf_Str1, Udf_Str2, chg_date, chg_user, chg_term)"
+ " values(?,?,?,?,?,?,?,?,?,?)";
String skuItemDescrs = "";
String colors = checkNull(itemAttrHashMap.get("COLOR:"+ phy_attrib_2 + ":" + "EN"));
String dimensions = checkNull(itemAttrHashMap.get("DIMENSION:"+ phy_attrib_3 + ":" + "EN"));
String sizes = checkNull(itemAttrHashMap.get("SIZE:" + phy_attrib_1 + ":" + "EN"));
skuItemDescrs = checkNull(descr + " " + colors.trim() + " " + dimensions.trim() + " " + sizes.trim());
pstmtIns = conn.prepareStatement(sqllangdtlItemInsEn);
pstmtIns.setString(1, "W_ITEM");
pstmtIns.setString(2, "ITEM_CODE:" + tranId);
pstmtIns.setString(3, "ITEM_CODE");
pstmtIns.setString(4, "EN");
pstmtIns.setString(5, skuItemDescrs);
pstmtIns.setString(6, "");
pstmtIns.setString(7, "");
pstmtIns.setTimestamp(8, currDate);
pstmtIns.setString(9, chg_user);
pstmtIns.setString(10, chg_term);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
String[] language_dtl_list = language_dtl.split("\\|\\|");
for (int i = 0; i < language_dtl_list.length; i++)
{
String[] lang = language_dtl_list[i].split(":");
if(Integer.parseInt(lang[5]) == 1)
{
String skuItemDescr = "";
String color = "";
String dimension = "";
String size = "";
color = checkNull(itemAttrHashMap.get("COLOR:"+ phy_attrib_2 + ":" + lang[0]));
dimension = checkNull(itemAttrHashMap.get("DIMENSION:"+ phy_attrib_3 + ":" + lang[0]));
size = checkNull(itemAttrHashMap.get("SIZE:" + phy_attrib_1 + ":" + lang[0]));
skuItemDescr = checkNull(lang[2]) + " " + color.trim() + " " + dimension.trim() + " " + size.trim();
String sqllangdtlItemIns = "insert into OBJ_ATTRIBUTE (obj_name, item_attr_val, column_name, languages, attr_value, Udf_Str1, Udf_Str2, chg_date, chg_user, chg_term)"
+ " values(?,?,?,?,?,?,?,?,?,?)";
pstmtIns = conn.prepareStatement(sqllangdtlItemIns);
pstmtIns.setString(1, "W_ITEM");
pstmtIns.setString(2, "ITEM_CODE:" + tranId);
pstmtIns.setString(3, "ITEM_CODE");
pstmtIns.setString(4, checkNull(lang[0]));
pstmtIns.setString(5, skuItemDescr);
pstmtIns.setString(6, "");
pstmtIns.setString(7, "");
pstmtIns.setTimestamp(8, currDate);
pstmtIns.setString(9, chg_user);
pstmtIns.setString(10, chg_term);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
}
// Added by Parikshit Kumbhar [for insert values in table] on 13/05/2015 End
System.out.println("** supp_item_desc **\n"+ supp_item_desc);
String[] supp_item_list = supp_item_desc.split("\\|\\|");
for (int i = 0; i < supp_item_list.length; i++)
{
String[] supp_item = supp_item_list[i].split(":");
if (!supp_item[0].equals("0"))
{
System.out.println("** supp_item[1] **\n"+ supp_item[1]);
String[] suppliers = supp_item[1].split(",");
suppCode = suppliers[0];
//Changed by samadhan D15AKAT003 for magento updation.
//price = Double.parseDouble((supp_item[3]==null||supp_item[3].equals(""))?"0":supp_item[3].trim());
System.out.println("Supplier Code in for loop = "+suppCode);
for (int j = 0; j < suppliers.length; j++)
{
String sqlSuppItemIns = "insert into supplieritem (supp_code, item_code, item_code__ref, unit, item_ser, pur_lead_time, " +
" grp_code, chg_date, chg_user, chg_term)" +
" values(?,?,?,?,?,?,?,?,?,?)";
pstmtIns = conn.prepareStatement(sqlSuppItemIns);
pstmtIns.setString(1, checkNull(suppliers[j]));
pstmtIns.setString(2, tranId);
pstmtIns.setString(3, tranId);
pstmtIns.setString(4, "NO");
pstmtIns.setString(5, item_ser);
pstmtIns.setDouble(6, pur_lead_time); //changed by Chetan Mahajan on date:06/02/2015
pstmtIns.setString(7, grp_code);
pstmtIns.setTimestamp(8, currDate);
pstmtIns.setString(9, chg_user);
pstmtIns.setString(10, chg_term);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
String sqlPricesIns = "insert into PRICELIST(PRICE_LIST, ITEM_CODE, UNIT, LIST_TYPE, SLAB_NO, RATE, " +
" EFF_FROM, VALID_UPTO, LOT_NO__FROM, LOT_NO__TO, min_qty, max_qty, " +
" rate_type, min_rate, max_rate, CHG_DATE, CHG_USER, CHG_TERM ) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmtIns = conn.prepareStatement(sqlPricesIns);
String dtFrom = genericUtility.getValidDateTimeString( checkNull(supp_item[4]),
genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat());
String dtTo = genericUtility.getValidDateTimeString( checkNull(supp_item[5]),
genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat());
pstmtIns.setString(1, supp_item[2]);
pstmtIns.setString(2, tranId);
pstmtIns.setString(3, "NO");
pstmtIns.setString(4, "L");
pstmtIns.setString(5, "1");
pstmtIns.setString(6, supp_item[3]);
pstmtIns.setTimestamp(7, java.sql.Timestamp.valueOf(dtFrom));
pstmtIns.setTimestamp(8, java.sql.Timestamp.valueOf(dtTo));
pstmtIns.setString(9, "00");
pstmtIns.setString(10, "ZZ");
pstmtIns.setString(11, "0");
pstmtIns.setString(12, "999999");
pstmtIns.setString(13, "F");
pstmtIns.setString(14, supp_item[3]);
pstmtIns.setString(15, supp_item[3]);
pstmtIns.setTimestamp(16, currDate);
pstmtIns.setString(17, chg_user);
pstmtIns.setString(18, chg_term);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
}
System.out.println("** price_list_dtl **\n" + price_list_dtl);
String[] price_list = price_list_dtl.split("\\|\\|");
ArrayList<String> siteList = new ArrayList<String>();
for (int i = 0; i < price_list.length; i++)
{
String[] site_list = price_list[i].split(":");
siteList.add(site_list[1].trim());
}
System.out.println("******************siteList = "+ siteList);
String siteCode = "";
String status = "";
String sqlPriceSite = " SELECT SITE_CODE FROM SITE ";
pstmtSel = conn.prepareStatement(sqlPriceSite);
ResultSet rs1 = pstmtSel.executeQuery();
//Changed by samadhan D15AKAT003 on 15/06/2015 for store view magento updation.
siteCnt=0;
storeInfo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <store_info> ";
while (rs1.next())
{
siteCode = rs1.getString(1);
String sqlSiteIns = "insert into SITEITEM (SITE_CODE, ITEM_CODE, MIN_QTY, MAX_QTY, REO_QTY, REO_LEV, "
+ " PUR_LEAD_TIME, STK_OPT, ITEM_SER, ACTIVE, CHG_DATE, CHG_USER, CHG_TERM , loc_code__aprv)"
+ " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmtIns = conn.prepareStatement(sqlSiteIns);
if (siteList.contains(siteCode.trim()))
{
status = "Y";
priceListInsert(siteCode, price_list_dtl, conn);
}
else
{
//Changed by samadhan on 27 may 2015 D15AKAT003 for magento updation. Start
//price = Double.parseDouble((site_list[3]==null||site_list[3].equals(""))?"0":site_list[3].trim());
status = "N";
//Changed by samadhan D15AKAT003 on 08/06/2015 for store view magento updation. start
/*
String operatingLang="";
operatingLang = getOperatingLang(site_list[1],conn);
for (int j = 0; j < language_dtl_list.length; j++)
{
String[] lang = language_dtl_list[j].split(":");
if(operatingLang.equalsIgnoreCase(lang[0]))
{
storeInfo = storeInfo + "<store> " ;
storeInfo = storeInfo + "<code>"+operatingLang.toLowerCase()+"</code> " ;
storeInfo = storeInfo + "<product_id>"+item_parnt+"</product_id> " ;
storeInfo = storeInfo + "<name>"+lang[2]+"</name> " ;
storeInfo = storeInfo + "<short_desc>"+lang[3]+"</short_desc> ";
storeInfo = storeInfo + "<long_desc>"+lang[4]+"</long_desc> ";
storeInfo = storeInfo + "<price>"+price+"</price> ";
storeInfo = storeInfo + "</store>";
parentMaxPrice.add(price);
break;
}
}
*/
//Changed by samadhan D15AKAT003 on 08/06/2015 for store view magento updation . end
}
//Changed by samadhan D15AKAT003 on 15/06/2015 for store view magento updation. start
siteCnt++;
String operatingLang="";
boolean flag = false;
operatingLang = getOperatingLang(siteCode.trim(),conn);
price = 0.0;
for (int i = 0; i < price_list.length; i++)
{
String[] site_list = price_list[i].split(":");
if(site_list[1].trim().equalsIgnoreCase(siteCode.trim()))
{
price = Double.parseDouble((site_list[3]==null||site_list[3].equals(""))?"0":site_list[3].trim());
}
}
for (int j = 0; j < language_dtl_list.length; j++)
{
String[] lang = language_dtl_list[j].split(":");
if(operatingLang.equalsIgnoreCase(lang[0]))
{
storeInfo = storeInfo + "<store> " ;
storeInfo = storeInfo + "<code><![CDATA["+operatingLang.toLowerCase()+"]]></code> " ;
storeInfo = storeInfo + "<product_id><![CDATA["+tranId+"]]></product_id> " ;
storeInfo = storeInfo + "<name><![CDATA["+lang[2]+"]]></name> " ;
storeInfo = storeInfo + "<short_desc><![CDATA["+lang[3]+"]]></short_desc> ";
storeInfo = storeInfo + "<long_desc><![CDATA["+lang[4]+"]]></long_desc> ";
storeInfo = storeInfo + "<price><![CDATA["+price+"]]></price> ";
storeInfo = storeInfo + "</store>";
//parentMaxPrice.add(price);
flag=true;
break;
}
}
if(!flag)
{
storeInfo = storeInfo + "<store> " ;
storeInfo = storeInfo + "<code><![CDATA["+operatingLang.toLowerCase()+"]]></code> " ;
storeInfo = storeInfo + "<product_id><![CDATA["+tranId+"]]></product_id> " ;
storeInfo = storeInfo + "<name><![CDATA["+descr+"]]></name> " ;
storeInfo = storeInfo + "<short_desc><![CDATA["+item_sh_descr+"]]></short_desc> ";
storeInfo = storeInfo + "<long_desc><![CDATA["+long_desc+"]]></long_desc> ";
storeInfo = storeInfo + "<price><![CDATA["+price+"]]></price> ";
storeInfo = storeInfo + "</store>";
//parentMaxPrice.add(price);
}
if(maxPriceMap.containsKey(operatingLang.toLowerCase()))
{
if((Double)maxPriceMap.get(operatingLang.toLowerCase())<price)
{
maxPriceMap.put(operatingLang.toLowerCase(), price);
}
}
else
{
maxPriceMap.put(operatingLang.toLowerCase(), price);
}
//Changed by samadhan D15AKAT003 on 15/06/2015 for store view magento updation . end
System.out.println(status +" ~~~~!!!!!!!!!! ~~~~ " + siteCode.trim());
pstmtIns.setString(1, checkNull(siteCode));
pstmtIns.setString(2, tranId);
pstmtIns.setString(3, "0");
pstmtIns.setString(4, "99999");
pstmtIns.setString(5, "0");
pstmtIns.setString(6, "0");
pstmtIns.setDouble(7, pur_lead_time); // changed by Chetan Mahajan on date:06/02/2015
pstmtIns.setString(8, "1");
pstmtIns.setString(9, item_ser);
pstmtIns.setString(10, status);
pstmtIns.setTimestamp(11, currDate);
pstmtIns.setString(12, chg_user);
pstmtIns.setString(13, chg_term);
pstmtIns.setString(14, loc_code); // Change by Parikshit Kumbhar on date 18/05/2015
pstmtIns.executeUpdate();
pstmtIns.close();
pstmtIns = null;
}
pstmtSel.close();
pstmtSel = null;
rs1.close();
rs1 = null;
/*pstmtIns.addBatch();
pstmtIns.clearParameters();*/
//Changed by samadhan D15AKAT003 on 08/06/2015 for store view magento updation.
storeInfo = storeInfo + "</store_info> ";
//Changed by samadhan D15AKAT003 on 18/05/2015 for magento updation. start
String colorId="";
objProductsChild = new Product();
//Changed by wasim on 14-08-2015 to get th apiKey from DDSalesConfig.xml [START]
String apiKey = commonutility.getDDSalesConfig("API_KEY");
objProductsChild.setApiKey(apiKey);
//Changed by wasim on 14-08-2015 to get th apiKey from DDSalesConfig.xml [END]
//Changed by samadhan D15AKAT003 on 08/06/2015 for store view magento updation. start
//parentMaxPrice.add(price);
//objProductsChild.setCost(price);//-------------------------
objProductsChild.setCost(0);
//Changed by samadhan D15AKAT003 on 08/06/2015 for store view magento updation. end
objProductsChild.setStoreId(0);
colorId = checkNull(getItemAttribVal("UDF__STR1","COLOR",phy_attrib_2, conn));
System.out.println("colorId------>>["+colorId+"]");
colorId = colorId.length() == 0 ? "0" : colorId;
objProductsChild.setColorId(Integer.parseInt(colorId));
//Changed on 27 may 2015 start
//objProductsChild.setTaxClass(2);
System.out.println("Tax Class:"+tax);
objProductsChild.setTaxClass(Integer.parseInt((tax.equals("")||tax==null)?"2":tax.trim()));
//changed on 27 may 2015 end
String sizeStrGen = checkNull(getItemAttribVal("UDF__STR1",size_codes,phy_attrib_1, conn));
sizeStrGen = sizeStrGen.length() == 0 ? "0" : sizeStrGen;
objProductsChild.setProductSizeId(Integer.parseInt(sizeStrGen));
String dimension1 = checkNull(getItemAttribVal("UDF__STR1","DIMENSION",phy_attrib_3, conn));
dimension1 = dimension1.length() == 0 ? "0" : dimension1;
int dimension = Integer.parseInt(dimension1);
System.out.println("dimension@@------------>>["+dimension+"]");
objProductsChild.setProductDimensionId(dimension); //MEDIUM
objProductsChild.setImagePath(URLEncoder.encode(img_path,"UTF-8"));//phy_attrib_17
objProductsChild.setLongDescription(URLEncoder.encode(long_desc,"UTF-8"));
String [] id = categoryId.split(",");
String categoty ="";
for(String str : id)
{
String categoryId="";
categoryId = checkNull(getItemAttribVal("UDF__STR1","CATEGORY",checkNull(str), conn));
categoty = categoty + categoryId+",";
}
categoty = categoty.substring(0 ,categoty.length() -1);
System.out.println("categoty------>>["+categoty+"]");
objProductsChild.setCategories(categoty);
String manufacturerId="";
manufacturerId = getColumnDescr(conn,"udf_1","supplier","supp_code",suppCode);
manufacturerId = manufacturerId.length() == 0 ? "0" :manufacturerId;
objProductsChild.setManufacturerId(Integer.parseInt(manufacturerId));//supplier code
sql = "SELECT SP.COUNT_CODE FROM ITEM I,SUPPLIERITEM S,SUPPLIER SP "
+"WHERE I.ITEM_CODE = ? "
+"AND I.ITEM_CODE = S.ITEM_CODE "
+"AND SP.SUPP_CODE = S.SUPP_CODE ";
PreparedStatement pstmtsel=null;
pstmtsel = conn.prepareStatement(sql);
pstmtsel.setString(1, tranId);
rs = pstmtsel.executeQuery();
String countCodeMfg="";
if(rs.next())
{
countCodeMfg = checkNull(rs.getString("COUNT_CODE"));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmtsel != null)
{
pstmtsel.close();
pstmtsel = null;
}
System.out.println("countCodeMfg------->>["+countCodeMfg+"]");
objProductsChild.setManufacturerCountryCode(countCodeMfg); //count_code__mfg
objProductsChild.setMetaDescription(URLEncoder.encode(meta_desc,"UTF-8")); //.phy_attrib_19
objProductsChild.setMetaKeywords(URLEncoder.encode(meta_keywords,"UTF-8"));//phy_attrib_20
objProductsChild.setMetaTitle(URLEncoder.encode(meta_title,"UTF-8"));//phy_attrib_21
//Changed by samadhan D15AKAT003 on 08/06/2015 for store view magento updation. start
//objProductsChild.setPrice(price);
objProductsChild.setPrice(0);
//System.out.println("Price------------>>["+price+"]");
//Changed by samadhan D15AKAT003 on 08/06/2015 for store view magento updation. end
objProductsChild.setProductName(URLEncoder.encode(item_descr,"UTF-8"));
objProductsChild.setProductStatus(1);
item_gross_wt=(item_gross_wt==null||item_gross_wt.equals(""))?"0":item_gross_wt.trim();
objProductsChild.setProductWeight(Double.parseDouble(item_gross_wt));
objProductsChild.setQty(0);
objProductsChild.setShortDescription(URLEncoder.encode(item_sh_descr,"UTF-8"));
objProductsChild.setSku(tranId);
//delete skus
deleteSkus = deleteSkus + tranId +",";
attributeSetId = getColumnDescr(conn,"udf_str1","item_type","item_type",item_type);
objProductsChild.setAttributeSetId(Integer.parseInt((attributeSetId.equals("")||attributeSetId==null)?"0":attributeSetId.trim()));
//Changed by samadhan D15AKAT003 on 15/06/2015 for store view magento updation. start
//objProductsChild.setStoreInf(storeInfo);
/*ArrayList<String> prIds = new ArrayList<String>();
for(int k=0;k<siteCnt;k++)
{
prIds.add(tranId);
}*/
System.out.println("Store Info Child >>>>>>>>>:["+storeInfo+"]");
//objProductsChild.setStoreInf(URLEncoder.encode(String.format(storeInfo,prIds.toArray(new String[prIds.size()])),"UTF-8"));
objProductsChild.setStoreInf(URLEncoder.encode(storeInfo,"UTF-8"));
objProductsChild.setBarcode(URLEncoder.encode(item_barcode,"UTF-8"));
//Changed by samadhan D15AKAT003 on 15/06/2015 for store view magento updation. end
int simpleId = commonutility.Call(objProductsChild,this.apiSimpleUrl, null);
System.out.println("simpleId child---->>["+simpleId+"]");
if(simpleId != 0)
{
simpleProductIdCollection.add(simpleId);
updateItemUdfNum(tranId,simpleId,conn);
}
//Changed by samadhan D15AKAT003 on 18/05/2015 for magento updation. End
}
//Changed by samadhan D15AKAT003 on 18/05/2015 for magento updation. Start
System.out.println("simpleProductId Parent@------>>["+simpleProductId+"]");
System.out.println("simpleProductIdCollection Parent------>>["+simpleProductIdCollection+"]");
if(simpleProductIdCollection !=null && ! simpleProductIdCollection.isEmpty())
{
System.out.println("itemCodec Parent@------>>["+item_parnt+"] itemCodeDescrP--->>"+item_parnt_desc);
String sqlPriceSite = " SELECT SITE_CODE FROM SITE ";
pstmtSel = conn.prepareStatement(sqlPriceSite);
ResultSet rs1 = pstmtSel.executeQuery();
siteCnt=0;
storeInfo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <store_info> ";
String[] language_dtl_list = language_dtl.split("\\|\\|");
while (rs1.next())
{
String siteCode = rs1.getString(1);
String operatingLang="";
boolean flag = false;
operatingLang = getOperatingLang(siteCode.trim(),conn);
siteCnt++;
price = (Double)maxPriceMap.get(operatingLang.toLowerCase());
System.out.println("Max Price of "+operatingLang+" is: "+price);
for (int j = 0; j < language_dtl_list.length; j++)
{
String[] lang = language_dtl_list[j].split(":");
if(operatingLang.equalsIgnoreCase(lang[0]))
{
storeInfo = storeInfo + "<store> " ;
storeInfo = storeInfo + "<code><![CDATA["+operatingLang.toLowerCase()+"]]></code> " ;
storeInfo = storeInfo + "<product_id><![CDATA["+item_parnt+"]]></product_id> " ;
storeInfo = storeInfo + "<name><![CDATA["+lang[2]+"]]></name> " ;
storeInfo = storeInfo + "<short_desc><![CDATA["+lang[3]+"]]></short_desc> ";
storeInfo = storeInfo + "<long_desc><![CDATA["+lang[4]+"]]></long_desc> ";
storeInfo = storeInfo + "<price><![CDATA["+price+"]]></price> ";
storeInfo = storeInfo + "</store>";
flag=true;
break;
}
}
if(!flag)
{
storeInfo = storeInfo + "<store> " ;
storeInfo = storeInfo + "<code><![CDATA["+operatingLang.toLowerCase()+"]]></code> " ;
storeInfo = storeInfo + "<product_id><![CDATA["+item_parnt+"]]></product_id> " ;
storeInfo = storeInfo + "<name><![CDATA["+descr+"]]></name> " ;
storeInfo = storeInfo + "<short_desc><![CDATA["+item_sh_descr+"]]></short_desc> ";
storeInfo = storeInfo + "<long_desc><![CDATA["+long_desc+"]]></long_desc> ";
storeInfo = storeInfo + "<price><![CDATA["+price+"]]></price> ";
storeInfo = storeInfo + "</store>";
}
}
storeInfo = storeInfo + "</store_info> ";
pstmtSel.close();
rs1.close();
//Changed by samadhan D15AKAT003 on 16/06/2015 for store view magento updation.
//objProductsChild.setProductName(item_parnt_desc);
objProductsChild.setSku(item_parnt);
objProductsChild.setProductName(URLEncoder.encode(item_parnt_desc,"UTF-8"));
//Changed by samadhan D15AKAT003 on 15/06/2015 for store view magento updation. start
//objProductsChild.setStoreInf(storeInfo);
/*ArrayList<String> prIds = new ArrayList<String>();
for(int k=0;k<siteCnt;k++)
{
prIds.add(item_parnt);
}*/
System.out.println("Store Info Parent >>>>>>>>>:["+storeInfo+"]");
//objProductsChild.setStoreInf(URLEncoder.encode(String.format(storeInfo,prIds.toArray(new String[prIds.size()])),"UTF-8"));
objProductsChild.setStoreInf(URLEncoder.encode(storeInfo,"UTF-8"));
//Changed by samadhan D15AKAT003 on 15/06/2015 for store view magento updation. end
//delete skus
deleteSkus = deleteSkus + item_parnt +",";
//double objMaxPrice = Collections.max(parentMaxPrice);
//Changed by samadhan D15AKAT003 on 16/06/2015 for store view magento updation.
//objProductsChild.setPrice(objMaxPrice);
simpleProductId = commonutility.Call(objProductsChild,this.apiConfigUrl, simpleProductIdCollection);
updateItemUdfNum(item_parnt,simpleProductId,conn);
}
//Changed by samadhan D15AKAT003 on 18/05/2015 for magento updation. End
//Added by Chetan Mahajan on date:05/02/2015 [For inserting parent code in supplieritem table ] Start
if(!suppCode.equals(""))
{
System.out.println("Supplier Code = "+suppCode);
String sqlSuppItemIns = "insert into supplieritem (supp_code, item_code, item_code__ref, unit, item_ser, pur_lead_time, " +
" grp_code, chg_date, chg_user, chg_term)" +
" values(?,?,?,?,?,?,?,?,?,?)";
pstmtIns = conn.prepareStatement(sqlSuppItemIns);
pstmtIns.setString(1, checkNull(suppCode));
pstmtIns.setString(2, item_parnt);
pstmtIns.setString(3, item_parnt);
pstmtIns.setString(4, "NO");
pstmtIns.setString(5, item_ser);
pstmtIns.setDouble(6, pur_lead_time);
pstmtIns.setString(7, grp_code);
pstmtIns.setTimestamp(8, currDate);
pstmtIns.setString(9, chg_user);
pstmtIns.setString(10, chg_term);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
//Added by Chetan Mahajan on date:05/02/2015 [For inserting parent code in supplieritem table ] End
}
catch (SQLException e)
{
isError = true;
//delete skus start
try
{
if(deleteSkus.length()>0)
{
deleteSkus = deleteSkus.substring(0, deleteSkus.length()-1);
commonutility.CallDelete(deleteSkus, apiDelSkusUrl);
}
}catch (Exception e1)
{
}
//detete skus end
System.out.println("SQLException ::" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
} catch (Exception e)
{
isError = true;
//delete skus start
try
{
if(deleteSkus.length()>0)
{
deleteSkus = deleteSkus.substring(0, deleteSkus.length()-1);
commonutility.CallDelete(deleteSkus, apiDelSkusUrl);
}
}catch (Exception e1)
{
}
//detete skus end
System.out.println("Exception ::" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if (pstmtIns != null)
{
pstmtIns.close();
pstmtIns = null;
}
if (localConnection && conn != null && !conn.isClosed())
{
if ( !isError )
{
conn.commit();
}
else
{
conn.rollback();
}
conn.close();
conn = null;
}
}
catch(Exception e){}
}
}
/**
*
* @param siteCode
* @param price_list_dtl
* @param conn
* @throws Exception
*/
private void priceListInsert(String siteCode, String price_list_dtl, Connection conn) throws Exception
{
PreparedStatement pstmtIns = null;
try
{
System.out.println("in priceListInsert...");
String[] price_list = price_list_dtl.split("\\|\\|");
for (int i = 0; i < price_list.length; i++)
{
String[] site_list = price_list[i].split(":");
System.out.println(siteCode + " : " + site_list[1] + " priceListInsert...");
if (site_list[1].trim().equals(siteCode.trim()))
{
System.out.println("in if priceListInsert...");
String sqlPricesIns = "insert into PRICELIST(PRICE_LIST, ITEM_CODE, UNIT, LIST_TYPE, SLAB_NO, RATE, "
+ " EFF_FROM, VALID_UPTO, LOT_NO__FROM, LOT_NO__TO, min_qty, max_qty, "
+ " rate_type, min_rate, max_rate, CHG_DATE, CHG_USER, CHG_TERM ) "
+ " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmtIns = conn.prepareStatement(sqlPricesIns);
String dtFrom = genericUtility.getValidDateTimeString(
checkNull(site_list[5]), genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
String dtTo = genericUtility.getValidDateTimeString(
checkNull(site_list[6]), genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
pstmtIns.setString(1, checkNull(site_list[2]));
pstmtIns.setString(2, tranId);
pstmtIns.setString(3, "NO");
pstmtIns.setString(4, "L");
pstmtIns.setString(5, "1");
pstmtIns.setString(6, checkNull(site_list[3]));
pstmtIns.setTimestamp(7, java.sql.Timestamp.valueOf(dtFrom));
pstmtIns.setTimestamp(8, java.sql.Timestamp.valueOf(dtTo));
pstmtIns.setString(9, "00");
pstmtIns.setString(10, "ZZ");
pstmtIns.setString(11, "0");
pstmtIns.setString(12, "999999");
pstmtIns.setString(13, "F");
pstmtIns.setString(14, checkNull(site_list[3]));
pstmtIns.setString(15, checkNull(site_list[3]));
pstmtIns.setTimestamp(16, currDate);
pstmtIns.setString(17, chg_user);
pstmtIns.setString(18, chg_term);
pstmtIns.executeUpdate();
pstmtIns.close();
pstmtIns = null;
}
}
}
catch (ITMException e)
{
e.printStackTrace();
throw new Exception(e);
}
catch (SQLException e)
{
e.printStackTrace();
throw new Exception(e);
}
catch (Exception e)
{
e.printStackTrace();
throw new Exception(e);
}
finally
{
try
{
if (pstmtIns != null)
{
pstmtIns.close();
pstmtIns = null;
}
}
catch(Exception e){}
}
}
/**
* get transaction id (parnt_code)
* @param conn
* @throws ITMException
*/
private String getTransID( String windowName, Connection conn ) throws ITMException
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String selSql = "";
String tranId = "";
String tranSer = "";
String keyString = "";
String keyCol = "";
String xmlValues = "";
try
{
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 + "</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 tranId;
}
/**
*
* @param dom
* @param attribute
* @param objContext
* @return
* @throws RemoteException
* @throws ITMException
*/
private String getObjNameFromDom( Document dom, String attribute, String objContext ) throws RemoteException,ITMException
{
NodeList detailList = null;
Node currDetail = null;
String objName = "";
int detailListLength = 0;
try
{
detailList = dom.getElementsByTagName("Detail"+objContext);
detailListLength = detailList.getLength();
for (int ctr = 0; ctr < detailListLength; ctr++)
{
currDetail = detailList.item(ctr);
objName = currDetail.getAttributes().getNamedItem(attribute).getNodeValue();
}
}
catch ( Exception e )
{
throw new ITMException(e);
}
System.out.println("objName =["+objName+"]");
return objName;
}
public String checkNull(String input)
{
if (input == null || "null".equalsIgnoreCase(input))
{
input= "";
}
return input.trim();
}
@Override
public String updateStatus(Document dom, String editFlag, String xtraParams, Connection conn) throws RemoteException, ITMException
{
// TODO Auto-generated method stub
return null;
}
//Changed by samadhan D15AKAT003 on 18/05/2015 for magento updation. Start
private double getPriceListRate(String suppCode,String itemCode,Connection conn) throws Exception
{
ResultSet rs = null;
PreparedStatement pstmt = null;
String sql = "",supplierPriceList = "",pricelist = "";
double rate = 0;
String loginSite="";
loginSite = loginSite == null ? "" : loginSite.trim();
boolean isError = false;
suppCode = suppCode == null ? "" : suppCode.trim();
System.out.println("getPriceListRate loginSite------>["+loginSite+"]");
try
{
supplierPriceList=checkNull(getColumnDescr(conn, "price_list", "supplier", "supp_code", suppCode));
System.out.println("getPriceListRate supplierPriceList------>["+supplierPriceList+"]");
sql ="SELECT DESCR FROM GENCODES WHERE MOD_NAME = ? AND FLD_NAME = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "W_DD_PRODUCTWIZ");
pstmt.setString(2, "SITE_PRICE");
//pstmt.setString(3, loginSite);
rs = pstmt.executeQuery();
while(rs.next())
{
pricelist = checkNull(rs.getString(1));
System.out.println("pricelist while------>>["+pricelist+"]");
if(!(supplierPriceList.equalsIgnoreCase(pricelist)) )
{
break;
}
}
rs.close();
rs= null;
pstmt.close();
pstmt = null;
System.out.println("getPriceListRate pricelist------>["+pricelist+"]");
sql = "SELECT RATE FROM PRICELIST WHERE PRICE_LIST = ? AND ITEM_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, pricelist);
pstmt.setString(2, itemCode);
rs = pstmt.executeQuery();
if(rs.next())
{
rate = rs.getDouble(1);
}
rs.close();
rs= null;
pstmt.close();
pstmt = null;
}
catch(Exception e)
{
isError = true;
throw new Exception(e);
}
System.out.println("getPriceListRate rate------>["+rate+"]");
return rate;
}
public String getColumnDescr(Connection conn, String columnName ,String tableName, String columnName2, String value)throws Exception
{
PreparedStatement pstmt = null ;
ResultSet rs = null ;
String sql = "";
String findValue = "";
sql = "SELECT " + columnName + " from " + tableName + " where " + columnName2 +"= ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,value);
rs = pstmt.executeQuery();
if(rs.next())
{
findValue = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("returning String from getColumnDescr " + findValue);
return checkNull(findValue);
}
private String getGencodesValue(String selectColumn,String descr,String fldName,Connection conn) throws Exception
{
//("UDF_STR1",sizeStr,"", conn));
boolean isError = false;
ResultSet rs = null;
PreparedStatement pstmt =null;
String sql = "",udfStr1 = "";
try
{
fldName = fldName == null ? "" :fldName.trim();
if(fldName.length() > 0)
{
sql ="select "+selectColumn+" from gencodes where mod_name = ? and fld_name = ? and descr = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "W_DD_PRODUCTWIZ");
pstmt.setString(2, fldName);
pstmt.setString(3, descr);
}
else
{
sql ="select "+selectColumn+" from gencodes where mod_name = ? and descr = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "W_DD_PRODUCTWIZ");
pstmt.setString(2, descr);
}
rs = pstmt.executeQuery();
if(rs.next())
{
udfStr1 = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception e)
{
isError = true;
throw new Exception(e);
}
return udfStr1;
}
//Changed by wasim 16-07-2015 to make function as public for Edit pos save
public String getItemAttribVal(String selectColumn,String attibCode,String attribId,Connection conn) throws Exception
{
//("UDF_STR1",sizeStr,"", conn));
boolean isError = false;
ResultSet rs = null;
PreparedStatement pstmt =null;
String sql = "",udfStr1 = "";
try
{
sql ="select "+selectColumn+" from itm_attrib_val where attrib_code = ? and attrib_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, attibCode);
pstmt.setString(2, attribId);
rs = pstmt.executeQuery();
if(rs.next())
{
udfStr1 = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception e)
{
isError = true;
throw new Exception(e);
}
return udfStr1;
}
//Changed by wasim 16-07-2015 to make function as public for Edit pos save
public void updateItemUdfNum(String itemCode,int simpleProductId,Connection conn) throws Exception
{
String sql = "";
int count = 0;
PreparedStatement pstmt = null;
try
{
sql = "update item set udf_num = ? where item_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, simpleProductId);
pstmt.setString(2, itemCode);
count = pstmt.executeUpdate();
}
catch(Exception e)
{
//isError = true;
throw new Exception(e);
}
}
private void setDDSalesConfig()
{
CommonConstants objCommon =new CommonConstants();
GenericUtility genericUtility=GenericUtility.getInstance();
String fileName = null,xmlString = "",xmlFileName = "";
Document dom=null;
String sCurrentLine = "";
String xmlFile="DDSalesConfig";
System.out.println(" in setDDSalesConfig -------------------------");
System.out.println("CommonConstants.APPLICATION_CONTEXT-->>["+CommonConstants.APPLICATION_CONTEXT+"]");
System.out.println("CommonConstants.JBOSSHOME-->>["+CommonConstants.JBOSSHOME+"]");
if(CommonConstants.APPLICATION_CONTEXT != null)
{
xmlFileName = CommonConstants.APPLICATION_CONTEXT + "setting" + File.separator + "DDSalesConfig.xml";
}
else
{
xmlFileName = CommonConstants.JBOSSHOME + File.separator + "server" + File.separator + "default" + File.separator + "deploy" + File.separator + "ibase.ear" + File.separator + "ibase.war" + File.separator +"setting" + File.separator +"DDSalesConfig.xml";
}
//fileName = ".." + File.separator + "setting" + File.separator + xmlFile + ".xml";
StringBuilder sb = new StringBuilder();
System.out.println("xmlFileName-->>["+xmlFileName+"]");
try
{
BufferedReader br = new BufferedReader(new FileReader(xmlFileName));
while (( sCurrentLine = br.readLine()) != null)
{
sb.append(sCurrentLine);
}
xmlString =sb.toString();
System.out.println("DDSalesConfig xmlString---->>["+xmlString+"]");
dom = genericUtility.parseString(xmlString);
if(dom != null)
{
this.apiSimpleUrl = genericUtility.getColumnValue("PROD_SIMPLE_API_URL",dom);
this.apiConfigUrl = genericUtility.getColumnValue("PROD_CONFIG_API_URL",dom);
//detete skus
this.apiDelSkusUrl = genericUtility.getColumnValue("PROD_DELETE_API_URL",dom);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
//Changed by samadhan D15AKAT003 on 18/05/2015 for magento updation. End
//Changed by samadhan on 08/06/2015 for store view magento updation.start
//Changed by wasim 16-07-2015 to make function as public for Edit pos save
public String getOperatingLang(String siteCode , Connection conn) throws Exception
{
String sql="";
PreparedStatement pstmt = null;
ResultSet rs= null;
String langCode = "";
try
{
sql = "select operating_language from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
langCode = rs.getString("operating_language");
}
pstmt.close();
rs.close();
}
catch(Exception e)
{
throw new Exception(e);
}
System.out.println("Language Code = "+langCode);
return langCode;
}
//Changed by samadhan on 08/06/2015 for store view magento updation.end
}
package ibase.webitm.ejb.wms;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Local;
import org.w3c.dom.Document;
@Local
public interface DDProductWizPosLocal
{
public String postSave(String xmlStringAll, String dcrId, String editFlag, String xtraParams, Connection conn) throws RemoteException,ITMException;
public String updateStatus( Document dom, String editFlag, String xtraParams, Connection conn )throws RemoteException,ITMException;
}
package ibase.webitm.ejb.wms;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Remote;
import org.w3c.dom.Document;
@Remote
public interface DDProductWizPosRemote
{
public String postSave(String xmlStringAll, String dcrId, String editFlag, String xtraParams, Connection conn) throws RemoteException,ITMException;
public String updateStatus( Document dom, String editFlag, String xtraParams, Connection conn )throws RemoteException,ITMException;
}
package ibase.webitm.ejb.wms;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Remote;
import org.w3c.dom.Document;
@Remote
public interface DDProductWizRemote
{
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1,String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1,Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String getList(String loginCode, String field, String[] values) throws RemoteException,ITMException;
}
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