Commit 8fece895 authored by ngadkari's avatar ngadkari

changes in E-INVOICE process

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@217526 ce508802-f39f-4f6c-b175-0d175dae99d5
parent e487a26b
<%@page
import="java.lang.*,java.util.*, ibase.webitm.ejb.gstclient.GstIRInfo"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-15"
pageEncoding="UTF-8"%>
<%
System.out.println("@@@@@@@@@ In GstIRInfo.jsp @@@@@@@@@@@@@@@@");
ibase.utility.UserInfoBean userInfo = ( ibase.utility.UserInfoBean )session.getAttribute( "USER_INFO" );
if(userInfo != null)
{
String refId = ((String) request.getParameter("ref_id") == null) ? "" : (String) request.getParameter("ref_id");
System.out.println("refID ======>>["+ refId +"]");
String refSer = ((String) request.getParameter("ref_ser") == null) ? "" : (String) request.getParameter("ref_ser");
System.out.println("refSer ======>>["+ refSer +"]");
if(refId.equals(""))
{
out.println("NO DATA FOUND...");
}
else
{
GstIRInfo gstIRInfo = new GstIRInfo(userInfo);
ArrayList irInfoList = gstIRInfo.getIRInfo(refId,refSer);
System.out.println("irn inside jsp ::: ["+ irInfoList.size() +"]");
for(int i=0;i<irInfoList.size();i++)
{
HashMap irnDetail =(HashMap) irInfoList.get(i);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link type="text/css" rel="stylesheet"
href="/ibase/webitm/css/sidePanelDisplay.css">
<title>GST IRN Info</title>
</head>
<body>
<table class="itemtbl" id="itemtbl" cellpadding="0" cellspacing="0">
<tr>
<td align="center" colspan="2"
style="height: 20px; background: #f7f8fa;">
<%
if("R".equalsIgnoreCase((String)irnDetail.get("tran_type")))
{
%>
<div align="left">
<b> Registration</b>
</div> <%
}
%> <%
if("C".equalsIgnoreCase((String)irnDetail.get("tran_type")))
{
%>
<div align="left">
<b>Cancellation</b>
</div> <%
}
%>
</td>
</tr>
<tr>
<td class="highlight rght tdClass" colspan="2">
<%
if("0".equalsIgnoreCase((String)irnDetail.get("reg_stat")))
{
%>
<div class=" tdDivLft1" align="left">Status : Failed</div>
</td>
</tr>
<!-- added by nandkumar on 25-02-20 Start -->
<tr>
<td class="highlight rght tdClass" colspan="2">
<div class="tdDivLft1">Error Details :</div>
<div class=" tdDivLft1">
<%= (String)irnDetail.get("ir_no") %>
</div>
</td>
</tr>
<%
}
%>
<%
if("1".equalsIgnoreCase((String)irnDetail.get("reg_stat")))
{
%>
<div class=" tdDivLft1" align="left">Status : Success</div>
</td>
</tr>
<!-- added by nandkumar on 25-02-20 Start -->
<%
if("R".equalsIgnoreCase((String)irnDetail.get("tran_type")))
{
%>
<tr>
<td class="highlight rght tdClass" colspan="2">
<div class="tdDivLft1">Acknowledgement #:</div>
<div class="tdDivLft1">
<%=(String)irnDetail.get("ack_no") %>
</div>
</td>
</tr>
<tr>
<td class="highlight rght tdClass" colspan="2">
<div class="tdDivLft1">Acknowledgement Date :</div>
<div class="tdDivLft1">
<%=(String)irnDetail.get("ack_date") %>
</div>
</td>
</tr>
<tr>
<%
}
%>
<%
if("C".equalsIgnoreCase((String)irnDetail.get("tran_type")))
{
%>
<tr>
<td class="highlight rght tdClass" colspan="2">
<div class="tdDivLft1">Cancel Date :</div>
<div class="tdDivLft1">
<%=(String)irnDetail.get("ack_date") %>
</div>
</td>
</tr>
<tr>
<%
}
%>
<td class="highlight rght tdClass" colspan="2">
<div class="tdDivLft1">Invoice Registration Hash code :</div>
<div class="tdDivLft1"><%= (String)irnDetail.get("ir_no") %>
</div>
</td>
</tr>
<%
}
%>
<%-- <div class="highlight tdDivRgt1"> <%= %> &nbsp; <%= custList.get(1) %> </div>
--%>
</table>
</body>
</html>
<%
}
}
}
else
{
out.print("Invalid Session");
}
%>
...@@ -80,6 +80,10 @@ values ('auth_url','authentication url','/gstvital/api/auth','Base Information', ...@@ -80,6 +80,10 @@ values ('auth_url','authentication url','/gstvital/api/auth','Base Information',
Insert into SYSTEM_EVENT_SERVICES (SERVICE_CODE,SERVICE_DESCR,SERVICE_URI,SERVICE_PROVIDER,METHOD_NAME,RETURN_VALUE,RETURN_TYPE,RETURN_DESCR,RETURN_XFRM,CHG_DATE,CHG_USER,CHG_TERM,SERVICE_NAMESPACE,RES_ELEM,SOAP_ACTION) Insert into SYSTEM_EVENT_SERVICES (SERVICE_CODE,SERVICE_DESCR,SERVICE_URI,SERVICE_PROVIDER,METHOD_NAME,RETURN_VALUE,RETURN_TYPE,RETURN_DESCR,RETURN_XFRM,CHG_DATE,CHG_USER,CHG_TERM,SERVICE_NAMESPACE,RES_ELEM,SOAP_ACTION)
values ('base_url','Base URL for E invoice api calls','https://yoda.api.vayanagsp.in/gus/irp/nic','Base Information','EINVOICE_API_URL','String','S',null,null,to_date('21-06-17','DD-MM-RR'),'BASE ','BASE',null,null,null); values ('base_url','Base URL for E invoice api calls','https://yoda.api.vayanagsp.in/gus/irp/nic','Base Information','EINVOICE_API_URL','String','S',null,null,to_date('21-06-17','DD-MM-RR'),'BASE ','BASE',null,null,null);
Insert into SYSTEM_EVENT_SERVICES (SERVICE_CODE,SERVICE_DESCR,SERVICE_URI,SERVICE_PROVIDER,METHOD_NAME,RETURN_VALUE,RETURN_TYPE,RETURN_DESCR,RETURN_XFRM,CHG_DATE,CHG_USER,CHG_TERM,SERVICE_NAMESPACE,RES_ELEM,SOAP_ACTION)
values ('gstin_detail_url','gstin details url','https://yoda.api.vayanagsp.in/gus/commonapi/v0.3/search?action=TP&gstin=','Base Information','EINVOICE_API_URL','String','S',null,null,to_date('04-06-17','DD-MM-RR'),'BASE ','BASE',null,null,null);
Insert into itm2menu (APPLICATION,LEVEL_1,LEVEL_2,LEVEL_3,LEVEL_4,LEVEL_5,WIN_NAME,DESCR,COMMENTS,MENU_PATH,ICON_PATH,CLOSE_ICON,OPEN_ICON,OBJ_TYPE,CHG_DATE,CHG_TERM,CHG_USER,MOB_DEPLOY,DEFAULT_STATE,DEF_ACTION,MOB_DEPLY,ENT_TYPES) Insert into itm2menu (APPLICATION,LEVEL_1,LEVEL_2,LEVEL_3,LEVEL_4,LEVEL_5,WIN_NAME,DESCR,COMMENTS,MENU_PATH,ICON_PATH,CLOSE_ICON,OPEN_ICON,OBJ_TYPE,CHG_DATE,CHG_TERM,CHG_USER,MOB_DEPLOY,DEFAULT_STATE,DEF_ACTION,MOB_DEPLY,ENT_TYPES)
...@@ -120,6 +124,7 @@ values ('einvoiceirncancel_prc',11,null,'Process','process','a','P','Process','2 ...@@ -120,6 +124,7 @@ values ('einvoiceirncancel_prc',11,null,'Process','process','a','P','Process','2
Insert into OBJ_LINKS (OBJ_NAME,FORM_NO,FIELD_NAME,TARGET_OBJ_NAME,LINK_FORM_NAME,LINK_TITLE,LINK_URI,LINK_TYPE,LINK_ARG,UPDATE_FLAG,LINK_NAME,RIGHTS_CHAR,IMAGE,SHOW_IN_PANEL,SHORTCUT_CHAR,AUTO_INVOKE,SWIPE_POSITION,TITLE,DESCR,SHOW_CONFIRM,DISPLAY_MODE,LINE_NO,LINK_ID,REC_SPECIFIC) values ('invoice','1','home_8','invoice','invoice11','GST IRN INFO','/ibase/webitm/jsp/GstIRInfo.jsp','3','S-INV.String:ref_ser,invoice_id.String:ref_id','0',null,'*',null,'1',null,'Y',null,null,null,null,'1',24,null,null);
...@@ -146,16 +151,7 @@ Insert into MESSAGES (MSG_NO,MSG_STR,MSG_DESCR,MSG_TYPE,MSG_OPT,MSG_TIME,ALARM,E ...@@ -146,16 +151,7 @@ Insert into MESSAGES (MSG_NO,MSG_STR,MSG_DESCR,MSG_TYPE,MSG_OPT,MSG_TIME,ALARM,E
('VTEINVUPA','USERNAME PASSWORD IS MANDATORY','Please enter valid username and password','E','Y',null,null,null,to_date('11-02-20','DD-MM-RR'),'BASE ','NGADKARI',null,null); ('VTEINVUPA','USERNAME PASSWORD IS MANDATORY','Please enter valid username and password','E','Y',null,null,null,to_date('11-02-20','DD-MM-RR'),'BASE ','NGADKARI',null,null);
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
alter table invoice add GST_IR_NO varchar2(120);
alter table DRCR_RCP add GST_IR_NO varchar2(120);
Insert into FINPARM (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,CHG_DATE,CHG_USER,CHG_TERM,DESCR,VAR_SUBS,ADDL_VALUE) values ('999999','GSP_TKN_TIMSTMP_FRMT','S','yyyyMMddHHmmssZ',to_date('02-10-17','DD-MM-RR'),'BASE ','BASE ','Timestamp format for GSP token string.',null,null); Insert into FINPARM (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,CHG_DATE,CHG_USER,CHG_TERM,DESCR,VAR_SUBS,ADDL_VALUE) values ('999999','GSP_TKN_TIMSTMP_FRMT','S','yyyyMMddHHmmssZ',to_date('02-10-17','DD-MM-RR'),'BASE ','BASE ','Timestamp format for GSP token string.',null,null);
Insert into FINPARM (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,CHG_DATE,CHG_USER,CHG_TERM,DESCR,VAR_SUBS,ADDL_VALUE) Insert into FINPARM (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,CHG_DATE,CHG_USER,CHG_TERM,DESCR,VAR_SUBS,ADDL_VALUE)
...@@ -168,7 +164,7 @@ Insert into FINPARM (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,CHG_DATE,CHG_USER,CHG_ ...@@ -168,7 +164,7 @@ Insert into FINPARM (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,CHG_DATE,CHG_USER,CHG_
values ('999999','GSTN_PUB_KEY_NAME ','S','einv_sandbox',to_date('02-01-20','DD-MM-RR'),'BASE ','BASE ','GSTN public key name',null,null); values ('999999','GSTN_PUB_KEY_NAME ','S','einv_sandbox',to_date('02-01-20','DD-MM-RR'),'BASE ','BASE ','GSTN public key name',null,null);
Insert into FINPARM (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,CHG_DATE,CHG_USER,CHG_TERM,DESCR,VAR_SUBS,ADDL_VALUE) Insert into FINPARM (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,CHG_DATE,CHG_USER,CHG_TERM,DESCR,VAR_SUBS,ADDL_VALUE)
values ('999999','GSP_PRI_KEY_NAME ','S','GSP_Private_Prod_Key',to_date('02-01-20','DD-MM-RR'),'BASE ','BASE ','GSP private key name',null,null); values ('999999','GSP_PRI_KEY_NAME ','S','GSP_Private_Sandbox_Key',to_date('02-01-20','DD-MM-RR'),'BASE ','BASE ','GSP private key name',null,null);
...@@ -183,6 +179,63 @@ values ('EINVOICE','T','<Detail1.email_addr>',null,null,'E-INVOICE LOG','Please ...@@ -183,6 +179,63 @@ values ('EINVOICE','T','<Detail1.email_addr>',null,null,'E-INVOICE LOG','Please
create table gst_ir_info (
tran_id varchar2(20) not null,
tran_date date not null,
tran_type char(1) not null, -- R - Registration, C- Cancellation
ref_ser char(6) not null, -- Reference series S-INV, D-ISS, DRNRCP, CRNRCP, MDRCRD, MDRCRC
ref_id char(10) not null,
ack_no varchar2(15), -- Acknowlegement number received from IRP
ack_date date, -- Date and time of receipt of acknowledgement
ir_no varchar2(65), -- Invoice Registration Hash code
reg_stat char(1), -- 0 - Failed, 1 - Success
qr_code blob, -- QC code image data
constraint gst_ir_info_x primary key (tran_id) using index tablespace itm_dis_i1
) tablespace itm_dis_d2;
create index ky_gst_ir_refid on gst_ir_info (ref_ser,ref_id,reg_stat) tablespace itm_dis_i1;
CREATE SEQUENCE gst_irn_seq ;
CREATE OR REPLACE TRIGGER dt_gstirninfo_insert
BEFORE INSERT ON gst_ir_info
FOR EACH ROW
BEGIN
SELECT lpad(to_char(gst_irn_seq.nextval),20,'0')
INTO :new.tran_id
FROM dual;
END;
/
create or replace procedure dp_gstirninfo
is
ll_count number(6) := 0;
begin
begin
for cur_transitstk in (
select ref_id from gst_ir_info)
loop
begin
update gst_ir_info set tran_id = lpad(to_char(gst_irn_seq.nextval),20,'0');
exception when others then
dbms_output.put_line('Exception inner');
rollback;
end;
end loop;
exception when others then
dbms_output.put_line('Exception outer');
rollback;
end;
end;
/
exec dp_gstirninfo ;
commit;
......
...@@ -309,11 +309,13 @@ public class EInvoiceIRNCancelPrc extends ProcessEJB { ...@@ -309,11 +309,13 @@ public class EInvoiceIRNCancelPrc extends ProcessEJB {
refSer="S-INV"; refSer="S-INV";
} }
sql="SELECT ir_no from gst_ir_info where ref_id=? and ref_ser =? "; sql="SELECT ir_no from gst_ir_info where ref_id=? and ref_ser =? and reg_stat= ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refNo); pstmt.setString(1, refNo);
pstmt.setString(2, refSer); pstmt.setString(2, refSer);
pstmt.setString(3, "1");
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
......
package ibase.webitm.ejb.gstclient;
import java.io.File;
import java.io.FileInputStream;
import java.security.PrivateKey;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.UUID;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.dis.DistUtility;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.utility.ITMException;
public class GstIRInfo extends ValidatorEJB
{
public GstIRInfo(UserInfoBean userInfoBean)
{
setUserInfo(userInfoBean);
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public ArrayList<HashMap> getIRInfo(String refId,String refSer)
{
String sql = "";
Connection conn = null;
PreparedStatement pstmt = null, pstmt1 = null;
ResultSet rs = null, rs1 = null;
ArrayList irnInfoList = new ArrayList();
boolean isExists = false;
String totalOrdersTillDate = "", openOrders = "",gstin="";
SimpleDateFormat gspTokenTimeFormatter = null;
Timestamp ackDate =null;
String ackDateStr="",appKey="",gspPrivateKeyName="",privateKeyPath="",clientId="",BASEURL="",timeStamp="",gspAuthString="",gspAuthSignature="";
PrivateKey aspPrivateKey = null;
String gstrIRNdata="";
HashMap irnDetMap=null;
SimpleDateFormat sdf = null;
E12GenericUtility genericUtility = new E12GenericUtility();
try
{
conn = getConnection();
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
sql=" select ack_no,ack_date,ir_no,reg_stat,tran_type FROM gst_ir_info where ref_id= ? and ref_ser= ? order by tran_id";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, checkNull(refId));
pstmt.setString(2, checkNull(refSer));
rs = pstmt.executeQuery();
while ( rs.next())
{
irnDetMap = new HashMap();
ackDate=(rs.getTimestamp("ack_date"));
if(ackDate!=null)
{
ackDateStr = sdf.format(ackDate);
}
irnDetMap.put("ack_no",checkNull(rs.getString("ack_no")));
irnDetMap.put("ack_date",ackDateStr);
irnDetMap.put("ir_no",checkNull(rs.getString("ir_no")));
irnDetMap.put("reg_stat",checkNull(rs.getString("reg_stat")));
irnDetMap.put("tran_type",checkNull(rs.getString("tran_type")));
irnInfoList.add(irnDetMap);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
}
catch (Exception e)
{
System.out.println(" Exception in CustomerDetails.getCustomerDetails()["+e.getMessage()+"]");
e.printStackTrace();
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null )
{
pstmt.close();
pstmt = null;
}
if (rs1 != null)
{
rs1.close();
rs1= null;
}
if (pstmt1 != null )
{
pstmt1.close();
pstmt1 = null;
}
if (conn != null )
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
System.out.println("Exception in GstIRInfo.getGstIRInfo()");
e.printStackTrace();
}
}
System.out.println("return String :" + irnInfoList);
return irnInfoList;
}
private String checkNull( String input )
{
if ( input == null )
{
input = "";
}
return input.trim();
}
}
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