Commit a7f975bc authored by pborate's avatar pborate

added dwhcompleteejb

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@197315 ce508802-f39f-4f6c-b175-0d175dae99d5
parent f9b7fea4
package ibase.webitm.dashboard.fin.ejb;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.ejb.Stateless;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Document;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
@Stateless
public class DWHCompleteEJB extends ValidatorEJB
{
//DWHCompleteEJB dwhCompleteEJB = new DWHCompleteEJB();
@SuppressWarnings({ "null", "unchecked" })
public String transComplete(String xmlData, String xmlDataAll, String objContext, String tranId,
Connection dbConnection) throws Exception
{
System.out.println(" INSIDE DWHCompleteEJB transComplete " );
PreparedStatement pstmt = null;
Document dom = null;
Document domAll = null;
ResultSet rs = null;
PreparedStatement pStmt = null;
Connection userDbConn = null;
try
{
ConnDriver connDriver = new ConnDriver();
userDbConn = connDriver.getConnectDB( getUserInfo().getTransDB() );
JSONArray transDataArray=getTransData(userDbConn);
deleteData(transDataArray);
E12GenericUtility genericUtility = new E12GenericUtility();
String sourceDateFormat=genericUtility.getDBDateFormat();
String targetDateFormat=genericUtility.getApplDateFormat();
System.out.println("::::::::::::::::::after deletedata::::::::::: "+transDataArray.length());
for(int i = 0, tansdata = transDataArray.length(); i < tansdata; i++) {
try
{
pstmt = null;
rs = null;
StringBuffer sql = 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("DWHCompleteEJB ==== Insert query for transaction of records in DWH_SALES_SUM [" +refId+"] refSer ["+refSer+"] refDate ["+refDate+"]");
sql.append("INSERT INTO DWH_SALES_SUM ( ")
.append("CGST_AMT, CGST_RATE, SGST_RATE, SGST_AMT, DISC_AMT, IGST_RATE,IGST_AMT, MRP, PTR, PTS,TRAN_ID,SITE_CODE, CUST_CODE, ")
.append(" ITEM_CODE, DOC_DATE,POS_CODE,SALES_QTY, GROSS_SALES_VALUE,FREE_QTY,FREE_SALES_VALUE, NET_SALES_QTY, ")
.append("NET_SALES_VALUE, REPL_QTY, SALEABLE_RETURN_QTY, SALEABLE_RETURN_AMT, BREAKAGE_RETURN_QTY, BREAKAGE_RETURN_AMT, ")
.append("EXPIRY_RETURN_QTY, EXPIRY_RETURN_AMT, CORRECTION_RETURN_QTY, CORRECTION_RETURN_AMT, REPL_RETURN_QTY, " )
.append("REPL_RETURN_VALUE, RETURN_QTY, GROSS_RETURN_VALUE, NET_RETURN_VALUE, HSN_CODE, PACK,DUE_DATE,REF_SER,CITY,ITEM_BRAND")
.append(" ) ")
.append("SELECT SUM(CGST_AMT) AS cgst_amt, ")
.append(" CGST_RATE, " )
.append(" SGST_RATE, " )
.append(" SUM(SGST_AMT) AS SGST_AMT, " )
.append(" SUM(DISC_AMT) AS DISC_AMT, " )
.append(" IGST_RATE, " )
.append(" SUM(IGST_AMT), " )
.append(" MRP, " )
.append(" PTR, " )
.append(" PTS, " )
.append(" TRAN_ID, " )
.append(" A.SITE_CODE AS SITE_CODE, " )
.append(" A.CUST_CODE AS CUST_CODE, " )
.append(" A.ITEM_CODE AS ITEM_CODE, " )
.append(" A.TRAN_DATE AS DOC_DATE, " )
.append(" A.POS_CODE AS POS_CODE, " )
.append(" SUM( A.SALES_QTY ) AS SALES_QTY, " )
.append(" SUM( A.GROSS_SALES_VALUE ) AS GROSS_SALES_VALUE, " )
.append(" SUM( A.FREE_QTY ) AS FREE_QTY, " )
.append(" SUM( A.FREE_SALES_VALUE ) AS FREE_SALES_VALUE, " )
.append(" SUM( SALES_QTY + FREE_QTY - RETURN_QTY + REPL_RETURN_QTY ) AS NET_SALES_QTY, " )
.append(" SUM( A.GROSS_SALES_VALUE - A.NET_RETURN_VALUE + A.REPL_RETURN_VALUE ) AS NET_SALES_VALUE, " )
.append(" SUM( A.REPL_QTY ) AS REPL_QTY, " )
.append(" SUM( A.SALEABLE_RETURN_QTY ) AS SALEABLE_RETURN_QTY, " )
.append(" SUM( A.SALEABLE_RETURN_AMT ) AS SALEABLE_RETURN_AMT, " )
.append(" SUM( A.BREAKAGE_RETURN_QTY ) AS BREAKAGE_RETURN_QTY, " )
.append(" SUM( A.BREAKAGE_RETURN_AMT ) AS BREAKAGE_RETURN_AMT, " )
.append(" SUM( A.EXPIRY_RETURN_QTY ) AS EXPIRY_RETURN_QTY, " )
.append(" SUM( A.EXPIRY_RETURN_AMT ) AS EXPIRY_RETURN_AMT, " )
.append(" SUM( A.CORRECTION_RETURN_QTY ) AS CORRECTION_RETURN_QTY, " )
.append(" SUM( A.CORRECTION_RETURN_AMT ) AS CORRECTION_RETURN_AMT, " )
.append(" SUM( A.REPL_RETURN_QTY ) AS REPL_RETURN_QTY, " )
.append(" SUM( A.REPL_RETURN_VALUE ) AS REPL_RETURN_VALUE, " )
.append(" SUM( A.RETURN_QTY ) AS RETURN_QTY, " )
.append(" SUM( A.GROSS_RETURN_VALUE ) AS GROSS_RETURN_VALUE, " )
.append(" SUM( A.NET_RETURN_VALUE ) AS NET_RETURN_VALUE, " )
.append(" A.HSN_CODE,A.PACK,A.DUE_DATE, " )
.append(" '"+refSer+"' AS REF_SER, " )
.append(" DC.CITY, " )
.append(" ITEM_BRAND " )
.append(" FROM " )
.append(" (SELECT 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, " )
.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, " )
.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, " )
.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, " )
.append(" NVL(FN_RPICK_MRP_PTR(INVOICE_TRACE.ITEM_CODE,INVOICE.TRAN_DATE,INVOICE_TRACE.LOT_NO,'MRP_GST'),0) AS MRP, " )
.append(" NVL(FN_RPICK_MRP_PTR(INVOICE_TRACE.ITEM_CODE,INVOICE.TRAN_DATE,INVOICE_TRACE.LOT_NO,'PTR_GST'),0) AS PTR, " )
.append(" NVL(INVOICE_TRACE.RATE__STDUOM,0) * NVL(INVOICE_TRACE.EXCH_RATE,0) AS PTS, " )
.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)")
.append(" + NVL(FN_RGET_TAX_DET('S-INV', INVOICE_TRACE.INVOICE_ID, CAST(INVOICE_TRACE.LINE_NO AS CHAR(3)),'DISC_GST','T')*(-1),0))) AS DISC_AMT,")
.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,")
.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,")
.append(" INVOICE.SITE_CODE, " )
.append(" INVOICE.CUST_CODE, " )
.append(" INVOICE_TRACE.ITEM_CODE, " )
.append(" INVOICE.TRAN_DATE, " )
.append(" ORG_STRUCTURE_CUST.POS_CODE AS POS_CODE, " )
.append(" INVOICE.INV_TYPE AS TRAN_TYPE, " )
.append(" INVOICE.INVOICE_ID AS TRAN_ID, " )
.append(" ITEM.HSN_NO AS HSN_CODE, " )
.append(" PACKING.DESCR AS PACK, " )
.append(" ITEM.PHY_ATTRIB_2 AS ITEM_BRAND, " )
.append(" TO_CHAR(INVOICE.DUE_DATE) AS DUE_DATE, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN 0 " )
.append(" ELSE INVOICE_TRACE.QUANTITY__STDUOM " )
.append(" END ) AS SALES_QTY, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN 0 " )
.append(" ELSE INVOICE_TRACE.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM " )
.append(" END ) AS GROSS_SALES_VALUE, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'I', 'V') " )
.append(" THEN INVOICE_TRACE.QUANTITY__STDUOM " )
.append(" ELSE 0 " )
.append(" END ) AS REPL_QTY, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN INVOICE_TRACE.QUANTITY__STDUOM " )
.append(" ELSE 0 " )
.append(" END ) AS FREE_QTY, " )
.append(" ( ")
.append(" CASE ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" THEN INVOICE_TRACE.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ")
.append(" ELSE 0 ")
.append(" END ) AS FREE_SALES_VALUE, ")
.append(" INVOICE_TRACE.NET_AMT AS NET_SALES_VALUE, ")
.append(" 0 AS SALEABLE_RETURN_QTY, " )
.append(" 0 AS SALEABLE_RETURN_AMT, " )
.append(" 0 AS BREAKAGE_RETURN_QTY, " )
.append(" 0 AS BREAKAGE_RETURN_AMT, " )
.append(" 0 AS EXPIRY_RETURN_QTY, " )
.append(" 0 AS EXPIRY_RETURN_AMT, " )
.append(" 0 AS CORRECTION_RETURN_QTY, " )
.append(" 0 AS CORRECTION_RETURN_AMT, " )
.append(" 0 AS REPL_RETURN_QTY, " )
.append(" 0 AS REPL_RETURN_VALUE, " )
.append(" 0 AS RETURN_QTY, " )
.append(" 0 AS GROSS_RETURN_VALUE, " )
.append(" 0 AS NET_RETURN_VALUE, " )
.append(" 0 AS FREE_RETURN_QTY, " )
.append(" 0 AS FREE_RET_VALUE " )
.append(" FROM INVOICE " )
.append(" INNER JOIN INVOICE_TRACE " )
.append(" ON INVOICE.INVOICE_ID = INVOICE_TRACE.INVOICE_ID " )
.append(" INNER JOIN SITE " )
.append(" ON INVOICE.SITE_CODE = SITE.SITE_CODE " )
.append(" INNER JOIN ITEM " )
.append(" ON INVOICE_TRACE.ITEM_CODE = ITEM.ITEM_CODE " )
.append(" LEFT OUTER JOIN ORG_STRUCTURE_CUST " )
.append(" ON INVOICE.CUST_CODE = ORG_STRUCTURE_CUST.CUST_CODE " )
.append(" INNER JOIN PACKING ON ITEM.PACK_CODE=PACKING.PACK_CODE " )
.append(" WHERE INVOICE.CONFIRMED = 'Y' " )
.append(" AND ITEM.ITEM_SER = ORG_STRUCTURE_CUST.TABLE_NO " )
.append(" AND INVOICE.TRAN_DATE ='"+refDate+"' " )
.append(" AND INVOICE.INVOICE_ID ='"+refId+"' " )
.append(" UNION ALL " )
.append(" SELECT NVL(FN_RGET_TAX_NEW('S-RET',INVOICE_TRACE.INVOICE_ID,CAST(INVOICE_TRACE.line_no AS CHAR(3)),'CGST_TAX',' ',' ','T'),0) AS CGST_AMT, " )
.append(" NVL(FN_RGET_TAX_NEW('S-RET',INVOICE_TRACE.INVOICE_ID,CAST(INVOICE_TRACE.line_no AS CHAR(3)),'CGST_TAX',' ',' ','P'),0) AS CGST_RATE, " )
.append(" NVL(FN_RGET_TAX_NEW('S-RET',INVOICE_TRACE.INVOICE_ID,CAST(INVOICE_TRACE.line_no AS CHAR(3)),'SGST_TAX',' ',' ','P'),0) AS SGST_RATE, " )
.append(" NVL(FN_RGET_TAX_NEW('S-RET',INVOICE_TRACE.INVOICE_ID,CAST(INVOICE_TRACE.line_no AS CHAR(3)),'SGST_TAX',' ',' ','T'),0) AS SGST_AMT, " )
.append(" NVL(FN_RPICK_MRP_PTR(SRETURNDET.ITEM_CODE, SRETURN.TRAN_DATE,INVOICE_TRACE.LOT_NO,'MRP_GST'),0) AS MRP, " )
.append(" NVL(FN_RPICK_MRP_PTR(SRETURNDET.ITEM_CODE, SRETURN.TRAN_DATE,INVOICE_TRACE.LOT_NO,'PTR_GST'),0) AS PTR, " )
.append(" NVL(INVOICE_TRACE.RATE__STDUOM,0) * NVL(INVOICE_TRACE.EXCH_RATE,0) AS PTS, " )
.append(" ((NVL((((NVL(INVOICE_TRACE.QUANTITY,0)*NVL(INVOICE_TRACE.RATE__STDUOM,0)*NVL(SRETURN.EXCH_RATE,0))*NVL(INVOICE_TRACE.DISCOUNT,0))/100),0)")
.append(" + NVL(FN_RGET_TAX_DET('S-RET', INVOICE_TRACE.INVOICE_ID, cast(INVOICE_TRACE.LINE_NO as char(3)),'DISC_GST','T')*(-1),0))) as DISC_AMT," )
.append(" nvl(FN_RGET_TAX_NEW('S-RET',INVOICE_TRACE.INVOICE_ID,cast(INVOICE_TRACE.line_no as char(3)),'IGST_TAX',' ',' ','P'),0) AS IGST_RATE," )
.append(" nvl(FN_RGET_TAX_NEW('S-RET',INVOICE_TRACE.INVOICE_ID,cast(INVOICE_TRACE.line_no as char(3)),'IGST_TAX',' ',' ','T'),0) AS IGST_AMT," )
.append(" SRETURN.SITE_CODE, " )
.append(" SRETURN.CUST_CODE, " )
.append(" SRETURNDET.ITEM_CODE, " )
.append(" SRETURN.TRAN_DATE, " )
.append(" ORG_STRUCTURE_CUST.POS_CODE AS POS_CODE, " )
.append(" SRETURN.TRAN_TYPE, " )
.append(" SRETURN.TRAN_ID, " )
.append(" ITEM.HSN_NO AS HSN_CODE, " )
.append(" PACKING.DESCR AS PACK, " )
.append(" ITEM.PHY_ATTRIB_2 AS ITEM_BRAND, " )
.append(" ' ' DUE_DATE, " )
.append(" 0 AS SALES_QTY, " )
.append(" 0 AS GROSS_SALES_VALUE, " )
.append(" 0 AS REPL_QTY, " )
.append(" 0 AS FREE_QTY, " )
.append(" 0 AS FREE_SALES_VALUE, " )
.append(" 0 AS NET_SALES_VALUE, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " )
.append(" AND SRETURN.TRAN_TYPE IN('SR') " )
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM, ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN 0 " )
.append(" ELSE SRETURNDET.QUANTITY__STDUOM " )
.append(" END) ) " )
.append(" ELSE 0 " )
.append(" END) AS SALEABLE_RETURN_QTY, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " )
.append(" AND SRETURN.TRAN_TYPE IN('SR') " )
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN 0 " )
.append(" ELSE SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM " )
.append(" END) ) " )
.append(" ELSE 0 " )
.append(" END) AS SALEABLE_RETURN_AMT, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " )
.append(" AND SRETURN.TRAN_TYPE IN('BR', 'DR') " )
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM, ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN 0 " )
.append(" ELSE SRETURNDET.QUANTITY__STDUOM " )
.append(" END) ) " )
.append(" ELSE 0 " )
.append(" END) AS BREAKAGE_RETURN_QTY, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " )
.append(" AND SRETURN.TRAN_TYPE IN('BR', 'DR') " )
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN 0 " )
.append(" ELSE SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM " )
.append(" END) ) " )
.append(" ELSE 0 " )
.append(" END) AS BREAKAGE_RETURN_AMT, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " )
.append(" AND SRETURN.TRAN_TYPE = 'ER' " )
.append(" AND SRETURNDET.DISCOUNT <> 100 " )
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM, ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN 0 " )
.append(" ELSE SRETURNDET.QUANTITY__STDUOM " )
.append(" END) ) " )
.append(" ELSE 0 " )
.append(" END) AS EXPIRY_RETURN_QTY, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " )
.append(" AND SRETURN.TRAN_TYPE = 'ER' " )
.append(" AND SRETURNDET.DISCOUNT <> 100 " )
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN 0 " )
.append(" ELSE SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM " )
.append(" END) ) " )
.append(" ELSE 0 " )
.append(" END) AS EXPIRY_RETURN_AMT, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " )
.append(" AND SRETURN.TRAN_TYPE IN('IC') " )
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM, ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN 0 " )
.append(" ELSE SRETURNDET.QUANTITY__STDUOM " )
.append(" END) ) " )
.append(" ELSE 0 " )
.append(" END) AS CORRECTION_RETURN_QTY, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " )
.append(" AND SRETURN.TRAN_TYPE IN('IC') " )
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN 0 " )
.append(" ELSE SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM " )
.append(" END) ) " )
.append(" ELSE 0 " )
.append(" END) AS CORRECTION_RETURN_AMT, " )
.append(" DECODE(SRETURNDET.RET_REP_FLAG, 'P', SRETURNDET.QUANTITY__STDUOM, 0) AS REPL_RETURN_QTY, " )
.append(" DECODE(SRETURNDET.RET_REP_FLAG, 'P', SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, 0) AS REPL_RETURN_VALUE, " )
.append(" ( " )
.append(" CASE " )
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " )
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM, ( " )
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" THEN 0 " )
.append(" ELSE SRETURNDET.QUANTITY__STDUOM ")
.append(" END) ) " )
.append(" ELSE 0 " )
.append(" END) AS RETURN_QTY, ")
.append(" ( " )
.append(" CASE " )
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ")
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, ( " )
.append(" CASE ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" THEN 0 ")
.append(" ELSE SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ")
.append(" END) ) ")
.append(" ELSE 0 ")
.append(" END) AS GROSS_RETURN_VALUE, " )
.append(" SRETURNDET.NET_AMT AS NET_RETURN_VALUE, ")
.append(" ( " )
.append(" CASE ")
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ")
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, 0, ( ")
.append(" CASE " )
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " )
.append(" THEN SRETURNDET.QUANTITY__STDUOM " )
.append(" ELSE 0 " )
.append(" END) ) " )
.append(" ELSE 0 " )
.append(" END) AS FREE_RETURN_QTY, ")
.append(" CASE ")
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " )
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, 0, ( " )
.append(" CASE ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " )
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" THEN SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ")
.append(" ELSE 0 " )
.append(" END) ) " )
.append(" ELSE 0 " )
.append(" END AS FREE_RET_VALUE ")
.append(" FROM SRETURN " )
.append(" INNER JOIN SRETURNDET " )
.append(" ON SRETURN.TRAN_ID = SRETURNDET.TRAN_ID " )
.append(" INNER JOIN SITE " )
.append(" ON SRETURN.SITE_CODE = SITE.SITE_CODE " )
.append(" INNER JOIN ITEM " )
.append(" ON SRETURNDET.ITEM_CODE = ITEM.ITEM_CODE " )
.append(" LEFT OUTER JOIN ORG_STRUCTURE_CUST " )
.append(" ON SRETURN.CUST_CODE = ORG_STRUCTURE_CUST.CUST_CODE " )
.append(" LEFT OUTER JOIN INVOICE_TRACE " )
.append(" ON SRETURN.INVOICE_ID = INVOICE_TRACE.INVOICE_ID " )
.append(" AND SRETURNDET.INVOICE_ID = INVOICE_TRACE.INVOICE_ID " )
.append(" AND SRETURNDET.LINE_NO__INV = INVOICE_TRACE.LINE_NO " )
.append(" INNER JOIN PACKING ON ITEM.PACK_CODE=PACKING.PACK_CODE " )
.append(" WHERE SRETURN.CONFIRMED = 'Y' " )
.append(" AND ITEM.ITEM_SER = ORG_STRUCTURE_CUST.TABLE_NO " )
.append(" AND SRETURN.TRAN_DATE ='"+refDate+"' " )
.append(" AND SRETURN.TRAN_ID ='"+refId+"' " )
.append(" ) A ")
.append(" LEFT OUTER JOIN CUSTOMER DC " )
.append(" ON A.CUST_CODE = DC.CUST_CODE " )
.append(" GROUP BY A.SITE_CODE, " )
.append(" A.CUST_CODE, " )
.append(" A.ITEM_CODE, " )
.append(" A.TRAN_DATE, " )
.append(" A.POS_CODE, " )
.append(" A.CGST_RATE, " )
.append(" A.SGST_RATE, " )
.append(" A.MRP, " )
.append(" A.PTR, " )
.append(" A.PTS,")
.append(" A.TRAN_ID,")
.append(" A.HSN_CODE,A.PACK, A.DUE_DATE,DC.CITY ,A.ITEM_BRAND, A.IGST_RATE ");
System.out.println("sql in dwh complete ejb "+sql);
pstmt = userDbConn.prepareStatement(sql.toString());
rs = pstmt.executeQuery();
throw new Exception();
}
catch (SQLException e) {
// TODO Auto-generated catch block
System.err.println("An exception was SQLException :::::"+ e);
}
catch(Exception ex) {
System.err.println("An exception was Exception :::::"+ ex);
}
System.out.println("count :::::::::"+i);
}
System.out.println("END :::::::::::::");
userDbConn.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (Exception ex) {
// TODO Auto-generated catch block
System.err.println("An exception was thrown"+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 JSONArray getTransData(Connection conn) throws Exception
{
System.out.println("GET DATA METHOD ,Extraction of records");
String sql = "" ;
StringBuffer tranSql = new StringBuffer();
PreparedStatement pstmt = null;
ResultSet rs = null;
JSONArray transDataArray=new JSONArray();
try
{
System.out.println("DWHCompleteEJB ===== Extraction of pending records");
sql = "select ref_id, ref_ser, ref_date from dwh_tran_load where update_stat = 'P' ";
System.out.println(" getTransData sql "+sql);
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();
for(int i=0;i<transDataArray.length();i++){
String refId=transDataArray.getJSONObject(i).getString("ref_id");
String refSer=transDataArray.getJSONObject(i).getString("ref_ser");
String refDate=transDataArray.getJSONObject(i).getString("ref_date");
System.out.println("json data values in delete method ::::: " + " REF_ID ::: " + refId + " REF_SER ::: " + refSer + " REF_DATE ::: " + refDate );
System.out.println("TRAN DATA :::: "+tranData);
if(tranData.contains(refId+"_"+refDate+"_"+refSer) ){
System.out.println("Inside if tran data ::::"+tranData);
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);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (Exception ex) {
// TODO Auto-generated catch block
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) throws Exception
{
//System.out.println("INSIDE deleteData "+transDataArray);
PreparedStatement pstmt = null;
ResultSet rs = null;
Connection conn=null;
try
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB( getUserInfo().getTransDB() );
E12GenericUtility genericUtility = new E12GenericUtility();
String sourceDateFormat=genericUtility.getDBDateFormat();
String targetDateFormat=genericUtility.getApplDateFormat();
System.out.println("trans data array length :::: "+ transDataArray.length());
for(int i = 0, tansdata = transDataArray.length(); i < tansdata; i++) {
StringBuffer deleteSql = 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("DWHCompleteEJB ==== Delete query for transaction of records in DWH_SALES_SUM [" +refId+"] refSer ["+refSer+"] refDate ["+refDate+"]");
deleteSql.append("DELETE FROM DWH_SALES_SUM WHERE TRAN_ID = '"+refId+"' AND DOC_DATE ='"+refDate+"' AND REF_SER ='"+refSer+"'");
System.out.println("delete sql ::::: "+deleteSql);
pstmt = conn.prepareStatement(deleteSql.toString());
rs = pstmt.executeQuery();
}
conn.commit();
} 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 ( conn != null )
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
System.out.println("DWHCompleteEJB ==== Delete query Completed");
return "";
}
}
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