Commit 0e274c63 authored by steurwadkar's avatar steurwadkar

F17ABAS001 GST API integration wizard source code commit

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@163432 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 768e6cf6
...@@ -285,8 +285,8 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -285,8 +285,8 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
appKeyInBytes = aesEncryption.decodeBase64StringTOByte(appKey); appKeyInBytes = aesEncryption.decodeBase64StringTOByte(appKey);
appKeyEncryptedAndCoded = pubKeyEncryption.encrypt(appKeyInBytes); appKeyEncryptedAndCoded = pubKeyEncryption.encrypt(appKeyInBytes);
sql = " SELECT S.SITE_CODE, S.SH_DESCR, ST.GST_CODE, ST.DESCR, SR.REF_CODE, SR.REG_NO FROM SITE S, SITEREGNO SR, STATE ST" sql = " SELECT S.SITE_CODE, S.SH_DESCR, SUBSTR(REG_NO,0,2) AS GST_CODE, ST.DESCR, SR.REF_CODE, SR.REG_NO FROM SITE S, SITEREGNO SR, STATE ST"
+ " WHERE S.SITE_CODE = SR.SITE_CODE AND S.FIN_ENTITY = SR.FIN_ENTITY AND S.STATE_CODE = ST.STATE_CODE AND SR.REF_CODE IN ('GSTIN_NO','GST_UNAME','GST_GT','GST_CUR_GT')" + " WHERE S.SITE_CODE = SR.SITE_CODE AND S.FIN_ENTITY = SR.FIN_ENTITY AND SUBSTR(REG_NO,0,2) = ST.GST_CODE (+) AND SR.REF_CODE IN ('GSTIN_NO','GST_UNAME','GST_GT','GST_CUR_GT')"
+ " AND SR.SITE_CODE = ? "; + " AND SR.SITE_CODE = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode); pstmt.setString(1, siteCode);
...@@ -298,6 +298,8 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -298,6 +298,8 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
if("GSTIN_NO".equalsIgnoreCase(checkNull(rs.getString("REF_CODE")))) if("GSTIN_NO".equalsIgnoreCase(checkNull(rs.getString("REF_CODE"))))
{ {
gstinNo = checkNull(rs.getString("REG_NO")); gstinNo = checkNull(rs.getString("REG_NO"));
stateCode = checkNull(rs.getString("GST_CODE"));
stateDescr = checkNull(rs.getString("DESCR"));
} }
if("GST_UNAME".equalsIgnoreCase(checkNull(rs.getString("REF_CODE")))) if("GST_UNAME".equalsIgnoreCase(checkNull(rs.getString("REF_CODE"))))
{ {
...@@ -311,8 +313,6 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -311,8 +313,6 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
{ {
currentYearGrossTurnover = checkNull(rs.getString("REG_NO")); currentYearGrossTurnover = checkNull(rs.getString("REG_NO"));
} }
stateCode = checkNull(rs.getString("GST_CODE"));
stateDescr = checkNull(rs.getString("DESCR"));
} }
if(rs != null) if(rs != null)
{ {
...@@ -1055,6 +1055,8 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1055,6 +1055,8 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
if("SAVE".equalsIgnoreCase(dataAction)) if("SAVE".equalsIgnoreCase(dataAction))
{
if(!isDataError)
{ {
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);
...@@ -1071,7 +1073,29 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1071,7 +1073,29 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
}
if(!isDataError)
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS IN ('U','N','D') AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") > 0)
{
isDataError = true;
errorCode = "VTCHKRETST";
}
}
closeResources(rs, pstmt);
}
if(!isDataError)
{
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);
pstmt.setString(1, recType); pstmt.setString(1, recType);
...@@ -1087,7 +1111,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1087,7 +1111,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
}
if(!isDataError)
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'R' AND PRD_CODE = ? AND SITE_CODE = ?"; sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'R' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType); pstmt.setString(1, recType);
...@@ -1104,7 +1131,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1104,7 +1131,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
} }
}
else if("SUBMIT".equalsIgnoreCase(dataAction)) else if("SUBMIT".equalsIgnoreCase(dataAction))
{
if(!isDataError)
{ {
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);
...@@ -1121,7 +1151,29 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1121,7 +1151,29 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
}
if(!isDataError)
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS IN ('U','N','D') AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") > 0)
{
isDataError = true;
errorCode = "VTCHKRETST";
}
}
closeResources(rs, pstmt);
}
if(!isDataError)
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'T' AND PRD_CODE = ? AND SITE_CODE = ?"; sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'T' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType); pstmt.setString(1, recType);
...@@ -1137,7 +1189,9 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1137,7 +1189,9 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
}
if(!isDataError)
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'R' AND PRD_CODE = ? AND SITE_CODE = ?"; sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'R' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType); pstmt.setString(1, recType);
...@@ -1154,7 +1208,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1154,7 +1208,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
} }
}
else if("FILE".equalsIgnoreCase(dataAction)) else if("FILE".equalsIgnoreCase(dataAction))
{
if(!isDataError)
{ {
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);
...@@ -1171,7 +1228,29 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1171,7 +1228,29 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
}
if(!isDataError)
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS IN ('U','N','D') AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") > 0)
{
isDataError = true;
errorCode = "VTCHKRETST";
}
}
closeResources(rs, pstmt);
}
if(!isDataError)
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'R' AND PRD_CODE = ? AND SITE_CODE = ?"; sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'R' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType); pstmt.setString(1, recType);
...@@ -1188,6 +1267,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1188,6 +1267,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
} }
}
else if("GETINV".equalsIgnoreCase(dataAction) && !"GSTR2A".equalsIgnoreCase(recordType)) else if("GETINV".equalsIgnoreCase(dataAction) && !"GSTR2A".equalsIgnoreCase(recordType))
{ {
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS IN ('T','S','R') AND PRD_CODE = ? AND SITE_CODE = ?"; sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS IN ('T','S','R') AND PRD_CODE = ? AND SITE_CODE = ?";
...@@ -1210,6 +1290,27 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1210,6 +1290,27 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
{ {
int saveRecCnt = 0; int saveRecCnt = 0;
if(!isDataError)
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS IN ('U','N','D') AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") > 0)
{
isDataError = true;
errorCode = "VTCHKRETST";
}
}
closeResources(rs, pstmt);
}
if(!isDataError)
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'T' AND PRD_CODE = ? AND SITE_CODE = ?"; sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'T' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType); pstmt.setString(1, recType);
...@@ -1253,7 +1354,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1253,7 +1354,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
} }
}
if(!isDataError)
{
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);
pstmt.setString(1, recType); pstmt.setString(1, recType);
...@@ -1269,7 +1373,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1269,7 +1373,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
}
if(!isDataError)
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'R' AND PRD_CODE = ? AND SITE_CODE = ?"; sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'R' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType); pstmt.setString(1, recType);
...@@ -1285,7 +1392,28 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1285,7 +1392,28 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
}
}
else if("RETSTATUS".equalsIgnoreCase(dataAction))
{
if(!isDataError)
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS IN ('U','N','D') AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") == 0)
{
isDataError = true;
errorCode = "VTNOCHKDAT";
}
}
closeResources(rs, pstmt);
}
} }
if(!isDataError) if(!isDataError)
...@@ -2823,7 +2951,8 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2823,7 +2951,8 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
if(tempJsonObj.has("ul")) if(tempJsonObj.has("ul"))
{ {
String fileUrl = tempJsonObj.getString("ul"); String fileUrl = tempJsonObj.getString("ul");
fileUrl = FILEDET_URL + fileUrl; fileUrl = BASE_API_URL + fileUrl;
System.out.println("fileUrl["+fileUrl+"]");
URL url = new URL(fileUrl); URL url = new URL(fileUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); HttpURLConnection connection = (HttpURLConnection) url.openConnection();
......
...@@ -4,6 +4,7 @@ import java.io.BufferedReader; ...@@ -4,6 +4,7 @@ import java.io.BufferedReader;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
...@@ -97,6 +98,7 @@ import ibase.webitm.ejb.fin.FinCommon; ...@@ -97,6 +98,7 @@ import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.util.gst.AESEncryption; import ibase.webitm.util.gst.AESEncryption;
import ibase.webitm.util.gst.GSPSignature; import ibase.webitm.util.gst.GSPSignature;
import ibase.webitm.util.gst.GSTCommonUtil; import ibase.webitm.util.gst.GSTCommonUtil;
import ibase.webitm.util.gst.JsonDataValidator;
import ibase.webitm.util.gst.PubKeyEncryption; import ibase.webitm.util.gst.PubKeyEncryption;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator; import ibase.webitm.utility.TransIDGenerator;
...@@ -133,6 +135,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -133,6 +135,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
PrivateKey aspPrivateKey = null; PrivateKey aspPrivateKey = null;
E12GenericUtility e12GenericUtility = new E12GenericUtility(); E12GenericUtility e12GenericUtility = new E12GenericUtility();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
GSTCommonUtil gstCommonUtil = new GSTCommonUtil(); GSTCommonUtil gstCommonUtil = new GSTCommonUtil();
@PostConstruct @PostConstruct
...@@ -205,9 +208,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -205,9 +208,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
NodeList detail1NList = null, detail1ChildNList = null, detail2NList = null, detail2ChildNList = null; NodeList detail1NList = null, detail1ChildNList = null, detail2NList = null, detail2ChildNList = null;
String retString = "", nodeName = "", otp = "", sek = "", returnsType = "", grossTurnover = "", String retString = "", nodeName = "", otp = "", sek = "", returnsType = "", grossTurnover = "",
action = "", siteCode = "", gspAuthString = "", gspAuthSignature = "", currentYearTurnover = "", signedData = "", panNo = "", aadhaarNo = "", action = "", siteCode = "", gspAuthString = "", gspAuthSignature = "", currentYearTurnover = "", signedData = "", panNo = "", aadhaarNo = "",
signMethod = "", summaryData = ""; signMethod = "", summaryData = "", transId = "", recType = "", apiCallTranId = "", submitFlag = "", submitStatus = "";
String loginCode = "", chgTerm = "", callStatus = "", responseId = "", responseJsonStr= ""; String loginCode = "", chgTerm = "", callStatus = "", responseId = "", responseJsonStr= "";
ArrayList<String> tranIdList = new ArrayList<String>();
APICallData apiCallData = null; APICallData apiCallData = null;
boolean isDataLogged = false; boolean isDataLogged = false;
...@@ -482,7 +487,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -482,7 +487,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
apiCallData.setCallStatus(callStatus); apiCallData.setCallStatus(callStatus);
apiCallData.setResponseId(responseId); apiCallData.setResponseId(responseId);
apiCallData.setResponseJsonStr(responseJsonStr); apiCallData.setResponseJsonStr(responseJsonStr);
retString = new ITMDBAccessEJB().getErrorString("","VTINVOTP","","",conn); retString = itmDBAccessEJB.getErrorString("","VTINVOTP","","",conn);
return retString; return retString;
} }
else else
...@@ -526,6 +531,67 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -526,6 +531,67 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
isDataLogged = true; isDataLogged = true;
} }
if("RETSTATUS".equalsIgnoreCase(action))
{
if("GSTR1".equalsIgnoreCase(returnsType))
{
recType = "1";
}
else if("GSTR2".equalsIgnoreCase(returnsType))
{
recType = "2";
}
sql = " SELECT TRAN_ID, RESPONSE_ID, CALL_DATE FROM API_CALL_LOG WHERE SITE_CODE = ? AND REC_TYPE = ? AND PRD_CODE = ? AND CALL_STATUS = ?"
+ " AND RESPONSE_ID IS NOT NULL ORDER BY CALL_DATE DESC";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
pstmt.setString(2, recType);
pstmt.setString(3, periodCode);
pstmt.setString(4, "0");
rs = pstmt.executeQuery();
if(rs.next())
{
apiCallTranId = rs.getString("TRAN_ID");
transId = rs.getString("RESPONSE_ID");
}
closeResources(rs, pstmt);
System.out.println("transId to check status ["+transId+"]");
sql = "SELECT TRAN_ID, SUBMIT_STATUS FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND REC_TYPE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, periodCode);
pstmt.setString(2, siteCode);
pstmt.setString(3, recType);
rs = pstmt.executeQuery();
while(rs.next())
{
submitStatus = checkNullandTrim(rs.getString("SUBMIT_STATUS"));
tranIdList.add(rs.getString("TRAN_ID"));
}
closeResources(rs, pstmt);
if("U".equalsIgnoreCase(submitStatus))
{
submitFlag = "T";
}
else if("D".equalsIgnoreCase(submitStatus))
{
submitFlag = "P";
}
else if("N".equalsIgnoreCase(submitStatus))
{
submitFlag = "S";
}
System.out.println("tranIdList.size()["+tranIdList.size()+"]");
}
if(authToken != null && authToken.trim().length() > 0 && authSEK != null) if(authToken != null && authToken.trim().length() > 0 && authSEK != null)
{ {
if("GSTR1".equalsIgnoreCase(returnsType)) if("GSTR1".equalsIgnoreCase(returnsType))
...@@ -546,6 +612,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -546,6 +612,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
retString = createDeleteGstr1Json( siteCode, grossTurnover, currentYearTurnover, xtraParams, conn); retString = createDeleteGstr1Json( siteCode, grossTurnover, currentYearTurnover, xtraParams, conn);
} }
else if("RETSTATUS".equalsIgnoreCase(action))
{
retString = getSaveSubmitStatus(transId, tranIdList , apiCallTranId, "1", submitFlag, xtraParams, conn);
}
} }
else if("GSTR2A".equalsIgnoreCase(returnsType)) else if("GSTR2A".equalsIgnoreCase(returnsType))
{ {
...@@ -576,6 +646,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -576,6 +646,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
retString = createDeleteGstr2Json( siteCode, xtraParams, conn); retString = createDeleteGstr2Json( siteCode, xtraParams, conn);
} }
else if("RETSTATUS".equalsIgnoreCase(action))
{
retString = getSaveSubmitStatus(transId, tranIdList , apiCallTranId, "2", submitFlag, xtraParams, conn);
}
} }
else if("GSTR3B".equalsIgnoreCase(returnsType)) else if("GSTR3B".equalsIgnoreCase(returnsType))
{ {
...@@ -614,7 +688,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -614,7 +688,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
private String createGstr1Json(String siteCode, String grossTurnover, String currentYearTurnover, String xtraParams, Connection conn) throws ITMException private String createGstr1Json(String siteCode, String grossTurnover, String currentYearTurnover, String xtraParams, Connection conn) throws ITMException
{ {
String retString = ""; String retString = "";
int num = 0, noOfRecords = 0; int num = 0, noOfRecords = 0, retStatCnt = 0;
boolean isDataFound = false; boolean isDataFound = false;
...@@ -623,7 +697,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -623,7 +697,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
PreparedStatement pstmt = null, linePstmt = null, refDataPstmt = null; PreparedStatement pstmt = null, linePstmt = null, refDataPstmt = null;
ResultSet rs = null, lineRs = null, refDataRs = null; ResultSet rs = null, lineRs = null, refDataRs = null;
String tranId = "", tranType = "", tranIdRef = "", ctin = "", posStateCode = ""; String tranId = "", tranType = "", tranIdRef = "", ctin = "", posStateCode = "", jsonValidErrStr = "";
ArrayList<String> tranIdList = new ArrayList<String>(); ArrayList<String> tranIdList = new ArrayList<String>();
...@@ -666,6 +740,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -666,6 +740,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
DocIssued docIssued = null; DocIssued docIssued = null;
try try
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND SUBMIT_STATUS = 'U' AND REC_TYPE ='1'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, periodCode);
pstmt.setString(2, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
retStatCnt = rs.getInt("CNT");
}
closeResources(rs, pstmt);
System.out.println("save GSTR1 retStatCnt of ["+periodCode+"] for sitecode ["+siteCode+"]");
if(retStatCnt == 0)
{ {
Date payloadStartTime = new Date(); Date payloadStartTime = new Date();
...@@ -735,12 +826,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -735,12 +826,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -757,7 +848,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -757,7 +848,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
invoice.inum = rs.getString("DOC_NO"); invoice.inum = rs.getString("DOC_NO");
invoice.idt = rs.getDate("DOC_DATE"); invoice.idt = rs.getDate("DOC_DATE");
invoice.val = rs.getDouble("AMOUNT"); invoice.val = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
invoice.invoiceType = udfStr2; invoice.invoiceType = udfStr2;
invoice.pos = posStateCode; invoice.pos = posStateCode;
invoice.rchrg = "Y".equalsIgnoreCase(rs.getString("REVERSE_CHRG")); invoice.rchrg = "Y".equalsIgnoreCase(rs.getString("REVERSE_CHRG"));
...@@ -807,12 +898,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -807,12 +898,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -829,7 +920,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -829,7 +920,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
invoice.inum = checkNullandTrim(rs.getString("DOC_NO")); invoice.inum = checkNullandTrim(rs.getString("DOC_NO"));
invoice.idt = rs.getDate("DOC_DATE"); invoice.idt = rs.getDate("DOC_DATE");
invoice.val = rs.getDouble("AMOUNT"); invoice.val = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
invoice.etin = rs.getString("ECOM_REG_NO"); invoice.etin = rs.getString("ECOM_REG_NO");
invoice.items = invLineItems; invoice.items = invLineItems;
...@@ -865,11 +956,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -865,11 +956,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
b2cs.typ = udfStr3; b2cs.typ = udfStr3;
b2cs.etin = rs.getString("ECOM_REG_NO"); b2cs.etin = rs.getString("ECOM_REG_NO");
b2cs.pos = posStateCode; b2cs.pos = posStateCode;
b2cs.rate = lineRs.getDouble("GST_RATE"); b2cs.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
b2cs.iamt = lineRs.getDouble("IGST_AMT"); b2cs.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
b2cs.camt = lineRs.getDouble("CGST_AMT"); b2cs.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
b2cs.samt = lineRs.getDouble("SGST_AMT"); b2cs.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
b2cs.csamt = lineRs.getDouble("CESS_AMT"); b2cs.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
b2csInvoiceList.add(b2cs); b2csInvoiceList.add(b2cs);
} }
...@@ -906,12 +997,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -906,12 +997,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -933,7 +1024,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -933,7 +1024,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
cdnDetails.cdNoteDate = rs.getDate("DOC_DATE"); cdnDetails.cdNoteDate = rs.getDate("DOC_DATE");
cdnDetails.invoiceNumber = checkNullandTrim(rs.getString("REF_ID__INV")); cdnDetails.invoiceNumber = checkNullandTrim(rs.getString("REF_ID__INV"));
cdnDetails.invoiceDate = rs.getDate("REF_DATE__INV"); cdnDetails.invoiceDate = rs.getDate("REF_DATE__INV");
cdnDetails.val = rs.getDouble("AMOUNT"); cdnDetails.val = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
//cdnDetails.reason = checkNullandTrim(rs.getString("REAS_CODE")); //cdnDetails.reason = checkNullandTrim(rs.getString("REAS_CODE"));
cdnDetails.reason = "07-Others";//TODO sending hardcoded reason value, difficult to determine as per GSTN reason list cdnDetails.reason = "07-Others";//TODO sending hardcoded reason value, difficult to determine as per GSTN reason list
if(rs.getDate("REF_DATE__INV").before(gstStartDate)) if(rs.getDate("REF_DATE__INV").before(gstStartDate))
...@@ -973,12 +1064,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -973,12 +1064,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
while(lineRs.next()) while(lineRs.next())
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -995,7 +1086,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -995,7 +1086,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
invoice.inum = rs.getString("DOC_NO"); invoice.inum = rs.getString("DOC_NO");
invoice.idt = rs.getDate("DOC_DATE"); invoice.idt = rs.getDate("DOC_DATE");
invoice.val = rs.getDouble("AMOUNT"); invoice.val = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
invoice.shippingPortCode = checkNullandTrim(rs.getString("ORDER_NO")); invoice.shippingPortCode = checkNullandTrim(rs.getString("ORDER_NO"));
invoice.shippingBillNum = getDoubleValue(rs.getString("LR_NO")); invoice.shippingBillNum = getDoubleValue(rs.getString("LR_NO"));
invoice.shippingBillDt = rs.getDate("LR_DATE"); invoice.shippingBillDt = rs.getDate("LR_DATE");
...@@ -1030,12 +1121,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1030,12 +1121,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -1078,12 +1169,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1078,12 +1169,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -1128,12 +1219,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1128,12 +1219,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -1194,7 +1285,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1194,7 +1285,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
cdnur.cdNoteDate = rs.getDate("DOC_DATE"); cdnur.cdNoteDate = rs.getDate("DOC_DATE");
cdnur.invoiceNumber = checkNullandTrim(rs.getString("REF_ID__INV")); cdnur.invoiceNumber = checkNullandTrim(rs.getString("REF_ID__INV"));
cdnur.invoiceDate = rs.getDate("REF_DATE__INV"); cdnur.invoiceDate = rs.getDate("REF_DATE__INV");
cdnur.val = rs.getDouble("AMOUNT"); cdnur.val = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
//cdnur.reason = checkNullandTrim(rs.getString("REAS_CODE")); //cdnur.reason = checkNullandTrim(rs.getString("REAS_CODE"));
cdnur.reason = "07-Others";//TODO sending hardcoded reason value, difficult to determine as per GSTN reason list cdnur.reason = "07-Others";//TODO sending hardcoded reason value, difficult to determine as per GSTN reason list
if(rs.getDate("REF_DATE__INV").before(gstStartDate)) if(rs.getDate("REF_DATE__INV").before(gstStartDate))
...@@ -1262,20 +1353,20 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1262,20 +1353,20 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
+ " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE NOT IN ('29','31')" + " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE NOT IN ('29','31')"
+ " GROUP BY GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT";*/ + " GROUP BY GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT";*/
sql = " SELECT GS_CODE, GS_DESCR, UNIT, SUM(TOT_QTY) AS TOT_QTY, SUM(TOT_TAXVAL) AS TOT_TAXVAL, SUM(TOT_IAMT) AS TOT_IAMT, SUM(TOT_CAMT) AS TOT_CAMT, SUM(TOT_SAMT) AS TOT_SAMT, SUM(TOT_CSAMT) AS TOT_CSAMT FROM" sql = " SELECT GS_CODE, UNIT, SUM(TOT_QTY) AS TOT_QTY, SUM(TOT_TAXVAL) AS TOT_TAXVAL, SUM(TOT_IAMT) AS TOT_IAMT, SUM(TOT_CAMT) AS TOT_CAMT, SUM(TOT_SAMT) AS TOT_SAMT, SUM(TOT_CSAMT) AS TOT_CSAMT FROM"
+ " (SELECT GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT, SUM(GDD.QUANTITY) AS TOT_QTY, SUM(GDD.TAXABLE_AMT) AS TOT_TAXVAL," + " (SELECT GDD.GS_CODE, GDD.UNIT, SUM(GDD.QUANTITY) AS TOT_QTY, SUM(GDD.TAXABLE_AMT) AS TOT_TAXVAL,"
+ " SUM(GDD.IGST_AMT) AS TOT_IAMT, SUM(CGST_AMT) AS TOT_CAMT, SUM(SGST_AMT) AS TOT_SAMT, SUM(CESS_AMT) AS TOT_CSAMT" + " SUM(GDD.IGST_AMT) AS TOT_IAMT, SUM(CGST_AMT) AS TOT_CAMT, SUM(SGST_AMT) AS TOT_SAMT, SUM(CESS_AMT) AS TOT_CSAMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD" + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID = GDD.TRAN_ID AND GDD.GS_CODE IS NOT NULL AND GDH.REC_TYPE='1'" + " WHERE GDH.TRAN_ID = GDD.TRAN_ID AND GDD.GS_CODE IS NOT NULL AND GDH.REC_TYPE='1'"
+ " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE NOT IN ('29','31')" + " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE NOT IN ('29','31')"
+ " GROUP BY GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT" + " GROUP BY GDD.GS_CODE, GDD.UNIT"
+ " UNION ALL" + " UNION ALL"
+ " SELECT GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT, -1*SUM(GDD.QUANTITY) AS TOT_QTY, -1*SUM(GDD.TAXABLE_AMT) AS TOT_TAXVAL," + " SELECT GDD.GS_CODE, GDD.UNIT, -1*SUM(GDD.QUANTITY) AS TOT_QTY, -1*SUM(GDD.TAXABLE_AMT) AS TOT_TAXVAL,"
+ " -1*SUM(GDD.IGST_AMT) AS TOT_IAMT, -1*SUM(CGST_AMT) AS TOT_CAMT, -1*SUM(SGST_AMT) AS TOT_SAMT, -1*SUM(CESS_AMT) AS TOT_CSAMT" + " -1*SUM(GDD.IGST_AMT) AS TOT_IAMT, -1*SUM(CGST_AMT) AS TOT_CAMT, -1*SUM(SGST_AMT) AS TOT_SAMT, -1*SUM(CESS_AMT) AS TOT_CSAMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD" + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID = GDD.TRAN_ID AND GDD.GS_CODE IS NOT NULL AND GDH.REC_TYPE='1'" + " WHERE GDH.TRAN_ID = GDD.TRAN_ID AND GDD.GS_CODE IS NOT NULL AND GDH.REC_TYPE='1'"
+ " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE IN ('29','31')" + " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE IN ('29','31')"
+ " GROUP BY GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT) GROUP BY GS_CODE, GS_DESCR, UNIT" ; + " GROUP BY GDD.GS_CODE, GDD.UNIT) GROUP BY GS_CODE, UNIT" ;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode); pstmt.setString(1, siteCode);
...@@ -1290,15 +1381,16 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1290,15 +1381,16 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
hsnDetails.num = ++num; hsnDetails.num = ++num;
hsnDetails.itemOrServiceCode = checkNullandTrim(rs.getString("GS_CODE")); hsnDetails.itemOrServiceCode = checkNullandTrim(rs.getString("GS_CODE"));
hsnDetails.description = checkNullandTrim(rs.getString("GS_DESCR")); hsnDetails.description = "";
hsnDetails.unitOfMeasure = checkNullandTrim(rs.getString("UNIT")); hsnDetails.unitOfMeasure = checkNullandTrim(rs.getString("UNIT"));
hsnDetails.quantity = rs.getDouble("TOT_QTY"); hsnDetails.quantity = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_QTY")));
hsnDetails.totalAmount = rs.getDouble("TOT_TAXVAL") + rs.getDouble("TOT_IAMT") + rs.getDouble("TOT_CAMT") + rs.getDouble("TOT_SAMT") + rs.getDouble("TOT_CSAMT"); double totalAmount = rs.getDouble("TOT_TAXVAL") + rs.getDouble("TOT_IAMT") + rs.getDouble("TOT_CAMT") + rs.getDouble("TOT_SAMT") + rs.getDouble("TOT_CSAMT");
hsnDetails.totalTaxableAmount = rs.getDouble("TOT_TAXVAL"); hsnDetails.totalAmount = Double.parseDouble(String.format("%.2f",totalAmount));
hsnDetails.totalIGSTAmount = rs.getDouble("TOT_IAMT"); hsnDetails.totalTaxableAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_TAXVAL")));
hsnDetails.totalCGSTAmount = rs.getDouble("TOT_CAMT"); hsnDetails.totalIGSTAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_IAMT")));
hsnDetails.totalSGSTAmount = rs.getDouble("TOT_SAMT"); hsnDetails.totalCGSTAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_CAMT")));
hsnDetails.totalCESSAmount = rs.getDouble("TOT_CSAMT"); hsnDetails.totalSGSTAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_SAMT")));
hsnDetails.totalCESSAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_CSAMT")));
hsnList.add(hsnDetails); hsnList.add(hsnDetails);
} }
...@@ -1569,8 +1661,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1569,8 +1661,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
System.out.println("DIFFERANCE IN TIME FOR PAYLOAD CREATION GSTR1 IN HH:MM:SS ["+payloadDiffHours +":"+payloadDiffMinutes+":"+payloadDiffSeconds+"]"); System.out.println("DIFFERANCE IN TIME FOR PAYLOAD CREATION GSTR1 IN HH:MM:SS ["+payloadDiffHours +":"+payloadDiffMinutes+":"+payloadDiffSeconds+"]");
jsonValidErrStr = getJsonSchemaValidation("1", json, conn);
if(jsonValidErrStr.trim().length()==0)
{
retString = saveGSTRData(json, noOfRecords, tranIdList, "1", conn, xtraParams); retString = saveGSTRData(json, noOfRecords, tranIdList, "1", conn, xtraParams);
} }
else
{
retString = jsonValidErrStr;
}
}
}
else
{
retString = itmDBAccessEJB.getErrorString("","VTCHKRETST","","",conn);
}
} }
catch (Exception e) catch (Exception e)
{ {
...@@ -1583,7 +1690,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1583,7 +1690,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
private String createDeleteGstr1Json(String siteCode, String grossTurnover, String currentYearTurnover, String xtraParams, Connection conn) throws ITMException private String createDeleteGstr1Json(String siteCode, String grossTurnover, String currentYearTurnover, String xtraParams, Connection conn) throws ITMException
{ {
String retString = ""; String retString = "";
int noOfRecords = 0; int noOfRecords = 0, retStatCnt = 0;
boolean isDataFound = false; boolean isDataFound = false;
...@@ -1592,7 +1699,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1592,7 +1699,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
PreparedStatement pstmt = null, linePstmt = null, refDataPstmt = null; PreparedStatement pstmt = null, linePstmt = null, refDataPstmt = null;
ResultSet rs = null, lineRs = null, refDataRs = null; ResultSet rs = null, lineRs = null, refDataRs = null;
String tranId = "", tranType = "", tranIdRef = "", ctin = "", posStateCode = ""; String tranId = "", tranType = "", tranIdRef = "", ctin = "", posStateCode = "", jsonValidErrStr = "";
ArrayList<String> tranIdList = new ArrayList<String>(); ArrayList<String> tranIdList = new ArrayList<String>();
...@@ -1629,6 +1736,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1629,6 +1736,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
Nil nil = null; Nil nil = null;
try try
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND SUBMIT_STATUS = 'U' AND REC_TYPE ='1'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, periodCode);
pstmt.setString(2, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
retStatCnt = rs.getInt("CNT");
}
closeResources(rs, pstmt);
System.out.println("delete GSTR1 retStatCnt of ["+periodCode+"] for sitecode ["+siteCode+"]");
if(retStatCnt == 0)
{ {
sql = "SELECT * FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND SUBMIT_STATUS = 'T' AND REC_TYPE ='1'"; sql = "SELECT * FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND SUBMIT_STATUS = 'T' AND REC_TYPE ='1'";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -1753,7 +1877,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1753,7 +1877,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
b2cs.supplyType = udfStr2; b2cs.supplyType = udfStr2;
b2cs.typ = udfStr3; b2cs.typ = udfStr3;
b2cs.pos = posStateCode; b2cs.pos = posStateCode;
b2cs.rate = lineRs.getDouble("GST_RATE"); b2cs.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
b2cs.taxPayerAction = "D"; b2cs.taxPayerAction = "D";
b2csInvoiceList.add(b2cs); b2csInvoiceList.add(b2cs);
...@@ -1787,12 +1911,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1787,12 +1911,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -2038,8 +2162,24 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2038,8 +2162,24 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
System.out.println("jsonPayload to DELETE GSTR1["+json+"]"); System.out.println("jsonPayload to DELETE GSTR1["+json+"]");
jsonValidErrStr = getJsonSchemaValidation("1", json, conn);
if(jsonValidErrStr.trim().length()==0)
{
retString = deleteDataFromGSTN(json, noOfRecords, tranIdList, "1", xtraParams, conn); retString = deleteDataFromGSTN(json, noOfRecords, tranIdList, "1", xtraParams, conn);
} }
else
{
retString = jsonValidErrStr;
}
}
}
else
{
retString = itmDBAccessEJB.getErrorString("","VTCHKRETST","","",conn);
}
} }
catch (Exception e) catch (Exception e)
{ {
...@@ -2052,7 +2192,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2052,7 +2192,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
private String createDeleteGstr2Json(String siteCode, String xtraParams, Connection conn) throws ITMException private String createDeleteGstr2Json(String siteCode, String xtraParams, Connection conn) throws ITMException
{ {
String retString = ""; String retString = "";
int noOfRecords = 0; int noOfRecords = 0, retStatCnt = 0;
boolean isDataFound = false; boolean isDataFound = false;
...@@ -2061,7 +2201,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2061,7 +2201,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
PreparedStatement pstmt = null, linePstmt = null; PreparedStatement pstmt = null, linePstmt = null;
ResultSet rs = null, lineRs = null; ResultSet rs = null, lineRs = null;
String tranId = "", tranType = "", tranIdRef = "", ctin = "", posStateCode = ""; String tranId = "", tranType = "", tranIdRef = "", ctin = "", posStateCode = "", jsonValidErrStr = "";
ArrayList<String> tranIdList = new ArrayList<String>(); ArrayList<String> tranIdList = new ArrayList<String>();
...@@ -2092,6 +2232,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2092,6 +2232,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
NilInwardSupplies nilInwardSupplies = null; NilInwardSupplies nilInwardSupplies = null;
try try
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND SUBMIT_STATUS = 'U' AND REC_TYPE ='2'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, periodCode);
pstmt.setString(2, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
retStatCnt = rs.getInt("CNT");
}
closeResources(rs, pstmt);
System.out.println("delete GSTR2 retStatCnt of ["+periodCode+"] for sitecode ["+siteCode+"]");
if(retStatCnt == 0)
{ {
sql = "SELECT * FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND SUBMIT_STATUS = 'T' AND REC_TYPE ='2'"; sql = "SELECT * FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND SUBMIT_STATUS = 'T' AND REC_TYPE ='2'";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -2352,9 +2509,22 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2352,9 +2509,22 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
System.out.println("jsonPayload to delete GSTR2["+json+"]"); System.out.println("jsonPayload to delete GSTR2["+json+"]");
jsonValidErrStr = getJsonSchemaValidation("2", json, conn);
if(jsonValidErrStr.trim().length()==0)
{
retString = deleteDataFromGSTN(json, noOfRecords, tranIdList, "2", xtraParams, conn); retString = deleteDataFromGSTN(json, noOfRecords, tranIdList, "2", xtraParams, conn);
} }
else
{
retString = jsonValidErrStr;
}
}
}
else
{
retString = itmDBAccessEJB.getErrorString("", "VTCHKRETST", "", "", conn);
}
} }
catch(Exception e) catch(Exception e)
{ {
...@@ -2371,6 +2541,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2371,6 +2541,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
String errMsg = "", gspAuthString = "", gspAuthSignature = ""; String errMsg = "", gspAuthString = "", gspAuthSignature = "";
String transactionId = UUID.randomUUID().toString().replaceAll("-", ""); String transactionId = UUID.randomUUID().toString().replaceAll("-", "");
String loginCode = "", chgTerm = "", siteCode = "", callStatus = "", responseJsonStr = "", responseId = ""; String loginCode = "", chgTerm = "", siteCode = "", callStatus = "", responseJsonStr = "", responseId = "";
ArrayList<String> tranIdList = new ArrayList<String>();
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try try
{ {
...@@ -2391,6 +2566,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2391,6 +2566,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
RETURN_URL = GSTR3B_URL; RETURN_URL = GSTR3B_URL;
} }
sql = "SELECT TRAN_ID FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND REC_TYPE = ? AND SUBMIT_STATUS = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, periodCode);
pstmt.setString(2, siteCode);
pstmt.setString(3, recType);
pstmt.setString(4, "T");
rs = pstmt.executeQuery();
while(rs.next())
{
tranIdList.add(rs.getString("TRAN_ID"));
}
closeResources(rs, pstmt);
System.out.println("tranIdList.size()["+tranIdList.size()+"]");
siteCode = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode"); siteCode = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
loginCode = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"); loginCode = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
chgTerm = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgTerm"); chgTerm = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgTerm");
...@@ -2447,7 +2639,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2447,7 +2639,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
JSONObject gstrSubmitRespObj = gstrSubmitResp.getBody().getObject(); JSONObject gstrSubmitRespObj = gstrSubmitResp.getBody().getObject();
if(gstrSubmitRespObj.has("data") && gstrSubmitRespObj.has("rek")) if(gstrSubmitRespObj.has("data") && gstrSubmitRespObj.has("rek"))
{ {
callStatus = "1"; callStatus = "0";
String gstrSubmitdata = gstrSubmitRespObj.getString("data"); String gstrSubmitdata = gstrSubmitRespObj.getString("data");
String gstrSubmitrek = gstrSubmitRespObj.getString("rek"); String gstrSubmitrek = gstrSubmitRespObj.getString("rek");
...@@ -2461,7 +2653,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2461,7 +2653,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
responseId = transId; responseId = transId;
System.out.println("transId to getStatus after SUBMIT call["+transId+"]"); System.out.println("transId to getStatus after SUBMIT call["+transId+"]");
retString = getSaveSubmitStatus(transId, null ,recType, "S", xtraParams, conn); updateSubmissionStatus(tranIdList, "N", conn);
} }
else else
{ {
...@@ -2733,7 +2926,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2733,7 +2926,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
if(gstrRespObj.has("data") && gstrRespObj.has("rek")) if(gstrRespObj.has("data") && gstrRespObj.has("rek"))
{ {
callStatus = "1"; callStatus = "0";
gstrData = gstrRespObj.getString("data"); gstrData = gstrRespObj.getString("data");
gstrRek = gstrRespObj.getString("rek"); gstrRek = gstrRespObj.getString("rek");
...@@ -2749,7 +2942,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2749,7 +2942,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
System.out.println("transId to getStatus["+transId+"]"); System.out.println("transId to getStatus["+transId+"]");
retString = getSaveSubmitStatus(transId, tranIdList ,recType, "D", xtraParams, conn); updateSubmissionStatus(tranIdList, "D", conn);
} }
else else
{ {
...@@ -2804,26 +2997,21 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2804,26 +2997,21 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
} }
return retString; return retString;
} }
private String getSaveSubmitStatus(String transId, ArrayList<String> tranIdList, String recType, String actionFlag, String xtraParams, Connection conn) throws ITMException private String getSaveSubmitStatus(String transId, ArrayList<String> tranIdList, String apiCallTranId, String recType, String submitFlag, String xtraParams, Connection conn) throws ITMException
{ {
String retString = "", errMsg = ""; String retString = "", errMsg = "";
String transactionId = "", retStatsData = "", retStatsRek= "", retStatusCallStatus = "", retStatusResponseJsonStr = ""; String transactionId = "", retStatsData = "", retStatsRek= "", retStatusCallStatus = "", retStatusResponseJsonStr = "", retStatusCode = "";
String gspAuthStringRet = "", gspAuthSignatureRet = "", siteCode = "", loginCode = "", chgTerm = ""; String gspAuthStringRet = "", gspAuthSignatureRet = "", siteCode = "", loginCode = "", chgTerm = "";
boolean isLoopBreak = false;
String sql = ""; String sql = "";
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
int updateCnt = 0; int updateCnt = 0;
APICallData apiRetStatsCallData = null; APICallData apiCallData = null;
ArrayList<APICallData> retStatAPICallList = new ArrayList<APICallData>();
try try
{ {
siteCode = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode"); siteCode = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
loginCode = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"); loginCode = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
chgTerm = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgTerm"); chgTerm = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgTerm");
while(true)
{
Thread.sleep(10000);//TODO NEED TO REMOVE WITH BETTER OPTION
transactionId = UUID.randomUUID().toString().replaceAll("-", ""); transactionId = UUID.randomUUID().toString().replaceAll("-", "");
long timeStampRet = new Timestamp().getDateTime(); long timeStampRet = new Timestamp().getDateTime();
gspAuthStringRet = clientId + ":" + transactionId + ":" + timeStampRet + ":" + gstin; gspAuthStringRet = clientId + ":" + transactionId + ":" + timeStampRet + ":" + gstin;
...@@ -2873,29 +3061,29 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2873,29 +3061,29 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
JSONObject retStatsJsonData = new JSONObject(new String(retStatsRespJsonInBytes)); JSONObject retStatsJsonData = new JSONObject(new String(retStatsRespJsonInBytes));
System.out.println( "retStatsJsonData["+retStatsJsonData+"]"); System.out.println( "retStatsJsonData["+retStatsJsonData+"]");
if("IP".equalsIgnoreCase((String)retStatsJsonData.get("status_cd"))) retStatusCode = (String)retStatsJsonData.get("status_cd");
if("IP".equalsIgnoreCase(retStatusCode))
{ {
retStatusCallStatus = "0"; retStatusCallStatus = "0";
retStatusResponseJsonStr = "IP"; retStatusResponseJsonStr = "IP";
errMsg = "Data processing is still in process at GSTN server. Kindly recheck after some time";
retString = getError(errMsg, "GSTAPIERR", conn);
} }
else if("P".equalsIgnoreCase((String)retStatsJsonData.get("status_cd"))) else if("P".equalsIgnoreCase(retStatusCode))
{ {
retStatusCallStatus = "1"; retStatusCallStatus = "1";
if(tranIdList != null && tranIdList.size() > 0) if(tranIdList != null && tranIdList.size() > 0)
{ {
updateSubmissionStatus(tranIdList, actionFlag, conn); updateSubmissionStatus(tranIdList, submitFlag, conn);
} }
else
{ sql = "UPDATE API_CALL_LOG SET CALL_STATUS = ? WHERE TRAN_ID = ?";
sql = "UPDATE GST_DATA_HDR SET SUBMIT_STATUS = ?, SUBMIT_DATE = ? WHERE PRD_CODE = ? AND SITE_CODE = ? AND REC_TYPE = ? AND SUBMIT_STATUS = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "S"); pstmt.setString(1, "1");
pstmt.setTimestamp(2, java.sql.Timestamp.valueOf(e12GenericUtility.getValidDateString(new Date(), e12GenericUtility.getDBDateTimeFormat()))); pstmt.setString(2, apiCallTranId);
pstmt.setString(3, periodCode);
pstmt.setString(4, siteCode);
pstmt.setString(5, recType);
pstmt.setString(6, "T");
updateCnt = pstmt.executeUpdate(); updateCnt = pstmt.executeUpdate();
...@@ -2905,19 +3093,16 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2905,19 +3093,16 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
pstmt = null; pstmt = null;
} }
System.out.println("submit status updated of ["+siteCode+"] for ["+periodCode+"] update count ["+updateCnt+"]"); System.out.println("call status updated of ["+siteCode+"] for ["+periodCode+"] update count ["+updateCnt+"]");
}
isLoopBreak = true;
} }
else if("PE".equalsIgnoreCase((String)retStatsJsonData.get("status_cd"))) else if("PE".equalsIgnoreCase(retStatusCode))
{ {
retStatusCallStatus = "2"; retStatusCallStatus = "2";
errMsg = getRetStatusErrMsg(retStatsJsonData); errMsg = getRetStatusErrMsg(retStatsJsonData);
retStatusResponseJsonStr = errMsg; retStatusResponseJsonStr = errMsg;
retString = getError(errMsg, "GSTAPIERR", conn); retString = getError(errMsg, "GSTAPIERR", conn);
isLoopBreak = true;
} }
else if("ER".equalsIgnoreCase(retStatsJsonData.getString("status_cd"))) else if("ER".equalsIgnoreCase(retStatusCode))
{ {
retStatusCallStatus = "2"; retStatusCallStatus = "2";
if(retStatsJsonData.has("error_report")) if(retStatsJsonData.has("error_report"))
...@@ -2931,7 +3116,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2931,7 +3116,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
retStatusResponseJsonStr = errMsg; retStatusResponseJsonStr = errMsg;
retString = getError(errMsg, "GSTAPIERR", conn); retString = getError(errMsg, "GSTAPIERR", conn);
isLoopBreak = true;
} }
else else
{ {
...@@ -2943,7 +3127,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2943,7 +3127,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
retStatusResponseJsonStr = errMsg; retStatusResponseJsonStr = errMsg;
retString = getError(errMsg, "GSTAPIERR", conn); retString = getError(errMsg, "GSTAPIERR", conn);
isLoopBreak = true;
} }
} }
else else
...@@ -2953,7 +3136,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2953,7 +3136,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
retStatusResponseJsonStr = errorJSON.toString(); retStatusResponseJsonStr = errorJSON.toString();
errMsg = "Message : "+errorJSON.getString("message")+" \nError code : "+errorJSON.getString("error_cd"); errMsg = "Message : "+errorJSON.getString("message")+" \nError code : "+errorJSON.getString("error_cd");
retString = getError(errMsg, "GSTAPIERR", conn); retString = getError(errMsg, "GSTAPIERR", conn);
isLoopBreak = true;
} }
} }
else if(retStatusResp.getStatus() == 500) else if(retStatusResp.getStatus() == 500)
...@@ -2962,7 +3144,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2962,7 +3144,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
errMsg = "Message : Error occurred at GSTN server \nResponse code : "+retStatusResp.getStatus(); errMsg = "Message : Error occurred at GSTN server \nResponse code : "+retStatusResp.getStatus();
retStatusResponseJsonStr = errMsg; retStatusResponseJsonStr = errMsg;
retString = getError(errMsg, "GSTAPIERR", conn); retString = getError(errMsg, "GSTAPIERR", conn);
isLoopBreak = true;
} }
else else
{ {
...@@ -2971,40 +3152,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2971,40 +3152,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
retStatusResponseJsonStr = errorJSON.toString(); retStatusResponseJsonStr = errorJSON.toString();
errMsg = "Message : "+errorJSON.getString("message")+" \nError code : "+errorJSON.getString("error_cd"); errMsg = "Message : "+errorJSON.getString("message")+" \nError code : "+errorJSON.getString("error_cd");
retString = getError(errMsg, "GSTAPIERR", conn); retString = getError(errMsg, "GSTAPIERR", conn);
isLoopBreak = true;
} }
if(retStatusResponseJsonStr.length() > 500) if(retStatusResponseJsonStr.length() > 500)
{ {
retStatusResponseJsonStr = retStatusResponseJsonStr.substring(0, 500); retStatusResponseJsonStr = retStatusResponseJsonStr.substring(0, 500);
} }
apiRetStatsCallData = new APICallData();
apiRetStatsCallData.setPeriodCode(periodCode);
apiRetStatsCallData.setCallDate(new Date());
apiRetStatsCallData.setSiteCode(siteCode);
apiRetStatsCallData.setUserId(loginCode);
apiRetStatsCallData.setCallType("RETSTATUS");
apiRetStatsCallData.setRecType(recType);
apiRetStatsCallData.setNoOfRecords(0);
apiRetStatsCallData.setCallStatus(retStatusCallStatus);
apiRetStatsCallData.setResponseId("");
apiRetStatsCallData.setResponseJsonStr(retStatusResponseJsonStr);
apiRetStatsCallData.setChgUser(loginCode);
apiRetStatsCallData.setChgDate(new Date());
apiRetStatsCallData.setChgTerm(chgTerm);
retStatAPICallList.add(apiRetStatsCallData);
if(isLoopBreak)
{
break;
}
else
{
continue;
}
}
} }
catch(Exception e) catch(Exception e)
{ {
...@@ -3014,14 +3167,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3014,14 +3167,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
} }
finally finally
{ {
if(retStatAPICallList.size()>0) apiCallData = new APICallData();
{ apiCallData.setPeriodCode(periodCode);
for(APICallData apiCallData : retStatAPICallList) apiCallData.setCallDate(new Date());
{ apiCallData.setSiteCode(siteCode);
apiCallData.setUserId(loginCode);
apiCallData.setCallType("RETSTATUS");
apiCallData.setRecType(recType);
apiCallData.setNoOfRecords(0);
apiCallData.setCallStatus(retStatusCallStatus);
apiCallData.setResponseId("");
apiCallData.setResponseJsonStr(retStatusResponseJsonStr);
apiCallData.setChgUser(loginCode);
apiCallData.setChgDate(new Date());
apiCallData.setChgTerm(chgTerm);
gstCommonUtil.updateAPICallLogHistory(apiCallData, null); gstCommonUtil.updateAPICallLogHistory(apiCallData, null);
} }
}
}
return retString; return retString;
} }
/*private String getGstr1Summary(String authToken, String stateCode, String userName, String gstin, String periodCode, byte[] authSEK, String action, String xtraParams, Connection conn) throws ITMException /*private String getGstr1Summary(String authToken, String stateCode, String userName, String gstin, String periodCode, byte[] authSEK, String action, String xtraParams, Connection conn) throws ITMException
...@@ -3373,7 +3535,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3373,7 +3535,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
private String createGstr2Json(String siteCode, String xtraParams, Connection conn) throws ITMException private String createGstr2Json(String siteCode, String xtraParams, Connection conn) throws ITMException
{ {
String retString = ""; String retString = "";
int num = 0, noOfRecords = 0; int num = 0, noOfRecords = 0, retStatCnt = 0;
boolean isDataFound = false; boolean isDataFound = false;
...@@ -3382,7 +3544,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3382,7 +3544,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
PreparedStatement pstmt = null, linePstmt = null; PreparedStatement pstmt = null, linePstmt = null;
ResultSet rs = null, lineRs = null; ResultSet rs = null, lineRs = null;
String tranId = "", tranType = "", tranIdRef = "", ctin = "", posStateCode = ""; String tranId = "", tranType = "", tranIdRef = "", ctin = "", posStateCode = "", jsonValidErrStr;
ArrayList<String> tranIdList = new ArrayList<String>(); ArrayList<String> tranIdList = new ArrayList<String>();
...@@ -3418,6 +3580,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3418,6 +3580,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
NilInwardSupplies nilInwardSupplies = null; NilInwardSupplies nilInwardSupplies = null;
try try
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND SUBMIT_STATUS = 'U' AND REC_TYPE ='2'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, periodCode);
pstmt.setString(2, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
retStatCnt = rs.getInt("CNT");
}
closeResources(rs, pstmt);
System.out.println("save GSTR2 retStatCnt of ["+periodCode+"] for sitecode ["+siteCode+"]");
if(retStatCnt == 0)
{ {
sql = "SELECT * FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND SUBMIT_STATUS = 'P' AND REC_TYPE ='2'"; sql = "SELECT * FROM GST_DATA_HDR WHERE PRD_CODE = ? AND SITE_CODE = ? AND SUBMIT_STATUS = 'P' AND REC_TYPE ='2'";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -3488,17 +3667,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3488,17 +3667,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase(); invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase();
invLineItem.igstInputTax = lineRs.getDouble("ITC_IGST"); invLineItem.igstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_IGST")));
invLineItem.cgstInputTax = lineRs.getDouble("ITC_CGST"); invLineItem.cgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CGST")));
invLineItem.sgstInputTax = lineRs.getDouble("ITC_SGST"); invLineItem.sgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_SGST")));
invLineItem.cessInputTax = lineRs.getDouble("ITC_CESS"); invLineItem.cessInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CESS")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -3515,7 +3694,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3515,7 +3694,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
invoice.inum = rs.getString("DOC_NO"); invoice.inum = rs.getString("DOC_NO");
invoice.idt = rs.getDate("DOC_DATE"); invoice.idt = rs.getDate("DOC_DATE");
invoice.val = rs.getDouble("AMOUNT"); invoice.val = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
invoice.invoiceType = udfStr2; invoice.invoiceType = udfStr2;
invoice.pos = posStateCode; invoice.pos = posStateCode;
invoice.rchrg = "Y".equalsIgnoreCase(rs.getString("REVERSE_CHRG")); invoice.rchrg = "Y".equalsIgnoreCase(rs.getString("REVERSE_CHRG"));
...@@ -3566,17 +3745,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3566,17 +3745,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase(); invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase();
invLineItem.igstInputTax = lineRs.getDouble("ITC_IGST"); invLineItem.igstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_IGST")));
invLineItem.cgstInputTax = lineRs.getDouble("ITC_CGST"); invLineItem.cgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CGST")));
invLineItem.sgstInputTax = lineRs.getDouble("ITC_SGST"); invLineItem.sgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_SGST")));
invLineItem.cessInputTax = lineRs.getDouble("ITC_CESS"); invLineItem.cessInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CESS")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -3593,7 +3772,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3593,7 +3772,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
invoice.inum = rs.getString("DOC_NO"); invoice.inum = rs.getString("DOC_NO");
invoice.idt = rs.getDate("DOC_DATE"); invoice.idt = rs.getDate("DOC_DATE");
invoice.val = rs.getDouble("AMOUNT"); invoice.val = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
invoice.pos = posStateCode; invoice.pos = posStateCode;
invoice.items = invLineItems; invoice.items = invLineItems;
invoice.supplyType = stateCode.trim().equalsIgnoreCase(posStateCode.trim())?"INTRA":"INTER"; invoice.supplyType = stateCode.trim().equalsIgnoreCase(posStateCode.trim())?"INTRA":"INTER";
...@@ -3627,17 +3806,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3627,17 +3806,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase(); invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase();
invLineItem.igstInputTax = lineRs.getDouble("ITC_IGST"); invLineItem.igstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_IGST")));
invLineItem.cgstInputTax = lineRs.getDouble("ITC_CGST"); invLineItem.cgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CGST")));
invLineItem.sgstInputTax = lineRs.getDouble("ITC_SGST"); invLineItem.sgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_SGST")));
invLineItem.cessInputTax = lineRs.getDouble("ITC_CESS"); invLineItem.cessInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CESS")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -3659,7 +3838,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3659,7 +3838,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
cdnDetails.cdNoteDate = rs.getDate("DOC_DATE"); cdnDetails.cdNoteDate = rs.getDate("DOC_DATE");
cdnDetails.invoiceNumber = checkNullandTrim(rs.getString("REF_ID__INV")); cdnDetails.invoiceNumber = checkNullandTrim(rs.getString("REF_ID__INV"));
cdnDetails.invoiceDate = rs.getDate("REF_DATE__INV"); cdnDetails.invoiceDate = rs.getDate("REF_DATE__INV");
cdnDetails.val = rs.getDouble("AMOUNT"); cdnDetails.val = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
//cdnDetails.reason = checkNullandTrim(rs.getString("REAS_CODE")); //cdnDetails.reason = checkNullandTrim(rs.getString("REAS_CODE"));
cdnDetails.reason = "07-Others";//TODO sending hardcoded reason value, difficult to determine as per GSTN reason list cdnDetails.reason = "07-Others";//TODO sending hardcoded reason value, difficult to determine as per GSTN reason list
if(rs.getDate("REF_DATE__INV").before(gstStartDate)) if(rs.getDate("REF_DATE__INV").before(gstStartDate))
...@@ -3697,17 +3876,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3697,17 +3876,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase(); invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase();
invLineItem.igstInputTax = lineRs.getDouble("ITC_IGST"); invLineItem.igstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_IGST")));
invLineItem.cgstInputTax = lineRs.getDouble("ITC_CGST"); invLineItem.cgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CGST")));
invLineItem.sgstInputTax = lineRs.getDouble("ITC_SGST"); invLineItem.sgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_SGST")));
invLineItem.cessInputTax = lineRs.getDouble("ITC_CESS"); invLineItem.cessInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CESS")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -3735,7 +3914,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3735,7 +3914,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
} }
impg.billOfEntryNo = checkNullandTrim(rs.getString("LR_NO")); impg.billOfEntryNo = checkNullandTrim(rs.getString("LR_NO"));
impg.billOfEntryDate = rs.getDate("LR_DATE"); impg.billOfEntryDate = rs.getDate("LR_DATE");
impg.amount = rs.getDouble("AMOUNT"); impg.amount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
impg.portCode = checkNullandTrim(rs.getString("ORDER_NO")); impg.portCode = checkNullandTrim(rs.getString("ORDER_NO"));
impg.items = invLineItems; impg.items = invLineItems;
...@@ -3756,17 +3935,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3756,17 +3935,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase(); invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase();
invLineItem.igstInputTax = lineRs.getDouble("ITC_IGST"); invLineItem.igstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_IGST")));
invLineItem.cgstInputTax = lineRs.getDouble("ITC_CGST"); invLineItem.cgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CGST")));
invLineItem.sgstInputTax = lineRs.getDouble("ITC_SGST"); invLineItem.sgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_SGST")));
invLineItem.cessInputTax = lineRs.getDouble("ITC_CESS"); invLineItem.cessInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CESS")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -3784,7 +3963,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3784,7 +3963,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
imps = new IMPS(); imps = new IMPS();
imps.inum = checkNullandTrim(rs.getString("DOC_NO")); imps.inum = checkNullandTrim(rs.getString("DOC_NO"));
imps.idt = rs.getDate("DOC_DATE"); imps.idt = rs.getDate("DOC_DATE");
imps.val = rs.getDouble("AMOUNT"); imps.val = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
imps.pos = checkNullandTrim(rs.getString("GST_CODE")); imps.pos = checkNullandTrim(rs.getString("GST_CODE"));
imps.items = invLineItems; imps.items = invLineItems;
...@@ -3805,12 +3984,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3805,12 +3984,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -3850,12 +4029,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3850,12 +4029,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -3899,17 +4078,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3899,17 +4078,17 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
invLineItem = new InvLineItem(); invLineItem = new InvLineItem();
invLineItem.num = ++lineNum; invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE"); invLineItem.rate = Double.parseDouble(String.format("%.2f",lineRs.getDouble("GST_RATE")));
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT"); invLineItem.taxval = Double.parseDouble(String.format("%.2f",lineRs.getDouble("TAXABLE_AMT")));
invLineItem.iamt = lineRs.getDouble("IGST_AMT"); invLineItem.iamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("IGST_AMT")));
invLineItem.camt = lineRs.getDouble("CGST_AMT"); invLineItem.camt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CGST_AMT")));
invLineItem.samt = lineRs.getDouble("SGST_AMT"); invLineItem.samt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("SGST_AMT")));
invLineItem.csamt = lineRs.getDouble("CESS_AMT"); invLineItem.csamt = Double.parseDouble(String.format("%.2f",lineRs.getDouble("CESS_AMT")));
invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase(); invLineItem.itcType = checkNullandTrim(lineRs.getString("ITC_TYPE")).toLowerCase();
invLineItem.igstInputTax = lineRs.getDouble("ITC_IGST"); invLineItem.igstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_IGST")));
invLineItem.cgstInputTax = lineRs.getDouble("ITC_CGST"); invLineItem.cgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CGST")));
invLineItem.sgstInputTax = lineRs.getDouble("ITC_SGST"); invLineItem.sgstInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_SGST")));
invLineItem.cessInputTax = lineRs.getDouble("ITC_CESS"); invLineItem.cessInputTax = Double.parseDouble(String.format("%.2f",lineRs.getDouble("ITC_CESS")));
invLineItems.add(invLineItem); invLineItems.add(invLineItem);
} }
...@@ -3934,7 +4113,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3934,7 +4113,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
cdnur.cdNoteDate = rs.getDate("DOC_DATE"); cdnur.cdNoteDate = rs.getDate("DOC_DATE");
cdnur.invoiceNumber = checkNullandTrim(rs.getString("REF_ID__INV")); cdnur.invoiceNumber = checkNullandTrim(rs.getString("REF_ID__INV"));
cdnur.invoiceDate = rs.getDate("REF_DATE__INV"); cdnur.invoiceDate = rs.getDate("REF_DATE__INV");
cdnur.val = rs.getDouble("AMOUNT"); cdnur.val = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
//cdnur.reason = checkNullandTrim(rs.getString("REAS_CODE")); //cdnur.reason = checkNullandTrim(rs.getString("REAS_CODE"));
cdnur.reason = "07-Others";//TODO sending hardcoded reason value, difficult to determine as per GSTN reason list cdnur.reason = "07-Others";//TODO sending hardcoded reason value, difficult to determine as per GSTN reason list
if(rs.getDate("REF_DATE__INV").before(gstStartDate)) if(rs.getDate("REF_DATE__INV").before(gstStartDate))
...@@ -3970,20 +4149,20 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3970,20 +4149,20 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
+ " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ?" + " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ?"
+ " GROUP BY GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT";*/ + " GROUP BY GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT";*/
sql = " SELECT GS_CODE, GS_DESCR, UNIT, SUM(TOT_QTY) AS TOT_QTY, SUM(TOT_TAXVAL) AS TOT_TAXVAL, SUM(TOT_IAMT) AS TOT_IAMT, SUM(TOT_CAMT) AS TOT_CAMT, SUM(TOT_SAMT) AS TOT_SAMT, SUM(TOT_CSAMT) AS TOT_CSAMT FROM" sql = " SELECT GS_CODE, UNIT, SUM(TOT_QTY) AS TOT_QTY, SUM(TOT_TAXVAL) AS TOT_TAXVAL, SUM(TOT_IAMT) AS TOT_IAMT, SUM(TOT_CAMT) AS TOT_CAMT, SUM(TOT_SAMT) AS TOT_SAMT, SUM(TOT_CSAMT) AS TOT_CSAMT FROM"
+ " (SELECT GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT, SUM(GDD.QUANTITY) AS TOT_QTY, SUM(GDD.TAXABLE_AMT) AS TOT_TAXVAL," + " (SELECT GDD.GS_CODE, GDD.UNIT, SUM(GDD.QUANTITY) AS TOT_QTY, SUM(GDD.TAXABLE_AMT) AS TOT_TAXVAL,"
+ " SUM(GDD.IGST_AMT) AS TOT_IAMT, SUM(CGST_AMT) AS TOT_CAMT, SUM(SGST_AMT) AS TOT_SAMT, SUM(CESS_AMT) AS TOT_CSAMT" + " SUM(GDD.IGST_AMT) AS TOT_IAMT, SUM(CGST_AMT) AS TOT_CAMT, SUM(SGST_AMT) AS TOT_SAMT, SUM(CESS_AMT) AS TOT_CSAMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD" + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID = GDD.TRAN_ID AND GDD.GS_CODE IS NOT NULL AND GDH.REC_TYPE='2'" + " WHERE GDH.TRAN_ID = GDD.TRAN_ID AND GDD.GS_CODE IS NOT NULL AND GDH.REC_TYPE='2'"
+ " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE NOT IN ('10','11')" + " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE NOT IN ('10','11')"
+ " GROUP BY GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT" + " GROUP BY GDD.GS_CODE, GDD.UNIT"
+ " UNION ALL" + " UNION ALL"
+ " SELECT GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT, -1*SUM(GDD.QUANTITY) AS TOT_QTY, -1*SUM(GDD.TAXABLE_AMT) AS TOT_TAXVAL," + " SELECT GDD.GS_CODE, GDD.UNIT, -1*SUM(GDD.QUANTITY) AS TOT_QTY, -1*SUM(GDD.TAXABLE_AMT) AS TOT_TAXVAL,"
+ " -1*SUM(GDD.IGST_AMT) AS TOT_IAMT, -1*SUM(CGST_AMT) AS TOT_CAMT, -1*SUM(SGST_AMT) AS TOT_SAMT, -1*SUM(CESS_AMT) AS TOT_CSAMT" + " -1*SUM(GDD.IGST_AMT) AS TOT_IAMT, -1*SUM(CGST_AMT) AS TOT_CAMT, -1*SUM(SGST_AMT) AS TOT_SAMT, -1*SUM(CESS_AMT) AS TOT_CSAMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD" + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID = GDD.TRAN_ID AND GDD.GS_CODE IS NOT NULL AND GDH.REC_TYPE='2'" + " WHERE GDH.TRAN_ID = GDD.TRAN_ID AND GDD.GS_CODE IS NOT NULL AND GDH.REC_TYPE='2'"
+ " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE IN ('10','11')" + " AND GDH.SITE_CODE = ? AND GDH.PRD_CODE = ? AND GDH.TRAN_TYPE IN ('10','11')"
+ " GROUP BY GDD.GS_CODE, GDD.GS_DESCR, GDD.UNIT) GROUP BY GS_CODE, GS_DESCR, UNIT"; + " GROUP BY GDD.GS_CODE, GDD.UNIT) GROUP BY GS_CODE, UNIT";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode); pstmt.setString(1, siteCode);
...@@ -3998,15 +4177,16 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3998,15 +4177,16 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
hsnDetails.num = ++num; hsnDetails.num = ++num;
hsnDetails.itemOrServiceCode = checkNullandTrim(rs.getString("GS_CODE")); hsnDetails.itemOrServiceCode = checkNullandTrim(rs.getString("GS_CODE"));
hsnDetails.description = checkNullandTrim(rs.getString("GS_DESCR")); hsnDetails.description = "";
hsnDetails.unitOfMeasure = checkNullandTrim(rs.getString("UNIT")); hsnDetails.unitOfMeasure = checkNullandTrim(rs.getString("UNIT"));
hsnDetails.quantity = rs.getDouble("TOT_QTY"); hsnDetails.quantity = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_QTY")));
hsnDetails.totalAmount = rs.getDouble("TOT_TAXVAL") + rs.getDouble("TOT_IAMT") + rs.getDouble("TOT_CAMT") + rs.getDouble("TOT_SAMT") + rs.getDouble("TOT_CSAMT"); double totalAmount = rs.getDouble("TOT_TAXVAL") + rs.getDouble("TOT_IAMT") + rs.getDouble("TOT_CAMT") + rs.getDouble("TOT_SAMT") + rs.getDouble("TOT_CSAMT");
hsnDetails.totalTaxableAmount = rs.getDouble("TOT_TAXVAL"); hsnDetails.totalAmount = Double.parseDouble(String.format("%.2f",totalAmount));
hsnDetails.totalIGSTAmount = rs.getDouble("TOT_IAMT"); hsnDetails.totalTaxableAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_TAXVAL")));
hsnDetails.totalCGSTAmount = rs.getDouble("TOT_CAMT"); hsnDetails.totalIGSTAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_IAMT")));
hsnDetails.totalSGSTAmount = rs.getDouble("TOT_SAMT"); hsnDetails.totalCGSTAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_CAMT")));
hsnDetails.totalCESSAmount = rs.getDouble("TOT_CSAMT"); hsnDetails.totalSGSTAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_SAMT")));
hsnDetails.totalCESSAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TOT_CSAMT")));
hsnList.add(hsnDetails); hsnList.add(hsnDetails);
} }
...@@ -4091,8 +4271,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -4091,8 +4271,23 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
System.out.println("jsonPayload to SAVE GSTR2["+json+"]"); System.out.println("jsonPayload to SAVE GSTR2["+json+"]");
jsonValidErrStr = getJsonSchemaValidation("2", json, conn);
if(jsonValidErrStr.trim().length()==0)
{
retString = saveGSTRData(json, noOfRecords, tranIdList, "2", conn, xtraParams); retString = saveGSTRData(json, noOfRecords, tranIdList, "2", conn, xtraParams);
} }
else
{
retString = jsonValidErrStr;
}
}
}
else
{
retString = itmDBAccessEJB.getErrorString("", "VTCHKRETST", "", "", conn);
}
} }
catch(Exception e) catch(Exception e)
{ {
...@@ -4161,7 +4356,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -4161,7 +4356,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
JSONObject generateGstr3JsonObj = new JSONObject(new String(generateGstr3JsonInBytes)); JSONObject generateGstr3JsonObj = new JSONObject(new String(generateGstr3JsonInBytes));
System.out.println("560101.generateGstr3JsonObj["+generateGstr3JsonObj+"]"); System.out.println("generateGstr3JsonObj["+generateGstr3JsonObj+"]");
if(generateGstr3JsonObj.has("ref_id")) if(generateGstr3JsonObj.has("ref_id"))
{ {
...@@ -4323,7 +4518,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -4323,7 +4518,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
if(tempJsonObj.has("ul")) if(tempJsonObj.has("ul"))
{ {
String fileUrl = tempJsonObj.getString("ul"); String fileUrl = tempJsonObj.getString("ul");
fileUrl = FILEDET_URL + fileUrl; fileUrl = BASE_API_URL + fileUrl;
System.out.println("fileUrl["+fileUrl+"]");
URL url = new URL(fileUrl); URL url = new URL(fileUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); HttpURLConnection connection = (HttpURLConnection) url.openConnection();
...@@ -4789,37 +4985,37 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -4789,37 +4985,37 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
if("01".equalsIgnoreCase(gstCommonUtil.checkNull(rs.getString("TRAN_TYPE")))) if("01".equalsIgnoreCase(gstCommonUtil.checkNull(rs.getString("TRAN_TYPE"))))
{ {
outwardSuppliesDetails = new OutwardSuppliesDetails(); outwardSuppliesDetails = new OutwardSuppliesDetails();
outwardSuppliesDetails.taxableAmount = rs.getDouble("TAXABLE_AMT"); outwardSuppliesDetails.taxableAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
outwardSuppliesDetails.igstAmount = rs.getDouble("IGST_AMT"); outwardSuppliesDetails.igstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("IGST_AMT")));
outwardSuppliesDetails.cgstAmount = rs.getDouble("CGST_AMT"); outwardSuppliesDetails.cgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CGST_AMT")));
outwardSuppliesDetails.sgstAmount = rs.getDouble("SGST_AMT"); outwardSuppliesDetails.sgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("SGST_AMT")));
outwardSuppliesDetails.cessAmount = rs.getDouble("CESS_AMT"); outwardSuppliesDetails.cessAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CESS_AMT")));
} }
else if("02".equalsIgnoreCase(gstCommonUtil.checkNull(rs.getString("TRAN_TYPE")))) else if("02".equalsIgnoreCase(gstCommonUtil.checkNull(rs.getString("TRAN_TYPE"))))
{ {
outwardZeroRatedSupplies = new OutwardZeroRatedSupplies(); outwardZeroRatedSupplies = new OutwardZeroRatedSupplies();
outwardZeroRatedSupplies.taxableAmount = rs.getDouble("TAXABLE_AMT"); outwardZeroRatedSupplies.taxableAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
outwardZeroRatedSupplies.igstAmount = rs.getDouble("IGST_AMT"); outwardZeroRatedSupplies.igstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("IGST_AMT")));
outwardZeroRatedSupplies.cessAmount = rs.getDouble("CESS_AMT"); outwardZeroRatedSupplies.cessAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CESS_AMT")));
} }
else if("03".equalsIgnoreCase(gstCommonUtil.checkNull(rs.getString("TRAN_TYPE")))) else if("03".equalsIgnoreCase(gstCommonUtil.checkNull(rs.getString("TRAN_TYPE"))))
{ {
outwardExempetedSupplies = new OutwardExempetedSupplies(); outwardExempetedSupplies = new OutwardExempetedSupplies();
outwardExempetedSupplies.taxableAmount = rs.getDouble("TAXABLE_AMT"); outwardExempetedSupplies.taxableAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
} }
else if("04".equalsIgnoreCase(gstCommonUtil.checkNull(rs.getString("TRAN_TYPE")))) else if("04".equalsIgnoreCase(gstCommonUtil.checkNull(rs.getString("TRAN_TYPE"))))
{ {
inwardSuppliesUnderRevCharge = new InwardSuppliesUnderRevCharge(); inwardSuppliesUnderRevCharge = new InwardSuppliesUnderRevCharge();
inwardSuppliesUnderRevCharge.taxableAmount = rs.getDouble("TAXABLE_AMT"); inwardSuppliesUnderRevCharge.taxableAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
inwardSuppliesUnderRevCharge.igstAmount = rs.getDouble("IGST_AMT"); inwardSuppliesUnderRevCharge.igstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("IGST_AMT")));
inwardSuppliesUnderRevCharge.cgstAmount = rs.getDouble("CGST_AMT"); inwardSuppliesUnderRevCharge.cgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CGST_AMT")));
inwardSuppliesUnderRevCharge.sgstAmount = rs.getDouble("SGST_AMT"); inwardSuppliesUnderRevCharge.sgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("SGST_AMT")));
inwardSuppliesUnderRevCharge.cessAmount = rs.getDouble("CESS_AMT"); inwardSuppliesUnderRevCharge.cessAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CESS_AMT")));
} }
else if("05".equalsIgnoreCase(gstCommonUtil.checkNull(rs.getString("TRAN_TYPE")))) else if("05".equalsIgnoreCase(gstCommonUtil.checkNull(rs.getString("TRAN_TYPE"))))
{ {
outwardNonGSTSupplies = new OutwardNonGSTSupplies(); outwardNonGSTSupplies = new OutwardNonGSTSupplies();
outwardNonGSTSupplies.taxableAmount = rs.getDouble("TAXABLE_AMT"); outwardNonGSTSupplies.taxableAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
} }
} }
closeResources(rs,pstmt); closeResources(rs,pstmt);
...@@ -4850,8 +5046,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -4850,8 +5046,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
InterStateSuppliesData interStateSuppliesData = new InterStateSuppliesData(); InterStateSuppliesData interStateSuppliesData = new InterStateSuppliesData();
interStateSuppliesData.placeOfSupply = gstCommonUtil.checkNull(rs.getString("GST_CODE")); interStateSuppliesData.placeOfSupply = gstCommonUtil.checkNull(rs.getString("GST_CODE"));
interStateSuppliesData.taxableAmount = rs.getDouble("TAXABLE_AMT"); interStateSuppliesData.taxableAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
interStateSuppliesData.igstAmount = rs.getDouble("IGST_AMT"); interStateSuppliesData.igstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("IGST_AMT")));
interStateSuppliesDataList.add(interStateSuppliesData); interStateSuppliesDataList.add(interStateSuppliesData);
} }
closeResources(rs,pstmt); closeResources(rs,pstmt);
...@@ -4878,8 +5074,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -4878,8 +5074,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
InterStateSuppliesData interStateSuppliesData = new InterStateSuppliesData(); InterStateSuppliesData interStateSuppliesData = new InterStateSuppliesData();
interStateSuppliesData.placeOfSupply = gstCommonUtil.checkNull(rs.getString("GST_CODE")); interStateSuppliesData.placeOfSupply = gstCommonUtil.checkNull(rs.getString("GST_CODE"));
interStateSuppliesData.taxableAmount = rs.getDouble("TAXABLE_AMT"); interStateSuppliesData.taxableAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
interStateSuppliesData.igstAmount = rs.getDouble("IGST_AMT"); interStateSuppliesData.igstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("IGST_AMT")));
interStateSuppliesDataList.add(interStateSuppliesData); interStateSuppliesDataList.add(interStateSuppliesData);
} }
closeResources(rs,pstmt); closeResources(rs,pstmt);
...@@ -4906,8 +5102,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -4906,8 +5102,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
InterStateSuppliesData interStateSuppliesData = new InterStateSuppliesData(); InterStateSuppliesData interStateSuppliesData = new InterStateSuppliesData();
interStateSuppliesData.placeOfSupply = gstCommonUtil.checkNull(rs.getString("GST_CODE")); interStateSuppliesData.placeOfSupply = gstCommonUtil.checkNull(rs.getString("GST_CODE"));
interStateSuppliesData.taxableAmount = rs.getDouble("TAXABLE_AMT"); interStateSuppliesData.taxableAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
interStateSuppliesData.igstAmount = rs.getDouble("IGST_AMT"); interStateSuppliesData.igstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("IGST_AMT")));
interStateSuppliesDataList.add(interStateSuppliesData); interStateSuppliesDataList.add(interStateSuppliesData);
} }
closeResources(rs,pstmt); closeResources(rs,pstmt);
...@@ -4955,10 +5151,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -4955,10 +5151,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
itcData.type = "OTH"; itcData.type = "OTH";
} }
itcData.igstAmount = rs.getDouble("IGST_AMT"); itcData.igstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("IGST_AMT")));
itcData.cgstAmount = rs.getDouble("CGST_AMT"); itcData.cgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CGST_AMT")));
itcData.sgstAmount = rs.getDouble("SGST_AMT"); itcData.sgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("SGST_AMT")));
itcData.cessAmount = rs.getDouble("CESS_AMT"); itcData.cessAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CESS_AMT")));
itcAvlDataList.add(itcData); itcAvlDataList.add(itcData);
} }
closeResources(rs,pstmt); closeResources(rs,pstmt);
...@@ -5004,10 +5200,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -5004,10 +5200,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
itcData.type = "OTH"; itcData.type = "OTH";
} }
itcData.igstAmount = rs.getDouble("IGST_AMT"); itcData.igstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("IGST_AMT")));
itcData.cgstAmount = rs.getDouble("CGST_AMT"); itcData.cgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CGST_AMT")));
itcData.sgstAmount = rs.getDouble("SGST_AMT"); itcData.sgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("SGST_AMT")));
itcData.cessAmount = rs.getDouble("CESS_AMT"); itcData.cessAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CESS_AMT")));
itcRevDataList.add(itcData); itcRevDataList.add(itcData);
} }
closeResources(rs,pstmt); closeResources(rs,pstmt);
...@@ -5027,10 +5223,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -5027,10 +5223,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
if(rs.next()) if(rs.next())
{ {
netITCData = new ITCData(); netITCData = new ITCData();
netITCData.igstAmount = rs.getDouble("IGST_AMT"); netITCData.igstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("IGST_AMT")));
netITCData.cgstAmount = rs.getDouble("CGST_AMT"); netITCData.cgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CGST_AMT")));
netITCData.sgstAmount = rs.getDouble("SGST_AMT"); netITCData.sgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("SGST_AMT")));
netITCData.cessAmount = rs.getDouble("CESS_AMT"); netITCData.cessAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CESS_AMT")));
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
...@@ -5075,10 +5271,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -5075,10 +5271,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
itcData.type = "OTH"; itcData.type = "OTH";
} }
itcData.igstAmount = rs.getDouble("IGST_AMT"); itcData.igstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("IGST_AMT")));
itcData.cgstAmount = rs.getDouble("CGST_AMT"); itcData.cgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CGST_AMT")));
itcData.sgstAmount = rs.getDouble("SGST_AMT"); itcData.sgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("SGST_AMT")));
itcData.cessAmount = rs.getDouble("CESS_AMT"); itcData.cessAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CESS_AMT")));
itcInelgDataList.add(itcData); itcInelgDataList.add(itcData);
} }
closeResources(rs,pstmt); closeResources(rs,pstmt);
...@@ -5121,11 +5317,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -5121,11 +5317,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
String tranType = checkNullandTrim(rs.getString("TRAN_TYPE")); String tranType = checkNullandTrim(rs.getString("TRAN_TYPE"));
if("28".equalsIgnoreCase(tranType)) if("28".equalsIgnoreCase(tranType))
{ {
inwardGSTSupplies.interSuppliesAmount = rs.getDouble("TAXABLE_AMT"); inwardGSTSupplies.interSuppliesAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
} }
else if("30".equalsIgnoreCase(tranType)) else if("30".equalsIgnoreCase(tranType))
{ {
inwardGSTSupplies.intraSuppliesAmount = rs.getDouble("TAXABLE_AMT"); inwardGSTSupplies.intraSuppliesAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
} }
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
...@@ -5151,11 +5347,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -5151,11 +5347,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
String tranType = checkNullandTrim(rs.getString("TRAN_TYPE")); String tranType = checkNullandTrim(rs.getString("TRAN_TYPE"));
if("29".equalsIgnoreCase(tranType)) if("29".equalsIgnoreCase(tranType))
{ {
inwardnonGSTSupplies.interSuppliesAmount = rs.getDouble("TAXABLE_AMT"); inwardnonGSTSupplies.interSuppliesAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
} }
else if("31".equalsIgnoreCase(tranType)) else if("31".equalsIgnoreCase(tranType))
{ {
inwardnonGSTSupplies.intraSuppliesAmount = rs.getDouble("TAXABLE_AMT"); inwardnonGSTSupplies.intraSuppliesAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("TAXABLE_AMT")));
} }
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
...@@ -5182,10 +5378,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -5182,10 +5378,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
if(rs.next()) if(rs.next())
{ {
interestLateFeeData = new InterestLateFeeData(); interestLateFeeData = new InterestLateFeeData();
interestLateFeeData.igstAmount = rs.getDouble("IGST_AMT"); interestLateFeeData.igstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("IGST_AMT")));
interestLateFeeData.cgstAmount = rs.getDouble("CGST_AMT"); interestLateFeeData.cgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CGST_AMT")));
interestLateFeeData.sgstAmount = rs.getDouble("SGST_AMT"); interestLateFeeData.sgstAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("SGST_AMT")));
interestLateFeeData.cessAmount = rs.getDouble("CESS_AMT"); interestLateFeeData.cessAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("CESS_AMT")));
} }
closeResources(rs, pstmt); closeResources(rs, pstmt);
...@@ -6538,21 +6734,13 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -6538,21 +6734,13 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
throw new ITMException(e); throw new ITMException(e);
} }
}*/ }*/
private void updateSubmissionStatus(ArrayList<String> tranIdList, String actionFlag, Connection conn) throws ITMException private void updateSubmissionStatus(ArrayList<String> tranIdList, String submitStatus, Connection conn) throws ITMException
{ {
String updateSql = "", submitStatus = ""; String updateSql = "";
PreparedStatement pstmtUpd = null; PreparedStatement pstmtUpd = null;
try try
{ {
if("S".equalsIgnoreCase(actionFlag))
{
submitStatus = "T";
}
else if("D".equalsIgnoreCase(actionFlag))
{
submitStatus = "P";
}
updateSql = "UPDATE GST_DATA_HDR SET SUBMIT_STATUS = ?, SUBMIT_DATE = ? WHERE TRAN_ID = ?"; updateSql = "UPDATE GST_DATA_HDR SET SUBMIT_STATUS = ?, SUBMIT_DATE = ? WHERE TRAN_ID = ?";
pstmtUpd = conn.prepareStatement(updateSql); pstmtUpd = conn.prepareStatement(updateSql);
...@@ -6591,7 +6779,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -6591,7 +6779,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
try try
{ {
String errString = ""; String errString = "";
errString = new ITMDBAccessEJB().getErrorString("",Code,"","",conn); errString = itmDBAccessEJB.getErrorString("",Code,"","",conn);
String begPart = errString.substring(0,errString.indexOf("</description>")); String begPart = errString.substring(0,errString.indexOf("</description>"));
String endDesc = errString.substring(errString.indexOf("</description>"),errString.length()); String endDesc = errString.substring(errString.indexOf("</description>"),errString.length());
...@@ -6718,15 +6906,15 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -6718,15 +6906,15 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
} }
if(nilAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE"))) if(nilAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{ {
nilAmount = rs.getDouble("AMOUNT"); nilAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
} }
if(exmptAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE"))) if(exmptAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{ {
exemtAmount = rs.getDouble("AMOUNT"); exemtAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
} }
if(nonGSTAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE"))) if(nonGSTAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{ {
nonGSTAmount = rs.getDouble("AMOUNT"); nonGSTAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
} }
} }
...@@ -6791,19 +6979,19 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -6791,19 +6979,19 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
} }
if(nilAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE"))) if(nilAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{ {
nilAmount = rs.getDouble("AMOUNT"); nilAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
} }
if(exmptAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE"))) if(exmptAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{ {
exemtAmount = rs.getDouble("AMOUNT"); exemtAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
} }
if(nonGSTAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE"))) if(nonGSTAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{ {
nonGSTAmount = rs.getDouble("AMOUNT"); nonGSTAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
} }
if(compundingAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE"))) if(compundingAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{ {
compoundingAmount = rs.getDouble("AMOUNT"); compoundingAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
} }
} }
...@@ -6868,19 +7056,19 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -6868,19 +7056,19 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
} }
if(nilAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE"))) if(nilAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{ {
nilAmount = rs.getDouble("AMOUNT"); nilAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
} }
if(exmptAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE"))) if(exmptAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{ {
exemtAmount = rs.getDouble("AMOUNT"); exemtAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
} }
if(nonGSTAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE"))) if(nonGSTAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{ {
nonGSTAmount = rs.getDouble("AMOUNT"); nonGSTAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
} }
if(compundingAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE"))) if(compundingAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{ {
compoundingAmount = rs.getDouble("AMOUNT"); compoundingAmount = Double.parseDouble(String.format("%.2f",rs.getDouble("AMOUNT")));
} }
} }
...@@ -6997,7 +7185,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -6997,7 +7185,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
if(gstrRespObj.has("data") && gstrRespObj.has("rek")) if(gstrRespObj.has("data") && gstrRespObj.has("rek"))
{ {
callStatus = "1"; callStatus = "0";
gstrData = gstrRespObj.getString("data"); gstrData = gstrRespObj.getString("data");
gstrRek = gstrRespObj.getString("rek"); gstrRek = gstrRespObj.getString("rek");
...@@ -7023,7 +7211,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -7023,7 +7211,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
System.out.println("DIFFERANCE IN TIME FOR RETSAVE GSTR1 ["+gstin+"] IN HH:MM:SS ["+retSaveDiffHours +":"+retSaveDiffMinutes+":"+retSaveDiffSeconds+"]"); System.out.println("DIFFERANCE IN TIME FOR RETSAVE GSTR1 ["+gstin+"] IN HH:MM:SS ["+retSaveDiffHours +":"+retSaveDiffMinutes+":"+retSaveDiffSeconds+"]");
retString = getSaveSubmitStatus(transId, tranIdList ,recType, "S", xtraParams, conn); updateSubmissionStatus(tranIdList, "U", conn);
} }
else else
{ {
...@@ -7276,6 +7464,51 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -7276,6 +7464,51 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
} }
}*/ }*/
private String getJsonSchemaValidation(String recType, String jsonData, Connection conn) throws ITMException
{
String retString = "";
String schemaFilePath = "", line = "", jsonSchema = "", errMsg = "";
try
{
schemaFilePath = CommonConstants.APPLICATION_CONTEXT+ "setting" + File.separator + "RETSAVE_GSTR"+recType+"_SCHEMA.json";
System.out.println("schemaFilePath["+schemaFilePath+"]");
File schemaFile = new File(schemaFilePath);
System.out.println("schemaFile.exists()["+schemaFile.exists()+"]");
if(schemaFile.exists())
{
BufferedReader br = new BufferedReader(new FileReader(schemaFile));
while((line = br.readLine()) != null)
{
jsonSchema += line;
}
br.close();
errMsg = JsonDataValidator.isJsonValid(jsonSchema, jsonData);
}
else
{
errMsg = "Schema file not found for RETSAVE GSTR"+recType;
}
if(errMsg.trim().length() > 0)
{
retString = getError(errMsg, "GSTAPIERR", conn);
}
}
catch(Exception e)
{
System.out.println("GSTDataSubmitWizPos.getJsonSchema()["+e.getMessage()+"]");
e.printStackTrace();
throw new ITMException(e);
}
System.out.println("final return schema string["+retString+"]");
return retString;
}
private static String checkNullandTrim(String input) private static String checkNullandTrim(String input)
{ {
if (input==null) if (input==null)
......
package ibase.webitm.util.gst;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.Iterator;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.github.fge.jackson.JsonLoader;
import com.github.fge.jsonschema.core.exceptions.ProcessingException;
import com.github.fge.jsonschema.core.report.ProcessingMessage;
import com.github.fge.jsonschema.core.report.ProcessingReport;
import com.github.fge.jsonschema.main.JsonSchema;
import com.github.fge.jsonschema.main.JsonSchemaFactory;
public class JsonDataValidator
{
public static final String JSON_V4_SCHEMA_IDENTIFIER = "http://json-schema.org/draft-04/schema#";
public static final String JSON_SCHEMA_IDENTIFIER_ELEMENT = "$schema";
public static JsonNode getJsonNode(String jsonText) throws IOException
{
return JsonLoader.fromString(jsonText);
} // getJsonNode(text) ends
public static JsonNode getJsonNode(File jsonFile) throws IOException
{
return JsonLoader.fromFile(jsonFile);
} // getJsonNode(File) ends
public static JsonNode getJsonNode(URL url) throws IOException
{
return JsonLoader.fromURL(url);
} // getJsonNode(URL) ends
public static JsonNode getJsonNodeFromResource(String resource) throws IOException
{
return JsonLoader.fromResource(resource);
} // getJsonNode(Resource) ends
public static JsonSchema getSchemaNode(String schemaText) throws IOException, ProcessingException
{
final JsonNode schemaNode = getJsonNode(schemaText);
return _getSchemaNode(schemaNode);
} // getSchemaNode(text) ends
public static JsonSchema getSchemaNode(File schemaFile) throws IOException, ProcessingException
{
final JsonNode schemaNode = getJsonNode(schemaFile);
return _getSchemaNode(schemaNode);
} // getSchemaNode(File) ends
public static JsonSchema getSchemaNode(URL schemaFile) throws IOException, ProcessingException
{
final JsonNode schemaNode = getJsonNode(schemaFile);
return _getSchemaNode(schemaNode);
} // getSchemaNode(URL) ends
public static JsonSchema getSchemaNodeFromResource(String resource) throws IOException, ProcessingException
{
final JsonNode schemaNode = getJsonNodeFromResource(resource);
return _getSchemaNode(schemaNode);
} // getSchemaNode() ends
public static void validateJson(JsonSchema jsonSchemaNode, JsonNode jsonNode) throws ProcessingException
{
ProcessingReport report = jsonSchemaNode.validate(jsonNode);
if (!report.isSuccess()) {
for (ProcessingMessage processingMessage : report) {
throw new ProcessingException(processingMessage);
}
}
} // validateJson(Node) ends
public static String isJsonValid(JsonSchema jsonSchemaNode, JsonNode jsonNode) throws ProcessingException
{
String retMessage = "";
ProcessingReport report = jsonSchemaNode.validate(jsonNode);
if (!report.isSuccess())
{
for (ProcessingMessage processingMessage : report)
{
JsonNode errorJson = processingMessage.asJson();
if(errorJson.has("reports"))
{
JsonNode tempJsonObj = errorJson.get("reports");
Iterator<String> fldNames = tempJsonObj.fieldNames();
while(fldNames.hasNext())
{ String key = fldNames.next();
JsonNode tempMessageErrNode = tempJsonObj.get(key);
if(tempMessageErrNode.get(0).has("message"))
{
System.out.println("message : "+tempMessageErrNode.get(0).get("message"));
retMessage += tempMessageErrNode.get(0).get("message").toString()+"\n";
}
}
}
else if(errorJson.has("message"))
{
System.out.println("message : "+errorJson.get("message"));
retMessage += errorJson.get("message").toString()+"\n";
}
}
}
System.out.println("json validatoin message["+retMessage+"]");
return retMessage;
} // validateJson(Node) ends
public static String isJsonValid(String schemaText, String jsonText) throws ProcessingException, IOException
{
final JsonSchema schemaNode = getSchemaNode(schemaText);
final JsonNode jsonNode = getJsonNode(jsonText);
return isJsonValid(schemaNode, jsonNode);
} // validateJson(Node) ends
public static String isJsonValid(File schemaFile, File jsonFile) throws ProcessingException, IOException
{
final JsonSchema schemaNode = getSchemaNode(schemaFile);
final JsonNode jsonNode = getJsonNode(jsonFile);
return isJsonValid(schemaNode, jsonNode);
} // validateJson(Node) ends
public static String isJsonValid(URL schemaURL, URL jsonURL) throws ProcessingException, IOException
{
final JsonSchema schemaNode = getSchemaNode(schemaURL);
final JsonNode jsonNode = getJsonNode(jsonURL);
return isJsonValid(schemaNode, jsonNode);
} // validateJson(Node) ends
public static void validateJson(String schemaText, String jsonText) throws IOException, ProcessingException{
final JsonSchema schemaNode = getSchemaNode(schemaText);
final JsonNode jsonNode = getJsonNode(jsonText);
validateJson(schemaNode, jsonNode);
} // validateJson(text) ends
public static void validateJson(File schemaFile, File jsonFile) throws IOException, ProcessingException{
final JsonSchema schemaNode = getSchemaNode(schemaFile);
final JsonNode jsonNode = getJsonNode(jsonFile);
validateJson(schemaNode, jsonNode);
} // validateJson(File) ends
public static void validateJson(URL schemaDocument, URL jsonDocument) throws IOException, ProcessingException{
final JsonSchema schemaNode = getSchemaNode(schemaDocument);
final JsonNode jsonNode = getJsonNode(jsonDocument);
validateJson(schemaNode, jsonNode);
} // validateJson(URL) ends
public static void validateJsonResource(String schemaResource, String jsonResource) throws IOException, ProcessingException{
final JsonSchema schemaNode = getSchemaNode(schemaResource);
final JsonNode jsonNode = getJsonNodeFromResource(jsonResource);
validateJson(schemaNode, jsonNode);
} // validateJsonResource() ends
private static JsonSchema _getSchemaNode(JsonNode jsonNode) throws ProcessingException
{
final JsonNode schemaIdentifier = jsonNode.get(JSON_SCHEMA_IDENTIFIER_ELEMENT);
if (null == schemaIdentifier)
{
((ObjectNode) jsonNode).put(JSON_SCHEMA_IDENTIFIER_ELEMENT, JSON_V4_SCHEMA_IDENTIFIER);
}
final JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
return factory.getJsonSchema(jsonNode);
} // _getSchemaNode() ends
}
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