Commit 749eba1c authored by steurwadkar's avatar steurwadkar

F17ABAS001 source code commit


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@106556 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 3e851a35
package ibase.webitm.ejb.gst; package ibase.webitm.ejb.gst;
import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.security.PrivateKey; import java.security.PrivateKey;
...@@ -28,6 +29,7 @@ import com.mashape.unirest.http.Unirest; ...@@ -28,6 +29,7 @@ import com.mashape.unirest.http.Unirest;
import com.mashape.unirest.request.HttpRequest; import com.mashape.unirest.request.HttpRequest;
import com.sun.jmx.snmp.Timestamp; import com.sun.jmx.snmp.Timestamp;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean; import ibase.utility.UserInfoBean;
import ibase.webitm.bean.gst.APICallData; import ibase.webitm.bean.gst.APICallData;
...@@ -1018,12 +1020,16 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1018,12 +1020,16 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
{ {
recType = "2"; recType = "2";
} }
else if("GSTR3".equalsIgnoreCase(recordType) || "GSTR3B".equalsIgnoreCase(recordType)) else if("GSTR3".equalsIgnoreCase(recordType))
{ {
recType = "3"; recType = "3";
} }
else if("GSTR3B".equalsIgnoreCase(recordType))
{
recType = "6";
}
if("SAVE".equalsIgnoreCase(dataAction) && !"GSTR3B".equalsIgnoreCase(recordType)) if("SAVE".equalsIgnoreCase(dataAction))
{ {
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'P' AND PRD_CODE = ? AND SITE_CODE = ?"; sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'P' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -1098,7 +1104,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1098,7 +1104,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
rs = null; rs = null;
} }
} }
if("SUBMIT".equalsIgnoreCase(dataAction) && !"GSTR3B".equalsIgnoreCase(recordType)) if("SUBMIT".equalsIgnoreCase(dataAction))
{ {
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'S' AND PRD_CODE = ? AND SITE_CODE = ?"; sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'S' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -1173,7 +1179,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1173,7 +1179,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
rs = null; rs = null;
} }
} }
if("FILE".equalsIgnoreCase(dataAction) && !"GSTR3B".equalsIgnoreCase(recordType)) if("FILE".equalsIgnoreCase(dataAction))
{ {
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'S' AND PRD_CODE = ? AND SITE_CODE = ?"; sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'S' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -1414,12 +1420,74 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1414,12 +1420,74 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
} }
else if("GET_GSTR3B_DATA".equalsIgnoreCase(action))
{
String gstr3bXMLStr = "", siteCode = "", periodCode = "";
siteCode = reqParamMap.get("site_code");
periodCode = reqParamMap.get("period_code");
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") == 0)
{
isDataError = true;
errorCode = "VTNOGSDATA";
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
if(!isDataError)
{
gstr3bXMLStr = getGSTR3BXMLData(siteCode, periodCode, conn);
String xslFilePath = CommonConstants.APPLICATION_CONTEXT + "webitm" + File.separator + "xsl"+ File.separator + "Standard"+ File.separator + "WIZARD" + File.separator + "Galaxy"+ File.separator + "gstr3bdata_wiz_en_US_A.xsl";
retResponseXML = e12GenericUtility.transformToString( xslFilePath, gstr3bXMLStr, CommonConstants.APPLICATION_CONTEXT + File.separator + "temp", "Output", ".html" );
}
else
{
sql = "SELECT MSG_DESCR FROM MESSAGES WHERE MSG_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, errorCode);
rs = pstmt.executeQuery();
if(rs.next())
{
dataErrMsg = rs.getString("MSG_DESCR");
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
retResponseXML = "<root><error_message><![CDATA[Message : "+dataErrMsg+"]]></error_message></root>";
}
}
} }
catch (Exception e) catch (Exception e)
{ {
System.out.println("GSTDataSubmitWizEJB.handleRequest()["+e.getMessage()+"]"); System.out.println("GSTDataSubmitWizEJB.handleRequest()["+e.getMessage()+"]");
e.printStackTrace(); e.printStackTrace();
retResponseXML = "<root><message><![CDATA[Message :"+e.getMessage()+"]]></message></root>"; retResponseXML = "<root><message><![CDATA[Message :"+e.getMessage()+"]]></message></root>";
throw new ITMException(e);
} }
finally finally
{ {
...@@ -2284,6 +2352,362 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2284,6 +2352,362 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
return retString; return retString;
} }
private String getGSTR3BXMLData(String siteCode, String periodCode, Connection conn) throws ITMException
{
String retString = "";
StringBuffer xmlStringBuff = new StringBuffer();
int domId = 0;
double interAmount = 0.0, intraAmount = 0.0;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
xmlStringBuff.append("<root>");
xmlStringBuff.append("<section domID = '"+(++domId)+"'>");
sql = " SELECT GDH.TRAN_TYPE,SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('01','02','03','04','05') GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
xmlStringBuff.append("<summary_data>");
xmlStringBuff.append("<tran_type><![CDATA["+checkNull(rs.getString("TRAN_TYPE"))+"]]></tran_type>");
xmlStringBuff.append("<taxable_amt><![CDATA["+rs.getDouble("TAXABLE_AMT")+"]]></taxable_amt>");
xmlStringBuff.append("<igst_amt><![CDATA["+rs.getDouble("IGST_AMT")+"]]></igst_amt>");
xmlStringBuff.append("<cgst_amt><![CDATA["+rs.getDouble("CGST_AMT")+"]]></cgst_amt>");
xmlStringBuff.append("<sgst_amt><![CDATA["+rs.getDouble("SGST_AMT")+"]]></sgst_amt>");
xmlStringBuff.append("<cess_amt><![CDATA["+rs.getDouble("CESS_AMT")+"]]></cess_amt>");
xmlStringBuff.append("</summary_data>");
}
closeResources(rs,pstmt);
xmlStringBuff.append("</section>");
xmlStringBuff.append("<section domID = '"+(++domId)+"'>");
sql = " SELECT GDH.TRAN_TYPE, GDH.GST_CODE, S.DESCR, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD, STATE S"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID AND GDH.GST_CODE = S.GST_CODE "
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('06') GROUP BY TRAN_TYPE, GDH.GST_CODE, S.DESCR";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
xmlStringBuff.append("<unreg_data>");
while(rs.next())
{
xmlStringBuff.append("<data>");
xmlStringBuff.append("<tran_type><![CDATA["+checkNull(rs.getString("TRAN_TYPE"))+"]]></tran_type>");
xmlStringBuff.append("<gst_code><![CDATA["+checkNull(rs.getString("GST_CODE"))+"]]></gst_code>");
xmlStringBuff.append("<state_descr><![CDATA["+checkNull(rs.getString("DESCR"))+"]]></state_descr>");
xmlStringBuff.append("<taxable_amt><![CDATA["+rs.getDouble("TAXABLE_AMT")+"]]></taxable_amt>");
xmlStringBuff.append("<igst_amt><![CDATA["+rs.getDouble("IGST_AMT")+"]]></igst_amt>");
xmlStringBuff.append("<cgst_amt><![CDATA["+rs.getDouble("CGST_AMT")+"]]></cgst_amt>");
xmlStringBuff.append("<sgst_amt><![CDATA["+rs.getDouble("SGST_AMT")+"]]></sgst_amt>");
xmlStringBuff.append("<cess_amt><![CDATA["+rs.getDouble("CESS_AMT")+"]]></cess_amt>");
xmlStringBuff.append("</data>");
}
closeResources(rs,pstmt);
xmlStringBuff.append("</unreg_data>");
sql = " SELECT GDH.TRAN_TYPE, GDH.GST_CODE, S.DESCR, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD, STATE S"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID AND GDH.GST_CODE = S.GST_CODE "
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('07') GROUP BY TRAN_TYPE, GDH.GST_CODE, S.DESCR";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
xmlStringBuff.append("<comp_data>");
while(rs.next())
{
xmlStringBuff.append("<data>");
xmlStringBuff.append("<tran_type><![CDATA["+checkNull(rs.getString("TRAN_TYPE"))+"]]></tran_type>");
xmlStringBuff.append("<gst_code><![CDATA["+checkNull(rs.getString("GST_CODE"))+"]]></gst_code>");
xmlStringBuff.append("<state_descr><![CDATA["+checkNull(rs.getString("DESCR"))+"]]></state_descr>");
xmlStringBuff.append("<taxable_amt><![CDATA["+rs.getDouble("TAXABLE_AMT")+"]]></taxable_amt>");
xmlStringBuff.append("<igst_amt><![CDATA["+rs.getDouble("IGST_AMT")+"]]></igst_amt>");
xmlStringBuff.append("<cgst_amt><![CDATA["+rs.getDouble("CGST_AMT")+"]]></cgst_amt>");
xmlStringBuff.append("<sgst_amt><![CDATA["+rs.getDouble("SGST_AMT")+"]]></sgst_amt>");
xmlStringBuff.append("<cess_amt><![CDATA["+rs.getDouble("CESS_AMT")+"]]></cess_amt>");
xmlStringBuff.append("</data>");
}
closeResources(rs,pstmt);
xmlStringBuff.append("</comp_data>");
sql = " SELECT GDH.TRAN_TYPE, GDH.GST_CODE, S.DESCR, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD, STATE S"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID AND GDH.GST_CODE = S.GST_CODE "
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('08') GROUP BY TRAN_TYPE, GDH.GST_CODE, S.DESCR ORDER BY GDH.GST_CODE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
xmlStringBuff.append("<uin_data>");
while(rs.next())
{
xmlStringBuff.append("<data>");
xmlStringBuff.append("<tran_type><![CDATA["+checkNull(rs.getString("TRAN_TYPE"))+"]]></tran_type>");
xmlStringBuff.append("<gst_code><![CDATA["+checkNull(rs.getString("GST_CODE"))+"]]></gst_code>");
xmlStringBuff.append("<state_descr><![CDATA["+checkNull(rs.getString("DESCR"))+"]]></state_descr>");
xmlStringBuff.append("<taxable_amt><![CDATA["+rs.getDouble("TAXABLE_AMT")+"]]></taxable_amt>");
xmlStringBuff.append("<igst_amt><![CDATA["+rs.getDouble("IGST_AMT")+"]]></igst_amt>");
xmlStringBuff.append("<cgst_amt><![CDATA["+rs.getDouble("CGST_AMT")+"]]></cgst_amt>");
xmlStringBuff.append("<sgst_amt><![CDATA["+rs.getDouble("SGST_AMT")+"]]></sgst_amt>");
xmlStringBuff.append("<cess_amt><![CDATA["+rs.getDouble("CESS_AMT")+"]]></cess_amt>");
xmlStringBuff.append("</data>");
}
closeResources(rs,pstmt);
xmlStringBuff.append("</uin_data>");
xmlStringBuff.append("</section>");
xmlStringBuff.append("<section domID = '"+(++domId)+"'>");
sql = " SELECT GDH.TRAN_TYPE,SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('09','10','11','12','13','14') GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
xmlStringBuff.append("<itc_available>");
xmlStringBuff.append("<tran_type><![CDATA["+checkNull(rs.getString("TRAN_TYPE"))+"]]></tran_type>");
xmlStringBuff.append("<taxable_amt><![CDATA["+rs.getDouble("TAXABLE_AMT")+"]]></taxable_amt>");
xmlStringBuff.append("<igst_amt><![CDATA["+rs.getDouble("IGST_AMT")+"]]></igst_amt>");
xmlStringBuff.append("<cgst_amt><![CDATA["+rs.getDouble("CGST_AMT")+"]]></cgst_amt>");
xmlStringBuff.append("<sgst_amt><![CDATA["+rs.getDouble("SGST_AMT")+"]]></sgst_amt>");
xmlStringBuff.append("<cess_amt><![CDATA["+rs.getDouble("CESS_AMT")+"]]></cess_amt>");
xmlStringBuff.append("</itc_available>");
}
closeResources(rs,pstmt);
sql = " SELECT GDH.TRAN_TYPE,SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('15','16','17','18','19','20') GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
xmlStringBuff.append("<itc_reversed>");
xmlStringBuff.append("<tran_type><![CDATA["+checkNull(rs.getString("TRAN_TYPE"))+"]]></tran_type>");
xmlStringBuff.append("<taxable_amt><![CDATA["+rs.getDouble("TAXABLE_AMT")+"]]></taxable_amt>");
xmlStringBuff.append("<igst_amt><![CDATA["+rs.getDouble("IGST_AMT")+"]]></igst_amt>");
xmlStringBuff.append("<cgst_amt><![CDATA["+rs.getDouble("CGST_AMT")+"]]></cgst_amt>");
xmlStringBuff.append("<sgst_amt><![CDATA["+rs.getDouble("SGST_AMT")+"]]></sgst_amt>");
xmlStringBuff.append("<cess_amt><![CDATA["+rs.getDouble("CESS_AMT")+"]]></cess_amt>");
xmlStringBuff.append("</itc_reversed>");
}
closeResources(rs,pstmt);
sql = " SELECT GDH.TRAN_TYPE,SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('21') GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
xmlStringBuff.append("<itc_net>");
xmlStringBuff.append("<tran_type><![CDATA["+checkNull(rs.getString("TRAN_TYPE"))+"]]></tran_type>");
xmlStringBuff.append("<taxable_amt><![CDATA["+rs.getDouble("TAXABLE_AMT")+"]]></taxable_amt>");
xmlStringBuff.append("<igst_amt><![CDATA["+rs.getDouble("IGST_AMT")+"]]></igst_amt>");
xmlStringBuff.append("<cgst_amt><![CDATA["+rs.getDouble("CGST_AMT")+"]]></cgst_amt>");
xmlStringBuff.append("<sgst_amt><![CDATA["+rs.getDouble("SGST_AMT")+"]]></sgst_amt>");
xmlStringBuff.append("<cess_amt><![CDATA["+rs.getDouble("CESS_AMT")+"]]></cess_amt>");
xmlStringBuff.append("</itc_net>");
}
closeResources(rs,pstmt);
sql = " SELECT GDH.TRAN_TYPE,SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('22','23','24','25','26','27') GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
xmlStringBuff.append("<itc_ineligible>");
xmlStringBuff.append("<tran_type><![CDATA["+checkNull(rs.getString("TRAN_TYPE"))+"]]></tran_type>");
xmlStringBuff.append("<taxable_amt><![CDATA["+rs.getDouble("TAXABLE_AMT")+"]]></taxable_amt>");
xmlStringBuff.append("<igst_amt><![CDATA["+rs.getDouble("IGST_AMT")+"]]></igst_amt>");
xmlStringBuff.append("<cgst_amt><![CDATA["+rs.getDouble("CGST_AMT")+"]]></cgst_amt>");
xmlStringBuff.append("<sgst_amt><![CDATA["+rs.getDouble("SGST_AMT")+"]]></sgst_amt>");
xmlStringBuff.append("<cess_amt><![CDATA["+rs.getDouble("CESS_AMT")+"]]></cess_amt>");
xmlStringBuff.append("</itc_ineligible>");
}
closeResources(rs,pstmt);
xmlStringBuff.append("</section>");
xmlStringBuff.append("<section domID = '"+(++domId)+"'>");
sql = " SELECT GDH.TRAN_TYPE,SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('28') GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
interAmount = rs.getDouble("TAXABLE_AMT");
}
closeResources(rs,pstmt);
sql = " SELECT GDH.TRAN_TYPE,SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('30') GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
intraAmount = rs.getDouble("TAXABLE_AMT");
}
closeResources(rs,pstmt);
xmlStringBuff.append("<gst_data>");
xmlStringBuff.append("<tran_type><![CDATA[GST]]></tran_type>");
xmlStringBuff.append("<inter><![CDATA["+interAmount+"]]></inter>");
xmlStringBuff.append("<intra><![CDATA["+intraAmount+"]]></intra>");
xmlStringBuff.append("</gst_data>");
interAmount = 0.0; intraAmount = 0.0;
sql = " SELECT GDH.TRAN_TYPE,SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('29') GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
interAmount = rs.getDouble("TAXABLE_AMT");
}
closeResources(rs,pstmt);
sql = " SELECT GDH.TRAN_TYPE,SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('31') GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
intraAmount = rs.getDouble("TAXABLE_AMT");
}
closeResources(rs,pstmt);
xmlStringBuff.append("<non_gst_data>");
xmlStringBuff.append("<tran_type><![CDATA[NONGST]]></tran_type>");
xmlStringBuff.append("<inter><![CDATA["+interAmount+"]]></inter>");
xmlStringBuff.append("<intra><![CDATA["+intraAmount+"]]></intra>");
xmlStringBuff.append("</non_gst_data>");
xmlStringBuff.append("</section>");
xmlStringBuff.append("<section domID = '"+(++domId)+"'>");
sql = " SELECT GDH.TRAN_TYPE,SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.TRAN_TYPE IN ('32') GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
xmlStringBuff.append("<interest_latefee>");
xmlStringBuff.append("<tran_type><![CDATA["+checkNull(rs.getString("TRAN_TYPE"))+"]]></tran_type>");
xmlStringBuff.append("<taxable_amt><![CDATA["+rs.getDouble("TAXABLE_AMT")+"]]></taxable_amt>");
xmlStringBuff.append("<igst_amt><![CDATA["+rs.getDouble("IGST_AMT")+"]]></igst_amt>");
xmlStringBuff.append("<cgst_amt><![CDATA["+rs.getDouble("CGST_AMT")+"]]></cgst_amt>");
xmlStringBuff.append("<sgst_amt><![CDATA["+rs.getDouble("SGST_AMT")+"]]></sgst_amt>");
xmlStringBuff.append("<cess_amt><![CDATA["+rs.getDouble("CESS_AMT")+"]]></cess_amt>");
xmlStringBuff.append("</interest_latefee>");
}
closeResources(rs,pstmt);
xmlStringBuff.append("</section>");
xmlStringBuff.append("</root>");
retString = xmlStringBuff.toString();
}
catch(Exception e)
{
System.out.println("GSTDataSubmitWizEJB.getGSTR3BXMLData()["+e.getMessage()+"]");
e.printStackTrace();
throw new ITMException(e);
}
System.out.println("final retString ["+retString+"]");
return retString;
}
private String checkNull(String input) private String checkNull(String input)
{ {
if (input==null) if (input==null)
...@@ -2358,4 +2782,54 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2358,4 +2782,54 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
return mainStr; return mainStr;
} }
private void closeResources(ResultSet rs, PreparedStatement pstmt) throws SQLException
{
boolean isError = false;
try
{
if(rs!=null)
{
rs.close();
rs=null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
}
catch(SQLException se)
{
isError = true;
System.out.println("GSTDataSubmitWizPos.closeResources()["+se.getMessage()+"]");
se.printStackTrace();
throw new SQLException(se);
}
finally
{
try
{
if(isError)
{
if(rs!=null)
{
rs.close();
rs=null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
}
}
catch(SQLException se)
{
isError = true;
System.out.println("GSTDataSubmitWizPos.closeResources()inside finally["+se.getMessage()+"]");
se.printStackTrace();
throw new SQLException(se);
}
}
}
} }
...@@ -3628,42 +3628,146 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3628,42 +3628,146 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
List<ITCData> itcInelgDataList = new ArrayList<ITCData>(); List<ITCData> itcInelgDataList = new ArrayList<ITCData>();
List<InwardSuppliesDetails> inwardSuppliesList = new ArrayList<InwardSuppliesDetails>(); List<InwardSuppliesDetails> inwardSuppliesList = new ArrayList<InwardSuppliesDetails>();
OutwardSuppliesDetails outwardSuppliesDetails = null;
OutwardZeroRatedSupplies outwardZeroRatedSupplies = null;
OutwardExempetedSupplies outwardExempetedSupplies = null;
InwardSuppliesUnderRevCharge inwardSuppliesUnderRevCharge = null;
OutwardNonGSTSupplies outwardNonGSTSupplies = null;
SuppliesDetails suppliesDetails = null;
int noOfRecords = 0; int noOfRecords = 0;
ArrayList<String> tranIdList = new ArrayList<String>(); ArrayList<String> tranIdList = new ArrayList<String>();
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try try
{ {
OutwardSuppliesDetails outwardSuppliesDetails = new OutwardSuppliesDetails(); sql = " SELECT SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
outwardSuppliesDetails.taxableAmount = 25000; + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
outwardSuppliesDetails.igstAmount = 1200; + " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
outwardSuppliesDetails.cgstAmount = 1000; + " AND GDH.REC_TYPE = ? AND GDH.SITE_CODE = ?"
outwardSuppliesDetails.sgstAmount = 1000; + " AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE = ? AND GDH.SUBMIT_STATUS = ?";
outwardSuppliesDetails.cessAmount = 200; pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
OutwardZeroRatedSupplies outwardZeroRatedSupplies = new OutwardZeroRatedSupplies(); pstmt.setString(2, siteCode);
outwardZeroRatedSupplies.taxableAmount = 12000; pstmt.setString(3, periodCode);
outwardZeroRatedSupplies.igstAmount = 1000; pstmt.setString(4, "01");
outwardZeroRatedSupplies.cessAmount = 250; pstmt.setString(5, "P");
OutwardExempetedSupplies outwardExempetedSupplies = new OutwardExempetedSupplies(); rs = pstmt.executeQuery();
outwardExempetedSupplies.taxableAmount = 60000;
if(rs.next())
InwardSuppliesUnderRevCharge inwardSuppliesUnderRevCharge = new InwardSuppliesUnderRevCharge(); {
inwardSuppliesUnderRevCharge.taxableAmount = 25000; outwardSuppliesDetails = new OutwardSuppliesDetails();
inwardSuppliesUnderRevCharge.igstAmount = 1200; outwardSuppliesDetails.taxableAmount = rs.getDouble("TAXABLE_AMT");
inwardSuppliesUnderRevCharge.cgstAmount = 1000; outwardSuppliesDetails.igstAmount = rs.getDouble("IGST_AMT");
inwardSuppliesUnderRevCharge.sgstAmount = 1000; outwardSuppliesDetails.cgstAmount = rs.getDouble("CGST_AMT");
inwardSuppliesUnderRevCharge.cessAmount = 200; outwardSuppliesDetails.sgstAmount = rs.getDouble("SGST_AMT");
outwardSuppliesDetails.cessAmount = rs.getDouble("CESS_AMT");
OutwardNonGSTSupplies outwardNonGSTSupplies = new OutwardNonGSTSupplies(); }
outwardNonGSTSupplies.taxableAmount = 35000; closeResources(rs,pstmt);
SuppliesDetails suppliesDetails = new SuppliesDetails(); sql = " SELECT SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
suppliesDetails.outwardSuppliesDetails = outwardSuppliesDetails; + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
suppliesDetails.outwardZeroRatedSupplies = outwardZeroRatedSupplies; + " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
suppliesDetails.outwardExempetedSupplies = outwardExempetedSupplies; + " AND GDH.REC_TYPE = ? AND GDH.SITE_CODE = ?"
suppliesDetails.inwardSuppliesUnderRevCharge = inwardSuppliesUnderRevCharge; + " AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE = ? AND GDH.SUBMIT_STATUS = ?";
suppliesDetails.outwardNonGSTSupplies = outwardNonGSTSupplies; pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, siteCode);
pstmt.setString(3, periodCode);
pstmt.setString(4, "02");
pstmt.setString(5, "P");
rs = pstmt.executeQuery();
if(rs.next())
{
outwardZeroRatedSupplies = new OutwardZeroRatedSupplies();
outwardZeroRatedSupplies.taxableAmount = rs.getDouble("TAXABLE_AMT");
outwardZeroRatedSupplies.igstAmount = rs.getDouble("IGST_AMT");
outwardZeroRatedSupplies.cessAmount = rs.getDouble("CESS_AMT");
}
closeResources(rs,pstmt);
sql = " SELECT SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.SITE_CODE = ?"
+ " AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE = ? AND GDH.SUBMIT_STATUS = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, siteCode);
pstmt.setString(3, periodCode);
pstmt.setString(4, "03");
pstmt.setString(5, "P");
rs = pstmt.executeQuery();
if(rs.next())
{
outwardExempetedSupplies = new OutwardExempetedSupplies();
outwardExempetedSupplies.taxableAmount = rs.getDouble("TAXABLE_AMT");
}
closeResources(rs,pstmt);
sql = " SELECT SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.SITE_CODE = ?"
+ " AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE = ? AND GDH.SUBMIT_STATUS = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, siteCode);
pstmt.setString(3, periodCode);
pstmt.setString(4, "04");
pstmt.setString(5, "P");
rs = pstmt.executeQuery();
if(rs.next())
{
inwardSuppliesUnderRevCharge = new InwardSuppliesUnderRevCharge();
inwardSuppliesUnderRevCharge.taxableAmount = rs.getDouble("TAXABLE_AMT");
inwardSuppliesUnderRevCharge.igstAmount = rs.getDouble("IGST_AMT");
inwardSuppliesUnderRevCharge.cgstAmount = rs.getDouble("CGST_AMT");
inwardSuppliesUnderRevCharge.sgstAmount = rs.getDouble("SGST_AMT");
inwardSuppliesUnderRevCharge.cessAmount = rs.getDouble("CESS_AMT");
}
closeResources(rs,pstmt);
sql = " SELECT SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.SITE_CODE = ?"
+ " AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE = ? AND GDH.SUBMIT_STATUS = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, siteCode);
pstmt.setString(3, periodCode);
pstmt.setString(4, "05");
pstmt.setString(5, "P");
rs = pstmt.executeQuery();
if(rs.next())
{
outwardNonGSTSupplies = new OutwardNonGSTSupplies();
outwardNonGSTSupplies.taxableAmount = rs.getDouble("TAXABLE_AMT");
}
closeResources(rs,pstmt);
if(outwardSuppliesDetails!=null || outwardZeroRatedSupplies!=null || outwardExempetedSupplies!=null || inwardSuppliesUnderRevCharge!=null || outwardNonGSTSupplies!=null)
{
suppliesDetails = new SuppliesDetails();
suppliesDetails.outwardSuppliesDetails = outwardSuppliesDetails;
suppliesDetails.outwardZeroRatedSupplies = outwardZeroRatedSupplies;
suppliesDetails.outwardExempetedSupplies = outwardExempetedSupplies;
suppliesDetails.inwardSuppliesUnderRevCharge = inwardSuppliesUnderRevCharge;
suppliesDetails.outwardNonGSTSupplies = outwardNonGSTSupplies;
}
InterStateSuppliesData interStateSuppliesData = new InterStateSuppliesData(); InterStateSuppliesData interStateSuppliesData = new InterStateSuppliesData();
interStateSuppliesData.placeOfSupply = "01"; interStateSuppliesData.placeOfSupply = "01";
...@@ -3769,7 +3873,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3769,7 +3873,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
gstr3b.gstin = gstin; gstr3b.gstin = gstin;
gstr3b.financialPeriod = periodCode; gstr3b.financialPeriod = periodCode;
gstr3b.supplyDetails = suppliesDetails; if(suppliesDetails != null)
{
gstr3b.supplyDetails = suppliesDetails;
}
gstr3b.interStateSupplies = interStateSupplies; gstr3b.interStateSupplies = interStateSupplies;
gstr3b.itcEligibility = itcEligibility; gstr3b.itcEligibility = itcEligibility;
gstr3b.inwardSupplies = inwardSupplies; gstr3b.inwardSupplies = inwardSupplies;
...@@ -6138,5 +6245,55 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -6138,5 +6245,55 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
} }
return value; return value;
} }
private void closeResources(ResultSet rs, PreparedStatement pstmt) throws SQLException
{
boolean isError = false;
try
{
if(rs!=null)
{
rs.close();
rs=null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
}
catch(SQLException se)
{
isError = true;
System.out.println("GSTDataSubmitWizPos.closeResources()["+se.getMessage()+"]");
se.printStackTrace();
throw new SQLException(se);
}
finally
{
try
{
if(isError)
{
if(rs!=null)
{
rs.close();
rs=null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
}
}
catch(SQLException se)
{
isError = true;
System.out.println("GSTDataSubmitWizPos.closeResources()inside finally["+se.getMessage()+"]");
se.printStackTrace();
throw new SQLException(se);
}
}
}
} }
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