You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3917 lines
145 KiB
Java
3917 lines
145 KiB
Java
package cfs.fine.service.impl;
|
|
|
|
import java.awt.image.BufferedImage;
|
|
import java.io.BufferedReader;
|
|
import java.io.BufferedWriter;
|
|
import java.io.File;
|
|
import java.io.FileWriter;
|
|
import java.io.IOException;
|
|
import java.io.InputStreamReader;
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.net.HttpURLConnection;
|
|
import java.net.URL;
|
|
import java.net.URLConnection;
|
|
import java.nio.charset.Charset;
|
|
import java.nio.file.Files;
|
|
import java.nio.file.Paths;
|
|
import java.nio.file.StandardCopyOption;
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.LinkedList;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.imageio.ImageIO;
|
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import cfs.common.dao.CodeInfoDao;
|
|
import cfs.common.service.CfsCommonService;
|
|
import cfs.common.util.HttpUtil;
|
|
import cfs.common.util.ObjectUtil;
|
|
import cfs.common.util.Result;
|
|
import cfs.common.util.SftpUtil;
|
|
import cfs.common.util.StringUtil;
|
|
import cfs.common.util.ZipUtil;
|
|
import cfs.common.vo.ParamBean;
|
|
import cfs.fine.dao.FinePenaltyDao;
|
|
import cfs.fine.service.FinePenaltyService;
|
|
import cfs.fine.vo.PenaltyParamVO;
|
|
import cfs.trsmrcv.dao.TrsmrcvDao;
|
|
|
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
|
@Service("finePenaltyService")
|
|
public class FinePenaltyServiceImpl implements FinePenaltyService {
|
|
protected Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
|
@Resource(name="finePenaltyDao")
|
|
private FinePenaltyDao finePenaltyDao;
|
|
|
|
@Resource(name = "codeInfoDao")
|
|
private CodeInfoDao codeInfoDao;
|
|
|
|
@Resource(name="cfsCommonService")
|
|
private CfsCommonService cfsCommonService;
|
|
|
|
@Resource(name="trsmrcvDao")
|
|
private TrsmrcvDao trsmrcvDao;
|
|
|
|
@Autowired
|
|
private SftpUtil sftpUtil;
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList(param);
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList01(PenaltyParamVO param) throws Exception {//쩐쩐
|
|
|
|
List<PenaltyParamVO> result = finePenaltyDao.findPenaltyList01(param);
|
|
for(PenaltyParamVO rs : result){
|
|
rs.setFilePath(cfsCommonService.findCommonSecureGet("IMG_UP_URL")+rs.getYear()+"/"+rs.getFareOfficeId()+"/"+rs.getYear()+rs.getMonth()+rs.getDay());
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList02(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> result = finePenaltyDao.findPenaltyList02(param);
|
|
for(PenaltyParamVO rs : result){
|
|
rs.setFilePath(cfsCommonService.findCommonSecureGet("IMG_UP_URL")+rs.getYear()+"/"+rs.getFareOfficeId()+"/"+rs.getYear()+rs.getMonth()+rs.getDay());
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public void penaltyListFileCreate(List<PenaltyParamVO> paramList) throws Exception {
|
|
//List<PenaltyParamVO> penaltyList = findPenaltyList(param);
|
|
for(PenaltyParamVO param : paramList){
|
|
int penaltyHistoryHeadInfoCnt = 0;
|
|
param.setLoginUserNm(HttpUtil.getEmpNm());
|
|
switch (param.getStage()) {
|
|
case "0":
|
|
logger.info("사전통지대상자 File 생성");
|
|
|
|
param.setMotionId("20");
|
|
penaltyHistoryHeadInfoCnt = finePenaltyDao.countPenaltyHistoryHeadInfo(param);
|
|
|
|
if(penaltyHistoryHeadInfoCnt == 0) {
|
|
finePenaltyDao.createPenaltyHistoryHeadInfo(param);
|
|
}
|
|
|
|
//for(PenaltyParamVO pReulst: penaltyList) {
|
|
param.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
finePenaltyDao.updatepenaltyDetailInfoDamo(param);
|
|
finePenaltyDao.updateFileDefaultCars(param);
|
|
finePenaltyDao.createPenaltyHistoryInfoDamo(param);
|
|
finePenaltyDao.createPenaltyHistoryDetailInfo(param);
|
|
//}
|
|
|
|
//param.setCount(penaltyList.size());
|
|
finePenaltyDao.updatePenaltyHistoryHeadInfo(param);
|
|
//for(PenaltyParamVO pReulst: penaltyList) {
|
|
//Map <String, String> etaxCnt = null;
|
|
//etaxCnt = finePenaltyDao.findPenaltyEtaxChk(pReulst);
|
|
//if(String.valueOf(etaxCnt.get("nCnt")).equals("0")){
|
|
//파일이 없는경우
|
|
param.setMotionFlag("00");
|
|
param.setLoginUserNm(HttpUtil.getEmpNm());
|
|
//}
|
|
//}
|
|
|
|
logger.info("사전통지대상자 File 생성 끝");
|
|
break;
|
|
|
|
case "1":
|
|
logger.info("1차 통지대상자 File 생성");
|
|
|
|
param.setMotionId("30");
|
|
penaltyHistoryHeadInfoCnt = finePenaltyDao.countPenaltyHistoryHeadInfo(param);
|
|
|
|
if(penaltyHistoryHeadInfoCnt == 0) {
|
|
finePenaltyDao.createPenaltyHistoryHeadInfo(param);
|
|
}
|
|
|
|
//for(PenaltyParamVO pReulst: penaltyList) {
|
|
param.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
finePenaltyDao.updatepenaltyDetailInfoDamo(param);
|
|
finePenaltyDao.updateFileDefaultCars(param);
|
|
finePenaltyDao.createPenaltyHistoryInfoDamo(param);
|
|
finePenaltyDao.createPenaltyHistoryDetailInfo(param);
|
|
//}
|
|
|
|
param.setCount(1);
|
|
finePenaltyDao.updatePenaltyHistoryHeadInfo(param);
|
|
//for(PenaltyParamVO pReulst: penaltyList) {
|
|
//Map <String, String> etaxCnt = null;
|
|
//etaxCnt = finePenaltyDao.findPenaltyEtaxChk(pReulst);
|
|
//if(String.valueOf(etaxCnt.get("nCnt")).equals("0")){
|
|
//파일이 없는경우
|
|
param.setMotionFlag("10");
|
|
param.setLoginUserNm(HttpUtil.getEmpNm());
|
|
//}
|
|
//}
|
|
logger.info("1차 통지대상자 File 생성 끝");
|
|
break;
|
|
|
|
case "2":
|
|
logger.info("2차 통지대상자 File 생성");
|
|
|
|
param.setMotionId("40");
|
|
penaltyHistoryHeadInfoCnt = finePenaltyDao.countPenaltyHistoryHeadInfo(param);
|
|
|
|
if(penaltyHistoryHeadInfoCnt == 0) {
|
|
finePenaltyDao.createPenaltyHistoryHeadInfo(param);
|
|
}
|
|
|
|
//for(PenaltyParamVO pReulst: penaltyList) {
|
|
param.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
finePenaltyDao.updatepenaltyDetailInfoDamo(param);
|
|
finePenaltyDao.updateFileDefaultCars(param);
|
|
finePenaltyDao.createPenaltyHistoryInfoDamo(param);
|
|
finePenaltyDao.createPenaltyHistoryDetailInfo(param);
|
|
|
|
//2차 납부대상자이므로 외국인차량의 차적정보를 수정한다.
|
|
if(finePenaltyDao.countForeignCars(param) > 0) {
|
|
finePenaltyDao.updateForeignCars(param);
|
|
}
|
|
//}
|
|
|
|
//param.setCount(penaltyList.size());
|
|
finePenaltyDao.updatePenaltyHistoryHeadInfo(param);
|
|
//for(PenaltyParamVO pReulst: penaltyList) {
|
|
//Map <String, String> etaxCnt = null;
|
|
//etaxCnt = finePenaltyDao.findPenaltyEtaxChk(pReulst);
|
|
//if(String.valueOf(etaxCnt.get("nCnt")).equals("0")){
|
|
//파일이 없는경우
|
|
param.setMotionFlag("20");
|
|
param.setLoginUserNm(HttpUtil.getEmpNm());
|
|
//}
|
|
//}
|
|
logger.info("2차 통지대상자 File 생성 끝");
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList03(PenaltyParamVO param) throws Exception {
|
|
if(!StringUtil.isNullOrEmpty(param.getReturnReasonId())) {
|
|
param.setReturnReasonIdArr(param.getReturnReasonId().split("\\|\\|"));
|
|
}
|
|
List<PenaltyParamVO> result = finePenaltyDao.findPenaltyList03(param);
|
|
for(PenaltyParamVO rs : result){
|
|
rs.setFilePath(cfsCommonService.findCommonSecureGet("IMG_UP_URL")+rs.getYear()+"/"+rs.getFareOfficeId()+"/"+rs.getYear()+rs.getMonth()+rs.getDay());
|
|
}
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList04(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> rtnList = new ArrayList<PenaltyParamVO>();
|
|
|
|
switch (param.getStage()) {
|
|
case "0":
|
|
logger.info("사전통지 부과 대장 조회");
|
|
switch (param.getMotion()) {
|
|
case "1":
|
|
param.setMotionId("21");
|
|
break;
|
|
case "2":
|
|
param.setMotionId("23");
|
|
break;
|
|
case "3":
|
|
param.setMotionId("25");
|
|
break;
|
|
default :
|
|
}
|
|
rtnList = finePenaltyDao.findPenaltyList04(param);
|
|
break;
|
|
|
|
case "1":
|
|
logger.info("1차통지 부과 대장 조회");
|
|
switch (param.getMotion()) {
|
|
case "1":
|
|
param.setMotionId("31");
|
|
break;
|
|
case "2":
|
|
param.setMotionId("33");
|
|
break;
|
|
case "3":
|
|
param.setMotionId("35");
|
|
break;
|
|
default :
|
|
}
|
|
rtnList = finePenaltyDao.findPenaltyList04(param);
|
|
break;
|
|
|
|
case "2":
|
|
logger.info("2차통지 부과 대장 조회");
|
|
switch (param.getMotion()) {
|
|
case "1":
|
|
param.setMotionId("41");
|
|
break;
|
|
case "2":
|
|
param.setMotionId("43");
|
|
break;
|
|
case "3":
|
|
param.setMotionId("45");
|
|
break;
|
|
default :
|
|
}
|
|
rtnList = finePenaltyDao.findPenaltyList04(param);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return rtnList;
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList04_1(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> rtnList = new ArrayList<PenaltyParamVO>();
|
|
|
|
switch (param.getStage()) {
|
|
case "0":
|
|
logger.info("사전통지 부과 대장 조회");
|
|
switch (param.getMotion()) {
|
|
case "1":
|
|
param.setMotionId("21");
|
|
break;
|
|
case "2":
|
|
param.setMotionId("23");
|
|
break;
|
|
case "3":
|
|
param.setMotionId("25");
|
|
break;
|
|
default :
|
|
}
|
|
rtnList = finePenaltyDao.findPenaltyList04_1(param);
|
|
break;
|
|
|
|
case "1":
|
|
logger.info("1차통지 부과 대장 조회");
|
|
switch (param.getMotion()) {
|
|
case "1":
|
|
param.setMotionId("31");
|
|
break;
|
|
case "2":
|
|
param.setMotionId("33");
|
|
break;
|
|
case "3":
|
|
param.setMotionId("35");
|
|
break;
|
|
default :
|
|
}
|
|
rtnList = finePenaltyDao.findPenaltyList04_1(param);
|
|
break;
|
|
|
|
case "2":
|
|
logger.info("2차통지 부과 대장 조회");
|
|
switch (param.getMotion()) {
|
|
case "1":
|
|
param.setMotionId("41");
|
|
break;
|
|
case "2":
|
|
param.setMotionId("43");
|
|
break;
|
|
case "3":
|
|
param.setMotionId("45");
|
|
break;
|
|
default :
|
|
}
|
|
rtnList = finePenaltyDao.findPenaltyList04_1(param);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return rtnList;
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList05(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> result = null;
|
|
if(param.getRentKbn().equals("1")){
|
|
result = finePenaltyDao.findPenaltyRentList05(param);
|
|
}else{
|
|
result = finePenaltyDao.findPenaltyList05(param);
|
|
}
|
|
for(PenaltyParamVO rs : result){
|
|
rs.setFilePath(cfsCommonService.findCommonSecureGet("IMG_UP_URL")+rs.getYear()+"/"+rs.getFareOfficeId()+"/"+rs.getYear()+rs.getMonth()+rs.getDay());
|
|
}
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList06(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList06(param);
|
|
}
|
|
|
|
//압류 촉탁 대상자 File 생성 - 압류 대상자 조회(기존 압류 대상자는 제외)
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList07(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> resultList = new ArrayList<PenaltyParamVO>();
|
|
|
|
resultList = finePenaltyDao.findPenaltyList07oneRow(param); //압류대상 상세 조회
|
|
|
|
|
|
|
|
return resultList;
|
|
}
|
|
|
|
//압류 촉탁 대상자 File 생성 - 압류 대상자 조회(기존 압류 대상자는 제외)
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyRentList07(PenaltyParamVO param) {
|
|
List<PenaltyParamVO> resultList = new ArrayList<PenaltyParamVO>();
|
|
try{
|
|
List<PenaltyParamVO> rtnList1 = finePenaltyDao.findPenaltyRentList0701(param); //압류대상 자료 조회
|
|
|
|
//System.out.println("################# 압류 대상자 조회 : 시작 ");
|
|
|
|
for(PenaltyParamVO rtnVal : rtnList1) {
|
|
System.out.println("죽는위치");
|
|
rtnVal.setPenaltyDateFrom(param.getPenaltyDateFrom());
|
|
rtnVal.setPenaltyDateTo(param.getPenaltyDateTo());
|
|
//System.out.println("################# 압류 대상자 조회 - carNo : " + rtnVal.getCarNo());
|
|
//System.out.println("################# 압류 대상자 조회 - residentNo : " + rtnVal.getResidentNo());
|
|
//System.out.println("################# 압류 대상자 조회 - nCnt : " + rtnVal.getnCnt());
|
|
|
|
|
|
PenaltyParamVO resultParam = finePenaltyDao.findPenaltyRentList07oneRow(rtnVal); //압류대상 상세 조회
|
|
resultParam.setnCnt(rtnVal.getnCnt());
|
|
resultList.add(resultParam);
|
|
}
|
|
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return resultList;
|
|
}
|
|
|
|
//압류촉탁관리 - 자동차 등록 압류 촉탁서 - 조회
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList08(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> resultList = new ArrayList<PenaltyParamVO>();
|
|
|
|
List<PenaltyParamVO> rtnList1 = finePenaltyDao.findPenaltyList08(param); //PENALTY_DETAIL_INFO_DAMO, PENALTY_DETAIL_INFO_DAMO, DEFAULT_CARS_TRANS_INFO_DAMO - SELECT
|
|
/*
|
|
for(PenaltyParamVO rtnVal : rtnList1) {
|
|
rtnVal.setPenaltyDateFrom(param.getPenaltyDateFrom());
|
|
rtnVal.setPenaltyDateTo(param.getPenaltyDateTo());
|
|
List<PenaltyParamVO> rList = finePenaltyDao.findPenaltyList08(rtnVal); //PENALTY_DETAIL_INFO_DAMO, PENALTY_DETAIL_INFO_DAMO, DEFAULT_CARS_TRANS_INFO_DAMO - SELECT
|
|
|
|
if(CollectionUtils.isNotEmpty(rList)) {
|
|
PenaltyParamVO rParam = rList.get(0);
|
|
rParam.setnCnt(Integer.toString(rList.size()));
|
|
resultList.add(rParam);
|
|
}
|
|
}
|
|
*/
|
|
return rtnList1;
|
|
}
|
|
|
|
//압류촉탁관리 - 자동차 등록 압류 촉탁서 - 조회
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyRentList08(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> resultList = new ArrayList<PenaltyParamVO>();
|
|
|
|
List<PenaltyParamVO> rtnList1 = finePenaltyDao.findPenaltyRentList08(param); //PENALTY_DETAIL_INFO_DAMO, PENALTY_DETAIL_INFO_DAMO, DEFAULT_CARS_TRANS_INFO_DAMO - SELECT
|
|
/*
|
|
for(PenaltyParamVO rtnVal : rtnList1) {
|
|
rtnVal.setPenaltyDateFrom(param.getPenaltyDateFrom());
|
|
rtnVal.setPenaltyDateTo(param.getPenaltyDateTo());
|
|
List<PenaltyParamVO> rList = finePenaltyDao.findPenaltyList08(rtnVal); //PENALTY_DETAIL_INFO_DAMO, PENALTY_DETAIL_INFO_DAMO, DEFAULT_CARS_TRANS_INFO_DAMO - SELECT
|
|
|
|
if(CollectionUtils.isNotEmpty(rList)) {
|
|
PenaltyParamVO rParam = rList.get(0);
|
|
rParam.setnCnt(Integer.toString(rList.size()));
|
|
resultList.add(rParam);
|
|
}
|
|
}
|
|
*/
|
|
return rtnList1;
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList09(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> resultList = new ArrayList<PenaltyParamVO>();
|
|
|
|
List<PenaltyParamVO> rtnList1 = finePenaltyDao.findPenaltyList0901(param);
|
|
|
|
for(PenaltyParamVO rtnVal : rtnList1) {
|
|
rtnVal.setPenaltyDateFrom(param.getPenaltyDateFrom());
|
|
rtnVal.setPenaltyDateTo(param.getPenaltyDateTo());
|
|
List<PenaltyParamVO> rList = finePenaltyDao.findPenaltyList09(rtnVal);
|
|
|
|
if(CollectionUtils.isNotEmpty(rList)) {
|
|
PenaltyParamVO rParam = rList.get(0);
|
|
rParam.setnCnt(Integer.toString(rList.size()));
|
|
resultList.add(rParam);
|
|
}
|
|
}
|
|
|
|
return resultList;
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList10(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList10(param);
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList10P01(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList10P01(param);
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList11(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList11(param);
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList12(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList12(param);
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList13(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList13(param);
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList14(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList14(param);
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyDetlList14(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyDetlList14(param);
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList15(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList15(param);
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList1502(PenaltyParamVO param) throws Exception {
|
|
if("1".equals(param.getGubun())) {
|
|
return finePenaltyDao.findPenaltyList150201(param);
|
|
} else {
|
|
return finePenaltyDao.findPenaltyList150202(param);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList16(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList16(param);
|
|
}
|
|
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList17(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList17(param);
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList18(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findPenaltyList18(param);
|
|
}
|
|
|
|
@Override
|
|
public int countSendInfo(ParamBean param) throws Exception {
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
int rtnCnt = 0;
|
|
List paramList = (List) param.getParamList();
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
pItem.setSendDate(paramVO.getSendDate());
|
|
pItem.setDeliveryDate(paramVO.getDeliveryDate());
|
|
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
switch (paramVO.getStage()) {
|
|
case "0":
|
|
pItem.setMotionId("21");
|
|
break;
|
|
|
|
case "1":
|
|
pItem.setMotionId("31");
|
|
break;
|
|
|
|
case "2":
|
|
pItem.setMotionId("41");
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
//SEND_DATE 가 없으면 COUNT 하지 않는다.
|
|
if(!StringUtil.isNullOrEmpty(pItem.getSendDate())) {
|
|
rtnCnt += finePenaltyDao.countSendInfo(pItem);
|
|
}
|
|
}
|
|
|
|
return rtnCnt;
|
|
}
|
|
|
|
@Override
|
|
public int countSendInfo01(ParamBean param) throws Exception {
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
int rtnCnt = 0;
|
|
List paramList = (List) param.getParamList();
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
pItem.setPenaltyDateFrom(paramVO.getPenaltyDateFrom());
|
|
pItem.setPenaltyDateTo(paramVO.getPenaltyDateTo());
|
|
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
switch (paramVO.getStage()) {
|
|
case "0":
|
|
pItem.setMotionId("23");
|
|
break;
|
|
|
|
case "1":
|
|
pItem.setMotionId("33");
|
|
break;
|
|
|
|
case "2":
|
|
pItem.setMotionId("43");
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
rtnCnt += finePenaltyDao.countPenaltyHistoryHeadInfo(pItem);
|
|
}
|
|
|
|
return rtnCnt;
|
|
}
|
|
|
|
@Override
|
|
public int countSendInfo02(ParamBean param) throws Exception {
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
int rtnCnt = 0;
|
|
List paramList = (List) param.getParamList();
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
pItem.setPenaltyDateFrom(paramVO.getPenaltyDateFrom());
|
|
pItem.setPenaltyDateTo(paramVO.getPenaltyDateTo());
|
|
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
switch (paramVO.getStage()) {
|
|
case "0":
|
|
pItem.setMotionId("25");
|
|
break;
|
|
|
|
case "1":
|
|
pItem.setMotionId("35");
|
|
break;
|
|
|
|
case "2":
|
|
pItem.setMotionId("45");
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
rtnCnt += finePenaltyDao.countPenaltyHistoryHeadInfo(pItem);
|
|
}
|
|
|
|
return rtnCnt;
|
|
}
|
|
|
|
@Override
|
|
public int countSendInfo05(ParamBean param) throws Exception {
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
int rtnCnt = 0;
|
|
List paramList = (List) param.getParamList();
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
pItem.setPenaltyDateFrom(paramVO.getPenaltyDateFrom());
|
|
pItem.setPenaltyDateTo(paramVO.getPenaltyDateTo());
|
|
pItem.setMotionId("43");
|
|
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
rtnCnt += finePenaltyDao.countPenaltyHistoryHeadInfo(pItem);
|
|
}
|
|
|
|
return rtnCnt;
|
|
}
|
|
|
|
//압류 촉탁 대상자 File 생성 여부 확인 - 파일생성
|
|
@Override
|
|
public int countSendInfo07(ParamBean param) throws Exception {
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
|
|
int rtnCnt = 0;
|
|
List paramList = (List) param.getParamList();
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
pItem.setPenaltyDateFrom(paramVO.getPenaltyDateFrom());
|
|
pItem.setPenaltyDateTo(paramVO.getPenaltyDateTo());
|
|
|
|
}
|
|
|
|
return rtnCnt;
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public String findDueDayForPayment(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findDueDayForPayment(param);
|
|
}
|
|
|
|
@Override
|
|
public String findDueDayForDefPayment(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findDueDayForDefPayment(param);
|
|
}
|
|
|
|
private int countSendInfo(PenaltyParamVO param) throws Exception {
|
|
if(!StringUtil.isNullOrEmpty(param.getSendDate())) {
|
|
return finePenaltyDao.countSendInfo(param);
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void createSendInfo(ParamBean param) throws Exception {
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
List paramList = (List) param.getParamList();
|
|
|
|
paramVO.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
int updateCnt = 0;
|
|
String stageNm = "";
|
|
String stageMotionId = "";
|
|
|
|
switch (paramVO.getStage()) {
|
|
case "0":
|
|
stageNm = "사전통지";
|
|
stageMotionId = "21";
|
|
break;
|
|
|
|
case "1":
|
|
stageNm = "1차 통지";
|
|
stageMotionId = "31";
|
|
break;
|
|
|
|
case "2":
|
|
stageNm = "2차 통지";
|
|
stageMotionId = "41";
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
logger.info(stageNm + " 고지서 발송");
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
|
|
//체크박스 체크된 건에 대해서만 고지서 발송
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
pItem.setSendDate(paramVO.getSendDate());
|
|
pItem.setDeliveryDate(paramVO.getDeliveryDate());
|
|
pItem.setPenaltyDateFrom(paramVO.getPenaltyDateFrom());
|
|
pItem.setPenaltyDateTo(paramVO.getPenaltyDateTo());
|
|
pItem.setMotionId(stageMotionId);
|
|
pItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
int penaltyHistoryHeadInfoCnt = finePenaltyDao.countPenaltyHistoryHeadInfo(pItem);
|
|
|
|
if(penaltyHistoryHeadInfoCnt == 0) {
|
|
//과태료 이력 Head 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryHeadInfo(pItem);
|
|
}
|
|
|
|
//1. 발송정보 등록
|
|
if(countSendInfo(pItem) > 0) {
|
|
finePenaltyDao.updateSendInfo(pItem);
|
|
} else {
|
|
finePenaltyDao.createSendInfo(pItem);
|
|
}
|
|
|
|
//과태료 Detail 정보 업데이트
|
|
finePenaltyDao.updatepenaltyDetailInfoDamo(pItem);
|
|
//과태료 변경 이력 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryInfoDamo(pItem);
|
|
//과태료 이력 Detail 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryDetailInfo(pItem);
|
|
|
|
updateCnt++;
|
|
}
|
|
|
|
//3. 과태료 이력 Head 정보 작성건수 업데이트
|
|
paramVO.setCount(updateCnt);
|
|
paramVO.setMotionId(stageMotionId);
|
|
finePenaltyDao.updatePenaltyHistoryHeadInfo(paramVO);
|
|
|
|
logger.info(stageNm + " 고지서 " + updateCnt + " 건 발송 끝");
|
|
}
|
|
|
|
@Override
|
|
public void createSendInfo01(ParamBean param) throws Exception {
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
List paramList = (List) param.getParamList();
|
|
|
|
paramVO.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
int updateCnt = 0;
|
|
String stageNm = "";
|
|
String stageMotionId = "";
|
|
|
|
switch (paramVO.getStage()) {
|
|
case "0":
|
|
stageNm = "사전통지";
|
|
stageMotionId = "23";
|
|
break;
|
|
|
|
case "1":
|
|
stageNm = "1차 통지";
|
|
stageMotionId = "33";
|
|
break;
|
|
|
|
case "2":
|
|
stageNm = "2차 통지";
|
|
stageMotionId = "43";
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
logger.info(stageNm + " 고지서 재발행");
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
|
|
//체크박스 체크된 건에 대해서만 고지서 발송
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
pItem.setSendDate(paramVO.getSendDate());
|
|
pItem.setDeliveryDate(paramVO.getDeliveryDate());
|
|
pItem.setPenaltyDateFrom(paramVO.getPenaltyDateFrom());
|
|
pItem.setPenaltyDateTo(paramVO.getPenaltyDateTo());
|
|
pItem.setMotionId(stageMotionId);
|
|
pItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
int penaltyHistoryHeadInfoCnt = finePenaltyDao.countPenaltyHistoryHeadInfo(pItem);
|
|
|
|
if(penaltyHistoryHeadInfoCnt == 0) {
|
|
//과태료 이력 Head 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryHeadInfo(pItem);
|
|
}
|
|
|
|
//1. 발송정보 등록
|
|
if(countSendInfo(pItem) > 0) {
|
|
finePenaltyDao.updateSendInfo(pItem);
|
|
} else {
|
|
finePenaltyDao.createSendInfo(pItem);
|
|
}
|
|
|
|
//과태료 Detail 정보 업데이트
|
|
finePenaltyDao.updatepenaltyDetailInfoDamo(pItem);
|
|
|
|
//과태료 변경 이력 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryInfoDamo(pItem);
|
|
//과태료 이력 Detail 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryDetailInfo(pItem);
|
|
|
|
updateCnt++;
|
|
}
|
|
|
|
//3. 과태료 이력 Head 정보 작성건수 업데이트
|
|
paramVO.setCount(updateCnt);
|
|
paramVO.setMotionId(stageMotionId);
|
|
finePenaltyDao.updatePenaltyHistoryHeadInfo(paramVO);
|
|
|
|
logger.info(stageNm + " 고지서 " + updateCnt + " 건 재발행 끝");
|
|
}
|
|
|
|
@Override
|
|
public void createSendInfo02(ParamBean param) throws Exception {
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
List paramList = (List) param.getParamList();
|
|
|
|
paramVO.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
int updateCnt = 0;
|
|
String stageNm = "";
|
|
String stageMotionId = "";
|
|
|
|
switch (paramVO.getStage()) {
|
|
case "0":
|
|
stageNm = "사전통지";
|
|
stageMotionId = "25";
|
|
break;
|
|
|
|
case "1":
|
|
stageNm = "1차 통지";
|
|
stageMotionId = "35";
|
|
break;
|
|
|
|
case "2":
|
|
stageNm = "2차 통지";
|
|
stageMotionId = "45";
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
logger.info(stageNm + " 고지서 반송분 발송");
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
|
|
//체크박스 체크된 건에 대해서만 고지서 발송
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
pItem.setSendDate(paramVO.getSendDate());
|
|
pItem.setDeliveryDate(paramVO.getDeliveryDate());
|
|
pItem.setPenaltyDateFrom(paramVO.getPenaltyDateFrom());
|
|
pItem.setPenaltyDateTo(paramVO.getPenaltyDateTo());
|
|
pItem.setMotionId(stageMotionId);
|
|
pItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
int penaltyHistoryHeadInfoCnt = finePenaltyDao.countPenaltyHistoryHeadInfo(pItem);
|
|
|
|
if(penaltyHistoryHeadInfoCnt == 0) {
|
|
//과태료 이력 Head 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryHeadInfo(pItem);
|
|
}
|
|
|
|
//1. 발송정보 등록
|
|
if(countSendInfo(pItem) > 0) {
|
|
finePenaltyDao.updateSendInfo(pItem);
|
|
} else {
|
|
finePenaltyDao.createSendInfo(pItem);
|
|
}
|
|
|
|
//과태료 Detail 정보 업데이트
|
|
finePenaltyDao.updatepenaltyDetailInfoDamo(pItem);
|
|
//과태료 변경 이력 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryInfoDamo(pItem);
|
|
//과태료 이력 Detail 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryDetailInfo(pItem);
|
|
|
|
updateCnt++;
|
|
}
|
|
|
|
//3. 과태료 이력 Head 정보 작성건수 업데이트
|
|
paramVO.setCount(updateCnt);
|
|
paramVO.setMotionId(stageMotionId);
|
|
finePenaltyDao.updatePenaltyHistoryHeadInfo(paramVO);
|
|
|
|
logger.info(stageNm + " 고지서 " + updateCnt + " 건 반송분 발송 끝");
|
|
}
|
|
|
|
@Override
|
|
public void createSendInfo05(ParamBean param) throws Exception {
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
List paramList = (List) param.getParamList();
|
|
|
|
paramVO.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
int updateCnt = 0;
|
|
String stageNm = "2차 과태료 독촉";
|
|
String stageMotionId = "47";
|
|
|
|
|
|
logger.info(stageNm + " 고지서 발송");
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
|
|
//체크박스 체크된 건에 대해서만 고지서 발송
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
pItem.setPenaltyDateFrom(paramVO.getPenaltyDateFrom());
|
|
pItem.setPenaltyDateTo(paramVO.getPenaltyDateTo());
|
|
pItem.setMotionId(stageMotionId);
|
|
pItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
int penaltyHistoryHeadInfoCnt = finePenaltyDao.countPenaltyHistoryHeadInfo(pItem); //PENALTY_HISTORY_HEAD_INFO - COUNT
|
|
|
|
if(penaltyHistoryHeadInfoCnt == 0) {
|
|
//과태료 이력 Head 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryHeadInfo(pItem);
|
|
}
|
|
|
|
//1. 발송정보 등록
|
|
if(countSendInfo(pItem) > 0) {
|
|
finePenaltyDao.updateSendInfo(pItem);
|
|
} else {
|
|
finePenaltyDao.createSendInfo(pItem);
|
|
}
|
|
|
|
//과태료 Detail 정보 업데이트
|
|
finePenaltyDao.updatepenaltyDetailInfoDamo(pItem);
|
|
//과태료 변경 이력 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryInfoDamo(pItem);
|
|
//과태료 이력 Detail 정보 등록
|
|
finePenaltyDao.createPenaltyHistoryDetailInfo(pItem);
|
|
|
|
updateCnt++;
|
|
}
|
|
|
|
//3. 과태료 이력 Head 정보 작성건수 업데이트
|
|
paramVO.setCount(updateCnt);
|
|
paramVO.setMotionId(stageMotionId);
|
|
finePenaltyDao.updatePenaltyHistoryHeadInfo(paramVO);
|
|
|
|
logger.info(stageNm + " 고지서 " + updateCnt + " 건 반송분 발송 끝");
|
|
}
|
|
|
|
//압류 촉탁 대상자 File 생성 - 압류 촉탁 대상자 선정(71) - 처리
|
|
@Override
|
|
public void createSendInfo07(ParamBean param) throws Exception {
|
|
|
|
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
logger.info("압류");
|
|
logger.info(paramVO.toString());
|
|
logger.info(paramMap.toString());
|
|
|
|
List paramList = (List) param.getParamList();
|
|
|
|
logger.info(paramList.toString());
|
|
|
|
boolean penaltyHistoryHeadInfo = false;
|
|
int updateCnt = 0;
|
|
|
|
logger.info("압류 촉탁 대상자 File 생성");
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
pItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
|
|
//체크 된 것만 처리 @@@@@@@@@@@@@@@@@@@@@@
|
|
if(!"1".equals(pItem.getChk()) ) {
|
|
continue;
|
|
}
|
|
|
|
updateCnt++;
|
|
|
|
pItem.setPenaltyDateFrom(paramVO.getPenaltyDateFrom());
|
|
pItem.setPenaltyDateTo(paramVO.getPenaltyDateTo());
|
|
|
|
pItem.setMotionId("71");
|
|
pItem.setSessionUserNm(HttpUtil.getEmpNm()); //사용자명
|
|
|
|
|
|
if(!penaltyHistoryHeadInfo) {
|
|
int penaltyHistoryHeadInfoCnt = finePenaltyDao.countPenaltyHistoryHeadInfo(pItem); //PENALTY_HISTORY_HEAD_INFO - COUNT
|
|
|
|
//System.out.println("################# 자료 : penaltyHistoryHeadInfoCnt : " + penaltyHistoryHeadInfoCnt);
|
|
|
|
if(penaltyHistoryHeadInfoCnt == 0) {
|
|
// finePenaltyDao.createPenaltyHistoryHeadInfo(pItem); //PENALTY_HISTORY_HEAD_INFO - INSERT
|
|
}
|
|
|
|
//한번만 등록 한다.
|
|
penaltyHistoryHeadInfo = true;
|
|
}
|
|
//
|
|
// //같은 차량 + 주민번호에 대해서는 1번만 처리됨.
|
|
//210802 같은 차량 중복 압류 처리
|
|
//System.out.println("################# 자료 : countPenaltyDetailInfo : " + "start");
|
|
pItem.setLoginUserNm(HttpUtil.getEmpNm()); //사용자명
|
|
pItem.setSeizureManageYear(paramVO.getSeisureDate().substring(0,4)); //압류년도
|
|
pItem.setSeizureManageNo(Integer.toString(finePenaltyDao.findMaxSeizureManageNo(pItem) + 1)); //압류번호 SEIZURE_INFO - NVL (MAX (SEIZURE_MANAGE_NO), 0)
|
|
pItem.setSeisureDate(paramVO.getSeisureDate()); //압류일자
|
|
pItem.setnCnt("1"); //압류건수
|
|
pItem.setSeizureAmount(pItem.getLavyAmount()); //압류금액
|
|
|
|
//System.out.println("################# 자료 : SEIZURE_INFO : " + "INSERT");
|
|
finePenaltyDao.insertSeizureInfo(pItem); //SEIZURE_INFO - INSERT
|
|
//System.out.println("################# 자료 : PENALTY_DETAIL_INFO_DAMO : " + "UPDATE");
|
|
finePenaltyDao.updatepenaltyDetailInfoDamoSeizure(pItem); //PENALTY_DETAIL_INFO_DAMO - UPDATE
|
|
finePenaltyDao.updatepenaltyDetailRentInfoDamoSeizure(pItem); //PENALTY_RENT_DETAIL_INFO - UPDATE
|
|
finePenaltyDao.updateDefaultCarsTransSeizure(pItem); //DEFAULT_CARS_TRANS_INFO_DAMO - UPDATE
|
|
if(finePenaltyDao.countPenaltyHistoryInfo(pItem) == 0) { //PENALTY_HISTORY_INFO_DAMO - COUNT(*)
|
|
//System.out.println("################# 자료 : PENALTY_HISTORY_INFO_DAMO : " + "INSERT");
|
|
finePenaltyDao.createPenaltyHistoryInfoDamo(pItem); //PENALTY_HISTORY_INFO_DAMO - INSERT
|
|
}else {
|
|
//System.out.println("################# 자료 : PENALTY_DETAIL_INFO_DAMO : " + "SELECT");
|
|
PenaltyParamVO rtnVal = finePenaltyDao.findPenaltyDetailInfo(pItem); //PENALTY_DETAIL_INFO_DAMO - SELECT NOTICE_
|
|
rtnVal.setLoginUserNm(HttpUtil.getEmpNm());
|
|
rtnVal.setPenaltyManageYear(pItem.getPenaltyManageYear());
|
|
rtnVal.setPenaltySeqno(pItem.getPenaltySeqno());
|
|
|
|
//System.out.println("################# 자료 : getMotionId : " + rtnVal.getMotionId());
|
|
//51:민원접수인 경우
|
|
if("51".equals(rtnVal.getMotionId())) {
|
|
finePenaltyDao.updatePenaltyHistoryInfoDamoSeizure01(pItem); //PENALTY_HISTORY_INFO_DAMO - UPDATE
|
|
} else {
|
|
finePenaltyDao.updatePenaltyHistoryInfoDamoSeizure02(rtnVal); //PENALTY_HISTORY_INFO_DAMO - UPDATE
|
|
}
|
|
}
|
|
|
|
//System.out.println("################# 자료 : PENALTY_HISTORY_DETAIL_I_DAMO : " + "INSERT");
|
|
finePenaltyDao.createPenaltyHistoryDetailInfo(pItem); //PENALTY_HISTORY_DETAIL_I_DAMO - INSERT
|
|
|
|
//소유주 와 주민번호가 차적 정보와 같으면 주소를 수정 처리함.
|
|
System.out.println("################# 자료 : getOwner : " + pItem.getOwner());
|
|
System.out.println("################# 자료 : getOwner1 : " + pItem.getOwner1());
|
|
System.out.println("################# 자료 : getResidentNo : " + pItem.getResidentNo());
|
|
System.out.println("################# 자료 : getResidentNo1 : " + pItem.getResidentNo1());
|
|
System.out.println("################# 자료 : getAddress1 : " + pItem.getAddress1());
|
|
if( pItem.getOwner() == pItem.getOwner1() && pItem.getResidentNo() == pItem.getResidentNo1() && pItem.getAddress1() != "" ) {
|
|
//System.out.println("################# 자료 : DEFAULT_CARS_TRANS_INFO_DAMO : " + "UPDATE");
|
|
finePenaltyDao.updateDefaultTransInfoAddr(pItem); //DEFAULT_CARS_TRANS_INFO_DAMO - UPDATE
|
|
finePenaltyDao.updatePenaltyAddressUpdateInfoAddr(pItem); //PENALTY_ADDRESS_UPDATE_I_DAMO - INSERT
|
|
finePenaltyDao.updatePenaltyHeadInfoAddr(pItem); //PENALTY_DETAIL_INFO_DAMO - UPDATE
|
|
}
|
|
}
|
|
// } //for
|
|
|
|
paramVO.setMotionId("71");
|
|
paramVO.setCount(updateCnt);
|
|
//System.out.println("################# 자료 : PENALTY_HISTORY_HEAD_INFO : " + "UPDATE");
|
|
finePenaltyDao.updatePenaltyHistoryHeadInfo(paramVO); //PENALTY_HISTORY_HEAD_INFO - UPDATE
|
|
|
|
|
|
logger.info("압류 촉탁 대상자 File 생성 완료");
|
|
}
|
|
|
|
//압류 촉탁 대상자 File 생성 - 압류 촉탁 대상자 선정(71) - 처리
|
|
@Override
|
|
public void createSendRentInfo07(ParamBean param) throws Exception {
|
|
|
|
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
List paramList = (List) param.getParamList();
|
|
|
|
boolean penaltyHistoryHeadInfo = false;
|
|
int updateCnt = 0;
|
|
|
|
logger.info("압류 촉탁 대상자 File 생성");
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
pItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
|
|
//System.out.println("################# 자료 : for i : " + i);
|
|
|
|
//체크 된 것만 처리 @@@@@@@@@@@@@@@@@@@@@@
|
|
if(!"1".equals(pItem.getChk()) ) {
|
|
continue;
|
|
}
|
|
|
|
updateCnt++;
|
|
|
|
pItem.setPenaltyDateFrom(paramVO.getPenaltyDateFrom());
|
|
pItem.setPenaltyDateTo(paramVO.getPenaltyDateTo());
|
|
|
|
pItem.setMotionId("71");
|
|
pItem.setSessionUserNm(HttpUtil.getEmpNm()); //사용자명
|
|
|
|
if(!penaltyHistoryHeadInfo) {
|
|
int penaltyHistoryHeadInfoCnt = finePenaltyDao.countPenaltyHistoryHeadInfo(pItem); //PENALTY_HISTORY_HEAD_INFO - COUNT
|
|
|
|
//System.out.println("################# 자료 : penaltyHistoryHeadInfoCnt : " + penaltyHistoryHeadInfoCnt);
|
|
|
|
if(penaltyHistoryHeadInfoCnt == 0) {
|
|
finePenaltyDao.createPenaltyHistoryHeadInfo(pItem); //PENALTY_HISTORY_HEAD_INFO - INSERT
|
|
}
|
|
|
|
//한번만 등록 한다.
|
|
penaltyHistoryHeadInfo = true;
|
|
}
|
|
|
|
//같은 차량 + 주민번호에 대해서는 1번만 처리됨.
|
|
if(finePenaltyDao.countPenaltyDetailInfo(pItem) == 0) { //PENALTY_DETAIL_INFO_DAMO - COUNT (*) -- 압류대상여부 - 71, 72
|
|
//System.out.println("################# 자료 : countPenaltyDetailInfo : " + "start");
|
|
pItem.setLoginUserNm(HttpUtil.getEmpNm()); //사용자명
|
|
pItem.setSeizureManageYear(paramVO.getSeisureDate().substring(0,4)); //압류년도
|
|
pItem.setSeizureManageNo(Integer.toString(finePenaltyDao.findMaxSeizureManageNo(pItem) + 1)); //압류번호 SEIZURE_INFO - NVL (MAX (SEIZURE_MANAGE_NO), 0)
|
|
pItem.setSeisureDate(paramVO.getSeisureDate()); //압류일자
|
|
pItem.setnCnt("1"); //압류건수
|
|
pItem.setSeizureAmount(pItem.getLavyAmount()); //압류금액
|
|
|
|
//System.out.println("################# 자료 : SEIZURE_INFO : " + "INSERT");
|
|
finePenaltyDao.insertSeizureInfo(pItem); //SEIZURE_INFO - INSERT
|
|
//System.out.println("################# 자료 : PENALTY_DETAIL_INFO_DAMO : " + "UPDATE");
|
|
finePenaltyDao.updatepenaltyDetailInfoDamoSeizure(pItem); //PENALTY_DETAIL_INFO_DAMO - UPDATE
|
|
//finePenaltyDao.updateDefaultCarsTransSeizure(pItem); //DEFAULT_CARS_TRANS_INFO_DAMO - UPDATE
|
|
if(finePenaltyDao.countPenaltyHistoryInfo(pItem) == 0) { //PENALTY_HISTORY_INFO_DAMO - COUNT(*)
|
|
//System.out.println("################# 자료 : PENALTY_HISTORY_INFO_DAMO : " + "INSERT");
|
|
finePenaltyDao.createPenaltyHistoryInfoDamo(pItem); //PENALTY_HISTORY_INFO_DAMO - INSERT
|
|
}else {
|
|
//System.out.println("################# 자료 : PENALTY_DETAIL_INFO_DAMO : " + "SELECT");
|
|
PenaltyParamVO rtnVal = finePenaltyDao.findPenaltyDetailInfo(pItem); //PENALTY_DETAIL_INFO_DAMO - SELECT NOTICE_
|
|
rtnVal.setLoginUserNm(HttpUtil.getEmpNm());
|
|
rtnVal.setPenaltyManageYear(pItem.getPenaltyManageYear());
|
|
rtnVal.setPenaltySeqno(pItem.getPenaltySeqno());
|
|
|
|
//System.out.println("################# 자료 : getMotionId : " + rtnVal.getMotionId());
|
|
//51:민원접수인 경우
|
|
if("51".equals(rtnVal.getMotionId())) {
|
|
finePenaltyDao.updatePenaltyHistoryInfoDamoSeizure01(pItem); //PENALTY_HISTORY_INFO_DAMO - UPDATE
|
|
} else {
|
|
finePenaltyDao.updatePenaltyHistoryInfoDamoSeizure02(rtnVal); //PENALTY_HISTORY_INFO_DAMO - UPDATE
|
|
}
|
|
}
|
|
|
|
//System.out.println("################# 자료 : PENALTY_HISTORY_DETAIL_I_DAMO : " + "INSERT");
|
|
finePenaltyDao.createPenaltyHistoryDetailInfo(pItem); //PENALTY_HISTORY_DETAIL_I_DAMO - INSERT
|
|
|
|
//소유주 와 주민번호가 차적 정보와 같으면 주소를 수정 처리함.
|
|
//System.out.println("################# 자료 : getOwner : " + pItem.getOwner());
|
|
//System.out.println("################# 자료 : getOwner1 : " + pItem.getOwner1());
|
|
//System.out.println("################# 자료 : getResidentNo : " + pItem.getResidentNo());
|
|
//System.out.println("################# 자료 : getResidentNo1 : " + pItem.getResidentNo1());
|
|
//System.out.println("################# 자료 : getAddress1 : " + pItem.getAddress1());
|
|
if( pItem.getOwner() == pItem.getOwner1() && pItem.getResidentNo() == pItem.getResidentNo1() && pItem.getAddress1() != "" ) {
|
|
//System.out.println("################# 자료 : DEFAULT_CARS_TRANS_INFO_DAMO : " + "UPDATE");
|
|
//finePenaltyDao.updateDefaultTransInfoAddr(pItem); //DEFAULT_CARS_TRANS_INFO_DAMO - UPDATE
|
|
finePenaltyDao.updatePenaltyAddressUpdateInfoAddr(pItem); //PENALTY_ADDRESS_UPDATE_I_DAMO - INSERT
|
|
finePenaltyDao.updatePenaltyHeadInfoAddr(pItem); //PENALTY_DETAIL_INFO_DAMO - UPDATE
|
|
}
|
|
}
|
|
} //for
|
|
|
|
paramVO.setMotionId("71");
|
|
paramVO.setCount(updateCnt);
|
|
//System.out.println("################# 자료 : PENALTY_HISTORY_HEAD_INFO : " + "UPDATE");
|
|
finePenaltyDao.updatePenaltyHistoryHeadInfo(paramVO); //PENALTY_HISTORY_HEAD_INFO - UPDATE
|
|
|
|
|
|
logger.info("압류 촉탁 대상자 File 생성 완료");
|
|
}
|
|
|
|
//자동차 등록 압류 촉탁서 - 압류촉탁서 출력 처리
|
|
@Override
|
|
public void createSendInfo08(ParamBean param) throws Exception {
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
List paramList = (List) param.getParamList();
|
|
|
|
boolean penaltyHistoryHeadInfo = false;
|
|
int updateCnt = 0;
|
|
|
|
//System.out.println("################# 자료 : 자동차 등록 압류 촉탁서 출력 : " + "start");
|
|
logger.info("자동차 등록 압류 촉탁서 출력");
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
|
|
//check된 것만 처리
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
updateCnt++;
|
|
|
|
pItem.setPenaltyDateFrom(paramVO.getPenaltyDateFrom());
|
|
pItem.setPenaltyDateTo(paramVO.getPenaltyDateTo());
|
|
|
|
pItem.setMotionId("72");
|
|
|
|
if(!penaltyHistoryHeadInfo) {
|
|
//FUN_HISTORY_INS_CHK
|
|
int penaltyHistoryHeadInfoCnt = finePenaltyDao.countPenaltyHistoryHeadInfo(pItem); //PENALTY_HISTORY_HEAD_INFO - SELECT
|
|
//System.out.println("################# 자료 : penaltyHistoryHeadInfoCnt : " + penaltyHistoryHeadInfoCnt);
|
|
|
|
if(penaltyHistoryHeadInfoCnt == 0) {
|
|
//SP_HISTORY_HEAD_CREATE
|
|
//System.out.println("################# 자료 : PENALTY_HISTORY_HEAD_INFO : " + "INSERT");
|
|
finePenaltyDao.createPenaltyHistoryHeadInfo(pItem); //PENALTY_HISTORY_HEAD_INFO - INSERT
|
|
}
|
|
|
|
//한번만 등록 한다.
|
|
penaltyHistoryHeadInfo = true;
|
|
}
|
|
|
|
//SP_TFG001E_HIS_DETAIL_INS
|
|
//System.out.println("################# 자료 : PENALTY_HISTORY_DETAIL_I_DAMO : " + "INSERT");
|
|
finePenaltyDao.createPenaltyHistoryDetailInfo(pItem); //PENALTY_HISTORY_DETAIL_I_DAMO - INSERT
|
|
//SP_TFG002Q_UPDATE
|
|
//System.out.println("################# 자료 : PENALTY_DETAIL_INFO_DAMO : " + "UPDATE");
|
|
finePenaltyDao.updatepenaltyDetailInfoDamo02(pItem); //PENALTY_DETAIL_INFO_DAMO - UPDATE
|
|
//SP_HISTORY_INFO_CREATE
|
|
//System.out.println("################# 자료 : PENALTY_HISTORY_INFO_DAMO : " + "INSERT");
|
|
finePenaltyDao.createPenaltyHistoryInfoDamo(pItem); //PENALTY_HISTORY_INFO_DAMO - INSERT
|
|
|
|
//TODO
|
|
}
|
|
|
|
paramVO.setCount(updateCnt);
|
|
paramVO.setMotionId("72");
|
|
//SP_TFG001E_HIS_HEAD_UP
|
|
//System.out.println("################# 자료 : PENALTY_HISTORY_HEAD_INFO : " + "UPDATE");
|
|
finePenaltyDao.updatePenaltyHistoryHeadInfo(paramVO); //PENALTY_HISTORY_HEAD_INFO - UPDATE
|
|
|
|
logger.info("자동차 등록 압류 촉탁서 출력 완료");
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPrepayEtaxFileList(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> rtnList = new ArrayList<PenaltyParamVO>();
|
|
rtnList = finePenaltyDao.findPrepayEtaxFileList(param);
|
|
|
|
return rtnList;
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findEtaxFilePenaltyList(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> rtnList = new ArrayList<PenaltyParamVO>();
|
|
logger.info("param-motion_id = "+ param.getMotionId());
|
|
if(param.getMotionId().equals("095")){
|
|
rtnList = finePenaltyDao.findEtaxFileDunPenaltyList(param);
|
|
}else{
|
|
rtnList = finePenaltyDao.findEtaxFilePenaltyList(param);
|
|
}
|
|
|
|
return rtnList;
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findEtaxFileDefList(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> rtnList = new ArrayList<PenaltyParamVO>();
|
|
rtnList = finePenaltyDao.findEtaxFileDefList(param);
|
|
|
|
return rtnList;
|
|
}
|
|
|
|
@Override
|
|
public Map<String, Object> findEtaxFileChargeInfo() throws Exception {
|
|
Map<String, Object> param = new HashMap<String, Object>();
|
|
param.put("chargeId", "ETAX");
|
|
|
|
Map<String, Object> rMap = new HashMap<String, Object>();
|
|
|
|
List<Map<String, Object>> rtnList = codeInfoDao.findChargeCodeInfoList(param);
|
|
|
|
for (Map<String, Object> rtnMap : rtnList) {
|
|
|
|
String comCd = (String) rtnMap.get("COM_CD");
|
|
|
|
if("DAMDANG".equals(comCd)) {
|
|
rMap.put("damdang", (String) rtnMap.get("CODE_NM"));
|
|
} else if("DEPT".equals(comCd)) {
|
|
rMap.put("dept", (String) rtnMap.get("CODE_NM"));
|
|
} else if("TELNO".equals(comCd)) {
|
|
rMap.put("telno", (String) rtnMap.get("CODE_NM"));
|
|
}
|
|
|
|
logger.info(rMap.toString());
|
|
}
|
|
|
|
return rMap;
|
|
}
|
|
|
|
@Override
|
|
public Map<String, Object> findEtaxFileChargeRentInfo() throws Exception {
|
|
Map<String, Object> param = new HashMap<String, Object>();
|
|
param.put("chargeId", "ETAXRENT");
|
|
|
|
Map<String, Object> rMap = new HashMap<String, Object>();
|
|
|
|
List<Map<String, Object>> rtnList = codeInfoDao.findChargeCodeInfoList(param);
|
|
|
|
for (Map<String, Object> rtnMap : rtnList) {
|
|
|
|
String comCd = (String) rtnMap.get("COM_CD");
|
|
|
|
if("DAMDANG".equals(comCd)) {
|
|
rMap.put("damdang", (String) rtnMap.get("CODE_NM"));
|
|
} else if("DEPT".equals(comCd)) {
|
|
rMap.put("dept", (String) rtnMap.get("CODE_NM"));
|
|
} else if("TELNO".equals(comCd)) {
|
|
rMap.put("telno", (String) rtnMap.get("CODE_NM"));
|
|
}
|
|
|
|
logger.info(rMap.toString());
|
|
}
|
|
|
|
return rMap;
|
|
}
|
|
|
|
@Override
|
|
public Map<String, Object> findPrepayEtaxFileChargeInfo() throws Exception {
|
|
Map<String, Object> param = new HashMap<String, Object>();
|
|
param.put("chargeId", "PREETAX");
|
|
|
|
Map<String, Object> rMap = new HashMap<String, Object>();
|
|
|
|
List<Map<String, Object>> rtnList = codeInfoDao.findChargeCodeInfoList(param);
|
|
|
|
for (Map<String, Object> rtnMap : rtnList) {
|
|
|
|
String comCd = (String) rtnMap.get("COM_CD");
|
|
|
|
if("SUBDAMDANG".equals(comCd)) {
|
|
rMap.put("damdang", (String) rtnMap.get("CODE_NM"));
|
|
} else if("SUBDEPT".equals(comCd)) {
|
|
rMap.put("dept", (String) rtnMap.get("CODE_NM"));
|
|
} else if("SUBTELNO".equals(comCd)) {
|
|
rMap.put("telno", (String) rtnMap.get("CODE_NM"));
|
|
}
|
|
|
|
logger.info(rMap.toString());
|
|
}
|
|
|
|
return rMap;
|
|
}
|
|
|
|
@Override
|
|
public Map<String, Object> findSubEtaxFileChargeInfo() throws Exception {
|
|
Map<String, Object> param = new HashMap<String, Object>();
|
|
param.put("chargeId", "SUBETAX");
|
|
|
|
Map<String, Object> rMap = new HashMap<String, Object>();
|
|
|
|
List<Map<String, Object>> rtnList = codeInfoDao.findChargeCodeInfoList(param);
|
|
|
|
for (Map<String, Object> rtnMap : rtnList) {
|
|
|
|
String comCd = (String) rtnMap.get("COM_CD");
|
|
|
|
if("SUBDAMDANG".equals(comCd)) {
|
|
rMap.put("damdang", (String) rtnMap.get("CODE_NM"));
|
|
} else if("SUBDEPT".equals(comCd)) {
|
|
rMap.put("dept", (String) rtnMap.get("CODE_NM"));
|
|
} else if("SUBTELNO".equals(comCd)) {
|
|
rMap.put("telno", (String) rtnMap.get("CODE_NM"));
|
|
}
|
|
|
|
logger.info(rMap.toString());
|
|
}
|
|
|
|
return rMap;
|
|
}
|
|
|
|
@Override
|
|
public Map<String, Object> findDefEtaxFileChargeInfo() throws Exception {
|
|
Map<String, Object> param = new HashMap<String, Object>();
|
|
param.put("chargeId", "DEFETAX");
|
|
|
|
Map<String, Object> rMap = new HashMap<String, Object>();
|
|
|
|
List<Map<String, Object>> rtnList = codeInfoDao.findChargeCodeInfoList(param);
|
|
|
|
for (Map<String, Object> rtnMap : rtnList) {
|
|
|
|
String comCd = (String) rtnMap.get("COM_CD");
|
|
|
|
if("SUBDAMDANG".equals(comCd)) {
|
|
rMap.put("damdang", (String) rtnMap.get("CODE_NM"));
|
|
} else if("SUBDEPT".equals(comCd)) {
|
|
rMap.put("dept", (String) rtnMap.get("CODE_NM"));
|
|
} else if("SUBTELNO".equals(comCd)) {
|
|
rMap.put("telno", (String) rtnMap.get("CODE_NM"));
|
|
}
|
|
|
|
logger.info(rMap.toString());
|
|
}
|
|
|
|
return rMap;
|
|
}
|
|
|
|
@Override
|
|
public Map<String, Object> findFareEtaxChargeInfo(PenaltyParamVO params) throws Exception {
|
|
Map<String, Object> param = new HashMap<String, Object>();
|
|
param.put("chargeId", params.getChargeId());
|
|
|
|
Map<String, Object> rMap = new HashMap<String, Object>();
|
|
|
|
List<Map<String, Object>> rtnList = codeInfoDao.findChargeCodeInfoList(param);
|
|
|
|
for (Map<String, Object> rtnMap : rtnList) {
|
|
|
|
String comCd = (String) rtnMap.get("COM_CD");
|
|
|
|
if("SUBDAMDANG".equals(comCd)) {
|
|
rMap.put("damdang", (String) rtnMap.get("CODE_NM"));
|
|
} else if("SUBDEPT".equals(comCd)) {
|
|
rMap.put("dept", (String) rtnMap.get("CODE_NM"));
|
|
} else if("SUBTELNO".equals(comCd)) {
|
|
rMap.put("telno", (String) rtnMap.get("CODE_NM"));
|
|
}
|
|
|
|
logger.info(rMap.toString());
|
|
}
|
|
|
|
return rMap;
|
|
}
|
|
|
|
@Override
|
|
public void updateEtaxFileChargeInfo(PenaltyParamVO param) throws Exception {
|
|
Map<String, Object> paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "ETAX");
|
|
paramMap.put("chargeDetlId", "DAMDANG");
|
|
paramMap.put("chargeValue", param.getDamdang());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당자 이름 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "ETAX");
|
|
paramMap.put("chargeDetlId", "DEPT");
|
|
paramMap.put("chargeValue", param.getDept());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당부서 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "ETAX");
|
|
paramMap.put("chargeDetlId", "TELNO");
|
|
paramMap.put("chargeValue", param.getTelno());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//전화번호 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
}
|
|
|
|
@Override
|
|
public void updateEtaxFileRentChargeInfo(PenaltyParamVO param) throws Exception {
|
|
Map<String, Object> paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "ETAXRENT");
|
|
paramMap.put("chargeDetlId", "DAMDANG");
|
|
paramMap.put("chargeValue", param.getDamdang());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당자 이름 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "ETAXRENT");
|
|
paramMap.put("chargeDetlId", "DEPT");
|
|
paramMap.put("chargeValue", param.getDept());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당부서 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "ETAXRENT");
|
|
paramMap.put("chargeDetlId", "TELNO");
|
|
paramMap.put("chargeValue", param.getTelno());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//전화번호 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
}
|
|
|
|
@Override
|
|
public void updateSubEtaxFileChargeInfo(PenaltyParamVO param) throws Exception {
|
|
Map<String, Object> paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "SUBETAX");
|
|
paramMap.put("chargeDetlId", "SUBDAMDANG");
|
|
paramMap.put("chargeValue", param.getDamdang());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당자 이름 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "SUBETAX");
|
|
paramMap.put("chargeDetlId", "SUBDEPT");
|
|
paramMap.put("chargeValue", param.getDept());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당부서 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "SUBETAX");
|
|
paramMap.put("chargeDetlId", "SUBTELNO");
|
|
paramMap.put("chargeValue", param.getTelno());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//전화번호 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
}
|
|
|
|
@Override
|
|
public void updatePrepayEtaxFileChargeInfo(PenaltyParamVO param) throws Exception {
|
|
Map<String, Object> paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "PREETAX");
|
|
paramMap.put("chargeDetlId", "SUBDAMDANG");
|
|
paramMap.put("chargeValue", param.getDamdang());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당자 이름 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "PREETAX");
|
|
paramMap.put("chargeDetlId", "SUBDEPT");
|
|
paramMap.put("chargeValue", param.getDept());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당부서 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "PREETAX");
|
|
paramMap.put("chargeDetlId", "SUBTELNO");
|
|
paramMap.put("chargeValue", param.getTelno());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//전화번호 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
}
|
|
|
|
@Override
|
|
public void updateDefEtaxFileChargeInfo(PenaltyParamVO param) throws Exception {
|
|
Map<String, Object> paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "DEFETAX");
|
|
paramMap.put("chargeDetlId", "SUBDAMDANG");
|
|
paramMap.put("chargeValue", param.getDamdang());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당자 이름 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "DEFETAX");
|
|
paramMap.put("chargeDetlId", "SUBDEPT");
|
|
paramMap.put("chargeValue", param.getDept());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당부서 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", "DEFETAX");
|
|
paramMap.put("chargeDetlId", "SUBTELNO");
|
|
paramMap.put("chargeValue", param.getTelno());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//전화번호 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
}
|
|
|
|
@Override
|
|
public void updateFareEtaxChargeInfo(PenaltyParamVO param) throws Exception {
|
|
Map<String, Object> paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", param.getChargeId());
|
|
paramMap.put("chargeDetlId", "SUBDAMDANG");
|
|
paramMap.put("chargeValue", param.getDamdang());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당자 이름 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", param.getChargeId());
|
|
paramMap.put("chargeDetlId", "SUBDEPT");
|
|
paramMap.put("chargeValue", param.getDept());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//담당부서 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
|
|
paramMap = new HashMap<String, Object>();
|
|
paramMap.put("chargeId", param.getChargeId());
|
|
paramMap.put("chargeDetlId", "SUBTELNO");
|
|
paramMap.put("chargeValue", param.getTelno());
|
|
paramMap.put("sessionUserNm", param.getSessionUserNm());
|
|
|
|
//전화번호 수정
|
|
codeInfoDao.updateChargeCodeInfo(paramMap);
|
|
}
|
|
|
|
@Override
|
|
public PenaltyParamVO findCreateDefETaxFileChk(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findCreateDefETaxFileChk(param);
|
|
|
|
}
|
|
@Override
|
|
public Result updateLossInfo(PenaltyParamVO param) throws Exception {
|
|
Result returnResult = new Result();
|
|
|
|
//사전통지
|
|
HashMap<String, Object> result = new HashMap<String, Object>();
|
|
|
|
//결손예외정보
|
|
List<PenaltyParamVO> lossExceptionList = new ArrayList<PenaltyParamVO>();
|
|
|
|
PenaltyParamVO rtnVo = finePenaltyDao.countLossInfo(param);
|
|
|
|
//사전통지 및 반송건수
|
|
if(Integer.parseInt(rtnVo.getLossCnt1()) > 0) {
|
|
//처리성공
|
|
int st_ok0 = 0;
|
|
//예외
|
|
int st_no0 = 0;
|
|
//처리실패
|
|
int st_fail0 = 0;
|
|
|
|
param.setMotionId("2%");
|
|
List<PenaltyParamVO> lList = finePenaltyDao.findLossInfoList(param);
|
|
|
|
for(PenaltyParamVO lItem : lList) {
|
|
//압류대상은 결손처리 하지 않고 예외 목록에 추가 한다.
|
|
if(Integer.parseInt(lItem.getsCnt()) > 0) {
|
|
lItem.setRemark("압류 대상 정보입니다.");
|
|
lossExceptionList.add(lItem);
|
|
|
|
st_no0++;
|
|
} else {
|
|
finePenaltyDao.createLossHistoryDetailInfo(lItem);
|
|
lItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
finePenaltyDao.updateLossYn(lItem);
|
|
|
|
st_ok0++;
|
|
}
|
|
}
|
|
|
|
result.put("st_mes0", "처리완료");
|
|
result.put("st_ok0", st_ok0);
|
|
result.put("st_no0", st_no0);
|
|
result.put("st_fail0", st_fail0);
|
|
} else {
|
|
result.put("st_mes0", "준비");
|
|
result.put("st_ok0", "0");
|
|
result.put("st_no0", "0");
|
|
result.put("st_fail0", "0");
|
|
|
|
}
|
|
|
|
//1차고지 및 반송건수
|
|
if(Integer.parseInt(rtnVo.getLossCnt2()) > 0) {
|
|
//처리성공
|
|
int st_ok1 = 0;
|
|
//예외
|
|
int st_no1 = 0;
|
|
//처리실패
|
|
int st_fail1 = 0;
|
|
|
|
param.setMotionId("3%");
|
|
List<PenaltyParamVO> lList = finePenaltyDao.findLossInfoList(param);
|
|
|
|
for(PenaltyParamVO lItem : lList) {
|
|
//압류대상은 결손처리 하지 않고 예외 목록에 추가 한다.
|
|
if(Integer.parseInt(lItem.getsCnt()) > 0) {
|
|
lItem.setRemark("압류 대상 정보입니다.");
|
|
lossExceptionList.add(lItem);
|
|
|
|
st_no1++;
|
|
} else {
|
|
finePenaltyDao.createLossHistoryDetailInfo(lItem);
|
|
lItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
finePenaltyDao.updateLossYn(lItem);
|
|
|
|
st_ok1++;
|
|
}
|
|
}
|
|
|
|
result.put("st_mes1", "처리완료");
|
|
result.put("st_ok1", st_ok1);
|
|
result.put("st_no1", st_no1);
|
|
result.put("st_fail1", st_fail1);
|
|
} else {
|
|
result.put("st_mes1", "준비");
|
|
result.put("st_ok1", "0");
|
|
result.put("st_no1", "0");
|
|
result.put("st_fail1", "0");
|
|
}
|
|
|
|
//2차고지 및 반송건수
|
|
if(Integer.parseInt(rtnVo.getLossCnt3()) > 0) {
|
|
//처리성공
|
|
int st_ok2 = 0;
|
|
//예외
|
|
int st_no2 = 0;
|
|
//처리실패
|
|
int st_fail2 = 0;
|
|
|
|
param.setMotionId("4%");
|
|
List<PenaltyParamVO> lList = finePenaltyDao.findLossInfoList(param);
|
|
|
|
for(PenaltyParamVO lItem : lList) {
|
|
//압류대상은 결손처리 하지 않고 예외 목록에 추가 한다.
|
|
if(Integer.parseInt(lItem.getsCnt()) > 0) {
|
|
lItem.setRemark("압류 대상 정보입니다.");
|
|
lossExceptionList.add(lItem);
|
|
|
|
st_no2++;
|
|
} else {
|
|
finePenaltyDao.createLossHistoryDetailInfo(lItem);
|
|
lItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
finePenaltyDao.updateLossYn(lItem);
|
|
|
|
st_ok2++;
|
|
}
|
|
}
|
|
|
|
result.put("st_mes2", "처리완료");
|
|
result.put("st_ok2", st_ok2);
|
|
result.put("st_no2", st_no2);
|
|
result.put("st_fail2", st_fail2);
|
|
} else {
|
|
result.put("st_mes2", "준비");
|
|
result.put("st_ok2", "0");
|
|
result.put("st_no2", "0");
|
|
result.put("st_fail2", "0");
|
|
}
|
|
|
|
//민원접수
|
|
if(Integer.parseInt(rtnVo.getLossCnt4()) > 0) {
|
|
//처리성공
|
|
int st_ok3 = 0;
|
|
//예외
|
|
int st_no3 = 0;
|
|
//처리실패
|
|
int st_fail3 = 0;
|
|
|
|
param.setMotionId("51");
|
|
List<PenaltyParamVO> lList = finePenaltyDao.findLossInfoList(param);
|
|
|
|
for(PenaltyParamVO lItem : lList) {
|
|
finePenaltyDao.createLossHistoryDetailInfo(lItem);
|
|
lItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
finePenaltyDao.updateLossYn(lItem);
|
|
|
|
st_ok3++;
|
|
}
|
|
|
|
result.put("st_mes3", "처리완료");
|
|
result.put("st_ok3", st_ok3);
|
|
result.put("st_no3", st_no3);
|
|
result.put("st_fail3", st_fail3);
|
|
} else {
|
|
result.put("st_mes3", "준비");
|
|
result.put("st_ok3", "0");
|
|
result.put("st_no3", "0");
|
|
result.put("st_fail3", "0");
|
|
}
|
|
|
|
//이의신청
|
|
if(Integer.parseInt(rtnVo.getLossCnt5()) > 0) {
|
|
//처리성공
|
|
int st_ok4 = 0;
|
|
//예외
|
|
int st_no4 = 0;
|
|
//처리실패
|
|
int st_fail4 = 0;
|
|
|
|
param.setMotionId("53");
|
|
List<PenaltyParamVO> lList = finePenaltyDao.findLossInfoList(param);
|
|
|
|
for(PenaltyParamVO lItem : lList) {
|
|
finePenaltyDao.createLossHistoryDetailInfo(lItem);
|
|
lItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
finePenaltyDao.updateLossYn(lItem);
|
|
|
|
st_ok4++;
|
|
}
|
|
|
|
result.put("st_mes4", "처리완료");
|
|
result.put("st_ok4", st_ok4);
|
|
result.put("st_no4", st_no4);
|
|
result.put("st_fail4", st_fail4);
|
|
} else {
|
|
result.put("st_mes4", "준비");
|
|
result.put("st_ok4", "0");
|
|
result.put("st_no4", "0");
|
|
result.put("st_fail4", "0");
|
|
}
|
|
|
|
returnResult.setData("result", result);
|
|
returnResult.setData("lossExceptionList", lossExceptionList);
|
|
|
|
return returnResult;
|
|
}
|
|
|
|
@Override
|
|
public void updateLossYn(ParamBean param) throws Exception {
|
|
List paramList = (List) param.getParamList();
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
pItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
finePenaltyDao.updateLossYn(pItem);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void updateLossYnCancle(ParamBean param) throws Exception {
|
|
List paramList = (List) param.getParamList();
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
pItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
if(!"1".equals(pItem.getChk())) {
|
|
continue;
|
|
}
|
|
|
|
finePenaltyDao.updateLossYnCancle(pItem);
|
|
finePenaltyDao.createLossHistoryDetailInfo(pItem);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findLossInfoList(PenaltyParamVO param) throws Exception {
|
|
return finePenaltyDao.findLossInfoList(param);
|
|
}
|
|
|
|
@Override
|
|
public void updatePenaltyDetailInfo18(ParamBean param) throws Exception {
|
|
List paramList = (List) param.getParamList();
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
pItem.setLoginUserNm(HttpUtil.getEmpNm());
|
|
|
|
finePenaltyDao.updatePenaltyDetailInfo18(pItem);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void createSendInfo16(ParamBean param) throws Exception {
|
|
Map paramMap = (Map) param.getParamMap();
|
|
PenaltyParamVO paramVO = new PenaltyParamVO();
|
|
paramVO = (PenaltyParamVO) ObjectUtil.convertMapToObject(paramMap, paramVO);
|
|
|
|
List paramList = (List) param.getParamList();
|
|
|
|
logger.info("공시송달 파일생성");
|
|
|
|
for (int i = 0; i < paramList.size(); i++) {
|
|
PenaltyParamVO pItem = new PenaltyParamVO();
|
|
Map map = (Map) paramList.get(i);
|
|
|
|
pItem = (PenaltyParamVO) ObjectUtil.convertMapToObject(map, pItem);
|
|
|
|
String owner = pItem.getOwner().replaceAll(" ", "");
|
|
String residentNo = pItem.getResidentNo();
|
|
|
|
if(owner.length() > 40
|
|
|| StringUtil.isNullOrEmpty(residentNo)
|
|
|| residentNo.length() > 13
|
|
|| residentNo.indexOf("-") > 0
|
|
|| owner.indexOf("(") > 0
|
|
|| owner.indexOf(")") > 0)
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
logger.info("공시송달 파일생성 완료");
|
|
}
|
|
|
|
@Override
|
|
public PenaltyParamVO findPenaltyList19Result(PenaltyParamVO param) throws Exception {
|
|
// TODO 조회 테스트
|
|
param.setFileNm("공시송달파일.txt");
|
|
param.setTotalCnt("10");
|
|
param.setReadCnt("10");
|
|
param.setNormalCnt("8");
|
|
param.setErrorCnt("1");
|
|
param.setExceptCnt("1");
|
|
param.setSaveCnt("8");
|
|
param.setFailCnt("2");
|
|
|
|
return param;
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList19ResultList01(PenaltyParamVO param) throws Exception {
|
|
// TODO 조회 테스트
|
|
List<PenaltyParamVO> resultList01 = new ArrayList<PenaltyParamVO>();
|
|
|
|
param.setPenaltyManageYear("2019");
|
|
param.setPenaltySeqno("1");
|
|
param.setReceiptDate("2019-06-11");
|
|
param.setReceiptNm("진행상태");
|
|
param.setReceiptAmount("100000");
|
|
param.setReceiptAgency("수납기관");
|
|
param.setReceiptProcessKbn("처리구분");
|
|
param.setOcrReceiptYn("수납여부");
|
|
param.setReceiptKbn("납기구분");
|
|
param.setReceiptSido("시도");
|
|
param.setReceiptKigwan("기관");
|
|
param.setReceiptDong("행정동");
|
|
param.setReceiptAccount("회계");
|
|
param.setReceiptGwamok("과목");
|
|
param.setReceiptSemok("세목");
|
|
|
|
resultList01.add(param);
|
|
|
|
return resultList01;
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyOcrFile(PenaltyParamVO param) throws Exception {
|
|
//System.out.println("################# 자료 : DELETE ocr_error S ");
|
|
finePenaltyDao.deletePenaltyOcrFileError(param); //ocr_error 테이블 자료 초기화
|
|
|
|
String fileData = param.getFileData();
|
|
String[] strArr;
|
|
List<PenaltyParamVO> succList = new LinkedList<PenaltyParamVO>();
|
|
strArr = fileData.split("\\n");
|
|
int idx = 0;
|
|
int sendCnt = 0;
|
|
int readCnt = 0;
|
|
String sendMotionId = "";
|
|
for(String str : strArr){
|
|
readCnt = readCnt + 1;
|
|
//System.out.println("################# 자료 : strArr : " + readCnt + " / " + strArr.length);
|
|
//System.out.println("################# 자료 : for : " + str);
|
|
param.setGubun(str.substring(0, 2)); //ls_ja_gubun 자료구분
|
|
param.setReceiptProcessKbn(str.substring(2, 3)); //ls_sunap_gubun
|
|
param.setOcrReceiptYn(str.substring(2, 3)); //
|
|
param.setReceiptDate(str.substring(3, 11)); //ls_sunap_date
|
|
param.setBank(str.substring(11,14)); //ls_bank
|
|
param.setReceiptAgency(str.substring(11, 14)); //
|
|
param.setReceiptSido(str.substring(33, 35)); //ls_sido
|
|
param.setReceiptKigwan(str.substring(35, 38)); //ls_gigwan
|
|
param.setReceiptDong(str.substring(38, 41)); //ls_dong
|
|
param.setReceiptAccount(str.substring(42, 44)); //ls_account
|
|
param.setReceiptGwamok(str.substring(44, 47)); //ls_class
|
|
param.setReceiptSemok(str.substring(47, 50)); //ls_semok
|
|
|
|
param.setYear(str.substring(50, 54)); //ls_year 통행년도
|
|
param.setMonth(str.substring(54, 56)); //ls_month 통행월
|
|
param.setPenaltySeqno(Integer.parseInt(str.substring(57, 63))+""); //ls_seqno
|
|
|
|
param.setNapgiDate(str.substring(129,137)); //ls_napgi_date
|
|
param.setReceiptKbn(str.substring(142, 143)); //ls_napgi_gubun
|
|
if(param.getReceiptKbn().equals("1")){ //납기 내 입금
|
|
param.setReceiptAmount(Integer.parseInt(str.substring(64, 75))+""); //ls_in_amount
|
|
} else{ //납기 후 입금
|
|
param.setReceiptAmount(Integer.parseInt(str.substring(75, 86))+""); //ls_out_amount
|
|
}
|
|
|
|
//System.out.println("################# 자료 : setGubun = " + param.getGubun());
|
|
//System.out.println("################# 자료 : setReceiptProcessKbn = " + param.getReceiptProcessKbn());
|
|
//System.out.println("################# 자료 : setOcrReceiptYn = " + param.getOcrReceiptYn());
|
|
//System.out.println("################# 자료 : setReceiptDate = " + param.getReceiptDate());
|
|
//System.out.println("################# 자료 : setBank = " + param.getBank());
|
|
//System.out.println("################# 자료 : setReceiptAgency = " + param.getReceiptAgency());
|
|
//System.out.println("################# 자료 : setReceiptSido = " + param.getReceiptSido());
|
|
//System.out.println("################# 자료 : setReceiptKigwan = " + param.getReceiptKigwan());
|
|
//System.out.println("################# 자료 : setReceiptDong = " + param.getReceiptDong());
|
|
//System.out.println("################# 자료 : setReceiptAccount = " + param.getReceiptAccount());
|
|
//System.out.println("################# 자료 : setReceiptGwamok = " + param.getReceiptGwamok());
|
|
//System.out.println("################# 자료 : setReceiptSemok = " + param.getReceiptSemok());
|
|
//System.out.println("################# 자료 : setYear = " + param.getYear());
|
|
//System.out.println("################# 자료 : setMonth = " + param.getMonth());
|
|
//System.out.println("################# 자료 : setPenaltySeqno = " + param.getPenaltySeqno());
|
|
//System.out.println("################# 자료 : setReceiptAmount = " + param.getReceiptAmount());
|
|
//System.out.println("################# 자료 : setNapgiDate = " + param.getNapgiDate());
|
|
//System.out.println("################# 자료 : setReceiptKbn = " + param.getReceiptKbn());
|
|
|
|
//초기화
|
|
param.setPenaltyManageYear(""); //과태료 관리년도
|
|
param.setMotionId(""); //진행코드
|
|
param.setFareOfficeId(""); //요금소
|
|
param.setBoothId(""); //차로
|
|
param.setDay(""); //통행-일
|
|
param.setCarNo(""); //차량번호
|
|
sendMotionId = "";
|
|
|
|
// 자료구분 ('11') 체크
|
|
if(!param.getGubun().equals("11")){
|
|
param.setRemark("파일 형식이 맞지 않습니다. 관리자에게문의하세요.");
|
|
System.out.println("################# param.setRemark17 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
continue;
|
|
}
|
|
|
|
|
|
|
|
//20060701 - Profilestring('dotr.ini', 'newtype', 'napgi', '')
|
|
// ini의 납부기한보다 적으면 통행년월로...
|
|
if ( Integer.parseInt("200607") > Integer.parseInt(param.getYear().toString()+param.getMonth()) ){
|
|
System.out.println("################# SP_TFL000Q_SEND_CHECK2 - 20.발송건수 체크 : Sql ");
|
|
sendCnt = finePenaltyDao.findPenaltyOcrFileSendCnt_3(param); //발송건수 체크 OK SP_TFL000Q_SEND_CHECK2
|
|
System.out.println("################# SP_TFL000Q_SEND_CHECK2 - 20.발송건수 결과 : " + sendCnt);
|
|
|
|
if (sendCnt == 1){
|
|
//과태료 관리년도 조회
|
|
System.out.println("################# 21 - 과태료 관리년도 조회 체크 : Sql ");
|
|
Map penaltyManageYear = finePenaltyDao.findPenaltyOcrFilePenaltyManageYear_3(param); //과태료 관리년도 OK SP_TFL000Q_SEND_CHECK2
|
|
System.out.println("################# 21 - 과태료 관리년도 조회 결과 : " + penaltyManageYear.get("PENALTY_MANAGE_YEAR").toString());
|
|
|
|
if(null != penaltyManageYear && !penaltyManageYear.get("PENALTY_MANAGE_YEAR").toString().equals("")){
|
|
param.setPenaltyManageYear(penaltyManageYear.get("PENALTY_MANAGE_YEAR").toString()); //과태료 관리년도
|
|
|
|
//MOTION_ID - 진행코드 조회
|
|
System.out.println("################# 22 - MOTION_ID - 진행코드 조회 : Sql ");
|
|
PenaltyParamVO motionId = finePenaltyDao.findPenaltyOcrFilePenaltySendMotion_2(param); //진행코드 OK SP_TFL000Q_SEND_CHECK2
|
|
System.out.println("################# 22 - MOTION_ID - 진행코드 조회 결과 : " + motionId.getMotionId());
|
|
sendMotionId = motionId.getMotionId();
|
|
|
|
if(sendMotionId != null){
|
|
System.out.println("################# 90 - MOTION_ID - 진행코드 조회 결과 : " + motionId.getMotionId());
|
|
param.setMotionId(sendMotionId);
|
|
}
|
|
}
|
|
}
|
|
|
|
// ini의 납부기한보다 크면 1차발송년월...
|
|
} else {
|
|
|
|
//1차 발송 기준으로 조회
|
|
System.out.println("################# SP_TFL000Q_SEND_CHECK3 - 발송건수 체크 : Sql ");
|
|
sendCnt = finePenaltyDao.findPenaltyOcrFileSendCnt_1(param); //발송건수 체크 OK SP_TFL000Q_SEND_CHECK3
|
|
System.out.println("################# SP_TFL000Q_SEND_CHECK3 - 발송건수 결과 : " + sendCnt);
|
|
|
|
if (sendCnt == 1){
|
|
//과태료 관리년도 조회
|
|
System.out.println("################# 11 - 과태료 관리년도 조회 체크 : Sql ");
|
|
Map penaltyManageYear = finePenaltyDao.findPenaltyOcrFilePenaltyManageYear_1(param); //과태료 관리년도 OK SP_TFL000Q_SEND_CHECK3
|
|
System.out.println("################# 11 - 과태료 관리년도 조회 결과 : " + penaltyManageYear.get("PENALTY_MANAGE_YEAR").toString());
|
|
|
|
if(null != penaltyManageYear && !penaltyManageYear.get("PENALTY_MANAGE_YEAR").toString().equals("")){
|
|
param.setPenaltyManageYear(penaltyManageYear.get("PENALTY_MANAGE_YEAR").toString()); //과태료 관리년도
|
|
|
|
//MOTION_ID - 진행코드 조회
|
|
System.out.println("################# 12 - MOTION_ID - 진행코드 조회 : Sql ");
|
|
PenaltyParamVO motionId = finePenaltyDao.findPenaltyOcrFilePenaltySendMotion_1(param); //진행코드 OK SP_TFL000Q_SEND_CHECK3
|
|
System.out.println("################# 12 - MOTION_ID - 진행코드 조회 결과 : " + motionId.getMotionId());
|
|
sendMotionId = motionId.getMotionId();
|
|
|
|
if(sendMotionId != null){
|
|
System.out.println("################# 91 - MOTION_ID - 진행코드 조회 결과 : " + motionId.getMotionId());
|
|
param.setMotionId(sendMotionId);
|
|
}else{ //if(motionId != null){
|
|
//MOTION_ID - 진행코드 조회
|
|
System.out.println("################# 22 - MOTION_ID - 진행코드 조회 : Sql ");
|
|
motionId = finePenaltyDao.findPenaltyOcrFilePenaltySendMotion_2(param); //진행코드 OK SP_TFL000Q_SEND_CHECK2
|
|
System.out.println("################# 22 - MOTION_ID - 진행코드 조회 결과 : " + motionId.getMotionId());
|
|
sendMotionId = motionId.getMotionId();
|
|
|
|
if(sendMotionId != null){
|
|
System.out.println("################# 92 - MOTION_ID - 진행코드 조회 결과 : " + motionId.getMotionId());
|
|
param.setMotionId(sendMotionId);
|
|
}else{
|
|
sendMotionId = "";
|
|
}
|
|
}
|
|
} //if(null != penaltyManageYear && !penaltyManageYear.get("PENALTY_MANAGE_YEAR").toString().equals("")){
|
|
|
|
//if (sendCnt == 1){
|
|
}else{
|
|
System.out.println("################# SP_TFL000Q_SEND_CHECK2 - 00.발송건수 체크 : Sql ");
|
|
sendCnt = finePenaltyDao.findPenaltyOcrFileSendCnt_2(param); //발송건수 체크 OK SP_TFL000Q_SEND_CHECK2
|
|
System.out.println("################# SP_TFL000Q_SEND_CHECK2 - 00.발송건수 결과 : " + sendCnt);
|
|
|
|
if (sendCnt == 1){
|
|
//과태료 관리년도 조회
|
|
System.out.println("################# 21 - 과태료 관리년도 조회 체크 : Sql ");
|
|
Map penaltyManageYear = finePenaltyDao.findPenaltyOcrFilePenaltyManageYear_2(param); //과태료 관리년도 OK SP_TFL000Q_SEND_CHECK2
|
|
System.out.println("################# 21 - 과태료 관리년도 조회 결과 : " + penaltyManageYear.get("PENALTY_MANAGE_YEAR").toString());
|
|
|
|
if(null != penaltyManageYear && !penaltyManageYear.get("PENALTY_MANAGE_YEAR").toString().equals("")){
|
|
param.setPenaltyManageYear(penaltyManageYear.get("PENALTY_MANAGE_YEAR").toString()); //과태료 관리년도
|
|
|
|
//MOTION_ID - 진행코드 조회
|
|
System.out.println("################# 22 - MOTION_ID - 진행코드 조회 : Sql ");
|
|
PenaltyParamVO motionId = finePenaltyDao.findPenaltyOcrFilePenaltySendMotion_2(param); //진행코드 OK SP_TFL000Q_SEND_CHECK2
|
|
System.out.println("################# 22 - MOTION_ID - 진행코드 조회 결과 : " + motionId.getMotionId());
|
|
sendMotionId = motionId.getMotionId();
|
|
|
|
if(sendMotionId != null){
|
|
System.out.println("################# 93 - MOTION_ID - 진행코드 조회 결과 : " + motionId.getMotionId());
|
|
param.setMotionId(sendMotionId);
|
|
}else{
|
|
sendMotionId = "";
|
|
}
|
|
}
|
|
} //if (sendCnt == 1){
|
|
} //}else{
|
|
} //}else{ // ini의 납부기한보다 크면 1차발송년월...
|
|
|
|
System.out.println("################# 29 - PENALTY_MANAGE_YEAR - 결과 : " + param.getPenaltyManageYear());
|
|
System.out.println("################# 29 - MOTION_ID - 결과 : " + param.getMotionId());
|
|
System.out.println("################# 29 - sendMotionId - 결과 : " + sendMotionId);
|
|
|
|
//--------------------------
|
|
//--------------------------
|
|
System.out.println("################# 34 - 과태료정보 조회 체크 : Sql ");
|
|
PenaltyParamVO penaltyCheck = finePenaltyDao.findPenaltyOcrFilePenaltyCheck(param); //과태료정보 조회 OK - fare_office_id, booth_id, year, month, day, car_no, motion_id, resident_no, notice_id, notice_wrong_id
|
|
String noticeId = "";
|
|
String noticeWrongId = "";
|
|
String penaltyMotionId = "";
|
|
|
|
if(penaltyCheck != null){
|
|
noticeId = penaltyCheck.getNoticeId();
|
|
noticeWrongId = penaltyCheck.getNoticeWrongId();
|
|
penaltyMotionId = penaltyCheck.getMotionId();
|
|
|
|
param.setFareOfficeId(penaltyCheck.getFareOfficeId());
|
|
param.setBoothId(penaltyCheck.getBoothId());
|
|
param.setYear(penaltyCheck.getYear());
|
|
param.setMonth(penaltyCheck.getMonth());
|
|
param.setDay(penaltyCheck.getDay());
|
|
param.setCarNo(penaltyCheck.getCarNo());
|
|
|
|
System.out.println("################# penaltyCheck - getFareOfficeId : " + penaltyCheck.getFareOfficeId());
|
|
System.out.println("################# penaltyCheck - getBoothId : " + penaltyCheck.getBoothId());
|
|
System.out.println("################# penaltyCheck - getDay : " + penaltyCheck.getDay());
|
|
System.out.println("################# penaltyCheck - getCarNo : " + penaltyCheck.getCarNo());
|
|
}
|
|
|
|
System.out.println("################# penaltyCheck - noticeId : " + noticeId);
|
|
System.out.println("################# penaltyCheck - noticeWrongId : " + noticeWrongId);
|
|
System.out.println("################# penaltyCheck - penaltyMotionId : " + penaltyMotionId);
|
|
|
|
System.out.println("################# 31 - 결손여부 체크 : Sql ");
|
|
Map lossCheck = finePenaltyDao.findPenaltyOcrFilePenaltyLoss(param); //결손여부 체크 OK
|
|
System.out.println("################# 31 - 결손여부 결과 : " + lossCheck.get("CLOSS"));
|
|
|
|
if(penaltyCheck == null){
|
|
System.out.println("################# 과태료정보 건수 = 0 ");
|
|
param.setRemark("일치하는 과태료정보가 없습니다.");
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
if(null != lossCheck && lossCheck.get("CLOSS").equals("1")){
|
|
param.setRemark("결손처리된 정보입니다.확인후 처리하세요.");
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
if(sendMotionId.equals("") || sendMotionId == null){
|
|
param.setRemark("일치하는 납부 기한이 없습니다. 확인후 처리하세요.");
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
if(sendCnt == 0){
|
|
System.out.println("################# 발송 건수 = 0 ");
|
|
param.setRemark("일치하는 발송정보가 없습니다.");
|
|
System.out.println("################# param.setRemark15 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
if(sendCnt > 1){ // ######### 1건이상인 경우 처리 빠져 있음 - 기존은 팝업창에서 수납처리할 대상을 선택 (수납처리 또는 오류처리)
|
|
System.out.println("################# 발송 건수 > 1 ");
|
|
param.setRemark("1개 이상의 발송정보가 존재합니다.");
|
|
System.out.println("################# param.setRemark16 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
|
|
System.out.println("################# 32 - 과태료 변경 이력 정보 건수 조회 : Sql ");
|
|
int historyCheck = finePenaltyDao.findPenaltyOcrFileHestory(param); //과태료 변경 이력 정보 건수 조회
|
|
System.out.println("################# 32 - 과태료 변경 이력 정보 건수 historyCheck : " + historyCheck);
|
|
|
|
System.out.println("################# 33 - 압류해제 체크 : Sql ");
|
|
int seizureCnt = finePenaltyDao.findPenaltyOcrFileSeizure(param); //압류해제 체크 OK
|
|
System.out.println("################# 33 - 압류해제 건수 seizureCnt : " + seizureCnt);
|
|
|
|
System.out.println("################# 34 - 수납여부 체크 : Sql ");
|
|
int alreadyCnt = finePenaltyDao.findPenaltyOcrFileAlready(param); //수납여부 체크 OK
|
|
System.out.println("################# 34 - 수납여부 건수 alreadyCnt : " + alreadyCnt);
|
|
|
|
System.out.println("################# 35 - 이전 압류정보가 있었는지 조회 체크 : Sql ");
|
|
int penaltySeizureCnt = finePenaltyDao.findPenaltyOcrFilePenaltySeizure(penaltyCheck); //이전 압류정보가 있었는지 체크(동일차량이 압류상태) OK
|
|
System.out.println("################# 35 - 이전 압류정보가 있었는지 건수 penaltySeizureCnt : " + penaltySeizureCnt);
|
|
|
|
System.out.println("################# 36 - 건수 체크 ");
|
|
|
|
System.out.println("################# 36 - getMotionId : " + param.getMotionId());
|
|
System.out.println("################# 36 - sendMotionId : " + sendMotionId);
|
|
System.out.println("################# 36 - penaltyMotionId : " + penaltyMotionId);
|
|
|
|
if(historyCheck == 0){
|
|
param.setRemark("이력정보가없습니다.관리자에게문의하세요.");
|
|
System.out.println("################# param.setRemark1 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
if(seizureCnt > 0){
|
|
param.setRemark("압류해제된정보입니다. 확인바랍니다.");
|
|
System.out.println("################# param.setRemark2 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
if(alreadyCnt > 0){
|
|
param.setRemark("이미 수납처리한 정보입니다. 확인바랍니다.");
|
|
System.out.println("################# param.setRemark3 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
|
|
if(noticeId.equals("02") || noticeId.equals("03") || noticeId.equals("99")){ //고지구분-'02'(고지불가),'03'(비부과대상),'99'(고지취소) 이면 //////////////
|
|
if(!noticeWrongId.equals("03")){
|
|
param.setRemark("고지불가 처리중입니다.확인 후 처리하세요.");
|
|
System.out.println("################# param.setRemark4 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
penaltyCheck = null;
|
|
continue;
|
|
} else {
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
if(penaltySeizureCnt > 0){
|
|
updatePenaltyOcrFileSucc(param); //수입금 정보 INSERT @@@@@@@@@@@@@@@@@@@@@
|
|
succList.add(idx, findPenaltyOcrFileSucc(param));
|
|
idx++;
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
if(param.getMotionId() != null && !penaltyMotionId.equals("") && sendMotionId.equals(penaltyMotionId)){
|
|
System.out.println("################# 50 - RECEIPT_INFO(수납정보)에 중복 데이타가 있는지 체크 : Sql ");
|
|
//FUN_TFL000Q_RECEIPT_DUP_CHECK
|
|
int dupCheck = finePenaltyDao.findPenaltyOcrFileDupCheck(param); //RECEIPT_INFO(수납정보)에 중복 데이타가 있는지 검사 - 이중수납도 있기때문에...
|
|
if(dupCheck == 0){
|
|
System.out.println("################# 60 - 수입금 정보 INSERT : Sql ");
|
|
updatePenaltyOcrFileSucc(param); //수입금 정보 INSERT @@@@@@@@@@@@@@@@@@@@@
|
|
succList.add(idx, findPenaltyOcrFileSucc(param));
|
|
idx++;
|
|
}else{
|
|
param.setRemark("이미 수납처리한 정보입니다.");
|
|
System.out.println("################# param.setRemark6 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
}
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
System.out.println("################# 51 - RECEIPT_INFO(수납정보)에 중복 데이타가 있는지 체크 : Sql ");
|
|
int dupCheck = finePenaltyDao.findPenaltyOcrFileDupCheck(param); //RECEIPT_INFO(수납정보)에 중복 데이타가 있는지 검사 - 이중수납도 있기때문에...
|
|
|
|
if( penaltyMotionId.equals("51") || penaltyMotionId.equals("52") || penaltyMotionId.equals("53") || penaltyMotionId.equals("54") ){
|
|
if(dupCheck == 0){
|
|
System.out.println("################# 60 - 수입금 정보 INSERT : Sql ");
|
|
updatePenaltyOcrFileSucc(param); //수입금 정보 INSERT @@@@@@@@@@@@@@@@@@@@@
|
|
succList.add(idx, findPenaltyOcrFileSucc(param));
|
|
idx++;
|
|
param.setRemark("민원접수/처리상태입니다. 수납처리하였습니다.");
|
|
System.out.println("################# param.setRemark7 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
}else{
|
|
param.setRemark("이미 수납처리한 정보입니다.");
|
|
System.out.println("################# param.setRemark8 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
}
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
if( penaltyMotionId.equals("91") ){
|
|
if(dupCheck == 0){
|
|
System.out.println("################# 60 - 수입금 정보 INSERT : Sql ");
|
|
updatePenaltyOcrFileSucc(param); //수입금 정보 INSERT @@@@@@@@@@@@@@@@@@@@@
|
|
succList.add(idx, findPenaltyOcrFileSucc(param));
|
|
idx++;
|
|
param.setRemark("이중수납입니다. 수납처리하였습니다.");
|
|
System.out.println("################# param.setRemark10 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
}else{
|
|
param.setRemark("이미 수납처리한 정보입니다.");
|
|
System.out.println("################# param.setRemark11 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
}
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
|
|
if(dupCheck != 0){
|
|
param.setRemark("이미 수납처리한 정보입니다.");
|
|
System.out.println("################# param.setRemark14 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
|
|
System.out.println("################# 61 - 현재상태(고지구분)와 다른 정보 체크 : Sql ");
|
|
int napgiCnt = finePenaltyDao.findPenaltyOcrFileNapgi(param); //현재상태(고지구분)와 다른 정보
|
|
|
|
if(napgiCnt != 1){
|
|
int docCnt = finePenaltyDao.findPenaltyOcrFileDoc(param); //현재상태(고지구분)와 다른 정보
|
|
if(docCnt == 1){
|
|
updatePenaltyOcrFileSucc(param); //수입금 정보 INSERT @@@@@@@@@@@@@@@@@@@@@
|
|
succList.add(idx, findPenaltyOcrFileSucc(param));
|
|
idx++;
|
|
}else{
|
|
param.setRemark("현재상태(고지상태)와 다른 정보입니다.");
|
|
System.out.println("################# param.setRemark13 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
}
|
|
penaltyCheck = null;
|
|
continue;
|
|
}
|
|
|
|
System.out.println("################# 60 - 수입금 정보 INSERT : Sql ");
|
|
updatePenaltyOcrFileSucc(param); //수입금 정보 INSERT @@@@@@@@@@@@@@@@@@@@@
|
|
succList.add(idx, findPenaltyOcrFileSucc(param));
|
|
idx++;
|
|
param.setRemark("현재상태(고지구분)와 다른 정보입니다.");
|
|
System.out.println("################# param.setRemark12 : " + param.getRemark());
|
|
finePenaltyDao.insertPenaltyOcrFileError(param);
|
|
penaltyCheck = null;
|
|
|
|
}
|
|
|
|
return succList;
|
|
}
|
|
|
|
|
|
|
|
//OCR수납처리 엑셀 리뉴얼
|
|
public List<PenaltyParamVO> findIncomeEtaxFile(List<PenaltyParamVO> params) throws Exception {
|
|
|
|
finePenaltyDao.deletePenaltyOcrFileError(params.get(0)); //ocr_error 테이블 자료 초기화
|
|
List<PenaltyParamVO> succList = new LinkedList<PenaltyParamVO>();
|
|
try {
|
|
|
|
|
|
int idx = 0;
|
|
|
|
for(PenaltyParamVO param : params){
|
|
|
|
int sendCnt = 0;
|
|
int readCnt = 0;
|
|
Map<String, String> penaltyManage = new HashMap<String, String>();
|
|
param.setSessionUserNm(HttpUtil.getEmpNm());
|
|
readCnt = readCnt + 1;
|
|
String str = param.getpNum();
|
|
param.setReceiptKigwan(str.substring(0, 3)); //ls_gigwan
|
|
param.setReceiptDong(str.substring(3, 6)); //ls_dong
|
|
param.setReceiptAccount(str.substring(7, 9)); //ls_account
|
|
param.setReceiptGwamok(str.substring(9, 12)); //ls_class
|
|
param.setReceiptSemok(str.substring(12, 15)); //ls_semok
|
|
|
|
param.setYear(str.substring(15, 19)); //ls_year 통행년도
|
|
param.setMonth(str.substring(19, 21)); //ls_month 통행월
|
|
param.setEtaxKbn(str.substring(21,22)); //시세입구분
|
|
param.setManageNo(Integer.parseInt(str.substring(23, 28))+""); //ls_seqno
|
|
|
|
|
|
logger.info("setReceiptDate" + param.getReceiptDate());
|
|
param.setReceiptDate(param.getReceiptDate().replaceAll("-", ""));
|
|
|
|
param.setReceiptAmount(param.getReceiptAmount().replaceAll("[^0-9]", ""));
|
|
|
|
// System.out.println("################# 자료 : setReceiptDate = " + param.getReceiptDate());
|
|
// System.out.println("################# 자료 : setBank = " + param.getBank());
|
|
// System.out.println("################# 자료 : setReceiptAgency = " + param.getReceiptAgency());
|
|
// System.out.println("################# 자료 : setEtaxKbn = " + param.getEtaxKbn());
|
|
// System.out.println("################# 자료 : setReceiptSido = " + param.getReceiptSido());
|
|
// System.out.println("################# 자료 : setReceiptKigwan = " + param.getReceiptKigwan());
|
|
// System.out.println("################# 자료 : setReceiptDong = " + param.getReceiptDong());
|
|
// System.out.println("################# 자료 : setReceiptAccount = " + param.getReceiptAccount());
|
|
// System.out.println("################# 자료 : setReceiptGwamok = " + param.getReceiptGwamok());
|
|
// System.out.println("################# 자료 : setReceiptSemok = " + param.getReceiptSemok());
|
|
// System.out.println("################# 자료 : setYear = " + param.getYear());
|
|
// System.out.println("################# 자료 : setMonth = " + param.getMonth());
|
|
// System.out.println("################# 자료 : setManageNo = " + param.getManageNo());
|
|
// System.out.println("################# 자료 : setReceiptAmount = " + param.getReceiptAmount());
|
|
// System.out.println("################# 자료 : setNapgiDate = " + param.getNapgiDate());
|
|
// System.out.println("################# 자료 : setReceiptKbn = " + param.getReceiptKbn());
|
|
|
|
if(param.getBank().equals("우리은행")){
|
|
param.setBankCd("1");
|
|
}else if(param.getBank().equals("신한은행")){
|
|
param.setBankCd("2");
|
|
}else if(param.getBank().equals("하나은행")){
|
|
param.setBankCd("3");
|
|
}else{
|
|
param.setBankCd("1");
|
|
}
|
|
|
|
// 시세입 수납처리 파일 형식 과세번호 체크
|
|
if((param.getReceiptKigwan()+param.getReceiptDong()+param.getReceiptAccount()+param.getReceiptGwamok()+param.getReceiptSemok()).equals("00004732227213")){
|
|
String etaxKbn = param.getEtaxKbn();
|
|
if(etaxKbn.equals("1")){
|
|
penaltyManage = finePenaltyDao.findIncomeOcrFileDefManageYear_2(param); //과태료 관리년도 OK SP_TFL000Q_SEND_CHECK2
|
|
|
|
param.setManageYear(penaltyManage.get("MANAGE_YEAR"));
|
|
param.setSendDate(penaltyManage.get("SEND_DATE"));
|
|
param.setEndDate(penaltyManage.get("END_DATE"));
|
|
|
|
sendCnt = finePenaltyDao.findIncomeOcrFileSendCnt_1(param); //발송건수 체크 OK
|
|
}else if(etaxKbn.equals("2")){
|
|
penaltyManage = finePenaltyDao.findIncomeOcrFileDefManageYearCard_2(param); //과태료 관리년도 OK SP_TFL000Q_SEND_CHECK2
|
|
|
|
param.setManageYear(penaltyManage.get("MANAGE_YEAR"));
|
|
param.setSendDate(penaltyManage.get("SEND_DATE"));
|
|
param.setEndDate(penaltyManage.get("END_DATE"));
|
|
|
|
|
|
sendCnt = finePenaltyDao.findIncomeOcrFileSendCntCard_1(param); //발송건수 체크 OK
|
|
}else if(etaxKbn.equals("3")){
|
|
penaltyManage = finePenaltyDao.findIncomeOcrFileDefManageYearCard_2(param); //과태료 관리년도 OK SP_TFL000Q_SEND_CHECK2
|
|
|
|
param.setManageYear(penaltyManage.get("MANAGE_YEAR"));
|
|
param.setSendDate(penaltyManage.get("SEND_DATE"));
|
|
param.setEndDate(penaltyManage.get("END_DATE"));
|
|
|
|
|
|
sendCnt = finePenaltyDao.findIncomeOcrFileSendCntCard_1(param); //발송건수 체크 OK
|
|
}
|
|
|
|
if(sendCnt == 1){
|
|
|
|
int alreadyOtherCnt = 0;// 바로녹색 제외한 수납 정보 확인
|
|
if(etaxKbn.equals("1")){
|
|
alreadyOtherCnt = finePenaltyDao.findIncomeOcrFileAlreadyOther(param); //수납여부 체크 OK
|
|
}
|
|
|
|
int alreadyGreenCnt = 0;// 바로녹색 수납 정보 확인(바로녹색 환불이 많아 따로 분류함)
|
|
if(etaxKbn.equals("1")){
|
|
alreadyGreenCnt = finePenaltyDao.findIncomeOcrFileAlreadyGreen(param); //수납여부 체크 OK
|
|
}
|
|
|
|
int alreadyCnt = 0; // 수납여부 체크
|
|
if(etaxKbn.equals("1")){
|
|
alreadyCnt = finePenaltyDao.findIncomeOcrFileAlready(param); //수납여부 체크 OK
|
|
}
|
|
|
|
int alreadyCnt2 = finePenaltyDao.findIncomeOcrFileReceipt(param); //수납여부 체크2 OK
|
|
|
|
|
|
if(alreadyOtherCnt > 0){
|
|
param.setRemark("다른 수납 정보가 존재합니다. 이중 수납입니다.(바로녹색 제외)");
|
|
|
|
finePenaltyDao.insertDefOcrFileError(param);
|
|
}else if(alreadyCnt > 0){
|
|
param.setRemark("이미 수납처리한 정보입니다. 확인바랍니다.");
|
|
|
|
finePenaltyDao.insertDefOcrFileError(param);
|
|
}else if(alreadyGreenCnt > 0){
|
|
param.setRemark("바로녹색결제 수납처리한 정보입니다. 확인바랍니다.(※바로녹색 환불 필수)");
|
|
|
|
finePenaltyDao.insertDefOcrFileError(param);
|
|
}else if(alreadyCnt2 > 0){
|
|
param.setRemark("이미 수납처리한 정보입니다. 확인바랍니다.");
|
|
|
|
finePenaltyDao.insertDefOcrFileError(param);
|
|
}else{
|
|
if(etaxKbn.equals("1")){
|
|
finePenaltyDao.updateIncomeOcrFileDef(param); //미납 테이블 수정
|
|
}else if(etaxKbn.equals("2")){
|
|
finePenaltyDao.updateIncomeOcrFileCard(param); //후납시세입관리 테이블 수정
|
|
}else if(etaxKbn.equals("3")){
|
|
finePenaltyDao.updateIncomeOcrFileCard(param); //후납시세입관리 테이블 수정
|
|
}
|
|
|
|
finePenaltyDao.updateIncomeOcrFileVirtualAccount(param); //가상계좌 초기화
|
|
|
|
finePenaltyDao.insertIncomeOcrFileReceiptInfo(param); //수납 테이블 추가
|
|
|
|
succList.add(idx, finePenaltyDao.findIncomeOcrFileReceiptResult(param));
|
|
idx++;
|
|
}
|
|
}else if(sendCnt == 0){
|
|
|
|
param.setRemark("일치하는 발송정보가 없습니다.");
|
|
|
|
finePenaltyDao.insertDefOcrFileError(param);
|
|
}else if(sendCnt > 1){ // ######### 1건이상인 경우 처리 빠져 있음 - 기존은 팝업창에서 수납처리할 대상을 선택 (수납처리 또는 오류처리)
|
|
|
|
param.setRemark("2개 이상의 발송정보가 존재합니다.");
|
|
|
|
finePenaltyDao.insertDefOcrFileError(param);
|
|
}
|
|
}else{
|
|
param.setRemark("파일 형식이 맞지 않습니다. 관리자에게문의하세요.");
|
|
|
|
finePenaltyDao.insertDefOcrFileError(param);
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
return succList;
|
|
}
|
|
|
|
@Override
|
|
public void updatePenaltyOcrFileSucc(PenaltyParamVO param) throws Exception {
|
|
|
|
//수납 정보
|
|
//System.out.println("################# 70 - 수입금 처리 여부 : Sql ");
|
|
int receiptType = finePenaltyDao.findPenaltyOcrFileReceipt(param);
|
|
if(receiptType == 0){
|
|
//System.out.println("################# 70 - 수입금 정보 INSERT : Sql ");
|
|
finePenaltyDao.insertPenaltyOcrFileReceipt(param);
|
|
}else{
|
|
//System.out.println("################# 70 - 수입금 정보 중복 INSERT : Sql ");
|
|
finePenaltyDao.insertPenaltyOcrFileDouReceipt(param);
|
|
}
|
|
|
|
//가상계좌 초기화 SP_VIRTUALACCOUNT_UPDATE
|
|
//System.out.println("################# 71 - 가상계좌 처리 : Sql ");
|
|
finePenaltyDao.updatePenaltyOcrFileVirtualAccount(param); //수정할 것
|
|
|
|
//과태료 변경 이력 정보 1
|
|
//System.out.println("################# 72 - 과태료 변경 이력 정보 처리 1 : Sql ");
|
|
finePenaltyDao.insertPenaltyOcrFilePenaltyHistory(param);
|
|
//System.out.println("################# 72 - 과태료 렌트카 변경 이력 정보 처리 1 : Sql ");
|
|
finePenaltyDao.insertPenaltyOcrFilePenaltyRentHistory(param);
|
|
|
|
//과태료Detail정보 수납완료 처리
|
|
//System.out.println("################# 72 - 과태료Detail정보 수납여부 : Sql ");
|
|
int penaltyType = finePenaltyDao.findPenaltyOcrFilePenalty(param);
|
|
if(penaltyType == 0){
|
|
//System.out.println("################# 72 - 과태료Detail정보 수납완료 : Sql ");
|
|
finePenaltyDao.updatePenaltyOcrFilePenalty(param);
|
|
//System.out.println("################# 72 - 과태료Detail정보 렌트카 수납완료 : Sql ");
|
|
finePenaltyDao.updatePenaltyOcrFileRentPenalty(param);
|
|
}else{
|
|
//System.out.println("################# 72 - 과태료Detail정보 중복 수납완료 : Sql ");
|
|
finePenaltyDao.updatePenaltyOcrFileDouPenalty(param);
|
|
//System.out.println("################# 72 - 과태료Detail정보 렌트카 중복 수납완료 : Sql ");
|
|
finePenaltyDao.updatePenaltyOcrFileRentDouPenalty(param);
|
|
}
|
|
|
|
//과태료 변경 이력 정보 2
|
|
//System.out.println("################# 74 - 과태료 변경 이력 정보 처리 2: Sql ");
|
|
finePenaltyDao.insertPenaltyOcrFilePenaltyHistory(param);
|
|
//System.out.println("################# 74 - 과태료 렌트카 변경 이력 정보 처리 2 : Sql ");
|
|
finePenaltyDao.insertPenaltyOcrFilePenaltyRentHistory(param);
|
|
|
|
//민원 접수 정보
|
|
//System.out.println("################# 75 - 민원 접수 여부 : Sql ");
|
|
int civilType = finePenaltyDao.findPenaltyOcrFileCivil(param);
|
|
if(civilType != 0){
|
|
//System.out.println("################# 75 - 민원 접수 처리 : Sql ");
|
|
finePenaltyDao.updatePenaltyOcrFileCivil(param);
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
public PenaltyParamVO findPenaltyOcrFileSucc(PenaltyParamVO param) throws Exception {
|
|
// TODO 조회 테스트
|
|
PenaltyParamVO statPenalty = null;
|
|
statPenalty = finePenaltyDao.findPenaltyOcrFileReceiptResult(param);
|
|
return statPenalty;
|
|
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyOcrFileError(PenaltyParamVO param) throws Exception {
|
|
// TODO 조회 테스트
|
|
List<PenaltyParamVO> statPenalty = null;
|
|
statPenalty = finePenaltyDao.findPenaltyOcrFileError(param);
|
|
return statPenalty;
|
|
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findDefOcrFileError(PenaltyParamVO param) throws Exception {
|
|
// TODO 조회 테스트
|
|
List<PenaltyParamVO> statPenalty = finePenaltyDao.findDefOcrFileError(param);
|
|
return statPenalty;
|
|
|
|
}
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyList19ResultList02(PenaltyParamVO param) throws Exception {
|
|
// TODO 조회 테스트
|
|
List<PenaltyParamVO> resultList02 = new ArrayList<PenaltyParamVO>();
|
|
|
|
param.setPenaltyManageYear("2019");
|
|
param.setPenaltySeqno("1");
|
|
param.setNapgiDate("2019-06-11");
|
|
param.setReceiptId("수납코드");
|
|
param.setSunapGubun("수납구분");
|
|
param.setSunapDate("2019-06-11");
|
|
param.setBank("수납은행");
|
|
param.setReceiptSido("시도");
|
|
param.setReceiptKigwan("기관");
|
|
param.setReceiptDong("동");
|
|
param.setReceiptAccount("회계");
|
|
param.setReceiptGwamok("과목");
|
|
param.setReceiptSemok("세목");
|
|
param.setYear("2019");
|
|
param.setMonth("1");
|
|
param.setReceiptAmount("10000");
|
|
param.setNapgiGubun("납기구분");
|
|
|
|
resultList02.add(param);
|
|
|
|
return resultList02;
|
|
}
|
|
|
|
@Override
|
|
public int penaltyCreateEgreenFileDbImageChk(List<PenaltyParamVO> paramList) throws Exception {
|
|
List<PenaltyParamVO> paramResult = new ArrayList<PenaltyParamVO>();
|
|
|
|
int nonImageCnt = 0;
|
|
for(PenaltyParamVO param : paramList){
|
|
param.setSessionUserNm(HttpUtil.getEmpNm());
|
|
String imageUrl = cfsCommonService.findCommonSecureGet("IMG_UP_URL")+param.getYear()+"/"+param.getFareOfficeId()+"/"+param.getYear()+param.getMonth()+param.getDay()+"/"+ param.getCarsStopPictureFile();
|
|
|
|
URL url = null;
|
|
url = new URL(imageUrl); // 다운로드 할 이미지 URL
|
|
URLConnection con = url.openConnection();
|
|
HttpURLConnection exitCode = (HttpURLConnection)con;
|
|
if(exitCode.getResponseCode() == 403) {
|
|
//UPDATE PENALTY_DETAIL_INFO_DAMO - 이미지 없는 상태로 저장
|
|
finePenaltyDao.updateEgreenNonImage(param);
|
|
nonImageCnt++;
|
|
}else{
|
|
paramResult.add(param);
|
|
}
|
|
}
|
|
penaltyCreateEgreenFileDb(paramResult);
|
|
|
|
return nonImageCnt;
|
|
}
|
|
|
|
@Override
|
|
public void penaltyCreateEgreenFileDb(List<PenaltyParamVO> paramList) throws Exception {
|
|
finePenaltyDao.deletePenaltyEgreenTempFile();
|
|
|
|
try{
|
|
int ct = 0;
|
|
String CON_KEY = "";
|
|
for(PenaltyParamVO param : paramList){
|
|
param.setDeliveryDate(param.getDeliveryDate().replace("/", ""));
|
|
param.setSendDate(param.getSendDate().replace("/", ""));
|
|
param.setSessionUserNm(HttpUtil.getEmpNm());
|
|
finePenaltyDao.updateVirtualaccount(param); //가상계좌 전송/납부일자 넣어주기
|
|
ct++;
|
|
param.setCount(ct);
|
|
param.setListSize(paramList.size()+"");
|
|
if(CON_KEY.equals("")){
|
|
CON_KEY = "NS"
|
|
+param.getPenaltyManageYear()
|
|
+String.format("%06d", Integer.parseInt(param.getPenaltySeqno()))
|
|
+param.getMotionFlag(); //외부 연계 식별키
|
|
|
|
}
|
|
String RECEV_BAND0_1 = ""; //밴드0
|
|
String sendDate = "";
|
|
PenaltyParamVO sendDateList = finePenaltyDao.findEtaxFileSendDate(param);
|
|
String passDate = param.getYear()+param.getMonth()+param.getDay();
|
|
if(Integer.parseInt(passDate)>=20060101){
|
|
sendDate += (String) sendDateList.getSendDate().subSequence(0, 6);
|
|
}else{
|
|
sendDate += param.getYear()+param.getMonth();
|
|
}
|
|
RECEV_BAND0_1 = "000047334288001"+ sendDate + "2" + byteLeftPad(param.getPenaltySeqno(), 6, "0") + combyteSec("34"+"288001"+sendDate+"2"+byteLeftPad(param.getPenaltySeqno(), 6, "0"));
|
|
String RECEV_BAND7_1 = sendDate+"2"; //밴드7
|
|
String RECEV_BAND8_1 = byteLeftPad(param.getPenaltySeqno(), 6, "0") + combyteSec("34"+"288001"+sendDate+"2"+byteLeftPad(param.getPenaltySeqno(), 6, "0")); //밴드8
|
|
param.setRecevBand01(RECEV_BAND0_1);
|
|
param.setRecevBand02(RECEV_BAND7_1);
|
|
param.setRecevBand03(RECEV_BAND8_1);
|
|
|
|
String recevRecallUsegiganInfo = "";
|
|
String recevSenderinfo2 = "";
|
|
if(param.getStage().equals("0")){
|
|
recevRecallUsegiganInfo = "[ 자진납부 및 의견제출 안내 ] 기한 내에만 감경된 과태료가 적용되며 기한이 경과되면 원래 과태료가 부과됨 기한 마지막 날은 오후 10시 30분까지 과태료 가상계좌 납부가 가능함 의견제출을 하여도 자진납부 기한은 연장되지 않음";
|
|
recevSenderinfo2 = "혼잡통행료 과태료 사전통지서";
|
|
}else if(param.getStage().equals("1")){
|
|
recevRecallUsegiganInfo = "[ 혼잡통행료 납부 안내 ]서울특별시 혼잡통행료 징수조례 제11조 규정에 의거 과태료 납부를 통지하며, 질서위반행위규제법 제24조에 따라 납부 기한이 경과한 날부터 과태료의 3% 가산 되며, 매1개월 경과시마다 체납과태료의 12/1000에 상당하는 금액이 60개월동안 (최고 75%)중가산 되니 납부기한 내에 납부 하여 주시기 바랍니다.";
|
|
recevSenderinfo2 = "혼잡통행료 과태료 납부통지서";
|
|
}else {
|
|
recevRecallUsegiganInfo ="[ 혼잡통행료 과태료 독촉 및 압류예고장 ] 독촉장을 받고 납부기한까지 완납하지 아니한 때에는 지방세징수법 제33조 및 국세징수법의 규정에 따라 재산압류 등의 불이익을 받으실 수 있습니다.";
|
|
recevSenderinfo2 = "혼잡통행료 독촉 압류예고장";
|
|
}
|
|
param.setRecevRecallUsegiganInfo(recevRecallUsegiganInfo);
|
|
param.setRecevSenderinfo2(recevSenderinfo2);
|
|
|
|
param.setConKey(CON_KEY); //외부 연계 식별키
|
|
param.setEgreenResultId("90");
|
|
finePenaltyDao.insertPenaltyEgreenTempFile(param);
|
|
param.setEgreenYn("1");
|
|
finePenaltyDao.updateEtaxPenaltyDtlNotice2(param);
|
|
|
|
|
|
}
|
|
}catch(RuntimeException e) {
|
|
logger.info("catch check");
|
|
}catch(Exception e){
|
|
logger.info("catch check");
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public int penaltyCreateEgreenFileImageChk(List<PenaltyParamVO> paramList) throws Exception {
|
|
List<PenaltyParamVO> paramResult = new ArrayList<PenaltyParamVO>();
|
|
|
|
int nonImageCnt = 0;
|
|
for(PenaltyParamVO param : paramList){
|
|
param.setSessionUserNm(HttpUtil.getEmpNm());
|
|
String imageUrl = cfsCommonService.findCommonSecureGet("IMG_UP_URL")+param.getYear()+"/"+param.getFareOfficeId()+"/"+param.getYear()+param.getMonth()+param.getDay()+"/"+ param.getCarsStopPictureFile();
|
|
|
|
URL url = null;
|
|
url = new URL(imageUrl); // 다운로드 할 이미지 URL
|
|
URLConnection con = url.openConnection();
|
|
HttpURLConnection exitCode = (HttpURLConnection)con;
|
|
|
|
if(exitCode.getResponseCode() != 200) {
|
|
//UPDATE PENALTY_DETAIL_INFO_DAMO - 이미지 없는 상태로 저장
|
|
finePenaltyDao.updateEgreenNonImage(param);
|
|
nonImageCnt++;
|
|
}else{
|
|
paramResult.add(param);
|
|
}
|
|
}
|
|
penaltyCreateEgreenFile(paramResult);
|
|
|
|
return nonImageCnt;
|
|
}
|
|
|
|
@Override
|
|
public void penaltyCreateEgreenFile(List<PenaltyParamVO> paramList) throws Exception {
|
|
try{
|
|
finePenaltyDao.deletePenaltyEgreenTempFile();
|
|
PenaltyParamVO penaltyRgstNum = finePenaltyDao.findeGreenRgstNum();
|
|
Long rgstNum = Long.parseLong(penaltyRgstNum.getRgstNum());
|
|
String fileFullName = "";
|
|
String inDate = new java.text.SimpleDateFormat("yyyyMMdd").format(new java.util.Date());
|
|
String inTime = new java.text.SimpleDateFormat("HHmmss").format(new java.util.Date());
|
|
String txt = "";
|
|
String txtImage = "";
|
|
int ct = 0;
|
|
String CON_KEY = "";
|
|
|
|
|
|
for(PenaltyParamVO param : paramList){
|
|
|
|
PenaltyParamVO penaltyTodaySendChk = finePenaltyDao.findEtaxFileTodaySendChk(param); //중복 고지 막기위한 로직 추가 220603
|
|
|
|
|
|
|
|
if(penaltyTodaySendChk.getCnt().equals("1")){
|
|
continue;
|
|
}
|
|
|
|
finePenaltyDao.updateVirtualaccount(param); //가상계좌 전송/납부일자 넣어주기
|
|
String sender = "";
|
|
String recevRecallUsegiganInfo = "";
|
|
String recevSenderinfo2 = "";
|
|
param.setSessionUserNm(HttpUtil.getEmpNm());
|
|
ct++;
|
|
param.setCount(ct);
|
|
param.setListSize(paramList.size()+"");
|
|
String RECEV_KEUMINFO_1 = "";
|
|
String divKb; //취급구분
|
|
String sealCd; //내용문 상세 종류
|
|
String RECEV_SENDERURL = "혼잡통행료 과태료조회 https://oksign.seoul.go.kr"; //보내는사람_홈페이지
|
|
if(param.getStage().equals("0")){
|
|
sender = "사전통지서";
|
|
RECEV_KEUMINFO_1 = "감경 20% 적용"; //과태료정보안내
|
|
recevRecallUsegiganInfo = "[ 자진납부 및 의견제출 안내 ] 기한 내에만 감경된 과태료가 적용되며 기한이 경과되면 원래 과태료가 부괴됨 기한 마지막 날은 오후 10시 30분까지 과태료 가상계좌 납부가 가능함 의견제출을 하여도 자진납부 기한은 연장되지 않음";
|
|
recevSenderinfo2 = "혼잡통행료 과태료 사전통지서";
|
|
divKb = "000"; //취급구분
|
|
sealCd = "02L";
|
|
}else if(param.getStage().equals("1")){
|
|
sender = "과태료납부통지서";
|
|
recevRecallUsegiganInfo = "[ 혼잡통행료 납부 안내 ]서울특별시 혼잡통행료 징수조례 제11조 규정에 의거 과태료 납부를 통지하며, 질서위반행위규제법 제24조에 따라 납부 기한이 경과한 날부터 과태료의 3% 가산 되며, 매1개월 경과시마다 체납과태료의 12/1000에 상당하는 금액이 60개월동안 (최고 75%)중가산 되니 납부기한 내에 납부 하여 주시기 바랍니다.";
|
|
recevSenderinfo2 = "혼잡통행료 과태료 납부통지서";
|
|
divKb = "000"; //취급구분
|
|
sealCd = "02L";
|
|
}else {
|
|
sender = "과태료독촉 압류예고장";
|
|
recevRecallUsegiganInfo ="[ 혼잡통행료 과태료 독촉 및 압류예고장 ] 독촉장을 받고 납부기한까지 완납하지 아니한 때에는 지방세징수법 제33조 및 국세징수법의 규정에 따라 재산압류 등의 불이익을 받으실 수 있습니다.";
|
|
recevSenderinfo2 = "혼잡통행료 독촉 압류예고장";
|
|
divKb = "001"; //취급구분
|
|
sealCd = "12L";
|
|
RECEV_SENDERURL = "";
|
|
}
|
|
param.setRecevRecallUsegiganInfo(recevRecallUsegiganInfo);
|
|
param.setRecevSenderinfo2(recevSenderinfo2);
|
|
|
|
String conOrg = "TOPI"; //외부기관구분코드
|
|
String conRCEPTID = "10015"; //접수우체국 국기호
|
|
String dataCd = param.getDataCd(); //접수코드
|
|
String dfpayYn = "001"; //결제방법
|
|
String rcptKb = "020"; //내용문 유형
|
|
String wordKb = "001"; //내용문 종류
|
|
String mailCnt = "1"; //내용문 매수
|
|
String recevCnt = paramList.size()+""; //수취인 수
|
|
String envCd = "003"; //봉투 종류
|
|
String colorYn = "N"; //컬러우편물/흑백우편물
|
|
String MM_YN = "Y"; //메일머지 플래그
|
|
String FLEX_CD = "N"; //이면구분
|
|
String DM_CNT = "0"; //동봉물 개수, 없다면 '0'
|
|
String SB_FG = "Y"; //반송불필요여부
|
|
String APVL_NB = "1001510889"; //승인번호
|
|
String SEND_DATE = inDate; //신청일자
|
|
String SEND_TIME = inTime; //전송시간
|
|
if(CON_KEY.equals("")){
|
|
CON_KEY = "NS"+rgstNum; //외부 연계 식별키
|
|
}
|
|
String RGST_NMBR = "";
|
|
param.setConKey(CON_KEY); //외부 연계 식별키
|
|
String RELORSECT_CD = "00088"; //연계기관결제부서코드
|
|
String CON_DATA = ""; //외부 연계 추가 데이터
|
|
String SENDER_NM ="서울시설공단 혼잡통행료관리소"; //발송인명
|
|
String SENDER_ZIPCODE = "04633"; //우편번호
|
|
String SENDER_ADDR = "서울특별시 중구 소공로3길"; //주소(시, 구)
|
|
String SENDER_DTAILADDR = "29-5"; //상세주소
|
|
String SENDER_DATA ="NS"+param.getPenaltyManageYear()+param.getPenaltySeqno()+rgstNum; //발송인별 추가 데이터
|
|
String SQL_CNT = ct+""; //수취인순번
|
|
String RECEV_NM = param.getOwner(); //수취인명
|
|
String RECEV_ZIPCODE = param.getPostNo(); //우편번호
|
|
String RECEV_ADDR = param.getAddressName(); //주소(시, 구)
|
|
String RECEV_DTAILADDR = param.getAddressNum(); //상세주소
|
|
if(param.getStage().equals("2")){
|
|
RGST_NMBR = rgstNum+""; //등기번호
|
|
}else{
|
|
RGST_NMBR = "";
|
|
}
|
|
param.setRgstNum(rgstNum+"");
|
|
rgstNum++;
|
|
String RECEV_DATA = "TEL: (02)2290-6438~9, 2290-6179 FAX:(02)756-1398"; //수취인별 추가 데이터
|
|
String TEL_NUMBER1 = "000"; //수취인별 전화번호(앞)
|
|
String TEL_NUMBER2 = "000"; //수취인별 전화번호(중간)
|
|
String TEL_NUMBER3 = "0000"; //수취인별 전화번호(끝)
|
|
String PHONE_NUMBER1 = "000"; //수취인별핸드폰번호(앞)
|
|
String PHONE_NUMBER2 = "000"; //수취인별핸드폰번호(중간)
|
|
String PHONE_NUMBER3 = "0000"; //수취인별핸드폰번호(끝)
|
|
String RETURN_NM = ""; //회송처
|
|
String RETURN_ZIPCODE = ""; //회송처 우편번호
|
|
String RETURN_ADDR = ""; //회송처 주소
|
|
String RETURN_DTAILADDR = ""; //회송처 상세주소
|
|
String ATTACH_NM = CON_KEY+".zip";
|
|
String RECEV_SGGCODE = "11110"; //시군구코드
|
|
String RECEV_DBGB = "34"; //과태료코드
|
|
String RECEV_DBGB_NM = "혼잡통행료과태료"; //과태료명
|
|
String RECEV_BOSS = "서울시설공단이사장"; //장명
|
|
String RECEV_JUSO = param.getAddressName(); //받는사람_주소
|
|
String RECEV_BUNJI = param.getAddressNum(); //받는사람_상세주소
|
|
String RECEV_SENDERJUSO = "서울특별시 중구 소공로3길 29-5"; //보내는사람_주소
|
|
String RECEV_SENDERZIPCODE = "04633"; //보내는사람_우편번호
|
|
String RECEV_SENDERTEL = "02)2290-6438~9, 2290-6179"; //보내는사람_전화
|
|
String RECEV_SENDERFAX = "02)756-1398"; //보내는사람_펙스
|
|
String RECEV_SENDERDEPTNM = "교통정책과"; //보내는사람_부서명
|
|
String RECEV_SENDERINFO1 = "바로녹색결재 가입신청! / 혼잡통행료 과태료 조회 서비스"; //보내는사람_안내문구1
|
|
String RECEV_SENDERINFO2 = recevSenderinfo2; //보내는사람_안내문구2
|
|
String RECEV_RENTAL_HOMEPAGE =""; //보내는사람_임차인홈페이지
|
|
String RECEV_RENTAL_MANUAL =""; //보내는사람_임차인메뉴얼
|
|
String RECEV_RENTAL_PRINTTYPE = "1"; //보내는사람_임차인양식구분
|
|
String RECEV_RENTAL_JNO =""; //운행자확인 주민번호
|
|
String RECEV_LAW_INFO = "서울특별시 혼잡통행료 징수조례 제11조 및 질서위반행위규제법 제16조"; //관련법규 /질서위반행위 규제법시행 안내
|
|
String RECEV_RECALL_TEL = "02-2290-6438~9"; //의견진술 연락처안내
|
|
String RECEV_JANAP_TEL = "가상계좌로 입금(납기 후 수납 불가 )"; //자진납부안내1
|
|
String RECEV_NAPBU_INFO =param.getMotionNm(); // 자진납부안내2
|
|
String RECEV_RECALL_USEGIGAN_INFO =recevRecallUsegiganInfo;
|
|
String RECEV_MM_CODE_1 = param.getPenaltyManageYear()+String.format("%06d", Integer.parseInt(param.getPenaltySeqno())); //메인연번
|
|
String RECEV_PO_CODE_1 = "0000000001"; //발송연번
|
|
String RECEV_BARCODE1D_1 = ""; //바코드1D
|
|
String RECEV_BARCODE2D_1 = sender; //바코드2D
|
|
String RECEV_INGB2_1 = "혼잡통행료과태료"; //단속구분
|
|
String RECEV_CARNO_1 = param.getCarNo(); //차량번호
|
|
String RECEV_WDATETIME_1 = param.getYear()+param.getMonth()+param.getDay()+param.getWorkTimes().substring(0, 4); //단속일시
|
|
String RECEV_DONG_1 = "남산 1호터널, 3호터널"; //단속지역
|
|
String RECEV_POS_1 = param.getFareOfficeNm()+param.getBooth(); //단속장소
|
|
String RECEV_VIOR_1 = "혼잡통행료 미납"; //위반내용
|
|
String RECEV_CARKIND_1 = "승용"; //차종
|
|
String RECEV_CARID_1 = param.getCarTypeFullNm(); //차명
|
|
String RECEV_MOSAICX_1 = param.getxPosition(); //모자이크X
|
|
String RECEV_MOSAICY_1 = param.getyPosition(); //모자이트Y
|
|
String RECEV_IMGCNT_1 = "1"; //사진매수
|
|
String RECEV_TWOHOUR_1 = ""; //시간초과가액감액안내
|
|
String RECEV_SCHOOL_1 = ""; //어린이보호구역
|
|
String RECEV_BASICLIVE_1 = ""; //사회적약자
|
|
String RECEV_POST_GB_1 = "수시분"; //고지서 문서종류
|
|
String RECEV_PRINTDATE_1 = inDate; //출력일자
|
|
String RECEV_GOJINUMBER_1 = param.getNoticeDate(); //고지번호
|
|
String RECEV_ORG_AMT_1 = param.getLavyAmount(); //단속원금
|
|
String RECEV_GOLDATE_1 = param.getDeliveryDate(); //납기내기한
|
|
String RECEV_BLC_AMT_1 = param.getLavyAmount(); //납기내금액
|
|
String RECEV_GOLDATE_NAPGIHU_1 = ""; //납기후기한
|
|
String RECEV_BLC_AMT_NAPGIHU_1 = ""; //납기후금액
|
|
String RECEV_BAND0_1 = ""; //밴드0
|
|
String sendDate = "";
|
|
PenaltyParamVO sendDateList = finePenaltyDao.findEtaxFileSendDate(param);
|
|
|
|
String passDate = param.getYear()+param.getMonth()+param.getDay();
|
|
if(Integer.parseInt(passDate)>=20060101){
|
|
sendDate += (String) sendDateList.getSendDate().subSequence(0, 6);
|
|
}else{
|
|
sendDate += param.getYear()+param.getMonth();
|
|
}
|
|
RECEV_BAND0_1 = "000047334288001"+ sendDate + "2" + byteLeftPad(param.getPenaltySeqno(), 6, "0") + combyteSec("34"+"288001"+sendDate+"2"+byteLeftPad(param.getPenaltySeqno(), 6, "0"));
|
|
String RECEV_BAND1_1 = param.getxPosition();//밴드1
|
|
String RECEV_BAND2_1 = param.getyPosition();//밴드2
|
|
String RECEV_BAND3_1 = param.getGaroLen(); //밴드3
|
|
String RECEV_BAND4_1 = param.getSeroLen(); //밴드4
|
|
String RECEV_BAND5_1 = "0000473"; //밴드5
|
|
String RECEV_BAND6_1 = "34288001"; //밴드6
|
|
String RECEV_BAND7_1 = sendDate+"2"; //밴드7
|
|
String RECEV_BAND8_1 = byteLeftPad(param.getPenaltySeqno(), 6, "0") + combyteSec("34"+"288001"+sendDate+"2"+byteLeftPad(param.getPenaltySeqno(), 6, "0")); //밴드8
|
|
param.setRecevBand01(RECEV_BAND0_1);
|
|
param.setRecevBand02(RECEV_BAND7_1);
|
|
param.setRecevBand03(RECEV_BAND8_1);
|
|
String RECEV_ETAXNO_1 = ""; //전자납부번호
|
|
String RECEV_VACCT_1 = param.getVirtualBank(); //가상계좌정보
|
|
String RECEV_RECALL_GIGAN_1 = ""; //의견진술 기간
|
|
String RECEV_RECALL_SEQ_1 = ""; //의견진술 접수번호
|
|
String RECEV_RECALL_STATE_1 = ""; //의견진술 심의결과안내
|
|
String RECEV_RECALL_ANSWER_1 = ""; //의견진술 답변내용
|
|
String RECEV_REBUGWA_ID_1 = ""; //재부과명
|
|
String RECEV_SZCARNO_1 = ""; //압류등록차량번호
|
|
String RECEV_GONGMUN_1 = ""; //공문번호
|
|
String RECEV_SZDATE_1 = ""; //압류등록일자
|
|
String RECEV_RENTAL_LDATE_1 = ""; //운행자확인 회신일자
|
|
|
|
fileFullName = cfsCommonService.findCommonSecureGet("FIlE_PATH")+CON_KEY+".txt";
|
|
|
|
|
|
param.setEgreenYn("1");
|
|
param.setEgreenResultId("00");
|
|
|
|
finePenaltyDao.insertPenaltyEgreenFile(param);
|
|
finePenaltyDao.insertPenaltyEgreenTempFile(param);
|
|
|
|
finePenaltyDao.updateEtaxPenaltyDtlNotice(param);
|
|
txtImage += "P11110"+param.getPenaltyManageYear()+String.format("%06d", Integer.parseInt(param.getPenaltySeqno()))+"A.JPG" + "\n";
|
|
|
|
|
|
String line =
|
|
conOrg+ "|"
|
|
+ conRCEPTID+ "|"
|
|
+ dataCd+ "|"
|
|
+ divKb + "|"
|
|
+ dfpayYn+ "|"
|
|
+ rcptKb+ "|"
|
|
+ sealCd+ "|"
|
|
+ wordKb+ "|"
|
|
+ mailCnt+ "|"
|
|
+ recevCnt+ "|"
|
|
+ envCd+ "|"
|
|
+ colorYn+ "|"
|
|
+ MM_YN+ "|"
|
|
+ FLEX_CD+ "|"
|
|
+ DM_CNT+ "|"
|
|
+ SB_FG+ "|"
|
|
+ APVL_NB+ "|"
|
|
+ SEND_DATE+ "|"
|
|
+ SEND_TIME+ "|"
|
|
+ CON_KEY+ "|" //20번째항목
|
|
+ RELORSECT_CD+ "|"
|
|
+ CON_DATA+ "|"
|
|
+ SENDER_NM+ "|"
|
|
+ SENDER_ZIPCODE+ "|"
|
|
+ SENDER_ADDR+ "|"
|
|
+ SENDER_DTAILADDR+ "|"
|
|
+ SENDER_DATA+ "|" //27번째항목
|
|
+ SQL_CNT+ "|" + RECEV_NM+ "|" + RECEV_ZIPCODE+ "|" + RECEV_ADDR+ "|" + RECEV_DTAILADDR+ "|"
|
|
+ RGST_NMBR+ "|" + RECEV_DATA+ "|" + TEL_NUMBER1+ "|" + TEL_NUMBER2+ "|" + TEL_NUMBER3+ "|"
|
|
+ PHONE_NUMBER1+ "|" + PHONE_NUMBER2+ "|" + PHONE_NUMBER3+ "|" + RETURN_NM+ "|" + RETURN_ZIPCODE+ "|"
|
|
+ RETURN_ADDR+ "|" + RETURN_DTAILADDR+ "|" + ATTACH_NM+ "|" + RECEV_SGGCODE+ "|" + RECEV_DBGB+ "|"
|
|
+ RECEV_DBGB_NM+ "|" + RECEV_BOSS+ "|" + RECEV_JUSO+ "|" + RECEV_BUNJI+ "|" + RECEV_SENDERJUSO+ "|"
|
|
+ RECEV_SENDERZIPCODE+ "|" + RECEV_SENDERTEL+ "|" + RECEV_SENDERFAX+ "|" + RECEV_SENDERDEPTNM+ "|"
|
|
+ RECEV_SENDERURL+ "|" + RECEV_SENDERINFO1+ "|" + RECEV_SENDERINFO2+ "|" + RECEV_RENTAL_HOMEPAGE+ "|"
|
|
+ RECEV_RENTAL_MANUAL+ "|" + RECEV_RENTAL_PRINTTYPE+ "|" + RECEV_RENTAL_JNO+ "|" + RECEV_LAW_INFO+ "|"
|
|
+ RECEV_RECALL_TEL+ "|" + RECEV_JANAP_TEL+ "|" + RECEV_NAPBU_INFO+ "|"+RECEV_RECALL_USEGIGAN_INFO+ "|" + RECEV_MM_CODE_1+ "|"
|
|
+ RECEV_PO_CODE_1+ "|" + RECEV_BARCODE1D_1+ "|" + RECEV_BARCODE2D_1+ "|" + RECEV_INGB2_1+ "|"
|
|
+ RECEV_CARNO_1+ "|"
|
|
+ RECEV_WDATETIME_1+ "|"
|
|
+ RECEV_DONG_1+ "|" + RECEV_POS_1+ "|" + RECEV_VIOR_1+ "|"
|
|
+ RECEV_CARKIND_1+ "|" + RECEV_CARID_1+ "|" + RECEV_MOSAICX_1+ "|" + RECEV_MOSAICY_1+ "|" + RECEV_IMGCNT_1+ "|"
|
|
+ RECEV_TWOHOUR_1+ "|" + RECEV_SCHOOL_1+ "|" + RECEV_BASICLIVE_1+ "|" + RECEV_POST_GB_1+ "|"
|
|
+ RECEV_PRINTDATE_1+ "|" + RECEV_GOJINUMBER_1+ "|" + RECEV_ORG_AMT_1+ "|" + RECEV_KEUMINFO_1+ "|"
|
|
+ RECEV_GOLDATE_1+ "|" + RECEV_BLC_AMT_1+ "|" + RECEV_GOLDATE_NAPGIHU_1+ "|" + RECEV_BLC_AMT_NAPGIHU_1+ "|"
|
|
+ RECEV_BAND0_1+ "|" + RECEV_BAND1_1+ "|" + RECEV_BAND2_1+ "|" + RECEV_BAND3_1+ "|" + RECEV_BAND4_1+ "|"
|
|
+ RECEV_BAND5_1+ "|" + RECEV_BAND6_1+ "|" + RECEV_BAND7_1+ "|" + RECEV_BAND8_1+ "|" + RECEV_ETAXNO_1+ "|"
|
|
+ RECEV_VACCT_1+ "|" + RECEV_RECALL_GIGAN_1+ "|" + RECEV_RECALL_SEQ_1+ "|" + RECEV_RECALL_STATE_1+ "|"
|
|
+ RECEV_RECALL_ANSWER_1+ "|" + RECEV_REBUGWA_ID_1+ "|" + RECEV_SZCARNO_1+ "|" + RECEV_GONGMUN_1+ "|"
|
|
+ RECEV_SZDATE_1+ "|" + RECEV_RENTAL_LDATE_1;
|
|
|
|
line = StringUtil.deleteNewLine(line) + "\n";
|
|
|
|
txt += line;
|
|
|
|
}
|
|
|
|
this.findCreateImageFileList(txt,fileFullName);
|
|
|
|
this.findCreateImageFileList(txtImage,cfsCommonService.findCommonSecureGet("FIlE_PATH")+CON_KEY+"img.txt");
|
|
|
|
this.findCreateImageUpload(paramList);
|
|
|
|
|
|
//String command = String.format("sh "+"/gpta/source-app/cfs/egreen/snd_eGreen.sh "+"/gpta/source-app/cfs/egreen"+" "+CON_KEY);
|
|
//shellCmd(command);
|
|
|
|
String path = this.egreen_step4("/gpta/source-app/cfs/egreen", CON_KEY);
|
|
this.egreen_step5(path);
|
|
|
|
}catch(RuntimeException e) {
|
|
e.printStackTrace();
|
|
logger.info("catch check");
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
logger.info("catch check");
|
|
}
|
|
}
|
|
|
|
public void findCreateImageFileList(String txt, String fileName) throws Exception {
|
|
|
|
BufferedWriter bf = new BufferedWriter(new FileWriter(fileName));
|
|
try{
|
|
|
|
bf.write(txt);
|
|
bf.flush();
|
|
|
|
|
|
}catch(RuntimeException e) {
|
|
e.printStackTrace();
|
|
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
|
|
}finally{
|
|
if(bf != null)
|
|
bf.close();
|
|
}
|
|
}
|
|
|
|
private String egreen_step4(String rootWork, String conkey) throws Exception {
|
|
String result = "";
|
|
|
|
String chg_files_path = rootWork+"/data";
|
|
|
|
String readLineFileName_SUFFIX = "img.txt";
|
|
String chg_file_name_PREFIX = "LGRDFB$";
|
|
|
|
String readLineFileName = conkey+readLineFileName_SUFFIX;
|
|
String readLineFilePath = rootWork+"/"+readLineFileName;
|
|
|
|
String firstTxtName = conkey+".txt";
|
|
String firstTxtPath = rootWork+"/"+firstTxtName;
|
|
String firstZipName = conkey+".zip";
|
|
String firstZipPath = rootWork+"/"+firstZipName;
|
|
|
|
String chg_file_name_no_ext = chg_file_name_PREFIX+conkey;
|
|
String chg_file_name_txt = chg_file_name_no_ext+".txt";
|
|
String chg_file_path_txt = chg_files_path+"/"+chg_file_name_txt;
|
|
String chg_file_name_zip = chg_file_name_no_ext+".zip";
|
|
String chg_file_path_zip = chg_files_path+"/"+chg_file_name_zip;
|
|
|
|
Files.move(Paths.get(firstTxtPath), Paths.get(chg_file_path_txt), StandardCopyOption.REPLACE_EXISTING);
|
|
|
|
BufferedReader br = Files.newBufferedReader(Paths.get(readLineFilePath));
|
|
Charset.forName("UTF-8");
|
|
List<String> lines = new ArrayList<String>();
|
|
String line = "";
|
|
while ((line = br.readLine()) != null) {
|
|
if(line != null && !line.equals("")){
|
|
lines.add(line);
|
|
}
|
|
}
|
|
|
|
ZipUtil.makeZip(rootWork, lines, firstZipName);
|
|
|
|
for(String one : lines){
|
|
Files.delete(Paths.get(rootWork+"/"+one));
|
|
}
|
|
Files.delete(Paths.get(readLineFilePath));
|
|
|
|
|
|
Files.move(Paths.get(firstZipPath), Paths.get(chg_file_path_zip), StandardCopyOption.REPLACE_EXISTING);
|
|
|
|
|
|
result = chg_files_path + "/" + chg_file_name_no_ext;
|
|
|
|
return result;
|
|
}
|
|
|
|
private boolean egreen_step5(String path){
|
|
Map<String,String> connectionInfo = trsmrcvDao.selectConnectionInfo("EGREEN_ESB_AGENT_FTP");
|
|
|
|
boolean initResult = sftpUtil.init(
|
|
connectionInfo.get("CONNECT_IP"),
|
|
connectionInfo.get("USER_ID"),
|
|
connectionInfo.get("USER_PASS"),
|
|
Integer.parseInt(connectionInfo.get("CONNECT_PORT"))
|
|
);
|
|
if(!initResult){
|
|
return false;
|
|
}
|
|
|
|
boolean uploadResult = sftpUtil.sFtpUpload2(connectionInfo.get("PATH_INFO"), new File(path+".txt"), new File(path+".zip"));
|
|
|
|
return uploadResult;
|
|
}
|
|
|
|
private boolean shellCmd(String cmd) {
|
|
Process process = null;
|
|
Runtime runtime = Runtime.getRuntime();
|
|
StringBuffer successOutput = new StringBuffer();
|
|
StringBuffer errorOutput = new StringBuffer();
|
|
BufferedReader successBufferReader = null;
|
|
BufferedReader errorBufferReader = null;
|
|
String msg = null;
|
|
boolean result = false;
|
|
|
|
logger.info(cmd);
|
|
logger.info("shellCmd - 1");
|
|
List<String> cmdList = new ArrayList<String>();
|
|
|
|
cmdList.add("/bin/sh");
|
|
cmdList.add("-c");
|
|
|
|
|
|
logger.info("shellCmd - 2");
|
|
cmdList.add(cmd);
|
|
String[] array = cmdList.toArray(new String[cmdList.size()]);
|
|
|
|
logger.info("// 3");
|
|
try {
|
|
process = runtime.exec(array);
|
|
logger.info("shellCmd - 4");
|
|
successBufferReader = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8"));
|
|
|
|
logger.info("shellCmd - 5");
|
|
while ((msg = successBufferReader.readLine()) != null) {
|
|
successOutput.append(msg + System.getProperty("line.separator"));
|
|
}
|
|
|
|
logger.info("shellCmd - 6");
|
|
errorBufferReader = new BufferedReader(new InputStreamReader(process.getErrorStream(), "UTF-8"));
|
|
while ((msg = errorBufferReader.readLine()) != null) {
|
|
errorOutput.append(msg + System.getProperty("line.separator"));
|
|
}
|
|
|
|
logger.info("shellCmd - 7");
|
|
process.waitFor();
|
|
|
|
logger.info("shellCmd - 8");
|
|
if (process.exitValue() == 0) {
|
|
result = true;
|
|
} else {
|
|
logger.info("abnormal finish error : " + successOutput.toString());
|
|
}
|
|
|
|
logger.info("shellCmd - 8");
|
|
if (errorOutput.toString().length() > 0) {
|
|
logger.info("error : " + errorOutput.toString());
|
|
}
|
|
|
|
logger.info("shellCmd - 9");
|
|
} catch (IOException e) {
|
|
logger.info(e.getMessage());
|
|
} catch (InterruptedException e) {
|
|
logger.info(e.getMessage());
|
|
} finally {
|
|
try {
|
|
process.destroy();
|
|
if (successBufferReader != null) successBufferReader.close();
|
|
if (errorBufferReader != null) errorBufferReader.close();
|
|
|
|
} catch (IOException e1) {
|
|
logger.info(e1.getMessage());
|
|
}
|
|
}
|
|
return result;
|
|
|
|
}
|
|
|
|
public void findCreateImageUpload(List<PenaltyParamVO> paramList) throws Exception {
|
|
for(PenaltyParamVO param : paramList){
|
|
String saveFileName = cfsCommonService.findCommonSecureGet("FIlE_PATH")+"P11110"+param.getPenaltyManageYear()+String.format("%06d", Integer.parseInt(param.getPenaltySeqno()))+"A.JPG";
|
|
String format = "JPG";
|
|
String imageUrl = cfsCommonService.findCommonSecureGet("IMG_UP_URL")+param.getYear()+"/"+param.getFareOfficeId()+"/"+param.getYear()+param.getMonth()+param.getDay()+"/"+ param.getCarsStopPictureFile();
|
|
|
|
logger.info("파일 저장"+saveFileName);
|
|
logger.info("다운받을 이미지"+imageUrl);
|
|
|
|
File saveFile = null;
|
|
URL url = null;
|
|
BufferedImage bi = null;
|
|
boolean bSueess = false;
|
|
boolean writeChk = false;
|
|
|
|
url = new URL(imageUrl); // 다운로드 할 이미지 URL
|
|
int check = 0;
|
|
while(!bSueess){
|
|
if(check == 10){
|
|
break;
|
|
}
|
|
try{
|
|
bi = ImageIO.read(url);
|
|
bSueess = true;
|
|
logger.info("이미지"+bi.getHeight());
|
|
}
|
|
catch(IOException i){
|
|
Thread.sleep(1000);
|
|
}
|
|
check++;
|
|
}
|
|
|
|
saveFile = new File(saveFileName);
|
|
check = 0;
|
|
while(writeChk == false){
|
|
if(check == 10){
|
|
break;
|
|
}
|
|
try{
|
|
logger.info("다운 시도"+check);
|
|
// 저장할 파일 형식, 저장할 파일명
|
|
ImageIO.write(bi, format, saveFile);
|
|
writeChk = true;
|
|
}catch(IOException i){
|
|
Thread.sleep(1000);
|
|
}
|
|
check++;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public PenaltyParamVO findCreateETaxFile(PenaltyParamVO param) throws Exception { //쩐쩐
|
|
|
|
PenaltyParamVO result = new PenaltyParamVO();
|
|
try{
|
|
|
|
List<PenaltyParamVO> virtual = finePenaltyDao.findEtaxFileVirtualaCount(param);
|
|
for(PenaltyParamVO account : virtual ){
|
|
finePenaltyDao.updateVirtualaccount(account);
|
|
}
|
|
|
|
/*가상계좌 중복 발행 현상이 있어 중복을 제거해야함*/
|
|
finePenaltyDao.updateVirtualDue();
|
|
|
|
List<PenaltyParamVO> statList = finePenaltyDao.findEtaxFilePenaltyList(param);
|
|
|
|
String txt = "";
|
|
|
|
|
|
String is_a1 = "000"; //시구코드(시도)(3 byte)
|
|
String is_a2 = "047"; //행정동코드(기관)(3 byte)
|
|
String is_a3 = "3"; //검비트1(1 byte)
|
|
String is_a4 = "34"; //회계코드(2 byte)
|
|
String is_a5 = "288001";//세목코드(6 byte)
|
|
String is_a6; //과세년월(6 byte)
|
|
String is_a7 = "2"; //과세번호(1 byte)
|
|
|
|
String is_a9 = ""; //검비트2(1 byte)
|
|
|
|
String is_seqNo = ""; // 과세번호(일련번호)(6 byte)
|
|
String is_owner = ""; // 납세자 (60 byte)
|
|
String is_resident = "";// 납세자주민번호 (13 byte)
|
|
String is_carNo = ""; // 과세물건(차량번호) (260 byte)
|
|
String is_szaccNm = "과태료수입";// 회계과목명 (50 byte)
|
|
String is_szsemokNm = "혼잡통행료과태료";// 세목명 (50 byte)
|
|
String is_szsemokNm1 = "혼잡통행료과태료";// 세목명1 (50 byte)
|
|
String is_bAmt = ""; // 세목1_납기내 (11 byte)
|
|
String is_aAmt = ""; // 세목1_납기후 (11 byte)
|
|
String is_semokNm2 = ""; // 세목명2 (50 byte)
|
|
String is_semok2 = "00000000000"; // 세목2_납기내 (11 byte)
|
|
String address = "서울특별시 혼잡통행료징수 조례 제11조";// 부과근거 (200 byte)
|
|
String is_szVal1 = "";// 부과내역1 (12 byte)
|
|
String is_szVal2 = "";// 부과내역1 (80 byte)
|
|
String is_szVal3 = "";// 부과내역1 (80 byte)
|
|
String is_szVal4 = "";// 부과내역1 (200 byte)
|
|
String is_bank = "";// 은행코드 (6 byte)
|
|
String is_payDate = "";// 수납일자 (8 byte)
|
|
String is_damdang = param.getDamdang();// 담당자 (20 byte)
|
|
String is_dept = param.getDept();// 담당부서 (40 byte)
|
|
String is_telno = param.getTelno();// 부과담당자 전화번호 (20 byte)
|
|
String ls_a48 = "";
|
|
String ls_a53 = "3"; //수납구분
|
|
String ls_a44 = "SISUL";// 서버명(시스템명) (5 byte)
|
|
String virtualBank = "";//가상계좌번호
|
|
String lastDate = "";//납기내일자(8nyte)
|
|
String passDate = "";
|
|
|
|
is_damdang = byteLeftPad(is_damdang,20," ");
|
|
is_dept = byteLeftPad(is_dept,40," ");
|
|
is_telno = byteLeftPad(is_telno,20," ");
|
|
is_szVal1 = byteLeftPad(is_szVal1,12," ");
|
|
is_szVal2 = byteLeftPad(is_szVal2,80," ");
|
|
is_szVal3 = byteLeftPad(is_szVal3,80," ");
|
|
is_szVal4 = byteLeftPad(is_szVal4,200," ");
|
|
is_bank = byteLeftPad(is_bank,6," ");
|
|
is_payDate = byteLeftPad(is_payDate,8," ");
|
|
ls_a48 = byteLeftPad(ls_a48,14," ");
|
|
address = byteRightPad(address,200," ");
|
|
is_szaccNm = byteRightPad(is_szaccNm, 50, " ");
|
|
is_szsemokNm = byteLeftPad(is_szsemokNm, 50, " ");
|
|
is_szsemokNm1 = byteLeftPad(is_szsemokNm1, 50, " ");
|
|
is_semokNm2 = byteRightPad(is_semokNm2, 50, " ");
|
|
|
|
|
|
for(int i = 0; i<statList.size(); i++){
|
|
PenaltyParamVO sendDateList;
|
|
|
|
sendDateList = finePenaltyDao.findEtaxFileSendDate(statList.get(i));
|
|
|
|
|
|
passDate = statList.get(i).getYear()+statList.get(i).getMonth()+statList.get(i).getDay();
|
|
if(Integer.parseInt(passDate)>=20060101){
|
|
is_a6 = (String) sendDateList.getSendDate().subSequence(0, 6);
|
|
}else{
|
|
is_a6 = statList.get(i).getYear()+statList.get(i).getMonth();
|
|
}
|
|
is_owner = statList.get(i).getOwner();
|
|
is_resident = statList.get(i).getResidentNo();
|
|
is_carNo = statList.get(i).getCarNo();
|
|
is_seqNo = statList.get(i).getPenaltySeqno();
|
|
is_bAmt = statList.get(i).getLavyAmount();
|
|
is_aAmt = "";
|
|
virtualBank = statList.get(i).getVirtualBank();
|
|
lastDate = statList.get(i).getDeliveryDate();
|
|
|
|
is_seqNo = byteLeftPad(is_seqNo, 6, "0");
|
|
is_a9 = combyteSec(is_a4+is_a5+is_a6+is_a7+is_seqNo);
|
|
|
|
|
|
|
|
is_owner = byteRightPad(is_owner, 60, " ");
|
|
is_resident = byteRightPad(is_resident, 13, " ");
|
|
is_carNo = byteRightPad(is_carNo, 260, " ");
|
|
is_bAmt = byteLeftPad(is_bAmt, 11, "0");
|
|
is_aAmt = byteLeftPad(is_aAmt, 11, "0");
|
|
|
|
txt += is_a1+is_a2+is_a3+is_a4+is_a5+is_a6+is_a7+is_seqNo+is_a9+is_owner
|
|
+is_resident+is_carNo
|
|
+is_szaccNm+is_szsemokNm+is_szsemokNm1+
|
|
is_bAmt+is_aAmt+is_semokNm2+is_semok2+is_semok2
|
|
+is_semokNm2+is_semok2+is_semok2
|
|
+is_semokNm2
|
|
+is_semok2+is_semok2
|
|
+is_semokNm2
|
|
+is_semok2+is_semok2
|
|
+is_bAmt+is_aAmt
|
|
+lastDate+lastDate+address+is_szVal1+is_szVal2+is_szVal3+is_szVal4
|
|
+is_damdang+is_dept+is_telno+is_bank+is_payDate+ls_a44+virtualBank
|
|
+ls_a48+ls_a48+ls_a48+ls_a48+ls_a48+ls_a53+"\r\n";
|
|
|
|
statList.get(i).setSessionUserNm(HttpUtil.getEmpNm());
|
|
statList.get(i).setSysNoticeId("21");
|
|
|
|
finePenaltyDao.updateEtaxSendInfo02(statList.get(i));
|
|
finePenaltyDao.updateEtaxSendRentInfo02(statList.get(i));
|
|
finePenaltyDao.updateEtaxPenaltyDtlNotice2(statList.get(i));
|
|
|
|
}
|
|
|
|
result.setEtaxCon(txt);
|
|
}catch(RuntimeException e) {
|
|
logger.info("catch check");
|
|
e.printStackTrace();
|
|
}catch(Exception e){
|
|
logger.info("catch check");
|
|
e.printStackTrace();
|
|
}finally{
|
|
/*if(fw != null)
|
|
fw.close();
|
|
if(bf != null)
|
|
bf.close();*/
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public String byteLeftPad(String var,int leng,String A) throws UnsupportedEncodingException{
|
|
byte[] buffers = var.getBytes("MS949");
|
|
String result = "";
|
|
result = StringUtils.leftPad(result,leng-buffers.length,A);
|
|
result = result+var;
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public PenaltyParamVO findCreateDefETaxFile(PenaltyParamVO param) throws Exception {
|
|
|
|
PenaltyParamVO result = new PenaltyParamVO();
|
|
try{
|
|
//가상계좌 발급후 조회
|
|
List<PenaltyParamVO> statList = finePenaltyDao.findEtaxFileDefList(param);
|
|
for(PenaltyParamVO account : statList ){
|
|
account.setEtaxKbn("1");
|
|
//가상계좌 발송일자, 납부기한 넣어줘야 초기화 안됨
|
|
finePenaltyDao.updateEtaxVirtualaccount(account);
|
|
}
|
|
|
|
|
|
String txt = "";
|
|
|
|
String is_a1 = "000"; //시구코드(시도)(3 byte)
|
|
String is_a2 = "047"; //행정동코드(기관)(3 byte)
|
|
String is_a3 = "3"; //검비트1(1 byte)
|
|
String is_a4 = "32"; //회계코드(2 byte)
|
|
String is_a5 = "227213";//세목코드(6 byte)
|
|
String is_a6; //과세년월(6 byte)
|
|
String is_a7 = "1"; //과세번호(1 byte)
|
|
|
|
String is_a9 = ""; //검비트2(1 byte)
|
|
|
|
String is_seqNo = ""; // 과세번호(일련번호)(6 byte)
|
|
String is_owner = ""; // 납세자 (60 byte)
|
|
String is_resident = "";// 납세자주민번호 (13 byte)
|
|
String is_carNo = ""; // 과세물건(차량번호) (260 byte)
|
|
String is_szaccNm = "미납금수입";// 회계과목명 (50 byte)
|
|
String is_szsemokNm = "혼잡통행료미납금";// 세목명 (50 byte)
|
|
String is_szsemokNm1 = "혼잡통행료미납금";// 세목명1 (50 byte)
|
|
String is_bAmt = ""; // 세목1_납기내 (11 byte)
|
|
String is_aAmt = ""; // 세목1_납기후 (11 byte)
|
|
String is_semokNm2 = ""; // 세목명2 (50 byte)
|
|
String is_semok2 = "00000000000"; // 세목2_납기내 (11 byte)
|
|
String address = "서울특별시 혼잡통행료징수 조례 제11조";// 부과근거 (200 byte)
|
|
String is_szVal1 = "";// 부과내역1 (12 byte)
|
|
String is_szVal2 = "";// 부과내역1 (80 byte)
|
|
String is_szVal3 = "";// 부과내역1 (80 byte)
|
|
String is_szVal4 = "";// 부과내역1 (200 byte)
|
|
String is_bank = "";// 은행코드 (6 byte)
|
|
String is_payDate = "";// 수납일자 (8 byte)
|
|
String is_damdang = param.getDamdang();// 담당자 (20 byte)
|
|
String is_dept = param.getDept();// 담당부서 (40 byte)
|
|
String is_telno = param.getTelno();// 부과담당자 전화번호 (20 byte)
|
|
String ls_a48 = "";
|
|
String ls_a53 = "3"; //수납구분
|
|
String ls_a44 = "SISUL";// 서버명(시스템명) (5 byte)
|
|
String virtualBank = "";//가상계좌번호
|
|
String lastDate = "";//납기내일자(8nyte)
|
|
|
|
is_damdang = byteLeftPad(is_damdang,20," ");
|
|
is_dept = byteLeftPad(is_dept,40," ");
|
|
is_telno = byteLeftPad(is_telno,20," ");
|
|
is_szVal1 = byteLeftPad(is_szVal1,12," ");
|
|
is_szVal2 = byteLeftPad(is_szVal2,80," ");
|
|
is_szVal3 = byteLeftPad(is_szVal3,80," ");
|
|
is_szVal4 = byteLeftPad(is_szVal4,200," ");
|
|
is_bank = byteLeftPad(is_bank,6," ");
|
|
is_payDate = byteLeftPad(is_payDate,8," ");
|
|
ls_a48 = byteLeftPad(ls_a48,14," ");
|
|
address = byteRightPad(address,200," ");
|
|
is_szaccNm = byteRightPad(is_szaccNm, 50, " ");
|
|
is_szsemokNm = byteLeftPad(is_szsemokNm, 50, " ");
|
|
is_szsemokNm1 = byteLeftPad(is_szsemokNm1, 50, " ");
|
|
is_semokNm2 = byteRightPad(is_semokNm2, 50, " ");
|
|
|
|
|
|
|
|
for(int i = 0; i<statList.size(); i++){
|
|
|
|
is_a6 = statList.get(i).getSendDate().substring(0, 6);
|
|
is_owner = statList.get(i).getOwner();
|
|
is_resident = statList.get(i).getResidentNo();
|
|
is_carNo = statList.get(i).getCarNo();
|
|
is_seqNo = statList.get(i).getManageNo();
|
|
is_bAmt = statList.get(i).getLavyAmount();
|
|
is_aAmt = "";
|
|
virtualBank = statList.get(i).getVirtualBank();
|
|
lastDate = statList.get(i).getEndDate();
|
|
|
|
is_seqNo = byteLeftPad(is_seqNo, 6, "0");
|
|
is_a9 = combyteSec(is_a4+is_a5+is_a6+is_a7+is_seqNo);
|
|
|
|
|
|
|
|
is_owner = byteRightPad(is_owner, 60, " ");
|
|
is_resident = byteRightPad(is_resident, 13, " ");
|
|
is_carNo = byteRightPad(is_carNo, 260, " ");
|
|
is_bAmt = byteLeftPad(is_bAmt, 11, "0");
|
|
is_aAmt = byteLeftPad(is_aAmt, 11, "0");
|
|
|
|
txt += is_a1+is_a2+is_a3+is_a4+is_a5+is_a6+is_a7+is_seqNo+is_a9+is_owner
|
|
+is_resident+is_carNo
|
|
+is_szaccNm+is_szsemokNm+is_szsemokNm1+
|
|
is_bAmt+is_aAmt+is_semokNm2+is_semok2+is_semok2
|
|
+is_semokNm2+is_semok2+is_semok2
|
|
+is_semokNm2
|
|
+is_semok2+is_semok2
|
|
+is_semokNm2
|
|
+is_semok2+is_semok2
|
|
+is_bAmt+is_aAmt
|
|
+lastDate+lastDate+address+is_szVal1+is_szVal2+is_szVal3+is_szVal4
|
|
+is_damdang+is_dept+is_telno+is_bank+is_payDate+ls_a44+virtualBank
|
|
+ls_a48+ls_a48+ls_a48+ls_a48+ls_a48+ls_a53+"\r\n";
|
|
|
|
statList.get(i).setSessionUserNm(HttpUtil.getEmpNm());
|
|
statList.get(i).setSysNoticeId("04");
|
|
statList.get(i).setEtaxNum(is_a1+is_a2+is_a3+is_a4+is_a5+is_a6+is_a7+is_seqNo+is_a9);
|
|
finePenaltyDao.updateDefEtaxSendInfo(statList.get(i));
|
|
|
|
}
|
|
result.setEtaxCon(txt);
|
|
}catch(RuntimeException e) {
|
|
logger.info("catch check");
|
|
e.printStackTrace();
|
|
}catch(Exception e){
|
|
logger.info("catch check");
|
|
e.printStackTrace();
|
|
}finally{
|
|
|
|
}
|
|
return result;
|
|
}
|
|
public String byteRightPad(String var,int leng,String A) throws UnsupportedEncodingException{
|
|
byte[] buffers = var.getBytes("MS949");
|
|
String result = "";
|
|
result = StringUtils.rightPad(result,leng-buffers.length,A);
|
|
result = var+result;
|
|
return result;
|
|
}
|
|
|
|
public String combyteSec(String is_hap){
|
|
String li_sum_fit = "";
|
|
int li_sum = 0;
|
|
|
|
for (int k = 0;k< is_hap.length(); k++){
|
|
if(k%3 == 0){
|
|
li_sum_fit = (Integer.parseInt(is_hap.substring(k,k+1))*7)+"";
|
|
for(int j = 0; j<li_sum_fit.length();j++){
|
|
li_sum+=Integer.parseInt(li_sum_fit.substring(j,j+1));
|
|
}
|
|
}else if(k%3 == 1){
|
|
li_sum_fit = (Integer.parseInt(is_hap.substring(k,k+1))*1)+"";
|
|
for(int j = 0; j<li_sum_fit.length();j++){
|
|
li_sum+=Integer.parseInt(li_sum_fit.substring(j,j+1));
|
|
}
|
|
}else if(k%3 == 2){
|
|
li_sum_fit = (Integer.parseInt(is_hap.substring(k,k+1))*3)+"";
|
|
for(int j = 0; j<li_sum_fit.length();j++){
|
|
li_sum+=Integer.parseInt(li_sum_fit.substring(j,j+1));
|
|
}
|
|
}
|
|
}
|
|
int result = 10-(li_sum%10);
|
|
return (result%10)+"";
|
|
}
|
|
|
|
@Override
|
|
public void insertSendInfo(List<PenaltyParamVO> param) throws Exception {
|
|
for(PenaltyParamVO params : param){
|
|
params.setSessionUserNm(HttpUtil.getEmpNm());
|
|
|
|
if(!params.getLayoutNo().equals("33")){
|
|
finePenaltyDao.updateEtaxPenaltyDtl(params); //과태료
|
|
}else{
|
|
//시점발행일 경우 시점발행 flag를 넣어준다
|
|
finePenaltyDao.updateEtaxPenaltyDtlSendYn(params); //과태료
|
|
}
|
|
finePenaltyDao.createMobiPenaltyHistory(params); //과태료.히스토리
|
|
|
|
|
|
params.setCnt(finePenaltyDao.findSendInfoCheck(params).getCnt());
|
|
if(params.getCnt().equals("0")){
|
|
//insert
|
|
finePenaltyDao.createMobiSend(params);
|
|
}else{
|
|
//update
|
|
finePenaltyDao.updateEtaxSendInfo(params);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public void updateMobileFail(List<PenaltyParamVO> param) throws Exception {
|
|
for(PenaltyParamVO params : param ){
|
|
params.setSessionUserNm(HttpUtil.getEmpNm());
|
|
finePenaltyDao.updateMobileFail(params);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void updateEtaxSendInfo02(PenaltyParamVO param) throws Exception {
|
|
finePenaltyDao.updateEtaxSendInfo02(param);
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
public List<PenaltyParamVO> findPenaltyEgreenRfList(PenaltyParamVO param) throws Exception {
|
|
List<PenaltyParamVO> result = finePenaltyDao.findPenaltyEgreenRfList(param);
|
|
return result;
|
|
}
|
|
|
|
|
|
@Override
|
|
public void updateEtaxPenaltyDtlNotice(PenaltyParamVO param) throws Exception {
|
|
param.setSessionUserNm(HttpUtil.getEmpNm());
|
|
param.setEgreenYn("0");
|
|
finePenaltyDao.updateEtaxPenaltyDtlNotice(param);
|
|
}
|
|
|
|
@Override
|
|
public PenaltyParamVO findCreateETaxSeFile(List<PenaltyParamVO> paramList) throws Exception {
|
|
|
|
PenaltyParamVO result = new PenaltyParamVO();
|
|
try{
|
|
Map<String, Object> statMap = findEtaxFileChargeInfo();
|
|
|
|
String txt = "";
|
|
|
|
String is_a1 = "000"; //시구코드(시도)(3 byte)
|
|
String is_a2 = "047"; //행정동코드(기관)(3 byte)
|
|
String is_a3 = "3"; //검비트1(1 byte)
|
|
String is_a4 = "34"; //회계코드(2 byte)
|
|
String is_a5 = "288001";//세목코드(6 byte)
|
|
String is_a6; //과세년월(6 byte)
|
|
String is_a7 = "2"; //과세번호(1 byte)
|
|
|
|
String is_a9 = ""; //검비트2(1 byte)
|
|
|
|
String is_seqNo = ""; // 과세번호(일련번호)(6 byte)
|
|
String is_owner = ""; // 납세자 (60 byte)
|
|
String is_resident = "";// 납세자주민번호 (13 byte)
|
|
String is_carNo = ""; // 과세물건(차량번호) (260 byte)
|
|
String is_szaccNm = "과태료수입";// 회계과목명 (50 byte)
|
|
String is_szsemokNm = "혼잡통행료과태료";// 세목명 (50 byte)
|
|
String is_szsemokNm1 = "혼잡통행료과태료";// 세목명1 (50 byte)
|
|
String is_bAmt = ""; // 세목1_납기내 (11 byte)
|
|
String is_aAmt = ""; // 세목1_납기후 (11 byte)
|
|
String is_semokNm2 = ""; // 세목명2 (50 byte)
|
|
String is_semok2 = "00000000000"; // 세목2_납기내 (11 byte)
|
|
String address = "서울특별시 혼잡통행료징수 조례 제11조";// 부과근거 (200 byte)
|
|
String is_szVal1 = "";// 부과내역1 (12 byte)
|
|
String is_szVal2 = "";// 부과내역1 (80 byte)
|
|
String is_szVal3 = "";// 부과내역1 (80 byte)
|
|
String is_szVal4 = "";// 부과내역1 (200 byte)
|
|
String is_bank = "";// 은행코드 (6 byte)
|
|
String is_payDate = "";// 수납일자 (8 byte)
|
|
String is_damdang = (String) statMap.get("damdang");// 담당자 (20 byte)
|
|
String is_dept = (String) statMap.get("dept");// 담당부서 (40 byte)
|
|
String is_telno = (String) statMap.get("telno");// 부과담당자 전화번호 (20 byte)
|
|
String ls_a48 = "";
|
|
String ls_a53 = "3"; //수납구분
|
|
String ls_a44 = "SISUL";// 서버명(시스템명) (5 byte)
|
|
String virtualBank = "";//가상계좌번호
|
|
String lastDate = "";//납기내일자(8nyte)
|
|
String lastDate2 = "";//납기내일자(8nyte)
|
|
|
|
is_damdang = byteLeftPad(is_damdang,20," ");
|
|
is_dept = byteLeftPad(is_dept,40," ");
|
|
is_telno = byteLeftPad(is_telno,20," ");
|
|
is_szVal1 = byteLeftPad(is_szVal1,12," ");
|
|
is_szVal2 = byteLeftPad(is_szVal2,80," ");
|
|
is_szVal3 = byteLeftPad(is_szVal3,80," ");
|
|
is_szVal4 = byteLeftPad(is_szVal4,200," ");
|
|
is_bank = byteLeftPad(is_bank,6," ");
|
|
is_payDate = byteLeftPad(is_payDate,8," ");
|
|
ls_a48 = byteLeftPad(ls_a48,14," ");
|
|
address = byteRightPad(address,200," ");
|
|
is_szaccNm = byteRightPad(is_szaccNm, 50, " ");
|
|
is_szsemokNm = byteLeftPad(is_szsemokNm, 50, " ");
|
|
is_szsemokNm1 = byteLeftPad(is_szsemokNm1, 50, " ");
|
|
is_semokNm2 = byteRightPad(is_semokNm2, 50, " ");
|
|
lastDate2 = byteRightPad(lastDate2, 8, " ");
|
|
|
|
for(PenaltyParamVO param: paramList){
|
|
|
|
PenaltyParamVO statList = finePenaltyDao.findEtaxFileSeVirtualaCount(param);
|
|
finePenaltyDao.updateVirtualaccount(statList);
|
|
PenaltyParamVO sendDateList = finePenaltyDao.findEtaxFileSendDate(param);
|
|
|
|
is_owner = statList.getOwner();
|
|
is_resident = statList.getResidentNo();
|
|
is_carNo = statList.getCarNo();
|
|
|
|
is_a6 = (String) sendDateList.getSendDate().subSequence(0, 6);
|
|
is_seqNo = statList.getPenaltySeqno();
|
|
is_bAmt = statList.getLavyAmount();
|
|
is_aAmt = "";
|
|
virtualBank = statList.getVirtualBank();
|
|
lastDate = statList.getDeliveryDate();
|
|
|
|
is_seqNo = byteLeftPad(is_seqNo, 6, "0");
|
|
is_a9 = combyteSec(is_a4+is_a5+is_a6+is_a7+is_seqNo);
|
|
|
|
|
|
|
|
is_owner = byteRightPad(is_owner, 60, " ");
|
|
is_resident = byteRightPad(is_resident, 13, " ");
|
|
is_carNo = byteRightPad(is_carNo, 260, " ");
|
|
is_bAmt = byteLeftPad(is_bAmt, 11, "0");
|
|
is_aAmt = byteLeftPad(is_aAmt, 11, "0");
|
|
|
|
txt += is_a1+is_a2+is_a3+is_a4+is_a5+is_a6+is_a7+is_seqNo+is_a9+is_owner
|
|
+is_resident+is_carNo
|
|
+is_szaccNm+is_szsemokNm+is_szsemokNm1+
|
|
is_bAmt+is_aAmt+is_semokNm2+is_semok2+is_semok2
|
|
+is_semokNm2+is_semok2+is_semok2
|
|
+is_semokNm2
|
|
+is_semok2+is_semok2
|
|
+is_semokNm2
|
|
+is_semok2+is_semok2
|
|
+is_bAmt+is_aAmt
|
|
+lastDate+lastDate2+address+is_szVal1+is_szVal2+is_szVal3+is_szVal4
|
|
+is_damdang+is_dept+is_telno+is_bank+is_payDate+ls_a44+virtualBank
|
|
+ls_a48+ls_a48+ls_a48+ls_a48+ls_a48+ls_a53+"\r\n";
|
|
|
|
|
|
|
|
statList.setSessionUserNm(HttpUtil.getEmpNm());
|
|
statList.setSysNoticeId("21");
|
|
result.setEtaxCon(txt);
|
|
updateEtaxSendInfo02(statList);
|
|
}
|
|
|
|
result.setEtaxCon(txt);
|
|
}catch(RuntimeException e) {
|
|
logger.info("catch check");
|
|
e.printStackTrace();
|
|
}catch(Exception e){
|
|
logger.info("catch check");
|
|
e.printStackTrace();
|
|
}finally{
|
|
|
|
}
|
|
return result;
|
|
}
|
|
}
|