Commit 166b8d28 authored by steurwadkar's avatar steurwadkar

F17ABAS001 source code commit


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@106003 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 8903a3c0
package ibase.webitm.bean.gst;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
......@@ -10,15 +9,9 @@ import ibase.webitm.util.gst.ATSearializer;
@JsonSerialize(using = ATSearializer.class)
public class AT extends BaseData
{
public String typ;
public String pos;
public String cpty;
public String stateCode;
public String docNum;
public Date docDt;
public String supplyType;
public List<InvLineItem> itms;
}
package ibase.webitm.bean.gst;
import java.util.Date;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ibase.webitm.util.gst.B2CSSerializer;
......@@ -9,37 +7,26 @@ import ibase.webitm.util.gst.B2CSSerializer;
@JsonSerialize(using = B2CSSerializer.class)
public class B2CS extends BaseData
{
public String stateCode;
public String ty;
public String taxPayerAction;
public String itemOrServiceCode;
public String supplyType;
public double txval;
public double irt;
public String typ;
public double iamt;
public String etin;
public double crt;
public String pos;
public double camt;
public double rate;
public double srt;
public double iamt;
public double samt;
public double camt;
public double csrt;
public double samt;
public double csamt;
public boolean prs;
public String od_num;
public Date od_dt;
public String etin;
public String typ;
}
package ibase.webitm.bean.gst;
import java.util.Date;
import java.util.List;
public class CDNDetails
{
......@@ -10,36 +11,11 @@ public class CDNDetails
public Date cdNoteDate;
public String orgCDNoteNumber;
public Date orgCDNoteDate;
public String reason;
public String invoiceNumber;
public Date invoiceDate;
public boolean rchrg;
public double val;
public double irt;
public double iamt;
public double crt;
public double camt;
public double srt;
public double samt;
public double csrt;
public double csamt;
public String etin;
public List<InvLineItem> items;
}
......@@ -11,5 +11,7 @@ public class CDNR extends BaseData
{
public String ctin;
public boolean customerFilingStatus;
public List<CDNDetails> cdnDetails;
}
......@@ -56,4 +56,7 @@ public class GSTR1 {
@JsonProperty("expa")
public List<EXPA> expa;
@JsonProperty("txpd")
public List<AT> txpd;
}
......@@ -24,8 +24,6 @@ public class Invoice
public String invoiceType;
public String shippingPortCode;
public String shippingBillNum;
public Date shippingBillDt;
......
......@@ -38,7 +38,6 @@ import ibase.utility.E12GenericUtility;
import ibase.webitm.bean.gst.AT;
import ibase.webitm.bean.gst.ATA;
import ibase.webitm.bean.gst.B2B;
import ibase.webitm.bean.gst.B2BA;
import ibase.webitm.bean.gst.B2CL;
import ibase.webitm.bean.gst.B2CLA;
import ibase.webitm.bean.gst.B2CS;
......@@ -47,7 +46,6 @@ import ibase.webitm.bean.gst.CDNDetails;
import ibase.webitm.bean.gst.CDNR;
import ibase.webitm.bean.gst.CDNRA;
import ibase.webitm.bean.gst.EXP;
import ibase.webitm.bean.gst.EXPA;
import ibase.webitm.bean.gst.GSTR1;
import ibase.webitm.bean.gst.InvLineItem;
import ibase.webitm.bean.gst.Invoice;
......@@ -63,8 +61,11 @@ import ibase.webitm.utility.TransIDGenerator;
public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWizPosLocal, GSTDataSubmitWizPosRemote
{
private String GST_API_URL = "";
private String GSTR1_URL = "";
private String GSTR2_URL = "";
private String AUTH_TOKEN_URL_V2 = "";
private String GSTR1_URL_V2 = "";
private String GSTR2_URL_V2 = "";
private String GSTR1_URL_V3 = "";
private String GSTR2_URL_V3 = "";
private final String APPLICATION_JSON = "application/json";
private String appKey = "";
InetAddress ipAddress = null;
......@@ -96,46 +97,44 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
ipAddress = Inet4Address.getLocalHost();
System.out.println("host ipAddress["+ipAddress.getHostAddress()+"]");
sql = "SELECT SERVICE_URI FROM SYSTEM_EVENT_SERVICES WHERE SERVICE_CODE = 'gst_base_url' ";
sql = "SELECT SERVICE_CODE, SERVICE_URI FROM SYSTEM_EVENT_SERVICES WHERE METHOD_NAME = 'GST_API_URL'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
while(rs.next())
{
switch(rs.getString("SERVICE_CODE"))
{
case "gst_base_url" :
{
GST_API_URL = checkNullandTrim(rs.getString("SERVICE_URI"));
}
if(pstmt!=null)
break;
case "gstr_auth_url_v2" :
{
pstmt.close();
pstmt = null;
AUTH_TOKEN_URL_V2 = checkNullandTrim(rs.getString("SERVICE_URI"));
}
if(rs!=null)
break;
case "gstr1_url_v2" :
{
rs.close();
rs = null;
GSTR1_URL_V2 = checkNullandTrim(rs.getString("SERVICE_URI"));
}
sql = "SELECT SERVICE_URI FROM SYSTEM_EVENT_SERVICES WHERE SERVICE_CODE = 'gstr1_url' ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
break;
case "gstr2_url_v2" :
{
GSTR1_URL = checkNullandTrim(rs.getString("SERVICE_URI"));
GSTR2_URL_V2 = checkNullandTrim(rs.getString("SERVICE_URI"));
}
if(pstmt!=null)
break;
case "gstr1_url_v3" :
{
pstmt.close();
pstmt = null;
GSTR1_URL_V3 = checkNullandTrim(rs.getString("SERVICE_URI"));
}
if(rs!=null)
break;
case "gstr2_url_v3" :
{
rs.close();
rs = null;
GSTR2_URL_V3 = checkNullandTrim(rs.getString("SERVICE_URI"));
}
break;
}
sql = "SELECT SERVICE_URI FROM SYSTEM_EVENT_SERVICES WHERE SERVICE_CODE = 'gstr2_url' ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
GSTR2_URL = checkNullandTrim(rs.getString("SERVICE_URI"));
}
if(pstmt!=null)
{
......@@ -147,6 +146,13 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
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+"]");
}
catch (Exception e)
{
......@@ -184,7 +190,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
String userName = "", authToken = "";
String transactionId = UUID.randomUUID().toString().replaceAll("-", "");
String AUTH_TOKEN_URL = "/taxpayerapi/v0.2/authenticate";
System.out.println("xmlStringAll["+xmlStringAll+"]");
System.out.println("dcrId["+dcrId+"]");
......@@ -258,7 +263,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
authTokenReq.put("app_key", appKeyEncryptedAndCoded);
authTokenReq.put("otp", encryptedOTP);
HttpResponse<JsonNode> authTokenResp = Unirest.post(String.format("%s%s", GST_API_URL, AUTH_TOKEN_URL))
HttpResponse<JsonNode> authTokenResp = Unirest.post(String.format("%s%s", GST_API_URL, AUTH_TOKEN_URL_V2))
.header("Content-Type",APPLICATION_JSON)
.header("clientid", clientId)
.header("client-secret", clientSecret)
......@@ -330,12 +335,13 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
System.out.println("GSTDataSubmitWizPos.postSave()["+e.getMessage()+"]");
e.printStackTrace();
throw new ITMException(e);
}
return retString;
}
private String saveGstr1(String authToken, String siteCode, String stateCode, String userName, String gstin, String periodCode, String grossTurnover, byte[] authSek, Connection conn)
private String saveGstr1(String authToken, String siteCode, String stateCode, String userName, String gstin, String periodCode, String grossTurnover, byte[] authSek, Connection conn) throws ITMException
{
String retString = "", errMsg = "";
String gstr1Data = "", gstr1Rek = "";
......@@ -353,7 +359,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
Map<String, ArrayList<Invoice>> invoicesHMap = new HashMap<String, ArrayList<Invoice>>();
Map<String, Object> invTypObjHMap = new HashMap<String, Object>();
ArrayList<B2B> b2bInvoiceList = new ArrayList<B2B>();
ArrayList<B2BA> b2baInvoiceList = new ArrayList<B2BA>();
ArrayList<B2CL> b2clInvoiceList = new ArrayList<B2CL>();
ArrayList<B2CLA> b2claInvoiceList = new ArrayList<B2CLA>();
ArrayList<B2CS> b2csInvoiceList = new ArrayList<B2CS>();
......@@ -363,7 +368,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
ArrayList<AT> atList = new ArrayList<AT>();
ArrayList<ATA> ataList = new ArrayList<ATA>();
ArrayList<EXP> expInvoiceList = new ArrayList<EXP>();
ArrayList<EXPA> expaInvoiceList = new ArrayList<EXPA>();
ArrayList<AT> atPaidList = new ArrayList<AT>();
ArrayList<InvLineItem> invLineItems = null;
ArrayList<Invoice> invoices = null;
......@@ -373,18 +378,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
Invoice invoice = null;
InvLineItem invLineItem = null;
B2B b2b = null;
B2BA b2ba = null;
B2CL b2cl = null;
B2CLA b2cla = null;
B2CS b2cs = null;
B2CSA b2csa = null;
CDNR cdnr = null;
CDNRA cdnra = null;
CDNDetails cdnDetails = null;
AT at = null;
ATA ata = null;
EXP exp = null;
EXPA expa = null;
try
{
......@@ -446,34 +445,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
//tran_type : 01 = B2B invoices, 02 B2BA invoices
if("01".equalsIgnoreCase(tranType) || "02".equalsIgnoreCase(tranType))
{
if("02".equalsIgnoreCase(tranType))
{
if(tranIdRef.length() > 0)
{
lineSql = "SELECT DOC_NO, DOC_DATE FROM GST_DATA_HDR WHERE TRAN_ID = ?";
linePstmt = conn.prepareStatement(lineSql);
linePstmt.setString(1, tranIdRef);
lineRs = linePstmt.executeQuery();
if(lineRs.next())
{
invoice.oinum = checkNullandTrim(lineRs.getString("DOC_NO")) ;
invoice.oidt = lineRs.getDate("DOC_DATE");
}
if(linePstmt != null)
{
linePstmt.close();
linePstmt = null;
}
if(lineRs != null)
{
lineRs.close();
lineRs = null;
}
}
}
lineSql = "SELECT * FROM GST_DATA_DET WHERE TRAN_ID = ? ORDER BY LINE_NO ";
linePstmt = conn.prepareStatement(lineSql);
linePstmt.setString(1, tranId);
......@@ -483,16 +454,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
invLineItem = new InvLineItem();
invLineItem.num = lineRs.getInt("LINE_NO");
invLineItem.ty = lineRs.getString("LINE_TYPE");
invLineItem.hsn_sc = lineRs.getString("GS_CODE");
invLineItem.rate = lineRs.getDouble("IGST_PERC")+lineRs.getDouble("CGST_PERC")+lineRs.getDouble("SGST_PERC")+lineRs.getDouble("CESS_PERC");
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT");
invLineItem.irt = lineRs.getDouble("IGST_PERC");
invLineItem.iamt = lineRs.getDouble("IGST_AMT");
invLineItem.crt = lineRs.getDouble("CGST_PERC");
invLineItem.camt = lineRs.getDouble("CGST_AMT");
invLineItem.srt = lineRs.getDouble("SGST_PERC");
invLineItem.samt = lineRs.getDouble("SGST_AMT");
invLineItem.csrt = lineRs.getDouble("CESS_PERC");
invLineItem.csamt = lineRs.getDouble("CESS_AMT");
invLineItems.add(invLineItem);
......@@ -512,10 +478,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
invoice.idt = rs.getDate("DOC_DATE");
invoice.val = rs.getDouble("AMOUNT");
invoice.pos = posStateCode;
invoice.invoiceType = checkNullandTrim(rs.getString("DOC_TYPE"));
invoice.rchrg = "Y".equalsIgnoreCase(rs.getString("REVERSE_CHRG"));
invoice.prs = "Y".equalsIgnoreCase(rs.getString("PROV_ASSMNT"));
invoice.od_num = rs.getString("ORDER_NO");
invoice.od_dt = rs.getDate("ORDER_DATE");
invoice.etin = rs.getString("ECOM_REG_NO");
invoice.items = invLineItems;
......@@ -542,25 +506,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
invTypObjHMap.put(ctin+"~"+tranType, b2b);
b2bInvoiceList.add(b2b);
}
else if("02".equalsIgnoreCase(tranType))
{
b2ba = new B2BA();
if(invTypObjHMap.containsKey(ctin+"~"+tranType))
{
b2ba = (B2BA)invTypObjHMap.get(ctin+"~"+tranType);
if(b2baInvoiceList.contains(b2ba))
{
int index = b2baInvoiceList.indexOf(b2ba);
b2baInvoiceList.remove(index);
}
}
b2ba.ctin = ctin;
b2ba.isReverseCharge = true;
b2ba.invoices = invoices;
invTypObjHMap.put(ctin+"~"+tranType, b2ba);
b2baInvoiceList.add(b2ba);
}
}
//tran_type : 03 = B2CL invoices, 04 B2CLA invoices
if("03".equalsIgnoreCase(tranType) || "04".equalsIgnoreCase(tranType))
......@@ -569,36 +514,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
invoice = new Invoice();
invLineItems = new ArrayList<InvLineItem>();
if("04".equalsIgnoreCase(tranType))
{
tranIdRef = checkNullandTrim(rs.getString("TRAN_ID__REF"));
if(tranIdRef.length() > 0)
{
lineSql = "SELECT DOC_NO, DOC_DATE FROM GST_DATA_HDR WHERE TRAN_ID = ?";
linePstmt = conn.prepareStatement(lineSql);
linePstmt.setString(1, tranIdRef);
lineRs = linePstmt.executeQuery();
if(lineRs.next())
{
invoice.oinum = checkNullandTrim(lineRs.getString("DOC_NO")) ;
invoice.oidt = lineRs.getDate("DOC_DATE");
}
if(linePstmt != null)
{
linePstmt.close();
linePstmt = null;
}
if(lineRs != null)
{
lineRs.close();
lineRs = null;
}
}
}
lineSql = "SELECT * FROM GST_DATA_DET WHERE TRAN_ID = ? ORDER BY LINE_NO ";
linePstmt = conn.prepareStatement(lineSql);
linePstmt.setString(1, tranId);
......@@ -608,16 +523,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
invLineItem = new InvLineItem();
invLineItem.num = lineRs.getInt("LINE_NO");
invLineItem.ty = lineRs.getString("LINE_TYPE");
invLineItem.hsn_sc = lineRs.getString("GS_CODE");
invLineItem.rate = lineRs.getDouble("IGST_PERC")+lineRs.getDouble("CGST_PERC")+lineRs.getDouble("SGST_PERC")+lineRs.getDouble("CESS_PERC");
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT");
invLineItem.irt = lineRs.getDouble("IGST_PERC");
invLineItem.iamt = lineRs.getDouble("IGST_AMT");
invLineItem.crt = lineRs.getDouble("CGST_PERC");
invLineItem.camt = lineRs.getDouble("CGST_AMT");
invLineItem.srt = lineRs.getDouble("SGST_PERC");
invLineItem.samt = lineRs.getDouble("SGST_AMT");
invLineItem.csrt = lineRs.getDouble("CESS_PERC");
invLineItem.csamt = lineRs.getDouble("CESS_AMT");
invLineItems.add(invLineItem);
......@@ -633,14 +543,9 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
lineRs = null;
}
invoice.cname = checkNullandTrim(rs.getString("CUST_NAME"));
invoice.inum = checkNullandTrim(rs.getString("DOC_NO"));
invoice.idt = rs.getDate("DOC_DATE");
invoice.val = rs.getDouble("AMOUNT");
invoice.pos = posStateCode;
invoice.prs = "Y".equalsIgnoreCase(rs.getString("PROV_ASSMNT"));
invoice.od_num = checkNullandTrim(rs.getString("ORDER_NO"));
invoice.od_dt = rs.getDate("ORDER_DATE");
invoice.etin = rs.getString("ECOM_REG_NO");
invoice.items = invLineItems;
......@@ -649,21 +554,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
if("03".equalsIgnoreCase(tranType))
{
b2cl = new B2CL();
b2cl.stateCode = stateCode;
b2cl.isReverseCharge = false;
b2cl.stateCode = posStateCode;
b2cl.invoices = invoices;
b2clInvoiceList.add(b2cl);
}
else if("04".equalsIgnoreCase(tranType))
{
b2cla = new B2CLA();
b2cla.stateCode = stateCode;
b2cla.isReverseCharge = false;
b2cla.invoices = invoices;
b2claInvoiceList.add(b2cla);
}
}
//tran_type : 05 = B2CS invoices, 06 B2CSA invoices
if("05".equalsIgnoreCase(tranType) || "06".equalsIgnoreCase(tranType))
......@@ -700,105 +596,19 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
refDataRs = null;
}
b2cs.stateCode = posStateCode;
b2cs.ty = checkNullandTrim(lineRs.getString("LINE_TYPE"));
b2cs.itemOrServiceCode = lineRs.getString("GS_CODE");
b2cs.supplyType = checkNullandTrim(rs.getString("DOC_TYPE"));
b2cs.txval = lineRs.getDouble("TAXABLE_AMT");
b2cs.irt = lineRs.getDouble("IGST_PERC");
b2cs.typ = supplyType;
b2cs.etin = rs.getString("ECOM_REG_NO");
b2cs.pos = posStateCode;
b2cs.rate = lineRs.getDouble("IGST_PERC")+lineRs.getDouble("CGST_PERC")+lineRs.getDouble("SGST_PERC")+lineRs.getDouble("CESS_PERC");
b2cs.iamt = lineRs.getDouble("IGST_AMT");
b2cs.crt = lineRs.getDouble("CGST_PERC");
b2cs.camt = lineRs.getDouble("CGST_AMT");
b2cs.srt = lineRs.getDouble("SGST_PERC");
b2cs.samt = lineRs.getDouble("SGST_AMT");
b2cs.csrt = lineRs.getDouble("CESS_PERC");
b2cs.csamt = lineRs.getDouble("CESS_AMT");
b2cs.prs = "Y".equalsIgnoreCase(checkNullandTrim(rs.getString("PROV_ASSMNT")));
b2cs.od_num = rs.getString("ORDER_NO");
b2cs.od_dt = rs.getDate("ORDER_DATE");
b2cs.etin = rs.getString("ECOM_REG_NO");
b2cs.typ = supplyType;
b2csInvoiceList.add(b2cs);
}
if("06".equalsIgnoreCase(tranType))
{
String orgPeriodCode = "", orgType = "", orgItemOrServiceCode="", orgStateCode = "";
b2csa = new B2CSA();
if(tranIdRef.length() > 0)
{
refDataSql = " SELECT GDH.PRD_CODE,S.GST_CODE,GDD.LINE_TYPE,GDD.GS_CODE "
+ " FROM GST_DATA_HDR GDH, GST_DATA_DET GDD, STATE S "
+ " WHERE GDH.TRAN_ID = GDD.TRAN_ID AND GDH.STATE_CODE = S.STATE_CODE "
+ " AND GDH.TRAN_ID = ? AND GDD.LINE_NO = ?";
refDataPstmt = conn.prepareStatement(refDataSql);
refDataPstmt.setString(1, tranIdRef);
refDataPstmt.setString(2, lineRs.getString("SR_NO__OLD"));
refDataRs = refDataPstmt.executeQuery();
if(refDataRs.next())
{
orgPeriodCode = checkNullandTrim(refDataRs.getString("PRD_CODE"));
orgType = checkNullandTrim(refDataRs.getString("LINE_TYPE"));
orgItemOrServiceCode = checkNullandTrim(refDataRs.getString("GS_CODE"));
orgStateCode = checkNullandTrim(refDataRs.getString("GST_CODE"));
}
if(refDataPstmt != null)
{
refDataPstmt.close();
refDataPstmt = null;
}
if(refDataRs != null)
{
refDataRs.close();
refDataRs = null;
}
}
refDataSql = "SELECT DESCR FROM GENCODES WHERE MOD_NAME = 'W_GSTR' AND FLD_NAME = 'SUPPLY_TYPE' AND FLD_VALUE = ?";
refDataPstmt = conn.prepareStatement(refDataSql);
refDataPstmt.setString(1, checkNullandTrim(lineRs.getString("SUPPLY_TYPE")));
refDataRs = refDataPstmt.executeQuery();
if(refDataRs.next())
{
supplyType = checkNullandTrim(refDataRs.getString("DESCR"));
}
if(refDataPstmt != null)
{
refDataPstmt.close();
refDataPstmt = null;
}
if(refDataRs != null)
{
refDataRs.close();
refDataRs = null;
}
b2csa.orgPeriodCode = orgPeriodCode;
b2csa.orgType = orgType;
b2csa.orgItemOrServiceCode = orgItemOrServiceCode;
b2csa.orgStateCode = orgStateCode;
b2csa.stateCode = posStateCode;
b2csa.ty = checkNullandTrim(lineRs.getString("LINE_TYPE"));
b2csa.itemOrServiceCode = lineRs.getString("GS_CODE");
b2csa.txval = lineRs.getDouble("TAXABLE_AMT");
b2csa.irt = lineRs.getDouble("IGST_PERC");
b2csa.iamt = lineRs.getDouble("IGST_AMT");
b2csa.crt = lineRs.getDouble("CGST_PERC");
b2csa.camt = lineRs.getDouble("CGST_AMT");
b2csa.srt = lineRs.getDouble("SGST_PERC");
b2csa.samt = lineRs.getDouble("SGST_AMT");
b2csa.csrt = lineRs.getDouble("CESS_PERC");
b2csa.csamt = lineRs.getDouble("CESS_AMT");
b2csa.prs = "Y".equalsIgnoreCase(checkNullandTrim(rs.getString("PROV_ASSMNT")));
b2csa.od_num = rs.getString("ORDER_NO");
b2csa.od_dt = rs.getDate("ORDER_DATE");
b2csa.etin = rs.getString("ECOM_REG_NO");
b2csa.typ = supplyType;
b2csaInvoiceList.add(b2csa);
}
}
if(linePstmt != null)
{
......@@ -814,35 +624,8 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
//tran_type : 07 = CDNR, 08 CDNRA
if("07".equalsIgnoreCase(tranType) || "08".equalsIgnoreCase(tranType))
{
String reason = "";
refDataSql = "SELECT DESCR FROM GENCODES WHERE MOD_NAME = 'W_GSTR' AND FLD_NAME = 'REAS_CODE' AND FLD_VALUE = ?";
refDataPstmt = conn.prepareStatement(refDataSql);
refDataPstmt.setString(1, checkNullandTrim(rs.getString("REAS_CODE")));
refDataRs = refDataPstmt.executeQuery();
if(refDataRs.next())
{
reason = checkNullandTrim(refDataRs.getString("DESCR"));
}
if(refDataPstmt != null)
{
refDataPstmt.close();
refDataPstmt = null;
}
if(refDataRs != null)
{
refDataRs.close();
refDataRs = null;
}
if("07".equalsIgnoreCase(tranType))
{
cdnr = new CDNR();
cdnr.isReverseCharge = true;
cdnr.ctin = ctin;
lineSql = "SELECT * FROM GST_DATA_DET WHERE TRAN_ID = ? ORDER BY LINE_NO";
linePstmt = conn.prepareStatement(lineSql);
linePstmt.setString(1, tranId);
......@@ -850,27 +633,16 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
while(lineRs.next())
{
cdnDetails = new CDNDetails();
cdnDetails.cdnNoteType = checkNullandTrim(rs.getString("DOC_TYPE"));
cdnDetails.cdNoteNumber = checkNullandTrim(rs.getString("DOC_NO"));
cdnDetails.cdNoteDate = rs.getDate("DOC_DATE");
cdnDetails.reason = reason;
cdnDetails.invoiceNumber = checkNullandTrim(rs.getString("REF_ID__INV"));
cdnDetails.invoiceDate = rs.getDate("REF_DATE__INV");
cdnDetails.rchrg = "Y".equalsIgnoreCase(rs.getString("REVERSE_CHRG"));
cdnDetails.val = lineRs.getDouble("TAXABLE_AMT");
cdnDetails.irt = lineRs.getDouble("IGST_PERC");
cdnDetails.iamt = lineRs.getDouble("IGST_AMT");
cdnDetails.crt = lineRs.getDouble("CGST_PERC");
cdnDetails.camt = lineRs.getDouble("CGST_AMT");
cdnDetails.srt = lineRs.getDouble("SGST_PERC");
cdnDetails.samt = lineRs.getDouble("SGST_AMT");
cdnDetails.csrt = lineRs.getDouble("CESS_PERC");
cdnDetails.csamt = lineRs.getDouble("CESS_AMT");
cdnDetails.etin = rs.getString("ECOM_REG_NO");
invLineItem = new InvLineItem();
invLineItem.num = lineRs.getInt("LINE_NO");
invLineItem.rate = lineRs.getDouble("IGST_PERC")+lineRs.getDouble("CGST_PERC")+lineRs.getDouble("SGST_PERC")+lineRs.getDouble("CESS_PERC");
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");
cdnDetailsList.add(cdnDetails);
invLineItems.add(invLineItem);
}
if(linePstmt != null)
{
......@@ -883,98 +655,34 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
lineRs = null;
}
cdnr.cdnDetails = cdnDetailsList;
cdnrList.add(cdnr);
}
if("08".equalsIgnoreCase(tranType))
{
String orgInvoiceNumber = "";
Date orgInvoiceDate = null;
if(tranIdRef.length() > 0)
{
refDataSql = "SELECT DOC_NO, DOC_DATE FROM GST_DATA_HDR WHERE TRAN_ID = ?";
refDataPstmt = conn.prepareStatement(refDataSql);
refDataPstmt.setString(1, tranIdRef);
refDataRs = refDataPstmt.executeQuery();
if(refDataRs.next())
{
orgInvoiceNumber = checkNullandTrim(refDataRs.getString("DOC_NO")) ;
orgInvoiceDate = refDataRs.getDate("DOC_DATE");
}
if(refDataPstmt != null)
{
refDataPstmt.close();
refDataPstmt = null;
}
if(refDataRs != null)
{
refDataRs.close();
refDataRs = null;
}
}
cdnra = new CDNRA();
cdnra.isReverseCharge = true;
cdnra.ctin = ctin;
lineSql = "SELECT * FROM GST_DATA_DET WHERE TRAN_ID = ? ORDER BY LINE_NO";
linePstmt = conn.prepareStatement(lineSql);
linePstmt.setString(1, tranId);
lineRs = linePstmt.executeQuery();
while(lineRs.next())
{
cdnDetails = new CDNDetails();
cdnDetails.cdnNoteType = checkNullandTrim(rs.getString("DOC_TYPE"));
cdnDetails.cdNoteNumber = checkNullandTrim(rs.getString("DOC_NO"));
cdnDetails.cdNoteDate = rs.getDate("DOC_DATE");
cdnDetails.orgCDNoteNumber = orgInvoiceNumber;
cdnDetails.orgCDNoteDate = orgInvoiceDate;
cdnDetails.reason = reason;
cdnDetails.invoiceNumber = checkNullandTrim(rs.getString("REF_ID__INV"));
cdnDetails.invoiceDate = rs.getDate("REF_DATE__INV");
cdnDetails.rchrg = "Y".equalsIgnoreCase(rs.getString("REVERSE_CHRG"));
cdnDetails.val = lineRs.getDouble("TAXABLE_AMT");
cdnDetails.irt = lineRs.getDouble("IGST_PERC");
cdnDetails.iamt = lineRs.getDouble("IGST_AMT");
cdnDetails.crt = lineRs.getDouble("CGST_PERC");
cdnDetails.camt = lineRs.getDouble("CGST_AMT");
cdnDetails.srt = lineRs.getDouble("SGST_PERC");
cdnDetails.samt = lineRs.getDouble("SGST_AMT");
cdnDetails.csrt = lineRs.getDouble("CESS_PERC");
cdnDetails.csamt = lineRs.getDouble("CESS_AMT");
cdnDetails.etin = rs.getString("ECOM_REG_NO");
cdnDetails.val = rs.getDouble("AMOUNT");
cdnDetails.items = invLineItems;
cdnDetailsList.add(cdnDetails);
}
if(linePstmt != null)
{
linePstmt.close();
linePstmt = null;
}
if(lineRs != null)
{
lineRs.close();
lineRs = null;
}
cdnra.cdnDetails = cdnDetailsList;
cdnr = new CDNR();
cdnr.isReverseCharge = false;
cdnr.ctin = ctin;
cdnr.customerFilingStatus = false;//TODO Need to change cfs value
cdnr.cdnDetails = cdnDetailsList;
cdnraList.add(cdnra);
cdnrList.add(cdnr);
}
}
//tran_type : 09 = Nil Supplies
if("09".equalsIgnoreCase(tranType))
/*if("09".equalsIgnoreCase(tranType))
{
}
}*/
//tran_type : 10 = Exports and tran_type : 11 = Exports amendments
if("10".equalsIgnoreCase(tranType) || "11".equalsIgnoreCase(tranType))
{
......@@ -993,16 +701,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
while(lineRs.next())
{
invLineItem = new InvLineItem();
invLineItem.ty = lineRs.getString("LINE_TYPE");
invLineItem.hsn_sc = lineRs.getString("GS_CODE");
invLineItem.taxval = lineRs.getDouble("TAXABLE_AMT");
invLineItem.irt = lineRs.getDouble("IGST_PERC");
invLineItem.rate = lineRs.getDouble("IGST_PERC")+lineRs.getDouble("CGST_PERC")+lineRs.getDouble("SGST_PERC")+lineRs.getDouble("CESS_PERC");
invLineItem.iamt = lineRs.getDouble("IGST_AMT");
invLineItem.crt = lineRs.getDouble("CGST_PERC");
invLineItem.camt = lineRs.getDouble("CGST_AMT");
invLineItem.srt = lineRs.getDouble("SGST_PERC");
invLineItem.samt = lineRs.getDouble("SGST_AMT");
invLineItem.csrt = lineRs.getDouble("CESS_PERC");
invLineItem.csamt = lineRs.getDouble("CESS_AMT");
invLineItems.add(invLineItem);
......@@ -1021,19 +724,14 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
invoice.inum = rs.getString("DOC_NO");
invoice.idt = rs.getDate("DOC_DATE");
invoice.val = rs.getDouble("AMOUNT");
invoice.shippingPortCode = "SP001";//TODO Need to change
invoice.shippingBillNum = checkNullandTrim(rs.getString("LR_NO"));
invoice.shippingBillDt = rs.getDate("LR_DATE");
invoice.prs = "Y".equalsIgnoreCase(rs.getString("PROV_ASSMNT"));
invoice.od_num = rs.getString("ORDER_NO");
invoice.od_dt = rs.getDate("ORDER_DATE");
invoice.items = invLineItems;
invoices.add(invoice);
exp = new EXP();
exp.isReverseCharge = false;
exp.exportType = checkNullandTrim(rs.getString("DOC_TYPE"));
exp.invoices = invoices;
......@@ -1047,15 +745,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
if("12".equalsIgnoreCase(tranType))
{
at = new AT();
at.isReverseCharge = false;
at.typ = checkNullandTrim(rs.getString("DOC_TYPE"));
at.cpty = ctin;
at.stateCode = posStateCode;
at.docNum = checkNullandTrim(rs.getString("DOC_NO"));
at.docDt = rs.getDate("DOC_DATE");
lineSql = "SELECT * FROM GST_DATA_DET WHERE TRAN_ID = ? ORDER BY LINE_NO";
linePstmt = conn.prepareStatement(lineSql);
linePstmt.setString(1, tranId);
......@@ -1065,16 +754,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
invLineItem = new InvLineItem();
invLineItem.ty = lineRs.getString("LINE_TYPE");
invLineItem.hsn_sc = lineRs.getString("GS_CODE");
invLineItem.taxval = rs.getDouble("AMOUNT");
invLineItem.irt = lineRs.getDouble("IGST_PERC");
invLineItem.rate = lineRs.getDouble("IGST_PERC")+lineRs.getDouble("CGST_PERC")+lineRs.getDouble("SGST_PERC")+lineRs.getDouble("CESS_PERC");
invLineItem.iamt = lineRs.getDouble("IGST_AMT");
invLineItem.crt = lineRs.getDouble("CGST_PERC");
invLineItem.camt = lineRs.getDouble("CGST_AMT");
invLineItem.srt = lineRs.getDouble("SGST_PERC");
invLineItem.samt = lineRs.getDouble("SGST_AMT");
invLineItem.csrt = lineRs.getDouble("CESS_PERC");
invLineItem.csamt = lineRs.getDouble("CESS_AMT");
invLineItems.add(invLineItem);
......@@ -1090,53 +774,20 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
lineRs = null;
}
at = new AT();
at.isReverseCharge = false;
at.pos = posStateCode;
at.supplyType = checkNullandTrim(rs.getString("DOC_TYPE"));
at.itms = invLineItems;
atList.add(at);
}
if("13".equalsIgnoreCase(tranType))
{
String orgDocNum = "", orgCpty = "";
Date orgDocDt = null;
if(tranIdRef.length() > 0)
{
refDataSql = "SELECT TAX_REG_NO, DOC_NO, DOC_DATE FROM GST_DATA_HDR WHERE TRAN_ID = ?";
refDataPstmt = conn.prepareStatement(refDataSql);
refDataPstmt.setString(1, tranIdRef);
refDataRs = refDataPstmt.executeQuery();
if(refDataRs.next())
{
orgCpty = checkNullandTrim(refDataRs.getString("TAX_REG_NO"));
orgDocNum = checkNullandTrim(refDataRs.getString("DOC_NO")) ;
orgDocDt = refDataRs.getDate("DOC_DATE");
}
if(refDataPstmt != null)
{
refDataPstmt.close();
refDataPstmt = null;
}
if(refDataRs != null)
//tran_type : 14 = Advance Tax paid
if("14".equalsIgnoreCase(tranType))
{
refDataRs.close();
refDataRs = null;
}
}
ata = new ATA();
ata.isReverseCharge = false;
ata.orgCpty = orgCpty;
ata.orgDocNum = orgDocNum;
ata.orgDocDt = orgDocDt;
ata.typ = checkNullandTrim(rs.getString("DOC_TYPE"));
ata.cpty = ctin;
ata.stateCode = posStateCode;
ata.docNum = checkNullandTrim(rs.getString("DOC_NO"));
ata.docDt = rs.getDate("DOC_DATE");
invLineItems = new ArrayList<InvLineItem>();
lineSql = "SELECT * FROM GST_DATA_DET WHERE TRAN_ID = ? ORDER BY LINE_NO";
linePstmt = conn.prepareStatement(lineSql);
......@@ -1147,16 +798,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
invLineItem = new InvLineItem();
invLineItem.ty = lineRs.getString("LINE_TYPE");
invLineItem.hsn_sc = lineRs.getString("GS_CODE");
invLineItem.taxval = rs.getDouble("AMOUNT");
invLineItem.irt = lineRs.getDouble("IGST_PERC");
invLineItem.rate = lineRs.getDouble("IGST_PERC")+lineRs.getDouble("CGST_PERC")+lineRs.getDouble("SGST_PERC")+lineRs.getDouble("CESS_PERC");
invLineItem.iamt = lineRs.getDouble("IGST_AMT");
invLineItem.crt = lineRs.getDouble("CGST_PERC");
invLineItem.camt = lineRs.getDouble("CGST_AMT");
invLineItem.srt = lineRs.getDouble("SGST_PERC");
invLineItem.samt = lineRs.getDouble("SGST_AMT");
invLineItem.csrt = lineRs.getDouble("CESS_PERC");
invLineItem.csamt = lineRs.getDouble("CESS_AMT");
invLineItems.add(invLineItem);
......@@ -1172,10 +818,14 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
lineRs = null;
}
ata.itms = invLineItems;
at = new AT();
at.isReverseCharge = false;
ataList.add(ata);
}
at.pos = posStateCode;
at.supplyType = checkNullandTrim(rs.getString("DOC_TYPE"));
at.itms = invLineItems;
atPaidList.add(at);
}
tranIdList.add(tranId);
......@@ -1195,10 +845,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
gstr1.b2b = b2bInvoiceList;
}
if(b2baInvoiceList.size() > 0)
{
gstr1.b2ba = b2baInvoiceList;
}
if(b2clInvoiceList.size() > 0)
{
gstr1.b2cl = b2clInvoiceList;
......@@ -1235,6 +881,10 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
gstr1.exp = expInvoiceList;
}
if(atPaidList.size() > 0)
{
gstr1.txpd = atPaidList;
}
ObjectMapper objectMapper = new ObjectMapper();
......@@ -1257,7 +907,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
gstr1HeaderObj.put("data", encryptedPayload);
gstr1HeaderObj.put("hmac", new String(Base64.getEncoder().encode(resBuf)));
HttpResponse<JsonNode> gstr1Resp = Unirest.put(String.format("%s/%s", GST_API_URL, GSTR1_URL))
HttpResponse<JsonNode> gstr1Resp = Unirest.put(String.format("%s/%s", GST_API_URL, GSTR1_URL_V3))
.header("Content-Type", APPLICATION_JSON)
.header("clientid", clientId)
.header("client-secret", clientSecret)
......@@ -1295,7 +945,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
while(true)
{
HttpResponse<JsonNode> retStatusResp = Unirest.get(String.format("%s/%s", GST_API_URL, GSTR1_URL))
HttpResponse<JsonNode> retStatusResp = Unirest.get(String.format("%s/%s", GST_API_URL, GSTR1_URL_V3))
.queryString("action","RETSTATUS")
.queryString("gstin", gstin)
.queryString("ret_period", periodCode)
......@@ -1389,10 +1039,11 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
System.out.println("GSTDataSubmitWizPos.saveGstr1()["+e.getMessage()+"]");
e.printStackTrace();
throw new ITMException(e);
}
return retString;
}
private String getGstr1Summary(String authToken, String stateCode, String userName, String gstin, String periodCode, byte[] authSek, String action, Connection conn)
private String getGstr1Summary(String authToken, String stateCode, String userName, String gstin, String periodCode, byte[] authSek, String action, Connection conn) throws ITMException
{
String retString = "";
String errMsg = "";
......@@ -1400,7 +1051,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
try
{
HttpResponse<JsonNode> getGstr1SumryResp = Unirest.get(String.format("%s/%s", GST_API_URL, GSTR1_URL))
HttpResponse<JsonNode> getGstr1SumryResp = Unirest.get(String.format("%s/%s", GST_API_URL, GSTR1_URL_V3))
.queryString("action","RETSUM")
.queryString("gstin", gstin)
.queryString("ret_period", periodCode)
......@@ -1457,7 +1108,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
fileGstr1DataJsonObj.put("st", "DSC");
fileGstr1DataJsonObj.put("sid", "AMAPT8269L");
HttpResponse<JsonNode> fileGstr1Resp = Unirest.post(String.format("%s/%s", GST_API_URL, GSTR1_URL))
HttpResponse<JsonNode> fileGstr1Resp = Unirest.post(String.format("%s/%s", GST_API_URL, GSTR1_URL_V3))
.header("Content-Type", APPLICATION_JSON)
.header("state-cd", stateCode)
.header("clientid", clientId)
......@@ -1522,11 +1173,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
System.out.println("GSTDataSubmitWizPos.getGstr1Summary()["+e.getMessage()+"]");
e.printStackTrace();
throw new ITMException(e);
}
return retString;
}
private String submitGstr1(String authToken, String stateCode, String userName, String gstin, String periodCode, byte[] authSEK, Connection conn)
private String submitGstr1(String authToken, String stateCode, String userName, String gstin, String periodCode, byte[] authSEK, Connection conn) throws ITMException
{
String retString = "";
String errMsg = "";
......@@ -1551,7 +1203,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
reqBody.put("data", encryptedPayload);
reqBody.put("hmac", new String(Base64.getEncoder().encode(resBuf)));
HttpResponse<JsonNode> gstr1SubmitResp = Unirest.post(String.format("%s/%s", GST_API_URL, GSTR1_URL))
HttpResponse<JsonNode> gstr1SubmitResp = Unirest.post(String.format("%s/%s", GST_API_URL, GSTR1_URL_V3))
.header("Content-Type", APPLICATION_JSON)
.header("action", "RETSUBMIT")
.header("state-cd", stateCode)
......@@ -1605,11 +1257,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
System.out.println("GSTDataSubmitWizPos.submitGstr1()["+e.getMessage()+"]");
e.printStackTrace();
throw new ITMException(e);
}
return retString;
}
private String getGstr2Invoices(String authToken, String stateCode, String userName, String gstin, String periodCode, String siteCode, byte[] authSEK, Connection conn)
private String getGstr2Invoices(String authToken, String stateCode, String userName, String gstin, String periodCode, String siteCode, byte[] authSEK, Connection conn) throws ITMException
{
String retString = "";
String errMsg = "";
......@@ -1617,7 +1270,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
try
{
HttpResponse<JsonNode> getGstr2InvoicesResp = Unirest.get(String.format("%s/%s", GST_API_URL, GSTR2_URL))
HttpResponse<JsonNode> getGstr2InvoicesResp = Unirest.get(String.format("%s/%s", GST_API_URL, GSTR2_URL_V3))
.queryString("action", "B2B")
.queryString("gstin", gstin)
.queryString("ret_period", periodCode)
......@@ -1674,11 +1327,12 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
System.out.println("GSTDataSubmitWizPos.getGstr2Invoices()["+e.getMessage()+"]");
e.printStackTrace();
throw new ITMException(e);
}
return retString;
}
private void saveDownloadedData(String siteCode,JSONObject gstr2InvoiceJsonObj, Connection conn)
private void saveDownloadedData(String siteCode,JSONObject gstr2InvoiceJsonObj, Connection conn) throws ITMException
{
JSONArray b2bInvArry = new JSONArray();
JSONObject b2bJsonObj = new JSONObject();
......@@ -1819,6 +1473,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
System.out.println("GSTDataSubmitWizPos.saveDownloadedData()["+e.getMessage()+"]");
e.printStackTrace();
throw new ITMException(e);
}
}
......@@ -1845,7 +1500,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
return mainStr;
}
private String getRetStatusErrMsg(JSONObject retStatusJsonObj)
private String getRetStatusErrMsg(JSONObject retStatusJsonObj) throws ITMException
{
String retString = "";
JSONObject errorJsonObj = null;
......@@ -1919,6 +1574,7 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
{
System.out.println("GSTDataSubmitWizPos.getRetStatusErrMsg()["+e.getMessage()+"]");
e.printStackTrace();
throw new ITMException(e);
}
return retString;
......@@ -1989,7 +1645,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
}
finally
{
if (rs != null)
{
rs.close();
......@@ -2000,7 +1655,6 @@ public class GSTDataSubmitWizPos extends ValidatorEJB implements GSTDataSubmitWi
pstmt.close();
pstmt = null;
}
}
return tranId;
}
......
......@@ -16,7 +16,7 @@ public class ATASearializer extends BaseSerializer<ATA>
{
json.writeStartObject();
json.writeStringField("typ", ata.typ);
json.writeStringField("sply_ty", ata.supplyType);
if(ata.orgCpty != null && ata.orgDocNum != null && ata.orgDocDt != null)
{
......@@ -24,12 +24,6 @@ public class ATASearializer extends BaseSerializer<ATA>
json.writeStringField("odoc_num", ata.orgDocNum);
json.writeStringField("odoc_dt", gstFmt.format(ata.orgDocDt));
}
json.writeStringField("cpty", ata.cpty);
json.writeStringField("state_cd", ata.stateCode);
json.writeStringField("doc_num", ata.docNum);
json.writeStringField("doc_dt", gstFmt.format(ata.docDt));
writeLineItems(ata, json);
json.writeEndObject();
......
......@@ -16,11 +16,8 @@ public class ATSearializer extends BaseSerializer<AT>
{
json.writeStartObject();
json.writeStringField("typ", at.typ);
json.writeStringField("cpty", at.cpty);
json.writeStringField("state_cd", at.stateCode);
json.writeStringField("doc_num", at.docNum);
json.writeStringField("doc_dt", gstFmt.format(at.docDt));
json.writeStringField("pos", at.pos);
json.writeStringField("sply_ty", at.supplyType);
writeLineItems(at, json);
......@@ -47,21 +44,28 @@ public class ATSearializer extends BaseSerializer<AT>
{
json.writeStartObject();
//json.writeStringField("ty", li.ty);
//json.writeStringField("hsn_sc", li.hsn_sc);
json.writeNumberField("rt", li.rate);
json.writeNumberField("ad_amt", li.taxval);
//json.writeNumberField("irt", li.irt);
if(li.iamt > 0)
{
json.writeNumberField("iamt", li.iamt);
}
//json.writeNumberField("crt", li.crt);
if(li.camt > 0)
{
json.writeNumberField("camt", li.camt);
}
//json.writeNumberField("srt", li.srt);
if(li.samt > 0)
{
json.writeNumberField("samt", li.samt);
}
//json.writeNumberField("csrt", li.csrt);
if(li.csamt > 0)
{
json.writeNumberField("csamt", li.csamt);
}
json.writeEndObject();
}
......
......@@ -19,25 +19,13 @@ public class B2CSASerializer extends BaseSerializer<B2CSA>
json.writeStringField("oty", b2csa.orgType);
json.writeStringField("ohsn_sc", b2csa.orgItemOrServiceCode);
json.writeStringField("osupst_cd", b2csa.orgStateCode);
json.writeStringField("state_cd", b2csa.stateCode);
json.writeStringField("ty", b2csa.ty);
json.writeStringField("hsn_sc", b2csa.itemOrServiceCode);
json.writeStringField("pos", b2csa.pos);
json.writeNumberField("txval", b2csa.txval);
json.writeNumberField("irt", b2csa.irt);
json.writeNumberField("iamt", b2csa.iamt);
json.writeNumberField("crt", b2csa.crt);
json.writeNumberField("camt", b2csa.camt);
json.writeNumberField("srt", b2csa.srt);
json.writeNumberField("samt", b2csa.samt);
json.writeNumberField("csrt", b2csa.csrt);
json.writeNumberField("csamt", b2csa.csamt);
json.writeStringField("prs", b2csa.prs ? "Y" : "N");
if(b2csa.prs)
{
json.writeStringField("od_num", b2csa.od_num);
json.writeStringField("od_dt", gstFmt.format(b2csa.od_dt));
}
if(b2csa.etin!=null)
{
json.writeStringField("etin", b2csa.etin);
......
......@@ -15,31 +15,35 @@ public class B2CSSerializer extends BaseSerializer<B2CS>
{
json.writeStartObject();
json.writeStringField("state_cd", b2cs.stateCode);
json.writeStringField("ty", b2cs.ty);
json.writeStringField("hsn_sc", b2cs.itemOrServiceCode);
if(b2cs.taxPayerAction!= null)
{
json.writeStringField("flag", b2cs.taxPayerAction);
}
json.writeStringField("sply_ty", b2cs.supplyType);
json.writeNumberField("txval", b2cs.txval);
json.writeNumberField("irt", b2cs.irt);
json.writeStringField("typ", b2cs.typ);
if(b2cs.etin!=null)
{
json.writeStringField("etin", b2cs.etin);
}
json.writeStringField("pos", b2cs.pos);
json.writeNumberField("rt", b2cs.rate);
if(b2cs.iamt > 0)
{
json.writeNumberField("iamt", b2cs.iamt);
json.writeNumberField("crt", b2cs.crt);
}
if(b2cs.camt > 0)
{
json.writeNumberField("camt", b2cs.camt);
json.writeNumberField("srt", b2cs.srt);
json.writeNumberField("samt", b2cs.samt);
json.writeNumberField("csrt", b2cs.csrt);
json.writeNumberField("csamt", b2cs.csamt);
json.writeStringField("prs", b2cs.prs ? "Y" : "N");
if(b2cs.prs)
}
if(b2cs.samt > 0)
{
json.writeStringField("od_num", b2cs.od_num);
json.writeStringField("od_dt", gstFmt.format(b2cs.od_dt));
json.writeNumberField("samt", b2cs.samt);
}
if(b2cs.etin!=null)
if(b2cs.csamt > 0)
{
json.writeStringField("etin", b2cs.etin);
json.writeNumberField("csamt", b2cs.csamt);
}
json.writeStringField("typ", b2cs.typ);
json.writeEndObject();
}
}
......@@ -42,10 +42,6 @@ abstract class BaseSerializer<T extends BaseData> extends JsonSerializer<T>
}
else
{
if(inv.shippingPortCode != null)
{
json.writeStringField("sbpcode", inv.shippingPortCode);
}
if(inv.shippingBillNum != null)
{
json.writeStringField("sbnum", inv.shippingBillNum);
......
......@@ -42,40 +42,12 @@ public class CDNRASerializer extends JsonSerializer<CDNRA>
json.writeStringField("ntty", cdnDetails.cdnNoteType);
json.writeStringField("nt_num", cdnDetails.cdNoteNumber);
json.writeStringField("nt_dt", gstFmt.format(cdnDetails.cdNoteDate));
json.writeStringField("rsn", cdnDetails.reason);
if(cdnDetails.orgCDNoteNumber != null && cdnDetails.orgCDNoteDate != null)
{
json.writeStringField("ont_num", cdnDetails.orgCDNoteNumber);
json.writeStringField("ont_dt", gstFmt.format(cdnDetails.orgCDNoteDate));
}
json.writeStringField("inum", cdnDetails.invoiceNumber);
json.writeStringField("idt", gstFmt.format(cdnDetails.invoiceDate));
if(cdnra.isReverseCharge)
{
json.writeStringField("rchrg", cdnDetails.rchrg ? "Y" : "N");
}
json.writeNumberField("val", cdnDetails.val);
json.writeNumberField("irt", cdnDetails.irt);
json.writeNumberField("iamt", cdnDetails.iamt);
json.writeNumberField("crt", cdnDetails.crt);
json.writeNumberField("camt", cdnDetails.camt);
json.writeNumberField("srt", cdnDetails.srt);
json.writeNumberField("samt", cdnDetails.samt);
json.writeNumberField("csrt", cdnDetails.csrt);
json.writeNumberField("csamt", cdnDetails.csamt);
if(cdnDetails.etin!=null)
{
json.writeStringField("etin", cdnDetails.etin);
}
json.writeEndObject();
}
catch(Exception e)
......
......@@ -10,6 +10,7 @@ import com.fasterxml.jackson.databind.SerializerProvider;
import ibase.webitm.bean.gst.CDNDetails;
import ibase.webitm.bean.gst.CDNR;
import ibase.webitm.bean.gst.InvLineItem;
public class CDNRSerializer extends JsonSerializer<CDNR>
{
......@@ -19,6 +20,7 @@ public class CDNRSerializer extends JsonSerializer<CDNR>
{
json.writeStartObject();
json.writeStringField("ctin", cdnr.ctin);
//json.writeStringField("cfs", cdnr.customerFilingStaus?"Y":"N");
json.writeFieldName("nt");
json.writeStartArray();
......@@ -42,39 +44,84 @@ public class CDNRSerializer extends JsonSerializer<CDNR>
json.writeStringField("ntty", cdnDetails.cdnNoteType);
json.writeStringField("nt_num", cdnDetails.cdNoteNumber);
json.writeStringField("nt_dt", gstFmt.format(cdnDetails.cdNoteDate));
json.writeStringField("rsn", cdnDetails.reason);
json.writeStringField("inum", cdnDetails.invoiceNumber);
json.writeStringField("idt", gstFmt.format(cdnDetails.invoiceDate));
json.writeNumberField("val", cdnDetails.val);
writeCDNLineItems(cdnDetails, json);
if(cdnr.isReverseCharge)
json.writeEndObject();
}
catch(Exception e)
{
json.writeStringField("rchrg", cdnDetails.rchrg ? "Y" : "N");
System.out.println("CDNRSerializer.writecdnDetails()["+e.getMessage()+"]");
e.printStackTrace();
}
}
json.writeNumberField("val", cdnDetails.val);
private void writeCDNLineItems(CDNDetails cdnDetails, JsonGenerator json)
{
try
{
json.writeFieldName("itms");
json.writeStartArray();
for(InvLineItem li : cdnDetails.items)
{
writeLineItem(li, json);
}
json.writeEndArray();
}
catch (IOException e)
{
System.out.println("CDNRSerializer.writeCDNLineItems()["+e.getMessage()+"]");
e.printStackTrace();
}
json.writeNumberField("irt", cdnDetails.irt);
json.writeNumberField("iamt", cdnDetails.iamt);
json.writeNumberField("crt", cdnDetails.crt);
json.writeNumberField("camt", cdnDetails.camt);
}
json.writeNumberField("srt", cdnDetails.srt);
json.writeNumberField("samt", cdnDetails.samt);
private void writeLineItem(InvLineItem li, JsonGenerator json)
{
try
{
json.writeStartObject();
json.writeNumberField("csrt", cdnDetails.csrt);
json.writeNumberField("csamt", cdnDetails.csamt);
json.writeNumberField("num", li.num);
if(cdnDetails.etin!=null)
json.writeFieldName("itm_det");
json.writeStartObject();
json.writeNumberField("rt", li.rate);
json.writeNumberField("txval", li.taxval);
if(li.iamt > 0)
{
json.writeStringField("etin", cdnDetails.etin);
json.writeNumberField("iamt", li.iamt);
}
if(li.camt > 0)
{
json.writeNumberField("camt", li.camt);
}
if(li.samt > 0)
{
json.writeNumberField("samt", li.samt);
}
if(li.csamt > 0)
{
json.writeNumberField("csamt", li.csamt);
}
json.writeEndObject();
json.writeEndObject();
}
catch(Exception e)
catch (Exception e)
{
System.out.println("CDNRSerializer.writecdnDetails()["+e.getMessage()+"]");
System.out.println("CDNRSerializer.writeLineItem()["+e.getMessage()+"]");
e.printStackTrace();
}
}
......
......@@ -66,6 +66,10 @@ public class GSTR1Serailizer extends JsonSerializer<GSTR1> {
{
jsonGenerator.writeObjectField("expa", gstr1.expa);
}
if(gstr1.txpd != null)
{
jsonGenerator.writeObjectField("txpd", gstr1.txpd);
}
jsonGenerator.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