📄 aipsdatadeal.java
字号:
package boco.transmonitor.xmlsocket;//******************************************************************************//:功能:处理AIPS发送的字符流//:时间:2002-07//:作者:王建宾//:特殊描述::test:为DEBUG时启用//:程序描述:// 自动生成流水序号//******************************************************************************import java.net.*;import java.io.*;import xmlapp.*;import org.w3c.dom.*;import java.util.*;import java.sql.*;import boco.shabank.dbconnection.*;public class aipsDataDeal { //变量定义:字符总长154 //中间业务流水号,18,交易日期(8)+交换平台的流水(10) String uaopTrnNo; //交易码,4 String tranCode; //省市代码,2 String proCode; //行号,4 String branch; //帐务交易日期,8 String tpeTrnDate; //帐务交易时间,6 String tpeTrnTime; //帐务系统日志号,9 String tpeTrnNo; //传票号,8 String vchNo; //帐务返回码,4 String retCode; //帐号1,20 String accNum1; //金额1,19 String trnAmt1; //帐号2,20 String accNum2; //冲正结果,4 String revResult; //帐务冲正日志号,9 String revJrnNo; //冲正传票号,8 String revVchNo; //交易类型,1,1-正交易;2-冲正;3-管理;4-查询 String trnType; //设备编者号,8 String reqID; //交易来源 String reqType; //业务种类 String tradeType; //流水序号 String transId; //连接数据库变量 DBConnectionManager objDBConnection; Connection m_Connection; DBAccess db; ResultSet rs; String sql; String tmpSql;//***************************************************************************//功能:处理解析传入aips数据流//方法:按长度截取//*************************************************************************** public aipsDataDeal() { //变量初始化: uaopTrnNo = ""; tranCode = ""; proCode = ""; branch = ""; tpeTrnDate = ""; tpeTrnTime = ""; tpeTrnNo = ""; vchNo = ""; retCode = ""; accNum1 = ""; trnAmt1 = ""; accNum2 = ""; revResult = ""; revJrnNo = ""; revVchNo = ""; trnType = ""; reqID = ""; reqType = ""; tradeType = ""; transId = ""; objDBConnection = null; m_Connection = null; db = null; sql = ""; tmpSql = ""; rs = null; //初始化结束 } public void aipsDataDeal(String inUmspData){ //解析字符流,赋给各变量 uaopTrnNo = inUmspData.substring(0,18).trim(); //:test:System.out.println("中间业务流水号:"+uaopTrnNo); tranCode = inUmspData.substring(18,22).trim(); //:test:System.out.println("交易码:"+tranCode); proCode = inUmspData.substring(22,24).trim(); //:test:System.out.println("省市代码:"+proCode); branch = inUmspData.substring(24,28).trim(); //:test:System.out.println("行号:"+branch); tpeTrnDate = inUmspData.substring(28,36).trim(); //:test:System.out.println("帐务交易日期:"+tpeTrnDate); tpeTrnTime = inUmspData.substring(36,42).trim(); //:test:System.out.println("帐务交易时间:"+tpeTrnTime); tpeTrnNo = inUmspData.substring(42,51).trim(); //:test:System.out.println("帐务系统日志号:"+tpeTrnNo); vchNo = inUmspData.substring(51,59).trim(); //:test:System.out.println("传票号:"+vchNo); retCode = inUmspData.substring(59,63).trim(); //:test:System.out.println("帐务返回码:"+retCode); accNum1 = inUmspData.substring(63,83).trim(); //:test:System.out.println("帐号1:"+accNum1); trnAmt1 = inUmspData.substring(83,102).trim(); //:test:System.out.println("金额1:"+trnAmt1); accNum2 = inUmspData.substring(102,122).trim(); //:test:System.out.println("帐号2:"+accNum2); revResult = inUmspData.substring(122,126).trim(); //:test:System.out.println("冲正结果:"+revResult); revJrnNo = inUmspData.substring(126,135).trim(); //:test:System.out.println("帐务冲正日志号:"+revJrnNo); revVchNo = inUmspData.substring(135,143).trim(); //:test:System.out.println("冲正传票号:"+revVchNo); trnType = inUmspData.substring(143,144).trim(); //:test:System.out.println("交易类型:"+trnType); reqID = inUmspData.substring(144,152).trim(); //:test:System.out.println("设备编号:"+reqID); reqType = inUmspData.substring(152,154).trim(); //:test:System.out.println("交易来源:"+reqType); tradeType = inUmspData.substring(154,156).trim(); //:test:System.out.println("业务种类:"+tradeType); //解析结束 //执行SQL插入transdetect表 db=new DBAccess(); objDBConnection=objDBConnection.getInstance() ; //取当前表中最大流水序号 tmpSql = "select max(transid) from transdetect"; try{ m_Connection = objDBConnection.getConnection("access") ; rs = db.executeQuery(m_Connection,tmpSql); if(rs.next()){ transId = Integer.toString(rs.getInt(1) + 1 ); rs.close(); } sql="insert into transdetect values(" + "'" + uaopTrnNo + "'," + "'" + tranCode + "'," + "'" + proCode + "'," + "'" + branch + "'," + "'" + tpeTrnDate + "'," + "'" + tpeTrnTime + "'," + "'" + tpeTrnNo + "'," + "'" + vchNo + "'," + "'" + retCode + "'," + "'" + accNum1 + "'," + "'" + trnAmt1 + "'," + "'" + accNum2 + "'," + "'" + revResult + "'," + "'" + revJrnNo + "'," + "'" + revVchNo + "'," + "'" + trnType + "'," + "'" + reqID + "'," + "'" + reqType + "'," + "'" + tradeType + "'," + transId + ")"; //:test: System.out.println("AIPS DATA DEAL SQL:"+sql); db.executeUpdate(m_Connection,sql); //释放连接池 objDBConnection.freeConnection("access",m_Connection) ; }catch(Exception e){ System.out.print("errorMsg=" + e.getMessage()) ; } //执行SQL结束 } public static void main(String[] args) { aipsDataDeal doAips = new aipsDataDeal(); doAips.aipsDataDeal("12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -