|
|
|
|
@ -42,6 +42,7 @@ import cfs.common.util.ResultSmartPlatform;
|
|
|
|
|
import cfs.common.vo.ParamBean;
|
|
|
|
|
import cfs.fine.dao.FinePenaltyDao;
|
|
|
|
|
import cfs.fine.vo.PenaltyParamVO;
|
|
|
|
|
import cfs.input.service.InputAfterService;
|
|
|
|
|
import cfs.input.vo.WorkerFareAdjustVO;
|
|
|
|
|
import cfs.trsmrcv.dao.CommCollectServerDao;
|
|
|
|
|
import cfs.trsmrcv.dao.CommSmartPlatformPRPDao;
|
|
|
|
|
@ -72,7 +73,10 @@ public class CommWebBrowserController {
|
|
|
|
|
|
|
|
|
|
@Resource(name="commCollectServerService")
|
|
|
|
|
private CommCollectServerService commCollectServerService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource(name="inputAfterService")
|
|
|
|
|
private InputAfterService inputAfterService;
|
|
|
|
|
|
|
|
|
|
@Resource(name="cfsCommonService")
|
|
|
|
|
private CfsCommonService cfsCommonService;
|
|
|
|
|
|
|
|
|
|
@ -2741,6 +2745,7 @@ public class CommWebBrowserController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 수입금정산내역[IP004M01] 메뉴 [수입금정산]버튼 > 수입금정산[IP004P01] 팝업 [정산시작] 버튼 > 정산완료후호출
|
|
|
|
|
* 자동 모바일 고지
|
|
|
|
|
* <pre></pre>
|
|
|
|
|
*/
|
|
|
|
|
@ -2789,7 +2794,7 @@ public class CommWebBrowserController {
|
|
|
|
|
logger.info("============= 자동 모바일 안내 수행 1");
|
|
|
|
|
for(int i = 0; i < obj.size(); i++) {
|
|
|
|
|
/*
|
|
|
|
|
* 후납미납 대상은 자동 모바일 고지 수행
|
|
|
|
|
* 미납 중 후납미납은 자동 모바일 고지 수행
|
|
|
|
|
*/
|
|
|
|
|
if(obj.get(i).get("COLLECT_ID_NEW").toString().equals("41") == true
|
|
|
|
|
|| obj.get(i).get("COLLECT_ID_NEW").toString().equals("42") == true
|
|
|
|
|
@ -2801,26 +2806,26 @@ public class CommWebBrowserController {
|
|
|
|
|
logger.info("============= 자동 모바일 안내 수행 3");
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 도주미납 대상이고
|
|
|
|
|
* 최근 3개월 툥행료가 2000원이 아닌 개수가 0이면
|
|
|
|
|
* 자동 모바일 고지 수행
|
|
|
|
|
* 미납 중 도주미납은
|
|
|
|
|
* 최근 3개월간 통행료가 2000원이 아닌 건이 없으면(1000원(감면),0원(면제)인 자료가 없으면) 자동 모바일 고지 수행
|
|
|
|
|
* 최근 3개월간 면제,감면이 있으면 심사대상
|
|
|
|
|
*/
|
|
|
|
|
if(obj.get(i).get("COLLECT_ID_NEW").toString().equals("40") == true) {
|
|
|
|
|
List<Map<String, Object>> objTemp = commSmartPlatformFISService.selectAutoMoblieNotifiForDefaultCar(obj.get(i));
|
|
|
|
|
logger.info("============= 자동 모바일 안내 수행 4-0");
|
|
|
|
|
if(objTemp == null) {
|
|
|
|
|
logger.info("============= 자동 모바일 안내 수행 4-1");
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if(objTemp.get(0).get("CNT").toString().equals("0") == true ) {
|
|
|
|
|
logger.info("============= 자동 모바일 안내 수행 4");
|
|
|
|
|
this.callAutoMobileNotification(obj.get(i));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
logger.info("============= 자동 모바일 안내 수행 미납판독 심사대상");
|
|
|
|
|
this.callManualDecision(obj.get(i));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(objTemp.get(0).get("CNT").toString().equals("0") == true ) {
|
|
|
|
|
logger.info("============= 자동 모바일 안내 수행 4");
|
|
|
|
|
this.callAutoMobileNotification(obj.get(i));
|
|
|
|
|
} else {
|
|
|
|
|
logger.info("============= 자동 모바일 안내 수행 미납판독 심사대상");
|
|
|
|
|
this.callManualDecision(obj.get(i));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
logger.info("============= 자동 모바일 안내 수행 5");
|
|
|
|
|
} // end for i
|
|
|
|
|
@ -3275,6 +3280,7 @@ public class CommWebBrowserController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 검수원 정산 등록[IP002M01] 메뉴 [요금단말수정 및 환불입력] 버튼 > 요금단말수정 및 환불입력[IP002P03] 팝업 [사전결제 취소] 버튼
|
|
|
|
|
* 사전등록결제 취소 수신
|
|
|
|
|
* <pre></pre>
|
|
|
|
|
*/
|
|
|
|
|
@ -3430,123 +3436,11 @@ public class CommWebBrowserController {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 바로녹색 취소 수신
|
|
|
|
|
* <pre></pre>
|
|
|
|
|
*/
|
|
|
|
|
@Transactional
|
|
|
|
|
@RequestMapping(value = "/cfs/trsmrcv/callGreenPaymentCancle.do", method = RequestMethod.POST)
|
|
|
|
|
public @ResponseBody Map<String, Object> callGreenPaymentCancle(@RequestBody ParamBean<CommSmartPlatformPRPVO> param, HttpServletRequest request) throws Exception {
|
|
|
|
|
|
|
|
|
|
CommSmartPlatformPRPVO commSmartPlatformPRPVO = param.getParam();
|
|
|
|
|
Map<String, Object> pMap = new HashMap<String, Object>();
|
|
|
|
|
|
|
|
|
|
ResultSmartPlatform result = new ResultSmartPlatform();
|
|
|
|
|
try {
|
|
|
|
|
Map<String, String> mapOrg = new HashMap<String, String>();
|
|
|
|
|
|
|
|
|
|
pMap.put("BRS_MNO", commSmartPlatformPRPVO.getBrsMno());
|
|
|
|
|
pMap.put("INSTTNO", commSmartPlatformPRPVO.getInsttNo());
|
|
|
|
|
pMap.put("YEAR", commSmartPlatformPRPVO.getYear());
|
|
|
|
|
pMap.put("MONTH", commSmartPlatformPRPVO.getMonth());
|
|
|
|
|
pMap.put("DAY", commSmartPlatformPRPVO.getDay());
|
|
|
|
|
pMap.put("WORK_TIMES", commSmartPlatformPRPVO.getWorkTimes());
|
|
|
|
|
pMap.put("REPAY_CNT", commSmartPlatformPRPVO.getRepayCnt());
|
|
|
|
|
pMap.put("STAT_CD", "2"); // 1: 요청, 2: 결제, 3: 거절 4: 취소
|
|
|
|
|
List<Map<String, Object>> obj = null;
|
|
|
|
|
obj = commSmartPlatformPRPService.selectGreenPayment(pMap);
|
|
|
|
|
|
|
|
|
|
if(obj == null || obj.size() == 0) {
|
|
|
|
|
// 조회 실패
|
|
|
|
|
result.setMsg(ResultSmartPlatform.STATUS_ERROR, "조회 실패");
|
|
|
|
|
return result.getResult();
|
|
|
|
|
}
|
|
|
|
|
pMap.put("CAR_NO", obj.get(0).get("CAR_NO").toString());
|
|
|
|
|
pMap.put("CAR_OWNER_CI", obj.get(0).get("CAR_OWNER_CI").toString());
|
|
|
|
|
pMap.put("PASS_DATE", obj.get(0).get("PASS_DATE").toString());
|
|
|
|
|
pMap.put("PASS_AMOUNT", obj.get(0).get("PASS_AMOUNT").toString());
|
|
|
|
|
pMap.put("TR_DTTM", obj.get(0).get("TR_DTTM").toString());
|
|
|
|
|
pMap.put("PAYM_AMOUNT", obj.get(0).get("PAYM_AMOUNT").toString());
|
|
|
|
|
pMap.put("BRS_MNO", obj.get(0).get("BRS_MNO").toString());
|
|
|
|
|
|
|
|
|
|
pMap.put("WORKER_ID", obj.get(0).get("WORKER_ID").toString());
|
|
|
|
|
pMap.put("FARE_OFFICE_ID", obj.get(0).get("FARE_OFFICE_ID").toString());
|
|
|
|
|
pMap.put("BOOTH_ID", obj.get(0).get("BOOTH_ID").toString());
|
|
|
|
|
pMap.put("SEQNO", obj.get(0).get("SEQNO").toString());
|
|
|
|
|
|
|
|
|
|
StringBuffer strbuf = new StringBuffer();
|
|
|
|
|
strbuf.append(pMap.get("WORKER_ID").toString());
|
|
|
|
|
strbuf.append(pMap.get("FARE_OFFICE_ID").toString());
|
|
|
|
|
strbuf.append(pMap.get("BOOTH_ID").toString());
|
|
|
|
|
strbuf.append(pMap.get("YEAR").toString());
|
|
|
|
|
strbuf.append(pMap.get("MONTH").toString());
|
|
|
|
|
strbuf.append(pMap.get("DAY").toString());
|
|
|
|
|
strbuf.append(pMap.get("WORK_TIMES").toString());
|
|
|
|
|
|
|
|
|
|
strbuf.append(String.format("%d%09d"
|
|
|
|
|
, Integer.parseInt(pMap.get("REPAY_CNT").toString())
|
|
|
|
|
, Integer.parseInt(pMap.get("SEQNO").toString())
|
|
|
|
|
));
|
|
|
|
|
|
|
|
|
|
mapOrg.put("insttNo", pMap.get("INSTTNO").toString());
|
|
|
|
|
mapOrg.put("insttCntcJobSe", "012"); // Sync : 003
|
|
|
|
|
mapOrg.put("vhcleNo", pMap.get("CAR_NO").toString());
|
|
|
|
|
|
|
|
|
|
String carOwnerCiBeforeEncode = pMap.get("CAR_OWNER_CI").toString();
|
|
|
|
|
carOwnerCiBeforeEncode = carOwnerCiBeforeEncode.replaceAll(" ", "+");
|
|
|
|
|
pMap.put("CAR_OWNER_CI", carOwnerCiBeforeEncode);
|
|
|
|
|
|
|
|
|
|
String vhcleOwnerCiAfterEncode = URLEncoder.encode(pMap.get("CAR_OWNER_CI").toString(), "UTF-8");
|
|
|
|
|
vhcleOwnerCiAfterEncode = vhcleOwnerCiAfterEncode.replaceAll("%20", "%2B");
|
|
|
|
|
mapOrg.put("vhcleOwnerCi", vhcleOwnerCiAfterEncode);
|
|
|
|
|
|
|
|
|
|
mapOrg.put("insttDelngNo", strbuf.toString());
|
|
|
|
|
mapOrg.put("requstDt", pMap.get("TR_DTTM").toString());
|
|
|
|
|
mapOrg.put("requstAmount", pMap.get("PAYM_AMOUNT").toString());
|
|
|
|
|
mapOrg.put("brsMno", pMap.get("BRS_MNO").toString());
|
|
|
|
|
|
|
|
|
|
// 사전등록결제 취소 웹서비스 호출
|
|
|
|
|
String url = cfsCommonService.findCommonSecureGet("ITF_CFS_O_060");
|
|
|
|
|
CallWebService callWebService = new CallWebService(url);
|
|
|
|
|
Map<String, String> map = callWebService.callWebServicePost(mapOrg);
|
|
|
|
|
if(map == null || map.get("result").toString().equals("FAIL") == true) {
|
|
|
|
|
// 조회 실패
|
|
|
|
|
result.setMsg(ResultSmartPlatform.STATUS_ERROR, ResultSmartPlatform.STATUS_ERROR_MESSAGE);
|
|
|
|
|
return result.getResult();
|
|
|
|
|
}
|
|
|
|
|
JSONParser parser = new JSONParser();
|
|
|
|
|
JSONObject jsonParam = (JSONObject)parser.parse(map.get("data").toString());
|
|
|
|
|
System.out.println("=== " + jsonParam.toJSONString());
|
|
|
|
|
pMap.put("PRP_REQ_SEQ", obj.get(0).get("PRP_REQ_SEQ").toString());
|
|
|
|
|
pMap.put("WORKER", "admin");
|
|
|
|
|
pMap.put("STAT_CD", "4"); // 1: 요청, 2: 결제, 3: 거절 4: 취소
|
|
|
|
|
|
|
|
|
|
// 사전등록결제요청내역 업데이트
|
|
|
|
|
if(commSmartPlatformPRPService.updatePreRegistReqList(pMap) < 0) {
|
|
|
|
|
result.setMsg(ResultSmartPlatform.STATUS_ERROR, ResultSmartPlatform.STATUS_ERROR_MESSAGE);
|
|
|
|
|
}
|
|
|
|
|
// 사전등록결제요청이력 추가
|
|
|
|
|
if(commSmartPlatformPRPService.insertPreRegistReqListLog(pMap) < 0) {
|
|
|
|
|
result.setMsg(ResultSmartPlatform.STATUS_ERROR, ResultSmartPlatform.STATUS_ERROR_MESSAGE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
result.setMsg(ResultSmartPlatform.STATUS_SUCESS, "정상적으로 처리되었습니다.");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}catch(RuntimeException e) {
|
|
|
|
|
result.setErrorMsg(ResultSmartPlatform.STATUS_ERROR_DEFAULT_DETAIL_CODE, null);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
|
|
result.setErrorMsg(ResultSmartPlatform.STATUS_ERROR_DEFAULT_DETAIL_CODE, null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
logger.info(result.getResult().get("resultMessage").toString());
|
|
|
|
|
return result.getResult();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 사전등록결제 수동청구 요청 수신(IP002P03(요금단말수정 및 환불입력))
|
|
|
|
|
* 검수원 정산 등록[IP002M01] 메뉴 [요금단말수정 및 환불입력] 버튼 > 요금단말수정 및 환불입력[IP002P03] 팝업 [~수동청구] 버튼
|
|
|
|
|
* 사전등록결제 수동청구 요청 수신
|
|
|
|
|
* <pre></pre>
|
|
|
|
|
*/
|
|
|
|
|
@Transactional
|
|
|
|
|
@ -3904,4 +3798,8 @@ public class CommWebBrowserController {
|
|
|
|
|
|
|
|
|
|
return result.getResult();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|