Commit fa8044de authored by steurwadkar's avatar steurwadkar

F17ABAS001 source code commit


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@106656 ce508802-f39f-4f6c-b175-0d175dae99d5
parent e7f5999a
package ibase.webitm.bean.gst; package ibase.webitm.bean.gst;
import java.util.List;
public class DocDetails public class DocDetails
{ {
public int docNum; public int serialNumber;
public String fromSerialNo;
public String toSerialNo;
public int totalNo;
public int cancelNo;
public int toatlNetIssued; public List<Docs> docs;
} }
...@@ -9,9 +9,5 @@ import ibase.webitm.util.gst.DocSerializer; ...@@ -9,9 +9,5 @@ import ibase.webitm.util.gst.DocSerializer;
@JsonSerialize(using = DocSerializer.class) @JsonSerialize(using = DocSerializer.class)
public class DocIssued extends BaseData public class DocIssued extends BaseData
{ {
public int serialNumber;
public String docDescr;
public List<DocDetails> docDetails; public List<DocDetails> docDetails;
} }
package ibase.webitm.bean.gst;
public class Docs
{
public int docNum;
public String fromSerialNo;
public String toSerialNo;
public int totalNo;
public int cancelNo;
public int toatlNetIssued;
}
...@@ -70,5 +70,5 @@ public class GSTR1 { ...@@ -70,5 +70,5 @@ public class GSTR1 {
public HSN hsn; public HSN hsn;
@JsonProperty("doc_issue") @JsonProperty("doc_issue")
public List<DocIssued> docIssued; public DocIssued docIssued;
} }
...@@ -59,15 +59,12 @@ import ibase.webitm.utility.ITMException; ...@@ -59,15 +59,12 @@ import ibase.webitm.utility.ITMException;
@javax.ejb.Stateless @javax.ejb.Stateless
public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWizEJBLocal, GSTDataSubmitWizEJBRemote public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWizEJBLocal, GSTDataSubmitWizEJBRemote
{ {
private String GST_API_URL = ""; private String BASE_API_URL = "";
private String GSP_API_URL = ""; private String AUTH_TOKEN_URL = "";
private String AUTH_TOKEN_URL_V2 = ""; private String GSTR_RETSTAT_URL = "";
private String GSTR_URL_V3 = ""; private String GSTR1_URL = "";
private String GSTR1_URL_V2 = ""; private String GSTR2_URL = "";
private String GSTR2_URL_V2 = ""; private String GSTR3B_URL = "";
private String GSTR1_URL_V3 = "";
private String GSTR2_URL_V3 = "";
private String GSTR3B_URL_V3 = "";
private String FILEDET_URL = ""; private String FILEDET_URL = "";
private final String APPLICATION_JSON = "application/json"; private final String APPLICATION_JSON = "application/json";
private String appKey = ""; private String appKey = "";
...@@ -82,7 +79,6 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -82,7 +79,6 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
PubKeyEncryption pubKeyEncryption = null; PubKeyEncryption pubKeyEncryption = null;
GSPSignature gspSignature; GSPSignature gspSignature;
PrivateKey aspPrivateKey = null; PrivateKey aspPrivateKey = null;
Connection conn = null;
GSTCommonUtil gstCommonUtil = new GSTCommonUtil(); GSTCommonUtil gstCommonUtil = new GSTCommonUtil();
E12GenericUtility e12GenericUtility = new E12GenericUtility(); E12GenericUtility e12GenericUtility = new E12GenericUtility();
...@@ -90,9 +86,8 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -90,9 +86,8 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
@PostConstruct @PostConstruct
public void postConstruct() public void postConstruct()
{ {
String sql = "", gstnPublicKeyName = "", gspPrivateKeyName = ""; String gstnPublicKeyName = "", gspPrivateKeyName = "";
PreparedStatement pstmt = null; Connection conn = null;
ResultSet rs = null;
try(java.util.Scanner sc = new java.util.Scanner(new java.net.URL("https://api.ipify.org").openStream(), "UTF-8").useDelimiter("\\A")) try(java.util.Scanner sc = new java.util.Scanner(new java.net.URL("https://api.ipify.org").openStream(), "UTF-8").useDelimiter("\\A"))
{ {
System.out.println("GSTDataSubmitWizEJB PostConstruct called!"); System.out.println("GSTDataSubmitWizEJB PostConstruct called!");
...@@ -134,87 +129,6 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -134,87 +129,6 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
folder.mkdirs(); folder.mkdirs();
System.out.println("GSTN Folder created"); System.out.println("GSTN Folder created");
} }
sql = "SELECT SERVICE_CODE, SERVICE_URI FROM SYSTEM_EVENT_SERVICES WHERE METHOD_NAME = 'GST_API_URL'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next())
{
switch(rs.getString("SERVICE_CODE"))
{
case "gsp_base_url" :
{
GSP_API_URL = rs.getString("SERVICE_URI");
}
break;
case "gst_base_url" :
{
GST_API_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr_url_v3" :
{
GSTR_URL_V3 = rs.getString("SERVICE_URI");
}
break;
case "gstr_auth_url_v2" :
{
AUTH_TOKEN_URL_V2 = rs.getString("SERVICE_URI");
}
break;
case "gstr1_url_v2" :
{
GSTR1_URL_V2 = rs.getString("SERVICE_URI");
}
break;
case "gstr2_url_v2" :
{
GSTR2_URL_V2 = rs.getString("SERVICE_URI");
}
break;
case "gstr1_url_v3" :
{
GSTR1_URL_V3 = rs.getString("SERVICE_URI");
}
break;
case "gstr2_url_v3" :
{
GSTR2_URL_V3 = rs.getString("SERVICE_URI");
}
break;
case "gstr3b_url_v3" :
{
GSTR3B_URL_V3 = rs.getString("SERVICE_URI");
}
break;
case "gstr_filedet_url" :
{
FILEDET_URL = rs.getString("SERVICE_URI");
}
break;
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
System.out.println("GST_API_URL["+GST_API_URL+"]");
System.out.println("AUTH_TOKEN_URL_V2["+AUTH_TOKEN_URL_V2+"]");
System.out.println("GSTR_URL_V3["+GSTR_URL_V3+"]");
System.out.println("GSTR1_URL_V2["+GSTR1_URL_V2+"]");
System.out.println("GSTR2_URL_V2["+GSTR2_URL_V2+"]");
System.out.println("GSTR1_URL_V3["+GSTR1_URL_V3+"]");
System.out.println("GSTR2_URL_V3["+GSTR2_URL_V3+"]");
System.out.println("GSTR3B_URL_V3["+GSTR3B_URL_V3+"]");
System.out.println("FILEDET_URL["+FILEDET_URL+"]");
} }
catch (Exception e) catch (Exception e)
{ {
...@@ -295,6 +209,60 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -295,6 +209,60 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
System.out.println("currentColumn["+currentColumn+"] currentFormNo["+currentFormNo+"]" ); System.out.println("currentColumn["+currentColumn+"] currentFormNo["+currentFormNo+"]" );
sql = "SELECT SERVICE_CODE, SERVICE_URI FROM SYSTEM_EVENT_SERVICES WHERE METHOD_NAME = 'GST_API_URL'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next())
{
switch(rs.getString("SERVICE_CODE"))
{
case "base_url" :
{
BASE_API_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr_auth_url" :
{
AUTH_TOKEN_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr_retstatus_url" :
{
GSTR_RETSTAT_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr1_url" :
{
GSTR1_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr2_url" :
{
GSTR2_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr3b_url" :
{
GSTR3B_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr_filedet_url" :
{
FILEDET_URL = rs.getString("SERVICE_URI");
}
break;
}
}
closeResources(rs, pstmt);
System.out.println("BASE_API_URL["+BASE_API_URL+"]");
System.out.println("AUTH_TOKEN_URL["+AUTH_TOKEN_URL+"]");
System.out.println("GSTR_URL["+GSTR_RETSTAT_URL+"]");
System.out.println("GSTR1_URL["+GSTR1_URL+"]");
System.out.println("GSTR2_URL["+GSTR2_URL+"]");
System.out.println("GSTR3B_URL["+GSTR3B_URL+"]");
System.out.println("FILEDET_URL["+FILEDET_URL+"]");
valueXmlString = new StringBuffer( "<?xml version=\"1.0\"?><Root><Header><editFlag>" ); valueXmlString = new StringBuffer( "<?xml version=\"1.0\"?><Root><Header><editFlag>" );
valueXmlString.append( editFlag ).append( "</editFlag></Header>" ); valueXmlString.append( editFlag ).append( "</editFlag></Header>" );
...@@ -424,266 +392,199 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -424,266 +392,199 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
} }
sql = " SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE SITE_CODE = ? AND PRD_CODE = ? AND REC_TYPE = ? AND SUBMIT_STATUS = ? "; transactionId = UUID.randomUUID().toString().replaceAll("-", "");
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode); gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstinNo;
pstmt.setString(2, periodCode); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
pstmt.setString(3, recType);
pstmt.setString(4, "S");
rs = pstmt.executeQuery(); otp = checkNull(e12GenericUtility.getColumnValue("otp", dom1));
if(rs.next())
{
submitRowCnt = rs.getInt("CNT");
}
closeResources(rs, pstmt);
System.out.println("submitRowCnt=["+submitRowCnt+"]"); String encryptedOTP = aesEncryption.encryptEK(otp.getBytes(), appKeyInBytes);
if("GETINV".equalsIgnoreCase(action) || "SUBMIT".equalsIgnoreCase(action)) JSONObject authTokenReqObj = new JSONObject();
{ authTokenReqObj.put("action", "AUTHTOKEN");
File baseDir = new File(fileDownloadDir); authTokenReqObj.put("username", userName);
String baseDirPath = baseDir.getAbsolutePath(); authTokenReqObj.put("app_key", appKeyEncryptedAndCoded);
String finalDirPath = baseDirPath + File.separator + gstinNo + File.separator + periodCode + File.separator + returnType; authTokenReqObj.put("otp", encryptedOTP);
File finalDir = new File(finalDirPath);
if(!finalDir.exists())
{
boolean isFoderCreated = finalDir.mkdirs();
if(isFoderCreated)
{
System.out.println("433.final folder structure created for ["+gstinNo+"] for return period["+periodCode+"] for ["+returnType+"]");
}
}
else
{
if(submitRowCnt == 0)
{
String[] fileList = finalDir.list();
for(String eachFileName : fileList)
{
File eachFile = new File(finalDir.getPath(), eachFileName);
eachFile.delete();
}
boolean isDeleted = finalDir.delete();
System.out.println("Old folder deleted["+isDeleted+"]");
if(isDeleted && !finalDir.exists())
{
boolean isFoderCreated = finalDir.mkdirs();
if(isFoderCreated)
{
System.out.println("452.final folder structure created for ["+gstinNo+"] for return period["+periodCode+"] for ["+returnType+"]");
}
}
}
else
{
isLocalDataFiles = true;
}
}
saveFilePath = finalDir.getAbsolutePath();
}
if(!isLocalDataFiles )
{
transactionId = UUID.randomUUID().toString().replaceAll("-", "");
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstinNo;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
otp = checkNull(e12GenericUtility.getColumnValue("otp", dom1));
String encryptedOTP = aesEncryption.encryptEK(otp.getBytes(), appKeyInBytes);
JSONObject authTokenReqObj = new JSONObject();
authTokenReqObj.put("action", "AUTHTOKEN");
authTokenReqObj.put("username", userName);
authTokenReqObj.put("app_key", appKeyEncryptedAndCoded);
authTokenReqObj.put("otp", encryptedOTP);
HttpRequest authTokenReq = Unirest.post(String.format("%s%s", GSP_API_URL, AUTH_TOKEN_URL_V2)) HttpRequest authTokenReq = Unirest.post(String.format("%s%s", BASE_API_URL, AUTH_TOKEN_URL))
.header("Content-Type",APPLICATION_JSON) .header("Content-Type",APPLICATION_JSON)
.header("clientid", clientId) .header("clientid", clientId)
.header("client-secret", clientSecret) .header("client-secret", clientSecret)
.header("state-cd", stateCode) .header("state-cd", stateCode)
.header("ip-usr", ipAddress) .header("ip-usr", ipAddress)
.header("txn", transactionId) .header("txn", transactionId)
.header("app_key", appKeyEncryptedAndCoded) .header("app_key", appKeyEncryptedAndCoded)
.header("X-Asp-Auth-Token", gspAuthString) .header("X-Asp-Auth-Token", gspAuthString)
.header("X-Asp-Auth-Signature", gspAuthSignature) .header("X-Asp-Auth-Signature", gspAuthSignature)
.body(new JsonNode(authTokenReqObj.toString())) .body(new JsonNode(authTokenReqObj.toString()))
.getHttpRequest(); .getHttpRequest();
System.out.println("authtoken url["+authTokenReq.getUrl()+"]"); System.out.println("authtoken url["+authTokenReq.getUrl()+"]");
System.out.println("authtoken method["+authTokenReq.getHttpMethod()+"]"); System.out.println("authtoken method["+authTokenReq.getHttpMethod()+"]");
System.out.println("authtoken request header["+authTokenReq.getHeaders()+"]"); System.out.println("authtoken request header["+authTokenReq.getHeaders()+"]");
System.out.println("authtoken request payload["+IOUtils.toString(authTokenReq.getBody().getEntity().getContent())+"]"); System.out.println("authtoken request payload["+IOUtils.toString(authTokenReq.getBody().getEntity().getContent())+"]");
HttpResponse<JsonNode> authTokenResp = authTokenReq.asJson(); HttpResponse<JsonNode> authTokenResp = authTokenReq.asJson();
System.out.println(String.format("authTokenResp Request : Status[%s] Response[%s]", authTokenResp.getStatus(), authTokenResp.getBody())); System.out.println(String.format("authTokenResp Request : Status[%s] Response[%s]", authTokenResp.getStatus(), authTokenResp.getBody()));
if(authTokenResp.getStatus() == 200) if(authTokenResp.getStatus() == 200)
{ {
JSONObject object = authTokenResp.getBody().getObject(); JSONObject object = authTokenResp.getBody().getObject();
if (object.has("auth_token") && object.has("sek") && object.has("status_cd") && Objects.equals(object.getString("status_cd"), "1")) if (object.has("auth_token") && object.has("sek") && object.has("status_cd") && Objects.equals(object.getString("status_cd"), "1"))
{ {
callStatus = "1"; callStatus = "1";
authToken = object.getString("auth_token"); authToken = object.getString("auth_token");
sek = object.getString("sek"); sek = object.getString("sek");
authSEK = aesEncryption.decrypt(sek, appKeyInBytes); authSEK = aesEncryption.decrypt(sek, appKeyInBytes);
System.out.println("AuthSEK = "+ aesEncryption.encodeBase64String(authSEK)); System.out.println("AuthSEK = "+ aesEncryption.encodeBase64String(authSEK));
} }
else else
{ {
callStatus = "2"; callStatus = "2";
JSONObject errorJSON = authTokenResp.getBody().getObject().getJSONObject("error"); JSONObject errorJSON = authTokenResp.getBody().getObject().getJSONObject("error");
responseJsonStr = errorJSON.toString(); responseJsonStr = errorJSON.toString();
if("AUTH4033".equalsIgnoreCase(errorJSON.getString("error_cd"))) if("AUTH4033".equalsIgnoreCase(errorJSON.getString("error_cd")))
{ {
errorXML = new ITMDBAccessEJB().getErrorString("","VTINVOTP","","",conn); errorXML = new ITMDBAccessEJB().getErrorString("","VTINVOTP","","",conn);
} }
else else
{ {
errMsg = "Message : "+errorJSON.getString("message")+" \nError code : "+errorJSON.getString("error_cd"); errMsg = "Message : "+errorJSON.getString("message")+" \nError code : "+errorJSON.getString("error_cd");
errorXML = getError(errMsg, "GSTAPIERR", conn); errorXML = getError(errMsg, "GSTAPIERR", conn);
} }
} }
} }
else if(authTokenResp.getStatus() == 500) else if(authTokenResp.getStatus() == 500)
{ {
callStatus = "2"; callStatus = "2";
errMsg = "Message : Error occurred at GSTN server \nResponse code : "+authTokenResp.getStatus(); errMsg = "Message : Error occurred at GSTN server \nResponse code : "+authTokenResp.getStatus();
responseJsonStr = errMsg; responseJsonStr = errMsg;
errorXML = getError(errMsg, "GSTAPIERR", conn); errorXML = getError(errMsg, "GSTAPIERR", conn);
} }
else else
{ {
callStatus = "2"; callStatus = "2";
JSONObject errorJSON = authTokenResp.getBody().getObject().getJSONObject("error"); JSONObject errorJSON = authTokenResp.getBody().getObject().getJSONObject("error");
responseJsonStr = errorJSON.toString(); responseJsonStr = errorJSON.toString();
errMsg = "Message : "+errorJSON.getString("message")+" \nError code : "+errorJSON.getString("error_cd"); errMsg = "Message : "+errorJSON.getString("message")+" \nError code : "+errorJSON.getString("error_cd");
errorXML = getError(errMsg, "GSTAPIERR", conn); errorXML = getError(errMsg, "GSTAPIERR", conn);
} }
APICallData apiCallData = new APICallData(); APICallData apiCallData = new APICallData();
apiCallData.setPeriodCode(periodCode); apiCallData.setPeriodCode(periodCode);
apiCallData.setCallDate(new Date()); apiCallData.setCallDate(new Date());
apiCallData.setSiteCode(siteCode); apiCallData.setSiteCode(siteCode);
apiCallData.setUserId(loginCode); apiCallData.setUserId(loginCode);
apiCallData.setCallType("AUTHTOKEN"); apiCallData.setCallType("AUTHTOKEN");
apiCallData.setRecType(recType); apiCallData.setRecType(recType);
apiCallData.setNoOfRecords(0); apiCallData.setNoOfRecords(0);
apiCallData.setCallStatus(callStatus); apiCallData.setCallStatus(callStatus);
apiCallData.setResponseId(responseId); apiCallData.setResponseId(responseId);
apiCallData.setResponseJsonStr(responseJsonStr); apiCallData.setResponseJsonStr(responseJsonStr);
apiCallData.setChgUser(loginCode); apiCallData.setChgUser(loginCode);
apiCallData.setChgDate(new Date()); apiCallData.setChgDate(new Date());
apiCallData.setChgTerm(chgTerm); apiCallData.setChgTerm(chgTerm);
gstCommonUtil.updateAPICallLogHistory(apiCallData, null); gstCommonUtil.updateAPICallLogHistory(apiCallData, null);
if( authToken != null && authToken.trim().length()>0 && authSEK != null) if( authToken != null && authToken.trim().length()>0 && authSEK != null)
{ {
if("GSTR1".equalsIgnoreCase(returnType)) if("GSTR1".equalsIgnoreCase(returnType))
{ {
if("SUBMIT".equalsIgnoreCase(action)) if("SUBMIT".equalsIgnoreCase(action))
{ {
summaryDataJsonStr += getGstr1Summary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn); summaryDataJsonStr += getGstr1Summary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn);
if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1) if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1)
{ {
retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>"; retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>";
} }
else if(summaryDataJsonStr.indexOf("Message :") >= 0) else if(summaryDataJsonStr.indexOf("Message :") >= 0)
{ {
retXML += summaryDataJsonStr; retXML += summaryDataJsonStr;
} }
retXML += downloadGstr1Data(gstinNo, periodCode, authToken, userName, stateCode, appKeyEncryptedAndCoded, xtraParams, authSEK); retXML += downloadGstr1Data(gstinNo, periodCode, authToken, userName, stateCode, appKeyEncryptedAndCoded, xtraParams, authSEK);
} }
else if("FILE".equalsIgnoreCase(action)) else if("FILE".equalsIgnoreCase(action))
{ {
summaryDataJsonStr += getGstr1Summary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn); summaryDataJsonStr += getGstr1Summary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn);
if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1) if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1)
{ {
retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>"; retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>";
} }
else if(summaryDataJsonStr.indexOf("Message :") >= 0) else if(summaryDataJsonStr.indexOf("Message :") >= 0)
{ {
retXML += summaryDataJsonStr; retXML += summaryDataJsonStr;
} }
} }
else if("GETINV".equalsIgnoreCase(action)) else if("GETINV".equalsIgnoreCase(action))
{ {
retXML += downloadGstr1Data(gstinNo, periodCode, authToken, userName, stateCode, appKeyEncryptedAndCoded, xtraParams, authSEK); retXML += downloadGstr1Data(gstinNo, periodCode, authToken, userName, stateCode, appKeyEncryptedAndCoded, xtraParams, authSEK);
} }
} }
if("GSTR2".equalsIgnoreCase(returnType)) if("GSTR2".equalsIgnoreCase(returnType))
{ {
if("SUBMIT".equalsIgnoreCase(action)) if("SUBMIT".equalsIgnoreCase(action))
{ {
summaryDataJsonStr += getGstr2Summary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn); summaryDataJsonStr += getGstr2Summary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn);
if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1) if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1)
{ {
retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>"; retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>";
} }
else if(summaryDataJsonStr.indexOf("Message :") >= 0) else if(summaryDataJsonStr.indexOf("Message :") >= 0)
{ {
retXML += summaryDataJsonStr; retXML += summaryDataJsonStr;
} }
retXML += downloadGstr2Data(gstinNo, periodCode, authToken, userName, stateCode, appKeyEncryptedAndCoded, xtraParams, authSEK); retXML += downloadGstr2Data(gstinNo, periodCode, authToken, userName, stateCode, appKeyEncryptedAndCoded, xtraParams, authSEK);
} }
else if("FILE".equalsIgnoreCase(action)) else if("FILE".equalsIgnoreCase(action))
{ {
summaryDataJsonStr += getGstr2Summary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn); summaryDataJsonStr += getGstr2Summary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn);
if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1) if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1)
{ {
retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>"; retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>";
} }
else if(summaryDataJsonStr.indexOf("Message :") >= 0) else if(summaryDataJsonStr.indexOf("Message :") >= 0)
{ {
retXML += summaryDataJsonStr; retXML += summaryDataJsonStr;
} }
} }
else if("GETINV".equalsIgnoreCase(action)) else if("GETINV".equalsIgnoreCase(action))
{ {
retXML += downloadGstr2Data(gstinNo, periodCode, authToken, userName, stateCode, appKeyEncryptedAndCoded, xtraParams, authSEK); retXML += downloadGstr2Data(gstinNo, periodCode, authToken, userName, stateCode, appKeyEncryptedAndCoded, xtraParams, authSEK);
} }
} }
if("GSTR3B".equalsIgnoreCase(returnType)) if("GSTR3B".equalsIgnoreCase(returnType))
{ {
if("SUBMIT".equalsIgnoreCase(action)) if("SUBMIT".equalsIgnoreCase(action))
{ {
summaryDataJsonStr += getGstr3bSummary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn); summaryDataJsonStr += getGstr3bSummary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn);
if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1) if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1)
{ {
retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>"; retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>";
} }
else if(summaryDataJsonStr.indexOf("Message :") >= 0) else if(summaryDataJsonStr.indexOf("Message :") >= 0)
{ {
retXML += summaryDataJsonStr; retXML += summaryDataJsonStr;
} }
} }
else if("FILE".equalsIgnoreCase(action)) else if("FILE".equalsIgnoreCase(action))
{ {
summaryDataJsonStr += getGstr3bSummary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn); summaryDataJsonStr += getGstr3bSummary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn);
if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1) if(summaryDataJsonStr!= null && summaryDataJsonStr.trim().length() > 0 && summaryDataJsonStr.indexOf("Message :") == -1)
{ {
retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>"; retXML += "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>";
} }
else if(summaryDataJsonStr.indexOf("Message :") >= 0) else if(summaryDataJsonStr.indexOf("Message :") >= 0)
{ {
retXML += summaryDataJsonStr; retXML += summaryDataJsonStr;
} }
} }
} }
} }
}
else
{
retXML = getDataXMLFromJsonFile("");
}
valueXmlString.append("<Detail2 domID='1'>"); valueXmlString.append("<Detail2 domID='1'>");
valueXmlString.append("<auth_token><![CDATA["+ authToken +"]]></auth_token>"); valueXmlString.append("<auth_token><![CDATA["+ authToken +"]]></auth_token>");
...@@ -1387,7 +1288,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1387,7 +1288,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
otpRequest.put("app_key", appKeyEncryptedAndCoded); otpRequest.put("app_key", appKeyEncryptedAndCoded);
otpRequest.put("username", userName); otpRequest.put("username", userName);
HttpRequest otpReq = Unirest.post(String.format("%s%s", GSP_API_URL,AUTH_TOKEN_URL_V2)) HttpRequest otpReq = Unirest.post(String.format("%s%s", BASE_API_URL,AUTH_TOKEN_URL))
.header("Content-Type", APPLICATION_JSON) .header("Content-Type", APPLICATION_JSON)
.header("clientid", clientId) .header("clientid", clientId)
.header("client-secret", clientSecret) .header("client-secret", clientSecret)
...@@ -1600,49 +1501,6 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1600,49 +1501,6 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
retResponseXML = "<root><error_message><![CDATA[Message : "+dataErrMsg+"]]></error_message></root>"; retResponseXML = "<root><error_message><![CDATA[Message : "+dataErrMsg+"]]></error_message></root>";
} }
} }
else if("SUBMIT_CNT".equalsIgnoreCase(action))
{
String periodCode = "", siteCode = "", recordType = "", recType = "", submitRowCnt = "";
periodCode = reqParamMap.get("period_code");
siteCode = reqParamMap.get("site_code");
recordType = reqParamMap.get("rec_type");
if("GSTR1".equalsIgnoreCase(recordType))
{
recType = "1";
}
else if("GSTR2".equalsIgnoreCase(recordType))
{
recType = "2";
}
else if("GSTR3".equalsIgnoreCase(recordType))
{
recType = "3";
}
else if("GSTR3B".equalsIgnoreCase(recordType))
{
recType = "6";
}
sql = " SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE SITE_CODE = ? AND PRD_CODE = ? AND REC_TYPE = ? AND SUBMIT_STATUS = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
pstmt.setString(2, periodCode);
pstmt.setString(3, recType);
pstmt.setString(4, "S");
rs = pstmt.executeQuery();
if(rs.next())
{
submitRowCnt = String.valueOf(rs.getInt("CNT"));
}
closeResources(rs, pstmt);
System.out.println("submitRowCnt=["+submitRowCnt+"]");
retResponseXML = "<root><submit_cnt><![CDATA["+submitRowCnt+"]]></submit_cnt></root>";
}
} }
catch (Exception e) catch (Exception e)
{ {
...@@ -1692,7 +1550,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1692,7 +1550,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstinNo; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstinNo;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest getDataReq = Unirest.get(String.format("%s%s", GSP_API_URL, GSTR1_URL_V3)) HttpRequest getDataReq = Unirest.get(String.format("%s%s", BASE_API_URL, GSTR1_URL))
.queryString("action", action) .queryString("action", action)
.queryString("gstin", gstinNo) .queryString("gstin", gstinNo)
.queryString("ret_period", periodCode) .queryString("ret_period", periodCode)
...@@ -1746,7 +1604,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1746,7 +1604,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
else else
{ {
dataXML = XML.toString(getJsonDataJsonObj); dataXML = XML.toString(getJsonDataJsonObj);
writeDatatoJsonFile(getJsonDataJsonObj.toString(), action); //writeDatatoJsonFile(getJsonDataJsonObj.toString(), action);
} }
...@@ -1883,7 +1741,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1883,7 +1741,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstinNo; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstinNo;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest getDataReq = Unirest.get(String.format("%s%s", GSP_API_URL,GSTR2_URL_V3)) HttpRequest getDataReq = Unirest.get(String.format("%s%s", BASE_API_URL,GSTR2_URL))
.queryString("action", action) .queryString("action", action)
.queryString("gstin", gstinNo) .queryString("gstin", gstinNo)
.queryString("ret_period", periodCode) .queryString("ret_period", periodCode)
...@@ -2073,7 +1931,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2073,7 +1931,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest getGstr1SumryReq = Unirest.get(String.format("%s%s", GSP_API_URL, GSTR1_URL_V3)) HttpRequest getGstr1SumryReq = Unirest.get(String.format("%s%s", BASE_API_URL, GSTR1_URL))
.queryString("action","RETSUM") .queryString("action","RETSUM")
.queryString("gstin", gstin) .queryString("gstin", gstin)
.queryString("ret_period", periodCode) .queryString("ret_period", periodCode)
...@@ -2191,7 +2049,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2191,7 +2049,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest getGstr2SumryReq = Unirest.get(String.format("%s%s", GSP_API_URL, GSTR2_URL_V3)) HttpRequest getGstr2SumryReq = Unirest.get(String.format("%s%s", BASE_API_URL, GSTR2_URL))
.queryString("action","RETSUM") .queryString("action","RETSUM")
.queryString("gstin", gstin) .queryString("gstin", gstin)
.queryString("ret_period", periodCode) .queryString("ret_period", periodCode)
...@@ -2309,7 +2167,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2309,7 +2167,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest getGstr3bSumryReq = Unirest.get(String.format("%s%s", GSP_API_URL, GSTR3B_URL_V3)) HttpRequest getGstr3bSumryReq = Unirest.get(String.format("%s%s", BASE_API_URL, GSTR3B_URL))
.queryString("action","RETSUM") .queryString("action","RETSUM")
.queryString("gstin", gstin) .queryString("gstin", gstin)
.queryString("ret_period", periodCode) .queryString("ret_period", periodCode)
...@@ -2898,7 +2756,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2898,7 +2756,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest fileDetailsReq = Unirest.get(String.format("%s%s", GSP_API_URL, GSTR_URL_V3)) HttpRequest fileDetailsReq = Unirest.get(String.format("%s%s", BASE_API_URL, GSTR_RETSTAT_URL))
.queryString("gstin", gstin) .queryString("gstin", gstin)
.queryString("ret_period",periodCode) .queryString("ret_period",periodCode)
//.queryString("token",dataJSONObject.getString("token"))//TODO need to change //.queryString("token",dataJSONObject.getString("token"))//TODO need to change
...@@ -3002,7 +2860,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3002,7 +2860,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
inputStream.close(); inputStream.close();
} }
/*TarArchiveInputStream tarInput = new TarArchiveInputStream(new GzipCompressorInputStream(new FileInputStream(filePath))); TarArchiveInputStream tarInput = new TarArchiveInputStream(new GzipCompressorInputStream(new FileInputStream(filePath)));
TarArchiveEntry currentEntry = tarInput.getNextTarEntry(); TarArchiveEntry currentEntry = tarInput.getNextTarEntry();
BufferedReader br = null; BufferedReader br = null;
while (currentEntry != null) while (currentEntry != null)
...@@ -3022,11 +2880,11 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3022,11 +2880,11 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
} }
currentEntry = tarInput.getNextTarEntry(); currentEntry = tarInput.getNextTarEntry();
} }
tarInput.close();*/ tarInput.close();
} }
} }
retString = getDataXMLFromJsonFile(sectionName); //retString = getDataXMLFromJsonFile(sectionName);
} }
} }
else else
...@@ -3097,16 +2955,16 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3097,16 +2955,16 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
try try
{ {
String sessionKeyFilePath = saveFilePath + File.separator + sectionName + File.separator + "key.txt"; String sessionKeyFilePath = saveFilePath + File.separator + sectionName + File.separator + "key.txt";
File sessKeyFile = new File(sessionKeyFilePath); File sessKeyFile = new File(sessionKeyFilePath);
if(sessKeyFile.exists()) if(sessKeyFile.exists())
{ {
FileReader keyInputStream = new FileReader(sessKeyFile); FileReader keyInputStream = new FileReader(sessKeyFile);
BufferedReader keyBr = new BufferedReader(keyInputStream); BufferedReader keyBr = new BufferedReader(keyInputStream);
sessionKey = keyBr.readLine(); sessionKey = keyBr.readLine();
keyBr.close(); keyBr.close();
isFilesEncrypted = true; isFilesEncrypted = true;
} }
if(isFilesEncrypted) if(isFilesEncrypted)
{ {
......
...@@ -54,6 +54,7 @@ import ibase.webitm.bean.gst.CDNRA; ...@@ -54,6 +54,7 @@ import ibase.webitm.bean.gst.CDNRA;
import ibase.webitm.bean.gst.CDNUR; import ibase.webitm.bean.gst.CDNUR;
import ibase.webitm.bean.gst.DocDetails; import ibase.webitm.bean.gst.DocDetails;
import ibase.webitm.bean.gst.DocIssued; import ibase.webitm.bean.gst.DocIssued;
import ibase.webitm.bean.gst.Docs;
import ibase.webitm.bean.gst.EXP; import ibase.webitm.bean.gst.EXP;
import ibase.webitm.bean.gst.GSTR1; import ibase.webitm.bean.gst.GSTR1;
import ibase.webitm.bean.gst.GSTR2; import ibase.webitm.bean.gst.GSTR2;
...@@ -94,17 +95,14 @@ import ibase.webitm.utility.TransIDGenerator; ...@@ -94,17 +95,14 @@ import ibase.webitm.utility.TransIDGenerator;
@javax.ejb.Stateless @javax.ejb.Stateless
public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWizPosLocal, GSTDataSubmitWizPosRemote public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWizPosLocal, GSTDataSubmitWizPosRemote
{ {
private String GSP_API_URL = ""; private String BASE_API_URL = "";
private String GST_API_URL = ""; private String AUTH_TOKEN_URL = "";
private String AUTH_TOKEN_URL_V2 = ""; private String GSTR_RETSTAT_URL = "";
private String GSTR1_URL_V2 = ""; private String GSTR1_URL = "";
private String GSTR2_URL_V2 = ""; private String GSTR2_URL = "";
private String GSTR_URL_V3 = ""; private String GSTR3_URL = "";
private String GSTR1_URL_V3 = ""; private String GSTR2A_URL = "";
private String GSTR2_URL_V3 = ""; private String GSTR3B_URL = "";
private String GSTR2A_URL_V3 = "";
private String GSTR3_URL_V3 = "";
private String GSTR3B_URL_V3 = "";
private String FILEDET_URL = ""; private String FILEDET_URL = "";
private final String APPLICATION_JSON = "application/json"; private final String APPLICATION_JSON = "application/json";
private String appKey = ""; private String appKey = "";
...@@ -128,9 +126,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -128,9 +126,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
@PostConstruct @PostConstruct
public void postConstruct() public void postConstruct()
{ {
String sql = "", gstnPublicKeyName = "", gspPrivateKeyName = ""; String gstnPublicKeyName = "", gspPrivateKeyName = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try(java.util.Scanner sc = new java.util.Scanner(new java.net.URL("https://api.ipify.org").openStream(), "UTF-8").useDelimiter("\\A")) try(java.util.Scanner sc = new java.util.Scanner(new java.net.URL("https://api.ipify.org").openStream(), "UTF-8").useDelimiter("\\A"))
{ {
System.out.println("GSTDataSubmitWizPos PostConstruct called!"); System.out.println("GSTDataSubmitWizPos PostConstruct called!");
...@@ -163,97 +159,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -163,97 +159,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
gspSignature = new GSPSignature(); gspSignature = new GSPSignature();
String privateKeyPath = "/ibase/webitm/resources/gst/"+gspPrivateKeyName.trim()+".pem"; String privateKeyPath = "/ibase/webitm/resources/gst/"+gspPrivateKeyName.trim()+".pem";
aspPrivateKey = gspSignature.loadPrivateKey(Thread.currentThread().getContextClassLoader().getResourceAsStream(privateKeyPath)); aspPrivateKey = gspSignature.loadPrivateKey(Thread.currentThread().getContextClassLoader().getResourceAsStream(privateKeyPath));
sql = "SELECT SERVICE_CODE, SERVICE_URI FROM SYSTEM_EVENT_SERVICES WHERE METHOD_NAME = 'GST_API_URL'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next())
{
switch(rs.getString("SERVICE_CODE"))
{
case "gsp_base_url" :
{
GSP_API_URL = rs.getString("SERVICE_URI");
}
break;
case "gst_base_url" :
{
GST_API_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr_auth_url_v2" :
{
AUTH_TOKEN_URL_V2 = rs.getString("SERVICE_URI");
}
break;
case "gstr1_url_v2" :
{
GSTR1_URL_V2 = rs.getString("SERVICE_URI");
}
break;
case "gstr2_url_v2" :
{
GSTR2_URL_V2 = rs.getString("SERVICE_URI");
}
break;
case "gstr_url_v3" :
{
GSTR_URL_V3 = rs.getString("SERVICE_URI");
}
break;
case "gstr1_url_v3" :
{
GSTR1_URL_V3 = rs.getString("SERVICE_URI");
}
break;
case "gstr2_url_v3" :
{
GSTR2_URL_V3 = rs.getString("SERVICE_URI");
}
break;
case "gstr2a_url_v3" :
{
GSTR2A_URL_V3 = rs.getString("SERVICE_URI");
}
break;
case "gstr3_url_v3" :
{
GSTR3_URL_V3 = rs.getString("SERVICE_URI");
}
break;
case "gstr3b_url_v3" :
{
GSTR3B_URL_V3 = rs.getString("SERVICE_URI");
}
break;
case "gstr_filedet_url" :
{
FILEDET_URL = rs.getString("SERVICE_URI");
}
break;
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
System.out.println("GST_API_URL["+GST_API_URL+"]");
System.out.println("AUTH_TOKEN_URL_V2["+AUTH_TOKEN_URL_V2+"]");
System.out.println("GSTR1_URL_V2["+GSTR1_URL_V2+"]");
System.out.println("GSTR2_URL_V2["+GSTR2_URL_V2+"]");
System.out.println("GSTR1_URL_V3["+GSTR1_URL_V3+"]");
System.out.println("GSTR2_URL_V3["+GSTR2_URL_V3+"]");
System.out.println("GSTR2A_URL_V3["+GSTR2A_URL_V3+"]");
System.out.println("GSTR3_URL_V3["+GSTR3_URL_V3+"]");
System.out.println("GSTR3B_URL_V3["+GSTR3B_URL_V3+"]");
System.out.println("FILEDET_URL["+FILEDET_URL+"]");
} }
catch (Exception e) catch (Exception e)
{ {
...@@ -291,6 +196,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -291,6 +196,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
APICallData apiCallData = null; APICallData apiCallData = null;
boolean isDataLogged = false; boolean isDataLogged = false;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try try
{ {
String transactionId = UUID.randomUUID().toString().replaceAll("-", ""); String transactionId = UUID.randomUUID().toString().replaceAll("-", "");
...@@ -302,6 +211,71 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -302,6 +211,71 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
System.out.println("dcrId["+dcrId+"]"); System.out.println("dcrId["+dcrId+"]");
System.out.println("editFlag["+editFlag+"]"); System.out.println("editFlag["+editFlag+"]");
sql = "SELECT SERVICE_CODE, SERVICE_URI FROM SYSTEM_EVENT_SERVICES WHERE METHOD_NAME = 'GST_API_URL'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next())
{
switch(rs.getString("SERVICE_CODE"))
{
case "base_url" :
{
BASE_API_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr_auth_url" :
{
AUTH_TOKEN_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr_retstatus_url" :
{
GSTR_RETSTAT_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr1_url" :
{
GSTR1_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr2_url" :
{
GSTR2_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr2a_url" :
{
GSTR2A_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr3_url" :
{
GSTR3_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr3b_url" :
{
GSTR3B_URL = rs.getString("SERVICE_URI");
}
break;
case "gstr_filedet_url" :
{
FILEDET_URL = rs.getString("SERVICE_URI");
}
break;
}
}
closeResources(rs, pstmt);
System.out.println("BASE_API_URL["+BASE_API_URL+"]");
System.out.println("AUTH_TOKEN_URL["+AUTH_TOKEN_URL+"]");
System.out.println("GSTR_URL["+GSTR_RETSTAT_URL+"]");
System.out.println("GSTR1_URL["+GSTR1_URL+"]");
System.out.println("GSTR2_URL["+GSTR2_URL+"]");
System.out.println("GSTR2A_URL["+GSTR2A_URL+"]");
System.out.println("GSTR3B_URL["+GSTR3B_URL+"]");
System.out.println("FILEDET_URL["+FILEDET_URL+"]");
allXMLDom = e12GenericUtility.parseString(xmlStringAll); allXMLDom = e12GenericUtility.parseString(xmlStringAll);
detail1NList = allXMLDom.getElementsByTagName("Detail1"); detail1NList = allXMLDom.getElementsByTagName("Detail1");
...@@ -433,7 +407,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -433,7 +407,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest authTokenReq = Unirest.post(String.format("%s%s", GSP_API_URL, AUTH_TOKEN_URL_V2)) HttpRequest authTokenReq = Unirest.post(String.format("%s%s", BASE_API_URL, AUTH_TOKEN_URL))
.header("Content-Type",APPLICATION_JSON) .header("Content-Type",APPLICATION_JSON)
.header("clientid", clientId) .header("clientid", clientId)
.header("client-secret", clientSecret) .header("client-secret", clientSecret)
...@@ -612,10 +586,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -612,10 +586,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 = "", errMsg = ""; String retString = "";
String gstr1Data = "", gstr1Rek = "";
String retStatsData = "", retStatsRek = "";
String transactionId = UUID.randomUUID().toString().replaceAll("-", "");
int num = 0, noOfRecords = 0; int num = 0, noOfRecords = 0;
boolean isDataFound = false; boolean isDataFound = false;
...@@ -626,7 +597,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -626,7 +597,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
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 = "";
String loginCode = "", chgTerm = "", callStatus = "", responseId = "", responseJsonStr= "", retStatusCallStatus = "", retStatusResponseJsonStr = "";
ArrayList<String> tranIdList = new ArrayList<String>(); ArrayList<String> tranIdList = new ArrayList<String>();
...@@ -644,14 +614,13 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -644,14 +614,13 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
ArrayList<EXP> expInvoiceList = new ArrayList<EXP>(); ArrayList<EXP> expInvoiceList = new ArrayList<EXP>();
ArrayList<AT> atPaidList = new ArrayList<AT>(); ArrayList<AT> atPaidList = new ArrayList<AT>();
ArrayList<CDNUR> cdnurList = new ArrayList<CDNUR>(); ArrayList<CDNUR> cdnurList = new ArrayList<CDNUR>();
ArrayList<DocIssued> docIssuedList = new ArrayList<DocIssued>();
ArrayList<InvLineItem> invLineItems = null; ArrayList<InvLineItem> invLineItems = null;
ArrayList<Invoice> invoices = null; ArrayList<Invoice> invoices = null;
ArrayList<CDNDetails> cdnDetailsList = null; ArrayList<CDNDetails> cdnDetailsList = null;
ArrayList<HSNDetails> hsnList = new ArrayList<HSNDetails>(); ArrayList<HSNDetails> hsnList = new ArrayList<HSNDetails>();
ArrayList<DocDetails> docDetailsList = new ArrayList<DocDetails>(); ArrayList<DocDetails> docDetailsList = new ArrayList<DocDetails>();
ArrayList<Docs> docsList = null;
GSTR1 gstr1 = null; GSTR1 gstr1 = null;
Invoice invoice = null; Invoice invoice = null;
...@@ -668,7 +637,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -668,7 +637,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
HSN hsn = null; HSN hsn = null;
HSNDetails hsnDetails = null; HSNDetails hsnDetails = null;
DocIssued docIssued = null; DocIssued docIssued = null;
DocDetails docDetails = null;
try try
{ {
...@@ -1304,26 +1272,171 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1304,26 +1272,171 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
hsn.hsnDetails = hsnList; hsn.hsnDetails = hsnList;
} }
//TODO need to change START docsList = new ArrayList<Docs>();
/*docDetails = new DocDetails();
sql = " SELECT MIN(DOC_NO) FROM_NO, MAX(DOC_NO) TO_NO, COUNT(1) TOT_CNT"
+ " FROM GST_DATA_HDR WHERE SITE_CODE = ? AND PRD_CODE = ? AND REC_TYPE = ?"
+ " AND TRAN_TYPE IN ('01','03','04','05','11','12','13','14')";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
pstmt.setString(2, periodCode);
pstmt.setString(3, "1");
rs = pstmt.executeQuery();
while(rs.next())
{
if(rs.getInt("TOT_CNT") > 0)
{
Docs docs = new Docs();
docs.docNum = 1;
docs.fromSerialNo = checkNullandTrim(rs.getString("FROM_NO"));
docs.toSerialNo = checkNullandTrim(rs.getString("TO_NO"));
docs.totalNo = rs.getInt("TOT_CNT");
docs.cancelNo = 0;
docs.toatlNetIssued = rs.getInt("TOT_CNT");
docsList.add(docs);
}
}
closeResources(rs, pstmt);
if(docsList.size() > 0)
{
DocDetails docDetails = new DocDetails();
docDetails.serialNumber = 1;
docDetails.docs = docsList;
docDetailsList.add(docDetails);
}
docsList = new ArrayList<Docs>();
sql = " SELECT MIN(DOC_NO) FROM_NO, MAX(DOC_NO) TO_NO, COUNT(1) TOT_CNT"
+ " FROM GST_DATA_HDR WHERE SITE_CODE = ? AND PRD_CODE = ? AND REC_TYPE = ?"
+ " AND TRAN_TYPE IN ('02')";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
pstmt.setString(2, periodCode);
pstmt.setString(3, "1");
rs = pstmt.executeQuery();
while(rs.next())
{
if(rs.getInt("TOT_CNT") > 0)
{
Docs docs = new Docs();
docs.docNum = 1;
docs.fromSerialNo = checkNullandTrim(rs.getString("FROM_NO"));
docs.toSerialNo = checkNullandTrim(rs.getString("TO_NO"));
docs.totalNo = rs.getInt("TOT_CNT");
docs.cancelNo = 0;
docs.toatlNetIssued = rs.getInt("TOT_CNT");
docsList.add(docs);
}
}
closeResources(rs, pstmt);
if(docsList.size() > 0)
{
DocDetails docDetails = new DocDetails();
docDetails.serialNumber = 2;
docDetails.docs = docsList;
docDetailsList.add(docDetails);
}
docsList = new ArrayList<Docs>();
sql = " SELECT MIN(DOC_NO) FROM_NO, MAX(DOC_NO) TO_NO, COUNT(1) TOT_CNT"
+ " FROM GST_DATA_HDR WHERE SITE_CODE = ? AND PRD_CODE = ? AND REC_TYPE = ?"
+ " AND TRAN_TYPE IN ('30','32')";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
pstmt.setString(2, periodCode);
pstmt.setString(3, "1");
rs = pstmt.executeQuery();
while(rs.next())
{
if(rs.getInt("TOT_CNT") > 0)
{
Docs docs = new Docs();
docs.docNum = 1;
docs.fromSerialNo = checkNullandTrim(rs.getString("FROM_NO"));
docs.toSerialNo = checkNullandTrim(rs.getString("TO_NO"));
docs.totalNo = rs.getInt("TOT_CNT");
docs.cancelNo = 0;
docs.toatlNetIssued = rs.getInt("TOT_CNT");
docsList.add(docs);
}
}
closeResources(rs, pstmt);
if(docsList.size() > 0)
{
DocDetails docDetails = new DocDetails();
docDetails.serialNumber = 4;
docDetails.docs = docsList;
docDetailsList.add(docDetails);
}
docsList = new ArrayList<Docs>();
sql = " SELECT MIN(DOC_NO) FROM_NO, MAX(DOC_NO) TO_NO, COUNT(1) TOT_CNT"
+ " FROM GST_DATA_HDR WHERE SITE_CODE = ? AND PRD_CODE = ? AND REC_TYPE = ?"
+ " AND TRAN_TYPE IN ('29','31')";
docDetails.docNum = 1; pstmt = conn.prepareStatement(sql);
docDetails.fromSerialNo = "1"; pstmt.setString(1, siteCode);
docDetails.toSerialNo = "20"; pstmt.setString(2, periodCode);
docDetails.totalNo = 20; pstmt.setString(3, "1");
docDetails.cancelNo = 3;
docDetails.toatlNetIssued = 17;
docDetailsList.add(docDetails); rs = pstmt.executeQuery();
docIssued = new DocIssued(); if(rs.next())
{
if(rs.getInt("TOT_CNT") > 0)
{
Docs docs = new Docs();
docs.docNum = 1;
docs.fromSerialNo = checkNullandTrim(rs.getString("FROM_NO"));
docs.toSerialNo = checkNullandTrim(rs.getString("TO_NO"));
docs.totalNo = rs.getInt("TOT_CNT");
docs.cancelNo = 0;
docs.toatlNetIssued = rs.getInt("TOT_CNT");
docsList.add(docs);
}
}
closeResources(rs, pstmt);
docIssued.serialNumber = 1; if(docsList.size() > 0)
docIssued.docDescr = "Invoices for outward supply"; {
docIssued.docDetails = docDetailsList; DocDetails docDetails = new DocDetails();
docDetails.serialNumber = 5;
docDetails.docs = docsList;
docDetailsList.add(docDetails);
}
docIssuedList.add(docIssued);*/ if(docDetailsList.size() > 0)
//TODO need to change END {
docIssued = new DocIssued();
docIssued.docDetails = docDetailsList;
}
gstr1 = new GSTR1(); gstr1 = new GSTR1();
gstr1.gstin = gstin; gstr1.gstin = gstin;
...@@ -1387,9 +1500,9 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1387,9 +1500,9 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
gstr1.hsn = hsn; gstr1.hsn = hsn;
} }
if(docIssuedList.size() > 0) if(docIssued != null)
{ {
gstr1.docIssued = docIssuedList; gstr1.docIssued = docIssued;
} }
/*String gspAuthString = "", gspAuthSignature = "", gspAuthStringRet = "", gspAuthSignatureRet = ""; /*String gspAuthString = "", gspAuthSignature = "", gspAuthStringRet = "", gspAuthSignatureRet = "";
...@@ -1770,7 +1883,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1770,7 +1883,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest gstr1SubmitReq = Unirest.post(String.format("%s%s", GSP_API_URL, GSTR1_URL_V3)) HttpRequest gstr1SubmitReq = Unirest.post(String.format("%s%s", BASE_API_URL, GSTR1_URL))
.header("Content-Type", APPLICATION_JSON) .header("Content-Type", APPLICATION_JSON)
.header("action", "RETSUBMIT") .header("action", "RETSUBMIT")
.header("state-cd", stateCode) .header("state-cd", stateCode)
...@@ -1930,7 +2043,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1930,7 +2043,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
fileGstr1DataJsonObj.put("st", signType); fileGstr1DataJsonObj.put("st", signType);
fileGstr1DataJsonObj.put("sid", signId); fileGstr1DataJsonObj.put("sid", signId);
HttpRequest fileGstr1Req = Unirest.post(String.format("%s%s", GSP_API_URL, GSTR1_URL_V3)) HttpRequest fileGstr1Req = Unirest.post(String.format("%s%s", BASE_API_URL, GSTR1_URL))
.header("Content-Type", APPLICATION_JSON) .header("Content-Type", APPLICATION_JSON)
.header("state-cd", stateCode) .header("state-cd", stateCode)
.header("clientid", clientId) .header("clientid", clientId)
...@@ -2241,7 +2354,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2241,7 +2354,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest getGstr2InvoicesReq = Unirest.get(String.format("%s%s", GSP_API_URL, GSTR2A_URL_V3)) HttpRequest getGstr2InvoicesReq = Unirest.get(String.format("%s%s", BASE_API_URL, GSTR2A_URL))
.queryString("action", action) .queryString("action", action)
.queryString("gstin", gstin) .queryString("gstin", gstin)
.queryString("ret_period", periodCode) .queryString("ret_period", periodCode)
...@@ -3390,7 +3503,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3390,7 +3503,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest gstr2SubmitReq = Unirest.post(String.format("%s%s", GSP_API_URL, GSTR2_URL_V3)) HttpRequest gstr2SubmitReq = Unirest.post(String.format("%s%s", BASE_API_URL, GSTR2_URL))
.header("Content-Type", APPLICATION_JSON) .header("Content-Type", APPLICATION_JSON)
.header("action", "RETSUBMIT") .header("action", "RETSUBMIT")
.header("state-cd", stateCode) .header("state-cd", stateCode)
...@@ -3550,7 +3663,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3550,7 +3663,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
fileGstr2DataJsonObj.put("st", signType); fileGstr2DataJsonObj.put("st", signType);
fileGstr2DataJsonObj.put("sid", signId); fileGstr2DataJsonObj.put("sid", signId);
HttpRequest fileGstr2Req = Unirest.post(String.format("%s%s", GSP_API_URL, GSTR2_URL_V3)) HttpRequest fileGstr2Req = Unirest.post(String.format("%s%s", BASE_API_URL, GSTR2_URL))
.header("Content-Type", APPLICATION_JSON) .header("Content-Type", APPLICATION_JSON)
.header("state-cd", stateCode) .header("state-cd", stateCode)
.header("clientid", clientId) .header("clientid", clientId)
...@@ -3653,6 +3766,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3653,6 +3766,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
InwardSuppliesUnderRevCharge inwardSuppliesUnderRevCharge = null; InwardSuppliesUnderRevCharge inwardSuppliesUnderRevCharge = null;
OutwardNonGSTSupplies outwardNonGSTSupplies = null; OutwardNonGSTSupplies outwardNonGSTSupplies = null;
SuppliesDetails suppliesDetails = null; SuppliesDetails suppliesDetails = null;
ITCData netITCData = null;
InterestLateFeeData interestLateFeeData = null;
InterStateSupplies interStateSupplies = new InterStateSupplies(); InterStateSupplies interStateSupplies = new InterStateSupplies();
...@@ -3730,7 +3845,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3730,7 +3845,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
sql = " SELECT GDH.GST_CODE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT" sql = " SELECT GDH.GST_CODE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD" + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID" + " WHERE GDH.TRAN_ID = GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('06') GROUP BY GDH.GST_CODE"; + " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('06') GROUP BY GDH.GST_CODE";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6"); pstmt.setString(1, "6");
...@@ -3754,11 +3869,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3754,11 +3869,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
interStateSupplies.interUnregisterSuppliesData = interStateSuppliesDataList; interStateSupplies.interUnregisterSuppliesData = interStateSuppliesDataList;
} }
interStateSuppliesDataList.clear(); //interStateSuppliesDataList.clear();
sql = " SELECT GDH.GST_CODE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT" sql = " SELECT GDH.GST_CODE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD" + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID" + " WHERE GDH.TRAN_ID = GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('07') GROUP BY GDH.GST_CODE"; + " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('07') GROUP BY GDH.GST_CODE";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6"); pstmt.setString(1, "6");
...@@ -3782,11 +3897,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3782,11 +3897,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
interStateSupplies.compositionSuppliesData = interStateSuppliesDataList; interStateSupplies.compositionSuppliesData = interStateSuppliesDataList;
} }
interStateSuppliesDataList.clear(); //interStateSuppliesDataList.clear();
sql = " SELECT GDH.GST_CODE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT" sql = " SELECT GDH.GST_CODE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD" + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID" + " WHERE GDH.TRAN_ID = GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('08') GROUP BY GDH.GST_CODE"; + " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('08') GROUP BY GDH.GST_CODE";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6"); pstmt.setString(1, "6");
...@@ -3810,84 +3925,278 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3810,84 +3925,278 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
interStateSupplies.uinSuppliesData = interStateSuppliesDataList; interStateSupplies.uinSuppliesData = interStateSuppliesDataList;
} }
interStateSuppliesDataList.clear(); //interStateSuppliesDataList.clear();
ITCData itcData = new ITCData(); sql = " SELECT GDH.TRAN_TYPE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
itcData.type = "IMPG"; + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
itcData.igstAmount = 136.53; + " WHERE GDH.TRAN_ID = GDD.TRAN_ID"
itcData.cgstAmount = 274; + " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('09','10','11','12','13','14') GROUP BY GDH.TRAN_TYPE";
itcData.sgstAmount = 162.99; pstmt = conn.prepareStatement(sql);
itcData.cessAmount = 103; pstmt.setString(1, "6");
itcAvlDataList.add(itcData); pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
itcData = new ITCData(); pstmt.setString(4, "P");
itcData.type = "IMPS";
itcData.igstAmount = 136.53; rs = pstmt.executeQuery();
itcData.cgstAmount = 274;
itcData.sgstAmount = 162.99; while(rs.next())
itcData.cessAmount = 103; {
itcAvlDataList.add(itcData); ITCData itcData = new ITCData();
String tranType = checkNullandTrim(rs.getString("TRAN_TYPE"));
itcData = new ITCData(); if("09".equalsIgnoreCase(tranType))
itcData.type = "ISRC"; {
itcData.igstAmount = 136.53; itcData.type = "IMPG";
itcData.cgstAmount = 274; }
itcData.sgstAmount = 162.99; else if("10".equalsIgnoreCase(tranType))
itcData.cessAmount = 103; {
itcAvlDataList.add(itcData); itcData.type = "IMPS";
}
else if("11".equalsIgnoreCase(tranType))
itcData = new ITCData(); {
itcData.type = "OTH"; itcData.type = "ISRC";
itcData.igstAmount = 136.53; }
itcData.cgstAmount = 274; else if("12".equalsIgnoreCase(tranType))
itcData.sgstAmount = 162.99; {
itcData.cessAmount = 103; itcData.type = "ISD";
itcAvlDataList.add(itcData); }
itcRevDataList.add(itcData); else if("14".equalsIgnoreCase(tranType))
itcInelgDataList.add(itcData); {
itcData.type = "OTH";
itcData = new ITCData(); }
itcData.type = "RUL";
itcData.igstAmount = 136.53; itcData.igstAmount = rs.getDouble("IGST_AMT");
itcData.cgstAmount = 274; itcData.cgstAmount = rs.getDouble("CGST_AMT");
itcData.sgstAmount = 162.99; itcData.sgstAmount = rs.getDouble("SGST_AMT");
itcData.cessAmount = 103; itcData.cessAmount = rs.getDouble("CESS_AMT");
itcRevDataList.add(itcData); itcAvlDataList.add(itcData);
itcInelgDataList.add(itcData); }
closeResources(rs,pstmt);
ITCData netITCData = new ITCData();
netITCData.igstAmount = 136.53; sql = " SELECT GDH.TRAN_TYPE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
netITCData.cgstAmount = 274; + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
netITCData.sgstAmount = 162.99; + " WHERE GDH.TRAN_ID = GDD.TRAN_ID"
netITCData.cessAmount = 103; + " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('15','16','17','18','19','20') GROUP BY GDH.TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
pstmt.setString(4, "P");
rs = pstmt.executeQuery();
while(rs.next())
{
ITCData itcData = new ITCData();
String tranType = checkNullandTrim(rs.getString("TRAN_TYPE"));
if("15".equalsIgnoreCase(tranType))
{
itcData.type = "IMPG";
}
else if("16".equalsIgnoreCase(tranType))
{
itcData.type = "IMPS";
}
else if("17".equalsIgnoreCase(tranType))
{
itcData.type = "ISRC";
}
else if("18".equalsIgnoreCase(tranType))
{
itcData.type = "ISD";
}
else if("19".equalsIgnoreCase(tranType))
{
itcData.type = "RUL";
}
else if("20".equalsIgnoreCase(tranType))
{
itcData.type = "OTH";
}
itcData.igstAmount = rs.getDouble("IGST_AMT");
itcData.cgstAmount = rs.getDouble("CGST_AMT");
itcData.sgstAmount = rs.getDouble("SGST_AMT");
itcData.cessAmount = rs.getDouble("CESS_AMT");
itcRevDataList.add(itcData);
}
closeResources(rs,pstmt);
sql = " SELECT GDH.TRAN_TYPE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID = GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('21') GROUP BY GDH.TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
pstmt.setString(4, "P");
rs = pstmt.executeQuery();
if(rs.next())
{
netITCData = new ITCData();
netITCData.igstAmount = rs.getDouble("IGST_AMT");
netITCData.cgstAmount = rs.getDouble("CGST_AMT");
netITCData.sgstAmount = rs.getDouble("SGST_AMT");
netITCData.cessAmount = rs.getDouble("CESS_AMT");
}
closeResources(rs, pstmt);
sql = " SELECT GDH.TRAN_TYPE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID = GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('22','23','24','25','26','27') GROUP BY GDH.TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
pstmt.setString(4, "P");
rs = pstmt.executeQuery();
while(rs.next())
{
ITCData itcData = new ITCData();
String tranType = checkNullandTrim(rs.getString("TRAN_TYPE"));
if("22".equalsIgnoreCase(tranType))
{
itcData.type = "IMPG";
}
else if("23".equalsIgnoreCase(tranType))
{
itcData.type = "IMPS";
}
else if("24".equalsIgnoreCase(tranType))
{
itcData.type = "ISRC";
}
else if("25".equalsIgnoreCase(tranType))
{
itcData.type = "ISD";
}
else if("26".equalsIgnoreCase(tranType))
{
itcData.type = "RUL";
}
else if("27".equalsIgnoreCase(tranType))
{
itcData.type = "OTH";
}
itcData.igstAmount = rs.getDouble("IGST_AMT");
itcData.cgstAmount = rs.getDouble("CGST_AMT");
itcData.sgstAmount = rs.getDouble("SGST_AMT");
itcData.cessAmount = rs.getDouble("CESS_AMT");
itcInelgDataList.add(itcData);
}
closeResources(rs,pstmt);
ITCEligibilty itcEligibility = new ITCEligibilty(); ITCEligibilty itcEligibility = new ITCEligibilty();
itcEligibility.itcAvailable = itcAvlDataList; if(itcAvlDataList.size() > 0)
itcEligibility.itcReversed = itcRevDataList; {
itcEligibility.netITCAvailable = netITCData; itcEligibility.itcAvailable = itcAvlDataList;
itcEligibility.itcIneligible = itcInelgDataList; }
if(itcRevDataList.size() > 0)
InwardSuppliesDetails inwardSuppliesDetails = new InwardSuppliesDetails(); {
inwardSuppliesDetails.type = "GST"; itcEligibility.itcReversed = itcRevDataList;
inwardSuppliesDetails.interSuppliesAmount = 1000; }
inwardSuppliesDetails.intraSuppliesAmount = 2000; if(netITCData != null)
inwardSuppliesList.add(inwardSuppliesDetails); {
itcEligibility.netITCAvailable = netITCData;
inwardSuppliesDetails = new InwardSuppliesDetails(); }
inwardSuppliesDetails.type = "NONGST"; if(itcInelgDataList.size() > 0)
inwardSuppliesDetails.interSuppliesAmount = 1000; {
inwardSuppliesDetails.intraSuppliesAmount = 2000; itcEligibility.itcIneligible = itcInelgDataList;
inwardSuppliesList.add(inwardSuppliesDetails); }
InwardSuppliesDetails inwardGSTSupplies = new InwardSuppliesDetails();
sql = " SELECT GDH.TRAN_TYPE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID = GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('28','30') GROUP BY GDH.TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
pstmt.setString(4, "P");
rs = pstmt.executeQuery();
while(rs.next())
{
inwardGSTSupplies.type = "GST";
String tranType = checkNullandTrim(rs.getString("TRAN_TYPE"));
if("28".equalsIgnoreCase(tranType))
{
inwardGSTSupplies.interSuppliesAmount = rs.getDouble("TAXABLE_AMT");
}
else if("30".equalsIgnoreCase(tranType))
{
inwardGSTSupplies.intraSuppliesAmount = rs.getDouble("TAXABLE_AMT");
}
}
closeResources(rs, pstmt);
inwardSuppliesList.add(inwardGSTSupplies);
InwardSuppliesDetails inwardnonGSTSupplies = new InwardSuppliesDetails();
sql = " SELECT GDH.TRAN_TYPE, SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
+ " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
+ " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('29','31') GROUP BY GDH.TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
pstmt.setString(4, "P");
rs = pstmt.executeQuery();
while(rs.next())
{
inwardnonGSTSupplies.type = "NONGST";
String tranType = checkNullandTrim(rs.getString("TRAN_TYPE"));
if("29".equalsIgnoreCase(tranType))
{
inwardnonGSTSupplies.interSuppliesAmount = rs.getDouble("TAXABLE_AMT");
}
else if("31".equalsIgnoreCase(tranType))
{
inwardnonGSTSupplies.intraSuppliesAmount = rs.getDouble("TAXABLE_AMT");
}
}
closeResources(rs, pstmt);
inwardSuppliesList.add(inwardnonGSTSupplies);
InwardSupplies inwardSupplies = new InwardSupplies(); InwardSupplies inwardSupplies = new InwardSupplies();
inwardSupplies.inwardSuppliesDetails = inwardSuppliesList; if(inwardSuppliesList.size() > 0)
{
inwardSupplies.inwardSuppliesDetails = inwardSuppliesList;
}
InterestLateFeeData interestLateFeeData = new InterestLateFeeData(); sql = " SELECT SUM(GDD.TAXABLE_AMT) AS TAXABLE_AMT, SUM(GDD.IGST_AMT) AS IGST_AMT, SUM(GDD.CGST_AMT) AS CGST_AMT, SUM(GDD.SGST_AMT) AS SGST_AMT, SUM(GDD.CESS_AMT) AS CESS_AMT"
interestLateFeeData.igstAmount = 10; + " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD"
interestLateFeeData.cgstAmount = 20; + " WHERE GDH.TRAN_ID=GDD.TRAN_ID"
interestLateFeeData.sgstAmount = 30; + " AND GDH.REC_TYPE = ? AND GDH.PRD_CODE = ? AND GDH.SITE_CODE = ? AND GDH.SUBMIT_STATUS = ? AND GDH.TRAN_TYPE IN ('32')";
interestLateFeeData.cessAmount = 40; pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "6");
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
pstmt.setString(4, "P");
rs = pstmt.executeQuery();
if(rs.next())
{
interestLateFeeData = new InterestLateFeeData();
interestLateFeeData.igstAmount = rs.getDouble("IGST_AMT");
interestLateFeeData.cgstAmount = rs.getDouble("CGST_AMT");
interestLateFeeData.sgstAmount = rs.getDouble("SGST_AMT");
interestLateFeeData.cessAmount = rs.getDouble("CESS_AMT");
}
closeResources(rs, pstmt);
gstr3b = new GSTR3B(); gstr3b = new GSTR3B();
...@@ -3900,13 +4209,16 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3900,13 +4209,16 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
gstr3b.interStateSupplies = interStateSupplies; gstr3b.interStateSupplies = interStateSupplies;
gstr3b.itcEligibility = itcEligibility; gstr3b.itcEligibility = itcEligibility;
gstr3b.inwardSupplies = inwardSupplies; gstr3b.inwardSupplies = inwardSupplies;
gstr3b.interestLateFeeData = interestLateFeeData; if(interestLateFeeData != null)
{
gstr3b.interestLateFeeData = interestLateFeeData;
}
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(gstr3b); String json = objectMapper.writeValueAsString(gstr3b);
System.out.println("jsonPaylaod to save GSTR3B ["+json+"]"); System.out.println("jsonPayload to save GSTR3B ["+json+"]");
retString = saveGSTRData(json, noOfRecords, tranIdList, "6", conn, xtraParams); retString = saveGSTRData(json, noOfRecords, tranIdList, "6", conn, xtraParams);
...@@ -3957,7 +4269,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -3957,7 +4269,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest gstr3bSubmitReq = Unirest.post(String.format("%s%s", GSP_API_URL, GSTR3B_URL_V3)) HttpRequest gstr3bSubmitReq = Unirest.post(String.format("%s%s", BASE_API_URL, GSTR3B_URL))
.header("Content-Type", APPLICATION_JSON) .header("Content-Type", APPLICATION_JSON)
.header("action", "RETSUBMIT") .header("action", "RETSUBMIT")
.header("state-cd", stateCode) .header("state-cd", stateCode)
...@@ -4118,7 +4430,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -4118,7 +4430,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
fileGstr3bDataJsonObj.put("st", signType); fileGstr3bDataJsonObj.put("st", signType);
fileGstr3bDataJsonObj.put("sid", signId); fileGstr3bDataJsonObj.put("sid", signId);
HttpRequest fileGstr3bReq = Unirest.post(String.format("%s%s", GSP_API_URL, GSTR3B_URL_V3)) HttpRequest fileGstr3bReq = Unirest.post(String.format("%s%s", BASE_API_URL, GSTR3B_URL))
.header("Content-Type", APPLICATION_JSON) .header("Content-Type", APPLICATION_JSON)
.header("state-cd", stateCode) .header("state-cd", stateCode)
.header("clientid", clientId) .header("clientid", clientId)
...@@ -5655,22 +5967,22 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -5655,22 +5967,22 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
if("1".equalsIgnoreCase(recType)) if("1".equalsIgnoreCase(recType))
{ {
RETURN_URL = GSTR1_URL_V3; RETURN_URL = GSTR1_URL;
} }
else if("2".equalsIgnoreCase(recType)) else if("2".equalsIgnoreCase(recType))
{ {
RETURN_URL = GSTR2_URL_V3; RETURN_URL = GSTR2_URL;
} }
else if("3".equalsIgnoreCase(recType)) else if("3".equalsIgnoreCase(recType))
{ {
RETURN_URL = GSTR3_URL_V3; RETURN_URL = GSTR3_URL;
} }
else if("6".equalsIgnoreCase(recType)) else if("6".equalsIgnoreCase(recType))
{ {
RETURN_URL = GSTR3B_URL_V3; RETURN_URL = GSTR3B_URL;
} }
HttpRequest saveGstrReq = Unirest.put(String.format("%s%s", GSP_API_URL, RETURN_URL)) HttpRequest saveGstrReq = Unirest.put(String.format("%s%s", BASE_API_URL, RETURN_URL))
.header("Content-Type", APPLICATION_JSON) .header("Content-Type", APPLICATION_JSON)
.header("clientid", clientId) .header("clientid", clientId)
.header("client-secret", clientSecret) .header("client-secret", clientSecret)
...@@ -5737,7 +6049,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -5737,7 +6049,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
gspAuthStringRet = clientId + ":" + transactionId + ":" + timeStampRet + ":" + gstin; gspAuthStringRet = clientId + ":" + transactionId + ":" + timeStampRet + ":" + gstin;
gspAuthSignatureRet = gspSignature.sign(gspAuthStringRet, aspPrivateKey); gspAuthSignatureRet = gspSignature.sign(gspAuthStringRet, aspPrivateKey);
HttpRequest retStatusReq = Unirest.get(String.format("%s%s", GSP_API_URL, GSTR_URL_V3)) HttpRequest retStatusReq = Unirest.get(String.format("%s%s", BASE_API_URL, GSTR_RETSTAT_URL))
.queryString("action","RETSTATUS") .queryString("action","RETSTATUS")
.queryString("gstin", gstin) .queryString("gstin", gstin)
.queryString("ret_period", periodCode) .queryString("ret_period", periodCode)
......
...@@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.SerializerProvider; ...@@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.SerializerProvider;
import ibase.webitm.bean.gst.DocDetails; import ibase.webitm.bean.gst.DocDetails;
import ibase.webitm.bean.gst.DocIssued; import ibase.webitm.bean.gst.DocIssued;
import ibase.webitm.bean.gst.Docs;
public class DocSerializer extends BaseSerializer<DocIssued> public class DocSerializer extends BaseSerializer<DocIssued>
{ {
...@@ -15,35 +16,38 @@ public class DocSerializer extends BaseSerializer<DocIssued> ...@@ -15,35 +16,38 @@ public class DocSerializer extends BaseSerializer<DocIssued>
public void serialize(DocIssued docIssued, JsonGenerator json, SerializerProvider serializeProvider) throws IOException, JsonProcessingException public void serialize(DocIssued docIssued, JsonGenerator json, SerializerProvider serializeProvider) throws IOException, JsonProcessingException
{ {
json.writeStartObject(); json.writeStartObject();
if(docIssued.taxPayerAction != null) if(docIssued.taxPayerAction != null)
{ {
json.writeStringField("flag", docIssued.taxPayerAction); json.writeStringField("flag", docIssued.taxPayerAction);
} }
json.writeNumberField("doc_num", docIssued.serialNumber); json.writeFieldName("doc_det");
json.writeStringField("doc_typ", docIssued.docDescr);
json.writeFieldName("docs");
json.writeStartArray(); json.writeStartArray();
for(DocDetails docDetail : docIssued.docDetails) for(DocDetails docDetail : docIssued.docDetails)
{ {
json.writeStartObject(); json.writeStartObject();
json.writeNumberField("doc_num", docDetail.serialNumber);
json.writeNumberField("num", docDetail.docNum); json.writeFieldName("docs");
json.writeStringField("from", docDetail.fromSerialNo);
json.writeStringField("to", docDetail.toSerialNo);
json.writeNumberField("totnum", docDetail.totalNo);
json.writeNumberField("cancel", docDetail.cancelNo);
json.writeNumberField("net_issue", docDetail.toatlNetIssued);
json.writeStartArray();
for(Docs doc : docDetail.docs)
{
json.writeStartObject();
json.writeNumberField("num", doc.docNum);
json.writeStringField("from", doc.fromSerialNo);
json.writeStringField("to", doc.toSerialNo);
json.writeNumberField("totnum", doc.totalNo);
json.writeNumberField("cancel", doc.cancelNo);
json.writeNumberField("net_issue", doc.toatlNetIssued);
json.writeEndObject();
}
json.writeEndArray();
json.writeEndObject(); json.writeEndObject();
} }
json.writeEndArray(); json.writeEndArray();
json.writeEndObject(); json.writeEndObject();
} }
} }
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