Commit 7c26d18f authored by wansari's avatar wansari

D16JBAS001 updated source for new points


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@106048 ce508802-f39f-4f6c-b175-0d175dae99d5
parent f7436eb5
......@@ -11,6 +11,7 @@ import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.util.gst.GSTCommonUtil;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
......@@ -18,12 +19,18 @@ import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Map;
import javax.ejb.Stateless;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@Stateless
public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, GSTRecoWizEJBRemote
{
......@@ -155,10 +162,15 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
count = 0;
//sql = " SELECT COUNT(*) FROM GST_DATA_HDR WHERE TAX_REG_NO = ? AND PRD_CODE = ? ";
//sql = " SELECT COUNT(*) FROM GST_DATA_HDR WHERE TAX_REG_NO = ? AND PRD_CODE = ? AND SUBMISSION_TYPE = 'P' AND REC_TYPE = '2' AND RECO_STATUS ! = 'M' ";
sql = " SELECT COUNT(*) FROM GST_DATA_HDR WHERE TAX_REG_NO = ? AND PRD_CODE = ? AND SUBMIT_STATUS = 'P' AND REC_TYPE = '2' "
/*sql = " SELECT COUNT(*) FROM GST_DATA_HDR WHERE TAX_REG_NO = ? AND PRD_CODE = ? AND SUBMIT_STATUS = 'P' AND REC_TYPE = '2' "
+ " AND (CASE WHEN RECO_STATUS IS NULL THEN 'A' ELSE RECO_STATUS END) != 'M' ";*/
String loginSiteCode = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginSiteCode" );
sql = " SELECT COUNT(*) FROM GST_DATA_HDR WHERE SITE_CODE = ? AND PRD_CODE = ? AND REC_TYPE = '2' "
+ " AND (CASE WHEN RECO_STATUS IS NULL THEN 'A' ELSE RECO_STATUS END) != 'M' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, gstin);
pstmt.setString(1, loginSiteCode);
pstmt.setString(2, prdCode);
rs = pstmt.executeQuery();
if (rs.next())
......@@ -176,7 +188,7 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
if(count == 0)
{
errString = itmDBAccessEJB.getErrorString("","VTRECGSTIN","","",conn);
errString = itmDBAccessEJB.getErrorString("","VTNORECGST","","",conn);
return errString;
}
......@@ -372,10 +384,12 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
StringBuffer valueXmlString = new StringBuffer();
String currDate = "",userId = "",chgTerm = "",loginSiteCode = "",empCode = "";
String prdCode = "",gstin = "";
String prdCode = "",gstin = "",currDateStr = "";
String sql = "";
Calendar calendar = new GregorianCalendar();
java.util.Map<String,ArrayList> suppMap = new java.util.HashMap<String,ArrayList>();
ArrayList<String> invoiceIDList = new ArrayList<String>();
java.util.Map<String,String> suppDetails = new java.util.HashMap<String,String>();
......@@ -385,6 +399,7 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
int domIDDetail2 = 0;
int domIDInvoice = 0;
int domIDGstr = 0;
Timestamp monthDate = null;
try
{
conn = getConnection();
......@@ -399,8 +414,6 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
{
currentFormNo = Integer.parseInt(objContext);
}
/*valueXmlString = new StringBuffer("<?xml version = \"1.0\"?><Root><header><editFlag>");
valueXmlString.append(editFlag).append("</editFlag></header>");*/
valueXmlString = new StringBuffer( "<?xml version=\"1.0\"?><Root><Header><editFlag>" );
valueXmlString.append( editFlag ).append( "</editFlag></Header>" );
......@@ -415,8 +428,77 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ))
{
valueXmlString.append("<prd_code>").append("<![CDATA[]]>").append("</prd_code>");
valueXmlString.append("<gstin>").append("<![CDATA[]]>").append("</gstin>");
calendar.setTime(new Date());
calendar.add(Calendar.MONTH, -1);
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
currDateStr = sdf.format(calendar.getTime());
monthDate = Timestamp.valueOf(genericUtility.getValidDateString(currDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("Today's Date["+currDateStr+"] monthDate["+monthDate+"]");
sql = "SELECT TO_CHAR(TO_DATE(CODE,'yyyymm'),'mmyyyy') AS CODE FROM PERIOD WHERE ? BETWEEN FR_DATE AND TO_DATE";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, monthDate);
rs = pstmt.executeQuery();
if(rs.next())
{
prdCode = rs.getString("CODE");
}
if(rs != null)
{
rs.close();rs = null;
}
if(pstmt != null)
{
pstmt.close();pstmt = null;
}
sql = " SELECT REG_NO FROM SITEREGNO WHERE SITE_CODE = ? AND REF_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, loginSiteCode);
pstmt.setString(2, "GSTIN_NO");
rs = pstmt.executeQuery();
if (rs.next())
{
gstin = checkNullAndTrim(rs.getString("REG_NO"));
}
if(rs!=null)
{
rs.close();rs=null;
}
if(pstmt!=null)
{
pstmt.close();pstmt=null;
}
System.out.println("GSTIN number in itm_default["+gstin+"]");
valueXmlString.append("<prd_code>").append("<![CDATA["+prdCode+"]]>").append("</prd_code>");
valueXmlString.append("<gstin>").append("<![CDATA["+gstin+"]]>").append("</gstin>");
}
else if( currentColumn.trim().equalsIgnoreCase( "prd_code" ))
{
sql = " SELECT REG_NO FROM SITEREGNO WHERE SITE_CODE = ? AND REF_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, loginSiteCode);
pstmt.setString(2, "GSTIN_NO");
rs = pstmt.executeQuery();
if (rs.next())
{
gstin = checkNullAndTrim(rs.getString("REG_NO"));
}
if(rs!=null)
{
rs.close();rs=null;
}
if(pstmt!=null)
{
pstmt.close();pstmt=null;
}
valueXmlString.append("<gstin>").append("<![CDATA["+gstin+"]]>").append("</gstin>");
}
valueXmlString.append("</Detail1>\r\n");
......@@ -448,17 +530,24 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
+" AND G.DOC_NO = P.INVOICE_NO"
+" AND G.TAX_REG_NO = ? AND G.PRD_CODE = ? AND G.SUBMISSION_TYPE = 'P' AND G.RECO_STATUS ! = 'M' ";*/
sql = " SELECT CUST_CODE,DOC_NO FROM GST_DATA_HDR WHERE "
//Last Change SQL
/*sql = " SELECT CUST_CODE,DOC_NO FROM GST_DATA_HDR WHERE "
+ " TAX_REG_NO = ? AND PRD_CODE = ? AND SUBMIT_STATUS = 'P' AND REC_TYPE = '2' AND "
+ " (CASE WHEN RECO_STATUS IS NULL THEN 'A' ELSE RECO_STATUS END) != 'M' ";*/
sql = " SELECT DISTINCT TAX_REG_NO,DOC_NO FROM GST_DATA_HDR WHERE "
+ " PRD_CODE = ? AND SITE_CODE = ? AND REC_TYPE = '2' AND "
+ " (CASE WHEN RECO_STATUS IS NULL THEN 'A' ELSE RECO_STATUS END) != 'M' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, gstin);
pstmt.setString(2, prdCode);
//pstmt.setString(1, gstin);
pstmt.setString(1, prdCode);
pstmt.setString(2, loginSiteCode);
rs = pstmt.executeQuery();
while (rs.next())
{
suppCode = checkNullAndTrim(rs.getString("CUST_CODE"));
//suppCode = checkNullAndTrim(rs.getString("CUST_CODE"));
suppCode = checkNullAndTrim(rs.getString("TAX_REG_NO"));
invoiceID = rs.getString("DOC_NO");
if (suppMap.containsKey(suppCode))
......@@ -495,7 +584,8 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
domIDDetail2++;
valueXmlString.append("<Detail2 domID='"+domIDDetail2+"' selected = 'N'>");//Start Multiple suppliers
sql = " SELECT CUST_NAME,STATE_CODE FROM GST_DATA_HDR WHERE CUST_CODE = ? ";
//sql = " SELECT CUST_NAME,STATE_CODE FROM GST_DATA_HDR WHERE CUST_CODE = ? ";
sql = " SELECT NAME AS CUST_NAME,STATE_CODE FROM GST_REGISTRATION WHERE GST_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, suppCode);
rs = pstmt.executeQuery();
......@@ -530,16 +620,21 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
valueXmlString.append("<Invoices>");//Start Multiple invoice inside single supplier
String suppIDStr = "";
for(int i = 0; i< invoiceIDList.size(); i++)
{
domIDInvoice = i + 1;
//domIDInvoice = i + 1;
domIDInvoice++;
invoiceID = (String) invoiceIDList.get(i);
suppIDStr = suppIDStr + domIDInvoice +",";
valueXmlString.append("<invoice domID='"+domIDInvoice+"'>");
String orderDate = "",docDate = "";
sql = " SELECT ORDER_DATE, DOC_DATE, DOC_NO, AMOUNT, SITE_CODE, RECO_STATUS FROM GST_DATA_HDR WHERE DOC_NO = ? AND SUBMIT_STATUS = 'P' ";
//sql = " SELECT ORDER_DATE, DOC_DATE, DOC_NO, AMOUNT, SITE_CODE, RECO_STATUS FROM GST_DATA_HDR WHERE DOC_NO = ? AND SUBMIT_STATUS = 'P' ";
sql = " SELECT ORDER_DATE, DOC_DATE, DOC_NO, AMOUNT, SITE_CODE, RECO_STATUS FROM GST_DATA_HDR WHERE DOC_NO = ? AND REC_TYPE = '2' AND SUBMIT_STATUS IN ('P','D') ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, invoiceID);
rs = pstmt.executeQuery();
......@@ -549,18 +644,18 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
docDate = rs.getString("DOC_DATE");
valueXmlString.append("<invoice_id>").append("<![CDATA["+invoiceID+"]]>").append("</invoice_id>");
valueXmlString.append("<sale_order>").append("<![CDATA["+rs.getString("DOC_NO")+"]]>").append("</sale_order>");
valueXmlString.append("<doc_no>").append("<![CDATA["+rs.getString("DOC_NO")+"]]>").append("</doc_no>");
valueXmlString.append("<inv_amt>").append("<![CDATA["+rs.getString("AMOUNT")+"]]>").append("</inv_amt>");
valueXmlString.append("<tax_amt>").append("<![CDATA["+rs.getString("SITE_CODE")+"]]>").append("</tax_amt>");
valueXmlString.append("<site_code>").append("<![CDATA["+rs.getString("SITE_CODE")+"]]>").append("</site_code>");
valueXmlString.append("<reco_status>").append("<![CDATA["+rs.getString("RECO_STATUS")+"]]>").append("</reco_status>");
if(orderDate == null)
{
valueXmlString.append("<tran_date>").append("<![CDATA[]]>").append("</tran_date>");
valueXmlString.append("<order_date>").append("<![CDATA[]]>").append("</order_date>");
}
else
{
valueXmlString.append("<tran_date>").append("<![CDATA["+genericUtility.getValidDateString(orderDate, genericUtility.getDBDateTimeFormat(), genericUtility.getApplDateFormat())+"]]>").append("</tran_date>");
valueXmlString.append("<order_date>").append("<![CDATA["+genericUtility.getValidDateString(orderDate, genericUtility.getDBDateTimeFormat(), genericUtility.getApplDateFormat())+"]]>").append("</order_date>");
}
if(docDate == null)
{
......@@ -580,10 +675,15 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
pstmt.close();pstmt=null;
}
ArrayList domIDList = new ArrayList();
ArrayList domIDList2 = new ArrayList();
int listSize = 0;
int domIDTemp = 0;
for(int j = 1 ;j<=2 ; j++)
{
gstrDataCount = 0;
domIDGstr = 0;
//domIDGstr = 0;
if(j==1)
{
......@@ -601,6 +701,7 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
sql = " SELECT D.TRAN_ID,D.LINE_NO,D.STATUS,D.GS_CODE,D.TAXABLE_AMT,D.IGST_PERC,D.IGST_AMT,D.CGST_PERC,D.CGST_AMT, "
+ " D.SGST_PERC,D.SGST_AMT,D.GS_DESCR,D.UNIT,D.QUANTITY,D.SUPPLY_TYPE,D.CESS_PERC,D.CESS_AMT,D.REMARKS "
+ " ,H.TAX_REG_NO,H.DOC_NO, H.DOC_DATE "
+ " FROM GST_DATA_HDR H, GST_DATA_DET D WHERE H.TRAN_ID = D.TRAN_ID "
+ " AND H.DOC_NO = ? AND H.SUBMIT_STATUS = ? AND H.REC_TYPE = ? "
+ " AND TAX_REG_NO = ? ORDER BY D.GS_CODE ";
......@@ -608,15 +709,45 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
pstmtDet.setString(1, invoiceID);
pstmtDet.setString(2, submissionType);
pstmtDet.setString(3, "2");
pstmtDet.setString(4, gstin);
//pstmtDet.setString(4, gstin);
pstmtDet.setString(4, suppCode);
rsDet = pstmtDet.executeQuery();
while (rsDet.next())
{
gstrDataCount++;
//gstrDataCount++;
//domIDGstr++;
System.out.println("J["+j+"] domIDGstr["+domIDGstr+"] ["+domIDList.size()+"] gstrDataCount["+gstrDataCount+"]");
if(j==1)
{
domIDGstr++;
valueXmlString.append("<gstr"+j+" domID='"+domIDGstr+"'>");
gstrDataCount++;
}
else
{
listSize = domIDList.size();
if(listSize <= gstrDataCount)
{
domIDGstr++;
/*valueXmlString.append("<gstr"+j+" domID='"+domIDGstr+"'>");*/
valueXmlString.append("<gstr"+j+" domID='"+domIDInvoice+"'>");
valueXmlString.append("<gstr"+j+" domID='"+domIDGstr+"'>");
domIDList2.add(domIDGstr);
}
else
{
//domIDGstr = (Integer) domIDList.get(gstrDataCount);.
//valueXmlString.append("<gstr"+j+" domID='"+domIDGstr+"'>");
domIDTemp = (Integer) domIDList.get(gstrDataCount);
valueXmlString.append("<gstr"+j+" domID='"+domIDTemp+"'>");
}
//domIDGstr = (Integer) domIDList.get(gstrDataCount);
//valueXmlString.append("<gstr"+j+" domID='"+domIDGstr+"'>");
gstrDataCount++;
}
//valueXmlString.append("<gstr"+j+" domID='"+domIDGstr+"'>");
/*valueXmlString.append("<gstr"+j+" domID='"+domIDInvoice+"'>");*/
valueXmlString.append("<tran_id>").append("<![CDATA["+checkNullAndTrim(rsDet.getString("TRAN_ID"))+"]]>").append("</tran_id>");
valueXmlString.append("<line_no>").append("<![CDATA["+checkNullAndTrim(rsDet.getString("LINE_NO"))+"]]>").append("</line_no>");
valueXmlString.append("<status>").append("<![CDATA["+checkNullAndTrim(rsDet.getString("STATUS"))+"]]>").append("</status>");
......@@ -635,7 +766,27 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
valueXmlString.append("<cess_perc>").append("<![CDATA["+checkNullAndTrim(rsDet.getString("CESS_PERC"))+"]]>").append("</cess_perc>");
valueXmlString.append("<cess_amt>").append("<![CDATA["+checkNullAndTrim(rsDet.getString("CESS_AMT"))+"]]>").append("</cess_amt>");
valueXmlString.append("<remarks>").append("<![CDATA["+checkNullAndTrim(rsDet.getString("REMARKS"))+"]]>").append("</remarks>");
docDate = rsDet.getString("DOC_DATE");
if(docDate == null)
{
valueXmlString.append("<doc_date>").append("<![CDATA[]]>").append("</doc_date>");
}
else
{
valueXmlString.append("<doc_date>").append("<![CDATA["+genericUtility.getValidDateString(docDate, genericUtility.getDBDateTimeFormat(), genericUtility.getApplDateFormat())+"]]>").append("</doc_date>");
}
valueXmlString.append("<doc_no>").append("<![CDATA["+checkNullAndTrim(rsDet.getString("DOC_NO"))+"]]>").append("</doc_no>");
valueXmlString.append("<tax_reg_no>").append("<![CDATA["+checkNullAndTrim(rsDet.getString("TAX_REG_NO"))+"]]>").append("</tax_reg_no>");
valueXmlString.append("<rate>").append("<![CDATA[]]>").append("</rate>");
valueXmlString.append("</gstr"+j+">");
if(j==1)
{
domIDList.add(domIDGstr);
}
}
if ( rsDet != null )
{
......@@ -656,9 +807,9 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
{
gstrDataCount = gstrDataCount - gstrDataCountTemp;
for(int x = 1 ;x<=gstrDataCount ; x++)
for(int x = 0 ;x<gstrDataCount ; x++)
{
valueXmlString.append("<gstr1>");
valueXmlString.append("<gstr1 domID='"+domIDList2.get(x)+"'>");
System.out.println("For making blank row as GSTR1 data not found for this row");
valueXmlString.append("</gstr1>");
}
......@@ -667,9 +818,9 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
{
gstrDataCount = gstrDataCountTemp - gstrDataCount;
for(int x = 1 ;x<=gstrDataCount ; x++)
for(int x = 0 ;x<gstrDataCount ; x++)
{
valueXmlString.append("<gstr"+j+">");
valueXmlString.append("<gstr"+j+" domID='"+domIDList.get(domIDTemp+x)+"'>");
System.out.println("For making blank row as GSTR2 data not found for this row");
valueXmlString.append("</gstr"+j+">");
}
......@@ -678,12 +829,27 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
gstrDataCountTemp = gstrDataCount;
}
valueXmlString.append("<data_match>").append("<![CDATA["+gstrDataCount+"]]>").append("</data_match>");
String dbIDStr = "";
if(domIDList2.size() > 0)
{
domIDList.addAll(domIDList2);
}
for(int x =0; x< domIDList.size(); x++)
{
dbIDStr = dbIDStr + domIDList.get(x) +",";
}
valueXmlString.append("<domIDList>").append("<![CDATA["+dbIDStr+"]]>").append("</domIDList>");
valueXmlString.append("</invoice>");
System.out.println("Last DOMID="+domIDGstr);
}
valueXmlString.append("</Invoices>"); //End Multiple invoice inside single supplier
valueXmlString.append("<suppIDList>").append("<![CDATA["+suppIDStr+"]]>").append("</suppIDList>");
valueXmlString.append("</Detail2>");//End Multiple suppliers
}
}
......@@ -728,7 +894,22 @@ public class GSTRecoWizEJB extends ValidatorEJB implements GSTRecoWizEJBLocal, G
public int getDiffCount(String gstr1, String gstr2)
{
int diffCount = 0;
try
{
//dom = genericUtility.parseString(gstr1);
//dom = genericUtility.parseString(xmlString);
}
catch(Exception e)
{
}
return diffCount;
}
......
......@@ -85,7 +85,7 @@ public class GSTRecoWizPosEJB extends ValidatorEJB implements GSTRecoWizPosEJBRe
+" VALUES ( ? , ?) ";
pstmt = conn.prepareStatement(sql);
sql = " UPDATE GST_DATA_HDR SET RECO_STATUS = ?,SUBMISSION_TYPE = ? WHERE TRAN_ID = ? ";
sql = " UPDATE GST_DATA_HDR SET RECO_STATUS = ?,SUBMISSION_TYPE = ? WHERE TRAN_ID IN (?,?) ";
pstmtUpd = conn.prepareStatement(sql);
dom = genericUtility.parseString(xmlstring);
......@@ -145,6 +145,7 @@ public class GSTRecoWizPosEJB extends ValidatorEJB implements GSTRecoWizPosEJBRe
pstmtUpd.setString(1, "M");
pstmtUpd.setString(2, submitType);
pstmtUpd.setString(3, tranID);
pstmtUpd.setString(4, tranIdGSTN);
pstmtUpd.addBatch();
pstmtUpd.clearParameters();
}
......
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