diff --git a/src/main/java/kcc/com/cmm/ComDefaultVO.java b/src/main/java/kcc/com/cmm/ComDefaultVO.java index d534abd1..bd4e8a43 100644 --- a/src/main/java/kcc/com/cmm/ComDefaultVO.java +++ b/src/main/java/kcc/com/cmm/ComDefaultVO.java @@ -202,6 +202,11 @@ public class ComDefaultVO implements Serializable { private String srchCndt5 = ""; private String srchKwd5_1 = ""; private String srchKwd5_2 = ""; + + + private String searchPrsctrNm; //검사명 검색 + private String searchVntNmbr; //사건번호 검색 + private String searchReqNmbr; //의뢰번호 검색 public int getBeSort() { @@ -1036,4 +1041,28 @@ public class ComDefaultVO implements Serializable { this.srchKwd5_2 = srchKwd5_2; } + public String getSearchPrsctrNm() { + return searchPrsctrNm; + } + + public void setSearchPrsctrNm(String searchPrsctrNm) { + this.searchPrsctrNm = searchPrsctrNm; + } + + public String getSearchVntNmbr() { + return searchVntNmbr; + } + + public void setSearchVntNmbr(String searchVntNmbr) { + this.searchVntNmbr = searchVntNmbr; + } + + public String getSearchReqNmbr() { + return searchReqNmbr; + } + + public void setSearchReqNmbr(String searchReqNmbr) { + this.searchReqNmbr = searchReqNmbr; + } + } diff --git a/src/main/java/kcc/com/cmm/service/EgovCmmUseService.java b/src/main/java/kcc/com/cmm/service/EgovCmmUseService.java index eab0888a..5b67ca40 100644 --- a/src/main/java/kcc/com/cmm/service/EgovCmmUseService.java +++ b/src/main/java/kcc/com/cmm/service/EgovCmmUseService.java @@ -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 - * - *
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2009.03.11  이삼섭          최초 생성
- *
- * 
- */ -public interface EgovCmmUseService { - - /** - * 공통코드를 조회한다. - * - * @param vo - * @return List(코드) - * @throws Exception - */ - public List selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception; - - /** - * 공통코드를 조회한다.(by String codeId) - * - * @param String codeId - * @return List(코드) - * @throws Exception - */ - public List selectCmmCodeDetail(String codeId) throws Exception; - - /** - * ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다. - * - * @param voList - * @return Map(코드) - * @throws Exception - */ - public Map> selectCmmCodeDetails(List voList) throws Exception; - - /** - * 조직정보를 코드형태로 리턴한다. - * - * @param 조회조건정보 vo - * @return 조직정보 List - * @throws Exception - */ - public List selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception; - - /** - * 그룹정보를 코드형태로 리턴한다. - * - * @param 조회조건정보 vo - * @return 그룹정보 List - * @throws Exception - */ - public List selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception; - - public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) ; - - public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo); - - public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo); - - public List 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 + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2009.03.11  이삼섭          최초 생성
+ *
+ * 
+ */ +public interface EgovCmmUseService { + + /** + * 공통코드를 조회한다. + * + * @param vo + * @return List(코드) + * @throws Exception + */ + public List selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception; + + /** + * 공통코드를 조회한다.(by String codeId) + * + * @param String codeId + * @return List(코드) + * @throws Exception + */ + public List selectCmmCodeDetail(String codeId) throws Exception; + + /** + * ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다. + * + * @param voList + * @return Map(코드) + * @throws Exception + */ + public Map> selectCmmCodeDetails(List voList) throws Exception; + + /** + * 조직정보를 코드형태로 리턴한다. + * + * @param 조회조건정보 vo + * @return 조직정보 List + * @throws Exception + */ + public List selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception; + + /** + * 그룹정보를 코드형태로 리턴한다. + * + * @param 조회조건정보 vo + * @return 그룹정보 List + * @throws Exception + */ + public List selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception; + + public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) ; + + public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo); + + public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo); + + public List selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam); + + String selectCmmCodeDetailCode(ComDefaultCodeVO vo); +} diff --git a/src/main/java/kcc/com/cmm/service/impl/EgovCmmUseServiceImpl.java b/src/main/java/kcc/com/cmm/service/impl/EgovCmmUseServiceImpl.java index 3b6ed35f..96e27afe 100644 --- a/src/main/java/kcc/com/cmm/service/impl/EgovCmmUseServiceImpl.java +++ b/src/main/java/kcc/com/cmm/service/impl/EgovCmmUseServiceImpl.java @@ -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 selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception { - return cmmUseDAO.selectCmmCodeDetail(vo); - } - - /** - * 공통코드를 조회한다.(by String codeId) - * - * @param String codeId - * @return - * @throws Exception - */ - @Override - public List 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> selectCmmCodeDetails(List voList) throws Exception { - ComDefaultCodeVO vo; - Map> map = new HashMap>(); - - 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 selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception { - return cmmUseDAO.selectOgrnztIdDetail(vo); - } - - /** - * 그룹정보를 코드형태로 리턴한다. - * - * @param 조회조건정보 vo - * @return 그룹정보 List - * @throws Exception - */ - @Override - public List 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 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 selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception { + return cmmUseDAO.selectCmmCodeDetail(vo); + } + + /** + * 공통코드를 조회한다.(by String codeId) + * + * @param String codeId + * @return + * @throws Exception + */ + @Override + public List 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> selectCmmCodeDetails(List voList) throws Exception { + ComDefaultCodeVO vo; + Map> map = new HashMap>(); + + 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 selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception { + return cmmUseDAO.selectOgrnztIdDetail(vo); + } + + /** + * 그룹정보를 코드형태로 리턴한다. + * + * @param 조회조건정보 vo + * @return 그룹정보 List + * @throws Exception + */ + @Override + public List 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 selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam) { + // TODO Auto-generated method stub + return cmmUseDAO.selectCmmCodeDetailOrderByCode(codeParam); + } +} diff --git a/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java b/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java index 9c69a7fc..14d3ddfd 100644 --- a/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java +++ b/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java @@ -4,6 +4,7 @@ import java.util.List; import javax.annotation.Resource; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @@ -544,9 +545,9 @@ public class EgovCryptoUtil { // 240108 담당검사 이름 추가 public CndtnTrgtMngVO encryptCndtnTrgtMngVOInfo(CndtnTrgtMngVO p_cndtnTrgtInfoMngVO){ - if (!"".equals(p_cndtnTrgtInfoMngVO.getTrgtNm())) p_cndtnTrgtInfoMngVO.setTrgtNm(this.encrypt(p_cndtnTrgtInfoMngVO.getTrgtNm())); - if (!"".equals(p_cndtnTrgtInfoMngVO.getClphone())) p_cndtnTrgtInfoMngVO.setClphone(this.encrypt(p_cndtnTrgtInfoMngVO.getClphone())); - if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.encrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm())); +// if (!"".equals(p_cndtnTrgtInfoMngVO.getTrgtNm()) ) p_cndtnTrgtInfoMngVO.setTrgtNm(this.encrypt(p_cndtnTrgtInfoMngVO.getTrgtNm().trim())); + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getTrgtNm()) ) p_cndtnTrgtInfoMngVO.setTrgtNm(this.encrypt(p_cndtnTrgtInfoMngVO.getTrgtNm().trim())); + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getClphone())) p_cndtnTrgtInfoMngVO.setClphone(this.encrypt(p_cndtnTrgtInfoMngVO.getClphone().trim())); //if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.encrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm())); return p_cndtnTrgtInfoMngVO; @@ -556,9 +557,9 @@ public class EgovCryptoUtil { // 240108 담당검사 이름 추가 public CndtnTrgtMngVO decryptCndtnTrgtMngVOInfo(CndtnTrgtMngVO p_cndtnTrgtInfoMngVO){ - if (!"".equals(p_cndtnTrgtInfoMngVO.getTrgtNm())) p_cndtnTrgtInfoMngVO.setTrgtNm(this.decrypt(p_cndtnTrgtInfoMngVO.getTrgtNm())); - if (!"".equals(p_cndtnTrgtInfoMngVO.getClphone())) p_cndtnTrgtInfoMngVO.setClphone(this.decrypt(p_cndtnTrgtInfoMngVO.getClphone())); - if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.decrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm())); +// if (!"".equals(p_cndtnTrgtInfoMngVO.getTrgtNm())) p_cndtnTrgtInfoMngVO.setTrgtNm(this.decrypt(p_cndtnTrgtInfoMngVO.getTrgtNm().trim())); + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getTrgtNm())) p_cndtnTrgtInfoMngVO.setTrgtNm(this.decrypt(p_cndtnTrgtInfoMngVO.getTrgtNm().trim())); + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getClphone())) p_cndtnTrgtInfoMngVO.setClphone(this.decrypt(p_cndtnTrgtInfoMngVO.getClphone().trim())); //if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.decrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm())); return p_cndtnTrgtInfoMngVO; diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngService.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngService.java index d2342644..4b72d175 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngService.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngService.java @@ -1,56 +1,58 @@ -package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service; - -import java.util.List; - -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; - - -public interface CndtnTrgtMngService { - - List selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO); - - void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO); - - CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO); - - void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO); - - void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO); - - int findCntreqNmber(String reqNmbrTemp); - - void updateTrgtDuplAjax(CndtnTrgtMngVO cndtnTrgtInfoMngVO); - - void updateDel(CndtnTrgtMngVO cndtnTrgtInfoMngVO); - - - - - - -/* //C - void insert(VEPrcsDetailVO paramVO) throws Exception; - - //R - VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception; - - //U - int update(VEPrcsDetailVO paramVO) throws Exception; - - //D - int delete(VEPrcsDetailVO paramVO) throws Exception; - - //L - List selectList(VEPrcsDetailVO paramVO) throws Exception; - - //List selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception; - - List selectTngrPrcsList(VEPrcsDetailVO paramVO) throws Exception; - - //Page List - List selectPagingList(VEPrcsDetailVO paramVO) throws Exception; - - //교육과정 리스트 순서 수정 - void updatePrcsSort(VEPrcsDetailVO paramVO) throws Exception;*/ - -} +package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service; + +import java.util.List; + +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; + + +public interface CndtnTrgtMngService { + + List selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO); + + void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO); + + CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO); + + void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO); + + void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO); + + int findCntreqNmber(String reqNmbrTemp); + + void updateTrgtDuplAjax(CndtnTrgtMngVO cndtnTrgtInfoMngVO); + + void updateDel(CndtnTrgtMngVO cndtnTrgtInfoMngVO); + + List selectDuplChk(CndtnTrgtMngVO cndtnTrgtInfoMngVO); + + + + + + +/* //C + void insert(VEPrcsDetailVO paramVO) throws Exception; + + //R + VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception; + + //U + int update(VEPrcsDetailVO paramVO) throws Exception; + + //D + int delete(VEPrcsDetailVO paramVO) throws Exception; + + //L + List selectList(VEPrcsDetailVO paramVO) throws Exception; + + //List selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception; + + List selectTngrPrcsList(VEPrcsDetailVO paramVO) throws Exception; + + //Page List + List selectPagingList(VEPrcsDetailVO paramVO) throws Exception; + + //교육과정 리스트 순서 수정 + void updatePrcsSort(VEPrcsDetailVO paramVO) throws Exception;*/ + +} diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java index a56d4f29..3d66d052 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java @@ -49,6 +49,7 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable { private List sspnIdtmtTrgtOrdList; private String eduAplctOrd; //신청한 교육 순번 + private String rmrks; //비고 private String resultCd; //결과값 T-참,F-거짓 @@ -247,11 +248,33 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable { public void setRegNmbr(String regNmbr) { this.regNmbr = regNmbr; } + 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" + ; + } } diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java index 29973cad..62d88c8c 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java @@ -141,5 +141,9 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO { update("cndtnTrgtInfoMngDAO.updateDel", cndtnTrgtInfoMngVO); } + public List selectDuplChk(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + return (List) list("cndtnTrgtInfoMngDAO.selectDuplChk", cndtnTrgtInfoMngVO); + } + } diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngServiceImpl.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngServiceImpl.java index 39299765..a9a24f0a 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngServiceImpl.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngServiceImpl.java @@ -1,72 +1,77 @@ -package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl; - - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import egovframework.rte.fdl.idgnr.EgovIdGnrService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; -import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService; -import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; - -@Service("cndtnTrgtInfoMngService") -public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService { - - - //과정신청기간순번 - @Resource(name="prcsAplctPrdGnrService") - private EgovIdGnrService prcsAplctPrdGnrService; - - //과정 - - //대상자 - @Resource(name="cndtnTrgtInfoMngDAO") - private CndtnTrgtMngDAO cndtnTrgtInfoMngDAO; - - @Override - public List selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { - return cndtnTrgtInfoMngDAO.selectPagingList(cndtnTrgtInfoMngVO); - } - - @Override - public void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { - cndtnTrgtInfoMngDAO.insert(cndtnTrgtInfoMngVO); - - } - - @Override - public CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO) { - return cndtnTrgtInfoMngDAO.selectDetail(cndtnTrgtInfoVO); - } - - @Override - public void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { - cndtnTrgtInfoMngDAO.update(cndtnTrgtInfoMngVO); - - } - - @Override - public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) { - cndtnTrgtInfoMngDAO.updateUserId(cndtnTrgtMngVO); - } - - @Override - public int findCntreqNmber(String reqNmbrTemp) { - return cndtnTrgtInfoMngDAO.findCntreqNmber(reqNmbrTemp); - } - - @Override - public void updateTrgtDuplAjax(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { - cndtnTrgtInfoMngDAO.updateTrgtDuplAjax(cndtnTrgtInfoMngVO); - - } - - @Override - public void updateDel(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { - cndtnTrgtInfoMngDAO.updateDel(cndtnTrgtInfoMngVO); - } - -} +package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl; + + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; +import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService; +import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; + +@Service("cndtnTrgtInfoMngService") +public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService { + + + //과정신청기간순번 + @Resource(name="prcsAplctPrdGnrService") + private EgovIdGnrService prcsAplctPrdGnrService; + + //과정 + + //대상자 + @Resource(name="cndtnTrgtInfoMngDAO") + private CndtnTrgtMngDAO cndtnTrgtInfoMngDAO; + + @Override + public List selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + return cndtnTrgtInfoMngDAO.selectPagingList(cndtnTrgtInfoMngVO); + } + + @Override + public void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + cndtnTrgtInfoMngDAO.insert(cndtnTrgtInfoMngVO); + + } + + @Override + public CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO) { + return cndtnTrgtInfoMngDAO.selectDetail(cndtnTrgtInfoVO); + } + + @Override + public void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + cndtnTrgtInfoMngDAO.update(cndtnTrgtInfoMngVO); + + } + + @Override + public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) { + cndtnTrgtInfoMngDAO.updateUserId(cndtnTrgtMngVO); + } + + @Override + public int findCntreqNmber(String reqNmbrTemp) { + return cndtnTrgtInfoMngDAO.findCntreqNmber(reqNmbrTemp); + } + + @Override + public void updateTrgtDuplAjax(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + cndtnTrgtInfoMngDAO.updateTrgtDuplAjax(cndtnTrgtInfoMngVO); + + } + + @Override + public void updateDel(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + cndtnTrgtInfoMngDAO.updateDel(cndtnTrgtInfoMngVO); + } + + @Override + public List selectDuplChk(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + return cndtnTrgtInfoMngDAO.selectDuplChk(cndtnTrgtInfoMngVO); + } + +} diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/TrgtExcelReader.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/TrgtExcelReader.java new file mode 100644 index 00000000..a8e2c4cc --- /dev/null +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/TrgtExcelReader.java @@ -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 readExcelFile() throws EncryptedDocumentException, InvalidFormatException { + + try (FileInputStream fis = new FileInputStream(filePathAndNm)) { + Workbook workbook = WorkbookFactory.create(fis); + Sheet sheet = workbook.getSheetAt(0); + List 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 ""; + } + } + +} \ No newline at end of file diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java index fe79065e..51d06c58 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java @@ -26,6 +26,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.ComDefaultCodeVO; +import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.LoginVO; import kcc.com.cmm.service.CmmnDetailCode; import kcc.com.cmm.service.EgovCmmUseService; @@ -38,6 +39,7 @@ import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; @@ -45,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; /** * 기반강화연수(관리자) @@ -299,22 +302,38 @@ public class CndtnTrgtMngController { if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){ String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); // selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; - selectCondition = "AND a."+searchStatus+" LIKE '%" +cndtnTrgtInfoMngVO.getSearchKeyword() + "%'"; + selectCondition += "AND a."+searchStatus+" LIKE '%" +cndtnTrgtInfoMngVO.getSearchKeyword() + "%'"; //cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); } //성명검색 if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeywordFrom())){ - selectCondition = " AND a.trgt_nm = '" +cndtnTrgtInfoMngVO.getSearchKeywordFrom() + "' "; + selectCondition += " AND a.trgt_nm = '" +cndtnTrgtInfoMngVO.getSearchKeywordFrom() + "' "; //cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); } //생년월일검색 if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeywordTo())){ - selectCondition = " AND a.d_birth ='" +cndtnTrgtInfoMngVO.getSearchKeywordTo() + "' "; + selectCondition += " AND a.d_birth ='" +cndtnTrgtInfoMngVO.getSearchKeywordTo() + "' "; } + //검사명검색 + if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchPrsctrNm())){ + selectCondition += " AND a.prsctr_nm ='" +cndtnTrgtInfoMngVO.getSearchPrsctrNm() + "' "; + + } + //사건번호검색 + if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchVntNmbr())){ + selectCondition += " AND a.vnt_nmbr ='" +cndtnTrgtInfoMngVO.getSearchVntNmbr() + "' "; + + } + //의뢰번호검색 + if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchReqNmbr())){ + selectCondition += " AND a.req_nmbr ='" +cndtnTrgtInfoMngVO.getSearchReqNmbr() + "' "; + + } + cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); @@ -509,7 +528,9 @@ public class CndtnTrgtMngController { // 성인 A / 미성년 Y, 검찰청명, 검찰청 고유번호, 연도, 접수번호 try { - System.out.println(cndtnTrgtInfoMngVO.getDBirth()); + if(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth()) ) { + cndtnTrgtInfoMngVO.setdBirth(cndtnTrgtInfoMngVO.getDBirth()); + } System.out.println(cndtnTrgtInfoMngVO.getdBirth()); cndtnTrgtInfoMngVO.setReqNmbr(this.getReqNmbr(cndtnTrgtInfoMngVO)); @@ -522,6 +543,8 @@ public class CndtnTrgtMngController { cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO); cndtnTrgtInfoMngService.insert(cndtnTrgtInfoMngVO); + // 병합을 하기위한 key + modelAndView.addObject("sspnIdtmtTrgtOrd", cndtnTrgtInfoMngVO.getSspnIdtmtTrgtOrd()); modelAndView.addObject("result", "success"); }catch(Exception ex) { @@ -533,6 +556,262 @@ public class CndtnTrgtMngController { return modelAndView; } + + /** + * @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 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 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( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + + 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()); + + } + + //검색을 위한 암호화 + cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO); + + + + //병합대상자 검색 + List cndtnTrgtInfoMngVOList = this._getMergeSearchList(model, cndtnTrgtInfoMngVO); + + //복호화 + cndtnTrgtInfoMngVOList = egovCryptoUtil.decryptCndtnTrgtMngVOList(cndtnTrgtInfoMngVOList); + cndtnTrgtInfoMngVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO); + + model.addAttribute("list", cndtnTrgtInfoMngVOList); + model.addAttribute("cndtnTrgtInfo", cndtnTrgtInfo); + + + + + return "/oprtn/cndtnSspnIdtmt/popup/duplChkPopup"; + } + + + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/duplChkAjax.do") + public ModelAndView duplChkAjax( + @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 로그인 정보 가져오기 + + + + cndtnTrgtInfoMngVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO); + + + System.out.println(cndtnTrgtInfoMngVO.getTrgtNm()); + System.out.println(cndtnTrgtInfoMngVO.getdBirth()); + System.out.println(cndtnTrgtInfoMngVO.getSex()); + + + try { + if(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth()) ) { + cndtnTrgtInfoMngVO.setdBirth(cndtnTrgtInfoMngVO.getDBirth()); + } + System.out.println(cndtnTrgtInfoMngVO.getdBirth()); + + + + //암호화 + cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO); + List cndtnTrgtDuplListVO = cndtnTrgtInfoMngService.selectDuplChk(cndtnTrgtInfoMngVO); + + modelAndView.addObject("cndtnTrgtDuplListVO", cndtnTrgtDuplListVO); + modelAndView.addObject("trgtDuplSize", cndtnTrgtDuplListVO.size()); + modelAndView.addObject("result", "success"); + }catch(Exception ex) { + ex.printStackTrace(); + modelAndView.addObject("result", "fail"); + } + + + return modelAndView; + + } // 사건번호 // 형식 : - 예시로 A-서울중앙-100-23-1 경우 diff --git a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml index 6dbf2711..117ecfaf 100644 --- a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml @@ -355,6 +355,19 @@ AND a.prcs_aplct_prd_ord_cmplt IS NULL /* 병합되지 않았다. */ + + + " /> + + + + +
+
+

기준 대상자 정보

+
+
+ + <%--
+
+
+

병합 대상자 검색

+
+
+ + +
+
+
--%> + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- --%> + + + + +
의뢰일사건번호관할청생년월일성명성별의뢰번호의뢰상태교육상태주소검사명
+ + <%-- --%> + + + 형제 + + + + + + + + + + + + + + + + + + <%-- ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} --%> + + +
+
+ + +<%-- --%> + + + +
+
+
+
+ + + +
+
+
+
+
+
+ + +
+
+

병합 대상자 목록

+
+
+ + <%--
+
+
+

병합 대상자 검색

+
+
+ + +
+
+
--%> + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- ');" style="cursor:pointer;"> --%> + + <%-- + + + + + + + + + + + <%-- --%> + + + + + + + + +
의뢰일사건번호관할청생년월일성명성별의뢰번호의뢰상태교육상태주소검사명
');" style="cursor:pointer;"> --%> + <%-- --%> + + + + + + + + + + + + + <%-- --%> + + + 형제 + + + + + + + + + + + + + + + + + + <%-- ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} --%> + + +
+
+ + +<%-- --%> + + + +
+
+
+
+ + + +
+
+
+
+
+
+ + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/popup/excelUploadPopup.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/popup/excelUploadPopup.jsp new file mode 100644 index 00000000..3294c91d --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/popup/excelUploadPopup.jsp @@ -0,0 +1,231 @@ + +<%@ 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 + * + */ +%> + + + + + 숙박신청내용보기팝업 + + + + + + + +
+

대상자 엑셀 업로드

+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + +
+

필수입력 항목*

+

첨부파일

+
+ + + +

첨부파일 가능 용량은 20MB입니다.

+
+ + + + + + + + + + + + + + + + + + + + +
첨부파일 리스트 : 파일명, 종류, 크기, 삭제
파일 명종류크기삭제
+

첨부하실 파일을 마우스로 끌어서 넣어주세요.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
첨부파일 리스트 : 파일명, 종류, 크기, 삭제
파일 명종류크기삭제
+ + + + "> + + "> + + +
+
+
+ + +
+
+
+
+ + +
+
+ +
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+
+ +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtList.jsp index 0db58522..a69cbb46 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtList.jsp @@ -108,6 +108,19 @@ listForm.action = ""; listForm.submit(); } + + function fn_excel_upload() { + + var form = document.excelForm; + +// form.action = ""; + form.action = ""; + + window.open("#", "_duplChkPopup", "scrollbars = no, top=100px, left=100px, height=750px, width=950px"); + form.target = "_duplChkPopup"; + form.submit(); + } + function fncDelete(prcsOrd){ document.listForm.prcsOrd.value = prcsOrd ; @@ -208,6 +221,8 @@ 교육과정관리 +
+
@@ -422,6 +437,7 @@
+
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp index 6a01df7a..84236ca2 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp @@ -322,6 +322,12 @@
+
+

구분6

+
+
+ +
@@ -330,9 +336,12 @@
- - - +
+
+

구분7

+
+
+
@@ -351,6 +360,12 @@ +
+

구분8

+
+
+ +
@@ -375,7 +390,7 @@ - +
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp index e36a5bce..8a97505b 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp @@ -73,7 +73,9 @@ 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); @@ -87,7 +89,58 @@ } } + // 중복 대상자가 있는지 확인 + function fn_duplChk(){ + var data = new FormData(document.getElementById("createForm")); + +// if(confirm("저장하시겠습니까?")){ + var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/duplChkAjax.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" && returnData.trgtDuplSize > 1){ + alert("중복 대상자가 있습니다."); + fn_duplChkPopup(); + + fncGoList(); + // + }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 fn_duplChkPopup() { + var form = document.createForm; + + form.action = ""; + + window.open("#", "_duplChkPopup", "scrollbars = no, top=100px, left=100px, height=750px, width=1500px"); + form.target = "_duplChkPopup"; + form.submit(); + } + + function fn_valChk(){ // 의뢰일 검사 @@ -225,6 +278,9 @@ + + +
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp index 45eed905..c1c9817e 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp @@ -249,10 +249,10 @@
-

찾아가는 저작권 교육

+

기소유예

- ‘찾아가는 저작권 교육’은 저작권 교육이 필요한 공공기관, 대학, 문화예술단체 등을 대상으로 무료로 강의를 지원하는 맞춤형 교육 서비스입니다. -

담당자 연락처) 02-2669-0083

+ 저작권 침해사범 중 검찰청으로부터 교육조건부 기소유예 처분을 받아 교육 의뢰된 자 +

문의사항 : 상단 교육문의 활용

diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduInfo.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduInfo.jsp index 0f452900..9c0cb412 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduInfo.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduInfo.jsp @@ -88,7 +88,7 @@
- +