Commit 54b7b8df authored by prumde's avatar prumde

Added new Component to Populate Data in dwh_sales_sum table

Data populated by referring Invoice, Sreturn and other masters like Site, Item, Customer and Org_Structure 
Here Org_Structure mapped on StanCodeHQ basis

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@211217 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 44177f90
package ibase.webitm.dashboard.fin.ejb;
import java.io.File;
import java.io.FileWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import org.apache.commons.io.FileUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import ibase.scheduler.utility.interfaces.Schedule;
import ibase.system.config.ConnDriver;
import ibase.utility.BaseLogger;
import ibase.utility.E12GenericUtility;
import ibase.webitm.utility.ITMException;
public class UpdateDWHSalesSumStanCodeWise implements Schedule
{
@SuppressWarnings({ "null", "unchecked" })
public String transComplete(String scheduleXml) throws Exception
{
System.out.println(" INSIDE UpdateDWHSalesSumStanCodeWise transComplete " + scheduleXml);
E12GenericUtility genericUtility = new E12GenericUtility();
ConnDriver connDriver = new ConnDriver();
Connection userDbConn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String transDb = null;
String transCount = "100";
try
{
JSONObject scheduleJson = xmlToJson("<Root>" + scheduleXml.toString() + "</Root>");
JSONObject transDbObj = optJSONObjectByKey(scheduleJson,"SCHEDULE_OBJ.ACTUALPARAMETERS.ACTUALPARAMETER.name", "TRANS_DB");
if( transDbObj != null )
{
transDb = transDbObj.getString("value");
}
else
{
transDbObj = optJSONObject(scheduleJson,"SCHEDULE.USERINFOXML.UserInfo");
}
System.out.println("transdb ::::::::::" + transDb);
JSONObject transCountObj = optJSONObjectByKey(scheduleJson,"SCHEDULE_OBJ.ACTUALPARAMETERS.ACTUALPARAMETER.name", "TRANS_COUNT");
if( transCountObj != null )
{
transCount = transCountObj.getString("value");
}
userDbConn = connDriver.getConnectDB(transDb);
if(userDbConn == null)
{
System.out.println("Valid transDb not found in ScheduleXML or UserInfo");
return "";
}
JSONArray transDataArray = getDWHTranLoadData(userDbConn, transCount);
deleteData(transDataArray, transDb);
String sourceDateFormat = genericUtility.getDBDateFormat();
//String targetDateFormat = genericUtility.getApplDateFormat();
System.out.println("::::::::::::::::::UpdateDWHSalesSumStanCodeWise after deletedata::::::::::: " + transDataArray.length());
int tansDataCnt = transDataArray.length();
for (int i = 0; i < tansDataCnt; i++)
{
try
{
pstmt = null;
rs = null;
JSONObject transDataObj = transDataArray.optJSONObject(i);
String refId = transDataObj.optString("ref_id");
String refSer = transDataObj.optString("ref_ser");
String refDate = transDataObj.optString("ref_date");
// refDate=genericUtility.getValidDateString(refDate, sourceDateFormat, targetDateFormat);
System.out.println( "UpdateDWHSalesSumStanCodeWise ==== Insert query for transaction of records in DWH_SALES_SUM [" + refId + "] refSer [" + refSer + "] refDate [" + refDate + "]" );
StringBuffer sql = new StringBuffer();
sql.append(" INSERT INTO DWH_SALES_SUM ");
sql.append(" ( ");
sql.append(" TRAN_ID, ");
sql.append(" SITE_CODE, ");
sql.append(" CUST_CODE, ");
sql.append(" CUST_CODE__BIL, ");
sql.append(" ITEM_CODE, ");
sql.append(" LOT_NO, ");
sql.append(" LINE_TYPE, ");
sql.append(" DOC_DATE, ");
sql.append(" POS_CODE, ");
sql.append(" SALES_QTY, ");
sql.append(" GROSS_SALES_VALUE, ");
sql.append(" SALES_VALUE, ");
sql.append(" FREE_QTY, ");
sql.append(" FREE_SALES_VALUE, ");
sql.append(" NET_SALES_QTY, ");
sql.append(" NET_SALES_VALUE, ");
sql.append(" REPL_QTY, ");
sql.append(" REPL_VALUE, ");
sql.append(" SALEABLE_RETURN_QTY, ");
sql.append(" SALEABLE_RETURN_AMT, ");
sql.append(" BREAKAGE_RETURN_QTY, ");
sql.append(" BREAKAGE_RETURN_AMT, ");
sql.append(" EXPIRY_RETURN_QTY, ");
sql.append(" EXPIRY_RETURN_AMT, ");
sql.append(" CORRECTION_RETURN_QTY, ");
sql.append(" CORRECTION_RETURN_AMT, ");
sql.append(" REPL_RETURN_QTY, ");
sql.append(" REPL_RETURN_VALUE, ");
sql.append(" RETURN_QTY, ");
sql.append(" GROSS_RETURN_VALUE, ");
sql.append(" RETURN_VALUE, ");
sql.append(" NET_RETURN_VALUE, ");
sql.append(" CGST_RATE, ");
sql.append(" CGST_AMT, ");
sql.append(" SGST_RATE, ");
sql.append(" SGST_AMT, ");
sql.append(" IGST_RATE, ");
sql.append(" IGST_AMT, ");
sql.append(" DISC_AMT, ");
sql.append(" MRP, ");
sql.append(" PTR, ");
sql.append(" PTS, ");
sql.append(" HSN_CODE, ");
sql.append(" PACK, ");
sql.append(" DUE_DATE, ");
sql.append(" REF_SER, ");
sql.append(" CITY, ");
sql.append(" ITEM_BRAND, ");
sql.append(" ITEM_SER , ");
sql.append(" LINE_NO, ");
sql.append(" LOAD_DATE ");
sql.append(" ) ");
sql.append(" SELECT DSSV.TRAN_ID, ");
sql.append(" DSSV.SITE_CODE AS SITE_CODE, ");
sql.append(" DSSV.CUST_CODE AS CUST_CODE, ");
sql.append(" DSSV.CUST_CODE_BILL AS CUST_CODE__BIL, ");
sql.append(" DSSV.ITEM_CODE AS ITEM_CODE, ");
sql.append(" DSSV.LOT_NO AS LOT_NO, ");
sql.append(" DSSV.LINE_TYPE AS LINE_TYPE, ");
sql.append(" DSSV.TRAN_DATE AS DOC_DATE, ");
sql.append(" DSSV.POS_CODE AS POS_CODE, ");
sql.append(" SUM( DSSV.SALES_QTY ) AS SALES_QTY, ");
sql.append(" SUM( DSSV.GROSS_SALES_VALUE - DSSV.DISC_AMT_INV ) AS GROSS_SALES_VALUE, ");
sql.append(" SUM( DSSV.GROSS_SALES_VALUE ) AS SALES_VALUE, ");
sql.append(" SUM( DSSV.FREE_QTY ) AS FREE_QTY, ");
sql.append(" SUM( DSSV.FREE_SALES_VALUE ) AS FREE_SALES_VALUE, ");
sql.append(" SUM( DSSV.SALES_QTY + DSSV.FREE_QTY + DSSV.REPL_QTY - DSSV.RETURN_QTY + DSSV.REPL_RETURN_QTY ) AS NET_SALES_QTY, ");
sql.append(" SUM( ( DSSV.GROSS_SALES_VALUE - DSSV.DISC_AMT_INV ) - ( DSSV.GROSS_RETURN_VALUE - DSSV.DISC_AMT_RET ) + ( DSSV.REPL_RETURN_VALUE - DSSV.DISC_AMT_REPL_RET ) ) AS NET_SALES_VALUE, ");
sql.append(" SUM( DSSV.REPL_QTY ) AS REPL_QTY, ");
sql.append(" SUM( DSSV.REPL_VALUE - DSSV.DISC_AMT_REPL) AS REPL_VALUE, ");
sql.append(" SUM( DSSV.SALEABLE_RETURN_QTY ) AS SALEABLE_RETURN_QTY, ");
sql.append(" SUM( DSSV.SALEABLE_RETURN_AMT ) AS SALEABLE_RETURN_AMT, ");
sql.append(" SUM( DSSV.BREAKAGE_RETURN_QTY ) AS BREAKAGE_RETURN_QTY, ");
sql.append(" SUM( DSSV.BREAKAGE_RETURN_AMT ) AS BREAKAGE_RETURN_AMT, ");
sql.append(" SUM( DSSV.EXPIRY_RETURN_QTY ) AS EXPIRY_RETURN_QTY, ");
sql.append(" SUM( DSSV.EXPIRY_RETURN_AMT ) AS EXPIRY_RETURN_AMT, ");
sql.append(" SUM( DSSV.CORRECTION_RETURN_QTY ) AS CORRECTION_RETURN_QTY, ");
sql.append(" SUM( DSSV.CORRECTION_RETURN_AMT ) AS CORRECTION_RETURN_AMT, ");
sql.append(" SUM( DSSV.REPL_RETURN_QTY ) AS REPL_RETURN_QTY, ");
sql.append(" SUM( DSSV.REPL_RETURN_VALUE - DSSV.DISC_AMT_REPL_RET)AS REPL_RETURN_VALUE, ");
sql.append(" SUM( DSSV.RETURN_QTY ) AS RETURN_QTY, ");
sql.append(" SUM( DSSV.GROSS_RETURN_VALUE - DSSV.DISC_AMT_RET) AS GROSS_RETURN_VALUE, ");
sql.append(" SUM( DSSV.GROSS_RETURN_VALUE ) AS RETURN_VALUE, ");
sql.append(" SUM( DSSV.NET_RETURN_VALUE ) AS NET_RETURN_VALUE, ");
sql.append(" DSSV.CGST_RATE, ");
sql.append(" SUM(DSSV.CGST_AMT) AS CGST_AMT, ");
sql.append(" DSSV.SGST_RATE, ");
sql.append(" SUM(DSSV.SGST_AMT) AS SGST_AMT, ");
sql.append(" DSSV.IGST_RATE, ");
sql.append(" SUM(DSSV.IGST_AMT) AS IGST_AMT, ");
sql.append(" SUM(DSSV.DISC_AMT_INV + DSSV.DISC_AMT_RET + DSSV.DISC_AMT_REPL + DSSV.DISC_AMT_REPL_RET) AS DISC_AMT, ");
sql.append(" DSSV.MRP, ");
sql.append(" DSSV.PTR, ");
sql.append(" DSSV.PTS, ");
sql.append(" DSSV.HSN_CODE, ");
sql.append(" (SELECT DESCR FROM PACKING WHERE PACK_CODE = DSSV.PACK_CODE ");
sql.append(" ) AS PACK, ");
sql.append(" DSSV.DUE_DATE, ");
sql.append(" DSSV.REF_SER, ");
sql.append(" NVL(DSSV.CITY , 'NOTSPECIFIED') AS CITY, ");
sql.append(" DSSV.ITEM_BRAND, ");
sql.append(" DSSV.ITEM_SER, ");
sql.append(" DSSV.LINE_NO, ");
sql.append(" SYSDATE AS LOAD_DATE ");
sql.append(" FROM ");
sql.append(" (SELECT 'S-INV ' AS REF_SER, ");
sql.append(" ITEM.ITEM_SER, ");
sql.append(" INVOICE_TRACE.LINE_NO, ");
sql.append(" INVOICE.INVOICE_ID AS TRAN_ID, ");
sql.append(" INVOICE.SITE_CODE, ");
sql.append(" INVOICE.CUST_CODE, ");
sql.append(" INVOICE.CUST_CODE__BIL AS CUST_CODE_BILL, ");
sql.append(" INVOICE_TRACE.ITEM_CODE, ");
sql.append(" NVL(INVOICE_TRACE.LOT_NO,'NA') AS lot_no, ");
sql.append(" NVL(INVOICE_TRACE.LINE_TYPE,'NA') AS line_type, ");
sql.append(" INVOICE.TRAN_DATE, ");
sql.append(" NVL( ");
sql.append(" (SELECT ORG.POS_CODE ");
sql.append(" FROM ORG_STRUCTURE_CUST ORG ");
sql.append(" WHERE ORG.CUST_CODE =INVOICE.CUST_CODE__BIL ");
sql.append(" AND ORG.VERSION_ID IN ");
sql.append(" (SELECT V.VERSION_ID ");
sql.append(" FROM VERSION V ");
sql.append(" WHERE TO_DATE(SYSDATE) BETWEEN V.EFF_FROM AND V.VALID_UPTO ");
sql.append(" ) ");
sql.append(" AND ORG.TABLE_NO = ITEM.ITEM_SER ");
sql.append(" ) ,'NA') AS POS_CODE, ");
sql.append(" INVOICE.INV_TYPE AS TRAN_TYPE, ");
sql.append(" ITEM.HSN_NO AS HSN_CODE, ");
sql.append(" ITEM.PACK_CODE AS PACK_CODE, ");
sql.append(" NVL(DC.CITY , 'NOTSPECIFIED') AS CITY, ");
sql.append(" ITEM.PHY_ATTRIB_2 AS ITEM_BRAND, ");
sql.append(" TO_CHAR(NVL(INVOICE.DUE_DATE,INVOICE.TRAN_DATE )) AS DUE_DATE, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'F', 'V') ");
sql.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ");
sql.append(" THEN 0 ");
sql.append(" ELSE INVOICE_TRACE.QUANTITY__STDUOM ");
sql.append(" END ) AS SALES_QTY, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ");
sql.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ");
sql.append(" THEN 0 ");
sql.append(" ELSE INVOICE_TRACE.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ");
sql.append(" END ) AS GROSS_SALES_VALUE, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'I', 'V') ");
sql.append(" THEN INVOICE_TRACE.QUANTITY__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS REPL_QTY, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ");
sql.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ");
sql.append(" THEN INVOICE_TRACE.QUANTITY__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS FREE_QTY, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ");
sql.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ");
sql.append(" THEN INVOICE_TRACE.QUANTITY__STDUOM * NVL(FN_RPICK_RATE_PL(DC.PRICE_LIST, INVOICE.TRAN_DATE, INVOICE_TRACE.ITEM_CODE, INVOICE_TRACE.LOT_NO) , 0 ) ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS FREE_SALES_VALUE, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'I', 'V') ");
sql.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ");
sql.append(" THEN INVOICE_TRACE.QUANTITY__STDUOM * NVL(FN_RPICK_RATE_PL(DC.PRICE_LIST, INVOICE.TRAN_DATE, INVOICE_TRACE.ITEM_CODE, INVOICE_TRACE.LOT_NO) , 0 ) ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS REPL_VALUE, ");
sql.append(" INVOICE_TRACE.NET_AMT AS NET_SALES_VALUE, ");
sql.append(" 0 AS SALEABLE_RETURN_QTY, ");
sql.append(" 0 AS SALEABLE_RETURN_AMT, ");
sql.append(" 0 AS BREAKAGE_RETURN_QTY, ");
sql.append(" 0 AS BREAKAGE_RETURN_AMT, ");
sql.append(" 0 AS EXPIRY_RETURN_QTY, ");
sql.append(" 0 AS EXPIRY_RETURN_AMT, ");
sql.append(" 0 AS CORRECTION_RETURN_QTY, ");
sql.append(" 0 AS CORRECTION_RETURN_AMT, ");
sql.append(" 0 AS REPL_RETURN_QTY, ");
sql.append(" 0 AS REPL_RETURN_VALUE, ");
sql.append(" 0 AS RETURN_QTY, ");
sql.append(" 0 AS GROSS_RETURN_VALUE, ");
sql.append(" 0 AS NET_RETURN_VALUE, ");
sql.append(" 0 AS FREE_RETURN_QTY, ");
sql.append(" 0 AS FREE_RET_VALUE, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-INV',INVOICE_TRACE.INVOICE_ID,CAST(INVOICE_TRACE.LINE_NO AS CHAR(3)),'CGST_TAX',' ',' ','P'),0) AS CGST_RATE, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-INV',INVOICE_TRACE.INVOICE_ID,CAST(INVOICE_TRACE.LINE_NO AS CHAR(3)),'CGST_TAX',' ',' ','T'),0) AS CGST_AMT, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-INV',INVOICE_TRACE.INVOICE_ID,CAST(INVOICE_TRACE.LINE_NO AS CHAR(3)),'SGST_TAX',' ',' ','P'),0) AS SGST_RATE, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-INV',INVOICE_TRACE.INVOICE_ID,CAST(INVOICE_TRACE.LINE_NO AS CHAR(3)),'SGST_TAX',' ',' ','T'),0) AS SGST_AMT, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-INV',INVOICE_TRACE.INVOICE_ID,CAST(INVOICE_TRACE.LINE_NO AS CHAR(3)),'IGST_TAX',' ',' ','P'),0) AS IGST_RATE, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-INV',INVOICE_TRACE.INVOICE_ID,CAST(INVOICE_TRACE.LINE_NO AS CHAR(3)),'IGST_TAX',' ',' ','T'),0) AS IGST_AMT, ");
sql.append(" ( (NVL((((NVL(INVOICE_TRACE.QUANTITY,0)*NVL(INVOICE_TRACE.RATE__STDUOM,0)*NVL(INVOICE.EXCH_RATE,0))*NVL(INVOICE_TRACE.DISCOUNT,0))/100),0) + NVL(FN_RGET_TAX_NEW('S-INV', INVOICE_TRACE.INVOICE_ID, CAST(INVOICE_TRACE.LINE_NO AS CHAR(3)),'DISC_GST',' ',' ','T')*(-1),0)) ) AS DISC_AMT_INV, ");
sql.append(" 0 AS DISC_AMT_RET, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'I', 'V') ");
sql.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ");
sql.append(" THEN ( (NVL((((NVL(INVOICE_TRACE.QUANTITY,0)*NVL(INVOICE_TRACE.RATE__STDUOM,0)*NVL(INVOICE.EXCH_RATE,0))*NVL(INVOICE_TRACE.DISCOUNT,0))/100),0) + NVL(FN_RGET_TAX_NEW('S-INV', INVOICE_TRACE.INVOICE_ID, CAST(INVOICE_TRACE.LINE_NO AS CHAR(3)),'DISC_GST',' ',' ','T')*(-1),0)) ) ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS DISC_AMT_REPL, ");
sql.append(" 0 AS DISC_AMT_REPL_RET, ");
sql.append(" NVL(FN_RPICK_MRP_PTR(INVOICE_TRACE.ITEM_CODE,INVOICE.TRAN_DATE,INVOICE_TRACE.LOT_NO,'MRP_GST'),0) AS MRP, ");
sql.append(" NVL(FN_RPICK_MRP_PTR(INVOICE_TRACE.ITEM_CODE,INVOICE.TRAN_DATE,INVOICE_TRACE.LOT_NO,'PTR_GST'),0) AS PTR, ");
sql.append(" NVL(FN_RPICK_MRP_PTR(INVOICE_TRACE.ITEM_CODE,INVOICE.TRAN_DATE,INVOICE_TRACE.LOT_NO,'PTS_GST'),0) AS PTS ");
sql.append(" FROM INVOICE ");
sql.append(" INNER JOIN INVOICE_TRACE ");
sql.append(" ON INVOICE.INVOICE_ID = INVOICE_TRACE.INVOICE_ID ");
sql.append(" INNER JOIN SITE ");
sql.append(" ON INVOICE.SITE_CODE = SITE.SITE_CODE ");
sql.append(" INNER JOIN ITEM ");
sql.append(" ON INVOICE_TRACE.ITEM_CODE = ITEM.ITEM_CODE ");
sql.append(" LEFT OUTER JOIN CUSTOMER DC ");
sql.append(" ON INVOICE.CUST_CODE = DC.CUST_CODE ");
sql.append(" WHERE INVOICE.CONFIRMED = 'Y' ");
sql.append(" AND INVOICE.TRAN_DATE = TO_DATE('"+refDate+"','"+sourceDateFormat+"') ");
sql.append(" AND INVOICE.INVOICE_ID ='"+refId+"' ");
sql.append(" UNION ALL ");
sql.append(" SELECT 'S-RET' AS REF_SER, ");
sql.append(" ITEM.ITEM_SER, ");
sql.append(" SRETURNDET.LINE_NO, ");
sql.append(" SRETURN.TRAN_ID, ");
sql.append(" SRETURN.SITE_CODE, ");
sql.append(" SRETURN.CUST_CODE, ");
sql.append(" SRETURN.CUST_CODE__BILL AS CUST_CODE_BILL, ");
sql.append(" SRETURNDET.ITEM_CODE, ");
sql.append(" NVL(SRETURNDET.LOT_NO,'NA') AS lot_no, ");
sql.append(" NVL(SRETURNDET.LINE_TYPE,'NA') AS line_type, ");
sql.append(" SRETURN.TRAN_DATE, ");
sql.append(" NVL( ");
sql.append(" (SELECT ORG.POS_CODE ");
sql.append(" FROM ORG_STRUCTURE_CUST ORG ");
sql.append(" WHERE ORG.CUST_CODE =SRETURN.CUST_CODE__BILL ");
sql.append(" AND ORG.VERSION_ID IN ");
sql.append(" (SELECT V.VERSION_ID ");
sql.append(" FROM VERSION V ");
sql.append(" WHERE TO_DATE(SYSDATE) BETWEEN V.EFF_FROM AND V.VALID_UPTO ");
sql.append(" ) ");
sql.append(" AND ORG.TABLE_NO = ITEM.ITEM_SER ");
sql.append(" ) ,'NA') AS POS_CODE, ");
sql.append(" SRETURN.TRAN_TYPE, ");
sql.append(" ITEM.HSN_NO AS HSN_CODE, ");
sql.append(" ITEM.PACK_CODE AS PACK_CODE, ");
sql.append(" ITEM.PHY_ATTRIB_2 AS ITEM_BRAND, ");
sql.append(" NVL(DC.CITY , 'NOTSPECIFIED') AS CITY, ");
sql.append(" TO_CHAR( SRETURN.TRAN_DATE) AS DUE_DATE, ");
sql.append(" 0 AS SALES_QTY, ");
sql.append(" 0 AS GROSS_SALES_VALUE, ");
sql.append(" 0 AS REPL_QTY, ");
sql.append(" 0 AS FREE_QTY, ");
sql.append(" 0 AS FREE_SALES_VALUE, ");
sql.append(" 0 AS REPL_VALUE, ");
sql.append(" 0 AS NET_SALES_VALUE, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" AND SRETURN.TRAN_TYPE IN('SR') ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS SALEABLE_RETURN_QTY, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" AND SRETURN.TRAN_TYPE IN('SR') ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS SALEABLE_RETURN_AMT, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" AND SRETURN.TRAN_TYPE IN('BR', 'DR') ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS BREAKAGE_RETURN_QTY, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" AND SRETURN.TRAN_TYPE IN('BR', 'DR') ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS BREAKAGE_RETURN_AMT, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" AND SRETURN.TRAN_TYPE = 'ER' ");
sql.append(" AND SRETURNDET.DISCOUNT <> 100 ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS EXPIRY_RETURN_QTY, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" AND SRETURN.TRAN_TYPE = 'ER' ");
sql.append(" AND SRETURNDET.DISCOUNT <> 100 ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS EXPIRY_RETURN_AMT, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" AND SRETURN.TRAN_TYPE IN('IC') ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS CORRECTION_RETURN_QTY, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" AND SRETURN.TRAN_TYPE IN('IC') ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS CORRECTION_RETURN_AMT, ");
sql.append(" DECODE(SRETURNDET.RET_REP_FLAG, 'P', SRETURNDET.QUANTITY__STDUOM, 0) AS REPL_RETURN_QTY, ");
sql.append(" DECODE(SRETURNDET.RET_REP_FLAG, 'P', SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, 0) AS REPL_RETURN_VALUE, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS RETURN_QTY, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END ) AS GROSS_RETURN_VALUE, ");
sql.append(" SRETURNDET.NET_AMT AS NET_RETURN_VALUE, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, 0, ( ");
sql.append(" CASE ");
sql.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ");
sql.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END) ) ");
sql.append(" ELSE 0 ");
sql.append(" END) AS FREE_RETURN_QTY, ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ");
sql.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, 0, ( ");
sql.append(" CASE ");
sql.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ");
sql.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ");
sql.append(" THEN SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ");
sql.append(" ELSE 0 ");
sql.append(" END) ) ");
sql.append(" ELSE 0 ");
sql.append(" END) AS FREE_RET_VALUE, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-RET',SRETURN.TRAN_ID,CAST(SRETURNDET.LINE_NO AS CHAR(3)),'CGST_TAX',' ',' ','P'),0) AS CGST_RATE, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-RET',SRETURN.TRAN_ID,CAST(SRETURNDET.LINE_NO AS CHAR(3)),'CGST_TAX',' ',' ','T'),0) AS CGST_AMT, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-RET',SRETURN.TRAN_ID,CAST(SRETURNDET.LINE_NO AS CHAR(3)),'SGST_TAX',' ',' ','P'),0) AS SGST_RATE, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-RET',SRETURN.TRAN_ID,CAST(SRETURNDET.LINE_NO AS CHAR(3)),'SGST_TAX',' ',' ','T'),0) AS SGST_AMT, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-RET',SRETURN.TRAN_ID,CAST(SRETURNDET.LINE_NO AS CHAR(3)),'IGST_TAX',' ',' ','P'),0) AS IGST_RATE, ");
sql.append(" NVL(FN_RGET_TAX_NEW('S-RET',SRETURN.TRAN_ID,CAST(SRETURNDET.LINE_NO AS CHAR(3)),'IGST_TAX',' ',' ','T'),0) AS IGST_AMT, ");
sql.append(" 0 AS DISC_AMT_INV, ");
sql.append(" ((NVL((((NVL(SRETURNDET.QUANTITY__STDUOM,0)*NVL(SRETURNDET.RATE__STDUOM,0)*NVL(SRETURN.EXCH_RATE,0))*NVL(SRETURNDET.DISCOUNT,0))/100),0) + NVL(FN_RGET_TAX_NEW('S-RET', SRETURN.TRAN_ID, CAST(SRETURNDET.LINE_NO AS CHAR(3)),'DISC_GST',' ',' ','T')*(-1),0))) AS DISC_AMT_RET, ");
sql.append(" 0 AS DISC_AMT_REPL, ");
sql.append(" DECODE(SRETURNDET.RET_REP_FLAG,'P',((NVL((((NVL(SRETURNDET.QUANTITY__STDUOM,0)*NVL(SRETURNDET.RATE__STDUOM,0)*NVL(SRETURN.EXCH_RATE,0))*NVL(SRETURNDET.DISCOUNT,0))/100),0) + NVL(FN_RGET_TAX_NEW('S-RET', SRETURN.TRAN_ID, CAST(SRETURNDET.LINE_NO AS CHAR(3)),'DISC_GST',' ',' ','T')*(-1),0))), 0) AS DISC_AMT_REPL_RET, ");
sql.append(" NVL(FN_RPICK_MRP_PTR(SRETURNDET.ITEM_CODE, SRETURN.TRAN_DATE,SRETURNDET.LOT_NO,'MRP_GST'),0) AS MRP, ");
sql.append(" NVL(FN_RPICK_MRP_PTR(SRETURNDET.ITEM_CODE, SRETURN.TRAN_DATE,SRETURNDET.LOT_NO,'PTR_GST'),0) AS PTR, ");
sql.append(" NVL(FN_RPICK_MRP_PTR(SRETURNDET.ITEM_CODE, SRETURN.TRAN_DATE,SRETURNDET.LOT_NO,'PTS_GST'),0) AS PTS ");
sql.append(" FROM SRETURN ");
sql.append(" INNER JOIN SRETURNDET ");
sql.append(" ON SRETURN.TRAN_ID = SRETURNDET.TRAN_ID ");
sql.append(" INNER JOIN SITE ");
sql.append(" ON SRETURN.SITE_CODE = SITE.SITE_CODE ");
sql.append(" INNER JOIN ITEM ");
sql.append(" ON SRETURNDET.ITEM_CODE = ITEM.ITEM_CODE ");
sql.append(" LEFT OUTER JOIN CUSTOMER DC ");
sql.append(" ON SRETURN.CUST_CODE = DC.CUST_CODE ");
sql.append(" LEFT OUTER JOIN INVOICE_TRACE ");
sql.append(" ON SRETURN.INVOICE_ID = INVOICE_TRACE.INVOICE_ID ");
sql.append(" AND SRETURNDET.INVOICE_ID = INVOICE_TRACE.INVOICE_ID ");
sql.append(" AND SRETURNDET.LINE_NO__INVTRACE = INVOICE_TRACE.LINE_NO ");
sql.append(" WHERE SRETURN.CONFIRMED = 'Y' ");
sql.append(" AND SRETURN.TRAN_DATE = TO_DATE('"+refDate+"','"+sourceDateFormat+"') ");
sql.append(" AND SRETURN.TRAN_ID ='"+refId+"' ");
sql.append(" ) DSSV ");
sql.append(" GROUP BY DSSV.TRAN_ID, ");
sql.append(" DSSV.SITE_CODE, ");
sql.append(" DSSV.CUST_CODE, ");
sql.append(" DSSV.CUST_CODE_BILL, ");
sql.append(" DSSV.ITEM_CODE, ");
sql.append(" DSSV.LOT_NO, ");
sql.append(" DSSV.LINE_TYPE, ");
sql.append(" DSSV.TRAN_DATE, ");
sql.append(" DSSV.POS_CODE, ");
sql.append(" DSSV.MRP, ");
sql.append(" DSSV.PTR, ");
sql.append(" DSSV.PTS, ");
sql.append(" DSSV.HSN_CODE, ");
sql.append(" DSSV.PACK_CODE, ");
sql.append(" DSSV.DUE_DATE, ");
sql.append(" DSSV.ITEM_BRAND, ");
sql.append(" NVL(DSSV.CITY , 'NOTSPECIFIED'), ");
sql.append(" DSSV.CGST_RATE, ");
sql.append(" DSSV.SGST_RATE, ");
sql.append(" DSSV.IGST_RATE, ");
sql.append(" DSSV.REF_SER, ");
sql.append(" DSSV.ITEM_SER, ");
sql.append(" DSSV.LINE_NO ");
pstmt = userDbConn.prepareStatement(sql.toString());
rs = pstmt.executeQuery();
pstmt.close();
rs.close();
//Commented as there is NO Sales Budget Tables
//updateTragetQtyValue(userDbConn, refId, refSer, refDate);
pstmt = null;
rs = null;
StringBuffer updateSql = new StringBuffer();
updateSql.append(" UPDATE DWH_TRAN_LOAD_EXT SET UPDATE_STAT='C'");
updateSql.append(" WHERE REF_ID='" + refId + "' AND REF_SER='" + refSer + "' AND REF_DATE = TO_DATE('"+ refDate + "','" + sourceDateFormat + "')");
pstmt = userDbConn.prepareStatement(updateSql.toString());
rs = pstmt.executeQuery();
pstmt.close();
rs.close();
pstmt = null;
rs = null;
// throw new Exception();
}
catch (SQLException e)
{
BaseLogger.log("0", null, null, "Inside UpdateDWHSalesSumStanCodeWise sql Exception[" + e + "]");
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if (rs != null)
{
rs.close();
rs = null;
}
}
catch (Exception ex)
{
BaseLogger.log("0", null, null, "Inside UpdateDWHSalesSumStanCodeWise Exception[" + ex + "]");
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if (rs != null)
{
rs.close();
rs = null;
}
}
finally
{
try
{
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if (rs != null)
{
rs.close();
rs = null;
}
if (userDbConn != null)
{
userDbConn.commit();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
System.out.println("UpdateDWHSalesSumStanCodeWise Insert Update count :::::::::" + i);
}
}
catch (SQLException e)
{
BaseLogger.log("0", null, null, "Inside UpdateDWHSalesSumStanCodeWise sql Exception:::[" + e + "]");
}
catch (Exception ex)
{
BaseLogger.log("0", null, null, "Inside UpdateDWHSalesSumStanCodeWise Exception:::[" + ex + "]");
}
finally
{
try
{
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if (rs != null)
{
rs.close();
rs = null;
}
if (userDbConn != null)
{
userDbConn.close();
userDbConn = null;
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
return "";
}
private String updateTragetQtyValue(Connection conn, String refId, String refSer, String refDate) throws Exception
{
PreparedStatement pstmt = null;
ResultSet rs = null;
PreparedStatement pstmt1 = null;
ResultSet rs1 = null;
StringBuffer selectSql = new StringBuffer();
StringBuffer updateSql = new StringBuffer();
try
{
E12GenericUtility genericUtility = new E12GenericUtility();
String sourceDateFormat = genericUtility.getDBDateFormat();
//String targetDateFormat = genericUtility.getApplDateFormat();
// refDate=genericUtility.getValidDateString(refDate, sourceDateFormat, targetDateFormat);
System.out.println("UpdateDWHSalesSumStanCodeWise ==== updateTragetQtyValue query for transaction of records in DWH_SALES_SUM ["+ refId + "] refSer [" + refSer + "] refDate [" + refDate + "]");
selectSql.append(" SELECT SITE_CODE, CUST_CODE, POS_CODE, ITEM_CODE, ITEM_SER ");
selectSql.append(" FROM DWH_SALES_SUM ");
selectSql.append(" WHERE TRAN_ID = '"+ refId + "' AND DOC_DATE = TO_DATE('" + refDate + "','" + sourceDateFormat + "') AND REF_SER ='" + refSer + "'");
pstmt = conn.prepareStatement(selectSql.toString());
rs = pstmt.executeQuery();
if (rs.next())
{
String siteCode = checkNull(rs.getString("SITE_CODE"));
String custCode = checkNull(rs.getString("CUST_CODE"));
String posCode = checkNull(rs.getString("POS_CODE"));
String itmCode = checkNull(rs.getString("ITEM_CODE"));
String itmSer = checkNull(rs.getString("ITEM_SER"));
System.out.println("updateTragetQtyValue ::: siteCode " + siteCode + " custCode " + custCode + " posCode " + posCode + " itmCode " + itmCode + " itmSer " + itmSer);
updateSql.append("UPDATE DWH_SALES_SUM t1 ")
.append(" SET (t1.TARGET_QTY, t1.TARGET_VALUE) = ( SELECT t2.TARGET_QTY, t2.TARGET_VALUE ")
.append(" FROM ( ")
.append(" select SITE_CODE, CUST_CODE, POS_CODE, ITEM_CODE, ITEM_SER, SUM(H_NET_AMT) as TARGET_VALUE, SUM(QUANTITY) as TARGET_QTY ")
.append(" from ( ")
.append(" select SBC.TRAN_ID, SBCD.LINE_NO, SBC.SITE_CODE, SBC.CUST_CODE, SBC.POS_CODE, SBCD.ITEM_CODE, SBC.ITEM_SER, SBC.NET_AMT as H_NET_AMT, ")
.append(" SBCD.RATE, SBCD.QUANTITY, SBCD.NET_AMT as D_NET_AMT ")
.append(" from SALES_BUDGET_CUST SBC ").append(" LEFT JOIN SALES_BUDGET_CUST_DET SBCD ")
.append(" ON SBC.TRAN_ID = SBCD.TRAN_ID ").append(" ) ")
.append(" where SITE_CODE ='" + siteCode + "' ")
.append(" And CUST_CODE ='" + custCode + "' ").append(" And POS_CODE ='" + posCode + "' ")
.append(" And ITEM_CODE ='" + itmCode + "' ").append(" And ITEM_SER ='" + itmSer + "' ")
.append(" group by SITE_CODE, CUST_CODE, POS_CODE, ITEM_CODE, ITEM_SER ")
.append(" ) t2 ").append(" WHERE t1.SITE_CODE = t2.SITE_CODE ")
.append(" and t1.CUST_CODE = t2.CUST_CODE ").append(" and t1.POS_CODE = t2.POS_CODE ")
.append(" and t1.ITEM_CODE = t2.ITEM_CODE ").append(" and t1.ITEM_SER = t2.ITEM_SER)")
.append(" where SITE_CODE ='" + siteCode + "' ")
.append(" And CUST_CODE ='" + custCode + "' ").append(" And POS_CODE ='" + posCode + "' ")
.append(" And ITEM_CODE ='" + itmCode + "' ").append(" And ITEM_SER ='" + itmSer + "' ")
.append(" And TRAN_ID = '" + refId + "' AND DOC_DATE = TO_DATE('" + refDate + "','" + sourceDateFormat + "') AND REF_SER ='" + refSer + "'");
System.out.println("update sql " + updateSql);
pstmt1 = conn.prepareStatement(updateSql.toString());
rs1 = pstmt1.executeQuery();
pstmt1.close();
rs1.close();
pstmt1 = null;
rs1 = null;
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
try
{
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if (rs1 != null) {
rs1.close();
rs1 = null;
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
return "";
}
private JSONArray getDWHTranLoadData(Connection conn, String transCount) throws Exception
{
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
JSONArray transDataArray = new JSONArray();
try
{
sql = "SELECT REF_ID, REF_SER, REF_DATE FROM DWH_TRAN_LOAD_EXT WHERE UPDATE_STAT = 'P' AND REF_SER IN('S-INV','S-RET') ORDER BY REF_DATE DESC ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
JSONObject tranData = new JSONObject();
String refId = rs.getString("ref_id");
String refSer = rs.getString("ref_ser");
Date refDate = rs.getDate("ref_date");
tranData.put("ref_id", refId);
tranData.put("ref_ser", refSer);
tranData.put("ref_date", refDate);
transDataArray.put(tranData);
System.out.println("json data values in delete method ===== " + " REF_ID ::: " + refId + " REF_SER ::: " + refSer + " REF_DATE ::: " + refDate);
}
System.out.println("Inside transDataArray before ::::" + transDataArray);
Set<String> tranData = new HashSet<String>();
JSONArray tempArray = new JSONArray();
int limitCfg = 100;
try
{
limitCfg = Integer.parseInt(transCount);
}
catch(Exception e)
{
}
int dataLen = transDataArray.length();
dataLen = dataLen > limitCfg ? limitCfg : dataLen;
for (int i = 0; i < dataLen; i++)
{
String refId = transDataArray.getJSONObject(i).getString("ref_id");
String refDate = transDataArray.getJSONObject(i).getString("ref_date");
String refSer = transDataArray.getJSONObject(i).getString("ref_ser");
if (tranData.contains(refId + "_" + refDate + "_" + refSer))
{
continue;
}
else
{
tranData.add(refId + "_" + refDate + "_" + refSer);
System.out.println("json data values in delete else ::::: " + tranData);
tempArray.put(transDataArray.getJSONObject(i));
}
}
transDataArray = tempArray;
System.out.println("Inside transDataArray after ::::" + transDataArray);
pstmt.close();
rs.close();
pstmt = null;
rs = null;
}
catch (SQLException e)
{
e.printStackTrace();
}
catch (Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if (rs != null)
{
rs.close();
rs = null;
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
System.out.println(" getTransData " + transDataArray);
return transDataArray;
}
private String deleteData(JSONArray transDataArray, String transDb) throws Exception
{
PreparedStatement pstmt = null;
ResultSet rs = null;
PreparedStatement pstmt1 = null;
ResultSet rs1 = null;
Connection conn = null;
try
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB(transDb);
E12GenericUtility genericUtility = new E12GenericUtility();
String sourceDateFormat = genericUtility.getDBDateFormat();
//String targetDateFormat = genericUtility.getApplDateFormat();
System.out.println("UpdateDWHSalesSumStanCodeWise trans data array length :::: " + transDataArray.length());
for (int i = 0, tansdata = transDataArray.length(); i < tansdata; i++)
{
StringBuffer deleteSql = new StringBuffer();
StringBuffer selectSql = new StringBuffer();
JSONObject transDataObj = transDataArray.optJSONObject(i);
String refId = transDataObj.optString("ref_id");
String refSer = transDataObj.optString("ref_ser");
String refDate = transDataObj.optString("ref_date");
// refDate=genericUtility.getValidDateString(refDate, sourceDateFormat, targetDateFormat);
System.out.println("UpdateDWHSalesSumStanCodeWise ==== Delete query for transaction of records in DWH_SALES_SUM [" + refId + "] refSer [" + refSer + "] refDate [" + refDate + "]");
selectSql.append("SELECT * FROM DWH_SALES_SUM WHERE TRAN_ID = '" + refId + "' AND DOC_DATE = TO_DATE('" + refDate + "','" + sourceDateFormat + "') AND REF_SER ='" + refSer + "'");
pstmt = conn.prepareStatement(selectSql.toString());
rs = pstmt.executeQuery();
if (rs.next())
{
deleteSql.append("DELETE FROM DWH_SALES_SUM WHERE TRAN_ID = '" + refId + "' AND DOC_DATE = TO_DATE('" + refDate + "','" + sourceDateFormat + "') AND REF_SER ='" + refSer + "'");
pstmt1 = conn.prepareStatement(deleteSql.toString());
rs1 = pstmt1.executeQuery();
pstmt1.close();
rs1.close();
pstmt1 = null;
rs1 = null;
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
}
conn.commit();
} catch (SQLException e)
{
e.printStackTrace();
}
finally
{
try
{
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if (rs1 != null)
{
rs1.close();
rs1 = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
System.out.println("DWHCompleteEJB ==== Delete query Completed");
return "";
}
public JSONObject xmlToJson(String transData) throws JSONException
{
try
{
E12GenericUtility utility = new E12GenericUtility();
Document dashboardDom = utility.parseString(transData);
NodeList rootNodeList = dashboardDom.getElementsByTagName("Root");
Node rootNode = null;
if (rootNodeList != null && rootNodeList.getLength() > 0)
{
rootNode = rootNodeList.item(0);
return (JSONObject) xmlToJson(rootNode);
}
}
catch (ITMException e)
{
e.printStackTrace();
}
return null;
}
public Object xmlToJson(Node xmlObj) throws JSONException
{
// Create the return object
JSONObject jsonObj = new JSONObject();
// console.log('xmlObj.nodeType---', xmlObj.nodeType, xmlObj);
if (xmlObj.getNodeType() == Node.ELEMENT_NODE)
{ // element
// do attributes
if (xmlObj.hasAttributes())
{
NamedNodeMap attributes = xmlObj.getAttributes();
int attribLen = attributes.getLength();
for (int j = 0; j < attribLen; j++)
{
Node attribute = attributes.item(j);
String name = attribute.getNodeName();
String value = attribute.getNodeValue();
jsonObj.put(name, value);
}
}
}
// do children
if (xmlObj.hasChildNodes())
{
NodeList childNodes = xmlObj.getChildNodes();
int childNodeLen = childNodes.getLength();
for (int i = 0; i < childNodeLen; i++)
{
Node childNode = childNodes.item(i);
String childNodeName = childNode.getNodeName();
String childNodeValue = childNode.getNodeValue();
if ("#cdata-section".equalsIgnoreCase(childNodeName))
{
if (xmlObj.hasAttributes())
{
jsonObj.put("value", childNodeValue);
return jsonObj;
}
else
{
return childNodeValue;
}
}
else if (!"#text".equalsIgnoreCase(childNodeName))
{
System.out.println(childNodeName + "<<childNodeValue>>" + childNodeValue);
if (jsonObj.optJSONObject(childNodeName) != null)
{
JSONObject old = jsonObj.optJSONObject(childNodeName);
jsonObj.put(childNodeName, new JSONArray());
jsonObj.optJSONArray(childNodeName).put(old);
jsonObj.optJSONArray(childNodeName).put(xmlToJson(childNode));
}
else if (jsonObj.optJSONArray(childNodeName) != null)
{
jsonObj.optJSONArray(childNodeName).put(xmlToJson(childNode));
}
else
{
jsonObj.put(childNodeName, xmlToJson(childNode));
}
}
}
}
return jsonObj;
}
private String checkNull(String str)
{
if (str == null)
{
return "NA";
}
else
{
return str;
}
}
@Override
public String schedule(HashMap map) throws Exception
{
BaseLogger.log("3", null, null, "schedule hashMap::" + map);
return null;
}
@Override
public String schedule(String scheduleXml) throws Exception
{
BaseLogger.log("2", null, null, "schedule scheduleXml::" + scheduleXml);
transComplete(scheduleXml);
return "";
}
@Override
public String schedulePriority(String wrkflwPriority) throws Exception
{
return null;
}
private JSONObject optJSONObject(JSONObject scheduleJson, String jsonKeyPath)
{
JSONObject valueObject = null;
try
{
System.out.println("jsonKeyPath:" + jsonKeyPath);
String []keyArr = jsonKeyPath.split("\\.");
for(String key : keyArr)
{
if( valueObject == null )
{
valueObject = scheduleJson.optJSONObject(key);
}
else
{
valueObject = valueObject.optJSONObject(key);
}
}
System.out.println("valueObject" + valueObject);
}
catch(Exception e)
{
System.out.println("Exception in optJSONObject" + e.getMessage());
e.printStackTrace();
}
return valueObject;
}
private JSONObject optJSONObjectByKey(JSONObject scheduleJson, String jsonKeyPath, String cmpKey)
{
String jsonObjVal = "";
try
{
System.out.println("jsonKeyPath:" + jsonKeyPath + " cmpKey:" + cmpKey);
JSONObject valueObject = null;
String []keyArr = jsonKeyPath.split("\\.");
int cnt = 0;
for(String key : keyArr)
{
cnt++;
if(cnt < keyArr.length)
{
if( valueObject == null )
{
valueObject = scheduleJson.optJSONObject(key);
}
else
{
valueObject = valueObject.optJSONObject(key);
}
}
else
{
jsonObjVal = valueObject.optString(key);
}
//System.out.println("valueObject" + keyString + jsonObjVal + valueObject);
}
System.out.println("valueObject" + jsonObjVal + cmpKey);
if( cmpKey.equalsIgnoreCase(jsonObjVal) )
{
return valueObject;
}
}
catch(Exception e)
{
System.out.println("Exception in optJSONObjectByKey" + e.getMessage());
e.printStackTrace();
}
return null;
}
public void transSQLToCode()
{
try
{
File file = new File("/home/base/Development/git-workspace/common-dashboard/UpdateSchedule.sql");
ArrayList<String> fileDataLines = (ArrayList<String>) FileUtils.readLines(file, "UTF-8");
File fileNew = new File("/home/base/Development/git-workspace/common-dashboard/UpdateScheduleNew.sql");
FileWriter fw = new FileWriter(fileNew);
for(String dataLine : fileDataLines)
{
System.out.println(dataLine);
fw.write( "sql.append(\" " + dataLine + " \");" + " \n");
}
fw.flush();
fw.close();
}
catch(Exception e)
{
}
}
}
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