diff --git a/WebContent/ui/cfs/system/ST003M01.xml b/WebContent/ui/cfs/system/ST003M01.xml new file mode 100644 index 0000000..7ceabe7 --- /dev/null +++ b/WebContent/ui/cfs/system/ST003M01.xml @@ -0,0 +1,172 @@ + + + +DEFAULT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 보낸이 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WebContent/ui/cfs/system/ST003P01.xml b/WebContent/ui/cfs/system/ST003P01.xml new file mode 100644 index 0000000..e7ee5d2 --- /dev/null +++ b/WebContent/ui/cfs/system/ST003P01.xml @@ -0,0 +1,142 @@ + + + +DEFAULT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 제목 + + + + + + 보낸이 + + + + + + 받는이 + + + + + + 보낸날짜 + + + + + + + + 2 + 1 + + + + + + 첨부파일 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WebContent/ui/cfs/system/ST004M01.xml b/WebContent/ui/cfs/system/ST004M01.xml new file mode 100644 index 0000000..6ffce74 --- /dev/null +++ b/WebContent/ui/cfs/system/ST004M01.xml @@ -0,0 +1,171 @@ + + + +DEFAULT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 받는이 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WebContent/ui/cfs/system/ST004P01.xml b/WebContent/ui/cfs/system/ST004P01.xml new file mode 100644 index 0000000..e4ee181 --- /dev/null +++ b/WebContent/ui/cfs/system/ST004P01.xml @@ -0,0 +1,150 @@ + + + +DEFAULT + + + + + + + + + + + + + + + + + + + + + + + + + + 제목 + + + + + + 받는이 + + + + + + + + 2 + 1 + + + + + + 첨부파일 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WebContent/ui/cfs/system/ST009M01.xml b/WebContent/ui/cfs/system/ST009M01.xml index 21efd58..c6d6c03 100644 --- a/WebContent/ui/cfs/system/ST009M01.xml +++ b/WebContent/ui/cfs/system/ST009M01.xml @@ -2,252 +2,275 @@ - - DEFAULT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 요금소 - - - - - - 차로 - - - - - - 통행일자 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + 변동일 + + + + + + + + + + 갱신처리일 + + + + + + + + + + + + + + + + + + + + + 변동자료 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/cfs/common/util/HttpUtil.java b/src/main/java/cfs/common/util/HttpUtil.java index 92b3b5e..76149c6 100644 --- a/src/main/java/cfs/common/util/HttpUtil.java +++ b/src/main/java/cfs/common/util/HttpUtil.java @@ -1,5 +1,7 @@ package cfs.common.util; +import java.util.Enumeration; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; @@ -36,4 +38,29 @@ public class HttpUtil { return (String) session.getAttribute("EMP_NM"); } + + public static String getUserId() { + HttpServletRequest curRequest = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest(); + + HttpSession session = curRequest.getSession(true); + + return (String) session.getAttribute("USER_ID"); + } + + public static String getAttributeNames() { + HttpServletRequest curRequest = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest(); + + HttpSession session = curRequest.getSession(true); + Enumeration enums = session.getAttributeNames(); + String names = ""; + while(enums.hasMoreElements()){ + if(!names.equals("")){ + names += ","; + } + names += enums.nextElement(); + } + + return names; + } + } diff --git a/src/main/java/cfs/trsmrcv/dao/CommCollectServer3Dao.java b/src/main/java/cfs/trsmrcv/dao/CommCollectServer3Dao.java index 154b9d1..b7012e3 100644 --- a/src/main/java/cfs/trsmrcv/dao/CommCollectServer3Dao.java +++ b/src/main/java/cfs/trsmrcv/dao/CommCollectServer3Dao.java @@ -7,41 +7,10 @@ import org.springframework.stereotype.Repository; @Repository("commCollectServer3Dao") public interface CommCollectServer3Dao { - public int insertDayCloseSendHistory(Map param); - - /* 교톻카드 매입자료 */ - public List> callSP_CRT_KSCC_SND(Map param); - - public List> selectDayCloseCount(Map param); - public List> selectDayClosePrepayCard(Map param); - public List> selectDayClosePrepayEBCard(Map param); - public List> selectDayClosePostpayCard(Map param); - - public int insertCloseSummaryPrepayCard(Map param); - - public List> callSP_CARD_TRANS_SUNBUL(Map param); - public List> callSP_CARD_TRANS_SUNBUL_EB(Map param); - public List> callSP_CARD_TRANS_WHOBUL(Map param); - public int updateTrafficCardDayClose(Map param); - - - public int insertFileRecvTM(Map param); - /* 일마감 반송 */ - public int insertDayCloseReturnPrepay(Map param); - public List> callSP_CARD_BANSONG_SUNBUL(Map param); - public int insertDayCloseReturnPrepayEB(Map param); - public List> callSP_CARD_BANSONG_SUNBUL_EB(Map param); - - public int insertDayCloseReturnPostpay(Map param); - public List> callSP_CARD_BANSONG_WHOBUL(Map param); - - - public int insertEtaxDetail(Map param); - public int insertEtaxSummary(Map param); public List> selectEtaxDetail(Map param); public List> selectEtgreenStateTargert(Map param); @@ -50,4 +19,7 @@ public interface CommCollectServer3Dao { public int updatePenaltyEgreenState2(Map param); + + + } diff --git a/src/main/java/cfs/trsmrcv/dao/CommWebServer4Dao.java b/src/main/java/cfs/trsmrcv/dao/CommWebServer4Dao.java new file mode 100644 index 0000000..be707c6 --- /dev/null +++ b/src/main/java/cfs/trsmrcv/dao/CommWebServer4Dao.java @@ -0,0 +1,41 @@ +package cfs.trsmrcv.dao; + +import java.util.List; +import java.util.Map; + +import org.springframework.stereotype.Repository; + +@Repository("commWebServer4Dao") +public interface CommWebServer4Dao { + + + /* 교톻카드 매입자료 */ + public List> callSP_CRT_KSCC_SND(Map outMap); + public List> selectDayCloseCount(Map dummy); + + public List> selectDayClosePrepayCard(Map startEnd); + public List> selectDayClosePrepayEBCard(Map startEnd); + public List> selectDayClosePostpayCard(Map startEnd); + + public int insertDayCloseSendHistory(Map param); + public List> callSP_CARD_TRANS_SUNBUL(Map dummy); + public List> callSP_CARD_TRANS_SUNBUL_EB(Map dummy); + public List> callSP_CARD_TRANS_WHOBUL(Map dummy); + + public int updateTrafficCardDayClose(Map param); + + + /* 일마감 반송 */ + public int insertDayCloseReturnPrepay(Map param); + public List> callSP_CARD_BANSONG_SUNBUL(Map dummy); + + public int insertDayCloseReturnPrepayEB(Map param); + public List> callSP_CARD_BANSONG_SUNBUL_EB(Map dummy); + + public int insertDayCloseReturnPostpay(Map param); + public List> callSP_CARD_BANSONG_WHOBUL(Map dummy); + + + public int insertFileRecvTM(Map param); + +} diff --git a/src/main/java/cfs/trsmrcv/dao/TrsmrcvDao.java b/src/main/java/cfs/trsmrcv/dao/TrsmrcvDao.java index 2fc3b15..795be3d 100644 --- a/src/main/java/cfs/trsmrcv/dao/TrsmrcvDao.java +++ b/src/main/java/cfs/trsmrcv/dao/TrsmrcvDao.java @@ -6,6 +6,8 @@ import java.util.Map; import org.springframework.stereotype.Repository; import cfs.input.vo.WorkerFareAdjustVO; +import cfs.trsmrcv.vo.AltMailVO; +import cfs.trsmrcv.vo.JusoUpdateResultVO; @Repository("trsmrcvDao") public interface TrsmrcvDao { @@ -83,4 +85,27 @@ public interface TrsmrcvDao { public Map selectSendMail(String commandSeq); + public List findBuildJusoHist(Map searchMap); + public JusoUpdateResultVO findLastBuildJusoHist(String str); + + public void insertJusoHist(String dataDate); + + public void initJusoHist(String dataDate); + + public void updateJusoSuccResult(String dataDate); + + public void updateJusoFailResult(JusoUpdateResultVO vo); + + public void mergeJuso(Map map); + + public List findReceivedAltMailList(Map searchMap); + + public List findSentAltMailList(Map searchMap); + + public AltMailVO findAltMail(String altMailSeq); + + public AltMailVO findAltMailAttachFile(String altMailSeq); + + public void insertAltMail(AltMailVO altMailVO); + } diff --git a/src/main/java/cfs/trsmrcv/dao/mapper/CommCollectServer3_mapper.xml b/src/main/java/cfs/trsmrcv/dao/mapper/CommCollectServer3_mapper.xml index 8c772c1..b071023 100644 --- a/src/main/java/cfs/trsmrcv/dao/mapper/CommCollectServer3_mapper.xml +++ b/src/main/java/cfs/trsmrcv/dao/mapper/CommCollectServer3_mapper.xml @@ -2,578 +2,13 @@ - - /* 매입자료 송수신이력 등록 */ - - INSERT INTO FILE_TRANS_HISTORY ( - SEQ, - FILE_KIND_ID, - PASS_DATE, - FORMAT_DATE, - FARE_OFFICE_ID, - FILE_TRANS_KBN, - FILE_TRANS_YN, - DATA_PROCESS_KBN, - DIR_NAME, - FILE_NAME, - - CREATER, - CREATE_DATE, - UPDATER, - UPDATE_DATE - ) - VALUES( - FILE_TRANS_SEQ.NEXTVAL, - #{fileKindId, jdbcType=CHAR}, - to_char(SYSDATE, 'YYYYMMDD'), - to_char(SYSDATE, 'YYYYMMDD'), - #{fareOfficeId, jdbcType=CHAR}, - #{fileTransKbn, jdbcType=CHAR}, - #{fileTransYn, jdbcType=CHAR}, - #{dataProcessKbn, jdbcType=CHAR}, - #{dirName, jdbcType=VARCHAR}, - #{fileName, jdbcType=VARCHAR}, - - #{WORKER}, - SYSDATE, - #{WORKER}, - SYSDATE - ) - - - - - - - - - - - - - - - - - - - - - - - /* 선불 반송자료 등록 */ - - 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'), - #{refuse}, - rf.LEVY_AMOUNT, - SYSDATE, - #{WORKER}, - SYSDATE, - #{WORKER} - 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 = #{worker_id} - AND rf.FARE_OFFICE_ID = #{fare_id} - AND rf.BOOTH_ID = #{booth_id} - AND rf.YEAR = #{year} - AND rf.MONTH = #{month} - AND rf.DAY = #{day} - AND rf.WORK_TIMES = #{work_times} - ) - - - - - /* 파일 전송 결과 수정 */ - - update RF_TERMINAL_INFO_WEB - - hsm_status = #{hsmStatus} - - WHERE WEB_KIND = #{webKind} - and hsm_status is null - - - - - - - - /* 선불EB 반송자료 등록 */ - - 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'), - DECODE(#{refuse}, '111', '06', '203', '07', '99'), - rf.LEVY_AMOUNT, - SYSDATE, - #{WORKER}, - SYSDATE, - #{WORKER} - 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 = #{worker_id} - AND rf.FARE_OFFICE_ID = #{fare_id} - AND rf.BOOTH_ID = #{booth_id} - AND rf.YEAR = #{year} - AND rf.MONTH = #{month} - AND rf.DAY = #{day} - AND rf.WORK_TIMES = #{work_times} - ) - - - - - - - /* 후불 반송자료 등록 */ - - 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'), - DECODE(rf.FARE_OFFICE_ID, '01', DECODE(#{refuse}, '07', '11', #{refuse}), #{refuse}), - rf.LEVY_AMOUNT, - SYSDATE, - #{WORKER}, - SYSDATE, - #{WORKER} - 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 = #{worker_id} - AND rf.FARE_OFFICE_ID = #{fare_id} - AND rf.BOOTH_ID = #{booth_id} - AND rf.YEAR = #{year} - AND rf.MONTH = #{month} - AND rf.DAY = #{day} - AND rf.WORK_TIMES = #{work_times} - ) - - - - - - - /* BL PL 수신 등록 */ - - INSERT INTO CARD_TRANS_LOG_INFO ( - D_ST_DATE, - D_ST_TIME, - D_ED_DATE, - D_ED_TIME, - - T_FILE_NAME, - C_CARD_KBN, - - FARE_OFFICE_ID, - BOOTH_ID, - - T_MESSAGE, - - ISSUE_OFFICE_ID, - C_STATUS - ) - values - ( - to_char(SYSDATE, 'YYYYMMDD'), - to_char(SYSDATE, 'HH24MISS'), - to_char(SYSDATE, 'YYYYMMDD'), - to_char(SYSDATE, 'HH24MISS'), - #{sRecvFileName, jdbcType=VARCHAR}, - #{C_CARD_KBN, jdbcType=VARCHAR}, - - '03', - '01', - - '수신완료', - - '99', - 'C' - ) - - - /* eTax뱅킹 명세 등록 */ - - INSERT INTO SEIPLINK.RERCP011TH@DEVETAX ( - IST_CD, - WOFI_CD, - RCP_REQ_DT, - TMS_SQ, - SIGU_CD, - HDONG_CD, - ACC_CD, - SEMOK_CD, - YYYYMM_TAX, - TAX_GUBUN, - TAX_NO, - RCP_FLAG, - NAP_ID, - MUL_NM, - ACC_NM, - SEMOK_NM, - SISE_AMT, - SISE_AMT_JGK, - GIGUM_AMT, - GIGUM_AMT_JGK, - GUKSE_AMT, - GUKSE_AMT_JGK, - GUSE_AMT, - GUSE_AMT_JGK, - SEMOK5, - SEMOK5_AMT, - SEMOK5_AMT_JGK, - SUM_AMT, - PYACT_NO, - REQ_OP_DH, - RCP_RST_CD, - RCP_ERR_LOC, - RCP_ERR_MSG, - RCP_DT, - RCP_TM, - RCP_YN, - DB_CHG_TS, - PIDFR_NM, - SGLR_AM, - CAN_PRG_YN, - BR_PCDIS, - VRACT_NO - ) - values - ( - '006', - '000', - to_char(SYSDATE, 'YYYYMMDD'), - FUN_GET_ETAX_SEQ(to_char(SYSDATE, 'YYYYMMDD')) , - '000', - '047', - '34', - '288001', - to_char(SYSDATE, 'YYYYMM'), - '2', - #{TAX_NO, jdbcType=VARCHAR} , - '1', - DAMO.ENC@DEVETAX(#{NAP_ID, jdbcType=VARCHAR}), - #{MUL_NM, jdbcType=VARCHAR} , - '교통사업(혼잡통행료관리계정)', - '과태료수입', - #{SUM_AMT, jdbcType=VARCHAR}, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - #{SUM_AMT, jdbcType=VARCHAR}, - #{PYACT_NO, jdbcType=VARCHAR}, - to_char(SYSDATE, 'YYYYMMDDHH24MISS'), - #{RCP_RST_CD, jdbcType=VARCHAR}, - #{RCP_ERR_LOC, jdbcType=VARCHAR}, - #{RCP_ERR_MSG, jdbcType=VARCHAR}, - #{RCP_DT, jdbcType=VARCHAR}, - #{RCP_TM, jdbcType=VARCHAR}, - 'N', - to_char(SYSDATE, 'YYYYMMDDHH24MISS'), - #{PIDFR_NM, jdbcType=VARCHAR}, - #{SGLR_AM, jdbcType=VARCHAR}, - '0', - '0', - #{VRACT_NO, jdbcType=VARCHAR} - ) - - - - - /* eTax뱅킹 집계 등록 */ - - INSERT INTO SEIPLINK.RERCP001TM@DEVETAX ( - TOUT_ORG_C, - SL_GMGO_GUCHUNG_C, - SUNP_RQST_DT, - PBSVT_SND_TRN, - DAENAP_SUNP_PROC_S_C, - DAENAP_SUNP_RQST_CNT, - DAENAP_SUNP_RQST_AMT, - RSA_USER_ID, - MNGR_SUNG_NM, - MNGR_TELNO, - RQST_OPRT_DTTM, - DB_CHG_DTTM - ) - values - ( - '006', - '000', - to_char(SYSDATE, 'YYYYMMDD'), - FUN_GET_ETAX_SEQ(to_char(SYSDATE, 'YYYYMMDD')) , - '0', - #{RCP_REQ_CN, jdbcType=VARCHAR}, - #{RCP_REQ_AM, jdbcType=VARCHAR}, - #{USER_ID, jdbcType=VARCHAR}, - #{TMS_CSVT_NM, jdbcType=VARCHAR}, - #{TMS_CSVT_CTCAD, jdbcType=VARCHAR}, - to_char(SYSDATE, 'YYYYMMDDHH24MISS'), - to_char(SYSDATE, 'YYYYMMDDHH24MISS') - ) - + + + + /* 매입 전처리 처리 프로시져 호출 */ + call SP_CRT_KSCC_SND(#{out_ret, mode=OUT, jdbcType=NUMERIC}) + + + + + + + + + + + + + + /* 매입자료 송수신이력 등록 */ + INSERT + INTO FILE_TRANS_HISTORY ( + SEQ + , FILE_KIND_ID + , PASS_DATE + , FORMAT_DATE + , FARE_OFFICE_ID + , FILE_TRANS_KBN + , FILE_TRANS_YN + , DATA_PROCESS_KBN + , DIR_NAME + , FILE_NAME + , CREATER, CREATE_DATE, UPDATER, UPDATE_DATE + ) + VALUES + ( + FILE_TRANS_SEQ.NEXTVAL + , #{fileKindId, jdbcType=CHAR} + , to_char(SYSDATE, 'YYYYMMDD') + , to_char(SYSDATE, 'YYYYMMDD') + , #{fareOfficeId, jdbcType=CHAR} + , #{fileTransKbn, jdbcType=CHAR} + , #{fileTransYn, jdbcType=CHAR} + , #{dataProcessKbn, jdbcType=CHAR} + , #{dirName, jdbcType=VARCHAR} + , #{fileName, jdbcType=VARCHAR} + , #{WORKER}, SYSDATE, #{WORKER}, SYSDATE + ) + + + + + + + + /* 파일 전송 결과 수정 */ + UPDATE RF_TERMINAL_INFO_WEB + SET hsm_status = #{hsmStatus} + WHERE WEB_KIND = #{webKind} + AND hsm_status is null + + + + + /* 선불 반송자료 등록 */ + 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') + , #{refuse} + , rf.LEVY_AMOUNT + , SYSDATE, #{WORKER}, SYSDATE, #{WORKER} + 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 = #{worker_id} + AND rf.FARE_OFFICE_ID = #{fare_id} + AND rf.BOOTH_ID = #{booth_id} + AND rf.YEAR = #{year} + AND rf.MONTH = #{month} + AND rf.DAY = #{day} + AND rf.WORK_TIMES = #{work_times} + ) + + + + + + + + /* 선불EB 반송자료 등록 */ + 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') + , DECODE(#{refuse}, '111', '06', '203', '07', '99') + , rf.LEVY_AMOUNT + , SYSDATE, #{WORKER}, SYSDATE, #{WORKER} + 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 = #{worker_id} + AND rf.FARE_OFFICE_ID = #{fare_id} + AND rf.BOOTH_ID = #{booth_id} + AND rf.YEAR = #{year} + AND rf.MONTH = #{month} + AND rf.DAY = #{day} + AND rf.WORK_TIMES = #{work_times} + ) + + + + + + + /* 후불 반송자료 등록 */ + 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') + , DECODE(rf.FARE_OFFICE_ID, '01', DECODE(#{refuse}, '07', '11', #{refuse}), #{refuse}) + , rf.LEVY_AMOUNT + , SYSDATE, #{WORKER}, SYSDATE, #{WORKER} + 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 = #{worker_id} + AND rf.FARE_OFFICE_ID = #{fare_id} + AND rf.BOOTH_ID = #{booth_id} + AND rf.YEAR = #{year} + AND rf.MONTH = #{month} + AND rf.DAY = #{day} + AND rf.WORK_TIMES = #{work_times} + ) + + + + + + + /* BL PL 수신 등록 */ + INSERT + INTO CARD_TRANS_LOG_INFO ( + D_ST_DATE + , D_ST_TIME + , D_ED_DATE + , D_ED_TIME + , T_FILE_NAME + , C_CARD_KBN + , FARE_OFFICE_ID + , BOOTH_ID + , T_MESSAGE + , ISSUE_OFFICE_ID + , C_STATUS + ) + values ( + to_char(SYSDATE, 'YYYYMMDD') + , to_char(SYSDATE, 'HH24MISS') + , to_char(SYSDATE, 'YYYYMMDD') + , to_char(SYSDATE, 'HH24MISS') + , #{sRecvFileName, jdbcType=VARCHAR} + , #{C_CARD_KBN, jdbcType=VARCHAR} + , '03' + , '01' + , '수신완료' + , '99' + , 'C' + ) + + + \ No newline at end of file diff --git a/src/main/java/cfs/trsmrcv/dao/mapper/Trsmrcv_mapper.xml b/src/main/java/cfs/trsmrcv/dao/mapper/Trsmrcv_mapper.xml index b9f60c0..d71e002 100644 --- a/src/main/java/cfs/trsmrcv/dao/mapper/Trsmrcv_mapper.xml +++ b/src/main/java/cfs/trsmrcv/dao/mapper/Trsmrcv_mapper.xml @@ -230,4 +230,295 @@ FROM TB_CFS_SEND_MAIL WHERE COMMAND_SEQ = #{commandSeq} + + + + + + + + + + + + + + + + INSERT + INTO TB_CFS_ADRES_BULD_INFO_HIST ( + DATA_DATE + , ACTION_DATE + , ACTION_START_TIME + , STAT_CD + ) + VALUES ( + #{dataDate} + , TO_CHAR(SYSDATE,'YYYYMMDD') + , TO_CHAR(SYSDATE,'HH24MISS') + , '0' + ) + + + + UPDATE TB_CFS_ADRES_BULD_INFO_HIST + SET ACTION_DATE = TO_CHAR(SYSDATE,'YYYYMMDD') + , ACTION_START_TIME = TO_CHAR(SYSDATE,'HH24MISS') + , ACTION_END_TIME = '' + , STAT_CD = '0' + , FAIL_ROW = 0 + WHERE DATA_DATE = #{dataDate} + + + + UPDATE TB_CFS_ADRES_BULD_INFO_HIST + SET ACTION_END_TIME = TO_CHAR(SYSDATE,'HH24MISS') + , STAT_CD = '2' + , FAIL_ROW = null + WHERE DATA_DATE = #{dataDate} + + + + UPDATE TB_CFS_ADRES_BULD_INFO_HIST + SET ACTION_END_TIME = TO_CHAR(SYSDATE,'HH24MISS') + , STAT_CD = '1' + , FAIL_ROW = #{failRow} + WHERE DATA_DATE = #{dataDate} + + + + MERGE INTO TB_CFS_ADRES_BULD_INFO + USING dual ON (BULD_MANAGE_NO = #{BULD_MANAGE_NO}) + WHEN MATCHED THEN + UPDATE + SET LEGALDONG_CODE = #{LEGALDONG_CODE} + , CTPRVN_NM = #{CTPRVN_NM} + , SIGNGU_NM = #{SIGNGU_NM} + , LWCR_EMD_NM = #{LWCR_EMD_NM} + , LWCR_LI_NM = #{LWCR_LI_NM} + , MNTN_AT = #{MNTN_AT} + , LNM_MNNM = #{LNM_MNNM} + , LNM_SLNO = #{LNM_SLNO} + , RN_CODE = #{RN_CODE} + , RN = #{RN} + , UNDGRND_AT = #{UNDGRND_AT} + , BULD_MNNM = #{BULD_MNNM} + , BULD_SLNO = #{BULD_SLNO} + , BILD_REGSTR_BULD_NM = #{BILD_REGSTR_BULD_NM} + , DETAIL_BULD_NM = #{DETAIL_BULD_NM} + , EMD_SN = #{EMD_SN} + , ADSTRD_CODE = #{ADSTRD_CODE} + , ADSTRD_NM = #{ADSTRD_NM} + , ZIP = #{ZIP} + , POST_SEQ_NO = #{POST_SEQ_NO} + , MUCH_DLVROFFIC_NM = #{MUCH_DLVROFFIC_NM} + , MVMN_RESN_CODE = #{MVMN_RESN_CODE} + , BULD_INFO_NTFC_DE = #{BULD_INFO_NTFC_DE} + , CHANGE_BFE_RN_ADRES = #{CHANGE_BFE_RN_ADRES} + , SIGNGU_USE_BULD_NM = #{SIGNGU_USE_BULD_NM} + , COPERTN_HOUSE_AT = #{COPERTN_HOUSE_AT} + , BSIS_ZONE_NO = #{BSIS_ZONE_NO} + , DETAIL_ADRES_AT = #{DETAIL_ADRES_AT} + , BULD_INFO_RM_ONE = #{BULD_INFO_RM_ONE} + , BULD_INFO_RM_TWO = #{BULD_INFO_RM_TWO} + , CREAT_DT = SYSDATE + WHEN NOT MATCHED THEN + INSERT ( + LEGALDONG_CODE + , CTPRVN_NM + , SIGNGU_NM + , LWCR_EMD_NM + , LWCR_LI_NM + , MNTN_AT + , LNM_MNNM + , LNM_SLNO + , RN_CODE + , RN + , UNDGRND_AT + , BULD_MNNM + , BULD_SLNO + , BILD_REGSTR_BULD_NM + , DETAIL_BULD_NM + , BULD_MANAGE_NO + , EMD_SN + , ADSTRD_CODE + , ADSTRD_NM + , ZIP + , POST_SEQ_NO + , MUCH_DLVROFFIC_NM + , MVMN_RESN_CODE + , BULD_INFO_NTFC_DE + , CHANGE_BFE_RN_ADRES + , SIGNGU_USE_BULD_NM + , COPERTN_HOUSE_AT + , BSIS_ZONE_NO + , DETAIL_ADRES_AT + , BULD_INFO_RM_ONE + , BULD_INFO_RM_TWO + , CREAT_DT + ) + VALUES ( + #{LEGALDONG_CODE} + , #{CTPRVN_NM} + , #{SIGNGU_NM} + , #{LWCR_EMD_NM} + , #{LWCR_LI_NM} + , #{MNTN_AT} + , #{LNM_MNNM} + , #{LNM_SLNO} + , #{RN_CODE} + , #{RN} + , #{UNDGRND_AT} + , #{BULD_MNNM} + , #{BULD_SLNO} + , #{BILD_REGSTR_BULD_NM} + , #{DETAIL_BULD_NM} + , #{BULD_MANAGE_NO} + , #{EMD_SN} + , #{ADSTRD_CODE} + , #{ADSTRD_NM} + , #{ZIP} + , #{POST_SEQ_NO} + , #{MUCH_DLVROFFIC_NM} + , #{MVMN_RESN_CODE} + , #{BULD_INFO_NTFC_DE} + , #{CHANGE_BFE_RN_ADRES} + , #{SIGNGU_USE_BULD_NM} + , #{COPERTN_HOUSE_AT} + , #{BSIS_ZONE_NO} + , #{DETAIL_ADRES_AT} + , #{BULD_INFO_RM_ONE} + , #{BULD_INFO_RM_TWO} + , SYSDATE + ) + + + + + + + + + + + + + + + + + + + + + INSERT + INTO TB_CFS_ALT_MAIL ( + ALT_MAIL_SEQ + , RECEIVER + , TITLE + , TEXT + , SENDER + , SEND_DATE + + , ATTACH_FILE_NAME + , ATTACH_FILE_BLOB + + ) + VALUES ( + LPAD(SEQ_ALT_MAIL.NEXTVAL,40,'0') + , #{receiver} + , #{title} + , #{text} + , #{sender} + , SYSDATE + + , #{attachFileName} + , #{attachFileBlob} + + ) + \ No newline at end of file diff --git a/src/main/java/cfs/trsmrcv/service/CommCollectServerService.java b/src/main/java/cfs/trsmrcv/service/CommCollectServerService.java index c7b95ed..229fb59 100644 --- a/src/main/java/cfs/trsmrcv/service/CommCollectServerService.java +++ b/src/main/java/cfs/trsmrcv/service/CommCollectServerService.java @@ -44,36 +44,7 @@ public interface CommCollectServerService { //dao3 - - - public Map callTrafficCardDayCloseSummary(Map param) throws Exception; - - - public Map selectDayClosePrepayCard(Map param) throws Exception; - public Map selectDayClosePrepayEBCard(Map param) throws Exception; - public Map selectDayClosePostpayCard(Map param) throws Exception; - - - public Map insertDayCloseSendHistory(Map param) throws Exception; - - - public int insertDayCloseReturnPrepay(Map param) throws Exception; - public List> callSP_CARD_BANSONG_SUNBUL(Map param) throws Exception; - - public int insertDayCloseReturnPrepayEB(Map param) throws Exception; - public List> callSP_CARD_BANSONG_SUNBUL_EB(Map param) throws Exception; - - public int insertDayCloseReturnPostpay(Map param) throws Exception; - public List> callSP_CARD_BANSONG_WHOBUL(Map param) throws Exception; - - - public int updateTrafficCardDayClose(Map param) throws Exception; - - public int insertFileRecvTM(Map param) throws Exception; - - public int insertEtaxDetail(Map param) throws Exception; - public int insertEtaxSummary(Map param) throws Exception; public List> selectEtaxDetail(Map param) throws Exception; diff --git a/src/main/java/cfs/trsmrcv/service/CommWebServer4Service.java b/src/main/java/cfs/trsmrcv/service/CommWebServer4Service.java new file mode 100644 index 0000000..1114cb9 --- /dev/null +++ b/src/main/java/cfs/trsmrcv/service/CommWebServer4Service.java @@ -0,0 +1,34 @@ +package cfs.trsmrcv.service; + +import java.util.List; +import java.util.Map; + +public interface CommWebServer4Service { + + + public Map callTrafficCardDayCloseSummary() throws Exception; + + + public Map selectDayClosePrepayCard(Map param) throws Exception; + public Map selectDayClosePrepayEBCard(Map param) throws Exception; + public Map selectDayClosePostpayCard(Map param) throws Exception; + + + public Map insertDayCloseSendHistory(Map param) throws Exception; + + + public int insertDayCloseReturnPrepay(Map param) throws Exception; + public List> callSP_CARD_BANSONG_SUNBUL() throws Exception; + + public int insertDayCloseReturnPrepayEB(Map param) throws Exception; + public List> callSP_CARD_BANSONG_SUNBUL_EB() throws Exception; + + public int insertDayCloseReturnPostpay(Map param) throws Exception; + public List> callSP_CARD_BANSONG_WHOBUL() throws Exception; + + + public int updateTrafficCardDayClose(Map param) throws Exception; + + public int insertFileRecvTM(Map param) throws Exception; + +} diff --git a/src/main/java/cfs/trsmrcv/service/impl/CommCollectServerServiceImpl.java b/src/main/java/cfs/trsmrcv/service/impl/CommCollectServerServiceImpl.java index 74208dc..abd510e 100644 --- a/src/main/java/cfs/trsmrcv/service/impl/CommCollectServerServiceImpl.java +++ b/src/main/java/cfs/trsmrcv/service/impl/CommCollectServerServiceImpl.java @@ -59,10 +59,10 @@ public class CommCollectServerServiceImpl implements CommCollectServerService { return dao.selectPreRegistCarInfoLive(param); } - @Override /** * 사전등록결제정보 추가 */ + @Override public int insertPreRegistInfoModi(Map param) throws Exception { return dao.insertPreRegistInfoModi(param); } @@ -108,6 +108,10 @@ public class CommCollectServerServiceImpl implements CommCollectServerService { } + + + + // 사전등록결제 일마감 집계 웹서비스 요청 @SuppressWarnings({ "unchecked", "unused" }) @Override @@ -247,197 +251,10 @@ public class CommCollectServerServiceImpl implements CommCollectServerService { return dao_2.updateMstFlag(param); } - // 교통카드 일마감 집계 웹서비스 요청 - @Override - public Map callTrafficCardDayCloseSummary(Map param) throws Exception { - ResultSmartPlatform result = new ResultSmartPlatform(); - - Map mapOrg = new HashMap(); - List> obj = null; - try { - mapOrg.put("out_ret", -1); - - dao_3.callSP_CRT_KSCC_SND(mapOrg); - if(mapOrg.get("out_ret").toString().equals("-1") == true) { - result.setErrorMsg(ResultSmartPlatform.STATUS_ERROR_DEFAULT_DETAIL_CODE, null); - - logger.info(result.getResult().get("resultMessage").toString()); - return result.getResult(); - } - - obj = dao_3.selectDayCloseCount(param); - if(obj == null) { - result.setErrorMsg(ResultSmartPlatform.STATUS_ERROR_DEFAULT_DETAIL_CODE, null); - - logger.info(result.getResult().get("resultMessage").toString()); - return result.getResult(); - } - - result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, obj); - result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다."); - }catch(RuntimeException e) { - result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); - } catch (Exception e) { - result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); - } - - logger.info(result.getResult().get("resultMessage").toString()); - return result.getResult(); - } - - // 선불 일마감 집계 웹서비스 요청 - @Override - public Map selectDayClosePrepayCard(Map param) throws Exception { - ResultSmartPlatform result = new ResultSmartPlatform(); - - List> obj = null; - try { - obj = dao_3.selectDayClosePrepayCard(param); - if(obj == null || obj.size() == 0) { - result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "조회결과가 없습니다."); - - logger.info(result.getResult().get("resultMessage").toString()); - return result.getResult(); - } - - result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, obj); - result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다."); - }catch(RuntimeException e) { - result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); - } catch (Exception e) { - result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); - } - - logger.info(result.getResult().get("resultMessage").toString()); - return result.getResult(); - } - - // 선불EB - @Override - public Map selectDayClosePrepayEBCard(Map param) throws Exception { - ResultSmartPlatform result = new ResultSmartPlatform(); - - List> obj = null; - try { - obj = dao_3.selectDayClosePrepayEBCard(param); - if(obj == null || obj.size() == 0) { - result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "조회결과가 없습니다."); - - logger.info(result.getResult().get("resultMessage").toString()); - return result.getResult(); - } - - result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, obj); - result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다."); - }catch(RuntimeException e) { - result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); - } catch (Exception e) { - result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); - } - - logger.info(result.getResult().get("resultMessage").toString()); - return result.getResult(); - } - - // 후불 - @Override - public Map selectDayClosePostpayCard(Map param) throws Exception { - ResultSmartPlatform result = new ResultSmartPlatform(); - - List> obj = null; - try { - obj = dao_3.selectDayClosePostpayCard(param); - if(obj == null || obj.size() == 0) { - result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "조회결과가 없습니다."); - - logger.info(result.getResult().get("resultMessage").toString()); - return result.getResult(); - } - - result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, obj); - result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다."); - }catch(RuntimeException e) { - result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); - } catch (Exception e) { - result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); - } - - logger.info(result.getResult().get("resultMessage").toString()); - return result.getResult(); - } - - // 일마감 송신이력 저장 - @Transactional - @Override - public Map insertDayCloseSendHistory(Map param) throws Exception { - ResultSmartPlatform result = new ResultSmartPlatform(); - - List> obj = null; - try { - param.put("WORKER", "admin"); - if(dao_3.insertDayCloseSendHistory(param) < 0) { - result.setErrorMsg(null, null); - logger.info(result.getResult().get("resultMessage").toString()); - return result.getResult(); - } - - if(param.get("webKind").equals("0") == true && param.get("fileTransYn").equals("Y")) { - obj = dao_3.callSP_CARD_TRANS_SUNBUL(param); - } - else if(param.get("webKind").equals("1") == true && param.get("fileTransYn").equals("Y")) { - obj = dao_3.callSP_CARD_TRANS_SUNBUL_EB(param); - } - else if(param.get("webKind").equals("2") == true && param.get("fileTransYn").equals("Y")) { - obj = dao_3.callSP_CARD_TRANS_WHOBUL(param); - } - - result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, obj); - result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다."); - }catch(RuntimeException e) { - result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); - } catch (Exception e) { - result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); - } - - logger.info(result.getResult().get("resultMessage").toString()); - return result.getResult(); - } - - - - @Override - public int insertDayCloseReturnPrepay(Map param) throws Exception { - return dao_3.insertDayCloseReturnPrepay(param); - } - - @Override - public List> callSP_CARD_BANSONG_SUNBUL(Map param) throws Exception { - return dao_3.callSP_CARD_BANSONG_SUNBUL(param); - } - - @Override - public int insertDayCloseReturnPrepayEB(Map param) throws Exception { - return dao_3.insertDayCloseReturnPrepayEB(param); - } - - @Override - public List> callSP_CARD_BANSONG_SUNBUL_EB(Map param) throws Exception { - return dao_3.callSP_CARD_BANSONG_SUNBUL_EB(param); - } - - @Override - public int insertDayCloseReturnPostpay(Map param) throws Exception { - return dao_3.insertDayCloseReturnPostpay(param); - } - - @Override - public List> callSP_CARD_BANSONG_WHOBUL(Map param) throws Exception { - return dao_3.callSP_CARD_BANSONG_WHOBUL(param); - } private boolean isNumeric(String s) { try { @@ -547,26 +364,12 @@ public class CommCollectServerServiceImpl implements CommCollectServerService { } - - - @Override - public int updateTrafficCardDayClose(Map param) throws Exception { - return dao_3.updateTrafficCardDayClose(param); - } - @Override - public int insertFileRecvTM(Map param) throws Exception { - return dao_3.insertFileRecvTM(param); - } - @Override - public int insertEtaxDetail(Map param) throws Exception { - return dao_3.insertEtaxDetail(param); - } - @Override - public int insertEtaxSummary(Map param) throws Exception { - return dao_3.insertEtaxSummary(param); - } + + + + @Override public List> selectEtaxDetail(Map param) throws Exception { return dao_3.selectEtaxDetail(param); diff --git a/src/main/java/cfs/trsmrcv/service/impl/CommWebServer4ServiceImpl.java b/src/main/java/cfs/trsmrcv/service/impl/CommWebServer4ServiceImpl.java new file mode 100644 index 0000000..4bc9bfe --- /dev/null +++ b/src/main/java/cfs/trsmrcv/service/impl/CommWebServer4ServiceImpl.java @@ -0,0 +1,225 @@ +package cfs.trsmrcv.service.impl; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import cfs.common.util.Result; +import cfs.common.util.ResultSmartPlatform; +import cfs.trsmrcv.dao.CommWebServer4Dao; +import cfs.trsmrcv.service.CommWebServer4Service; + +@Service("commWebServer4Service") +public class CommWebServer4ServiceImpl implements CommWebServer4Service { + + protected Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Resource(name="commWebServer4Dao") + private CommWebServer4Dao commWebServer4Dao; + + + // 교통카드 일마감 집계 웹서비스 요청 + @Override + public Map callTrafficCardDayCloseSummary() throws Exception { + ResultSmartPlatform result = new ResultSmartPlatform(); + + + Map mapOrg = new HashMap(); + List> obj = null; + try { + mapOrg.put("out_ret", -1); + + commWebServer4Dao.callSP_CRT_KSCC_SND(mapOrg); + if(mapOrg.get("out_ret").toString().equals("-1") == true) { + result.setErrorMsg(ResultSmartPlatform.STATUS_ERROR_DEFAULT_DETAIL_CODE, null); + + logger.info(result.getResult().get("resultMessage").toString()); + return result.getResult(); + } + + obj = commWebServer4Dao.selectDayCloseCount(new HashMap()); + if(obj == null) { + result.setErrorMsg(ResultSmartPlatform.STATUS_ERROR_DEFAULT_DETAIL_CODE, null); + + logger.info(result.getResult().get("resultMessage").toString()); + return result.getResult(); + } + + result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, obj); + result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다."); + }catch(RuntimeException e) { + result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); + } catch (Exception e) { + result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); + } + + logger.info(result.getResult().get("resultMessage").toString()); + return result.getResult(); + } + + // 선불 일마감 집계 웹서비스 요청 + @Override + public Map selectDayClosePrepayCard(Map param) throws Exception { + ResultSmartPlatform result = new ResultSmartPlatform(); + + List> obj = null; + try { + obj = commWebServer4Dao.selectDayClosePrepayCard(param); + if(obj == null || obj.size() == 0) { + result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "조회결과가 없습니다."); + + logger.info(result.getResult().get("resultMessage").toString()); + return result.getResult(); + } + + result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, obj); + result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다."); + }catch(RuntimeException e) { + result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); + } catch (Exception e) { + result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); + } + + logger.info(result.getResult().get("resultMessage").toString()); + return result.getResult(); + } + + // 선불EB + @Override + public Map selectDayClosePrepayEBCard(Map param) throws Exception { + ResultSmartPlatform result = new ResultSmartPlatform(); + + List> obj = null; + try { + obj = commWebServer4Dao.selectDayClosePrepayEBCard(param); + if(obj == null || obj.size() == 0) { + result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "조회결과가 없습니다."); + + logger.info(result.getResult().get("resultMessage").toString()); + return result.getResult(); + } + + result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, obj); + result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다."); + }catch(RuntimeException e) { + result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); + } catch (Exception e) { + result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); + } + + logger.info(result.getResult().get("resultMessage").toString()); + return result.getResult(); + } + + // 후불 + @Override + public Map selectDayClosePostpayCard(Map param) throws Exception { + ResultSmartPlatform result = new ResultSmartPlatform(); + + List> obj = null; + try { + obj = commWebServer4Dao.selectDayClosePostpayCard(param); + if(obj == null || obj.size() == 0) { + result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "조회결과가 없습니다."); + + logger.info(result.getResult().get("resultMessage").toString()); + return result.getResult(); + } + + result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, obj); + result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다."); + }catch(RuntimeException e) { + result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); + } catch (Exception e) { + result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); + } + + logger.info(result.getResult().get("resultMessage").toString()); + return result.getResult(); + } + + // 일마감 송신이력 저장 + @Transactional + @Override + public Map insertDayCloseSendHistory(Map param) throws Exception { + ResultSmartPlatform result = new ResultSmartPlatform(); + + List> obj = null; + try { + param.put("WORKER", "admin"); + if(commWebServer4Dao.insertDayCloseSendHistory(param) < 0) { + result.setErrorMsg(null, null); + logger.info(result.getResult().get("resultMessage").toString()); + return result.getResult(); + } + + if(param.get("webKind").equals("0") == true && param.get("fileTransYn").equals("Y")) { + obj = commWebServer4Dao.callSP_CARD_TRANS_SUNBUL(new HashMap()); + } else if(param.get("webKind").equals("1") == true && param.get("fileTransYn").equals("Y")) { + obj = commWebServer4Dao.callSP_CARD_TRANS_SUNBUL_EB(new HashMap()); + } else if(param.get("webKind").equals("2") == true && param.get("fileTransYn").equals("Y")) { + obj = commWebServer4Dao.callSP_CARD_TRANS_WHOBUL(new HashMap()); + } + + result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, obj); + result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다."); + }catch(RuntimeException e) { + result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); + } catch (Exception e) { + result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE); + } + + logger.info(result.getResult().get("resultMessage").toString()); + return result.getResult(); + } + + @Override + public int updateTrafficCardDayClose(Map param) throws Exception { + return commWebServer4Dao.updateTrafficCardDayClose(param); + } + + + + @Override + public int insertDayCloseReturnPrepay(Map param) throws Exception { + return commWebServer4Dao.insertDayCloseReturnPrepay(param); + } + + @Override + public List> callSP_CARD_BANSONG_SUNBUL() throws Exception { + return commWebServer4Dao.callSP_CARD_BANSONG_SUNBUL(new HashMap()); + } + + @Override + public int insertDayCloseReturnPrepayEB(Map param) throws Exception { + return commWebServer4Dao.insertDayCloseReturnPrepayEB(param); + } + + @Override + public List> callSP_CARD_BANSONG_SUNBUL_EB() throws Exception { + return commWebServer4Dao.callSP_CARD_BANSONG_SUNBUL_EB(new HashMap()); + } + + @Override + public int insertDayCloseReturnPostpay(Map param) throws Exception { + return commWebServer4Dao.insertDayCloseReturnPostpay(param); + } + + @Override + public List> callSP_CARD_BANSONG_WHOBUL() throws Exception { + return commWebServer4Dao.callSP_CARD_BANSONG_WHOBUL(new HashMap()); + } + + + @Override + public int insertFileRecvTM(Map param) throws Exception { + return commWebServer4Dao.insertFileRecvTM(param); + } +} diff --git a/src/main/java/cfs/trsmrcv/vo/AltMailVO.java b/src/main/java/cfs/trsmrcv/vo/AltMailVO.java new file mode 100644 index 0000000..0a4b3e0 --- /dev/null +++ b/src/main/java/cfs/trsmrcv/vo/AltMailVO.java @@ -0,0 +1,64 @@ +package cfs.trsmrcv.vo; + +public class AltMailVO { + private String altMailSeq; + private String sender; + private String sendDate; + private String receiver; + private String title; + private String text; + private String attachFileName; + private byte[] attachFileBlob; + + + public String getAltMailSeq() { + return altMailSeq; + } + public void setAltMailSeq(String altMailSeq) { + this.altMailSeq = altMailSeq; + } + public String getSender() { + return sender; + } + public void setSender(String sender) { + this.sender = sender; + } + public String getSendDate() { + return sendDate; + } + public void setSendDate(String sendDate) { + this.sendDate = sendDate; + } + public String getReceiver() { + return receiver; + } + public void setReceiver(String receiver) { + this.receiver = receiver; + } + public String getTitle() { + return title; + } + public void setTitle(String title) { + this.title = title; + } + public String getText() { + return text; + } + public void setText(String text) { + this.text = text; + } + public String getAttachFileName() { + return attachFileName; + } + public void setAttachFileName(String attachFileName) { + this.attachFileName = attachFileName; + } + public byte[] getAttachFileBlob() { + return attachFileBlob; + } + public void setAttachFileBlob(byte[] attachFileBlob) { + this.attachFileBlob = attachFileBlob; + } + + +} diff --git a/src/main/java/cfs/trsmrcv/vo/JusoUpdateResultVO.java b/src/main/java/cfs/trsmrcv/vo/JusoUpdateResultVO.java new file mode 100644 index 0000000..676c42c --- /dev/null +++ b/src/main/java/cfs/trsmrcv/vo/JusoUpdateResultVO.java @@ -0,0 +1,57 @@ +package cfs.trsmrcv.vo; + +public class JusoUpdateResultVO { + + private String dataDate; + private String actionDate; + private String actionStartTime; + private String actionEndTime; + private String statCd; + private String statNm; + private int failRow; + + public String getDataDate() { + return dataDate; + } + public void setDataDate(String dataDate) { + this.dataDate = dataDate; + } + public String getActionDate() { + return actionDate; + } + public void setActionDate(String actionDate) { + this.actionDate = actionDate; + } + public String getActionStartTime() { + return actionStartTime; + } + public void setActionStartTime(String actionStartTime) { + this.actionStartTime = actionStartTime; + } + public String getActionEndTime() { + return actionEndTime; + } + public void setActionEndTime(String actionEndTime) { + this.actionEndTime = actionEndTime; + } + public String getStatCd() { + return statCd; + } + public void setStatCd(String statCd) { + this.statCd = statCd; + } + public String getStatNm() { + return statNm; + } + public void setStatNm(String statNm) { + this.statNm = statNm; + } + public int getFailRow() { + return failRow; + } + public void setFailRow(int failRow) { + this.failRow = failRow; + } + + +} diff --git a/src/main/java/cfs/trsmrcv/web/CommWebBrowserController.java b/src/main/java/cfs/trsmrcv/web/CommWebBrowserController.java index 7425ee5..20ad762 100644 --- a/src/main/java/cfs/trsmrcv/web/CommWebBrowserController.java +++ b/src/main/java/cfs/trsmrcv/web/CommWebBrowserController.java @@ -2,16 +2,22 @@ package cfs.trsmrcv.web; 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.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; +import java.util.Enumeration; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import javax.annotation.Resource; @@ -21,12 +27,19 @@ import org.json.simple.parser.JSONParser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.context.ContextLoader; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.multipart.commons.CommonsMultipartResolver; + import cfs.common.service.CfsCommonService; import cfs.common.util.CallWebService; import cfs.common.util.HttpUtil; @@ -42,6 +55,7 @@ import cfs.trsmrcv.service.MobilePenaltyDetailService; import cfs.trsmrcv.service.TransManageService; import cfs.trsmrcv.vo.CardTransLogInfoVO; import cfs.trsmrcv.vo.ExtTransManageInfoVO; +import cfs.trsmrcv.vo.JusoUpdateResultVO; import cfs.trsmrcv.vo.MobilePenaltyDetailVO; import tcp.seoul.sms.SMSClient; import tcp.seoul.sms.SMSClientVO; @@ -76,6 +90,11 @@ public class CommWebBrowserController { @Autowired private TransManageService transManageService; + + private ApplicationContext getApplicationContext() { + return ContextLoader.getCurrentWebApplicationContext(); + } + /** * 자동판독 요청 수신 *

@@ -1344,24 +1363,6 @@ public class CommWebBrowserController {
 		spResult.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
 		return spResult.getResult(); 
 	}
-	
-	/** 
-	* 주소 다운로드 링크 조회
-	* 

-	*/
-	@RequestMapping(value="/cfs/trsmrcv/getJusoLink.do", method=RequestMethod.POST)
-	public @ResponseBody Map getJusoLink(@RequestBody Map param){
-		Map result = new HashMap();
-		
-		Map searchMap = new HashMap();
-		searchMap.put("year", param.get("year").toString());
-		searchMap.put("month", param.get("month").toString());
-		String link = trsmrcvDao.getJusoDownLink(searchMap);
-		String[] link_split = link.split("\\?");
-		
-		result.put("url", link_split[0]);
-		result.put("params", link_split[1]);
-		return result;
-	}
+
 	
 }
diff --git a/src/main/java/cfs/trsmrcv/web/CommWebBrowserSystemManageController.java b/src/main/java/cfs/trsmrcv/web/CommWebBrowserSystemManageController.java
new file mode 100644
index 0000000..cacdaeb
--- /dev/null
+++ b/src/main/java/cfs/trsmrcv/web/CommWebBrowserSystemManageController.java
@@ -0,0 +1,320 @@
+package cfs.trsmrcv.web;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.ibatis.annotations.Param;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+
+import cfs.common.util.HttpUtil;
+import cfs.common.util.Result;
+import cfs.common.vo.ParamBean;
+import cfs.trsmrcv.dao.TrsmrcvDao;
+import cfs.trsmrcv.vo.AltMailVO;
+import cfs.trsmrcv.vo.JusoUpdateResultVO;
+
+@Controller
+public class CommWebBrowserSystemManageController {
+	
+	protected Logger logger = LoggerFactory.getLogger(this.getClass());
+	
+	@Resource(name="trsmrcvDao")
+	private TrsmrcvDao trsmrcvDao;
+	
+	/** 
+	* 주소 갱신 이력 조회
+	* 

+	*/
+	@RequestMapping(value="/cfs/trsmrcv/findBuildJusoHist.do", method=RequestMethod.POST)
+	public @ResponseBody Map findBuildJusoHist(@RequestBody ParamBean> param){
+
+		Map searchMap = param.getParam();
+		
+		Result result = new Result();
+		
+		List buildJusoHistList = trsmrcvDao.findBuildJusoHist(searchMap);
+		
+		result.setData("result", buildJusoHistList);
+
+		return result.getResult();
+	}
+	
+	
+	/** 
+	* 주소 파일 업로드
+	* 

+	*/
+	@RequestMapping(value="/cfs/trsmrcv/uploadJuso.do", method=RequestMethod.POST)
+	public @ResponseBody Map getJusoLink(
+			MultipartHttpServletRequest mreq){
+		
+		Map result = new HashMap();
+
+		Enumeration es = mreq.getParameterNames();
+		while (es.hasMoreElements()){
+			System.out.println(es.nextElement().toString());
+		}
+		MultipartFile mfile = mreq.getFile("buildJusoFile");
+		String ori = mfile.getOriginalFilename();
+		
+
+		if(!ori.startsWith("AlterD.JUSUBM.") || !ori.endsWith(".TI_SPBD_BULD.TXT")){
+			result.put("result", "fail");
+			result.put("failResn", "건물주소 일변동 파일이 아닙니다.");
+			return result;
+		}
+		String[] ori2 = ori.split("\\.");
+		String dateOfFile = ori2[2];
+		String targetYmd = "";
+
+		
+		JusoUpdateResultVO lastData = trsmrcvDao.findLastBuildJusoHist("");
+		
+		boolean isNew = true;
+		
+		if(lastData != null){
+			if(lastData.getStatCd().equals("0")){
+				result.put("result", "fail");
+				result.put("failResn", "주소 갱신이 처리중 입니다.");
+				return result;
+			}
+			
+			if(lastData.getStatCd().equals("1")){
+				targetYmd = lastData.getDataDate().replace("-", "");
+				isNew = false;
+			}
+			if(lastData.getStatCd().equals("2")){
+				String lastDataDate = lastData.getDataDate().replace("-", "");
+				SimpleDateFormat formatDt = new SimpleDateFormat("yyyyMMdd");
+				Calendar cal = Calendar.getInstance();
+				Date date;
+				try {
+					date = formatDt.parse(lastDataDate);
+				} catch (ParseException e) {
+					result.put("result", "fail");
+					return result;
+				}
+				cal.setTime(date);
+				cal.add(Calendar.DATE, +1);
+				String nextDate = formatDt.format(cal.getTime());
+				targetYmd = nextDate;
+			}
+		} else {
+			targetYmd = "20250801";
+		}
+
+		if(!dateOfFile.equals(targetYmd)){
+			result.put("result", "fail");
+			result.put("failResn", "다음으로 처리해야할 일변동날짜는 "+targetYmd+"입니다."
+			+"
업로드한 파일은 "+dateOfFile+" 자료입니다."); + return result; + } + + String workPath = "/gpta/source-app/cfs/jusoUploadData"; + File workDir = new File(workPath); + if(!workDir.exists()){ + workDir.mkdirs(); + } else { + File[] fl = workDir.listFiles(); + if(fl != null){ + for(File f : fl){ + f.delete(); + } + } + } + + String destPath = workPath+"/"+ori; + File destFile = new File(destPath); + + + try { + mfile.transferTo(destFile); + } catch (IllegalStateException e) { + result.put("result", "fail"); + return result; + } catch (IOException e) { + result.put("result", "fail"); + return result; + } + + JusoThread jusoThread = new JusoThread(trsmrcvDao, targetYmd, isNew, destPath); + Thread newThread = new Thread(jusoThread); + newThread.setName("jusoThread #1"); + newThread.start(); + + result.put("result", "success"); + return result; + } + + /** + * 받은 메시지 목록 조회 + *

+	*/
+	@RequestMapping(value="/cfs/trsmrcv/findReceivedAltMailList.do", method=RequestMethod.POST)
+	public @ResponseBody Map findReceivedAltMailList(
+			@RequestBody ParamBean> param
+		){
+
+		String myId = HttpUtil.getUserId();
+
+		Map searchMap = param.getParam();
+		
+		searchMap.put("receiver", myId);
+		
+		Result result = new Result();
+		
+		List receivedAltMailList = trsmrcvDao.findReceivedAltMailList(searchMap);
+		
+		result.setData("result", receivedAltMailList);
+
+		return result.getResult();
+	}
+	
+	/** 
+	* 보낸 메시지 목록 조회
+	* 

+	*/
+	@RequestMapping(value="/cfs/trsmrcv/findSentAltMailList.do", method=RequestMethod.POST)
+	public @ResponseBody Map findSentAltMailList(
+			@RequestBody ParamBean> param
+		){
+		
+		String myId = HttpUtil.getUserId();
+		
+		Map searchMap = param.getParam();
+		
+		searchMap.put("sender", myId);
+		
+		Result result = new Result();
+		
+		List sentAltMailList = trsmrcvDao.findSentAltMailList(searchMap);
+		
+		result.setData("result", sentAltMailList);
+
+		return result.getResult();
+	}
+	
+	/** 
+	* 메시지 상세
+	* 

+	*/
+	@RequestMapping(value="/cfs/trsmrcv/findAltMail.do", method=RequestMethod.POST)
+	public @ResponseBody Map findAltMail(
+			@RequestBody ParamBean> param
+		){
+		String altMailSeq = param.getParam().get("altMailSeq").toString();
+		
+		String myId = HttpUtil.getUserId();
+		
+		Result result = new Result();
+		
+		AltMailVO altMailVO = trsmrcvDao.findAltMail(altMailSeq);
+		if(!altMailVO.getSender().equals(myId) && !altMailVO.getReceiver().equals(myId)){
+			altMailVO = new AltMailVO();
+		}
+		result.setData("result", altMailVO);
+
+		return result.getResult();
+	}
+	
+	/** 
+	* 메시지 첨부파일다운로드
+	* 

+	 * @throws Exception 
+	*/
+	@RequestMapping(value="/cfs/trsmrcv/downloadAltMailAttachFile.do", method=RequestMethod.GET)
+	public void downloadAltMailAttachFile(
+			@RequestParam String altMailSeq,
+			HttpServletResponse response
+		) throws Exception{
+		
+		String myId = HttpUtil.getUserId();
+		
+		AltMailVO altMailVO = trsmrcvDao.findAltMailAttachFile(altMailSeq);
+
+		if(!altMailVO.getSender().equals(myId) && !altMailVO.getReceiver().equals(myId)){
+			return ;
+		}
+		
+		String fileName = altMailVO.getAttachFileName();
+		if(fileName == null || fileName.equals("")){
+			return ;
+		}
+		
+		byte[] fileBlob = altMailVO.getAttachFileBlob();
+		int len = fileBlob.length;
+		// 응답 헤더 설정
+        response.setContentType("application/octet-stream");
+        response.setHeader("Content-Disposition", "attachment; filename=\"" 
+        + new String(fileName.getBytes("UTF-8"), "ISO-8859-1") + "\"");
+        response.setHeader("Content-Transfer-Encoding", "binary");
+        response.setHeader("Content-Length", String.valueOf(len));
+
+        
+        // 파일 내용 스트림으로 전송
+		OutputStream os = response.getOutputStream();
+		os.write(fileBlob, 0, len);
+		
+	}
+	
+	/** 
+	* 메시지 쓰기
+	* 

+	*/
+	@RequestMapping(value="/cfs/trsmrcv/insertAltMail.do", method=RequestMethod.POST)
+	public @ResponseBody Map insertAltMail(
+			MultipartHttpServletRequest mreq
+		){
+		Result result = new Result();
+		AltMailVO altMailVO = new AltMailVO();
+		
+		String myId = HttpUtil.getUserId();
+		
+		MultipartFile mfile = mreq.getFile("attachFile");
+		
+		try {
+			if(mfile != null){
+				altMailVO.setAttachFileName(mfile.getOriginalFilename());
+				altMailVO.setAttachFileBlob(mfile.getBytes());
+			}
+		} catch (IOException e) {
+			e.printStackTrace();
+			result.setData("result", "fail");
+			return result.getResult();
+		}
+		
+		altMailVO.setSender(myId);
+		altMailVO.setReceiver(mreq.getParameter("receiver"));
+		altMailVO.setTitle(mreq.getParameter("title"));
+		altMailVO.setText(mreq.getParameter("text"));
+		trsmrcvDao.insertAltMail(altMailVO);
+		
+		result.setData("result", "success");
+
+		return result.getResult();
+	}
+	
+}
diff --git a/src/main/java/cfs/trsmrcv/web/CommWebServer4Controller.java b/src/main/java/cfs/trsmrcv/web/CommWebServer4Controller.java
index 26bf02f..82fffc2 100644
--- a/src/main/java/cfs/trsmrcv/web/CommWebServer4Controller.java
+++ b/src/main/java/cfs/trsmrcv/web/CommWebServer4Controller.java
@@ -18,7 +18,7 @@ import cfs.common.service.CfsCommonService;
 import cfs.common.util.Result;
 import cfs.common.util.ResultSmartPlatform;
 import cfs.trsmrcv.dao.TrsmrcvDao;
-import cfs.trsmrcv.service.CommCollectServerService;
+import cfs.trsmrcv.service.CommWebServer4Service;
 
 @Controller
 public class CommWebServer4Controller {
@@ -31,8 +31,9 @@ public class CommWebServer4Controller {
 	@Resource(name = "cfsCommonService")
 	private CfsCommonService cfsCommonService;
 	
-	@Resource(name="commCollectServerService")
-	private CommCollectServerService commCollectServerService;
+	
+	@Resource(name="commWebServer4Service")
+	private CommWebServer4Service commWebServer4Service;
 	
 	/** 
 	* 교통카드 전처리 일마감 요청
@@ -40,13 +41,9 @@ public class CommWebServer4Controller {
 	*/
 	@RequestMapping(value="/cfs/trsmrcv/callTrafficCardDayCloseSummary.do", method=RequestMethod.POST)
 	public @ResponseBody Map callTrafficCardDayCloseSummary(
-			
 			  HttpServletRequest request) throws Exception {
-		// 로직은 ServiceImplement 로 이동
-		Map param = new HashMap();
-
-		logger.info("============== 11");
-		return commCollectServerService.callTrafficCardDayCloseSummary(param);
+		
+		return commWebServer4Service.callTrafficCardDayCloseSummary();
 	}
 	
 	/** 
@@ -54,9 +51,11 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/selectDayClosePrepayCard.do", method=RequestMethod.POST)
-	public @ResponseBody Map selectDayClosePrepayCard(@RequestBody Map param, HttpServletRequest request) throws Exception {
-		// 로직은 ServiceImplement 로 이동
-		return commCollectServerService.selectDayClosePrepayCard(param);
+	public @ResponseBody Map selectDayClosePrepayCard(
+			@RequestBody Map param, 
+			HttpServletRequest request) throws Exception {
+		
+		return commWebServer4Service.selectDayClosePrepayCard(param);
 	}
 	
 	/** 
@@ -64,10 +63,10 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/selectDayClosePrepayEBCard.do", method=RequestMethod.POST)
-	public @ResponseBody Map selectDayClosePrepayEBCard(@RequestBody Map param, HttpServletRequest request) throws Exception {
-		// 로직은 ServiceImplement 로 이동
-
-		return commCollectServerService.selectDayClosePrepayEBCard(param);
+	public @ResponseBody Map selectDayClosePrepayEBCard(
+			@RequestBody Map param, 
+			HttpServletRequest request) throws Exception {
+		return commWebServer4Service.selectDayClosePrepayEBCard(param);
 	}
 	// 
 	/** 
@@ -75,10 +74,10 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/selectDayClosePostpayCard.do", method=RequestMethod.POST)
-	public @ResponseBody Map selectDayClosePostpayCard(@RequestBody Map param, HttpServletRequest request) throws Exception {
-		// 로직은 ServiceImplement 로 이동
-
-		return commCollectServerService.selectDayClosePostpayCard(param);
+	public @ResponseBody Map selectDayClosePostpayCard(
+			@RequestBody Map param, 
+			HttpServletRequest request) throws Exception {
+		return commWebServer4Service.selectDayClosePostpayCard(param);
 	}
 
 	/** 
@@ -86,9 +85,11 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/insertDayCloseSendHistory.do", method=RequestMethod.POST)
-	public @ResponseBody Map insertDayCloseSendHistory(@RequestBody Map param, HttpServletRequest request) throws Exception {
+	public @ResponseBody Map insertDayCloseSendHistory(
+			@RequestBody Map param,
+			HttpServletRequest request) throws Exception {
 
-		return commCollectServerService.insertDayCloseSendHistory(param);
+		return commWebServer4Service.insertDayCloseSendHistory(param);
 	}
 
 	/** 
@@ -96,18 +97,17 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/updateTrafficCardDayClose.do", method=RequestMethod.POST)
-	public @ResponseBody Map updateTrafficCardDayClose(@RequestBody Map param, HttpServletRequest request) throws Exception {
+	public @ResponseBody Map updateTrafficCardDayClose(
+			@RequestBody Map param, 
+			HttpServletRequest request) throws Exception {
+		
 		ResultSmartPlatform result = new ResultSmartPlatform();
-
+		
+		logger.info("==== " + param);
+		
 		try {			
-			// 배열 처리...
-			if(commCollectServerService.insertDayCloseReturnPrepay(param) < 0) {
-				result.setErrorMsg(null, null);
-				logger.info(result.getResult().get("resultMessage").toString());
-				return result.getResult();
-			}	
 			
-			commCollectServerService.updateTrafficCardDayClose(param);
+			commWebServer4Service.updateTrafficCardDayClose(param);
 			
 			result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, "");
 			result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");			
@@ -127,17 +127,20 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/insertDayCloseReturnPrepay.do", method=RequestMethod.POST)
-	public @ResponseBody Map insertDayCloseReturnPrepay(@RequestBody Map param, HttpServletRequest request) throws Exception {
+	public @ResponseBody Map insertDayCloseReturnPrepay(
+			@RequestBody Map param, 
+			HttpServletRequest request) throws Exception {
+		
 		ResultSmartPlatform result = new ResultSmartPlatform();
 
 		try {
-			logger.info("==== insertDayCloseReturnPrepay.do");
+		
 			logger.info("==== " + param.size());
 			logger.info("==== " + param);
 			
 			// 배열 처리...
 			param.put("WORKER", "admin");
-			if(commCollectServerService.insertDayCloseReturnPrepay(param) < 0) {
+			if(commWebServer4Service.insertDayCloseReturnPrepay(param) < 0) {
 				result.setErrorMsg(null, null);
 				logger.info(result.getResult().get("resultMessage").toString());
 				return result.getResult();
@@ -160,14 +163,17 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/callDayCloseReturnPrepay.do", method=RequestMethod.POST)
-	public @ResponseBody Map callDayCloseReturnPrepay(@RequestBody Map param, HttpServletRequest request) throws Exception {
+	public @ResponseBody Map callDayCloseReturnPrepay(
+			@RequestBody Map param, 
+			HttpServletRequest request) throws Exception {
+		
 		ResultSmartPlatform result = new ResultSmartPlatform();
 
-		Map mapOrg = new HashMap();
+
 		try {			
 			logger.info("==== callDayCloseReturnPrepay.do : 1");	
 			
-			commCollectServerService.callSP_CARD_BANSONG_SUNBUL(mapOrg);
+			commWebServer4Service.callSP_CARD_BANSONG_SUNBUL();
 
 			logger.info("==== callDayCloseReturnPrepay.do : 2");	
 			result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, "");
@@ -187,17 +193,20 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/insertDayCloseReturnPrepayEB.do", method=RequestMethod.POST)
-	public @ResponseBody Map insertDayCloseReturnPrepayEB(@RequestBody Map param, HttpServletRequest request) throws Exception {
+	public @ResponseBody Map insertDayCloseReturnPrepayEB(
+			@RequestBody Map param, 
+			HttpServletRequest request) throws Exception {
+		
 		ResultSmartPlatform result = new ResultSmartPlatform();
 
 		try {			
-			logger.info("==== insertDayCloseReturnPrepay.do");
+			
 			logger.info("==== " + param.size());
 			logger.info("==== " + param);
 			
 			// 배열 처리...
 			param.put("WORKER", "admin");
-			if(commCollectServerService.insertDayCloseReturnPrepayEB(param) < 0) {
+			if(commWebServer4Service.insertDayCloseReturnPrepayEB(param) < 0) {
 				result.setErrorMsg(null, null);
 				logger.info(result.getResult().get("resultMessage").toString());
 				return result.getResult();
@@ -220,14 +229,16 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/callDayCloseReturnPrepayEB.do", method=RequestMethod.POST)
-	public @ResponseBody Map callDayCloseReturnPrepayEB(@RequestBody Map param, HttpServletRequest request) throws Exception {
+	public @ResponseBody Map callDayCloseReturnPrepayEB(
+			@RequestBody Map param, 
+			HttpServletRequest request) throws Exception {
+		
 		ResultSmartPlatform result = new ResultSmartPlatform();
 
-		Map mapOrg = new HashMap();
 		try {	
 			logger.info("==== callDayCloseReturnPrepayEB.do : 1");	
 			
-			commCollectServerService.callSP_CARD_BANSONG_SUNBUL_EB(mapOrg);
+			commWebServer4Service.callSP_CARD_BANSONG_SUNBUL_EB();
 
 			logger.info("==== callDayCloseReturnPrepayEB.do : 1");
 			result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, "");
@@ -247,17 +258,20 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/insertDayCloseReturnPostpay.do", method=RequestMethod.POST)
-	public @ResponseBody Map insertDayCloseReturnPostpay(@RequestBody Map param, HttpServletRequest request) throws Exception {
+	public @ResponseBody Map insertDayCloseReturnPostpay(
+			@RequestBody Map param, 
+			HttpServletRequest request) throws Exception {
+		
 		ResultSmartPlatform result = new ResultSmartPlatform();
 
 		try {		
-			logger.info("==== insertDayCloseReturnPrepay.do");
+			
 			logger.info("==== " + param.size());
 			logger.info("==== " + param);
 				
 			// 배열 처리...
 			param.put("WORKER", "admin");
-			if(commCollectServerService.insertDayCloseReturnPostpay(param) < 0) {
+			if(commWebServer4Service.insertDayCloseReturnPostpay(param) < 0) {
 				result.setErrorMsg(null, null);
 				logger.info(result.getResult().get("resultMessage").toString());
 				return result.getResult();
@@ -281,14 +295,17 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/callDayCloseReturnPostpay.do", method=RequestMethod.POST)
-	public @ResponseBody Map callDayCloseReturnPostpay(@RequestBody Map param, HttpServletRequest request) throws Exception {
+	public @ResponseBody Map callDayCloseReturnPostpay(
+			@RequestBody Map param, 
+			HttpServletRequest request) throws Exception {
+		
 		ResultSmartPlatform result = new ResultSmartPlatform();
 
-		Map mapOrg = new HashMap();
+		
 		try {			
 			logger.info("==== callDayCloseReturnPostpay.do : 1");	
 			// 배열 처리...
-			commCollectServerService.callSP_CARD_BANSONG_WHOBUL(mapOrg);
+			commWebServer4Service.callSP_CARD_BANSONG_WHOBUL();
 
 			logger.info("==== callDayCloseReturnPostpay.do : 2");	
 			result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, "");
@@ -308,8 +325,9 @@ public class CommWebServer4Controller {
 	* 

 	*/
 	@RequestMapping(value="/cfs/trsmrcv/insertFileRecvTM.do", method=RequestMethod.POST)
-	public @ResponseBody Map insertFileRecvTM(@RequestBody Map param, HttpServletRequest request) throws Exception {
-		
+	public @ResponseBody Map insertFileRecvTM(
+			@RequestBody Map param, 
+			HttpServletRequest request) throws Exception {
 		
 		ResultSmartPlatform result = new ResultSmartPlatform();
 
@@ -318,18 +336,15 @@ public class CommWebServer4Controller {
 			
 			if(param.get("fileType").toString().equals("WR") == true) { 
 				param.put("C_CARD_KBN", "1");
-			}
-			else if(param.get("fileType").toString().equals("WS") == true) { 
+			} else if(param.get("fileType").toString().equals("WS") == true) { 
 				param.put("C_CARD_KBN", "3");
-			}
-			else if(param.get("fileType").toString().equals("WT") == true) { 
+			} else if(param.get("fileType").toString().equals("WT") == true) { 
 				param.put("C_CARD_KBN", "7");
-			}
-			else {
+			} else {
 				param.put("C_CARD_KBN", "0");
 			}
 			
-			commCollectServerService.insertFileRecvTM(param);
+			commWebServer4Service.insertFileRecvTM(param);
 
 			logger.info("==== insertFileRecvTM.do : 2");	
 			result.setData(ResultSmartPlatform.RESULT_KEY_DEFAULT, "");
diff --git a/src/main/java/cfs/trsmrcv/web/JusoThread.java b/src/main/java/cfs/trsmrcv/web/JusoThread.java
new file mode 100644
index 0000000..a9113a7
--- /dev/null
+++ b/src/main/java/cfs/trsmrcv/web/JusoThread.java
@@ -0,0 +1,137 @@
+package cfs.trsmrcv.web;
+
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import cfs.trsmrcv.dao.TrsmrcvDao;
+import cfs.trsmrcv.vo.JusoUpdateResultVO;
+
+public class JusoThread implements Runnable {
+	protected Logger logger = LoggerFactory.getLogger(this.getClass());
+	
+	private TrsmrcvDao trsmrcvDao;
+	private String targetYmd;
+	private boolean isNew;
+	private String filePath;
+	
+	public JusoThread(TrsmrcvDao dao, String ymd, boolean isNewFlag, String path) {
+		this.trsmrcvDao = dao;
+		this.targetYmd = ymd;
+		this.isNew = isNewFlag;
+		this.filePath = path;
+	}
+	
+	public static final String[] JUSO_COLS = {
+	"LEGALDONG_CODE",
+	"CTPRVN_NM",
+	"SIGNGU_NM",
+	"LWCR_EMD_NM",
+	"LWCR_LI_NM",
+	"MNTN_AT",
+	"LNM_MNNM",
+	"LNM_SLNO",
+	"RN_CODE",
+	"RN",
+	"UNDGRND_AT",
+	"BULD_MNNM",
+	"BULD_SLNO",
+	"BILD_REGSTR_BULD_NM",
+	"DETAIL_BULD_NM",
+	"BULD_MANAGE_NO",
+	"EMD_SN",
+	"ADSTRD_CODE",
+	"ADSTRD_NM",
+	"ZIP",
+	"POST_SEQ_NO",
+	"MUCH_DLVROFFIC_NM",
+	"MVMN_RESN_CODE",
+	"BULD_INFO_NTFC_DE",
+	"CHANGE_BFE_RN_ADRES",
+	"SIGNGU_USE_BULD_NM",
+	"COPERTN_HOUSE_AT",
+	"BSIS_ZONE_NO",
+	"DETAIL_ADRES_AT",
+	"BULD_INFO_RM_ONE",
+	"BULD_INFO_RM_TWO"
+	};
+	
+	@Override
+	public void run() {
+		JusoUpdateResultVO vo = new JusoUpdateResultVO(); 
+		vo.setDataDate(targetYmd);
+		vo.setFailRow(0);
+		
+		try {
+			if(isNew){
+				trsmrcvDao.insertJusoHist(targetYmd);
+			} else {
+				trsmrcvDao.initJusoHist(targetYmd);
+			}
+		} catch (Exception e1) {
+			trsmrcvDao.updateJusoFailResult(vo);
+			return;
+		}
+		
+		int failRow = 0;
+		int curRow = 0;
+		boolean succ = true;
+		
+		BufferedReader reader = null;
+		try {
+			reader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath),"MS949"));
+		} catch (Exception e1) {
+			trsmrcvDao.updateJusoFailResult(vo);
+			return;
+		}
+		
+		try {
+			for(String line = reader.readLine(); line != null; line = reader.readLine()) {
+				
+				curRow++;
+				
+				if(!line.equals("")) {
+					String[] line_split = line.split(Pattern.quote("|"), -1);
+					
+					Map jusoTableMap = new HashMap();
+					
+					for(int i=0; i noting(@RequestBody Map reqMap) throws Exception {
+	@RequestMapping(value="/rest/test/nothing.do", method=RequestMethod.POST)
+	public @ResponseBody Map nothing(@RequestBody Map reqMap) throws Exception {
 		Map result = new HashMap();
 
 		String commandSeq = trsmrcvDao.getCommandSeq("");
@@ -177,7 +177,7 @@ public class TestController {
 	private Map touchAndWait(String touchSys, String commandSeq) throws Exception {
 		Map commandResult = new HashMap();
 		
-		this.shellCmd("/gpta/source-app/cfs/relay_jar/ssh_ssh_touch.sh " + touchSys);
+		this.shellCmd("/gpta/source-app/cfs/relay_jar/ssh_sh.sh " + touchSys);
 		
 		int FIRST_SLEEP = 2000;
 		Thread.sleep(FIRST_SLEEP);