제주도 차세대세외수입 면허번호 연계 추가

main
이범준 3 months ago
parent 12a732cf79
commit 14c8dc30c4

@ -0,0 +1,43 @@
package cokr.xit.fims;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import cokr.xit.fims.nxrp.NisIndivQuery;
import cokr.xit.fims.nxrp.service.NisIndivService;
import cokr.xit.fims.nxrp.service.bean.NisIndivBean;
import cokr.xit.foundation.AbstractComponent;
@Component
public class RentSchedule extends AbstractComponent {
@Resource(name = "nisIndivService")
private NisIndivService nisIndivService;
@Resource(name = "nisIndivBean")
private NisIndivBean nisIndivBean;
//@Scheduled(cron = "0 22 * * * *")
public void sendRun() {
NisIndivQuery query = new NisIndivQuery();
query.setSggCd("50110");
query.setTaskSeCd("ECA");
String zipPath = nisIndivBean.makeNisIndivJeju01(query, false);
if(zipPath != null && !zipPath.equals("")) {
nisIndivBean.send_DO_to_SI(zipPath);
}
}
//@Scheduled(cron = "0 9 * * * *")
public void receiveRun() {
nisIndivBean.get_SI_to_DO();
nisIndivBean.applyNisIndivJeju02();
}
}

@ -110,13 +110,13 @@ public class SseBean extends AbstractBean {
public void clearSseEmitter() {
long now = System.currentTimeMillis() - ONE_HOUR;
Iterator<String> it = sseMap.keys().asIterator();
System.out.println("size: "+sseMap.size());
while (it.hasNext()) {
String key = it.next();
System.out.println("key: "+key);
SseEntity se = sseMap.get(key);
if (now > se.getCreatedAt()) {
System.out.println("clear old ssemitter "+key+" : "+format.format(se.getCreatedAt()));
if (se.getEmitter() != null) {
se.setEmitter(null);
}

@ -1,10 +1,15 @@
package cokr.xit.fims.cmmn.ftp;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Vector;
import org.apache.commons.io.FilenameUtils;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.ChannelSftp.LsEntry;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
@ -98,4 +103,36 @@ public class SFTPUtil {
return true;
}
public void upload(String src) {
try {
String name = FilenameUtils.getName(src);
channelSftp.put(src,"./"+name);
(new File(src)).delete();
} catch (SftpException e) {
e.printStackTrace();
}
}
public void downloadByFilenamePrefix(String prefix, String dest) {
File folder = new File(dest);
if(!folder.exists()) {
folder.mkdirs();
}
try {
Vector<ChannelSftp.LsEntry> fileList = channelSftp.ls(channelSftp.pwd());
for(LsEntry entry : fileList) {
String name = entry.getFilename();
if(name.startsWith(prefix)) {
channelSftp.get("./"+name, dest+"/"+name);
channelSftp.rm("./"+name);
}
}
} catch (SftpException e) {
e.printStackTrace();
}
}
}

@ -0,0 +1,30 @@
package cokr.xit.fims.nxrp;
import cokr.xit.foundation.AbstractEntity;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Hirer extends AbstractEntity {
private String lsctLinkTblNm;
private String rcptnYmd;
private String aprvId;
private String sggCd;
private String taskSeCd;
private String npaLinkRspnsNm;
private String omJno;
private String pyrNo;
private String lotnoRoadAddrSeCd;
private String zip;
private String roadNmCd;
private String addrUdgdYn;
private String bmno;
private String bsno;
private String addr;
private String daddr;
private String stdgCd;
private String dongCd;
}

@ -0,0 +1,136 @@
package cokr.xit.fims.nxrp;
import cokr.xit.foundation.component.QueryRequest;
/**
*
* <p> :
*
* <pre>
* ============ ============
* 2024-02-16 JoJH
* ================================
* </pre>
*/
public class NisIndivQuery extends QueryRequest {
private static final long serialVersionUID = 1L;
private String sggCd;
private String taskSeCd;
private String lsctLinkTblNm;
private String[] someIds; //테스트용 임시 변수
private String someId; //테스트용 임시 변수
// ID
private String[] crdnIds; // 단속 Ids
private String crdnId; // 단속 ID
private String sndngDtlId; // 발송 상세 Id
// 연계 Key
private String linkTrgtCd;
private String linkMngKey;
//
private String sndngYmd; // 발송(TB_SNDNG)_발송 일자
public String getSggCd() {
return ifEmpty(sggCd, () -> null);
}
public <T extends NisIndivQuery> T setSggCd(String sggCd) {
this.sggCd = sggCd;
return self();
}
public String getTaskSeCd() {
return ifEmpty(taskSeCd, () -> null);
}
public <T extends NisIndivQuery> T setTaskSeCd(String taskSeCd) {
this.taskSeCd = taskSeCd;
return self();
}
public String getLsctLinkTblNm() {
return ifEmpty(lsctLinkTblNm, () -> null);
}
public <T extends NisIndivQuery> T setLsctLinkTblNm(String lsctLinkTblNm) {
this.lsctLinkTblNm = lsctLinkTblNm;
return self();
}
public String[] getCrdnIds() {
return ifEmpty(crdnIds, () -> null);
}
public <T extends NisIndivQuery> T setCrdnIds(String... crdnIds) {
this.crdnIds = crdnIds;
return self();
}
public String getCrdnId() {
return ifEmpty(crdnId, () -> null);
}
public <T extends NisIndivQuery> T setCrdnId(String crdnId) {
this.crdnId = crdnId;
return self();
}
public String getSndngDtlId() {
return ifEmpty(sndngDtlId, () -> null);
}
public <T extends NisIndivQuery> T setSndngDtlId(String sndngDtlId) {
this.sndngDtlId = sndngDtlId;
return self();
}
public String getLinkTrgtCd() {
return ifEmpty(linkTrgtCd, () -> null);
}
public <T extends NisIndivQuery> T setLinkTrgtCd(String linkTrgtCd) {
this.linkTrgtCd = linkTrgtCd;
return self();
}
public String getLinkMngKey() {
return ifEmpty(linkMngKey, () -> null);
}
public <T extends NisIndivQuery> T setLinkMngKey(String linkMngKey) {
this.linkMngKey = linkMngKey;
return self();
}
public String getSndngYmd() {
return ifEmpty(sndngYmd, () -> null);
}
public <T extends NisIndivQuery> T setSndngYmd(String sndngYmd) {
this.sndngYmd = sndngYmd;
return self();
}
public String[] getSomeIds() {
return ifEmpty(someIds, () -> null);
}
public <T extends NisIndivQuery> T setSomeIds(String... someIds) {
this.someIds = someIds;
return self();
}
public String getSomeId() {
return ifEmpty(someId, () -> null);
}
public <T extends NisIndivQuery> T setSomeId(String someId) {
this.someId = someId;
return self();
}
}

@ -0,0 +1,16 @@
package cokr.xit.fims.nxrp.dao;
import java.util.List;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.fims.nxrp.NisIndivQuery;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
@Mapper("nisIndivMapper")
public interface NisIndivMapper extends AbstractMapper {
List<DataObject> selectLcnsNoLinkTarget(NisIndivQuery query);
}

@ -0,0 +1,6 @@
package cokr.xit.fims.nxrp.service;
public interface NisIndivService {
}

@ -0,0 +1,380 @@
package cokr.xit.fims.nxrp.service.bean;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FilenameFilter;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import cokr.xit.base.code.service.bean.CodeBean;
import cokr.xit.base.file.ZIP;
import cokr.xit.base.file.service.bean.FileBean;
import cokr.xit.fims.cmmn.dao.StngMapper;
import cokr.xit.fims.cmmn.ftp.RemoteSystemInfo;
import cokr.xit.fims.cmmn.ftp.SFTPUtil;
import cokr.xit.fims.cmmn.service.bean.StngBean;
import cokr.xit.fims.mngt.dao.TaskMapper;
import cokr.xit.fims.nxrp.Hirer;
import cokr.xit.fims.nxrp.NisIndivQuery;
import cokr.xit.fims.nxrp.dao.NisIndivMapper;
import cokr.xit.fims.nxrp.support.OnlyTxtMaker;
import cokr.xit.fims.rent.dao.LsctAprvMapper;
import cokr.xit.foundation.component.AbstractBean;
import cokr.xit.foundation.data.DataObject;
@Component("nisIndivBean")
public class NisIndivBean extends AbstractBean {
@Resource(name="taskMapper")
private TaskMapper taskMapper;
@Resource(name="nisIndivMapper")
private NisIndivMapper nisIndivMapper;
@Resource(name="lsctAprvMapper")
private LsctAprvMapper lsctAprvMapper;
/** 설정 정보 DAO */
@Resource(name="stngMapper")
protected StngMapper stngMapper;
/** 파일 정보 DAO */
@Resource(name="fileBean")
protected FileBean fileBean;
/** 코드 정보 DAO */
@Resource(name="codeBean")
protected CodeBean codeBean;
/** 설정 정보 DAO */
@Resource(name="stngBean")
protected StngBean stngBean;
public enum WORKING_UNIT {
DOWNLOAD_DIR, ZIP_PATH, TXT_PATH, TXT_LINE
}
FilenameFilter zipFilter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return (name.toUpperCase().endsWith(".ZIP"));
}
};
public String makeNisIndivJeju01(NisIndivQuery req, boolean randomData) {
String sggCd = req.getSggCd();
String taskSeCd = req.getTaskSeCd();
String instDigit7 = "6510000";
String deptCd = "";
if(sggCd.equals("50110") && taskSeCd.equals("ECA")) {
deptCd = "6510245";
} else if(sggCd.equals("50130") && taskSeCd.equals("ECA")) {
deptCd = "6520178";
}
String lsctLinkTblNm = "TB_LSCT_APRV_"+sggCd+"_"+taskSeCd;
req.setLsctLinkTblNm(lsctLinkTblNm);
DataObject deptStng = stngMapper.selectDeptStng(deptCd);
String gujesi = deptStng.string("NXRP_RGN_SE_CD");
List<DataObject> targets = null;
if(randomData) {
targets = this.makeRandomJeju01Targets();
} else {
targets = nisIndivMapper.selectLcnsNoLinkTarget(req);
}
if(targets == null || targets.isEmpty()) {
return null;
}
Iterator<DataObject> it = targets.iterator();
while(it.hasNext()) {
DataObject item = it.next();
if (item.string("OM_JNO").length() != 12) {
it.remove();
} else {
item.set("DEPT_CD",deptCd);
}
}
OnlyTxtMaker linkFileMaker = new OnlyTxtMaker(instDigit7);
if (!isEmpty(gujesi)) {
linkFileMaker.setGujesiStng(gujesi);
}
LocalDateTime now = LocalDateTime.now();
String ymd = now.format(DateTimeFormatter.ofPattern("yyyyMMdd"));
String workPath = "files/temp/sendLcns/"+sggCd+"/"+ymd;
File workFolder = new File(workPath);
if (workFolder.exists()) {
boolean del = false;
File[] lf = workFolder.listFiles();
if (lf != null && lf.length > 0) {
for (File f : lf) {
del = f.delete();
if (!del)
throw new RuntimeException("[F]파일삭제오류");
}
}
del = workFolder.delete();
if (!del)
throw new RuntimeException("[F]파일삭제오류");
}
workFolder.mkdirs();
for(DataObject one : targets) {
String[] items = linkFileMaker.extract(one,sggCd,taskSeCd).get();
linkFileMaker.writeTextFileContents(workPath, items);
linkFileMaker.increaseInnerFileIndex();
}
File[] fileList = workFolder.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return !(name.toUpperCase().endsWith(".ZIP"));
}
});
String[] fileNameList = new String[fileList.length];
for (int i = 0; i < fileList.length; i++) {
fileNameList[i] = fileList[i].getPath();
}
String zipFilePath = workPath + "/" + linkFileMaker.getZipFileName();
new ZIP().compress(zipFilePath, fileNameList);
for (File file : fileList) {
if (!file.delete())
throw new RuntimeException("[F]파일 삭제 중 오류가 발생하였습니다.");
}
return zipFilePath;
}
public void send_DO_to_SI(String zipPath) {
SFTPUtil sftp = new SFTPUtil();
RemoteSystemInfo rs = new RemoteSystemInfo();
if(isLocal()) {
rs.setId("d_user");
rs.setPw("1111");
rs.setIp("211.119.124.122");
rs.setPort("1922");
rs.setWorkPath("StorkShareAgent_ECA_JEJU/files/SND/1741000NIS");
} else {
rs.setId("d_user");
rs.setPw("1111");
rs.setIp("172.25.102.61");
rs.setPort("1922");
rs.setWorkPath("StorkShareAgent_ECA_JEJU/files/SND/1741000NIS");
}
rs.setOsType("windows");
sftp.connect(rs);
sftp.upload(zipPath);
sftp.disconnect();
}
public void get_SI_to_DO() {
SFTPUtil sftp = new SFTPUtil();
RemoteSystemInfo rs = new RemoteSystemInfo();
if(isLocal()) {
rs.setId("d_user");
rs.setPw("1111");
rs.setIp("211.119.124.122");
rs.setPort("1922");
rs.setWorkPath("StorkShareAgent_ECA_JEJU/files/RCV/1741000NIS");
} else {
rs.setId("d_user");
rs.setPw("1111");
rs.setIp("172.25.102.61");
rs.setPort("1922");
rs.setWorkPath("StorkShareAgent_ECA_JEJU/files/RCV/1741000NIS");
}
rs.setOsType("windows");
sftp.connect(rs);
sftp.downloadByFilenamePrefix("EBF_1741000NIS_Z000001LGE_2001","files/temp/receiveDriver");
sftp.disconnect();
}
public void applyNisIndivJeju02() {
List<Hirer> results = new ArrayList<Hirer>();
getCarDriverInfoFromWorkingUnit(WORKING_UNIT.DOWNLOAD_DIR,"files/temp/receiveDriver",results);
for(Hirer result : results) {
updateDriverInfo(result);
}
}
public void getCarDriverInfoFromWorkingUnit(WORKING_UNIT pathType, String workingUnitString, List<Hirer> results) {
switch(pathType) {
case DOWNLOAD_DIR:
List<String> zips = new ArrayList<>();
for(File file : new File(workingUnitString).listFiles(zipFilter)) {
zips.add(file.getPath());
}
for(String zip : zips) {
getCarDriverInfoFromWorkingUnit(WORKING_UNIT.ZIP_PATH,zip,results);
}
break;
case ZIP_PATH:
String zip = workingUnitString;
String unzip = workingUnitString.substring(0,zip.length()-4);
new ZIP().decompress(zip, unzip);
List<String> txts = new ArrayList<>();
for(File file : new File(unzip).listFiles()) {
txts.add(file.getPath());
}
for(String txt : txts) {
getCarDriverInfoFromWorkingUnit(WORKING_UNIT.TXT_PATH,txt,results);
}
new File(zip).delete();
new File(unzip).delete();
break;
case TXT_PATH:
File txtFile = new File(workingUnitString);
List<String> lines = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader(txtFile))) {
String line;
// 파일의 각 줄을 읽어와 화면에 출력합니다.
while ((line = reader.readLine()) != null) {
lines.add(line);
}
} catch (IOException e) {
// 파일이 존재하지 않거나 읽기 오류가 발생하면 예외를 처리합니다.
System.err.println("파일을 읽는 중 오류가 발생했습니다: " + e.getMessage());
e.printStackTrace();
return;
}
for(String line : lines) {
if(line != null && !line.equals("")) {
getCarDriverInfoFromWorkingUnit(WORKING_UNIT.TXT_LINE,line,results);
}
}
txtFile.delete();
break;
case TXT_LINE:
String[] items = workingUnitString.split("\\|",-1);
Hirer driverVO = new Hirer();
String srcSstKey = items[2-1];
String sggCd = srcSstKey.substring(0,5);
String taskSeCd = srcSstKey.substring(5,8);
String aprvId = srcSstKey.substring(8);
driverVO.setSggCd(sggCd);
driverVO.setTaskSeCd(taskSeCd);
driverVO.setAprvId(aprvId);
driverVO.setOmJno(items[5-1]);
driverVO.setLotnoRoadAddrSeCd(items[6-1]);
driverVO.setZip(items[7-1]);
driverVO.setRoadNmCd(items[8-1]);
driverVO.setAddrUdgdYn(items[9-1]);
driverVO.setBmno(items[10-1]);
driverVO.setBsno(items[11-1]);
driverVO.setAddr(items[12-1]);
driverVO.setDaddr(items[13-1]);
driverVO.setStdgCd(items[14-1]);
driverVO.setDongCd(items[15-1]);
results.add(driverVO);
break;
}
}
public List<DataObject> makeRandomJeju01Targets(){
List<DataObject> result = new ArrayList<>();
DataObject tagets = new DataObject();
//APRV_ID
LocalDateTime now = LocalDateTime.now();
String hms = now.format(DateTimeFormatter.ofPattern("HHmmss"));
tagets.put("APRV_ID", "9999"+hms);
//랜덤
tagets.put("VHRNO", shuffleAndGet(Arrays.asList("11가1111", "22가2222", "33가3333")));
tagets.put("HIRER_NM", shuffleAndGet(Arrays.asList("최렌트", "김렌트", "박렌트")));
tagets.put("OM_JNO", shuffleAndGet(Arrays.asList("123456123456", "654321654321", "123456654321")));
tagets.put("RENT_ENT_NM", shuffleAndGet(Arrays.asList("롯데렌트카", "제주렌트카", "기타렌트카")));
tagets.put("RENT_ENT_REG_NO", shuffleAndGet(Arrays.asList("1111112222222", "1111113333333", "1111114444444")));
//CTRT_BGNG_YMD,CTRT_END_YMD는 9월1일~9월16일
tagets.put("CTRT_BGNG_YMD", "20250901");
tagets.put("CTRT_END_YMD", "20250916");
//CTRT_NO는 빈값
tagets.put("CTRT_NO", "");
result.add(tagets);
return result;
}
public String shuffleAndGet(List<String> list) {
Collections.shuffle(list);
return list.get(0);
}
public boolean updateDriverInfo(Hirer driverInfo) {
String table = "TB_LSCT_APRV_"+driverInfo.getSggCd()+"_"+driverInfo.getTaskSeCd();
driverInfo.setLsctLinkTblNm(table);
return lsctAprvMapper.updateDriverInfo(driverInfo) == 1 ? true : false;
}
public boolean isLocal() {
if(new File("C:/Users/XIT_LBJ").exists()) {
return true;
} else {
return false;
}
}
}

@ -0,0 +1,18 @@
package cokr.xit.fims.nxrp.service.bean;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import cokr.xit.fims.nxrp.service.NisIndivService;
import cokr.xit.foundation.component.AbstractServiceBean;
@Service("nisIndivService")
public class NisIndivServiceBean extends AbstractServiceBean implements NisIndivService {
@Resource(name = "nisIndivBean")
private NisIndivBean nisIndivBean;
}

@ -0,0 +1,28 @@
package cokr.xit.fims.nxrp.support;
import cokr.xit.applib.UnnamedItems;
import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject;
public abstract class LinkFileMaker extends AbstractComponent {
protected String ifId;
protected String zipFileName;
protected String gujesiStng;
public void setGujesiStng(String gujesi) {
this.gujesiStng = gujesi;
}
public String getIfId() {
return ifId;
}
public String getZipFileName() {
return zipFileName;
}
abstract public UnnamedItems extract(DataObject rentInfo,String sggCd, String taskSeCd);
}

@ -0,0 +1,80 @@
package cokr.xit.fims.nxrp.support;
import java.io.File;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import cokr.xit.applib.UnnamedItems;
import cokr.xit.foundation.data.DataObject;
public class OnlyTxtMaker extends LinkFileMaker {
private String innerFilePrefix;
private int innerFileIndex = 0;
public OnlyTxtMaker(String instDigit7){
String ifId = "EBF_Z000001LGE_1741000NIS_2001";
String systemCode = "ECA";
this.ifId = ifId;
SimpleDateFormat ymdhmsFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String currentTime = ymdhmsFormat.format(new Date());
zipFileName = ifId + "_" + currentTime + "@" + instDigit7 + systemCode + ".zip";
innerFilePrefix = ifId + "_" + currentTime + "_" + instDigit7 + "_";
}
public String getTextFileName() {
return innerFilePrefix + innerFileIndex + ".txt";
}
public void increaseInnerFileIndex() {
innerFileIndex++;
};
@Override
public UnnamedItems extract(DataObject rentInfo, String sggCd, String taskSeCd) {
UnnamedItems u = new UnnamedItems();
u.setItemLength(10);
u.set(1, sggCd+taskSeCd+rentInfo.string("APRV_ID"));
u.set(2, rentInfo.string("DEPT_CD"));
u.set(3, rentInfo.string("RENT_ENT_NM"));
u.set(4, rentInfo.string("RENT_ENT_REG_NO"));
u.set(5, rentInfo.string("VHRNO"));
u.set(6, rentInfo.string("CTRT_NO"));
u.set(7, rentInfo.string("CTRT_BGNG_YMD"));
u.set(8, rentInfo.string("CTRT_END_YMD"));
u.set(9, rentInfo.string("HIRER_NM"));
u.set(10, rentInfo.string("OM_JNO"));
return u;
}
public void writeTextFileContents(String workPath, String... contents) {
try {
File txtFile = new File(workPath + "/" + getTextFileName());
if(!txtFile.createNewFile()) {
throw new RuntimeException("[F]파일 생성 오류");
}
FileWriter fileWriter = new FileWriter(txtFile);
for(int i=0; i < contents.length; i++) {
if(i != 0) {
fileWriter.write("|");
}
fileWriter.write(contents[i]);
}
fileWriter.close();
} catch (Exception e) {
throw new RuntimeException("[F]"+e);
}
}
}

@ -0,0 +1,98 @@
package cokr.xit.fims.nxrp.web;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import cokr.xit.fims.nxrp.NisIndivQuery;
import cokr.xit.fims.nxrp.service.NisIndivService;
import cokr.xit.fims.nxrp.service.bean.NisIndivBean;
import cokr.xit.foundation.web.AbstractController;
@Controller
@RequestMapping(name="차세대 세외수입 연계", value=NxrpController.CLASS_URL)
public class NxrpController extends AbstractController {
public static final String CLASS_URL = "/intf/nxrp";
@Resource(name = "nisIndivService")
private NisIndivService nisIndivService;
@Resource(name = "nisIndivBean")
private NisIndivBean nisIndivBean;
//테스트
@RequestMapping(name="계약정보", value="/sendIndivJeju01.do")
public ModelAndView sendNisIndivJeju01(NisIndivQuery req) {
NisIndivQuery query = new NisIndivQuery();
query.setSggCd("50110");
query.setTaskSeCd("ECA");
String zipPath = nisIndivBean.makeNisIndivJeju01(query,true);
if(zipPath != null && !zipPath.equals("")) {
nisIndivBean.send_DO_to_SI(zipPath);
}
return new ModelAndView("jsonView");
}
//테스트 계약정보만들기
@RequestMapping(name="계약정보만들기", value="/makeJeju01.do")
public ModelAndView makeJeju01(NisIndivQuery req) {
NisIndivQuery query = new NisIndivQuery();
query.setSggCd("50110");
query.setTaskSeCd("ECA");
String zipPath = nisIndivBean.makeNisIndivJeju01(query,true);
return new ModelAndView("jsonView");
}
//테스트 계약정보 보내기
@RequestMapping(name="sendDoToSi", value="/sendDoToSi.do")
public ModelAndView sendDoToSi(NisIndivQuery req) {
LocalDateTime now = LocalDateTime.now();
String ymd = now.format(DateTimeFormatter.ofPattern("yyyyMMdd"));
nisIndivBean.send_DO_to_SI("/files/temp/sendLcns/50110/"+ymd);
return new ModelAndView("jsonView");
}
//테스트 면허정보응답파일 가져오기
@RequestMapping(name="getSiToDo", value="/getSiToDo.do")
public ModelAndView getSiToDo(NisIndivQuery req) {
nisIndivBean.get_SI_to_DO();
return new ModelAndView("jsonView");
}
//테스트
@RequestMapping(name="면허정보 응답 적용", value="/lcnsRespUnzip.do")
public ModelAndView lcnsRespUnzip(NisIndivQuery req) {
nisIndivBean.applyNisIndivJeju02();
return new ModelAndView("jsonView");
}
//테스트
@RequestMapping(name="면허정보 응답", value="/receiveIndivJeju02.do")
public ModelAndView receiveNisIndivJeju02(NisIndivQuery req) {
nisIndivBean.get_SI_to_DO();
nisIndivBean.applyNisIndivJeju02();
return new ModelAndView("jsonView");
}
}

@ -4,11 +4,11 @@ import java.util.List;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.nxrp.Hirer;
import cokr.xit.fims.rent.LsctAprv;
import cokr.xit.fims.rent.RentQuery;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
/** DAO
*
@ -81,4 +81,6 @@ public interface LsctAprvMapper extends AbstractMapper {
*/
int deleteLsctAprv(LsctAprv lsctAprv);
int updateDriverInfo(Hirer driverInfo);
}

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.nxrp.dao.NisIndivMapper">
<select id="selectLcnsNoLinkTarget" parameterType="map" resultType="dataobject">
SELECT LA.VHRNO
, LA.HIRER_NM
, LA.OM_JNO
, LA.RENT_ENT_NM
, LA.RENT_ENT_REG_NO
, LA.APRV_ID
, LA.CTRT_BGNG_YMD
, LA.CTRT_END_YMD
, '' AS CTRT_NO
FROM ${lsctLinkTblNm} LA
WHERE LA.HIRER_SE_CD='01'
AND LA.SGG_CD = #{sggCd}
AND LA.CHG_APRV_STTS_CD = 'RQ'
</select>
</mapper>

@ -418,4 +418,19 @@
AND DEL_YN = 'N'
</update>
<update id="updateDriverInfo" parameterType="cokr.xit.fims.nxrp.Hirer">
UPDATE ${lsctLinkTblNm}
SET OM_JNO = #{omJno}
, HIRER_ZIP = #{zip}
, HIRER_ADDR = #{addr}
, HIRER_DTL_ADDR = #{daddr}
, ROAD_NM_CD = #{roadNmCd}
, UDGD_SE_CD = #{addrUdgdYn}
, BMNO = #{bmno}
, BSNO = #{bsno}
, STDG_CD = #{stdgCd}
WHERE APRV_ID = #{aprvId}
AND CHG_APRV_STTS_CD = 'RQ' <!-- 변경 승인 상태 -->
AND DEL_YN = 'N'
</update>
</mapper>

Loading…
Cancel
Save