Merge branch 'advc' of http://yickso@vcs.iten.co.kr:9999/hylee/offedu into advc
This commit is contained in:
commit
e5dd747869
@ -204,6 +204,11 @@ public class ComDefaultVO implements Serializable {
|
||||
private String srchKwd5_2 = "";
|
||||
|
||||
|
||||
private String searchPrsctrNm; //검사명 검색
|
||||
private String searchVntNmbr; //사건번호 검색
|
||||
private String searchReqNmbr; //의뢰번호 검색
|
||||
|
||||
|
||||
public int getBeSort() {
|
||||
return beSort;
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -78,4 +78,6 @@ public interface EgovCmmUseService {
|
||||
public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo);
|
||||
|
||||
public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam);
|
||||
|
||||
String selectCmmCodeDetailCode(ComDefaultCodeVO vo);
|
||||
}
|
||||
|
||||
@ -113,6 +113,18 @@ public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements Eg
|
||||
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 = "";
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -23,6 +23,8 @@ public interface CndtnTrgtMngService {
|
||||
|
||||
void updateDel(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
|
||||
|
||||
List<CndtnTrgtMngVO> selectDuplChk(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -49,6 +49,7 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
|
||||
private List<String> 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"
|
||||
;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -141,5 +141,9 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO {
|
||||
update("cndtnTrgtInfoMngDAO.updateDel", cndtnTrgtInfoMngVO);
|
||||
}
|
||||
|
||||
public List<CndtnTrgtMngVO> selectDuplChk(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
|
||||
return (List<CndtnTrgtMngVO>) list("cndtnTrgtInfoMngDAO.selectDuplChk", cndtnTrgtInfoMngVO);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -69,4 +69,9 @@ public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService {
|
||||
cndtnTrgtInfoMngDAO.updateDel(cndtnTrgtInfoMngVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CndtnTrgtMngVO> selectDuplChk(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
|
||||
return cndtnTrgtInfoMngDAO.selectDuplChk(cndtnTrgtInfoMngVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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 "";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -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,19 +302,35 @@ 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() + "' ";
|
||||
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
@ -534,6 +557,262 @@ 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(
|
||||
@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<CndtnTrgtMngVO> 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<CndtnTrgtMngVO> 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 경우
|
||||
// A (성인/미성년 구분), 서울중앙, 100, 23, 1
|
||||
|
||||
@ -355,6 +355,19 @@
|
||||
AND a.prcs_aplct_prd_ord_cmplt IS NULL /* 병합되지 않았다. */
|
||||
</select>
|
||||
|
||||
<!-- 기소유예 대상자 확인 STEP01 -->
|
||||
<select id="cndtnTrgtInfoMngDAO.selectDuplChk" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
|
||||
/* cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1 - step1.신청 가능한 대상이 있는지 찾는다. */
|
||||
SELECT
|
||||
<include refid="CndtnTrgtInfoMngDAO.select_column_name"/>
|
||||
FROM
|
||||
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
|
||||
WHERE
|
||||
a.trgt_nm = #trgtNm#
|
||||
AND a.d_birth = #dBirth#
|
||||
AND a.sex = #sex#
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 기소유예 대상자 확인 STEP02 -->
|
||||
<select id="cndtnTrgtInfoMngDAO.checkSspnIdtmtStep2" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
|
||||
|
||||
@ -1,10 +1,20 @@
|
||||
<?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="[%d{HH:mm:ss.SSS}] %p{length=1} %c %M %L | %m%n" />
|
||||
<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>
|
||||
|
||||
@ -0,0 +1,421 @@
|
||||
<!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"%>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : instrAsgnmPopup.jsp
|
||||
* @Description : 강사배치 팝업
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.08.09 김봉호 최초 생성
|
||||
* @author 안주영
|
||||
* @since 2022.1.8
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
|
||||
<%-- <script type="text/javascript" src="<c:url value='/js/ve/tmapJS.js'/>"></script> --%>
|
||||
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
<title>강사배치 팝업</title>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
|
||||
$(document).ready(function(){
|
||||
// ID를 alpreah_input로 가지는 곳에서 키를 누를 경우
|
||||
$("#instrNm").keydown(function(key) {
|
||||
if (key.keyCode == 13) {
|
||||
linkPage(1);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function fncPopClose(){
|
||||
self.close();
|
||||
}
|
||||
|
||||
function fncGoSearch(pageNo){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/duplChkPopup.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
|
||||
function fncInstrAsgnm(p_id) {
|
||||
$("#userId").val(p_id);
|
||||
|
||||
var data1 = new FormData(document.getElementById("createForm"));
|
||||
if(confirm("강사를 선택 하시겠습니까?")){
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/cndtnInstrAsgnmAjax.do",
|
||||
data: data1,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == 'success'){
|
||||
alert("저장 되었습니다.");
|
||||
opener.location.reload();
|
||||
fncPopClose();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 체크박스O
|
||||
function fnUpdate(){
|
||||
|
||||
var sspnIdtmtTrgtOrdList = [];
|
||||
|
||||
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
|
||||
$("input[name='chk']:checked").each(function() {
|
||||
var sspnIdtmtTrgtOrd = $(this).val();
|
||||
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrd);
|
||||
});
|
||||
|
||||
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
|
||||
if (sspnIdtmtTrgtOrdList.length === 0) {
|
||||
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
var dataToSend = {
|
||||
"sspnIdtmtTrgtOrdList": sspnIdtmtTrgtOrdList
|
||||
//, "eduStateCd" : "20"
|
||||
//, "prcsAplctPrdOrdCmplt" : $('#prcsAplctPrdOrdCmplt').val()
|
||||
, "prcsAplctPrdOrdCmplt" : $('#sspnIdtmtTrgtOrd').val()
|
||||
|
||||
};
|
||||
|
||||
|
||||
// var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do'/>";
|
||||
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateTrgtDuplAjax.do'/>";
|
||||
|
||||
if(!confirm("병합처리 진행하시겠습니까?")){
|
||||
return false;
|
||||
}
|
||||
// AJAX 호출을 통해 서버에 데이터 전송
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: url,
|
||||
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
|
||||
// contentType : 'application/json',
|
||||
dataType:'json',
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("변경 처리 되었습니다.");
|
||||
window.location.reload();
|
||||
}else{
|
||||
alert("변경 중 오류가 발생하였습니다.");
|
||||
}
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
console.error("AJAX Error:", textStatus, errorThrown);
|
||||
console.error("Response:", jqXHR.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function fn_close(){
|
||||
window.parent.location = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
|
||||
self.close();
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="area_popup supm_popup">
|
||||
<div class="cont_popup">
|
||||
<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>
|
||||
<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">
|
||||
<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: 40px">
|
||||
<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>
|
||||
<th>검사명</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${list}" varStatus="status">
|
||||
<%-- <tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
|
||||
<tr>
|
||||
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
|
||||
<%-- <c:out value='${list.prcsNm}'/> --%>
|
||||
<!-- </td> -->
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${list.eduStateCd ne 20}">
|
||||
<input name="chk"
|
||||
value="${list.sspnIdtmtTrgtOrd}" title="Check" type="checkbox"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btn_type05" onclick="fncDel('${list.sspnIdtmtTrgtOrd}'); return false;">취소</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
|
||||
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
|
||||
<c:out value="${reqPnttm }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${info.vntYear }" />형제<c:out value="${info.vntNmbr }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.cmptntAthrt }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.dBirth }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.trgtNm }" />
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="COM014" code="${list.sex }"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.reqNmbr }" />
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="VEA002" code="${list.eduStateCd }"/>
|
||||
</td>
|
||||
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
|
||||
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
|
||||
<td title="${fullAddr}">
|
||||
<c:out value="${list.addr }" />
|
||||
<c:out value="${list.addrDetail }" />
|
||||
<%-- ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} --%>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.prsctrNm }" />
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty list}">
|
||||
<tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</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>
|
||||
|
||||
</form:form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -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>
|
||||
@ -109,6 +109,19 @@
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fn_excel_upload() {
|
||||
|
||||
var form = document.excelForm;
|
||||
|
||||
// form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/duplChkPopup.do'/>";
|
||||
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/excelUploadPopup.do'/>";
|
||||
|
||||
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 @@
|
||||
<title>교육과정관리</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="excelForm" name="excelForm" method="post" >
|
||||
</form>
|
||||
<form id="detailForm" name="detailForm" method="post" >
|
||||
<input type="hidden" id="sspnIdtmtTrgtOrd" name="sspnIdtmtTrgtOrd" value="" />
|
||||
</form>
|
||||
@ -422,6 +437,7 @@
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
<button type="button" class="btn_type04" onclick="fn_excel_upload(); return false;">엑셀 업로드</button>
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
|
||||
@ -322,6 +322,12 @@
|
||||
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||
</div>
|
||||
<div class="util_left">
|
||||
<p>구분6</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<input type="text" id="searchPrsctrNm" name="searchPrsctrNm" placeholder="검사명을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchPrsctrNm}'/>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list_top_1">
|
||||
@ -330,9 +336,12 @@
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<input type="text" id="searchKeywordTo" name="searchKeywordTo" placeholder="생년월일을 입력해 주세요.19800102" title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeywordTo}'/>">
|
||||
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
|
||||
|
||||
|
||||
</div>
|
||||
<div class="util_left">
|
||||
<p>구분7</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<input type="text" id="searchVntNmbr" name="searchVntNmbr" placeholder="사건번호를 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchVntNmbr}'/>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -351,6 +360,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="util_left">
|
||||
<p>구분8</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<input type="text" id="searchReqNmbr" name="searchReqNmbr" placeholder="의뢰번호를 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchReqNmbr}'/>">
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_top_2">
|
||||
<div class="util_left">
|
||||
@ -375,7 +390,7 @@
|
||||
<option value="${list.code }" <c:if test="${info.cmptntAthrt==list.code }">selected="selected"</c:if> >${list.codeNm }</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||
<!-- <button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_top_2">
|
||||
|
||||
@ -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,6 +89,57 @@
|
||||
}
|
||||
}
|
||||
|
||||
// 중복 대상자가 있는지 확인
|
||||
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 = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/duplChkPopup.do'/>";
|
||||
|
||||
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 @@
|
||||
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||
</form:form>
|
||||
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
|
||||
<input type="hidden" name="sspnIdtmtTrgtOrd" id="sspnIdtmtTrgtOrd" value="" />
|
||||
|
||||
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
@ -249,10 +249,10 @@
|
||||
<div class="tit_box">
|
||||
<i class="tit_box_icon1"></i>
|
||||
<div>
|
||||
<p>찾아가는 저작권 교육</p>
|
||||
<p>기소유예</p>
|
||||
<span>
|
||||
‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>공공기관, 대학, 문화예술단체 등을 </span>대상으로 무료로 강의를 지원하는 맞춤형 교육 서비스입니다.
|
||||
<p style="font-weight:400;color:red;font-size:17px;padding-top:10px;">담당자 연락처) 02-2669-0083</p>
|
||||
저작권 침해사범 중 검찰청으로부터 교육조건부 기소유예 처분을 받아 교육 의뢰된 자
|
||||
<a href="${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduFAQList.do"><p style="font-weight:400;color:red;font-size:17px;padding-top:10px;">문의사항 : 상단 교육문의 활용</p></a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -88,7 +88,7 @@
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" class="btnType08" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do" />'">교육신청</button>
|
||||
<button type="button" class="btnType08" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/eduAplctList.do" />'">교육신청</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user