Commit 1e344205 authored by steurwadkar's avatar steurwadkar

F17ABAS001 source code commit


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@106755 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 9fa12d5e
...@@ -557,6 +557,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -557,6 +557,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
retString = createGstr2Json(siteCode, xtraParams, conn); retString = createGstr2Json(siteCode, xtraParams, conn);
} }
else if("GENERATE".equalsIgnoreCase(returnsType))
{
retString = generateGSTR3(xtraParams, conn);
}
else if ("SUBMIT".equalsIgnoreCase(action)) else if ("SUBMIT".equalsIgnoreCase(action))
{ {
retString = submitGstr("2", xtraParams, conn); retString = submitGstr("2", xtraParams, conn);
...@@ -2760,8 +2764,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2760,8 +2764,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
cdnur = new CDNUR(); cdnur = new CDNUR();
cdnur.isReverseCharge = false; cdnur.isReverseCharge = false;
cdnur.recType = "2"; cdnur.recType = "2";
cdnur.receiverGSTIN = checkNullandTrim(rs.getString("TAX_REG_NO")); cdnur.receiverGSTIN = checkNullandTrim(rs.getString("TAX_REG_NO"));
cdnur.cdnNoteType = udfStr2; cdnur.cdnNoteType = udfStr2;
cdnur.cdNoteNumber = checkNullandTrim(rs.getString("DOC_NO")); cdnur.cdNoteNumber = checkNullandTrim(rs.getString("DOC_NO"));
...@@ -2916,6 +2920,131 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -2916,6 +2920,131 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
} }
return retString; return retString;
} }
private String generateGSTR3(String xtraParams, Connection conn) throws ITMException
{
String retString = "";
String siteCode = "", loginCode = "", transactionId = "", chgTerm = "", gspAuthString = "", gspAuthSignature="", callStatus = "", errMsg = "",
responseId = "";
try
{
siteCode = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
loginCode = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
chgTerm = e12GenericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgTerm");
transactionId = UUID.randomUUID().toString().replaceAll("-", "");
long timeStamp = new Timestamp().getDateTime();
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstin;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
HttpRequest generateGSTR3Req = Unirest.get(String.format("%s%s", BASE_API_URL, GSTR3_URL))
.queryString("gstin", gstin)
.queryString("ret_period",periodCode)
.queryString("action","GENERATE")
.header("Content-Type", APPLICATION_JSON)
.header("state-cd", stateCode)
.header("clientid", clientId)
.header("client-secret", clientSecret)
.header("ip-usr", ipAddress)
.header("username", userName)
.header("auth-token", authToken)
.header("txn", transactionId)
.header("ret_period", periodCode)
.header("gstin", gstin)
.header("X-Asp-Auth-Token", gspAuthString)
.header("X-Asp-Auth-Signature", gspAuthSignature)
.getHttpRequest();
System.out.println("GENERATE GSTR3 for ["+gstin+"] for ["+periodCode+"] url["+generateGSTR3Req.getUrl()+"]");
System.out.println("GENERATE GSTR3 method["+generateGSTR3Req.getHttpMethod()+"]");
System.out.println("GENERATE GSTR3 request header["+generateGSTR3Req.getHeaders()+"]");
HttpResponse<JsonNode> generateGSTR3Resp = generateGSTR3Req.asJson();
System.out.println(String.format("generateGSTR3Resp Request : Status[%s] Response[%s]", generateGSTR3Resp.getStatus(), generateGSTR3Resp.getBody()));
if (generateGSTR3Resp.getStatus() == 200)
{
JSONObject generateGSTR3RespObj = generateGSTR3Resp.getBody().getObject();
if(generateGSTR3RespObj.has("data") && generateGSTR3RespObj.has("rek"))
{
callStatus = "1";
String generateGstr3Data = generateGSTR3RespObj.getString("data");
String generateGstr3Rek = generateGSTR3RespObj.getString("rek");
byte[] generateGstr3ApiEK = aesEncryption.decrypt(generateGstr3Rek, authSEK);
String generateGstr3JsoninBase64 = new String(aesEncryption.decrypt(generateGstr3Data, generateGstr3ApiEK));
byte[] generateGstr3JsonInBytes = aesEncryption.decodeBase64StringTOByte(generateGstr3JsoninBase64);
JSONObject generateGstr3JsonObj = new JSONObject(new String(generateGstr3JsonInBytes));
System.out.println("560101.generateGstr3JsonObj["+generateGstr3JsonObj+"]");
if(generateGstr3JsonObj.has("ref_id"))
{
responseId = generateGstr3JsonObj.getString("ref_id");
}
}
else
{
callStatus = "2";
JSONObject errorJSON = generateGSTR3Resp.getBody().getObject();
if(errorJSON.has("error"))
{
JSONObject tempJsonObj = errorJSON.getJSONObject("error");
if(tempJsonObj.has("message"))
{
errMsg = tempJsonObj.getString("message");
retString = "<data_error><![CDATA["+errMsg+"]]></data_error>";
}
}
}
}
else
{
callStatus = "2";
JSONObject errorJSON = generateGSTR3Resp.getBody().getObject();
if(errorJSON.has("error"))
{
JSONObject tempJsonObj = errorJSON.getJSONObject("error");
if(tempJsonObj.has("message"))
{
errMsg = tempJsonObj.getString("message");
retString = "<data_error><![CDATA["+errMsg+"]]></data_error>";
}
}
}
}
catch(Exception e)
{
System.out.println("GSTDataSubmitWizPos.generateGSTR3()["+e.getMessage()+"]");
e.printStackTrace();
throw new ITMException(e);
}
finally
{
APICallData apiCallData = new APICallData();
apiCallData.setPeriodCode(periodCode);
apiCallData.setCallDate(new Date());
apiCallData.setSiteCode(siteCode);
apiCallData.setUserId(loginCode);
apiCallData.setCallType("GENERATE_GSTR3");
apiCallData.setRecType("3");
apiCallData.setNoOfRecords(0);
apiCallData.setCallStatus(callStatus);
apiCallData.setResponseId(responseId);
apiCallData.setResponseJsonStr(errMsg);
apiCallData.setChgUser(loginCode);
apiCallData.setChgDate(new Date());
apiCallData.setChgTerm(chgTerm);
gstCommonUtil.updateAPICallLogHistory(apiCallData, null);
}
return retString;
}
private String getDataFromFileServer(String recType, JSONObject dataJSONObject, String sectionName, String xtraParams, Connection conn) throws ITMException private String getDataFromFileServer(String recType, JSONObject dataJSONObject, String sectionName, String xtraParams, Connection conn) throws ITMException
{ {
String retString = null; String retString = null;
...@@ -5316,104 +5445,70 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -5316,104 +5445,70 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
String retString = ""; String retString = "";
JSONObject errorJsonObj = null; JSONObject errorJsonObj = null;
JSONArray eachInvErrorJsonArry = null;
try try
{ {
errorJsonObj = retStatusJsonObj.getJSONObject("error_report"); if(retStatusJsonObj.has("error_report"))
if(errorJsonObj.has("b2b"))
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("b2b");
}
else if(errorJsonObj.has("b2ba"))
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("b2ba");
}
else if(errorJsonObj.has("b2cl"))
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("b2cl");
}
else if(errorJsonObj.has("b2cla"))
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("b2cla");
}
else if(errorJsonObj.has("b2cs"))
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("b2cs");
}
else if(errorJsonObj.has("b2csa"))
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("b2csa");
}
else if(errorJsonObj.has("cdnr"))
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("cdnr");
}
else if(errorJsonObj.has("cdnra"))
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("cdnra");
}
else if(errorJsonObj.has("at"))
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("at");
}
else if(errorJsonObj.has("ata"))
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("ata");
}
else if(errorJsonObj.has("b2bur"))
{ {
eachInvErrorJsonArry = errorJsonObj.getJSONArray("b2bur"); errorJsonObj = retStatusJsonObj.getJSONObject("error_report");
}
else if(errorJsonObj.has("cdn")) String[] secKeys = JSONObject.getNames(errorJsonObj);
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("cdn"); for(String eachSectionName : secKeys)
}
else if(errorJsonObj.has("nldt"))
{
eachInvErrorJsonArry = errorJsonObj.getJSONArray("nldt");
}
if(eachInvErrorJsonArry != null)
{
for(int i=0; i<eachInvErrorJsonArry.length(); i++)
{ {
JSONObject tempJsonObj = eachInvErrorJsonArry.getJSONObject(i); retString += "Section : "+eachSectionName.toUpperCase()+"\n";
if(tempJsonObj.has("error_msg"))
{ JSONArray eachSecErrJsonArry = errorJsonObj.getJSONArray(eachSectionName);
retString += tempJsonObj.getString("error_msg")+"\n";
} for(int i=0; i<eachSecErrJsonArry.length(); i++)
if(tempJsonObj.has("ty") && tempJsonObj.has("hsn_sc"))
{
retString += " Line Type : "+tempJsonObj.optString("ty")+ " Item/Service Code : "+tempJsonObj.optString("hsn_sc")+"\n";
}
else if(tempJsonObj.has("nt_num") && tempJsonObj.has("nt_dt"))
{
retString += " Credit/Debit No. : "+tempJsonObj.optString("nt_num")+ " Credit/Debit Dt. : "+tempJsonObj.optString("nt_dt")+"\n";
}
else if(tempJsonObj.has("doc_num") && tempJsonObj.has("doc_dt") && tempJsonObj.has("typ"))
{
retString += " Doc No. : "+tempJsonObj.optString("doc_num")+ " Doc Dt. : "+tempJsonObj.optString("doc_dt")+ " Inv Type : "+tempJsonObj.optString("typ")+"\n";
}
else if(tempJsonObj.has("inum") && tempJsonObj.has("idt"))
{
retString += " Invoice No. : "+tempJsonObj.optString("inum")+ " Invoice Dt. : "+tempJsonObj.optString("idt")+"\n";
}
else if(tempJsonObj.has("inv"))
{ {
JSONArray tempInvJsonArry = tempJsonObj.getJSONArray("inv"); JSONObject eachSecErrJsonObj = eachSecErrJsonArry.getJSONObject(i);
for(int j=0; j<tempInvJsonArry.length(); j++)
if(eachSecErrJsonObj.has("error_msg"))
{ {
JSONObject tempInvJsonObj = tempInvJsonArry.getJSONObject(j); retString += eachSecErrJsonObj.getString("error_msg");
if(tempInvJsonObj.has("inum") && tempInvJsonObj.has("idt"))
{
retString += " Invoice No. : "+tempInvJsonObj.optString("inum")+ " Invoice Dt. : "+tempInvJsonObj.optString("idt")+"\n";
}
} }
if(eachSecErrJsonObj.has("hsn_sc"))
{
retString += " HSN/SAC : "+eachSecErrJsonObj.getString("hsn_sc");
}
if(eachSecErrJsonObj.has("desc"))
{
retString += ", Description : "+eachSecErrJsonObj.getString("desc");
}
if(eachSecErrJsonObj.has("uqc"))
{
retString += ", UQC : "+eachSecErrJsonObj.getString("uqc");
}
if(eachSecErrJsonObj.has("inum"))
{
retString += ", Invoice No. : "+eachSecErrJsonObj.getString("inum");
}
if(eachSecErrJsonObj.has("idt"))
{
retString += ", Dated : "+eachSecErrJsonObj.getString("idt");
}
if(eachSecErrJsonObj.has("pos"))
{
retString += ", POS : "+eachSecErrJsonObj.getString("pos");
}
if(eachSecErrJsonObj.has("inv_typ"))
{
retString += ", Invoice Type : "+eachSecErrJsonObj.getString("inv_typ");
}
if(eachSecErrJsonObj.has("nt_num") && eachSecErrJsonObj.has("nt_dt"))
{
retString += " Credit/Debit No. : "+eachSecErrJsonObj.getString("nt_num")+ " Credit/Debit Dt. : "+eachSecErrJsonObj.getString("nt_dt");
}
retString += "\n";
} }
} }
} }
else
{
retString = "Some error occurred!";
}
} }
catch(Exception e) catch(Exception e)
{ {
...@@ -5655,8 +5750,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi ...@@ -5655,8 +5750,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{ {
String retString = ""; String retString = "";
String gspAuthString = "", gspAuthSignature = "", transactionId = "", RETURN_URL = "", errMsg = "", callStatus = "", responseId = "", String gspAuthString = "", gspAuthSignature = "", transactionId = "", RETURN_URL = "", errMsg = "", callStatus = "", responseId = "",
retStatusCallStatus = "", retStatsData = "", retStatsRek = "", retStatusResponseJsonStr = "", responseJsonStr = "", retStatusCallStatus = "", retStatsData = "", retStatsRek = "", retStatusResponseJsonStr = "", responseJsonStr = "",
gspAuthStringRet = "", gspAuthSignatureRet = "",loginCode = "", chgTerm = "", siteCode = "", gstrData = "", gstrRek = ""; gspAuthStringRet = "", gspAuthSignatureRet = "",loginCode = "", chgTerm = "", siteCode = "", gstrData = "", gstrRek = "";
Date restSaveEndTime = null; Date restSaveEndTime = null;
int retStatusCallCnt = 0; int retStatusCallCnt = 0;
long diffStatus = 0L; long diffStatus = 0L;
......
...@@ -27,7 +27,10 @@ public class CDNURSerializer extends JsonSerializer<CDNUR> ...@@ -27,7 +27,10 @@ public class CDNURSerializer extends JsonSerializer<CDNUR>
} }
else if("2".equalsIgnoreCase(cdnur.recType)) else if("2".equalsIgnoreCase(cdnur.recType))
{ {
json.writeStringField("rtin", cdnur.receiverGSTIN); if(cdnur.receiverGSTIN != null && cdnur.receiverGSTIN.length() > 0)
{
json.writeStringField("rtin", cdnur.receiverGSTIN);
}
} }
json.writeStringField("ntty", cdnur.cdnNoteType); json.writeStringField("ntty", cdnur.cdnNoteType);
json.writeStringField("nt_num", cdnur.cdNoteNumber); json.writeStringField("nt_num", cdnur.cdNoteNumber);
...@@ -99,7 +102,7 @@ public class CDNURSerializer extends JsonSerializer<CDNUR> ...@@ -99,7 +102,7 @@ public class CDNURSerializer extends JsonSerializer<CDNUR>
} }
json.writeEndObject(); json.writeEndObject();
if(li.itcType != null && (li.igstInputTax > 0.0 || li.cgstInputTax > 0.0 || li.sgstInputTax > 0.0) || li.cessInputTax > 0.0) if(li.itcType != null)
{ {
json.writeFieldName("itc"); json.writeFieldName("itc");
json.writeStartObject(); json.writeStartObject();
......
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