Commit fd5c75e3 authored by steurwadkar's avatar steurwadkar

F17ABAS001 source code commit


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@106372 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 32933274
......@@ -9,6 +9,8 @@ import ibase.webitm.util.gst.ATSerializer;
@JsonSerialize(using = ATSerializer.class)
public class AT extends BaseData
{
public String recType;
public String pos;
public String supplyType;
......
......@@ -10,8 +10,12 @@ import ibase.webitm.util.gst.CDNURSerializer;
@JsonSerialize(using = CDNURSerializer.class)
public class CDNUR extends BaseData
{
public String recType;
public String customerType;
public String receiverGSTIN;
public String cdnNoteType;
public String cdNoteNumber;
......
......@@ -30,4 +30,22 @@ public class GSTR2
@JsonProperty("imp_g")
public List<IMPG> impg;
@JsonProperty("imp_s")
public List<IMPS> imps;
@JsonProperty("nil_supplies")
public NilInwardSupplies nil;
@JsonProperty("txi")
public List<AT> txi;
@JsonProperty("txpd")
public List<AT> txpd;
@JsonProperty("itc_rvsl")
public ITCReversal itcReversal;
@JsonProperty("cdnur")
public List<CDNUR> cdnur;
}
package ibase.webitm.bean.gst;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ibase.webitm.util.gst.IMPSSerializer;
@JsonSerialize(using = IMPSSerializer.class)
public class IMPS extends BaseData
{
public String inum;
public Date idt;
public double val;
public String pos;
public List<InvLineItem> items;
}
package ibase.webitm.bean.gst;
public class ITCReversal {
}
package ibase.webitm.bean.gst;
public class InterNilSupplies
{
public double compoundSuppliesAmt;
public double exempetedSuppliesAmt;
public double nonGSTSuppliesAmt;
public double nilSuppliesAmt;
}
\ No newline at end of file
package ibase.webitm.bean.gst;
public class IntraNilSupplies
{
public double compoundSuppliesAmt;
public double exempetedSuppliesAmt;
public double nonGSTSuppliesAmt;
public double nilSuppliesAmt;
}
\ No newline at end of file
package ibase.webitm.bean.gst;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ibase.webitm.util.gst.NilInwardSerializer;
@JsonSerialize(using = NilInwardSerializer.class)
public class NilInwardSupplies
{
public InterNilSupplies interNilSupplies;
public IntraNilSupplies intraNilSupplies;
}
\ No newline at end of file
......@@ -61,9 +61,13 @@ import ibase.webitm.bean.gst.GSTR2;
import ibase.webitm.bean.gst.HSN;
import ibase.webitm.bean.gst.HSNDetails;
import ibase.webitm.bean.gst.IMPG;
import ibase.webitm.bean.gst.IMPS;
import ibase.webitm.bean.gst.InterNilSupplies;
import ibase.webitm.bean.gst.IntraNilSupplies;
import ibase.webitm.bean.gst.InvLineItem;
import ibase.webitm.bean.gst.Invoice;
import ibase.webitm.bean.gst.Nil;
import ibase.webitm.bean.gst.NilInwardSupplies;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.fin.FinCommon;
......@@ -958,6 +962,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
at = new AT();
at.isReverseCharge = false;
at.recType = "1";
at.pos = posStateCode;
at.supplyType = udfStr2;
at.itms = invLineItems;
......@@ -1005,6 +1010,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
at = new AT();
at.isReverseCharge = false;
at.recType = "1";
at.pos = posStateCode;
at.supplyType = udfStr2;
at.itms = invLineItems;
......@@ -1090,6 +1096,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
}
}
}
cdnur.recType = "1";
cdnur.customerType = customerType;
cdnur.cdnNoteType = udfStr2;
cdnur.cdNoteNumber = checkNullandTrim(rs.getString("DOC_NO"));
......@@ -2178,9 +2185,9 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
boolean isDataFound = false;
String udfStr1 = "", udfStr2 = "", udfStr3 = "";
String sql = "", lineSql = "", refDataSql = "";
PreparedStatement pstmt = null, linePstmt = null, refDataPstmt = null;
ResultSet rs = null, lineRs = null, refDataRs = null;
String sql = "", lineSql = "";
PreparedStatement pstmt = null, linePstmt = null;
ResultSet rs = null, lineRs = null;
String tranId = "", tranType = "", tranIdRef = "", ctin = "", posStateCode = "";
String loginCode = "", chgTerm = "", callStatus = "", responseId = "", responseJsonStr= "", retStatusCallStatus = "", retStatusResponseJsonStr = "";
......@@ -2194,6 +2201,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
ArrayList<CDNR> cdnrList = new ArrayList<CDNR>();
ArrayList<HSNDetails> hsnList = new ArrayList<HSNDetails>();
ArrayList<IMPG> impgList = new ArrayList<IMPG>();
ArrayList<IMPS> impsList = new ArrayList<IMPS>();
ArrayList<AT> txiList = new ArrayList<AT>();
ArrayList<AT> txpdList = new ArrayList<AT>();
ArrayList<CDNUR> cdnurList = new ArrayList<CDNUR>();
ArrayList<InvLineItem> invLineItems = null;
ArrayList<Invoice> invoices = null;
......@@ -2209,6 +2220,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
HSNDetails hsnDetails = null;
HSN hsn = null;
IMPG impg = null;
IMPS imps = null;
AT at = null;
CDNUR cdnur = null;
NilInwardSupplies nilInwardSupplies = null;
try
{
......@@ -2517,6 +2532,211 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
impgList.add(impg);
}
if("IMPS".equalsIgnoreCase(udfStr1))
{
lineSql = " SELECT GST_RATE, SUM(TAXABLE_AMT) AS TAXABLE_AMT, SUM(IGST_AMT) AS IGST_AMT, SUM(CGST_AMT) AS CGST_AMT, SUM(SGST_AMT) AS SGST_AMT, SUM(CESS_AMT) AS CESS_AMT "
+ " ITC_TYPE, SUM(ITC_IGST) AS ITC_IGST, SUM(ITC_CGST) AS ITC_CGST, SUM(ITC_SGST) AS ITC_SGST, SUM(ITC_CESS) AS ITC_CESS "
+ " FROM GST_DATA_DET "
+ " WHERE TRAN_ID = ? "
+ " GROUP BY GST_RATE, ITC_TYPE ";
linePstmt = conn.prepareStatement(lineSql);
linePstmt.setString(1, tranId);
lineRs = linePstmt.executeQuery();
int lineNum = 0;
while(lineRs.next())
{
invLineItem = new InvLineItem();
invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE");
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT");
invLineItem.iamt = lineRs.getDouble("IGST_AMT");
invLineItem.camt = lineRs.getDouble("CGST_AMT");
invLineItem.samt = lineRs.getDouble("SGST_AMT");
invLineItem.csamt = lineRs.getDouble("CESS_AMT");
invLineItem.itcType = lineRs.getString("ITC_TYPE");
invLineItem.igstInputTax = lineRs.getDouble("ITC_IGST");
invLineItem.cgstInputTax = lineRs.getDouble("ITC_CGST");
invLineItem.sgstInputTax = lineRs.getDouble("ITC_SGST");
invLineItem.cessInputTax = lineRs.getDouble("ITC_CESS");
invLineItems.add(invLineItem);
}
if(linePstmt != null)
{
linePstmt.close();
linePstmt = null;
}
if(lineRs != null)
{
lineRs.close();
lineRs = null;
}
imps = new IMPS();
imps.inum = checkNullandTrim(rs.getString("DOC_NO"));
imps.idt = rs.getDate("DOC_DATE");
imps.val = rs.getDouble("AMOUNT");
imps.pos = checkNullandTrim(rs.getString("GST_CODE"));
impg.items = invLineItems;
impsList.add(imps);
}
if("TXI".equalsIgnoreCase(udfStr1))
{
lineSql = " SELECT GST_RATE, SUM(TAXABLE_AMT) AS TAXABLE_AMT, SUM(IGST_AMT) AS IGST_AMT, SUM(CGST_AMT) AS CGST_AMT, SUM(SGST_AMT) AS SGST_AMT, SUM(CESS_AMT) AS CESS_AMT "
+ " ITC_TYPE, SUM(ITC_IGST) AS ITC_IGST, SUM(ITC_CGST) AS ITC_CGST, SUM(ITC_SGST) AS ITC_SGST, SUM(ITC_CESS) AS ITC_CESS "
+ " FROM GST_DATA_DET "
+ " WHERE TRAN_ID = ? "
+ " GROUP BY GST_RATE, ITC_TYPE ";
linePstmt = conn.prepareStatement(lineSql);
linePstmt.setString(1, tranId);
lineRs = linePstmt.executeQuery();
int lineNum = 0;
while(lineRs.next())
{
invLineItem = new InvLineItem();
invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE");
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT");
invLineItem.iamt = lineRs.getDouble("IGST_AMT");
invLineItem.camt = lineRs.getDouble("CGST_AMT");
invLineItem.samt = lineRs.getDouble("SGST_AMT");
invLineItem.csamt = lineRs.getDouble("CESS_AMT");
invLineItems.add(invLineItem);
}
if(linePstmt != null)
{
linePstmt.close();
linePstmt = null;
}
if(lineRs != null)
{
lineRs.close();
lineRs = null;
}
at = new AT();
at.isReverseCharge = false;
at.recType = "2";
at.pos = checkNullandTrim(rs.getString("GST_CODE"));
at.supplyType = udfStr2;
at.itms = invLineItems;
txiList.add(at);
}
if("TXPD".equalsIgnoreCase(udfStr1))
{
lineSql = " SELECT GST_RATE, SUM(TAXABLE_AMT) AS TAXABLE_AMT, SUM(IGST_AMT) AS IGST_AMT, SUM(CGST_AMT) AS CGST_AMT, SUM(SGST_AMT) AS SGST_AMT, SUM(CESS_AMT) AS CESS_AMT "
+ " ITC_TYPE, SUM(ITC_IGST) AS ITC_IGST, SUM(ITC_CGST) AS ITC_CGST, SUM(ITC_SGST) AS ITC_SGST, SUM(ITC_CESS) AS ITC_CESS "
+ " FROM GST_DATA_DET "
+ " WHERE TRAN_ID = ? "
+ " GROUP BY GST_RATE, ITC_TYPE ";
linePstmt = conn.prepareStatement(lineSql);
linePstmt.setString(1, tranId);
lineRs = linePstmt.executeQuery();
int lineNum = 0;
while(lineRs.next())
{
invLineItem = new InvLineItem();
invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE");
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT");
invLineItem.iamt = lineRs.getDouble("IGST_AMT");
invLineItem.camt = lineRs.getDouble("CGST_AMT");
invLineItem.samt = lineRs.getDouble("SGST_AMT");
invLineItem.csamt = lineRs.getDouble("CESS_AMT");
invLineItems.add(invLineItem);
}
if(linePstmt != null)
{
linePstmt.close();
linePstmt = null;
}
if(lineRs != null)
{
lineRs.close();
lineRs = null;
}
at = new AT();
at.isReverseCharge = false;
at.recType = "2";
at.pos = checkNullandTrim(rs.getString("GST_CODE"));
at.supplyType = udfStr2;
at.itms = invLineItems;
txpdList.add(at);
}
if("CDNUR".equalsIgnoreCase(udfStr1))
{
Calendar calendar = Calendar.getInstance();
calendar.set(2017, 06, 01);
Date gstStartDate = calendar.getTime();
lineSql = " SELECT GST_RATE, SUM(TAXABLE_AMT) AS TAXABLE_AMT, SUM(IGST_AMT) AS IGST_AMT, SUM(CGST_AMT) AS CGST_AMT, SUM(SGST_AMT) AS SGST_AMT, SUM(CESS_AMT) AS CESS_AMT "
+ " ITC_TYPE, SUM(ITC_IGST) AS ITC_IGST, SUM(ITC_CGST) AS ITC_CGST, SUM(ITC_SGST) AS ITC_SGST, SUM(ITC_CESS) AS ITC_CESS "
+ " FROM GST_DATA_DET "
+ " WHERE TRAN_ID = ? "
+ " GROUP BY GST_RATE, ITC_TYPE ";
linePstmt = conn.prepareStatement(lineSql);
linePstmt.setString(1, tranId);
lineRs = linePstmt.executeQuery();
int lineNum = 0;
while(lineRs.next())
{
invLineItem = new InvLineItem();
invLineItem.num = ++lineNum;
invLineItem.rate = lineRs.getDouble("GST_RATE");
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT");
invLineItem.iamt = lineRs.getDouble("IGST_AMT");
invLineItem.camt = lineRs.getDouble("CGST_AMT");
invLineItem.samt = lineRs.getDouble("SGST_AMT");
invLineItem.csamt = lineRs.getDouble("CESS_AMT");
invLineItem.itcType = lineRs.getString("ITC_TYPE");
invLineItem.igstInputTax = lineRs.getDouble("ITC_IGST");
invLineItem.cgstInputTax = lineRs.getDouble("ITC_CGST");
invLineItem.sgstInputTax = lineRs.getDouble("ITC_SGST");
invLineItem.cessInputTax = lineRs.getDouble("ITC_CESS");
invLineItems.add(invLineItem);
}
if(linePstmt != null)
{
linePstmt.close();
linePstmt = null;
}
if(lineRs != null)
{
lineRs.close();
lineRs = null;
}
cdnur = new CDNUR();
cdnur.isReverseCharge = false;
cdnur.recType = "2";
cdnur.receiverGSTIN = checkNullandTrim(rs.getString("TAX_REG_NO"));
cdnur.cdnNoteType = udfStr2;
cdnur.cdNoteNumber = checkNullandTrim(rs.getString("DOC_NO"));
cdnur.cdNoteDate = rs.getDate("DOC_DATE");
cdnur.invoiceNumber = checkNullandTrim(rs.getString("REF_ID__INV"));
cdnur.invoiceDate = rs.getDate("REF_DATE__INV");
cdnur.val = rs.getDouble("AMOUNT");
cdnur.reason = checkNullandTrim(rs.getString("REAS_CODE"));
if(rs.getDate("REF_DATE__INV").before(gstStartDate))
{
cdnur.isPreGSTInvoice = true;
}
cdnur.items = invLineItems;
cdnurList.add(cdnur);
}
tranIdList.add(tranId);
}
if(pstmt != null)
{
......@@ -2583,6 +2803,18 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
gstr2.gstin = gstin;
gstr2.financialPeriod = periodCode;
//Summary of Nil rated inward supplies
InterNilSupplies interNilSupplies = getInterNilRateSummary("13", "14", "15", "16", siteCode, periodCode, conn);
IntraNilSupplies intraNilSupplies = getIntraNilRateSummary("17", "18", "19", "20", siteCode, periodCode, conn);
if(interNilSupplies != null || intraNilSupplies != null)
{
nilInwardSupplies = new NilInwardSupplies();
nilInwardSupplies.interNilSupplies = interNilSupplies;
nilInwardSupplies.intraNilSupplies = intraNilSupplies;
}
if(b2bInvoiceList.size() > 0)
{
gstr2.b2b = b2bInvoiceList;
......@@ -2603,6 +2835,26 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
gstr2.impg = impgList;
}
if(impsList.size()>0)
{
gstr2.imps = impsList;
}
if(nilInwardSupplies != null)
{
gstr2.nil = nilInwardSupplies;
}
if(txiList.size()>0)
{
gstr2.txi = txiList;
}
if(txpdList.size()>0)
{
gstr2.txpd = txpdList;
}
if(cdnurList.size()>0)
{
gstr2.cdnur = cdnurList;
}
String gspAuthString = "", gspAuthSignature = "", gspAuthStringRet = "", gspAuthSignatureRet = "";
APICallData apiRetStatsCallData = null;
......@@ -4119,6 +4371,160 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
return invoice;
}
private InterNilSupplies getInterNilRateSummary(String compundingAmtTranType, String exmptAmtTranType, String nonGSTAmtTranType, String nilAmtTranType, String siteCode, String periodCode, Connection conn)
{
InterNilSupplies interNilSupplies = null;
double nilAmount = 0.0, exemtAmount = 0.0, nonGSTAmount = 0.0, compoundingAmount = 0.0;
String sql= "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
sql = " SELECT TRAN_TYPE,SUM(AMOUNT) AS AMOUNT FROM GST_DATA_HDR "
+ " WHERE REC_TYPE = '2' AND TRAN_TYPE in (?,?,?,?) AND SITE_CODE = ? AND PRD_CODE = ?"
+ " GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, nilAmtTranType);
pstmt.setString(2, exmptAmtTranType);
pstmt.setString(3, nonGSTAmtTranType);
pstmt.setString(4, compundingAmtTranType);
pstmt.setString(5, siteCode);
pstmt.setString(6, periodCode);
rs = pstmt.executeQuery();
while(rs.next())
{
if(interNilSupplies == null)
{
interNilSupplies = new InterNilSupplies();
}
if(nilAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{
nilAmount = rs.getDouble("AMOUNT");
}
if(exmptAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{
exemtAmount = rs.getDouble("AMOUNT");
}
if(nonGSTAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{
nonGSTAmount = rs.getDouble("AMOUNT");
}
if(compundingAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{
compoundingAmount = rs.getDouble("AMOUNT");
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
if(interNilSupplies != null)
{
interNilSupplies.compoundSuppliesAmt = compoundingAmount;
interNilSupplies.nilSuppliesAmt = nilAmount;
interNilSupplies.exempetedSuppliesAmt = exemtAmount;
interNilSupplies.nonGSTSuppliesAmt = nonGSTAmount;
}
}
catch(Exception e)
{
System.out.println("GSTDataSubmitWizPos.getInterNilRateSummary()["+e.getMessage()+"]");
e.printStackTrace();
}
return interNilSupplies;
}
private IntraNilSupplies getIntraNilRateSummary(String compundingAmtTranType, String exmptAmtTranType, String nonGSTAmtTranType, String nilAmtTranType, String siteCode, String periodCode, Connection conn)
{
IntraNilSupplies intraNilSupplies = null;
double nilAmount = 0.0, exemtAmount = 0.0, nonGSTAmount = 0.0, compoundingAmount = 0.0;
String sql= "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
sql = " SELECT TRAN_TYPE,SUM(AMOUNT) AS AMOUNT FROM GST_DATA_HDR "
+ " WHERE REC_TYPE = '2' AND TRAN_TYPE in (?,?,?,?) AND SITE_CODE = ? AND PRD_CODE = ?"
+ " GROUP BY TRAN_TYPE";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, nilAmtTranType);
pstmt.setString(2, exmptAmtTranType);
pstmt.setString(3, nonGSTAmtTranType);
pstmt.setString(4, compundingAmtTranType);
pstmt.setString(5, siteCode);
pstmt.setString(6, periodCode);
rs = pstmt.executeQuery();
while(rs.next())
{
if(intraNilSupplies == null)
{
intraNilSupplies = new IntraNilSupplies();
}
if(nilAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{
nilAmount = rs.getDouble("AMOUNT");
}
if(exmptAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{
exemtAmount = rs.getDouble("AMOUNT");
}
if(nonGSTAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{
nonGSTAmount = rs.getDouble("AMOUNT");
}
if(compundingAmtTranType.equalsIgnoreCase(rs.getString("TRAN_TYPE")))
{
compoundingAmount = rs.getDouble("AMOUNT");
}
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
if(intraNilSupplies != null)
{
intraNilSupplies.compoundSuppliesAmt = compoundingAmount;
intraNilSupplies.nilSuppliesAmt = nilAmount;
intraNilSupplies.exempetedSuppliesAmt = exemtAmount;
intraNilSupplies.nonGSTSuppliesAmt = nonGSTAmount;
}
}
catch(Exception e)
{
System.out.println("GSTDataSubmitWizPos.getIntraNilRateSummary()["+e.getMessage()+"]");
e.printStackTrace();
}
return intraNilSupplies;
}
private void insertGSTHdrDetData(List<String> hdrColumnList, List<String> hdrDataTypeList, List<String> hdrDataList, List<String> detColumnList, List<String> detDataTypeList, List<List<String>> detDataList, Connection conn) throws ITMException
{
......
......@@ -32,20 +32,31 @@ public class ATSerializer extends BaseSerializer<AT>
for(InvLineItem li : at.itms)
{
writeLineItem(json, li);
writeLineItem(json, at, li);
}
json.writeEndArray();
}
private void writeLineItem(JsonGenerator json, InvLineItem li)
private void writeLineItem(JsonGenerator json, AT at, InvLineItem li)
{
try
{
json.writeStartObject();
if("2".equalsIgnoreCase(at.recType))
{
json.writeNumberField("num", li.num);
}
json.writeNumberField("rt", li.rate);
json.writeNumberField("ad_amt", li.taxval);
if("1".equalsIgnoreCase(at.recType))
{
json.writeNumberField("ad_amt", li.taxval);
}
if("2".equalsIgnoreCase(at.recType))
{
json.writeNumberField("adamt", li.taxval);
}
if(li.iamt > 0)
{
......
......@@ -20,7 +20,14 @@ public class CDNURSerializer extends JsonSerializer<CDNUR>
{
json.writeStartObject();
json.writeStringField("typ", cdnur.customerType);
if("1".equalsIgnoreCase(cdnur.recType))
{
json.writeStringField("typ", cdnur.customerType);
}
else if("2".equalsIgnoreCase(cdnur.recType))
{
json.writeStringField("rtin", cdnur.receiverGSTIN);
}
json.writeStringField("ntty", cdnur.cdnNoteType);
json.writeStringField("nt_num", cdnur.cdNoteNumber);
json.writeStringField("nt_dt", gstFmt.format(cdnur.cdNoteDate));
......@@ -88,6 +95,20 @@ public class CDNURSerializer extends JsonSerializer<CDNUR>
}
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_c", li.cgstInputTax);
json.writeNumberField("tx_s", li.sgstInputTax);
json.writeNumberField("tx_cs", li.cessInputTax);
json.writeEndObject();
}
json.writeEndObject();
}
catch (Exception e)
......
......@@ -35,6 +35,30 @@ public class GSTR2Serailizer extends JsonSerializer<GSTR2> {
{
jsonGenerator.writeObjectField("imp_g", gstr2.impg);
}
if(gstr2.imps != null)
{
jsonGenerator.writeObjectField("imp_s", gstr2.imps);
}
if(gstr2.nil != null)
{
jsonGenerator.writeObjectField("nil_supplies", gstr2.nil);
}
if(gstr2.txi != null)
{
jsonGenerator.writeObjectField("txi", gstr2.txi);
}
if(gstr2.txpd != null)
{
jsonGenerator.writeObjectField("txpd", gstr2.txpd);
}
if(gstr2.itcReversal != null)
{
jsonGenerator.writeObjectField("itc_rvsl", gstr2.itcReversal);
}
if(gstr2.cdnur != null)
{
jsonGenerator.writeObjectField("cdnur", gstr2.cdnur);
}
jsonGenerator.writeEndObject();
}
}
package ibase.webitm.util.gst;
import java.io.IOException;
import java.text.SimpleDateFormat;
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.IMPS;
import ibase.webitm.bean.gst.InvLineItem;
public class IMPSSerializer extends JsonSerializer<IMPS>
{
final SimpleDateFormat gstFmt = new SimpleDateFormat("dd-MM-yyyy");
@Override
public void serialize(IMPS imps, JsonGenerator json, SerializerProvider serializerProvider) throws IOException, JsonProcessingException
{
json.writeStartObject();
json.writeStringField("inum", imps.inum);
json.writeStringField("idt", gstFmt.format(imps.idt));
json.writeNumberField("ival", imps.val);
json.writeStringField("pos", imps.pos);
json.writeFieldName("itms");
json.writeStartArray();
for(InvLineItem li : imps.items)
{
json.writeStartObject();
json.writeNumberField("num", li.num);
json.writeNumberField("txval", li.taxval);
json.writeNumberField("rt", li.rate);
if(li.iamt > 0.0)
{
json.writeNumberField("iamt", li.iamt);
}
if(li.camt > 0.0)
{
json.writeNumberField("camt", li.camt);
}
if(li.samt > 0.0)
{
json.writeNumberField("samt", li.samt);
}
if(li.csamt > 0.0)
{
json.writeNumberField("csamt", li.csamt);
}
json.writeStringField("elg", li.itcType);
json.writeNumberField("tx_i", li.igstInputTax);
if(li.cgstInputTax > 0.0)
{
json.writeNumberField("tx_c", li.cgstInputTax);
}
if(li.sgstInputTax > 0.0)
{
json.writeNumberField("tx_s", li.sgstInputTax);
}
json.writeNumberField("tx_cs", li.cessInputTax);
json.writeEndObject();
}
json.writeEndArray();
json.writeEndObject();
}
}
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.NilInwardSupplies;
public class NilInwardSerializer extends JsonSerializer<NilInwardSupplies>
{
@Override
public void serialize(NilInwardSupplies nilInwardSupplies, JsonGenerator json, SerializerProvider serializerProvider)throws IOException, JsonProcessingException
{
json.writeStartObject();
if(nilInwardSupplies.interNilSupplies != null)
{
json.writeFieldName("inter");
json.writeStartObject();
json.writeNumberField("cpddr", nilInwardSupplies.interNilSupplies.compoundSuppliesAmt);
json.writeNumberField("exptdsply", nilInwardSupplies.interNilSupplies.exempetedSuppliesAmt);
json.writeNumberField("ngsply", nilInwardSupplies.interNilSupplies.nonGSTSuppliesAmt);
json.writeNumberField("nilsply", nilInwardSupplies.interNilSupplies.nilSuppliesAmt);
json.writeEndObject();
}
if(nilInwardSupplies.intraNilSupplies != null)
{
json.writeFieldName("intra");
json.writeStartObject();
json.writeNumberField("cpddr", nilInwardSupplies.intraNilSupplies.compoundSuppliesAmt);
json.writeNumberField("exptdsply", nilInwardSupplies.intraNilSupplies.exempetedSuppliesAmt);
json.writeNumberField("ngsply", nilInwardSupplies.intraNilSupplies.nonGSTSuppliesAmt);
json.writeNumberField("nilsply", nilInwardSupplies.intraNilSupplies.nilSuppliesAmt);
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