사전등록결제 정보 테이블 현행화 스케쥴 배치 추가

main
이범준 7 months ago
parent 8688ac415c
commit bf5b123425

@ -0,0 +1,364 @@
package cfs.scheduler;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import cfs.WASInfo;
import cfs.common.service.CfsCommonService;
import cfs.common.util.CallWebService;
import cfs.common.util.CarNo2Code;
import cfs.common.util.ResultSmartPlatform;
import cfs.trsmrcv.dao.TrsmrcvDao;
import cfs.trsmrcv.service.CommCollectServerService;
import cfs.trsmrcv.web.TrsmrcvUtil;
@EnableScheduling
@Component
public class CheckCfsServerCron {
protected Logger logger = LoggerFactory.getLogger(this.getClass());
@Resource(name="commCollectServerService")
private CommCollectServerService commCollectServerService;
@Resource(name="cfsCommonService")
private CfsCommonService cfsCommonService;
@Resource(name="trsmrcvDao")
private TrsmrcvDao trsmrcvDao;
@Scheduled(cron = "12 */4 * * * *")
public void scheduleRun() {
if(!WASInfo.getWAS().equals("A")){
return;
}
Map<String, String> susinInfo = new HashMap<String, String>();
susinInfo.put("DATETIME", (new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())));
susinInfo.put("RUN_WAS", WASInfo.getWAS());
susinInfo.put("CALL_URI", "없음(schedule)");
susinInfo.put("REQ_IP", "");
trsmrcvDao.insertConnSusinLog(susinInfo);
scheduleRunExec2();
}
@Transactional
public void scheduleRunExec() {
try{
long start = System.currentTimeMillis(); // 작동 시간 측정용
SimpleDateFormat sdf14 = (new SimpleDateFormat("yyyyMMddHHmmss"));
Date now = new Date();
String reqDate = sdf14.format(now);
String endDt = sdf14.format(now);
logger.info("=== 현재시간 : " + endDt);
Calendar cal = Calendar.getInstance();
cal.setTime(now);
cal.add(Calendar.MINUTE, -6);
String startDt = sdf14.format(cal.getTime());
logger.info("=== 사전등록결제 변동분 startDt : " + startDt);
logger.info("=== 사전등록결제 변동분 endDt : " + endDt);
List<Map<String, Object>> obj = commCollectServerService.selectMstFlag(new HashMap<String, Object>());
if(obj == null || obj.size() == 0) {
return ;
}
logger.info("==== 사전등록결제정보 변동분 조회 신규 - 2");
logger.info("==== PRP_FLAG : " + obj.get(0).get("PRP_FLAG").toString());
logger.info("==== PRP_SENDTIME : " + obj.get(0).get("PRP_SENDTIME").toString());
logger.info("==== end_dt.substring(0, 8) : " + endDt.substring(0, 8));
if(!(
obj.get(0).get("PRP_FLAG").toString().equals("2") == true
&& obj.get(0).get("PRP_SENDTIME").toString().equals(endDt.substring(0, 8)) == true
)
) {
//마스터 작업중이므로 변동분 미처리
return;
}
//마스터 작업중아니므로 변동분 처리
Map<String,String> brsSearchMap = new HashMap<String,String>();
brsSearchMap.put("endDt", endDt);
if(Long.parseLong(obj.get(0).get("PRP_CHG_TIME").toString()) < Long.parseLong(startDt)) {
//startDt를 바꿈
brsSearchMap.put("startDt", obj.get(0).get("PRP_CHG_TIME").toString());
} else {
//startDt를 안바꿈
brsSearchMap.put("startDt", startDt);
}
List<Map<String, Object>> brsDataArray = commCollectServerService.selectPreRegistCarInfoChange(brsSearchMap);
if(brsDataArray == null || brsDataArray.size() == 0){
Map<String, Object> mapOrgTemp = new HashMap<String, Object>();
mapOrgTemp.put("PRP_UPDATE_YN", "Y");
commCollectServerService.updateMstFlag(mapOrgTemp);
return ;
}
String strExmptCode = "";
// 사전등록정보 갱신
for(int i=0; i< brsDataArray.size(); i++){
brsDataArray.get(i).put("CAR_NO", brsDataArray.get(i).get("VHCLE_NO").toString());
brsDataArray.get(i).put("CAR_OWNER_CI", brsDataArray.get(i).get("VHCLE_OWNER_CI").toString());
brsDataArray.get(i).put("REQ_DATE", reqDate);
brsDataArray.get(i).put("SECSN_YN", brsDataArray.get(i).get("SECSN_AT").toString());
if(brsDataArray.get(i).get("SECSN_YN").equals("Y")){
brsDataArray.get(i).put("OWNER_NM", "delete");
}else{
brsDataArray.get(i).put("OWNER_NM", brsDataArray.get(i).get("MBER_NM").toString());
}
// 01: 일반, 02: 경차, 03: 면제
// 면제차량 확인
strExmptCode = commCollectServerService.searchExmptCarNo(brsDataArray.get(i).get("CAR_NO").toString(), false);
// 감면차량 확인
if(strExmptCode.equals("") == true) {
strExmptCode = commCollectServerService.searchHalfExmptCarNo(brsDataArray.get(i).get("CAR_NO").toString());
}
brsDataArray.get(i).put("EXMP_CD", strExmptCode);
brsDataArray.get(i).put("CAR_NO_HEX", CarNo2Code.runCarNo2Code(brsDataArray.get(i).get("CAR_NO").toString()));
brsDataArray.get(i).put("WORKER", "admin");
brsDataArray.get(i).put("MODI_YN", "N");
logger.info("=== 1 : " + brsDataArray.get(i).get("CAR_NO").toString()); //전인종
boolean skip = false;
// 탈퇴이거나 차량을 삭제하면 삭제만 함.
if(brsDataArray.get(i).get("DEL_YN").toString().equals("삭제")) {
//마스터 데이터 삭제
brsDataArray.get(i).put("SECSN_YN", "Y");
brsDataArray.get(i).put("SECSN_DATE", "");
logger.info("=== 사전등록결제 회원 탈퇴 : " + brsDataArray.get(i).get("CAR_NO").toString());
Map<String,String> brsSearchMap2 = new HashMap<String,String>();
brsSearchMap2.put("carNo", brsDataArray.get(i).get("CAR_NO").toString());
List<Map<String,Object>> liveData = commCollectServerService.selectPreRegistCarInfoLive(brsSearchMap2);
if(liveData != null && !liveData.isEmpty()){
skip = true;
}
}
if(!skip){
commCollectServerService.insertPreRegistInfoModi(brsDataArray.get(i));
}
}
Map<String, Object> mapOrgTemp = new HashMap<String, Object>();
mapOrgTemp.put("PRP_UPDATE_YN", "Y");
commCollectServerService.updateMstFlag(mapOrgTemp);
long end = System.currentTimeMillis(); // 작동 시간 측정용
double d = end -start;
logger.info("==== 사전등록결제정보 변동분 스케쥴 소요시간 : " + d) ;
} catch(RuntimeException e) {
logger.error("scheduleRun RuntimeException : "+e.getClass().getName());
} catch(Exception e) {
logger.error("scheduleRun Exception : "+e.getClass().getName());
}
}
@Transactional
public void scheduleRunExec2() {
try {
long start = System.currentTimeMillis(); // 작동 시간 측정용
SimpleDateFormat sdf14 = (new SimpleDateFormat("yyyyMMddHHmmss"));
Date now = new Date();
String reqDate = sdf14.format(now);
String endDt = sdf14.format(now);
logger.info("=== 현재시간 : " + endDt);
Calendar cal = Calendar.getInstance();
cal.setTime(now);
cal.add(Calendar.MINUTE, -6);
String startDt = sdf14.format(cal.getTime());
logger.info("=== 사전등록결제 변동분 startDt : " + startDt);
logger.info("=== 사전등록결제 변동분 endDt : " + endDt);
//---------------
//---------------
Map<String, String> mapOrg = new HashMap<String, String>();
mapOrg.put("insttNo", "BRSMC0300001");
mapOrg.put("insttCntcJobSe", "016");
mapOrg.put("requstDt", startDt);
mapOrg.put("startDt", startDt);
mapOrg.put("endDt", endDt);
mapOrg.put("indexStart", "0");
mapOrg.put("indexEnd", "1000");
logger.info("=== 사전등록결제 변동분 mapOrg : " + mapOrg.toString());
List<Map<String, Object>> obj = commCollectServerService.selectMstFlag(new HashMap<String, Object>());
if(obj == null || obj.size() == 0) {
return ;
}
logger.info("==== 사전등록결제정보 변동분 조회 신규 - 2");
logger.info("==== PRP_FLAG : " + obj.get(0).get("PRP_FLAG").toString());
logger.info("==== PRP_SENDTIME : " + obj.get(0).get("PRP_SENDTIME").toString());
logger.info("==== end_dt.substring(0, 8) : " + endDt.substring(0, 8));
if(!(
obj.get(0).get("PRP_FLAG").toString().equals("2") == true
&& obj.get(0).get("PRP_SENDTIME").toString().equals(endDt.substring(0, 8)) == true
)
) {
//마스터 작업중이므로 변동분 미처리
return ;
}
//마스터 작업중아니므로 변동분 처리
if(Long.parseLong(obj.get(0).get("PRP_CHG_TIME").toString()) < Long.parseLong(startDt)) {
//startDt를 바꿈
mapOrg.put("startDt", obj.get(0).get("PRP_CHG_TIME").toString());
} else {
//startDt를 안바꿈
}
// 사전등록결제 웹서비스 호출
String url = cfsCommonService.findCommonSecureGet("ITF_CFS_O_037");
CallWebService callWebService = new CallWebService(url);
Map<String, String> apiResultMap = callWebService.callWebServicePost(mapOrg);
if(apiResultMap == null || apiResultMap.get("result").toString().equals("FAIL") == true) {
return ;
}
JSONParser parser = new JSONParser();
JSONObject jsonParam = (JSONObject)parser.parse(apiResultMap.get("data").toString());
System.out.println("=== " + jsonParam.toJSONString());
List<Map<String, Object>> brsDataArray = (List<Map<String, Object>>)jsonParam.get("dataArray");
if(brsDataArray == null || brsDataArray.size() == 0){
Map<String, Object> mapOrgTemp = new HashMap<String, Object>();
mapOrgTemp.put("PRP_UPDATE_YN", "Y");
commCollectServerService.updateMstFlag(mapOrgTemp);
return ;
}
String strExmptCode = "";
// 사전등록정보 갱신
for(int i=0; i< brsDataArray.size(); i++){
brsDataArray.get(i).put("CAR_NO", brsDataArray.get(i).get("vhcleNo").toString());
brsDataArray.get(i).put("CAR_OWNER_CI", brsDataArray.get(i).get("vhcleOwnerCi").toString());
brsDataArray.get(i).put("REQ_DATE", reqDate);
brsDataArray.get(i).put("VHCLE_STTUS_TY", brsDataArray.get(i).get("vhcleSttusTy").toString());
brsDataArray.get(i).put("NAMSAN_PASMNY", brsDataArray.get(i).get("namsanPasmny").toString());
brsDataArray.get(i).put("SECSN_YN", brsDataArray.get(i).get("secsnAt").toString());
if(brsDataArray.get(i).get("SECSN_YN").equals("Y")){
brsDataArray.get(i).put("SECSN_DATE", brsDataArray.get(i).get("secsnDt").toString());
brsDataArray.get(i).put("OWNER_NM", "delete");
}else{
brsDataArray.get(i).put("OWNER_NM", brsDataArray.get(i).get("mberNm").toString());
}
// 01: 일반, 02: 경차, 03: 면제
// 면제차량 확인
strExmptCode = commCollectServerService.searchExmptCarNo(brsDataArray.get(i).get("CAR_NO").toString(), false);
// 감면차량 확인
if(strExmptCode.equals("") == true) {
strExmptCode = commCollectServerService.searchHalfExmptCarNo(brsDataArray.get(i).get("CAR_NO").toString());
}
brsDataArray.get(i).put("EXMP_CD", strExmptCode);
brsDataArray.get(i).put("CAR_NO_HEX", CarNo2Code.runCarNo2Code(brsDataArray.get(i).get("CAR_NO").toString()));
brsDataArray.get(i).put("WORKER", "admin");
brsDataArray.get(i).put("MODI_YN", "N");
logger.info("=== 1 : " + brsDataArray.get(i).get("CAR_NO").toString()); //전인종
// 탈퇴이거나 차량을 삭제하면 삭제만 함.
if(brsDataArray.get(i).get("SECSN_YN").toString().equals("Y") == true
|| brsDataArray.get(i).get("VHCLE_STTUS_TY").toString().equals("02") == true
|| brsDataArray.get(i).get("VHCLE_STTUS_TY").toString().equals("03") == true
|| brsDataArray.get(i).get("NAMSAN_PASMNY").toString().equals("N") == true
) {
//마스터 데이터 삭제
brsDataArray.get(i).put("SECSN_YN", "Y");
brsDataArray.get(i).put("SECSN_DATE", "");
logger.info("=== 사전등록결제 회원 탈퇴 : " + brsDataArray.get(i).get("CAR_NO").toString());
}
commCollectServerService.insertPreRegistInfoModi(brsDataArray.get(i));
}
Map<String, Object> mapOrgTemp = new HashMap<String, Object>();
mapOrgTemp.put("PRP_UPDATE_YN", "Y");
commCollectServerService.updateMstFlag(mapOrgTemp);
long end = System.currentTimeMillis(); // 작동 시간 측정용
double d = end -start;
logger.info("==== 사전등록결제정보 변동분 스케쥴 소요시간 : " + d) ;
} catch(RuntimeException e) {
logger.error("scheduleRun RuntimeException : "+e.getClass().getName());
} catch(Exception e) {
logger.error("scheduleRun Exception : "+e.getClass().getName());
}
}
}

@ -8,55 +8,34 @@ import org.springframework.stereotype.Repository;
@Repository("commCollectServerDao")
public interface CommCollectServerDao {
public int insertServerStauts(Map<String, String> param);
public List<Map<String, Object>> selectPreRegistCarInfoMstCount(Map<String, Object> param);
public int updatePreRegistInfoFlag(Map<String, String> param);
public List<Map<String, Object>> selectPreRegistCarInfoChange(Map<String, String> param);
public List<Map<String, Object>> selectPreRegistCarInfoMstCount(Map<String, Object> param);
public List<Map<String, Object>> selectPreRegistCarInfoChange(Map<String, String> param);
public List<Map<String, Object>> selectPreRegistCarInfoLive(Map<String, String> param);
public int insertPreRegistInfoModi(Map<String, Object> param);
public int updatePreRegistInfo(Map<String, Object> param);
public List<Map<String, Object>> selectSendPreRegistCarInfo(Map<String, String> param);
public int updatePreRegistInfoSend(Map<String, Object> param);
public List<Map<String, Object>> selectMobileNotification(Map<String, String> param);
public List<Map<String, Object>> selectMobileNotification(Map<String, String> param);
public int updateMobileNotification(Map<String, Object> param);
public int insertMobileNotificationLog(Map<String, Object> param);
public List<Map<String, Object>> selectNoMobileNotification(Map<String, Object> param);
public List<Map<String, Object>> selectSmallCarMstCount(Map<String, String> param);
public List<Map<String, Object>> selectSmallCarMst(Map<String, String> param);
public List<Map<String, Object>> selectSmallCarChange(Map<String, String> param);
public int updateSmallCarSend(Map<String, Object> param);
public List<Map<String, Object>> selectSmallCarInfo(Map<String, String> param);
public List<Map<String, Object>> selectFisReduCarChange(Map<String, String> param);
public int insertFisReduModi(Map<String, Object> param);
public List<Map<String, Object>> selectExemptCarMstCount(Map<String, Object> param);
public List<Map<String, Object>> selectExemptCarMst(Map<String, String> param);
public List<Map<String, Object>> selectExemptCarChange(Map<String, String> param);
public int updateExemptCarSend(Map<String, Object> param);
public List<Map<String, Object>> selectSmallCarInfo(Map<String, String> param);
public List<Map<String, Object>> selectReduCarList(Map<String, String> param);
public List<Map<String, Object>> selectExemptCarInfo(Map<String, String> param);
public List<Map<String, Object>> selectExemptCarInfoAuto(Map<String, String> param);
public List<Map<String, Object>> selectFisExemptCarChange(Map<String, String> param);
public int insertFisExampModi(Map<String, Object> param);
public List<Map<String, Object>> selectRfidMstCount(Map<String, String> param);
public List<Map<String, Object>> selectRfidMst(Map<String, String> param);
public List<Map<String, Object>> selectRfidChange(Map<String, String> param);
public int updateRfidSend(Map<String, Object> param);
public List<Map<String, Object>> selectRfidInfo(Map<String, String> param);
public List<Map<String, Object>> selectReduCarList(Map<String, String> param);
}

@ -34,211 +34,171 @@
FROM TB_CFS_PRP_INFO_MST
)
</select>
<update id="updatePreRegistInfoFlag" parameterType="hashmap">
/* 사전등록결제정보 마스터 플래그 수정 */
update TB_CFS_MST_FLAG
<set>
PRP_FLAG = #{PRP_FLAG}
</set>
</update>
<select id="selectPreRegistCarInfoChange" parameterType="hashmap" resultType="hashmap">
/* 사전등록결제 변동분 조회 */
select * from (
SELECT TO_CHAR(ROWNUM) AS INDEX_NO, x.*
FROM (
SELECT TRIM(A.VHCLE_MANAGE_NO) AS VHCLE_MANAGE_NO
, (CASE WHEN A.CHANGE_DT BETWEEN TO_DATE(#{start_dt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{end_dt}, 'YYYYMMDDHH24MISS') THEN TRIM(TO_CHAR(A.CHANGE_DT,'YYYYMMDDHH24MISS'))
WHEN B.UPDT_DT BETWEEN TO_DATE(#{start_dt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{end_dt}, 'YYYYMMDDHH24MISS') THEN TRIM(TO_CHAR(B.UPDT_DT,'YYYYMMDDHH24MISS'))
WHEN C.UPDT_DT BETWEEN TO_DATE(#{start_dt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{end_dt}, 'YYYYMMDDHH24MISS') THEN TRIM(TO_CHAR(C.UPDT_DT,'YYYYMMDDHH24MISS'))
ELSE TRIM(TO_CHAR(A.CHANGE_DT,'YYYYMMDDHH24MISS')) END) AS CHANGE_DT
, (CASE WHEN NVL(CMPNY_VHCLE_RCIV_ENDDE,'99991231') <![CDATA[<]]> SYSDATE THEN '02' ELSE (CASE WHEN A.UPDT_DT IS NULL AND B.UPDT_DT IS NULL THEN '01' ELSE '02' END) END) AS UPDT_SE
, TRIM(A.VHCLE_POSESN_TY) AS VHCLE_POSESN_TY
, TRIM(A.VHCLE_NO) AS CAR_NO /* 수정시 컬럼명 변경항목 */
, REPLACE(TRIM(A.VHCLE_OWNER_CI),' ','+') AS CAR_OWNER_CI /* 수정시 컬럼명 변경항목 */
, TRIM(TO_CHAR(A.USE_BEGIN_DT,'YYYYMMDDHH24MISS')) AS USE_BEGIN_DT
, TRIM(TO_CHAR(A.USE_END_DT,'YYYYMMDDHH24MISS')) AS USE_END_DT
, (CASE WHEN NVL(CMPNY_VHCLE_RCIV_ENDDE,'99991231') <![CDATA[<]]> SYSDATE THEN '03' ELSE TRIM(A.VHCLE_STTUS_TY) END) AS VHCLE_STTUS_TY
, TRIM(NVL(A.USFEE_SETLE_AGRE_AT,'N')) AS USFEE_SETLE_AGRE_AT
, TRIM(NVL(A.FFNLG_SETLE_AGRE_AT,'N')) AS FFNLG_SETLE_AGRE_AT
, TRIM(A.MBER_NO) AS MBER_NO
, TRIM(TO_CHAR(A.REGIST_DT,'YYYYMMDDHH24MISS')) AS REQ_DATE
, TRIM(TO_CHAR(A.UPDT_DT,'YYYYMMDDHH24MISS')) AS UPDT_DT
, TRIM(A.LEGALDONG_CODE) AS LEGALDONG_CODE
, TRIM(A.ADSTRD_CODE) AS ADSTRD_CODE
, TRIM(A.RN_CODE) AS RN_CODE
, TRIM(B.MBER_ID) AS MBER_ID
, TRIM(B.MBER_TY) AS MBER_TY
, TRIM(B.MBER_NM) AS OWNER_NM /* 수정시 컬럼명 변경항목 */
, TRIM(B.ENTRPRS_NM) AS ENTRPRS_NM
, TRIM(B.MBER_CI) AS MBER_CI
, TRIM(B.BSNM_REGIST_NO) AS BSNM_REGIST_NO
, TRIM(B.CPR_REGIST_NO) AS CPR_REGIST_NO
, TRIM(B.CHARGER_NM) AS CHARGER_NM
, TRIM(B.CHARGER_CI) AS CHARGER_CI
, TRIM(NVL(B.INFO_PROVD_AGRE_AT,'N')) AS INFO_PROVD_AGRE_AT
, (CASE WHEN NVL(CMPNY_VHCLE_RCIV_ENDDE,'99991231') <![CDATA[<]]> SYSDATE THEN 'Y' ELSE TRIM(B.SECSN_AT) END) AS SECSN_YN
, TRIM(TO_CHAR(B.SECSN_DT,'YYYYMMDDHH24MISS')) AS SECSN_DATE
, TRIM(TO_CHAR(B.SBSCRB_DT,'YYYYMMDDHH24MISS')) AS SBSCRB_DT
, TRIM(TO_CHAR(B.UPDT_DT,'YYYYMMDDHH24MISS')) AS MBER_UPDT_DT
, TRIM(NVL(B.ATHZER_AT,'N')) AS ATHZER_AT
, TRIM(NVL(B.MNYCH_RDCXPT_AT,'N')) AS MNYCH_RDCXPT_AT
, TRIM(NVL(B.TRNSIT_DSCNT_AT,'N')) AS TRNSIT_DSCNT_AT
, TRIM(NVL(C.SU_PBLMNG_PRKPLCE,'Y')) AS SU_PBLMNG_PRKPLCE
, TRIM(NVL(C.NAMSAN_PASMNY,'Y')) AS NAMSAN_PASMNY
, TRIM(NVL(C.NAMSAN_FFNLG,'Y')) AS NAMSAN_FFNLG
, TRIM(NVL(C.GREEN_TRNSPORT_FFNLG,'Y')) AS GREEN_TRNSPORT_FFNLG
, TRIM(D.CCMP_CODE) AS CCMP_CODE1
, TRIM(E.CCMP_CODE) AS CCMP_CODE2
FROM DBUSER_BRSPW.TB_BRS_VHCLE_REGIST_INFO_HIST A
LEFT OUTER JOIN DBUSER_BRSPW.TB_BRS_MBER_INFO B ON (A.MBER_NO = B.MBER_NO)
LEFT OUTER JOIN DBUSER_BRSPW.TB_BRS_SETLE_AGRE_AT C ON (A.MBER_NO = C.MBER_NO)
LEFT OUTER JOIN (SELECT MBER_NO, CCMP_CODE, ROW_NUMBER() OVER (PARTITION BY MBER_NO, PRIOR_ORDR ORDER BY REGIST_DT DESC) RNK, REGIST_DT
FROM DBUSER_BRSMM.TB_BRS_VKEY_INFO
WHERE VKEY_INFO_STTUS = '00'
AND PRIOR_ORDR = 1) D ON (A.MBER_NO = D.MBER_NO AND D.RNK = 1)
LEFT OUTER JOIN (SELECT MBER_NO, CCMP_CODE, ROW_NUMBER() OVER (PARTITION BY MBER_NO, PRIOR_ORDR ORDER BY REGIST_DT DESC) RNK, REGIST_DT
FROM DBUSER_BRSMM.TB_BRS_VKEY_INFO
WHERE VKEY_INFO_STTUS = '00'
AND PRIOR_ORDR = 2) E ON (A.MBER_NO = E.MBER_NO AND E.RNK = 1)
LEFT OUTER JOIN (SELECT MBER_NO, BANK_CODE, ROW_NUMBER() OVER (PARTITION BY MBER_NO ORDER BY REGIST_DT DESC) RNK
FROM DBUSER_BRSMM.TB_BRS_ACNUT_PBL_INFO
WHERE ACNUT_INFO_STTUS = '00' ) F ON (A.MBER_NO = F.MBER_NO AND F.RNK = 1)
WHERE 1=1
AND ( NVL(A.CHANGE_DT,ADD_MONTHS(SYSDATE, -120)) BETWEEN TO_DATE(#{start_dt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{end_dt}, 'YYYYMMDDHH24MISS')
OR NVL(B.UPDT_DT,ADD_MONTHS(SYSDATE, -120)) BETWEEN TO_DATE(#{start_dt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{end_dt}, 'YYYYMMDDHH24MISS')
OR NVL(C.UPDT_DT,ADD_MONTHS(SYSDATE, -120)) BETWEEN TO_DATE(#{start_dt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{end_dt}, 'YYYYMMDDHH24MISS')
OR NVL(D.REGIST_DT,ADD_MONTHS(SYSDATE, -120)) BETWEEN TO_DATE(#{start_dt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{end_dt}, 'YYYYMMDDHH24MISS')
OR NVL(E.REGIST_DT,ADD_MONTHS(SYSDATE, -120)) BETWEEN TO_DATE(#{start_dt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{end_dt}, 'YYYYMMDDHH24MISS')
)
AND F.BANK_CODE IS NULL <!-- 계좌 등록회원 제외 -->
ORDER BY CHANGE_DT, MBER_NO, VHCLE_MANAGE_NO ) x
)
WHERE INDEX_NO BETWEEN TO_NUMBER(#{index_start}) AND TO_NUMBER(#{index_end})
<select id="selectPreRegistCarInfoChange" parameterType="hashmap" resultType="hashmap">
/* 사전등록결제 변동분 조회 */
SELECT CHANGED_DATA.*
FROM (
SELECT TRIM(A.VHCLE_MANAGE_NO) AS VHCLE_MANAGE_NO
, TRIM(A.VHCLE_NO) AS VHCLE_NO
, TRIM(A.VHCLE_OWNER_CI) AS VHCLE_OWNER_CI
, TRIM(A.VHCLE_STTUS_TY) AS VHCLE_STTUS_TY
, TRIM(A.CMPNY_VHCLE_RCIV_ENDDE) AS CMPNY_VHCLE_RCIV_ENDDE
, TRIM(TO_CHAR(A.REGIST_DT,'YYYYMMDDHH24MISS')) AS VHCLE_REGIST_DT
, TRIM(TO_CHAR(A.UPDT_DT,'YYYYMMDDHH24MISS')) AS VHCLE_UPDT_DT
, TRIM(A.MBER_NO) AS MBER_NO
, TRIM(B.MBER_ID) AS MBER_ID
, TRIM(B.MBER_TY) AS MBER_TY
, TRIM(B.MBER_NM) AS MBER_NM
, TRIM(B.MBER_CI) AS MBER_CI
, TRIM(TO_CHAR(B.SBSCRB_DT,'YYYYMMDDHH24MISS')) AS SBSCRB_DT
, TRIM(TO_CHAR(B.UPDT_DT,'YYYYMMDDHH24MISS')) AS MBER_UPDT_DT
, TRIM(B.SECSN_AT) AS SECSN_AT
, TRIM(TO_CHAR(B.SECSN_DT,'YYYYMMDDHH24MISS')) AS SECSN_DT
, TRIM(NVL(C.NAMSAN_PASMNY,'N')) AS NAMSAN_PASMNY
, TRIM(NVL(C.NAMSAN_FFNLG,'N')) AS NAMSAN_FFNLG
, TRIM(TO_CHAR(C.UPDT_DT,'YYYYMMDDHH24MISS')) AS AGRE_UPDT_DT
, (CASE
WHEN C.UPDT_DT BETWEEN TO_DATE(#{startDt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{endDt}, 'YYYYMMDDHH24MISS') AND C.NAMSAN_PASMNY='Y' AND B.SECSN_AT ='N'
THEN CASE
WHEN A.VHCLE_STTUS_TY = '01' AND (A.CMPNY_VHCLE_RCIV_ENDDE IS NULL OR A.CMPNY_VHCLE_RCIV_ENDDE <![CDATA[ >= ]]> TO_CHAR(SYSDATE, 'YYYYMMDD'))
THEN '추가'
ELSE '비대상'
END
WHEN C.UPDT_DT BETWEEN TO_DATE(#{startDt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{endDt}, 'YYYYMMDDHH24MISS')
THEN '삭제'
WHEN C.NAMSAN_PASMNY='N'
THEN '비대상'
WHEN B.UPDT_DT BETWEEN TO_DATE(#{startDt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{endDt}, 'YYYYMMDDHH24MISS') AND SECSN_AT ='N'
THEN CASE
WHEN A.VHCLE_STTUS_TY = '01' AND (A.CMPNY_VHCLE_RCIV_ENDDE IS NULL OR A.CMPNY_VHCLE_RCIV_ENDDE <![CDATA[ >= ]]> TO_CHAR(SYSDATE, 'YYYYMMDD'))
THEN '추가'
ELSE '비대상'
END
WHEN B.UPDT_DT BETWEEN TO_DATE(#{startDt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{endDt}, 'YYYYMMDDHH24MISS')
THEN '삭제'
WHEN B.SECSN_AT='Y'
THEN '비대상'
ELSE CASE
WHEN A.VHCLE_STTUS_TY = '01' AND (A.CMPNY_VHCLE_RCIV_ENDDE IS NULL OR A.CMPNY_VHCLE_RCIV_ENDDE <![CDATA[ >= ]]> TO_CHAR(SYSDATE, 'YYYYMMDD'))
THEN '추가'
ELSE '삭제'
END
END) AS DEL_YN
, (CASE
WHEN C.UPDT_DT BETWEEN TO_DATE(#{startDt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{endDt}, 'YYYYMMDDHH24MISS')
THEN C.UPDT_DT
WHEN B.UPDT_DT BETWEEN TO_DATE(#{startDt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{endDt}, 'YYYYMMDDHH24MISS')
THEN B.UPDT_DT
WHEN (A.CMPNY_VHCLE_RCIV_ENDDE IS NOT NULL AND (A.CMPNY_VHCLE_RCIV_ENDDE || '235959') BETWEEN #{startDt} AND #{endDt})
THEN TO_DATE(A.CMPNY_VHCLE_RCIV_ENDDE||'235959', 'YYYYMMDDHH24MISS')
WHEN A.UPDT_DT BETWEEN TO_DATE(#{startDt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{endDt}, 'YYYYMMDDHH24MISS')
THEN A.UPDT_DT
ELSE A.REGIST_DT
END) AS CHANGED_DT
FROM DBUSER_BRSPW.TB_BRS_VHCLE_REGIST_INFO A
LEFT OUTER JOIN DBUSER_BRSPW.TB_BRS_MBER_INFO B ON (A.MBER_NO = B.MBER_NO)
LEFT OUTER JOIN DBUSER_BRSPW.TB_BRS_SETLE_AGRE_AT C ON (A.MBER_NO = C.MBER_NO)
WHERE C.UPDT_DT BETWEEN TO_DATE(#{startDt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{endDt}, 'YYYYMMDDHH24MISS')
OR B.UPDT_DT BETWEEN TO_DATE(#{startDt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{endDt}, 'YYYYMMDDHH24MISS')
OR (
A.REGIST_DT BETWEEN TO_DATE(#{startDt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{endDt}, 'YYYYMMDDHH24MISS')
OR A.UPDT_DT BETWEEN TO_DATE(#{startDt}, 'YYYYMMDDHH24MISS') AND TO_DATE(#{endDt}, 'YYYYMMDDHH24MISS')
OR (A.CMPNY_VHCLE_RCIV_ENDDE IS NOT NULL AND (A.CMPNY_VHCLE_RCIV_ENDDE || '235959') BETWEEN #{startDt} AND #{endDt})
)
) CHANGED_DATA
WHERE CHANGED_DATA.DEL_YN != '비대상'
ORDER BY CHANGED_DATA.CHANGED_DT
, CHANGED_DATA.MBER_NO
, CHANGED_DATA.VHCLE_MANAGE_NO
</select>
<select id="selectPreRegistCarInfoLive" parameterType="hashmap" resultType="hashmap">
/* 사전등록결제 가능 차량 조회 */
SELECT A.VHCLE_NO
, A.VHCLE_MANAGE_NO
, A.VHCLE_OWNER_CI
, B.MBER_NO
, B.MBER_NM
, B.MBER_CI
FROM DBUSER_BRSPW.TB_BRS_VHCLE_REGIST_INFO A
LEFT OUTER JOIN DBUSER_BRSPW.TB_BRS_MBER_INFO B ON (A.MBER_NO = B.MBER_NO)
LEFT OUTER JOIN DBUSER_BRSPW.TB_BRS_SETLE_AGRE_AT C ON (A.MBER_NO = C.MBER_NO)
WHERE A.VHCLE_NO = #{carNo}
AND B.SECSN_AT = 'N'
AND C.NAMSAN_PASMNY = 'Y'
AND A.VHCLE_STTUS_TY = '01'
AND (
A.CMPNY_VHCLE_RCIV_ENDDE IS NULL
OR
A.CMPNY_VHCLE_RCIV_ENDDE <![CDATA[ >= ]]> TO_CHAR(SYSDATE, 'YYYYMMDD')
)
</select>
<insert id="insertPreRegistInfoModi" parameterType="hashmap">
/* 사전등록결제정보변경분 추가 */
insert into TB_CFS_PRP_INFO_CHG (
PRP_INFO_SEQ,
CAR_NO,
CAR_OWNER_CI,
OWNER_NM,
<if test="EXMP_CD != null and EXMP_CD != ''">
EXMP_CD,
</if>
REQ_DATE,
CAR_NO_HEX,
MODI_YN,
<choose>
<when test="SECSN_YN != null and SECSN_YN == Y">
SECSN_DATE,
</when>
</choose>
SECSN_YN,
CREATER,
CREATE_DATE,
UPDATER,
UPDATE_DATE
/* 사전등록결제정보변경분 추가 */
insert
into TB_CFS_PRP_INFO_CHG (
PRP_INFO_SEQ
, CAR_NO
, CAR_OWNER_CI
, OWNER_NM
<if test="EXMP_CD != null and EXMP_CD != ''">
, EXMP_CD
</if>
, REQ_DATE
, CAR_NO_HEX
, MODI_YN
, SECSN_YN
<if test="SECSN_YN != null and SECSN_YN == Y">
, SECSN_DATE
</if>
, CREATER, CREATE_DATE, UPDATER, UPDATE_DATE
)
values(
SEQ_PRP_INFO.NEXTVAL,
#{CAR_NO},
REPLACE(#{CAR_OWNER_CI},' ','+'),
#{OWNER_NM},
<if test="EXMP_CD != null and EXMP_CD != ''">
#{EXMP_CD},
</if>
TO_DATE(#{REQ_DATE}, 'YYYYMMDDHH24MISS'),
#{CAR_NO_HEX},
#{MODI_YN, jdbcType=CHAR},
<choose>
<when test="SECSN_YN != null and SECSN_YN == Y">
to_date(NVL(#{SECSN_DATE},TO_CHAR(SYSDATE,'YYYYMMDD')), 'YYYYMMDDHH24MISS'),
</when>
</choose>
#{SECSN_YN, jdbcType=CHAR},
#{WORKER},
SYSDATE,
'ADMIN',
SYSDATE
SEQ_PRP_INFO.NEXTVAL
, #{CAR_NO}
, REPLACE(#{CAR_OWNER_CI},' ','+')
, #{OWNER_NM}
<if test="EXMP_CD != null and EXMP_CD != ''">
, #{EXMP_CD}
</if>
, TO_DATE(#{REQ_DATE}, 'YYYYMMDDHH24MISS')
, #{CAR_NO_HEX}
, #{MODI_YN, jdbcType=CHAR}
, #{SECSN_YN, jdbcType=CHAR}
<if test="SECSN_YN != null and SECSN_YN == Y">
, to_date(NVL(#{SECSN_DATE},TO_CHAR(SYSDATE,'YYYYMMDD')), 'YYYYMMDDHH24MISS')
</if>
, #{WORKER}, SYSDATE, 'ADMIN', SYSDATE
)
</insert>
<update id="updatePreRegistInfo" parameterType="hashmap">
/* 사전등록결제정보 수정 (미사용) */
update TB_CFS_PRP_INFO
<set>
OWNER_NM = #{OWNER_NM},
<if test="EXMP_CD != null and EXMP_CD != ''">
EXMP_CD = #{EXMP_CD, jdbcType=CHAR},
</if>
SEND_YN = 'N',
UPDATER = #{WORKER},
UPDATE_DATE = SYSDATE
</set>
where CAR_NO = #{CAR_NO}
and CAR_OWNER_CI = REPLACE(#{CAR_OWNER_CI},' ','+')
</update>
<select id="selectSendPreRegistCarInfo" parameterType="hashmap" resultType="hashmap">
select
PRP_INFO_SEQ,
decode(SECSN_YN, 'Y', '01', 'N', '00') AS REGIST_DIV,
'01' AS CHG_DATA_KIND,
CAR_NO_HEX,
REPLACE(CAR_OWNER_CI,' ','+') AS CAR_OWNER_CI,
SECSN_YN
/* selectSendPreRegistCarInfo */
select PRP_INFO_SEQ
, decode(SECSN_YN, 'Y', '01', 'N', '00') AS REGIST_DIV
, '01' AS CHG_DATA_KIND
, CAR_NO_HEX
from TB_CFS_PRP_INFO_CHG
where PRP_INFO_SEQ <![CDATA[>=]]> #{req_seq}
where PRP_INFO_SEQ <![CDATA[ >= ]]> #{req_seq}
and SEND_YN = 'N'
order by PRP_INFO_SEQ
</select>
<update id="updatePreRegistInfoSend" parameterType="hashmap">
/* 사전등록결제정보 전송여부 수정 */
update TB_CFS_PRP_INFO_CHG
<set>
SEND_YN = 'Y',
UPDATER = 'admin',
UPDATE_DATE = SYSDATE
SEND_YN = 'Y'
, UPDATER = 'admin'
, UPDATE_DATE = SYSDATE
</set>
where PRP_INFO_SEQ in
<foreach collection="staffList" item="item" index="index" open="(" close=")" separator=",">
#{item.PRP_INFO_SEQ}
</foreach>
where PRP_INFO_SEQ = #{PRP_INFO_SEQ}
</update>
@ -430,66 +390,22 @@
</select>
<select id="selectSmallCarMstCount" parameterType="hashmap" resultType="hashmap">
/* 경차PL 마스터 Total Count 조회 */
SELECT count(*) as CNT
from TB_CFS_SCAR_PL_MST
</select>
<select id="selectSmallCarMst" parameterType="hashmap" resultType="hashmap">
/* 경차PL 마스터 마스터 조회 */
SELECT *
FROM (
SELECT /*+ INDEX_ASC(TB_CFS_SCAR_PL_MST PK_TB_CFS_SCAR_PL_MST) */
ROWNUM AS INDEX_NO,
SCAR_SEQ,
CAR_NO_HEX,
decode(MODI_YN, 'Y', '01', 'N', '00') as MODI_YN,
decode(REDU_CD, '00', '01', '01', '02') as REDU_CD
FROM TB_CFS_SCAR_PL_MST
)
WHERE INDEX_NO <![CDATA[>=]]> TO_NUMBER(#{index_start}) AND INDEX_NO <![CDATA[<=]]> TO_NUMBER(#{index_end})
</select>
<select id="selectSmallCarChange" parameterType="hashmap" resultType="hashmap">
/* 경차PL 마스터 변동분 조회 */
select
SCAR_SEQ,
CAR_NO,
REDU_CD,
CAR_NO_HEX,
decode(MODI_YN, 'Y', '01', 'N', '00') as MODI_YN
from TB_CFS_SCAR_PL_CHG
where SCAR_SEQ <![CDATA[>=]]> to_number(#{req_seq})
and SEND_YN = 'N'
order by to_number(SCAR_SEQ)
</select>
<update id="updateSmallCarSend" parameterType="hashmap">
/* 경차PL 변동분 전송여부 수정 */
update TB_CFS_SCAR_PL_CHG
<set>
SEND_YN = 'Y',
UPDATER = #{WORKER},
UPDATE_DATE = SYSDATE
</set>
where SCAR_SEQ = #{SCAR_SEQ}
</update>
<select id="selectSmallCarInfo" parameterType="hashmap" resultType="hashmap">
/* 감면 대상 조회 */
select count(*) as CNT
from VIEW_REDI
where CAR_NO = #{carNo}
where CAR_NO = #{carNo}
</select>
<select id="selectReduCarList" parameterType="hashmap" resultType="hashmap">
@ -502,116 +418,13 @@
</select>
<select id="selectFisReduCarChange" parameterType="hashmap" resultType="hashmap">
/* FIS 감면(저공해 3종) 변경분 조회 */
select distinct
VHCLE_NO as CAR_NO,
'02' as REDU_CD
from dbuser_fis.TB_FIS_LOWPOLUTN_CAR_AT
where LOWPOLUTN_ATMB_AT = 'true'
and LOWPOLUTN_ATMB_CODE = '3'
and TO_CHAR(CREAT_DT,'YYYYMMDD') between #{start_dt} and #{end_dt}
</select>
<insert id="insertFisReduModi" parameterType="hashmap">
/* FIS 감면(저공해 3종) 변경분 추가 */
insert into TB_CFS_SCAR_PL_CHG (
SCAR_SEQ,
CAR_NO,
CAR_NO_HEX,
REDU_CD,
REQ_DATE,
SEND_YN,
MODI_YN,
CREATER,
CREATE_DATE,
UPDATER,
UPDATE_DATE
)
values(
SEQ_SCAR.NEXTVAL,
#{CAR_NO},
#{CAR_NO_HEX},
#{REDU_CD},
SYSDATE,
'N',
#{MODI_YN, jdbcType=CHAR},
#{WORKER},
SYSDATE,
#{WORKER},
SYSDATE
)
</insert>
<select id="selectExemptCarMstCount" parameterType="hashmap" resultType="hashmap">
/* 면제 마스터 Total Count 조회 */
SELECT *
FROM (
SELECT EXEMPT_FLAG, to_char(EXEMPT_SENDTIME, 'YYYYMMDD') as EXEMPT_SENDTIME, 0 AS CNT
FROM TB_CFS_MST_FLAG
UNION ALL
SELECT '0' AS EXEMPT_FLAG, to_char(EXEMPT_SENDTIME, 'YYYYMMDD') AS EXEMPT_SENDTIME, COUNT(*) AS CNT
FROM TB_CFS_ECAR_PL_MST
)
</select>
<select id="selectExemptCarMst" parameterType="hashmap" resultType="hashmap">
/* 면제 마스터 조회 */
SELECT *
FROM (
SELECT /*+INDEX_ASC(TB_CFS_ECAR_PL_MST PK_TB_CFS_ECAR_PL_MST) */
ROWNUM AS INDEX_NO,
EXMP_SEQ,
CAR_NO_HEX,
EXMP_CD,
decode(MODI_YN, 'Y', '01', 'N', '00') as MODI_YN
FROM TB_CFS_ECAR_PL_MST
)
WHERE INDEX_NO <![CDATA[>=]]> TO_NUMBER(#{index_start}) AND INDEX_NO <![CDATA[<=]]> TO_NUMBER(#{index_end})
</select>
<select id="selectExemptCarChange" parameterType="hashmap" resultType="hashmap">
/* 면제 변동분 조회 */
select
EXMP_SEQ,
CAR_NO,
EXMP_CD,
CAR_NO_HEX,
decode(MODI_YN, 'Y', '01', 'N', '00') as MODI_YN
from TB_CFS_ECAR_PL_CHG
where EXMP_SEQ <![CDATA[>=]]> #{req_seq}
and SEND_YN = 'N'
order by to_number(EXMP_SEQ)
</select>
<update id="updateExemptCarSend" parameterType="hashmap">
/* 면제 변동분 전송여부 수정 */
update TB_CFS_ECAR_PL_CHG
<set>
SEND_YN = 'Y',
UPDATER = #{WORKER},
UPDATE_DATE = SYSDATE
</set>
where EXMP_SEQ = #{EXMP_SEQ}
</update>
<select id="selectExemptCarInfo" parameterType="hashmap" resultType="hashmap">
/* 면제 등록차량 조회 */
@ -655,156 +468,6 @@
</select>
<select id="selectFisExemptCarChange" parameterType="hashmap" resultType="hashmap">
/* FIS 면제 변경분 조회 */
select distinct
VHCLE_NO as CAR_NO,
'04' as EXMP_CD
from dbuser_fis.TB_FIS_NATIONMERITER_VHCLEINFO
where TO_CHAR(CREAT_DT,'YYYYMMDD') between #{start_dt} and #{end_dt}
union all
select distinct
VHCLE_NO as CAR_NO,
'03' as EXMP_CD
from dbuser_fis.TB_FIS_DSPSN_VHCLE_AT
where TO_CHAR(CREAT_DT,'YYYYMMDD') between #{start_dt} and #{end_dt}
union all
select distinct
VHCLE_NO as CAR_NO,
'02' as EXMP_CD
from dbuser_fis.TB_FIS_LOWPOLUTN_CAR_AT
where LOWPOLUTN_ATMB_AT = 'true'
and LOWPOLUTN_ATMB_CODE in ('1', '2')
and TO_CHAR(CREAT_DT,'YYYYMMDD') between #{start_dt} and #{end_dt}
</select>
<insert id="insertFisExampModi" parameterType="hashmap">
/* FIS 면제 변경분 추가 */
insert into TB_CFS_ECAR_PL_CHG (
EXMP_SEQ,
CAR_NO,
CAR_NO_HEX,
EXMP_CD,
REQ_DATE,
ACCEPT_DATE,
END_DATE,
SEND_YN,
MODI_YN,
CREATER,
CREATE_DATE,
UPDATER,
UPDATE_DATE
)
values(
SEQ_EXMP.NEXTVAL,
#{CAR_NO},
#{CAR_NO_HEX},
#{EXMP_CD},
SYSDATE,
SYSDATE,
TO_DATE('20991231235959', 'YYYYMMDDHH24MISS'),
'N',
#{MODI_YN, jdbcType=CHAR},
#{WORKER},
SYSDATE,
#{WORKER},
SYSDATE
)
</insert>
<select id="selectRfidMstCount" parameterType="hashmap" resultType="hashmap">
/* 감면 마스터 Total Count 조회 */
SELECT count(*) as CNT
from TB_CFS_RFID_PL_MST
</select>
<select id="selectRfidMst" parameterType="hashmap" resultType="hashmap">
/* 감면 마스터 조회 */
SELECT *
FROM (
SELECT /*+ INDEX_ASC(TB_CFS_RFID_PL_MST PK_TB_CFS_RFID_PL_MST) */
TO_CHAR(ROWNUM) AS INDEX_NO,
RFID_SEQ,
TRIM(RFID_TAG) as RFID_TAG,
SUBSTR(CAR_TYPE_KBN, 4,4) as CAR_TYPE_KBN,
NVL(DAMAGE_NO, 0) as DAMAGE_NO,
NVL(WEEK_WRONG_NO, 0) as WEEK_WRONG_NO,
CAR_NO_HEX,
decode(MODI_YN, 'Y', '01', 'N', '00') as MODI_YN
FROM TB_CFS_RFID_PL_MST
)
WHERE INDEX_NO <![CDATA[>=]]> TO_NUMBER(#{index_start}) AND INDEX_NO <![CDATA[<=]]> TO_NUMBER(#{index_end})
</select>
<select id="selectRfidChange" parameterType="hashmap" resultType="hashmap">
/* 감면 변동분 조회 */
select
RFID_SEQ,
TRIM(RFID_TAG) as RFID_TAG,
SUBSTR(CAR_TYPE_KBN, 4,4) as CAR_TYPE_KBN,
NVL(DAMAGE_NO, 0) as DAMAGE_NO,
NVL(WEEK_WRONG_NO, 0) as WEEK_WRONG_NO,
CAR_NO_HEX,
decode(MODI_YN, 'Y', '01', 'N', '00') as MODI_YN
from TB_CFS_RFID_PL_CHG
where RFID_SEQ <![CDATA[>=]]> #{req_seq}
and SEND_YN = 'N'
order by to_number(RFID_SEQ)
</select>
<update id="updateRfidSend" parameterType="hashmap">
/* 감면 변동분 전송여부 수정 */
update TB_CFS_RFID_PL_CHG
<set>
SEND_YN = 'Y',
UPDATER = #{WORKER},
UPDATE_DATE = SYSDATE
</set>
where RFID_SEQ = #{RFID_SEQ}
</update>
<select id="selectRfidInfo" parameterType="hashmap" resultType="hashmap">
/* 감면 등록차량 조회 */
SELECT *
FROM (
SELECT *
FROM (
select /*+ INDEX_ASC(TB_CFS_SCAR_PL_MST PK_TB_CFS_SCAR_PL_MST) */
CAR_NO, nvl2(UPDATE_DATE, TO_CHAR(UPDATE_DATE, 'YYYYMMDDHH24MISS'), TO_CHAR(CREATE_DATE, 'YYYYMMDDHH24MISS')) as UPDATE_DATE
from TB_CFS_RFID_PL_MST
where CAR_NO = #{carNo}
UNION ALL
select CAR_NO, nvl2(UPDATE_DATE, TO_CHAR(UPDATE_DATE, 'YYYYMMDDHH24MISS'), TO_CHAR(CREATE_DATE, 'YYYYMMDDHH24MISS')) as UPDATE_DATE
from TB_CFS_RFID_PL_CHG
where CAR_NO = #{carNo}
)
ORDER BY UPDATE_DATE DESC)
WHERE ROWNUM = 1
</select>
</mapper>

@ -5,57 +5,59 @@ import java.util.Map;
public interface CommCollectServerService {
//dao
public int insertServerStauts(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectPreRegistCarInfoMstCount(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectPreRegistCarInfoChange(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectPreRegistCarInfoLive(Map<String, String> param) throws Exception;
public int insertPreRegistInfoModi(Map<String, Object> param) throws Exception;
public int updatePreRegistInfo(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectSendPreRegistCarInfo(Map<String, String> param) throws Exception;
public int updatePreRegistInfoSend(Map<String, Object> param) throws Exception;
public void updatePreRegistInfoSend(List<Map<String, Object>> list) throws Exception;
public List<Map<String, Object>> selectMobileNotification(Map<String, String> param) throws Exception;
public int updateMobileNotification(Map<String, Object> param) throws Exception;
public int insertMobileNotificationLog(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectNoMobileNoti(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectSmallCarMstCount(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectSmallCarMst(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectSmallCarChange(Map<String, String> param) throws Exception;
public int updateSmallCarSend(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectSmallCarInfo(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectFisReduCarChange(Map<String, String> param) throws Exception;
public int insertFisReduModi(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectExemptCarMstCount(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectExemptCarMst(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectExemptCarChange(Map<String, String> param) throws Exception;
public int updateExemptCarSend(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectSmallCarInfo(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectReduCarList(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectExemptCarInfo(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectExemptCarInfoAuto(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectFisExemptCarChange(Map<String, String> param) throws Exception;
public int insertFisExampModi(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectRfidMstCount(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectRfidMst(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectRfidChange(Map<String, String> param) throws Exception;
public int updateRfidSend(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectRfidInfo(Map<String, String> param) throws Exception;
//dao2
public Map<String, Object> callPreRegistDayCloseSummary(Map<String, String> param) throws Exception;
public Map<String, Object> callPreRegistDayCloseReturn(Map<String, String> param) throws Exception;
public int updateDecisionResult(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectMstFlag(Map<String, Object> param) throws Exception;
public int updateMstFlag(Map<String, Object> param) throws Exception;
//dao3
public Map<String, Object> callTrafficCardDayCloseSummary(Map<String, String> param) throws Exception;
public Map<String, Object> selectDayClosePrepayCard(Map<String, String> param) throws Exception;
public Map<String, Object> selectDayClosePrepayEBCard(Map<String, String> param) throws Exception;
public Map<String, Object> selectDayClosePostpayCard(Map<String, String> param) throws Exception;
public Map<String, Object> insertDayCloseSendHistory(Map<String, String> param) throws Exception;
@ -68,26 +70,25 @@ public interface CommCollectServerService {
public int insertDayCloseReturnPostpay(Map<String, String> param) throws Exception;
public List<Map<String, Object>> callSP_CARD_BANSONG_WHOBUL(Map<String, String> param) throws Exception;
public int updateDecisionResult(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectReduCarList(Map<String, String> param) throws Exception;
public int updateTrafficCardDayClose(Map<String, String> param) throws Exception;
public int insertFileRecvTM(Map<String, String> param) throws Exception;
public int insertEtaxDetail(Map<String, String> param) throws Exception;
public int insertEtaxSummary(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectEtaxDetail(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectExemptCarInfoAuto(Map<String, String> param) throws Exception;
public List<Map<String, Object>> selectEtgreenStateTargert(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectEtgreenState(Map<String, Object> param) throws Exception;
public int updatePenaltyEgreenState(Map<String, Object> param) throws Exception;
public int updatePenaltyEgreenState2(Map<String, Object> param) throws Exception;
public List<Map<String, Object>> selectMstFlag(Map<String, Object> param) throws Exception;
public int updateMstFlag(Map<String, Object> param) throws Exception;
public String searchExmptCarNo(String string, boolean b);
public String searchHalfExmptCarNo(String string);
}

@ -1,5 +1,6 @@
package cfs.trsmrcv.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -37,7 +38,92 @@ public class CommCollectServerServiceImpl implements CommCollectServerService {
@Resource(name="cfsCommonService")
private CfsCommonService cfsCommonService;
@Override
public int insertServerStauts(Map<String, String> param) throws Exception {
return dao.insertServerStauts(param);
}
@Override
public List<Map<String, Object>> selectPreRegistCarInfoMstCount(Map<String, Object> param) throws Exception {
return dao.selectPreRegistCarInfoMstCount(param);
}
@Override
public List<Map<String, Object>> selectPreRegistCarInfoChange(Map<String, String> param) throws Exception {
return dao.selectPreRegistCarInfoChange(param);
}
@Override
public List<Map<String, Object>> selectPreRegistCarInfoLive(Map<String, String> param) throws Exception {
return dao.selectPreRegistCarInfoLive(param);
}
@Override
/**
*
*/
public int insertPreRegistInfoModi(Map<String, Object> param) throws Exception {
return dao.insertPreRegistInfoModi(param);
}
@Override
public List<Map<String, Object>> selectSendPreRegistCarInfo(Map<String, String> param) throws Exception {
return dao.selectSendPreRegistCarInfo(param);
}
public void updatePreRegistInfoSend(List<Map<String, Object>> list) throws Exception {
for(Map<String, Object> param : list){
dao.updatePreRegistInfoSend(param);
}
}
@Override
public List<Map<String, Object>> selectMobileNotification(Map<String, String> param) throws Exception {
return dao.selectMobileNotification(param);
}
@Override
public int updateMobileNotification(Map<String, Object> param) throws Exception {
return dao.updateMobileNotification(param);
}
@Override
public int insertMobileNotificationLog(Map<String, Object> param) throws Exception {
return dao.insertMobileNotificationLog(param);
}
@Override
public List<Map<String, Object>> selectNoMobileNoti(Map<String, Object> param) throws Exception {
return dao.selectNoMobileNotification(param);
}
@Override
public List<Map<String, Object>> selectSmallCarInfo(Map<String, String> param) throws Exception {
return dao.selectSmallCarInfo(param);
}
@Override
public List<Map<String, Object>> selectReduCarList(Map<String, String> param) throws Exception {
return dao.selectReduCarList(param);
}
@Override
public List<Map<String, Object>> selectExemptCarInfo(Map<String, String> param) throws Exception {
return dao.selectExemptCarInfo(param);
}
@Override
public List<Map<String, Object>> selectExemptCarInfoAuto(Map<String, String> param) throws Exception {
return dao.selectExemptCarInfoAuto(param);
}
// 사전등록결제 일마감 집계 웹서비스 요청
@SuppressWarnings({ "unchecked", "unused" })
@Override
@ -164,7 +250,21 @@ public class CommCollectServerServiceImpl implements CommCollectServerService {
logger.info(result.getResult().get("resultMessage").toString());
return result.getResult();
}
@Override
public int updateDecisionResult(Map<String, Object> param) throws Exception {
return dao_2.updateDecisionResult(param);
}
@Override
public List<Map<String, Object>> selectMstFlag(Map<String, Object> param) throws Exception {
return dao_2.selectMstFlag(param);
}
@Override
public int updateMstFlag(Map<String, Object> param) throws Exception {
return dao_2.updateMstFlag(param);
}
// 교통카드 일마감 집계 웹서비스 요청
@Override
public Map<String, Object> callTrafficCardDayCloseSummary(Map<String, String> param) throws Exception {
@ -321,139 +421,11 @@ public class CommCollectServerServiceImpl implements CommCollectServerService {
return result.getResult();
}
@Override
public int insertServerStauts(Map<String, String> param) throws Exception {
return dao.insertServerStauts(param);
}
@Override
public List<Map<String, Object>> selectPreRegistCarInfoMstCount(Map<String, Object> param) throws Exception {
return dao.selectPreRegistCarInfoMstCount(param);
}
@Override
public List<Map<String, Object>> selectPreRegistCarInfoChange(Map<String, String> param) throws Exception {
return dao.selectPreRegistCarInfoChange(param);
}
@Override
/**
*
*/
public int insertPreRegistInfoModi(Map<String, Object> param) throws Exception {
return dao.insertPreRegistInfoModi(param);
}
@Override
/**
*
*/
public int updatePreRegistInfo(Map<String, Object> param) throws Exception {
return dao.updatePreRegistInfo(param);
}
@Override
public List<Map<String, Object>> selectSendPreRegistCarInfo(Map<String, String> param) throws Exception {
return dao.selectSendPreRegistCarInfo(param);
}
public int updatePreRegistInfoSend(Map<String, Object> param) throws Exception {
return dao.updatePreRegistInfoSend(param);
}
@Override
public List<Map<String, Object>> selectMobileNotification(Map<String, String> param) throws Exception {
return dao.selectMobileNotification(param);
}
@Override
public int updateMobileNotification(Map<String, Object> param) throws Exception {
return dao.updateMobileNotification(param);
}
@Override
public int insertMobileNotificationLog(Map<String, Object> param) throws Exception {
return dao.insertMobileNotificationLog(param);
}
@Override
public List<Map<String, Object>> selectNoMobileNoti(Map<String, Object> param) throws Exception {
return dao.selectNoMobileNotification(param);
}
@Override
public List<Map<String, Object>> selectSmallCarMstCount(Map<String, String> param) throws Exception {
return dao.selectSmallCarMstCount(param);
}
@Override
public List<Map<String, Object>> selectSmallCarMst(Map<String, String> param) throws Exception {
return dao.selectSmallCarMst(param);
}
@Override
public List<Map<String, Object>> selectSmallCarChange(Map<String, String> param) throws Exception {
return dao.selectSmallCarChange(param);
}
@Override
public int updateSmallCarSend(Map<String, Object> param) {
return dao.updateSmallCarSend(param);
}
@Override
public List<Map<String, Object>> selectSmallCarInfo(Map<String, String> param) throws Exception {
return dao.selectSmallCarInfo(param);
}
@Override
public List<Map<String, Object>> selectFisReduCarChange(Map<String, String> param) throws Exception {
return dao.selectFisReduCarChange(param);
}
@Override
public int insertFisReduModi(Map<String, Object> param) throws Exception {
return dao.insertFisReduModi(param);
}
@Override
public List<Map<String, Object>> selectExemptCarMstCount(Map<String, Object> param) throws Exception {
return dao.selectExemptCarMstCount(param);
}
@Override
public List<Map<String, Object>> selectExemptCarMst(Map<String, String> param) throws Exception {
return dao.selectExemptCarMst(param);
}
@Override
public List<Map<String, Object>> selectExemptCarChange(Map<String, String> param) throws Exception {
return dao.selectExemptCarChange(param);
}
@Override
public int updateExemptCarSend(Map<String, Object> param) throws Exception {
return dao.updateExemptCarSend(param);
}
@Override
public List<Map<String, Object>> selectExemptCarInfo(Map<String, String> param) throws Exception {
return dao.selectExemptCarInfo(param);
}
@Override
public List<Map<String, Object>> selectFisExemptCarChange(Map<String, String> param) throws Exception {
return dao.selectFisExemptCarChange(param);
}
@Override
public int insertFisExampModi(Map<String, Object> param) throws Exception {
return dao.insertFisExampModi(param);
}
@Override
public List<Map<String, Object>> selectRfidMstCount(Map<String, String> param) throws Exception {
return dao.selectRfidMstCount(param);
}
@Override
public List<Map<String, Object>> selectRfidMst(Map<String, String> param) throws Exception {
return dao.selectRfidMst(param);
}
@Override
public List<Map<String, Object>> selectRfidChange(Map<String, String> param) throws Exception {
return dao.selectRfidChange(param);
}
@Override
public int updateRfidSend(Map<String, Object> param) throws Exception {
return dao.updateRfidSend(param);
}
@Override
public List<Map<String, Object>> selectRfidInfo(Map<String, String> param) throws Exception {
return dao.selectRfidInfo(param);
}
@Override
public int insertDayCloseReturnPrepay(Map<String, String> param) throws Exception {
@ -484,22 +456,117 @@ public class CommCollectServerServiceImpl implements CommCollectServerService {
public List<Map<String, Object>> callSP_CARD_BANSONG_WHOBUL(Map<String, String> param) throws Exception {
return dao_3.callSP_CARD_BANSONG_WHOBUL(param);
}
@Override
public int updateDecisionResult(Map<String, Object> param) throws Exception {
return dao_2.updateDecisionResult(param);
private boolean isNumeric(String s) {
try {
Double.parseDouble(s);
return true;
} catch(NumberFormatException e) {
return false;
}
}
@Override
public List<Map<String, Object>> selectReduCarList(Map<String, String> param) throws Exception {
return dao.selectReduCarList(param);
}
public String searchExmptCarNo(String strCarNo, boolean isAuto) {
// 차량번호로 면제 처리
// 비사업자용외 면제
List<String> list = new ArrayList<String>();
list.add("아");
list.add("사");
list.add("바");
list.add("자");
list.add("배");
if(isAuto == false) {
list.add("국");
list.add("합");
list.add("육");
list.add("해");
list.add("공");
list.add("외교");
list.add("영사");
list.add("준외");
list.add("준영");
list.add("협정");
list.add("대표");
}
for(int i = 0; i < list.size(); i++) {
if(strCarNo.contains(list.get(i)) == true)
return "03";
}
// 비승용차 면제
String strTemp = "";
if(strCarNo.length() == 9) { // 서울01가1234
strTemp = strCarNo.substring(strCarNo.length() -7, strCarNo.length()-5);
}
else if(strCarNo.length() == 7) { // 01가1234
strTemp = strCarNo.substring(strCarNo.length() -7, strCarNo.length()-5);
}
else if(strCarNo.length() == 8) { // 123가1234, 서울1가1234
strTemp = strCarNo.substring(0, 3);
if(isNumeric(strTemp) == true) {
return "";
}
else {
strTemp = strTemp.substring(strTemp.length() -1, strTemp.length());
}
}
if(Integer.parseInt(strTemp) >= 70)
return "03";
// 면제 테이블 조회
Map<String, String> param = new HashMap<String, String>();
param.put("carNo", strCarNo);
try {
List<Map<String, Object>> obj = this.selectExemptCarInfo(param);
if(obj != null && Integer.parseInt(obj.get(0).get("CNT").toString()) > 0) {
System.out.println(obj.get(0).get("CAR_NO"));
if(isAuto == true)
return "05";
else
return "03";
}
logger.info("면제 테이블 조회");
} catch (Exception e) {
logger.info("");
}
return "";
}
@Override
public List<Map<String, Object>> selectExemptCarInfoAuto(Map<String, String> param) throws Exception {
return dao.selectExemptCarInfoAuto(param);
public String searchHalfExmptCarNo(String strCarNo) {
// 감면 테이블 조회(겸차, 저공해)
Map<String, String> param = new HashMap<String, String>();
param.put("carNo", strCarNo);
try {
List<Map<String, Object>> obj = this.selectSmallCarInfo(param);
if(obj.get(0).get("CNT").toString().equals("0") == false) {
return "02";
}
logger.info("");
}catch(RuntimeException e) {
logger.info("catch check");
logger.info("경차 테이블 조회");
} catch (Exception e) {
logger.info("catch check");
logger.info("경차 테이블 조회");
}
return "01";
}
@Override
public int updateTrafficCardDayClose(Map<String, String> param) throws Exception {
return dao_3.updateTrafficCardDayClose(param);
@ -540,14 +607,7 @@ public class CommCollectServerServiceImpl implements CommCollectServerService {
return dao_3.updatePenaltyEgreenState2(param);
}
@Override
public List<Map<String, Object>> selectMstFlag(Map<String, Object> param) throws Exception {
return dao_2.selectMstFlag(param);
}
@Override
public int updateMstFlag(Map<String, Object> param) throws Exception {
return dao_2.updateMstFlag(param);
}
}

@ -31,6 +31,8 @@ import cfs.common.util.CallWebService;
import cfs.common.util.CarNo2Code;
import cfs.common.util.Result;
import cfs.common.util.ResultSmartPlatform;
import cfs.trsmrcv.dao.CommCollectServerDao;
import cfs.trsmrcv.dao.TrsmrcvDao;
import cfs.trsmrcv.service.CommCollectServerService;
/**
@ -53,8 +55,12 @@ public class CommCollectServerController {
@Resource(name="cfsCommonService")
private CfsCommonService cfsCommonService;
@Resource(name="trsmrcvDao")
private TrsmrcvDao trsmrcvDao;
/**
*
* <pre></pre>
@ -635,7 +641,7 @@ public class CommCollectServerController {
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();
@ -643,12 +649,12 @@ public class CommCollectServerController {
/**
*
* ( )
* <pre></pre>
*/
@Transactional
@RequestMapping(value="/cfs/trsmrcv/selectPreRegistCarInfoChange.do", method=RequestMethod.POST)
public @ResponseBody Map<String, Object> selectPreRegistCarInfoChange(
@RequestMapping(value="/cfs/trsmrcv/selectPreRegistCarInfoChangeNeo.do", method=RequestMethod.POST)
public @ResponseBody Map<String, Object> selectPreRegistCarInfoChangeNeo(
@RequestParam String start_dt
, @RequestParam String end_dt
, @RequestParam String index_start
@ -656,115 +662,114 @@ public class CommCollectServerController {
, @RequestParam String req_seq
, HttpServletRequest request) throws Exception {
ResultSmartPlatform result = new ResultSmartPlatform();
Map<String, String> susinInfo = TrsmrcvUtil.getInfoMapForConnSusinLog(request);
trsmrcvDao.insertConnSusinLog(susinInfo);
Map<String, String> mapOrg = new HashMap<String, String>();
mapOrg.put("start_dt", start_dt);
mapOrg.put("end_dt", end_dt);
mapOrg.put("index_start", index_start);
mapOrg.put("index_end", index_end);
mapOrg.put("req_seq", req_seq);
ResultSmartPlatform result = new ResultSmartPlatform();
mapOrg.put("index_start", "0");
mapOrg.put("index_end", "2000000000");
logger.info("=== 사전등록결제 변동분 req_seq : " + req_seq);
List<Map<String, Object>> obj = null;
try {
obj = commCollectServerService.selectPreRegistCarInfoChange(mapOrg);
/*
*
* */
long start = System.currentTimeMillis(); // 작동 시간 측정용
List<Map<String, Object>> obj = commCollectServerService.selectMstFlag(new HashMap<String, Object>());
if(obj == null || obj.size() == 0) {
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, "조회결과가 없습니다.");
return result.getResult();
}
return result.getResult();
}
String strExmptCode = "";
// 사전등록정보 갱신
for(int i=0; i< obj.size(); i++){
// 01: 일반, 02: 경차, 03: 면제
// 면제차량 확인
strExmptCode = searchExmptCarNo(obj.get(i).get("CAR_NO").toString(), false);
// 감면차량 확인
if(strExmptCode.equals("") == true) {
strExmptCode = searchHalfExmptCarNo(obj.get(i).get("CAR_NO").toString());
}
obj.get(i).put("EXMP_CD", strExmptCode);
logger.info("==== 사전등록결제정보 변동분 조회 신규 - 2");
logger.info("==== PRP_FLAG : " + obj.get(0).get("PRP_FLAG").toString());
logger.info("==== PRP_SENDTIME : " + obj.get(0).get("PRP_SENDTIME").toString());
logger.info("==== end_dt.substring(0, 8) : " + end_dt.substring(0, 8));
obj.get(i).put("CAR_NO_HEX", CarNo2Code.runCarNo2Code(obj.get(i).get("CAR_NO").toString()));
obj.get(i).put("WORKER", "admin");
logger.info("=== 1 : " + obj.get(i).get("CAR_NO").toString());
logger.info("=== 2: " + obj.get(i).get("CAR_NO").toString());
// 탈퇴이거나 차량을 삭제하면 삭제만 함.
if(obj.get(i).get("SECSN_YN").toString().equals("Y") == true
|| obj.get(i).get("VHCLE_STTUS_TY").toString().equals("03") == true
|| obj.get(i).get("NAMSAN_PASMNY").toString().equals("N") == true
) {
logger.info("=== 사전등록결제 회원 탈퇴 : " + obj.get(i).get("CAR_NO").toString());
}else {
obj.get(i).put("MODI_YN", "N");
commCollectServerService.insertPreRegistInfoModi(obj.get(i));
}
} // end for i
if(!(
obj.get(0).get("PRP_FLAG").toString().equals("2") == true
&& obj.get(0).get("PRP_SENDTIME").toString().equals(end_dt.substring(0, 8)) == true
)
) {
//마스터 작업중이므로 변동분 미처리
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, "조회결과가 없습니다.");
return result.getResult();
}
obj = commCollectServerService.selectSendPreRegistCarInfo(mapOrg);
if(obj == null || obj.size() == 0) {
result.setErrorMsg(null, null);
logger.info(result.getResult().get("resultMessage").toString());
//
Map<String,String> mapOrg = new HashMap<String,String>();
mapOrg.put("req_seq", req_seq);
List<Map<String, Object>> newList = commCollectServerService.selectSendPreRegistCarInfo(mapOrg);
if(newList == null || newList.size() == 0) {
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, "조회결과가 없습니다.");
return result.getResult();
}
logger.info("==== 사전등록결제정보 변동분 조회 신규 - 6");
String str = "";
StringBuffer strbuf = new StringBuffer();
for(int i = 0; i < obj.size(); i++) {
obj.get(i).put("WORKER", "admin");
for(int i = 0; i < newList.size(); i++) {
str = String.format("%010d%s%s%s"
, Integer.parseInt(obj.get(i).get("PRP_INFO_SEQ").toString())
, obj.get(i).get("MODI_YN").toString()
, obj.get(i).get("EXMP_CD").toString()
, obj.get(i).get("CAR_NO_HEX").toString().trim());
, Integer.parseInt(newList.get(i).get("PRP_INFO_SEQ").toString())
, newList.get(i).get("REGIST_DIV").toString()
, newList.get(i).get("CHG_DATA_KIND").toString()
, newList.get(i).get("CAR_NO_HEX").toString().trim());
strbuf.append(str);
}
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("staffList", obj);
commCollectServerService.updatePreRegistInfoSend(paramMap);
long end = System.currentTimeMillis(); // 작동 시간 측정용
double d = end -start;
logger.info("==== 사전등록결제정보 변동분 조회 소요시간 1 :" + d) ;
logger.info("==== 사전등록결제정보 변동분 조회 신규 - 7");
commCollectServerService.updatePreRegistInfoSend(newList);
d = end -start;
logger.info("==== 사전등록결제정보 변동분 조회 소요시간 2 :" + d) ;
d = end -start;
logger.info("==== 사전등록결제정보 변동분 조회 소요시간 3 :" + d) ;
logger.info("==== 사전등록결제정보 변동분 조회 신규 - 8");
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, strbuf.toString());
}catch(RuntimeException e) {
e.printStackTrace();
result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE);
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, "조회결과가 없습니다.");
return result.getResult();
} catch (Exception e) {
e.printStackTrace();
result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE);
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, "조회결과가 없습니다.");
return result.getResult();
}
logger.info(result.getResult().get("resultMessage").toString());
return result.getResult();
}
}
/**
*
* ()
* <pre></pre>
*/
@Transactional
@RequestMapping(value="/cfs/trsmrcv/selectPreRegistCarInfoChangeNeo.do", method=RequestMethod.POST)
public @ResponseBody Map<String, Object> selectPreRegistCarInfoChangeNeo (
@RequestMapping(value="/cfs/trsmrcv/selectPreRegistCarInfoChangeNeo1.do", method=RequestMethod.POST)
public @ResponseBody Map<String, Object> selectPreRegistCarInfoChangeNeo1 (
@RequestParam String start_dt
, @RequestParam String end_dt
, @RequestParam String index_start
@ -773,6 +778,13 @@ public class CommCollectServerController {
, HttpServletRequest request) throws Exception {
ResultSmartPlatform result = new ResultSmartPlatform();
logger.info("변동분 수신받음");
Map<String, String> susinInfo = TrsmrcvUtil.getInfoMapForConnSusinLog(request);
trsmrcvDao.insertConnSusinLog(susinInfo);
logger.info("변동분 수신로그");
String reqDate = (new SimpleDateFormat ("yyyyMMddHHmmss")).format(new Date());
//---------------
@ -798,7 +810,7 @@ public class CommCollectServerController {
if(obj == null || obj.size() == 0) {
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, "조회결과가 없습니다.");
return result.getResult();
return result.getResult();
}
logger.info("==== 사전등록결제정보 변동분 조회 신규 - 2");
@ -814,21 +826,18 @@ public class CommCollectServerController {
//마스터 작업중이므로 변동분 미처리
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, "조회결과가 없습니다.");
return result.getResult();
return result.getResult();
}
//마스터 작업중아니므로 변동분 처리
boolean prpUpdateFlag = false;
if(Long.parseLong(obj.get(0).get("PRP_CHG_TIME").toString()) < Long.parseLong(start_dt)) {
prpUpdateFlag = true;
//start_dt를 바꿈
mapOrg.put("start_dt", obj.get(0).get("PRP_CHG_TIME").toString());
//startDt를 바꿈
mapOrg.put("startDt", obj.get(0).get("PRP_CHG_TIME").toString());
} else {
//start_dt를 안바꿈
//startDt를 안바꿈
}
// 사전등록결제 웹서비스 호출
@ -853,11 +862,11 @@ public class CommCollectServerController {
List<Map<String, Object>> brsDataArray = (List<Map<String, Object>>)jsonParam.get("dataArray");
if(brsDataArray == null || brsDataArray.size() == 0){
if(prpUpdateFlag){
Map<String, Object> mapOrgTemp = new HashMap<String, Object>();
mapOrgTemp.put("PRP_UPDATE_YN", "Y");
commCollectServerService.updateMstFlag(mapOrgTemp);
}
Map<String, Object> mapOrgTemp = new HashMap<String, Object>();
mapOrgTemp.put("PRP_UPDATE_YN", "Y");
commCollectServerService.updateMstFlag(mapOrgTemp);
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, "조회결과가 없습니다.");
@ -869,7 +878,7 @@ public class CommCollectServerController {
for(int i=0; i< brsDataArray.size(); i++){
brsDataArray.get(i).put("CAR_NO", brsDataArray.get(i).get("vhcleNo").toString());
brsDataArray.get(i).put("CAR_OWNER_CI", brsDataArray.get(i).get("vhcleOwnerCi").toString());
brsDataArray.get(i).put("REQ_DATE", brsDataArray.get(i).get("registDt").toString());
brsDataArray.get(i).put("REQ_DATE", reqDate);
brsDataArray.get(i).put("VHCLE_STTUS_TY", brsDataArray.get(i).get("vhcleSttusTy").toString());
brsDataArray.get(i).put("NAMSAN_PASMNY", brsDataArray.get(i).get("namsanPasmny").toString());
brsDataArray.get(i).put("SECSN_YN", brsDataArray.get(i).get("secsnAt").toString());
@ -882,10 +891,10 @@ public class CommCollectServerController {
// 01: 일반, 02: 경차, 03: 면제
// 면제차량 확인
strExmptCode = searchExmptCarNo(brsDataArray.get(i).get("CAR_NO").toString(), false);
strExmptCode = this.searchExmptCarNo(brsDataArray.get(i).get("CAR_NO").toString(), false);
// 감면차량 확인
if(strExmptCode.equals("") == true) {
strExmptCode = searchHalfExmptCarNo(brsDataArray.get(i).get("CAR_NO").toString());
strExmptCode = this.searchHalfExmptCarNo(brsDataArray.get(i).get("CAR_NO").toString());
}
brsDataArray.get(i).put("EXMP_CD", strExmptCode);
brsDataArray.get(i).put("CAR_NO_HEX", CarNo2Code.runCarNo2Code(brsDataArray.get(i).get("CAR_NO").toString()));
@ -901,20 +910,20 @@ public class CommCollectServerController {
|| brsDataArray.get(i).get("NAMSAN_PASMNY").toString().equals("N") == true
) {
//마스터 데이터 삭제
brsDataArray.get(i).put("SECSN_YN", "Y");
brsDataArray.get(i).put("SECSN_DATE", "");
brsDataArray.get(i).put("SECSN_YN", "Y");
brsDataArray.get(i).put("SECSN_DATE", "");
logger.info("=== 사전등록결제 회원 탈퇴 : " + brsDataArray.get(i).get("CAR_NO").toString());
}
}
commCollectServerService.insertPreRegistInfoModi(brsDataArray.get(i));
}
List<Map<String, Object>> newList = commCollectServerService.selectSendPreRegistCarInfo(mapOrg);
if(newList == null || newList.size() == 0) {
if(prpUpdateFlag){
Map<String, Object> mapOrgTemp = new HashMap<String, Object>();
mapOrgTemp.put("PRP_UPDATE_YN", "Y");
commCollectServerService.updateMstFlag(mapOrgTemp);
}
Map<String, Object> mapOrgTemp = new HashMap<String, Object>();
mapOrgTemp.put("PRP_UPDATE_YN", "Y");
commCollectServerService.updateMstFlag(mapOrgTemp);
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, "조회결과가 없습니다.");
@ -925,7 +934,6 @@ public class CommCollectServerController {
String str = "";
StringBuffer strbuf = new StringBuffer();
for(int i = 0; i < newList.size(); i++) {
newList.get(i).put("WORKER", "admin");
str = String.format("%010d%s%s%s"
, Integer.parseInt(newList.get(i).get("PRP_INFO_SEQ").toString())
@ -933,7 +941,7 @@ public class CommCollectServerController {
, newList.get(i).get("CHG_DATA_KIND").toString()
, newList.get(i).get("CAR_NO_HEX").toString().trim());
strbuf.append(str);
}
long end = System.currentTimeMillis(); // 작동 시간 측정용
@ -941,13 +949,10 @@ public class CommCollectServerController {
logger.info("==== 사전등록결제정보 변동분 조회 소요시간 1 :" + d) ;
logger.info("==== 사전등록결제정보 변동분 조회 신규 - 7");
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("staffList", newList);
commCollectServerService.updatePreRegistInfoSend(paramMap);
commCollectServerService.updatePreRegistInfoSend(newList);
d = end -start;
logger.info("==== 사전등록결제정보 변동분 조회 소요시간 2 :" + d) ;
paramMap.remove("staffList");
d = end -start;
logger.info("==== 사전등록결제정보 변동분 조회 소요시간 3 :" + d) ;
@ -955,19 +960,24 @@ public class CommCollectServerController {
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, strbuf.toString());
if(prpUpdateFlag){
Map<String, Object> mapOrgTemp = new HashMap<String, Object>();
mapOrgTemp.put("PRP_UPDATE_YN", "Y");
commCollectServerService.updateMstFlag(mapOrgTemp);
}
Map<String, Object> mapOrgTemp = new HashMap<String, Object>();
mapOrgTemp.put("PRP_UPDATE_YN", "Y");
commCollectServerService.updateMstFlag(mapOrgTemp);
}catch(RuntimeException e) {
e.printStackTrace();
result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE);
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, "조회결과가 없습니다.");
return result.getResult();
} catch (Exception e) {
e.printStackTrace();
result.setErrorMsg(Result.STATUS_ERROR, Result.STATUS_ERROR_MESSAGE);
}
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
result.setMsg(ResultSmartPlatform.RESULT_KEY_DEFAULT, "조회결과가 없습니다.");
return result.getResult();
}
logger.info(result.getResult().get("resultMessage").toString());
return result.getResult();

Loading…
Cancel
Save