From a69e8200eff450134498b83b0ec5d9603eceb510 Mon Sep 17 00:00:00 2001 From: leebj Date: Mon, 8 Sep 2025 14:33:28 +0900 Subject: [PATCH] =?UTF-8?q?=EC=86=8C=EC=8A=A4=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 +- src/main/java/center/dao/CenterTransDAO.java | 562 ---------------- src/main/java/center/dao/VanTransDAO.java | 328 ---------- src/main/java/center/data/ApplyBoothInfo.java | 169 ----- src/main/java/center/data/ApplyCardJoin.java | 185 ------ .../java/center/data/ApplyCollectSettle.java | 330 ---------- src/main/java/center/data/ApplyCollector.java | 179 ----- src/main/java/center/data/ApplyCpnDisuse.java | 309 --------- src/main/java/center/data/ApplyDataMain.java | 190 ------ src/main/java/center/data/ApplyFareTerm.java | 465 ------------- .../java/center/data/ApplyFareTermupd.java | 136 ---- src/main/java/center/data/ApplyFixTicket.java | 277 -------- src/main/java/center/data/ApplyInOutAmt.java | 213 ------ .../java/center/data/ApplyIncomeInfo.java | 267 -------- .../java/center/data/ApplyOverCoupon.java | 333 ---------- src/main/java/center/data/ApplyOverFare.java | 259 -------- src/main/java/center/data/ApplyRepayInfo.java | 211 ------ src/main/java/center/data/ApplyResultPre.java | 174 ----- .../java/center/data/ApplyResultPreEB.java | 185 ------ src/main/java/center/data/ApplyResultRF.java | 167 ----- src/main/java/center/data/ApplyRfidUse.java | 131 ---- src/main/java/center/data/ApplyTaxesInfo.java | 133 ---- .../java/center/data/ApplyWrongPayCar.java | 180 ------ src/main/java/center/data/MakeDataMain.java | 118 ---- src/main/java/center/data/MakeExemptCar.java | 155 ----- .../java/center/data/MakePurchasePre.java | 298 --------- .../java/center/data/MakePurchasePreEB.java | 303 --------- src/main/java/center/data/MakePurchaseRF.java | 290 --------- src/main/java/center/data/MakeRfidInfo.java | 601 ----------------- .../java/center/data/MakeRfidInfoGreen.java | 161 ----- src/main/java/center/data/MakeRfidUse.java | 155 ----- .../data/format/BoothInfoDataRecord.java | 59 -- .../data/format/CardJoinDataRecord.java | 65 -- .../data/format/CollectSettleDataRecord.java | 149 ----- .../data/format/CollectorDataRecord.java | 76 --- .../data/format/CpnDisuseDataRecord.java | 69 -- .../data/format/FareTermDataRecord.java | 119 ---- .../data/format/FareTermUpdDataRecord.java | 70 -- .../data/format/FixTicketDataRecord.java | 98 --- .../data/format/InOutAmtDataRecord.java | 74 --- .../data/format/IncomeInfoDataRecord.java | 99 --- .../data/format/OverCouponDataRecord.java | 173 ----- .../data/format/OverFareDataRecord.java | 104 --- .../data/format/RepayInfoDataRecord.java | 85 --- .../center/data/format/RfidDataRecord.java | 81 --- .../center/data/format/RfidUseDataRecord.java | 104 --- .../data/format/TaxesInfoDataRecord.java | 69 -- .../data/format/WrongPayCarDataRecord.java | 65 -- src/main/java/center/green/DayCloseApi.java | 153 ++--- .../java/center/green/DayCloseApiManual.java | 137 ++-- .../java/center/green/DayCloseReturn.java | 152 ++--- .../java/center/green/DayCloseReturnTest.java | 220 ------- src/main/java/center/green/FTPUtil.java | 41 +- src/main/java/center/green/RunProc.java | 60 -- .../java/center/green/TMSendClientGreen.java | 254 ++++---- src/main/java/center/green/test.java | 83 --- src/main/java/center/online/OnCommon.java | 176 ----- src/main/java/center/online/OnServer01.java | 226 ------- src/main/java/center/online/OnServer03.java | 226 ------- .../online/process/DefaultFareReadInfo.java | 150 ----- .../center/online/process/FareAdjustInfo.java | 188 ------ .../online/process/FareTerminalInfo.java | 192 ------ .../center/online/process/RFRepayInfo.java | 123 ---- .../center/online/process/RFTerminalInfo.java | 186 ------ src/main/java/center/transfer/CommClient.java | 40 +- .../java/center/transfer/SWRecvClient.java | 492 -------------- .../java/center/transfer/SWSendClient.java | 415 ------------ .../java/center/transfer/TMRecvServer.java | 81 +-- .../java/center/transfer/TMSendClient.java | 449 ------------- .../java/center/transfer/TNRecvServer01.java | 610 ----------------- .../java/center/transfer/TNRecvServer03.java | 611 ------------------ .../java/center/transfer/TNSendClient01.java | 441 ------------- .../java/center/transfer/TNSendClient03.java | 443 ------------- src/main/java/com/base/FileWorker.java | 19 +- 74 files changed, 340 insertions(+), 14861 deletions(-) delete mode 100644 src/main/java/center/dao/CenterTransDAO.java delete mode 100644 src/main/java/center/dao/VanTransDAO.java delete mode 100644 src/main/java/center/data/ApplyBoothInfo.java delete mode 100644 src/main/java/center/data/ApplyCardJoin.java delete mode 100644 src/main/java/center/data/ApplyCollectSettle.java delete mode 100644 src/main/java/center/data/ApplyCollector.java delete mode 100644 src/main/java/center/data/ApplyCpnDisuse.java delete mode 100644 src/main/java/center/data/ApplyDataMain.java delete mode 100644 src/main/java/center/data/ApplyFareTerm.java delete mode 100644 src/main/java/center/data/ApplyFareTermupd.java delete mode 100644 src/main/java/center/data/ApplyFixTicket.java delete mode 100644 src/main/java/center/data/ApplyInOutAmt.java delete mode 100644 src/main/java/center/data/ApplyIncomeInfo.java delete mode 100644 src/main/java/center/data/ApplyOverCoupon.java delete mode 100644 src/main/java/center/data/ApplyOverFare.java delete mode 100644 src/main/java/center/data/ApplyRepayInfo.java delete mode 100644 src/main/java/center/data/ApplyResultPre.java delete mode 100644 src/main/java/center/data/ApplyResultPreEB.java delete mode 100644 src/main/java/center/data/ApplyResultRF.java delete mode 100644 src/main/java/center/data/ApplyRfidUse.java delete mode 100644 src/main/java/center/data/ApplyTaxesInfo.java delete mode 100644 src/main/java/center/data/ApplyWrongPayCar.java delete mode 100644 src/main/java/center/data/MakeDataMain.java delete mode 100644 src/main/java/center/data/MakeExemptCar.java delete mode 100644 src/main/java/center/data/MakePurchasePre.java delete mode 100644 src/main/java/center/data/MakePurchasePreEB.java delete mode 100644 src/main/java/center/data/MakePurchaseRF.java delete mode 100644 src/main/java/center/data/MakeRfidInfo.java delete mode 100644 src/main/java/center/data/MakeRfidInfoGreen.java delete mode 100644 src/main/java/center/data/MakeRfidUse.java delete mode 100644 src/main/java/center/data/format/BoothInfoDataRecord.java delete mode 100644 src/main/java/center/data/format/CardJoinDataRecord.java delete mode 100644 src/main/java/center/data/format/CollectSettleDataRecord.java delete mode 100644 src/main/java/center/data/format/CollectorDataRecord.java delete mode 100644 src/main/java/center/data/format/CpnDisuseDataRecord.java delete mode 100644 src/main/java/center/data/format/FareTermDataRecord.java delete mode 100644 src/main/java/center/data/format/FareTermUpdDataRecord.java delete mode 100644 src/main/java/center/data/format/FixTicketDataRecord.java delete mode 100644 src/main/java/center/data/format/InOutAmtDataRecord.java delete mode 100644 src/main/java/center/data/format/IncomeInfoDataRecord.java delete mode 100644 src/main/java/center/data/format/OverCouponDataRecord.java delete mode 100644 src/main/java/center/data/format/OverFareDataRecord.java delete mode 100644 src/main/java/center/data/format/RepayInfoDataRecord.java delete mode 100644 src/main/java/center/data/format/RfidDataRecord.java delete mode 100644 src/main/java/center/data/format/RfidUseDataRecord.java delete mode 100644 src/main/java/center/data/format/TaxesInfoDataRecord.java delete mode 100644 src/main/java/center/data/format/WrongPayCarDataRecord.java delete mode 100644 src/main/java/center/green/DayCloseReturnTest.java delete mode 100644 src/main/java/center/green/RunProc.java delete mode 100644 src/main/java/center/green/test.java delete mode 100644 src/main/java/center/online/OnCommon.java delete mode 100644 src/main/java/center/online/OnServer01.java delete mode 100644 src/main/java/center/online/OnServer03.java delete mode 100644 src/main/java/center/online/process/DefaultFareReadInfo.java delete mode 100644 src/main/java/center/online/process/FareAdjustInfo.java delete mode 100644 src/main/java/center/online/process/FareTerminalInfo.java delete mode 100644 src/main/java/center/online/process/RFRepayInfo.java delete mode 100644 src/main/java/center/online/process/RFTerminalInfo.java delete mode 100644 src/main/java/center/transfer/SWRecvClient.java delete mode 100644 src/main/java/center/transfer/SWSendClient.java delete mode 100644 src/main/java/center/transfer/TMSendClient.java delete mode 100644 src/main/java/center/transfer/TNRecvServer01.java delete mode 100644 src/main/java/center/transfer/TNRecvServer03.java delete mode 100644 src/main/java/center/transfer/TNSendClient01.java delete mode 100644 src/main/java/center/transfer/TNSendClient03.java diff --git a/README.md b/README.md index 395ac8a..2c233f7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,11 @@ # DayCloseAPI -혼잡통행료 웹서버 jar (티머니 관련) \ No newline at end of file +혼잡통행료 웹서버 jar (티머니 관련) + + +SW = 삼원 +
+TM = 티머니 +
+TN = 터널 +
\ No newline at end of file diff --git a/src/main/java/center/dao/CenterTransDAO.java b/src/main/java/center/dao/CenterTransDAO.java deleted file mode 100644 index eaaf45d..0000000 --- a/src/main/java/center/dao/CenterTransDAO.java +++ /dev/null @@ -1,562 +0,0 @@ -package center.dao; - -import java.sql.*; - -import com.resources.data.*; -/** - * 파일 송수신 관련 테이블 처리 메소드
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2006-12-20 초기 작성 - */ -public class CenterTransDAO { - private Connection conn; - /** - * Constructor - * @param conn - * @throws SQLException - */ - public CenterTransDAO(Connection conn){ - this.conn = conn; - } - /** - * 파일 송수신 상태 반영 - */ - public Info getSendFileInfo( String sOrganCode, - String sTransType, - String sStatus) throws SQLException , Exception { - Info data = null; - PreparedStatement ps = null; - ResultSet rs = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - // 송수신 파일 정보 조회 - sbBuffer.append(" select his.SEQ, ") - .append(" his.file_kind_id FILE_CODE, ") - .append(" his.FILE_NAME, ") - .append(" his.DIR_NAME, ") - .append(" info.RECORD_LEN REC_LEN, ") - .append(" info.RECORD_CNT REC_CNT, ") - .append(" info.SEQ_CNT ") - .append(" from FILE_KIND_CODE_INFO info, ") - .append(" FILE_TRANS_HISTORY his ") - .append(" where info.file_kind_id = his.file_kind_id ") - .append(" and his.FARE_OFFICE_ID = ? ") - .append(" and his.file_trans_kbn = ? ") - .append(" and his.FILE_TRANS_YN = ? ") - .append(" order by seq ") - ; - - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - ps.setString(idx++ , sOrganCode); - ps.setString(idx++ , sTransType); - ps.setString(idx++ , sStatus); - - rs = ps.executeQuery(); - if ( rs.next() ){ - data = new Info(); - data.setLong ("SEQ" , rs.getLong ("SEQ") ); - data.setString("FILE_CODE" , rs.getString("FILE_CODE") ); - data.setString("FILE_NAME" , rs.getString("FILE_NAME") ); - data.setString("DIR_NAME" , rs.getString("DIR_NAME") ); - data.setInt ("REC_LEN" , rs.getInt ("REC_LEN") ); - data.setInt ("REC_CNT" , rs.getInt ("REC_CNT") ); - data.setInt ("SEQ_CNT" , rs.getInt ("SEQ_CNT") ); - } - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return data; - } - /** - * 파일 송수신 상태 반영 - */ - public Info getFileInfo( String sFileCode) throws SQLException , Exception { - Info data = null; - PreparedStatement ps = null; - ResultSet rs = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - // 송수신 파일 정보 조회 - sbBuffer.append(" select file_kind_id FILE_CODE, ") - .append(" RECORD_LEN REC_LEN, ") - .append(" RECORD_CNT REC_CNT, ") - .append(" SEQ_CNT, ") - .append(" FILE_DIR ") - .append(" from FILE_KIND_CODE_INFO ") - .append(" where TRIM(file_kind_id) = ? "); - - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - ps.setString(idx++ , sFileCode); - - rs = ps.executeQuery(); - if ( rs.next() ){ - data = new Info(); - data.setString("FILE_CODE" , rs.getString("FILE_CODE") ); - data.setInt ("REC_LEN" , rs.getInt("REC_LEN") ); - data.setInt ("REC_CNT" , rs.getInt("REC_CNT") ); - data.setInt ("SEQ_CNT" , rs.getInt("SEQ_CNT") ); - data.setString("FILE_DIR" , rs.getString("FILE_DIR") ); - } - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return data; - } - /** - * 파일 송수신 상태 수정 - */ - public void updTransFileInfo(long nSeq , - String sStatus, - String sUpdater) throws SQLException , Exception { - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - sbBuffer.append(" update FILE_TRANS_HISTORY ") - .append(" set FILE_TRANS_YN = ?, ") - .append(" SEND_DATE = SYSDATE, ") - .append(" UPDATE_DATE = SYSDATE, ") - .append(" UPDATER = ? ") - .append(" WHERE SEQ = ? ") - .append(" and file_trans_kbn = ? ") - .append(" and FILE_TRANS_YN = ? "); - - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - ps.setString(idx++ , sStatus ); - ps.setString(idx++ , sUpdater); - ps.setLong (idx++ , nSeq); - ps.setString(idx++ , "S" ); - ps.setString(idx++ , "N" ); - - if( ps.executeUpdate() != 1){ - throw new SQLException ("FILE_TRANS_HISTORY 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - } - /** - * 송수신파일 정보 INSERT - */ - public void insertRecvFileInfo(Info data) throws SQLException , Exception { - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - sbBuffer.append(" INSERT INTO FILE_TRANS_HISTORY ( ") - .append(" SEQ, ") - .append(" FILE_KIND_ID, ") - .append(" PASS_DATE, ") - .append(" FORMAT_DATE, ") - .append(" FARE_OFFICE_ID, ") - .append(" FILE_TRANS_KBN, ") - .append(" FILE_TRANS_YN, ") - .append(" DATA_PROCESS_KBN, ") - .append(" DIR_NAME, ") - .append(" FILE_NAME, ") - .append(" CREATE_DATE, ") - .append(" CREATER , ") - .append(" UPDATE_DATE, ") - .append(" UPDATER ) ") - .append(" VALUES ( FILE_TRANS_SEQ.NEXTVAL, ?, ?, ?, ?, ?, ?, ?, ?, ?, SYSDATE, ? , SYSDATE, ? ) "); - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - - ps.setString(idx++ , data.getString("FILE_KIND_ID")); - ps.setString(idx++ , data.getString("FORMAT_DATE")); - ps.setString(idx++ , data.getString("FORMAT_DATE")); - ps.setString(idx++ , data.getString("FARE_OFFICE_ID")); - ps.setString(idx++ , data.getString("FILE_TRANS_KBN")); - ps.setString(idx++ , data.getString("FILE_TRANS_YN")); - ps.setString(idx++ , data.getString("DATA_PROCESS_KBN")); - ps.setString(idx++ , data.getString("DIR_NAME")); - ps.setString(idx++ , data.getString("FILE_NAME")); - ps.setString(idx++ , data.getString("CREATER")); - ps.setString(idx++ , data.getString("CREATER")); - - if( ps.executeUpdate() != 1){ - throw new SQLException ("FILE_TRANS_HISTORY 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - } - /** - * 송수신파일 정보 INSERT - */ - public long getNextSeq(String sFileKindID) throws Exception{ - long nSeqNo = 0; - PreparedStatement ps = null; - PreparedStatement psUpd = null; - StringBuffer sbBuffer = new StringBuffer(); - ResultSet rs = null; - try{ - sbBuffer.append(" select Last_data_no+1 from file_kind_code_info ") - .append(" where file_kind_id = ? "); - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - ps.setString(idx++ , sFileKindID); - rs = ps.executeQuery(); - if(rs.next()){ - nSeqNo = rs.getLong(1); - psUpd = conn.prepareStatement(" update file_kind_code_info set Last_data_no = ? where file_kind_id = ? "); - idx = 1 ; - psUpd.setLong (idx++ , nSeqNo); - psUpd.setString(idx++ , sFileKindID); - psUpd.executeUpdate(); - if( psUpd.executeUpdate() != 1){ - throw new SQLException ("file_kind_code_info 반영 실패"); - } - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - if(psUpd != null){ try{ psUpd.close(); }catch(Exception ignore){} } - } - return nSeqNo; - } - - /** - * 송수신파일 정보 INSERT - */ - public void insertFileTransInfo(Info data) throws SQLException , Exception { - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - sbBuffer.append(" INSERT INTO FILE_TRANS_INFO ( ") - .append(" FILE_KIND_ID, ") - .append(" YEAR, ") - .append(" MONTH, ") - .append(" DAY, ") - .append(" DATA_SEQNO, ") - .append(" FILE_TRANS_YN, ") - .append(" FORMAT_DATE, ") - .append(" DIR_NAME , ") - .append(" FILE_NAME, ") - .append(" DATA_PROCESS_KBN, ") - .append(" CREATE_DATE, ") - .append(" CREATER, ") - .append(" UPDATE_DATE, ") - .append(" UPDATER) ") - .append(" VALUES ( ?, ?, ?, ?, ?, '1', SYSDATE, ?, ?, ?, SYSDATE, ? , SYSDATE, ? ) "); - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - - ps.setString(idx++ , data.getString("FILE_KIND_ID")); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(0,4)); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(4,6)); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(6,8)); - ps.setLong (idx++ , data.getLong ("DATA_SEQNO")); - ps.setString(idx++ , data.getString("DIR_NAME")); - ps.setString(idx++ , data.getString("FILE_NAME")); - ps.setString(idx++ , "R"); - ps.setString(idx++ , data.getString("CREATER")); - ps.setString(idx++ , data.getString("CREATER")); - - if( ps.executeUpdate() != 1){ - throw new SQLException ("FILE_TRANS_INFO 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - } - /** - * 송수신파일 정보 INSERT - */ - public void insertOfficeTransInfo(Info data) throws SQLException , Exception { - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - sbBuffer.append(" INSERT INTO office_trans_info ( ") - .append(" FILE_KIND_ID, ") - .append(" YEAR, ") - .append(" MONTH, ") - .append(" DAY, ") - .append(" DATA_SEQNO, ") - .append(" FARE_OFFICE_ID, ") - .append(" DATA_PROCESS_KBN, ") - .append(" CREATE_DATE, ") - .append(" CREATER ) ") - .append(" VALUES ( ?, ?, ?, ?, ?, ?, ?, SYSDATE, ? ) "); - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - - ps.setString(idx++ , data.getString("FILE_KIND_ID")); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(0,4)); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(4,6)); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(6,8)); - ps.setLong (idx++ , data.getLong ("DATA_SEQNO")); - ps.setString(idx++ , data.getString("FARE_OFFICE_ID")); - ps.setString(idx++ , "R"); - ps.setString(idx++ , data.getString("CREATER")); - - if( ps.executeUpdate() != 1){ - throw new SQLException ("office_trans_info 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - } - /** - * 파일 송수신 상태 반영 - */ - public Info getTunnelSendInfo( String sOrganCode) throws SQLException , Exception { - Info data = null; - PreparedStatement ps = null; - ResultSet rs = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - // 송수신 파일 정보 조회 - sbBuffer.append(" select file_.file_name FILE_NAME, ") - .append(" file_.dir_name DIR_NAME, ") - .append(" office.file_kind_id FILE_CODE, ") - .append(" file_.data_seqno SEQ, ") - .append(" info.record_len REC_LEN, ") - .append(" info.record_cnt REC_CNT, ") - .append(" info.seq_cnt SEQ_CNT ") - .append(" from file_kind_code_info info, ") - .append(" file_trans_info file_, ") - .append(" office_trans_info office ") - .append(" where file_.data_seqno = office.data_seqno ") - .append(" and file_.file_kind_id = office.file_kind_id ") - .append(" and info.file_kind_id = file_.file_kind_id ") - .append(" and office.fare_office_id = ? ") - .append(" and office.data_process_kbn='R' ") - .append(" order by file_.create_date asc "); - - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - ps.setString(idx++ , sOrganCode); - - rs = ps.executeQuery(); - if ( rs.next() ){ - data = new Info(); - data.setString("SEQ" , rs.getString("SEQ") ); - data.setString("FILE_CODE" , rs.getString("FILE_CODE") ); - data.setString("FILE_NAME" , rs.getString("FILE_NAME") ); - data.setString("DIR_NAME" , rs.getString("DIR_NAME") ); - data.setInt ("REC_LEN" , rs.getInt ("REC_LEN") ); - data.setInt ("REC_CNT" , rs.getInt ("REC_CNT") ); - data.setInt ("SEQ_CNT" , rs.getInt ("SEQ_CNT") ); - } - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return data; - } - /** - * 파일 송수신 상태 수정 - */ - public void updTunnelSendInfo(String sDataSeq, String sOfficeID, String sFileKindID) throws SQLException , Exception { - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - sbBuffer.append(" update office_trans_info ") - .append(" set data_process_kbn = 'S', ") - .append(" update_date = sysdate, ") - .append(" updater = 'communicat' ") - .append(" WHERE data_seqno = ? ") - .append(" and fare_office_id = ? ") - .append(" and file_kind_id = ? "); - - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - ps.setString(idx++ , sDataSeq ); - ps.setString(idx++ , sOfficeID ); - ps.setString(idx++ , sFileKindID ); - - if( ps.executeUpdate() != 1){ - throw new SQLException ("office_trans_info 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - } - /** - * 파일 송수신 상태 수정 - */ - public void insertCardTransLog(String sFileName, String sOfficeID, String sKBN, String sLog) throws SQLException , Exception { - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - sbBuffer.append(" INSERT INTO Card_Trans_Log_INFO ( ") - .append(" D_ST_DATE, ") - .append(" D_ST_TIME, ") - .append(" D_ED_DATE, ") - .append(" D_ED_TIME, ") - .append(" T_FILE_NAME, ") - .append(" C_CARD_KBN, ") - .append(" FARE_OFFICE_ID, ") - .append(" C_STATUS, ") - .append(" T_MESSAGE, ") - .append(" ISSUE_OFFICE_ID ) ") - .append(" VALUES (") - .append(" to_char(sysdate,'YYYYMMDD'), ") - .append(" to_char(sysdate,'HH24MISS'), ") - .append(" to_char(sysdate,'YYYYMMDD'), ") - .append(" to_char(sysdate,'HH24MISS'), ") - .append(" ?, ?, ?, ") - .append(" 'C', ") - .append(" ?, ") - .append(" '99' ) "); - - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - - ps.setString(idx++ , sFileName); - ps.setString(idx++ , sKBN); - ps.setString(idx++ , sOfficeID); - ps.setString(idx++ , sLog); - - if( ps.executeUpdate() != 1){ - throw new SQLException ("Card_Trans_Log_INFO 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - } - /** - * 파일 송수신 상태 반영 - */ - public MultiInfo getRecvFile() throws SQLException , Exception { - MultiInfo mData = new MultiInfo(); - PreparedStatement ps = null; - ResultSet rs = null; - try{ - String sQuery - = " SELECT HIS.SEQ, " - + " HIS.FILE_KIND_ID, " - + " HIS.DIR_NAME, " - + " HIS.FILE_NAME, " - + " HIS.FORMAT_DATE, " - + " INFO.RECORD_LEN, " - + " INFO.RECORD_CNT, " - + " INFO.SEQ_CNT " - + " FROM FILE_TRANS_HISTORY HIS, " - + " FILE_KIND_CODE_INFO INFO " - + " WHERE HIS.FILE_TRANS_KBN = 'R' " - + " AND HIS.FILE_TRANS_YN = 'Y' " - + " AND HIS.DATA_PROCESS_KBN = '0' " - + " AND INFO.FILE_KIND_ID = HIS.FILE_KIND_ID " - + " ORDER BY SEQ "; - - ps = conn.prepareStatement(sQuery); - rs = ps.executeQuery(); - while ( rs.next() ){ - Info data = new Info(); - data.putInt ("SEQ" , rs.getInt("SEQ") ); - data.putString("FILE_KIND_ID" , rs.getString("FILE_KIND_ID") ); - data.putString("DIR_NAME" , rs.getString("DIR_NAME") ); - data.putString("FILE_NAME" , rs.getString("FILE_NAME") ); - data.putString("FORMAT_DATE" , rs.getString("FORMAT_DATE") ); - - mData.addData(data); - } - }finally{ - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - return mData; - } - /** - * 파일 송수신 상태 수정 - */ - public void updateFileTransHistory(long nSeq, String sStatus, String sUpdater) throws SQLException , Exception { - PreparedStatement psUpdate = null; - try{ - String sQuery = " UPDATE FILE_TRANS_HISTORY " - + " SET DATA_PROCESS_KBN = ?, " - + " UPDATER = ?, " - + " UPDATE_DATE = SYSDATE " - + " WHERE SEQ = ? "; - int idx = 1 ; - psUpdate = conn.prepareStatement(sQuery); - psUpdate.setString(idx++ , sStatus); - psUpdate.setString(idx++ , sUpdater); - psUpdate.setLong (idx++ , nSeq); - - if( psUpdate.executeUpdate() != 1){ - throw new SQLException ("FILE_TRANS_HISTORY 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(psUpdate != null){ try{ psUpdate.close(); }catch(Exception ignore){} } - } - } - /** - * 송수신파일 정보 INSERT - */ - public void insertFileTransHistory(Info data) throws SQLException , Exception { - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - sbBuffer.append(" INSERT INTO FILE_TRANS_HISTORY ( ") - .append(" SEQ, ") - .append(" FILE_KIND_ID, ") - .append(" PASS_DATE, ") - .append(" FORMAT_DATE, ") - .append(" FARE_OFFICE_ID, ") - .append(" FILE_TRANS_KBN, ") - .append(" FILE_TRANS_YN, ") - .append(" DATA_PROCESS_KBN, ") - .append(" DIR_NAME, ") - .append(" FILE_NAME, ") - .append(" CREATE_DATE, ") - .append(" CREATER , ") - .append(" UPDATE_DATE, ") - .append(" UPDATER ) ") - .append(" VALUES ( FILE_TRANS_SEQ.NEXTVAL, ?, ?, ?, ?, ?, ?, ?, ?, ?, SYSDATE, ? , SYSDATE, ? ) "); - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - - ps.setString(idx++ , data.getString("FILE_KIND_ID")); - ps.setString(idx++ , data.getString("FORMAT_DATE")); - ps.setString(idx++ , data.getString("FORMAT_DATE")); - ps.setString(idx++ , data.getString("FARE_OFFICE_ID")); - ps.setString(idx++ , data.getString("FILE_TRANS_KBN")); - ps.setString(idx++ , data.getString("FILE_TRANS_YN")); - ps.setString(idx++ , data.getString("DATA_PROCESS_KBN")); - ps.setString(idx++ , data.getString("DIR_NAME")); - ps.setString(idx++ , data.getString("FILE_NAME")); - ps.setString(idx++ , data.getString("CREATER")); - ps.setString(idx++ , data.getString("CREATER")); - - if( ps.executeUpdate() != 1){ - throw new SQLException ("FILE_TRANS_HISTORY 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - } -} diff --git a/src/main/java/center/dao/VanTransDAO.java b/src/main/java/center/dao/VanTransDAO.java deleted file mode 100644 index b75579e..0000000 --- a/src/main/java/center/dao/VanTransDAO.java +++ /dev/null @@ -1,328 +0,0 @@ -package center.dao; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.resources.data.Info; -/** - * 파일 송수신 관련 테이블 처리 메소드
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class VanTransDAO { - private Connection conn; - public VanTransDAO(Connection conn){ - this.conn = conn; - } - /** - * 파일 송수신 상태 반영 - */ - public Info getSendFileInfo( String sOrganCode, - String sTransType, - String sStatus) throws SQLException , Exception { - Info data = null; - PreparedStatement ps = null; - ResultSet rs = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - // 송수신 파일 정보 조회 - sbBuffer.append(" select his.SEQ, ") - .append(" his.file_kind_id FILE_CODE, ") - .append(" his.FILE_NAME, ") - .append(" his.DIR_NAME, ") - .append(" info.RECORD_LEN REC_LEN, ") - .append(" info.RECORD_CNT REC_CNT, ") - .append(" info.SEQ_CNT ") - .append(" from FILE_KIND_CODE_INFO info, ") - .append(" FILE_TRANS_HISTORY his ") - .append(" where info.file_kind_id = his.file_kind_id ") - .append(" and his.FARE_OFFICE_ID = ?") - .append(" and his.file_trans_kbn = ? ") - .append(" and his.FILE_TRANS_YN = ? ") - .append(" order by SEQ ") - ; - - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - ps.setString(idx++ , sOrganCode); - ps.setString(idx++ , sTransType); - ps.setString(idx++ , sStatus); - - rs = ps.executeQuery(); - if ( rs.next() ){ - data = new Info(); - data.setLong ("SEQ" , rs.getLong ("SEQ") ); - data.setString("FILE_CODE" , rs.getString("FILE_CODE") ); - data.setString("FILE_NAME" , rs.getString("FILE_NAME") ); - data.setString("DIR_NAME" , rs.getString("DIR_NAME") ); - data.setInt ("REC_LEN" , rs.getInt ("REC_LEN") ); - data.setInt ("REC_CNT" , rs.getInt ("REC_CNT") ); - data.setInt ("SEQ_CNT" , rs.getInt ("SEQ_CNT") ); - } - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return data; - } - /** - * 파일 송수신 상태 반영 - */ - public Info getFileInfo( String sFileCode) throws SQLException , Exception { - Info data = null; - PreparedStatement ps = null; - ResultSet rs = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - // 송수신 파일 정보 조회 - sbBuffer.append(" select file_kind_id FILE_CODE, ") - .append(" RECORD_LEN REC_LEN, ") - .append(" RECORD_CNT REC_CNT, ") - .append(" SEQ_CNT, ") - .append(" FILE_DIR ") - .append(" from FILE_KIND_CODE_INFO ") - .append(" where TRIM(file_kind_id) = ? "); - - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - ps.setString(idx++ , sFileCode); - - rs = ps.executeQuery(); - if ( rs.next() ){ - data = new Info(); - data.setString("FILE_CODE" , rs.getString("FILE_CODE") ); - data.setInt ("REC_LEN" , rs.getInt("REC_LEN") ); - data.setInt ("REC_CNT" , rs.getInt("REC_CNT") ); - data.setInt ("SEQ_CNT" , rs.getInt("SEQ_CNT") ); - data.setString("FILE_DIR" , rs.getString("FILE_DIR") ); - } - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return data; - } - /** - * 파일 송수신 상태 수정 - */ - public void updTransFileInfo(long nSeq , - String sTransType, - String sFlag, - String sStatus, - String sUpdater) throws SQLException , Exception { - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - sbBuffer.append(" update FILE_TRANS_HISTORY ") - .append(" set FILE_TRANS_YN = ?, "); - if(sStatus.equals("9")){ - sbBuffer.append(" SEND_DATE = SYSDATE, "); - } - sbBuffer.append(" DATA_PROCESS_KBN = ?,") - .append(" UPDATE_DATE = SYSDATE, ") - .append(" UPDATER = ? ") - .append(" WHERE SEQ = ? ") - .append(" and file_trans_kbn = ? ") - .append(" and FILE_TRANS_YN = ? "); - - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - ps.setString(idx++ , sFlag ); - ps.setString(idx++ , sStatus ); - ps.setString(idx++ , sUpdater); - ps.setLong (idx++ , nSeq); - ps.setString(idx++ , "S" ); - ps.setString(idx++ , "N" ); - - if( ps.executeUpdate() != 1){ - throw new SQLException ("FILE_TRANS_HISTORY 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - } - /** - * 송수신파일 정보 INSERT - */ - public void insertRecvFileInfo(Info data) throws SQLException , Exception { - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - sbBuffer.append(" INSERT INTO FILE_TRANS_HISTORY ( ") - .append(" SEQ, ") - .append(" FILE_KIND_ID, ") - .append(" PASS_DATE, ") - .append(" FORMAT_DATE, ") - .append(" FARE_OFFICE_ID, ") - .append(" FILE_TRANS_KBN, ") - .append(" FILE_TRANS_YN, ") - .append(" DATA_PROCESS_KBN, ") - .append(" DIR_NAME, ") - .append(" FILE_NAME, ") - .append(" CREATE_DATE, ") - .append(" CREATER , ") - .append(" UPDATE_DATE, ") - .append(" UPDATER ) ") - .append(" VALUES ( FILE_TRANS_SEQ.NEXTVAL, ?, ?, ?, ?, ?, ?, ?, ?, ?, SYSDATE, ?, SYSDATE, ? ) "); - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - - ps.setString(idx++ , data.getString("FILE_KIND_ID")); - ps.setString(idx++ , data.getString("FORMAT_DATE")); - ps.setString(idx++ , data.getString("FORMAT_DATE")); - ps.setString(idx++ , data.getString("FARE_OFFICE_ID")); - ps.setString(idx++ , data.getString("FILE_TRANS_KBN")); - ps.setString(idx++ , data.getString("FILE_TRANS_YN")); - ps.setString(idx++ , data.getString("DATA_PROCESS_KBN")); - ps.setString(idx++ , data.getString("DIR_NAME")); - ps.setString(idx++ , data.getString("FILE_NAME")); - ps.setString(idx++ , data.getString("CREATER")); - ps.setString(idx++ , data.getString("CREATER")); - - if( ps.executeUpdate() != 1){ - throw new SQLException ("FILE_TRANS_HISTORY 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - } - - /** - * 파일 전송 횟수 조회 및 증가 - * @param sFileKindID - * @return - * @throws Exception - */ - public long getNextSeq(String sFileKindID) throws Exception{ - long nSeqNo = 0; - PreparedStatement ps = null; - PreparedStatement psUpd = null; - StringBuffer sbBuffer = new StringBuffer(); - ResultSet rs = null; - try{ - sbBuffer.append(" select Last_data_no+1 from file_kind_code_info ") - .append(" where file_kind_id = ? "); - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - ps.setString(idx++ , sFileKindID); - rs = ps.executeQuery(); - if(rs.next()){ - nSeqNo = rs.getLong(1); - psUpd = conn.prepareStatement(" update file_kind_code_info set Last_data_no = ? where file_kind_id = ? "); - idx = 1 ; - psUpd.setLong (idx++ , nSeqNo); - psUpd.setString(idx++ , sFileKindID); - psUpd.executeUpdate(); - if( psUpd.executeUpdate() != 1){ - throw new SQLException ("file_kind_code_info 반영 실패"); - } - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - if(psUpd != null){ try{ psUpd.close(); }catch(Exception ignore){} } - } - return nSeqNo; - } - - /** - * 송수신파일 정보 INSERT - */ - public void insertFileTransInfo(Info data) throws SQLException , Exception { - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - sbBuffer.append(" INSERT INTO FILE_TRANS_INFO ( ") - .append(" FILE_KIND_ID, ") - .append(" YEAR, ") - .append(" MONTH, ") - .append(" DAY, ") - .append(" DATA_SEQNO, ") - .append(" FILE_TRANS_YN, ") - .append(" FORMAT_DATE, ") - .append(" DIR_NAME , ") - .append(" FILE_NAME, ") - .append(" DATA_PROCESS_KBN, ") - .append(" CREATE_DATE, ") - .append(" CREATER, ") - .append(" UPDATE_DATE, ") - .append(" UPDATER) ") - .append(" VALUES ( ?, ?, ?, ?, ?, '1', SYSDATE, ?, ?, ?, SYSDATE, ? , SYSDATE, ? ) "); - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - - ps.setString(idx++ , data.getString("FILE_KIND_ID")); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(0,4)); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(4,6)); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(6,8)); - ps.setLong (idx++ , data.getLong ("DATA_SEQNO")); - ps.setString(idx++ , data.getString("DIR_NAME")); - ps.setString(idx++ , data.getString("FILE_NAME")); - ps.setString(idx++ , "R"); - ps.setString(idx++ , data.getString("CREATER")); - ps.setString(idx++ , data.getString("CREATER")); - - if( ps.executeUpdate() != 1){ - throw new SQLException ("FILE_TRANS_INFO 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - } - - /** - * 송수신파일 정보 INSERT - */ - public void insertOfficeTransInfo(Info data) throws SQLException , Exception { - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - try{ - sbBuffer.append(" INSERT INTO office_trans_info ( ") - .append(" FILE_KIND_ID, ") - .append(" YEAR, ") - .append(" MONTH, ") - .append(" DAY, ") - .append(" DATA_SEQNO, ") - .append(" FARE_OFFICE_ID, ") - .append(" DATA_PROCESS_KBN, ") - .append(" CREATE_DATE, ") - .append(" CREATER ) ") - .append(" VALUES ( ?, ?, ?, ?, ?, ?, ?, SYSDATE, ? ) "); - int idx = 1 ; - ps = conn.prepareStatement(sbBuffer.toString()); - - ps.setString(idx++ , data.getString("FILE_KIND_ID")); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(0,4)); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(4,6)); - ps.setString(idx++ , data.getString("FORMAT_DATE").substring(6,8)); - ps.setLong (idx++ , data.getLong ("DATA_SEQNO")); - ps.setString(idx++ , data.getString("FARE_OFFICE_ID")); - ps.setString(idx++ , "R"); - ps.setString(idx++ , data.getString("CREATER")); - - if( ps.executeUpdate() != 1){ - throw new SQLException ("office_trans_info 반영 실패"); - } - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - } -} diff --git a/src/main/java/center/data/ApplyBoothInfo.java b/src/main/java/center/data/ApplyBoothInfo.java deleted file mode 100644 index f388b28..0000000 --- a/src/main/java/center/data/ApplyBoothInfo.java +++ /dev/null @@ -1,169 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.BoothInfoDataRecord; - -/** - * 차로구분정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyBoothInfo extends FileWorker -{ - - private String sPrcsName = "ApplyBoothInfo"; - public static final int REC_LEN = 150; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private PreparedStatement psIns = null; - private PreparedStatement psUpd = null; - private PreparedStatement psDel = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new BoothInfoDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(".... DB Delete Count : "+ nDeleteCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - nDeleteCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = "INSERT INTO BOOTH_CODE_INFO( " - + " FARE_OFFICE_ID, BOOTH_ID, BOOTH_FULL_NAME, BOOTH_ABB_NAME, " - + " IN_OUT_KBN, USE_YN, CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + "VALUES (?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns = conn.prepareStatement(query); - - query = "UPDATE BOOTH_CODE_INFO " - + " SET BOOTH_FULL_NAME = ? " - + " , BOOTH_ABB_NAME = ? " - + " , IN_OUT_KBN = ? " - + " , USE_YN = ? " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? "; - - psUpd = conn.prepareStatement(query); - - query = "DELETE FROM BOOTH_CODE_INFO " - + " WHERE FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? "; - - psDel = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psIns != null) psIns.close(); }catch(Exception ignore){} - try{ if(psUpd != null) psUpd.close(); }catch(Exception ignore){} - try{ if(psDel != null) psDel.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(BoothInfoDataRecord record) throws SQLException , Exception { - int iParam = 1; - try{ - String sPrcsKbn = record.getItem(BoothInfoDataRecord.IUD_KBN); // 입력수정삭제구분 - if( sPrcsKbn.equals("I")){ - psIns.setString(iParam++, record.getItem( BoothInfoDataRecord.FARE_OFFICE_ID ).trim()); - psIns.setString(iParam++, record.getItem( BoothInfoDataRecord.BOOTH_ID ).trim()); - psIns.setString(iParam++, record.getItem( BoothInfoDataRecord.BOOTH_FULL_NAME ).trim()); - psIns.setString(iParam++, record.getItem( BoothInfoDataRecord.BOOTH_ABB_NAME ).trim()); - psIns.setString(iParam++, record.getItem( BoothInfoDataRecord.IN_OUT_KBN ).trim()); - psIns.setString(iParam++, record.getItem( BoothInfoDataRecord.USE_YN ).trim()); - - psIns.executeUpdate(); - nInsertCount++; - }else if( sPrcsKbn.equals("U")){ - psUpd.setString(iParam++, record.getItem( BoothInfoDataRecord.BOOTH_FULL_NAME ).trim()); - psUpd.setString(iParam++, record.getItem( BoothInfoDataRecord.BOOTH_ABB_NAME ).trim()); - psUpd.setString(iParam++, record.getItem( BoothInfoDataRecord.IN_OUT_KBN ).trim()); - psUpd.setString(iParam++, record.getItem( BoothInfoDataRecord.USE_YN ).trim()); - psUpd.setString(iParam++, record.getItem( BoothInfoDataRecord.FARE_OFFICE_ID ).trim()); - psUpd.setString(iParam++, record.getItem( BoothInfoDataRecord.BOOTH_ID ).trim()); - - psUpd.executeUpdate(); - nUpdateCount++; - }else if( sPrcsKbn.equals("D")){ - psDel.setString(iParam++, record.getItem( BoothInfoDataRecord.FARE_OFFICE_ID ).trim()); - psDel.setString(iParam++, record.getItem( BoothInfoDataRecord.BOOTH_ID ).trim()); - - psDel.executeUpdate(); - nDeleteCount++; - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - } - } -} diff --git a/src/main/java/center/data/ApplyCardJoin.java b/src/main/java/center/data/ApplyCardJoin.java deleted file mode 100644 index 77040ae..0000000 --- a/src/main/java/center/data/ApplyCardJoin.java +++ /dev/null @@ -1,185 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.CardJoinDataRecord; - -/** - * 가맹점정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyCardJoin extends FileWorker -{ - - private String sPrcsName = "ApplyCardJoin"; - public static final int REC_LEN = 150; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs = null; - private PreparedStatement psSls = null; - private PreparedStatement psIns = null; - private PreparedStatement psUpd = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new CardJoinDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = " SELECT COUNT(*) " - + " FROM JOIN_CARD_INFO " - + " WHERE FARE_OFFICE_ID = ?" - + " AND JOIN_CARD_NUMBER = ?"; - - psSls = conn.prepareStatement(query); - - query = " INSERT INTO JOIN_CARD_INFO( " - + " FARE_OFFICE_ID, JOIN_CARD_NUMBER, STT_DATE, END_DATE, COLLECT_ID, " - + " CARD_ISSUE_ID, JOIN_CARD_NAME, CHARGE_RATE, CHARGE_AMOUNT, USE_YN, " - + " CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + " VALUES (?,?,?,?,?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns = conn.prepareStatement(query); - - query = " UPDATE JOIN_CARD_INFO " - + " SET STT_DATE = ? " - + " , END_DATE = ? " - + " , COLLECT_ID = ? " - + " , CARD_ISSUE_ID = ? " - + " , JOIN_CARD_NAME = ? " - + " , CHARGE_RATE = ? " - + " , CHARGE_AMOUNT = ? " - + " , USE_YN = ? " - + " , UPDATE_DATE = SYSDATE" - + " , UPDATER = 'COMM' " - + " WHERE FARE_OFFICE_ID = ? " - + " AND JOIN_CARD_NUMBER = ? "; - - psUpd = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psSls != null) psSls.close(); }catch(Exception ignore){} - try{ if(psIns != null) psIns.close(); }catch(Exception ignore){} - try{ if(psUpd != null) psUpd.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(CardJoinDataRecord record) throws SQLException , Exception { - int iParam = 1; - - try{ - psSls.setString(iParam++, record.getItem( CardJoinDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psSls.setString(iParam++, record.getItem( CardJoinDataRecord.JOIN_CHAIN_NO ).trim()); // '가맹점번호' - rs = psSls.executeQuery(); - rs.next(); - - iParam = 1; - if (rs.getInt(1) == 0) { - psIns.setString(iParam++, record.getItem( CardJoinDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psIns.setString(iParam++, record.getItem( CardJoinDataRecord.JOIN_CHAIN_NO ).trim()); // '가맹점번호' - psIns.setString(iParam++, record.getItem( CardJoinDataRecord.STT_DATE ).trim()); // '시작일자' - psIns.setString(iParam++, record.getItem( CardJoinDataRecord.END_DATE ).trim()); // '종료일자' - psIns.setString(iParam++, record.getItem( CardJoinDataRecord.COLLECT_ID ).trim()); // '징수유형' - psIns.setString(iParam++, record.getItem( CardJoinDataRecord.ISSUER_ID ).trim()); // '카드발행사' - psIns.setString(iParam++, record.getItem( CardJoinDataRecord.JOIN_CHAIN_NAME).trim()); // '가맹점명' - psIns.setString(iParam++, record.getItem( CardJoinDataRecord.CARD_RATE ).trim()); // '수수료율' - psIns.setString(iParam++, record.getItem( CardJoinDataRecord.REATE_AMOUNT ).trim()); // '수수료금액' - psIns.setString(iParam++, record.getItem( CardJoinDataRecord.USE_KBN ).trim()); // '사용구분' - psIns.executeUpdate(); - - nInsertCount++; - } else if (rs.getInt(1) > 0) { - psUpd.setString(iParam++, record.getItem( CardJoinDataRecord.STT_DATE ).trim()); // '시작일자' - psUpd.setString(iParam++, record.getItem( CardJoinDataRecord.END_DATE ).trim()); // '종료일자' - psUpd.setString(iParam++, record.getItem( CardJoinDataRecord.COLLECT_ID ).trim()); // '징수유형' - psUpd.setString(iParam++, record.getItem( CardJoinDataRecord.ISSUER_ID ).trim()); // '카드발행사' - psUpd.setString(iParam++, record.getItem( CardJoinDataRecord.JOIN_CHAIN_NAME).trim()); // '가맹점명' - psUpd.setString(iParam++, record.getItem( CardJoinDataRecord.CARD_RATE ).trim()); // '수수료율' - psUpd.setString(iParam++, record.getItem( CardJoinDataRecord.REATE_AMOUNT ).trim()); // '수수료금액' - psUpd.setString(iParam++, record.getItem( CardJoinDataRecord.USE_KBN ).trim()); // '사용구분' - psUpd.setString(iParam++, record.getItem( CardJoinDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd.setString(iParam++, record.getItem( CardJoinDataRecord.JOIN_CHAIN_NO ).trim()); // '가맹점번호' - psUpd.executeUpdate(); - - nUpdateCount++; - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - }finally{ - try{ if(rs != null) rs.close(); }catch(Exception ignore){} - } - } -} diff --git a/src/main/java/center/data/ApplyCollectSettle.java b/src/main/java/center/data/ApplyCollectSettle.java deleted file mode 100644 index 38a8cf1..0000000 --- a/src/main/java/center/data/ApplyCollectSettle.java +++ /dev/null @@ -1,330 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.CollectSettleDataRecord; - -/** - * 요금정산정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyCollectSettle extends FileWorker -{ - private String sPrcsName = "ApplyCollectSettle"; - public static final int REC_LEN = 330; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs = null; - private PreparedStatement psSls = null; - private PreparedStatement psIns = null; - private PreparedStatement psUpd = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new CollectSettleDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - query = "SELECT COUNT(*) COUNT " - + " FROM FARE_ADJUST_INFO " - + " WHERE WORKER_ID = ?" - + " AND FARE_OFFICE_ID = ?" - + " AND BOOTH_ID = ?" - + " AND YEAR = ?" - + " AND MONTH = ?" - + " AND DAY = ?" - + " AND WORK_STT_TIME = ?" - + " AND WORK_END_TIME = ?"; - - psSls = conn.prepareStatement(query); - - query = "INSERT INTO FARE_ADJUST_INFO ( " - + " WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, " - + " WORK_STT_TIME, WORK_END_TIME, EXEMPTION_QUANTITY, CASH_QUANTITY, " - + " COUPON_QUANTITY, NONPAYMENT_QUANTITY, CARD_BEFORE_QUANTITY, " - + " CARD_AFTER_QUANTITY, COUPON_SALE_QUANTITY, TOTAL_INCOME, CASH_INCOME, " - + " CARD_BEFORE_INCOME, CARD_AFTER_INCME, COUPON_INCOME, COUPON_SALE, " - + " DEPOSIT_PAY, CREDIT_PAY, OVERFARE_IN_AMOUNT, OVERFARE_OUT_AMOUNT, " - + " OVERCOUPON_COUNT, COUPON_RETURN_COUNT, NOTE_QUANTITY, NOTE_INCOME, " - + " FARE_ADJUST_YN, K_CASH_Q, K_COUPON_Q, K_CARD_SUN_Q, K_CARD_WHO_Q, " - + " K_COUPON_SALE_Q, K_CASH_INCOME, K_CARD_SUN_INCOME, K_CARD_WHO_INCOME, " - + " K_COUPON_SALE_INCOME, K_OVERCOUPON_CNT, K_COUPON_RET_CNT, K_NOTE_Q, " - + " K_NOTE_INCOME, REPAY_CNT, REPAY_AMOUNT, C_AMPM, OTHER_SEQNO, " - + " SALE_CARD_Q, SALE_CARD_M, K_SALE_CARD_Q, K_SALE_CARD_M, " - + " CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " - + " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, SYSDATE,'COMM', SYSDATE,'COMM') "; - - psIns = conn.prepareStatement(query); - - query = "UPDATE FARE_ADJUST_INFO " - + " SET EXEMPTION_QUANTITY = ? " - + " , CASH_QUANTITY = ? " - + " , COUPON_QUANTITY = ? " - + " , NONPAYMENT_QUANTITY = ? " - + " , CARD_BEFORE_QUANTITY = ? " - + " , CARD_AFTER_QUANTITY = ? " - + " , COUPON_SALE_QUANTITY = ? " - + " , TOTAL_INCOME = ? " - + " , CASH_INCOME = ? " - + " , CARD_BEFORE_INCOME = ? " - + " , CARD_AFTER_INCME = ? " - + " , COUPON_INCOME = ? " - + " , COUPON_SALE = ? " - + " , DEPOSIT_PAY = ? " - + " , CREDIT_PAY = ? " - + " , OVERFARE_IN_AMOUNT = ? " - + " , OVERFARE_OUT_AMOUNT = ? " - + " , OVERCOUPON_COUNT = ? " - + " , COUPON_RETURN_COUNT = ? " - + " , NOTE_QUANTITY = ? " - + " , NOTE_INCOME = ? " - + " , FARE_ADJUST_YN = ? " - + " , K_CASH_Q = ? " - + " , K_COUPON_Q = ? " - + " , K_CARD_SUN_Q = ? " - + " , K_CARD_WHO_Q = ? " - + " , K_COUPON_SALE_Q = ? " - + " , K_CASH_INCOME = ? " - + " , K_CARD_SUN_INCOME = ? " - + " , K_CARD_WHO_INCOME = ? " - + " , K_COUPON_SALE_INCOME = ? " - + " , K_OVERCOUPON_CNT = ? " - + " , K_COUPON_RET_CNT = ? " - + " , K_NOTE_Q = ? " - + " , K_NOTE_INCOME = ? " - + " , REPAY_CNT = ? " - + " , REPAY_AMOUNT = ? " - + " , C_AMPM = ? " - + " , OTHER_SEQNO = ? " - + " , SALE_CARD_Q = ? " - + " , SALE_CARD_M = ? " - + " , K_SALE_CARD_Q = ? " - + " , K_SALE_CARD_M = ? " - + " , UPDATE_DATE = SYSDATE" - + " , UPDATER = 'COMM' " - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_STT_TIME = ? " - + " AND WORK_END_TIME = ? "; - - psUpd = conn.prepareStatement(query); - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psSls != null) psSls.close(); }catch(Exception ignore){} - try{ if(psIns != null) psIns.close(); }catch(Exception ignore){} - try{ if(psUpd != null) psUpd.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(CollectSettleDataRecord record) throws SQLException , Exception { - int iParam; - - try{ - iParam = 1; - psSls.setString(iParam++, record.getItem( CollectSettleDataRecord.WORKER_ID ).trim()); //'징수원ID' - psSls.setString(iParam++, record.getItem( CollectSettleDataRecord.FARE_OFFICE_ID ).trim()); //'요금소ID' - psSls.setString(iParam++, record.getItem( CollectSettleDataRecord.BOOTH_ID ).trim()); //'차로ID' - psSls.setString(iParam++, record.getItem( CollectSettleDataRecord.YEAR ).trim()); //'년도' - psSls.setString(iParam++, record.getItem( CollectSettleDataRecord.MONTH ).trim()); //'월' - psSls.setString(iParam++, record.getItem( CollectSettleDataRecord.DAY ).trim()); //'일' - psSls.setString(iParam++, record.getItem( CollectSettleDataRecord.WORK_STT_TIME ).trim()); //'근무시작시간' - psSls.setString(iParam++, record.getItem( CollectSettleDataRecord.WORK_END_TIME ).trim()); //'근무종료시간' - rs = psSls.executeQuery(); - - rs.next(); - if (rs.getInt(1) == 0) { - iParam = 1; - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.WORKER_ID ).trim()); // '징수원ID' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.FARE_OFFICE_ID ).trim()); // '요금소ID' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.BOOTH_ID ).trim()); // '차로ID' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.YEAR ).trim()); // '년도' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.MONTH ).trim()); // '월' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.DAY ).trim()); // '일' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.WORK_STT_TIME ).trim()); // '근무시작시간' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.WORK_END_TIME ).trim()); // '근무종료시간' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.EXEMPTION_QUANTITY ).trim()); // '면제통행량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CASH_QUANTITY ).trim()); // '현금통행량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_QUANTITY ).trim()); // '쿠폰회수통행량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.NONPAYMENT_QUANTITY ).trim()); // '미납통행량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_BEFORE_QUANTITY ).trim()); // '선불통행량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_AFTER_QUANTITY ).trim()); // '후불통행량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_SALE_QUANTITY ).trim()); // '정액권판매권수' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.TOTAL_INCOME ).trim()); // '총수입금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CASH_INCOME ).trim()); // '현금수입금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_BEFORE_INCOME ).trim()); // '선불수입금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_AFTER_INCOME ).trim()); // '후불수입금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_INCOME ).trim()); // '쿠폰수입금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_SALE ).trim()); // '정액권판매수입금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.DEPOSIT_PAY ).trim()); // '입금액' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CREDIT_PAY ).trim()); // '출금액' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.OVERFARE_IN_AMOUNT ).trim()); // '과오납입금액' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.OVERFARE_OUT_AMOUNT ).trim()); // '과오납출금액' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.OVERCOUPON_COUNT ).trim()); // '과잉쿠폰매수' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_RETURN_COUNT ).trim()); // '반납쿠폰매수' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.NOTE_QUANTITY ).trim()); // '수기통행량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.NOTE_INCOME ).trim()); // '수기수입금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.FARE_ADJUST_YN ) ); // '정산완료' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CASH_Q ).trim()); // '경차현금통행량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_Q ).trim()); // '경차쿠폰회수량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_SUN_Q ).trim()); // '경차선불통행량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_WHO_Q ).trim()); // '경차후불통행량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_SALE_Q ).trim()); // '경차정액권판매권수' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.K_CASH_INCOME ).trim()); // '경차현금수입금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_SUN_INCOME ).trim()); // '경차선불수입금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_WHO_INCOME ).trim()); // '경차후불수입금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_SALE_INCOME ).trim()); // '경차정액권판매금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.OVERCOUPON_CNT ).trim()); // '경차과잉쿠폰매수' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_RET_CNT ).trim()); // '경차과잉쿠폰반납매수' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.NOTE_Q ).trim()); // '경차수기통행량' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.K_NOTE_INCOME ).trim()); // '경차수기수입금' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.REPAY_CNT ).trim()); // '카드환불건수' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.REPAY_AMOUNT ).trim()); // '카드환불금액' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.C_AMPM ).trim()); // '오전/오후구분' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.OTHER_SEQNO ).trim()); // '중복방지번호' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.SALE_CARD_Q ).trim()); // '일반정액권카드판매권수' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.SALE_CARD_M ).trim()); // '일반정액권카드판매금액' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.K_SALE_CARD_Q ).trim()); // '경차정액권카드판매권수' - psIns.setString(iParam++, record.getItem( CollectSettleDataRecord.K_SALE_CARD_M ).trim()); // '경차정액권카드판매금액' - psIns.executeUpdate(); - - nInsertCount++; - } else if (rs.getInt(1) > 0) { - iParam = 1; - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.EXEMPTION_QUANTITY ).trim()); // '면제통행량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CASH_QUANTITY ).trim()); // '현금통행량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_QUANTITY ).trim()); // '쿠폰회수통행량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.NONPAYMENT_QUANTITY ).trim()); // '미납통행량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_BEFORE_QUANTITY ).trim()); // '선불통행량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_AFTER_QUANTITY ).trim()); // '후불통행량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_SALE_QUANTITY ).trim()); // '정액권판매권수' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.TOTAL_INCOME ).trim()); // '총수입금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CASH_INCOME ).trim()); // '현금수입금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_BEFORE_INCOME ).trim()); // '선불수입금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_AFTER_INCOME ).trim()); // '후불수입금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_INCOME ).trim()); // '쿠폰수입금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_SALE ).trim()); // '정액권판매수입금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.DEPOSIT_PAY ).trim()); // '입금액' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CREDIT_PAY ).trim()); // '출금액' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.OVERFARE_IN_AMOUNT ).trim()); // '과오납입금액' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.OVERFARE_OUT_AMOUNT ).trim()); // '과오납출금액' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.OVERCOUPON_COUNT ).trim()); // '과잉쿠폰매수' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_RETURN_COUNT ).trim()); // '반납쿠폰매수' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.NOTE_QUANTITY ).trim()); // '수기통행량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.NOTE_INCOME ).trim()); // '수기수입금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.FARE_ADJUST_YN ) ); // '정산완료' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CASH_Q ).trim()); // '경차현금통행량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_Q ).trim()); // '경차쿠폰회수량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_SUN_Q ).trim()); // '경차선불통행량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_WHO_Q ).trim()); // '경차후불통행량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_SALE_Q ).trim()); // '경차정액권판매권수' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.K_CASH_INCOME ).trim()); // '경차현금수입금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_SUN_INCOME ).trim()); // '경차선불수입금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.CARD_WHO_INCOME ).trim()); // '경차후불수입금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_SALE_INCOME ).trim()); // '경차정액권판매금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.OVERCOUPON_CNT ).trim()); // '경차과잉쿠폰매수' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.COUPON_RET_CNT ).trim()); // '경차과잉쿠폰반납매수' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.NOTE_Q ).trim()); // '경차수기통행량' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.K_NOTE_INCOME ).trim()); // '경차수기수입금' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.REPAY_CNT ).trim()); // '카드환불건수' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.REPAY_AMOUNT ).trim()); // '카드환불금액' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.C_AMPM ).trim()); // '오전/오후구분' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.OTHER_SEQNO ).trim()); // '중복방지번호' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.SALE_CARD_Q ).trim()); // '일반정액권카드판매권수' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.SALE_CARD_M ).trim()); // '일반정액권카드판매금액' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.K_SALE_CARD_Q ).trim()); // '경차정액권카드판매권수' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.K_SALE_CARD_M ).trim()); // '경차정액권카드판매금액' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.WORKER_ID ).trim()); // '징수원ID' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.FARE_OFFICE_ID ).trim()); // '요금소ID' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.BOOTH_ID ).trim()); // '차로ID' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.YEAR ).trim()); // '년도' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.MONTH ).trim()); // '월' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.DAY ).trim()); // '일' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.WORK_STT_TIME ).trim()); // '근무시작시간' - psUpd.setString(iParam++, record.getItem( CollectSettleDataRecord.WORK_END_TIME ).trim()); // '근무종료시간' - psUpd.executeUpdate(); - - nUpdateCount++; - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - }finally{ - try{ if(rs != null) rs.close(); }catch(Exception ignore){} - } - } -} diff --git a/src/main/java/center/data/ApplyCollector.java b/src/main/java/center/data/ApplyCollector.java deleted file mode 100644 index 08ff044..0000000 --- a/src/main/java/center/data/ApplyCollector.java +++ /dev/null @@ -1,179 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.CollectorDataRecord; - -/** - * 징수원정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyCollector extends FileWorker -{ - - public static final int REC_LEN = 250; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private PreparedStatement psIns = null; - private PreparedStatement psUpd = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - String sPrcsName = "ApplyCollector"; - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new CollectorDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( "CollectorDataRecord apply fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - nDeleteCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - query = "INSERT INTO WORKER_INFO ( " - + " WORKER_ID , WORKER_SEQNO , PASSWORD , WORKER_NAME , SHIFT , RESIDENT_NO , " - + " TEL_NO , PCS_NO , POST_NO1 , POST_NO2 , ADDRESS_NAME , ADDRESS_NUMBER , " - + " OFFICE_NAME , WORK_END_YN , CREATE_DATE , CREATER , UPDATE_DATE , UPDATER " - + " ) " - + "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns = conn.prepareStatement(query); - - query = "UPDATE WORKER_INFO " - + " SET WORKER_SEQNO = ? " - + " , PASSWORD = ? " - + " , WORKER_NAME = ? " - + " , SHIFT = ? " - + " , RESIDENT_NO = ? " - + " , TEL_NO = ? " - + " , PCS_NO = ? " - + " , POST_NO1 = ? " - + " , POST_NO2 = ? " - + " , ADDRESS_NAME = ? " - + " , ADDRESS_NUMBER = ? " - + " , OFFICE_NAME = ? " - + " , WORK_END_YN = ? " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE WORKER_ID = ? "; - - psUpd = conn.prepareStatement(query); - } - catch(Exception ex) - { - logger.logFail( "CollectorDataRecord initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psIns != null) psIns.close(); }catch(Exception ignore){} - try{ if(psUpd != null) psUpd.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(CollectorDataRecord record) throws SQLException , Exception { - int iParam = 1; - try{ - String sPrcsKbn = record.getItem(CollectorDataRecord.IUD_KBN); // 입력수정삭제구분 - - if ( sPrcsKbn.equals("I")) { - psIns.setString(iParam++, record.getItem( CollectorDataRecord.WORKER_ID ).trim()); // '징수원ID' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.WORKER_SEQNO ).trim()); // '징수원번호' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.PASSWORD ).trim()); // '패스워드' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.WORKER_NAME ).trim()); // '징수원명' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.SHIFT ).trim()); // '조구분' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.RESIDENT_NO ).trim()); // '주민번호' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.TEL_NO ).trim()); // '전화번호' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.PCS_NO ).trim()); // '휴대폰번호' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.POST_NO1 ).trim()); // '우편번호1' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.POST_NO2 ).trim()); // '우편번호2' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.ADDRESS_NAME ).trim()); // '주소' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.ADDRESS_NUMBER ).trim()); // '주소번지' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.OFFICE_NAME ).trim()); // '근무회사명' - psIns.setString(iParam++, record.getItem( CollectorDataRecord.WORK_END_YN ).trim()); // '근무완료여부' - psIns.executeUpdate(); - - nInsertCount++; - } else if ( sPrcsKbn.equals("U")) { - iParam = 1; - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.WORKER_SEQNO ).trim()); // '징수원번호' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.PASSWORD ).trim()); // '패스워드' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.WORKER_NAME ).trim()); // '징수원명' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.SHIFT ).trim()); // '조구분' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.RESIDENT_NO ).trim()); // '주민번호' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.TEL_NO ).trim()); // '전화번호' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.PCS_NO ).trim()); // '휴대폰번호' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.POST_NO1 ).trim()); // '우편번호1' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.POST_NO2 ).trim()); // '우편번호2' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.ADDRESS_NAME ).trim()); // '주소' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.ADDRESS_NUMBER ).trim()); // '주소번지' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.OFFICE_NAME ).trim()); // '근무회사명' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.WORK_END_YN ).trim()); // '근무완료여부' - psUpd.setString(iParam++, record.getItem( CollectorDataRecord.WORKER_ID ).trim()); // '징수원ID' - psUpd.executeUpdate(); - - nUpdateCount++; - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - } - } -} diff --git a/src/main/java/center/data/ApplyCpnDisuse.java b/src/main/java/center/data/ApplyCpnDisuse.java deleted file mode 100644 index 7ef992e..0000000 --- a/src/main/java/center/data/ApplyCpnDisuse.java +++ /dev/null @@ -1,309 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.CpnDisuseDataRecord; -import center.data.format.FixTicketDataRecord; - -/** - * 쿠폰폐기정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyCpnDisuse extends FileWorker -{ - - private String sPrcsName = "ApplyCpnDisuse"; - public static final int REC_LEN = 200; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs = null; - private PreparedStatement psSls = null; - private PreparedStatement psIns1 = null; - private PreparedStatement psIns2 = null; - private PreparedStatement psUpd1 = null; - private PreparedStatement psUpd2 = null; - private PreparedStatement psUpd3 = null; - private PreparedStatement psUpd4 = null; - private PreparedStatement psUpd5 = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new CpnDisuseDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - nDeleteCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = "SELECT COUNT(*) " - + " FROM DAY_FIX_STOCK_INFO " - + " WHERE FARE_OFFICE_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? "; - - psSls = conn.prepareStatement(query); - - query = "INSERT INTO DAY_FIX_STOCK_INFO( " - + " FARE_OFFICE_ID, YEAR, MONTH, DAY, RETURN_COUPON_COUNT, " - + " K_RET_COUPON_CNT, CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + "VALUES (?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns1 = conn.prepareStatement(query); - - query = "INSERT INTO COUPON_DISUSE_INFO( " - + " FARE_OFFICE_ID, DISUSE_DATE, DISUSE_SEQNO, COUPON_KBN, FARE_YEAR, " - + " FARE_MONTH, FARE_DAY, COUPON_COUNT, DISUSE_PERSON, DISUSE_COUNT, " - + " K_COUPON_CNT, K_DISUSE_CNT, CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns2 = conn.prepareStatement(query); - - query = "UPDATE FARE_ADJUST_INFO " - + " SET COUPON_DISUSE_YN = '1' " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE FARE_OFFICE_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? "; - - psUpd1 = conn.prepareStatement(query); - - query = "UPDATE DAY_FIX_STOCK_INFO " - + " SET RETURN_COUPON_COUNT = RETURN_COUPON_COUNT + ?" - + " , K_RET_COUPON_CNT = K_RET_COUPON_CNT + ? " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE FARE_OFFICE_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? "; - - psUpd2 = conn.prepareStatement(query); - - query = "UPDATE FARE_ADJUST_INFO " - + " SET COUPON_DISUSE_YN = '1' " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE FARE_OFFICE_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? "; - - psUpd3 = conn.prepareStatement(query); - - query = "UPDATE OVERCOUPON_HEAD_INFO " - + " SET COUPON_DISUSE_COUNT = OVERCOUPON_COUNT - COUPON_RETURN_COUNT " - + " , K_COUPON_DISUSE_CNT = K_OVERCOUPON_CNT - K_COUPON_RET_CNT " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE FARE_OFFICE_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? "; - - psUpd4 = conn.prepareStatement(query); - - query = "UPDATE OVERCOUPON_DETAIL_INFO " - + " SET OVER_KBN = '3' " - + " , RETURN_DATE = ? " - + " , RETURN_PERSON = ? " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE FARE_OFFICE_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND OVERFARE_KBN = '1' " - + " AND DELETE_YN = '0' "; - - psUpd5 = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psSls != null) psSls.close(); }catch(Exception ignore){} - try{ if(psIns1 != null) psIns1.close(); }catch(Exception ignore){} - try{ if(psIns2 != null) psIns2.close(); }catch(Exception ignore){} - try{ if(psUpd1 != null) psUpd1.close(); }catch(Exception ignore){} - try{ if(psUpd2 != null) psUpd2.close(); }catch(Exception ignore){} - try{ if(psUpd3 != null) psUpd3.close(); }catch(Exception ignore){} - try{ if(psUpd4 != null) psUpd4.close(); }catch(Exception ignore){} - try{ if(psUpd5 != null) psUpd5.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(CpnDisuseDataRecord record) throws SQLException , Exception { - int iParam; - try{ - char sPrcsKbn = record.getItem(FixTicketDataRecord.D_DATA_TYPE).charAt(0); // 쿠폰구분 - - switch (sPrcsKbn) { - case '1': // 쿠폰회수폐기 - - iParam = 1; - psUpd1.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd1.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_YEAR ).trim()); // '년도' - psUpd1.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_MONTH ).trim()); // '월' - psUpd1.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_DAY ).trim()); // '일' - psUpd1.executeUpdate(); - - nUpdateCount++; - - iParam = 1; - psSls.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psSls.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_YEAR ).trim()); // '년도' - psSls.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_MONTH ).trim()); // '월' - psSls.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_DAY ).trim()); // '일' - rs = psSls.executeQuery(); - rs.next(); - - if (rs.getInt(1) == 0) { - iParam = 1; - psIns1.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psIns1.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_YEAR ).trim()); // '년도' - psIns1.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_MONTH ).trim()); // '월' - psIns1.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_DAY ).trim()); // '일' - psIns1.setString(iParam++, record.getItem( CpnDisuseDataRecord.DISUSE_COUNT ).trim()); // '일반쿠폰폐기매수' - psIns1.setString(iParam++, record.getItem( CpnDisuseDataRecord.K_DISUSE_CNT ).trim()); // '경차쿠폰폐기매수' - psIns1.executeUpdate(); - - nInsertCount++; - } else if (rs.getInt(1) > 0) { - iParam = 1; - psUpd2.setString(iParam++, record.getItem( CpnDisuseDataRecord.COUPON_COUNT ).trim()); // '일반쿠폰폐기매수' - psUpd2.setString(iParam++, record.getItem( CpnDisuseDataRecord.K_COUPON_CNT ).trim()); // '경차쿠폰폐기매수' - psUpd2.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd2.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_YEAR ).trim()); // '년도' - psUpd2.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_MONTH ).trim()); // '월' - psUpd2.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_DAY ).trim()); // '일' - psUpd2.executeUpdate(); - - nUpdateCount++; - } - - break; - - case '2': // 과잉쿠폰폐기 - - iParam = 1; - psUpd3.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd3.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_YEAR ).trim()); // '년도' - psUpd3.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_MONTH ).trim()); // '월' - psUpd3.executeUpdate(); - - nUpdateCount++; - - iParam = 1; - psUpd4.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd4.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_YEAR ).trim()); // '년도' - psUpd4.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_MONTH ).trim()); // '월' - psUpd4.executeUpdate(); - - nUpdateCount++; - - iParam = 1; - psUpd5.setString(iParam++, record.getItem( CpnDisuseDataRecord.DISUSE_DATE ).trim()); // '폐기일자' - psUpd5.setString(iParam++, record.getItem( CpnDisuseDataRecord.DISUSE_PERSON ).trim()); // '폐기담당자' - psUpd5.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd5.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_YEAR ).trim()); // '년도' - psUpd5.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_MONTH ).trim()); // '월' - psUpd5.executeUpdate(); - - nUpdateCount++; - - break; - - default: - iParam = 1; - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.DISUSE_DATE ).trim()); // '폐기일자' - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.DISUSE_SEQNO ).trim()); // '일련번호' - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.COUPON_KBN ).trim()); // '쿠폰구분' - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_YEAR ).trim()); // '년도' - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_MONTH ).trim()); // '월' - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.FARE_DAY ).trim()); // '일' - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.COUPON_COUNT ).trim()); // '쿠폰매수' - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.DISUSE_PERSON ).trim()); // '폐기자' - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.DISUSE_COUNT ).trim()); // '폐기매수' - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.K_COUPON_CNT ).trim()); // '경차쿠폰매수' - psIns2.setString(iParam++, record.getItem( CpnDisuseDataRecord.K_DISUSE_CNT ).trim()); // '경차폐기매수' - psIns2.executeUpdate(); - - nInsertCount++; - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - }finally{ - try{ if(rs != null) rs.close(); }catch(Exception ignore){} - } - } -} diff --git a/src/main/java/center/data/ApplyDataMain.java b/src/main/java/center/data/ApplyDataMain.java deleted file mode 100644 index afcfdee..0000000 --- a/src/main/java/center/data/ApplyDataMain.java +++ /dev/null @@ -1,190 +0,0 @@ -package center.data; - -import java.io.*; -import java.sql.*; - -import center.dao.CenterTransDAO; - -import com.base.FileWorker; -import com.exception.*; -import com.resources.data.*; -import com.util.*; -/** - * 데이터 반영 메인 - * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyDataMain { - private Connection con; - private Log4JLogger logger; - private Properties config; - - CenterTransDAO commonDAO = null; - /** - * Constructor - * @param config - */ - public ApplyDataMain(Properties config){ - this.config = config; - initialize(); - } - /** - * 초기화 - */ - public void initialize(){ - // log file setting - String fileDir = config.getProperty( "file.dir" ); - if(fileDir == null){ - logger.logFail("Can not find Configuration data : file.dir"); - System.exit(0); - } - try{ - logger = new Log4JLogger(fileDir + "ApplyData.log"); - }catch(Exception e){ - logger.logFail("Creating logger is failed."); - System.exit(0); - } - - // jdbc driver load - String driver = config.getProperty("db.driver"); - if(driver == null){ - logger.logFail("Can not find Configuration data : db.driver"); - System.exit(0); - } - - try{ - Class.forName(driver); - }catch(ClassNotFoundException cnfe){ - System.err.println("Cannot find driver : " + driver); - System.exit(0); - } - } - /** - * Main process logic - */ - public void startup() - { - try{ - con = getConnection(); - con.setAutoCommit(false); - commonDAO = new CenterTransDAO(con); - - while(true) - { - Info data = null; - MultiInfo mData = commonDAO.getRecvFile(); - - String sPrcsID = null; - for ( int idx = 0 ; idx < mData.fieldSize(); idx++){ - try{ - data = mData.getData(idx); - String sFileKindID = data.getString("FILE_KIND_ID"); - String sDirectory = data.getString("DIR_NAME"); - String sFileName = data.getString("FILE_NAME"); - - logger.logInfo("File Code : ["+sFileKindID + "]" ); - logger.logInfo("File Dir : ["+sDirectory + "]" ); - logger.logInfo("File Name : ["+sFileName + "]" ); - String sPrcsName = config.getProperty(sFileKindID + ".prcs"); - if( sPrcsName == null || sPrcsName.equals("")){ - throw new Exception ("Unregistered File Code : "+sFileKindID); - } - - FileWorker applyClass = (FileWorker) Class.forName("center.data." + sPrcsName ).newInstance(); - applyClass.initialize(config, logger, con, new File(sDirectory, sFileName)); - applyClass.execute(); - - if( sPrcsName.length() <= 10 ) sPrcsID = sPrcsName; - else sPrcsID = sPrcsName.substring(0,10); - - commonDAO.updateFileTransHistory(data.getLong("SEQ"), "9", "ApplyMain"); // 상태 변경 - con.commit(); - logger.logInfo("File Code : "+sFileKindID + " is normally ended"); - }catch(Exception ex){ - commonDAO.updateFileTransHistory(data.getLong("SEQ"), "2", "ApplyMain"); // 상태 변경 - con.commit(); - if( logger != null ) logger.logFail(StringUtil.getDate("yyMMdd") +" : "+ "Apply Data is Failed" + "["+ ex.getMessage() +"]"); - if( logger != null ) logger.logTrace(ex); - } - } - // 1분 후에 다시 디렉토리를 읽기 위해서 - try { Thread.sleep( 1 * 60 * 1000); } catch (InterruptedException ie) {} - } - }catch(Exception se){ - System.err.println(se.getMessage()); - se.printStackTrace(); - }finally{ - closeDBResource(con, null, null); - } - } - /** - * - * @return - * @throws AppException - */ - protected final Connection getConnection() throws AppException { - String url = config.getProperty("db.url"); - String user = config.getProperty("db.user"); - String password = config.getProperty("db.password"); - try{ - return DriverManager.getConnection(url, user, password); - }catch(SQLException se){ - se.printStackTrace(); - throw new AppException("Cannot get connection : " + url); - } - } - /** - * - * @param con - * @param st - * @param rs - */ - protected final void closeDBResource( - Connection con, Statement st, ResultSet rs){ - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - if(st != null){ try{ st.close(); }catch(Exception ignore){} } - if(con != null){ try{ con.close(); }catch(Exception ignore){} } - } - /** - * Help 메시지 출력 - */ - public static void showHelp(String sClass) { - System.err.println("Command :"); - System.err.println("\tjava " + sClass + " -Dbatch.conf=CONFIG_FILE"); - System.err.println(""); - } - /** - * @param args - */ - public static void main (String args[]){ - try { - if(args.length != 0){ - showHelp("center.data.ApplyDataMain"); - System.exit(0); - } - - String sConfFile = System.getProperty("batch.conf"); - if (sConfFile == null || sConfFile.equals("")) { - showHelp("center.data.ApplyDataMain"); - System.exit(0); - } - - Properties config = new Properties(); - try { - config.load(sConfFile); - } - catch (IOException ie) { - System.err.println("Can not find Configuration data."); - System.exit(0); - } - - ApplyDataMain client = new ApplyDataMain(config); - client.startup(); - } - catch (Exception ex) { - System.err.println("Starting Demon is failed."); - ex.printStackTrace(); - } - } -} diff --git a/src/main/java/center/data/ApplyFareTerm.java b/src/main/java/center/data/ApplyFareTerm.java deleted file mode 100644 index 2b29c41..0000000 --- a/src/main/java/center/data/ApplyFareTerm.java +++ /dev/null @@ -1,465 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.FareTermDataRecord; - -/** - * 요금단말정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyFareTerm extends FileWorker -{ - - private String sPrcsName = "ApplyFareTerm"; - public static final int REC_LEN = 380; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs1 = null; - private ResultSet rs2 = null; - private PreparedStatement psSls1 = null; - private PreparedStatement psSls2 = null; - private PreparedStatement psIns1 = null; - private PreparedStatement psIns2 = null; - private PreparedStatement psUpd = null; - private PreparedStatement psUpd1 = null; - private PreparedStatement psUpd2 = null; - private PreparedStatement psDel = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new FareTermDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(".... DB Delete Count : "+ nDeleteCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - nDeleteCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - query = "SELECT COUNT(*) " - + " FROM FARE_TERMINAL_INFO" - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_TIMES = ? " - + " AND SEQNO = ? "; - - psSls1 = conn.prepareStatement(query); - - query = "SELECT COUNT(*) " - + " FROM DEFAULT_FARE_READ_INFO" - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_TIMES = ? " - + " AND SEQNO = ? "; - - psSls2 = conn.prepareStatement(query); - - query = "INSERT INTO FARE_TERMINAL_INFO ( " - + " WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_TIMES, " - + " SEQNO, CAR_TYPE_ID, COLLECT_ID, IN_OUT_KBN, LEVY_AMOUNT, READING_ID, " - + " FOREIGN_CARS_KBN, ARMY_CARS_KBN, CARS_MOVE_PICTURE_FILE, " - + " CARS_STOP_PICTURE_FILE, CAR_NO, READER, READING_DATE, REMARKS, X_POSITION, Y_POSITION, " - + " GARO_LEN, SERO_LEN, NOTE_TRANS_YN, NEW_DATA_YN, " - + " NOTE_INPUT_REMARKS, OTHER_SEQNO, URGENT_KBN, CREATE_DATE, CREATER, UPDATE_DATE, " - + " UPDATER " - + " ) " - + "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,TO_DATE(?,'yyyymmdd'),?,?,?,?,?,?,?,?,?,?,SYSDATE,'COMM', SYSDATE,'COMM') "; - - psIns1 = conn.prepareStatement(query); - - query = "INSERT INTO DEFAULT_FARE_READ_INFO( " - + " WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_TIMES, " - + " SEQNO, COLLECT_ID, READING_ID, CARS_MOVE_PICTURE_FILE, " - + " CARS_STOP_PICTURE_FILE, CAR_NO, READING_DATE, X_POSITION, Y_POSITION," - + " GARO_LEN, SERO_LEN, CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,TO_DATE(?,'yyyymmdd'),?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns2 = conn.prepareStatement(query); - - query = "UPDATE FARE_TERMINAL_INFO " - + " SET CAR_TYPE_ID = ? " - + " , COLLECT_ID = ? " - + " , IN_OUT_KBN = ? " - + " , LEVY_AMOUNT = ? " - + " , READING_ID = ? " - + " , FOREIGN_CARS_KBN = ? " - + " , ARMY_CARS_KBN = ? " - + " , CAR_NO = ? " - + " , READER = ? " - + " , READING_DATE = TO_DATE(?,'yyyymmdd') " - + " , REMARKS = ? " - + " , NOTE_TRANS_YN = ? " - + " , NEW_DATA_YN = ? " - + " , NOTE_INPUT_REMARKS = ? " - + " , OTHER_SEQNO = ? " - + " , DELETE_YN = ? " - + " , URGENT_KBN = ? " - + " , UPDATE_DATE = SYSDATE" - + " , UPDATER = 'COMM' " - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_TIMES = ? " - + " AND SEQNO = ? "; - - psUpd = conn.prepareStatement(query); - - query = "UPDATE FARE_TERMINAL_INFO " - + " SET CAR_TYPE_ID = ? " - + " , COLLECT_ID = ? " - + " , LEVY_AMOUNT = ? " - + " , CAR_NO = ? " - + " , REMARKS = ? " - + " , DELETE_YN = ? " - + " , URGENT_KBN = ? " - + " , UPDATE_DATE = SYSDATE" - + " , UPDATER = 'COMM' " - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_TIMES = ? " - + " AND SEQNO = ? "; - - psUpd1 = conn.prepareStatement(query); - - query = "UPDATE DEFAULT_FARE_READ_INFO " - + " SET CAR_NO = ? " - + " , COLLECT_ID = ? " - + " , UPDATE_DATE = SYSDATE" - + " , UPDATER = 'COMM' " - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_TIMES = ? " - + " AND SEQNO = ? "; - - psUpd2 = conn.prepareStatement(query); - - query = "DELETE FROM DEFAULT_FARE_READ_INFO" - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_TIMES = ? " - + " AND SEQNO = ? "; - - psDel = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psSls1 != null) psSls1.close(); }catch(Exception ignore){} - try{ if(psSls2 != null) psSls2.close(); }catch(Exception ignore){} - try{ if(psIns1 != null) psIns1.close(); }catch(Exception ignore){} - try{ if(psIns2 != null) psIns2.close(); }catch(Exception ignore){} - try{ if(psUpd != null) psUpd.close(); }catch(Exception ignore){} - try{ if(psUpd1 != null) psUpd1.close(); }catch(Exception ignore){} - try{ if(psUpd2 != null) psUpd2.close(); }catch(Exception ignore){} - try{ if(psDel != null) psDel.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(FareTermDataRecord record) throws SQLException , Exception { - int iParam; - try{ - String sPrcsKbn1 = record.getItem(FareTermDataRecord.NEW_DATA_YN); // 입력여부 - String sPrcsKbn2 = record.getItem(FareTermDataRecord.COLLECT_ID); // 징수유형 - String sPrcsKbn3 = record.getItem(FareTermDataRecord.DELETE_YN); // 삭제여부 - - if (sPrcsKbn1.equals("1")) { // 수기통행여부 - iParam = 1; - psSls1.setString(iParam++, record.getItem( FareTermDataRecord.WORKER_ID ).trim()); // '징수원ID' - psSls1.setString(iParam++, record.getItem( FareTermDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psSls1.setString(iParam++, record.getItem( FareTermDataRecord.BOOTH_ID ).trim()); // '차로' - psSls1.setString(iParam++, record.getItem( FareTermDataRecord.YEAR ).trim()); // '년' - psSls1.setString(iParam++, record.getItem( FareTermDataRecord.MONTH ).trim()); // '월' - psSls1.setString(iParam++, record.getItem( FareTermDataRecord.DAY ).trim()); // '일' - psSls1.setString(iParam++, record.getItem( FareTermDataRecord.WORK_TIMES ).trim()); // '통행시간' - psSls1.setString(iParam++, record.getItem( FareTermDataRecord.SEQNO ).trim()); // '일련번호' - rs1 = psSls1.executeQuery(); - - rs1.next(); - if (rs1.getInt(1) == 0) { // Data 미존재시 - iParam = 1; - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.WORKER_ID ).trim()); // '징수원ID' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.FARE_OFFICE_ID ).trim()); // '요금소코드' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.BOOTH_ID ).trim()); // '차로코드' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.YEAR ).trim()); // '년도' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.MONTH ).trim()); // '월' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.DAY ).trim()); // '일' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.WORK_TIMES ).trim()); // '통행시간' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.SEQNO ).trim()); // '일련번호' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.CAR_TYPE_ID ).trim()); // '차종코드' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.COLLECT_ID ).trim()); // '징수유형코드' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.IN_OUT_KBN ).trim()); // '유출입구분' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.LEVY_AMOUNT ).trim()); // '징수금액' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.READING_ID ).trim()); // '판독구분코드' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.FOREIGN_CARS_KBN ).trim()); // '외국인차량구분' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.ARMY_CARS_KBN ).trim()); // '미군용차량구분' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.CARS_MOVE_PICTURE_FILE ).trim()); // '동영상파일명' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.CARS_STOP_PICTURE_FILE ).trim()); // '정지영상파일명' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.CAR_NO ).trim()); // '차량번호' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.READER ).trim()); // '판독자 ID' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.READING_DATE ).trim()); // '판독일자' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.REMARKS ).trim()); // '비고' - psIns1.setInt(iParam++, Integer.parseInt(record.getItem( FareTermDataRecord.X_POSITION ).trim())); // '번호판 X좌표' - psIns1.setInt(iParam++, Integer.parseInt(record.getItem( FareTermDataRecord.Y_POSITION ).trim())); // '번호판 Y좌표' - psIns1.setInt(iParam++, Integer.parseInt(record.getItem( FareTermDataRecord.GARO_LEN ).trim())); // '번호판 가로길이' - psIns1.setInt(iParam++, Integer.parseInt(record.getItem( FareTermDataRecord.SERO_LEN ).trim())); // '번호판 세로길이' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.NOTE_TRANS_YN ).trim()); // '수기통행여부' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.NEW_DATA_YN ).trim()); // '입력여부' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.NOTE_INPUT_REMARKS ).trim()); // '수기입력사유' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.OTHER_SEQNO ).trim()); // '중복방지번호' - psIns1.setString(iParam++, record.getItem( FareTermDataRecord.URGENT_KBN ).trim()); // '비상데이터구분' - psIns1.executeUpdate(); - - nInsertCount++; - }else{ - iParam = 1; - - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.CAR_TYPE_ID ).trim()); // '차종코드' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.COLLECT_ID ).trim()); // '징수유형코드' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.IN_OUT_KBN ).trim()); // '유출입구분' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.LEVY_AMOUNT ).trim()); // '징수금액' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.READING_ID ).trim()); // '판독구분코드' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.FOREIGN_CARS_KBN ).trim()); // '외국인차량구분' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.ARMY_CARS_KBN ).trim()); // '미군용차량구분' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.CAR_NO ).trim()); // '차량번호' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.READER ).trim()); // '판독자 ID' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.READING_DATE ).trim()); // '판독일자' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.REMARKS ).trim()); // '비고' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.NOTE_TRANS_YN ).trim()); // '수기통행여부' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.NEW_DATA_YN ).trim()); // '입력여부' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.NOTE_INPUT_REMARKS ).trim()); // '수기입력사유' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.OTHER_SEQNO ).trim()); // '중복방지번호' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.DELETE_YN ).trim()); // '삭제여부' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.URGENT_KBN ).trim()); // '비상데이터구분' - - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.WORKER_ID ).trim()); // '징수원ID' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.FARE_OFFICE_ID ).trim()); // '요금소코드' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.BOOTH_ID ).trim()); // '차로코드' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.YEAR ).trim()); // '년도' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.MONTH ).trim()); // '월' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.DAY ).trim()); // '일' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.WORK_TIMES ).trim()); // '통행시간' - psUpd.setString(iParam++, record.getItem( FareTermDataRecord.SEQNO ).trim()); // '일련번호' - psUpd.executeUpdate(); - - nUpdateCount++; - - } - - - if (sPrcsKbn2.equals("40")) { // 징수유형 - iParam = 1; - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.WORKER_ID ).trim()); // '징수원ID' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.FARE_OFFICE_ID ).trim()); // '요금소코드' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.BOOTH_ID ).trim()); // '차로코드' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.YEAR ).trim()); // '년도' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.MONTH ).trim()); // '월' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.DAY ).trim()); // '일' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.WORK_TIMES ).trim()); // '통행시간' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.SEQNO ).trim()); // '일련번호' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.COLLECT_ID ).trim()); // '징수유형코드' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.READING_ID ).trim()); // '판독구분코드' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.CARS_MOVE_PICTURE_FILE ).trim()); // '동영상파일명' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.CARS_STOP_PICTURE_FILE ).trim()); // '정지영상파일명' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.CAR_NO ).trim()); // '차량번호' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.READING_DATE ).trim()); // '판독일자' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.X_POSITION ).trim()); // '번호판 X좌표' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.Y_POSITION ).trim()); // '번호판 Y좌표' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.GARO_LEN ).trim()); // '번호판 가로길이' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.SERO_LEN ).trim()); // '번호판 세로길이' - psIns2.executeUpdate(); - - nUpdateCount++; - } - } else { - - iParam = 1; - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.CAR_TYPE_ID ).trim()); // '차종코드' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.COLLECT_ID ).trim()); // '징수유형' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.LEVY_AMOUNT ).trim()); // '징수금액' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.CAR_NO ).trim()); // '차량번호' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.REMARKS ).trim()); // '비고' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.DELETE_YN ).trim()); // '삭제여부' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.URGENT_KBN ).trim()); // '비상데이터구분' - - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.WORKER_ID ).trim()); // '징수원ID' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.BOOTH_ID ).trim()); // '차로' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.YEAR ).trim()); // '년' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.MONTH ).trim()); // '월' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.DAY ).trim()); // '일' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.WORK_TIMES ).trim()); // '통행시간' - psUpd1.setString(iParam++, record.getItem( FareTermDataRecord.SEQNO ).trim()); // '일련번호' - psUpd1.executeUpdate(); - - nUpdateCount++; - - iParam = 1; - psSls2.setString(iParam++, record.getItem( FareTermDataRecord.WORKER_ID ).trim()); // '징수원ID' - psSls2.setString(iParam++, record.getItem( FareTermDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psSls2.setString(iParam++, record.getItem( FareTermDataRecord.BOOTH_ID ).trim()); // '차로' - psSls2.setString(iParam++, record.getItem( FareTermDataRecord.YEAR ).trim()); // '년' - psSls2.setString(iParam++, record.getItem( FareTermDataRecord.MONTH ).trim()); // '월' - psSls2.setString(iParam++, record.getItem( FareTermDataRecord.DAY ).trim()); // '일' - psSls2.setString(iParam++, record.getItem( FareTermDataRecord.WORK_TIMES ).trim()); // '통행시간' - psSls2.setString(iParam++, record.getItem( FareTermDataRecord.SEQNO ).trim()); // '일련번호' - rs2 = psSls2.executeQuery(); - - rs2.next(); - - if (rs2.getInt(1) == 0) { // 미납정보 건수 - if (sPrcsKbn2.equals("40")) { // 징수유형 - iParam = 1; - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.WORKER_ID ).trim()); // '징수원ID' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.FARE_OFFICE_ID ).trim()); // '요금소코드' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.BOOTH_ID ).trim()); // '차로코드' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.YEAR ).trim()); // '년도' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.MONTH ).trim()); // '월' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.DAY ).trim()); // '일' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.WORK_TIMES ).trim()); // '통행시간' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.SEQNO ).trim()); // '일련번호' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.COLLECT_ID ).trim()); // '징수유형코드' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.READING_ID ).trim()); // '판독구분코드' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.CARS_MOVE_PICTURE_FILE ).trim()); // '동영상파일명' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.CARS_STOP_PICTURE_FILE ).trim()); // '정지영상파일명' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.CAR_NO ).trim()); // '차량번호' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.READING_DATE ).trim()); // '판독일자' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.X_POSITION ).trim()); // '번호판 X좌표' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.Y_POSITION ).trim()); // '번호판 Y좌표' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.GARO_LEN ).trim()); // '번호판 가로길이' - psIns2.setString(iParam++, record.getItem( FareTermDataRecord.SERO_LEN ).trim()); // '번호판 세로길이' - psIns2.executeUpdate(); - - nInsertCount++; - } - } else if (rs2.getInt(1) > 0) { // 미납정보 건수 - if (sPrcsKbn3.equals("1")) { // 삭제여부 - iParam = 1; - psDel.setString(iParam++, record.getItem( FareTermDataRecord.WORKER_ID ).trim()); // '징수원ID' - psDel.setString(iParam++, record.getItem( FareTermDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psDel.setString(iParam++, record.getItem( FareTermDataRecord.BOOTH_ID ).trim()); // '차로' - psDel.setString(iParam++, record.getItem( FareTermDataRecord.YEAR ).trim()); // '년' - psDel.setString(iParam++, record.getItem( FareTermDataRecord.MONTH ).trim()); // '월' - psDel.setString(iParam++, record.getItem( FareTermDataRecord.DAY ).trim()); // '일' - psDel.setString(iParam++, record.getItem( FareTermDataRecord.WORK_TIMES ).trim()); // '통행시간' - psDel.setString(iParam++, record.getItem( FareTermDataRecord.SEQNO ).trim()); // '일련번호' - psDel.executeUpdate(); - - nDeleteCount++; - } else if (sPrcsKbn3.equals("0")) { // 삭제여부 - iParam = 1; - psUpd2.setString(iParam++, record.getItem( FareTermDataRecord.CAR_NO ).trim()); // '차량번호' - psUpd2.setString(iParam++, record.getItem( FareTermDataRecord.COLLECT_ID ).trim()); // '징수유형' - psUpd2.setString(iParam++, record.getItem( FareTermDataRecord.WORKER_ID ).trim()); // '징수원ID' - psUpd2.setString(iParam++, record.getItem( FareTermDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd2.setString(iParam++, record.getItem( FareTermDataRecord.BOOTH_ID ).trim()); // '차로' - psUpd2.setString(iParam++, record.getItem( FareTermDataRecord.YEAR ).trim()); // '년' - psUpd2.setString(iParam++, record.getItem( FareTermDataRecord.MONTH ).trim()); // '월' - psUpd2.setString(iParam++, record.getItem( FareTermDataRecord.DAY ).trim()); // '일' - psUpd2.setString(iParam++, record.getItem( FareTermDataRecord.WORK_TIMES ).trim()); // '통행시간' - psUpd2.setString(iParam++, record.getItem( FareTermDataRecord.SEQNO ).trim()); // '일련번호' - psUpd2.executeUpdate(); - - nUpdateCount++; - } - } - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - }finally{ - try{ if(rs1 != null) rs1.close(); }catch(Exception ignore){} - try{ if(rs2 != null) rs2.close(); }catch(Exception ignore){} - } - } - -} diff --git a/src/main/java/center/data/ApplyFareTermupd.java b/src/main/java/center/data/ApplyFareTermupd.java deleted file mode 100644 index 9562ada..0000000 --- a/src/main/java/center/data/ApplyFareTermupd.java +++ /dev/null @@ -1,136 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.FareTermUpdDataRecord; - -/** - * 요금단말변경정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyFareTermupd extends FileWorker -{ - - private String sPrcsName = "ApplyFareTermupd"; - public static final int REC_LEN = 200; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private PreparedStatement psIns = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new FareTermUpdDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - nDeleteCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = "INSERT INTO FARE_TERMINAL_UPDATE_INFO ( " - + " WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_TIMES, " - + " SEQNO, UPDATE_SEQNO, HISTORY_UPDATE_DATE, UPDATE_REASON, DECISION_YN, " - + " CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + "VALUES (?,?,?,?,?,?,?,?,?,to_date(?,'yyyymmdd'),?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psIns != null) psIns.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(FareTermUpdDataRecord record) throws SQLException , Exception { - int iParam; - - try{ - iParam = 1; - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.WORKER_ID ).trim()); // '징수원ID' - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.FARE_OFFICE_ID ).trim()); // '요금소코드' - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.BOOTH_ID ).trim()); // '차로코드' - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.YEAR ).trim()); // '년도' - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.MONTH ).trim()); // '월' - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.DAY ).trim()); // '일' - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.WORK_TIMES ).trim()); // '통행시간' - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.SEQNO ).trim()); // '일련번호' - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.UPDATE_SEQNO ).trim()); // '이력일련번호' - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.UPDATE_HISTORY_DATE ).trim()); // '변경일자' - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.UPDATE_REASON ).trim()); // '변경사유' - psIns.setString(iParam++, record.getItem( FareTermUpdDataRecord.COLLECT_ID ).trim()); // '수정 징수유형' - psIns.executeUpdate(); - - nInsertCount++; - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - } - } - -} diff --git a/src/main/java/center/data/ApplyFixTicket.java b/src/main/java/center/data/ApplyFixTicket.java deleted file mode 100644 index 38bd226..0000000 --- a/src/main/java/center/data/ApplyFixTicket.java +++ /dev/null @@ -1,277 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.FixTicketDataRecord; - -/** - * 정액권수불정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyFixTicket extends FileWorker -{ - - private String sPrcsName = "ApplyFixTicket"; - public static final int REC_LEN = 210; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs = null; - private PreparedStatement psSls1 = null; - private PreparedStatement psSls2 = null; - private PreparedStatement psIns1 = null; - private PreparedStatement psIns2 = null; - private PreparedStatement psUpd1 = null; - private PreparedStatement psUpd2 = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - // 데이터 반영 - processRecord(new FixTicketDataRecord(sTemp)); - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = "SELECT COUNT(*) " - + " FROM FIX_AMOUNT_HEAD_INFO " - + " WHERE FARE_OFFICE_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND IN_OUT_KBN = ? "; - - psSls1 = conn.prepareStatement(query); - - query = "SELECT COUNT(*) " - + " FROM FIX_AMOUNT_DETAIL_INFO " - + " WHERE FARE_OFFICE_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND IN_OUT_KBN = ? " - + " AND SEQNO = ? "; - - psSls2 = conn.prepareStatement(query); - - query = "INSERT INTO FIX_AMOUNT_HEAD_INFO( " - + " FARE_OFFICE_ID, YEAR, MONTH, DAY, IN_OUT_KBN, IN_OUT_COUNT, " - + " CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + "VALUES (?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns1 = conn.prepareStatement(query); - - query = "INSERT INTO FIX_AMOUNT_DETAIL_INFO( " - + " FARE_OFFICE_ID, YEAR, MONTH, DAY, IN_OUT_KBN, SEQNO, BOOTH_ID, STT_SEQNO, " - + " END_SEQNO, IN_OUT_COUNT, REMARKS, DAY_END_PROCESS_FLAG, " - + " CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns2 = conn.prepareStatement(query); - - query = "UPDATE FIX_AMOUNT_HEAD_INFO " - + " SET IN_OUT_COUNT = ? " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE FARE_OFFICE_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND IN_OUT_KBN = ? "; - - psUpd1 = conn.prepareStatement(query); - - query = "UPDATE FIX_AMOUNT_DETAIL_INFO " - + " SET BOOTH_ID = ? " - + " , STT_SEQNO = ? " - + " , END_SEQNO = ? " - + " , IN_OUT_COUNT = ? " - + " , REMARKS = ? " - + " , DAY_END_PROCESS_FLAG = ? " - + " , UPDATE_DATE = SYSDATE" - + " , UPDATER = 'COMM' " - + " WHERE FARE_OFFICE_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND IN_OUT_KBN = ? " - + " AND SEQNO = ? "; - - psUpd2 = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psSls1 != null) psSls1.close(); }catch(Exception ignore){} - try{ if(psSls2 != null) psSls2.close(); }catch(Exception ignore){} - try{ if(psIns1 != null) psIns1.close(); }catch(Exception ignore){} - try{ if(psIns2 != null) psIns2.close(); }catch(Exception ignore){} - try{ if(psUpd1 != null) psUpd1.close(); }catch(Exception ignore){} - try{ if(psUpd2 != null) psUpd2.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(FixTicketDataRecord record) throws SQLException , Exception { - int iParam; - try{ - char sPrcsKbn = record.getItem(FixTicketDataRecord.D_DATA_TYPE).charAt(0); // 자료구분 - - switch (sPrcsKbn) { - case 'H': - iParam = 1; - psSls1.setString(iParam++, record.getItem( FixTicketDataRecord.H_FARE_OFFICE_ID ).trim()); // '요금소' - psSls1.setString(iParam++, record.getItem( FixTicketDataRecord.H_YEAR ).trim()); // '년도' - psSls1.setString(iParam++, record.getItem( FixTicketDataRecord.H_MONTH ).trim()); // '월' - psSls1.setString(iParam++, record.getItem( FixTicketDataRecord.H_DAY ).trim()); // '일' - psSls1.setString(iParam++, record.getItem( FixTicketDataRecord.H_IN_OUT_KBN ).trim()); // '수불구분' - rs = psSls1.executeQuery(); - rs.next(); - - if (rs.getInt(1) == 0) { - iParam = 1; - psIns1.setString(iParam++, record.getItem( FixTicketDataRecord.H_FARE_OFFICE_ID ).trim()); // '요금소' - psIns1.setString(iParam++, record.getItem( FixTicketDataRecord.H_YEAR ).trim()); // '년도' - psIns1.setString(iParam++, record.getItem( FixTicketDataRecord.H_MONTH ).trim()); // '월' - psIns1.setString(iParam++, record.getItem( FixTicketDataRecord.H_DAY ).trim()); // '일' - psIns1.setString(iParam++, record.getItem( FixTicketDataRecord.H_IN_OUT_KBN ).trim()); // '수불구분' - psIns1.setString(iParam++, record.getItem( FixTicketDataRecord.H_IN_OUT_COUNT ).trim()); // '정액권권수' - psIns1.executeUpdate(); - - nInsertCount++; - } else if (rs.getInt(1) > 0) { - iParam = 1; - psUpd1.setString(iParam++, record.getItem( FixTicketDataRecord.H_IN_OUT_COUNT ).trim()); // '정액권권수' - psUpd1.setString(iParam++, record.getItem( FixTicketDataRecord.H_FARE_OFFICE_ID ).trim()); // '요금소' - psUpd1.setString(iParam++, record.getItem( FixTicketDataRecord.H_YEAR ).trim()); // '년도' - psUpd1.setString(iParam++, record.getItem( FixTicketDataRecord.H_MONTH ).trim()); // '월' - psUpd1.setString(iParam++, record.getItem( FixTicketDataRecord.H_DAY ).trim()); // '일' - psUpd1.setString(iParam++, record.getItem( FixTicketDataRecord.H_IN_OUT_KBN ).trim()); // '수불구분' - psUpd1.executeUpdate(); - - nUpdateCount++; - } - break; - - case 'D': - - iParam = 1; - psSls2.setString(iParam++, record.getItem( FixTicketDataRecord.D_FARE_OFFICE_ID ).trim()); // '요금소' - psSls2.setString(iParam++, record.getItem( FixTicketDataRecord.D_YEAR ).trim()); // '년도' - psSls2.setString(iParam++, record.getItem( FixTicketDataRecord.D_MONTH ).trim()); // '월' - psSls2.setString(iParam++, record.getItem( FixTicketDataRecord.D_DAY ).trim()); // '일' - psSls2.setString(iParam++, record.getItem( FixTicketDataRecord.D_IN_OUT_KBN ).trim()); // '수불구분' - psSls2.setString(iParam++, record.getItem( FixTicketDataRecord.D_SEQNO ).trim()); // '일련번호' - rs = psSls2.executeQuery(); - rs.next(); - - if (rs.getInt(1) == 0) { - iParam = 1; - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_FARE_OFFICE_ID ).trim()); // '요금소' - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_YEAR ).trim()); // '년도' - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_MONTH ).trim()); // '월' - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_DAY ).trim()); // '일' - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_IN_OUT_KBN ).trim()); // '수불구분' - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_SEQNO ).trim()); // '일련번호' - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_BOOTH_ID ).trim()); // '차로' - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_STT_SEQNO ).trim()); // '시작일련번호' - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_END_SEQNO ).trim()); // '종료일련번호' - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_IN_OUT_COUNT ).trim()); // '정액권권수' - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_REMARKS ).trim()); // '비고' - psIns2.setString(iParam++, record.getItem( FixTicketDataRecord.D_DAY_END_PROCESS_FLAG ).trim()); // '일마감' - psIns2.executeUpdate(); - - nInsertCount++; - } else if (rs.getInt(1) > 0) { - iParam = 1; - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_BOOTH_ID ).trim()); // '차로' - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_STT_SEQNO ).trim()); // '시작일련번호' - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_END_SEQNO ).trim()); // '종료일련번호' - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_IN_OUT_COUNT ).trim()); // '정액권권수' - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_REMARKS ).trim()); // '비고' - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_DAY_END_PROCESS_FLAG ).trim()); // '일마감' - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_FARE_OFFICE_ID ).trim()); // '요금소' - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_YEAR ).trim()); // '년도' - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_MONTH ).trim()); // '월' - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_DAY ).trim()); // '일' - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_IN_OUT_KBN ).trim()); // '수불구분' - psUpd2.setString(iParam++, record.getItem( FixTicketDataRecord.D_SEQNO ).trim()); // '일련번호' - psUpd2.executeUpdate(); - - nUpdateCount++; - } - break; - - default: - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - }finally{ - try{ if(rs != null) rs.close(); }catch(Exception ignore){} - } - } -} diff --git a/src/main/java/center/data/ApplyInOutAmt.java b/src/main/java/center/data/ApplyInOutAmt.java deleted file mode 100644 index 1d7cc23..0000000 --- a/src/main/java/center/data/ApplyInOutAmt.java +++ /dev/null @@ -1,213 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.InOutAmtDataRecord; - -/** - * 입출금정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyInOutAmt extends FileWorker -{ - - private String sPrcsName = "ApplyInOutAmt"; - public static final int REC_LEN = 250; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs = null; - private PreparedStatement psSls = null; - private PreparedStatement psIns = null; - private PreparedStatement psUpd = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new InOutAmtDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = " SELECT COUNT(*) " - + " FROM IN_OUT_INFO " - + " WHERE WORKER_ID = ?" - + " AND FARE_OFFICE_ID = ?" - + " AND BOOTH_ID = ?" - + " AND YEAR = ?" - + " AND MONTH = ?" - + " AND DAY = ?" - + " AND WORK_STT_TIME = ?" - + " AND WORK_END_TIME = ?" - + " AND IO_SEQNO = ?"; - - psSls = conn.prepareStatement(query); - - query = " INSERT INTO IN_OUT_INFO( " - + " WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, " - + " WORK_STT_TIME, WORK_END_TIME, IO_SEQNO, IN_OUT_KBN, IN_OUT_CONTENTS, " - + " IN_OUT_AMOUNT, DELETE_YN, REMARKS, CREATE_DATE, CREATER, UPDATE_DATE, " - + " UPDATER " - + " ) " - + " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns = conn.prepareStatement(query); - - query = " UPDATE IN_OUT_INFO " - + " SET IN_OUT_KBN = ? " - + " , IN_OUT_CONTENTS = ? " - + " , IN_OUT_AMOUNT = ? " - + " , DELETE_YN = ? " - + " , REMARKS = ? " - + " , UPDATE_DATE = SYSDATE" - + " , UPDATER = 'COMM' " - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_STT_TIME = ? " - + " AND WORK_END_TIME = ? " - + " AND IO_SEQNO = ? "; - - psUpd = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psSls != null) psSls.close(); }catch(Exception ignore){} - try{ if(psIns != null) psIns.close(); }catch(Exception ignore){} - try{ if(psUpd != null) psUpd.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(InOutAmtDataRecord record) throws SQLException , Exception { - int iParam = 1; - - try{ - psSls.setString(iParam++, record.getItem( InOutAmtDataRecord.WORKER_ID ).trim()); // '징수원ID' - psSls.setString(iParam++, record.getItem( InOutAmtDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psSls.setString(iParam++, record.getItem( InOutAmtDataRecord.BOOTH_ID ).trim()); // '차로' - psSls.setString(iParam++, record.getItem( InOutAmtDataRecord.YEAR ).trim()); // '년도' - psSls.setString(iParam++, record.getItem( InOutAmtDataRecord.MONTH ).trim()); // '월' - psSls.setString(iParam++, record.getItem( InOutAmtDataRecord.DAY ).trim()); // '일' - psSls.setString(iParam++, record.getItem( InOutAmtDataRecord.WORK_STT_TIME ).trim()); // '근무시작시간' - psSls.setString(iParam++, record.getItem( InOutAmtDataRecord.WORK_END_TIME ).trim()); // '근무종료시간' - psSls.setString(iParam++, record.getItem( InOutAmtDataRecord.IO_SEQNO ).trim()); // '일련번호' - rs = psSls.executeQuery(); - rs.next(); - - if (rs.getInt(1) == 0) { - iParam = 1; - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.WORKER_ID ).trim()); // '징수원ID' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.BOOTH_ID ).trim()); // '차로' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.YEAR ).trim()); // '년도' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.MONTH ).trim()); // '월' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.DAY ).trim()); // '일' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.WORK_STT_TIME ).trim()); // '근무시작시간' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.WORK_END_TIME ).trim()); // '근무종료시간' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.IO_SEQNO ).trim()); // '일련번호' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.IN_OUT_KBN ).trim()); // '입출금구분' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.IN_OUT_CONTENTS ).trim()); // '입출금내역' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.IN_OUT_AMOUNT ).trim()); // '입출금액' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.DELETE_YN ).trim()); // '삭제구분' - psIns.setString(iParam++, record.getItem( InOutAmtDataRecord.REMARKS ).trim()); // '비고' - psIns.executeUpdate(); - - nInsertCount++; - } else if (rs.getInt(1) > 0) { - iParam = 1; - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.IN_OUT_KBN ).trim()); // '입출금구분' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.IN_OUT_CONTENTS ).trim()); // '입출금내역' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.IN_OUT_AMOUNT ).trim()); // '입출금액' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.DELETE_YN ).trim()); // '삭제구분' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.REMARKS ).trim()); // '비고' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.WORKER_ID ).trim()); // '징수원ID' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.BOOTH_ID ).trim()); // '차로' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.YEAR ).trim()); // '년도' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.MONTH ).trim()); // '월' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.DAY ).trim()); // '일' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.WORK_STT_TIME ).trim()); // '근무시작시간' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.WORK_END_TIME ).trim()); // '근무종료시간' - psUpd.setString(iParam++, record.getItem( InOutAmtDataRecord.IO_SEQNO ).trim()); // '일련번호' - psUpd.executeUpdate(); - - nUpdateCount++; - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - }finally{ - try{ if(rs != null) rs.close(); }catch(Exception ignore){} - } - } -} diff --git a/src/main/java/center/data/ApplyIncomeInfo.java b/src/main/java/center/data/ApplyIncomeInfo.java deleted file mode 100644 index 5233c3c..0000000 --- a/src/main/java/center/data/ApplyIncomeInfo.java +++ /dev/null @@ -1,267 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.IncomeInfoDataRecord; - -/** - * 수입금정산정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyIncomeInfo extends FileWorker -{ - - private String sPrcsName = "ApplyIncomeInfo"; - public static final int REC_LEN = 260; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs = null; - private PreparedStatement psSls = null; - private PreparedStatement psIns = null; - private PreparedStatement psUpd1 = null; - private PreparedStatement psUpd2 = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new IncomeInfoDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = "SELECT COUNT(*) " - + " FROM INCOME_ADJUST_INFO " - + " WHERE FARE_OFFICE_ID = ? " - + " AND INCOME_DATE = ? " - + " AND INCOME_PART = ? "; - - psSls = conn.prepareStatement(query); - - query = "INSERT INTO INCOME_ADJUST_INFO( " - + " FARE_OFFICE_ID, INCOME_DATE, INCOME_PART, CASH_QUANTITY, " - + " CARD_BEFORE_QUANTITY, CARD_AFTER_QUANTITY, COUPON_QUANTITY, " - + " EXEMPTION_QUANTITY, NONPAYMENT_QUANTITY, COUPON_SALE_QUANTITY, " - + " CASH_INCOME, COUPON_SALE_INCOME, CUSTOM_NAME, CUSTOM_PERSON, K_CASH_Q, " - + " K_SUN_Q, K_WHO_Q, K_COUPON_Q, K_COUPON_SALE_Q, K_CASH_INCOME, " - + " K_COUPON_SALE_INCOME, " - + " REPAY_Q, REPAY_M,SALE_CARD_Q, SALE_CARD_M, K_SALE_CARD_Q, K_SALE_CARD_M, " - + " CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + "VALUES (?,?,?,?,?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?,?,?, ?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns = conn.prepareStatement(query); - - query = "UPDATE FARE_ADJUST_INFO " - + " SET INCOME_ADJUST_YN = '1' " - + " , INCOME_DATE = ? " - + " , INCOME_PART = ? " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE FARE_OFFICE_ID = ? " - + " AND YEAR||MONTH||DAY = ? " - + " AND C_AMPM = ? " - + " AND FARE_ADJUST_YN = '1' "; - - psUpd1 = conn.prepareStatement(query); - - query = "UPDATE INCOME_ADJUST_INFO " - + " SET CASH_QUANTITY = ? " - + " , CARD_BEFORE_QUANTITY = ? " - + " , CARD_AFTER_QUANTITY = ? " - + " , COUPON_QUANTITY = ? " - + " , EXEMPTION_QUANTITY = ? " - + " , NONPAYMENT_QUANTITY = ? " - + " , COUPON_SALE_QUANTITY = ? " - + " , CASH_INCOME = ? " - + " , COUPON_SALE_INCOME = ? " - + " , CUSTOM_NAME = ? " - + " , CUSTOM_PERSON = ? " - + " , K_CASH_Q = ? " - + " , K_SUN_Q = ? " - + " , K_WHO_Q = ? " - + " , K_COUPON_Q = ? " - + " , K_COUPON_SALE_Q = ? " - + " , K_CASH_INCOME = ? " - + " , K_COUPON_SALE_INCOME = ? " - + " , REPAY_Q = ? " - + " , REPAY_M = ? " - + " , SALE_CARD_Q = ? " - + " , SALE_CARD_M = ? " - + " , K_SALE_CARD_Q = ? " - + " , K_SALE_CARD_M = ? " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE FARE_OFFICE_ID = ? " - + " AND INCOME_DATE = ? " - + " AND INCOME_PART = ? "; - - psUpd2 = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psSls != null) psSls.close(); }catch(Exception ignore){} - try{ if(psIns != null) psIns.close(); }catch(Exception ignore){} - try{ if(psUpd1 != null) psUpd1.close(); }catch(Exception ignore){} - try{ if(psUpd2 != null) psUpd2.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(IncomeInfoDataRecord record) throws SQLException , Exception { - int iParam = 1; - - try{ - psUpd1.setString(iParam++, record.getItem( IncomeInfoDataRecord.INCOME_DATE ).trim()); // '정산일자' - psUpd1.setString(iParam++, record.getItem( IncomeInfoDataRecord.INCOME_PART ).trim()); // '오전/오후' - psUpd1.setString(iParam++, record.getItem( IncomeInfoDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd1.setString(iParam++, record.getItem( IncomeInfoDataRecord.INCOME_DATE ).trim()); // '정산일자' - psUpd1.setString(iParam++, record.getItem( IncomeInfoDataRecord.INCOME_PART ).trim()); // '정산그룹(오전/오후)' - psUpd1.addBatch(); - - iParam = 1; - psSls.setString(iParam++, record.getItem( IncomeInfoDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psSls.setString(iParam++, record.getItem( IncomeInfoDataRecord.INCOME_DATE ).trim()); // '정산일자' - psSls.setString(iParam++, record.getItem( IncomeInfoDataRecord.INCOME_PART ).trim()); // '정산그룹(오전/오후)' - rs = psSls.executeQuery(); - rs.next(); - - if (rs.getInt(1) == 0) { - iParam = 1; - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.INCOME_DATE ).trim()); // '정산일자' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.INCOME_PART ).trim()); // '정산그룹' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.CASH_QUANTITY ).trim()); // '현금통행량' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.CARD_BEFORE_QUANTITY ).trim()); // '선불통행량' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.CARD_AFTER_QUANTITY ).trim()); // '후불통행량' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.COUPON_QUANTITY ).trim()); // '쿠폰통행량' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.EXEMPTION_QUANTITY ).trim()); // '면제통행량' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.NONPAYMENT_QUANTITY ).trim()); // '미납통행량' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.COUPON_SALE_QUANTITY ).trim()); // '정액권판매권수' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.CASH_INCOME ).trim()); // '현금수입금' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.COUPON_SALE_INCOME ).trim()); // '정액권판매금액' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.CUSTOM_NAME ).trim()); // '징수사명' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.CUSTOM_PERSON ).trim()); // '담당자명' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_CASH_Q ).trim()); // '경차현금통행량' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_SUN_Q ).trim()); // '경차선불통행량' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_WHO_Q ).trim()); // '경차후불통행량' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_COUPON_Q ).trim()); // '경차쿠폰통행량' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_COUPON_SALE_Q ).trim()); // '경차정액권판매권수' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_CASH_INCOME ).trim()); // '경차현금수입금' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_COUPON_SALE_INCOME ).trim()); // '경차정액권판매금액' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.REPAY_Q ).trim()); // '카드환불건수' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.REPAY_M ).trim()); // '카드환불금액' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.SALE_CARD_Q ).trim()); // '정액권카드판매권수' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.SALE_CARD_M ).trim()); // '정액권카드판매금액' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_SALE_CARD_Q ).trim()); // '경차정액권카드판매권수' - psIns.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_SALE_CARD_M ).trim()); // '경차정액권카드판매금액' - psIns.executeUpdate(); - - nInsertCount++; - } else if (rs.getInt(1) > 0) { - iParam = 1; - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.CASH_QUANTITY ).trim()); // '현금통행량' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.CARD_BEFORE_QUANTITY ).trim()); // '선불통행량' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.CARD_AFTER_QUANTITY ).trim()); // '후불통행량' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.COUPON_QUANTITY ).trim()); // '쿠폰통행량' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.EXEMPTION_QUANTITY ).trim()); // '면제통행량' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.NONPAYMENT_QUANTITY ).trim()); // '미납통행량' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.COUPON_SALE_QUANTITY ).trim()); // '정액권판매권수' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.CASH_INCOME ).trim()); // '현금수입금' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.COUPON_SALE_INCOME ).trim()); // '정액권판매금액' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.CUSTOM_NAME ).trim()); // '징수사명' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.CUSTOM_PERSON ).trim()); // '담당자명' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_CASH_Q ).trim()); // '경차현금통행량' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_SUN_Q ).trim()); // '경차선불통행량' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_WHO_Q ).trim()); // '경차후불통행량' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_COUPON_Q ).trim()); // '경차쿠폰통행량' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_COUPON_SALE_Q ).trim()); // '경차정액권판매권수' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_CASH_INCOME ).trim()); // '경차현금수입금' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_COUPON_SALE_INCOME ).trim()); // '경차정액권판매금액' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.REPAY_Q ).trim()); // '카드환불건수' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.REPAY_M ).trim()); // '카드환불금액' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.SALE_CARD_Q ).trim()); // '정액권카드판매권수' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.SALE_CARD_M ).trim()); // '정액권카드판매금액' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_SALE_CARD_Q ).trim()); // '경차정액권카드판매권수' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.K_SALE_CARD_M ).trim()); // '경차정액권카드판매금액' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.INCOME_DATE ).trim()); // '정산일자' - psUpd2.setString(iParam++, record.getItem( IncomeInfoDataRecord.INCOME_PART ).trim()); // '정산그룹' - psUpd2.executeUpdate(); - - nUpdateCount++; - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - }finally{ - try{ if(rs != null) rs.close(); }catch(Exception ignore){} - } - } -} diff --git a/src/main/java/center/data/ApplyOverCoupon.java b/src/main/java/center/data/ApplyOverCoupon.java deleted file mode 100644 index 7bcee40..0000000 --- a/src/main/java/center/data/ApplyOverCoupon.java +++ /dev/null @@ -1,333 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.OverCouponDataRecord; - -/** - * 과잉쿠폰정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyOverCoupon extends FileWorker -{ - - private String sPrcsName = "ApplyOverCoupon"; - public static final int REC_LEN = 280; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs = null; - private PreparedStatement psSls = null; - private PreparedStatement psIns1 = null; - private PreparedStatement psIns2 = null; - private PreparedStatement psIns3 = null; - private PreparedStatement psDel1 = null; - private PreparedStatement psDel2 = null; - private PreparedStatement psDel3 = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - // 데이터 반영 - processRecord(new OverCouponDataRecord(sTemp)); - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Delete Count : "+ nDeleteCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - nDeleteCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = "SELECT COUNT(*) " - + " FROM OVERCOUPON_HEAD_INFO" - + " WHERE WORKER_ID = ?" - + " AND FARE_OFFICE_ID = ?" - + " AND BOOTH_ID = ?" - + " AND YEAR = ?" - + " AND MONTH = ?" - + " AND DAY = ?" - + " AND WORK_STT_TIME = ?" - + " AND WORK_END_TIME = ?"; - - psSls = conn.prepareStatement(query); - - query = " INSERT INTO OVERCOUPON_HEAD_INFO ( " - + " WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, " - + " WORK_STT_TIME, WORK_END_TIME, OVERCOUPON_COUNT, COUPON_RETURN_COUNT, " - + " COUPON_DISUSE_COUNT, K_OVERCOUPON_CNT, K_COUPON_RET_CNT, " - + " K_COUPON_DISUSE_CNT, CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') " - + " "; - - psIns1 = conn.prepareStatement(query); - - query = " INSERT INTO OVERCOUPON_DETAIL_INFO( " - + " WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, " - + " WORK_STT_TIME, WORK_END_TIME, SEQNO, FARE_TIME, OVER_KBN, COUPON_COUNT, " - + " CAR_NO, CAR_TYPE_NAME, OWNER, TEL_NO, REMARKS, INPUT_KBN, COUPON_NO, " - + " RETURN_DATE, RETURN_PERSON, DELETE_YN, MINI_CAR_KBN, CREATE_DATE, " - + " CREATER, UPDATE_DATE, UPDATER " - + " ) " - + " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns2 = conn.prepareStatement(query); - - query = " INSERT INTO OVERCOUPON_NO_INFO( " - + " WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, " - + " WORK_STT_TIME, WORK_END_TIME, SEQNO, COUPON_NO, MINI_CAR_KBN, " - + " CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + " VALUES (?,?,?,?,?,?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns3 = conn.prepareStatement(query); - - query = "DELETE FROM OVERCOUPON_HEAD_INFO" - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_STT_TIME = ? " - + " AND WORK_END_TIME = ? "; - - psDel1 = conn.prepareStatement(query); - - query = "DELETE FROM OVERCOUPON_DETAIL_INFO " - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_STT_TIME = ? " - + " AND WORK_END_TIME = ? "; - - psDel2 = conn.prepareStatement(query); - - query = "DELETE FROM OVERCOUPON_NO_INFO " - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_STT_TIME = ? " - + " AND WORK_END_TIME = ? "; - - psDel3 = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psSls != null) psSls.close(); }catch(Exception ignore){} - try{ if(psIns1 != null) psIns1.close(); }catch(Exception ignore){} - try{ if(psIns2 != null) psIns2.close(); }catch(Exception ignore){} - try{ if(psIns3 != null) psIns3.close(); }catch(Exception ignore){} - try{ if(psDel1 != null) psDel1.close(); }catch(Exception ignore){} - try{ if(psDel2 != null) psDel2.close(); }catch(Exception ignore){} - try{ if(psDel3 != null) psDel3.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(OverCouponDataRecord record) throws SQLException , Exception { - int iParam; - - try{ - char sPrcsKbn = record.getItem(OverCouponDataRecord.D_DATA_TYPE).charAt(0); // 자료구분 - - switch (sPrcsKbn) { // 자료구분 - case 'H': - - iParam = 1; - psSls.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORKER_ID ).trim()); // '징수원ID' - psSls.setString(iParam++, record.getItem( OverCouponDataRecord.H_FARE_OFFICE_ID ).trim()); // '요금소코드' - psSls.setString(iParam++, record.getItem( OverCouponDataRecord.H_BOOTH_ID ).trim()); // '차로' - psSls.setString(iParam++, record.getItem( OverCouponDataRecord.H_YEAR ).trim()); // '년도' - psSls.setString(iParam++, record.getItem( OverCouponDataRecord.H_MONTH ).trim()); // '월' - psSls.setString(iParam++, record.getItem( OverCouponDataRecord.H_DAY ).trim()); // '일' - psSls.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORK_STT_TIME ).trim()); // '근무시작시간' - psSls.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORK_END_TIME ).trim()); // '근무종료시간' - rs = psSls.executeQuery(); - rs.next(); - - if (rs.getInt(1) > 0) { - iParam = 1; - psDel3.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORKER_ID ).trim()); // '징수원ID' - psDel3.setString(iParam++, record.getItem( OverCouponDataRecord.H_FARE_OFFICE_ID ).trim()); // '요금소코드' - psDel3.setString(iParam++, record.getItem( OverCouponDataRecord.H_BOOTH_ID ).trim()); // '차로' - psDel3.setString(iParam++, record.getItem( OverCouponDataRecord.H_YEAR ).trim()); // '년도' - psDel3.setString(iParam++, record.getItem( OverCouponDataRecord.H_MONTH ).trim()); // '월' - psDel3.setString(iParam++, record.getItem( OverCouponDataRecord.H_DAY ).trim()); // '일' - psDel3.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORK_STT_TIME ).trim()); // '근무시작시간' - psDel3.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORK_END_TIME ).trim()); // '근무종료시간' - psDel3.executeUpdate(); - - iParam = 1; - psDel2.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORKER_ID ).trim()); // '징수원ID' - psDel2.setString(iParam++, record.getItem( OverCouponDataRecord.H_FARE_OFFICE_ID ).trim()); // '요금소코드' - psDel2.setString(iParam++, record.getItem( OverCouponDataRecord.H_BOOTH_ID ).trim()); // '차로' - psDel2.setString(iParam++, record.getItem( OverCouponDataRecord.H_YEAR ).trim()); // '년도' - psDel2.setString(iParam++, record.getItem( OverCouponDataRecord.H_MONTH ).trim()); // '월' - psDel2.setString(iParam++, record.getItem( OverCouponDataRecord.H_DAY ).trim()); // '일' - psDel2.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORK_STT_TIME ).trim()); // '근무시작시간' - psDel2.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORK_END_TIME ).trim()); // '근무종료시간' - psDel2.executeUpdate(); - - iParam = 1; - psDel1.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORKER_ID ).trim()); // '징수원ID' - psDel1.setString(iParam++, record.getItem( OverCouponDataRecord.H_FARE_OFFICE_ID ).trim()); // '요금소코드' - psDel1.setString(iParam++, record.getItem( OverCouponDataRecord.H_BOOTH_ID ).trim()); // '차로' - psDel1.setString(iParam++, record.getItem( OverCouponDataRecord.H_YEAR ).trim()); // '년도' - psDel1.setString(iParam++, record.getItem( OverCouponDataRecord.H_MONTH ).trim()); // '월' - psDel1.setString(iParam++, record.getItem( OverCouponDataRecord.H_DAY ).trim()); // '일' - psDel1.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORK_STT_TIME ).trim()); // '근무시작시간' - psDel1.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORK_END_TIME ).trim()); // '근무종료시간' - psDel1.executeUpdate(); - - nDeleteCount++; - } - - iParam = 1; - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORKER_ID ).trim()); // '징수원ID' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_FARE_OFFICE_ID ).trim()); // '요금소코드' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_BOOTH_ID ).trim()); // '차로코드' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_YEAR ).trim()); // '년도' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_MONTH ).trim()); // '월' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_DAY ).trim()); // '일' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORK_STT_TIME ).trim()); // '근무시작시간' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_WORK_END_TIME ).trim()); // '근무종료시간' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_OVERCOUPON_COUNT ).trim()); // '과잉쿠폰 매수' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_COUPON_RETURN_COUNT ).trim()); // '반환쿠폰 매수' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_COUPON_DISUSE_COUNT ).trim()); // '폐기쿠폰 매수' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_K_OVERCOUPON_CNT ).trim()); // '경차 과잉쿠폰 매수' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_K_COUPON_RET_CNT ).trim()); // '경차 반환쿠폰 매수' - psIns1.setString(iParam++, record.getItem( OverCouponDataRecord.H_K_COUPON_DISUSE_CNT ).trim()); // '경차 폐기쿠폰 매수' - psIns1.executeUpdate(); - - nInsertCount++; - - break; - - case 'D': - - iParam = 1; - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_WORKER_ID ).trim()); // '징수원ID' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_FARE_OFFICE_ID ).trim()); // '요금소코드' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_BOOTH_ID ).trim()); // '차로코드' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_YEAR ).trim()); // '년도' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_MONTH ).trim()); // '월' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_DAY ).trim()); // '일' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_WORK_STT_TIME ).trim()); // '근무시작시간' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_WORK_END_TIME ).trim()); // '근무종료시간' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_SEQNO ).trim()); // '일련번호' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_FARE_TIME ).trim()); // '징수시간' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_OVER_KBN ).trim()); // '과잉구분' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_COUPON_COUNT ).trim()); // '쿠폰매수' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_CAR_NO ).trim()); // '차량번호' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_CARS_TYPE_NAME ).trim()); // '차종명' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_OWNER ).trim()); // '수령자' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_TEL_NO ).trim()); // '수령자 연락번호' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_REMARKS ).trim()); // '비고' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_INPUT_KBN ).trim()); // '입력여부' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_COUPON_NO ).trim()); // '쿠폰번호' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_RETURN_DATE ).trim()); // '반환일자' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_RETURN_PERSON ).trim()); // '반환자' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_DELETE_YN ).trim()); // '삭제여부' - psIns2.setString(iParam++, record.getItem( OverCouponDataRecord.D_C_REPAY_KBN ).trim()); // '경차구분' - psIns2.executeUpdate(); - - nInsertCount++; - - break; - - case 'C': - - iParam = 1; - psIns3.setString(iParam++, record.getItem( OverCouponDataRecord.C_WORKER_ID ).trim()); // '징수원ID' - psIns3.setString(iParam++, record.getItem( OverCouponDataRecord.C_FARE_OFFICE_ID ).trim()); // '요금소코드' - psIns3.setString(iParam++, record.getItem( OverCouponDataRecord.C_BOOTH_ID ).trim()); // '차로코드' - psIns3.setString(iParam++, record.getItem( OverCouponDataRecord.C_YEAR ).trim()); // '년도' - psIns3.setString(iParam++, record.getItem( OverCouponDataRecord.C_MONTH ).trim()); // '월' - psIns3.setString(iParam++, record.getItem( OverCouponDataRecord.C_DAY ).trim()); // '일' - psIns3.setString(iParam++, record.getItem( OverCouponDataRecord.C_WORK_STT_TIME ).trim()); // '근무시작시간' - psIns3.setString(iParam++, record.getItem( OverCouponDataRecord.C_WORK_END_TIME ).trim()); // '근무종료시간' - psIns3.setString(iParam++, record.getItem( OverCouponDataRecord.C_SEQNO ).trim()); // '일련번호' - psIns3.setString(iParam++, record.getItem( OverCouponDataRecord.C_COUPON_NO ).trim()); // '쿠폰번호' - psIns3.setString(iParam++, record.getItem( OverCouponDataRecord.C_MINI_CAR_KBN ).trim()); // '경차구분' - psIns3.executeUpdate(); - - nInsertCount++; - - break; - - default: - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - }finally{ - try{ if(rs != null) rs.close(); }catch(Exception ignore){} - } - } -} diff --git a/src/main/java/center/data/ApplyOverFare.java b/src/main/java/center/data/ApplyOverFare.java deleted file mode 100644 index e53aa63..0000000 --- a/src/main/java/center/data/ApplyOverFare.java +++ /dev/null @@ -1,259 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.OverFareDataRecord; - -/** - * 과오납정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyOverFare extends FileWorker -{ - - private String sPrcsName = "ApplyOverFare"; - public static final int REC_LEN = 280; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs = null; - private PreparedStatement psSls = null; - private PreparedStatement psIns = null; - private PreparedStatement psUpd = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new OverFareDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = "SELECT COUNT(*) " - + " FROM OVERFARE_INFO " - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_STT_TIME = ? " - + " AND WORK_END_TIME = ? " - + " AND OVERFARE_SEQNO = ? "; - - psSls = conn.prepareStatement(query); - - query = "INSERT INTO OVERFARE_INFO( " - + " WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_STT_TIME, WORK_END_TIME, " - + " OVERFARE_SEQNO, OWNER, CAR_NO, RESIDENT_NO, RESIDENT_DATE, OVERFARE_TIMES, " - + " OVERFARE_KBN, OVERFARE_AMOUNT, REMARKS, REFUND_KBN, REFUND_WORKER_ID, " - + " REFUND_FARE_OFFICE_ID, REFUND_BOOTH_ID, REFUND_YEAR, REFUND_MONTH, " - + " REFUND_DAY, REFUND_TIMES, REFUND_OWNER, REFUND_COMMUMI, PROCESS_KBN, " - + " DELETE_YN, CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + "VALUES (?,?,?,?,?, ?,?,?,?,?, ?,?,TO_DATE(?,'yyyymmdd'),?,?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns = conn.prepareStatement(query); - - query = "UPDATE OVERFARE_INFO " - + " SET OWNER = ? " - + " , CAR_NO = ? " - + " , RESIDENT_NO = ? " - + " , RESIDENT_DATE = TO_DATE(?,'yyyymmdd') " - + " , OVERFARE_TIMES = ? " - + " , OVERFARE_KBN = ? " - + " , OVERFARE_AMOUNT = ? " - + " , REMARKS = ? " - + " , REFUND_KBN = ? " - + " , REFUND_WORKER_ID = ? " - + " , REFUND_FARE_OFFICE_ID = ? " - + " , REFUND_BOOTH_ID = ? " - + " , REFUND_YEAR = ? " - + " , REFUND_MONTH = ? " - + " , REFUND_DAY = ? " - + " , REFUND_TIMES = ? " - + " , REFUND_OWNER = ? " - + " , REFUND_COMMUMI = ? " - + " , PROCESS_KBN = ? " - + " , DELETE_YN = ? " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_STT_TIME = ? " - + " AND WORK_END_TIME = ? " - + " AND OVERFARE_SEQNO = ? "; - - psUpd = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psSls != null) psSls.close(); }catch(Exception ignore){} - try{ if(psIns != null) psIns.close(); }catch(Exception ignore){} - try{ if(psUpd != null) psUpd.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(OverFareDataRecord record) throws SQLException , Exception { - int iParam = 1; - - try{ - psSls.setString(iParam++, record.getItem( OverFareDataRecord.WORKER_ID ).trim()); // '징수원ID' - psSls.setString(iParam++, record.getItem( OverFareDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psSls.setString(iParam++, record.getItem( OverFareDataRecord.BOOTH_ID ).trim()); // '차로' - psSls.setString(iParam++, record.getItem( OverFareDataRecord.YEAR ).trim()); // '년' - psSls.setString(iParam++, record.getItem( OverFareDataRecord.MONTH ).trim()); // '월' - psSls.setString(iParam++, record.getItem( OverFareDataRecord.DAY ).trim()); // '일' - psSls.setString(iParam++, record.getItem( OverFareDataRecord.WORK_STT_TIME ).trim()); // '근무시작시간' - psSls.setString(iParam++, record.getItem( OverFareDataRecord.WORK_END_TIME ).trim()); // '근무종료시간' - psSls.setString(iParam++, record.getItem( OverFareDataRecord.OVERFARE_SEQNO ).trim()); // '일련번호' - rs = psSls.executeQuery(); - - rs.next(); - if (rs.getInt(1) == 0) { - iParam = 1; - psIns.setString(iParam++, record.getItem( OverFareDataRecord.WORKER_ID ).trim()); // '징수원ID' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.BOOTH_ID ).trim()); // '차로' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.YEAR ).trim()); // '년' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.MONTH ).trim()); // '월' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.DAY ).trim()); // '일' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.WORK_STT_TIME ).trim()); // '근무시작시간' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.WORK_END_TIME ).trim()); // '근무종료시간' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.OVERFARE_SEQNO ).trim()); // '일련번호' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.OWNER ).trim()); // '소유주' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.CARS_NO ).trim()); // '차량번호' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.RESIDENT_NO ).trim()); // '주민/법인번호' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.RESIDENT_DATE ).trim()); // '등록일자' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.OVERFARE_TIMES ).trim()); // '통행시간' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.OVERFARE_KBN ).trim()); // '과오납구분' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.OVERFARE_AMOUNT ).trim()); // '과오납금' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.REMARKS ).trim()); // '비고' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_KBN ).trim()); // '환급구분' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_WORKER_ID ).trim()); // '환급징수원ID' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_FARE_OFFICE_ID ).trim()); // '환급요금소' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_BOOTH_ID ).trim()); // '환급차로' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_YEAR ).trim()); // '환급년도' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_MONTH ).trim()); // '환급월' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_DAY ).trim()); // '환급일' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_TIMES ).trim()); // '환급시간' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_OWNER ).trim()); // '환급수령자' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_COMMUMI ).trim()); // '환급연락처' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.PROCESS_KBN ).trim()); // '집계처리구분' - psIns.setString(iParam++, record.getItem( OverFareDataRecord.DELETE_YN ).trim()); // '삭제구분' - psIns.executeUpdate(); - - nInsertCount++; - } else if (rs.getInt(1) > 0) { - iParam = 1; - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.OWNER ).trim()); // '소유주' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.CARS_NO ).trim()); // '차량번호' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.RESIDENT_NO ).trim()); // '주민/법인번호' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.RESIDENT_DATE ).trim()); // '등록일자' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.OVERFARE_TIMES ).trim()); // '통행시간' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.OVERFARE_KBN ).trim()); // '과오납구분' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.OVERFARE_AMOUNT ).trim()); // '과오납금' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.REMARKS ).trim()); // '비고' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_KBN ).trim()); // '환급구분' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_WORKER_ID ).trim()); // '환급징수원ID' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_FARE_OFFICE_ID ).trim()); // '환급요금소' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_BOOTH_ID ).trim()); // '환급차로' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_YEAR ).trim()); // '환급년도' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_MONTH ).trim()); // '환급월' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_DAY ).trim()); // '환급일' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_TIMES ).trim()); // '환급시간' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_OWNER ).trim()); // '환급수령자' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.REFUND_COMMUMI ).trim()); // '환급연락처' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.PROCESS_KBN ).trim()); // '집계처리구분' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.DELETE_YN ).trim()); // '삭제구분' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.WORKER_ID ).trim()); // '징수원ID' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.BOOTH_ID ).trim()); // '차로' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.YEAR ).trim()); // '년' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.MONTH ).trim()); // '월' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.DAY ).trim()); // '일' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.WORK_STT_TIME ).trim()); // '근무시작시간' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.WORK_END_TIME ).trim()); // '근무종료시간' - psUpd.setString(iParam++, record.getItem( OverFareDataRecord.OVERFARE_SEQNO ).trim()); // '일련번호' - psUpd.executeUpdate(); - - nUpdateCount++; - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; }finally{ - try{ if(rs != null) rs.close(); }catch(Exception ignore){} - } - } -} diff --git a/src/main/java/center/data/ApplyRepayInfo.java b/src/main/java/center/data/ApplyRepayInfo.java deleted file mode 100644 index 18511a2..0000000 --- a/src/main/java/center/data/ApplyRepayInfo.java +++ /dev/null @@ -1,211 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.RepayInfoDataRecord; - -/** - * 카드환불정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyRepayInfo extends FileWorker -{ - - private String sPrcsName = "ApplyRepayInfo"; - public static final int REC_LEN = 170; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs = null; - private PreparedStatement psSls = null; - private PreparedStatement psIns = null; - private PreparedStatement psUpd = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new RepayInfoDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = " SELECT COUNT(*) " - + " FROM RF_REPAY_INFO " - + " WHERE WORKER_ID = ?" - + " AND FARE_OFFICE_ID = ?" - + " AND BOOTH_ID = ?" - + " AND YEAR = ?" - + " AND MONTH = ?" - + " AND DAY = ?" - + " AND WORK_TIMES = ?" - + " AND SEQNO = ?"; - - psSls = conn.prepareStatement(query); - - query = " INSERT INTO RF_REPAY_INFO( " - + " WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_TIMES, " - + " SEQNO, CAR_TYPE_ID, COLLECT_ID, WORK_STT_TIME, WORK_END_TIME, " - + " IN_OUT_KBN, LEVY_AMOUNT, CAR_NO, DAY_END_FLAG, MONTH_END_FLAG, " - + " NOTE_TRANS_YN, NOTE_INPUT_REMARKS, C_REPAY_KBN, CREATE_DATE, CREATER, " - + " UPDATE_DATE, UPDATER " - + " ) " - + " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns = conn.prepareStatement(query); - - query = " UPDATE RF_REPAY_INFO " - + " SET C_REPAY_KBN = ? " - + " , LEVY_AMOUNT = ? " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE WORKER_ID = ? " - + " AND FARE_OFFICE_ID = ? " - + " AND BOOTH_ID = ? " - + " AND YEAR = ? " - + " AND MONTH = ? " - + " AND DAY = ? " - + " AND WORK_TIMES = ? " - + " AND SEQNO = ? "; - - psUpd = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psSls != null) psSls.close(); }catch(Exception ignore){} - try{ if(psIns != null) psIns.close(); }catch(Exception ignore){} - try{ if(psUpd != null) psUpd.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(RepayInfoDataRecord record) throws SQLException , Exception { - int iParam = 1; - - try{ - psSls.setString(iParam++, record.getItem( RepayInfoDataRecord.WORKER_ID ).trim()); // '징수원ID' - psSls.setString(iParam++, record.getItem( RepayInfoDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psSls.setString(iParam++, record.getItem( RepayInfoDataRecord.BOOTH_ID ).trim()); // '차로' - psSls.setString(iParam++, record.getItem( RepayInfoDataRecord.YEAR ).trim()); // '년도' - psSls.setString(iParam++, record.getItem( RepayInfoDataRecord.MONTH ).trim()); // '월' - psSls.setString(iParam++, record.getItem( RepayInfoDataRecord.DAY ).trim()); // '일' - psSls.setString(iParam++, record.getItem( RepayInfoDataRecord.WORK_TIMES ).trim()); // '통행시간' - psSls.setString(iParam++, record.getItem( RepayInfoDataRecord.DATA_SEQNO3 ).trim()); // '일련번호' - rs = psSls.executeQuery(); - rs.next(); - - if (rs.getInt(1) == 0) { - iParam = 1; - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.WORKER_ID ).trim()); // '징수원 ID' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.FARE_OFFICE_ID ).trim()); // '요금소 코드' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.BOOTH_ID ).trim()); // '차로 코드' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.YEAR ).trim()); // '년도' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.MONTH ).trim()); // '월' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.DAY ).trim()); // '일' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.WORK_TIMES ).trim()); // '통행시간' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.DATA_SEQNO3 ).trim()); // '일련번호' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.CAR_TYPE_ID ).trim()); // '차종코드' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.COLLECT_ID ).trim()); // '징수유형 코드' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.WORK_STT_TIME ).trim()); // '근무 시작시간' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.WORK_END_TIME ).trim()); // '근무 종료시간' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.IN_OUT_KBN ).trim()); // '유출입구분' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.LEVY_AMOUNT ).trim()); // '징수금액' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.CAR_NO ).trim()); // '차량번호' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.DAY_END_FLAG ).trim()); // '일마감 Flag' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.MONTH_END_FLAG ).trim()); // '월마감 Flag' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.NOTE_KBN ).trim()); // '수기통행여부' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.NOTE_REMARKS ).trim()); // '수기입력사유' - psIns.setString(iParam++, record.getItem( RepayInfoDataRecord.REPAY_KBN ).trim()); // '환불여부' - psIns.executeUpdate(); - - nInsertCount++; - } else if (rs.getInt(1) > 0) { - iParam = 1; - psUpd.setString(iParam++, record.getItem( RepayInfoDataRecord.REPAY_KBN ).trim()); // '환불구분' - psUpd.setString(iParam++, record.getItem( RepayInfoDataRecord.LEVY_AMOUNT ).trim()); // '환불금액' - psUpd.setString(iParam++, record.getItem( RepayInfoDataRecord.WORKER_ID ).trim()); // '징수원ID' - psUpd.setString(iParam++, record.getItem( RepayInfoDataRecord.FARE_OFFICE_ID ).trim()); // '요금소' - psUpd.setString(iParam++, record.getItem( RepayInfoDataRecord.BOOTH_ID ).trim()); // '차로' - psUpd.setString(iParam++, record.getItem( RepayInfoDataRecord.YEAR ).trim()); // '년도' - psUpd.setString(iParam++, record.getItem( RepayInfoDataRecord.MONTH ).trim()); // '월' - psUpd.setString(iParam++, record.getItem( RepayInfoDataRecord.DAY ).trim()); // '일' - psUpd.setString(iParam++, record.getItem( RepayInfoDataRecord.WORK_TIMES ).trim()); // '통행시간' - psUpd.setString(iParam++, record.getItem( RepayInfoDataRecord.DATA_SEQNO3 ).trim()); // '일련번호' - psUpd.executeUpdate(); - - nUpdateCount++; - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - }finally{ - try{ if(rs != null) rs.close(); }catch(Exception ignore){} - } - } - -} diff --git a/src/main/java/center/data/ApplyResultPre.java b/src/main/java/center/data/ApplyResultPre.java deleted file mode 100644 index e8f2b35..0000000 --- a/src/main/java/center/data/ApplyResultPre.java +++ /dev/null @@ -1,174 +0,0 @@ -package center.data; - -import java.sql.CallableStatement; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.PreCardDataRecord; - -/** - * 선불 반송 정보 적용
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyResultPre extends FileWorker -{ - public static final int REC_LEN = 300; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private PreparedStatement pstmt = null; - private String sCreater; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - String sPrcsName = "ApplyResultPre"; - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - if(sPrcsName.length() <= 10 ) sCreater = sPrcsName; - else sCreater = sPrcsName.substring(0, 10); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null){ - nReadCount++; - if( sTemp.startsWith("D")){ - PreCardDataRecord record = new PreCardDataRecord(sTemp); - // 결과가 정상이 아닐 경우 - if( ! record.getItem(PreCardDataRecord.REFUSE_CODE).equals("00")){ - // 반송 데이터 반영 - applyRefuseData( record ); - } - }else if( sTemp.startsWith("H")){ - this.sBaseDate = sTemp.substring(1,9); - logger.logInfo( ".... file create date : "+sBaseDate); - }else if( sTemp.startsWith("T")){ - continue; - } - } - - // 프로시져 Call - logger.logInfo( ".. procedure call "); - runProcedure(); - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName+ " apply fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - nDeleteCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String sQuery = " INSERT INTO CARD_TRANS_DETAIL_INFO " - + " ( WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_TIMES, SEQNO, " - + " CARD_NO, JOIN_CARD_NUMBER, NOMAL_DATE, REJECT_KBN, REJECT_ID, LEVY_AMOUNT, " - + " CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + " SELECT rf.WORKER_ID, rf.FARE_OFFICE_ID, rf.BOOTH_ID, rf.YEAR, rf.MONTH, rf.DAY, rf.WORK_TIMES, rf.SEQNO, " - + " rf.CARD_NO, joint.typical_id, SYSDATE, " - + " DECODE(rf.COLLECT_ID,'21','1','22','2','23','1','24','2','0'), ?, rf.LEVY_AMOUNT, " - + " SYSDATE, ?, SYSDATE, ? " - + " FROM rf_terminal_info rf, " - + " join_card_info joint " - + " WHERE rf.FARE_OFFICE_ID = joint.FARE_OFFICE_ID " - + " AND rf.ISSUE_ID = joint.ISSUE_ID " - + " AND rf.WORKER_ID = ? " - + " AND rf.FARE_OFFICE_ID = ? " - + " AND rf.BOOTH_ID = ? " - + " AND rf.YEAR = ? " - + " AND rf.MONTH = ? " - + " AND rf.DAY = ? " - + " AND rf.WORK_TIMES = ? "; - - pstmt = conn.prepareStatement(sQuery); - } - catch(Exception ex) - { - logger.logFail( "RFID use info apply fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(pstmt != null) pstmt.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * RFID 데이터 반영 - * @param Id - * @throws SQLException - */ - private void applyRefuseData(PreCardDataRecord record) throws SQLException , Exception{ - try{ - String sTransactionID = record.getItem(PreCardDataRecord.TRANSACTION_ID); - String sTradeTime = record.getItem(PreCardDataRecord.TRADE_TIME); - - int iParam = 1; - pstmt.setString(iParam++,record.getItem(PreCardDataRecord.REFUSE_CODE)); - pstmt.setString(iParam++,sCreater); - pstmt.setString(iParam++,sCreater); - pstmt.setString(iParam++,sTransactionID.substring( 0, 6)); - pstmt.setString(iParam++,sTransactionID.substring( 0, 2)); - pstmt.setString(iParam++,sTransactionID.substring( 6, 8)); - pstmt.setString(iParam++,sTradeTime.substring( 0, 4)); - pstmt.setString(iParam++,sTradeTime.substring( 4, 6)); - pstmt.setString(iParam++,sTradeTime.substring( 6, 8)); - pstmt.setString(iParam++,sTradeTime.substring( 8,14)); - - int nInsert = pstmt.executeUpdate(); - if( nInsert == 0 ) throw new SQLException("no rows updated"); - - nInsertCount++; - if( nInsertCount%LOG_COUNT == 0 ) { - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getData() +"]" ); - logger.logTrace(sqle); - throw sqle; - } - } - /** - * 프로시져 수행(선불 반송 반영) - */ - private void runProcedure() throws SQLException , Exception{ - String query = "{ call SP_CARD_BANSONG_SUNBUL() }"; - CallableStatement cs = null; - cs = conn.prepareCall(query); - cs.execute(); - } -} diff --git a/src/main/java/center/data/ApplyResultPreEB.java b/src/main/java/center/data/ApplyResultPreEB.java deleted file mode 100644 index 90beaea..0000000 --- a/src/main/java/center/data/ApplyResultPreEB.java +++ /dev/null @@ -1,185 +0,0 @@ -package center.data; - -import java.sql.CallableStatement; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.PreCardDataRecordEB; - -/** - * 이비카드 선불 반송 정보 적용
- * @author jckim, dekim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성, 2011-10-15 이비카드 추가수정.. - */ -public class ApplyResultPreEB extends FileWorker -{ - public static final int REC_LEN = 300; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private PreparedStatement pstmt = null; - private String sCreater; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - String sPrcsName = "ApplyResultPreEB"; - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - if(sPrcsName.length() <= 10 ) sCreater = sPrcsName; - else sCreater = sPrcsName.substring(0, 10); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null){ - nReadCount++; - if( sTemp.startsWith("D")){ - PreCardDataRecordEB record = new PreCardDataRecordEB(sTemp); - // 결과가 정상이 아닐 경우 - if( ! record.getItem(PreCardDataRecordEB.REFUSE_CODE).equals("000")){ - // 반송 데이터 반영 - applyRefuseData( record ); - } - }else if( sTemp.startsWith("H")){ - this.sBaseDate = sTemp.substring(1,9); - logger.logInfo( ".... file create date : "+sBaseDate); - }else if( sTemp.startsWith("T")){ - continue; - } - } - - // 프로시져 Call - logger.logInfo( ".. procedure call "); - runProcedure(); - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName+ " apply fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - nDeleteCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String sQuery = " INSERT INTO CARD_TRANS_DETAIL_INFO " - + " ( WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_TIMES, SEQNO, " - + " CARD_NO, JOIN_CARD_NUMBER, NOMAL_DATE, REJECT_KBN, REJECT_ID, LEVY_AMOUNT, " - + " CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + " SELECT rf.WORKER_ID, rf.FARE_OFFICE_ID, rf.BOOTH_ID, rf.YEAR, rf.MONTH, rf.DAY, rf.WORK_TIMES, rf.SEQNO, " - + " rf.CARD_NO, joint.typical_id, SYSDATE, " - + " DECODE(rf.COLLECT_ID,'21','1','22','2','23','1','24','2','0'), ?, rf.LEVY_AMOUNT, " - + " SYSDATE, ?, SYSDATE, ? " - + " FROM rf_terminal_info rf, " - + " join_card_info joint " - + " WHERE rf.FARE_OFFICE_ID = joint.FARE_OFFICE_ID " - + " AND rf.ISSUE_ID = joint.ISSUE_ID " - + " AND rf.WORKER_ID = ? " - + " AND rf.FARE_OFFICE_ID = ? " - + " AND rf.BOOTH_ID = ? " - + " AND rf.YEAR = ? " - + " AND rf.MONTH = ? " - + " AND rf.DAY = ? " - + " AND rf.WORK_TIMES = ? "; - - pstmt = conn.prepareStatement(sQuery); - } - catch(Exception ex) - { - logger.logFail( "PrepayEB use info apply fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(pstmt != null) pstmt.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 이비카드 선불반송 데이터 반영 - * @param Id - * @throws SQLException - */ - private void applyRefuseData(PreCardDataRecordEB record) throws SQLException , Exception{ - try{ - String sTransactionID = record.getItem(PreCardDataRecordEB.TRANSACTION_ID); - String sTradeTime = record.getItem(PreCardDataRecordEB.TRADE_TIME); - // 반송코드 수정. 티머니는 2자리인데 이비카드는 3자리여서 티머니 반송코드로 치환하여 적용하기 위함임. - String sRefusecode = record.getItem(PreCardDataRecordEB.REFUSE_CODE); - - if(sRefusecode.equals("111")){ - sRefusecode = "06"; - }else if(sRefusecode.equals("203")){ - sRefusecode = "07"; - }else { - sRefusecode = "99"; - } - - int iParam = 1; - //pstmt.setString(iParam++,record.getItem(PreCardDataRecordEB.REFUSE_CODE)); - pstmt.setString(iParam++,sRefusecode); - pstmt.setString(iParam++,sCreater); - pstmt.setString(iParam++,sCreater); - pstmt.setString(iParam++,sTransactionID.substring( 0, 6)); - pstmt.setString(iParam++,sTransactionID.substring( 0, 2)); - pstmt.setString(iParam++,sTransactionID.substring( 6, 8)); - pstmt.setString(iParam++,sTradeTime.substring( 0, 4)); - pstmt.setString(iParam++,sTradeTime.substring( 4, 6)); - pstmt.setString(iParam++,sTradeTime.substring( 6, 8)); - pstmt.setString(iParam++,sTradeTime.substring( 8,14)); - - int nInsert = pstmt.executeUpdate(); - if( nInsert == 0 ) throw new SQLException("no rows updated"); - - nInsertCount++; - if( nInsertCount%LOG_COUNT == 0 ) { - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getData() +"]" ); - logger.logTrace(sqle); - throw sqle; - } - } - /** - * 프로시져 수행(선불 반송 반영) - 이비카드...ㅠㅠ - */ - private void runProcedure() throws SQLException , Exception{ - String query = "{ call SP_CARD_BANSONG_SUNBUL_EB() }"; - CallableStatement cs = null; - cs = conn.prepareCall(query); - cs.execute(); - } -} diff --git a/src/main/java/center/data/ApplyResultRF.java b/src/main/java/center/data/ApplyResultRF.java deleted file mode 100644 index 2977a50..0000000 --- a/src/main/java/center/data/ApplyResultRF.java +++ /dev/null @@ -1,167 +0,0 @@ -package center.data; - -import java.sql.CallableStatement; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.RfCardDataRecord; - -/** - * 후불 반송 정보 적용
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyResultRF extends FileWorker -{ - public static final int REC_LEN = 400; // 레코드 길이 - public static final int LOG_COUNT = 10000; // log count - - private PreparedStatement pstmt = null; - private String sCreater; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - String sPrcsName = "ApplyResultRF"; - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - if(sPrcsName.length() <= 10 ) sCreater = sPrcsName; - else sCreater = sPrcsName.substring(0, 10); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null){ - nReadCount++; - if( sTemp.startsWith("D")){ - // 데이터 반영 - applyRefuseData(new RfCardDataRecord(sTemp)); - }else if( sTemp.startsWith("H")){ - this.sBaseDate = sTemp.substring(1,9); - logger.logInfo( ".... file create date : "+sBaseDate); - }else if( sTemp.startsWith("T")){ - continue; - } - } - - // 프로시져 Call - logger.logInfo( ".. procedure call "); - runProcedure(); - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName+ " apply fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - nDeleteCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String sQuery = " INSERT INTO CARD_TRANS_DETAIL_INFO " - + " ( WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_TIMES, SEQNO, " - + " CARD_NO, JOIN_CARD_NUMBER, NOMAL_DATE, REJECT_KBN, REJECT_ID, LEVY_AMOUNT, " - + " CREATE_DATE, CREATER, UPDATE_DATE, UPDATER " - + " ) " - + " SELECT rf.WORKER_ID, rf.FARE_OFFICE_ID, rf.BOOTH_ID, rf.YEAR, rf.MONTH, rf.DAY, rf.WORK_TIMES, rf.SEQNO, " - + " rf.CARD_NO, rf.card_office_id, SYSDATE, " - + " DECODE(rf.COLLECT_ID,'21','1','22','2','23','1','24','2','0'), ?, rf.LEVY_AMOUNT, " - + " SYSDATE, ?, SYSDATE, ? " - + " FROM rf_terminal_info rf " - + " WHERE rf.WORKER_ID = ? " - + " AND rf.FARE_OFFICE_ID = ? " - + " AND rf.BOOTH_ID = ? " - + " AND rf.YEAR = ? " - + " AND rf.MONTH = ? " - + " AND rf.DAY = ? " - + " AND rf.WORK_TIMES = ? "; - - pstmt = conn.prepareStatement(sQuery); - } - catch(Exception ex) - { - logger.logFail( "RFID use info apply fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(pstmt != null) pstmt.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * RFID 데이터 반영 - * @param Id - * @throws SQLException - */ - private void applyRefuseData(RfCardDataRecord record) throws SQLException , Exception{ - try{ - String sTransactionID = record.getItem(RfCardDataRecord.TRANSACTION_ID); - String sTradeTime = record.getItem(RfCardDataRecord.TRADE_TIME); - - int iParam = 1; - pstmt.setString(iParam++,record.getItem(RfCardDataRecord.REFUSE_CODE)); - pstmt.setString(iParam++,sCreater); - pstmt.setString(iParam++,sCreater); - pstmt.setString(iParam++,sTransactionID.substring( 0, 6)); - pstmt.setString(iParam++,sTransactionID.substring( 0, 2)); - pstmt.setString(iParam++,sTransactionID.substring( 6, 8)); - pstmt.setString(iParam++,sTradeTime.substring( 0, 4)); - pstmt.setString(iParam++,sTradeTime.substring( 4, 6)); - pstmt.setString(iParam++,sTradeTime.substring( 6, 8)); - pstmt.setString(iParam++,sTradeTime.substring( 8,14)); - - int nInsert = pstmt.executeUpdate(); - if( nInsert == 0 ) throw new SQLException("no rows updated"); - - nInsertCount++; - if( nInsertCount%LOG_COUNT == 0 ) { - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getData() +"]" ); - logger.logTrace(sqle); - throw sqle; - } - } - /** - * 프로시져 수행(후불 반송 반영) - */ - private void runProcedure() throws SQLException , Exception{ - String query = "{ call SP_CARD_BANSONG_WHOBUL() }"; - CallableStatement cs = null; - cs = conn.prepareCall(query); - cs.execute(); - } -} diff --git a/src/main/java/center/data/ApplyRfidUse.java b/src/main/java/center/data/ApplyRfidUse.java deleted file mode 100644 index 06f816a..0000000 --- a/src/main/java/center/data/ApplyRfidUse.java +++ /dev/null @@ -1,131 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.RfidUseDataRecord; - -/** - * RFID 사용 정보 적용
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyRfidUse extends FileWorker -{ - public static final int REC_LEN = 84; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private PreparedStatement pstmt = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - String sPrcsName = "ApplyRfidUse"; - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null){ - nReadCount++; - if( sTemp.startsWith("D")){ - // 데이터 반영 - insertRfidUseInfo(new RfidUseDataRecord(sTemp)); - }else if( sTemp.startsWith("H")){ - this.sBaseDate = sTemp.substring(1,9); - logger.logInfo( ".... file create date : "+sBaseDate); - }else if( sTemp.startsWith("T")){ - continue; - } - } - pstmt.executeBatch(); - pstmt.clearBatch(); - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( "RFID use info apply fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - nDeleteCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String sQuery = " INSERT INTO RFID_NAMSAN_TEMP " - + " (WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, " - + " WORK_TIMES, SEQNO, RFID_KBN, RFID_TAG1, RFID_TAG2)" - + " VALUES(?,?,?,?,?,?,?,?,?,?,?) "; - - pstmt = conn.prepareStatement(sQuery); - } - catch(Exception ex) - { - logger.logFail( "RFID use info apply fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(pstmt != null) pstmt.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * RFID 데이터 반영 - * @param Id - * @throws SQLException - */ - private void insertRfidUseInfo(RfidUseDataRecord record) throws SQLException , Exception{ - int iParam = 1; - pstmt.setString(iParam++,record.getItem(RfidUseDataRecord.WORKER_ID)); - pstmt.setString(iParam++,record.getItem(RfidUseDataRecord.FARE_OFFICE_ID)); - pstmt.setString(iParam++,record.getItem(RfidUseDataRecord.BOOTH_ID)); - pstmt.setString(iParam++,record.getItem(RfidUseDataRecord.YEAR)); - pstmt.setString(iParam++,record.getItem(RfidUseDataRecord.MONTH)); - pstmt.setString(iParam++,record.getItem(RfidUseDataRecord.DAY)); - pstmt.setString(iParam++,record.getItem(RfidUseDataRecord.WORK_TIMES)); - pstmt.setInt (iParam++,Integer.parseInt(record.getItem(RfidUseDataRecord.SEQNO))); - pstmt.setString(iParam++,record.getItem(RfidUseDataRecord.RFID_KBN)); - pstmt.setString(iParam++,record.getItem(RfidUseDataRecord.RFID_TAG1)); - pstmt.setString(iParam++,record.getItem(RfidUseDataRecord.RFID_TAG2)); - pstmt.addBatch(); - - nInsertCount++; - if( nInsertCount%LOG_COUNT == 0 ) { - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - pstmt.executeBatch(); - pstmt.clearBatch(); - } - } -} diff --git a/src/main/java/center/data/ApplyTaxesInfo.java b/src/main/java/center/data/ApplyTaxesInfo.java deleted file mode 100644 index 9a0724f..0000000 --- a/src/main/java/center/data/ApplyTaxesInfo.java +++ /dev/null @@ -1,133 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.TaxesInfoDataRecord; - -/** - * 과오납시세입정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyTaxesInfo extends FileWorker -{ - - private String sPrcsName = "ApplyTaxesInfo"; - public static final int REC_LEN = 150; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs = null; - private PreparedStatement psIns = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new TaxesInfoDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = "INSERT INTO OVERFARE_TAXES_INFO( " - + " FARE_OFFICE_ID, ENTRY_YEAR, ENTRY_MONTH, ENTRY_DAY, ENTRY_SEQNO, " - + " CITY_TAXES_COUNT, CITY_TAXES_AMONT, OVERFACE_YEAR, OVERFACE_MONTH, " - + " USER_ID, USER_NAME, REMARKS, CREATE_DATE, CREATER, UPDATE_DATE, " - + " UPDATER " - + " ) " - + "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns = conn.prepareStatement(query); - - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psIns != null) psIns.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(TaxesInfoDataRecord record) throws SQLException , Exception { - int iParam = 1; - try{ - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.FARE_OFFICE_ID ).trim()); // '요금소 코드' - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.ENTRY_YEAR ).trim()); // '발생년도' - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.ENTRY_MONTH ).trim()); // '발생월' - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.ENTRY_DAY ).trim()); // '발생일' - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.ENTRY_SEQNO ).trim()); // '일련번호' - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.CITY_TAXES_COUNT ).trim()); // '시세입 건수' - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.CITY_TAXES_AMOUNT ).trim()); // '시세입 금액' - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.OVERFARE_YEAR ).trim()); // '과오납 적용년도' - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.OVERFARE_MONTH ).trim()); // '과오납 적용월' - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.USER_ID ).trim()); // '근무자 ID' - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.USER_NAME ).trim()); // '근무자명' - psIns.setString(iParam++, record.getItem( TaxesInfoDataRecord.REMARKS ).trim()); // '비고' - psIns.executeUpdate(); - nInsertCount++; - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - } - } -} diff --git a/src/main/java/center/data/ApplyWrongPayCar.java b/src/main/java/center/data/ApplyWrongPayCar.java deleted file mode 100644 index c2fae2e..0000000 --- a/src/main/java/center/data/ApplyWrongPayCar.java +++ /dev/null @@ -1,180 +0,0 @@ -package center.data; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; - -import center.data.format.WrongPayCarDataRecord; - -/** - * 과오납차적정보
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class ApplyWrongPayCar extends FileWorker -{ - - private String sPrcsName = "ApplyWrongPayCar"; - public static final int REC_LEN = 270; // 레코드 길이 - public static final int LOG_COUNT = 50000; // log count - - private ResultSet rs = null; - private PreparedStatement psSls = null; - private PreparedStatement psIns = null; - private PreparedStatement psUpd1 = null; - private PreparedStatement psUpd2 = null; - - /** - * 실행 - */ - @Override - public void execute() throws Exception - { - try - { - logger.logInfo(sPrcsName + " is started"); - logger.logInfo( ".... file name : " + file.getName() ); - - initialize(); // 초기화 - - String sTemp = null; - while((sTemp = inFile.readBytes(REC_LEN)) != null && sTemp.length() > 2){ - nReadCount++; - if( sTemp.charAt(10) == 'D'){ - // 데이터 반영 - processRecord(new WrongPayCarDataRecord(sTemp)); - }else - continue; - } - - logger.logInfo(".... File Read Count : "+ nReadCount ); - logger.logInfo(".... DB Insert Count : "+ nInsertCount); - logger.logInfo(".... DB Update Count : "+ nUpdateCount); - logger.logInfo(sPrcsName + " is ended"); - } - catch(Exception ex) - { - try{ conn.rollback();}catch(Exception e){} - logger.logFail( sPrcsName + " fail"); - logger.logTrace(ex); - throw ex; - }finally{ - finalize(); - } - } - /** - * 초기화 - * @throws SQLException - */ - public void initialize() throws SQLException{ - try - { - nReadCount = 0; - nInsertCount = 0; - nUpdateCount = 0; - - inFile = new FileStreamParser(); - inFile.openReadFile(file); - - String query; - - query = "SELECT COUNT(*) " - + " FROM OVERFARE_ORDER_INFO " - + " WHERE CAR_NO = ? " - + " AND RESIDENT_NO = ? "; - - psSls = conn.prepareStatement(query); - - query = " INSERT INTO OVERFARE_ORDER_INFO( " - + " OWNER, CAR_NO, RESIDENT_DATE, CAR_TYPE_NAME, RESIDENT_NO, POST_NO1, " - + " POST_NO2, ADDRESS_NAME, ADDRESS_NUMBER, CREATE_DATE, CREATER, " - + " UPDATE_DATE, UPDATER " - + " ) " - + " VALUES (?,?,TO_DATE(?,'yyyymmdd'),?,?,?,?,?,?,SYSDATE,'COMM',SYSDATE,'COMM') "; - - psIns = conn.prepareStatement(query); - - query = "UPDATE OVERFARE_ORDER_INFO " - + " SET CAR_TYPE_NAME = ? " - + " , POST_NO1 = ? " - + " , POST_NO2 = ? " - + " , ADDRESS_NAME = ? " - + " , ADDRESS_NUMBER = ? " - + " , UPDATE_DATE = SYSDATE " - + " , UPDATER = 'COMM' " - + " WHERE CAR_NO = ? " - + " AND RESIDENT_NO = ? "; - - psUpd1 = conn.prepareStatement(query); - } - catch(Exception ex) - { - logger.logFail( sPrcsName + " initialize fail"); - logger.logTrace(ex); - } - } - /** - * finalize - */ - @Override - public void finalize() { - try{ if(psSls != null) psSls.close(); }catch(Exception ignore){} - try{ if(psIns != null) psIns.close(); }catch(Exception ignore){} - try{ if(psUpd1 != null) psUpd1.close(); }catch(Exception ignore){} - try{ if(psUpd2 != null) psUpd2.close(); }catch(Exception ignore){} - try{ if(inFile != null) inFile.closeFile(); }catch(Exception ignore){} - } - /** - * 데이터 반영 - * @param Id - * @throws SQLException - */ - private void processRecord(WrongPayCarDataRecord record) throws SQLException , Exception { - int iParam = 1; - - try{ - psSls.setString(iParam++, record.getItem( WrongPayCarDataRecord.CAR_NO ).trim()); // '차량번호' - psSls.setString(iParam++, record.getItem( WrongPayCarDataRecord.RESIDENT_NO ).trim()); // '주민/법인번호' - rs = psSls.executeQuery(); - rs.next(); - if (rs.getInt(1) == 0) { - iParam = 1; - psIns.setString(iParam++, record.getItem( WrongPayCarDataRecord.OWNER ).trim()); // '소유주' - psIns.setString(iParam++, record.getItem( WrongPayCarDataRecord.CAR_NO ).trim()); // '차량번호' - psIns.setString(iParam++, record.getItem( WrongPayCarDataRecord.RESIDENT_DATE ).trim()); // '차량등록일자' - psIns.setString(iParam++, record.getItem( WrongPayCarDataRecord.CAR_TYPE_NAME ).trim()); // '차종명' - psIns.setString(iParam++, record.getItem( WrongPayCarDataRecord.RESIDENT_NO ).trim()); // '주민/법인번호' - psIns.setString(iParam++, record.getItem( WrongPayCarDataRecord.POST_NO1 ).trim()); // '우편번호1' - psIns.setString(iParam++, record.getItem( WrongPayCarDataRecord.POST_NO2 ).trim()); // '우편번호2' - psIns.setString(iParam++, record.getItem( WrongPayCarDataRecord.ADDRESS_NAME ).trim()); // '현주소' - psIns.setString(iParam++, record.getItem( WrongPayCarDataRecord.ADDRESS_NUMBER ).trim()); // '현주소 번지' - psIns.executeUpdate(); - - nInsertCount++; - } else if (rs.getInt(1) > 0) { - iParam = 1; - psUpd1.setString(iParam++, record.getItem( WrongPayCarDataRecord.CAR_TYPE_NAME ).trim()); // '차종명' - psUpd1.setString(iParam++, record.getItem( WrongPayCarDataRecord.POST_NO1 ).trim()); // '우편번호1' - psUpd1.setString(iParam++, record.getItem( WrongPayCarDataRecord.POST_NO1 ).trim()); // '우편번호2' - psUpd1.setString(iParam++, record.getItem( WrongPayCarDataRecord.POST_NO2 ).trim()); // '현주소' - psUpd1.setString(iParam++, record.getItem( WrongPayCarDataRecord.ADDRESS_NAME ).trim()); // '현주소 번지' - psUpd1.setString(iParam++, record.getItem( WrongPayCarDataRecord.CAR_NO ).trim()); // '차량번호' - psUpd1.setString(iParam++, record.getItem( WrongPayCarDataRecord.RESIDENT_NO ).trim()); // '주민/법인번호' - psUpd1.executeUpdate(); - - nUpdateCount++; - } - }catch(SQLException sqle){ - logger.logFail( "[" + record.getRecord() +"]" ); - logger.logTrace(sqle); - throw sqle; - }finally{ - try{ if(rs != null) rs.close(); }catch(Exception ignore){} - } - } - -} diff --git a/src/main/java/center/data/MakeDataMain.java b/src/main/java/center/data/MakeDataMain.java deleted file mode 100644 index b73d314..0000000 --- a/src/main/java/center/data/MakeDataMain.java +++ /dev/null @@ -1,118 +0,0 @@ -package center.data; - -import java.io.*; - -import com.base.*; -import com.util.*; -/** - * ������ ���� ���μ����� ����
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 �ʱ� �ۼ� - */ -public class MakeDataMain { - private Log4JLogger logger; - private Properties config; - - private String sPrcsName; - /** - * Constructor - * @param config - */ - public MakeDataMain(Properties config, String sPrcsName){ - this.config = config; - this.sPrcsName = sPrcsName; - initialize(); - } - /** - * �ʱ�ȭ - */ - public void initialize(){ - // log file setting - String fileDir = config.getProperty( "file.dir" ); - if(fileDir == null){ - logger.logFail("Can not find Configuration data : file.dir"); - System.exit(0); - } - try{ - logger = new Log4JLogger(fileDir + "MakeData.log"); - }catch(Exception e){ - logger.logFail("Creating logger is failed."); - System.exit(0); - } - - // jdbc driver load - String driver = config.getProperty("db.driver"); - if(driver == null){ - logger.logFail("Can not find Configuration data : db.driver"); - System.exit(0); - } - try{ - Class.forName(driver); - }catch(ClassNotFoundException cnfe){ - System.err.println("Cannot find driver : " + driver); - System.exit(0); - } - } - /** - * Main process logic - */ - public void startup() - { - try{ - FileWorker makeClass = (FileWorker) Class.forName("center.data." + sPrcsName ).newInstance(); - makeClass.initialize(config, logger); - makeClass.execute(); - }catch(Exception se){ - System.err.println(se.getMessage()); - se.printStackTrace(); - } - } - /** - * Help �޽��� ��� - */ - public static void showHelp(String sClass) { - System.err.println("Command :"); - System.err.println("\tjava " + sClass + " -Dbatch.conf=CONFIG_FILE"); - System.err.println(""); - } - /** - * @param args - */ - public static void main (String args[]){ - try { - - System.out.println("============== 1"); - - if(args.length != 1){ - showHelp("center.data.MakeDataMain"); - System.exit(0); - } - - System.out.println("============== 2"); - - String sConfFile = System.getProperty("batch.conf"); - if (sConfFile == null || sConfFile.equals("")) { - showHelp("center.data.MakeDataMain"); - System.exit(0); - } - System.out.println("============== " + sConfFile); - - Properties config = new Properties(); - try { - config.load(sConfFile); - } - catch (IOException ie) { - System.err.println("Can not find Configuration file."); - System.exit(0); - } - - MakeDataMain client = new MakeDataMain(config, args[0]); - client.startup(); - } - catch (Exception ex) { - System.err.println("Starting Demon is failed."); - ex.printStackTrace(); - } - } -} diff --git a/src/main/java/center/data/MakeExemptCar.java b/src/main/java/center/data/MakeExemptCar.java deleted file mode 100644 index a8058de..0000000 --- a/src/main/java/center/data/MakeExemptCar.java +++ /dev/null @@ -1,155 +0,0 @@ -package center.data; - -import java.io.File; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; -import com.exception.AppException; -import com.exception.IllegalRecordException; -import com.resources.data.Info; - -import center.dao.VanTransDAO; -/** - * 면제차량정보 파일 생성
- * @author jhban - * @since JDK 1.4.1 - * @version 0.1, 2015-05-13 초기 작성 - */ -public class MakeExemptCar extends FileWorker { - - public static final int LOG_COUNT = 10000; // log count - - public MakeExemptCar(){ - } - /** - * 면제차량정보 생성 실행 - */ - @Override - public void execute(){ - String sFileName = null; - String sPrcsName = "MakeExemptCar"; - VanTransDAO commDAO; // 파일 전송 이력 클래스 변수 - - try{ - logger.logInfo(sPrcsName + " is started"); - - String sPrcsOption = System.getProperty("option"); - if (sPrcsOption == null || sPrcsOption.equals("")) { - sBaseDate = TODAY; - }else{ - sBaseDate = sPrcsOption; - } - - sFileName = "FC_" + sBaseDate.substring(2) +".txt"; - logger.logInfo( ".... file name : " + sFileName ); - - conn = getConnection(); - conn.setAutoCommit(false); - - //commonDAO = new TunnelTransDAO(conn); - - outFile = new FileStreamParser(); - outFile.openWriteFile(new File(freeDir, sFileName)); - /** - * auth : redkaras - * history : 2016.04.22 파일생성이 후 집계서버 배포를 위한 처리 추가 - * **/ - if( writeDataRecord() ){ - commDAO = new VanTransDAO(conn); - String sCreater; - if(sPrcsName.length() <= 10 ) - sCreater = sPrcsName; - else sCreater = sPrcsName.substring(0, 10); - - Info transInfo = null; - transInfo = new Info(); - transInfo.setString("FILE_KIND_ID" , "1G" ); - transInfo.setString("FORMAT_DATE" , TODAY ); - transInfo.setString("FARE_OFFICE_ID" , "TM"); - transInfo.setString("FILE_TRANS_KBN" , "R" ); - transInfo.setString("FILE_TRANS_YN" , "Y" ); - transInfo.setString("DATA_PROCESS_KBN", "9" ); - transInfo.setString("DIR_NAME" , freeDir ); - transInfo.setString("FILE_NAME" , sFileName.trim() ); - transInfo.setString("CREATER" , sCreater); - - //파일코드를 통한 순번 획득 - long nSeqNo = commDAO.getNextSeq("1G"); - transInfo.setLong ("DATA_SEQNO" , nSeqNo ); - //전송처리해야할 파일에 대한 정보저장 - commDAO.insertFileTransInfo( transInfo ); - //1호 요금소 전송을 위한 정보등록 - transInfo.setString("FARE_OFFICE_ID" , "01"); - commDAO.insertOfficeTransInfo( transInfo ); - //3호 요금소 전송을 위한 정보등록 - transInfo.setString("FARE_OFFICE_ID" , "03"); - commDAO.insertOfficeTransInfo( transInfo ); - conn.commit(); - } - logger.logInfo("----------------------------------" ); - logger.logInfo(".... DB Select Count : "+ nSelectCount); - logger.logInfo(".... File Write Count : "+ nWriteCount ); - - logger.logInfo(sPrcsName + " is ended"); - }catch(Exception e){ - try{ if(conn != null){ conn.rollback(); }}catch(Exception ignore){} - logger.logFail(sPrcsName + " 프로세스 실패"); - logger.logTrace(e); - }finally{ - try{ if(outFile != null){ outFile.closeFile(); }}catch(Exception ignore){} - try{ if(conn != null){ conn.close(); }}catch(Exception ignore){} - } - } - /** - * Data Format 작성 - * @return - * @throws SQLException - * @throws IllegalRecordException - * @throws AppException - */ - private boolean writeDataRecord() throws SQLException, IllegalRecordException, AppException { - PreparedStatement stmt = null; - ResultSet rs = null; - - try{ - /** - * auth : redkaras - * history : 2016.09.05 파일생성시 면제차량구분(1:장애인)을 제외한 데이터만 생성하기 위하여 "EXEMPT_KBN <> '1'" 조건 추가 - * **/ - StringBuffer sbQuery = new StringBuffer(); - sbQuery.append(" SELECT DISTINCT CAR_NO, ") - .append(" EXEMPT_KBN ") - .append(" FROM EXEMPT_CARS_INFO ") - .append(" WHERE TO_CHAR(ENFORCE_DATE, 'YYYYMMDD') <= TO_CHAR(sysdate, 'YYYYMMDD') ") - .append(" AND TO_CHAR(END_DATE, 'YYYYMMDD') >= TO_CHAR(sysdate, 'YYYYMMDD') ") - .append(" AND EXEMPT_KBN <> '1' "); - - stmt = conn.prepareStatement(sbQuery.toString()); - rs = stmt.executeQuery(); - - while(rs.next()){ - nSelectCount++; - - String str = rs.getString("CAR_NO"); - String kbn = rs.getString("EXEMPT_KBN"); - - outFile.writeData(str.trim() + "," + kbn.trim()); - outFile.writeData("\n"); - - nWriteCount++; - if( nWriteCount%LOG_COUNT == 0 ) { - logger.logInfo(".... File Write Count : "+ nWriteCount); - } - } - logger.logInfo(".... File Write Count : "+ nWriteCount); - - }finally{ - if(stmt != null){ try{ stmt.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return true; - } -} diff --git a/src/main/java/center/data/MakePurchasePre.java b/src/main/java/center/data/MakePurchasePre.java deleted file mode 100644 index 638502f..0000000 --- a/src/main/java/center/data/MakePurchasePre.java +++ /dev/null @@ -1,298 +0,0 @@ -package center.data; - -import com.base.*; -import com.exception.*; -import com.resources.data.Info; - -import center.dao.CenterTransDAO; -import center.data.format.*; - -import java.io.*; -import java.sql.*; - -/** - * ����ī�� �����ڷ� ����
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 �ʱ� �ۼ�, 2011.12.21 ���� kde - */ -public class MakePurchasePre extends FileWorker { - public static final String FILE_KIND_CODE = "TX"; // �������ڷ� - private long nTotCount; public static final int LOG_COUNT = 10000; // log count - - private String sCreater; - private long nPurchaseCount; - private long nPurchaseAmount; - private long nCancelCount; - private long nCancelAmount; - CenterTransDAO commonDAO = null; - - public MakePurchasePre(){ - } - - public void execute(){ - String sFileDir, - sFileName = null; - String sPrcsName = "MakePurchasePre"; - - try{ - logger.logInfo(sPrcsName + " is started"); - - sFileDir = config.getProperty("carddata.send"); - sFileName = FILE_KIND_CODE + "SF" + TODAY.substring(4); - - logger.logInfo( ".... file name : " + sFileName ); - - conn = getConnection(); - conn.setAutoCommit(false); - - commonDAO = new CenterTransDAO(conn); - outFile = new FileStreamParser(); - outFile.openWriteFile(new File(sFileDir, sFileName)); - - writeHeaderRecord(); - String [] sDates = getSendBaseDate(); - if( sDates==null ){ - sDates = new String[2]; - sDates[0] = TODAY; - sDates[1] = TODAY; - } - logger.logInfo(".... Select Date : "+sDates[0]+" ~ "+sDates[1]); - writeDataRecord(sDates[0], sDates[1]); - writeTrailerRecord(); - - if(sPrcsName.length() <= 10 ) sCreater = sPrcsName; - else sCreater = sPrcsName.substring(0, 10); - - insertFileInfo( sFileDir,sFileName ); - - conn.commit(); - - logger.logInfo("----------------------------------" ); - logger.logInfo(".... DB Select Count : "+ nSelectCount); - logger.logInfo(".... File Write Count : "+ nWriteCount ); - logger.logInfo("----------------------------------" ); - logger.logInfo(".... Total Count : "+ nTotCount ); - logger.logInfo(".... Purchase Count : "+ nPurchaseCount ); - logger.logInfo(".... Purchase Amount : "+ nPurchaseAmount); - logger.logInfo(".... Cancel Count : "+ nCancelCount ); - logger.logInfo(".... Cancel Amount : "+ nCancelAmount ); - // ���ν��� Call - logger.logInfo( ".. procedure call "); - runProcedure(sDates[0], sDates[1]); - - logger.logInfo(sPrcsName + " is ended"); - }catch(Exception e){ - try{ if(conn != null){ conn.rollback(); }}catch(Exception ignore){} - logger.logFail(sPrcsName + " process is failed"); - logger.logTrace(e); - }finally{ - try{ if(outFile != null){ outFile.closeFile(); }}catch(Exception ignore){} - try{ if(conn != null){ conn.close(); }}catch(Exception ignore){} - } - } - /** - * Header data write - * @return boolean - * @throws IllegalRecordException - * @throws AppException - */ - public boolean writeHeaderRecord() throws IllegalRecordException, AppException{ - PreCardHeaderRecord record = new PreCardHeaderRecord("H", TODAY); - outFile.writeData(record.getRecord()); - return true; - } - /** - * Trailer data write - * @return boolean - * @throws IllegalRecordException - * @throws AppException - */ - public boolean writeTrailerRecord() throws IllegalRecordException, AppException{ - PreCardTrailerRecord record = new PreCardTrailerRecord("T", nTotCount, nPurchaseCount, nPurchaseAmount, nCancelCount, nCancelAmount); - outFile.writeData(record.getRecord()); - return true; - } - /** - * �������� ��ȸ - * @return - * @throws SQLException - * @throws IllegalRecordException - * @throws AppException - */ - private String[] getSendBaseDate() throws SQLException, IllegalRecordException, AppException { - String[] sReturn = null; - Statement pstmt = null; - ResultSet rs = null; - - try{ - String sQuery - = " select min(rf.YEAR||rf.MONTH||rf.DAY), max(rf.YEAR||rf.MONTH||rf.DAY) " - + " from rf_terminal_info rf, join_card_info jc" - + " where rf.fare_office_id = jc.fare_office_id" - + " and rf.issue_id = jc.issue_id" - + " and rf.trans_file_create_yn = '1'" - + " and rf.collect_id in ('21','23')" - + " and jc.typical_id = '3101000' "; - - pstmt = conn.prepareStatement(sQuery); - rs = pstmt.executeQuery(sQuery); - if(rs.next()){ - sReturn = new String[2]; - sReturn[0]=rs.getString(1); - sReturn[1]=rs.getString(2); - } - logger.logInfo(".... File Write Count : "+ nWriteCount); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return sReturn; - } - /** - * Data Format �ۼ� - * @param purchaseDay - * @return - * @throws SQLException - * @throws IllegalRecordException - * @throws AppException - */ - private boolean writeDataRecord(String sFromDate, String sToDate) throws SQLException, IllegalRecordException, AppException { - PreparedStatement pstmt = null; - ResultSet rs = null; - // algorithm_id, key_version, e_cash_identifier, sign_value �� ����... 2011.12.21 kde - // �̺�ī�� �������� ���� �þ�� �ٿ��� �����. - try{ - String sQuery = " select rownum seqno, " - + " rf.WORKER_ID || rf.BOOTH_ID || fare.IN_OUT_KBN transaction_id, " - + " DECODE(rf.FARE_OFFICE_ID, '01', '1000587', '03', '1000588', '') branch_id, " - + " rf.terminal_id, " - + " rf.sam_id, " - + " rf.sam_seqno, " - + " rf.card_no, " - + " rf.card_seqno, " - + " rf.before_amount, " - + " rf.LEVY_AMOUNT, " - + " rf.remaind_amount, " - + " rf.YEAR || rf.MONTH || rf.DAY || rf.work_times trade_time, " - + " substr(rf.algorithm_id,2,2) algorithm_id, " - + " substr(rf.key_version,2,2) key_version, " - + " substr(rf.E_CASH_IDENTIFIER,2,2) e_cash_identifier, " - + " rf.SAM_TOT_SEQNO, " - + " rf.SAM_COLLECT_CNT, " - + " rf.SAM_TOT_AMOUNT, " - + " nvl(substr(rf.SIGN_VALUE,3,8), ' ') SIGN_VALUE, " - + " '00' CARD_KBN, " // ����ī���� ��� '00' ���� ���� - + " rf.PERSON_CODE, " - + " fare.CAR_NO, " - + " rf.ALIAS_NO, " - + " rf.ZIPGE_ID, " - + " rf.ISSUE_ID, " - + " DECODE(rf.FARE_OFFICE_ID, '01', '����1ȣ�ͳ�', DECODE(rf.FARE_OFFICE_ID,'03', '����3ȣ�ͳ�', '')) use_place, " - + " DECODE(fare.IN_OUT_KBN, '1', '����','2', '����','') use_place_detail, " - + " rf.ISSUE_ID " - + " from rf_terminal_info rf, fare_terminal_info fare, join_card_info jc " - + " where rf.WORKER_ID = fare.WORKER_ID " - + " and rf.FARE_OFFICE_ID = fare.FARE_OFFICE_ID " - + " and rf.BOOTH_ID = fare.BOOTH_ID " - + " and rf.YEAR = fare.YEAR " - + " and rf.MONTH = fare.MONTH " - + " and rf.DAY = fare.DAY " - + " and rf.WORK_TIMES = fare.WORK_TIMES " - + " and rf.SEQNO = fare.SEQNO " - + " and rf.fare_office_id = jc.fare_office_id" - + " and rf.issue_id = jc.issue_id" - + " and rf.YEAR || rf.MONTH || rf.DAY between ? and ? " - + " and rf.trans_file_create_yn = '1' " - + " and rf.COLLECT_ID in ('21','23') " - + " and jc.typical_id = '3101000'"; // ¡�������ڵ�(21:����,23:��������) - - int iParam = 1; - pstmt = conn.prepareStatement(sQuery); - pstmt.setString(iParam++,sFromDate); - pstmt.setString(iParam++,sToDate); - - rs = pstmt.executeQuery(); - while(rs.next()){ - nTotCount++; - nPurchaseCount++; - nPurchaseAmount += rs.getLong("levy_amount"); - nSelectCount++; - // 2007.12.26 KJC - ���ΰ� ������ ���� ���� ���� �߰� - String sTradeGubun = "001"; - if(rs.getString("SIGN_VALUE").trim().equals("00000001")) sTradeGubun = "049"; - - PreCardDataRecord record = - new PreCardDataRecord( - "D", - rs.getLong("seqno"), - rs.getString("transaction_id"), - rs.getString("branch_id"), - rs.getString("terminal_id"), - rs.getString("sam_id"), - rs.getLong("sam_seqno"), - rs.getString("card_no"), - rs.getLong("card_seqno"), - sTradeGubun, // �۾����� - rs.getLong("before_amount"), - rs.getLong("levy_amount"), - rs.getLong("remaind_amount"), - rs.getString("trade_time"), - rs.getString("algorithm_id"), - rs.getString("key_version"), - rs.getString("e_cash_identifier"), - rs.getLong("sam_tot_seqno"), - rs.getLong("sam_collect_cnt"), - rs.getLong("sam_tot_amount"), - rs.getString("SIGN_VALUE"), - rs.getString("CARD_KBN"), - rs.getString("person_code")); - - outFile.writeData(record.getRecord()); - nWriteCount++; - if( nWriteCount%LOG_COUNT == 0 ) { - logger.logInfo(".... File Write Count : "+ nWriteCount); - } - } - logger.logInfo(".... File Write Count : "+ nWriteCount); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return true; - } - /** - * �������� �̷� ����� - * @param Id - * @throws SQLException - */ - private void insertFileInfo(String sFileDir, String sFileName) throws SQLException , Exception{ - Info transInfo = new Info(); - transInfo.setString("FILE_KIND_ID" , FILE_KIND_CODE ); - transInfo.setString("FORMAT_DATE" , TODAY ); - transInfo.setString("FARE_OFFICE_ID" , "TM"); - transInfo.setString("FILE_TRANS_KBN" , "S" ); - transInfo.setString("FILE_TRANS_YN" , "N" ); - transInfo.setString("DATA_PROCESS_KBN", "9" ); - transInfo.setString("DIR_NAME" , sFileDir ); - transInfo.setString("FILE_NAME" , sFileName ); - transInfo.setString("CREATER" , sCreater ); - commonDAO.insertFileTransHistory( transInfo ); - } - /** - * ���ν��� ����(���� ���� �ݿ�) - * @param sFromDate - * @param sToDate - * @throws SQLException - * @throws Exception - */ - private void runProcedure(String sFromDate, String sToDate) throws SQLException , Exception{ - String query = "{ call SP_CARD_TRANS_SUNBUL(?,?) }"; - CallableStatement cs = null; - cs = conn.prepareCall(query); - int idx = 1; - cs.setString(idx++, sFromDate); - cs.setString(idx++, sToDate); - cs.execute(); - } -} diff --git a/src/main/java/center/data/MakePurchasePreEB.java b/src/main/java/center/data/MakePurchasePreEB.java deleted file mode 100644 index fbcd53b..0000000 --- a/src/main/java/center/data/MakePurchasePreEB.java +++ /dev/null @@ -1,303 +0,0 @@ -package center.data; - -import com.base.*; -import com.exception.*; -import com.resources.data.Info; - -import center.dao.CenterTransDAO; -import center.data.format.*; - -import java.io.*; -import java.sql.*; - -/** - * �̺�ī�� ����ī�� �����ڷ� ����
- * @author dekim - * @since JDK 1.4.1 - * @version 0.1, 2011-10-10 �ʱ� �ۼ�, 2011.12.21 ����.. KDE - */ -public class MakePurchasePreEB extends FileWorker { - public static final String FILE_KIND_CODE = "VY"; // �������ڷ� �̺�ī��... - private long nTotCount; public static final int LOG_COUNT = 10000; // log count - - private String sCreater; - private long nPurchaseCount; - private long nPurchaseAmount; - private long nCancelCount; - private long nCancelAmount; - CenterTransDAO commonDAO = null; - - public MakePurchasePreEB(){ - } - - public void execute(){ - String sFileDir, - sFileName = null; - String sPrcsName = "MakePurchasePreEB"; - - try{ - logger.logInfo(sPrcsName + " is started"); - - sFileDir = config.getProperty("carddata.send"); - sFileName = FILE_KIND_CODE + "SF" + TODAY.substring(4); - - logger.logInfo( ".... file name : " + sFileName ); - - conn = getConnection(); - conn.setAutoCommit(false); - - commonDAO = new CenterTransDAO(conn); - outFile = new FileStreamParser(); - outFile.openWriteFile(new File(sFileDir, sFileName)); - - writeHeaderRecord(); - String [] sDates = getSendBaseDate(); - if( sDates==null ){ - sDates = new String[2]; - sDates[0] = TODAY; - sDates[1] = TODAY; - } - logger.logInfo(".... Select Date : "+sDates[0]+" ~ "+sDates[1]); - writeDataRecord(sDates[0], sDates[1]); - writeTrailerRecord(); - - if(sPrcsName.length() <= 10 ) sCreater = sPrcsName; - else sCreater = sPrcsName.substring(0, 10); - - insertFileInfo( sFileDir,sFileName ); - - conn.commit(); - - logger.logInfo("----------------------------------" ); - logger.logInfo(".... DB Select Count : "+ nSelectCount); - logger.logInfo(".... File Write Count : "+ nWriteCount ); - logger.logInfo("----------------------------------" ); - logger.logInfo(".... Total Count : "+ nTotCount ); - logger.logInfo(".... Purchase Count : "+ nPurchaseCount ); - logger.logInfo(".... Purchase Amount : "+ nPurchaseAmount); - logger.logInfo(".... Cancel Count : "+ nCancelCount ); - logger.logInfo(".... Cancel Amount : "+ nCancelAmount ); - // ���ν��� Call - logger.logInfo( ".. procedure call "); - runProcedure(sDates[0], sDates[1]); - - logger.logInfo(sPrcsName + " is ended"); - }catch(Exception e){ - try{ if(conn != null){ conn.rollback(); }}catch(Exception ignore){} - logger.logFail(sPrcsName + " process is failed"); - logger.logTrace(e); - }finally{ - try{ if(outFile != null){ outFile.closeFile(); }}catch(Exception ignore){} - try{ if(conn != null){ conn.close(); }}catch(Exception ignore){} - } - } - /** - * Header data write - * @return boolean - * @throws IllegalRecordException - * @throws AppException - */ - public boolean writeHeaderRecord() throws IllegalRecordException, AppException{ - PreCardHeaderRecordEB record = new PreCardHeaderRecordEB("H", TODAY); - outFile.writeData(record.getRecord()); - return true; - } - /** - * Trailer data write - * @return boolean - * @throws IllegalRecordException - * @throws AppException - */ - public boolean writeTrailerRecord() throws IllegalRecordException, AppException{ - PreCardTrailerRecordEB record = new PreCardTrailerRecordEB("T", nTotCount, nPurchaseCount, nPurchaseAmount, nCancelCount, nCancelAmount); - outFile.writeData(record.getRecord()); - return true; - } - /** - * �������� ��ȸ - * @return - * @throws SQLException - * @throws IllegalRecordException - * @throws AppException - */ - private String[] getSendBaseDate() throws SQLException, IllegalRecordException, AppException { - String[] sReturn = null; - Statement pstmt = null; - ResultSet rs = null; - - try{ - String sQuery - = " select min(rf.YEAR||rf.MONTH||rf.DAY), max(rf.YEAR||rf.MONTH||rf.DAY) " - + " from rf_terminal_info rf, join_card_info jc" - + " where rf.fare_office_id = jc.fare_office_id" - + " and rf.issue_id = jc.issue_id" - + " and rf.trans_file_create_yn = '1'" - + " and rf.collect_id in ('21','23')" - + " and jc.typical_id = '3104000' "; - - pstmt = conn.prepareStatement(sQuery); - rs = pstmt.executeQuery(sQuery); - if(rs.next()){ - sReturn = new String[2]; - sReturn[0]=rs.getString(1); - sReturn[1]=rs.getString(2); - } - logger.logInfo(".... File Write Count : "+ nWriteCount); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return sReturn; - } - /** - * Data Format �ۼ� - * @param purchaseDay - * @return - * @throws SQLException - * @throws IllegalRecordException - * @throws AppException - */ - private boolean writeDataRecord(String sFromDate, String sToDate) throws SQLException, IllegalRecordException, AppException { - PreparedStatement pstmt = null; - ResultSet rs = null; - - try{ - String sQuery = " select rownum seqno, " - + " rf.WORKER_ID || rf.BOOTH_ID || fare.IN_OUT_KBN transaction_id, " - + " DECODE(rf.FARE_OFFICE_ID, '01', '1000587', '03', '1000588', '') branch_id, " - + " rf.terminal_id, " - + " rf.sam_id, " - + " rf.sam_seqno, " - + " rf.card_no, " - + " rf.card_seqno, " - + " rf.before_amount, " - + " rf.LEVY_AMOUNT, " - + " rf.remaind_amount, " - + " rf.YEAR || rf.MONTH || rf.DAY || rf.work_times trade_time, " - + " rf.algorithm_id, " - + " rf.key_version, " - + " rf.E_CASH_IDENTIFIER, " - + " rf.SAM_TOT_SEQNO, " - + " rf.SAM_COLLECT_CNT, " - + " rf.SAM_TOT_AMOUNT, " - + " nvl(rf.SIGN_VALUE, ' ') SIGN_VALUE, " - + " 'C' CARD_KBN, " // �̺�ī�� ��û ������ "C" - + " rf.PERSON_CODE, " - + " fare.CAR_NO, " - + " rf.ALIAS_NO, " - + " rf.ZIPGE_ID, " - + " rf.ISSUE_ID, " - + " DECODE(rf.FARE_OFFICE_ID, '01', '����1ȣ�ͳ�', DECODE(rf.FARE_OFFICE_ID,'03', '����3ȣ�ͳ�', '')) use_place, " - + " DECODE(fare.IN_OUT_KBN, '1', '����','2', '����','') use_place_detail, " - + " rf.sam_seqno SAM_TOT_CNT, " // SAM_TOT_CNT �̺�ī�� �߰�.. - + " '1' HSM_STATUS" // 2011.10.15 kde - + " from rf_terminal_info rf, fare_terminal_info fare, join_card_info jc " - + " where rf.WORKER_ID = fare.WORKER_ID " - + " and rf.FARE_OFFICE_ID = fare.FARE_OFFICE_ID " - + " and rf.BOOTH_ID = fare.BOOTH_ID " - + " and rf.YEAR = fare.YEAR " - + " and rf.MONTH = fare.MONTH " - + " and rf.DAY = fare.DAY " - + " and rf.WORK_TIMES = fare.WORK_TIMES " - + " and rf.SEQNO = fare.SEQNO " - + " and rf.fare_office_id = jc.fare_office_id " - + " and rf.issue_id = jc.issue_id " - + " and rf.YEAR || rf.MONTH || rf.DAY between ? and ? " - + " and rf.trans_file_create_yn = '1' " - + " and rf.COLLECT_ID in ('21','23') " // ¡�������ڵ�(21:����,23:��������) - + " and jc.typical_id = '3104000' "; // �̺�ī�� - ����� ��ǥ ID - - int iParam = 1; - pstmt = conn.prepareStatement(sQuery); - pstmt.setString(iParam++,sFromDate); - pstmt.setString(iParam++,sToDate); - - rs = pstmt.executeQuery(); - while(rs.next()){ - nTotCount++; - nPurchaseCount++; - nPurchaseAmount += rs.getLong("levy_amount"); - nSelectCount++; - // 2007.12.26 KJC - ���ΰ� ������ ���� ���� ���� �߰� - String sTradeGubun = "001"; - if(rs.getString("SIGN_VALUE").trim().equals("00000001")) sTradeGubun = "049"; - - PreCardDataRecordEB record = - new PreCardDataRecordEB( - "D", - rs.getLong("seqno"), - rs.getString("transaction_id"), - rs.getString("branch_id"), - rs.getString("terminal_id"), - rs.getString("sam_id"), - rs.getLong("sam_seqno"), - rs.getString("card_no"), - rs.getLong("card_seqno"), - sTradeGubun, // �۾����� - rs.getLong("before_amount"), - rs.getLong("levy_amount"), - rs.getLong("remaind_amount"), - rs.getString("trade_time"), - rs.getString("algorithm_id"), - rs.getString("key_version"), - rs.getString("e_cash_identifier"), - rs.getLong("sam_tot_seqno"), - rs.getLong("sam_collect_cnt"), - rs.getLong("sam_tot_amount"), - rs.getString("sign_value"), - rs.getString("card_kbn"), - rs.getString("person_code"), - rs.getString("hsm_status"), - rs.getString("alias_no"), - rs.getString("issue_id"), - rs.getLong("sam_tot_cnt"), - rs.getString("car_no")); - - outFile.writeData(record.getRecord()); - nWriteCount++; - if( nWriteCount%LOG_COUNT == 0 ) { - logger.logInfo(".... File Write Count : "+ nWriteCount); - } - } - logger.logInfo(".... File Write Count : "+ nWriteCount); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return true; - } - /** - * �������� �̷� ����� - * @param Id - * @throws SQLException - */ - private void insertFileInfo(String sFileDir, String sFileName) throws SQLException , Exception{ - Info transInfo = new Info(); - transInfo.setString("FILE_KIND_ID" , FILE_KIND_CODE ); - transInfo.setString("FORMAT_DATE" , TODAY ); - transInfo.setString("FARE_OFFICE_ID" , "TM"); - transInfo.setString("FILE_TRANS_KBN" , "S" ); - transInfo.setString("FILE_TRANS_YN" , "N" ); - transInfo.setString("DATA_PROCESS_KBN", "9" ); - transInfo.setString("DIR_NAME" , sFileDir ); - transInfo.setString("FILE_NAME" , sFileName ); - transInfo.setString("CREATER" , sCreater ); - commonDAO.insertFileTransHistory( transInfo ); - } - /** - * ���ν��� ����(���� ���� �ݿ�) - * @param sFromDate - * @param sToDate - * @throws SQLException - * @throws Exception - */ - private void runProcedure(String sFromDate, String sToDate) throws SQLException , Exception{ - String query = "{ call SP_CARD_TRANS_SUNBUL_EB(?,?) }"; - CallableStatement cs = null; - cs = conn.prepareCall(query); - int idx = 1; - cs.setString(idx++, sFromDate); - cs.setString(idx++, sToDate); - cs.execute(); - } -} diff --git a/src/main/java/center/data/MakePurchaseRF.java b/src/main/java/center/data/MakePurchaseRF.java deleted file mode 100644 index 53a850f..0000000 --- a/src/main/java/center/data/MakePurchaseRF.java +++ /dev/null @@ -1,290 +0,0 @@ -package center.data; - -import com.base.*; -import com.exception.*; -import com.resources.data.Info; -import center.dao.*; -import center.data.format.*; - -import java.io.*; -import java.sql.*; - -/** - * �ĺ� ī�� �����ڷ� ����
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 �ʱ� �ۼ� - */ -public class MakePurchaseRF extends FileWorker { - public static final String FILE_KIND_CODE = "WI"; // �ĺҸ����ڷ� - private long nTotCount; public static final int LOG_COUNT = 10000; // log count - - private String sCreater; - private long nPurchaseCount; - private long nPurchaseAmount; - private long nCancelCount; - private long nCancelAmount; - CenterTransDAO commonDAO = null; - - public MakePurchaseRF(){ - } - - public void execute(){ - String sFileDir, - sFileName = null; - String sPrcsName = "MakePurchaseRF"; - - try{ - logger.logInfo(sPrcsName + " is started"); - - sFileDir = config.getProperty("carddata.send"); - sFileName = FILE_KIND_CODE + "SF" + TODAY.substring(4); - - logger.logInfo( ".... file name : " + sFileName ); - - conn = getConnection(); - conn.setAutoCommit(false); - - commonDAO = new CenterTransDAO(conn); - outFile = new FileStreamParser(); - outFile.openWriteFile(new File(sFileDir, sFileName)); - - writeHeaderRecord(); - String [] sDates = getSendBaseDate(); - if( sDates==null ){ - sDates = new String[2]; - sDates[0] = TODAY; - sDates[1] = TODAY; - } - logger.logInfo(".... Select Date : "+sDates[0]+" ~ "+sDates[1]); - writeDataRecord(sDates[0], sDates[1]); - writeTrailerRecord(); - - if(sPrcsName.length() <= 10 ) sCreater = sPrcsName; - else sCreater = sPrcsName.substring(0, 10); - - insertFileInfo( sFileDir,sFileName ); - - conn.commit(); - - logger.logInfo("----------------------------------" ); - logger.logInfo(".... DB Select Count : "+ nSelectCount); - logger.logInfo(".... File Write Count : "+ nWriteCount ); - logger.logInfo("----------------------------------" ); - logger.logInfo(".... Total Count : "+ nTotCount ); - logger.logInfo(".... Purchase Count : "+ nPurchaseCount ); - logger.logInfo(".... Purchase Amount : "+ nPurchaseAmount); - logger.logInfo(".... Cancel Count : "+ nCancelCount ); - logger.logInfo(".... Cancel Amount : "+ nCancelAmount ); - - // ���ν��� Call - logger.logInfo( ".. procedure call "); - runProcedure(sDates[0], sDates[1]); - - logger.logInfo(sPrcsName + " is ended"); - }catch(Exception e){ - try{ if(conn != null){ conn.rollback(); }}catch(Exception ignore){} - logger.logFail(sPrcsName + " process is failed"); - logger.logTrace(e); - }finally{ - try{ if(outFile != null){ outFile.closeFile(); }}catch(Exception ignore){} - try{ if(conn != null){ conn.close(); }}catch(Exception ignore){} - } - } - /** - * Header data write - * @return boolean - * @throws IllegalRecordException - * @throws AppException - */ - public boolean writeHeaderRecord() throws IllegalRecordException, AppException{ - RfCardHeaderRecord record = new RfCardHeaderRecord("H", TODAY); - outFile.writeData(record.getRecord()); - return true; - } - /** - * Trailer data write - * @return boolean - * @throws IllegalRecordException - * @throws AppException - */ - public boolean writeTrailerRecord() throws IllegalRecordException, AppException{ - RfCardTrailerRecord record = new RfCardTrailerRecord("T", nTotCount, nPurchaseCount, nPurchaseAmount, nCancelCount, nCancelAmount); - outFile.writeData(record.getRecord()); - return true; - } - /** - * �������� ��ȸ - * @return - * @throws SQLException - * @throws IllegalRecordException - * @throws AppException - */ - private String[] getSendBaseDate() throws SQLException, IllegalRecordException, AppException { - String[] sReturn = null; - Statement pstmt = null; - ResultSet rs = null; - - try{ - String sQuery - = " select min(YEAR||MONTH||DAY), to_char(sysdate-1,'yyyymmdd') " - + " from rf_terminal_info rf " - + " where trans_file_create_yn = '1' "; - - pstmt = conn.prepareStatement(sQuery); - rs = pstmt.executeQuery(sQuery); - if(rs.next()){ - sReturn = new String[2]; - sReturn[0]=rs.getString(1); - sReturn[1]=rs.getString(2); - } - logger.logInfo(".... File Write Count : "+ nWriteCount); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return sReturn; - } - /** - * Data Format �ۼ� - * @param purchaseDay - * @return - * @throws SQLException - * @throws IllegalRecordException - * @throws AppException - */ - private boolean writeDataRecord(String sFromDate, String sToDate) throws SQLException, IllegalRecordException, AppException { - PreparedStatement pstmt = null; - ResultSet rs = null; - - try{ - // 07.12.24 - null ������ ó�� (nvl�Լ� ����) - String sQuery = " select rownum seqno, " - + " rf.WORKER_ID || rf.BOOTH_ID || fare.IN_OUT_KBN transaction_id, " - + " DECODE(rf.FARE_OFFICE_ID, '01', '1000587', '03', '1000588', '') branch_id, " - + " nvl(rf.terminal_id, ' ') terminal_id, " - + " nvl(rf.sam_id, ' ') sam_id, " - + " nvl(rf.sam_seqno, 0) sam_seqno, " - + " rf.card_no, " - + " nvl(rf.card_seqno, 0) card_seqno, " - + " nvl(rf.before_amount, 0) before_amount, " - + " rf.LEVY_AMOUNT, " - + " rf.remaind_amount, " - + " rf.YEAR || rf.MONTH || rf.DAY || rf.work_times trade_time, " - + " nvl(rf.algorithm_id, ' ') algorithm_id, " - + " nvl(rf.key_version, ' ') key_version, " - + " nvl(rf.E_CASH_IDENTIFIER, ' ') E_CASH_IDENTIFIER, " - + " nvl(rf.SAM_TOT_SEQNO, 0) SAM_TOT_SEQNO, " - + " nvl(rf.SAM_COLLECT_CNT, 0) SAM_COLLECT_CNT, " - + " nvl(rf.SAM_TOT_AMOUNT, 0) SAM_TOT_AMOUNT, " - + " nvl(rf.SIGN_VALUE, ' ') SIGN_VALUE, " - + " nvl(rf.AFTER_KBN, ' ') AFTER_KBN, " - + " nvl(rf.PERSON_CODE, ' ') PERSON_CODE, " - + " nvl(fare.CAR_NO, ' ') CAR_NO, " - + " TRIM(nvl(rf.ALIAS_NO, ' ')) ALIAS_NO, " - + " TRIM(nvl(rf.ZIPGE_ID, ' ')) ZIPGE_ID, " - + " TRIM(nvl(rf.ISSUE_ID, ' ')) ISSUE_ID, " - + " DECODE(rf.FARE_OFFICE_ID, '01', '����1ȣ�ͳ�', DECODE(rf.FARE_OFFICE_ID,'03', '����3ȣ�ͳ�', '')) use_place, " - + " DECODE(fare.IN_OUT_KBN, '1', '����','2', '����','') use_place_detail " - + " from rf_terminal_info rf, fare_terminal_info fare " - + " where rf.WORKER_ID = fare.WORKER_ID " - + " and rf.FARE_OFFICE_ID = fare.FARE_OFFICE_ID " - + " and rf.BOOTH_ID = fare.BOOTH_ID " - + " and rf.YEAR = fare.YEAR " - + " and rf.MONTH = fare.MONTH " - + " and rf.DAY = fare.DAY " - + " and rf.WORK_TIMES = fare.WORK_TIMES " - + " and rf.SEQNO = fare.SEQNO " - + " and rf.YEAR || rf.MONTH || rf.DAY between ? and ? " - + " and rf.trans_file_create_yn = '1' " - + " and rf.COLLECT_ID in ('22','24') "; // ¡�������ڵ�(22:�ĺ�,24:�����ĺ�) - - int iParam = 1; - pstmt = conn.prepareStatement(sQuery); - pstmt.setString(iParam++,sFromDate); - pstmt.setString(iParam++,sToDate); - - rs = pstmt.executeQuery(); - while(rs.next()){ - nTotCount++; - nPurchaseCount++; - nPurchaseAmount += rs.getLong("levy_amount"); - nSelectCount++; - - String sCarNo = rs.getString("car_no"); - if( sCarNo.indexOf("?") >= 0 || sCarNo.indexOf("X") >= 0){ - sCarNo = " "; - } - - RfCardDataRecord record = - new RfCardDataRecord( - "D", - rs.getLong("seqno"), - rs.getString("transaction_id"), - rs.getString("branch_id"), - rs.getString("terminal_id"), - rs.getString("sam_id"), - rs.getLong("sam_seqno"), - rs.getString("card_no"), - rs.getLong("card_seqno"), - rs.getLong("levy_amount"), - rs.getLong("remaind_amount"), - rs.getString("trade_time"), - rs.getString("after_kbn"), - rs.getString("person_code"), - sCarNo, - rs.getString("alias_no"), - rs.getString("zipge_id"), - rs.getString("issue_id"), - rs.getString("use_place"), - rs.getString("use_place_detail")); - - outFile.writeData(record.getRecord()); - nWriteCount++; - if( nWriteCount%LOG_COUNT == 0 ) { - logger.logInfo(".... File Write Count : "+ nWriteCount); - } - } - logger.logInfo(".... File Write Count : "+ nWriteCount); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - } - return true; - } - /** - * �������� �̷� ����� - * @param Id - * @throws SQLException - */ - private void insertFileInfo(String sFileDir, String sFileName) throws SQLException , Exception{ - - Info transInfo = new Info(); - transInfo.setString("FILE_KIND_ID" , FILE_KIND_CODE ); - transInfo.setString("FORMAT_DATE" , TODAY ); - transInfo.setString("FARE_OFFICE_ID" , "TM"); - transInfo.setString("FILE_TRANS_KBN" , "S" ); - transInfo.setString("FILE_TRANS_YN" , "N" ); - transInfo.setString("DATA_PROCESS_KBN", "9" ); - transInfo.setString("DIR_NAME" , sFileDir ); - transInfo.setString("FILE_NAME" , sFileName ); - transInfo.setString("CREATER" , sCreater ); - commonDAO.insertFileTransHistory( transInfo ); - } - /** - * ���ν��� ����(�ĺ� ���� �ݿ�) - * @param sFromDate - * @param sToDate - * @throws SQLException - * @throws Exception - */ - private void runProcedure(String sFromDate, String sToDate) throws SQLException , Exception{ - String query = "{ call SP_CARD_TRANS_WHOBUL(?,?) }"; - CallableStatement cs = null; - cs = conn.prepareCall(query); - int idx = 1; - cs.setString(idx++, sFromDate); - cs.setString(idx++, sToDate); - cs.execute(); - } -} diff --git a/src/main/java/center/data/MakeRfidInfo.java b/src/main/java/center/data/MakeRfidInfo.java deleted file mode 100644 index 67c9b00..0000000 --- a/src/main/java/center/data/MakeRfidInfo.java +++ /dev/null @@ -1,601 +0,0 @@ -package center.data; - -import java.io.*; -import java.sql.*; - -import center.dao.CenterTransDAO; -import center.data.format.RfidDataRecord; - -import com.base.*; -import com.util.*; -import com.resources.data.*; -/** - * RFID ������ �ݿ� �� ���輭�� ���۵����� ����
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2006-12-20 �ʱ� �ۼ� - * @see - 2016.12.01 redkaras �����ذ��� ó�� �߰� - */ -public class MakeRfidInfo extends FileWorker -{ - //private FileParser file = null; - //private FileParser file2 = null; - - private File file = null; - - public static final String FILE_KIND_CODE = "52"; // RFID �±� ���� �ڵ� - public static byte filler = 124; // ����Ÿ ������ '|' - - public static final int INS_COUNT = 10000; // insert count - public static final int LOG_COUNT = 100000; // log count - public static final int COLUMN_COUNT = 6; // ���ڵ屸�� - public static final int RECORD_TP = 0; // ���ڵ屸�� - public static final int CAR_NO = 1; // ������ȣ - public static final int CAR_TYPE_KBN = 2; // �������� - public static final int DAMAGE_NO = 3; // �Ѽ�Ƚ�� - public static final int WEEK_WRONG_NO = 4; // ����Ƚ�� - public static final int RFID_TAG = 5; // �±׹�ȣ - protected int nSkipCount; // file Skip count - - CenterTransDAO commonDAO = null; - - /** - * Constructor - */ - public MakeRfidInfo(){} - /** - * RFID ���� �ݿ� �� �ͳ� ���� ���� ���� - */ - public void execute() - { - String sPrcsName = "MakeRfidInfo"; - String sCreater = null; - try{ - logger.logInfo("RFID data apply start"); - if( sBaseDate == null || sBaseDate.trim().equals("") ){ - sBaseDate = TODAY; - } - String sPrcsOption = System.getProperty("option"); - if (sPrcsOption == null || sPrcsOption.equals("")) { - sBaseDate = TODAY; - }else{ - sBaseDate = sPrcsOption; - } - logger.logInfo(".... base date : " + sBaseDate); - // ȯ������ Read - //String sFtpUpDir = config.getProperty("rfid.up"); - // ���ϸ� ���� - //String sFileName = "RFID_" +sBaseDate; - // String sEnvFileName = "ENV_" +sBaseDate; - - //logger.logInfo( ".... upload file name : "+sFtpUpDir + sFileName); - //logger.logInfo( ".... upload file name : "+sFtpUpDir + sEnvFileName); - //File rfidFile = new File(sFtpUpDir + sFileName); - //File envFile = new File(sFtpUpDir + sEnvFileName); - - // ���� ���� ���� üũ -// if( !rfidFile.exists() ){ -// logger.logInfo(".... RFID File is not exist"); -// }else{ - // Database connection - conn = getConnection(); - conn.setAutoCommit(false); - //commonDAO = new CenterTransDAO(conn); - /* - // rfid ���� ���� ���� - //file = new FileParser(logger); - //file.openReadFile(sFtpUpDir + sFileName); - - // RFID �ӽ����̺� �ݿ� - logger.logInfo( ".... Temp Table truncate start"); - deleteRfidInfo_Temp(); // �ӽ����̺� ���� - dropTempIndex(); // �ε��� ���� - logger.logInfo( ".... Temp Table truncate end"); - logger.logInfo( ".... Temp Table Insert start"); - applyRfidInfo_temp(file); // �ӽ����̺� ���� �ݿ� - - // env �������� ���� - if( envFile.exists() ){ - file2 = new FileParser(logger); - file2.openReadFile(sFtpUpDir + sEnvFileName); - logger.logInfo( ".... Open Read file name : "+ sEnvFileName); - applyRfidInfo_temp(file2); // �ӽ����̺� ���� �ݿ� - file2.closeFile(); //read file close - }else{ - logger.logInfo(".... ENV File is not exist"); - } - - createTempIndex(); // �ε��� ���� - logger.logInfo(".... Temp Table Insert End"); - file.closeFile(); //read file close - - // 2012.11.14 ����ü����� �Ǻ����븮 ��û���� - // 2012.11.14 kde RFID_INS_INFO, RFID_DEL_INFO�� ����Ÿ�� - // RFID_INFO_TEMP ���̺� �����Ѵ�. - // RFID_INS_INFO : Insert �ؾ��� ������ ���� - // RFID_DEL_INFO : Delete �ؾ��� ������ ���� - logger.logInfo( ".... RFID_INS_INFO start"); - rfidIns(); - logger.logInfo( ".... RFID_INS_INFO end"); - logger.logInfo( ".... RFID_DEL_INFO start"); - rfidDel(); - logger.logInfo( ".... RFID_DEL_INFO end"); -*/ - // RFID ���� ������ ���� - String sSendFileName = "RfidInfo_"+sBaseDate.substring(2)+".dat"; - logger.logInfo( ".... Send file creation start"); - logger.logInfo( ".... file name : " + fileDir + sSendFileName); -/* - outFile = new FileStreamParser(); - outFile.openWriteFile(new File(fileDir, sSendFileName)); - writeData(); // Data record write - outFile.closeFile(); //read file close - logger.logInfo( ".... Send file creation end"); - // ���� ���� �α� ���� Insert - if(sPrcsName.length() <= 10 ) sCreater = sPrcsName; - else sCreater = sPrcsName.substring(0, 10); - - //insertFileInfo( fileDir,sSendFileName, sCreater); - logger.logInfo( ".... File transfer log insert" ); - conn.commit(); - */ - // RFID ���̺� �ݿ� - inFile = new FileStreamParser(); - inFile.openReadFile(new File(fileDir, sSendFileName)); - - logger.logInfo( ".... RFID Table truncate start"); - deleteRfidInfo(); // RFID_INFO ���̺� ������ ���� - logger.logInfo( ".... RFID Table truncate end"); - logger.logInfo( ".... RFID Table Insert start"); - applyRfidInfo(); // RFID_INFO ���� �ݿ� - logger.logInfo( ".... RFID Table Insert End"); - conn.commit(); // commit - // --------------------------------------------------- - // rfid upload ���� move - // --------------------------------------------------- - //rename(sFtpUpDir + sFileName, fileDir + sFileName ); - //} - logger.logInfo("RFID data apply end"); - }catch(Exception e){ - logger.logFail( "RFID data apply FAIL"); - logger.logTrace(e); - }finally{ - //if(file!= null) file.closeFile(); - //if(file2!= null) file2.closeFile(); - - - if(conn != null){ try{ conn.close(); }catch(Exception ignore){} } - } - } - /** - * RFID �ӽ����̺� ������ ���� - * @param Id - * @throws SQLException - */ - private void deleteRfidInfo_Temp() throws SQLException , Exception{ - PreparedStatement pstmt = null; - try{ - String sQuery= " truncate table rfid_info_temp"; - pstmt = conn.prepareStatement(sQuery); - pstmt.executeUpdate(); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - } - } - /** - * RFID �ӽ����̺� �ε��� ���� - * @param Id - * @throws SQLException - */ - private void dropTempIndex() throws SQLException , Exception{ - PreparedStatement pstmt = null; - try{ - String sQuery = " DROP INDEX RFID_INFO_TEMP_PK"; - pstmt = conn.prepareStatement(sQuery); - pstmt.executeUpdate(); - }catch(Exception e){ - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - } - } - /** - * RFID �ӽ����̺� �ε��� ���� - * @param Id - * @throws SQLException - */ - private void createTempIndex() throws SQLException , Exception{ - PreparedStatement pstmt = null; - try{ - String sQuery = " CREATE INDEX RFID_INFO_TEMP_PK " - + " ON RFID_INFO_TEMP ( RFID_TAG ) " - + " TABLESPACE USERS "; - pstmt = conn.prepareStatement(sQuery); - pstmt.executeUpdate(); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - } - } - /** - * RFID ���̺� ������ ���� - * @param Id - * @throws SQLException - */ - private void deleteRfidInfo() throws SQLException , Exception{ - PreparedStatement pstmt = null; - try{ - StringBuffer sbBuffer = new StringBuffer(); - sbBuffer.append(" truncate table rfid_info"); - pstmt = conn.prepareStatement(sbBuffer.toString()); - pstmt.executeUpdate(); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - } - } - /** - * RFID �ӽ����̺� ������ �ݿ� - * @param Id - * @throws SQLException - */ - private void applyRfidInfo_temp(FileParser file) throws SQLException , Exception{ - PreparedStatement pstmt = null; - try{ - nInsertCount = 0; - String sRecord = null; - StringBuffer sbBuffer = new StringBuffer(); - sbBuffer.append(" insert into rfid_info_temp ") - .append(" (RFID_TAG,CAR_NO,CAR_TYPE_KBN,WEEK_WRONG_NO,DAMAGE_NO)") - .append(" values(?,?,?,?,?) "); - pstmt = conn.prepareStatement(sbBuffer.toString()); - - while( (sRecord = file.readRecord()) != null ){ - // Data ó�� - if("Y".equals(sRecord.substring(0,1))){ - String[] saData = StringUtil.split(sRecord, filler,COLUMN_COUNT); - // 08.01.09 kjc �߰� : RFID �±׹�ȣ ������� ��ŵó�� - if( saData[RFID_TAG] == null || saData[RFID_TAG].equals("")){ - logger.logInfo("Record:["+sRecord+"]"); - nSkipCount++; - continue; - } - // ��������Ƚ�� ( 5�ڸ��� ������ ������ 99999 �� ���� ) - int iWrongNo = Integer.parseInt(saData[WEEK_WRONG_NO])%100000; - // �Ѽ�Ƚ�� ( 5�ڸ��� ������ ������ 99999 �� ���� ) - int iDemageNo = Integer.parseInt(saData[DAMAGE_NO])%100000; - - int iParam = 1; - pstmt.setString(iParam++,saData[RFID_TAG]); - pstmt.setString(iParam++,saData[CAR_NO]); - pstmt.setString(iParam++,saData[CAR_TYPE_KBN]); - pstmt.setInt(iParam++,iWrongNo); - pstmt.setInt(iParam++,iDemageNo); - pstmt.addBatch(); - - nInsertCount++; - if( nInsertCount%INS_COUNT == 0 ) { - pstmt.executeBatch(); - pstmt.clearBatch(); - if( nInsertCount%LOG_COUNT == 0 ) { - logger.logInfo(".... Temp Table Insert Count : "+ nInsertCount); - } - } - // Header ó�� - }else if("X".equals(sRecord.substring(0,1))){ - // Trailer ó�� - }else if("Z".equals(sRecord.substring(0,1))){ - int nDataCount = Integer.parseInt(sRecord.substring(9,17)); - if( nDataCount != (nInsertCount+nSkipCount) ){ - logger.logFail("Data count error : data count-["+nDataCount+"]" + " real count-["+nInsertCount+"]"); - throw new Exception("Data count error"); - } - }else{ - logger.logFail("File format error : " + sRecord); - throw new Exception("File format error : " + sRecord ); - } - } - logger.logInfo(".... Temp Table Insert Count : "+ nInsertCount); - pstmt.executeBatch(); - pstmt.clearBatch(); - conn.commit(); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - } - } - /** - * Data ����� - * @param Id - * @throws SQLException - */ - private void writeData() throws SQLException , Exception{ - PreparedStatement psSls = null; - ResultSet rs = null; - String sRfidTag = null; - String sBfRfidTag = null; - nWriteCount = 0; - nInsertCount = 0; - try{ - String sSelect = " select RFID_TAG, CAR_NO, CAR_TYPE_KBN, WEEK_WRONG_NO, DAMAGE_NO " - + " from rfid_info_temp " - + " order by RFID_TAG asc, WEEK_WRONG_NO desc, DAMAGE_NO desc "; - psSls = conn.prepareStatement(sSelect); - - rs = psSls.executeQuery(); - RfidDataRecord record = null; - while(rs.next()){ - sRfidTag = rs.getString("RFID_TAG"); - if( sRfidTag.equals(sBfRfidTag)) continue; - - record - = new RfidDataRecord(rs.getString("RFID_TAG"), - rs.getString("CAR_NO"), - rs.getString("CAR_TYPE_KBN"), - rs.getInt("WEEK_WRONG_NO"), - rs.getInt("DAMAGE_NO")); - - outFile.writeData(record.getRecord()); - nWriteCount++; - if( nWriteCount%LOG_COUNT == 0 ) { - logger.logInfo(".... File Write Count : "+ nWriteCount); - } - sBfRfidTag = sRfidTag; - } - logger.logInfo(".... File Write Count : "+ nWriteCount); - }finally{ - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - if(psSls != null){ try{ psSls.close(); }catch(Exception ignore){} } - } - } - /** - * �������� �̷� ����� - * @param Id - * @throws SQLException - */ - private void insertFileInfo(String sFileDir, String sFileName, String sCreater) throws SQLException , Exception{ - Info transInfo = new Info(); - transInfo.setString("FILE_KIND_ID" , FILE_KIND_CODE ); - transInfo.setString("FORMAT_DATE" , TODAY ); - transInfo.setString("FILE_TRANS_KBN" , "R" ); - transInfo.setString("FILE_TRANS_YN" , "Y" ); - transInfo.setString("DATA_PROCESS_KBN", "9" ); - transInfo.setString("DIR_NAME" , sFileDir ); - transInfo.setString("FILE_NAME" , sFileName.trim() ); - transInfo.setString("CREATER" , sCreater); - - long nSeqNo = commonDAO.getNextSeq(FILE_KIND_CODE); - - transInfo.setLong ("DATA_SEQNO" , nSeqNo ); - commonDAO.insertFileTransInfo( transInfo ); - - transInfo.setString("FARE_OFFICE_ID" , "01"); - commonDAO.insertOfficeTransInfo( transInfo ); - - transInfo.setString("FARE_OFFICE_ID" , "03"); - commonDAO.insertOfficeTransInfo( transInfo ); - } - /** - * RFID ���̺� ������ �ݿ� - * @param Id - * @throws SQLException - */ - private void applyRfidInfo() throws SQLException , Exception{ - PreparedStatement pstmt = null; - try{ - nInsertCount = 0; - StringBuffer sbBuffer = new StringBuffer(); - String sRecord = null; - RfidDataRecord rfidRecord = null; - sbBuffer = new StringBuffer(); - sbBuffer.append(" insert into rfid_info ") - .append(" (RFID_TAG,CAR_NO,CAR_TYPE_KBN,WEEK_WRONG_NO,DAMAGE_NO)") - .append(" values(?,?,?,?,?) "); - pstmt = conn.prepareStatement(sbBuffer.toString()); - - while( (sRecord = inFile.readBytes(RfidDataRecord.RECORD_LEN)) != null ){ - rfidRecord = new RfidDataRecord( sRecord ); - - int iParam = 1; - pstmt.setString(iParam++,rfidRecord.getItem(RfidDataRecord.RFID_TAG)); - pstmt.setString(iParam++,rfidRecord.getItem(RfidDataRecord.CAR_NO)); - pstmt.setString(iParam++,rfidRecord.getItem(RfidDataRecord.CAR_TYPE_KBN)); - pstmt.setInt (iParam++,Integer.parseInt(rfidRecord.getItem(RfidDataRecord.WEEK_WRONG_NO))); - pstmt.setInt (iParam++,Integer.parseInt(rfidRecord.getItem(RfidDataRecord.DAMAGE_NO))); - pstmt.addBatch(); - nInsertCount++; - if( nInsertCount%INS_COUNT == 0 ) { - pstmt.executeBatch(); - pstmt.clearBatch(); - if( nInsertCount%LOG_COUNT == 0 ) { - logger.logInfo(".... Temp Table Insert Count : "+ nInsertCount); - } - } - } - pstmt.executeBatch(); - pstmt.clearBatch(); - logger.logInfo(".... RFID Table Insert Count : "+ nInsertCount); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - } - } - /** - * RFID_INS_INFO ���̺� ������ �ݿ� 2012.11.14 dekim - * @param Id - * @throws SQLException - */ - private void rfidIns() throws SQLException , Exception{ - PreparedStatement pstmt = null; - PreparedStatement psIns = null; - PreparedStatement psUpd = null; - - ResultSet rs = null; - String rfid_tag=null; - String car_no = null; - String car_type_kbn = null; - int week_wrong_no = 0; - int damage_no = 0; - int data_cnt = 0; - nInsertCount = 0; - - try{ - String sSelect = " select RFID_TAG, CAR_NO, CAR_TYPE_KBN, WEEK_WRONG_NO, DAMAGE_NO " - + " FROM RFID_INS_INFO "; - - pstmt = conn.prepareStatement(sSelect); - rs = pstmt.executeQuery(); - - //RfidDataRecord rfidRecord = null; - int idx = 1; - if ( rs != null ) { - - while( rs.next() ){ - - rfid_tag = rs.getString("RFID_TAG"); - car_no = rs.getString("CAR_NO"); - car_type_kbn = rs.getString("CAR_TYPE_KBN"); - week_wrong_no = rs.getInt("WEEK_WRONG_NO"); - damage_no = rs.getInt("DAMAGE_NO"); - - data_cnt = getExits(rfid_tag); - - if (data_cnt == 0){ - - psIns = conn.prepareStatement(" Insert into rfid_info_temp (rfid_tag, car_no, car_type_kbn, week_wrong_no, damage_no) values(?,?,?,?,?) "); - - idx = 1; - psIns.setString(idx++, rfid_tag); - psIns.setString(idx++, car_no); - psIns.setString(idx++, car_type_kbn); - psIns.setInt(idx++, week_wrong_no); - psIns.setInt(idx++, damage_no); - - psIns.executeUpdate(); - - if ( psIns.executeUpdate() != 1){ - throw new SQLException ("RFID_INFO_TEMP Insert ����..."); - } - - nInsertCount++; - - }else if(data_cnt == 1){ - - psUpd = conn.prepareStatement(" Update rfid_into_temp set car_no = ?, car_type_kbn = ?, week_wrong_no = ?, damage_no = ? where rfid_tag = ? " ); - - idx = 1; - - psUpd.setString(idx++, car_no); - psUpd.setString(idx++, car_type_kbn); - psUpd.setInt(idx++, week_wrong_no); - psUpd.setInt(idx++, damage_no); - psUpd.setString(idx++, rfid_tag); - - psUpd.executeUpdate(); - - if ( psUpd.executeUpdate() != 1){ - throw new SQLException ("RFID_INFO_TEMP Update ����..."); - } - nInsertCount++; - } - } - logger.logInfo(".... Temp Table Insert/Update Count : "+ nInsertCount); - } - }catch(Exception e) { - e.printStackTrace(); - throw e; - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - if(psIns != null){ try{ psIns.close(); }catch(Exception ignore){} } - if(psUpd != null){ try{ psUpd.close(); }catch(Exception ignore){} } - } - } - /** - * RFID_DEL_INFO ���̺� ������ �ݿ� 2012.11.14 dekim - * @param Id - * @throws SQLException - */ - private void rfidDel() throws SQLException , Exception{ - PreparedStatement pstmt = null; - PreparedStatement psDel = null; - - ResultSet rs = null; - String rfid_tag=null; - - int data_cnt = 0; - nInsertCount = 0; - - try{ - String sSelect = " select RFID_TAG FROM RFID_DEL_INFO "; - - pstmt = conn.prepareStatement(sSelect); - rs = pstmt.executeQuery(); - - int idx = 1; - if ( rs != null ) { - - while( rs.next() ){ - - rfid_tag = rs.getString("RFID_TAG"); - - data_cnt = getExits(rfid_tag); - - if(data_cnt == 1){ - - psDel = conn.prepareStatement(" Delete rfid_into_temp where rfid_tag = ? " ); - - idx = 1; - - psDel.setString(idx++, rfid_tag); - - psDel.executeUpdate(); - - if ( psDel.executeUpdate() != 1){ - throw new SQLException ("RFID_INFO_TEMP Delete ����..."); - } - - nInsertCount++; - - } - } - - logger.logInfo(".... Temp Table Delete Count : "+ nInsertCount); - } - }catch(Exception e) { - e.printStackTrace(); - throw e; - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - if(psDel != null){ try{ psDel.close(); }catch(Exception ignore){} } - } - } - /** - * �±����翩�� ���� 2012.11.14 dekim - * @param Id - * @throws SQLException - */ - private int getExits(String sRfid_tag) throws SQLException , Exception { - int data_cnt = 0; - PreparedStatement ps = null; - StringBuffer sbBuffer = new StringBuffer(); - ResultSet rs = null; - - try{ - sbBuffer.append("select count(*) from rfid_info_temp ") - .append(" where rfid_tag = ? "); - int idx = 1; - ps = conn.prepareStatement(sbBuffer.toString()); - ps.setString(idx++, sRfid_tag); - rs = ps.executeQuery(); - - if(rs != null){ - if(rs.next()){ - data_cnt = rs.getInt(1); - } - } - - }catch(Exception e){ - e.printStackTrace(); - throw e; - }finally{ - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - if(ps != null){ try{ ps.close(); }catch(Exception ignore){} } - } - return data_cnt; - } -} \ No newline at end of file diff --git a/src/main/java/center/data/MakeRfidInfoGreen.java b/src/main/java/center/data/MakeRfidInfoGreen.java deleted file mode 100644 index 01e0a29..0000000 --- a/src/main/java/center/data/MakeRfidInfoGreen.java +++ /dev/null @@ -1,161 +0,0 @@ -package center.data; - -import java.io.*; -import java.sql.*; - -import center.dao.CenterTransDAO; -import center.data.format.RfidDataRecord; - -import com.base.*; -import com.util.*; -import com.resources.data.*; -/** - * RFID ������ �ݿ� �� ���輭�� ���۵����� ����
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2006-12-20 �ʱ� �ۼ� - * @see - 2016.12.01 redkaras �����ذ��� ó�� �߰� - */ -public class MakeRfidInfoGreen extends FileWorker -{ - //private FileParser file = null; - //private FileParser file2 = null; - - private File file = null; - - public static final String FILE_KIND_CODE = "52"; // RFID �±� ���� �ڵ� - public static byte filler = 124; // ����Ÿ ������ '|' - - public static final int INS_COUNT = 10000; // insert count - public static final int LOG_COUNT = 100000; // log count - public static final int COLUMN_COUNT = 6; // ���ڵ屸�� - public static final int RECORD_TP = 0; // ���ڵ屸�� - public static final int CAR_NO = 1; // ������ȣ - public static final int CAR_TYPE_KBN = 2; // �������� - public static final int DAMAGE_NO = 3; // �Ѽ�Ƚ�� - public static final int WEEK_WRONG_NO = 4; // ����Ƚ�� - public static final int RFID_TAG = 5; // �±׹�ȣ - protected int nSkipCount; // file Skip count - - CenterTransDAO commonDAO = null; - - /** - * Constructor - */ - public MakeRfidInfoGreen(){} - /** - * RFID ���� �ݿ� �� �ͳ� ���� ���� ���� - */ - public void execute() - { - String sPrcsName = "MakeRfidInfo"; - String sCreater = null; - try{ - logger.logInfo("RFID data apply start"); - if( sBaseDate == null || sBaseDate.trim().equals("") ){ - sBaseDate = TODAY; - } - String sPrcsOption = System.getProperty("option"); - if (sPrcsOption == null || sPrcsOption.equals("")) { - sBaseDate = TODAY; - }else{ - sBaseDate = sPrcsOption; - } - logger.logInfo(".... base date : " + sBaseDate); - - // RFID ���� ������ ���� - //String sSendFileName = "RfidInfo_"+sBaseDate.substring(2)+".dat"; - String sSendFileName = "ENV_"+sBaseDate +".dat"; - logger.logInfo( ".... Send file creation start"); - logger.logInfo( ".... file name : " + fileDir + sSendFileName); - - - // RFID ���̺� �ݿ� - inFile = new FileStreamParser(); - inFile.openReadFile(new File(fileDir, sSendFileName)); - - logger.logInfo( ".... RFID Table truncate start"); - deleteRfidInfo(); // RFID_INFO ���̺� ������ ���� - logger.logInfo( ".... RFID Table truncate end"); - logger.logInfo( ".... RFID Table Insert start"); - applyRfidInfo(); // RFID_INFO ���� �ݿ� - logger.logInfo( ".... RFID Table Insert End"); - conn.commit(); // commit - // --------------------------------------------------- - // rfid upload ���� move - // --------------------------------------------------- - //rename(sFtpUpDir + sFileName, fileDir + sFileName ); - //} - logger.logInfo("RFID data apply end"); - }catch(Exception e){ - logger.logFail( "RFID data apply FAIL"); - logger.logTrace(e); - }finally{ - - if(conn != null){ try{ conn.close(); }catch(Exception ignore){} } - } - } - - /** - * RFID ���̺� ������ ���� - * @param Id - * @throws SQLException - */ - private void deleteRfidInfo() throws SQLException , Exception{ - PreparedStatement pstmt = null; - try{ - StringBuffer sbBuffer = new StringBuffer(); - sbBuffer.append(" truncate table rfid_info"); - pstmt = conn.prepareStatement(sbBuffer.toString()); - pstmt.executeUpdate(); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - } - } - - /** - * RFID ���̺� ������ �ݿ� - * @param Id - * @throws SQLException - */ - private void applyRfidInfo() throws SQLException , Exception{ - PreparedStatement pstmt = null; - try{ - nInsertCount = 0; - StringBuffer sbBuffer = new StringBuffer(); - String sRecord = null; - RfidDataRecord rfidRecord = null; - sbBuffer = new StringBuffer(); - sbBuffer.append(" insert into rfid_info ") - .append(" (RFID_TAG,CAR_NO,CAR_TYPE_KBN,WEEK_WRONG_NO,DAMAGE_NO)") - .append(" values(?,?,?,?,?) "); - pstmt = conn.prepareStatement(sbBuffer.toString()); - - while( (sRecord = inFile.readBytes(RfidDataRecord.RECORD_LEN)) != null ){ - rfidRecord = new RfidDataRecord( sRecord ); - - int iParam = 1; - pstmt.setString(iParam++,rfidRecord.getItem(RfidDataRecord.RFID_TAG)); - pstmt.setString(iParam++,rfidRecord.getItem(RfidDataRecord.CAR_NO)); - pstmt.setString(iParam++,rfidRecord.getItem(RfidDataRecord.CAR_TYPE_KBN)); - pstmt.setInt (iParam++,Integer.parseInt(rfidRecord.getItem(RfidDataRecord.WEEK_WRONG_NO))); - pstmt.setInt (iParam++,Integer.parseInt(rfidRecord.getItem(RfidDataRecord.DAMAGE_NO))); - pstmt.addBatch(); - nInsertCount++; - if( nInsertCount%INS_COUNT == 0 ) { - pstmt.executeBatch(); - pstmt.clearBatch(); - if( nInsertCount%LOG_COUNT == 0 ) { - logger.logInfo(".... Temp Table Insert Count : "+ nInsertCount); - } - } - } - pstmt.executeBatch(); - pstmt.clearBatch(); - logger.logInfo(".... RFID Table Insert Count : "+ nInsertCount); - }finally{ - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - } - } - -} \ No newline at end of file diff --git a/src/main/java/center/data/MakeRfidUse.java b/src/main/java/center/data/MakeRfidUse.java deleted file mode 100644 index 227beae..0000000 --- a/src/main/java/center/data/MakeRfidUse.java +++ /dev/null @@ -1,155 +0,0 @@ -package center.data; - -import java.io.File; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import com.base.FileStreamParser; -import com.base.FileWorker; -import com.exception.AppException; -import com.exception.IllegalRecordException; -import com.util.StringUtil; - -/** - * RFID사용정보 시청제공 자료 생성
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class MakeRfidUse extends FileWorker { - public static final String FILE_KIND_CODE = "53"; // RFID 사용정보 - public static final int LOG_COUNT = 10000; // log count - public static final String DATA_SEP = "|"; // 데이터 구분자 - - private String sCreater; - - public MakeRfidUse(){ - } - - @Override - public void execute(){ - String sFileName = null; - String sPrcsName = "MakeRfidUse"; - - try{ - logger.logInfo(sPrcsName + " is started"); - - String sPrcsOption = System.getProperty("option"); - if (sPrcsOption == null || sPrcsOption.equals("")) { - sBaseDate = TODAY; - }else{ - sBaseDate = sPrcsOption; - } - - sFileName = "RfidUse_"+sBaseDate.substring(2)+".dat"; - - String sFtpDownDir = config.getProperty("rfid.down"); - - logger.logInfo( ".... file name : " + sFileName ); - - conn = getConnection(); - conn.setAutoCommit(false); - - outFile = new FileStreamParser(); - outFile.openWriteFile(new File(fileDir, sFileName)); - - writeHeaderRecord(); - writeDataRecord(); - writeTrailerRecord(); - - if(sPrcsName.length() <= 10 ) sCreater = sPrcsName; - else sCreater = sPrcsName.substring(0, 10); - - copy(fileDir + sFileName, sFtpDownDir + "RFID_NAMSAN_"+sBaseDate ); - conn.commit(); - - logger.logInfo("----------------------------------" ); - logger.logInfo(".... DB Select Count : "+ nSelectCount); - logger.logInfo(".... File Write Count : "+ nWriteCount ); - - logger.logInfo(sPrcsName + " is ended"); - }catch(Exception e){ - try{ if(conn != null){ conn.rollback(); }}catch(Exception ignore){} - logger.logFail(sPrcsName + " process is failed"); - logger.logTrace(e); - }finally{ - try{ if(outFile != null){ outFile.closeFile(); }}catch(Exception ignore){} - try{ if(conn != null){ conn.close(); }}catch(Exception ignore){} - } - } - /** - * Header data write - * @return boolean - * @throws IllegalRecordException - * @throws AppException - */ - public boolean writeHeaderRecord() throws IllegalRecordException, AppException{ - outFile.writeData("X" - +sBaseDate+StringUtil.getString(' ',91)); - outFile.writeData("\n"); - return true; - } - /** - * Data Format 작성 - * @param purchaseDay - * @return - * @throws SQLException - * @throws IllegalRecordException - * @throws AppException - */ - private boolean writeDataRecord() throws SQLException, IllegalRecordException, AppException { - PreparedStatement pstmt = null; - ResultSet rs = null; - try{ - StringBuffer sbQuery = new StringBuffer(); - sbQuery.append(" select CAR_NO1, ") - .append(" YEAR||MONTH||DAY||WORK_TIMES USEDATE, ") - .append(" FARE_OFFICE_ID, ") - .append(" BOOTH_ID, ") - .append(" RFID_KBN, ") - .append(" RFID_TAG, ") - .append(" CAR_NO2, ") - .append(" COLLECT_ID ") // 070105 KJC 추가 - 통행구분추가요청(시청) - .append(" FROM RFID_NAMSAN_INFO ") - .append(" WHERE YEAR || MONTH || DAY = TO_CHAR(TO_DATE(?,'yyyymmdd')-1,'YYYYMMDD') "); - - pstmt = conn.prepareStatement(sbQuery.toString()); - pstmt.setString(1, sBaseDate); - rs = pstmt.executeQuery(); - - while(rs.next()){ - outFile.writeData("Y" + DATA_SEP - + rs.getString("CAR_NO1") + DATA_SEP - + rs.getString("USEDATE") + DATA_SEP - + rs.getString("FARE_OFFICE_ID") + DATA_SEP - + rs.getString("BOOTH_ID") + DATA_SEP - + rs.getString("RFID_KBN") + DATA_SEP - + rs.getString("RFID_TAG") + DATA_SEP - + rs.getString("CAR_NO2") + DATA_SEP - + rs.getString("COLLECT_ID") ); // 070105 KJC 추가 - 통행구분추가요청(시청) - outFile.writeData("\n"); - nWriteCount++; - if( nWriteCount%10000 == 0 ) logger.logInfo(".... File Write Count : "+ nWriteCount); - } - }finally{ - if(rs != null){ try{ rs.close(); }catch(Exception ignore){} } - if(pstmt != null){ try{ pstmt.close(); }catch(Exception ignore){} } - } - return true; - } - /** - * Trailer data write - * @return boolean - * @throws IllegalRecordException - * @throws AppException - */ - public boolean writeTrailerRecord() throws IllegalRecordException, AppException{ - outFile.writeData("Z" - + sBaseDate - + StringUtil.justify(StringUtil.RIGHT,""+nWriteCount,"0",8) - + StringUtil.getString(' ',83)); - outFile.writeData("\n"); - return true; - } -} diff --git a/src/main/java/center/data/format/BoothInfoDataRecord.java b/src/main/java/center/data/format/BoothInfoDataRecord.java deleted file mode 100644 index adb823c..0000000 --- a/src/main/java/center/data/format/BoothInfoDataRecord.java +++ /dev/null @@ -1,59 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 차로구분 정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class BoothInfoDataRecord extends Record { - private int RECORD_LEN = 150; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SERIAL_NO = 4; // 일련번호 - public static final int FARE_OFFICE_ID = 5; // 요금소코드 - public static final int BOOTH_ID = 6; // 차로구분코드 - public static final int BOOTH_FULL_NAME = 7; // 차로 명 - public static final int BOOTH_ABB_NAME = 8; // 차로 약명 - public static final int IN_OUT_KBN = 9; // 유출입 구분 - public static final int USE_YN = 10; // 사용여부 - public static final int IUD_KBN = 11; // 입력구분 - public static final int RESERVED = 12; // Filler - public static final int E_MARK = 13; // 종료표시 - /** - * Counstructor - * @param record - */ - public BoothInfoDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SERIAL_NO : return getStringInLine(record, 17, 20); // 일련번호 - case FARE_OFFICE_ID : return getStringInLine(record, 20, 22); // 요금소코드 - case BOOTH_ID : return getStringInLine(record, 22, 24); // 차로구분코드 - case BOOTH_FULL_NAME : return getStringInLine(record, 24, 84); // 차로 명 - case BOOTH_ABB_NAME : return getStringInLine(record, 84, 124); // 차로 약명 - case IN_OUT_KBN : return getStringInLine(record, 124, 125); // 유출입 구분 - case USE_YN : return getStringInLine(record, 125, 126); // 사용여부 - case IUD_KBN : return getStringInLine(record, 126, 127); // 입력구분 - case RESERVED : return getStringInLine(record, 127, 149); // Filler - case E_MARK : return getStringInLine(record, 149, 150); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/CardJoinDataRecord.java b/src/main/java/center/data/format/CardJoinDataRecord.java deleted file mode 100644 index e4e403d..0000000 --- a/src/main/java/center/data/format/CardJoinDataRecord.java +++ /dev/null @@ -1,65 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 가맹점 정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class CardJoinDataRecord extends Record { - private int RECORD_LEN = 150; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SEQNO = 4; // 일련번호 - public static final int FARE_OFFICE_ID = 5; // 요금소코드 - public static final int JOIN_CHAIN_NO = 6; // 가맹점번호 - public static final int STT_DATE = 7; // 시작일자 - public static final int END_DATE = 8; // 종료일자 - public static final int COLLECT_ID = 9; // 징수유형코드 - public static final int ISSUER_ID = 10; // 카드발행사코드 - public static final int JOIN_CHAIN_NAME = 11; // 가맹점명 - public static final int CARD_RATE = 12; // 수수료율 - public static final int REATE_AMOUNT = 13; // 수수료금액 - public static final int USE_KBN = 14; // 사용여부 - public static final int RESERVED = 15; // Filler - public static final int E_MARK = 16; // 종료표시 - /** - * Counstructor - * @param record - */ - public CardJoinDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SEQNO : return getStringInLine(record, 17, 20); // 일련번호 - case FARE_OFFICE_ID : return getStringInLine(record, 20, 22); // 요금소코드 - case JOIN_CHAIN_NO : return getStringInLine(record, 22, 42); // 가맹점번호 - case STT_DATE : return getStringInLine(record, 42, 50); // 시작일자 - case END_DATE : return getStringInLine(record, 50, 58); // 종료일자 - case COLLECT_ID : return getStringInLine(record, 58, 60); // 징수유형코드 - case ISSUER_ID : return getStringInLine(record, 60, 67); // 카드발행사코드 - case JOIN_CHAIN_NAME : return getStringInLine(record, 67,127); // 가맹점명 - case CARD_RATE : return getStringInLine(record,127,132); // 수수료율 - case REATE_AMOUNT : return getStringInLine(record,132,137); // 수수료금액 - case USE_KBN : return getStringInLine(record,137,138); // 사용여부 - case RESERVED : return getStringInLine(record,138,149); // Filler - case E_MARK : return getStringInLine(record,149,150); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/CollectSettleDataRecord.java b/src/main/java/center/data/format/CollectSettleDataRecord.java deleted file mode 100644 index 0bb3c20..0000000 --- a/src/main/java/center/data/format/CollectSettleDataRecord.java +++ /dev/null @@ -1,149 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 징수원 정산정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class CollectSettleDataRecord extends Record { - private int RECORD_LEN = 330; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SEQNO = 4; // 일련번호 - public static final int WORKER_ID = 5; // 징수원ID - public static final int FARE_OFFICE_ID = 6; // 요금소코드 - public static final int BOOTH_ID = 7; // 차로코드 - public static final int YEAR = 8; // 년도 - public static final int MONTH = 9; // 월 - public static final int DAY = 10; // 일 - public static final int WORK_STT_TIME = 11; // 근무시작시간 - public static final int WORK_END_TIME = 12; // 근무종료시간 - public static final int EXEMPTION_QUANTITY = 13; // 면제 통행량 - public static final int CASH_QUANTITY = 14; // 현금 통행량 - public static final int COUPON_QUANTITY = 15; // 쿠폰회수 통행량 - public static final int NONPAYMENT_QUANTITY = 16; // 미납 통행량 - public static final int CARD_BEFORE_QUANTITY = 17; // 선불카드 통행량 - public static final int CARD_AFTER_QUANTITY = 18; // 후불카드 통행량 - public static final int COUPON_SALE_QUANTITY = 19; // 정액권 판매 권수 - public static final int TOTAL_INCOME = 20; // 총 수입금액 - public static final int CASH_INCOME = 21; // 현금 수입금액 - public static final int CARD_BEFORE_INCOME = 22; // 선불카드 수입금액 - public static final int CARD_AFTER_INCOME = 23; // 후불카드 수입금액 - public static final int COUPON_INCOME = 24; // 쿠폰 수입금액 - public static final int COUPON_SALE = 25; // 쿠폰 판매금액 - public static final int DEPOSIT_PAY = 26; // 입금액 - public static final int CREDIT_PAY = 27; // 출금액 - public static final int OVERFARE_IN_AMOUNT = 28; // 과오납 입금액 - public static final int OVERFARE_OUT_AMOUNT = 29; // 과오납 출금액 - public static final int OVERCOUPON_COUNT = 30; // 과잉쿠폰 매수 - public static final int COUPON_RETURN_COUNT = 31; // 쿠폰반환 매수 - public static final int NOTE_QUANTITY = 32; // 수기 통행량 - public static final int NOTE_INCOME = 33; // 수기 통행금액 - public static final int FARE_ADJUST_YN = 34; // 정산완료여부 - public static final int CASH_Q = 35; // 경차현금 통행량 - public static final int COUPON_Q = 36; // 경차쿠폰 통행량 - public static final int CARD_SUN_Q = 37; // 경차선불카드 통행량 - public static final int CARD_WHO_Q = 38; // 경차후불카드 통행량 - public static final int COUPON_SALE_Q = 39; // 경차정액권 판매권수 - public static final int K_CASH_INCOME = 40; // 경차현금 수입금액 - public static final int CARD_SUN_INCOME = 41; // 경차선불카드 수입금액 - public static final int CARD_WHO_INCOME = 42; // 경차후불카드 수입금액 - public static final int COUPON_SALE_INCOME = 43; // 경차정액권 판매금액 - public static final int OVERCOUPON_CNT = 44; // 경차과잉쿠폰 매수 - public static final int COUPON_RET_CNT = 45; // 경차과잉쿠폰 반납매수 - public static final int NOTE_Q = 46; // 경차 수기 통행량 - public static final int K_NOTE_INCOME = 47; // 경차 수기 수입금액 - public static final int REPAY_CNT = 48; // 환불건수 - public static final int REPAY_AMOUNT = 49; // 환불금액 - public static final int C_AMPM = 50; // 오전/오후구분 - public static final int OTHER_SEQNO = 51; // 중복방지번호 - public static final int SALE_CARD_Q = 52; // 일반정액권카드판매권수 - public static final int SALE_CARD_M = 53; // 일반정액권카드판매금액 - public static final int K_SALE_CARD_Q = 54; // 경차정액권카드판매권수 - public static final int K_SALE_CARD_M = 55; // 경차정액권카드판매금액 - public static final int RESERVED = 56; // Filler - public static final int E_MARK = 57; // 종료표시 - /** - * Counstructor - * @param record - */ - public CollectSettleDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SEQNO : return getStringInLine(record, 17, 20); // 일련번호 - case WORKER_ID : return getStringInLine(record, 24, 26) + getStringInLine(record, 20, 24); - // 징수원ID - case FARE_OFFICE_ID : return getStringInLine(record, 24, 26); // 요금소코드 - case BOOTH_ID : return getStringInLine(record, 26, 28); // 차로코드 - case YEAR : return getStringInLine(record, 28, 32); // 년도 - case MONTH : return getStringInLine(record, 32, 34); // 월 - case DAY : return getStringInLine(record, 34, 36); // 일 - case WORK_STT_TIME : return getStringInLine(record, 36, 42); // 근무시작시간 - case WORK_END_TIME : return getStringInLine(record, 42, 48); // 근무종료시간 - case EXEMPTION_QUANTITY : return getStringInLine(record, 48, 53); // 면제 통행량 - case CASH_QUANTITY : return getStringInLine(record, 53, 58); // 현금 통행량 - case COUPON_QUANTITY : return getStringInLine(record, 58, 63); // 쿠폰회수 통행량 - case NONPAYMENT_QUANTITY : return getStringInLine(record, 63, 68); // 미납 통행량 - case CARD_BEFORE_QUANTITY : return getStringInLine(record, 68, 73); // 선불카드 통행량 - case CARD_AFTER_QUANTITY : return getStringInLine(record, 73, 78); // 후불카드 통행량 - case COUPON_SALE_QUANTITY : return getStringInLine(record, 78, 83); // 정액권 판매 권수 - case TOTAL_INCOME : return getStringInLine(record, 83, 92); // 총 수입금액 - case CASH_INCOME : return getStringInLine(record, 92, 101); // 현금 수입금액 - case CARD_BEFORE_INCOME : return getStringInLine(record, 101, 110); // 선불카드 수입금액 - case CARD_AFTER_INCOME : return getStringInLine(record, 110, 119); // 후불카드 수입금액 - case COUPON_INCOME : return getStringInLine(record, 119, 128); // 쿠폰 수입금액 - case COUPON_SALE : return getStringInLine(record, 128, 137); // 쿠폰 판매금액 - case DEPOSIT_PAY : return getStringInLine(record, 137, 146); // 입금액 - case CREDIT_PAY : return getStringInLine(record, 146, 155); // 출금액 - case OVERFARE_IN_AMOUNT : return getStringInLine(record, 155, 164); // 과오납 입금액 - case OVERFARE_OUT_AMOUNT : return getStringInLine(record, 164, 173); // 과오납 출금액 - case OVERCOUPON_COUNT : return getStringInLine(record, 173, 178); // 과잉쿠폰 매수 - case COUPON_RETURN_COUNT : return getStringInLine(record, 178, 183); // 쿠폰반환 매수 - case NOTE_QUANTITY : return getStringInLine(record, 183, 188); // 수기 통행량 - case NOTE_INCOME : return getStringInLine(record, 188, 197); // 수기 통행금액 - case FARE_ADJUST_YN : return getStringInLine(record, 197, 198); // 정산완료여부 - case CASH_Q : return getStringInLine(record, 198, 203); // 경차현금 통행량 - case COUPON_Q : return getStringInLine(record, 203, 208); // 경차쿠폰 통행량 - case CARD_SUN_Q : return getStringInLine(record, 208, 213); // 경차선불카드 통행량 - case CARD_WHO_Q : return getStringInLine(record, 213, 218); // 경차후불카드 통행량 - case COUPON_SALE_Q : return getStringInLine(record, 218, 223); // 경차정액권 판매권수 - case K_CASH_INCOME : return getStringInLine(record, 223, 232); // 경차현금 수입금액 - case CARD_SUN_INCOME : return getStringInLine(record, 232, 241); // 경차선불카드 수입금액 - case CARD_WHO_INCOME : return getStringInLine(record, 241, 250); // 경차후불카드 수입금액 - case COUPON_SALE_INCOME : return getStringInLine(record, 250, 259); // 경차정액권 판매금액 - case OVERCOUPON_CNT : return getStringInLine(record, 259, 264); // 경차과잉쿠폰 매수 - case COUPON_RET_CNT : return getStringInLine(record, 264, 269); // 경차과잉쿠폰 반납매수 - case NOTE_Q : return getStringInLine(record, 269, 274); // 경차 수기 통행량 - case K_NOTE_INCOME : return getStringInLine(record, 274, 283); // 경차 수기 수입금액 - case REPAY_CNT : return getStringInLine(record, 283, 288); // 환불건수 - case REPAY_AMOUNT : return getStringInLine(record, 288, 297); // 환불금액 - case C_AMPM : return getStringInLine(record, 297, 298); // 오전/오후구분 - case OTHER_SEQNO : return getStringInLine(record, 298, 299); // 중복방지번호 - case SALE_CARD_Q : return getStringInLine(record, 299, 302); // 일반정액권카드판매권수 - case SALE_CARD_M : return getStringInLine(record, 302, 310); // 일반정액권카드판매금액 - case K_SALE_CARD_Q : return getStringInLine(record, 310, 313); // 경차정액권카드판매권수 - case K_SALE_CARD_M : return getStringInLine(record, 313, 321); // 경차정액권카드판매금액 - case RESERVED : return getStringInLine(record, 321, 329); // Filler - case E_MARK : return getStringInLine(record, 329, 330); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } - -} diff --git a/src/main/java/center/data/format/CollectorDataRecord.java b/src/main/java/center/data/format/CollectorDataRecord.java deleted file mode 100644 index eed6536..0000000 --- a/src/main/java/center/data/format/CollectorDataRecord.java +++ /dev/null @@ -1,76 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 징수원정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class CollectorDataRecord extends Record { - private int RECORD_LEN = 250; // 레코드 길이 - - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SEQNO = 4; // 일련번호 - public static final int WORKER_ID = 5; // 징수원 ID - public static final int WORKER_SEQNO = 6; // 징수원번호 - public static final int PASSWORD = 7; // 패스워드 - public static final int WORKER_NAME = 8; // 징수원명 - public static final int SHIFT = 9; // SHIFT - public static final int RESIDENT_NO = 10; // 주민번호 - public static final int TEL_NO = 11; // 전화번호 - public static final int PCS_NO = 12; // 핸드폰번호 - public static final int POST_NO1 = 13; // 우편번호1 - public static final int POST_NO2 = 14; // 우편번호2 - public static final int ADDRESS_NAME = 15; // 주소 - public static final int ADDRESS_NUMBER = 16; // 주소번지 - public static final int OFFICE_NAME = 17; // 근무회사명 - public static final int WORK_END_YN = 18; // 근무완료여부 - public static final int IUD_KBN = 19; // 입력/수정여부 - public static final int RESERVED = 20; // Filler - public static final int E_MARK = 21; // 종료표시 - /** - * Counstructor - * @param record - */ - public CollectorDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SEQNO : return getStringInLine(record, 17, 20); // 일련번호 - case WORKER_ID : return getStringInLine(record, 20, 26); // 징수원 ID - case WORKER_SEQNO : return getStringInLine(record, 26, 28); // 징수원번호 - case PASSWORD : return getStringInLine(record, 28, 36); // 패스워드 - case WORKER_NAME : return getStringInLine(record, 36, 46); // 징수원명 - case SHIFT : return getStringInLine(record, 46, 47); // SHIFT - case RESIDENT_NO : return getStringInLine(record, 47, 60); // 주민번호 - case TEL_NO : return getStringInLine(record, 60, 75); // 전화번호 - case PCS_NO : return getStringInLine(record, 75, 90); // 핸드폰번호 - case POST_NO1 : return getStringInLine(record, 90, 94); // 우편번호1 - case POST_NO2 : return getStringInLine(record, 94, 98); // 우편번호2 - case ADDRESS_NAME : return getStringInLine(record, 98, 158); // 주소 - case ADDRESS_NUMBER : return getStringInLine(record,158, 198); // 주소번지 - case OFFICE_NAME : return getStringInLine(record,198, 238); // 근무회사명 - case WORK_END_YN : return getStringInLine(record,238, 239); // 근무완료여부 - case IUD_KBN : return getStringInLine(record,239, 240); // 입력/수정여부 - case RESERVED : return getStringInLine(record,240, 249); // Filler - case E_MARK : return getStringInLine(record,249, 250); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/CpnDisuseDataRecord.java b/src/main/java/center/data/format/CpnDisuseDataRecord.java deleted file mode 100644 index 95b1e9e..0000000 --- a/src/main/java/center/data/format/CpnDisuseDataRecord.java +++ /dev/null @@ -1,69 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 쿠폰폐기정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class CpnDisuseDataRecord extends Record { - private int RECORD_LEN = 200; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SEQNO = 4; // 일련번호 - public static final int FARE_OFFICE_ID = 5; // 요금소코드 - public static final int DISUSE_DATE = 6; // 폐기일자 - public static final int DISUSE_SEQNO = 7; // 일련번호 - public static final int COUPON_KBN = 8; // 쿠폰구분 - public static final int FARE_YEAR = 9; // 년도 - public static final int FARE_MONTH = 10; // 월 - public static final int FARE_DAY = 11; // 일 - public static final int COUPON_COUNT = 12; // 쿠폰매수 - public static final int DISUSE_PERSON = 13; // 폐기자 - public static final int DISUSE_COUNT = 14; // 폐기매수 - public static final int K_COUPON_CNT = 15; // 경차쿠폰매수 - public static final int K_DISUSE_CNT = 16; // 경차폐기매수 - public static final int RESERVED = 17; // Filler - public static final int E_MARK = 18; // 종료표시 - /** - * Counstructor - * @param record - */ - public CpnDisuseDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SEQNO : return getStringInLine(record, 17, 20); // 일련번호 - case FARE_OFFICE_ID : return getStringInLine(record, 20, 22); // 요금소코드 - case DISUSE_DATE : return getStringInLine(record, 22, 30); // 폐기일자 - case DISUSE_SEQNO : return getStringInLine(record, 30, 32); // 일련번호 - case COUPON_KBN : return getStringInLine(record, 32, 33); // 쿠폰구분 - case FARE_YEAR : return getStringInLine(record, 33, 37); // 년도 - case FARE_MONTH : return getStringInLine(record, 37, 39); // 월 - case FARE_DAY : return getStringInLine(record, 39, 41); // 일 - case COUPON_COUNT : return getStringInLine(record, 41, 46); // 쿠폰매수 - case DISUSE_PERSON : return getStringInLine(record, 46, 56); // 폐기자 - case DISUSE_COUNT : return getStringInLine(record, 56, 61); // 폐기매수 - case K_COUPON_CNT : return getStringInLine(record, 61, 66); // 경차쿠폰매수 - case K_DISUSE_CNT : return getStringInLine(record, 66, 71); // 경차폐기매수 - case RESERVED : return getStringInLine(record, 71, 199); // Filler - case E_MARK : return getStringInLine(record, 199, 200); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/FareTermDataRecord.java b/src/main/java/center/data/format/FareTermDataRecord.java deleted file mode 100644 index 87c644e..0000000 --- a/src/main/java/center/data/format/FareTermDataRecord.java +++ /dev/null @@ -1,119 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 요금단말정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class FareTermDataRecord extends Record { - private int RECORD_LEN = 380; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SEQNO1 = 4; // 일련번호 - public static final int WORKER_ID = 5; // 징수원ID - public static final int FARE_OFFICE_ID = 6; // 요금소코드 - public static final int BOOTH_ID = 7; // 차로코드 - public static final int YEAR = 8; // 년도 - public static final int MONTH = 9; // 월 - public static final int DAY = 10; // 일 - public static final int WORK_TIMES = 11; // 통행시간 - public static final int SEQNO = 12; // 일련번호 - public static final int ENFORCE_DATE = 13; // 시행일자 - public static final int CAR_TYPE_ID = 14; // 차종코드 - public static final int STT_DATE = 15; // 시작일자 - public static final int COLLECT_ID = 16; // 징수유형코드 - public static final int CARD_ISSUE_ID = 17; // 발행사코드 - public static final int WORK_STT_TIME = 18; // 근무시작시간 - public static final int WORK_END_TIME = 19; // 근무종료시간 - public static final int IN_OUT_KBN = 20; // 유출입구분 - public static final int LEVY_AMOUNT = 21; // 징수금액 - public static final int READING_ID = 22; // 판독구분코드 - public static final int FOREIGN_CARS_KBN = 23; // 외국인차량구분 - public static final int ARMY_CARS_KBN = 24; // 미군용차량구분 - public static final int CARS_MOVE_PICTURE_FILE = 25; // 동영상파일명 - public static final int CARS_STOP_PICTURE_FILE = 26; // 정지영상파일명 - public static final int CAR_NO = 27; // 차량번호 - public static final int READER = 28; // 판독자 ID - public static final int READING_DATE = 29; // 판독일자 - public static final int REMARKS = 30; // 비고 - public static final int X_POSITION = 31; // 번호판 X좌표 - public static final int Y_POSITION = 32; // 번호판 Y좌표 - public static final int GARO_LEN = 33; // 번호판 가로길이 - public static final int SERO_LEN = 34; // 번호판 세로길이 - public static final int NOTE_TRANS_YN = 35; // 수기통행여부 - public static final int NEW_DATA_YN = 36; // 입력여부 - public static final int NOTE_INPUT_REMARKS = 37; // 수기입력사유 - public static final int DELETE_YN = 38; // 삭제여부 - public static final int OTHER_SEQNO = 39; // 중복방지번호 - public static final int URGENT_KBN = 40; // 비상데이터구분 - public static final int RESERVED = 41; // Filler - public static final int E_MARK = 42; // 종료표시 - /** - * Counstructor - * @param record - */ - public FareTermDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SEQNO1 : return getStringInLine(record, 17, 20); // 일련번호 - case WORKER_ID : return getStringInLine(record, 24, 26) + getStringInLine(record, 20, 24); - // 징수원ID - case FARE_OFFICE_ID : return getStringInLine(record, 24, 26); // 요금소코드 - case BOOTH_ID : return getStringInLine(record, 26, 28); // 차로코드 - case YEAR : return getStringInLine(record, 28, 32); // 년도 - case MONTH : return getStringInLine(record, 32, 34); // 월 - case DAY : return getStringInLine(record, 34, 36); // 일 - case WORK_TIMES : return getStringInLine(record, 36, 42); // 통행시간 - case SEQNO : return getStringInLine(record, 42, 51); // 일련번호 - case ENFORCE_DATE : return getStringInLine(record, 51, 59); // 시행일자 - case CAR_TYPE_ID : return getStringInLine(record, 59, 60); // 차종코드 - case STT_DATE : return getStringInLine(record, 60, 68); // 시작일자 - case COLLECT_ID : return getStringInLine(record, 68, 70); // 징수유형코드 - case CARD_ISSUE_ID : return getStringInLine(record, 70, 77); // 발행사코드 - case WORK_STT_TIME : return getStringInLine(record, 77, 83); // 근무시작시간 - case WORK_END_TIME : return getStringInLine(record, 83, 89); // 근무종료시간 - case IN_OUT_KBN : return getStringInLine(record, 89, 90); // 유출입구분 - case LEVY_AMOUNT : return getStringInLine(record, 90, 98); // 징수금액 - case READING_ID : return getStringInLine(record, 98, 100); // 판독구분코드 - case FOREIGN_CARS_KBN : return getStringInLine(record, 100, 101); // 외국인차량구분 - case ARMY_CARS_KBN : return getStringInLine(record, 101, 102); // 미군용차량구분 - case CARS_MOVE_PICTURE_FILE : return getStringInLine(record, 102, 152); // 동영상파일명 - case CARS_STOP_PICTURE_FILE : return getStringInLine(record, 152, 202); // 정지영상파일명 - case CAR_NO : return getStringInLine(record, 202, 222); // 차량번호 - case READER : return getStringInLine(record, 222, 228); // 판독자 ID - case READING_DATE : return getStringInLine(record, 228, 236); // 판독일자 - case REMARKS : return getStringInLine(record, 236, 296); // 비고 - case X_POSITION : return getStringInLine(record, 296, 299); // 번호판 X좌표 - case Y_POSITION : return getStringInLine(record, 299, 302); // 번호판 Y좌표 - case GARO_LEN : return getStringInLine(record, 302, 305); // 번호판 가로길이 - case SERO_LEN : return getStringInLine(record, 305, 308); // 번호판 세로길이 - case NOTE_TRANS_YN : return getStringInLine(record, 308, 309); // 수기통행여부 - case NEW_DATA_YN : return getStringInLine(record, 309, 310); // 입력여부 - case NOTE_INPUT_REMARKS : return getStringInLine(record, 310, 370); // 수기입력사유 - case DELETE_YN : return getStringInLine(record, 370, 371); // 삭제여부 - case OTHER_SEQNO : return getStringInLine(record, 371, 372); // 중복방지번호 - case URGENT_KBN : return getStringInLine(record, 372, 373); // 비상데이터구분 - case RESERVED : return getStringInLine(record, 372, 379); // Filler - case E_MARK : return getStringInLine(record, 379, 380); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } - -} diff --git a/src/main/java/center/data/format/FareTermUpdDataRecord.java b/src/main/java/center/data/format/FareTermUpdDataRecord.java deleted file mode 100644 index be4ee25..0000000 --- a/src/main/java/center/data/format/FareTermUpdDataRecord.java +++ /dev/null @@ -1,70 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 요금단말 변경정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class FareTermUpdDataRecord extends Record { - private int RECORD_LEN = 200; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SEQNO1 = 4; // 일련번호 - public static final int WORKER_ID = 5; // 징수원ID - public static final int FARE_OFFICE_ID = 6; // 요금소코드 - public static final int BOOTH_ID = 7; // 차로코드 - public static final int YEAR = 8; // 년도 - public static final int MONTH = 9; // 월 - public static final int DAY = 10; // 일 - public static final int WORK_TIMES = 11; // 통행시간 - public static final int SEQNO = 12; // 일련번호 - public static final int UPDATE_SEQNO = 13; // 이력일련번호 - public static final int UPDATE_HISTORY_DATE = 14; // 변경일자 - public static final int UPDATE_REASON = 15; // 변경사유 - public static final int COLLECT_ID = 16; // 수정 징수유형 - public static final int RESERVED = 17; // Filler - public static final int E_MARK = 18; // 종료표시 - /** - * Counstructor - * @param record - */ - public FareTermUpdDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SEQNO1 : return getStringInLine(record, 17, 20); // 일련번호 - case WORKER_ID : return getStringInLine(record, 24, 26) + getStringInLine(record, 20, 24); - // 징수원ID - case FARE_OFFICE_ID : return getStringInLine(record, 24, 26); // 요금소코드 - case BOOTH_ID : return getStringInLine(record, 26, 28); // 차로코드 - case YEAR : return getStringInLine(record, 28, 32); // 년도 - case MONTH : return getStringInLine(record, 32, 34); // 월 - case DAY : return getStringInLine(record, 34, 36); // 일 - case WORK_TIMES : return getStringInLine(record, 36, 42); // 통행시간 - case SEQNO : return getStringInLine(record, 42, 51); // 일련번호 - case UPDATE_SEQNO : return getStringInLine(record, 51, 54); // 이력일련번호 - case UPDATE_HISTORY_DATE : return getStringInLine(record, 54, 62); // 변경일자 - case UPDATE_REASON : return getStringInLine(record, 62, 182); // 변경사유 - case COLLECT_ID : return getStringInLine(record, 182, 184); // 수정 징수유형 - case RESERVED : return getStringInLine(record, 184, 199); // Filler - case E_MARK : return getStringInLine(record, 199, 200); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/FixTicketDataRecord.java b/src/main/java/center/data/format/FixTicketDataRecord.java deleted file mode 100644 index 0f19976..0000000 --- a/src/main/java/center/data/format/FixTicketDataRecord.java +++ /dev/null @@ -1,98 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 정액권 수불정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class FixTicketDataRecord extends Record { - - private int RECORD_LEN = 210; // 레코드 길이 - - public static final int H_S_MARK = 0; // 시작표시 - public static final int H_DATA_SEQNO1 = 1; // 자료번호 - public static final int H_DATA_TYPE = 2; // 자료구분 - public static final int H_DATA_SEQNO2 = 3; // 자료번호 - public static final int H_SEQNO1 = 4; // 일련번호 - public static final int H_FARE_OFFICE_ID = 5; // 요금소코드 - public static final int H_YEAR = 6; // 년도 - public static final int H_MONTH = 7; // 월 - public static final int H_DAY = 8; // 일 - public static final int H_IN_OUT_KBN = 9; // 수불구분 - public static final int H_IN_OUT_COUNT = 10; // 권수 - public static final int H_RESERVED = 11; // Filler - public static final int H_E_MARK = 12; // 종료표시 - public static final int D_S_MARK = 13; // 시작표시 - public static final int D_DATA_SEQNO1 = 14; // 자료번호 - public static final int D_DATA_TYPE = 15; // 자료구분 - public static final int D_DATA_SEQNO2 = 16; // 자료번호 - public static final int D_SEQNO1 = 17; // 일련번호 - public static final int D_FARE_OFFICE_ID = 18; // 요금소코드 - public static final int D_YEAR = 19; // 년도 - public static final int D_MONTH = 20; // 월 - public static final int D_DAY = 21; // 일 - public static final int D_IN_OUT_KBN = 22; // 수불구분 - public static final int D_SEQNO = 23; // 일련번호 - public static final int D_BOOTH_ID = 24; // 차로구분 - public static final int D_STT_SEQNO = 25; // Stt-일련번호 - public static final int D_END_SEQNO = 26; // End-일련번호 - public static final int D_IN_OUT_COUNT = 27; // 권수 - public static final int D_REMARKS = 28; // 반납사유 - public static final int D_DAY_END_PROCESS_FLAG = 29; // 일마감 - public static final int D_RESERVED = 30; // Filler - public static final int D_E_MARK = 31; // 종료표시 - - /** - * Counstructor - * @param record - */ - public FixTicketDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case H_S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case H_DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case H_DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case H_DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case H_SEQNO1 : return getStringInLine(record, 17, 20); // 일련번호 - case H_FARE_OFFICE_ID : return getStringInLine(record, 20, 22); // 요금소코드 - case H_YEAR : return getStringInLine(record, 22, 26); // 년도 - case H_MONTH : return getStringInLine(record, 26, 28); // 월 - case H_DAY : return getStringInLine(record, 28, 30); // 일 - case H_IN_OUT_KBN : return getStringInLine(record, 30, 32); // 수불구분 - case H_IN_OUT_COUNT : return getStringInLine(record, 32, 35); // 권수 - case H_RESERVED : return getStringInLine(record, 35, 209); // Filler - case H_E_MARK : return getStringInLine(record, 209, 210); // 종료표시 - case D_S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case D_DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case D_DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case D_DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case D_SEQNO1 : return getStringInLine(record, 17, 20); // 일련번호 - case D_FARE_OFFICE_ID : return getStringInLine(record, 20, 22); // 요금소코드 - case D_YEAR : return getStringInLine(record, 22, 26); // 년도 - case D_MONTH : return getStringInLine(record, 26, 28); // 월 - case D_DAY : return getStringInLine(record, 28, 30); // 일 - case D_IN_OUT_KBN : return getStringInLine(record, 30, 32); // 수불구분 - case D_SEQNO : return getStringInLine(record, 32, 35); // 일련번호 - case D_BOOTH_ID : return getStringInLine(record, 35, 37); // 차로구분 - case D_STT_SEQNO : return getStringInLine(record, 37, 57); // Stt-일련번호 - case D_END_SEQNO : return getStringInLine(record, 57, 77); // End-일련번호 - case D_IN_OUT_COUNT : return getStringInLine(record, 77, 81); // 권수 - case D_REMARKS : return getStringInLine(record, 81, 201); // 반납사유 - case D_DAY_END_PROCESS_FLAG : return getStringInLine(record, 201, 202); // 일마감 - case D_RESERVED : return getStringInLine(record, 202, 209); // Filler - case D_E_MARK : return getStringInLine(record, 209, 210); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/InOutAmtDataRecord.java b/src/main/java/center/data/format/InOutAmtDataRecord.java deleted file mode 100644 index 3b5a0d7..0000000 --- a/src/main/java/center/data/format/InOutAmtDataRecord.java +++ /dev/null @@ -1,74 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 입출금정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class InOutAmtDataRecord extends Record { - private int RECORD_LEN = 250; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SEQNO1 = 4; // 일련번호 - public static final int WORKER_ID = 5; // 징수원ID - public static final int FARE_OFFICE_ID = 6; // 요금소코드 - public static final int BOOTH_ID = 7; // 차로코드 - public static final int YEAR = 8; // 년도 - public static final int MONTH = 9; // 월 - public static final int DAY = 10; // 일 - public static final int WORK_STT_TIME = 11; // 근무시작시간 - public static final int WORK_END_TIME = 12; // 근무종료시간 - public static final int IO_SEQNO = 13; // 일련번호 - public static final int IN_OUT_KBN = 14; // 입출금 구분 - public static final int IN_OUT_CONTENTS = 15; // 입출금 내역 - public static final int IN_OUT_AMOUNT = 16; // 입출금 금액 - public static final int DELETE_YN = 17; // 삭제여부 - public static final int REMARKS = 18; // 비고 - public static final int RESERVED = 19; // Filler - public static final int E_MARK = 20; // 종료표시 - /** - * Counstructor - * @param record - */ - public InOutAmtDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SEQNO1 : return getStringInLine(record, 17, 20); // 일련번호 - case WORKER_ID : return getStringInLine(record, 24, 26) + getStringInLine(record, 20, 24); - // 징수원ID - case FARE_OFFICE_ID : return getStringInLine(record, 24, 26); // 요금소코드 - case BOOTH_ID : return getStringInLine(record, 26, 28); // 차로코드 - case YEAR : return getStringInLine(record, 28, 32); // 년도 - case MONTH : return getStringInLine(record, 32, 34); // 월 - case DAY : return getStringInLine(record, 34, 36); // 일 - case WORK_STT_TIME : return getStringInLine(record, 36, 42); // 근무시작시간 - case WORK_END_TIME : return getStringInLine(record, 42, 48); // 근무종료시간 - case IO_SEQNO : return getStringInLine(record, 48, 50); // 일련번호 - case IN_OUT_KBN : return getStringInLine(record, 50, 51); // 입출금 구분 - case IN_OUT_CONTENTS : return getStringInLine(record, 51, 171); // 입출금 내역 - case IN_OUT_AMOUNT : return getStringInLine(record, 171, 180); // 입출금 금액 - case DELETE_YN : return getStringInLine(record, 180, 181); // 삭제여부 - case REMARKS : return getStringInLine(record, 181, 241); // 비고 - case RESERVED : return getStringInLine(record, 241, 249); // Filler - case E_MARK : return getStringInLine(record, 249, 250); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/IncomeInfoDataRecord.java b/src/main/java/center/data/format/IncomeInfoDataRecord.java deleted file mode 100644 index 9b6f18a..0000000 --- a/src/main/java/center/data/format/IncomeInfoDataRecord.java +++ /dev/null @@ -1,99 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 수입금정산정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class IncomeInfoDataRecord extends Record { - private int RECORD_LEN = 260; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int INCOME_SEQNO = 4; // 일련번호 - public static final int FARE_OFFICE_ID = 5; // 요금소코드 - public static final int INCOME_DATE = 6; // 정산일자 - public static final int INCOME_PART = 7; // 정산그룹 - public static final int CASH_QUANTITY = 8; // 현금 통행량 - public static final int CARD_BEFORE_QUANTITY = 9; // 선불카드 통행량 - public static final int CARD_AFTER_QUANTITY = 10; // 후불카드 통행량 - public static final int COUPON_QUANTITY = 11; // 쿠폰회수 통행량 - public static final int EXEMPTION_QUANTITY = 12; // 면제 통행량 - public static final int NONPAYMENT_QUANTITY = 13; // 미납 통행량 - public static final int COUPON_SALE_QUANTITY = 14; // 정액권 판매권수 - public static final int CASH_INCOME = 15; // 현금 수입금액 - public static final int COUPON_SALE_INCOME = 16; // 정액권 판매금액 - public static final int CUSTOM_NAME = 17; // 징수 회사명 - public static final int CUSTOM_PERSON = 18; // 징수 담당자명 - public static final int K_CASH_Q = 19; // 경차현금 통행량 - public static final int K_SUN_Q = 20; // 경차선불카드 통행량 - public static final int K_WHO_Q = 21; // 경차후불카드 통행량 - public static final int K_COUPON_Q = 22; // 경차쿠폰회수 통행량 - public static final int K_COUPON_SALE_Q = 23; // 경차정액권 판매권수 - public static final int K_CASH_INCOME = 24; // 경차현금 수입금액 - public static final int K_COUPON_SALE_INCOME = 25; // 경차정액권 판매금액 - public static final int REPAY_Q = 26; // 카드환불건수 - public static final int REPAY_M = 27; // 카드환불금액 - public static final int SALE_CARD_Q = 28; // 정액권카드판매권수 - public static final int SALE_CARD_M = 29; // 정액권카드판매금액 - public static final int K_SALE_CARD_Q = 30; // 경차정액권카드판매권수 - public static final int K_SALE_CARD_M = 31; // 경차정액권카드판매금액 - public static final int RESERVED = 32; // Filler - public static final int E_MARK = 33; // 종료표시 - /** - * Counstructor - * @param record - */ - public IncomeInfoDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case INCOME_SEQNO : return getStringInLine(record, 17, 20); // 일련번호 - case FARE_OFFICE_ID : return getStringInLine(record, 20, 22); // 요금소코드 - case INCOME_DATE : return getStringInLine(record, 22, 30); // 정산일자 - case INCOME_PART : return getStringInLine(record, 30, 31); // 정산그룹 - case CASH_QUANTITY : return getStringInLine(record, 31, 36); // 현금 통행량 - case CARD_BEFORE_QUANTITY : return getStringInLine(record, 36, 41); // 선불카드 통행량 - case CARD_AFTER_QUANTITY : return getStringInLine(record, 41, 46); // 후불카드 통행량 - case COUPON_QUANTITY : return getStringInLine(record, 46, 51); // 쿠폰회수 통행량 - case EXEMPTION_QUANTITY : return getStringInLine(record, 51, 56); // 면제 통행량 - case NONPAYMENT_QUANTITY : return getStringInLine(record, 56, 61); // 미납 통행량 - case COUPON_SALE_QUANTITY : return getStringInLine(record, 61, 66); // 정액권 판매권수 - case CASH_INCOME : return getStringInLine(record, 66, 75); // 현금 수입금액 - case COUPON_SALE_INCOME : return getStringInLine(record, 75, 84); // 정액권 판매금액 - case CUSTOM_NAME : return getStringInLine(record, 84, 114); // 징수 회사명 - case CUSTOM_PERSON : return getStringInLine(record, 114, 134); // 징수 담당자명 - case K_CASH_Q : return getStringInLine(record, 134, 139); // 경차현금 통행량 - case K_SUN_Q : return getStringInLine(record, 139, 144); // 경차선불카드 통행량 - case K_WHO_Q : return getStringInLine(record, 144, 149); // 경차후불카드 통행량 - case K_COUPON_Q : return getStringInLine(record, 149, 154); // 경차쿠폰회수 통행량 - case K_COUPON_SALE_Q : return getStringInLine(record, 154, 159); // 경차정액권 판매권수 - case K_CASH_INCOME : return getStringInLine(record, 159, 168); // 경차현금 수입금액 - case K_COUPON_SALE_INCOME : return getStringInLine(record, 168, 177); // 경차정액권 판매금액 - case REPAY_Q : return getStringInLine(record, 177, 186); // 카드환불건수 - case REPAY_M : return getStringInLine(record, 186, 201); // 카드환불금액 - case SALE_CARD_Q : return getStringInLine(record, 201, 210); // 정액권카드판매권수 - case SALE_CARD_M : return getStringInLine(record, 210, 225); // 정액권카드판매금액 - case K_SALE_CARD_Q : return getStringInLine(record, 225, 234); // 경차정액권카드판매권수 - case K_SALE_CARD_M : return getStringInLine(record, 234, 249); // 경차정액권카드판매금액 - case RESERVED : return getStringInLine(record, 249, 259); // Filler - case E_MARK : return getStringInLine(record, 259, 260); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/OverCouponDataRecord.java b/src/main/java/center/data/format/OverCouponDataRecord.java deleted file mode 100644 index d21a286..0000000 --- a/src/main/java/center/data/format/OverCouponDataRecord.java +++ /dev/null @@ -1,173 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 과잉쿠폰 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class OverCouponDataRecord extends Record { - private int RECORD_LEN = 280; // 레코드 길이 - - public static final int H_S_MARK = 0; // 시작표시 - public static final int H_DATA_SEQNO1 = 1; // 자료번호 - public static final int H_DATA_TYPE = 2; // 자료구분 - public static final int H_DATA_SEQNO2 = 3; // 자료번호 - public static final int H_SEQNO1 = 4; // 일련번호 - public static final int H_WORKER_ID = 5; // 징수원ID - public static final int H_FARE_OFFICE_ID = 6; // 요금소코드 - public static final int H_BOOTH_ID = 7; // 차로코드 - public static final int H_YEAR = 8; // 년도 - public static final int H_MONTH = 9; // 월 - public static final int H_DAY = 10; // 일 - public static final int H_WORK_STT_TIME = 11; // 근무시작시간 - public static final int H_WORK_END_TIME = 12; // 근무종료시간 - public static final int H_OVERCOUPON_COUNT = 13; // 과잉쿠폰 매수 - public static final int H_COUPON_RETURN_COUNT = 14; // 반환쿠폰 매수 - public static final int H_COUPON_DISUSE_COUNT = 15; // 폐기쿠폰 매수 - public static final int H_K_OVERCOUPON_CNT = 16; // 경차 과잉쿠폰 매수 - public static final int H_K_COUPON_RET_CNT = 17; // 경차 반환쿠폰 매수 - public static final int H_K_COUPON_DISUSE_CNT = 18; // 경차 폐기쿠폰 매수 - public static final int H_RESERVED = 19; // Filler - public static final int H_E_MARK = 20; // 종료표시 - public static final int D_S_MARK = 21; // 시작표시 - public static final int D_DATA_SEQNO1 = 22; // 자료번호 - public static final int D_DATA_TYPE = 23; // 자료구분 - public static final int D_DATA_SEQNO2 = 24; // 자료번호 - public static final int D_SEQNO1 = 25; // 일련번호 - public static final int D_WORKER_ID = 26; // 징수원ID - public static final int D_FARE_OFFICE_ID = 27; // 요금소코드 - public static final int D_BOOTH_ID = 28; // 차로코드 - public static final int D_YEAR = 29; // 년도 - public static final int D_MONTH = 30; // 월 - public static final int D_DAY = 31; // 일 - public static final int D_WORK_STT_TIME = 32; // 근무시작시간 - public static final int D_WORK_END_TIME = 33; // 근무종료시간 - public static final int D_SEQNO = 34; // 일련번호 - public static final int D_FARE_TIME = 35; // 징수시간 - public static final int D_OVER_KBN = 36; // 과잉구분 - public static final int D_COUPON_COUNT = 37; // 쿠폰매수 - public static final int D_CAR_NO = 38; // 차량번호 - public static final int D_CARS_TYPE_NAME = 39; // 차종명 - public static final int D_OWNER = 40; // 수령자 - public static final int D_TEL_NO = 41; // 수령자 연락번호 - public static final int D_REMARKS = 42; // 비고 - public static final int D_INPUT_KBN = 43; // 입력여부 - public static final int D_COUPON_NO = 44; // 쿠폰번호 - public static final int D_RETURN_DATE = 45; // 반환일자 - public static final int D_RETURN_PERSON = 46; // 반환자 - public static final int D_DELETE_YN = 47; // 삭제여부 - public static final int D_C_REPAY_KBN = 48; // 경차구분 - public static final int D_RESERVED = 49; // Filler - public static final int D_E_MARK = 50; // 종료표시 - public static final int C_S_MARK = 51; // 시작표시 - public static final int C_DATA_SEQNO1 = 52; // 자료번호 - public static final int C_DATA_TYPE = 53; // 자료구분 - public static final int C_DATA_SEQNO2 = 54; // 자료번호 - public static final int C_SEQNO1 = 55; // 일련번호 - public static final int C_WORKER_ID = 56; // 징수원ID - public static final int C_FARE_OFFICE_ID = 57; // 요금소코드 - public static final int C_BOOTH_ID = 58; // 차로코드 - public static final int C_YEAR = 59; // 년도 - public static final int C_MONTH = 60; // 월 - public static final int C_DAY = 61; // 일 - public static final int C_WORK_STT_TIME = 62; // 근무시작시간 - public static final int C_WORK_END_TIME = 63; // 근무종료시간 - public static final int C_SEQNO = 64; // 일련번호 - public static final int C_COUPON_NO = 65; // 쿠폰번호 - public static final int C_MINI_CAR_KBN = 66; // 경차구분 - public static final int C_RESERVED = 67; // Filler - public static final int C_E_MARK = 68; // 종료표시 - - /** - * Counstructor - * @param record - */ - public OverCouponDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - - case H_S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case H_DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case H_DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case H_DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case H_SEQNO1 : return getStringInLine(record, 17, 20); // 일련번호 - case H_WORKER_ID : return getStringInLine(record, 20, 26); // 징수원ID - case H_FARE_OFFICE_ID : return getStringInLine(record, 26, 28); // 요금소코드 - case H_BOOTH_ID : return getStringInLine(record, 28, 30); // 차로코드 - case H_YEAR : return getStringInLine(record, 30, 34); // 년도 - case H_MONTH : return getStringInLine(record, 34, 36); // 월 - case H_DAY : return getStringInLine(record, 36, 38); // 일 - case H_WORK_STT_TIME : return getStringInLine(record, 38, 44); // 근무시작시간 - case H_WORK_END_TIME : return getStringInLine(record, 44, 50); // 근무종료시간 - case H_OVERCOUPON_COUNT : return getStringInLine(record, 50, 55); // 과잉쿠폰 매수 - case H_COUPON_RETURN_COUNT : return getStringInLine(record, 55, 60); // 반환쿠폰 매수 - case H_COUPON_DISUSE_COUNT : return getStringInLine(record, 60, 65); // 폐기쿠폰 매수 - case H_K_OVERCOUPON_CNT : return getStringInLine(record, 65, 70); // 경차 과잉쿠폰 매수 - case H_K_COUPON_RET_CNT : return getStringInLine(record, 70, 75); // 경차 반환쿠폰 매수 - case H_K_COUPON_DISUSE_CNT : return getStringInLine(record, 75, 80); // 경차 폐기쿠폰 매수 - case H_RESERVED : return getStringInLine(record, 80, 279); // Filler - case H_E_MARK : return getStringInLine(record, 279, 280); // 종료표시 - case D_S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case D_DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case D_DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case D_DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case D_SEQNO1 : return getStringInLine(record, 17, 20); // 일련번호 - case D_WORKER_ID : return getStringInLine(record, 20, 26); // 징수원ID - case D_FARE_OFFICE_ID : return getStringInLine(record, 26, 28); // 요금소코드 - case D_BOOTH_ID : return getStringInLine(record, 28, 30); // 차로코드 - case D_YEAR : return getStringInLine(record, 30, 34); // 년도 - case D_MONTH : return getStringInLine(record, 34, 36); // 월 - case D_DAY : return getStringInLine(record, 36, 38); // 일 - case D_WORK_STT_TIME : return getStringInLine(record, 38, 44); // 근무시작시간 - case D_WORK_END_TIME : return getStringInLine(record, 44, 50); // 근무종료시간 - case D_SEQNO : return getStringInLine(record, 50, 52); // 일련번호 - case D_FARE_TIME : return getStringInLine(record, 52, 58); // 징수시간 - case D_OVER_KBN : return getStringInLine(record, 58, 59); // 과잉구분 - case D_COUPON_COUNT : return getStringInLine(record, 59, 64); // 쿠폰매수 - case D_CAR_NO : return getStringInLine(record, 64, 84); // 차량번호 - case D_CARS_TYPE_NAME : return getStringInLine(record, 84, 124); // 차종명 - case D_OWNER : return getStringInLine(record, 124, 154); // 수령자 - case D_TEL_NO : return getStringInLine(record, 154, 169); // 수령자 연락번호 - case D_REMARKS : return getStringInLine(record, 169, 229); // 비고 - case D_INPUT_KBN : return getStringInLine(record, 229, 230); // 입력여부 - case D_COUPON_NO : return getStringInLine(record, 230, 250); // 쿠폰번호 - case D_RETURN_DATE : return getStringInLine(record, 250, 258); // 반환일자 - case D_RETURN_PERSON : return getStringInLine(record, 258, 268); // 반환자 - case D_DELETE_YN : return getStringInLine(record, 268, 269); // 삭제여부 - case D_C_REPAY_KBN : return getStringInLine(record, 269, 270); // 경차구분 - case D_RESERVED : return getStringInLine(record, 270, 279); // Filler - case D_E_MARK : return getStringInLine(record, 279, 280); // 종료표시 - case C_S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case C_DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case C_DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case C_DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case C_SEQNO1 : return getStringInLine(record, 17, 20); // 일련번호 - case C_WORKER_ID : return getStringInLine(record, 20, 26); // 징수원ID - case C_FARE_OFFICE_ID : return getStringInLine(record, 26, 28); // 요금소코드 - case C_BOOTH_ID : return getStringInLine(record, 28, 30); // 차로코드 - case C_YEAR : return getStringInLine(record, 30, 34); // 년도 - case C_MONTH : return getStringInLine(record, 34, 36); // 월 - case C_DAY : return getStringInLine(record, 36, 38); // 일 - case C_WORK_STT_TIME : return getStringInLine(record, 38, 44); // 근무시작시간 - case C_WORK_END_TIME : return getStringInLine(record, 44, 50); // 근무종료시간 - case C_SEQNO : return getStringInLine(record, 50, 52); // 일련번호 - case C_COUPON_NO : return getStringInLine(record, 52, 72); // 쿠폰번호 - case C_MINI_CAR_KBN : return getStringInLine(record, 72, 73); // 경차구분 - case C_RESERVED : return getStringInLine(record, 73, 279); // Filler - case C_E_MARK : return getStringInLine(record, 279, 280); // 종료표시 - - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/OverFareDataRecord.java b/src/main/java/center/data/format/OverFareDataRecord.java deleted file mode 100644 index 54c9970..0000000 --- a/src/main/java/center/data/format/OverFareDataRecord.java +++ /dev/null @@ -1,104 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 과오납 정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class OverFareDataRecord extends Record { - private int RECORD_LEN = 280; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SERIAL_NO1 = 4; // 일련번호 - public static final int WORKER_ID = 5; // 징수원ID - public static final int FARE_OFFICE_ID = 6; // 요금소코드 - public static final int BOOTH_ID = 7; // 차로코드 - public static final int YEAR = 8; // 년도 - public static final int MONTH = 9; // 월 - public static final int DAY = 10; // 일 - public static final int WORK_STT_TIME = 11; // 근무시작시간 - public static final int WORK_END_TIME = 12; // 근무종료시간 - public static final int OVERFARE_SEQNO = 13; // 일련번호 - public static final int OWNER = 14; // 소유주 - public static final int CARS_NO = 15; // 차량번호 - public static final int RESIDENT_NO = 16; // 주민번호 - public static final int RESIDENT_DATE = 17; // 차량등록일자 - public static final int OVERFARE_TIMES = 18; // 통행시간 - public static final int OVERFARE_KBN = 19; // 과오납 구분 - public static final int OVERFARE_AMOUNT = 20; // 과오납 금액 - public static final int REMARKS = 21; // 비고 - public static final int REFUND_KBN = 22; // 환급 구분 - public static final int REFUND_WORKER_ID = 23; // 환급 징수원 ID - public static final int REFUND_FARE_OFFICE_ID = 24; // 환급 요금소 코드 - public static final int REFUND_BOOTH_ID = 25; // 환급 차로 코드 - public static final int REFUND_YEAR = 26; // 환급 년도 - public static final int REFUND_MONTH = 27; // 환급 월 - public static final int REFUND_DAY = 28; // 환급 일 - public static final int REFUND_TIMES = 29; // 환급 시간 - public static final int REFUND_OWNER = 30; // 환급 수령자 - public static final int REFUND_COMMUMI = 31; // 환급 연락처 - public static final int PROCESS_KBN = 32; // 집계처리구분 - public static final int DELETE_YN = 33; // 삭제여부 - public static final int RESERVED = 34; // Filler - public static final int E_MARK = 35; // 종료표시 - /** - * Counstructor - * @param record - */ - public OverFareDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SERIAL_NO1 : return getStringInLine(record, 17, 20); // 일련번호 - case WORKER_ID : return getStringInLine(record, 24, 26) + getStringInLine(record, 20, 24); - // 징수원ID - case FARE_OFFICE_ID : return getStringInLine(record, 24, 26); // 요금소코드 - case BOOTH_ID : return getStringInLine(record, 26, 28); // 차로코드 - case YEAR : return getStringInLine(record, 28, 32); // 년도 - case MONTH : return getStringInLine(record, 32, 34); // 월 - case DAY : return getStringInLine(record, 34, 36); // 일 - case WORK_STT_TIME : return getStringInLine(record, 36, 42); // 근무시작시간 - case WORK_END_TIME : return getStringInLine(record, 42, 48); // 근무종료시간 - case OVERFARE_SEQNO : return getStringInLine(record, 48, 50); // 일련번호 - case OWNER : return getStringInLine(record, 50, 80); // 소유주 - case CARS_NO : return getStringInLine(record, 80, 100); // 차량번호 - case RESIDENT_NO : return getStringInLine(record, 100, 113); // 주민번호 - case RESIDENT_DATE : return getStringInLine(record, 113, 121); // 차량등록일자 - case OVERFARE_TIMES : return getStringInLine(record, 121, 127); // 통행시간 - case OVERFARE_KBN : return getStringInLine(record, 127, 128); // 과오납 구분 - case OVERFARE_AMOUNT : return getStringInLine(record, 128, 133); // 과오납 금액 - case REMARKS : return getStringInLine(record, 133, 193); // 비고 - case REFUND_KBN : return getStringInLine(record, 193, 194); // 환급 구분 - case REFUND_WORKER_ID : return getStringInLine(record, 194, 200); // 환급 징수원 ID - case REFUND_FARE_OFFICE_ID : return getStringInLine(record, 200, 202); // 환급 요금소 코드 - case REFUND_BOOTH_ID : return getStringInLine(record, 202, 204); // 환급 차로 코드 - case REFUND_YEAR : return getStringInLine(record, 204, 208); // 환급 년도 - case REFUND_MONTH : return getStringInLine(record, 208, 210); // 환급 월 - case REFUND_DAY : return getStringInLine(record, 210, 212); // 환급 일 - case REFUND_TIMES : return getStringInLine(record, 212, 216); // 환급 시간 - case REFUND_OWNER : return getStringInLine(record, 216, 246); // 환급 수령자 - case REFUND_COMMUMI : return getStringInLine(record, 246, 276); // 환급 연락처 - case PROCESS_KBN : return getStringInLine(record, 276, 277); // 집계처리구분 - case DELETE_YN : return getStringInLine(record, 277, 278); // 삭제여부 - case RESERVED : return getStringInLine(record, 278, 279); // Filler - case E_MARK : return getStringInLine(record, 279, 280); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/RepayInfoDataRecord.java b/src/main/java/center/data/format/RepayInfoDataRecord.java deleted file mode 100644 index 65b77a3..0000000 --- a/src/main/java/center/data/format/RepayInfoDataRecord.java +++ /dev/null @@ -1,85 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 카드환불 정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class RepayInfoDataRecord extends Record { - private int RECORD_LEN = 170; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SEQNO = 4; // 일련번호 - public static final int WORKER_ID = 5; // 징수원 ID - public static final int FARE_OFFICE_ID = 6; // 요금소 코드 - public static final int BOOTH_ID = 7; // 차로 코드 - public static final int YEAR = 8; // 년도 - public static final int MONTH = 9; // 월 - public static final int DAY = 10; // 일 - public static final int WORK_TIMES = 11; // 통행시간 - public static final int DATA_SEQNO3 = 12; // 일련번호 - public static final int CAR_TYPE_ID = 13; // 차종코드 - public static final int COLLECT_ID = 14; // 징수유형 코드 - public static final int WORK_STT_TIME = 15; // 근무 시작시간 - public static final int WORK_END_TIME = 16; // 근무 종료시간 - public static final int IN_OUT_KBN = 17; // 유출입구분 - public static final int LEVY_AMOUNT = 18; // 징수금액 - public static final int CAR_NO = 19; // 차량번호 - public static final int DAY_END_FLAG = 20; // 일마감 Flag - public static final int MONTH_END_FLAG = 21; // 월마감 Flag - public static final int NOTE_KBN = 22; // 수기통행여부 - public static final int NOTE_REMARKS = 23; // 수기입력사유 - public static final int REPAY_KBN = 24; // 환불여부 - public static final int RESERVED = 25; // Filler - public static final int E_MARK = 26; // 종료표시 - /** - * Counstructor - * @param record - */ - public RepayInfoDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SEQNO : return getStringInLine(record, 17, 20); // 일련번호 - case WORKER_ID : return getStringInLine(record, 20, 26); // 징수원 ID - case FARE_OFFICE_ID : return getStringInLine(record, 26, 28); // 요금소 코드 - case BOOTH_ID : return getStringInLine(record, 28, 30); // 차로 코드 - case YEAR : return getStringInLine(record, 30, 34); // 년도 - case MONTH : return getStringInLine(record, 34, 36); // 월 - case DAY : return getStringInLine(record, 36, 38); // 일 - case WORK_TIMES : return getStringInLine(record, 38, 44); // 통행시간 - case DATA_SEQNO3 : return getStringInLine(record, 44, 53); // 일련번호 - case CAR_TYPE_ID : return getStringInLine(record, 53, 54); // 차종코드 - case COLLECT_ID : return getStringInLine(record, 54, 56); // 징수유형 코드 - case WORK_STT_TIME : return getStringInLine(record, 56, 62); // 근무 시작시간 - case WORK_END_TIME : return getStringInLine(record, 62, 68); // 근무 종료시간 - case IN_OUT_KBN : return getStringInLine(record, 68, 69); // 유출입구분 - case LEVY_AMOUNT : return getStringInLine(record, 69, 75); // 징수금액 - case CAR_NO : return getStringInLine(record, 75, 95); // 차량번호 - case DAY_END_FLAG : return getStringInLine(record, 95, 96); // 일마감 Flag - case MONTH_END_FLAG : return getStringInLine(record, 96, 97); // 월마감 Flag - case NOTE_KBN : return getStringInLine(record, 97, 98); // 수기통행여부 - case NOTE_REMARKS : return getStringInLine(record, 98, 158); // 수기입력사유 - case REPAY_KBN : return getStringInLine(record, 158, 159); // 환불여부 - case RESERVED : return getStringInLine(record, 159, 169); // Filler - case E_MARK : return getStringInLine(record, 169, 170); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/RfidDataRecord.java b/src/main/java/center/data/format/RfidDataRecord.java deleted file mode 100644 index 0267ec5..0000000 --- a/src/main/java/center/data/format/RfidDataRecord.java +++ /dev/null @@ -1,81 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -import com.util.StringUtil; -/** - * RFID 승인정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2006-12-20 초기 작성 - */ -public class RfidDataRecord extends Record{ - public static final int RECORD_LEN = 53; // 레코드 길이 - public static final int RFID_TAG = 0; // 태그번호 - public static final int CAR_NO = 1; // 차량번호 - public static final int CAR_TYPE_KBN = 2; // 차량유형 - public static final int WEEK_WRONG_NO = 3; // 위반횟수 - public static final int DAMAGE_NO = 4; // 훼손횟수 - - private String sRfidTag, sCarNo, sCarTypeKbn, nWeekWrongNo, sDamageNo; - /** - * Constructor - * @param record - */ - public RfidDataRecord(String record){ - this.record = record; - } - /** - * Constructor - * @param sRfidTag - * @param sCarNo - * @param sCarTypeKbn - * @param nWeekWrongNo - * @param nDamageNo - */ - public RfidDataRecord(String sRfidTag,String sCarNo, String sCarTypeKbn, int nWeekWrongNo, int nDamageNo){ - this.sRfidTag = sRfidTag; - this.sCarNo = StringUtil.justify(StringUtil.LEFT ,sCarNo," ",15); - this.sCarTypeKbn = sCarTypeKbn; - this.nWeekWrongNo = StringUtil.justify(StringUtil.RIGHT,""+nWeekWrongNo,"0",5); - this.sDamageNo = StringUtil.justify(StringUtil.RIGHT,""+nDamageNo,"0",5); - } - /** - * 레코드 정보를 String으로 return - * @return String - * @throws IllegalRecordException - */ - @Override - public String getRecord() throws IllegalRecordException{ - String result - = new StringBuffer(sRfidTag ) // - .append(sCarNo ) // - .append(sCarTypeKbn ) // - .append(nWeekWrongNo) // - .append(sDamageNo ) // - .toString(); - - if(checkLength(result, RECORD_LEN)){ - return result; - }else{ - throw new IllegalRecordException( - "Cannot create DATA record : [" + result.length() + "] " + result); - } - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case RFID_TAG : return getStringInLine(record, 0,24); - case CAR_NO : return getStringInLine(record,24,39).trim(); - case CAR_TYPE_KBN : return getStringInLine(record,39,43); - case WEEK_WRONG_NO : return getStringInLine(record,43,48); - case DAMAGE_NO : return getStringInLine(record,48,53); - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/RfidUseDataRecord.java b/src/main/java/center/data/format/RfidUseDataRecord.java deleted file mode 100644 index f8e6772..0000000 --- a/src/main/java/center/data/format/RfidUseDataRecord.java +++ /dev/null @@ -1,104 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -import com.util.StringUtil; -/** - * RFID 사용정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class RfidUseDataRecord extends Record{ - public static final int DATA_TYPE = 99; // - public static final int WORKER_ID = 0; // 징수원ID(요금소코드(2)+징수원ID(4)) - public static final int FARE_OFFICE_ID = 1; // 요금소코드(01:1호터널,03:3호터널) - public static final int BOOTH_ID = 2; // 차로코드(01~10) - public static final int YEAR = 3; // 통행년도 - public static final int MONTH = 4; // 통행월 - public static final int DAY = 5; // 통행일 - public static final int WORK_TIMES = 6; // 통행시간 - public static final int SEQNO = 7; // Number - public static final int RFID_KBN = 8; // RFID구분 - public static final int RFID_TAG1 = 9; // 태그번호1 - public static final int RFID_TAG2 = 10; // 태그번호2 - - protected static final int RECORD_LEN = 84; - String sDataType, sWorkerID, sFareOfficeID, sBoothID, sYear, sMonth, sDay, sWorkTimes, nSeqNo, sRfidKbn, sRfidTag1, sRfidTag2; - /** - * 생성자 - * @param record - */ - public RfidUseDataRecord(String record){ - this.record = record; - } - /** - * 생성자 - * @param sWorkerID - * @param sFareOfficeID - * @param sBoothID - * @param sYear - * @param sMonth - * @param sDay - * @param sWorkTimes - * @param nSeqNo - * @param sRfidKbn - * @param sRfidTag1 - * @param sRfidTag2 - */ - public RfidUseDataRecord(String sDataType,String sWorkerID, String sFareOfficeID, - String sBoothID,String sYear, String sMonth, String sDay, String sWorkTimes, - int nSeqNo, String sRfidKbn, String sRfidTag1, String sRfidTag2){ - this.sDataType = sDataType ; - this.sWorkerID = sWorkerID ; - this.sFareOfficeID = sFareOfficeID ; - this.sBoothID = sBoothID ; - this.sYear = sYear ; - this.sMonth = sMonth ; - this.sDay = sDay ; - this.sWorkTimes = sWorkTimes ; - this.nSeqNo = StringUtil.justify(false, String.valueOf(nSeqNo), "0", 9); - this.sRfidKbn = sRfidKbn ; - this.sRfidTag1 = sRfidTag1 ; - this.sRfidTag2 = sRfidTag2 ; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case DATA_TYPE : return getStringInLine(record, 0, 1); // - case WORKER_ID : return getStringInLine(record, 1, 7); // 징수원ID - case FARE_OFFICE_ID : return getStringInLine(record, 7, 9); // 요금소코드 - case BOOTH_ID : return getStringInLine(record, 9,11); // 차로코드 - case YEAR : return getStringInLine(record,11,15); // 통행년도 - case MONTH : return getStringInLine(record,15,17); // 통행월 - case DAY : return getStringInLine(record,17,19); // 통행일 - case WORK_TIMES : return getStringInLine(record,19,25); // 통행시간 - case SEQNO : return getStringInLine(record,25,34); // Number - case RFID_KBN : return getStringInLine(record,34,36); // RFID구분 - case RFID_TAG1 : return getStringInLine(record,36,60); // 태그번호1 - case RFID_TAG2 : return getStringInLine(record,60,84); // 태그번호2 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } - /** - * 레코드 리턴 - * @return String - * @throws IllegalRecordException - */ - @Override - public String getRecord() throws IllegalRecordException{ - String result = sDataType +sWorkerID + sFareOfficeID + sBoothID + sYear + sMonth + sDay - + sWorkTimes + nSeqNo + sRfidKbn + sRfidTag1 + sRfidTag2; - if(checkLength(result, RECORD_LEN)){ - return result; - }else{ - throw new IllegalRecordException( - "Cannot create DATA record : [" + result.length() + "] " + result); - } - } -} diff --git a/src/main/java/center/data/format/TaxesInfoDataRecord.java b/src/main/java/center/data/format/TaxesInfoDataRecord.java deleted file mode 100644 index c149530..0000000 --- a/src/main/java/center/data/format/TaxesInfoDataRecord.java +++ /dev/null @@ -1,69 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 과오납 시세입 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class TaxesInfoDataRecord extends Record { - private int RECORD_LEN = 150; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SEQNO = 4; // 일련번호 - public static final int FARE_OFFICE_ID = 5; // 요금소코드 - public static final int ENTRY_YEAR = 6; // 년도 - public static final int ENTRY_MONTH = 7; // 월 - public static final int ENTRY_DAY = 8; // 일 - public static final int ENTRY_SEQNO = 9; // 일련번호 - public static final int CITY_TAXES_COUNT = 10; // 시세입 건수 - public static final int CITY_TAXES_AMOUNT = 11; // 시세입 금액 - public static final int OVERFARE_YEAR = 12; // 시세입 적용년도 - public static final int OVERFARE_MONTH = 13; // 시세입 적용월 - public static final int USER_ID = 14; // 징수원 ID - public static final int USER_NAME = 15; // 징수원 명 - public static final int REMARKS = 16; // 비고 - public static final int RESERVED = 17; // Filler - public static final int E_MARK = 18; // 종료표시 - /** - * Counstructor - * @param record - */ - public TaxesInfoDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SEQNO : return getStringInLine(record, 17, 20); // 일련번호 - case FARE_OFFICE_ID : return getStringInLine(record, 20, 22); // 요금소코드 - case ENTRY_YEAR : return getStringInLine(record, 22, 26); // 년도 - case ENTRY_MONTH : return getStringInLine(record, 26, 28); // 월 - case ENTRY_DAY : return getStringInLine(record, 28, 30); // 일 - case ENTRY_SEQNO : return getStringInLine(record, 30, 32); // 일련번호 - case CITY_TAXES_COUNT : return getStringInLine(record, 32, 37); // 시세입 건수 - case CITY_TAXES_AMOUNT : return getStringInLine(record, 37, 46); // 시세입 금액 - case OVERFARE_YEAR : return getStringInLine(record, 46, 50); // 시세입 적용년도 - case OVERFARE_MONTH : return getStringInLine(record, 50, 52); // 시세입 적용월 - case USER_ID : return getStringInLine(record, 52, 58); // 징수원 ID - case USER_NAME : return getStringInLine(record, 58, 68); // 징수원 명 - case REMARKS : return getStringInLine(record, 68, 128); // 비고 - case RESERVED : return getStringInLine(record, 128, 149); // Filler - case E_MARK : return getStringInLine(record, 149, 150); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/data/format/WrongPayCarDataRecord.java b/src/main/java/center/data/format/WrongPayCarDataRecord.java deleted file mode 100644 index c5757fe..0000000 --- a/src/main/java/center/data/format/WrongPayCarDataRecord.java +++ /dev/null @@ -1,65 +0,0 @@ -package center.data.format; - -import com.base.Record; -import com.exception.IllegalRecordException; -/** - * 과오납 차장정보 데이터 포멧
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class WrongPayCarDataRecord extends Record { - private int RECORD_LEN = 270; // 레코드 길이 - public static final int S_MARK = 0; // 시작표시 - public static final int DATA_SEQNO1 = 1; // 자료번호 - public static final int DATA_TYPE = 2; // 자료구분 - public static final int DATA_SEQNO2 = 3; // 자료번호 - public static final int SEQNO = 4; // 일련번호 - public static final int OWNER = 5; // 소유주 - public static final int CAR_NO = 6; // 차량번호 - public static final int RESIDENT_DATE = 7; // 등록일자 - public static final int CAR_TYPE_NAME = 8; // 차종명 - public static final int RESIDENT_NO = 9; // 주민/법인번호 - public static final int POST_NO1 = 10; // 우편번호1 - public static final int POST_NO2 = 11; // 우편번호2 - public static final int ADDRESS_NAME = 12; // 현주소 - public static final int ADDRESS_NUMBER = 13; // 현주소 번지 - public static final int IUD_KBN = 14; // 입력수정구분 - public static final int RESERVED = 15; // Filler - public static final int E_MARK = 16; // 종료표시 - /** - * Counstructor - * @param record - */ - public WrongPayCarDataRecord(String record){ - this.record = record; - } - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case S_MARK : return getStringInLine(record, 0, 1); // 시작표시 - case DATA_SEQNO1 : return getStringInLine(record, 1, 10); // 자료번호 - case DATA_TYPE : return getStringInLine(record, 10, 11); // 자료구분 - case DATA_SEQNO2 : return getStringInLine(record, 11, 17); // 자료번호 - case SEQNO : return getStringInLine(record, 17, 20); // 일련번호 - case OWNER : return getStringInLine(record, 20, 50); // 소유주 - case CAR_NO : return getStringInLine(record, 50, 70); // 차량번호 - case RESIDENT_DATE : return getStringInLine(record, 70, 78); // 등록일자 - case CAR_TYPE_NAME : return getStringInLine(record, 78, 118); // 차종명 - case RESIDENT_NO : return getStringInLine(record, 118, 131); // 주민/법인번호 - case POST_NO1 : return getStringInLine(record, 131, 135); // 우편번호1 - case POST_NO2 : return getStringInLine(record, 135, 139); // 우편번호2 - case ADDRESS_NAME : return getStringInLine(record, 139, 199); // 현주소 - case ADDRESS_NUMBER : return getStringInLine(record, 199, 259); // 현주소 번지 - case IUD_KBN : return getStringInLine(record, 259, 260); // 입력수정구분 - case RESERVED : return getStringInLine(record, 260, 269); // Filler - case E_MARK : return getStringInLine(record, 269, 270); // 종료표시 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/green/DayCloseApi.java b/src/main/java/center/green/DayCloseApi.java index 5de0412..2833ad7 100644 --- a/src/main/java/center/green/DayCloseApi.java +++ b/src/main/java/center/green/DayCloseApi.java @@ -77,6 +77,7 @@ public class DayCloseApi extends FileWorker { System.out.println("============== A : " + strUrl); } + @Override public void execute() { try { @@ -91,10 +92,10 @@ public class DayCloseApi extends FileWorker { System.out.println(str); System.out.println("========= 1"); - - System.exit(0); + + System.exit(0); } - + JSONParser jsonParser = new JSONParser(); JSONObject jsonObject; jsonObject = (JSONObject) jsonParser.parse(str); @@ -103,17 +104,16 @@ public class DayCloseApi extends FileWorker { System.out.println("============== C : " + jsonArray.size()); if(jsonArray.size() == 0) { String strWebKind = ""; - + strWebKind = strUrl + "selectDayClosePrepayCard.do"; executePrepay(strWebKind, 0, 0, 0); strWebKind = strUrl + "selectDayClosePrepayEBCard.do"; executePrepayEB(strWebKind, 1, 0, 0); - + strWebKind = strUrl + "selectDayClosePostpayCard.do"; executePostpay(strWebKind, 2, 0, 0); - } - else { + } else { int nWebKind = 0; int nCount = 0; for (int index = 0; index < jsonArray.size(); index++) { @@ -140,9 +140,9 @@ public class DayCloseApi extends FileWorker { executePostpay(strWebKind, nWebKind, nMod, nRest); break; } - } // end for + } // end for } - + } catch (Exception e) { e.printStackTrace(); System.out.println("============== aaa "); @@ -170,8 +170,8 @@ public class DayCloseApi extends FileWorker { System.out.println(str); System.out.println("############# 2"); - - System.exit(0); + + System.exit(0); } } @@ -209,8 +209,8 @@ public class DayCloseApi extends FileWorker { System.out.println(str); System.out.println("############# 3"); - - System.exit(0); + + System.exit(0); } else if(str.contains("조회결과가 없습니다") == true) { logger.logFail(str); @@ -218,7 +218,7 @@ public class DayCloseApi extends FileWorker { return; } - + makePrepay(str); } obj.clear(); @@ -226,16 +226,15 @@ public class DayCloseApi extends FileWorker { obj.put("endIndex", String.format("%d", (i * 1000 + nRest))); str = callWebServicePostJson(strWebKind, obj); - + if(str.contains("처리 도중 오류가 발생되었습니다") == true) { logger.logFail(str); System.out.println(str); System.out.println("############# 4"); - - System.exit(0); - } - else if(str.contains("조회결과가 없습니다") == false) { + + System.exit(0); + } else if(str.contains("조회결과가 없습니다") == false) { makePrepay(str); } @@ -336,8 +335,8 @@ public class DayCloseApi extends FileWorker { System.out.println(str); System.out.println("############# 6"); - - System.exit(0); + + System.exit(0); } else if(str.contains("조회결과가 없습니다") == true) { logger.logFail(str); @@ -345,7 +344,7 @@ public class DayCloseApi extends FileWorker { return; } - + makePrepayEB(str); } obj.clear(); @@ -359,13 +358,13 @@ public class DayCloseApi extends FileWorker { System.out.println(str); System.out.println("############# 7"); - - System.exit(0); + + System.exit(0); } else if(str.contains("조회결과가 없습니다") == false) { makePrepayEB(str); } - + writeTrailerRecordPrepayEB(); obj.put("fileKindId", "VY"); @@ -381,7 +380,7 @@ public class DayCloseApi extends FileWorker { obj.put("webKind", "1"); str = callWebServicePostJson(strUrl + "insertDayCloseSendHistory.do", obj); - + Map map = new HashMap(); map.put("REC_LEN", "300"); map.put("REC_CNT", "3"); @@ -447,7 +446,7 @@ public class DayCloseApi extends FileWorker { nPurchaseAmount = 0; nSelectCount = 0; nWriteCount = 0; - + writeHeaderRecordPostpay(); Map obj = new HashMap(); @@ -464,16 +463,15 @@ public class DayCloseApi extends FileWorker { System.out.println(str); System.out.println("############# 9"); - - System.exit(0); - } - else if(str.contains("조회결과가 없습니다") == true) { + + System.exit(0); + } else if(str.contains("조회결과가 없습니다") == true) { logger.logFail(str); System.out.println(str); return; } - + makePostpay(str); } obj.clear(); @@ -487,11 +485,10 @@ public class DayCloseApi extends FileWorker { System.out.println(str); System.out.println("############# 10"); - - System.exit(0); - } - else if(str.contains("조회결과가 없습니다") == false) { - makePostpay(str); + + System.exit(0); + } else if(str.contains("조회결과가 없습니다") == false) { + makePostpay(str); } writeTrailerRecordPostpay(); @@ -625,39 +622,10 @@ public class DayCloseApi extends FileWorker { nPurchaseCount++; nPurchaseAmount += Integer.parseInt(objectInArray.get("LEVY_AMOUNT").toString()); nSelectCount++; -/* - String sTradeGubun = "001"; - if (objectInArray.get("SIGN_VALUE").toString().trim().equals("00000001")) - sTradeGubun = "049"; - PreCardDataRecordEB record = new PreCardDataRecordEB("D", - Long.parseLong(objectInArray.get("SEQNO").toString()), - objectInArray.get("TRANSACTION_ID").toString(), objectInArray.get("BRANCH_ID").toString(), - objectInArray.get("TERMINAL_ID").toString(), objectInArray.get("SAM_ID").toString(), - Long.parseLong(objectInArray.get("SAM_SEQNO").toString()), - objectInArray.get("CARD_NO").toString(), - Long.parseLong(objectInArray.get("CARD_SEQNO").toString()), sTradeGubun, // �۾����� - Long.parseLong(objectInArray.get("BEFORE_AMOUNT").toString()), - Long.parseLong(objectInArray.get("LEVY_AMOUNT").toString()), - Long.parseLong(objectInArray.get("REMAIND_AMOUNT").toString()), - objectInArray.get("TRADE_TIME").toString(), objectInArray.get("ALGORITHM_ID").toString(), - objectInArray.get("KEY_VERSION").toString(), objectInArray.get("E_CASH_IDENTIFIER").toString(), - Long.parseLong(objectInArray.get("SAM_TOT_SEQNO").toString()), - Long.parseLong(objectInArray.get("SAM_COLLECT_CNT").toString()), - Long.parseLong(objectInArray.get("SAM_TOT_AMOUNT").toString()), - objectInArray.get("SIGN_VALUE").toString(), objectInArray.get("CARD_KBN").toString(), - objectInArray.get("PERSON_CODE").toString(), - - objectInArray.get("HSM_STATUS").toString(), objectInArray.get("ALIAS_NO").toString(), - objectInArray.get("ISSUE_ID").toString(), - Long.parseLong(objectInArray.get("SAM_TOT_CNT").toString()), - StringUtil.toEncString(objectInArray.get("CAR_NO").toString(), "EUC-KR")); - - outFile.writeData(record.getRecord()); - */ ByteArrayOutputStream baos = new ByteArrayOutputStream(); - + StringBuffer strbuf = new StringBuffer(); strbuf.append("D"); strbuf.append(String.format("%07d", Long.parseLong(objectInArray.get("SEQNO").toString()))); @@ -667,19 +635,19 @@ public class DayCloseApi extends FileWorker { strbuf.append(String.format("%-8s"," " )); strbuf.append(String.format("%-5s"," " )); - + strbuf.append(String.format("%-16s", objectInArray.get("SAM_ID").toString())); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("SAM_SEQNO").toString()))); strbuf.append(String.format("%-20s", objectInArray.get("CARD_NO").toString())); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("CARD_SEQNO").toString()))); - + strbuf.append(String.format("%-3s", "001")); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("BEFORE_AMOUNT").toString()))); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("LEVY_AMOUNT").toString()))); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("REMAIND_AMOUNT").toString()))); strbuf.append(String.format("%-14s", objectInArray.get("TRADE_TIME").toString())); - + strbuf.append(String.format("%-3s", objectInArray.get("ALGORITHM_ID").toString())); strbuf.append(String.format("%-3s", objectInArray.get("KEY_VERSION").toString())); strbuf.append(String.format("%-3s", objectInArray.get("E_CASH_IDENTIFIER").toString())); @@ -687,18 +655,18 @@ public class DayCloseApi extends FileWorker { strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("SAM_TOT_SEQNO").toString()))); strbuf.append(String.format("%05d", Long.parseLong(objectInArray.get("SAM_COLLECT_CNT").toString()))); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("SAM_TOT_AMOUNT").toString()))); - + strbuf.append(String.format("%-10s", objectInArray.get("SIGN_VALUE").toString())); - strbuf.append(String.format("%s", objectInArray.get("CARD_KBN").toString().trim())); + strbuf.append(String.format("%s", objectInArray.get("CARD_KBN").toString().trim())); strbuf.append(String.format("%s", objectInArray.get("PERSON_CODE").toString())); //strbuf.append(String.format("%02d", Long.parseLong(objectInArray.get("PERSON_CODE").toString()))); strbuf.append("1"); - + strbuf.append(String.format("%-10s", objectInArray.get("ALIAS_NO").toString())); strbuf.append(String.format("%-7s", objectInArray.get("ISSUE_ID").toString())); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("SAM_TOT_CNT").toString()))); - + baos.write(strbuf.toString().getBytes("euc-kr")); String sCarNo = objectInArray.get("CAR_NO").toString(); @@ -709,7 +677,7 @@ public class DayCloseApi extends FileWorker { byte[] bytes = sCarNo.getBytes("euc-kr"); int n = bytes.length; baos.write(bytes); - + StringBuffer temp = new StringBuffer(); for (int j = 0; j < 14 - n; j++) temp.append(" "); @@ -724,7 +692,7 @@ public class DayCloseApi extends FileWorker { //System.out.println("====== length : " + baos.toByteArray().length); outFile.writeData(baos.toByteArray()); - + nWriteCount++; if (nWriteCount % LOG_COUNT == 0) { System.out.println(".... File Write Count : " + nWriteCount); @@ -760,30 +728,10 @@ public class DayCloseApi extends FileWorker { if (sCarNo.indexOf("?") >= 0 || sCarNo.indexOf("X") >= 0) { sCarNo = " "; } - /* - * RfCardDataRecord record = new RfCardDataRecord( "D", - * Long.parseLong(objectInArray.get("SEQNO").toString()), - * objectInArray.get("TRANSACTION_ID").toString(), - * objectInArray.get("BRANCH_ID").toString(), - * objectInArray.get("TERMINAL_ID").toString(), - * objectInArray.get("SAM_ID").toString(), - * Long.parseLong(objectInArray.get("SAM_SEQNO").toString()), - * objectInArray.get("CARD_NO").toString(), - * Long.parseLong(objectInArray.get("CARD_SEQNO").toString()), - * Long.parseLong(objectInArray.get("LEVY_AMOUNT").toString()), - * Long.parseLong(objectInArray.get("REMAIND_AMOUNT").toString() - * ), objectInArray.get("TRADE_TIME").toString(), - * objectInArray.get("CARD_KBN").toString(), - * objectInArray.get("PERSON_CODE").toString(), sCarNo, - * objectInArray.get("ALIAS_NO").toString(), - * objectInArray.get("ZIPGE_ID").toString(), - * objectInArray.get("ISSUE_ID").toString(), - * objectInArray.get("USE_PLACE").toString(), - * objectInArray.get("USE_PLACE_DETAIL").toString() ); - */ + ByteArrayOutputStream baos = new ByteArrayOutputStream(); - + StringBuffer strbuf = new StringBuffer(); strbuf.append("D"); strbuf.append(String.format("%07d", Long.parseLong(objectInArray.get("SEQNO").toString()))); @@ -807,7 +755,7 @@ public class DayCloseApi extends FileWorker { byte[] bytes = sCarNo.getBytes("euc-kr"); int n = bytes.length; baos.write(bytes); - + StringBuffer temp = new StringBuffer(); for (int j = 0; j < 14 - n; j++) temp.append(" "); @@ -834,7 +782,7 @@ public class DayCloseApi extends FileWorker { // 초기화 strbuf.setLength(0); strbuf = new StringBuffer(); - strbuf.append(temp); + strbuf.append(temp); baos.write(strbuf.toString().getBytes("euc-kr")); bytes = null; @@ -851,11 +799,10 @@ public class DayCloseApi extends FileWorker { strbuf = new StringBuffer(); strbuf.append(temp); strbuf.append(String.format("%-169s", " ")); - + baos.write(strbuf.toString().getBytes("euc-kr")); outFile.writeData(baos.toByteArray()); - //System.out.println("====== length : " + baos.toByteArray().length); nWriteCount++; if (nWriteCount % LOG_COUNT == 0) { @@ -928,7 +875,7 @@ public class DayCloseApi extends FileWorker { sb.append(inputLine); } - // System.out.println("==== " + sb.toString()); + } else { if (connection.getErrorStream() != null) { br = new BufferedReader(new InputStreamReader(connection.getErrorStream(), "UTF-8")); diff --git a/src/main/java/center/green/DayCloseApiManual.java b/src/main/java/center/green/DayCloseApiManual.java index 71c945d..dfae693 100644 --- a/src/main/java/center/green/DayCloseApiManual.java +++ b/src/main/java/center/green/DayCloseApiManual.java @@ -49,8 +49,7 @@ public class DayCloseApiManual extends FileWorker { @Override public void execute() throws Exception { - // TODO Auto-generated method stub - + } public void initialize() { @@ -88,7 +87,7 @@ public class DayCloseApiManual extends FileWorker { try { Map map = new HashMap(); - + if(sType.equals("0") == true) { map.put("REC_LEN", "300"); map.put("REC_CNT", "3"); @@ -108,15 +107,15 @@ public class DayCloseApiManual extends FileWorker { System.err.println("Type 오류"); System.exit(0); } - + map.put("FILE_NAME", sFileName); map.put("DIR_NAME", sFileDir); System.out.println("-------------------------- SendFile map 02"); // 티머니 테스트 용 실제 운영시 주석 제외 SendFile(map, "0"); - - + + } catch (Exception e) { e.printStackTrace(); System.out.println("============== aaa "); @@ -144,8 +143,8 @@ public class DayCloseApiManual extends FileWorker { System.out.println(str); System.out.println("############# 2"); - - System.exit(0); + + System.exit(0); } } @@ -183,8 +182,8 @@ public class DayCloseApiManual extends FileWorker { System.out.println(str); System.out.println("############# 3"); - - System.exit(0); + + System.exit(0); } else if(str.contains("조회결과가 없습니다") == true) { logger.logFail(str); @@ -192,7 +191,7 @@ public class DayCloseApiManual extends FileWorker { return; } - + makePrepay(str); } obj.clear(); @@ -200,14 +199,14 @@ public class DayCloseApiManual extends FileWorker { obj.put("endIndex", String.format("%d", (i * 1000 + nRest))); str = callWebServicePostJson(strWebKind, obj); - + if(str.contains("처리 도중 오류가 발생되었습니다") == true) { logger.logFail(str); System.out.println(str); System.out.println("############# 4"); - - System.exit(0); + + System.exit(0); } else if(str.contains("조회결과가 없습니다") == false) { makePrepay(str); @@ -310,8 +309,8 @@ public class DayCloseApiManual extends FileWorker { System.out.println(str); System.out.println("############# 6"); - - System.exit(0); + + System.exit(0); } else if(str.contains("조회결과가 없습니다") == true) { logger.logFail(str); @@ -319,7 +318,7 @@ public class DayCloseApiManual extends FileWorker { return; } - + makePrepayEB(str); } obj.clear(); @@ -333,13 +332,13 @@ public class DayCloseApiManual extends FileWorker { System.out.println(str); System.out.println("############# 7"); - - System.exit(0); + + System.exit(0); } else if(str.contains("조회결과가 없습니다") == false) { makePrepayEB(str); } - + writeTrailerRecordPrepayEB(); obj.put("fileKindId", "VY"); @@ -355,7 +354,7 @@ public class DayCloseApiManual extends FileWorker { obj.put("webKind", "1"); str = callWebServicePostJson(strUrl + "insertDayCloseSendHistory.do", obj); - + Map map = new HashMap(); map.put("REC_LEN", "300"); map.put("REC_CNT", "3"); @@ -421,7 +420,7 @@ public class DayCloseApiManual extends FileWorker { nPurchaseAmount = 0; nSelectCount = 0; nWriteCount = 0; - + writeHeaderRecordPostpay(); Map obj = new HashMap(); @@ -438,8 +437,8 @@ public class DayCloseApiManual extends FileWorker { System.out.println(str); System.out.println("############# 9"); - - System.exit(0); + + System.exit(0); } else if(str.contains("조회결과가 없습니다") == true) { logger.logFail(str); @@ -447,7 +446,7 @@ public class DayCloseApiManual extends FileWorker { return; } - + makePostpay(str); } obj.clear(); @@ -461,8 +460,8 @@ public class DayCloseApiManual extends FileWorker { System.out.println(str); System.out.println("############# 10"); - - System.exit(0); + + System.exit(0); } else if(str.contains("조회결과가 없습니다") == false) { makePostpay(str); @@ -599,39 +598,10 @@ public class DayCloseApiManual extends FileWorker { nPurchaseCount++; nPurchaseAmount += Integer.parseInt(objectInArray.get("LEVY_AMOUNT").toString()); nSelectCount++; -/* - String sTradeGubun = "001"; - if (objectInArray.get("SIGN_VALUE").toString().trim().equals("00000001")) - sTradeGubun = "049"; - - PreCardDataRecordEB record = new PreCardDataRecordEB("D", - Long.parseLong(objectInArray.get("SEQNO").toString()), - objectInArray.get("TRANSACTION_ID").toString(), objectInArray.get("BRANCH_ID").toString(), - objectInArray.get("TERMINAL_ID").toString(), objectInArray.get("SAM_ID").toString(), - Long.parseLong(objectInArray.get("SAM_SEQNO").toString()), - objectInArray.get("CARD_NO").toString(), - Long.parseLong(objectInArray.get("CARD_SEQNO").toString()), sTradeGubun, // �۾����� - Long.parseLong(objectInArray.get("BEFORE_AMOUNT").toString()), - Long.parseLong(objectInArray.get("LEVY_AMOUNT").toString()), - Long.parseLong(objectInArray.get("REMAIND_AMOUNT").toString()), - objectInArray.get("TRADE_TIME").toString(), objectInArray.get("ALGORITHM_ID").toString(), - objectInArray.get("KEY_VERSION").toString(), objectInArray.get("E_CASH_IDENTIFIER").toString(), - Long.parseLong(objectInArray.get("SAM_TOT_SEQNO").toString()), - Long.parseLong(objectInArray.get("SAM_COLLECT_CNT").toString()), - Long.parseLong(objectInArray.get("SAM_TOT_AMOUNT").toString()), - objectInArray.get("SIGN_VALUE").toString(), objectInArray.get("CARD_KBN").toString(), - objectInArray.get("PERSON_CODE").toString(), - objectInArray.get("HSM_STATUS").toString(), objectInArray.get("ALIAS_NO").toString(), - objectInArray.get("ISSUE_ID").toString(), - Long.parseLong(objectInArray.get("SAM_TOT_CNT").toString()), - StringUtil.toEncString(objectInArray.get("CAR_NO").toString(), "EUC-KR")); - - outFile.writeData(record.getRecord()); - */ ByteArrayOutputStream baos = new ByteArrayOutputStream(); - + StringBuffer strbuf = new StringBuffer(); strbuf.append("D"); strbuf.append(String.format("%07d", Long.parseLong(objectInArray.get("SEQNO").toString()))); @@ -641,19 +611,19 @@ public class DayCloseApiManual extends FileWorker { strbuf.append(String.format("%-8s"," " )); strbuf.append(String.format("%-5s"," " )); - + strbuf.append(String.format("%-16s", objectInArray.get("SAM_ID").toString())); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("SAM_SEQNO").toString()))); strbuf.append(String.format("%-20s", objectInArray.get("CARD_NO").toString())); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("CARD_SEQNO").toString()))); - + strbuf.append(String.format("%-3s", "001")); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("BEFORE_AMOUNT").toString()))); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("LEVY_AMOUNT").toString()))); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("REMAIND_AMOUNT").toString()))); strbuf.append(String.format("%-14s", objectInArray.get("TRADE_TIME").toString())); - + strbuf.append(String.format("%-3s", objectInArray.get("ALGORITHM_ID").toString())); strbuf.append(String.format("%-3s", objectInArray.get("KEY_VERSION").toString())); strbuf.append(String.format("%-3s", objectInArray.get("E_CASH_IDENTIFIER").toString())); @@ -661,18 +631,17 @@ public class DayCloseApiManual extends FileWorker { strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("SAM_TOT_SEQNO").toString()))); strbuf.append(String.format("%05d", Long.parseLong(objectInArray.get("SAM_COLLECT_CNT").toString()))); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("SAM_TOT_AMOUNT").toString()))); - + strbuf.append(String.format("%-10s", objectInArray.get("SIGN_VALUE").toString())); - strbuf.append(String.format("%s", objectInArray.get("CARD_KBN").toString().trim())); + strbuf.append(String.format("%s", objectInArray.get("CARD_KBN").toString().trim())); strbuf.append(String.format("%s", objectInArray.get("PERSON_CODE").toString())); - //strbuf.append(String.format("%02d", Long.parseLong(objectInArray.get("PERSON_CODE").toString()))); strbuf.append("1"); - + strbuf.append(String.format("%-10s", objectInArray.get("ALIAS_NO").toString())); strbuf.append(String.format("%-7s", objectInArray.get("ISSUE_ID").toString())); strbuf.append(String.format("%010d", Long.parseLong(objectInArray.get("SAM_TOT_CNT").toString()))); - + baos.write(strbuf.toString().getBytes("euc-kr")); String sCarNo = objectInArray.get("CAR_NO").toString(); @@ -683,7 +652,7 @@ public class DayCloseApiManual extends FileWorker { byte[] bytes = sCarNo.getBytes("euc-kr"); int n = bytes.length; baos.write(bytes); - + StringBuffer temp = new StringBuffer(); for (int j = 0; j < 14 - n; j++) temp.append(" "); @@ -696,9 +665,8 @@ public class DayCloseApiManual extends FileWorker { baos.write(strbuf.toString().getBytes("euc-kr")); - //System.out.println("====== length : " + baos.toByteArray().length); outFile.writeData(baos.toByteArray()); - + nWriteCount++; if (nWriteCount % LOG_COUNT == 0) { System.out.println(".... File Write Count : " + nWriteCount); @@ -734,30 +702,10 @@ public class DayCloseApiManual extends FileWorker { if (sCarNo.indexOf("?") >= 0 || sCarNo.indexOf("X") >= 0) { sCarNo = " "; } - /* - * RfCardDataRecord record = new RfCardDataRecord( "D", - * Long.parseLong(objectInArray.get("SEQNO").toString()), - * objectInArray.get("TRANSACTION_ID").toString(), - * objectInArray.get("BRANCH_ID").toString(), - * objectInArray.get("TERMINAL_ID").toString(), - * objectInArray.get("SAM_ID").toString(), - * Long.parseLong(objectInArray.get("SAM_SEQNO").toString()), - * objectInArray.get("CARD_NO").toString(), - * Long.parseLong(objectInArray.get("CARD_SEQNO").toString()), - * Long.parseLong(objectInArray.get("LEVY_AMOUNT").toString()), - * Long.parseLong(objectInArray.get("REMAIND_AMOUNT").toString() - * ), objectInArray.get("TRADE_TIME").toString(), - * objectInArray.get("CARD_KBN").toString(), - * objectInArray.get("PERSON_CODE").toString(), sCarNo, - * objectInArray.get("ALIAS_NO").toString(), - * objectInArray.get("ZIPGE_ID").toString(), - * objectInArray.get("ISSUE_ID").toString(), - * objectInArray.get("USE_PLACE").toString(), - * objectInArray.get("USE_PLACE_DETAIL").toString() ); - */ + ByteArrayOutputStream baos = new ByteArrayOutputStream(); - + StringBuffer strbuf = new StringBuffer(); strbuf.append("D"); strbuf.append(String.format("%07d", Long.parseLong(objectInArray.get("SEQNO").toString()))); @@ -781,7 +729,7 @@ public class DayCloseApiManual extends FileWorker { byte[] bytes = sCarNo.getBytes("euc-kr"); int n = bytes.length; baos.write(bytes); - + StringBuffer temp = new StringBuffer(); for (int j = 0; j < 14 - n; j++) temp.append(" "); @@ -808,7 +756,7 @@ public class DayCloseApiManual extends FileWorker { // 초기화 strbuf.setLength(0); strbuf = new StringBuffer(); - strbuf.append(temp); + strbuf.append(temp); baos.write(strbuf.toString().getBytes("euc-kr")); bytes = null; @@ -825,11 +773,10 @@ public class DayCloseApiManual extends FileWorker { strbuf = new StringBuffer(); strbuf.append(temp); strbuf.append(String.format("%-169s", " ")); - + baos.write(strbuf.toString().getBytes("euc-kr")); outFile.writeData(baos.toByteArray()); - //System.out.println("====== length : " + baos.toByteArray().length); nWriteCount++; if (nWriteCount % LOG_COUNT == 0) { @@ -958,7 +905,7 @@ public class DayCloseApiManual extends FileWorker { if(args.length < 3) { System.err.println("총 3개의 args를 입력하지 않았습니다."); System.err.println("sType, sFileDir, sFileName"); - System.exit(0); + System.exit(0); } DayCloseApiManual obj = new DayCloseApiManual(); diff --git a/src/main/java/center/green/DayCloseReturn.java b/src/main/java/center/green/DayCloseReturn.java index a646bd0..d220ffb 100644 --- a/src/main/java/center/green/DayCloseReturn.java +++ b/src/main/java/center/green/DayCloseReturn.java @@ -76,48 +76,38 @@ public class DayCloseReturn extends FileWorker { logger.logInfo("=== " + sRecvFileName); logger.logInfo("=== " + strType); } - -/* - logger.logFail("============= 1"); - String command = String.format("sh /gpta/source-web/cfs/tMoney/NAMSAN/Relay/run_sender.sh %s %s", sRecvDir, sRecvFileName); - // 이 부분에 실행할 리눅스 Shell 명령어를 입력하면 된다. (여기선 ls -al 명령어 입력) - logger.logFail("============= 2"); - try { - DayCloseReturn.shellCmd(command); - } catch (Exception e) { - e.printStackTrace(); - } -*/ + + } public void callProcManual(String sRecvDir, String sRecvFileName) { logger.logInfo("=========== callProcManual start "); - + File file = new File(sRecvDir, sRecvFileName); logger.logInfo("=========== callProcManual 1 "); this.strType = sRecvFileName.substring(0, 2); logger.logInfo("=========== callProcManual 2 : " + strType); - + boolean isSend = false; try { inFile = new FileStreamParser(); inFile.openReadFile(file); - + String sTemp = null; Map map = new HashMap(); - + if (this.strType.equals("TY") == true) { while ((sTemp = inFile.readBytes(300)) != null) { logger.logInfo("=========== executeTY nReadCount : " + nReadCount); nReadCount++; - + if (sTemp.startsWith("D")) { logger.logInfo("=========== executeTY #### 1" ); - applyRefuseData(new PreCardDataRecord(sTemp)); - + applyRefuseDataTY(new PreCardDataRecord(sTemp)); + isSend = true; logger.logInfo("=========== executeTY #### 2" ); - } + } else if (sTemp.startsWith("H")) { logger.logInfo("=========== executeTY #### header" ); } @@ -125,26 +115,26 @@ public class DayCloseReturn extends FileWorker { logger.logInfo("=========== executeTY #### tail" ); break; } - } // end while + } // end while if(isSend == true) { logger.logInfo("=========== callWebServicePostJson 1" ); - map.put("refuse", "28"); - callWebServicePostJson(strUrl + "callDayCloseReturnPrepay.do", map); - logger.logInfo("=========== callWebServicePostJson 2" ); + map.put("refuse", "28"); + callWebServicePostJson(strUrl + "callDayCloseReturnPrepay.do", map); + logger.logInfo("=========== callWebServicePostJson 2" ); } - } + } else if (this.strType.equals("VZ") == true) { while ((sTemp = inFile.readBytes(300)) != null) { nReadCount++; - + if (sTemp.startsWith("D")) { logger.logInfo("=========== executeVZ #### 1" ); applyRefuseDataVZ(new PreCardDataRecordEB(sTemp)); - + isSend = true; logger.logInfo("=========== executeVZ #### 2" ); - } + } else if (sTemp.startsWith("H")) { logger.logInfo("=========== executeVZ #### header" ); } @@ -152,26 +142,26 @@ public class DayCloseReturn extends FileWorker { logger.logInfo("=========== executeVZ #### TTT" ); break; } - } // end while + } // end while if(isSend == true) { - logger.logInfo("=========== callWebServicePostJson 1" ); - map.put("refuse", "32"); - callWebServicePostJson(strUrl + "callDayCloseReturnPrepayEB.do", map); - logger.logInfo("=========== callWebServicePostJson 2" ); + logger.logInfo("=========== callWebServicePostJson 1" ); + map.put("refuse", "32"); + callWebServicePostJson(strUrl + "callDayCloseReturnPrepayEB.do", map); + logger.logInfo("=========== callWebServicePostJson 2" ); } } else if (this.strType.equals("WJ") == true) { while ((sTemp = inFile.readBytes(400)) != null) { nReadCount++; - + if (sTemp.startsWith("D")) { logger.logInfo("=========== executeWJ #### 1" ); applyRefuseDataWJ(new RfCardDataRecord(sTemp)); - + isSend = true; logger.logInfo("=========== executeWJ #### 2" ); - } + } else if (sTemp.startsWith("H")) { logger.logInfo("=========== executeWJ #### header" ); } @@ -179,16 +169,16 @@ public class DayCloseReturn extends FileWorker { logger.logInfo("=========== executeWJ #### TTT" ); break; } - } // end while + } // end while if(isSend == true) { logger.logInfo("=========== callWebServicePostJson 1" ); - map.put("refuse", "22"); - callWebServicePostJson(strUrl +"callDayCloseReturnPostpay.do", map); + map.put("refuse", "22"); + callWebServicePostJson(strUrl +"callDayCloseReturnPostpay.do", map); logger.logInfo("=========== callWebServicePostJson 2" ); } } - // end if + // end if } catch (Exception e) { e.printStackTrace(); logger.logInfo("=== callProcManual error"); @@ -197,7 +187,7 @@ public class DayCloseReturn extends FileWorker { logger.logInfo("=== " + strType); } - logger.logInfo("=========== callProcManual end "); + logger.logInfo("=========== callProcManual end "); } @Override @@ -232,9 +222,9 @@ public class DayCloseReturn extends FileWorker { nReadCount++; if (sTemp.startsWith("D")) { logger.logInfo("=========== executeTY #### 1" ); - applyRefuseData(new PreCardDataRecord(sTemp)); + applyRefuseDataTY(new PreCardDataRecord(sTemp)); logger.logInfo("=========== executeTY #### 2" ); - } + } else if (sTemp.startsWith("H")) { this.sBaseDate = sTemp.substring(1, 9); logger.logInfo(".... file create date : " + sBaseDate); @@ -244,15 +234,9 @@ public class DayCloseReturn extends FileWorker { continue; } } - logger.logInfo("=========== executeTY 1 : " + file.getName()); Map map = new HashMap(); - logger.logInfo("=========== executeTY 2 : " + file.getName()); String str = "callDayCloseReturnPrepay.do"; - logger.logInfo("=========== executeTY 3 : " + file.getName()); map.put("refuse", "28"); - logger.logInfo("=========== executeTY 4 : " + file.getName()); - - logger.logInfo(strUrl + str); str = callWebServicePostJson(strUrl + str, map); logger.logInfo(sPrcsName + " is ended"); } catch (Exception ex) { @@ -262,19 +246,10 @@ public class DayCloseReturn extends FileWorker { } } - private void applyRefuseData(PreCardDataRecord record) throws SQLException, Exception { + private void applyRefuseDataTY(PreCardDataRecord record) throws SQLException, Exception { String sTransactionID = record.getItem(PreCardDataRecord.TRANSACTION_ID); String sTradeTime = record.getItem(PreCardDataRecord.TRADE_TIME); -/* - String sRefuse = record.getItem(PreCardDataRecord.REFUSE_CODE); - - logger.logInfo("=========== applyRefuseData 0-1 "); - if(sRefuse.equals("00") == true) { - logger.logInfo("=========== applyRefuseData 0-2 "); - return; - } - logger.logInfo("=========== applyRefuseData 0-3 "); -*/ + Map map = new HashMap(); map.put("worker_id", sTransactionID.substring(0, 6)); map.put("fare_id", sTransactionID.substring(0, 2)); @@ -286,7 +261,7 @@ public class DayCloseReturn extends FileWorker { logger.logInfo("=========== applyRefuseData 1 "); String str = "insertDayCloseReturnPrepay.do"; - + map.put("refuse", record.getItem(PreCardDataRecord.REFUSE_CODE).toString()); logger.logInfo("=========== applyRefuseData 2 - refuse : " + map.get("refuse").toString()); @@ -309,7 +284,7 @@ public class DayCloseReturn extends FileWorker { logger.logInfo("=========== executeVZ #### 1" ); applyRefuseDataVZ(new PreCardDataRecordEB(sTemp)); logger.logInfo("=========== executeVZ #### 2" ); - } + } else if (sTemp.startsWith("H")) { this.sBaseDate = sTemp.substring(1, 9); logger.logInfo(".... file create date : " + sBaseDate); @@ -319,15 +294,9 @@ public class DayCloseReturn extends FileWorker { continue; } } - logger.logInfo("=========== executeVZ 1 : " + file.getName()); Map map = new HashMap(); - logger.logInfo("=========== executeVZ 2 : " + file.getName()); String str = "callDayCloseReturnPrepayEB.do"; - logger.logInfo("=========== executeVZ 3 : " + file.getName()); map.put("refuse", "32"); - logger.logInfo("=========== executeVZ 4 : " + file.getName()); - - logger.logInfo(strUrl + str); str = callWebServicePostJson(strUrl + str, map); logger.logInfo(sPrcsName + " is ended"); } catch (Exception ex) { @@ -373,11 +342,11 @@ public class DayCloseReturn extends FileWorker { logger.logInfo("=========== executeWJ #### 1" ); applyRefuseDataWJ(new RfCardDataRecord(sTemp)); logger.logInfo("=========== executeWJ #### 2" ); - } + } else if (sTemp.startsWith("H")) { this.sBaseDate = sTemp.substring(1, 9); logger.logInfo(".... file create date : " + sBaseDate); - } + } else if (sTemp.startsWith("T")) { logger.logInfo("=========== executeWJ #### TTT" ); continue; @@ -386,16 +355,9 @@ public class DayCloseReturn extends FileWorker { logger.logInfo("=========== executeWJ 1 : " + file.getName()); Map map = new HashMap(); - logger.logInfo("=========== executeWJ 2 : " + file.getName()); String str = ""; - logger.logInfo("=========== executeWJ 3 : " + file.getName()); - str += "callDayCloseReturnPostpay.do"; - logger.logInfo("=========== executeWJ 4 : " + file.getName()); map.put("refuse", "22"); - logger.logInfo("=========== executeWJ 5 : " + file.getName()); - - logger.logInfo(strUrl + str); str = callWebServicePostJson(strUrl + str, map); logger.logInfo(sPrcsName + " is ended"); } catch (Exception ex) { @@ -422,7 +384,7 @@ public class DayCloseReturn extends FileWorker { String str = "insertDayCloseReturnPostpay.do"; map.put("refuse", record.getItem(RfCardDataRecord.REFUSE_CODE).toString()); - + logger.logInfo("=========== applyRefuseDataWJ 2 "); str = callWebServicePostJson(strUrl + str, map); logger.logInfo("=========== applyRefuseDataWJ 3 "); @@ -483,7 +445,7 @@ public class DayCloseReturn extends FileWorker { sb.append(inputLine); } - // System.out.println("==== " + sb.toString()); + } else { if (connection.getErrorStream() != null) { br = new BufferedReader(new InputStreamReader(connection.getErrorStream(), "UTF-8")); @@ -529,41 +491,41 @@ public class DayCloseReturn extends FileWorker { BufferedReader errorBufferReader = null; String msg = null; boolean result = false; - + List cmdList = new ArrayList(); - + cmdList.add("/bin/sh"); cmdList.add("-c"); - + cmdList.add(cmd); String[] array = cmdList.toArray(new String[cmdList.size()]); - + try { process = runtime.exec(array); - + successBufferReader = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8")); - + while ((msg = successBufferReader.readLine()) != null) { successOutput.append(msg + System.getProperty("line.separator")); } - + errorBufferReader = new BufferedReader(new InputStreamReader(process.getErrorStream(), "UTF-8")); while ((msg = errorBufferReader.readLine()) != null) { errorOutput.append(msg + System.getProperty("line.separator")); } - + process.waitFor(); - + if (process.exitValue() == 0) { result = true; } else { System.out.println("abnormal finish error : " + successOutput.toString()); } - + if (errorOutput.toString().length() > 0) { System.out.println("error : " + errorOutput.toString()); } - + } catch (IOException e) { System.out.println(e.getMessage()); } catch (InterruptedException e) { @@ -596,13 +558,13 @@ public class DayCloseReturn extends FileWorker { } catch (Exception e) { e.printStackTrace(); } - - System.exit(0); + + System.exit(0); } else if(args.length > 2) { System.err.println("총 2개의 args를 입력하지 않았습니다."); System.err.println("sFileDir, sFileName"); - System.exit(0); + System.exit(0); } DayCloseReturn obj = new DayCloseReturn(); @@ -610,6 +572,6 @@ public class DayCloseReturn extends FileWorker { obj.initialize(); obj.callProcManual(args[0], args[1]); } - - + + } diff --git a/src/main/java/center/green/DayCloseReturnTest.java b/src/main/java/center/green/DayCloseReturnTest.java deleted file mode 100644 index 69a08c5..0000000 --- a/src/main/java/center/green/DayCloseReturnTest.java +++ /dev/null @@ -1,220 +0,0 @@ -package center.green; - -import java.io.BufferedOutputStream; -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; -import java.sql.SQLException; -import java.util.HashMap; -import java.util.Map; - -import javax.net.ssl.HttpsURLConnection; - -import org.json.simple.JSONObject; - -import com.base.FileStreamParser; -import com.base.FileWorker; -import com.util.Log4JLogger; -import com.util.Properties; -import com.util.StringUtil; - -import center.data.format.PreCardDataRecord; -import center.data.format.PreCardDataRecordEB; -import center.data.format.RfCardDataRecord; - -public class DayCloseReturnTest extends FileWorker { - - private String strUrl = ""; - private String strType = ""; - - @Override - public void execute() throws Exception { - // TODO Auto-generated method stub - - } - - public void initialize() { - this.TODAY = StringUtil.getDate("yyyyMMdd"); - - this.config = new Properties(); - try { - config.load("/gpta/source-web/cfs/tMoney/NAMSAN/conf/btoll.conf"); - } catch (IOException ie) { - System.err.println("Can not find Configuration file."); - System.exit(0); - } - // log file setting - String fileDir = config.getProperty("file.dir"); - if (fileDir == null) { - System.err.println("Can not find Configuration data : file.dir"); - System.exit(0); - } - try { - logger = new Log4JLogger(fileDir + "MakeData_DayCloseReturn.log"); - logger.logInfo("=== DayCloseReturn Start "); - } catch (Exception e) { - logger.logFail("Creating logger is failed."); - System.exit(0); - } - - this.strUrl = config.getProperty("web.api"); - } - - public void executeVZ() throws Exception { - String sPrcsName = "ApplyResultPreEB"; - try { - - int nReadCount = 0; - System.out.println("=========== executeVZ 1 : " ); - Map map = new HashMap(); - System.out.println("=========== executeVZ 2 : " ); - String str = "callDayCloseReturnPrepayEB.do"; - System.out.println("=========== executeVZ 3 : " ); - map.put("refuse", "32"); - System.out.println("=========== executeVZ 4 : " ); - - System.err.println("================= AAAA "); - System.err.println(strUrl + str); - str = callWebServicePostJson(strUrl + str, map); - System.out.println(".... File Read Count : " + nReadCount); - System.out.println(sPrcsName + " is ended"); - } catch (Exception ex) { - ex.printStackTrace(); - System.out.println(sPrcsName + " apply fail"); - throw ex; - } - } - - private void applyRefuseDataWJ(RfCardDataRecord record) throws SQLException, Exception { - - String sTransactionID = ""; - String sTradeTime = ""; - - Map map = new HashMap(); - map.put("worker_id", sTransactionID.substring(0, 6)); - map.put("fare_id", sTransactionID.substring(0, 2)); - map.put("booth_id", sTransactionID.substring(6, 8)); - map.put("year", sTradeTime.substring(0, 4)); - map.put("month", sTradeTime.substring(4, 6)); - map.put("day", sTradeTime.substring(6, 8)); - map.put("work_times", sTradeTime.substring(8, 14)); - - System.out.println("=========== applyRefuseDataWJ 1 "); - String str = "insertDayCloseReturnPostpay.do"; - map.put("refuse", "22"); - - System.out.println("=========== applyRefuseDataWJ 2 "); - str = callWebServicePostJson(strUrl + str, map); - System.out.println("=========== applyRefuseDataWJ 3 "); - System.out.println(str); - } - - @SuppressWarnings("unchecked") - private String callWebServicePostJson(String uri, Map map) { - HttpURLConnection connection = null; - - System.out.println("callWebServicePostJson uri : " + uri ); - JSONObject jsonParam = new JSONObject(); - for (Map.Entry entry : map.entrySet()) { - jsonParam.put(entry.getKey().toString(), entry.getValue().toString()); - System.out.println("key : " + entry.getKey() + " , value : " + entry.getValue()); - } - - String param = jsonParam.toString(); - - InputStream is = null; - InputStreamReader isr = null; - BufferedReader br = null; - - StringBuffer sb = new StringBuffer(); - try { - URL url = new URL(uri); - connection = (HttpURLConnection) url.openConnection(); - - connection.setDoInput(true); - connection.setDoOutput(true); - connection.setUseCaches(false); - connection.setRequestMethod("POST"); - // 요청응답 타임아웃 설정 - connection.setConnectTimeout(60 * 1000); // 30 sec - // 읽기 타임아웃 설정 - connection.setReadTimeout(60 * 1000); - // connection.setAllowUserInteraction(true); - - // Http Header Setting - connection.setRequestProperty("Accept", "application/json"); - connection.setRequestProperty("Content-Type", "application/json"); - - // Http Parameter Sending - BufferedOutputStream bos = new BufferedOutputStream(connection.getOutputStream()); - bos.write(param.getBytes("UTF-8")); - bos.flush(); - bos.close(); - - int resCode = connection.getResponseCode(); - String inputLine = null; - - System.out.println("==== resCode : " + resCode); - if (resCode == HttpsURLConnection.HTTP_OK) { - is = connection.getInputStream(); - isr = new InputStreamReader(is, "UTF-8"); - br = new BufferedReader(isr); - - while ((inputLine = br.readLine()) != null) { - sb.append(inputLine); - } - - // System.out.println("==== " + sb.toString()); - } else { - if (connection.getErrorStream() != null) { - br = new BufferedReader(new InputStreamReader(connection.getErrorStream(), "UTF-8")); - - while ((inputLine = br.readLine()) != null) { - sb.append(inputLine); - } - - System.out.println("==== Http Error Resopnse : " + sb.toString()); - } else { - } - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - try { - if (is != null) - is.close(); - if (isr != null) - isr.close(); - if (br != null) - br.close(); - } catch (Exception e) { - } - } - - return sb.toString(); - } - - - public static void main(String[] args) { - System.err.println("========================="); - if(args.length < 3) { - System.err.println("총 3개의 args를 입력하지 않았습니다."); - System.err.println("sType, sFileDir, sFileName"); - System.exit(0); - } - - DayCloseReturnTest obj = new DayCloseReturnTest(); - - try { - obj.initialize(); - obj.executeVZ(); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} diff --git a/src/main/java/center/green/FTPUtil.java b/src/main/java/center/green/FTPUtil.java index 3f24930..e1d12b0 100644 --- a/src/main/java/center/green/FTPUtil.java +++ b/src/main/java/center/green/FTPUtil.java @@ -76,16 +76,16 @@ public class FTPUtil { System.setProperty("java.net.preferIPv4Stack", "true"); System.out.println("==> Connecting to " + host); - + // 1. JSch 객체를 생성한다. JSch jsch = new JSch(); try { // 2. 세션 객체를 생성한다(사용자 이름, 접속할 호스트, 포트를 인자로 전달한다.) session = jsch.getSession(user, host, 10040); - + // 3. 패스워드를 설정한다. session.setPassword(password); - + // 4. 세션과 관련된 정보를 설정한다. java.util.Properties config = new java.util.Properties(); // 4-1. 호스트 정보를 검사하지 않는다. @@ -96,47 +96,22 @@ public class FTPUtil { // 5. 접속한다. session.connect(); System.out.println("======== 2: "); - + // 6. sftp 채널을 연다. channel = session.openChannel("sftp"); - + // 7. 채널에 연결한다. channel.connect(); } catch (JSchException e) { e.printStackTrace(); } - + // 8. 채널을 FTP용 채널 객체로 캐스팅한다. channelSftp = (ChannelSftp) channel; System.out.println("==> Connected to " + host); } - public void upload(String dir, File file, boolean isChmod) throws SftpException, IOException { - FileInputStream in = null; - in = new FileInputStream(file); - channelSftp.cd(dir); - channelSftp.put(in, file.getName()); - in.close(); - - if(isChmod == true) { - channelSftp.chmod(511, dir); // Integer.parseInt("777", 8) - channelSftp.chmod(511, file.getName()); - } - } - - public void upload(String dir, File file, String old, String neo) throws SftpException, IOException { - FileInputStream in = null; - - in = new FileInputStream(file); - channelSftp.cd(dir); - channelSftp.put(in, file.getName()); - in.close(); - - channelSftp.chmod(511, dir); // Integer.parseInt("777", 8) - channelSftp.chmod(511, old); - channelSftp.rename(old, neo); - } public void upload2(String dir, File file, String old, String neo) throws SftpException, IOException { System.out.println("==> Uploading: " + file.getPath() ); @@ -144,10 +119,10 @@ public class FTPUtil { try { // 입력 파일을 가져온다. in = new FileInputStream(file); - + // 업로드하려는 위치르 디렉토리를 변경한다. channelSftp.cd(dir); - + // 파일을 업로드한다. channelSftp.put(in, file.getName()); } catch (Exception e) { diff --git a/src/main/java/center/green/RunProc.java b/src/main/java/center/green/RunProc.java deleted file mode 100644 index fedba6b..0000000 --- a/src/main/java/center/green/RunProc.java +++ /dev/null @@ -1,60 +0,0 @@ -package center.green; - -import java.io.IOException; - -import com.util.Properties; - -public class RunProc { - - public static void main(String[] args) { - //System.setProperty("java.net.preferIPv4Stack", "true"); - - if(args.length == 0) { - System.err.println("args를 입력하지 않았습니다."); - System.exit(0); - } - - String runGubun = args[0]; -System.out.println("============== 1"); - if(runGubun.equals("0") == true) { - DayCloseApi obj = new DayCloseApi(); - System.out.println("============== 2"); - obj.initialize(); - obj.execute(); - System.out.println("============== 3"); - } - else if(runGubun.equals("1") == true) { - System.out.println("============== 4"); - Properties config = new Properties(); - try { - config.load("/gpta/source-web/cfs/tMoney/NAMSAN/conf/btoll.conf"); - } - catch (IOException ie) { - System.err.println("Can not find Configuration file."); - System.exit(0); - } - // log file setting - String fileDir = config.getProperty( "file.dir" ); - if(fileDir == null){ - System.out.println("Can not find Configuration data : file.dir"); - System.exit(0); - } - try{ - System.out.println("MakeData.log"); - }catch(Exception e){ - System.out.println("Creating logger is failed."); - System.exit(0); - } - - System.out.println("============== 5"); - TMSendClientGreen obj = new TMSendClientGreen(config); - obj.startup(); - System.out.println("============== 6"); - } - else - System.out.println("=== 잘못된 파라미터 입력 "); - - System.out.println("============== 7"); - } - -} diff --git a/src/main/java/center/green/TMSendClientGreen.java b/src/main/java/center/green/TMSendClientGreen.java index 26b4999..0edf4df 100644 --- a/src/main/java/center/green/TMSendClientGreen.java +++ b/src/main/java/center/green/TMSendClientGreen.java @@ -22,7 +22,7 @@ public class TMSendClientGreen extends CommClient { private int M630_LENGTH = 52; private int M300_LENGTH = 38; private int M310_LENGTH = 39; - + private static String JOB_CODE = "FTP"; private static String ORGANIZATION_CODE = "70000007"; private static int TCPIP_HEADER = 4; @@ -30,16 +30,16 @@ public class TMSendClientGreen extends CommClient { private static String SENDER_FLAG = "E"; private static String USERNAME = "SAMWONFA "; private static String PASSWORD = "samwonfa "; - + private Info fileInfo = null; public boolean isSend = false; - + public TMSendClientGreen(Properties config){ super(config, "TM", "PT" ); System.setProperty("java.net.preferIPv4Stack", "true"); } - + public void setFileInfo(Map map) { fileInfo = new Info(); @@ -58,93 +58,93 @@ public class TMSendClientGreen extends CommClient { public void startup() { try{ - try{ - // 미전송 파일 정보 조회(S:송신,0:미처리) - logInfo("==============TMSendClientGreen A "); - if( fileInfo != null ){ - logInfo("==============TMSendClientGreen B"); - // 통신 소켓 Open - logInfo("============== : " + sOrgPort); - socket = new Socket(sOrgAddr, Integer.parseInt(sOrgPort)); - logInfo("CONNECT"); - reader = socket.getInputStream(); - writer = socket.getOutputStream(); - - nSeq = fileInfo.getLong("SEQ"); - - // 레코드 길이 - this.nDataSize = fileInfo.getInt("REC_LEN"); - // 레코드 건수 - this.nDataCount = fileInfo.getInt("REC_CNT"); - // 블럭당 시퀀스 개수 - this.nSequenceCount = fileInfo.getInt("SEQ_CNT"); - // 파일전송코드 - this.sFileCode = fileInfo.getString("FILE_NAME"); - // 파일명 - this.sFileName = fileInfo.getString("FILE_NAME"); - // 파일 디렉토리 - this.sFileDir = fileInfo.getString("DIR_NAME"); - logInfo("REC_LEN : " + nDataSize); - logInfo("REC_CNT : " + nDataCount); - logInfo("SEQ_CNT : " + nSequenceCount); - logInfo("FILE_CODE : " + sFileCode); - logInfo("FILE_NAME : " + sFileName); - logInfo("DIR_NAME : " + sFileDir); - File fSendFile = new File(sFileDir, sFileName); - - logInfo("==============TMSendClientGreen C "); - logInfo(""); - logInfo("File Send START"); - logInfo("Send File : " + sFileName); - logInfo("Send File Size: " + fSendFile.length()); - // 파일 전송 - logInfo("==============TMSendClientGreen D "); - // 티머니 테스트 용 실제 운영시 주석 제외 - int nReturn = 0; //sendFile(fSendFile); - logInfo("==============TMSendClientGreen E "); - logInfo("File Send END ["+nReturn+"]"); - - - String command = String.format("sh /gpta/source-web/cfs/tMoney/NAMSAN/bin/sendFileMove.sh %s", sFileName); - DayCloseReturn.shellCmd(command); - } - else { // 전송자료 미존재 - // 5 Min Sleep - logInfo("==============TMSendClientGreen F "); - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) { - logInfo("==============TMSendClientGreen G "); - } - } - }catch (ConnectException ce) { // 네트워크 연결 오류 - if (logger != null) logFail(" " + ce.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch (SocketException se) { // 소켓 오류 - if (logger != null) logFail(" " + se.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch(IOException ioe){ // System 오류 - if (logger != null) { - logFail(" " + ioe.getMessage()); - logDebug(ioe); - } - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch(Exception ex){ // System 오류 - if (logger != null) { - logFail(" " + ex.getMessage()); - logDebug(ex); - } - // 10 Min Sleep - try { Thread.sleep(SLEEP_10_MIN); } catch (InterruptedException ie) {} - }finally{ - try{ if(reader!=null) reader.close(); }catch(Exception e){} - try{ if(writer!=null) writer.close(); }catch(Exception e){} - try{ if(socket!=null) socket.close(); }catch(Exception e){} + + try{ + // 미전송 파일 정보 조회(S:송신,0:미처리) + logInfo("==============TMSendClientGreen A "); + if( fileInfo != null ){ + logInfo("==============TMSendClientGreen B"); + // 통신 소켓 Open + logInfo("============== : " + sOrgPort); + socket = new Socket(sOrgAddr, Integer.parseInt(sOrgPort)); + logInfo("CONNECT"); + reader = socket.getInputStream(); + writer = socket.getOutputStream(); + + nSeq = fileInfo.getLong("SEQ"); + + // 레코드 길이 + this.nDataSize = fileInfo.getInt("REC_LEN"); + // 레코드 건수 + this.nDataCount = fileInfo.getInt("REC_CNT"); + // 블럭당 시퀀스 개수 + this.nSequenceCount = fileInfo.getInt("SEQ_CNT"); + // 파일전송코드 + this.sFileCode = fileInfo.getString("FILE_NAME"); + // 파일명 + this.sFileName = fileInfo.getString("FILE_NAME"); + // 파일 디렉토리 + this.sFileDir = fileInfo.getString("DIR_NAME"); + logInfo("REC_LEN : " + nDataSize); + logInfo("REC_CNT : " + nDataCount); + logInfo("SEQ_CNT : " + nSequenceCount); + logInfo("FILE_CODE : " + sFileCode); + logInfo("FILE_NAME : " + sFileName); + logInfo("DIR_NAME : " + sFileDir); + File fSendFile = new File(sFileDir, sFileName); + + logInfo("==============TMSendClientGreen C "); + logInfo(""); + logInfo("File Send START"); + logInfo("Send File : " + sFileName); + logInfo("Send File Size: " + fSendFile.length()); + // 파일 전송 + logInfo("==============TMSendClientGreen D "); + // 티머니 테스트 용 실제 운영시 주석 제외 + int nReturn = 0; //sendFile(fSendFile); + logInfo("==============TMSendClientGreen E "); + logInfo("File Send END ["+nReturn+"]"); + + + String command = String.format("sh /gpta/source-web/cfs/tMoney/NAMSAN/bin/sendFileMove.sh %s", sFileName); + DayCloseReturn.shellCmd(command); + } else { // 전송자료 미존재 + // 5 Min Sleep + logInfo("==============TMSendClientGreen F "); + try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) { + logInfo("==============TMSendClientGreen G "); + } + } + }catch (ConnectException ce) { // 네트워크 연결 오류 + if (logger != null) logFail(" " + ce.getMessage()); + // 5 Min Sleep + try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} + }catch (SocketException se) { // 소켓 오류 + if (logger != null) logFail(" " + se.getMessage()); + // 5 Min Sleep + try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} + }catch(IOException ioe){ // System 오류 + if (logger != null) { + logFail(" " + ioe.getMessage()); + logDebug(ioe); } - // 2 Sec Sleep - try { Thread.sleep( SLEEP_02_SEC ); } catch (InterruptedException ie) {} - + // 5 Min Sleep + try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} + }catch(Exception ex){ // System 오류 + if (logger != null) { + logFail(" " + ex.getMessage()); + logDebug(ex); + } + // 10 Min Sleep + try { Thread.sleep(SLEEP_10_MIN); } catch (InterruptedException ie) {} + }finally{ + try{ if(reader!=null) reader.close(); }catch(Exception e){} + try{ if(writer!=null) writer.close(); }catch(Exception e){} + try{ if(socket!=null) socket.close(); }catch(Exception e){} + } + // 2 Sec Sleep + try { Thread.sleep( SLEEP_02_SEC ); } catch (InterruptedException ie) {} + }catch(Exception e){ logDebug(e); }finally{ @@ -161,7 +161,7 @@ public class TMSendClientGreen extends CommClient { */ public int sendFile(File file) throws Exception{ int nReturn = 0; - + try { int nBlockNo = 1; String sMessage, sSendMsg, sMsgLength = null; @@ -175,16 +175,16 @@ public class TMSendClientGreen extends CommClient { if( nFileSize == 0 ){ nReturn = 4; return nReturn; - } + } // ------------------------------------- // // 업무개시전문 송신 (0600 / 001) // ------------------------------------- // sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0600"+GUBUN_CODE+SENDER_FLAG - + " " - + "000" + + " " + + "000" + dateFormat.format(new Date()) + "001"+USERNAME+PASSWORD; - sMsgLength = StringUtil.ltos(sSendMsg.length(), 4); + sMsgLength = StringUtil.ltos(sSendMsg.length(), 4); logInfo("=== send 0600 001 : " + sMsgLength+sSendMsg); sMessage = dialogMessage(sMsgLength+sSendMsg, M600_LENGTH + TCPIP_HEADER).substring(TCPIP_HEADER); logInfo("=== recv 0610 001 : " + sMessage); @@ -198,10 +198,10 @@ public class TMSendClientGreen extends CommClient { // 파일수신 요청전문 송신 (0630) // ------------------------------------- // sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0630"+GUBUN_CODE+SENDER_FLAG - + sFileCode - + "000" + + sFileCode + + "000" + sFileName - + StringUtil.ltos(nFileSize , 12) + + StringUtil.ltos(nFileSize , 12) + StringUtil.ntos(nRecordSize + M310_LENGTH, 4); sMsgLength = StringUtil.ltos(sSendMsg.length(), 4); @@ -217,7 +217,7 @@ public class TMSendClientGreen extends CommClient { throw new MessageException(sMessage); } - logInfo("====== 12"); + logInfo("====== 12"); logInfo("====== : " + sMessage.substring(36, 48)); String str = sMessage.substring(36, 48); // 센터에 이미 파일이 존재하면 그 크기만큼 파일을 스킵한다. @@ -231,22 +231,22 @@ public class TMSendClientGreen extends CommClient { // 한 블럭(최대 100개의 레코드)의 데이터를 파일로부터 읽어들인다. for( int i = 0, nRecordNo = 1; i< nSequenceCount; i++, nRecordNo++){ // setting offset for reading file data - long nOffSet + long nOffSet = ((nBlockNo-1)*nSequenceCount*nRecordSize) + (i*nRecordSize) + nRemoteFileSize; if( nOffSet+1 > nFileSize ) { // offset 이 파일크기보다 클때 종료 - break; + break; } byte [] buff // 파일 Read - = getFileData(fileAccess, nOffSet, nRecordSize); + = getFileData(fileAccess, nOffSet, nRecordSize); // ------------------------------------- // // 데이터 전송 (0320) // ------------------------------------- // sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0320"+GUBUN_CODE+SENDER_FLAG - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nRecordNo, 3) + + sFileCode + + "000" + + StringUtil.ntos(nBlockNo, 4) + + StringUtil.ntos(nRecordNo, 3) + StringUtil.ntos(buff.length, 4); sMsgLength = StringUtil.ltos(sSendMsg.length()+buff.length, 4); sendBinaryMessage((sMsgLength+sSendMsg).getBytes()); // send message header @@ -255,7 +255,7 @@ public class TMSendClientGreen extends CommClient { System.out.print("#"); } logInfo("# "); - + // 송신할 레코드가 없을 경우 송신을 완료한다. if (nCount == 0) { break; @@ -265,9 +265,9 @@ public class TMSendClientGreen extends CommClient { // 결번확인 요청 및 응답 (0620, 0300) // ------------------------------------- // sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0620"+GUBUN_CODE+SENDER_FLAG - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) + + sFileCode + + "000" + + StringUtil.ntos(nBlockNo, 4) + StringUtil.ntos(nCount, 3) ; sMsgLength = StringUtil.ltos(sSendMsg.length(), 4); @@ -289,22 +289,22 @@ public class TMSendClientGreen extends CommClient { for (int i = 0; i < nMissing.length; i++) { int nMissNo = nMissing[i]; // setting offset for reading file data - long nOffSet + long nOffSet = ((nBlockNo-1)*nSequenceCount*nRecordSize) + ((nMissNo-1) * nRecordSize)+nRemoteFileSize; - + if( nOffSet > nFileSize ) { // offset 이 파일크기보다 클때 종료 - break; + break; } byte [] buff // 파일 Read - = getFileData(fileAccess, nOffSet, nRecordSize); + = getFileData(fileAccess, nOffSet, nRecordSize); // ------------------------------------- // // 결번 데이터 전송 (0310) // ------------------------------------- // sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0310"+GUBUN_CODE+SENDER_FLAG - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nMissNo, 3) + + sFileCode + + "000" + + StringUtil.ntos(nBlockNo, 4) + + StringUtil.ntos(nMissNo, 3) + StringUtil.ntos(buff.length, 4); sMsgLength = StringUtil.ltos(sSendMsg.length()+buff.length, 4); sendBinaryMessage((sMsgLength+sSendMsg).getBytes()); // send message header @@ -323,8 +323,8 @@ public class TMSendClientGreen extends CommClient { // 파일수신 종료전문 송신 (0600 / 003) // ------------------------------------- // sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0600"+GUBUN_CODE+SENDER_FLAG - + sFileCode - + "000" + + sFileCode + + "000" + dateFormat.format(new Date()) + "003"+USERNAME+PASSWORD; sMsgLength = StringUtil.ltos(sSendMsg.length(), 4); @@ -340,8 +340,8 @@ public class TMSendClientGreen extends CommClient { // 종료전문 송신 (0600 / 004) // ------------------------------------- // sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0600"+GUBUN_CODE+SENDER_FLAG - + " " - + "000" + + " " + + "000" + dateFormat.format(new Date()) + "004"+USERNAME+PASSWORD; sMsgLength = StringUtil.ltos(sSendMsg.length(), 4); @@ -353,7 +353,7 @@ public class TMSendClientGreen extends CommClient { nReturn = 3; throw new MessageException(sMessage); } - + this.isSend = true; }catch (FileNotFoundException fe) { // 파일 미존재 nReturn = 1; @@ -391,7 +391,7 @@ public class TMSendClientGreen extends CommClient { System.arraycopy(buf, 0, dest, 0, nLen); buf = dest; } - return buf; + return buf; } /** * 스트링에서 결번을 읽어들인다.('0': 미수신, '1': 수신) @@ -413,7 +413,7 @@ public class TMSendClientGreen extends CommClient { } int [] nMissing = new int[index]; System.arraycopy(intArr, 0, nMissing, 0, index); - + return nMissing; } /** @@ -422,8 +422,8 @@ public class TMSendClientGreen extends CommClient { * @return String */ public String CMDFAIL(String sErrorCode) { - String sFailMsg = "FTP 0600RC " - + sErrorCode // error code + String sFailMsg = "FTP 0600RC " + + sErrorCode // error code + dateFormat.format(new Date()) + "004"+USERNAME+PASSWORD; String sMsgLength = StringUtil.ltos(sFailMsg.length(), 4); diff --git a/src/main/java/center/green/test.java b/src/main/java/center/green/test.java deleted file mode 100644 index c529df2..0000000 --- a/src/main/java/center/green/test.java +++ /dev/null @@ -1,83 +0,0 @@ -package center.green; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.io.UnsupportedEncodingException; - -public class test { - - public static void main(String[] args) { - String str = "123하1234"; - // default charset으로 인코딩된 바이트 배열 - byte[] bytes = str.getBytes(); - // 인코딩된 바이트 출력 - System.out.print("Default charset encoding: "); - - System.out.println(); - // default charset으로 디코딩된 문자열 출력 - String decoded = new String(bytes); - System.out.println(decoded); - - System.out.println(); - try { - // UTF-8로 인코딩된 바이트 배열 - bytes = str.getBytes("UTF-8"); - System.out.print("UTF-8 charset encoding: "); - for (int i = 0; i < bytes.length; i++) - System.out.print(bytes[i] + " "); - System.out.println(); - // 이 바이트 배열을 default charset으로 디코딩된 문자열 출력 : charset이 다르므로 한글이 깨짐. - decoded = new String(bytes); - System.out.println(decoded); - // 인코딩된 UTF-8로 디코딩되어 한글이 깨지지 않음. - decoded = new String(bytes, "UTF-8"); - System.out.println(decoded); - - System.out.println("================= "); - - // euc-kr로 인코딩된 바이트 배열 - bytes = str.getBytes("euc-kr"); - System.out.println(bytes.length); - System.out.print("euc-kr charset encoding: "); - for (int i = 0; i < bytes.length; i++) - System.out.print(bytes[i] + " "); - System.out.println(); - // 이 바이트 배열을 default charset으로 디코딩된 문자열 출력 : charset이 다르므로 한글이 깨짐. - decoded = new String(bytes); - System.out.println(decoded); - System.out.println(decoded.getBytes().length); - // 인코딩된 UTF-8로 디코딩되어 한글이 깨지지 않음. - decoded = new String(bytes, "euc-kr"); - System.out.println(decoded); - - System.out.println(decoded.getBytes().length); - - - } catch (UnsupportedEncodingException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - - try{ - File file = new File("./aaa.txt"); - FileOutputStream fos = new FileOutputStream(file); - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - baos.write(bytes, 0, bytes.length);; - - fos.write(baos.toByteArray()); - fos.close(); - - baos.close(); - }catch(Throwable e){ - e.printStackTrace(System.out); - } - - - - - } - -} diff --git a/src/main/java/center/online/OnCommon.java b/src/main/java/center/online/OnCommon.java deleted file mode 100644 index 6bfd701..0000000 --- a/src/main/java/center/online/OnCommon.java +++ /dev/null @@ -1,176 +0,0 @@ -package center.online; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.ServerSocket; -import java.net.Socket; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; - -import com.exception.AppException; -import com.util.Log4JLogger; -import com.util.Properties; -import com.util.StringUtil; - -import center.transfer.Constant; -/** - * 데이터 수신 서버 공통 클래스 - * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class OnCommon { - - protected Properties config; - protected String ip; - protected int port; - protected Log4JLogger logger; - protected InputStream reader; - protected OutputStream writer; - - protected Socket sock = null; - protected ServerSocket serverSocket; - protected int logLevel = 3; - - protected int TIME_OUT = 1 * 60 * 1000; - - /** - * DB Connection 처리 - */ - protected final Connection getConnection() throws Exception { - //String driver = config.getProperty("db.driver"); - String url = config.getProperty("db.url"); - String user = config.getProperty("db.user"); - String password = config.getProperty("db.password"); - // 드라이버 로드 위치 변경. --> OnServer01.startup() - //try { - // Class.forName(driver); - //} catch(ClassNotFoundException cnfe) { - // throw new Exception("ClassNotFoundException : " + driver); - //} - - try { - return DriverManager.getConnection(url, user, password); - } catch(SQLException se) { - se.printStackTrace(); - throw new AppException("Cannot get connection : " + url); - } - } - - /* 전문 생성 */ - protected String makeMessage(String sMsgCode, int nLength, String sReturnCode, String sMessage) { - String sLength = StringUtil.justify(StringUtil.RIGHT, String.valueOf(nLength) ,"0", 4); - return "S" + sMsgCode + sLength + sReturnCode + sMessage + "E"; - } - - /* 메시지를 전송한다. */ - protected final void sendMessage(String sMessage) throws IOException { - writer.write(sMessage.getBytes()); - writer.flush(); - if (logger != null) { - logger.logInfo("SEND [" + sMessage + "]"); - } - } - - /** 메시지를 수신시데이터작부를 검사한다. */ - protected final boolean checkSTX() throws IOException { - byte[] buf = new byte[1]; - reader.read(buf, 0, 1); - return 'S' == buf[0] ? true : false; - } - - /** 메시지를 수신데이터마지막부를 검사한다. */ - protected final boolean checkETX() throws IOException { - byte[] buf = new byte[1]; - reader.read(buf, 0, 1); - return 'E' == buf[0] ? true : false; - } - - /** 메시지를 수신한다. */ - protected final String recvMessage(int nLength) throws IOException { - byte[] buf = new byte[nLength]; - int start = 0, reads = 0, length = nLength; - - do { - start += reads; - length -= reads; - reads = reader.read(buf, start, length); - - if (reads < 0) { - throw new IOException("read past eof."); - } - } while (reads < length); - - String sMessage = new String(buf,0, nLength); - - if (logger != null) { - logger.logInfo("RECV [" + sMessage + "]"); - } - return sMessage; - } - /** - * 디버그 모드로 로그 출력 - * @param message - */ - protected final void logDebug(String message) { - if (logLevel >= Constant.LOGLEVEL_DEBUG) { - logger.logDebug(message); - } - } - /** - * 디버그 모드로 예외 출력 - * @param message - */ - protected final void logDebug(Exception ex) { - if (logLevel >= Constant.LOGLEVEL_DEBUG) { - logger.logTrace(ex); - } - } - /** - * 정보 모드로 로그 출력 - * @param message - */ - protected final void logInfo(String message) { - if (logLevel >= Constant.LOGLEVEL_INFO) { - logger.logInfo(message); - } - } - /** - * 경고 모드로 로그 출력 - * @param message - */ - protected final void logWarn(String message) { - if (logLevel >= Constant.LOGLEVEL_WARN) { - logger.logWarn(message); - } - } - /** - * 경고 모드로 예외 출력 - * @param message - */ - protected final void logWarn(Exception ex) { - if (logLevel >= Constant.LOGLEVEL_WARN) { - logger.logTrace(ex); - } - } - /** - * 장애 모드로 로그 출력 - * @param message - */ - protected final void logFail(String message) { - if (logLevel >= Constant.LOGLEVEL_ERROR) { - logger.logFail(message); - } - } - /** - * 장애 모드로 예외 출력 - * @param message - */ - protected final void logFail(Exception ex) { - if (logLevel >= Constant.LOGLEVEL_ERROR) { - logger.logTrace(ex); - } - } -} \ No newline at end of file diff --git a/src/main/java/center/online/OnServer01.java b/src/main/java/center/online/OnServer01.java deleted file mode 100644 index d9420ab..0000000 --- a/src/main/java/center/online/OnServer01.java +++ /dev/null @@ -1,226 +0,0 @@ -package center.online; - -import java.io.IOException; -import java.net.ServerSocket; -import java.net.SocketException; -import java.sql.Connection; -import java.sql.SQLException; - -import com.util.Log4JLogger; -import com.util.Properties; - -import center.online.process.DefaultFareReadInfo; -import center.online.process.FareAdjustInfo; -import center.online.process.FareTerminalInfo; -import center.online.process.RFRepayInfo; -import center.online.process.RFTerminalInfo; -/** - * 남산 1호로부터 실시간 데이터 수신 - * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class OnServer01 extends OnCommon { - - private String sServerCode = "01"; - - public OnServer01(Properties config) { - this.config = config; - } - - /** - * startup - */ - public void startup() { - - // Logger Create - try { - String sLogDir = config.getProperty( "log.dir" ); - this.logger = new Log4JLogger( sLogDir + "OnServer_"+sServerCode+".log" ); - // 로그 레벨 지정 - String sLogLevel = config.getProperty( "log.level" ); - if( sLogLevel != null ) this.logLevel = Integer.parseInt( sLogLevel ); - } catch ( Exception e ) { - System.out.println( "로거를 생성하지 못했습니다.\n" + e.getMessage() ); - System.exit(1); - } - - try{ - this.port = Integer.parseInt(config.getProperty( "server_"+sServerCode+".port" )); - } catch(Exception e) { - logger.logFail("ERROR : 서버 포트번호가 지정되지 않았습니다."); - System.exit(1); - } - // db driver setting - String driver = null; - try{ - driver = config.getProperty("db.driver"); - if( driver == null ) throw new Exception (); - }catch(Exception e){ - System.err.println("ERROR : DB driver가 지정되지 않았습니다."); - System.exit(1); - } - try{ - Class.forName(driver); - }catch(ClassNotFoundException cnfe){ - System.err.println("ClassNotFoundException : " + driver); - System.exit(1); - } - } - /** - * 실행 - */ - public void run() { - try{ - serverSocket = new ServerSocket(port); - while (true) { - try { - sock = serverSocket.accept(); - sock.setSoTimeout(TIME_OUT); - - // logInfo(sock.toString()); // 접근 IP check - reader = sock.getInputStream(); - writer = sock.getOutputStream(); - execute(); - } catch (SocketException se ) { - logFail( se.getMessage() ); - } catch (IOException ie ) { - logFail( ie ); - } catch(Exception ex ){ - logFail( ex ); - } finally{ - try { if(reader!=null) reader.close(); } catch (Exception e) {} - try { if(writer!=null) writer.close(); } catch (Exception e) {} - try { if(sock!=null) sock.close(); } catch (Exception e) {} - } - } - } catch(Exception e) { - System.out.println("Exception port:"+port); - e.printStackTrace(); - } - } - - /** - * 온라인 메시지 수신 로직 - * @throws IOException - * @throws Exception - */ - public void execute() throws IOException, Exception{ - String sReturn = null; - Connection conn = null; - String sMsgComm = null; - String sMsgData = null; - String sMsgCode = null; - String sMsgSize = null; - - try { - FareTerminalInfo fareTerminal = new FareTerminalInfo(); - FareAdjustInfo fareAdjust = new FareAdjustInfo(); - RFTerminalInfo rfTerminal = new RFTerminalInfo(); - DefaultFareReadInfo defaultFareRead = new DefaultFareReadInfo(); - RFRepayInfo rfRepayInfo = new RFRepayInfo(); - - conn = this.getConnection(); - - while (true) { - if (checkSTX() == false) return; //continue; - sMsgComm = recvMessage(10); - sMsgCode = sMsgComm.substring(0, 3); - sMsgSize = sMsgComm.substring(3, 7); - //String sRtnCode = sMsgComm.substring(7,10); - - int nSize; - try { - nSize = Integer.parseInt(sMsgSize); - } catch (Exception e) { - sReturn = "800"; // 전문 오류 - throw e; - } - - sMsgData = recvMessage(Integer.parseInt(sMsgSize)); - if (checkETX() == false) { - logFail("전송 레코드의 끝표시값이 이상합니다."); - return ; //break; - } - - try { - if( sMsgCode.equals("001")) // Fare_Terminal_Info - sReturn = fareTerminal.applyData(sMsgData, logger, conn); - else if( sMsgCode.equals("002")) // Fare_Adjust_Info - sReturn = fareAdjust.applyData(sMsgData, logger, conn); - else if( sMsgCode.equals("003")) // RF_Terminal_Info - sReturn = rfTerminal.applyData(sMsgData, logger, conn); - else if( sMsgCode.equals("004")) // Default_Fare_Read_Info - sReturn = defaultFareRead.applyData(sMsgData, logger, conn); - else if( sMsgCode.equals("005")) // RF_Repay_INFO - sReturn = rfRepayInfo.applyData(sMsgData, logger, conn); - else - sReturn = "800"; // 전문 오류 - } catch (SQLException ex) { - int ERROR_CODE = ex.getErrorCode(); - if(ERROR_CODE==1){ - sReturn = "001"; // 무결성 제약 조건 ERROR - }else{ - sReturn = "900"; // SQLException - logFail("[ERROR 900] " + ex.getMessage()); - logFail("[ERROR 900] " + sMsgData ); - logFail(ex); - } - } - - sendMessage( makeMessage(sMsgCode, 0 ,sReturn, "") ); - } - } catch (Exception ex) { - sendMessage( makeMessage( sMsgCode, 0 ,"999", "") ); - logFail("[ERROR 999] " + ex.getMessage()); - logFail("[ERROR 999] [" + sMsgComm + sMsgData +"]"); - logFail(ex); - throw ex; - } finally { - try { if( conn != null ) conn.close(); } catch(Exception e) {} - } - } - /** - * Help 메시지 출력 - */ - public static void showHelp(String sClass) { - System.err.println("Command :"); - System.err.println("\tjava" + " -Donline.conf=CONFIG_FILE " + sClass); - System.err.println(""); - } - /** - * main - */ - public static void main(String[] args) { - try { - if(args.length != 0){ - showHelp("center.online.OnServer01"); - System.exit(0); - } - - String sConfFile = System.getProperty("online.conf"); - if (sConfFile == null) { - showHelp("center.online.OnServer01"); - System.exit(0); - } - - Properties config = new Properties(); - try { - config.load(sConfFile); - } - catch (IOException ie) { - System.err.println("환경파일을 읽어 들일 수 없습니다."); - System.exit(0); - } - - OnServer01 server = new OnServer01(config); - server.startup(); - server.run(); - } - catch (Exception ex) { - System.err.println("데몬을 구동하는데 실패했습니다."); - ex.printStackTrace(); - } - } - -} diff --git a/src/main/java/center/online/OnServer03.java b/src/main/java/center/online/OnServer03.java deleted file mode 100644 index de0b41b..0000000 --- a/src/main/java/center/online/OnServer03.java +++ /dev/null @@ -1,226 +0,0 @@ -package center.online; - -import java.io.IOException; -import java.net.ServerSocket; -import java.net.SocketException; -import java.sql.Connection; -import java.sql.SQLException; - -import com.util.Log4JLogger; -import com.util.Properties; - -import center.online.process.DefaultFareReadInfo; -import center.online.process.FareAdjustInfo; -import center.online.process.FareTerminalInfo; -import center.online.process.RFRepayInfo; -import center.online.process.RFTerminalInfo; -/** - * 남산 3호로부터 실시간 데이터 수신 - * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class OnServer03 extends OnCommon { - - private String sServerCode = "03"; - - public OnServer03(Properties config) { - this.config = config; - } - - /** - * startup - */ - public void startup() { - // Logger Create - try { - String sLogDir = config.getProperty( "log.dir" ); - this.logger = new Log4JLogger( sLogDir + "OnServer_"+sServerCode+".log" ); - // 로그 레벨 지정 - String sLogLevel = config.getProperty( "log.level" ); - if( sLogLevel != null ) this.logLevel = Integer.parseInt( sLogLevel ); - } catch ( Exception e ) { - System.out.println( "로거를 생성하지 못했습니다.\n" + e.getMessage() ); - System.exit(1); - } - - try{ - this.port = Integer.parseInt(config.getProperty( "server_"+sServerCode+".port" )); - } catch(Exception e) { - logger.logFail("ERROR : 서버 포트번호가 지정되지 않았습니다."); - System.exit(1); - } - // db driver setting - String driver = null; - try{ - driver = config.getProperty("db.driver"); - if( driver == null ) throw new Exception (); - }catch(Exception e){ - System.err.println("ERROR : DB driver가 지정되지 않았습니다."); - System.exit(1); - } - try{ - Class.forName(driver); - }catch(ClassNotFoundException cnfe){ - System.err.println("ClassNotFoundException : " + driver); - System.exit(1); - } - } - /** - * 실행 - */ - public void run() { - try{ - serverSocket = new ServerSocket(port); - - while (true) { - try { - sock = serverSocket.accept(); - sock.setSoTimeout(TIME_OUT); - - // logInfo(sock.toString()); // 접근 IP check - reader = sock.getInputStream(); - writer = sock.getOutputStream(); - execute(); - } catch (SocketException se ) { - logFail( se.getMessage() ); - } catch (IOException ie ) { - logFail( ie ); - } catch(Exception ex ){ - logFail( ex ); - } finally{ - try { if(reader!=null) reader.close(); } catch (Exception e) {} - try { if(writer!=null) writer.close(); } catch (Exception e) {} - try { if(sock!=null) sock.close(); } catch (Exception e) {} - } - } - } catch(Exception e) { - System.out.println("Exception port:"+port); - e.printStackTrace(); - } - } - - /** - * 온라인 메시지 수신 로직 - * @throws IOException - * @throws Exception - */ - public void execute() throws IOException, Exception{ - String sReturn = null; - Connection conn = null; - String sMsgComm = null; - String sMsgData = null; - String sMsgCode = null; - String sMsgSize = null; - - try { - FareTerminalInfo fareTerminal = new FareTerminalInfo(); - FareAdjustInfo fareAdjust = new FareAdjustInfo(); - RFTerminalInfo rfTerminal = new RFTerminalInfo(); - DefaultFareReadInfo defaultFareRead = new DefaultFareReadInfo(); - RFRepayInfo rfRepayInfo = new RFRepayInfo(); - - conn = this.getConnection(); - - while (true) { - if (checkSTX() == false) return; //continue; - sMsgComm = recvMessage(10); - sMsgCode = sMsgComm.substring(0, 3); - sMsgSize = sMsgComm.substring(3, 7); - //String sRtnCode = sMsgComm.substring(7,10); - - int nSize; - try { - nSize = Integer.parseInt(sMsgSize); - } catch (Exception e) { - sReturn = "800"; // 전문 오류 - throw e; - } - - sMsgData = recvMessage(Integer.parseInt(sMsgSize)); - if (checkETX() == false) { - logFail("전송 레코드의 끝표시값이 이상합니다."); - return ; //break; - } - - try { - if( sMsgCode.equals("001")) // Fare_Terminal_Info - sReturn = fareTerminal.applyData(sMsgData, logger, conn); - else if( sMsgCode.equals("002")) // Fare_Adjust_Info - sReturn = fareAdjust.applyData(sMsgData, logger, conn); - else if( sMsgCode.equals("003")) // RF_Terminal_Info - sReturn = rfTerminal.applyData(sMsgData, logger, conn); - else if( sMsgCode.equals("004")) // Default_Fare_Read_Info - sReturn = defaultFareRead.applyData(sMsgData, logger, conn); - else if( sMsgCode.equals("005")) // RF_Repay_INFO - sReturn = rfRepayInfo.applyData(sMsgData, logger, conn); - else - sReturn = "800"; // 전문 오류 - } catch (SQLException ex) { - int ERROR_CODE = ex.getErrorCode(); - if(ERROR_CODE==1){ - sReturn = "001"; // 무결성 제약 조건 ERROR - }else{ - sReturn = "900"; // SQLException - logFail("[ERROR 900] " + ex.getMessage()); - logFail("[ERROR 900] " + sMsgData ); - logFail(ex); - } - } - - sendMessage( makeMessage(sMsgCode, 0 ,sReturn, "") ); - } - } catch (Exception ex) { - sendMessage( makeMessage( sMsgCode, 0 ,"999", "") ); - logFail("[ERROR 999] " + ex.getMessage()); - logFail("[ERROR 999] [" + sMsgComm + sMsgData +"]"); - logFail(ex); - throw ex; - } finally { - try { if( conn != null ) conn.close(); } catch(Exception e) {} - } - } - /** - * Help 메시지 출력 - */ - public static void showHelp(String sClass) { - System.err.println("Command :"); - System.err.println("\tjava" + " -Donline.conf=CONFIG_FILE " + sClass); - System.err.println(""); - } - /** - * main - */ - public static void main(String[] args) { - try { - if(args.length != 0){ - showHelp("center.online.OnServer03"); - System.exit(0); - } - - String sConfFile = System.getProperty("online.conf"); - if (sConfFile == null) { - showHelp("center.online.OnServer03"); - System.exit(0); - } - - Properties config = new Properties(); - try { - config.load(sConfFile); - } - catch (IOException ie) { - System.err.println("환경파일을 읽어 들일 수 없습니다."); - System.exit(0); - } - - OnServer03 server = new OnServer03(config); - server.startup(); - server.run(); - } - catch (Exception ex) { - System.err.println("데몬을 구동하는데 실패했습니다."); - ex.printStackTrace(); - } - } - -} diff --git a/src/main/java/center/online/process/DefaultFareReadInfo.java b/src/main/java/center/online/process/DefaultFareReadInfo.java deleted file mode 100644 index 5c2bbd4..0000000 --- a/src/main/java/center/online/process/DefaultFareReadInfo.java +++ /dev/null @@ -1,150 +0,0 @@ -package center.online.process; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.exception.IllegalRecordException; -import com.util.Log4JLogger; -/** - * 미납차량 판독정보 데이터 실시간 반영
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class DefaultFareReadInfo { - - private byte [] record; - private StringBuffer sbInsert = new StringBuffer(); - /** - * Constructor - */ - public DefaultFareReadInfo(){ - sbInsert.append("INSERT INTO DEFAULT_FARE_READ_INFO ( WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, "); - sbInsert.append(" DAY, WORK_TIMES, SEQNO, COLLECT_ID, READING_ID, CARS_MOVE_PICTURE_FILE, CARS_STOP_PICTURE_FILE, "); - sbInsert.append(" CAR_NO, READING_DATE, X_POSITION, Y_POSITION, GARO_LEN, SERO_LEN, CREATE_DATE, CREATER, "); - sbInsert.append(" UPDATE_DATE, UPDATER "); - sbInsert.append(") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,TO_DATE(?,'yyyymmddhh24miss'),?,?,?,?, "); - sbInsert.append(" SYSDATE, 'ONLINEPROC', SYSDATE, 'ONLINEPROC')"); - } - /** - * 데이터 반영 - * @param sData - * @param logger - * @param conn - * @return String - * @throws SQLException - * @throws Exception - */ - public String applyData(String sData, Log4JLogger logger, Connection conn) throws SQLException, Exception{ - PreparedStatement psInsert = null; - - try{ - record = sData.getBytes(); - // 송신 파일 정보 등록 - int idx = 1; - psInsert = conn.prepareStatement(sbInsert.toString()); - psInsert.setString(idx ++, getItem(WORKER_ID ) ); // 근무자 ID - psInsert.setString(idx ++, getItem(FARE_OFFICE_ID ) ); // 요금소 코드 - psInsert.setString(idx ++, getItem(BOOTH_ID ) ); // 차로코드 - psInsert.setString(idx ++, getItem(YEAR ) ); // 년도 - psInsert.setString(idx ++, getItem(MONTH ) ); // 월 - psInsert.setString(idx ++, getItem(DAY ) ); // 일 - psInsert.setString(idx ++, getItem(WORK_TIMES ) ); // 근무시간 - psInsert.setInt (idx ++, Integer.parseInt(getItem(SEQNO ))); // 일련번호 - psInsert.setString(idx ++, getItem(COLLECT_ID ) ); // 징수유형코드 - psInsert.setString(idx ++, getItem(READING_ID ) ); // 판독구분 코드 - psInsert.setString(idx ++, getItem(CARS_MOVE_PICTURE_FILE).trim() ); // 차량 동영상 정보 - psInsert.setString(idx ++, getItem(CARS_STOP_PICTURE_FILE).trim() ); // 차량 정지화상 정보 - psInsert.setString(idx ++, getItem(CAR_NO ).trim() ); // 차량번호 - psInsert.setString(idx ++, getItem(READING_DATE ) ); // 판독일자 - String sXPos = getItem(X_POSITION); - String sYPos = getItem(Y_POSITION); - String sXLen = getItem(GARO_LEN); - String sYLen = getItem(SERO_LEN); - if( sXPos.indexOf(" ") < 0 ) { - psInsert.setInt (idx ++ , Integer.parseInt( sXPos ) ); // X좌표 - }else{ - psInsert.setString (idx ++ , null ); - } - if( sYPos.indexOf(" ") < 0 ) { - psInsert.setInt (idx ++ , Integer.parseInt( sYPos ) ); // Y좌표 - }else{ - psInsert.setString (idx ++ , null ); - } - if( sXLen.indexOf(" ") < 0 ) { - psInsert.setInt (idx ++ , Integer.parseInt( sXLen ) ); // 가로길이 - }else{ - psInsert.setString (idx ++ , null ); - } - if( sYLen.indexOf(" ") < 0 ) { - psInsert.setInt (idx ++ , Integer.parseInt( sYLen ) ); // 세로길이 - }else{ - psInsert.setString (idx ++ , null ); - } - - psInsert.executeUpdate(); - conn.commit(); - - }catch(SQLException sqle){ - logger.logDebug(sbInsert.toString()); - throw sqle; - }catch(Exception ex){ - throw ex; - }finally{ - if(psInsert != null){ try{ psInsert.close(); }catch(Exception ignore){} } - } - - return "000"; - } - private static final int WORKER_ID = 0; // 근무자 ID - private static final int FARE_OFFICE_ID = 1; // 요금소 코드 - private static final int BOOTH_ID = 2; // 차로코드 - private static final int YEAR = 3; // 년도 - private static final int MONTH = 4; // 월 - private static final int DAY = 5; // 일 - private static final int WORK_TIMES = 6; // 근무시간 - private static final int SEQNO = 7; // 일련번호 - private static final int COLLECT_ID = 8; // 징수유형코드 - private static final int READING_ID = 9; // 판독구분 코드 - private static final int CARS_MOVE_PICTURE_FILE = 10; // 차량 동영상 정보 - private static final int CARS_STOP_PICTURE_FILE = 11; // 차량 정지화상 정보 - private static final int CAR_NO = 12; // 차량번호 - private static final int READING_DATE = 13; // 판독일자 - private static final int X_POSITION = 14; // X좌표 - private static final int Y_POSITION = 15; // Y좌표 - private static final int GARO_LEN = 16; // 가로길이 - private static final int SERO_LEN = 17; // 세로길이 - - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case WORKER_ID : return new String(record, 0, 6); // 근무자 ID - case FARE_OFFICE_ID : return new String(record, 6, 2); // 요금소 코드 - case BOOTH_ID : return new String(record, 8, 2); // 차로코드 - case YEAR : return new String(record, 10, 4); // 년도 - case MONTH : return new String(record, 14, 2); // 월 - case DAY : return new String(record, 16, 2); // 일 - case WORK_TIMES : return new String(record, 18, 6); // 근무시간 - case SEQNO : return new String(record, 24, 9); // 일련번호 - case COLLECT_ID : return new String(record, 33, 2); // 징수유형코드 - case READING_ID : return new String(record, 35, 2); // 판독구분 코드 - case CARS_MOVE_PICTURE_FILE : return new String(record, 37, 50); // 차량 동영상 정보 - case CARS_STOP_PICTURE_FILE : return new String(record, 87, 50); // 차량 정지화상 정보 - case CAR_NO : return new String(record, 137, 20); // 차량번호 - case READING_DATE : return new String(record, 157, 14); // 판독일자 - case X_POSITION : return new String(record, 171, 3); // X좌표 - case Y_POSITION : return new String(record, 174, 3); // Y좌표 - case GARO_LEN : return new String(record, 177, 3); // 가로길이 - case SERO_LEN : return new String(record, 180, 3); // 세로길이 - - - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/online/process/FareAdjustInfo.java b/src/main/java/center/online/process/FareAdjustInfo.java deleted file mode 100644 index ed26d4b..0000000 --- a/src/main/java/center/online/process/FareAdjustInfo.java +++ /dev/null @@ -1,188 +0,0 @@ -package center.online.process; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.exception.IllegalRecordException; -import com.util.Log4JLogger; -/** - * 요금정산 정보 데이터 실시간 반영
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class FareAdjustInfo { - private byte [] record; - private StringBuffer sbInsert = new StringBuffer(); - /** - * Constructor - */ - public FareAdjustInfo(){ - sbInsert.append("INSERT INTO FARE_ADJUST_INFO ( "); - sbInsert.append(" WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_STT_TIME, WORK_END_TIME, "); - sbInsert.append(" EXEMPTION_QUANTITY, CASH_QUANTITY, COUPON_QUANTITY, NONPAYMENT_QUANTITY, CARD_BEFORE_QUANTITY, "); - sbInsert.append(" CARD_AFTER_QUANTITY, COUPON_SALE_QUANTITY, K_CASH_Q, K_COUPON_Q, K_CARD_SUN_Q, K_CARD_WHO_Q, "); - sbInsert.append(" K_COUPON_SALE_Q, TOTAL_INCOME, CASH_INCOME, CARD_BEFORE_INCOME, CARD_AFTER_INCME, COUPON_INCOME, "); - sbInsert.append(" COUPON_SALE, K_CASH_INCOME, K_CARD_SUN_INCOME, K_CARD_WHO_INCOME, K_COUPON_SALE_INCOME, REPAY_CNT,"); - sbInsert.append(" REPAY_AMOUNT, INCOME_DATE, INCOME_PART, COUPON_DISUSE_YN, TRANS_FILE_CREATE_YN, OTHER_SEQNO, "); - sbInsert.append(" CREATE_DATE, CREATER, UPDATE_DATE, UPDATER ) "); - sbInsert.append("VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, "); - sbInsert.append(" SYSDATE, 'ONLINEPROC', SYSDATE, 'ONLINEPROC' ) "); - } - /** - * 데이터 반영 - * @param sData - * @param logger - * @param conn - * @return String - * @throws SQLException - * @throws Exception - */ - - public String applyData(String sData, Log4JLogger logger, Connection conn) throws SQLException, Exception{ - PreparedStatement psInsert = null; - - try{ - record = sData.getBytes(); - // 송신 파일 정보 등록 - int idx = 1; - psInsert = conn.prepareStatement(sbInsert.toString()); - psInsert.setString(idx ++, getItem(WORKER_ID ) ); // 근무자 ID - psInsert.setString(idx ++, getItem(FARE_OFFICE_ID ) ); // 요금소 코드 - psInsert.setString(idx ++, getItem(BOOTH_ID ) ); // 차로 코드 - psInsert.setString(idx ++, getItem(YEAR ) ); // 년도 - psInsert.setString(idx ++, getItem(MONTH ) ); // 월 - psInsert.setString(idx ++, getItem(DAY ) ); // 일 - psInsert.setString(idx ++, getItem(WORK_STT_TIME ) ); // 근무 시작 시간 - psInsert.setString(idx ++, getItem(WORK_END_TIME ) ); // 근무 종료 시간 - psInsert.setInt (idx ++, Integer.parseInt(getItem(EXEMPTION_QUANTITY ))); // 면제 통행량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(CASH_QUANTITY ))); // 현금 통행량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(COUPON_QUANTITY ))); // 쿠폰 통행량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(NONPAYMENT_QUANTITY ))); // 미납 통행량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(CARD_BEFORE_QUANTITY))); // 카드_선불 통행량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(CARD_AFTER_QUANTITY ))); // 카드_후불 통행량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(COUPON_SALE_QUANTITY))); // 쿠폰 판매량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(K_CASH_Q ))); // 경차현금통행량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(K_COUPON_Q ))); // 경차쿠폰통행량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(K_CARD_SUN_Q ))); // 경차카드선불통행량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(K_CARD_WHO_Q ))); // 경차카드후불통행량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(K_COUPON_SALE_Q ))); // 경차정액권판매량 - psInsert.setInt (idx ++, Integer.parseInt(getItem(TOTAL_INCOME ))); // 총 수입 금액 - psInsert.setInt (idx ++, Integer.parseInt(getItem(CASH_INCOME ))); // 현금 수입 금액 - psInsert.setInt (idx ++, Integer.parseInt(getItem(CARD_BEFORE_INCOME ))); // 카드_선불 수입금액 - psInsert.setInt (idx ++, Integer.parseInt(getItem(CARD_AFTER_INCME ))); // 카드_후불 수입금액 - psInsert.setInt (idx ++, Integer.parseInt(getItem(COUPON_INCOME ))); // 쿠폰 수입금액 - psInsert.setInt (idx ++, Integer.parseInt(getItem(COUPON_SALE ))); // 쿠폰 판매금액 - psInsert.setInt (idx ++, Integer.parseInt(getItem(K_CASH_INCOME ))); // 경차현금수입금액 - psInsert.setInt (idx ++, Integer.parseInt(getItem(K_CARD_SUN_INCOME ))); // 경차카드선불수입금액 - psInsert.setInt (idx ++, Integer.parseInt(getItem(K_CARD_WHO_INCOME ))); // 경차카드후불수입금액 - psInsert.setInt (idx ++, Integer.parseInt(getItem(K_COUPON_SALE_INCOME))); // 경차정액권판매금액 - psInsert.setInt (idx ++, Integer.parseInt(getItem(REPAY_CNT ))); // 환불건수 - psInsert.setInt (idx ++, Integer.parseInt(getItem(REPAY_AMOUNT ))); // 환불금액 - psInsert.setString(idx ++, getItem(INCOME_DATE ).trim() ); // 수입금 정산일자 - psInsert.setString(idx ++, getItem(INCOME_PART ).trim() ); // 수입금 정산그룹 - psInsert.setString(idx ++, getItem(COUPON_DISUSE_YN ) ); // 회수쿠폰 폐기여부 - psInsert.setString(idx ++, getItem(TRANS_FILE_CREATE_YN) ); // 전송화일 생성여부 - psInsert.setString(idx ++, getItem(OTHER_SEQNO ) ); // 중복방지번호 - - psInsert.executeUpdate(); - conn.commit(); - - }catch(SQLException sqle){ - logger.logDebug(sbInsert.toString()); - throw sqle; - }catch(Exception ex){ - throw ex; - }finally{ - if(psInsert != null){ try{ psInsert.close(); }catch(Exception ignore){} } - } - - return "000"; - } - private static final int WORKER_ID = 0; // 근무자 ID - private static final int FARE_OFFICE_ID = 1; // 요금소 코드 - private static final int BOOTH_ID = 2; // 차로 코드 - private static final int YEAR = 3; // 년도 - private static final int MONTH = 4; // 월 - private static final int DAY = 5; // 일 - private static final int WORK_STT_TIME = 6; // 근무 시작 시간 - private static final int WORK_END_TIME = 7; // 근무 종료 시간 - private static final int EXEMPTION_QUANTITY = 8; // 면제 통행량 - private static final int CASH_QUANTITY = 9; // 현금 통행량 - private static final int COUPON_QUANTITY = 10; // 쿠폰 통행량 - private static final int NONPAYMENT_QUANTITY = 11; // 미납 통행량 - private static final int CARD_BEFORE_QUANTITY = 12; // 카드_선불 통행량 - private static final int CARD_AFTER_QUANTITY = 13; // 카드_후불 통행량 - private static final int COUPON_SALE_QUANTITY = 14; // 쿠폰 판매량 - private static final int K_CASH_Q = 15; // 경차현금통행량 - private static final int K_COUPON_Q = 16; // 경차쿠폰통행량 - private static final int K_CARD_SUN_Q = 17; // 경차카드선불통행량 - private static final int K_CARD_WHO_Q = 18; // 경차카드후불통행량 - private static final int K_COUPON_SALE_Q = 19; // 경차정액권판매량 - private static final int TOTAL_INCOME = 20; // 총 수입 금액 - private static final int CASH_INCOME = 21; // 현금 수입 금액 - private static final int CARD_BEFORE_INCOME = 22; // 카드_선불 수입금액 - private static final int CARD_AFTER_INCME = 23; // 카드_후불 수입금액 - private static final int COUPON_INCOME = 24; // 쿠폰 수입금액 - private static final int COUPON_SALE = 25; // 쿠폰 판매금액 - private static final int K_CASH_INCOME = 26; // 경차현금수입금액 - private static final int K_CARD_SUN_INCOME = 27; // 경차카드선불수입금액 - private static final int K_CARD_WHO_INCOME = 28; // 경차카드후불수입금액 - private static final int K_COUPON_SALE_INCOME = 29; // 경차정액권판매금액 - private static final int REPAY_CNT = 30; // 환불건수 - private static final int REPAY_AMOUNT = 31; // 환불금액 - private static final int INCOME_DATE = 32; // 수입금 정산일자 - private static final int INCOME_PART = 33; // 수입금 정산그룹 - private static final int COUPON_DISUSE_YN = 34; // 회수쿠폰 폐기여부 - private static final int TRANS_FILE_CREATE_YN = 35; // 전송화일 생성여부 - private static final int OTHER_SEQNO = 36; // 중복방지번호 - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case WORKER_ID : return new String(record, 0, 6); // 근무자 ID - case FARE_OFFICE_ID : return new String(record, 6, 2); // 요금소 코드 - case BOOTH_ID : return new String(record, 8, 2); // 차로 코드 - case YEAR : return new String(record, 10, 4); // 년도 - case MONTH : return new String(record, 14, 2); // 월 - case DAY : return new String(record, 16, 2); // 일 - case WORK_STT_TIME : return new String(record, 18, 6); // 근무 시작 시간 - case WORK_END_TIME : return new String(record, 24, 6); // 근무 종료 시간 - case EXEMPTION_QUANTITY : return new String(record, 30, 5); // 면제 통행량 - case CASH_QUANTITY : return new String(record, 35, 5); // 현금 통행량 - case COUPON_QUANTITY : return new String(record, 40, 5); // 쿠폰 통행량 - case NONPAYMENT_QUANTITY : return new String(record, 45, 5); // 미납 통행량 - case CARD_BEFORE_QUANTITY : return new String(record, 50, 5); // 카드_선불 통행량 - case CARD_AFTER_QUANTITY : return new String(record, 55, 5); // 카드_후불 통행량 - case COUPON_SALE_QUANTITY : return new String(record, 60, 5); // 쿠폰 판매량 - case K_CASH_Q : return new String(record, 65, 5); // 경차현금통행량 - case K_COUPON_Q : return new String(record, 70, 5); // 경차쿠폰통행량 - case K_CARD_SUN_Q : return new String(record, 75, 5); // 경차카드선불통행량 - case K_CARD_WHO_Q : return new String(record, 80, 5); // 경차카드후불통행량 - case K_COUPON_SALE_Q : return new String(record, 85, 5); // 경차정액권판매량 - case TOTAL_INCOME : return new String(record, 90, 9); // 총 수입 금액 - case CASH_INCOME : return new String(record, 99, 9); // 현금 수입 금액 - case CARD_BEFORE_INCOME : return new String(record, 108, 9); // 카드_선불 수입금액 - case CARD_AFTER_INCME : return new String(record, 117, 9); // 카드_후불 수입금액 - case COUPON_INCOME : return new String(record, 126, 9); // 쿠폰 수입금액 - case COUPON_SALE : return new String(record, 135, 9); // 쿠폰 판매금액 - case K_CASH_INCOME : return new String(record, 144, 9); // 경차현금수입금액 - case K_CARD_SUN_INCOME : return new String(record, 153, 9); // 경차카드선불수입금액 - case K_CARD_WHO_INCOME : return new String(record, 162, 9); // 경차카드후불수입금액 - case K_COUPON_SALE_INCOME : return new String(record, 171, 9); // 경차정액권판매금액 - case REPAY_CNT : return new String(record, 180, 9); // 환불건수 - case REPAY_AMOUNT : return new String(record, 189, 9); // 환불금액 - case INCOME_DATE : return new String(record, 198, 8); // 수입금 정산일자 - case INCOME_PART : return new String(record, 206, 1); // 수입금 정산그룹 - case COUPON_DISUSE_YN : return new String(record, 207, 1); // 회수쿠폰 폐기여부 - case TRANS_FILE_CREATE_YN : return new String(record, 208, 1); // 전송화일 생성여부 - case OTHER_SEQNO : return new String(record, 209, 1); // 중복방지번호 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/online/process/FareTerminalInfo.java b/src/main/java/center/online/process/FareTerminalInfo.java deleted file mode 100644 index 74f3c3b..0000000 --- a/src/main/java/center/online/process/FareTerminalInfo.java +++ /dev/null @@ -1,192 +0,0 @@ -package center.online.process; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.exception.IllegalRecordException; -import com.util.Log4JLogger; -/** - * 요금단말정보 데이터 실시간 반영
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class FareTerminalInfo { - private byte [] record; - private StringBuffer sbInsert = new StringBuffer(); - /** - * Constructor - */ - public FareTerminalInfo(){ - sbInsert.append("INSERT INTO FARE_TERMINAL_INFO ( "); - sbInsert.append(" WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_TIMES, SEQNO, "); - sbInsert.append(" CAR_TYPE_ID, COLLECT_ID, IN_OUT_KBN, LEVY_AMOUNT, READING_ID, "); - sbInsert.append(" FOREIGN_CARS_KBN, ARMY_CARS_KBN, CAR_NO, CARS_MOVE_PICTURE_FILE, "); - sbInsert.append(" CARS_STOP_PICTURE_FILE, READER, REMARKS, TRANS_FILE_CREATE_YN, X_POSITION, "); - sbInsert.append(" Y_POSITION, GARO_LEN, SERO_LEN, OTHER_SEQNO, RFID_KBN, RFID_TAG1, RFID_TAG2,"); - sbInsert.append(" CREATE_DATE, CREATER, UPDATE_DATE, UPDATER, READING_DATE "); - sbInsert.append(" ) "); - sbInsert.append("VALUES "); - sbInsert.append(" (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, "); - sbInsert.append(" SYSDATE, 'ONLINEPROC', SYSDATE, 'ONLINEPROC', TO_DATE(?,'yyyymmddhh24miss') "); - sbInsert.append(" ) "); - } - /** - * 데이터 반영 - * @param sData - * @param logger - * @param conn - * @return String - * @throws SQLException - * @throws Exception - */ - - public String applyData(String sData, Log4JLogger logger, Connection conn) throws SQLException, Exception{ - PreparedStatement psInsert = null; - - try{ - record = sData.getBytes(); - // 송신 파일 정보 등록 - int idx = 1; - psInsert = conn.prepareStatement(sbInsert.toString()); - psInsert.setString (idx ++ , getItem( WORKER_ID )); // 근무자 ID - psInsert.setString (idx ++ , getItem( FARE_OFFICE_ID )); // 요금소 코드 - psInsert.setString (idx ++ , getItem( BOOTH_ID )); // 차로코드 - psInsert.setString (idx ++ , getItem( YEAR )); // 년도 - psInsert.setString (idx ++ , getItem( MONTH )); // 월 - psInsert.setString (idx ++ , getItem( DAY )); // 일 - psInsert.setString (idx ++ , getItem( WORK_TIMES )); // 근무시간 - psInsert.setInt (idx ++ , Integer.parseInt(getItem( SEQNO ))); // 일련번호 - psInsert.setString (idx ++ , getItem( CAR_TYPE_ID )); // 차종코드 - psInsert.setString (idx ++ , getItem( COLLECT_ID )); // 징수유형코드 - psInsert.setString (idx ++ , getItem( IN_OUT_KBN )); // 유출_입 구분 - psInsert.setInt (idx ++ , Integer.parseInt(getItem( LEVY_AMOUNT ))); // 징수액 - psInsert.setString (idx ++ , getItem( READING_ID )); // 차량 판독 구분 코드 - psInsert.setString (idx ++ , getItem( FOREIGN_CARS_KBN )); // 외국인 차량 구분 - psInsert.setString (idx ++ , getItem( ARMY_CARS_KBN )); // 미군용 차량 구분 - psInsert.setString (idx ++ , getItem( CAR_NO ).trim()); // 차량번호 - psInsert.setString (idx ++ , getItem( CARS_MOVE_PICTURE_FILE ).trim()); // 차량 동영상 정보 - psInsert.setString (idx ++ , getItem( CARS_STOP_PICTURE_FILE ).trim()); // 차량 정지화상 정보 - psInsert.setString (idx ++ , getItem( READER ).trim()); // 차량 판독자 ID - psInsert.setString (idx ++ , getItem( REMARKS ).trim()); // 비 고 - psInsert.setString (idx ++ , getItem( TRANS_FILE_CREATE_YN )); // 전송화일 생성여부 - - String sXPos = getItem(X_POSITION); - String sYPos = getItem(Y_POSITION); - String sXLen = getItem(GARO_LEN); - String sYLen = getItem(SERO_LEN); - if( sXPos.indexOf(" ") < 0 ) { - psInsert.setInt (idx ++ , Integer.parseInt( sXPos ) ); // X좌표 - }else{ - psInsert.setString (idx ++ , null ); - } - if( sYPos.indexOf(" ") < 0 ) { - psInsert.setInt (idx ++ , Integer.parseInt( sYPos ) ); // Y좌표 - }else{ - psInsert.setString (idx ++ , null ); - } - if( sXLen.indexOf(" ") < 0 ) { - psInsert.setInt (idx ++ , Integer.parseInt( sXLen ) ); // 가로길이 - }else{ - psInsert.setString (idx ++ , null ); - } - if( sYLen.indexOf(" ") < 0 ) { - psInsert.setInt (idx ++ , Integer.parseInt( sYLen ) ); // 세로길이 - }else{ - psInsert.setString (idx ++ , null ); - } - - psInsert.setString (idx ++ , getItem( OTHER_SEQNO )); // 중복방지번호 - psInsert.setString (idx ++ , getItem( RFID_KBN )); // 감면구분 - psInsert.setString (idx ++ , getItem( RFID_TAG1 )); // TAG1 - psInsert.setString (idx ++ , getItem( RFID_TAG2 )); // TAG2 - psInsert.setString (idx ++ , getItem( READING_DATE )); // 차량 판독일자 - - psInsert.executeUpdate(); - conn.commit(); - - }catch(SQLException sqle){ - logger.logDebug(sbInsert.toString()); - throw sqle; - }catch(Exception ex){ - throw ex; - }finally{ - if(psInsert != null){ try{ psInsert.close(); }catch(Exception ignore){} } - } - - return "000"; - } - private static final int WORKER_ID = 0; // 근무자 ID - private static final int FARE_OFFICE_ID = 1; // 요금소 코드 - private static final int BOOTH_ID = 2; // 차로코드 - private static final int YEAR = 3; // 년도 - private static final int MONTH = 4; // 월 - private static final int DAY = 5; // 일 - private static final int WORK_TIMES = 6; // 근무시간 - private static final int SEQNO = 7; // 일련번호 - private static final int CAR_TYPE_ID = 8; // 차종코드 - private static final int COLLECT_ID = 9; // 징수유형코드 - private static final int IN_OUT_KBN = 10; // 유출_입 구분 - private static final int LEVY_AMOUNT = 11; // 징수액 - private static final int READING_ID = 12; // 차량 판독 구분 코드 - private static final int FOREIGN_CARS_KBN = 13; // 외국인 차량 구분 - private static final int ARMY_CARS_KBN = 14; // 미군용 차량 구분 - private static final int CAR_NO = 15; // 차량번호 - private static final int CARS_MOVE_PICTURE_FILE = 16; // 차량 동영상 정보 - private static final int CARS_STOP_PICTURE_FILE = 17; // 차량 정지화상 정보 - private static final int READER = 18; // 차량 판독자 ID - private static final int REMARKS = 19; // 비 고 - private static final int TRANS_FILE_CREATE_YN = 20; // 전송화일 생성여부 - private static final int X_POSITION = 21; // X좌표 - private static final int Y_POSITION = 22; // Y좌표 - private static final int GARO_LEN = 23; // 가로길이 - private static final int SERO_LEN = 24; // 세로길이 - private static final int OTHER_SEQNO = 25; // 중복방지번호 - private static final int RFID_KBN = 26; // 감면구분 - private static final int RFID_TAG1 = 27; // TAG1 - private static final int RFID_TAG2 = 28; // TAG2 - private static final int READING_DATE = 29; // 차량 판독일자 - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case WORKER_ID : return new String(record, 0, 6); // 근무자 ID - case FARE_OFFICE_ID : return new String(record, 6, 2); // 요금소 코드 - case BOOTH_ID : return new String(record, 8, 2); // 차로코드 - case YEAR : return new String(record, 10, 4); // 년도 - case MONTH : return new String(record, 14, 2); // 월 - case DAY : return new String(record, 16, 2); // 일 - case WORK_TIMES : return new String(record, 18, 6); // 근무시간 - case SEQNO : return new String(record, 24, 9); // 일련번호 - case CAR_TYPE_ID : return new String(record, 33, 1); // 차종코드 - case COLLECT_ID : return new String(record, 34, 2); // 징수유형코드 - case IN_OUT_KBN : return new String(record, 36, 1); // 유출_입 구분 - case LEVY_AMOUNT : return new String(record, 37, 10); // 징수액 - case READING_ID : return new String(record, 47, 2); // 차량 판독 구분 코드 - case FOREIGN_CARS_KBN : return new String(record, 49, 1); // 외국인 차량 구분 - case ARMY_CARS_KBN : return new String(record, 50, 1); // 미군용 차량 구분 - case CAR_NO : return new String(record, 51, 20); // 차량번호 - case CARS_MOVE_PICTURE_FILE : return new String(record, 71, 50); // 차량 동영상 정보 - case CARS_STOP_PICTURE_FILE : return new String(record, 121, 50); // 차량 정지화상 정보 - case READER : return new String(record, 171, 6); // 차량 판독자 ID - case REMARKS : return new String(record, 177, 60); // 비 고 - case TRANS_FILE_CREATE_YN : return new String(record, 237, 1); // 전송화일 생성여부 - case X_POSITION : return new String(record, 238, 3); // X좌표 - case Y_POSITION : return new String(record, 241, 3); // Y좌표 - case GARO_LEN : return new String(record, 244, 3); // 가로길이 - case SERO_LEN : return new String(record, 247, 3); // 세로길이 - case OTHER_SEQNO : return new String(record, 250, 1); // 중복방지번호 - case RFID_KBN : return new String(record, 251, 2); // 감면구분 - case RFID_TAG1 : return new String(record, 253, 24); // TAG1 - case RFID_TAG2 : return new String(record, 277, 24); // TAG2 - case READING_DATE : return new String(record, 301, 14); // 차량 판독일자 - - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/online/process/RFRepayInfo.java b/src/main/java/center/online/process/RFRepayInfo.java deleted file mode 100644 index 81e59ab..0000000 --- a/src/main/java/center/online/process/RFRepayInfo.java +++ /dev/null @@ -1,123 +0,0 @@ -package center.online.process; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.exception.IllegalRecordException; -import com.util.Log4JLogger; -/** - * 환불정보 데이터 실시간 반영
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성 - */ -public class RFRepayInfo { - - private byte [] record; - private StringBuffer sbInsert = new StringBuffer(); - /** - * Constructor - */ - public RFRepayInfo(){ - sbInsert.append("INSERT INTO RF_Repay_INFO "); - sbInsert.append("( WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_TIMES, SEQNO, "); - sbInsert.append(" CAR_TYPE_ID, COLLECT_ID, IN_OUT_KBN, LEVY_AMOUNT, CAR_NO, NOTE_TRANS_YN, "); - sbInsert.append(" NOTE_INPUT_REMARKS, C_REPAY_KBN, "); - sbInsert.append(" CREATE_DATE, CREATER, UPDATE_DATE, UPDATER ) "); - sbInsert.append("VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "); - sbInsert.append(" SYSDATE, 'ONLINEPROC', SYSDATE, 'ONLINEPROC' ) "); - } - /** - * 데이터 반영 - * @param sData - * @param logger - * @param conn - * @return String - * @throws SQLException - * @throws Exception - */ - - public String applyData(String sData, Log4JLogger logger, Connection conn) throws SQLException, Exception{ - PreparedStatement psInsert = null; - - try{ - record = sData.getBytes(); - // 송신 파일 정보 등록 - int idx = 1; - psInsert = conn.prepareStatement(sbInsert.toString()); - psInsert.setString(idx ++, getItem(WORKER_ID ) ); // 근무자 ID - psInsert.setString(idx ++, getItem(FARE_OFFICE_ID ) ); // 요금소 코드 - psInsert.setString(idx ++, getItem(BOOTH_ID ) ); // 차로코드 - psInsert.setString(idx ++, getItem(YEAR ) ); // 년도 - psInsert.setString(idx ++, getItem(MONTH ) ); // 월 - psInsert.setString(idx ++, getItem(DAY ) ); // 일 - psInsert.setString(idx ++, getItem(WORK_TIMES ) ); // 근무시간 - psInsert.setInt (idx ++, Integer.parseInt(getItem(SEQNO ))); // 일련번호 - psInsert.setString(idx ++, getItem(CAR_TYPE_ID ) ); // 차종코드 - psInsert.setString(idx ++, getItem(COLLECT_ID ) ); // 징수유형코드 - psInsert.setString(idx ++, getItem(IN_OUT_KBN ) ); // 유출_입 구분 - psInsert.setInt (idx ++, Integer.parseInt(getItem(LEVY_AMOUNT ))); // 징수액 - psInsert.setString(idx ++, getItem(CAR_NO ).trim() ); // 차량번호 - psInsert.setString(idx ++, getItem(NOTE_TRANS_YN ) ); // 수기여부 - psInsert.setString(idx ++, getItem(NOTE_INPUT_REMARKS) ); // 수기입력 사유 - psInsert.setString(idx ++, getItem(C_REPAY_KBN ) ); // 환불여부 - - psInsert.executeUpdate(); - conn.commit(); - - }catch(SQLException sqle){ - logger.logDebug(sbInsert.toString()); - throw sqle; - }catch(Exception ex){ - throw ex; - }finally{ - if(psInsert != null){ try{ psInsert.close(); }catch(Exception ignore){} } - } - - return "000"; - } - private static final int WORKER_ID = 0; // 근무자 ID - private static final int FARE_OFFICE_ID = 1; // 요금소 코드 - private static final int BOOTH_ID = 2; // 차로코드 - private static final int YEAR = 3; // 년도 - private static final int MONTH = 4; // 월 - private static final int DAY = 5; // 일 - private static final int WORK_TIMES = 6; // 근무시간 - private static final int SEQNO = 7; // 일련번호 - private static final int CAR_TYPE_ID = 8; // 차종코드 - private static final int COLLECT_ID = 9; // 징수유형코드 - private static final int IN_OUT_KBN = 10; // 유출_입 구분 - private static final int LEVY_AMOUNT = 11; // 징수액 - private static final int CAR_NO = 12; // 차량번호 - private static final int NOTE_TRANS_YN = 13; // 수기여부 - private static final int NOTE_INPUT_REMARKS = 14; // 수기입력 사유 - private static final int C_REPAY_KBN = 15; // 환불여부 - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case WORKER_ID : return new String(record, 0, 6); // 근무자 ID - case FARE_OFFICE_ID : return new String(record, 6, 2); // 요금소 코드 - case BOOTH_ID : return new String(record, 8, 2); // 차로코드 - case YEAR : return new String(record, 10, 4); // 년도 - case MONTH : return new String(record, 14, 2); // 월 - case DAY : return new String(record, 16, 2); // 일 - case WORK_TIMES : return new String(record, 18, 6); // 근무시간 - case SEQNO : return new String(record, 24, 9); // 일련번호 - case CAR_TYPE_ID : return new String(record, 33, 1); // 차종코드 - case COLLECT_ID : return new String(record, 34, 2); // 징수유형코드 - case IN_OUT_KBN : return new String(record, 36, 1); // 유출_입 구분 - case LEVY_AMOUNT : return new String(record, 37, 6); // 징수액 - case CAR_NO : return new String(record, 43, 20); // 차량번호 - case NOTE_TRANS_YN : return new String(record, 63, 1); // 수기여부 - case NOTE_INPUT_REMARKS : return new String(record, 64, 60); // 수기입력 사유 - case C_REPAY_KBN : return new String(record, 124, 1); // 환불여부 - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/online/process/RFTerminalInfo.java b/src/main/java/center/online/process/RFTerminalInfo.java deleted file mode 100644 index e18dfe3..0000000 --- a/src/main/java/center/online/process/RFTerminalInfo.java +++ /dev/null @@ -1,186 +0,0 @@ -package center.online.process; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import com.exception.IllegalRecordException; -import com.util.Log4JLogger; -/** - * 요금단말정보(RF) 데이터 실시간 반영
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-11-01 초기 작성, 2011.12.12 kde 이비카드 추가.. 컬럼 사이즈 변경... - */ -public class RFTerminalInfo { - - private byte [] record; - private StringBuffer sbInsert = new StringBuffer(); - /** - * Constructor - */ - public RFTerminalInfo(){ - sbInsert.append("INSERT INTO RF_TERMINAL_INFO "); - sbInsert.append("( WORKER_ID, FARE_OFFICE_ID, BOOTH_ID, YEAR, MONTH, DAY, WORK_TIMES, SEQNO, AFTER_KBN, "); - sbInsert.append(" CARD_NO, IN_OUT_KBN, TRANS_FILE_CREATE_YN, COLLECT_ID, LEVY_AMOUNT, REMAIND_AMOUNT, "); - sbInsert.append(" CARD_OFFICE_ID, C_REPAY_KBN, RFID_KBN, RFID_TAG1, RFID_TAG2, TERMINAL_ID, SAM_ID, "); - sbInsert.append(" SAM_SEQNO, CARD_SEQNO, BEFORE_AMOUNT, ALGORITHM_ID, KEY_VERSION, E_CASH_IDENTIFIER, "); - sbInsert.append(" SAM_TOT_SEQNO, SAM_COLLECT_CNT, SAM_TOT_AMOUNT, SIGN_VALUE, PERSON_CODE, ZIPGE_ID, "); - sbInsert.append(" ALIAS_NO, ISSUE_ID, "); - sbInsert.append(" CREATE_DATE, CREATER, UPDATE_DATE, UPDATER ) "); - sbInsert.append("VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, "); - sbInsert.append(" SYSDATE, 'ONLINEPROC', SYSDATE, 'ONLINEPROC' ) "); - } - /** - * 데이터 반영 - * @param sData - * @param logger - * @param conn - * @return String - * @throws SQLException - * @throws Exception - */ - - public String applyData(String sData, Log4JLogger logger, Connection conn) throws SQLException, Exception{ - PreparedStatement psInsert = null; - - try{ - record = sData.getBytes(); - // 송신 파일 정보 등록 - int idx = 1; - psInsert = conn.prepareStatement(sbInsert.toString()); - psInsert.setString(idx ++, getItem(WORKER_ID ) ); // 근무자 ID - psInsert.setString(idx ++, getItem(FARE_OFFICE_ID ) ); // 요금소 코드 - psInsert.setString(idx ++, getItem(BOOTH_ID ) ); // 차로코드 - psInsert.setString(idx ++, getItem(YEAR ) ); // 년도 - psInsert.setString(idx ++, getItem(MONTH ) ); // 월 - psInsert.setString(idx ++, getItem(DAY ) ); // 일 - psInsert.setString(idx ++, getItem(WORK_TIMES ) ); // 근무시간 - psInsert.setInt (idx ++, Integer.parseInt(getItem(SEQNO ))); // 일련번호 - psInsert.setString(idx ++, getItem(AFTER_KBN ) ); // 선_후불 구분 - psInsert.setString(idx ++, getItem(CARD_NO ) ); // 카드 번호 - psInsert.setString(idx ++, getItem(IN_OUT_KBN ) ); // 유출_입 구분 - psInsert.setString(idx ++, getItem(TRANS_FILE_CREATE_YN) ); // 전송화일 생성여부 - psInsert.setString(idx ++, getItem(COLLECT_ID ) ); // 징수유형코드 - psInsert.setInt (idx ++, Integer.parseInt(getItem(LEVY_AMOUNT ))); // 징수금액 - psInsert.setInt (idx ++, Integer.parseInt(getItem(REMAIND_AMOUNT ))); // 사용후잔액 - psInsert.setString(idx ++, getItem(CARD_OFFICE_ID ) ); // 카드사코드 - psInsert.setString(idx ++, getItem(C_REPAY_KBN ) ); // 경차환불여부 - psInsert.setString(idx ++, getItem(RFID_KBN ) ); // 감면구분 - psInsert.setString(idx ++, getItem(RFID_TAG1 ).trim() ); // TAG1 - psInsert.setString(idx ++, getItem(RFID_TAG2 ).trim() ); // TAG2 - psInsert.setString(idx ++, getItem(TERMINAL_ID ) ); // 단말기 ID - psInsert.setString(idx ++, getItem(SAM_ID ).trim() ); // SAM ID - psInsert.setInt (idx ++, Integer.parseInt(getItem(SAM_SEQNO ))); // SAM 거래 일련번호 - psInsert.setInt (idx ++, Integer.parseInt(getItem(CARD_SEQNO ))); // 카드거래 일련번호 - psInsert.setInt (idx ++, Integer.parseInt(getItem(BEFORE_AMOUNT ))); // 거래 전 카드잔액 - psInsert.setString(idx ++, getItem(ALGORITHM_ID ) ); // 알고리즘 ID - psInsert.setString(idx ++, getItem(KEY_VERSION ) ); // 개별거래 수집 키 버전 - psInsert.setString(idx ++, getItem(E_CASH_IDENTIFIER ) ); // 전자화폐 식별자 - psInsert.setInt (idx ++, Integer.parseInt(getItem(SAM_TOT_SEQNO ))); // SAM 총액거래 수집일련번호 - psInsert.setInt (idx ++, Integer.parseInt(getItem(SAM_COLLECT_CNT ))); // SAM 거래 수집건수 - psInsert.setInt (idx ++, Integer.parseInt(getItem(SAM_TOT_AMOUNT ))); // SAM 누적거래 총액 - psInsert.setString(idx ++, getItem(SIGN_VALUE ) ); // SIGN 값 - psInsert.setString(idx ++, getItem(PERSON_CODE ) ); // 카드소지자 구분코드 - psInsert.setString(idx ++, getItem(ZIPGE_ID ) ); // 집계 ID - psInsert.setString(idx ++, getItem(ALIAS_NO ) ); // Alias 번호 - psInsert.setString(idx ++, getItem(ISSUE_ID ) ); // 발행사 ID - - psInsert.executeUpdate(); - conn.commit(); - - }catch(SQLException sqle){ - logger.logDebug(sbInsert.toString()); - throw sqle; - }catch(Exception ex){ - throw ex; - }finally{ - if(psInsert != null){ try{ psInsert.close(); }catch(Exception ignore){} } - } - - return "000"; - } - private static final int WORKER_ID = 0; // 근무자 ID - private static final int FARE_OFFICE_ID = 1; // 요금소 코드 - private static final int BOOTH_ID = 2; // 차로코드 - private static final int YEAR = 3; // 년도 - private static final int MONTH = 4; // 월 - private static final int DAY = 5; // 일 - private static final int WORK_TIMES = 6; // 근무시간 - private static final int SEQNO = 7; // 일련번호 - private static final int AFTER_KBN = 8; // 선_후불 구분 - private static final int CARD_NO = 9; // 카드 번호 - private static final int IN_OUT_KBN = 10; // 유출_입 구분 - private static final int TRANS_FILE_CREATE_YN = 11; // 전송화일 생성여부 - private static final int COLLECT_ID = 12; // 징수유형코드 - private static final int LEVY_AMOUNT = 13; // 징수금액 - private static final int REMAIND_AMOUNT = 14; // 사용후잔액 - private static final int CARD_OFFICE_ID = 15; // 카드사코드 - private static final int C_REPAY_KBN = 16; // 경차환불여부 - private static final int RFID_KBN = 17; // 감면구분 - private static final int RFID_TAG1 = 18; // TAG1 - private static final int RFID_TAG2 = 19; // TAG2 - private static final int TERMINAL_ID = 20; // 단말기 ID - private static final int SAM_ID = 21; // SAM ID - private static final int SAM_SEQNO = 22; // SAM 거래 일련번호 - private static final int CARD_SEQNO = 23; // 카드거래 일련번호 - private static final int BEFORE_AMOUNT = 24; // 거래 전 카드잔액 - private static final int ALGORITHM_ID = 25; // 알고리즘 ID - private static final int KEY_VERSION = 26; // 개별거래 수집 키 버전 - private static final int E_CASH_IDENTIFIER = 27; // 전자화폐 식별자 - private static final int SAM_TOT_SEQNO = 28; // SAM 총액거래 수집일련번호 - private static final int SAM_COLLECT_CNT = 29; // SAM 거래 수집건수 - private static final int SAM_TOT_AMOUNT = 30; // SAM 누적거래 총액 - private static final int SIGN_VALUE = 31; // SIGN 값 - private static final int PERSON_CODE = 32; // 카드소지자 구분코드 - private static final int ZIPGE_ID = 33; // 집계 ID - private static final int ALIAS_NO = 34; // Alias 번호 - private static final int ISSUE_ID = 35; // 발행사 ID - /** - * Data Recorde Format - * @param itemName - * @return String - * @throws IllegalRecordException - */ - public String getItem(int itemName) throws IllegalRecordException{ - switch(itemName){ - case WORKER_ID : return new String(record, 0, 6); // 근무자 ID - case FARE_OFFICE_ID : return new String(record, 6, 2); // 요금소 코드 - case BOOTH_ID : return new String(record, 8, 2); // 차로코드 - case YEAR : return new String(record, 10, 4); // 년도 - case MONTH : return new String(record, 14, 2); // 월 - case DAY : return new String(record, 16, 2); // 일 - case WORK_TIMES : return new String(record, 18, 6); // 근무시간 - case SEQNO : return new String(record, 24, 9); // 일련번호 - case AFTER_KBN : return new String(record, 33, 1); // 선_후불 구분 - case CARD_NO : return new String(record, 34, 20); // 카드 번호 - case IN_OUT_KBN : return new String(record, 54, 1); // 유출_입 구분 - case TRANS_FILE_CREATE_YN : return new String(record, 55, 1); // 전송화일 생성여부 - case COLLECT_ID : return new String(record, 56, 2); // 징수유형코드 - case LEVY_AMOUNT : return new String(record, 58, 10); // 징수금액 - case REMAIND_AMOUNT : return new String(record, 68, 10); // 사용후잔액 - case CARD_OFFICE_ID : return new String(record, 78, 1); // 카드사코드 - case C_REPAY_KBN : return new String(record, 79, 1); // 경차환불여부 - case RFID_KBN : return new String(record, 80, 2); // 감면구분 - case RFID_TAG1 : return new String(record, 82, 24); // TAG1 - case RFID_TAG2 : return new String(record, 106, 24); // TAG2 - case TERMINAL_ID : return new String(record, 130, 9); // 단말기 ID - case SAM_ID : return new String(record, 139, 16); // SAM ID - case SAM_SEQNO : return new String(record, 155, 10); // SAM 거래 일련번호 - case CARD_SEQNO : return new String(record, 165, 10); // 카드거래 일련번호 - case BEFORE_AMOUNT : return new String(record, 175, 10); // 거래 전 카드잔액 - case ALGORITHM_ID : return new String(record, 185, 3); // 알고리즘 ID , 2011.12.12 kde 2 -> 3 하위로 변경됨... - case KEY_VERSION : return new String(record, 188, 3); // 개별거래 수집 키 버전 , 2011.12.12 kde 2 -> 3 - case E_CASH_IDENTIFIER : return new String(record, 191, 3); // 전자화폐 식별자 , 2011.12.12 kde 2 -> 3 - case SAM_TOT_SEQNO : return new String(record, 194, 10); // SAM 총액거래 수집일련번호 - case SAM_COLLECT_CNT : return new String(record, 204, 5); // SAM 거래 수집건수 - case SAM_TOT_AMOUNT : return new String(record, 209, 10); // SAM 누적거래 총액 - case SIGN_VALUE : return new String(record, 219, 10); // SIGN 값 , 2011.12.12 kde 8 -> 10 - case PERSON_CODE : return new String(record, 229, 2); // 카드소지자 구분코드 - case ZIPGE_ID : return new String(record, 231, 12); // 집계 ID - case ALIAS_NO : return new String(record, 243, 10); // Alias 번호 - case ISSUE_ID : return new String(record, 253, 7); // 발행사 ID - default : throw new IllegalRecordException( "Cannot find item : " + itemName); - } - } -} diff --git a/src/main/java/center/transfer/CommClient.java b/src/main/java/center/transfer/CommClient.java index 7bb25ae..8db4aa7 100644 --- a/src/main/java/center/transfer/CommClient.java +++ b/src/main/java/center/transfer/CommClient.java @@ -1,14 +1,17 @@ package center.transfer; -import java.io.*; -import java.net.Socket; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InterruptedIOException; +import java.io.OutputStream; +import java.io.RandomAccessFile; import java.net.ServerSocket; +import java.net.Socket; import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; import java.text.SimpleDateFormat; -import com.exception.AppException; import com.util.Log4JLogger; import com.util.Properties; import com.util.StringUtil; @@ -46,14 +49,14 @@ public abstract class CommClient{ protected int nDataSize = 0; // Data size protected int nDataCount = 0; // Data size protected int nSequenceCount = 0; // Record count - + protected String sFileName = ""; // file name protected String sFileCode = ""; // file transfer code protected String sFileDir, sSendDir, sRecvDir; // ���� ���丮 ���� // ��Ÿ ���� protected String TODAY; protected SimpleDateFormat dateFormat = new SimpleDateFormat("MMddHHmmss"); - + // sleep time ���� protected int SLEEP_02_SEC = 2*1000; // SLEEP TIME 2 sec protected int SLEEP_03_SEC = 3*1000; // SLEEP TIME 3 sec @@ -130,7 +133,7 @@ public abstract class CommClient{ try { String sLogLevel = config.getProperty( sOrgCode+".level" ); if( sLogLevel == null ) throw new Exception (); - + this.logger = new Log4JLogger( sFileDir + sOrgCode+ "_FTP_" + sUpmuCode + ".log" ); // �α� ���� ���� this.logLevel = 2; @@ -140,7 +143,7 @@ public abstract class CommClient{ System.exit(1); } String driver = null; - // db driver setting + // db driver setting try{ driver = config.getProperty("db.driver"); if( driver == null ) throw new Exception (); @@ -275,9 +278,9 @@ public abstract class CommClient{ // if (reads < 0) { // throw new IOException("read past eof."); // } - + if (logger != null) { - + //logDebug(" RECV [" + new String(buf) + "]"); } return buf; @@ -293,20 +296,7 @@ public abstract class CommClient{ // ������ sBytes[nRecordNo - 1] = recvBinaryMessage(nDataLength); } - /** - * DB Connection ó�� - */ - protected final Connection getConnection() throws Exception { - String url = config.getProperty("db.url"); - String user = config.getProperty("db.user"); - String password = config.getProperty("db.password"); - try{ - return DriverManager.getConnection(url, user, password); - }catch(SQLException se){ - se.printStackTrace(); - throw new AppException("Cannot get connection : " + url); - } - } + /** * ���ϸ� ���� * @param name diff --git a/src/main/java/center/transfer/SWRecvClient.java b/src/main/java/center/transfer/SWRecvClient.java deleted file mode 100644 index 07c3f9f..0000000 --- a/src/main/java/center/transfer/SWRecvClient.java +++ /dev/null @@ -1,492 +0,0 @@ -/** - *
- * SamServer
- * 
- * 통신 프로토콜 수신 클라이언트 - * - * @since 2006/07/27 - * @version 1.0 - 2006/07/27 - * - * @author 김종채,
- * 작성 : 2006/07/27
- */ -package center.transfer; - -import java.io.*; -import java.net.*; -import java.util.Date; -import java.util.Vector; - -import com.util.*; -import com.exception.*; -import com.resources.data.*; -import center.dao.*; -/** - * 삼원 파일 수신 클라이언트 프로세스
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class SWRecvClient extends CommClient { - private int COMM_LENGTH = 28; - private int M600_LENGTH = 77; - private int M610_LENGTH = 77; - private int M620_LENGTH = 35; - private int M630_LENGTH = 52; - private int M640_LENGTH = 52; - private int M300_LENGTH = 38; - private int M310_LENGTH = 39; - private int M320_LENGTH = 39; - - private CenterTransDAO commDAO; // 파일 전송 이력 클래스 변수 - private String CARD_RECV; - private String RFDATA_RECV; - /** - * Constructor - * @param config - */ - public SWRecvClient(Properties config){ - super(config, "SW", "BT" ); - } - /** - * startup - */ - public void startup() { - CARD_RECV = config.getProperty("card.recv"); - RFDATA_RECV = config.getProperty("rfdata.recv"); - while (true) { - try{ - // 통신 소켓 Open - socket = new Socket(sOrgAddr, Integer.parseInt(sLocalPort)); - System.out.println("CONNECT"); - reader = socket.getInputStream(); - writer = socket.getOutputStream(); - startClient(); - }catch (ConnectException ce) { // 네트워크 연결 오류 - // if (logger != null) logFail(" " + ce.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch (SocketException se) { // 소켓 오류 - // if (logger != null) logFail(" " + se.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch(IOException ioe){ // System 오류 - if (logger != null) { - logFail(" " + ioe.getMessage()); - logDebug(ioe); - } - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch(Exception ex){ // System 오류 - if (logger != null) { - logFail(" " + ex.getMessage()); - logDebug(ex); - } - // 10 Min Sleep - try { Thread.sleep(SLEEP_10_MIN); } catch (InterruptedException ie) {} - }finally{ - try{ if(reader!=null) reader.close(); }catch(Exception e){} - try{ if(writer!=null) writer.close(); }catch(Exception e){} - try{ if(socket!=null) socket.close(); }catch(Exception e){} - } - } - } - /** - * startClient - */ - protected void startClient() throws SocketException, IOException, Exception{ - while(true){ - File[] files = receiveFiles(); - - for (int i=0; i nRecordSize ? nRecordSize : nMessageSize; - while (true) { - // 전문의 공통부분 Read - sMessage = recvMessage(COMM_LENGTH); - // 전문코드 추출 - sMsgCode = sMessage.substring(11, 15); - if( ! isSuccessMessage(sMessage)){ - throw new MessageException(sMessage); - } - - // ------------------------------------------------------------- // - // 0320 : DATA 송신, 0310 : 결번 통보 - // ------------------------------------------------------------- // - if (sMsgCode.equals("0320") || sMsgCode.equals("0310")) { - // 블럭 번호 조회 - int nRemoteBlock = Integer.parseInt(recvMessage(4)); - // 이전까지 수신된 블럭과 현재 수신된 블럭이 다를 경우 - if (nBlockNo != nRemoteBlock) { - // 이전까지 수신된 블럭을 파일로 저장한다. - appendBlock(sBytes, nDataSize); - clearBlock(sBytes); - // 현재의 블럭번호를 변경한다. - nBlockNo = nRemoteBlock; - } - // 레코드 번호 - sMessage = recvMessage(3); - int nRecordNo = Integer.parseInt(sMessage); - // 데이터 부분총길이 - sMessage = recvMessage(4); - int nDataLength = Integer.parseInt(sMessage); - // 전문의 데이터을 읽어들인다. - RCV0320(sBytes, nRecordNo, nDataLength, recvSize ); - } - // ------------------------------------------------------------- // - // 0620 : 결번확인지시 - // ------------------------------------------------------------- // - else if (sMsgCode.equals("0620")) { - String sBlockNo = recvMessage(4); - String sSequenceNo = recvMessage(3); - - int nLastNo = Integer.parseInt(sSequenceNo); - - // 재전송해야 할 결번을 얻어온다. - int nCount = getMissingCount(sBytes, nLastNo); - String sMissing = getMissingRecords(sBytes); - // 0300 : 결번확인보고 - sSendMsg = "FTP 0300RC" - + sFileCode - + "000" - + sBlockNo - + sSequenceNo - + StringUtil.ntos(nCount, 3) - + sMissing; - sendMessage(sSendMsg); - } - // ------------------------------------------------------------- // - // 송신완료지시 - // ------------------------------------------------------------- // - else if (sMsgCode.equals("0600")) { - sMessage = recvMessage(M600_LENGTH-COMM_LENGTH); - // 마지막 수신된 블럭을 파일에 저장한 후 종료한다. - appendBlock(sBytes, nDataSize); - clearBlock(sBytes); - fileOutputStream.close(); - // ------------------------------------------------------------- // - // 0610 : 송신완료보고 (003:개별업무종료) - // ------------------------------------------------------------- // - sSendMsg = "FTP 0610RC" - + sFileCode - + "000" - + dateFormat.format(new Date()) - + "003 "; - sendMessage(sSendMsg); - // 송수신 파일정보 입력 - Info transInfo = null; - - if( sFileName.substring(0,2).compareTo("WK") >= 0 && - sFileName.substring(0,2).compareTo("WZ") <= 0 ){ - transInfo = new Info(); - transInfo.setString("FILE_KIND_ID" , sFileCode.substring(0,2) ); - transInfo.setString("FORMAT_DATE" , TODAY ); - transInfo.setString("FARE_OFFICE_ID" , "SW"); - transInfo.setString("FILE_TRANS_KBN" , "R" ); - transInfo.setString("FILE_TRANS_YN" , "Y" ); - transInfo.setString("DATA_PROCESS_KBN", "9" ); - transInfo.setString("DIR_NAME" , sFileDir ); - transInfo.setString("FILE_NAME" , sFileName.trim() ); - transInfo.setString("CREATER" , "SamServer"); - commDAO.insertRecvFileInfo( transInfo ); - - long nSeqNo = commDAO.getNextSeq(sFileCode.substring(0,2)); - - transInfo.setLong ("DATA_SEQNO" , nSeqNo ); - commDAO.insertFileTransInfo( transInfo ); - - transInfo.setString("FARE_OFFICE_ID" , "01"); - commDAO.insertOfficeTransInfo( transInfo ); - - transInfo.setString("FARE_OFFICE_ID" , "03"); - commDAO.insertOfficeTransInfo( transInfo ); - }else{ - transInfo = new Info(); - transInfo.setString("FILE_KIND_ID" , sFileCode.substring(0,2) ); - transInfo.setString("FORMAT_DATE" , TODAY ); - transInfo.setString("FARE_OFFICE_ID" , "SW"); - transInfo.setString("FILE_TRANS_KBN" , "R" ); - transInfo.setString("FILE_TRANS_YN" , "Y" ); - transInfo.setString("DATA_PROCESS_KBN", "0" ); - transInfo.setString("DIR_NAME" , sFileDir ); - transInfo.setString("FILE_NAME" , sFileName.trim() ); - transInfo.setString("CREATER" , "SamServer"); - commDAO.insertRecvFileInfo( transInfo ); - } - - - break; - } - else { - throw new Exception(sMessage); - } - } - } while (!done); - // ------------------------------------------------------------- // - // 0610 : 업무종료보고 (004:전체업무종료) - // ------------------------------------------------------------- // - sSendMsg = "FTP 0610RC" - + " " - + "000" - + dateFormat.format(new Date()) - + "004 "; - sendMessage(sSendMsg); - rename( sRecvDir+sRecvFileName, sFileDir+sFileName.trim() ); - vectFiles.add(new File(sFileDir, sFileName.trim())); - - conn.commit(); - }catch (SocketException se){ // 소켓 오류 - throw se; - }catch (IOException ie){ // 입출력 오류 - throw ie; - }catch (Exception ex){ // 시스템 오류 - throw ex; - }finally{ - try{ if(fileOutputStream!=null) fileOutputStream.close(); }catch(Exception e){} - try{ if(conn!=null) conn.close(); }catch(Exception e){} - } - File[] files = new File[vectFiles.size()]; - vectFiles.toArray(files); - return files; - } - /** - * 결번 개수를 구한다. - * @param sRecords - * @param nLastNo - * @return - */ - private int getMissingCount(byte[][] sBytes, int nLastNo) { - int nCount = 0; - for (int i = 0; i < nLastNo; i++) { - if (sBytes[i] == null) { - nCount++; - } - } - return nCount; - } - /** - * 스트링에서 결번을 읽어들인다.('0': 미수신, '1': 수신) - * @param sMessage - * @param len - * @return - */ - private String getMissingRecords(byte[][] sBytes) { - char []caMissing = new char[sBytes.length]; - for (int i = 0; i < sBytes.length; i++) { - if (sBytes[i] == null) { - caMissing[i] = '0'; // 미수신 '0' - } - else { - caMissing[i] = '1'; // 수신 '1' - } - } - return String.valueOf(caMissing); - } - /** - * 수신된 데이터를 블럭단위로 파일에 기록 - * @param sBytes - * @param nDataSize - * @throws IOException - */ - private void appendBlock(byte[][] sBytes, int nDataSize) - throws IOException { - for (int i = 0; i < sBytes.length; i++) { - // 최종 레코드까지 기록 - if (sBytes[i] == null) { - break; - } - fileOutputStream.write(sBytes[i]); - } - fileOutputStream.flush(); - } - /** - * 블럭의 레코드(String) 들을 초기화 - * @param sBytes - */ - private void clearBlock(byte[][] sBytes) { - for (int i = 0; i < sBytes.length; i++) { - sBytes[i] = null; - } - } - /** - * 파일에 따라 저장할 디렉토리 정보를 추출 - * @param sFileKindCode - * @param sBaseDir - * @param sFileName - * @return String - */ - public String getPath(String sFileKindCode,String sBaseDir, String sFileName){ - StringBuffer sFileDir = new StringBuffer(sBaseDir); - if( sFileKindCode.compareTo("WK") >= 0 && sFileKindCode.compareTo("WZ") <= 0 ){ // RF 운영정보 - sFileDir.append( TODAY + File.separator ); - }else if( sFileKindCode.startsWith("TY") || sFileKindCode.startsWith("WJ") ){ // 반송내역 - } - return sFileDir.toString(); - } - /** - * 파일 디렉토리 존재유무를 체크하고 생성하는 메소드 - * @param sFileDir - * @return boolean - */ - public boolean checkDirectory(String sFileDir){ - String sTemp [] = sFileDir.split(File.separator); - String sCreatDir = ""; - if( sTemp != null ){ - for( int idx = 0; idx < sTemp.length; idx++){ - sCreatDir = sCreatDir + sTemp[idx] + File.separator; - if( !new File(sCreatDir).isDirectory() ){ - new File(sCreatDir).mkdir(); - } - } - } - return true; - } - /** - * Help 메시지 출력 - */ - public static void showHelp(String sClass) { - System.err.println("Command :"); - System.err.println("\tjava " + sClass + " -Dftp.conf=CONFIG_FILE"); - System.err.println(""); - } - /** - * main - */ - public static void main(String[] args) { - try { - if(args.length != 0){ - showHelp("center.transfer.SWRecvClient"); - System.exit(0); - } - - String sConfFile = System.getProperty("ftp.conf"); - if (sConfFile == null || sConfFile.equals("")) { - showHelp("center.transfer.SWRecvClient"); - System.exit(0); - } - - Properties config = new Properties(); - try { - config.load(sConfFile); - } - catch (IOException ie) { - System.err.println("Can not read configuration file."); - System.exit(0); - } - - SWRecvClient client = new SWRecvClient(config); - client.startup(); - } - catch (Exception ex) { - System.err.println("Starting Demon is failed"); - ex.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/src/main/java/center/transfer/SWSendClient.java b/src/main/java/center/transfer/SWSendClient.java deleted file mode 100644 index 1099e58..0000000 --- a/src/main/java/center/transfer/SWSendClient.java +++ /dev/null @@ -1,415 +0,0 @@ -package center.transfer; - -import java.io.*; -import java.net.*; -import java.sql.Connection; -import java.util.Date; - -import com.util.*; -import com.exception.*; -import com.resources.data.*; -import center.dao.*; -/** - * 삼원 파일 송신 클라이언트 프로세스
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class SWSendClient extends CommClient { - private int COMM_LENGTH = 28; - private int M600_LENGTH = 77; - private int M610_LENGTH = 77; - private int M620_LENGTH = 35; - private int M630_LENGTH = 52; - private int M640_LENGTH = 52; - private int M300_LENGTH = 38; - private int M310_LENGTH = 39; - private int M320_LENGTH = 39; - /** - * Constructor - * @param config - */ - public SWSendClient(Properties config){ - super(config, "SW", "PT" ); - } - /** - * startup - */ - public void startup() { - Info fileInfo = null; - Connection conn = null; // Connection - CenterTransDAO commDAO = null; // 파일 전송 이력 클래스 변수 - - try{ - conn = getConnection(); - conn.setAutoCommit(false); - commDAO = new CenterTransDAO(conn); - - while (true) { - try{ - // 미전송 파일 정보 조회(S:송신,0:미처리) - fileInfo = commDAO.getSendFileInfo(sOrgCode, "S", "N"); - if( fileInfo != null ){ - // 통신 소켓 Open - socket = new Socket(sOrgAddr, Integer.parseInt(sOrgPort)); - System.out.println("CONNECT"); - reader = socket.getInputStream(); - writer = socket.getOutputStream(); - - nSeq = fileInfo.getLong("SEQ"); - - // 레코드 길이 - this.nDataSize = fileInfo.getInt("REC_LEN"); - // 레코드 건수 - this.nDataCount = fileInfo.getInt("REC_CNT"); - // 블럭당 시퀀스 개수 - this.nSequenceCount = fileInfo.getInt("SEQ_CNT"); - // 파일전송코드 - this.sFileCode = fileInfo.getString("FILE_CODE")+" "; - // 파일명 - this.sFileName = fileInfo.getString("FILE_NAME"); - // 파일 디렉토리 - this.sFileDir = fileInfo.getString("DIR_NAME"); - - File fSendFile = new File(sFileDir, sFileName); - - logInfo(""); - logInfo("File Send START"); - logInfo("Send File : " + sFileName); - logInfo("Send File Size: " + fSendFile.length()); - // 파일 전송 - int nReturn = sendFile(fSendFile); - logInfo("File Send END ["+nReturn+"]"); - - if( nReturn == 0 ){ // 파일 전송 완료 후 파일 전송 상태 반영 - commDAO.updTransFileInfo(nSeq, "Y", "SamClient"); - conn.commit(); - }else if( nReturn == 1 ){ // 파일 미존재시 - commDAO.updTransFileInfo(nSeq, "X", "SamClient"); - conn.commit(); - } - } - else { // 전송자료 미존재 - // 1 Min Sleep - try { Thread.sleep(SLEEP_01_MIN); } catch (InterruptedException ie) {} - } - }catch (ConnectException ce) { // 네트워크 연결 오류 - if (logger != null) logFail(" " + ce.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch (SocketException se) { // 소켓 오류 - if (logger != null) logFail(" " + se.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch(IOException ioe){ // System 오류 - if (logger != null) { - logFail(" " + ioe.getMessage()); - logDebug(ioe); - } - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch(Exception ex){ // System 오류 - if (logger != null) { - logFail(" " + ex.getMessage()); - logDebug(ex); - } - // 10 Min Sleep - try { Thread.sleep(SLEEP_10_MIN); } catch (InterruptedException ie) {} - }finally{ - try{ if(reader!=null) reader.close(); }catch(Exception e){} - try{ if(writer!=null) writer.close(); }catch(Exception e){} - try{ if(socket!=null) socket.close(); }catch(Exception e){} - } - // 3 Sec Sleep - try { Thread.sleep( SLEEP_03_SEC ); } catch (InterruptedException ie) {} - } - }catch(Exception e){ - logDebug(e); - }finally{ - try{ if(conn!=null)conn.close(); }catch(Exception e){} - } - } - /** - * 파일전송 (0:정상처리, 1:FILE NOT FOUND, 2:수신전문 오류) - * @param file - * @return int - * @throws SocketException - * @throws IOException - * @throws Exception - */ - public int sendFile(File file) throws Exception{ - int nReturn = 0; - - try { - int nBlockNo = 1; - String sMessage, sSendMsg = null; - - // Read File - fileAccess = new RandomAccessFile(file,"r"); - - int nRecordSize = nDataSize * nDataCount; - long nFileSize = fileAccess.length(); - // ------------------------------------- // - // 업무개시전문 송신 (0600 / 001) - // ------------------------------------- // - sSendMsg = "FTP 0600RC" - + " " - + "000" - + dateFormat.format(new Date()) - + "001 "; - sMessage = dialogMessage(sSendMsg, M600_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - throw new MessageException(sMessage); - } - - // ------------------------------------- // - // 파일수신 요청전문 송신 (0630) - // ------------------------------------- // - sSendMsg = "FTP 0630RC" - + sFileCode - + "000" - + sFileName - + StringUtil.ltos(nFileSize , 12) - + StringUtil.ntos(nRecordSize, 4); - sMessage = dialogMessage(sSendMsg, M630_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0640", sMessage)){ - throw new MessageException(sMessage); - } - - // 센터에 이미 파일이 존재하면 그 크기만큼 파일을 스킵한다. - long nRemoteFileSize = 0; - nRemoteFileSize = Long.parseLong( sMessage.substring(36, 48)); - - while (true) { - int nCount = 0; - // 한 블럭(최대 100개의 레코드)의 데이터를 파일로부터 읽어들인다. - for( int i = 0, nRecordNo = 1; i< nSequenceCount; i++, nRecordNo++){ - // setting offset for reading file data - long nOffSet - = ((nBlockNo-1)*nSequenceCount*nRecordSize) + (i*nRecordSize) + nRemoteFileSize; - - if( nOffSet+1 > nFileSize ) { // offset 이 파일크기보다 클때 종료 - break; - } - byte [] buff // 파일 Read - = getFileData(fileAccess, nOffSet, nRecordSize); - // ------------------------------------- // - // 데이터 전송 (0320) - // ------------------------------------- // - sSendMsg = "FTP 0320RC" - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nRecordNo, 3) - + StringUtil.ntos(buff.length, 4); - sendBinaryMessage(sSendMsg.getBytes()); // send message header - sendBinaryMessage(buff); // send file data - nCount++; - } - - // 송신할 레코드가 없을 경우 송신을 완료한다. - if (nCount == 0) { - break; - } - while (true) { - // ------------------------------------- // - // 결번확인 요청 및 응답 (0620, 0300) - // ------------------------------------- // - sSendMsg = "FTP 0620RC" - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nCount, 3) ; - - sMessage = dialogMessage(sSendMsg, M300_LENGTH + nSequenceCount); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0300", sMessage)){ - throw new MessageException(sMessage); - } - // 재전송해야 할 결번을 얻어온다. - int[] nMissing = getMissingRecords(sMessage, nCount); - // 결번이 없을 경우 다음 블럭을 전송하도록 한다. - if (nMissing == null || nMissing.length == 0) { - // Sleep Time 5 Second - try{ - Thread.sleep(BLOCK_SLEEP_TIME); - }catch(Exception se){ - } - break; - } - // 결번을 재전송한다. - for (int i = 0; i < nMissing.length; i++) { - int nMissNo = nMissing[i]; - // setting offset for reading file data - long nOffSet - = ((nBlockNo-1)*nSequenceCount*nRecordSize) + ((nMissNo-1) * nRecordSize)+nRemoteFileSize; - - if( nOffSet > nFileSize ) { // offset 이 파일크기보다 클때 종료 - break; - } - byte [] buff // 파일 Read - = getFileData(fileAccess, nOffSet, nRecordSize); - // ------------------------------------- // - // 결번 데이터 전송 (0310) - // ------------------------------------- // - sSendMsg = "FTP 0310RC" - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nMissNo, 3) - + StringUtil.ntos(buff.length, 4); - sendBinaryMessage(sSendMsg.getBytes()); // send message header - sendBinaryMessage(buff); // send file data - - if (nMissNo > nCount ) { - break; - } - } - } - nBlockNo++; - } - - // ------------------------------------- // - // 파일수신 종료전문 송신 (0600 / 003) - // ------------------------------------- // - sSendMsg = "FTP 0600RC" - + sFileCode - + "000" - + dateFormat.format(new Date()) - + "003 "; - sMessage = dialogMessage(sSendMsg, M600_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - throw new MessageException(sMessage); - } - // ------------------------------------- // - // 종료전문 송신 (0600 / 004) - // ------------------------------------- // - sSendMsg = "FTP 0600RC" - + sFileCode - + "000" - + dateFormat.format(new Date()) - + "004 "; - sMessage = dialogMessage(sSendMsg, M600_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - throw new MessageException(sMessage); - } - }catch (FileNotFoundException fe) { // 파일 미존재 - nReturn = 1; - if (logger != null) logFail("[ERROR 800] " + fe.getMessage()); - }catch (MessageException me){ // 수신전문 오류 - nReturn = 2; - try { sendMessage(CMDFAIL("800")); }catch (Exception ex) { } - if (logger != null) { logFail("[ERROR 800] " + me.getMessage()); } - }catch (SocketException se){ // 소켓 오류 - throw se; - }catch (IOException ie){ // 입출력 오류 - try { sendMessage(CMDFAIL("090")); }catch (Exception ex) { } - throw ie; - }catch (Exception ex){ // 시스템 오류 - throw ex; - } - finally { - try { if (fileAccess != null) { fileAccess.close(); } } catch (IOException ie) { } - } - return nReturn; - } - /** - * read file data - * @param fileAccess - * @param offset - * @param nBufferSize - * @return - * @throws IOException - */ - private byte[] getFileData(RandomAccessFile fileAccess, long offset, int nBufferSize) throws IOException{ - byte[] buf = new byte[nBufferSize]; - fileAccess.seek(offset); - int nLen = fileAccess.read(buf); - if(nLen < nBufferSize){ - byte[] dest = new byte[nLen]; - System.arraycopy(buf, 0, dest, 0, nLen); - buf = dest; - } - return buf; - } - /** - * 스트링에서 결번을 읽어들인다.('0': 미수신, '1': 수신) - * @param sMessage - * @param len - * @return - */ - private int[] getMissingRecords(String sMessage, int len) { - int index = 0; - int []intArr = new int[len]; - String sMissing = sMessage.substring(M300_LENGTH); - // 레코드 번호는 1부터 시작된다. - for (int i = 0; i < len; i++) { - // 값이 '0'이면 미수신 레코드 - if (sMissing.charAt(i) == '0') { - intArr[index]=i; - index++; - } - } - int [] nMissing = new int[index]; - System.arraycopy(intArr, 0, nMissing, 0, index); - - return nMissing; - } - /** - * 오류메시지 전문 생성 - * @param sErrorCode - * @return String - */ - public String CMDFAIL(String sErrorCode) { - String sFailMsg = "FTP 0600RC " - + sErrorCode // error code - + dateFormat.format(new Date()) - + "004 "; - return sFailMsg; - } - /** - * Help 메시지 출력 - */ - public static void showHelp(String sClass) { - System.err.println("Command :"); - System.err.println("\tjava " + sClass + " -Dftp.conf=CONFIG_FILE"); - System.err.println(""); - } - /** - * main - */ - public static void main(String[] args) { - try { - if(args.length != 0){ - showHelp("center.transfer.SWSendClient"); - System.exit(0); - } - - String sConfFile = System.getProperty("ftp.conf"); - if (sConfFile == null || sConfFile.equals("")) { - showHelp("center.transfer.SWSendClient"); - System.exit(0); - } - - Properties config = new Properties(); - try { - config.load(sConfFile); - } - catch (IOException ie) { - System.err.println("Can not read configuration file."); - System.exit(0); - } - - SWSendClient client = new SWSendClient(config); - client.startup(); - } - catch (Exception ex) { - System.err.println("Starting Demon is failed."); - ex.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/src/main/java/center/transfer/TMRecvServer.java b/src/main/java/center/transfer/TMRecvServer.java index 671e8e4..419e7bf 100644 --- a/src/main/java/center/transfer/TMRecvServer.java +++ b/src/main/java/center/transfer/TMRecvServer.java @@ -13,7 +13,13 @@ package center.transfer; -import java.io.*; +import java.io.BufferedOutputStream; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.ServerSocket; import java.net.URL; @@ -29,17 +35,16 @@ import javax.net.ssl.HttpsURLConnection; import org.json.simple.JSONObject; -import center.dao.VanTransDAO; -import center.green.FTPUtil; - +import com.exception.MessageException; +import com.resources.data.Info; import com.util.Properties; import com.util.StringUtil; -import com.resources.data.*; -import com.exception.*; + +import center.green.FTPUtil; /** * 스마트카드 파일 수신 서버 프로세스
- * + * * @author jckim * @since JDK 1.4.1 * @version 0.1, 2007-09-28 초기 작성 @@ -57,7 +62,7 @@ public class TMRecvServer extends CommClient { private int M310_LENGTH = 39; private int M320_LENGTH = 39; - private VanTransDAO commDAO; // 파일 전송 이력 클래스 변수 + private static String JOB_CODE = "FTP"; private static String ORGANIZATION_CODE = "00000000"; private static int TCPIP_HEADER = 4; @@ -73,7 +78,7 @@ public class TMRecvServer extends CommClient { /** * Constructor - * + * * @param config */ public TMRecvServer(Properties config) { @@ -269,9 +274,7 @@ public class TMRecvServer extends CommClient { try { logInfo(String.format("[%s] ========== 3", format2.format(new Date()))); - // conn = getConnection(); - // conn.setAutoCommit(false); - // commDAO = new VanTransDAO(conn); + TODAY = StringUtil.getDate("yyyyMMdd"); logInfo(""); logInfo("File Recveive START"); @@ -301,7 +304,7 @@ public class TMRecvServer extends CommClient { /** * 파일 수신 처리 - * + * * @return File[] * @throws IOException * @throws Exception @@ -405,7 +408,7 @@ public class TMRecvServer extends CommClient { * 조현주 if( data == null ){ * logInfo("============ J "); throw new * Exception("미등록 파일 코드:"+sFileCode.substring(0,2)); } - * + * * logInfo("============ K "); nDataSize = * data.getInt("REC_LEN"); // 레코드길이 nDataCount = * data.getInt("REC_CNT"); // 시퀀스 당 레코드 건수 nSequenceCount = @@ -586,22 +589,10 @@ public class TMRecvServer extends CommClient { logInfo("============ 0600- C "); obj.put("webKind", "0"); - //str = callWebServicePostJson(strUrl + "insertDayCloseSendHistory.do", obj); + logInfo("============ 0600- D "); - /* - * long nSeqNo = - * commDAO.getNextSeq(sFileCode.substring(0,2)); - * - * transInfo.setLong ("DATA_SEQNO" , nSeqNo ); - * commDAO.insertFileTransInfo( transInfo ); - * - * transInfo.setString("FARE_OFFICE_ID" , "01"); - * commDAO.insertOfficeTransInfo( transInfo ); - * - * transInfo.setString("FARE_OFFICE_ID" , "03"); - * commDAO.insertOfficeTransInfo( transInfo ); - */ + } else { transInfo = new Info(); transInfo.setString("FILE_KIND_ID", sFileCode.substring(0, 2)); @@ -631,8 +622,8 @@ public class TMRecvServer extends CommClient { logInfo("==== 111"); logInfo("==== strUrl : " + strUrl); - - //str = callWebServicePostJson(strUrl + "insertDayCloseSendHistory.do", obj); + + logInfo("============ 0600-F "); } rename(sRecvDir + sRecvFileName, sDirectory + sFileName.trim()); @@ -663,21 +654,11 @@ public class TMRecvServer extends CommClient { || obj.get("fileName").substring(0, 2).compareTo("WJ") == 0 ) { logInfo("============ 0610- B "); - /* - DayCloseReturn dcr = new DayCloseReturn(); - dcr.initialize(); - dcr.callProc(obj.get("dirName"), obj.get("fileName"), obj.get("fileName").substring(0, 2)); - logInfo("============ 0610-C "); - */ + } logInfo("============ shellCmd - start 1"); -/* String command = String.format("sh /gpta/source-web/cfs/tMoney/NAMSAN/Relay/run_sender.sh %s %s", obj.get("dirName"), obj.get("fileName")); - DayCloseReturn.shellCmd(command); -*/ - /* - Process p = Runtime.getRuntime().exec("curl 어쩌구저쩌구"); - */ + File file = new File( obj.get("dirName") + obj.get("fileName")); logInfo("============ shellCmd - start 2"); FTPUtil sftp = new FTPUtil(); @@ -688,11 +669,11 @@ public class TMRecvServer extends CommClient { logInfo("============ shellCmd - start 5"); sftp.disconnect(); logInfo("============ shellCmd - end "); - - + + String command = String.format("java -jar /gpta/source-web/cfs/tMoney/NAMSAN/DayCloseReturnManual.jar %s %s", obj.get("dirName"), obj.get("fileName")); center.green.DayCloseReturn.shellCmd(command); - + } catch (Exception ex) { ex.printStackTrace(); if (logger != null) { @@ -715,7 +696,7 @@ public class TMRecvServer extends CommClient { /** * 결번 개수를 구한다. - * + * * @param sRecords * @param nLastNo * @return @@ -732,7 +713,7 @@ public class TMRecvServer extends CommClient { /** * 스트링에서 결번을 읽어들인다.('0': 미수신, '1': 수신) - * + * * @param sMessage * @param len * @return @@ -751,7 +732,7 @@ public class TMRecvServer extends CommClient { /** * 수신된 데이터를 블럭단위로 파일에 기록 - * + * * @param sBytes * @param nDataSize * @throws IOException @@ -769,7 +750,7 @@ public class TMRecvServer extends CommClient { /** * 블럭의 레코드(String) 들을 초기화 - * + * * @param sBytes */ private void clearBlock(byte[][] sBytes) { @@ -780,7 +761,7 @@ public class TMRecvServer extends CommClient { /** * 파일 디렉토리 존재유무를 체크하고 생성하는 메소드 - * + * * @param sFileDir * @return boolean */ diff --git a/src/main/java/center/transfer/TMSendClient.java b/src/main/java/center/transfer/TMSendClient.java deleted file mode 100644 index b6cae17..0000000 --- a/src/main/java/center/transfer/TMSendClient.java +++ /dev/null @@ -1,449 +0,0 @@ -package center.transfer; - -import java.io.*; -import java.net.*; -import java.sql.Connection; -import java.util.Date; - -import center.dao.VanTransDAO; - -import com.util.*; -import com.exception.*; -import com.resources.data.*; -/** - * 스마트카드 파일 송신 클라이언트 프로세스
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class TMSendClient extends CommClient { - private int COMM_LENGTH = 28; - private int M600_LENGTH = 77; - private int M610_LENGTH = 77; - private int M620_LENGTH = 35; - private int M630_LENGTH = 52; - private int M640_LENGTH = 52; - private int M300_LENGTH = 38; - private int M310_LENGTH = 39; - private int M320_LENGTH = 39; - - private static String JOB_CODE = "FTP"; - private static String ORGANIZATION_CODE = "70000007"; - private static int TCPIP_HEADER = 4; - private static String GUBUN_CODE = "R"; - private static String SENDER_FLAG = "E"; - private static String USERNAME = "SAMWONFA "; - private static String PASSWORD = "samwonfa "; - /** - * Constructor - * @param config - */ - public TMSendClient(Properties config){ - super(config, "TM", "PT" ); - } - /** - * startup - */ - public void startup() { - Info fileInfo = null; - Connection conn = null; // Connection - VanTransDAO commDAO = null; // 파일 전송 이력 클래스 변수 - - try{ - conn = getConnection(); - conn.setAutoCommit(false); - commDAO = new VanTransDAO(conn); - - while (true) { - try{ - // 미전송 파일 정보 조회(S:송신,0:미처리) - fileInfo = commDAO.getSendFileInfo(sOrgCode, "S", "N"); - if( fileInfo != null ){ - // 통신 소켓 Open - socket = new Socket(sOrgAddr, Integer.parseInt(sOrgPort)); - System.out.println("CONNECT"); - reader = socket.getInputStream(); - writer = socket.getOutputStream(); - - nSeq = fileInfo.getLong("SEQ"); - - // 레코드 길이 - this.nDataSize = fileInfo.getInt("REC_LEN"); - // 레코드 건수 - this.nDataCount = fileInfo.getInt("REC_CNT"); - // 블럭당 시퀀스 개수 - this.nSequenceCount = fileInfo.getInt("SEQ_CNT"); - // 파일전송코드 - this.sFileCode = fileInfo.getString("FILE_NAME"); - // 파일명 - this.sFileName = fileInfo.getString("FILE_NAME"); - // 파일 디렉토리 - this.sFileDir = fileInfo.getString("DIR_NAME"); - logInfo("REC_LEN : " + nDataSize); - logInfo("REC_CNT : " + nDataCount); - logInfo("SEQ_CNT : " + nSequenceCount); - logInfo("FILE_CODE : " + sFileCode); - logInfo("FILE_NAME : " + sFileName); - logInfo("DIR_NAME : " + sFileDir); - File fSendFile = new File(sFileDir, sFileName); - - logInfo(""); - logInfo("File Send START"); - logInfo("Send File : " + sFileName); - logInfo("Send File Size: " + fSendFile.length()); - // 파일 전송 - int nReturn = sendFile(fSendFile); - logInfo("File Send END ["+nReturn+"]"); - - if( nReturn == 0 ){ // 파일 전송 완료 후 파일 전송 상태 반영 - commDAO.updTransFileInfo(nSeq, "S","Y","9", "CoreClient"); - conn.commit(); - }if( nReturn == 1 ){ // 파일 미존재시 - commDAO.updTransFileInfo(nSeq, "S","N",nReturn+"", "CoreClient"); - conn.commit(); - }if( nReturn == 2 ){ // 파일 기송신 완료 - commDAO.updTransFileInfo(nSeq, "S","Y",nReturn+"", "CoreClient"); - conn.commit(); - }if( nReturn == 4 ){ // 송신 파일 사이즈 오류 - commDAO.updTransFileInfo(nSeq, "S","N",nReturn+"", "CoreClient"); - conn.commit(); - } - } - else { // 전송자료 미존재 - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - } - }catch (ConnectException ce) { // 네트워크 연결 오류 - if (logger != null) logFail(" " + ce.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch (SocketException se) { // 소켓 오류 - if (logger != null) logFail(" " + se.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch(IOException ioe){ // System 오류 - if (logger != null) { - logFail(" " + ioe.getMessage()); - logDebug(ioe); - } - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch(Exception ex){ // System 오류 - if (logger != null) { - logFail(" " + ex.getMessage()); - logDebug(ex); - } - // 10 Min Sleep - try { Thread.sleep(SLEEP_10_MIN); } catch (InterruptedException ie) {} - }finally{ - try{ if(reader!=null) reader.close(); }catch(Exception e){} - try{ if(writer!=null) writer.close(); }catch(Exception e){} - try{ if(socket!=null) socket.close(); }catch(Exception e){} - } - // 2 Sec Sleep - try { Thread.sleep( SLEEP_02_SEC ); } catch (InterruptedException ie) {} - } - }catch(Exception e){ - logDebug(e); - }finally{ - try{ if(conn!=null)conn.close(); }catch(Exception e){} - } - } - /** - * 파일전송 (0:정상처리, 1:FILE NOT FOUND, 2:수신전문 오류, 3: 응답코드 오류, 4:송신파일사이즈오류) - * @param file - * @return int - * @throws SocketException - * @throws IOException - * @throws Exception - */ - public int sendFile(File file) throws Exception{ - int nReturn = 0; - - try { - int nBlockNo = 1; - String sMessage, sSendMsg, sMsgLength = null; - - // Read File - fileAccess = new RandomAccessFile(file,"r"); - - int nRecordSize = nDataSize * nDataCount; - long nFileSize = fileAccess.length(); - // 응답코드 체크(000:정상) - if( nFileSize == 0 ){ - nReturn = 4; - return nReturn; - } - // ------------------------------------- // - // 업무개시전문 송신 (0600 / 001) - // ------------------------------------- // - sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0600"+GUBUN_CODE+SENDER_FLAG - + " " - + "000" - + dateFormat.format(new Date()) - + "001"+USERNAME+PASSWORD; - sMsgLength = StringUtil.ltos(sSendMsg.length(), 4); - sMessage = dialogMessage(sMsgLength+sSendMsg, M600_LENGTH + TCPIP_HEADER).substring(TCPIP_HEADER); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - nReturn = 3; - throw new MessageException(sMessage); - } - - // ------------------------------------- // - // 파일수신 요청전문 송신 (0630) - // ------------------------------------- // - sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0630"+GUBUN_CODE+SENDER_FLAG - + sFileCode - + "000" - + sFileName - + StringUtil.ltos(nFileSize , 12) - + StringUtil.ntos(nRecordSize + M310_LENGTH, 4); - - sMsgLength = StringUtil.ltos(sSendMsg.length(), 4); - sMessage = dialogMessage(sMsgLength+sSendMsg, M630_LENGTH + TCPIP_HEADER).substring(TCPIP_HEADER); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0640", sMessage)){ - nReturn = 3; - if(sMessage.substring(25, 28).equals("630")) nReturn = 2; - throw new MessageException(sMessage); - } - - // 센터에 이미 파일이 존재하면 그 크기만큼 파일을 스킵한다. - long nRemoteFileSize = 0; - nRemoteFileSize = Long.parseLong( sMessage.substring(36, 48)); - - while (true) { - int nCount = 0; - // 한 블럭(최대 100개의 레코드)의 데이터를 파일로부터 읽어들인다. - for( int i = 0, nRecordNo = 1; i< nSequenceCount; i++, nRecordNo++){ - // setting offset for reading file data - long nOffSet - = ((nBlockNo-1)*nSequenceCount*nRecordSize) + (i*nRecordSize) + nRemoteFileSize; - - if( nOffSet+1 > nFileSize ) { // offset 이 파일크기보다 클때 종료 - break; - } - byte [] buff // 파일 Read - = getFileData(fileAccess, nOffSet, nRecordSize); - // ------------------------------------- // - // 데이터 전송 (0320) - // ------------------------------------- // - sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0320"+GUBUN_CODE+SENDER_FLAG - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nRecordNo, 3) - + StringUtil.ntos(buff.length, 4); - sMsgLength = StringUtil.ltos(sSendMsg.length()+buff.length, 4); - sendBinaryMessage((sMsgLength+sSendMsg).getBytes()); // send message header - sendBinaryMessage(buff); // send file data - nCount++; - } - - // 송신할 레코드가 없을 경우 송신을 완료한다. - if (nCount == 0) { - break; - } - while (true) { - // ------------------------------------- // - // 결번확인 요청 및 응답 (0620, 0300) - // ------------------------------------- // - sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0620"+GUBUN_CODE+SENDER_FLAG - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nCount, 3) ; - - sMsgLength = StringUtil.ltos(sSendMsg.length(), 4); - sMessage = dialogMessage(sMsgLength+sSendMsg, M300_LENGTH + nSequenceCount + TCPIP_HEADER).substring(TCPIP_HEADER); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0300", sMessage)){ - nReturn = 3; - throw new MessageException(sMessage); - } - // 재전송해야 할 결번을 얻어온다. - int[] nMissing = getMissingRecords(sMessage, nCount); - // 결번이 없을 경우 다음 블럭을 전송하도록 한다. - if (nMissing == null || nMissing.length == 0) { - break; - } - // 결번을 재전송한다. - for (int i = 0; i < nMissing.length; i++) { - int nMissNo = nMissing[i]; - // setting offset for reading file data - long nOffSet - = ((nBlockNo-1)*nSequenceCount*nRecordSize) + ((nMissNo-1) * nRecordSize)+nRemoteFileSize; - - if( nOffSet > nFileSize ) { // offset 이 파일크기보다 클때 종료 - break; - } - byte [] buff // 파일 Read - = getFileData(fileAccess, nOffSet, nRecordSize); - // ------------------------------------- // - // 결번 데이터 전송 (0310) - // ------------------------------------- // - sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0310"+GUBUN_CODE+SENDER_FLAG - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nMissNo, 3) - + StringUtil.ntos(buff.length, 4); - sMsgLength = StringUtil.ltos(sSendMsg.length()+buff.length, 4); - sendBinaryMessage((sMsgLength+sSendMsg).getBytes()); // send message header - sendBinaryMessage(buff); // send file data - - if (nMissNo > nCount ) { - break; - } - } - } - nBlockNo++; - } - - // ------------------------------------- // - // 파일수신 종료전문 송신 (0600 / 003) - // ------------------------------------- // - sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0600"+GUBUN_CODE+SENDER_FLAG - + sFileCode - + "000" - + dateFormat.format(new Date()) - + "003"+USERNAME+PASSWORD; - sMsgLength = StringUtil.ltos(sSendMsg.length(), 4); - sMessage = dialogMessage(sMsgLength+sSendMsg, M600_LENGTH + TCPIP_HEADER).substring(TCPIP_HEADER); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - nReturn = 3; - throw new MessageException(sMessage); - } - // ------------------------------------- // - // 종료전문 송신 (0600 / 004) - // ------------------------------------- // - sSendMsg = JOB_CODE+ORGANIZATION_CODE+"0600"+GUBUN_CODE+SENDER_FLAG - + " " - + "000" - + dateFormat.format(new Date()) - + "004"+USERNAME+PASSWORD; - sMsgLength = StringUtil.ltos(sSendMsg.length(), 4); - sMessage = dialogMessage(sMsgLength+sSendMsg, M600_LENGTH + TCPIP_HEADER).substring(TCPIP_HEADER); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - nReturn = 3; - throw new MessageException(sMessage); - } - }catch (FileNotFoundException fe) { // 파일 미존재 - nReturn = 1; - if (logger != null) logFail("[ERROR 800] " + fe.getMessage()); - }catch (MessageException me){ // 수신전문 오류 - try { sendMessage(CMDFAIL("800")); }catch (Exception ex) { } - if (logger != null) { logFail("[ERROR 800] " + me.getMessage()); } - }catch (SocketException se){ // 소켓 오류 - throw se; - }catch (IOException ie){ // 입출력 오류 - try { sendMessage(CMDFAIL("090")); }catch (Exception ex) { } - throw ie; - }catch (Exception ex){ // 시스템 오류 - throw ex; - } - finally { - try { if (fileAccess != null) { fileAccess.close(); } } catch (IOException ie) { } - } - return nReturn; - } - /** - * read file data - * @param fileAccess - * @param offset - * @param nBufferSize - * @return - * @throws IOException - */ - private byte[] getFileData(RandomAccessFile fileAccess, long offset, int nBufferSize) throws IOException{ - byte[] buf = new byte[nBufferSize]; - fileAccess.seek(offset); - int nLen = fileAccess.read(buf); - if(nLen < nBufferSize){ - byte[] dest = new byte[nLen]; - System.arraycopy(buf, 0, dest, 0, nLen); - buf = dest; - } - return buf; - } - /** - * 스트링에서 결번을 읽어들인다.('0': 미수신, '1': 수신) - * @param sMessage - * @param len - * @return - */ - private int[] getMissingRecords(String sMessage, int len) { - int index = 0; - int []intArr = new int[len]; - String sMissing = sMessage.substring(M300_LENGTH); - // 레코드 번호는 1부터 시작된다. - for (int i = 0; i < len; i++) { - // 값이 '0'이면 미수신 레코드 - if (sMissing.charAt(i) == '0') { - intArr[index]=i; - index++; - } - } - int [] nMissing = new int[index]; - System.arraycopy(intArr, 0, nMissing, 0, index); - - return nMissing; - } - /** - * 오류메시지 전문 생성 - * @param sErrorCode - * @return String - */ - public String CMDFAIL(String sErrorCode) { - String sFailMsg = "FTP 0600RC " - + sErrorCode // error code - + dateFormat.format(new Date()) - + "004"+USERNAME+PASSWORD; - String sMsgLength = StringUtil.ltos(sFailMsg.length(), 4); - return sMsgLength+sFailMsg; - } - /** - * Help 메시지 출력 - */ - public static void showHelp(String sClass) { - System.err.println("Command :"); - System.err.println("\tjava " + sClass + " -Dftp.conf=CONFIG_FILE"); - System.err.println(""); - } - /** - * main - */ - public static void main(String[] args) { - try { - if(args.length != 0){ - showHelp("center.transfer.TMSendClient"); - System.exit(0); - } - - String sConfFile = System.getProperty("ftp.conf"); - if (sConfFile == null || sConfFile.equals("")) { - showHelp("center.transfer.TMSendClient"); - System.exit(0); - } - - Properties config = new Properties(); - try { - config.load(sConfFile); - } - catch (IOException ie) { - System.err.println("환경파일을 읽어 들일 수 없습니다."); - System.exit(0); - } - - TMSendClient client = new TMSendClient(config); - client.startup(); - } - catch (Exception ex) { - System.err.println("데몬을 구동하는데 실패했습니다."); - ex.printStackTrace(); - } - } -} diff --git a/src/main/java/center/transfer/TNRecvServer01.java b/src/main/java/center/transfer/TNRecvServer01.java deleted file mode 100644 index b55df2b..0000000 --- a/src/main/java/center/transfer/TNRecvServer01.java +++ /dev/null @@ -1,610 +0,0 @@ -/** - *
- * SamServer
- * 
- * 통신 프로토콜 수신 서버 - * - * @since 2006/07/27 - * @version 1.0 - 2006/07/27 - * - * @author 김종채,
- * 작성 : 2006/07/27
- */ - -package center.transfer; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.ServerSocket; -import java.util.Date; -import java.util.Vector; - -import com.exception.MessageException; -import com.resources.data.Info; -import com.util.Properties; -import com.util.StringUtil; - -import center.dao.CenterTransDAO; -/** - * 남산 1호터널 파일 수신 서버 프로세스
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class TNRecvServer01 extends CommClient -{ - private int COMM_LENGTH = 28; - private int M600_LENGTH = 77; - private int M610_LENGTH = 77; - private int M620_LENGTH = 35; - private int M630_LENGTH = 84; - private int M640_LENGTH = 84; - private int M300_LENGTH = 38; - private int M310_LENGTH = 39; - private int M320_LENGTH = 39; - - private CenterTransDAO commDAO; // 파일 전송 이력 클래스 변수 - - private String DOTR_BASE; - private String RFDATA_SEND; - private String RFID_BASE; - private String sOfficeID; - /** - * Constructor - * @param config - */ - public TNRecvServer01(Properties config){ - super(config, "TN_01", "BT"); - } - /** - * startup - */ - public void startup() - { - try - { - DOTR_BASE = config.getProperty("dotr.dir"); - RFDATA_SEND = config.getProperty("rfdata.send"); - RFID_BASE = config.getProperty("file.dir"); - sOfficeID = config.getProperty(sOrgCode+".office"); - - int iSvrPort = Integer.parseInt(sLocalPort); - oSvrSock = new ServerSocket(iSvrPort); - while (true) - { - try{ - // client를 기다림 - socket = oSvrSock.accept(); - socket.setSoTimeout( TIME_OUT ); - System.err.println( socket.getInetAddress() + " Client is connected"); - reader = socket.getInputStream(); - writer = socket.getOutputStream(); - - startClient(); - }catch(Exception e){ - System.err.println(e.getMessage()); - }finally{ - try{ if(reader!=null) reader.close(); }catch(Exception e){} - try{ if(writer!=null) writer.close(); }catch(Exception e){} - try{ if(socket!=null) socket.close(); }catch(Exception e){} - } - } // while end - } - catch (Exception e) - { - logger.logTrace(e); - } - } - /** - * startClient - */ - protected void startClient() throws Exception{ - try{ - TODAY = StringUtil.getDate("yyyyMMdd"); - - conn = getConnection(); - conn.setAutoCommit(false); - commDAO = new CenterTransDAO(conn); - - logInfo(""); - logInfo("File Recveive START"); - - File[] files = receiveFiles(); - - for (int i=0; i nRecordSize ? nRecordSize : nMessageSize; - while (true) { - // 전문의 공통부분 Read - sMessage = recvMessage(COMM_LENGTH); - // 전문코드 추출 - sMsgCode = sMessage.substring(11, 15); - // 응답코드 체크(000:정상) - if (! isSuccessMessage( sMessage)) { - throw new MessageException(sMessage); - } - - // ------------------------------------------------------------- // - // 0320 : DATA 송신, 0310 : 결번 통보 - // ------------------------------------------------------------- // - if (sMsgCode.equals("0320") || sMsgCode.equals("0310")) { - // 블럭 번호 조회 - int nRemoteBlock = Integer.parseInt(recvMessage(4)); - // 이전까지 수신된 블럭과 현재 수신된 블럭이 다를 경우 - if (nBlockNo != nRemoteBlock) { - // 이전까지 수신된 블럭을 파일로 저장한다. - appendBlock(sBytes, nDataSize); - clearBlock(sBytes); - // 현재의 블럭번호를 변경한다. - nBlockNo = nRemoteBlock; - } - // 레코드 번호 - sMessage = recvMessage(3); - int nRecordNo = Integer.parseInt(sMessage); - // 데이터 부분총길이 - sMessage = recvMessage(4); - int nDataLength = Integer.parseInt(sMessage); - // 전문의 데이터을 읽어들인다. - RCV0320(sBytes, nRecordNo, nDataLength, recvSize ); - } - // ------------------------------------------------------------- // - // 0620 : 결번확인지시 - // ------------------------------------------------------------- // - else if (sMsgCode.equals("0620")) { - String sBlockNo = recvMessage(4); - String sSequenceNo = recvMessage(3); - - int nLastNo = Integer.parseInt(sSequenceNo); - - // 재전송해야 할 결번을 얻어온다. - int nCount = getMissingCount(sBytes, nLastNo); - String sMissing = getMissingRecords(sBytes); - // 0300 : 결번확인보고 - sSendMsg = "FTP 0300RC" - + sFileCode - + "000" - + sBlockNo - + sSequenceNo - + StringUtil.ntos(nCount, 3) - + sMissing; - sendMessage(sSendMsg); - } - // ------------------------------------------------------------- // - // 송신완료지시 - // ------------------------------------------------------------- // - else if (sMsgCode.equals("0600")) { - sMessage = recvMessage(M600_LENGTH-COMM_LENGTH); - // 마지막 수신된 블럭을 파일에 저장한 후 종료한다. - appendBlock(sBytes, nDataSize); - clearBlock(sBytes); - fileOutputStream.close(); - // ------------------------------------------------------------- // - // 0610 : 송신완료보고 (003:개별업무종료) - // ------------------------------------------------------------- // - sSendMsg = "FTP 0610RC" - + sFileCode - + "000" - + dateFormat.format(new Date()) - + "003 "; - sendMessage(sSendMsg); - // 송수신 파일정보 입력 - Info transInfo = new Info(); - - transInfo.setString("FILE_KIND_ID" , sFileCode.substring(0,2) ); - transInfo.setString("FORMAT_DATE" , TODAY ); - transInfo.setString("FARE_OFFICE_ID" , sOfficeID ); - transInfo.setString("FILE_TRANS_KBN" , "R" ); - transInfo.setString("FILE_TRANS_YN" , "Y" ); - transInfo.setString("DIR_NAME" , sFileDir ); - transInfo.setString("FILE_NAME" , sRecvFileName ); - transInfo.setString("CREATER" , "SamServer"); - - if( sFileCode.substring(0,2).equals("WU") || - sFileCode.substring(0,2).equals("WV") || - sFileCode.substring(0,2).equals("WW")){ - transInfo.setString("DATA_PROCESS_KBN", "9" ); - commDAO.insertRecvFileInfo( transInfo ); - - transInfo.setString("FARE_OFFICE_ID" , "TM"); - transInfo.setString("FILE_TRANS_KBN" , "S" ); - transInfo.setString("FILE_TRANS_YN" , "N" ); - transInfo.setString("DATA_PROCESS_KBN", "9" ); - commDAO.insertRecvFileInfo( transInfo ); - }else{ - if( sFileCode.substring(0,2).equals("54") || - sFileCode.substring(0,2).equals("55") || - sFileCode.substring(0,2).equals("WW")){ - transInfo.setString("DATA_PROCESS_KBN", "9" ); - }else{ - transInfo.setString("DATA_PROCESS_KBN", "0" ); - } - commDAO.insertRecvFileInfo( transInfo ); - } - checkDirectory(sFileDir); - rename( sRecvDir+sRecvFileName, sFileDir+sRecvFileName ); - break; - } - else { - throw new Exception(sMessage); - } - } - } while (!done); - // ------------------------------------------------------------- // - // 0610 : 업무종료보고 (004:전체업무종료) - // ------------------------------------------------------------- // - sSendMsg = "FTP 0610RC" - + " " - + "000" - + dateFormat.format(new Date()) - + "004 "; - - sendMessage(sSendMsg); - vectFiles.add(new File(sFileDir, sRecvFileName)); - - conn.commit(); - } - catch (Exception ex) { - ex.printStackTrace(); - if (logger != null) { - logFail("[ERROR 999] " + ex.getMessage()); - logDebug(ex); - } - throw ex; - }finally{ - try{ if(fileOutputStream!=null) fileOutputStream.close(); }catch(Exception e){} - } - File[] files = new File[vectFiles.size()]; - vectFiles.toArray(files); - return files; - } - /** - * 결번 개수를 구한다. - * @param sRecords - * @param nLastNo - * @return - */ - private int getMissingCount(byte[][] sBytes, int nLastNo) { - int nCount = 0; - for (int i = 0; i < nLastNo; i++) { - if (sBytes[i] == null) { - nCount++; - } - } - return nCount; - } - /** - * 스트링에서 결번을 읽어들인다.('0': 미수신, '1': 수신) - * @param sMessage - * @param len - * @return - */ - private String getMissingRecords(byte[][] sBytes) { - char []caMissing = new char[sBytes.length]; - for (int i = 0; i < sBytes.length; i++) { - if (sBytes[i] == null) { - caMissing[i] = '0'; // 미수신 '0' - } - else { - caMissing[i] = '1'; // 수신 '1' - } - } - return String.valueOf(caMissing); - } - /** - * 수신된 데이터를 블럭단위로 파일에 기록 - * @param sBytes - * @param nDataSize - * @throws IOException - */ - private void appendBlock(byte[][] sBytes, int nDataSize) - throws IOException { - for (int i = 0; i < sBytes.length; i++) { - // 최종 레코드까지 기록 - if (sBytes[i] == null) { - break; - } - fileOutputStream.write(sBytes[i]); - } - fileOutputStream.flush(); - } - /** - * 블럭의 레코드(String) 들을 초기화 - * @param sBytes - */ - private void clearBlock(byte[][] sBytes) { - for (int i = 0; i < sBytes.length; i++) { - sBytes[i] = null; - } - } - /** - * 파일에 따라 저장할 디렉토리 정보를 추출 - * @param sFileKindCode - * @param sBaseDir - * @param sFileName - * @param sOfficeID - * @return String - */ - public String getPath(String sFileKindCode,String sBaseDir, String sFileName, String sOfficeID ){ - StringBuffer sFileDir = new StringBuffer(sBaseDir); - - if( sFileKindCode.equals("54") ){ // JPG File - sFileDir.append( sFileName.substring(4,12) + File.separator ) - .append( sFileName.substring(0, 2) + File.separator ) - .append( "IMAGE" + File.separator ); - }else if( sFileKindCode.equals("55") ){ // JPG File - sFileDir.append( sFileName.substring(4,12) + File.separator ) - .append( sFileName.substring(0, 2) + File.separator ) - .append( "IMAGE" + File.separator ); - }else if( sFileKindCode.equals("26") ){ // 카드사코드정보 - sFileDir.append( sFileName.substring(6,10) + File.separator ) - .append( "ACARD" + File.separator ); - }else if( sFileKindCode.equals("25") ){ // 카드발행사코드정보 - sFileDir.append( sFileName.substring(6,10) + File.separator ) - .append( "BCARD" + File.separator ); - }else if( sFileKindCode.equals("2A") ){ // 요금소코드정보 - sFileDir.append( sFileName.substring(7,11) + File.separator ) - .append( "OFFICE" + File.separator ); - }else if( sFileKindCode.equals("23") ){ // 근무정보 - sFileDir.append( sFileName.substring(5,9) + File.separator ) - .append( "WORK" + File.separator ); - }else if( sFileKindCode.equals("2C") ){ // 징수유형코드정보 - sFileDir.append( sFileName.substring(8,12) + File.separator ) - .append( "COLLECT" + File.separator ); - }else if( sFileKindCode.equals("24") ){ // 면제차량정보 - sFileDir.append( sFileName.substring(8,12) + File.separator ) - .append( "Default" + File.separator ); - }else if( sFileKindCode.equals("1F") ){ // 요금정보 - sFileDir.append( sFileName.substring(5,9) + File.separator ) - .append( "Fare" + File.separator ); - }else if( sFileKindCode.equals("27") ){ // 차종코드정보 - sFileDir.append( sFileName.substring(10,14) + File.separator ) - .append( "CARTYPE" + File.separator ); - }else if( sFileKindCode.equals("2B") ){ // 차로구분코드 - sFileDir.append( sFileName.substring(9,13) + File.separator ) - .append( sFileName.substring(6, 8) + File.separator ) - .append( "BOOTH" + File.separator ); - }else if( sFileName.equals("11") ){ // RF 단말 정보 - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4,6) + File.separator ) - .append( "RFT" + File.separator ); - }else if( sFileKindCode.equals("12") ){ // RFU File - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "RFU" + File.separator ); - }else if( sFileKindCode.equals("21") ){ // 근무자 정보 - sFileDir.append( TODAY.substring(0,4) + File.separator ) - .append( sOfficeID + File.separator ) - .append( "Person" + File.separator ); - }else if( sFileKindCode.equals("14") ){ // 요금단말정보 - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "FAT" + File.separator ); - }else if( sFileKindCode.equals("15") ){ // FAU File - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "FAU" + File.separator ); - }else if( sFileKindCode.equals("17") ){ // 요금정산정보 - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "FAA" + File.separator ); - }else if( sFileKindCode.equals("1A") ){ // 과잉쿠폰 정보 - sFileDir.append( sFileName.substring(6,14) + File.separator ) - .append( sFileName.substring(3, 5) + File.separator ) - .append( "CO" + File.separator ); - }else if( sFileKindCode.equals("1B") ){ // 과오납 정보 - sFileDir.append( sFileName.substring(6,14) + File.separator ) - .append( sFileName.substring(3, 5) + File.separator ) - .append( "OF" + File.separator ); - }else if( sFileKindCode.equals("1C") ){ // 입.출금 정보 - sFileDir.append( sFileName.substring(6,14) + File.separator ) - .append( sFileName.substring(3, 5) + File.separator ) - .append( "IO" + File.separator ); - }else if( sFileKindCode.equals("1D") ){ // 정액권 정보 - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "FCO" + File.separator ); - }else if( sFileKindCode.equals("1E") ){ // 쿠폰폐기정보 - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "COW" + File.separator ); - }else if( sFileKindCode.equals("1H") ){ // 수입금정산정보 - sFileDir.append( sFileName.substring(10,18) + File.separator ) - .append( sFileName.substring(7, 9) + File.separator ) - .append( "INCOME" + File.separator ); - }else if( sFileKindCode.equals("1I") ){ // 시세입 정보 - sFileDir.append( sFileName.substring(9,17) + File.separator ) - .append( sFileName.substring(6, 8) + File.separator ) - .append( "TAXES" + File.separator ); - }else if( sFileKindCode.equals("1J") ){ // 가맹점정보 - sFileDir.append( sFileName.substring(13,21) + File.separator ) - .append( sFileName.substring(10,12) + File.separator ) - .append( "JOIN" + File.separator ); - }else if( sFileKindCode.equals("18") ){ // 카드환불정보 - sFileDir.append( sFileName.substring(9,17) + File.separator ) - .append( sFileName.substring(6, 8) + File.separator ) - .append( "REPAY" + File.separator ); - }else if( sFileKindCode.equals("2D") ){ // 과오납 차량소유자 정보 - sFileDir.append( sFileName.substring(10,14) + File.separator ) - .append( "CAROWNER" + File.separator ); - }else if( sFileKindCode.equals("WK") || sFileKindCode.equals("WM") || - sFileKindCode.equals("WN") || sFileKindCode.equals("WO") || - sFileKindCode.equals("WP") || sFileKindCode.equals("WQ") || - sFileKindCode.equals("WR") || sFileKindCode.equals("WS") || - sFileKindCode.equals("WT") || sFileKindCode.equals("WU") || - sFileKindCode.equals("WV") || sFileKindCode.equals("WW") ){ // RF 운영정보 - sFileDir.append(TODAY + File.separator); - }else if( sFileKindCode.equals("52") ){ // RFID 정보 - sFileDir.append("pl" + File.separator); - }else if( sFileKindCode.equals("53") ){ // RFID 사용 정보 - sFileDir.append("use" + File.separator); - }else{ - - } - return sFileDir.toString(); - } - /** - * 파일 디렉토리 존재유무를 체크하고 생성하는 메소드 - * @param sFileDir - * @return boolean - */ - public boolean checkDirectory(String sFileDir){ - String sTemp [] = sFileDir.split(File.separator); - String sCreatDir = ""; - if( sTemp != null ){ - for( int idx = 0; idx < sTemp.length; idx++){ - sCreatDir = sCreatDir + sTemp[idx] + File.separator; - if( !new File(sCreatDir).isDirectory() ){ - new File(sCreatDir).mkdir(); - } - } - } - return true; - } - /** - * Help 메시지 출력 - */ - public static void showHelp(String sClass) { - System.err.println("Command :"); - System.err.println("\tjava " + sClass + " -Dftp.conf=CONFIG_FILE"); - System.err.println(""); - } - /** - * main - */ - public static void main(String[] args) { - try { - if(args.length != 0){ - showHelp("center.transfer.TNRecvServer01"); - System.exit(0); - } - - String sConfFile = System.getProperty("ftp.conf"); - if (sConfFile == null || sConfFile.equals("")) { - showHelp("center.transfer.TNRecvServer01"); - System.exit(0); - } - - Properties config = new Properties(); - try { - config.load(sConfFile); - } - catch (IOException ie) { - System.err.println("Can not read configuration file."); - System.exit(0); - } - - TNRecvServer01 server = new TNRecvServer01(config); - server.startup(); - } - catch (Exception ex) { - System.err.println("Starting Demon is failed."); - ex.printStackTrace(); - } - } -} diff --git a/src/main/java/center/transfer/TNRecvServer03.java b/src/main/java/center/transfer/TNRecvServer03.java deleted file mode 100644 index 832508d..0000000 --- a/src/main/java/center/transfer/TNRecvServer03.java +++ /dev/null @@ -1,611 +0,0 @@ -/** - *
- * SamServer
- * 
- * 통신 프로토콜 수신 서버 - * - * @since 2006/07/27 - * @version 1.0 - 2006/07/27 - * - * @author 김종채,
- * 작성 : 2006/07/27
- */ - -package center.transfer; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.ServerSocket; -import java.util.Date; -import java.util.Vector; - -import com.exception.MessageException; -import com.resources.data.Info; -import com.util.Properties; -import com.util.StringUtil; - -import center.dao.CenterTransDAO; -/** - * 남산 3호터널 파일 수신 서버 프로세스
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class TNRecvServer03 extends CommClient -{ - private int COMM_LENGTH = 28; - private int M600_LENGTH = 77; - private int M610_LENGTH = 77; - private int M620_LENGTH = 35; - private int M630_LENGTH = 84; - private int M640_LENGTH = 84; - private int M300_LENGTH = 38; - private int M310_LENGTH = 39; - private int M320_LENGTH = 39; - - private CenterTransDAO commDAO; // 파일 전송 이력 클래스 변수 - - private String DOTR_BASE; - private String RFDATA_SEND; - private String RFID_BASE; - private String sOfficeID; - /** - * Constructor - * @param config - */ - public TNRecvServer03(Properties config){ - super(config, "TN_03", "BT"); - } - /** - * startup - */ - public void startup() - { - try - { - DOTR_BASE = config.getProperty("dotr.dir"); - RFDATA_SEND = config.getProperty("rfdata.send"); - RFID_BASE = config.getProperty("file.dir"); - sOfficeID = config.getProperty(sOrgCode+".office"); - - int iSvrPort = Integer.parseInt(sLocalPort); - oSvrSock = new ServerSocket(iSvrPort); - - while (true) - { - try{ - // client를 기다림 - socket = oSvrSock.accept(); - socket.setSoTimeout( TIME_OUT ); - System.err.println( socket.getInetAddress() + " Client is connected"); - reader = socket.getInputStream(); - writer = socket.getOutputStream(); - - startClient(); - }catch(Exception e){ - System.err.println(e.getMessage()); - }finally{ - try{ if(reader!=null) reader.close(); }catch(Exception e){} - try{ if(writer!=null) writer.close(); }catch(Exception e){} - try{ if(socket!=null) socket.close(); }catch(Exception e){} - } - } // while end - } - catch (Exception e) - { - logger.logTrace(e); - } - } - /** - * startClient - */ - protected void startClient() throws Exception{ - try{ - TODAY = StringUtil.getDate("yyyyMMdd"); - - conn = getConnection(); - conn.setAutoCommit(false); - commDAO = new CenterTransDAO(conn); - - logInfo(""); - logInfo("File Recveive START"); - - File[] files = receiveFiles(); - - for (int i=0; i nRecordSize ? nRecordSize : nMessageSize; - while (true) { - // 전문의 공통부분 Read - sMessage = recvMessage(COMM_LENGTH); - // 전문코드 추출 - sMsgCode = sMessage.substring(11, 15); - // 응답코드 체크(000:정상) - if (! isSuccessMessage( sMessage)) { - throw new MessageException(sMessage); - } - - // ------------------------------------------------------------- // - // 0320 : DATA 송신, 0310 : 결번 통보 - // ------------------------------------------------------------- // - if (sMsgCode.equals("0320") || sMsgCode.equals("0310")) { - // 블럭 번호 조회 - int nRemoteBlock = Integer.parseInt(recvMessage(4)); - // 이전까지 수신된 블럭과 현재 수신된 블럭이 다를 경우 - if (nBlockNo != nRemoteBlock) { - // 이전까지 수신된 블럭을 파일로 저장한다. - appendBlock(sBytes, nDataSize); - clearBlock(sBytes); - // 현재의 블럭번호를 변경한다. - nBlockNo = nRemoteBlock; - } - // 레코드 번호 - sMessage = recvMessage(3); - int nRecordNo = Integer.parseInt(sMessage); - // 데이터 부분총길이 - sMessage = recvMessage(4); - int nDataLength = Integer.parseInt(sMessage); - // 전문의 데이터을 읽어들인다. - RCV0320(sBytes, nRecordNo, nDataLength, recvSize ); - } - // ------------------------------------------------------------- // - // 0620 : 결번확인지시 - // ------------------------------------------------------------- // - else if (sMsgCode.equals("0620")) { - String sBlockNo = recvMessage(4); - String sSequenceNo = recvMessage(3); - - int nLastNo = Integer.parseInt(sSequenceNo); - - // 재전송해야 할 결번을 얻어온다. - int nCount = getMissingCount(sBytes, nLastNo); - String sMissing = getMissingRecords(sBytes); - // 0300 : 결번확인보고 - sSendMsg = "FTP 0300RC" - + sFileCode - + "000" - + sBlockNo - + sSequenceNo - + StringUtil.ntos(nCount, 3) - + sMissing; - sendMessage(sSendMsg); - } - // ------------------------------------------------------------- // - // 송신완료지시 - // ------------------------------------------------------------- // - else if (sMsgCode.equals("0600")) { - sMessage = recvMessage(M600_LENGTH-COMM_LENGTH); - // 마지막 수신된 블럭을 파일에 저장한 후 종료한다. - appendBlock(sBytes, nDataSize); - clearBlock(sBytes); - fileOutputStream.close(); - // ------------------------------------------------------------- // - // 0610 : 송신완료보고 (003:개별업무종료) - // ------------------------------------------------------------- // - sSendMsg = "FTP 0610RC" - + sFileCode - + "000" - + dateFormat.format(new Date()) - + "003 "; - sendMessage(sSendMsg); - // 송수신 파일정보 입력 - Info transInfo = new Info(); - - transInfo.setString("FILE_KIND_ID" , sFileCode.substring(0,2) ); - transInfo.setString("FORMAT_DATE" , TODAY ); - transInfo.setString("FARE_OFFICE_ID" , sOfficeID ); - transInfo.setString("FILE_TRANS_KBN" , "R" ); - transInfo.setString("FILE_TRANS_YN" , "Y" ); - transInfo.setString("DIR_NAME" , sFileDir ); - transInfo.setString("FILE_NAME" , sRecvFileName ); - transInfo.setString("CREATER" , "SamServer"); - - if( sFileCode.substring(0,2).equals("WU") || - sFileCode.substring(0,2).equals("WV") || - sFileCode.substring(0,2).equals("WW")){ - transInfo.setString("DATA_PROCESS_KBN", "9" ); - commDAO.insertRecvFileInfo( transInfo ); - - transInfo.setString("FARE_OFFICE_ID" , "TM"); - transInfo.setString("FILE_TRANS_KBN" , "S" ); - transInfo.setString("FILE_TRANS_YN" , "N" ); - transInfo.setString("DATA_PROCESS_KBN", "9" ); - commDAO.insertRecvFileInfo( transInfo ); - }else{ - if( sFileCode.substring(0,2).equals("54") || - sFileCode.substring(0,2).equals("55") || - sFileCode.substring(0,2).equals("WW")){ - transInfo.setString("DATA_PROCESS_KBN", "9" ); - }else{ - transInfo.setString("DATA_PROCESS_KBN", "0" ); - } - commDAO.insertRecvFileInfo( transInfo ); - } - checkDirectory(sFileDir); - rename( sRecvDir+sRecvFileName, sFileDir+sRecvFileName ); - break; - } - else { - throw new Exception(sMessage); - } - } - } while (!done); - // ------------------------------------------------------------- // - // 0610 : 업무종료보고 (004:전체업무종료) - // ------------------------------------------------------------- // - sSendMsg = "FTP 0610RC" - + " " - + "000" - + dateFormat.format(new Date()) - + "004 "; - - sendMessage(sSendMsg); - vectFiles.add(new File(sFileDir, sRecvFileName)); - - conn.commit(); - } - catch (Exception ex) { - ex.printStackTrace(); - if (logger != null) { - logFail("[ERROR 999] " + ex.getMessage()); - logDebug(ex); - } - throw ex; - }finally{ - try{ if(fileOutputStream!=null) fileOutputStream.close(); }catch(Exception e){} - } - File[] files = new File[vectFiles.size()]; - vectFiles.toArray(files); - return files; - } - /** - * 결번 개수를 구한다. - * @param sRecords - * @param nLastNo - * @return - */ - private int getMissingCount(byte[][] sBytes, int nLastNo) { - int nCount = 0; - for (int i = 0; i < nLastNo; i++) { - if (sBytes[i] == null) { - nCount++; - } - } - return nCount; - } - /** - * 스트링에서 결번을 읽어들인다.('0': 미수신, '1': 수신) - * @param sMessage - * @param len - * @return - */ - private String getMissingRecords(byte[][] sBytes) { - char []caMissing = new char[sBytes.length]; - for (int i = 0; i < sBytes.length; i++) { - if (sBytes[i] == null) { - caMissing[i] = '0'; // 미수신 '0' - } - else { - caMissing[i] = '1'; // 수신 '1' - } - } - return String.valueOf(caMissing); - } - /** - * 수신된 데이터를 블럭단위로 파일에 기록 - * @param sBytes - * @param nDataSize - * @throws IOException - */ - private void appendBlock(byte[][] sBytes, int nDataSize) - throws IOException { - for (int i = 0; i < sBytes.length; i++) { - // 최종 레코드까지 기록 - if (sBytes[i] == null) { - break; - } - fileOutputStream.write(sBytes[i]); - } - fileOutputStream.flush(); - } - /** - * 블럭의 레코드(String) 들을 초기화 - * @param sBytes - */ - private void clearBlock(byte[][] sBytes) { - for (int i = 0; i < sBytes.length; i++) { - sBytes[i] = null; - } - } - /** - * 파일에 따라 저장할 디렉토리 정보를 추출 - * @param sFileKindCode - * @param sBaseDir - * @param sFileName - * @param sOfficeID - * @return String - */ - public String getPath(String sFileKindCode,String sBaseDir, String sFileName, String sOfficeID ){ - StringBuffer sFileDir = new StringBuffer(sBaseDir); - - if( sFileKindCode.equals("54") ){ // JPG File - sFileDir.append( sFileName.substring(4,12) + File.separator ) - .append( sFileName.substring(0, 2) + File.separator ) - .append( "IMAGE" + File.separator ); - }else if( sFileKindCode.equals("55") ){ // JPG File - sFileDir.append( sFileName.substring(4,12) + File.separator ) - .append( sFileName.substring(0, 2) + File.separator ) - .append( "IMAGE" + File.separator ); - }else if( sFileKindCode.equals("26") ){ // 카드사코드정보 - sFileDir.append( sFileName.substring(6,10) + File.separator ) - .append( "ACARD" + File.separator ); - }else if( sFileKindCode.equals("25") ){ // 카드발행사코드정보 - sFileDir.append( sFileName.substring(6,10) + File.separator ) - .append( "BCARD" + File.separator ); - }else if( sFileKindCode.equals("2A") ){ // 요금소코드정보 - sFileDir.append( sFileName.substring(7,11) + File.separator ) - .append( "OFFICE" + File.separator ); - }else if( sFileKindCode.equals("23") ){ // 근무정보 - sFileDir.append( sFileName.substring(5,9) + File.separator ) - .append( "WORK" + File.separator ); - }else if( sFileKindCode.equals("2C") ){ // 징수유형코드정보 - sFileDir.append( sFileName.substring(8,12) + File.separator ) - .append( "COLLECT" + File.separator ); - }else if( sFileKindCode.equals("24") ){ // 면제차량정보 - sFileDir.append( sFileName.substring(8,12) + File.separator ) - .append( "Default" + File.separator ); - }else if( sFileKindCode.equals("1F") ){ // 요금정보 - sFileDir.append( sFileName.substring(5,9) + File.separator ) - .append( "Fare" + File.separator ); - }else if( sFileKindCode.equals("27") ){ // 차종코드정보 - sFileDir.append( sFileName.substring(10,14) + File.separator ) - .append( "CARTYPE" + File.separator ); - }else if( sFileKindCode.equals("2B") ){ // 차로구분코드 - sFileDir.append( sFileName.substring(9,13) + File.separator ) - .append( sFileName.substring(6, 8) + File.separator ) - .append( "BOOTH" + File.separator ); - }else if( sFileName.equals("11") ){ // RF 단말 정보 - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4,6) + File.separator ) - .append( "RFT" + File.separator ); - }else if( sFileKindCode.equals("12") ){ // RFU File - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "RFU" + File.separator ); - }else if( sFileKindCode.equals("21") ){ // 근무자 정보 - sFileDir.append( TODAY.substring(0,4) + File.separator ) - .append( sOfficeID + File.separator ) - .append( "Person" + File.separator ); - }else if( sFileKindCode.equals("14") ){ // 요금단말정보 - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "FAT" + File.separator ); - }else if( sFileKindCode.equals("15") ){ // FAU File - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "FAU" + File.separator ); - }else if( sFileKindCode.equals("17") ){ // 요금정산정보 - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "FAA" + File.separator ); - }else if( sFileKindCode.equals("1A") ){ // 과잉쿠폰 정보 - sFileDir.append( sFileName.substring(6,14) + File.separator ) - .append( sFileName.substring(3, 5) + File.separator ) - .append( "CO" + File.separator ); - }else if( sFileKindCode.equals("1B") ){ // 과오납 정보 - sFileDir.append( sFileName.substring(6,14) + File.separator ) - .append( sFileName.substring(3, 5) + File.separator ) - .append( "OF" + File.separator ); - }else if( sFileKindCode.equals("1C") ){ // 입.출금 정보 - sFileDir.append( sFileName.substring(6,14) + File.separator ) - .append( sFileName.substring(3, 5) + File.separator ) - .append( "IO" + File.separator ); - }else if( sFileKindCode.equals("1D") ){ // 정액권 정보 - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "FCO" + File.separator ); - }else if( sFileKindCode.equals("1E") ){ // 쿠폰폐기정보 - sFileDir.append( sFileName.substring(7,15) + File.separator ) - .append( sFileName.substring(4, 6) + File.separator ) - .append( "COW" + File.separator ); - }else if( sFileKindCode.equals("1H") ){ // 수입금정산정보 - sFileDir.append( sFileName.substring(10,18) + File.separator ) - .append( sFileName.substring(7, 9) + File.separator ) - .append( "INCOME" + File.separator ); - }else if( sFileKindCode.equals("1I") ){ // 시세입 정보 - sFileDir.append( sFileName.substring(9,17) + File.separator ) - .append( sFileName.substring(6, 8) + File.separator ) - .append( "TAXES" + File.separator ); - }else if( sFileKindCode.equals("1J") ){ // 가맹점정보 - sFileDir.append( sFileName.substring(13,21) + File.separator ) - .append( sFileName.substring(10,12) + File.separator ) - .append( "JOIN" + File.separator ); - }else if( sFileKindCode.equals("18") ){ // 카드환불정보 - sFileDir.append( sFileName.substring(9,17) + File.separator ) - .append( sFileName.substring(6, 8) + File.separator ) - .append( "REPAY" + File.separator ); - }else if( sFileKindCode.equals("2D") ){ // 과오납 차량소유자 정보 - sFileDir.append( sFileName.substring(10,14) + File.separator ) - .append( "CAROWNER" + File.separator ); - }else if( sFileKindCode.equals("WK") || sFileKindCode.equals("WM") || - sFileKindCode.equals("WN") || sFileKindCode.equals("WO") || - sFileKindCode.equals("WP") || sFileKindCode.equals("WQ") || - sFileKindCode.equals("WR") || sFileKindCode.equals("WS") || - sFileKindCode.equals("WT") || sFileKindCode.equals("WU") || - sFileKindCode.equals("WV") || sFileKindCode.equals("WW") ){ // RF 운영정보 - sFileDir.append(TODAY + File.separator); - }else if( sFileKindCode.equals("52") ){ // RFID 정보 - sFileDir.append("pl" + File.separator); - }else if( sFileKindCode.equals("53") ){ // RFID 사용 정보 - sFileDir.append("use" + File.separator); - }else{ - - } - return sFileDir.toString(); - } - /** - * 파일 디렉토리 존재유무를 체크하고 생성하는 메소드 - * @param sFileDir - * @return boolean - */ - public boolean checkDirectory(String sFileDir){ - String sTemp [] = sFileDir.split(File.separator); - String sCreatDir = ""; - if( sTemp != null ){ - for( int idx = 0; idx < sTemp.length; idx++){ - sCreatDir = sCreatDir + sTemp[idx] + File.separator; - if( !new File(sCreatDir).isDirectory() ){ - new File(sCreatDir).mkdir(); - } - } - } - return true; - } - /** - * Help 메시지 출력 - */ - public static void showHelp(String sClass) { - System.err.println("Command :"); - System.err.println("\tjava " + sClass + " -Dftp.conf=CONFIG_FILE"); - System.err.println(""); - } - /** - * main - */ - public static void main(String[] args) { - try { - if(args.length != 0){ - showHelp("center.transfer.TNRecvServer01"); - System.exit(0); - } - - String sConfFile = System.getProperty("ftp.conf"); - if (sConfFile == null || sConfFile.equals("")) { - showHelp("center.transfer.TNRecvServer03"); - System.exit(0); - } - - Properties config = new Properties(); - try { - config.load(sConfFile); - } - catch (IOException ie) { - System.err.println("Can not read configuration file."); - System.exit(0); - } - - TNRecvServer03 server = new TNRecvServer03(config); - server.startup(); - } - catch (Exception ex) { - System.err.println("Starting Demon is failed."); - ex.printStackTrace(); - } - } -} diff --git a/src/main/java/center/transfer/TNSendClient01.java b/src/main/java/center/transfer/TNSendClient01.java deleted file mode 100644 index bfc610f..0000000 --- a/src/main/java/center/transfer/TNSendClient01.java +++ /dev/null @@ -1,441 +0,0 @@ -package center.transfer; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.net.ConnectException; -import java.net.Socket; -import java.net.SocketException; -import java.sql.Connection; -import java.util.Date; - -import com.exception.MessageException; -import com.resources.data.Info; -import com.util.Properties; -import com.util.StringUtil; - -import center.dao.CenterTransDAO; -/** - * 남산 1호터널 파일 송신 클라이언트 프로세스
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class TNSendClient01 extends CommClient { - private int COMM_LENGTH = 28; - private int M600_LENGTH = 77; - private int M610_LENGTH = 77; - private int M620_LENGTH = 35; - private int M630_LENGTH = 84; - private int M640_LENGTH = 84; - private int M300_LENGTH = 38; - private int M310_LENGTH = 39; - private int M320_LENGTH = 39; - /** - * Constructor - * @param config - */ - public TNSendClient01(Properties config){ - super(config, "TN_01", "PT" ); - } - /** - * startup - */ - public void startup() { - Info fileInfo = null; - Connection conn = null; // Connection - CenterTransDAO commDAO = null; // 파일 전송 이력 클래스 변수 - - try{ - String sOfficeID = config.getProperty(sOrgCode+".office"); - - conn = getConnection(); - conn.setAutoCommit(false); - commDAO = new CenterTransDAO(conn); - - while (true) { - try{ - // 미전송 파일 정보 조회(S:송신,0:미처리) - fileInfo = commDAO.getTunnelSendInfo(sOfficeID); - if( fileInfo != null ){ - // 통신 소켓 Open - socket = new Socket(sOrgAddr, Integer.parseInt(sOrgPort)); - System.out.println("CONNECT"); - reader = socket.getInputStream(); - writer = socket.getOutputStream(); - - sDataSeq = fileInfo.getString("SEQ"); - - // 레코드 길이 - this.nDataSize = fileInfo.getInt("REC_LEN"); - // 레코드 건수 - this.nDataCount = fileInfo.getInt("REC_CNT"); - // 블럭당 시퀀스 개수 - this.nSequenceCount = fileInfo.getInt("SEQ_CNT"); - // 파일전송코드 - this.sFileCode = fileInfo.getString("FILE_CODE")+" "; - // 파일명 - this.sFileName = fileInfo.getString("FILE_NAME"); - // 파일 디렉토리 - this.sFileDir = fileInfo.getString("DIR_NAME"); - - File fSendFile = new File(sFileDir, sFileName); - - logInfo(""); - logInfo("File Send START"); - logInfo("Send File : " + sFileName); - logInfo("Send File Size: " + fSendFile.length()); - // 파일 전송 - int nReturn = sendFile(fSendFile); - logInfo("File Send END ["+nReturn+"]"); - - String sKBN = "0"; - if( fileInfo.getString("FILE_CODE").equals("51") ){ - sKBN = "1"; - }else if( fileInfo.getString("FILE_CODE").equals("WR") ){ - sKBN = "1"; - }else if( fileInfo.getString("FILE_CODE").equals("WS") ){ - sKBN = "3"; - }else if( fileInfo.getString("FILE_CODE").equals("WT") ){ - sKBN = "7"; - } - - if( nReturn == 0 ){ // 파일 전송 완료 후 파일 전송 상태 반영 - commDAO.updTunnelSendInfo(sDataSeq, sOfficeID, fileInfo.getString("FILE_CODE")); - commDAO.insertCardTransLog(sFileName, sOfficeID, sKBN, "집계전송완료"); - conn.commit(); - }else{ - if( nReturn == 1 ){ // 파일 미존재시 - commDAO.updTunnelSendInfo(sDataSeq, sOfficeID, fileInfo.getString("FILE_CODE")); - } - if( sKBN.equals("1")){ - commDAO.insertCardTransLog(sFileName, sOfficeID, sKBN, "집계전송실패"); - } - conn.commit(); - } - } - else { // 전송자료 미존재 - // 1 Min Sleep - try { Thread.sleep(SLEEP_01_MIN); } catch (InterruptedException ie) {} - } - }catch (ConnectException ce) { // 네트워크 연결 오류 - if (logger != null) logFail(" " + ce.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch (SocketException se) { // 소켓 오류 - if (logger != null) logFail(" " + se.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch(IOException ioe){ // System 오류 - if (logger != null) { - logFail(" " + ioe.getMessage()); - logDebug(ioe); - } - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch(Exception ex){ // System 오류 - if (logger != null) { - logFail(" " + ex.getMessage()); - logDebug(ex); - } - // 10 Min Sleep - try { Thread.sleep(SLEEP_10_MIN); } catch (InterruptedException ie) {} - }finally{ - try{ if(reader!=null) reader.close(); }catch(Exception e){} - try{ if(writer!=null) writer.close(); }catch(Exception e){} - try{ if(socket!=null) socket.close(); }catch(Exception e){} - } - // 3 Sec Sleep - try { Thread.sleep( SLEEP_03_SEC ); } catch (InterruptedException ie) {} - } - }catch(Exception e){ - logDebug(e); - }finally{ - try{ if(conn!=null)conn.close(); }catch(Exception e){} - } - } - /** - * 파일전송 (0:정상처리, 1:FILE NOT FOUND, 2:수신전문 오류) - * @param file - * @return int - * @throws SocketException - * @throws IOException - * @throws Exception - */ - public int sendFile(File file) throws Exception{ - int nReturn = 0; - - try { - int nBlockNo = 1; - String sMessage, sSendMsg = null; - - // Read File - fileAccess = new RandomAccessFile(file,"r"); - - int nRecordSize = nDataSize * nDataCount; - long nFileSize = fileAccess.length(); - // ------------------------------------- // - // 업무개시전문 송신 (0600 / 001) - // ------------------------------------- // - sSendMsg = "FTP 0600RC" - + " " - + "000" - + dateFormat.format(new Date()) - + "001 "; - sMessage = dialogMessage(sSendMsg, M600_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - throw new MessageException(sMessage); - } - - // ------------------------------------- // - // 파일수신 요청전문 송신 (0630) - // ------------------------------------- // - sSendMsg = "FTP 0630RC" - + sFileCode - + "000" - + sFileName + StringUtil.getString(' ', 40-sFileName.length()) - + StringUtil.ltos(nFileSize , 12) - + StringUtil.ntos(nRecordSize, 4); - sMessage = dialogMessage(sSendMsg, M630_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0640", sMessage)){ - throw new MessageException(sMessage); - } - - // 센터에 이미 파일이 존재하면 그 크기만큼 파일을 스킵한다. - long nRemoteFileSize = 0; - nRemoteFileSize = Long.parseLong( sMessage.substring(68, 80)); - - while (true) { - int nCount = 0; - // 한 블럭(최대 100개의 레코드)의 데이터를 파일로부터 읽어들인다. - for( int i = 0, nRecordNo = 1; i< nSequenceCount; i++, nRecordNo++){ - // setting offset for reading file data - long nOffSet - = ((nBlockNo-1)*nSequenceCount*nRecordSize) + (i*nRecordSize) + nRemoteFileSize; - - if( nOffSet+1 > nFileSize ) { // offset 이 파일크기보다 클때 종료 - break; - } - byte [] buff // 파일 Read - = getFileData(fileAccess, nOffSet, nRecordSize); - // ------------------------------------- // - // 데이터 전송 (0320) - // ------------------------------------- // - sSendMsg = "FTP 0320RC" - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nRecordNo, 3) - + StringUtil.ntos(buff.length, 4); - sendBinaryMessage(sSendMsg.getBytes()); // send message header - sendBinaryMessage(buff); // send file data - nCount++; - } - - // 송신할 레코드가 없을 경우 송신을 완료한다. - if (nCount == 0) { - break; - } - while (true) { - // ------------------------------------- // - // 결번확인 요청 및 응답 (0620, 0300) - // ------------------------------------- // - sSendMsg = "FTP 0620RC" - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nCount, 3) ; - - sMessage = dialogMessage(sSendMsg, M300_LENGTH + nSequenceCount); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0300", sMessage)){ - throw new MessageException(sMessage); - } - // 재전송해야 할 결번을 얻어온다. - int[] nMissing = getMissingRecords(sMessage, nCount); - // 결번이 없을 경우 다음 블럭을 전송하도록 한다. - if (nMissing == null || nMissing.length == 0) { - // Sleep Time 5 Second - try{ - Thread.sleep(BLOCK_SLEEP_TIME); - }catch(Exception se){ - } - break; - } - // 결번을 재전송한다. - for (int i = 0; i < nMissing.length; i++) { - int nMissNo = nMissing[i]; - // setting offset for reading file data - long nOffSet - = ((nBlockNo-1)*nSequenceCount*nRecordSize) + ((nMissNo-1) * nRecordSize)+nRemoteFileSize; - - if( nOffSet > nFileSize ) { // offset 이 파일크기보다 클때 종료 - break; - } - byte [] buff // 파일 Read - = getFileData(fileAccess, nOffSet, nRecordSize); - // ------------------------------------- // - // 결번 데이터 전송 (0310) - // ------------------------------------- // - sSendMsg = "FTP 0310RC" - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nMissNo, 3) - + StringUtil.ntos(buff.length, 4); - sendBinaryMessage(sSendMsg.getBytes()); // send message header - sendBinaryMessage(buff); // send file data - - if (nMissNo > nCount ) { - break; - } - } - } - nBlockNo++; - } - - // ------------------------------------- // - // 파일수신 종료전문 송신 (0600 / 003) - // ------------------------------------- // - sSendMsg = "FTP 0600RC" - + sFileCode - + "000" - + dateFormat.format(new Date()) - + "003 "; - sMessage = dialogMessage(sSendMsg, M600_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - throw new MessageException(sMessage); - } - // ------------------------------------- // - // 종료전문 송신 (0600 / 004) - // ------------------------------------- // - sSendMsg = "FTP 0600RC" - + sFileCode - + "000" - + dateFormat.format(new Date()) - + "004 "; - sMessage = dialogMessage(sSendMsg, M600_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - throw new MessageException(sMessage); - } - }catch (FileNotFoundException fe) { // 파일 미존재 - nReturn = 1; - if (logger != null) logFail("[ERROR 800] " + fe.getMessage()); - }catch (MessageException me){ // 수신전문 오류 - nReturn = 2; - try { sendMessage(CMDFAIL("800")); }catch (Exception ex) { } - if (logger != null) { logFail("[ERROR 800] " + me.getMessage()); } - }catch (SocketException se){ // 소켓 오류 - throw se; - }catch (IOException ie){ // 입출력 오류 - try { sendMessage(CMDFAIL("090")); }catch (Exception ex) { } - throw ie; - }catch (Exception ex){ // 시스템 오류 - throw ex; - } - finally { - try { if (fileAccess != null) { fileAccess.close(); } } catch (IOException ie) { } - } - return nReturn; - } - /** - * read file data - * @param fileAccess - * @param offset - * @param nBufferSize - * @return - * @throws IOException - */ - private byte[] getFileData(RandomAccessFile fileAccess, long offset, int nBufferSize) throws IOException{ - byte[] buf = new byte[nBufferSize]; - fileAccess.seek(offset); - int nLen = fileAccess.read(buf); - if(nLen < nBufferSize){ - byte[] dest = new byte[nLen]; - System.arraycopy(buf, 0, dest, 0, nLen); - buf = dest; - } - return buf; - } - /** - * 스트링에서 결번을 읽어들인다.('0': 미수신, '1': 수신) - * @param sMessage - * @param len - * @return - */ - private int[] getMissingRecords(String sMessage, int len) { - int index = 0; - int []intArr = new int[len]; - String sMissing = sMessage.substring(M300_LENGTH); - // 레코드 번호는 1부터 시작된다. - for (int i = 0; i < len; i++) { - // 값이 '0'이면 미수신 레코드 - if (sMissing.charAt(i) == '0') { - intArr[index]=i; - index++; - } - } - int [] nMissing = new int[index]; - System.arraycopy(intArr, 0, nMissing, 0, index); - - return nMissing; - } - /** - * 오류메시지 전문 생성 - * @param sErrorCode - * @return String - */ - public String CMDFAIL(String sErrorCode) { - String sFailMsg = "FTP 0600RC " - + sErrorCode // error code - + dateFormat.format(new Date()) - + "004 "; - return sFailMsg; - } - /** - * Help 메시지 출력 - */ - public static void showHelp(String sClass) { - System.err.println("Command :"); - System.err.println("\tjava " + sClass + " -Dftp.conf=CONFIG_FILE"); - System.err.println(""); - } - /** - * main - */ - public static void main(String[] args) { - try { - if(args.length != 0){ - showHelp("center.transfer.TNSendClient01"); - System.exit(0); - } - - String sConfFile = System.getProperty("ftp.conf"); - if (sConfFile == null || sConfFile.equals("")) { - showHelp("center.transfer.TNSendClient01"); - System.exit(0); - } - - Properties config = new Properties(); - try { - config.load(sConfFile); - } - catch (IOException ie) { - System.err.println("Can not read configuration file."); - System.exit(0); - } - - TNSendClient01 client = new TNSendClient01(config); - client.startup(); - } - catch (Exception ex) { - System.err.println("Starting Demon is failed."); - ex.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/src/main/java/center/transfer/TNSendClient03.java b/src/main/java/center/transfer/TNSendClient03.java deleted file mode 100644 index 9aeafea..0000000 --- a/src/main/java/center/transfer/TNSendClient03.java +++ /dev/null @@ -1,443 +0,0 @@ -package center.transfer; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.net.ConnectException; -import java.net.Socket; -import java.net.SocketException; -import java.sql.Connection; -import java.util.Date; - -import com.exception.MessageException; -import com.resources.data.Info; -import com.util.Properties; -import com.util.StringUtil; - -import center.dao.CenterTransDAO; -/** - * 남산 3호터널 파일 송신 클라이언트 프로세스
- * @author jckim - * @since JDK 1.4.1 - * @version 0.1, 2007-09-28 초기 작성 - */ -public class TNSendClient03 extends CommClient { - private int COMM_LENGTH = 28; - private int M600_LENGTH = 77; - private int M610_LENGTH = 77; - private int M620_LENGTH = 35; - private int M630_LENGTH = 84; - private int M640_LENGTH = 84; - private int M300_LENGTH = 38; - private int M310_LENGTH = 39; - private int M320_LENGTH = 39; - /** - * Constructor - * @param config - */ - public TNSendClient03(Properties config){ - super(config, "TN_03", "PT" ); - } - /** - * startup - */ - public void startup() { - Info fileInfo = null; - Connection conn = null; // Connection - CenterTransDAO commDAO = null; // 파일 전송 이력 클래스 변수 - - try{ - String sOfficeID = config.getProperty(sOrgCode+".office"); - - conn = getConnection(); - conn.setAutoCommit(false); - commDAO = new CenterTransDAO(conn); - - while (true) { - try{ - // 미전송 파일 정보 조회(S:송신,0:미처리) - fileInfo = commDAO.getTunnelSendInfo(sOfficeID); - if( fileInfo != null ){ - // 통신 소켓 Open - socket = new Socket(sOrgAddr, Integer.parseInt(sOrgPort)); - System.out.println("CONNECT"); - reader = socket.getInputStream(); - writer = socket.getOutputStream(); - - sDataSeq = fileInfo.getString("SEQ"); - - // 레코드 길이 - this.nDataSize = fileInfo.getInt("REC_LEN"); - // 레코드 건수 - this.nDataCount = fileInfo.getInt("REC_CNT"); - // 블럭당 시퀀스 개수 - this.nSequenceCount = fileInfo.getInt("SEQ_CNT"); - // 파일전송코드 - this.sFileCode = fileInfo.getString("FILE_CODE")+" "; - // 파일명 - this.sFileName = fileInfo.getString("FILE_NAME"); - // 파일 디렉토리 - this.sFileDir = fileInfo.getString("DIR_NAME"); - - File fSendFile = new File(sFileDir, sFileName); - - logInfo(""); - logInfo("File Send START"); - logInfo("Send File : " + sFileName); - logInfo("Send File Size: " + fSendFile.length()); - // 파일 전송 - int nReturn = sendFile(fSendFile); - logInfo("File Send END ["+nReturn+"]"); - - String sKBN = "0"; - if( fileInfo.getString("FILE_CODE").equals("51") ){ - sKBN = "1"; - }else if( fileInfo.getString("FILE_CODE").equals("WR") ){ - sKBN = "1"; - }else if( fileInfo.getString("FILE_CODE").equals("WS") ){ - sKBN = "3"; - }else if( fileInfo.getString("FILE_CODE").equals("WT") ){ - sKBN = "7"; - }else if( fileInfo.getString("FILE_CODE").equals("52") ){ - sKBN = "9"; - } - - if( nReturn == 0 ){ // 파일 전송 완료 후 파일 전송 상태 반영 - commDAO.updTunnelSendInfo(sDataSeq, sOfficeID, fileInfo.getString("FILE_CODE")); - commDAO.insertCardTransLog(sFileName, sOfficeID, sKBN, "집계전송완료"); - conn.commit(); - }else{ - if( nReturn == 1 ){ // 파일 미존재시 - commDAO.updTunnelSendInfo(sDataSeq, sOfficeID, fileInfo.getString("FILE_CODE")); - } - if( sKBN.equals("1")){ - commDAO.insertCardTransLog(sFileName, sOfficeID, sKBN, "집계전송실패"); - } - conn.commit(); - } - } - else { // 전송자료 미존재 - // 1 Min Sleep - try { Thread.sleep(SLEEP_01_MIN); } catch (InterruptedException ie) {} - } - }catch (ConnectException ce) { // 네트워크 연결 오류 - if (logger != null) logFail(" " + ce.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch (SocketException se) { // 소켓 오류 - if (logger != null) logFail(" " + se.getMessage()); - // 5 Min Sleep - try { Thread.sleep(SLEEP_05_MIN); } catch (InterruptedException ie) {} - }catch(IOException ioe){ // System 오류 - if (logger != null) { - logFail(" " + ioe.getMessage()); - logDebug(ioe); - } - // 1 Min Sleep - try { Thread.sleep(SLEEP_01_MIN); } catch (InterruptedException ie) {} - }catch(Exception ex){ // System 오류 - if (logger != null) { - logFail(" " + ex.getMessage()); - logDebug(ex); - } - // 10 Min Sleep - try { Thread.sleep(SLEEP_10_MIN); } catch (InterruptedException ie) {} - }finally{ - try{ if(reader!=null) reader.close(); }catch(Exception e){} - try{ if(writer!=null) writer.close(); }catch(Exception e){} - try{ if(socket!=null) socket.close(); }catch(Exception e){} - } - // 3 Sec Sleep - try { Thread.sleep( SLEEP_03_SEC ); } catch (InterruptedException ie) {} - } - }catch(Exception e){ - logDebug(e); - }finally{ - try{ if(conn!=null)conn.close(); }catch(Exception e){} - } - } - /** - * 파일전송 (0:정상처리, 1:FILE NOT FOUND, 2:수신전문 오류) - * @param file - * @return int - * @throws SocketException - * @throws IOException - * @throws Exception - */ - public int sendFile(File file) throws Exception{ - int nReturn = 0; - - try { - int nBlockNo = 1; - String sMessage, sSendMsg = null; - - // Read File - fileAccess = new RandomAccessFile(file,"r"); - - int nRecordSize = nDataSize * nDataCount; - long nFileSize = fileAccess.length(); - // ------------------------------------- // - // 업무개시전문 송신 (0600 / 001) - // ------------------------------------- // - sSendMsg = "FTP 0600RC" - + " " - + "000" - + dateFormat.format(new Date()) - + "001 "; - sMessage = dialogMessage(sSendMsg, M600_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - throw new MessageException(sMessage); - } - - // ------------------------------------- // - // 파일수신 요청전문 송신 (0630) - // ------------------------------------- // - sSendMsg = "FTP 0630RC" - + sFileCode - + "000" - + sFileName + StringUtil.getString(' ', 40-sFileName.length()) - + StringUtil.ltos(nFileSize , 12) - + StringUtil.ntos(nRecordSize, 4); - sMessage = dialogMessage(sSendMsg, M630_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0640", sMessage)){ - throw new MessageException(sMessage); - } - - // 센터에 이미 파일이 존재하면 그 크기만큼 파일을 스킵한다. - long nRemoteFileSize = 0; - nRemoteFileSize = Long.parseLong( sMessage.substring(68, 80)); - - while (true) { - int nCount = 0; - // 한 블럭(최대 100개의 레코드)의 데이터를 파일로부터 읽어들인다. - for( int i = 0, nRecordNo = 1; i< nSequenceCount; i++, nRecordNo++){ - // setting offset for reading file data - long nOffSet - = ((nBlockNo-1)*nSequenceCount*nRecordSize) + (i*nRecordSize) + nRemoteFileSize; - - if( nOffSet+1 > nFileSize ) { // offset 이 파일크기보다 클때 종료 - break; - } - byte [] buff // 파일 Read - = getFileData(fileAccess, nOffSet, nRecordSize); - // ------------------------------------- // - // 데이터 전송 (0320) - // ------------------------------------- // - sSendMsg = "FTP 0320RC" - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nRecordNo, 3) - + StringUtil.ntos(buff.length, 4); - sendBinaryMessage(sSendMsg.getBytes()); // send message header - sendBinaryMessage(buff); // send file data - nCount++; - } - - // 송신할 레코드가 없을 경우 송신을 완료한다. - if (nCount == 0) { - break; - } - while (true) { - // ------------------------------------- // - // 결번확인 요청 및 응답 (0620, 0300) - // ------------------------------------- // - sSendMsg = "FTP 0620RC" - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nCount, 3) ; - - sMessage = dialogMessage(sSendMsg, M300_LENGTH + nSequenceCount); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0300", sMessage)){ - throw new MessageException(sMessage); - } - // 재전송해야 할 결번을 얻어온다. - int[] nMissing = getMissingRecords(sMessage, nCount); - // 결번이 없을 경우 다음 블럭을 전송하도록 한다. - if (nMissing == null || nMissing.length == 0) { - // Sleep Time 5 Second - try{ - Thread.sleep(BLOCK_SLEEP_TIME); - }catch(Exception se){ - } - break; - } - // 결번을 재전송한다. - for (int i = 0; i < nMissing.length; i++) { - int nMissNo = nMissing[i]; - // setting offset for reading file data - long nOffSet - = ((nBlockNo-1)*nSequenceCount*nRecordSize) + ((nMissNo-1) * nRecordSize)+nRemoteFileSize; - - if( nOffSet > nFileSize ) { // offset 이 파일크기보다 클때 종료 - break; - } - byte [] buff // 파일 Read - = getFileData(fileAccess, nOffSet, nRecordSize); - // ------------------------------------- // - // 결번 데이터 전송 (0310) - // ------------------------------------- // - sSendMsg = "FTP 0310RC" - + sFileCode - + "000" - + StringUtil.ntos(nBlockNo, 4) - + StringUtil.ntos(nMissNo, 3) - + StringUtil.ntos(buff.length, 4); - sendBinaryMessage(sSendMsg.getBytes()); // send message header - sendBinaryMessage(buff); // send file data - - if (nMissNo > nCount ) { - break; - } - } - } - nBlockNo++; - } - - // ------------------------------------- // - // 파일수신 종료전문 송신 (0600 / 003) - // ------------------------------------- // - sSendMsg = "FTP 0600RC" - + sFileCode - + "000" - + dateFormat.format(new Date()) - + "003 "; - sMessage = dialogMessage(sSendMsg, M600_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - throw new MessageException(sMessage); - } - // ------------------------------------- // - // 종료전문 송신 (0600 / 004) - // ------------------------------------- // - sSendMsg = "FTP 0600RC" - + sFileCode - + "000" - + dateFormat.format(new Date()) - + "004 "; - sMessage = dialogMessage(sSendMsg, M600_LENGTH); - // 응답코드 체크(000:정상) - if( ! isSuccessMessage("0610", sMessage)){ - throw new MessageException(sMessage); - } - }catch (FileNotFoundException fe) { // 파일 미존재 - nReturn = 1; - if (logger != null) logFail("[ERROR 800] " + fe.getMessage()); - }catch (MessageException me){ // 수신전문 오류 - nReturn = 2; - try { sendMessage(CMDFAIL("800")); }catch (Exception ex) { } - if (logger != null) { logFail("[ERROR 800] " + me.getMessage()); } - }catch (SocketException se){ // 소켓 오류 - throw se; - }catch (IOException ie){ // 입출력 오류 - try { sendMessage(CMDFAIL("090")); }catch (Exception ex) { } - throw ie; - }catch (Exception ex){ // 시스템 오류 - throw ex; - } - finally { - try { if (fileAccess != null) { fileAccess.close(); } } catch (IOException ie) { } - } - return nReturn; - } - /** - * read file data - * @param fileAccess - * @param offset - * @param nBufferSize - * @return - * @throws IOException - */ - private byte[] getFileData(RandomAccessFile fileAccess, long offset, int nBufferSize) throws IOException{ - byte[] buf = new byte[nBufferSize]; - fileAccess.seek(offset); - int nLen = fileAccess.read(buf); - if(nLen < nBufferSize){ - byte[] dest = new byte[nLen]; - System.arraycopy(buf, 0, dest, 0, nLen); - buf = dest; - } - return buf; - } - /** - * 스트링에서 결번을 읽어들인다.('0': 미수신, '1': 수신) - * @param sMessage - * @param len - * @return - */ - private int[] getMissingRecords(String sMessage, int len) { - int index = 0; - int []intArr = new int[len]; - String sMissing = sMessage.substring(M300_LENGTH); - // 레코드 번호는 1부터 시작된다. - for (int i = 0; i < len; i++) { - // 값이 '0'이면 미수신 레코드 - if (sMissing.charAt(i) == '0') { - intArr[index]=i; - index++; - } - } - int [] nMissing = new int[index]; - System.arraycopy(intArr, 0, nMissing, 0, index); - - return nMissing; - } - /** - * 오류메시지 전문 생성 - * @param sErrorCode - * @return String - */ - public String CMDFAIL(String sErrorCode) { - String sFailMsg = "FTP 0600RC " - + sErrorCode // error code - + dateFormat.format(new Date()) - + "004 "; - return sFailMsg; - } - /** - * Help 메시지 출력 - */ - public static void showHelp(String sClass) { - System.err.println("Command :"); - System.err.println("\tjava " + sClass + " -Dftp.conf=CONFIG_FILE"); - System.err.println(""); - } - /** - * main - */ - public static void main(String[] args) { - try { - if(args.length != 0){ - showHelp("center.transfer.TNSendClient01"); - System.exit(0); - } - - String sConfFile = System.getProperty("ftp.conf"); - if (sConfFile == null || sConfFile.equals("")) { - showHelp("center.transfer.TNSendClient03"); - System.exit(0); - } - - Properties config = new Properties(); - try { - config.load(sConfFile); - } - catch (IOException ie) { - System.err.println("Can not read configuration file."); - System.exit(0); - } - - TNSendClient03 client = new TNSendClient03(config); - client.startup(); - } - catch (Exception ex) { - System.err.println("Starting Demon is failed."); - ex.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/src/main/java/com/base/FileWorker.java b/src/main/java/com/base/FileWorker.java index a2ee6a7..3899de7 100644 --- a/src/main/java/com/base/FileWorker.java +++ b/src/main/java/com/base/FileWorker.java @@ -8,12 +8,9 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.sql.Connection; -import java.sql.DriverManager; import java.sql.ResultSet; -import java.sql.SQLException; import java.sql.Statement; -import com.exception.AppException; import com.util.Log4JLogger; import com.util.Properties; import com.util.StringUtil; @@ -111,21 +108,7 @@ public abstract class FileWorker{ * 프로세스 시작 추상메소드 */ public abstract void execute() throws Exception; - /** - * 데이터베이스 연결 - * @return - * @throws AppException - */ - protected final Connection getConnection() throws AppException { - String url = config.getProperty("db.url"); - String user = config.getProperty("db.user"); - String password = config.getProperty("db.password"); - try{ - return DriverManager.getConnection(url, user, password); - }catch(SQLException se){ - throw new AppException("Cannot get connection : " + url); - } - } + /** * 데이터베이스 자원해제 * @param con