관리자 > 기소유예 엑셀 등록 진행중
This commit is contained in:
parent
b999a0b7c1
commit
f19109e26f
@ -1,81 +1,83 @@
|
||||
package kcc.com.cmm.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import kcc.com.cmm.ComDefaultCodeVO;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기 위한 서비스 인터페이스
|
||||
* @author 공통서비스 개발팀 이삼섭
|
||||
* @since 2009.04.01
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2009.03.11 이삼섭 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public interface EgovCmmUseService {
|
||||
|
||||
/**
|
||||
* 공통코드를 조회한다.
|
||||
*
|
||||
* @param vo
|
||||
* @return List(코드)
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception;
|
||||
|
||||
/**
|
||||
* 공통코드를 조회한다.(by String codeId)
|
||||
*
|
||||
* @param String codeId
|
||||
* @return List(코드)
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CmmnDetailCode> selectCmmCodeDetail(String codeId) throws Exception;
|
||||
|
||||
/**
|
||||
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
|
||||
*
|
||||
* @param voList
|
||||
* @return Map(코드)
|
||||
* @throws Exception
|
||||
*/
|
||||
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception;
|
||||
|
||||
/**
|
||||
* 조직정보를 코드형태로 리턴한다.
|
||||
*
|
||||
* @param 조회조건정보 vo
|
||||
* @return 조직정보 List
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception;
|
||||
|
||||
/**
|
||||
* 그룹정보를 코드형태로 리턴한다.
|
||||
*
|
||||
* @param 조회조건정보 vo
|
||||
* @return 그룹정보 List
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception;
|
||||
|
||||
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) ;
|
||||
|
||||
public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo);
|
||||
|
||||
public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo);
|
||||
|
||||
public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam);
|
||||
}
|
||||
package kcc.com.cmm.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import kcc.com.cmm.ComDefaultCodeVO;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기 위한 서비스 인터페이스
|
||||
* @author 공통서비스 개발팀 이삼섭
|
||||
* @since 2009.04.01
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2009.03.11 이삼섭 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public interface EgovCmmUseService {
|
||||
|
||||
/**
|
||||
* 공통코드를 조회한다.
|
||||
*
|
||||
* @param vo
|
||||
* @return List(코드)
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception;
|
||||
|
||||
/**
|
||||
* 공통코드를 조회한다.(by String codeId)
|
||||
*
|
||||
* @param String codeId
|
||||
* @return List(코드)
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CmmnDetailCode> selectCmmCodeDetail(String codeId) throws Exception;
|
||||
|
||||
/**
|
||||
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
|
||||
*
|
||||
* @param voList
|
||||
* @return Map(코드)
|
||||
* @throws Exception
|
||||
*/
|
||||
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception;
|
||||
|
||||
/**
|
||||
* 조직정보를 코드형태로 리턴한다.
|
||||
*
|
||||
* @param 조회조건정보 vo
|
||||
* @return 조직정보 List
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception;
|
||||
|
||||
/**
|
||||
* 그룹정보를 코드형태로 리턴한다.
|
||||
*
|
||||
* @param 조회조건정보 vo
|
||||
* @return 그룹정보 List
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception;
|
||||
|
||||
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) ;
|
||||
|
||||
public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo);
|
||||
|
||||
public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo);
|
||||
|
||||
public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam);
|
||||
|
||||
String selectCmmCodeDetailCode(ComDefaultCodeVO vo);
|
||||
}
|
||||
|
||||
@ -1,145 +1,157 @@
|
||||
package kcc.com.cmm.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import kcc.com.cmm.ComDefaultCodeVO;
|
||||
import kcc.com.cmm.service.CmmnDetailCode;
|
||||
import kcc.com.cmm.service.EgovCmmUseService;
|
||||
|
||||
/**
|
||||
* @Class Name : EgovCmmUseServiceImpl.java
|
||||
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스
|
||||
* @Modification Information
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- ------- -------------------
|
||||
* 2009. 3. 11. 이삼섭
|
||||
*
|
||||
* @author 공통 서비스 개발팀 이삼섭
|
||||
* @since 2009. 3. 11.
|
||||
* @version
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
@Service("EgovCmmUseService")
|
||||
public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements EgovCmmUseService {
|
||||
|
||||
@Resource(name = "cmmUseDAO")
|
||||
private CmmUseDAO cmmUseDAO;
|
||||
|
||||
/**
|
||||
* 공통코드를 조회한다.
|
||||
*
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@Override
|
||||
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
|
||||
return cmmUseDAO.selectCmmCodeDetail(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 공통코드를 조회한다.(by String codeId)
|
||||
*
|
||||
* @param String codeId
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@Override
|
||||
public List<CmmnDetailCode> selectCmmCodeDetail(String codeId) throws Exception {
|
||||
ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO();
|
||||
comDefaultCodeVO.setCodeId(codeId);
|
||||
return cmmUseDAO.selectCmmCodeDetail(comDefaultCodeVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
|
||||
*
|
||||
* @param voList
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@Override
|
||||
@SuppressWarnings("rawtypes")
|
||||
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List voList) throws Exception {
|
||||
ComDefaultCodeVO vo;
|
||||
Map<String, List<CmmnDetailCode>> map = new HashMap<String, List<CmmnDetailCode>>();
|
||||
|
||||
Iterator<?> iter = voList.iterator();
|
||||
while (iter.hasNext()) {
|
||||
vo = (ComDefaultCodeVO) iter.next();
|
||||
map.put(vo.getCodeId(), cmmUseDAO.selectCmmCodeDetail(vo));
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 조직정보를 코드형태로 리턴한다.
|
||||
*
|
||||
* @param 조회조건정보 vo
|
||||
* @return 조직정보 List
|
||||
* @throws Exception
|
||||
*/
|
||||
@Override
|
||||
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
|
||||
return cmmUseDAO.selectOgrnztIdDetail(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 그룹정보를 코드형태로 리턴한다.
|
||||
*
|
||||
* @param 조회조건정보 vo
|
||||
* @return 그룹정보 List
|
||||
* @throws Exception
|
||||
*/
|
||||
@Override
|
||||
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
|
||||
return cmmUseDAO.selectGroupIdDetail(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) {
|
||||
return cmmUseDAO.selectCmmCodeDetailValue(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo) {
|
||||
String resultCodeNm = "";
|
||||
if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){
|
||||
CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValue(vo);
|
||||
if(code != null){
|
||||
resultCodeNm = code.getCodeNm();
|
||||
}
|
||||
}
|
||||
return resultCodeNm;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo) {
|
||||
String resultCodeNm = "";
|
||||
if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){
|
||||
CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValueOnlyName(vo);
|
||||
if(code != null){
|
||||
resultCodeNm = code.getCodeNm();
|
||||
}
|
||||
}
|
||||
return resultCodeNm;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam) {
|
||||
// TODO Auto-generated method stub
|
||||
return cmmUseDAO.selectCmmCodeDetailOrderByCode(codeParam);
|
||||
}
|
||||
}
|
||||
package kcc.com.cmm.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import kcc.com.cmm.ComDefaultCodeVO;
|
||||
import kcc.com.cmm.service.CmmnDetailCode;
|
||||
import kcc.com.cmm.service.EgovCmmUseService;
|
||||
|
||||
/**
|
||||
* @Class Name : EgovCmmUseServiceImpl.java
|
||||
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스
|
||||
* @Modification Information
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- ------- -------------------
|
||||
* 2009. 3. 11. 이삼섭
|
||||
*
|
||||
* @author 공통 서비스 개발팀 이삼섭
|
||||
* @since 2009. 3. 11.
|
||||
* @version
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
@Service("EgovCmmUseService")
|
||||
public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements EgovCmmUseService {
|
||||
|
||||
@Resource(name = "cmmUseDAO")
|
||||
private CmmUseDAO cmmUseDAO;
|
||||
|
||||
/**
|
||||
* 공통코드를 조회한다.
|
||||
*
|
||||
* @param vo
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@Override
|
||||
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
|
||||
return cmmUseDAO.selectCmmCodeDetail(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 공통코드를 조회한다.(by String codeId)
|
||||
*
|
||||
* @param String codeId
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@Override
|
||||
public List<CmmnDetailCode> selectCmmCodeDetail(String codeId) throws Exception {
|
||||
ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO();
|
||||
comDefaultCodeVO.setCodeId(codeId);
|
||||
return cmmUseDAO.selectCmmCodeDetail(comDefaultCodeVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
|
||||
*
|
||||
* @param voList
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@Override
|
||||
@SuppressWarnings("rawtypes")
|
||||
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List voList) throws Exception {
|
||||
ComDefaultCodeVO vo;
|
||||
Map<String, List<CmmnDetailCode>> map = new HashMap<String, List<CmmnDetailCode>>();
|
||||
|
||||
Iterator<?> iter = voList.iterator();
|
||||
while (iter.hasNext()) {
|
||||
vo = (ComDefaultCodeVO) iter.next();
|
||||
map.put(vo.getCodeId(), cmmUseDAO.selectCmmCodeDetail(vo));
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 조직정보를 코드형태로 리턴한다.
|
||||
*
|
||||
* @param 조회조건정보 vo
|
||||
* @return 조직정보 List
|
||||
* @throws Exception
|
||||
*/
|
||||
@Override
|
||||
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
|
||||
return cmmUseDAO.selectOgrnztIdDetail(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 그룹정보를 코드형태로 리턴한다.
|
||||
*
|
||||
* @param 조회조건정보 vo
|
||||
* @return 그룹정보 List
|
||||
* @throws Exception
|
||||
*/
|
||||
@Override
|
||||
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
|
||||
return cmmUseDAO.selectGroupIdDetail(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) {
|
||||
return cmmUseDAO.selectCmmCodeDetailValue(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String selectCmmCodeDetailCode(ComDefaultCodeVO vo) {
|
||||
String resultCodeNm = "";
|
||||
if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){
|
||||
CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValue(vo);
|
||||
if(code != null){
|
||||
resultCodeNm = code.getCode();
|
||||
}
|
||||
}
|
||||
return resultCodeNm;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo) {
|
||||
String resultCodeNm = "";
|
||||
if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){
|
||||
CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValue(vo);
|
||||
if(code != null){
|
||||
resultCodeNm = code.getCodeNm();
|
||||
}
|
||||
}
|
||||
return resultCodeNm;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo) {
|
||||
String resultCodeNm = "";
|
||||
if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){
|
||||
CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValueOnlyName(vo);
|
||||
if(code != null){
|
||||
resultCodeNm = code.getCodeNm();
|
||||
}
|
||||
}
|
||||
return resultCodeNm;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam) {
|
||||
// TODO Auto-generated method stub
|
||||
return cmmUseDAO.selectCmmCodeDetailOrderByCode(codeParam);
|
||||
}
|
||||
}
|
||||
|
||||
@ -49,6 +49,7 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
|
||||
private List<String> sspnIdtmtTrgtOrdList;
|
||||
|
||||
private String eduAplctOrd; //신청한 교육 순번
|
||||
private String rmrks; //비고
|
||||
|
||||
|
||||
|
||||
@ -232,11 +233,33 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
|
||||
public void setEduAplctOrd(String eduAplctOrd) {
|
||||
this.eduAplctOrd = eduAplctOrd;
|
||||
}
|
||||
public String getRmrks() {
|
||||
return rmrks;
|
||||
}
|
||||
public void setRmrks(String rmrks) {
|
||||
this.rmrks = rmrks;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "\n CndtnTrgtMngVO => \n"
|
||||
+ " reqPnttm=[" + reqPnttm + "] // 요청 점수 시간\n"
|
||||
+ ", vntYear=[" + vntYear + "] // 사건 년도\n"
|
||||
+ ", vntNmbr=[" + vntNmbr + "] // 사건 번호\n"
|
||||
+ ", cmptntAthrt=[" + cmptntAthrt + "] // 관할 권한\n"
|
||||
+ ", dBirth=[" + dBirth + "] // 생년월일\n"
|
||||
+ ", trgtNm=[" + trgtNm + "] // 대상자 이름\n"
|
||||
+ ", sex=[" + sex + "] // 성별\n"
|
||||
+ ", addr=[" + addr + "] // 주소\n"
|
||||
+ ", post=[" + post + "] // 우편번호\n"
|
||||
+ ", clphone=[" + clphone + "] // 핸드폰 번호\n"
|
||||
+ ", reqNmbr=[" + reqNmbr + "] // 요청 번호\n"
|
||||
+ ", prsctrNm=[" + prsctrNm + "] // 담당 검사 이름\n"
|
||||
+ ", reqStateCd=[" + reqStateCd + "] // 요청 상태 코드\n"
|
||||
+ ", eduStateCd=[" + eduStateCd + "] // 교육 상태 코드\n"
|
||||
+ ", prcsAplctPrdOrdCmplt=[" + prcsAplctPrdOrdCmplt + "] // 처리 신청 기간 순서 완료\n"
|
||||
+ ", rmrks=[" + rmrks + "] // 비고\n"
|
||||
;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,117 @@
|
||||
package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.apache.poi.EncryptedDocumentException;
|
||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellType;
|
||||
import org.apache.poi.ss.usermodel.DateUtil;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.ss.usermodel.WorkbookFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import kcc.com.cmm.ComDefaultCodeVO;
|
||||
import kcc.com.cmm.service.EgovCmmUseService;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
|
||||
|
||||
public class TrgtExcelReader {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(TrgtExcelReader.class);
|
||||
|
||||
private String filePathAndNm;
|
||||
|
||||
public TrgtExcelReader(String filePathAndNm) {
|
||||
this.filePathAndNm = filePathAndNm;
|
||||
}
|
||||
|
||||
public List<CndtnTrgtMngVO> readExcelFile() throws EncryptedDocumentException, InvalidFormatException {
|
||||
|
||||
try (FileInputStream fis = new FileInputStream(filePathAndNm)) {
|
||||
Workbook workbook = WorkbookFactory.create(fis);
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = new ArrayList<>();
|
||||
|
||||
// 첫 번째 행(헤더)을 건너뛰고 시작
|
||||
for (int i = 3; i <= sheet.getLastRowNum(); i++) {
|
||||
Row row = sheet.getRow(i);
|
||||
if (row != null) {
|
||||
|
||||
CndtnTrgtMngVO cndtnTrgtMngVO = new CndtnTrgtMngVO();
|
||||
|
||||
// cndtnTrgtMngVO.set getCellValue(row.getCell(0));
|
||||
cndtnTrgtMngVO.setReqPnttm(getCellValue(row.getCell(1))); // 의뢰번호
|
||||
|
||||
String vntInfo[] = getCellValue(row.getCell(2)).split("형제");
|
||||
cndtnTrgtMngVO.setVntYear( vntInfo[0] ); // 사건번호 년
|
||||
cndtnTrgtMngVO.setVntNmbr( vntInfo[1] ); // 사건번호 번호
|
||||
cndtnTrgtMngVO.setCmptntAthrt( getCellValue(row.getCell(3)));
|
||||
cndtnTrgtMngVO.setdBirth( getCellValue(row.getCell(4)).replaceAll("-", "")); // 생년월일
|
||||
cndtnTrgtMngVO.setTrgtNm( getCellValue(row.getCell(5))); // 대상자 이름
|
||||
cndtnTrgtMngVO.setSex( getCellValue(row.getCell(6)));
|
||||
cndtnTrgtMngVO.setAddr( getCellValue(row.getCell(7))); // 주소, detail과 구분해야함
|
||||
cndtnTrgtMngVO.setPost( getCellValue(row.getCell(8))); // 우편번호
|
||||
cndtnTrgtMngVO.setClphone( getCellValue(row.getCell(9)).replaceAll("-", "")); // 핸드폰
|
||||
cndtnTrgtMngVO.setReqNmbr( getCellValue(row.getCell(10))); // 의뢰번호
|
||||
cndtnTrgtMngVO.setPrsctrNm( getCellValue(row.getCell(11))); // 담당검사 이름
|
||||
|
||||
cndtnTrgtMngVO.setReqStateCd( getCellValue(row.getCell(12)) ); // 의뢰상태 코드 , if로 구분해야함
|
||||
cndtnTrgtMngVO.setEduStateCd( getCellValue(row.getCell(13))); // 교육 상태 코드
|
||||
cndtnTrgtMngVO.setPrcsAplctPrdOrdCmplt( getCellValue(row.getCell(14))); // 병합상태코드
|
||||
cndtnTrgtMngVO.setRmrks( getCellValue(row.getCell(15))); // 비고
|
||||
|
||||
cndtnTrgtInfoMngVOList.add(cndtnTrgtMngVO);
|
||||
}
|
||||
}
|
||||
|
||||
return cndtnTrgtInfoMngVOList;
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
|
||||
private String getCellValue(Cell cell) {
|
||||
if (cell == null) {
|
||||
return "";
|
||||
}
|
||||
|
||||
CellType cellType = cell.getCellTypeEnum(); // 또는 cell.getCellType()을 사용하세요 (POI 버전에 따라 다름)
|
||||
switch (cellType) {
|
||||
case STRING:
|
||||
return cell.getStringCellValue();
|
||||
case NUMERIC:
|
||||
if (DateUtil.isCellDateFormatted(cell)) {
|
||||
// 'java.util.Date' 객체를 얻습니다.
|
||||
Date date = cell.getDateCellValue();
|
||||
// 원하는 형식으로 날짜를 포맷합니다.
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
return dateFormat.format(date);
|
||||
} else {
|
||||
double numericValue = cell.getNumericCellValue();
|
||||
if (Math.floor(numericValue) == numericValue) {
|
||||
return String.valueOf((int) numericValue);
|
||||
} else {
|
||||
return String.valueOf(numericValue);
|
||||
}
|
||||
}
|
||||
case BOOLEAN:
|
||||
return Boolean.toString(cell.getBooleanCellValue());
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -47,6 +47,7 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl.TrgtExcelReader;
|
||||
|
||||
/**
|
||||
* 기반강화연수(관리자)
|
||||
@ -540,6 +541,153 @@ public class CndtnTrgtMngController {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : trgtExcelRegAjax
|
||||
* @author : 이호영
|
||||
* @date : 2024.01.08
|
||||
* @description : 대상자 EXCEL UPLOAD
|
||||
* @param cndtnTrgtInfoMngVO
|
||||
* @param model
|
||||
* @param request
|
||||
* @param multiRequest
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtExcelRegAjax.do")
|
||||
public ModelAndView trgtExcelRegAjax(
|
||||
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
||||
, ModelMap model
|
||||
, HttpServletRequest request
|
||||
, final MultipartHttpServletRequest multiRequest
|
||||
) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||
if (!"".equals(s_oprtnLoginCheckNInfo)) {
|
||||
modelAndView.addObject("result", "loginFail");
|
||||
return modelAndView;
|
||||
}
|
||||
//로그인 처리====================================
|
||||
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
|
||||
|
||||
// 파일 저장후 atchFileId return
|
||||
// String s_scholSealAtchFileId = this.getAtchFileId(request, multiRequest, modelAndView);
|
||||
//TEST
|
||||
String s_scholSealAtchFileId = "FILE_000000000001530";
|
||||
|
||||
|
||||
// 등록 파일 select
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(s_scholSealAtchFileId);
|
||||
List<FileVO> fileList = fileService.selectFileInfs(fileVO);
|
||||
|
||||
if(fileList.size() > 0) {
|
||||
System.out.println(fileList.get(0).toString());
|
||||
FileVO fileInfoVO = fileList.get(0);
|
||||
// String filePathAndNm = fileInfoVO.getFileStreCours() + fileInfoVO.getStreFileNm()+"."+fileInfoVO.getFileExtsn();
|
||||
String filePathAndNm = fileInfoVO.getFileStreCours() + fileInfoVO.getStreFileNm();
|
||||
|
||||
|
||||
|
||||
LOGGER.info(" ++ filePathAndNm :: [{}]", filePathAndNm);
|
||||
TrgtExcelReader reader = new TrgtExcelReader(filePathAndNm);
|
||||
try {
|
||||
long startTime = System.currentTimeMillis();
|
||||
List<CndtnTrgtMngVO> trgtExcelVOList = reader.readExcelFile();
|
||||
|
||||
long endTime = System.currentTimeMillis();
|
||||
double duration = (endTime - startTime) / 1000.0; // 밀리초를 초로 변환
|
||||
|
||||
System.out.println("Execution time: " + duration + " milliseconds");
|
||||
|
||||
LOGGER.info("trgtExcelVOList.size() :: [{}]", trgtExcelVOList.size());
|
||||
LOGGER.info("trgtExcelVOList.get(0).toString() :: [{}]", trgtExcelVOList.get(0).toString());
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
// 파일이 없을 경우
|
||||
}else {
|
||||
modelAndView.addObject("result", "fail");
|
||||
}
|
||||
|
||||
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
|
||||
private String getAtchFileId(HttpServletRequest request, MultipartHttpServletRequest multiRequest,
|
||||
ModelAndView modelAndView) throws Exception { //step2.파일 처리====================================
|
||||
//파일 정상 처리 여부와 첨부 파일 정보
|
||||
//String atchFileId = this.takeFile(multiRequest, modelAndView, bmVO);
|
||||
//파일 제한 수량 가져오기, 없으면 기본값 사용
|
||||
int i_file_limit = checkFileUtil.getLimitCount(request); // file count
|
||||
int i_limit_size = checkFileUtil.getLimitSize(request); // file MB
|
||||
String s_file_exts = checkFileUtil.getS_exts(); // file exts
|
||||
|
||||
String s_scholSealAtchFileId = "";
|
||||
try {
|
||||
|
||||
s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert(
|
||||
multiRequest, modelAndView
|
||||
, "trgtExcel_" //file_name_prefix
|
||||
, s_file_exts
|
||||
, i_limit_size
|
||||
, i_file_limit
|
||||
); //EXT, MB size and ea
|
||||
|
||||
if ("ERROR".equals(s_scholSealAtchFileId)) return "";
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
// TODO: handle exception
|
||||
}
|
||||
return s_scholSealAtchFileId;
|
||||
}
|
||||
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/popup/excelUploadPopup.do")
|
||||
public String excelUploadPopup(
|
||||
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
||||
, ModelMap model
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpSession session
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
if(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth())) {
|
||||
cndtnTrgtInfoMngVO.setdBirth(cndtnTrgtInfoMngVO.getDBirth());
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return "/oprtn/cndtnSspnIdtmt/popup/duplChkPopup";
|
||||
return "/oprtn/cndtnSspnIdtmt/popup/excelUploadPopup";
|
||||
}
|
||||
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/popup/duplChkPopup.do")
|
||||
public String duplChkPopup(
|
||||
@ -555,25 +703,23 @@ public class CndtnTrgtMngController {
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
|
||||
CndtnTrgtMngVO cndtnTrgtInfo = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
|
||||
|
||||
cndtnTrgtInfo = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfo);
|
||||
|
||||
|
||||
if(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth())) {
|
||||
cndtnTrgtInfoMngVO.setdBirth(cndtnTrgtInfoMngVO.getDBirth());
|
||||
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
//검색을 위한 암호화
|
||||
System.out.println("cndtnTrgtInfoMngVO.getTrgtNm() : "+ cndtnTrgtInfoMngVO.getTrgtNm());
|
||||
cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO);
|
||||
System.out.println("cndtnTrgtInfoMngVO.getdBirth() : "+ cndtnTrgtInfoMngVO.getdBirth());
|
||||
System.out.println("cndtnTrgtInfoMngVO.getTrgtNm() : "+ cndtnTrgtInfoMngVO.getTrgtNm());
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
// TODO: handle exception
|
||||
}
|
||||
//검색을 위한 암호화
|
||||
cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO);
|
||||
|
||||
|
||||
|
||||
//병합대상자 검색
|
||||
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = this._getMergeSearchList(model, cndtnTrgtInfoMngVO);
|
||||
|
||||
@ -582,6 +728,7 @@ public class CndtnTrgtMngController {
|
||||
cndtnTrgtInfoMngVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO);
|
||||
|
||||
model.addAttribute("list", cndtnTrgtInfoMngVOList);
|
||||
model.addAttribute("cndtnTrgtInfo", cndtnTrgtInfo);
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,46 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration>
|
||||
<Appenders>
|
||||
<Console name="console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="[%d{HH:mm:ss.SSS}] %p{length=1} %c %M %L | %m%n" />
|
||||
</Console>
|
||||
</Appenders>
|
||||
<Loggers>
|
||||
<Logger name="org.apache" level="ERROR"></Logger>
|
||||
<Logger name="org.springframework" level="ERROR"></Logger>
|
||||
|
||||
<Logger name="egovframework" level="ERROR"></Logger>
|
||||
<Logger name="egovframework.rte" level="DEBUG"></Logger>
|
||||
|
||||
<Logger name="com.ibatis.sqlmap" level="INFO"></Logger>
|
||||
|
||||
|
||||
<Logger name="egovframework.let" level="DEBUG"></Logger>
|
||||
<Logger name="egovframework.com.cmm" level="DEBUG"></Logger>
|
||||
<Logger name="egovframework.kccadr" level="DEBUG"></Logger>
|
||||
|
||||
<!-- <Logger name="jdbc.sqlonly" level="DEBUG">
|
||||
<RegexFilter regex="(?s).*NOT_SQL_LOG.*" onMatch="DENY" onMismatch="NEUTRAL" useRawMsg="true" />
|
||||
</Logger> -->
|
||||
|
||||
<Logger name="jdbc.sqltiming" level="WARN" additivity="false">
|
||||
<AppenderRef ref="console" />
|
||||
</Logger>
|
||||
|
||||
<Logger name="jdbc.audit" level="OFF"></Logger>
|
||||
<Logger name="jdbc.resultset" level="OFF"></Logger>
|
||||
<Logger name="jdbc.resultsettable" level="OFF"></Logger>
|
||||
<Logger name="jdbc.connection" level="OFF"></Logger>
|
||||
<logger name="java.sql.ResultSet" level="OFF"></logger>
|
||||
<logger name="java.sql.PreparedStatement" level="OFF"></logger>
|
||||
<logger name="java.sql.Connection" level="OFF"></logger>
|
||||
<logger name="org.quartz.core.QuartzSchedulerThread" level="OFF"></logger>
|
||||
<logger name="org.quartz.core.JobRunShell" level="OFF"></logger>
|
||||
<logger name="log4jdbc.debug" level="OFF"></logger>
|
||||
|
||||
<Root level="DEBUG">
|
||||
<AppenderRef ref="console" />
|
||||
</Root>
|
||||
|
||||
</Loggers>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration>
|
||||
|
||||
<Properties>
|
||||
<Property name="LOG_PATTERN">[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%t] [%-5level] %logger{36}:%L - %msg%n</Property>
|
||||
<Property name="LOG_HOME">${catalina.base}/logs/heqms</Property>
|
||||
</Properties>
|
||||
|
||||
<Appenders>
|
||||
<Console name="console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="${LOG_PATTERN}" />
|
||||
<!--
|
||||
<PatternLayout pattern="%d %5p [%c] %m%n" />
|
||||
-->
|
||||
</Console>
|
||||
</Appenders>
|
||||
|
||||
<Loggers>
|
||||
<Logger name="org.apache" level="ERROR"></Logger>
|
||||
<Logger name="org.springframework" level="ERROR"></Logger>
|
||||
|
||||
<Logger name="egovframework" level="ERROR"></Logger>
|
||||
<Logger name="egovframework.rte" level="DEBUG"></Logger>
|
||||
|
||||
<Logger name="com.ibatis.sqlmap" level="INFO"></Logger>
|
||||
|
||||
|
||||
<Logger name="egovframework.let" level="DEBUG"></Logger>
|
||||
<Logger name="egovframework.com.cmm" level="DEBUG"></Logger>
|
||||
<Logger name="egovframework.kccadr" level="DEBUG"></Logger>
|
||||
|
||||
<!-- <Logger name="jdbc.sqlonly" level="DEBUG">
|
||||
<RegexFilter regex="(?s).*NOT_SQL_LOG.*" onMatch="DENY" onMismatch="NEUTRAL" useRawMsg="true" />
|
||||
</Logger> -->
|
||||
|
||||
<Logger name="jdbc.sqltiming" level="WARN" additivity="false">
|
||||
<AppenderRef ref="console" />
|
||||
</Logger>
|
||||
|
||||
<Logger name="jdbc.audit" level="OFF"></Logger>
|
||||
<Logger name="jdbc.resultset" level="OFF"></Logger>
|
||||
<Logger name="jdbc.resultsettable" level="OFF"></Logger>
|
||||
<Logger name="jdbc.connection" level="OFF"></Logger>
|
||||
<logger name="java.sql.ResultSet" level="OFF"></logger>
|
||||
<logger name="java.sql.PreparedStatement" level="OFF"></logger>
|
||||
<logger name="java.sql.Connection" level="OFF"></logger>
|
||||
<logger name="org.quartz.core.QuartzSchedulerThread" level="OFF"></logger>
|
||||
<logger name="org.quartz.core.JobRunShell" level="OFF"></logger>
|
||||
<logger name="log4jdbc.debug" level="OFF"></logger>
|
||||
|
||||
<Root level="DEBUG">
|
||||
<AppenderRef ref="console" />
|
||||
</Root>
|
||||
|
||||
</Loggers>
|
||||
</Configuration>
|
||||
@ -154,10 +154,130 @@
|
||||
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
|
||||
<input type="hidden" name="sspnIdtmtTrgtOrd" id="sspnIdtmtTrgtOrd" value="<c:out value="${cndtnTrgtInfoMngVO.sspnIdtmtTrgtOrd}" />" />
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="area_popup">
|
||||
<div class="tb_tit01">
|
||||
<p>병합 대상자 목록</p>
|
||||
<div class="tb_tit01">
|
||||
<p>기준 대상자 정보</p>
|
||||
</div>
|
||||
<div class="cont_popup">
|
||||
<!-- list_top -->
|
||||
<%-- <div class="list_top">
|
||||
<div class="list_top_1">
|
||||
<div class="util_left">
|
||||
<p>병합 대상자 검색</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<input type="text" id="trgtNm" name="trgtNm" placeholder="이름" value="<c:out value='${cndtnTrgtInfoMngVO.trgtNm }' /> " />
|
||||
<button type="button" class="btn_type08" onclick="fncGoSearch(1); return false;">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</div> --%>
|
||||
<!-- <div class="pop_tb_tit01"> -->
|
||||
<!-- <p>병합 대상자 목록</p> -->
|
||||
<!-- </div> -->
|
||||
|
||||
<div class="pop_tb_type01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 100px">
|
||||
<col style="width: 100px">
|
||||
<col style="width: 80px">
|
||||
<col style="width: 100px">
|
||||
<col style="width: 80px">
|
||||
<col style="width: 60px">
|
||||
<col style="width: 140px">
|
||||
<col style="width: 80px">
|
||||
<col style="width: 80px">
|
||||
<col style="width: auto">
|
||||
<col style="width: 80px">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>의뢰일</th>
|
||||
<th>사건번호</th>
|
||||
<th>관할청</th>
|
||||
<th>생년월일</th>
|
||||
<th>성명</th>
|
||||
<th>성별</th>
|
||||
<th>의뢰번호</th>
|
||||
<th>의뢰상태</th>
|
||||
<th>교육상태</th>
|
||||
<th>주소</th>
|
||||
<th>검사명</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<c:set var="reqPnttm" value="${fn:substring(cndtnTrgtInfo.reqPnttm, 0, 10)}" />
|
||||
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
|
||||
<c:out value="${reqPnttm }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${cndtnTrgtInfo.vntYear }" />형제<c:out value="${cndtnTrgtInfo.vntNmbr }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${cndtnTrgtInfo.cmptntAthrt }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${cndtnTrgtInfo.dBirth }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${cndtnTrgtInfo.trgtNm }" />
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="COM014" code="${cndtnTrgtInfo.sex }"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${cndtnTrgtInfo.reqNmbr }" />
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="VEA005" code="${cndtnTrgtInfo.reqStateCd }"/>
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="VEA002" code="${cndtnTrgtInfo.eduStateCd }"/>
|
||||
</td>
|
||||
<c:set var="fullAddr" value="${cndtnTrgtInfo.addr} ${cndtnTrgtInfo.addrDetail}" />
|
||||
<%-- <c:set var="fullAddr" value="${cndtnTrgtInfo.addr}" /> --%>
|
||||
<td title="${fullAddr}">
|
||||
<c:out value="${cndtnTrgtInfo.addr }" />
|
||||
<c:out value="${cndtnTrgtInfo.addrDetail }" />
|
||||
<%-- ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} --%>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${cndtnTrgtInfo.prsctrNm }" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- page -->
|
||||
<!-- <div class="page"> -->
|
||||
<%-- <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> --%>
|
||||
<!-- </div> -->
|
||||
<!-- //page -->
|
||||
|
||||
<div class="btn_wrap_pop btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" class="btn_type04" onclick="fnUpdate(); return false;">병합 처리</button>
|
||||
<!-- <button type="button" class="btn_type04" onclick="self.close();">닫기</button> -->
|
||||
<button type="button" class="btn_type04" onclick="fn_close()">닫기</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="area_popup">
|
||||
<div class="tb_tit01">
|
||||
<p>병합 대상자 목록</p>
|
||||
</div>
|
||||
<div class="cont_popup">
|
||||
<!-- list_top -->
|
||||
<%-- <div class="list_top">
|
||||
|
||||
@ -0,0 +1,231 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : eduAcmdtAplctPopup.jsp
|
||||
* @Description : 숙박신청내용보기 팝업
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2022.01.07 박진순 최초 생성
|
||||
* @author 박진순
|
||||
* @since 2020.01.07
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
<title>숙박신청내용보기팝업</title>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
$(".btn_type01").on('click', function(){
|
||||
$("#file_temp").click();
|
||||
});
|
||||
});
|
||||
|
||||
function setDataSave(){
|
||||
|
||||
var data = new FormData(document.getElementById("createForm"));
|
||||
|
||||
//첨부파일 등록 처리-step2
|
||||
_fileForm2.forEach(function(obj, idx) {
|
||||
if (obj) data.append("file"+idx, obj.fileObj);
|
||||
|
||||
});
|
||||
|
||||
if(confirm("등록하시겠습니까?")){
|
||||
// var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/trgtRegAjax.do";
|
||||
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/trgtExcelRegAjax.do";
|
||||
console.log(data);
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
enctype: 'multipart/form-data',
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
console.log('returnData :: ', returnData);
|
||||
if(returnData.result == "success"){
|
||||
alert("등록되었습니다.");
|
||||
// fncGoList();
|
||||
$('#sspnIdtmtTrgtOrd').val(returnData.sspnIdtmtTrgtOrd);
|
||||
// 중복체크 ajax
|
||||
// fn_duplChk();
|
||||
}else if(returnData.result == "fail"){
|
||||
alert(returnData.message);
|
||||
$('#cmptntAthrt').prop('disabled', true);
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
$('#cmptntAthrt').prop('disabled', true);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 닫기
|
||||
function fncPopClose(){
|
||||
self.close();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form:form id="createForm" name="createForm" method="post" commandName="vEEduAplctVO" onsubmit="return false;">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>대상자 엑셀 업로드</h2>
|
||||
<!-- <ul class="cont_nav"> -->
|
||||
<!-- <li class="home"><a href="/"><i></i></a></li> -->
|
||||
<!-- <li> -->
|
||||
<!-- <p>조건부기소유예관리</p> -->
|
||||
<!-- </li> -->
|
||||
<!-- <li><span class="cur_nav">대상자 목록</span></li> -->
|
||||
<!-- <li><span class="cur_nav">대상자 등록</span></li> -->
|
||||
<!-- </ul> -->
|
||||
</div>
|
||||
<div class="area_popup">
|
||||
<div class="cont_popup">
|
||||
<table class="pop_tb_type02">
|
||||
<colgroup>
|
||||
<col style="width: 140px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 140px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>첨부파일</p>
|
||||
</th>
|
||||
<td class="upload_area" colspan="3">
|
||||
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
|
||||
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||
<button type="button" id="filebutton" class="btn_type01">파일 첨부하기</button>
|
||||
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><!-- <p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p> -->
|
||||
<div class="file_wrap file_upload_box no_img_box">
|
||||
<table class="tbType02">
|
||||
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||
<colgroup>
|
||||
<col style="width: 60%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<!-- <th>
|
||||
<input type="checkbox" id="all_check"><label for="all_check"></label>
|
||||
</th> -->
|
||||
<th scope="col">파일 명</th>
|
||||
<th scope="col">종류</th>
|
||||
<th scope="col">크기</th>
|
||||
<th scope="col">삭제</th>
|
||||
</thead>
|
||||
<tbody class="tb_file_before">
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="file_wrap fileAfter file_list_div">
|
||||
<table class="tbType02">
|
||||
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||
<colgroup>
|
||||
<col style="width: 60%">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 10%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<!-- <th>
|
||||
<input type="checkbox" id="all_check"><label for="all_check"></label>
|
||||
</th> -->
|
||||
<th scope="col">파일 명</th>
|
||||
<th scope="col">종류</th>
|
||||
<th scope="col">크기</th>
|
||||
<th scope="col">삭제</th>
|
||||
</thead>
|
||||
<tbody id="tbody_fiielist" class="tb_file_after">
|
||||
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
||||
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
|
||||
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
|
||||
<td class="td_filename">
|
||||
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
|
||||
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
|
||||
</td>
|
||||
<td class="td_filesort">
|
||||
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
|
||||
</td>
|
||||
<td class="td_filesize">
|
||||
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제"><i></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- 교육결과상세 화면에서 호출 시 버튼 비노출 -->
|
||||
<c:if test="${status ne 'end'}">
|
||||
<div class="btn_wrap_pop btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" onclick="setDataSave(); return false;" class="btn_type04">엑셀 등록</button>
|
||||
<button type="button" onclick="fncPopClose(); return false;" class="btn_type02">닫기</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<!-- <button type="button" onclick="fncEduAcmdtAplctRejectInfo(); return false;" class="btn_type03" id="btnReject">반려</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${status eq 'end'}">
|
||||
<div class="btn_wrap_pop btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" onclick="fncPopClose(); return false;" class="btn_type02">닫기</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form:form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user