Commit e3adfffb authored by steurwadkar's avatar steurwadkar

F17ABAS001 source code commit


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@106355 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 1f46159a
package ibase.webitm.bean.gst;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ibase.webitm.util.gst.B2BURSerializer;
@JsonSerialize(using = B2BURSerializer.class)
public class B2BUR extends BaseData
{
}
package ibase.webitm.bean.gst;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ibase.webitm.util.gst.GSTR2Serailizer;
@JsonSerialize(using = GSTR2Serailizer.class)
public class GSTR2
{
@JsonProperty("gstin")
public String gstin;
@JsonProperty("fp")
public String financialPeriod;
@JsonProperty("b2b")
public List<B2B> b2b;
@JsonProperty("b2bur")
public List<B2BUR> b2bur;
@JsonProperty("cdn")
public List<CDNR> cdnr;
@JsonProperty("hsnsum")
public HSN hsn;
}
...@@ -9,5 +9,7 @@ import ibase.webitm.util.gst.HSNSerializer; ...@@ -9,5 +9,7 @@ import ibase.webitm.util.gst.HSNSerializer;
@JsonSerialize(using = HSNSerializer.class) @JsonSerialize(using = HSNSerializer.class)
public class HSN extends BaseData public class HSN extends BaseData
{ {
public String recType;
public List<HSNDetails> hsnDetails; public List<HSNDetails> hsnDetails;
} }
...@@ -16,4 +16,14 @@ public class InvLineItem { ...@@ -16,4 +16,14 @@ public class InvLineItem {
public double samt; public double samt;
public double csamt; public double csamt;
public String itcType;
public double igstInputTax;
public double cgstInputTax;
public double sgstInputTax;
public double cessInputTax;
} }
...@@ -567,6 +567,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -567,6 +567,10 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
summaryDataJsonStr += getGstr1Summary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn); summaryDataJsonStr += getGstr1Summary(authToken, stateCode, userName, gstinNo, periodCode, authSEK, appKeyEncryptedAndCoded, xtraParams, conn);
retXML = "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>"; retXML = "<summary_data>" + XML.toString(new JSONObject(summaryDataJsonStr)) + "</summary_data>";
} }
else if("GETINV".equalsIgnoreCase(action))
{
retXML += downloadGstr1Data(gstinNo, periodCode, authToken, userName, stateCode, appKeyEncryptedAndCoded, xtraParams, authSEK);
}
} }
} }
...@@ -964,11 +968,12 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -964,11 +968,12 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
@Override @Override
public String handleRequest(HashMap<String, String> reqParamMap, UserInfoBean userInfo) throws ITMException public String handleRequest(HashMap<String, String> reqParamMap, UserInfoBean userInfo) throws ITMException
{ {
String retResponseXML = "", action = ""; String retResponseXML = "", action = "", dataAction = "", errorCode = "", dataErrMsg = "";
String sql = ""; String sql = "";
Connection conn = null; Connection conn = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ResultSet rs = null; ResultSet rs = null;
boolean isDataError = false;
try try
{ {
action = reqParamMap.get("action"); action = reqParamMap.get("action");
...@@ -976,7 +981,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -976,7 +981,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
if("GENERATE_OTP".equalsIgnoreCase(action)) if("GENERATE_OTP".equalsIgnoreCase(action))
{ {
String userName = "", stateCode = "", gspAuthString = "", gspAuthSignature = "", gstinNo = "", periodCode = "", siteCode = "", recType = ""; String userName = "", stateCode = "", gspAuthString = "", gspAuthSignature = "", gstinNo = "", periodCode = "", siteCode = "", recType = "", recordType = "";
String responseId = "", responseJsonStr = "", callStatus = ""; String responseId = "", responseJsonStr = "", callStatus = "";
String transactionId = UUID.randomUUID().toString().replaceAll("-", ""); String transactionId = UUID.randomUUID().toString().replaceAll("-", "");
long timeStamp = new Timestamp().getDateTime(); long timeStamp = new Timestamp().getDateTime();
...@@ -992,20 +997,253 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -992,20 +997,253 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
gstinNo = reqParamMap.get("gstin_no"); gstinNo = reqParamMap.get("gstin_no");
periodCode = reqParamMap.get("period_code"); periodCode = reqParamMap.get("period_code");
siteCode = reqParamMap.get("site_code"); siteCode = reqParamMap.get("site_code");
dataAction = reqParamMap.get("data_action");
recordType = reqParamMap.get("rec_type");
if("GSTR1".equalsIgnoreCase(reqParamMap.get("rec_type"))) if("GSTR1".equalsIgnoreCase(recordType))
{ {
recType = "1"; recType = "1";
} }
else if("GSTR2".equalsIgnoreCase(reqParamMap.get("rec_type"))) else if("GSTR2".equalsIgnoreCase(recordType))
{ {
recType = "2"; recType = "2";
} }
else if("GSTR3".equalsIgnoreCase(reqParamMap.get("rec_type"))) else if("GSTR3".equalsIgnoreCase(recordType))
{ {
recType = "3"; recType = "3";
} }
if("SAVE".equalsIgnoreCase(dataAction))
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'P' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") == 0)
{
isDataError = true;
errorCode = "VTNOGSDATA";
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'S' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") > 0)
{
isDataError = true;
errorCode = "VTSUBALRDY";
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'R' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") > 0)
{
isDataError = true;
errorCode = "VTFILALRDY";
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
}
if("SUBMIT".equalsIgnoreCase(dataAction))
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'S' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") > 0)
{
isDataError = true;
errorCode = "VTSUBALRDY";
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'T' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") == 0)
{
isDataError = true;
errorCode = "VTNORECSAV";
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'R' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") > 0)
{
isDataError = true;
errorCode = "VTFILALRDY";
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
}
if("FILE".equalsIgnoreCase(dataAction))
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'S' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") == 0)
{
isDataError = true;
errorCode = "VTGSTSUBPN";
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'R' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") > 0)
{
isDataError = true;
errorCode = "VTGSTFILE";
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
}
if("GETINV".equalsIgnoreCase(dataAction))
{
sql = "SELECT COUNT(1) AS CNT FROM GST_DATA_HDR WHERE REC_TYPE = ? AND SUBMIT_STATUS = 'T' AND PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, recType);
pstmt.setString(2, periodCode);
pstmt.setString(3, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt("CNT") == 0)
{
isDataError = true;
errorCode = "VTNORECSAV";
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
}
if(!isDataError)
{
gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstinNo; gspAuthString = clientId + ":" + transactionId + ":" + timeStamp + ":" + gstinNo;
gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey); gspAuthSignature = gspSignature.sign(gspAuthString, aspPrivateKey);
...@@ -1085,6 +1323,30 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1085,6 +1323,30 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
gstCommonUtil.updateAPICallLogHistory(apiCallData, null); gstCommonUtil.updateAPICallLogHistory(apiCallData, null);
} }
else
{
sql = "SELECT MSG_DESCR FROM MESSAGES WHERE MSG_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, errorCode);
rs = pstmt.executeQuery();
if(rs.next())
{
dataErrMsg = rs.getString("MSG_DESCR");
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
retResponseXML = "<root><message><![CDATA[Message : "+dataErrMsg+"]]></message></root>";
}
}
else if ("ITEM_CHANGE".equalsIgnoreCase(action)) else if ("ITEM_CHANGE".equalsIgnoreCase(action))
{ {
String currColumn = "", currFieldData = "", siteDescr = "", gstinNo = "", userName = "", stateCode = "", stateDescr = "", grossTurnover = ""; String currColumn = "", currFieldData = "", siteDescr = "", gstinNo = "", userName = "", stateCode = "", stateDescr = "", grossTurnover = "";
...@@ -1147,7 +1409,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi ...@@ -1147,7 +1409,7 @@ public class GSTDataSubmitWizEJB extends ValidatorEJB implements GSTDataSubmitWi
{ {
System.out.println("GSTDataSubmitWizEJB.handleRequest()["+e.getMessage()+"]"); System.out.println("GSTDataSubmitWizEJB.handleRequest()["+e.getMessage()+"]");
e.printStackTrace(); e.printStackTrace();
retResponseXML = "<root><message><![CDATA[Message : Error occured!]]></message></root>"; retResponseXML = "<root><message><![CDATA[Message :"+e.getMessage()+"]]></message></root>";
} }
finally finally
{ {
......
package ibase.webitm.util.gst;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.SerializerProvider;
import ibase.webitm.bean.gst.B2BUR;
public class B2BURSerializer extends BaseSerializer<B2BUR>
{
@Override
public void serialize(B2BUR b2bur, final JsonGenerator json, SerializerProvider serializerProvider) throws IOException, JsonProcessingException
{
json.writeStartObject();
writeInvoices(b2bur, json);
json.writeEndObject();
}
}
...@@ -143,6 +143,20 @@ abstract class BaseSerializer<T extends BaseData> extends JsonSerializer<T> ...@@ -143,6 +143,20 @@ abstract class BaseSerializer<T extends BaseData> extends JsonSerializer<T>
json.writeEndObject(); json.writeEndObject();
} }
if(li.itcType != null && (li.igstInputTax > 0.0 || li.cgstInputTax > 0.0 || li.sgstInputTax > 0.0) || li.cessInputTax > 0.0)
{
json.writeFieldName("itc");
json.writeStartObject();
json.writeStringField("elg", li.itcType);
json.writeNumberField("tx_i", li.igstInputTax);
json.writeNumberField("tx_s", li.cgstInputTax);
json.writeNumberField("tx_c", li.sgstInputTax);
json.writeNumberField("tx_cs", li.cessInputTax);
json.writeEndObject();
}
json.writeEndObject(); json.writeEndObject();
} }
catch (Exception e) catch (Exception e)
......
...@@ -115,6 +115,20 @@ public class CDNRSerializer extends JsonSerializer<CDNR> ...@@ -115,6 +115,20 @@ public class CDNRSerializer extends JsonSerializer<CDNR>
} }
json.writeEndObject(); json.writeEndObject();
if(li.itcType != null && (li.igstInputTax > 0.0 || li.cgstInputTax > 0.0 || li.sgstInputTax > 0.0) || li.cessInputTax > 0.0)
{
json.writeFieldName("itc");
json.writeStartObject();
json.writeStringField("elg", li.itcType);
json.writeNumberField("tx_i", li.igstInputTax);
json.writeNumberField("tx_s", li.cgstInputTax);
json.writeNumberField("tx_c", li.sgstInputTax);
json.writeNumberField("tx_cs", li.cessInputTax);
json.writeEndObject();
}
json.writeEndObject(); json.writeEndObject();
} }
catch (Exception e) catch (Exception e)
......
package ibase.webitm.util.gst;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import ibase.webitm.bean.gst.GSTR2;
public class GSTR2Serailizer extends JsonSerializer<GSTR2> {
@Override
public void serialize(GSTR2 gstr2, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException
{
jsonGenerator.writeStartObject();
jsonGenerator.writeStringField("gstin", gstr2.gstin);
if(gstr2.b2b != null)
{
jsonGenerator.writeObjectField("b2b", gstr2.b2b);
}
if(gstr2.b2bur != null)
{
jsonGenerator.writeObjectField("b2bur", gstr2.b2bur);
}
if(gstr2.cdnr != null)
{
jsonGenerator.writeObjectField("cdn", gstr2.cdnr);
}
if(gstr2.hsn != null)
{
jsonGenerator.writeObjectField("hsnsum", gstr2.hsn);
}
jsonGenerator.writeEndObject();
}
}
...@@ -16,7 +16,14 @@ public class HSNSerializer extends BaseSerializer<HSN> ...@@ -16,7 +16,14 @@ public class HSNSerializer extends BaseSerializer<HSN>
{ {
json.writeStartObject(); json.writeStartObject();
if("1".equalsIgnoreCase(hsn.recType))
{
json.writeFieldName("data"); json.writeFieldName("data");
}
else if("2".equalsIgnoreCase(hsn.recType))
{
json.writeFieldName("det");
}
json.writeStartArray(); json.writeStartArray();
for(HSNDetails hsnDetails : hsn.hsnDetails) for(HSNDetails hsnDetails : hsn.hsnDetails)
...@@ -40,26 +47,17 @@ public class HSNSerializer extends BaseSerializer<HSN> ...@@ -40,26 +47,17 @@ public class HSNSerializer extends BaseSerializer<HSN>
{ {
json.writeStringField("desc", hsnDetails.description); json.writeStringField("desc", hsnDetails.description);
} }
if(hsnDetails.unitOfMeasure != null && hsnDetails.unitOfMeasure.trim().length()>0)
{
json.writeStringField("uqc", hsnDetails.unitOfMeasure); json.writeStringField("uqc", hsnDetails.unitOfMeasure);
}
json.writeNumberField("qty", hsnDetails.quantity); json.writeNumberField("qty", hsnDetails.quantity);
json.writeNumberField("val", hsnDetails.totalAmount); json.writeNumberField("val", hsnDetails.totalAmount);
json.writeNumberField("txval", hsnDetails.totalTaxableAmount); json.writeNumberField("txval", hsnDetails.totalTaxableAmount);
if(hsnDetails.totalIGSTAmount > 0)
{
json.writeNumberField("iamt", hsnDetails.totalIGSTAmount); json.writeNumberField("iamt", hsnDetails.totalIGSTAmount);
}
if(hsnDetails.totalCGSTAmount > 0)
{
json.writeNumberField("camt", hsnDetails.totalCGSTAmount); json.writeNumberField("camt", hsnDetails.totalCGSTAmount);
}
if(hsnDetails.totalSGSTAmount > 0)
{
json.writeNumberField("samt", hsnDetails.totalSGSTAmount); json.writeNumberField("samt", hsnDetails.totalSGSTAmount);
}
if(hsnDetails.totalCESSAmount > 0)
{
json.writeNumberField("csamt", hsnDetails.totalCESSAmount); json.writeNumberField("csamt", hsnDetails.totalCESSAmount);
}
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