Commit 6f927a0c authored by pborate's avatar pborate

add new class Updatedwhpurchase for purchase dashboard.

updated Updatedwhsalessum for insert query

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@198984 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 52659cb6
package ibase.webitm.dashboard.fin.ejb;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
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 UpdateDWHPurchase implements Schedule
{
//DWHCompleteEJB dwhCompleteEJB = new DWHCompleteEJB();
@SuppressWarnings({ "null", "unchecked" })
public String transComplete(String scheduleXml) throws Exception
{
System.out.println(" INSIDE UpdateDWHPurchase transComplete "+scheduleXml );
PreparedStatement pstmt = null;
Document dom = null;
Document domAll = null;
ResultSet rs = null;
PreparedStatement pStmt = null;
Connection userDbConn = null;
try
{
String transDb = "";
JSONObject scheduleJson = xmlToJson("<Root>" + scheduleXml.toString()+ "</Root>");
JSONObject scheduleObject= scheduleJson.optJSONObject("SCHEDULE");
JSONObject userInfoXmlObject= scheduleObject.optJSONObject("USERINFOXML");
JSONObject userInfo= userInfoXmlObject.optJSONObject("UserInfo");
transDb= userInfo.optString("transDB");
System.out.println("transdb ::::::::::"+transDb);
ConnDriver connDriver = new ConnDriver();
userDbConn = connDriver.getConnectDB( transDb );
JSONArray transDataArray=getTransData(userDbConn);
deleteData(transDataArray,transDb);
E12GenericUtility genericUtility = new E12GenericUtility();
String sourceDateFormat=genericUtility.getDBDateFormat();
String targetDateFormat=genericUtility.getApplDateFormat();
System.out.println("::::::::::::::::::UpdateDWHPurchase after deletedata::::::::::: "+transDataArray.length());
for(int i = 0, tansdata = transDataArray.length(); i < tansdata; i++) {
try
{
pstmt = null;
rs = null;
StringBuffer sql = new StringBuffer();
StringBuffer updateSql = 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("UpdateDWHPurchase ==== Insert query for transaction of records in DWH_PURCHASE [" +refId+"] refSer ["+refSer+"] refDate ["+refDate+"]");
sql.append("INSERT ")
.append("INTO DWH_PURCHASE ")
.append(" ( ")
.append(" RECEIPT_NO, ")
.append(" RECEIPT_DATE, ")
.append(" SUPPLIER_CODE , ")
.append(" SUPPLIER_NAME , ")
.append(" CITY, ")
.append(" ITEM_CODE , ")
.append(" QUANTITY , ")
.append(" LOT_NO, ")
.append(" LOT_SL , ")
.append(" DISC_AMT , ")
.append(" RATE, ")
.append(" TAX_AMT , ")
.append(" NET_AMT , ")
.append(" INVOICE_NO , ")
.append(" INVOICE_DATE , ")
.append(" CHALLAN_NO , ")
.append(" CHALLAN_DATE , ")
.append(" TRANSPORTER_NAME , ")
.append(" LR_NO , ")
.append(" LR_DATE, ")
.append(" TRAN_TYPE , ")
.append(" PO_NO, ")
.append(" PO_DATE , ")
.append(" ITEM_SER , ")
.append(" TRAN_CODE , ")
.append(" NO_ART , ")
.append(" NET_WEIGHT , ")
.append(" REMARKS , ")
.append(" BATCH_NO , ")
.append(" MFG_DATE , ")
.append(" EXP_DATE , ")
.append(" QC_REQD ,")
.append(" SITE_CODE ")
.append(" ) ")
.append(" SELECT PR.TRAN_ID AS RECEIPT_NO, ")
.append(" PR.TRAN_DATE AS RECEIPT_DATE, ")
.append(" PR.SUPP_CODE AS SUPPLIER_CODE, ")
.append(" S.SUPP_NAME AS SUPPLIER_NAME, ")
.append(" S.CITY, ")
.append(" PRD.ITEM_CODE, ")
.append(" PRD.QUANTITY , ")
.append(" PRD.LOT_NO , ")
.append(" PRD.LOT_SL , ")
.append(" PR.DISCOUNT AS DISC_AMT, ")
.append(" PRD.RATE AS RATE, ")
.append(" PRD.TAX_AMT, ")
.append(" PRD.NET_AMT, ")
.append(" PR.INVOICE_NO, ")
.append(" PR.INVOICE_DATE, ")
.append(" PR.DC_NO AS CHALLAN_NO, ")
.append(" PR.DC_DATE AS CHALLAN_DATE, ")
.append(" (SELECT T.TRAN_NAME FROM TRANSPORTER T WHERE PR.TRAN_CODE =T.TRAN_CODE ")
.append(" ) AS TRAN_NAME, ")
.append(" PR.LR_NO, ")
.append(" PR.LR_DATE, ")
.append(" PR.TRAN_TYPE, ")
.append(" PR.PURC_ORDER AS PO_NO, ")
.append(" (SELECT PORD.ORD_DATE FROM PORDER PORD WHERE PR.PURC_ORDER =PORD.PURC_ORDER ")
.append(" ) AS PO_DATE, ")
.append(" PR.ITEM_SER, ")
.append(" PR.TRAN_CODE, ")
.append(" PRD.NO_ART, ")
.append(" PRD.NET_WEIGHT, ")
.append(" PR.REMARKS, ")
.append(" PRD.BATCH_NO, ")
.append(" PRD.MFG_DATE, ")
.append(" PRD.EXPIRY_DATE AS EXP_DATE, ")
.append(" PRD.QC_REQD, ")
.append(" PR.SITE_CODE ")
.append(" FROM PORCPDET PRD ")
.append(" INNER JOIN PORCP PR ")
.append(" ON PR.TRAN_ID =PRD.TRAN_ID ")
.append(" INNER JOIN SUPPLIER S ")
.append(" ON PR.SUPP_CODE =S.SUPP_CODE ")
.append(" WHERE PR.CONFIRMED ='Y' ")
.append(" AND PR.TRAN_ID ='"+refId+"' ")
.append(" AND PR.TRAN_DATE = TO_DATE('"+refDate+"','"+sourceDateFormat+"') ") ;
pstmt = userDbConn.prepareStatement(sql.toString());
rs = pstmt.executeQuery();
pstmt.close();
rs.close();
pstmt = null;
rs = null;
updateSql.append("UPDATE DWH_TRAN_LOAD SET UPDATE_STAT='C'")
.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) {
// TODO Auto-generated catch block
BaseLogger.log("0",null,null, "Inside UpdateDWHPurchase 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 UpdateDWHPurchase Exception["+ex+"]" );
if( pstmt != null )
{
pstmt.close();
pstmt = null;
}
if ( rs != null )
{
rs.close();
rs = null;
}
}
System.out.println("UpdateDWHPurchase Insert Update count :::::::::"+i);
}
userDbConn.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
BaseLogger.log("0",null,null, "Inside UpdateDWHPurchase sql Exception:::["+e+"]" );
}
catch (Exception ex) {
// TODO Auto-generated catch block
BaseLogger.log("0",null,null, "Inside UpdateDWHPurchase 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 JSONArray getTransData(Connection conn) throws Exception
{
String sql = "" ;
StringBuffer tranSql = new StringBuffer();
PreparedStatement pstmt = null;
ResultSet rs = null;
JSONArray transDataArray=new JSONArray();
try
{
sql = "select ref_id, ref_ser, ref_date from dwh_tran_load where update_stat = 'P' and ref_ser = 'P-RCP'";
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("UpdateDWHPurchase json data values in delete method ===== " + " REF_ID ::: " + refId + " REF_SER ::: " + refSer + " REF_DATE ::: " + refDate );
}
System.out.println("UpdateDWHPurchase 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");
if(tranData.contains(refId+"_"+refDate+"_"+refSer) ){
continue;
}
else{
tranData.add(refId+"_"+refDate+"_"+refSer);
System.out.println("UpdateDWHPurchase json data values in delete else ::::: "+tranData );
tempArray.put(transDataArray.getJSONObject(i));
}
}
transDataArray= tempArray;
System.out.println("UpdateDWHPurchase Inside transDataArray after ::::"+transDataArray);
pstmt.close();
rs.close();
pstmt = null;
rs = null;
} 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,String transDb) throws Exception
{
//System.out.println("INSIDE deleteData "+transDataArray);
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("UpdateDWHPurchase 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("UpdateDWHPurchase ==== Delete query for transaction of records in DWH_PURCHASE [" +refId+"] refSer ["+refSer+"] refDate ["+refDate+"]");
selectSql.append("SELECT * FROM DWH_PURCHASE WHERE RECEIPT_NO = '"+refId+"' AND RECEIPT_DATE = TO_DATE('"+refDate+"','"+sourceDateFormat+"')");
pstmt = conn.prepareStatement(selectSql.toString());
rs = pstmt.executeQuery();
if(rs.next()) {
deleteSql.append("DELETE FROM DWH_PURCHASE WHERE RECEIPT_NO = '"+refId+"' AND RECEIPT_DATE = TO_DATE('"+refDate+"','"+sourceDateFormat+"')");
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) {
// 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;
}
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)
{
// TODO Auto-generated catch block
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);
}
}
}
//System.out.println("jsonObj>>" + jsonObj);
// 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));
}
}
}
}
//System.out.println(xmlObj.getNodeName() + ">>childNodeName>" + jsonObj);
return jsonObj;
}
@Override
public String schedule(HashMap map) throws Exception {
// TODO Auto-generated method stub
BaseLogger.log("3",null,null,"schedule hashMap UpdateDWHPurchase::"+map);
return null;
}
@Override
public String schedule(String scheduleXml) throws Exception
{
BaseLogger.log("2",null,null,"schedule scheduleXml UpdateDWHPurchase::"+scheduleXml);
transComplete(scheduleXml);
return "";
}
@Override
public String schedulePriority(String wrkflwPriority) throws Exception {
// TODO Auto-generated method stub
return null;
}
}
...@@ -72,369 +72,481 @@ public class UpdateDWHSalesSum implements Schedule ...@@ -72,369 +72,481 @@ public class UpdateDWHSalesSum implements Schedule
String refDate =transDataObj.optString("ref_date"); String refDate =transDataObj.optString("ref_date");
//refDate=genericUtility.getValidDateString(refDate, sourceDateFormat, targetDateFormat); //refDate=genericUtility.getValidDateString(refDate, sourceDateFormat, targetDateFormat);
System.out.println("UpdateDWHSalesSum ==== Insert query for transaction of records in DWH_SALES_SUM [" +refId+"] refSer ["+refSer+"] refDate ["+refDate+"]"); System.out.println("UpdateDWHSalesSum ==== Insert query for transaction of records in DWH_SALES_SUM [" +refId+"] refSer ["+refSer+"] refDate ["+refDate+"]");
sql.append("INSERT INTO DWH_SALES_SUM ( ") sql.append(" INSERT ")
.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(" INTO DWH_SALES_SUM ")
.append(" ITEM_CODE, DOC_DATE,POS_CODE,SALES_QTY, GROSS_SALES_VALUE,FREE_QTY,FREE_SALES_VALUE, NET_SALES_QTY, ") .append(" ( ")
.append("NET_SALES_VALUE, REPL_QTY,REPL_VALUE, SALEABLE_RETURN_QTY, SALEABLE_RETURN_AMT, BREAKAGE_RETURN_QTY, BREAKAGE_RETURN_AMT, ") .append(" TRAN_ID, ")
.append("EXPIRY_RETURN_QTY, EXPIRY_RETURN_AMT, CORRECTION_RETURN_QTY, CORRECTION_RETURN_AMT, REPL_RETURN_QTY, " ) .append(" SITE_CODE, ")
.append("REPL_RETURN_VALUE, RETURN_QTY, GROSS_RETURN_VALUE, NET_RETURN_VALUE, HSN_CODE, PACK,DUE_DATE,REF_SER,CITY,ITEM_BRAND,ITEM_SER") .append(" CUST_CODE, ")
.append(" ITEM_CODE, ")
.append(" DOC_DATE, ")
.append(" POS_CODE, ")
.append(" SALES_QTY, ")
.append(" GROSS_SALES_VALUE, ")
.append(" FREE_QTY, ")
.append(" FREE_SALES_VALUE, ")
.append(" NET_SALES_QTY, ")
.append(" NET_SALES_VALUE, ")
.append(" REPL_QTY, ")
.append(" REPL_VALUE, ")
.append(" SALEABLE_RETURN_QTY, ")
.append(" SALEABLE_RETURN_AMT, ")
.append(" BREAKAGE_RETURN_QTY, ")
.append(" BREAKAGE_RETURN_AMT, ")
.append(" EXPIRY_RETURN_QTY, ")
.append(" EXPIRY_RETURN_AMT, ")
.append(" CORRECTION_RETURN_QTY, ")
.append(" CORRECTION_RETURN_AMT, ")
.append(" REPL_RETURN_QTY, ")
.append(" REPL_RETURN_VALUE, ")
.append(" RETURN_QTY, ")
.append(" GROSS_RETURN_VALUE, ")
.append(" NET_RETURN_VALUE, ")
.append(" CGST_RATE, ")
.append(" CGST_AMT, ")
.append(" SGST_RATE, ")
.append(" SGST_AMT, ")
.append(" IGST_RATE, ")
.append(" IGST_AMT, ")
.append(" DISC_AMT, ")
.append(" MRP, ")
.append(" PTR, ")
.append(" PTS, ")
.append(" HSN_CODE, ")
.append(" PACK, ")
.append(" DUE_DATE, ")
.append(" REF_SER, ")
.append(" CITY, ")
.append(" ITEM_BRAND, ")
.append(" ITEM_SER ")
.append(" ) ") .append(" ) ")
.append("SELECT SUM(A.CGST_AMT) AS cgst_amt, ") .append(" SELECT DSSV.TRAN_ID, ")
.append(" A.CGST_RATE, " ) .append(" DSSV.SITE_CODE AS SITE_CODE, ")
.append(" A.SGST_RATE, " ) .append(" DSSV.CUST_CODE AS CUST_CODE, ")
.append(" SUM(A.SGST_AMT) AS SGST_AMT, " ) .append(" DSSV.ITEM_CODE AS ITEM_CODE, ")
.append(" SUM(A.DISC_AMT) AS DISC_AMT, " ) .append(" DSSV.TRAN_DATE AS DOC_DATE, ")
.append(" A.IGST_RATE, " ) .append(" DSSV.POS_CODE AS POS_CODE, ")
.append(" SUM(A.IGST_AMT), " ) .append(" SUM( DSSV.SALES_QTY ) AS SALES_QTY, ")
.append(" A.MRP, " ) .append(" SUM( DSSV.GROSS_SALES_VALUE ) AS GROSS_SALES_VALUE, ")
.append(" A.PTR, " ) .append(" SUM( DSSV.FREE_QTY ) AS FREE_QTY, ")
.append(" A.PTS, " ) .append(" SUM( DSSV.FREE_SALES_VALUE ) AS FREE_SALES_VALUE, ")
.append(" A.TRAN_ID, " ) .append(" SUM( DSSV.SALES_QTY + DSSV.FREE_QTY + DSSV.REPL_QTY - DSSV.RETURN_QTY + DSSV.REPL_RETURN_QTY ) AS NET_SALES_QTY, ")
.append(" A.SITE_CODE AS SITE_CODE, " ) .append(" SUM( DSSV.GROSS_SALES_VALUE - DSSV.GROSS_RETURN_VALUE + DSSV.REPL_RETURN_VALUE ) AS NET_SALES_VALUE, ")
.append(" A.CUST_CODE AS CUST_CODE, " ) .append(" SUM( DSSV.REPL_QTY ) AS REPL_QTY, ")
.append(" A.ITEM_CODE AS ITEM_CODE, " ) .append(" SUM( DSSV.REPL_VALUE ) AS REPL_VALUE, ")
.append(" A.TRAN_DATE AS DOC_DATE, " ) .append(" SUM( DSSV.SALEABLE_RETURN_QTY ) AS SALEABLE_RETURN_QTY, ")
.append(" A.POS_CODE AS POS_CODE, " ) .append(" SUM( DSSV.SALEABLE_RETURN_AMT ) AS SALEABLE_RETURN_AMT, ")
.append(" SUM( A.SALES_QTY ) AS SALES_QTY, " ) .append(" SUM( DSSV.BREAKAGE_RETURN_QTY ) AS BREAKAGE_RETURN_QTY, ")
.append(" SUM( A.GROSS_SALES_VALUE ) AS GROSS_SALES_VALUE, " ) .append(" SUM( DSSV.BREAKAGE_RETURN_AMT ) AS BREAKAGE_RETURN_AMT, ")
.append(" SUM( A.FREE_QTY ) AS FREE_QTY, " ) .append(" SUM( DSSV.EXPIRY_RETURN_QTY ) AS EXPIRY_RETURN_QTY, ")
.append(" SUM( A.FREE_SALES_VALUE ) AS FREE_SALES_VALUE, " ) .append(" SUM( DSSV.EXPIRY_RETURN_AMT ) AS EXPIRY_RETURN_AMT, ")
.append(" SUM( SALES_QTY + FREE_QTY - RETURN_QTY + REPL_RETURN_QTY ) AS NET_SALES_QTY, " ) .append(" SUM( DSSV.CORRECTION_RETURN_QTY ) AS CORRECTION_RETURN_QTY, ")
.append(" SUM( A.GROSS_SALES_VALUE - A.NET_RETURN_VALUE + A.REPL_RETURN_VALUE ) AS NET_SALES_VALUE, " ) .append(" SUM( DSSV.CORRECTION_RETURN_AMT ) AS CORRECTION_RETURN_AMT, ")
.append(" SUM( A.REPL_QTY ) AS REPL_QTY, " ) .append(" SUM( DSSV.REPL_RETURN_QTY ) AS REPL_RETURN_QTY, ")
.append(" SUM( A.REPL_VALUE ) AS REPL_VALUE, " ) .append(" SUM( DSSV.REPL_RETURN_VALUE ) AS REPL_RETURN_VALUE, ")
.append(" SUM( A.SALEABLE_RETURN_QTY ) AS SALEABLE_RETURN_QTY, " ) .append(" SUM( DSSV.RETURN_QTY ) AS RETURN_QTY, ")
.append(" SUM( A.SALEABLE_RETURN_AMT ) AS SALEABLE_RETURN_AMT, " ) .append(" SUM( DSSV.GROSS_RETURN_VALUE - DSSV.DISC_AMT_RET) AS GROSS_RETURN_VALUE, ")
.append(" SUM( A.BREAKAGE_RETURN_QTY ) AS BREAKAGE_RETURN_QTY, " ) .append(" SUM( DSSV.NET_RETURN_VALUE ) AS NET_RETURN_VALUE, ")
.append(" SUM( A.BREAKAGE_RETURN_AMT ) AS BREAKAGE_RETURN_AMT, " ) .append(" DSSV.CGST_RATE, ")
.append(" SUM( A.EXPIRY_RETURN_QTY ) AS EXPIRY_RETURN_QTY, " ) .append(" SUM(DSSV.CGST_AMT) AS CGST_AMT, ")
.append(" SUM( A.EXPIRY_RETURN_AMT ) AS EXPIRY_RETURN_AMT, " ) .append(" DSSV.SGST_RATE, ")
.append(" SUM( A.CORRECTION_RETURN_QTY ) AS CORRECTION_RETURN_QTY, " ) .append(" SUM(DSSV.SGST_AMT) AS SGST_AMT, ")
.append(" SUM( A.CORRECTION_RETURN_AMT ) AS CORRECTION_RETURN_AMT, " ) .append(" DSSV.IGST_RATE, ")
.append(" SUM( A.REPL_RETURN_QTY ) AS REPL_RETURN_QTY, " ) .append(" SUM(DSSV.IGST_AMT) AS IGST_AMT, ")
.append(" SUM( A.REPL_RETURN_VALUE ) AS REPL_RETURN_VALUE, " ) .append(" SUM(DSSV.DISC_AMT) AS DISC_AMT, ")
.append(" SUM( A.RETURN_QTY ) AS RETURN_QTY, " ) .append(" DSSV.MRP, ")
.append(" SUM( A.GROSS_RETURN_VALUE ) AS GROSS_RETURN_VALUE, " ) .append(" DSSV.PTR, ")
.append(" SUM( A.NET_RETURN_VALUE ) AS NET_RETURN_VALUE, " ) .append(" DSSV.PTS, ")
.append(" A.HSN_CODE,A.PACK,A.DUE_DATE, " ) .append(" DSSV.HSN_CODE, ")
.append(" '"+refSer+"' AS REF_SER, " ) .append(" DSSV.PACK, ")
.append(" A.CITY, " ) .append(" DSSV.DUE_DATE, ")
.append(" A.ITEM_BRAND, A.ITEM_SER " ) .append(" DSSV.REF_SER, ")
.append(" FROM " ) .append(" DSSV.CITY, ")
.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(" DSSV.ITEM_BRAND, ")
.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(" DSSV.ITEM_SER ")
.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(" FROM ")
.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(" (SELECT A.TRAN_ID, ")
.append(" NVL(FN_RPICK_MRP_PTR(INVOICE_TRACE.ITEM_CODE,INVOICE.TRAN_DATE,INVOICE_TRACE.LOT_NO,'MRP_GST'),0) AS MRP, " ) .append(" A.SITE_CODE AS SITE_CODE, ")
.append(" NVL(FN_RPICK_MRP_PTR(INVOICE_TRACE.ITEM_CODE,INVOICE.TRAN_DATE,INVOICE_TRACE.LOT_NO,'PTR_GST'),0) AS PTR, " ) .append(" A.CUST_CODE AS CUST_CODE, ")
.append(" NVL(INVOICE_TRACE.RATE__STDUOM,0) * NVL(INVOICE_TRACE.EXCH_RATE,0) AS PTS, " ) .append(" A.ITEM_CODE AS ITEM_CODE, ")
.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(" A.TRAN_DATE AS TRAN_DATE, ")
.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(" A.POS_CODE AS POS_CODE, ")
.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(" A.SALES_QTY AS SALES_QTY, ")
.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(" ( A.GROSS_SALES_VALUE - A.DISC_AMT_INV ) AS GROSS_SALES_VALUE, ")
.append(" INVOICE.SITE_CODE, " ) .append(" A.FREE_QTY AS FREE_QTY, ")
.append(" INVOICE.CUST_CODE, " ) .append(" A.FREE_SALES_VALUE AS FREE_SALES_VALUE, ")
.append(" INVOICE_TRACE.ITEM_CODE, " ) .append(" A.REPL_QTY AS REPL_QTY, ")
.append(" INVOICE.TRAN_DATE, " ) .append(" ( A.REPL_VALUE - A.DISC_AMT_REPL ) AS REPL_VALUE, ")
.append(" ORG_STRUCTURE_CUST.POS_CODE AS POS_CODE, " ) .append(" A.SALEABLE_RETURN_QTY AS SALEABLE_RETURN_QTY, ")
.append(" DC.CITY, " ) .append(" A.SALEABLE_RETURN_AMT AS SALEABLE_RETURN_AMT, ")
.append(" INVOICE.INV_TYPE AS TRAN_TYPE, " ) .append(" A.BREAKAGE_RETURN_QTY AS BREAKAGE_RETURN_QTY, ")
.append(" INVOICE.INVOICE_ID AS TRAN_ID, " ) .append(" A.BREAKAGE_RETURN_AMT AS BREAKAGE_RETURN_AMT, ")
.append(" ITEM.HSN_NO AS HSN_CODE, " ) .append(" A.EXPIRY_RETURN_QTY AS EXPIRY_RETURN_QTY, ")
.append(" PACKING.DESCR AS PACK, " ) .append(" A.EXPIRY_RETURN_AMT AS EXPIRY_RETURN_AMT, ")
.append(" ITEM.PHY_ATTRIB_2 AS ITEM_BRAND, " ) .append(" A.CORRECTION_RETURN_QTY AS CORRECTION_RETURN_QTY, ")
.append(" ITEM.ITEM_SER, " ) .append(" A.CORRECTION_RETURN_AMT AS CORRECTION_RETURN_AMT, ")
.append(" TO_CHAR(INVOICE.DUE_DATE) AS DUE_DATE, " ) .append(" A.REPL_RETURN_QTY AS REPL_RETURN_QTY, ")
.append(" ( " ) .append(" ( A.REPL_RETURN_VALUE - A.DISC_AMT_REPL_RET ) AS REPL_RETURN_VALUE, ")
.append(" CASE " ) .append(" A.RETURN_QTY AS RETURN_QTY, ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'F', 'V') " ) .append(" ( A.GROSS_RETURN_VALUE - A.DISC_AMT_RET) AS GROSS_RETURN_VALUE, ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " ) .append(" A.NET_RETURN_VALUE AS NET_RETURN_VALUE, ")
.append(" THEN 0 " ) .append(" A.CGST_RATE, ")
.append(" ELSE INVOICE_TRACE.QUANTITY__STDUOM " ) .append(" A.CGST_AMT, ")
.append(" END ) AS SALES_QTY, " ) .append(" A.SGST_RATE, ")
.append(" ( " ) .append(" A.SGST_AMT, ")
.append(" CASE " ) .append(" A.IGST_RATE, ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " ) .append(" A.IGST_AMT, ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " ) .append(" A.DISC_AMT_INV, ")
.append(" THEN 0 " ) .append(" A.DISC_AMT_RET, ")
.append(" ELSE INVOICE_TRACE.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM " ) .append(" DISC_AMT_REPL, ")
.append(" END ) AS GROSS_SALES_VALUE, " ) .append(" DISC_AMT_REPL_RET, ")
.append(" ( " ) .append(" (A.DISC_AMT_INV + A.DISC_AMT_RET + A.DISC_AMT_REPL + A.DISC_AMT_REPL_RET) AS DISC_AMT, ")
.append(" CASE " ) .append(" A.MRP, ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'I', 'V') " ) .append(" A.PTR, ")
.append(" THEN INVOICE_TRACE.QUANTITY__STDUOM " ) .append(" A.PTS, ")
.append(" ELSE 0 " ) .append(" A.HSN_CODE, ")
.append(" END ) AS REPL_QTY, " ) .append(" (SELECT DESCR FROM PACKING WHERE PACK_CODE = A.PACK_CODE) AS PACK, ")
.append(" ( " ) .append(" A.DUE_DATE, ")
.append(" CASE " ) .append(" A.REF_SER, ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " ) .append(" A.CITY, ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " ) .append(" A.ITEM_BRAND, ")
.append(" THEN INVOICE_TRACE.QUANTITY__STDUOM " ) .append(" A.ITEM_SER ")
.append(" ELSE 0 " ) .append(" FROM ")
.append(" END ) AS FREE_QTY, " ) .append(" ( SELECT ")
.append(" '"+refSer+"' AS REF_SER, ")
.append(" ITEM.ITEM_SER, ")
.append(" INVOICE.INVOICE_ID AS TRAN_ID, ")
.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(" ITEM.HSN_NO AS HSN_CODE, ")
.append(" ITEM.PACK_CODE AS PACK_CODE, ")
.append(" DC.CITY AS CITY, ")
.append(" ITEM.PHY_ATTRIB_2 AS ITEM_BRAND, ")
.append(" TO_CHAR(INVOICE.DUE_DATE) AS DUE_DATE, ")
.append(" ( ") .append(" ( ")
.append(" CASE ") .append(" CASE ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'I', 'V') AND INVOICE_TRACE.RATE__STDUOM = 0 ") .append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'F', 'V') AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" THEN 0 ")
.append(" ELSE INVOICE_TRACE.QUANTITY__STDUOM ")
.append(" END ")
.append(" ) AS SALES_QTY, ")
.append(" ( ")
.append(" CASE ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" THEN 0 ")
.append(" ELSE INVOICE_TRACE.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ")
.append(" END ")
.append(" ) 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 ")
.append(" ) AS REPL_QTY, ")
.append(" ( ")
.append(" CASE ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" THEN INVOICE_TRACE.QUANTITY__STDUOM ")
.append(" ELSE 0 ")
.append(" END ")
.append(" ) AS FREE_QTY, ")
.append(" ( ")
.append(" CASE ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.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 ) ") .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 ) ")
.append(" ELSE 0 ") .append(" ELSE 0 ")
.append(" END ) AS FREE_SALES_VALUE, ") .append(" END ")
.append(" ) AS FREE_SALES_VALUE, ")
.append(" ( ") .append(" ( ")
.append(" CASE ") .append(" CASE ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'I', 'V') AND INVOICE_TRACE.RATE__STDUOM = 0 ") .append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'I', 'V') AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.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 ) ") .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 ) ")
.append(" ELSE 0 ") .append(" ELSE 0 ")
.append(" END ) AS REPL_VALUE, ") .append(" END ")
.append(" ) AS REPL_VALUE, ")
.append(" INVOICE_TRACE.NET_AMT AS NET_SALES_VALUE, ") .append(" INVOICE_TRACE.NET_AMT AS NET_SALES_VALUE, ")
.append(" 0 AS SALEABLE_RETURN_QTY, " ) .append(" 0 AS SALEABLE_RETURN_QTY, ")
.append(" 0 AS SALEABLE_RETURN_AMT, " ) .append(" 0 AS SALEABLE_RETURN_AMT, ")
.append(" 0 AS BREAKAGE_RETURN_QTY, " ) .append(" 0 AS BREAKAGE_RETURN_QTY, ")
.append(" 0 AS BREAKAGE_RETURN_AMT, " ) .append(" 0 AS BREAKAGE_RETURN_AMT, ")
.append(" 0 AS EXPIRY_RETURN_QTY, " ) .append(" 0 AS EXPIRY_RETURN_QTY, ")
.append(" 0 AS EXPIRY_RETURN_AMT, " ) .append(" 0 AS EXPIRY_RETURN_AMT, ")
.append(" 0 AS CORRECTION_RETURN_QTY, " ) .append(" 0 AS CORRECTION_RETURN_QTY, ")
.append(" 0 AS CORRECTION_RETURN_AMT, " ) .append(" 0 AS CORRECTION_RETURN_AMT, ")
.append(" 0 AS REPL_RETURN_QTY, " ) .append(" 0 AS REPL_RETURN_QTY, ")
.append(" 0 AS REPL_RETURN_VALUE, " ) .append(" 0 AS REPL_RETURN_VALUE, ")
.append(" 0 AS RETURN_QTY, " ) .append(" 0 AS RETURN_QTY, ")
.append(" 0 AS GROSS_RETURN_VALUE, " ) .append(" 0 AS GROSS_RETURN_VALUE, ")
.append(" 0 AS NET_RETURN_VALUE, " ) .append(" 0 AS NET_RETURN_VALUE, ")
.append(" 0 AS FREE_RETURN_QTY, " ) .append(" 0 AS FREE_RETURN_QTY, ")
.append(" 0 AS FREE_RET_VALUE " ) .append(" 0 AS FREE_RET_VALUE, ")
.append(" FROM INVOICE " ) .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(" INNER JOIN INVOICE_TRACE " ) .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, ")
.append(" ON INVOICE.INVOICE_ID = INVOICE_TRACE.INVOICE_ID " ) .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(" INNER JOIN SITE " ) .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(" ON INVOICE.SITE_CODE = SITE.SITE_CODE " ) .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(" INNER JOIN ITEM " ) .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(" ON INVOICE_TRACE.ITEM_CODE = ITEM.ITEM_CODE " ) .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(" LEFT OUTER JOIN CUSTOMER DC ON INVOICE.CUST_CODE = DC.CUST_CODE " ) .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_INV, ")
.append(" LEFT OUTER JOIN ORG_STRUCTURE_CUST " ) .append(" 0 AS DISC_AMT_RET, ")
.append(" ON INVOICE.CUST_CODE = ORG_STRUCTURE_CUST.CUST_CODE " ) .append(" ( ")
.append(" INNER JOIN PACKING ON ITEM.PACK_CODE=PACKING.PACK_CODE " ) .append(" CASE ")
.append(" WHERE INVOICE.CONFIRMED = 'Y' " ) .append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') IN ( 'I', 'V') AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" AND ITEM.ITEM_SER = ORG_STRUCTURE_CUST.TABLE_NO " ) .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) ")
.append(" AND INVOICE.TRAN_DATE = TO_DATE('"+refDate+"','"+sourceDateFormat+"')") .append(" + NVL(FN_RGET_TAX_NEW('S-INV', INVOICE_TRACE.INVOICE_ID, CAST(INVOICE_TRACE.LINE_NO AS CHAR(3)),'DISC_GST',' ',' ','T')*(-1),0)) ) ")
.append(" AND INVOICE.INVOICE_ID ='"+refId+"' " ) .append(" ELSE 0 ")
.append(" UNION ALL " ) .append(" END ")
.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(" ) AS DISC_AMT_REPL, ")
.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(" 0 AS DISC_AMT_REPL_RET, ")
.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_RPICK_MRP_PTR(INVOICE_TRACE.ITEM_CODE,INVOICE.TRAN_DATE,INVOICE_TRACE.LOT_NO,'MRP_GST'),0) AS MRP, ")
.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(INVOICE_TRACE.ITEM_CODE,INVOICE.TRAN_DATE,INVOICE_TRACE.LOT_NO,'PTR_GST'),0) AS PTR, ")
.append(" NVL(FN_RPICK_MRP_PTR(SRETURNDET.ITEM_CODE, SRETURN.TRAN_DATE,INVOICE_TRACE.LOT_NO,'MRP_GST'),0) AS MRP, " ) .append(" NVL(INVOICE_TRACE.RATE__STDUOM,0) * NVL(INVOICE_TRACE.EXCH_RATE,0) AS PTS ")
.append(" NVL(FN_RPICK_MRP_PTR(SRETURNDET.ITEM_CODE, SRETURN.TRAN_DATE,INVOICE_TRACE.LOT_NO,'PTR_GST'),0) AS PTR, " ) .append(" FROM INVOICE ")
.append(" NVL(INVOICE_TRACE.RATE__STDUOM,0) * NVL(INVOICE_TRACE.EXCH_RATE,0) AS PTS, " ) .append(" INNER JOIN INVOICE_TRACE ON INVOICE.INVOICE_ID = INVOICE_TRACE.INVOICE_ID ")
.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(" INNER JOIN SITE ON INVOICE.SITE_CODE = SITE.SITE_CODE ")
.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(" INNER JOIN ITEM ON INVOICE_TRACE.ITEM_CODE = ITEM.ITEM_CODE ")
.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(" LEFT OUTER JOIN CUSTOMER DC ON INVOICE.CUST_CODE = DC.CUST_CODE ")
.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(" LEFT OUTER JOIN ORG_STRUCTURE_CUST ON INVOICE.CUST_CODE = ORG_STRUCTURE_CUST.CUST_CODE ")
.append(" SRETURN.SITE_CODE, " ) .append(" WHERE INVOICE.CONFIRMED = 'Y' ")
.append(" SRETURN.CUST_CODE, " ) .append(" AND ITEM.ITEM_SER = ORG_STRUCTURE_CUST.TABLE_NO ")
.append(" SRETURNDET.ITEM_CODE, " ) .append(" AND ORG_STRUCTURE_CUST.VERSION_ID IN (SELECT v.version_id FROM version v WHERE to_date(sysdate) BETWEEN v.eff_from AND v.valid_upto) ")
.append(" SRETURN.TRAN_DATE, " ) .append(" AND INVOICE.TRAN_DATE = TO_DATE('"+refDate+"','"+sourceDateFormat+"') ")
.append(" ORG_STRUCTURE_CUST.POS_CODE AS POS_CODE, " ) .append(" AND INVOICE.INVOICE_ID ='"+refId+"' ")
.append(" DC.CITY, " ) .append(" UNION ALL ")
.append(" SRETURN.TRAN_TYPE, " ) .append(" SELECT ")
.append(" SRETURN.TRAN_ID, " ) .append(" '"+refSer+"' AS REF_SER, ")
.append(" ITEM.HSN_NO AS HSN_CODE, " ) .append(" ITEM.ITEM_SER, ")
.append(" PACKING.DESCR AS PACK, " ) .append(" SRETURN.TRAN_ID, ")
.append(" ITEM.PHY_ATTRIB_2 AS ITEM_BRAND, " ) .append(" SRETURN.SITE_CODE, ")
.append(" ITEM.ITEM_SER, " ) .append(" SRETURN.CUST_CODE, ")
.append(" '' DUE_DATE, " ) .append(" SRETURNDET.ITEM_CODE, ")
.append(" 0 AS SALES_QTY, " ) .append(" SRETURN.TRAN_DATE, ")
.append(" 0 AS GROSS_SALES_VALUE, " ) .append(" ORG_STRUCTURE_CUST.POS_CODE AS POS_CODE, ")
.append(" 0 AS REPL_QTY, " ) .append(" SRETURN.TRAN_TYPE, ")
.append(" 0 AS FREE_QTY, " ) .append(" ITEM.HSN_NO AS HSN_CODE, ")
.append(" 0 AS FREE_SALES_VALUE, " ) .append(" ITEM.PACK_CODE AS PACK_CODE, ")
.append(" 0 AS REPL_VALUE, " ) .append(" ITEM.PHY_ATTRIB_2 AS ITEM_BRAND, ")
.append(" 0 AS NET_SALES_VALUE, " ) .append(" DC.CITY AS CITY, ")
.append(" ( " ) .append(" '' DUE_DATE, ")
.append(" CASE " ) .append(" 0 AS SALES_QTY, ")
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " ) .append(" 0 AS GROSS_SALES_VALUE, ")
.append(" AND SRETURN.TRAN_TYPE IN('SR') " ) .append(" 0 AS REPL_QTY, ")
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM, ( " ) .append(" 0 AS FREE_QTY, ")
.append(" CASE " ) .append(" 0 AS FREE_SALES_VALUE, ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " ) .append(" 0 AS REPL_VALUE, ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " ) .append(" 0 AS NET_SALES_VALUE, ")
.append(" THEN 0 " ) .append(" ( ")
.append(" ELSE SRETURNDET.QUANTITY__STDUOM " ) .append(" CASE ")
.append(" END) ) " ) .append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ")
.append(" ELSE 0 " ) .append(" AND SRETURN.TRAN_TYPE IN('SR') ")
.append(" END) AS SALEABLE_RETURN_QTY, " ) .append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM, ( ")
.append(" ( " ) .append(" CASE ")
.append(" CASE " ) .append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ")
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " ) .append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" AND SRETURN.TRAN_TYPE IN('SR') " ) .append(" THEN 0 ")
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, ( " ) .append(" ELSE SRETURNDET.QUANTITY__STDUOM ")
.append(" CASE " ) .append(" END) ) ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " ) .append(" ELSE 0 ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " ) .append(" END) AS SALEABLE_RETURN_QTY, ")
.append(" THEN 0 " ) .append(" ( ")
.append(" ELSE SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM " ) .append(" CASE ")
.append(" END) ) " ) .append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ")
.append(" ELSE 0 " ) .append(" AND SRETURN.TRAN_TYPE IN('SR') ")
.append(" END) AS SALEABLE_RETURN_AMT, " ) .append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, ( ")
.append(" ( " ) .append(" CASE ")
.append(" CASE " ) .append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ")
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " ) .append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" AND SRETURN.TRAN_TYPE IN('BR', 'DR') " ) .append(" THEN 0 ")
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM, ( " ) .append(" ELSE SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ")
.append(" CASE " ) .append(" END) ) ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " ) .append(" ELSE 0 ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " ) .append(" END) AS SALEABLE_RETURN_AMT, ")
.append(" THEN 0 " ) .append(" ( ")
.append(" ELSE SRETURNDET.QUANTITY__STDUOM " ) .append(" CASE ")
.append(" END) ) " ) .append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ")
.append(" ELSE 0 " ) .append(" AND SRETURN.TRAN_TYPE IN('BR', 'DR') ")
.append(" END) AS BREAKAGE_RETURN_QTY, " ) .append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM, ( ")
.append(" ( " ) .append(" CASE ")
.append(" CASE " ) .append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ")
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " ) .append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" AND SRETURN.TRAN_TYPE IN('BR', 'DR') " ) .append(" THEN 0 ")
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, ( " ) .append(" ELSE SRETURNDET.QUANTITY__STDUOM ")
.append(" CASE " ) .append(" END) ) ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " ) .append(" ELSE 0 ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " ) .append(" END) AS BREAKAGE_RETURN_QTY, ")
.append(" THEN 0 " ) .append(" ( ")
.append(" ELSE SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM " ) .append(" CASE ")
.append(" END) ) " ) .append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ")
.append(" ELSE 0 " ) .append(" AND SRETURN.TRAN_TYPE IN('BR', 'DR') ")
.append(" END) AS BREAKAGE_RETURN_AMT, " ) .append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, ( ")
.append(" ( " ) .append(" CASE ")
.append(" CASE " ) .append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ")
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " ) .append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" AND SRETURN.TRAN_TYPE = 'ER' " ) .append(" THEN 0 ")
.append(" AND SRETURNDET.DISCOUNT <> 100 " ) .append(" ELSE SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ")
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM, ( " ) .append(" END) ) ")
.append(" CASE " ) .append(" ELSE 0 ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " ) .append(" END) AS BREAKAGE_RETURN_AMT, ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 " ) .append(" ( ")
.append(" THEN 0 " ) .append(" CASE ")
.append(" ELSE SRETURNDET.QUANTITY__STDUOM " ) .append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ")
.append(" END) ) " ) .append(" AND SRETURN.TRAN_TYPE = 'ER' ")
.append(" ELSE 0 " ) .append(" AND SRETURNDET.DISCOUNT <> 100 ")
.append(" END) AS EXPIRY_RETURN_QTY, " ) .append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM, ( ")
.append(" ( " ) .append(" CASE ")
.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(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ") .append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" THEN 0 " ) .append(" THEN 0 ")
.append(" ELSE SRETURNDET.QUANTITY__STDUOM ") .append(" ELSE SRETURNDET.QUANTITY__STDUOM ")
.append(" END) ) " ) .append(" END) ) ")
.append(" ELSE 0 " ) .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(" END) AS RETURN_QTY, ")
.append(" ( " ) .append(" ( ")
.append(" CASE " ) .append(" CASE ")
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ") .append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ")
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, ( " ) .append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, SRETURNDET.QUANTITY__STDUOM * SRETURNDET.RATE__STDUOM, ( ")
.append(" CASE ") .append(" CASE ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " ) .append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ") .append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" THEN 0 ") .append(" THEN 0 ")
.append(" ELSE SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ") .append(" ELSE SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ")
.append(" END) ) ") .append(" END) ) ")
.append(" ELSE 0 ") .append(" ELSE 0 ")
.append(" END) AS GROSS_RETURN_VALUE, " ) .append(" END) AS GROSS_RETURN_VALUE, ")
.append(" SRETURNDET.NET_AMT AS NET_RETURN_VALUE, ") .append(" SRETURNDET.NET_AMT AS NET_RETURN_VALUE, ")
.append(" ( " ) .append(" ( ")
.append(" CASE ") .append(" CASE ")
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ") .append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' ")
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, 0, ( ") .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(" CASE ")
.append(" WHEN SRETURNDET.RET_REP_FLAG = 'R' " ) .append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ")
.append(" THEN DECODE(INVOICE_TRACE.INVOICE_ID, NULL, 0, ( " ) .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(" CASE ")
.append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' " ) .append(" WHEN COALESCE(INVOICE_TRACE.LINE_TYPE,'C') = 'F' ")
.append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ") .append(" AND INVOICE_TRACE.RATE__STDUOM = 0 ")
.append(" THEN SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ") .append(" THEN SRETURNDET.QUANTITY__STDUOM * INVOICE_TRACE.RATE__STDUOM ")
.append(" ELSE 0 " ) .append(" ELSE 0 ")
.append(" END) ) " ) .append(" END) ) ")
.append(" ELSE 0 " ) .append(" ELSE 0 ")
.append(" END AS FREE_RET_VALUE ") .append(" END) AS FREE_RET_VALUE, ")
.append(" FROM SRETURN " ) .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, ")
.append(" INNER JOIN SRETURNDET " ) .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, ")
.append(" ON SRETURN.TRAN_ID = SRETURNDET.TRAN_ID " ) .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, ")
.append(" INNER JOIN SITE " ) .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, ")
.append(" ON SRETURN.SITE_CODE = SITE.SITE_CODE " ) .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, ")
.append(" INNER JOIN ITEM " ) .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, ")
.append(" ON SRETURNDET.ITEM_CODE = ITEM.ITEM_CODE " ) .append(" 0 AS DISC_AMT_INV, ")
.append(" LEFT OUTER JOIN CUSTOMER DC ON SRETURN.CUST_CODE = DC.CUST_CODE " ) .append(" ((NVL((((NVL(SRETURNDET.QUANTITY,0)*NVL(SRETURNDET.RATE__STDUOM,0)*NVL(SRETURN.EXCH_RATE,0))*NVL(SRETURNDET.DISCOUNT,0))/100),0) ")
.append(" LEFT OUTER JOIN ORG_STRUCTURE_CUST " ) .append(" + 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, ")
.append(" ON SRETURN.CUST_CODE = ORG_STRUCTURE_CUST.CUST_CODE " ) .append(" 0 AS DISC_AMT_REPL, ")
.append(" LEFT OUTER JOIN INVOICE_TRACE " ) .append(" DECODE(SRETURNDET.RET_REP_FLAG,'P',((NVL((((NVL(SRETURNDET.QUANTITY,0)*NVL(SRETURNDET.RATE__STDUOM,0)*NVL(SRETURN.EXCH_RATE,0))*NVL ")
.append(" ON SRETURN.INVOICE_ID = INVOICE_TRACE.INVOICE_ID " ) .append(" (SRETURNDET.DISCOUNT,0))/100),0) ")
.append(" AND SRETURNDET.INVOICE_ID = INVOICE_TRACE.INVOICE_ID " ) .append(" + 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, ")
.append(" AND SRETURNDET.LINE_NO__INV = INVOICE_TRACE.LINE_NO " ) .append(" NVL(FN_RPICK_MRP_PTR(SRETURNDET.ITEM_CODE, SRETURN.TRAN_DATE,SRETURNDET.LOT_NO,'MRP_GST'),0) AS MRP, ")
.append(" INNER JOIN PACKING ON ITEM.PACK_CODE=PACKING.PACK_CODE " ) .append(" NVL(FN_RPICK_MRP_PTR(SRETURNDET.ITEM_CODE, SRETURN.TRAN_DATE,SRETURNDET.LOT_NO,'PTR_GST'),0) AS PTR, ")
.append(" WHERE SRETURN.CONFIRMED = 'Y' " ) .append(" NVL(SRETURNDET.RATE__STDUOM,0) * NVL(SRETURN.EXCH_RATE,0) AS PTS ")
.append(" AND ITEM.ITEM_SER = ORG_STRUCTURE_CUST.TABLE_NO " ) .append(" FROM SRETURN ")
.append(" AND SRETURN.TRAN_DATE = TO_DATE('"+refDate+"','"+sourceDateFormat+"')" ) .append(" INNER JOIN SRETURNDET ON SRETURN.TRAN_ID = SRETURNDET.TRAN_ID ")
.append(" AND SRETURN.TRAN_ID ='"+refId+"' " ) .append(" INNER JOIN SITE ON SRETURN.SITE_CODE = SITE.SITE_CODE ")
.append(" INNER JOIN ITEM ON SRETURNDET.ITEM_CODE = ITEM.ITEM_CODE ")
.append(" LEFT OUTER JOIN CUSTOMER DC ON SRETURN.CUST_CODE = DC.CUST_CODE ")
.append(" LEFT OUTER JOIN ORG_STRUCTURE_CUST ON SRETURN.CUST_CODE = ORG_STRUCTURE_CUST.CUST_CODE ")
.append(" LEFT OUTER JOIN INVOICE_TRACE ON SRETURN.INVOICE_ID = INVOICE_TRACE.INVOICE_ID ")
.append(" AND SRETURNDET.INVOICE_ID = INVOICE_TRACE.INVOICE_ID ")
.append(" AND SRETURNDET.LINE_NO__INVTRACE = INVOICE_TRACE.LINE_NO ")
.append(" WHERE SRETURN.CONFIRMED = 'Y' ")
.append(" AND ITEM.ITEM_SER = ORG_STRUCTURE_CUST.TABLE_NO ")
.append(" AND ORG_STRUCTURE_CUST.VERSION_ID IN (SELECT v.version_id FROM version v WHERE to_date(sysdate) BETWEEN v.eff_from AND v.valid_upto) ")
.append(" AND SRETURN.TRAN_DATE = TO_DATE('"+refDate+"','"+sourceDateFormat+"') ")
.append(" AND SRETURN.TRAN_ID ='"+refId+"' ")
.append(" ) A ") .append(" ) A ")
.append(" GROUP BY A.SITE_CODE, " ) .append(" ) DSSV ")
.append(" A.CUST_CODE, " ) .append(" GROUP BY DSSV.TRAN_ID, ")
.append(" A.ITEM_CODE, " ) .append(" DSSV.SITE_CODE, ")
.append(" A.TRAN_DATE, " ) .append(" DSSV.CUST_CODE, ")
.append(" A.POS_CODE, " ) .append(" DSSV.ITEM_CODE, ")
.append(" A.CGST_RATE, " ) .append(" DSSV.TRAN_DATE, ")
.append(" A.SGST_RATE, " ) .append(" DSSV.MRP, ")
.append(" A.MRP, " ) .append(" DSSV.PTR, ")
.append(" A.PTR, " ) .append(" DSSV.PTS, ")
.append(" A.PTS,") .append(" DSSV.POS_CODE, ")
.append(" A.TRAN_ID,") .append(" DSSV.HSN_CODE, ")
.append(" A.HSN_CODE,A.PACK, A.DUE_DATE,A.ITEM_BRAND,A.CITY, A.IGST_RATE,A.ITEM_SER "); .append(" DSSV.PACK, ")
.append(" DSSV.DUE_DATE, ")
.append(" DSSV.ITEM_BRAND, ")
.append(" DSSV.CITY, ")
.append(" DSSV.CGST_RATE, ")
.append(" DSSV.SGST_RATE, ")
.append(" DSSV.IGST_RATE, ")
.append(" DSSV.REF_SER, ")
.append(" DSSV.ITEM_SER ");
pstmt = userDbConn.prepareStatement(sql.toString()); pstmt = userDbConn.prepareStatement(sql.toString());
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
...@@ -538,7 +650,7 @@ public class UpdateDWHSalesSum implements Schedule ...@@ -538,7 +650,7 @@ public class UpdateDWHSalesSum implements Schedule
try try
{ {
sql = "select ref_id, ref_ser, ref_date from dwh_tran_load where update_stat = 'P' "; sql = "select ref_id, ref_ser, ref_date from dwh_tran_load where update_stat = 'P' and ref_ser in('S-INV','S-RET') ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) while(rs.next())
......
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