📄 user.java
字号:
pstmt.setString(4, String.valueOf(port));
pstmt.setString(5, userId);
pstmt.execute();
pstmt = conn.prepareStatement(insertM1Sql);
pstmt.setInt(1, sessionId);
pstmt.setString(2, localMachineName);
pstmt.setString(3, String.valueOf(port));
pstmt.setString(4, clientMachineName.trim());
pstmt.setString(5, userId);
pstmt.setInt(6, pid);
pstmt.execute();
} else {
pstmt = conn.prepareStatement(insertSql);
pstmt.setInt(1, 9999);
pstmt.setInt(2, 3000);
pstmt.setString(3, localMachineName);
pstmt.setString(4, "5000");
pstmt.setString(5, userId);
pstmt.execute();
pstmt.setInt(1, 3000);
pstmt.setInt(2, 3000);
pstmt.setString(3, localMachineName);
pstmt.setString(4, "5000");
pstmt.setString(5, userId);
pstmt.execute();
pstmt = conn.prepareStatement(insertM1Sql);
pstmt.setInt(1, 3000);
pstmt.setString(2, localMachineName);
pstmt.setString(3, "5000");
pstmt.setString(4, clientMachineName.trim());
pstmt.setString(5, userId);
pstmt.setInt(6, 3000);
pstmt.execute();
}
} catch (SQLException ex) {
ex.printStackTrace();
log.error(ex.toString());
// add another ERROR CODE future
throw new UserLoginFailException("TAM0074");
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
}
rs = null;
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
}
pstmt = null;
}
// if (conn != null) {
// try {
// conn.close();
// } catch (SQLException e) {
// }
// conn = null;
// }
}
setSessionId(String.valueOf(sessionId));
}
// public static void insertPid(User ul, Connection connection, int pid,
// int sessionId) throws SQLException {
//
// PreparedStatement preparedStatement = connection
// .prepareStatement("INSERT INTO TAUSRMAS(SESSID,PID,LOCHOST,COMPORT)
// values(?,?,?,?)");
// preparedStatement.setInt(1, sessionId);
// preparedStatement.setInt(2, pid);
// preparedStatement.setString(3, ul.clientMachineName());
// preparedStatement.setString(4, "5000");
// preparedStatement.execute();
// preparedStatement.close();
// }
// public static void updatePid(int pid, Connection connection)
// throws SQLException {
// PreparedStatement preparedStatement = connection
// .prepareStatement("UPDATE TAUSRMAS set pid = ? where pid = ?");
// preparedStatement.setLong(1, pid);
// preparedStatement.setLong(2, pid);
// preparedStatement.execute();
// preparedStatement.close();
//
// }
public void createWorkStationRecord(Connection conn) throws UserLoginFailException {
int wid = getWorkStationNo(conn);
try {
insertToCTBW(conn, wid);
insertToGXXX(conn, wid);
} catch (SQLException e) {
log.error("insert Work Station SQL Exception" + e);
throw new UserLoginFailException("insert Work Station SQL Exception");
}
}
public int getWorkStationNo(Connection conn) throws UserLoginFailException {
int pro = 0;
String sql = "select PRODSER from T23M0XXX where PRODUCT =?";
String updatesql = "UPDATE T23M0XXX set PRODSER = ? where PRODSER = ? and PRODUCT =?";
String insertsql = "INSERT INTO T23M0XXX(PRODUCT,PRODSER,PRODKEY) values(?,?,?)";
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "CTBW1M00");
rs = pstmt.executeQuery();
if (rs.next()) {
int prodser = rs.getInt("PRODSER");
pstmt = conn.prepareStatement(updatesql);
pstmt.setInt(1, prodser + 1);
pstmt.setInt(2, prodser);
pstmt.setString(3, "CTBW1M00");
pstmt.execute();
pro = prodser + 1;
} else {
pstmt = conn.prepareStatement(insertsql);
pstmt.setString(1, "CTBW1M00");
pstmt.setInt(2, 1);
pstmt.setString(3, " ");
pro = 1;
}
} catch (SQLException e) {
log.error("user login query exception:" + e.toString());
throw new UserLoginFailException("check Client Machine query exception");
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
}
rs = null;
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
}
pstmt = null;
}
}
return pro;
}
public void insertToCTBW(Connection conn, int workstationNo) throws SQLException {
PreparedStatement pstmt = conn.prepareStatement("select CW1WSID from CTBW1M00 where CW1WSID=?");
pstmt.setString(1, clientMachineName);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
pstmt = conn.prepareStatement("UPDATE CTBW1M00 set CW1NUMR = ? where CW1WSID=?");
pstmt.setString(1, StringUtil.stringAddZero(String.valueOf(workstationNo), 4));
pstmt.setString(2, clientMachineName);
} else {
pstmt = conn.prepareStatement("INSERT INTO CTBW1M00(CW1WSID,CW1LOCA,CW1NUMR,CW1IUSR,CW1IDAT,CW1IFUN,CW1BCHC) values(?,?,?,?,?,?,?)");
pstmt.setString(1, clientMachineName);
pstmt.setString(2, clientMachineName);
pstmt.setString(3, StringUtil.stringAddZero(String.valueOf(workstationNo), 4));
pstmt.setString(4, " ");
pstmt.setInt(5, 0);
pstmt.setString(6, " ");
pstmt.setString(7, " ");
}
pstmt.execute();
pstmt.close();
}
public void insertToGXXX(Connection conn, int workstationNo) throws SQLException {
PreparedStatement preparedStatement = conn
.prepareStatement("INSERT INTO GXXX9M00(GX9NUMR,GX9LPRD,GX9LWSN,GX9LUID,GX9LPID,GX9LRMK) values(?,?,?,?,?,?)");
preparedStatement.setInt(1, workstationNo);
preparedStatement.setInt(2, 0);
preparedStatement.setString(3, clientMachineName);
preparedStatement.setString(4, userId);
preparedStatement.setString(5, " ");
preparedStatement.setString(6, " ");
preparedStatement.execute();
preparedStatement.close();
}
public void updateT57(Connection conn) {
PreparedStatement pstmt;
try {
pstmt = conn.prepareStatement("select PWDTCNT from T57M0XXX where FLUSRID=?");
pstmt.setString(1, userId);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
pstmt = conn.prepareStatement("update T57M0XXX set FLSTSCD = ? where FLUSRID=?");
pstmt.setString(1, "A");
pstmt.setString(2,userId);
pstmt.execute();
} else {
pstmt = conn.prepareStatement("INSERT INTO T57M0XXX(FLUSRID,PWDTCNT,FLSTSCD) values(?,?,?)");
pstmt.setString(1, userId);
pstmt.setInt(2, 0);
pstmt.setString(3, "A");
pstmt.execute();
}
pstmt.close();
} catch (SQLException e) {
log.error("update T57M0XXX sql exception " + e);
}
}
public void insertToT60(Connection conn, String type) {
PreparedStatement preparedStatement = null;
try {
preparedStatement = conn
.prepareStatement("INSERT INTO T60M0XXX(FLUSRID,ACTDATE,ACTTIME,ACTTYPE,INPUSER,APPUSER,INPDATE,INPTIME,APPDATE,APPTIME,REMARK,WRKSTAN) values(?,?,?,?,?,?,?,?,?,?,?,?)");
if(userId.length()>=10){
userId=userId.substring(0,10);
}
preparedStatement.setString(1, userId);
Date currentdate = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String dt = sdf.format(currentdate);
Time time = new Time(currentdate.getTime());
SimpleDateFormat timedf = new SimpleDateFormat("HHmmss");
String timedt = timedf.format(time);
preparedStatement.setInt(2, Integer.parseInt(dt));
preparedStatement.setInt(3, Integer.parseInt(timedt));
preparedStatement.setString(4, type);
preparedStatement.setString(5, " ");
preparedStatement.setString(6, " ");
preparedStatement.setInt(7, Integer.parseInt(dt));
preparedStatement.setInt(8, Integer.parseInt(timedt));
preparedStatement.setInt(9, Integer.parseInt(dt));
preparedStatement.setInt(10, Integer.parseInt(timedt));
preparedStatement.setString(11, " ");
preparedStatement.setString(12, clientMachineName);
preparedStatement.execute();
} catch (SQLException e) {
log.error("INSERT INTO T60M0XXX sql exception " + e);
} finally {
if (preparedStatement != null) {
try {
preparedStatement.close();
} catch (SQLException e) {
}
preparedStatement = null;
}
}
}
public void createUserWorkArea(String sessionID) throws UserLoginFailException {
preProcessDirectory(sessionID);
try {
createOnlineFile(sessionID);
createLADMAPFile(sessionID);
} catch (IOException e) {
log.error("Create User Working Area ERROR!......." + e);
throw new UserLoginFailException("EA01621");
// e.printStackTrace();
}
}
private static boolean preProcessDirectory(String sessionId) {
if (!new File("TTY").isDirectory())
new File("TTY").mkdirs();
if (!new File("TTY/" + sessionId).isDirectory())
new File("TTY/" + sessionId).mkdirs();
return true;
}
private static void createOnlineFile(String sessionId) throws IOException {
String source = "Y\n";
byte buf[] = source.getBytes();
FileOutputStream f = new FileOutputStream("TTY/" + sessionId + "/ONLINE.DAT");
f.write(buf);
f.close();
}
private void createLADMAPFile(String sessionId) throws IOException {
T00M0 tm = readTMFile();
tm.setT00CURRDAT(date);
LDAMAP ldp = setLDAMAP(tm);
FileOutputStream f = new FileOutputStream("TTY/" + sessionId + "/LDAMAP.DAT");
String ldvalue = getLDAMP(ldp);
byte buf[] = ldvalue.getBytes();
f.write(buf);
f.close();
}
private static String getLDAMP(LDAMAP ldp) {
StringBuffer ldpsb = new StringBuffer();
ldpsb.append(StringUtil.stringFitToLength(ldp.getProcessDateCC(), 2)).append(StringUtil.stringFitToLength(ldp.getProcessDateYY(), 2)).append(
StringUtil.stringFitToLength(ldp.getProcessDateMM(), 2)).append(StringUtil.stringFitToLength(ldp.getProcessDateDD(), 2)).append(
StringUtil.stringFitToLength(ldp.getUserId(), 10)).append(StringUtil.stringFitToLength(ldp.getLcyCode(), 3)).append(
StringUtil.stringFitToLength(ldp.getWorkstationId(), 10)).append(StringUtil.stringFitToLength(ldp.getJobNumber(), 6))
// not set
.append(StringUtil.stringFitToLength(ldp.getDecimalNotation(), 1)).append(StringUtil.stringFitToLength(ldp.getQdateSep(), 1)).append(
StringUtil.stringFitToLength(ldp.getQdataFmt(), 3)).append(StringUtil.stringFitToLength(ldp.getOutputMonth(), 3)).append(
StringUtil.stringFitToLength(ldp.getBankName(), 35)).append(StringUtil.stringFitToLength(ldp.getCorpCcy(), 3)).append(
StringUtil.stringFitToLength(ldp.getSwiftAdd(), 11)).append(StringUtil.stringFitToLength(ldp.getHoBchCode(), 4)).append(
StringUtil.stringFitToLength(ldp.getHoIrrCcy(), 15)).append(StringUtil.stringFitToLength(ldp.getHoFxAdjGl(), 20)).append(
StringUtil.stringFitToLength(ldp.getBankId(), 1))
// not set
.append(StringUtil.stringFitToLength(ldp.getBranchId(), 1))
// not set
.append(StringUtil.stringFitToLength(ldp.getExAmtTol(), 3)).append(StringUtil.stringFitToLength(ldp.getFcyCode(), 3))
// not set
.append(StringUtil.stringFitToLength(ldp.getDeptCode(), 3)).append(StringUtil.stringFitToLength(ldp.getDayEndFlag(), 1)).append(
StringUtil.stringFitToLength(ldp.getTempFunctionName(), 8))
// not set
.append(StringUtil.stringFitToLength(ldp.getProductId(), 4))
// not set
.append(StringUtil.stringFitToLength(ldp.getProductName(), 8))
// not set
.append(StringUtil.stringFitToLength(ldp.getFnctionName(), 8))
// not set
.append(StringUtil.stringFitToLength(ldp.getTxBch(), 10)).append(StringUtil.stringFitToLength(ldp.getOvrUserId(), 10)).append(
StringUtil.stringFitToLength(ldp.getNextProcessDate(), 8)).append(StringUtil.stringFitToLength(ldp.getPrexProcessDate(), 8))
.append(StringUtil.stringFitToLength(ldp.getDayEndFlagInd(), 1)).append(StringUtil.stringFitToLength(ldp.getWeekEndFlag(), 1))
.append(StringUtil.stringFitToLength(ldp.getBiWeekEndFlag(), 1)).append(StringUtil.stringFitToLength(ldp.getMonthEndFlag(), 1))
.append(StringUtil.stringFitToLength(ldp.getQuarYearEndFlag(), 1)).append(StringUtil.stringFitToLength(ldp.getHalfYearEndFlag(), 1))
.append(StringUtil.stringFitToLength(ldp.getYearEndFlag(), 1)).append(StringUtil.stringFitToLength(ldp.getSpecialFlag1(), 1)).append(
StringUtil.stringFitToLength(ldp.getSpecialFlag2(), 1)).append(StringUtil.stringFitToLength(ldp.getSpecialFlag3(), 1))
.append(StringUtil.stringFitToLength(ldp.getDateFmt(), 1)).append(StringUtil.stringFitToLength(ldp.getProcessBch(), 8))
// not set
.append(StringUtil.stringFitToLength(ldp.getSfStatus(), 1))
// not set
.append(StringUtil.stringFitToLength(ldp.getDummyRunInd(), 1)).append(StringUtil.stringFitToLength(ldp.getBatchApprFlag(), 1))// not
// set
.append(StringUtil.stringFitToLength("", 248)).append(StringUtil.stringFitToLength(ldp.getFiller(), 1))// notset
.append(StringUtil.stringFitToLength(ldp.getAcudBui(), 1))// not
.append(StringUtil.stringFitToLength("", 510)).append("\n"); // set
return ldpsb.toString();
}
private static T00M0 readTMFile() throws IOException {
T00M0 tm = null;
try {
Configuration config = PropertiesConfiguration.getInstance();
String addTM = config.getString("addressT00M0", "T00M0.DAT");
RandomAccessFile inFile = new RandomAccessFile(addTM, "r");
// RandomAccessFile inFile = new RandomAccessFile("c:/T00M0.DAT", "r");
FileChannel in = inFile.getChannel();
MappedByteBuffer mappedBuffer = in.map(FileChannel.MapMode.READ_ONLY, 0, inFile.length());
String charBuffer = Charset.forName("ISO-8859-1").decode(mappedBuffer).toString();
System.out.println("charBuffer: " + charBuffer);
tm = new T00M0(StringUtil.stringFitToLength(charBuffer, 177));
} catch (ecAppServerConfigException e) {
log.error("reading config file failure...");
e.printStackTrace();
} catch (IOException e) {
throw e;
}
return tm;
}
private LDAMAP setLDAMAP(T00M0 tm) {
LDAMAP ldp = new LDAMAP();
String currentDate = tm.getT00CURRDAT();
ldp.setProcessDateCC(currentDate.substring(0, 2));
ldp.setProcessDateYY(currentDate.substring(2, 4));
ldp.setProcessDateMM(currentDate.substring(4, 6));
ldp.setProcessDateDD(currentDate.substring(6, 8));
ldp.setUserId(setNotNull(userId));
ldp.setWorkstationId(setNotNull(clientMachineName));
ldp.setBankName(setNotNull(tm.getT00BANKNAME()));
ldp.setLcyCode(setNotNull(tm.getT00LCYCODE()));
ldp.setCorpCcy(setNotNull(tm.getT00CORPCCY()));
ldp.setDecimalNotation(".");
ldp.setOutputMonth(setNotNull(tm.getT00MONCHAR()));
ldp.setQdateSep(setNotNull(tm.getT00DATESEP()));
ldp.setHoBchCode(setNotNull(tm.getT00HEADBRH()));
if (tm.getT00DATEFMT().equals("M") || tm.getT00DATEFMT().equals("3") || tm.getT00DATEFMT().equals("6") || tm.getT00DATEFMT().equals("9")) {
ldp.setQdataFmt("MDY");
} else if (tm.getT00DATEFMT().equals("D") || tm.getT00DATEFMT().equals("2") || tm.getT00DATEFMT().equals("5")
|| tm.getT00DATEFMT().equals("8")) {
ldp.setQdataFmt("DMY");
} else if (tm.getT00DATEFMT().equals("Y") || tm.getT00DATEFMT().equals("1") || tm.getT00DATEFMT().equals("4")
|| tm.getT00DATEFMT().equals("7")) {
ldp.setQdataFmt("YMD");
}
ldp.setDateFmt(setNotNull(tm.getT00DATEFMT()));
ldp.setSwiftAdd(setNotNull(tm.getT00SWIFTAD()));
ldp.setHoIrrCcy(setNotNull(tm.getT00IRRECCY()));
ldp.setHoFxAdjGl(setNotNull(tm.getT00FXADJGL()));
ldp.setExAmtTol(setNotNull(tm.getT00AMTTOLE()));
ldp.setDeptCode(setNotNull(tm.getT00DEPTCOD()));
ldp.setDayEndFlag(setNotNull(tm.getT00DAYENDF()));
ldp.setDayEndFlagInd(setNotNull(tm.getT00DAYEFGI()));
ldp.setWeekEndFlag(setNotNull(tm.getT00WEEKEFG()));
ldp.setBiWeekEndFlag(setNotNull(tm.getT00BIWKEFG()));
ldp.setMonthEndFlag(setNotNull(tm.getT00MONTEFG()));
ldp.setQuarYearEndFlag(setNotNull(tm.getT00QYREFGI()));
ldp.setHalfYearEndFlag(setNotNull(tm.getT00HYREFGI()));
ldp.setYearEndFlag(setNotNull(tm.getT00YEAREFG()));
ldp.setSpecialFlag1(setNotNull(tm.getT00SPECFG1()));
ldp.setSpecialFlag2(setNotNull(tm.getT00SPECFG2()));
ldp.setSpecialFlag3(setNotNull(tm.getT00SPECFG3()));
ldp.setNextProcessDate(tm.getT00NEXTDAT().trim());
ldp.setPrexProcessDate(tm.getT00LASTDAT().trim());
ldp.setDummyRunInd(setNotNull(tm.getT00DUMRUNI()));
ldp.setHoFxAdjGl(setNotNull(tm.getT00FXADJGL()));
return ldp;
}
public void setcurrentdate(String dt) {
date = dt;
}
private static String setNotNull(String value) {
return (value == null) ? "" : value;
}
public String getPort() {
return String.valueOf(port);
}
/**
*
* @return
* @author
*/
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("User[");
buffer.append("localMachineName = ").append(localMachineName);
buffer.append(" messageSize = ").append(messageSize);
buffer.append(" messageType = ").append(messageType);
buffer.append(" password = ").append(password);
buffer.append(" userId = ").append(userId);
buffer.append(" clientMachineName = ").append(clientMachineName);
buffer.append("]");
return buffer.toString();
}
public String getSessionId() {
return sessionId;
}
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -