Commit a36a7302 authored by smestry's avatar smestry

W15LKAT004, Changed the class file for product creation edit.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@101336 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 341a3b2b
......@@ -1019,6 +1019,7 @@ public class DDProductWizEJB extends ValidatorEJB implements DDProductWizRemote,
try
{
System.out.println("Inside getList---->loginCode["+loginCode+"]FIeld["+field+"]Values["+values+"]");//Changed by wasim on 14-07-2016 to print parameter values
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
......@@ -1119,6 +1120,31 @@ public class DDProductWizEJB extends ValidatorEJB implements DDProductWizRemote,
}
//Changed by Samadhan on 22/12/2015 for Brand End
// Changed by Sneha on 01-04-2016, for Size Availability [Start]
else if(field.equals("size_code_descr"))
{
String phyAttrib22 = "";
sql = "SELECT PHY_ATTRIB_22 FROM ITEM WHERE ITEM_CODE='"+values[0]+"' ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
phyAttrib22 = rs.getString("PHY_ATTRIB_22");
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
sql = "SELECT ATTRIB_ID, TRIM(DESCR),TRIM(SH_DESCR) FROM ITM_ATTRIB_VAL WHERE ATTRIB_CODE='"+phyAttrib22+"' ORDER BY SORT_ORDER ";
}
// Changed by Sneha on 01-04-2016, for Size Availability [End]
pstmt = conn.prepareStatement(sql);
//Changed by wasim on 14-07-2016 to set site code in loc_code query [START]
if ("loc_code".equalsIgnoreCase(field.trim()))
......
......@@ -121,6 +121,7 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
@Override
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException
{
System.out.println("================ Inside wfValData ============= ");
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
......@@ -156,6 +157,7 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
switch(currentFormNo)
{
case 1 :
System.out.println(" -------- Inside wfValData case 1 ----------- ");
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
......@@ -193,6 +195,7 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
break;
case 3 :
System.out.println(" -------- Inside wfValData case 3 ----------- ");
String customerName = "";
parentNodeList = dom.getElementsByTagName("Detail3");
parentNode = parentNodeList.item(0);
......@@ -209,6 +212,7 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
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);
......@@ -227,6 +231,8 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
//Added by Parikshit Kumbhar on 25/06/2015 to make error msg on barcode End
......@@ -346,6 +352,7 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
@Override
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
System.out.println("================ Inside itemChanged ============= ");
String userId = "";
String currDate = "";
String chgTerm = "";
......@@ -373,6 +380,7 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
{
case 1:
{
System.out.println("---------- Inside itemChanged Case1 --------- ");
valueXmlString.append("<Detail1 domID='1' selected = 'Y'>\r\n");
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ))
{
......@@ -385,6 +393,7 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
break;
case 2:
{
System.out.println("---------- Inside itemChanged Case2 --------- ");
String itemCode = genericUtility.getColumnValue("item_code", dom1);
valueXmlString.append("<Detail2 domID='1' selected = 'Y'>\r\n");
......@@ -399,11 +408,16 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
break;
case 3:
{
System.out.println("---------- Inside itemChanged Case3 --------- ");
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) );
//Changed by Sneha on 30-03-2016, for login code [Start]
//valueXmlString.append( getSKUDetails( dom, itemCode, dom1, dom2) );
valueXmlString.append( getSKUDetails( dom, itemCode, dom1, dom2, userId) );
//Changed by Sneha on 30-03-2016, for login code [End]
}
}
......@@ -650,7 +664,10 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
return valueXmlString.toString();
}
private String getSKUDetails( Document dom, String itemCode, Document dom1, Document dom2) throws Exception
// Changed by Sneha on 30-03-2016, for login code [Start]
//private String getSKUDetails( Document dom, String itemCode, Document dom1, Document dom2, String userId) throws Exception
private String getSKUDetails( Document dom, String itemCode, Document dom1, Document dom2, String userId) throws Exception
// Changed by Sneha on 30-03-2016, for login code [End]
{
PreparedStatement pstmt = null ;
ResultSet rs = null;
......@@ -669,6 +686,7 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
try
{
System.out.println("itemCode in getSKUDetails ============>>"+itemCode);
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+"') "
......@@ -692,6 +710,11 @@ public class DDProductWizEditEJB extends ValidatorEJB implements DDProductWizEdi
suppdtls = suppdtls.substring(0, suppdtls.length() - 1);
}
valueXmlString.append("<Detail3 domID='0' selected = 'N'>\r\n");
// Changed by Sneha on 01-04-2016, for login code [Start]
valueXmlString.append("<login_code>").append("<![CDATA["+ userId +"]]>").append("</login_code>\r\n");
valueXmlString.append("<item_parent>").append("<![CDATA["+ itemCode +"]]>").append("</item_parent>\r\n");
// Changed by Sneha on 01-04-2016, for login code [End]
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
......
......@@ -5,6 +5,7 @@ import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collections;
......@@ -12,11 +13,13 @@ import java.util.HashMap;
import java.util.List;
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.ejb.dis.DistCommon;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
import ibase.webitm.utility.wms.CommonWmsUtil;
import javax.ejb.Stateless;
......@@ -111,6 +114,15 @@ public class DDProductWizEditPosEJB extends ValidatorEJB implements DDProductWiz
boolean isError = false;
Document dom = null;
// Changed by Sneha on 04-04-2016 [Start]
String tranId = "", itmVal = "", attVal = "", loc_type_parent = "", siteCode = "", status = "";
HashMap<String, String> sizeMapDtl = new HashMap<String, String>();
DDProductWizPosEJB ddProductWizEJB = new DDProductWizPosEJB();
currDate = new Timestamp(System.currentTimeMillis());
HashMap<String, String> itemAttrHashMap = new HashMap<String, String>();
String skuItemDescrs = "";
// Changed by Sneha on 04-04-2016 [End]
System.out.println("xmlStringAll::"+xmlStringAll);
try
......@@ -350,6 +362,7 @@ public class DDProductWizEditPosEJB extends ValidatorEJB implements DDProductWiz
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_type = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
loc_type_parent = loc_type;
}
else
{
......@@ -488,6 +501,8 @@ public class DDProductWizEditPosEJB extends ValidatorEJB implements DDProductWiz
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
Node currDetail = null;
NodeList detail2List = null;
NodeList currDetailList = null;
......@@ -640,6 +655,9 @@ public class DDProductWizEditPosEJB extends ValidatorEJB implements DDProductWiz
if ( childNode != null && childNode.getFirstChild() != null )
{
loc_type = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
// Added by Sneha on 04-04-2016 for location type [Start]
loc_type_child = loc_type;
// Added by Sneha on 04-04-2016 for location type [End]
}
}
else if (nodeName.equalsIgnoreCase("pack_size_descr"))
......@@ -780,371 +798,708 @@ public class DDProductWizEditPosEJB extends ValidatorEJB implements DDProductWiz
//Changed by Samadhan for brand,limited edition purchase stop end
}
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 = ?"
+ " ,PHY_ATTRIB_24 = ?, USAGE_TYPE = ?, CATALOG_NO = ? " //Changed by samadhan on 23/12/2015 for brand, limited edition,stop purchase
+ " 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);
//Changed by Samadhan for brand,limited edition purchase stop start
pstmtIns.setString(22, brandCode);//phy_attrib_24
pstmtIns.setString(23, ltdEdition);//usage_type
pstmtIns.setString(24, stopPurchase);//cotalog_no
//Changed by Samadhan for brand,limited edition purchase stop end
pstmtIns.setString(25, 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++)
// Changed by Sneha on 04-04-2016 for adding new item [Start]
if(!"".equalsIgnoreCase(item_code))
{
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]);
System.out.println("Updating the item ==========>>[" + item_code + "]");
// Changed by Sneha on 04-04-2016 for adding new item [End]
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 = ?"
+ " ,PHY_ATTRIB_24 = ?, USAGE_TYPE = ?, CATALOG_NO = ? " //Changed by samadhan on 23/12/2015 for brand, limited edition,stop purchase
+ " 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);
//Changed by Samadhan for brand,limited edition purchase stop start
pstmtIns.setString(22, brandCode);//phy_attrib_24
pstmtIns.setString(23, ltdEdition);//usage_type
pstmtIns.setString(24, stopPurchase);//cotalog_no
//Changed by Samadhan for brand,limited edition purchase stop end
pstmtIns.setString(25, 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.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);
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 Sneha on 04-04-2016, for inserting new item [Start]
}
else
{
System.out.println("--------- Adding new item ---------");
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);
tranId = getTransID( "w_dd_productWiz", conn);
sizeMapDtl = ddProductWizEJB.getSizeMap(phy_attrib_1, size_codes, 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,PHY_ATTRIB_6," +
"USAGE_TYPE,PHY_ATTRIB_24,PHY_ATTRIB_8,CATALOG_NO)" +
" VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmtIns = conn.prepareStatement( sql );
pstmtIns.setString(1, tranId);
pstmtIns.setString(2, 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);
pstmtIns.setString(12, loc_code);
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_parent);
pstmtIns.setTimestamp(34, currDate);
pstmtIns.setString(35, chgTerm);
pstmtIns.setString(36, userId);
pstmtIns.setDouble(37, pur_lead_time);
pstmtIns.setString(38, tax);
pstmtIns.setString(39, item_commodity);
pstmtIns.setString(40, sizeMapDtl.get("DESCR"));
pstmtIns.setString(41, ltdEdition);
pstmtIns.setString(42, brandCode);
pstmtIns.setString(43, sizeMapDtl.get("SH_DESCR"));
pstmtIns.setString(44, stopPurchase);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
// Pack Details
System.out.println("** pack_size_dtl **\n"+ pack_size_descr);
String pack_list[] = pack_size_descr.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, chgTerm);
pstmtIns.setString(15, userId);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
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";
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;
String colors = checkNullAndTrim(itemAttrHashMap.get("COLOR:"+ phy_attrib_2 + ":" + "EN"));
String dimensions = checkNullAndTrim(itemAttrHashMap.get("DIMENSION:"+ phy_attrib_3 + ":" + "EN"));
String sizes = checkNullAndTrim(itemAttrHashMap.get("SIZE:" + phy_attrib_1 + ":" + "EN"));
skuItemDescrs = checkNullAndTrim(descr + " " + colors.trim() + " " + dimensions.trim() + " " + sizes.trim());
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(?,?,?,?,?,?,?,?,?,?)";
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, userId);
pstmtIns.setString(10, chgTerm);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
String[] language_dtl_list = language_dtl.split("\\|\\|");
String skuItemDescr = "";
String color = "";
String dimension = "";
String size = "";
for (int i = 0; i < language_dtl_list.length; i++)
{
lang = language_dtl_list[i].split(":");
System.out.println("lang[0]---------" + lang[0]);
if (!lang[0].equals("0"))
{
color = checkNullAndTrim(itemAttrHashMap.get("COLOR:"+ phy_attrib_2 + ":" + lang[0]));
dimension = checkNullAndTrim(itemAttrHashMap.get("DIMENSION:"+ phy_attrib_3 + ":" + lang[0]));
size = checkNullAndTrim(itemAttrHashMap.get("SIZE:" + phy_attrib_1 + ":" + lang[0]));
skuItemDescr = checkNullAndTrim(lang[1]) + " " + 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, checkNullAndTrim(lang[0]));
pstmtIns.setString(5, skuItemDescr);
pstmtIns.setString(6, "");
pstmtIns.setString(7, "");
pstmtIns.setTimestamp(8, currDate);
pstmtIns.setString(9, userId);
pstmtIns.setString(10, chgTerm);
pstmtIns.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
}
System.out.println("** supp_item_desc ** : "+ supp_item_dtl);
if(supp_item_dtl != null)
{
System.out.println("** supp_item_desc **\n"+ supp_item_dtl);
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];
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 = ? ";
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, 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.setString(1, checkNullAndTrim(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);
pstmtIns.setString(7, grp_code);
pstmtIns.setTimestamp(8, currDate);
pstmtIns.setString(9, userId);
pstmtIns.setString(10, chgTerm);
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( checkNullAndTrim(supp_item[4]),
genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat());
String dtTo = genericUtility.getValidDateTimeString( checkNullAndTrim(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, 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)
{
System.out.println("** price_list_dtl **\n" + price_list_dtl);
String[] price_list = price_list_dtl.split("\\|\\|");
for (int k = 0; k < price_list.length; k++)
ArrayList<String> siteList = new ArrayList<String>();
for (int i = 0; i < price_list.length; i++)
{
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]);
}
String[] site_list = price_list[i].split(":");
siteList.add(site_list[1].trim());
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]);
String dtFrom = genericUtility.getValidDateTimeString(
checkNullAndTrim(site_list[5]), genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
String dtTo = genericUtility.getValidDateTimeString(
checkNullAndTrim(site_list[6]), genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
//priceListInsert(siteCode, price_list_dtl, tranId, conn);
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);
pstmtIns.setString(1, checkNullAndTrim(site_list[2]));
pstmtIns.setString(2, tranId);
pstmtIns.setString(3, "NO");
pstmtIns.setString(4, "L");
pstmtIns.setString(5, "1");
pstmtIns.setString(6, checkNullAndTrim(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, checkNullAndTrim(site_list[3]));
pstmtIns.setString(15, checkNullAndTrim(site_list[3]));
pstmtIns.setTimestamp(16, currDate);
pstmtIns.setString(17, userId);
pstmtIns.setString(18, chgTerm);
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);
}
}
String sqlPriceSite = " SELECT SITE_CODE FROM SITE ";
pstmt = conn.prepareStatement(sqlPriceSite);
rs = pstmt.executeQuery();
while (rs.next())
{
siteCode = rs.getString(1);
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);
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.executeUpdate();
pstmtIns.close(); pstmtIns = null;
}
if (siteList.contains(siteCode.trim()))
{
System.out.println("Inside if for insert into site item ------------ ");
status = "Y";
}
}//ENd Detail 3 loop
else
{
status = "N";
}
pstmtIns = conn.prepareStatement(sqlSiteIns);
pstmtIns.setString(1, checkNullAndTrim(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);
pstmtIns.setString(8, "1");
pstmtIns.setString(9, item_ser);
pstmtIns.setString(10, status);
pstmtIns.setTimestamp(11, currDate);
pstmtIns.setString(12, userId);
pstmtIns.setString(13, chgTerm);
pstmtIns.setString(14, loc_code);
pstmtIns.executeUpdate();
pstmtIns.close();
pstmtIns = null;
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
item_code = tranId;
System.out.println("item_code ---------- " + item_code);
}
//Changed By Samadhan on 30/07/2015 for change loop location Start
// Changed by Sneha on 04-04-2016, for inserting new item [End]
//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 = "";
siteCode = "";
String sqlPriceSite = " SELECT SITE_CODE FROM SITE ";
PreparedStatement pstmtSel=null;
pstmtSel = conn.prepareStatement(sqlPriceSite);
......@@ -1476,6 +1831,7 @@ public class DDProductWizEditPosEJB extends ValidatorEJB implements DDProductWiz
}
//Changed By Samadhan on 30/07/2015 End
}
//Changed By Samadhan on 30/07/2015 Start
......@@ -1496,7 +1852,7 @@ public class DDProductWizEditPosEJB extends ValidatorEJB implements DDProductWiz
String dateFrom="",dateTo="",specialPriceFrom="",specialPriceTo="";
while (rs.next())
{
String siteCode = rs.getString(1);
siteCode = rs.getString(1);
String operatingLang="";
boolean flag = false;
operatingLang = prodEjb.getOperatingLang(siteCode.trim(),conn);
......@@ -1630,4 +1986,77 @@ public class DDProductWizEditPosEJB extends ValidatorEJB implements DDProductWiz
}
return input.trim();
}
// Changed by Sneha on 04-04-2016, for tranId generation and inserting values in priceList [Start]
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;
}
// Changed by Sneha on 04-04-2016, for tranId generation and inserting values in priceList [End]
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment