Merge branch 'advc' of http://yongjoon.cho@vcs.iten.co.kr:9999/hylee/offedu into advc
This commit is contained in:
commit
0d1f1558b5
@ -228,4 +228,21 @@ public final class DateUtil {
|
|||||||
LocalDate date = LocalDate.parse(p_date, formatter);
|
LocalDate date = LocalDate.parse(p_date, formatter);
|
||||||
return date;
|
return date;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 2023 => 23
|
||||||
|
public static String getStringToLocalDateYear() {
|
||||||
|
// 현재 날짜를 얻기
|
||||||
|
LocalDate currentDate = LocalDate.now();
|
||||||
|
// 올해의 년도를 얻기
|
||||||
|
int currentYear = currentDate.getYear();
|
||||||
|
// 년도를 String으로 변환
|
||||||
|
String yearString = Integer.toString(currentYear);
|
||||||
|
// 마지막 두 자리 추출
|
||||||
|
String lastTwoDigits = yearString.substring(yearString.length() - 2);
|
||||||
|
|
||||||
|
// 출력
|
||||||
|
return lastTwoDigits;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -600,6 +600,7 @@ public class EgovLoginController {
|
|||||||
|
|
||||||
// 1. 로그인 처리
|
// 1. 로그인 처리
|
||||||
LoginVO resultVO = loginService.actionLogin(loginVO);
|
LoginVO resultVO = loginService.actionLogin(loginVO);
|
||||||
|
System.out.println("UserWork :: "+resultVO.getUserWork());
|
||||||
|
|
||||||
if (loginService.getUserAuth(resultVO) != null) {
|
if (loginService.getUserAuth(resultVO) != null) {
|
||||||
resultVO.setAuthority(loginService.getUserAuth(resultVO).getAuthority());
|
resultVO.setAuthority(loginService.getUserAuth(resultVO).getAuthority());
|
||||||
@ -665,7 +666,7 @@ public class EgovLoginController {
|
|||||||
// 2. spring security 연동
|
// 2. spring security 연동
|
||||||
|
|
||||||
request.getSession().setAttribute("LoginVO", resultVO);
|
request.getSession().setAttribute("LoginVO", resultVO);
|
||||||
|
System.out.println("===============!==============");
|
||||||
UsernamePasswordAuthenticationFilter springSecurity = new UsernamePasswordAuthenticationFilter();
|
UsernamePasswordAuthenticationFilter springSecurity = new UsernamePasswordAuthenticationFilter();
|
||||||
|
|
||||||
ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
|
ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
|
||||||
@ -1697,6 +1698,8 @@ public class EgovLoginController {
|
|||||||
return "redirect:/web/main/mainPage.do";
|
return "redirect:/web/main/mainPage.do";
|
||||||
} else if ("ROLE_VISIT".equals(user.getAuthority())) {
|
} else if ("ROLE_VISIT".equals(user.getAuthority())) {
|
||||||
return "redirect:/cmm/main/mainPage.do";
|
return "redirect:/cmm/main/mainPage.do";
|
||||||
|
} else if ("ROLE_ADR_JRSDC".equals(user.getAuthority())) {
|
||||||
|
return "redirect:/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do";
|
||||||
} else if ("ROLE_USER_MEMBER".equals(user.getAuthority())) {
|
} else if ("ROLE_USER_MEMBER".equals(user.getAuthority())) {
|
||||||
System.out.println("비정상적인 사용자 redirect 임");
|
System.out.println("비정상적인 사용자 redirect 임");
|
||||||
return "redirect:/web/main/mainPage.do";
|
return "redirect:/web/main/mainPage.do";
|
||||||
|
|||||||
@ -527,6 +527,7 @@ public class EgovUserManageController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//관리자등록일 경우
|
//관리자등록일 경우
|
||||||
|
System.out.println("userManageVO.getGnrlUser() :: "+ userManageVO.getGnrlUser());
|
||||||
if(userManageVO.getGnrlUser().equals("N")) {
|
if(userManageVO.getGnrlUser().equals("N")) {
|
||||||
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
|
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
|
||||||
return redirectUrlMaker.getRedirectUrl();
|
return redirectUrlMaker.getRedirectUrl();
|
||||||
|
|||||||
@ -15,6 +15,8 @@ public interface CndtnTrgtMngService {
|
|||||||
|
|
||||||
void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO);
|
void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO);
|
||||||
|
|
||||||
|
int findCntreqNmber(String reqNmbrTemp);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -35,9 +35,11 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
|
|||||||
private String cmptntAthrt; // 관할청
|
private String cmptntAthrt; // 관할청
|
||||||
private String sex; // 성별
|
private String sex; // 성별
|
||||||
private String reqNmbr; // 의뢰번호
|
private String reqNmbr; // 의뢰번호
|
||||||
|
private String reqNmbrTemp; // 의뢰번호
|
||||||
private String prsctrNm; // 검사성명
|
private String prsctrNm; // 검사성명
|
||||||
private String reqStateCd; // 의뢰상태코드
|
private String reqStateCd; // 의뢰상태코드
|
||||||
private String prcsAplctPrdOrdCmplt;// 중복확인을 위한 신청강의 PK
|
private String prcsAplctPrdOrdCmplt;// 중복확인을 위한 신청강의 PK
|
||||||
|
private String atchFileId;// 첨부파일 ID
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -165,6 +167,12 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
|
|||||||
public void setReqNmbr(String reqNmbr) {
|
public void setReqNmbr(String reqNmbr) {
|
||||||
this.reqNmbr = reqNmbr;
|
this.reqNmbr = reqNmbr;
|
||||||
}
|
}
|
||||||
|
public String getReqNmbrTemp() {
|
||||||
|
return reqNmbrTemp;
|
||||||
|
}
|
||||||
|
public void setReqNmbrTemp(String reqNmbrTemp) {
|
||||||
|
this.reqNmbrTemp = reqNmbrTemp;
|
||||||
|
}
|
||||||
public String getPrsctrNm() {
|
public String getPrsctrNm() {
|
||||||
return prsctrNm;
|
return prsctrNm;
|
||||||
}
|
}
|
||||||
@ -183,6 +191,12 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
|
|||||||
public void setPrcsAplctPrdOrdCmplt(String prcsAplctPrdOrdCmplt) {
|
public void setPrcsAplctPrdOrdCmplt(String prcsAplctPrdOrdCmplt) {
|
||||||
this.prcsAplctPrdOrdCmplt = prcsAplctPrdOrdCmplt;
|
this.prcsAplctPrdOrdCmplt = prcsAplctPrdOrdCmplt;
|
||||||
}
|
}
|
||||||
|
public String getAtchFileId() {
|
||||||
|
return atchFileId;
|
||||||
|
}
|
||||||
|
public void setAtchFileId(String atchFileId) {
|
||||||
|
this.atchFileId = atchFileId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -121,5 +121,9 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO {
|
|||||||
return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd", cndtnTrgtInfoMngVO);
|
return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd", cndtnTrgtInfoMngVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int findCntreqNmber(String reqNmbrTemp) {
|
||||||
|
return (int) select("cndtnTrgtInfoMngDAO.findCntreqNmber", reqNmbrTemp);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,6 +53,11 @@ public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService {
|
|||||||
cndtnTrgtInfoMngDAO.updateUserId(cndtnTrgtMngVO);
|
cndtnTrgtInfoMngDAO.updateUserId(cndtnTrgtMngVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int findCntreqNmber(String reqNmbrTemp) {
|
||||||
|
return cndtnTrgtInfoMngDAO.findCntreqNmber(reqNmbrTemp);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
//C
|
//C
|
||||||
public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
|
public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
|
||||||
|
|||||||
@ -1,10 +1,14 @@
|
|||||||
package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.web;
|
package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.web;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.Period;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@ -13,12 +17,17 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.ui.ModelMap;
|
import org.springframework.ui.ModelMap;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||||
import kcc.com.cmm.LoginVO;
|
import kcc.com.cmm.LoginVO;
|
||||||
|
import kcc.com.cmm.service.EgovFileMngService;
|
||||||
|
import kcc.com.cmm.service.FileVO;
|
||||||
|
import kcc.com.cmm.util.DateUtil;
|
||||||
import kcc.com.cmm.util.StringUtil;
|
import kcc.com.cmm.util.StringUtil;
|
||||||
|
import kcc.com.utl.user.service.CheckFileUtil;
|
||||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
||||||
@ -85,6 +94,18 @@ public class CndtnTrgtMngController {
|
|||||||
//과정차시 관리
|
//과정차시 관리
|
||||||
@Resource(name = "vEPrcsAplctPrdService")
|
@Resource(name = "vEPrcsAplctPrdService")
|
||||||
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
|
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
|
||||||
|
|
||||||
|
|
||||||
|
//파일 체크 util
|
||||||
|
@Resource(name = "checkFileUtil")
|
||||||
|
private CheckFileUtil checkFileUtil;
|
||||||
|
|
||||||
|
|
||||||
|
//파일정보의 관리
|
||||||
|
@Resource(name = "EgovFileMngService")
|
||||||
|
private EgovFileMngService fileService;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
// 교육신청 서비스단
|
// 교육신청 서비스단
|
||||||
@ -133,6 +154,95 @@ public class CndtnTrgtMngController {
|
|||||||
|
|
||||||
//로그인 처리====================================
|
//로그인 처리====================================
|
||||||
//로그인 정보 가져오기
|
//로그인 정보 가져오기
|
||||||
|
// LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
|
||||||
|
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||||
|
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
String userWork = this.getUserWork(request);
|
||||||
|
cndtnTrgtInfoMngVO.setSearchCondition(userWork);
|
||||||
|
|
||||||
|
//1.pageing step1
|
||||||
|
PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO);
|
||||||
|
|
||||||
|
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
|
||||||
|
//paginationInfo.setRecordCountPerPage(10000);
|
||||||
|
|
||||||
|
//2. pageing step2
|
||||||
|
cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo);
|
||||||
|
|
||||||
|
//검색 조회
|
||||||
|
if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){
|
||||||
|
|
||||||
|
|
||||||
|
String selectCondition = "";
|
||||||
|
String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus();
|
||||||
|
|
||||||
|
selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')";
|
||||||
|
cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// List<CndtnTrgtInfoMngVO> cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
|
||||||
|
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = null;
|
||||||
|
try {
|
||||||
|
|
||||||
|
cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
// TODO: handle exception
|
||||||
|
}
|
||||||
|
|
||||||
|
//3.pageing step3
|
||||||
|
paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo);
|
||||||
|
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
|
||||||
|
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("list", cndtnTrgtInfoMngVOList);
|
||||||
|
|
||||||
|
return "oprtn/cndtnSspnIdtmt/trgtList";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @methodName : getUserWork
|
||||||
|
* @author : 이호영
|
||||||
|
* @date : 2023.11.07
|
||||||
|
* @description : 사용자 권한이 관할청 담당자일때 userWork로 관할 가져오기
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private String getUserWork(HttpServletRequest request) {
|
||||||
|
|
||||||
|
String userWork = "";
|
||||||
|
HttpSession session = request.getSession();
|
||||||
|
LoginVO loginVO = (LoginVO) session.getAttribute("LoginVO");
|
||||||
|
String authority = loginVO.getAuthority();
|
||||||
|
// 관할청 담당자일때
|
||||||
|
if("ROLE_ADR_JRSDC".equals(authority)) {
|
||||||
|
userWork = loginVO.getUserWork();
|
||||||
|
}
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return userWork;
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngList.do")
|
||||||
|
public String trgtMngList(
|
||||||
|
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
||||||
|
, ModelMap model
|
||||||
|
, HttpServletRequest request
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
@ -183,7 +293,7 @@ public class CndtnTrgtMngController {
|
|||||||
//대상 리스트, 페이징 정보 전달
|
//대상 리스트, 페이징 정보 전달
|
||||||
model.addAttribute("list", cndtnTrgtInfoMngVOList);
|
model.addAttribute("list", cndtnTrgtInfoMngVOList);
|
||||||
|
|
||||||
return "oprtn/cndtnSspnIdtmt/trgtList";
|
return "oprtn/cndtnSspnIdtmt/trgtMngList";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -262,6 +372,7 @@ public class CndtnTrgtMngController {
|
|||||||
public String cndtnEduPrcsMngReg(
|
public String cndtnEduPrcsMngReg(
|
||||||
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
||||||
, ModelMap model
|
, ModelMap model
|
||||||
|
, HttpServletRequest request
|
||||||
) throws Exception {
|
) throws Exception {
|
||||||
|
|
||||||
//로그인 처리====================================
|
//로그인 처리====================================
|
||||||
@ -272,6 +383,8 @@ public class CndtnTrgtMngController {
|
|||||||
|
|
||||||
//로그인 처리====================================
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
String userWork = this.getUserWork(request);
|
||||||
|
model.addAttribute("userWork", userWork);
|
||||||
|
|
||||||
return "oprtn/cndtnSspnIdtmt/trgtReg";
|
return "oprtn/cndtnSspnIdtmt/trgtReg";
|
||||||
}
|
}
|
||||||
@ -283,8 +396,8 @@ public class CndtnTrgtMngController {
|
|||||||
public ModelAndView cndtnEduPrcsMngRegAjax(
|
public ModelAndView cndtnEduPrcsMngRegAjax(
|
||||||
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
||||||
, ModelMap model
|
, ModelMap model
|
||||||
//, RedirectAttributes redirectAttributes
|
|
||||||
, HttpServletRequest request
|
, HttpServletRequest request
|
||||||
|
, final MultipartHttpServletRequest multiRequest
|
||||||
) throws Exception {
|
) throws Exception {
|
||||||
|
|
||||||
ModelAndView modelAndView = new ModelAndView();
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
@ -305,12 +418,35 @@ public class CndtnTrgtMngController {
|
|||||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
|
||||||
|
//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 = checkFileUtil.fileValCheckNdbInsert(
|
||||||
|
multiRequest, modelAndView
|
||||||
|
, "APLCT_" //file_name_prefix
|
||||||
|
, s_file_exts
|
||||||
|
, i_limit_size
|
||||||
|
, i_file_limit
|
||||||
|
); //EXT, MB size and ea
|
||||||
|
|
||||||
|
if ("ERROR".equals(s_scholSealAtchFileId)) return modelAndView;
|
||||||
|
|
||||||
|
|
||||||
|
// 사건번호
|
||||||
|
// 형식 : - 예시로 A-서울중앙-100-23-1 경우
|
||||||
|
// A (성인/미성년 구분), 서울중앙, 100, 23, 1
|
||||||
|
// 성인 A / 미성년 Y, 검찰청명, 검찰청 고유번호, 연도, 접수번호
|
||||||
|
|
||||||
|
cndtnTrgtInfoMngVO.setReqNmbr(this.getReqNmbr(cndtnTrgtInfoMngVO));
|
||||||
|
|
||||||
cndtnTrgtInfoMngVO.setSspnIdtmtTrgtOrd(trgtOrdService.getNextStringId());
|
cndtnTrgtInfoMngVO.setSspnIdtmtTrgtOrd(trgtOrdService.getNextStringId());
|
||||||
|
cndtnTrgtInfoMngVO.setAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일
|
||||||
cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||||
// vEPrcsDetailVO.setPrcsOrd(prcsOrd);
|
|
||||||
// vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
|
||||||
// vEPrcsDetailVO.setUseYn("Y");
|
|
||||||
// vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
|
||||||
cndtnTrgtInfoMngService.insert(cndtnTrgtInfoMngVO);
|
cndtnTrgtInfoMngService.insert(cndtnTrgtInfoMngVO);
|
||||||
|
|
||||||
|
|
||||||
@ -322,6 +458,48 @@ public class CndtnTrgtMngController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 사건번호
|
||||||
|
// 형식 : - 예시로 A-서울중앙-100-23-1 경우
|
||||||
|
// A (성인/미성년 구분), 서울중앙, 100, 23, 1
|
||||||
|
// 성인 A / 미성년 Y, 검찰청명, 검찰청 고유번호, 연도, 접수번호
|
||||||
|
private String getReqNmbr(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
|
||||||
|
|
||||||
|
//성인 미성년 구분
|
||||||
|
String adultWhether = getIsAdultInKorea(cndtnTrgtInfoMngVO.getdBirth());
|
||||||
|
String reqNmbrTemp = adultWhether+"-"+cndtnTrgtInfoMngVO.getCmptntAthrt()+"-"+LocalDate.now().getYear()+"-";
|
||||||
|
|
||||||
|
int cnt = cndtnTrgtInfoMngService.findCntreqNmber("%" + reqNmbrTemp + "%");
|
||||||
|
return adultWhether+"-"+cndtnTrgtInfoMngVO.getCmptntAthrt()+"-"+DateUtil.getStringToLocalDateYear()+"-"+(cnt+1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @methodName : getIsAdultInKorea
|
||||||
|
* @author : 이호영
|
||||||
|
* @date : 2023.11.07
|
||||||
|
* @description : 성인이면 A, 미성년이면 Y
|
||||||
|
* @param birthDateString
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getIsAdultInKorea(String birthDateString) {
|
||||||
|
String returnData = "Y";
|
||||||
|
// 생년월일 포맷 정의 (예시: "yyyy-MM-dd")
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||||
|
|
||||||
|
// 문자열로부터 LocalDate 객체 생성
|
||||||
|
LocalDate birthDate = LocalDate.parse(birthDateString, formatter);
|
||||||
|
|
||||||
|
// 현재 날짜 얻기
|
||||||
|
LocalDate now = LocalDate.now();
|
||||||
|
|
||||||
|
// 생년월일과 현재 날짜 사이의 기간 계산
|
||||||
|
Period period = Period.between(birthDate, now);
|
||||||
|
if(period.getYears() >= 19) {
|
||||||
|
returnData="A";
|
||||||
|
}
|
||||||
|
// 만 나이가 19세 이상인지 확인
|
||||||
|
return returnData;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 조건부기소유예과정 등록
|
* 조건부기소유예과정 등록
|
||||||
*/
|
*/
|
||||||
@ -331,6 +509,7 @@ public class CndtnTrgtMngController {
|
|||||||
, ModelMap model
|
, ModelMap model
|
||||||
//, RedirectAttributes redirectAttributes
|
//, RedirectAttributes redirectAttributes
|
||||||
, HttpServletRequest request
|
, HttpServletRequest request
|
||||||
|
, final MultipartHttpServletRequest multiRequest
|
||||||
) throws Exception {
|
) throws Exception {
|
||||||
|
|
||||||
ModelAndView modelAndView = new ModelAndView();
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
@ -351,6 +530,56 @@ public class CndtnTrgtMngController {
|
|||||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
|
||||||
|
//step2.첨부파일 체크 후 저장 하기
|
||||||
|
String s_scholSealAtchFileId = "";
|
||||||
|
s_scholSealAtchFileId = cndtnTrgtInfoMngVO.getAtchFileId();
|
||||||
|
|
||||||
|
//DB에서 실제 첨부파일 존재 여부 확인
|
||||||
|
FileVO fileVO = new FileVO();
|
||||||
|
fileVO.setAtchFileId(s_scholSealAtchFileId);
|
||||||
|
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||||
|
if (result.size()<=0) {
|
||||||
|
s_scholSealAtchFileId = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//step3.파일 처리====================================
|
||||||
|
//파일 정상 처리 여부와 첨부 파일 정보
|
||||||
|
//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
|
||||||
|
|
||||||
|
|
||||||
|
//기존 파일 존재 여부에 따라서 insert or update 처리
|
||||||
|
if ("".equals(s_scholSealAtchFileId)) {
|
||||||
|
//atchFileId = this.fileValCheckNdbInsert(multiRequest, modelAndView, checkFileUtil.getS_exts(), i_limit_size, i_file_limit); //EXT, MB size and ea
|
||||||
|
s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert(
|
||||||
|
multiRequest, modelAndView
|
||||||
|
, "APLCT_"
|
||||||
|
, s_file_exts
|
||||||
|
, i_limit_size
|
||||||
|
, i_file_limit
|
||||||
|
); //EXT, MB size and ea
|
||||||
|
cndtnTrgtInfoMngVO.setAtchFileId(s_scholSealAtchFileId);
|
||||||
|
}else {
|
||||||
|
//atchFileId = this.fileValCheckNdbUpdate(multiRequest, modelAndView, checkFileUtil.getS_exts(), i_limit_size, i_file_limit, atchFileId); //EXT, MB size and ea
|
||||||
|
s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbUpdate(
|
||||||
|
multiRequest, modelAndView
|
||||||
|
, "APLCT_"
|
||||||
|
, s_file_exts
|
||||||
|
, i_limit_size
|
||||||
|
, i_file_limit
|
||||||
|
, s_scholSealAtchFileId
|
||||||
|
); //EXT, MB size and ea
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("ERROR".equals(s_scholSealAtchFileId)) return modelAndView;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cndtnTrgtInfoMngVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
|
cndtnTrgtInfoMngVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
|
||||||
cndtnTrgtInfoMngService.update(cndtnTrgtInfoMngVO);
|
cndtnTrgtInfoMngService.update(cndtnTrgtInfoMngVO);
|
||||||
|
|
||||||
@ -363,7 +592,7 @@ public class CndtnTrgtMngController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 조건부기소유예과정 상세화면
|
* 대상자목록
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtDetail.do")
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtDetail.do")
|
||||||
public String trgtDetail(
|
public String trgtDetail(
|
||||||
@ -383,10 +612,49 @@ public class CndtnTrgtMngController {
|
|||||||
//과정 조회
|
//과정 조회
|
||||||
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
|
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
|
||||||
model.addAttribute("info", cndtnTrgtInfoVO);
|
model.addAttribute("info", cndtnTrgtInfoVO);
|
||||||
//세부과정 목록 조회
|
|
||||||
|
|
||||||
|
//파일 정보 가져오기
|
||||||
|
FileVO fileVO = new FileVO();
|
||||||
|
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
|
||||||
|
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||||
|
model.addAttribute("fileList", result);
|
||||||
|
model.addAttribute("fileListCnt", result.size());
|
||||||
|
|
||||||
return "oprtn/cndtnSspnIdtmt/trgtDetail";
|
return "oprtn/cndtnSspnIdtmt/trgtDetail";
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 대상자목록
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngDetail.do")
|
||||||
|
public String trgtMngDetail(
|
||||||
|
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
||||||
|
, ModelMap model
|
||||||
|
, HttpServletRequest request
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
//과정 조회
|
||||||
|
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
|
||||||
|
model.addAttribute("info", cndtnTrgtInfoVO);
|
||||||
|
|
||||||
|
|
||||||
|
//파일 정보 가져오기
|
||||||
|
FileVO fileVO = new FileVO();
|
||||||
|
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
|
||||||
|
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||||
|
model.addAttribute("fileList", result);
|
||||||
|
model.addAttribute("fileListCnt", result.size());
|
||||||
|
|
||||||
|
return "oprtn/cndtnSspnIdtmt/trgtMngDetail";
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 조건부기소유예과정 수료자 상세화면
|
* 조건부기소유예과정 수료자 상세화면
|
||||||
*/
|
*/
|
||||||
@ -449,10 +717,49 @@ public class CndtnTrgtMngController {
|
|||||||
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
|
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
|
||||||
model.addAttribute("info", cndtnTrgtInfoVO);
|
model.addAttribute("info", cndtnTrgtInfoVO);
|
||||||
|
|
||||||
|
|
||||||
|
//파일 정보 가져오기
|
||||||
|
FileVO fileVO = new FileVO();
|
||||||
|
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
|
||||||
|
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||||
|
model.addAttribute("fileList", result);
|
||||||
|
model.addAttribute("fileListCnt", result.size());
|
||||||
|
|
||||||
return "oprtn/cndtnSspnIdtmt/trgtMdfy";
|
return "oprtn/cndtnSspnIdtmt/trgtMdfy";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngMdfy.do")
|
||||||
|
public String trgtMngMdfy(
|
||||||
|
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
||||||
|
, ModelMap model
|
||||||
|
, HttpServletRequest request
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
//과정 조회
|
||||||
|
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
|
||||||
|
model.addAttribute("info", cndtnTrgtInfoVO);
|
||||||
|
|
||||||
|
|
||||||
|
//파일 정보 가져오기
|
||||||
|
FileVO fileVO = new FileVO();
|
||||||
|
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
|
||||||
|
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||||
|
model.addAttribute("fileList", result);
|
||||||
|
model.addAttribute("fileListCnt", result.size());
|
||||||
|
|
||||||
|
return "oprtn/cndtnSspnIdtmt/trgtMngMdfy";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -67,7 +67,7 @@
|
|||||||
, #authorNm#
|
, #authorNm#
|
||||||
, #authorDc#
|
, #authorDc#
|
||||||
, (SELECT CAST(MAX(sort_num)+1 AS VARCHAR(2)) FROM LETTNAUTHORINFO)
|
, (SELECT CAST(MAX(sort_num)+1 AS VARCHAR(2)) FROM LETTNAUTHORINFO)
|
||||||
, DATE_FORMAT(NOW(), '%Y-%m-%d'))
|
, TO_CHAR(SYSDATE, 'YYYY-MM-DD'))
|
||||||
]]>
|
]]>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|||||||
@ -40,7 +40,6 @@
|
|||||||
, mber_sttus AS emplyrSttusCode
|
, mber_sttus AS emplyrSttusCode
|
||||||
, mbtlnum AS membCelnum
|
, mbtlnum AS membCelnum
|
||||||
, birth_day AS membBirth
|
, birth_day AS membBirth
|
||||||
|
|
||||||
FROM lettngnrlmber a
|
FROM lettngnrlmber a
|
||||||
WHERE mber_id = #id#
|
WHERE mber_id = #id#
|
||||||
AND PASSWORD = #password#
|
AND PASSWORD = #password#
|
||||||
|
|||||||
@ -20,11 +20,13 @@
|
|||||||
<result property="emplyrSttusCode" column="emplyrSttusCode" columnIndex="10"/>
|
<result property="emplyrSttusCode" column="emplyrSttusCode" columnIndex="10"/>
|
||||||
<result property="membCelnum" column="membCelnum" columnIndex="11"/>
|
<result property="membCelnum" column="membCelnum" columnIndex="11"/>
|
||||||
<result property="membBirth" column="membBirth" columnIndex="12"/>
|
<result property="membBirth" column="membBirth" columnIndex="12"/>
|
||||||
|
<result property="userWork" column="userWork" columnIndex="13"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
<!-- SSO용 ESNTL_ID를 이용한 로그인처리 (210818 이준호) GNR -> 일반회원, USR -> 업무담당자 -->
|
<!-- SSO용 ESNTL_ID를 이용한 로그인처리 (210818 이준호) GNR -> 일반회원, USR -> 업무담당자 -->
|
||||||
<select id="loginDAO.actionLogin" resultMap="login">
|
<select id="loginDAO.actionLogin" resultMap="login">
|
||||||
|
/*loginDAO.actionLogin*/
|
||||||
<!-- 일반회원 -->
|
<!-- 일반회원 -->
|
||||||
<isNotNull property="userSe">
|
<isNotNull property="userSe">
|
||||||
<isEqual property="userSe" compareValue="GNR">
|
<isEqual property="userSe" compareValue="GNR">
|
||||||
@ -62,6 +64,7 @@
|
|||||||
, EMPLYR_STTUS_CODE AS emplyrSttusCode
|
, EMPLYR_STTUS_CODE AS emplyrSttusCode
|
||||||
, mbtlnum AS membCelnum
|
, mbtlnum AS membCelnum
|
||||||
, '' AS membBirth
|
, '' AS membBirth
|
||||||
|
, user_work AS userWork
|
||||||
FROM LETTNEMPLYRINFO a
|
FROM LETTNEMPLYRINFO a
|
||||||
WHERE EMPLYR_ID = #id#
|
WHERE EMPLYR_ID = #id#
|
||||||
AND PASSWORD = #password#
|
AND PASSWORD = #password#
|
||||||
@ -74,6 +77,7 @@
|
|||||||
|
|
||||||
<!-- 개발자 아이디 선택용 -->
|
<!-- 개발자 아이디 선택용 -->
|
||||||
<select id="loginDAO.actionLoginDev" resultMap="login">
|
<select id="loginDAO.actionLoginDev" resultMap="login">
|
||||||
|
/*loginDAO.actionLoginDev*/
|
||||||
<!-- 일반회원 loginDAO.actionLoginDev -->
|
<!-- 일반회원 loginDAO.actionLoginDev -->
|
||||||
<isNotNull property="userSe">
|
<isNotNull property="userSe">
|
||||||
<isEqual property="userSe" compareValue="GNR">
|
<isEqual property="userSe" compareValue="GNR">
|
||||||
@ -110,6 +114,7 @@
|
|||||||
, EMPLYR_STTUS_CODE AS emplyrSttusCode
|
, EMPLYR_STTUS_CODE AS emplyrSttusCode
|
||||||
, mbtlnum AS membCelnum
|
, mbtlnum AS membCelnum
|
||||||
, '' AS membBirth
|
, '' AS membBirth
|
||||||
|
, user_work AS userWork
|
||||||
FROM LETTNEMPLYRINFO a
|
FROM LETTNEMPLYRINFO a
|
||||||
WHERE EMPLYR_ID = #id#
|
WHERE EMPLYR_ID = #id#
|
||||||
<isEmpty property="statusAll">
|
<isEmpty property="statusAll">
|
||||||
@ -121,6 +126,7 @@
|
|||||||
|
|
||||||
<!-- e배움터 연동 후 mber_seq가 아닌 mber_id로 로그인 -->
|
<!-- e배움터 연동 후 mber_seq가 아닌 mber_id로 로그인 -->
|
||||||
<select id="loginDAO.actionLoginMberId" resultMap="login">
|
<select id="loginDAO.actionLoginMberId" resultMap="login">
|
||||||
|
/*loginDAO.actionLoginMberId*/
|
||||||
<!-- 일반회원 loginDAO.actionLoginDev -->
|
<!-- 일반회원 loginDAO.actionLoginDev -->
|
||||||
<isNotNull property="userSe">
|
<isNotNull property="userSe">
|
||||||
<isEqual property="userSe" compareValue="GNR">
|
<isEqual property="userSe" compareValue="GNR">
|
||||||
@ -157,6 +163,7 @@
|
|||||||
, EMPLYR_STTUS_CODE AS emplyrSttusCode
|
, EMPLYR_STTUS_CODE AS emplyrSttusCode
|
||||||
, mbtlnum AS membCelnum
|
, mbtlnum AS membCelnum
|
||||||
, '' AS membBirth
|
, '' AS membBirth
|
||||||
|
, user_work AS userWork
|
||||||
FROM LETTNEMPLYRINFO a
|
FROM LETTNEMPLYRINFO a
|
||||||
WHERE EMPLYR_ID = #id#
|
WHERE EMPLYR_ID = #id#
|
||||||
<isEmpty property="statusAll">
|
<isEmpty property="statusAll">
|
||||||
|
|||||||
@ -35,6 +35,7 @@
|
|||||||
, req_nmbr
|
, req_nmbr
|
||||||
, prsctr_nm
|
, prsctr_nm
|
||||||
, req_state_cd
|
, req_state_cd
|
||||||
|
, atch_file_id
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<!-- 조회용 공통 컬럼 명 -->
|
<!-- 조회용 공통 컬럼 명 -->
|
||||||
@ -62,6 +63,7 @@
|
|||||||
, a.req_nmbr AS reqNmbr
|
, a.req_nmbr AS reqNmbr
|
||||||
, a.prsctr_nm AS prsctrNm
|
, a.prsctr_nm AS prsctrNm
|
||||||
, a.req_state_cd AS reqStateCd
|
, a.req_state_cd AS reqStateCd
|
||||||
|
, a.atch_file_id AS atchFileId
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
@ -93,6 +95,7 @@
|
|||||||
, #reqNmbr#
|
, #reqNmbr#
|
||||||
, #prsctrNm#
|
, #prsctrNm#
|
||||||
, #reqStateCd#
|
, #reqStateCd#
|
||||||
|
, #atchFileId#
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@ -132,10 +135,20 @@
|
|||||||
, req_nmbr = #reqNmbr#
|
, req_nmbr = #reqNmbr#
|
||||||
, prsctr_nm = #prsctrNm#
|
, prsctr_nm = #prsctrNm#
|
||||||
, req_state_cd = #reqStateCd#
|
, req_state_cd = #reqStateCd#
|
||||||
|
, atch_file_id = #atchFileId#
|
||||||
WHERE
|
WHERE
|
||||||
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
|
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<select id="cndtnTrgtInfoMngDAO.findCntreqNmber" resultClass="int" parameterClass="String">
|
||||||
|
SELECT
|
||||||
|
count(*)
|
||||||
|
FROM
|
||||||
|
vea_sspn_idmt_trgt
|
||||||
|
WHERE
|
||||||
|
req_nmbr LIKE #reqNmbrTemp# ;
|
||||||
|
|
||||||
|
</select>
|
||||||
<!-- 대상자 조회 후 대상자에 로그인 ID update -->
|
<!-- 대상자 조회 후 대상자에 로그인 ID update -->
|
||||||
<update id="cndtnTrgtInfoMngDAO.updateUserId" parameterClass="CndtnPrcsInfoMngVO">
|
<update id="cndtnTrgtInfoMngDAO.updateUserId" parameterClass="CndtnPrcsInfoMngVO">
|
||||||
/* cndtnTrgtInfoMngDAO.updateSspnIdtmtTrgtOrd */
|
/* cndtnTrgtInfoMngDAO.updateSspnIdtmtTrgtOrd */
|
||||||
@ -164,6 +177,11 @@
|
|||||||
AND a.EDU_STATE_CD = #eduStateCd#
|
AND a.EDU_STATE_CD = #eduStateCd#
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
|
|
||||||
|
/* 관할청 담당자를 위한 조건 */
|
||||||
|
<isNotEmpty property="searchCondition">
|
||||||
|
AND a.CMPTNT_ATHRT = #searchCondition#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
/* 수료자 중복 리스트를 위한 조건문 */
|
/* 수료자 중복 리스트를 위한 조건문 */
|
||||||
<isNotEmpty property="trgtNm">
|
<isNotEmpty property="trgtNm">
|
||||||
AND a.TRGT_NM = #trgtNm#
|
AND a.TRGT_NM = #trgtNm#
|
||||||
|
|||||||
@ -950,7 +950,7 @@
|
|||||||
,LAST_UPDUSR_ID = #lastUpdusrId#
|
,LAST_UPDUSR_ID = #lastUpdusrId#
|
||||||
<isNotEmpty property="sbmtYn">
|
<isNotEmpty property="sbmtYn">
|
||||||
, SBMT_YN = #sbmtYn#
|
, SBMT_YN = #sbmtYn#
|
||||||
, SBMT_PNTTM = IF(#sbmtYn# = 'Y', SYSDATE, NULL)
|
, SBMT_PNTTM = CASE WHEN #sbmtYn# = 'Y' THEN SYSDATE ELSE NULL END
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
<isNotEmpty property="aprvlCd">
|
<isNotEmpty property="aprvlCd">
|
||||||
, APRVL_CD = #aprvlCd#
|
, APRVL_CD = #aprvlCd#
|
||||||
|
|||||||
@ -107,7 +107,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th scope="row">관할청</th>
|
<th scope="row">관할청</th>
|
||||||
<td>
|
<td>
|
||||||
<c:out value="${info.cmptntAthrt }" />
|
<ve:code codeId="VEA008" code="${info.cmptntAthrt }"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -170,6 +170,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>첨부파일</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||||
|
<c:param name="param_atchFileId" value="${info.atchFileId}" />
|
||||||
|
<c:param name="pdf_view" value="Y" />
|
||||||
|
</c:import>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -303,7 +303,7 @@
|
|||||||
<c:out value="${list.vntYear }" />형제<c:out value="${list.vntNmbr }" />
|
<c:out value="${list.vntYear }" />형제<c:out value="${list.vntNmbr }" />
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<c:out value="${list.cmptntAthrt }" />
|
<ve:code codeId="VEA008" code="${list.cmptntAthrt }"/>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<c:out value="${list.dBirth }" />
|
<c:out value="${list.dBirth }" />
|
||||||
@ -334,7 +334,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<c:if test="${empty list}">
|
<c:if test="${empty list}">
|
||||||
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
|
<tr><td colspan="11"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
</c:if>
|
</c:if>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@ -29,7 +29,16 @@
|
|||||||
<title>교육과정관리</title>
|
<title>교육과정관리</title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
$(document).ready(function() {
|
||||||
|
//파일첨부관련 설정들===============================================
|
||||||
|
$(".btn_type01").on('click', function(){
|
||||||
|
$("#file_temp").click();
|
||||||
|
});
|
||||||
|
|
||||||
|
//파일첨부관련 설정들===============================================
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
function addPro() {
|
function addPro() {
|
||||||
var addQuest = $(".addPro_wrap");
|
var addQuest = $(".addPro_wrap");
|
||||||
var questLen = addQuest.children("div").length;
|
var questLen = addQuest.children("div").length;
|
||||||
@ -105,10 +114,17 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
var data = new FormData(document.getElementById("createForm"));
|
var data = new FormData(document.getElementById("createForm"));
|
||||||
|
|
||||||
|
//첨부파일 등록 처리-step2
|
||||||
|
_fileForm2.forEach(function(obj, idx) {
|
||||||
|
if (obj) data.append("file"+idx, obj.fileObj);
|
||||||
|
});
|
||||||
|
|
||||||
if(confirm("수정하시겠습니까?")){
|
if(confirm("수정하시겠습니까?")){
|
||||||
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfyAjax.do'/>";
|
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfyAjax.do'/>";
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type:"POST",
|
type:"POST",
|
||||||
|
enctype: 'multipart/form-data',
|
||||||
url: url,
|
url: url,
|
||||||
data: data,
|
data: data,
|
||||||
dataType:'json',
|
dataType:'json',
|
||||||
@ -127,6 +143,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -147,7 +164,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 관할청 검사
|
// 관할청 검사
|
||||||
if($("input[name='cmptntAthrt']").val().trim() == ""){
|
if($("input[name='cmptntAthrt']").val()){
|
||||||
alert("관할청을 입력해주세요.");
|
alert("관할청을 입력해주세요.");
|
||||||
$("input[name='cmptntAthrt']").focus();
|
$("input[name='cmptntAthrt']").focus();
|
||||||
return true;
|
return true;
|
||||||
@ -181,11 +198,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 의뢰상태 검사
|
// 의뢰상태 검사
|
||||||
if($("#reqStateCd").val().trim() == ""){
|
/* if($("#reqStateCd").val().trim() == ""){
|
||||||
alert("의뢰상태를 입력해주세요.");
|
alert("의뢰상태를 입력해주세요.");
|
||||||
$("input[name='reqStateCd']").focus();
|
$("input[name='reqStateCd']").focus();
|
||||||
return true;
|
return true;
|
||||||
}
|
} */
|
||||||
|
|
||||||
// 교육상태 검사
|
// 교육상태 검사
|
||||||
/* if($("input[name='eduStateCd']").val().trim() == ""){
|
/* if($("input[name='eduStateCd']").val().trim() == ""){
|
||||||
@ -219,6 +236,39 @@
|
|||||||
listForm.submit();
|
listForm.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 파일등록 */
|
||||||
|
var _fileIdx = 0;
|
||||||
|
var _fileForm2 = new Array();
|
||||||
|
function handleFileUpload(files,obj) //업로드 function
|
||||||
|
{
|
||||||
|
var limitsize = 20*1024*1024; //파일 제한 체크(1개, 20MB)
|
||||||
|
for (var i = 0; i < files.length; i++){
|
||||||
|
if(files[i].size > limitsize){
|
||||||
|
alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 20MB이하만 업로드 가능합니다.");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < files.length; i++)
|
||||||
|
{
|
||||||
|
var fd = new FormData();
|
||||||
|
fd.append('file', files[i]);
|
||||||
|
var tmpObj = new Object();
|
||||||
|
tmpObj.name = "file_" + _fileIdx;
|
||||||
|
tmpObj.fileObj = files[i];
|
||||||
|
|
||||||
|
_fileForm2.push(tmpObj);
|
||||||
|
sendFileToServer(fd, obj, files[i], _fileIdx);
|
||||||
|
_fileIdx++;
|
||||||
|
|
||||||
|
var totalfileSize = 0;
|
||||||
|
$('.totalfileCount').text($('.item_file_size').length) ;
|
||||||
|
$('.item_file_size').each(function(){
|
||||||
|
totalfileSize += $(this).val()*1 ;
|
||||||
|
});
|
||||||
|
$('.totalfileSize').text(getStrFileSize(totalfileSize)) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
@ -227,6 +277,7 @@
|
|||||||
</form:form>
|
</form:form>
|
||||||
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
|
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
<input type="hidden" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}' />"/>
|
<input type="hidden" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}' />"/>
|
||||||
|
<input type="hidden" name="atchFileId" value="<c:out value='${info.atchFileId}' />" />
|
||||||
<!-- cont -->
|
<!-- cont -->
|
||||||
<div class="cont_wrap">
|
<div class="cont_wrap">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
@ -281,7 +332,10 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th scope="row">관할청</th>
|
<th scope="row">관할청</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="cmptntAthrt" value="<c:out value="${info.cmptntAthrt }" />" />
|
<ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
|
||||||
|
selectedText="${info.cmptntAthrt }" defaultValue=""
|
||||||
|
defaultText='선택'
|
||||||
|
/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -358,6 +412,87 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<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>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
367
src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp
Normal file
367
src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp
Normal file
@ -0,0 +1,367 @@
|
|||||||
|
<!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="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||||
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||||
|
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : cndtnEduPrcsMngList.jsp
|
||||||
|
* @Description : 조건부 기소유예 과정관리 목록
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.14 조용준 최초 생성
|
||||||
|
* @author 조용준
|
||||||
|
* @since 2021.12.14
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<style>
|
||||||
|
input:read-only{
|
||||||
|
background-color: #ededed;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
searchInit();
|
||||||
|
|
||||||
|
// 검색 select box
|
||||||
|
$('#searchStatus').change(function(){
|
||||||
|
|
||||||
|
$('#searchKeyword').val('');
|
||||||
|
$('#searchSmbtStartDt').val('');
|
||||||
|
$('#searchSmbtEndDt').val('');
|
||||||
|
if($(this).val() == 'frstRegistPnttm'){
|
||||||
|
|
||||||
|
$('#searchKeyword').hide();
|
||||||
|
$('#calendar').show();
|
||||||
|
}
|
||||||
|
if($(this).val() == 'trgt_nm'){
|
||||||
|
|
||||||
|
$('#searchKeyword').attr('placeholder', '이름을 입력해 주세요.');
|
||||||
|
$('#calendar').hide();
|
||||||
|
$('#searchKeyword').show();
|
||||||
|
}
|
||||||
|
if($(this).val() == 'd_birth'){
|
||||||
|
|
||||||
|
$('#searchKeyword').attr('placeholder', '생년월일을 입력해 주세요.');
|
||||||
|
$('#calendar').hide();
|
||||||
|
$('#searchKeyword').show();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function searchInit(){
|
||||||
|
var selecedTxt = $('#searchStatus option:checked').val();
|
||||||
|
console.log('selecedTxt : ', selecedTxt);
|
||||||
|
|
||||||
|
if(selecedTxt == 'trgt_nm' || selecedTxt == 'd_birth'){
|
||||||
|
$('#calendar').hide();
|
||||||
|
}else{
|
||||||
|
$('#searchKeyword').hide();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.pageIndex.value = pageNo ;
|
||||||
|
listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncGoDetail(sspnIdtmtTrgtOrd){
|
||||||
|
var detailForm = document.detailForm ;
|
||||||
|
detailForm.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
|
||||||
|
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtDetail.do'/>";
|
||||||
|
detailForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncCreate() {
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtReg.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncDelete(prcsOrd){
|
||||||
|
document.listForm.prcsOrd.value = prcsOrd ;
|
||||||
|
|
||||||
|
var pageIndex = document.listForm.pageIndex.value;
|
||||||
|
if($(".listCount").length == '1'){
|
||||||
|
pageIndex = pageIndex -1;
|
||||||
|
}
|
||||||
|
var data = new FormData(document.getElementById("listForm"));
|
||||||
|
if(confirm("삭제하시겠습니까?")){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngDeleteAjax.do'/>";
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("삭제되었습니다.");
|
||||||
|
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
|
||||||
|
linkPage(pageIndex);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
event.stopImmediatePropagation();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncSaveSort(prcsOrd, count){
|
||||||
|
|
||||||
|
var sortNo = $('#prcsSortNo'+count).val();
|
||||||
|
|
||||||
|
if(sortNo == ''){
|
||||||
|
|
||||||
|
alert("표시순서를 입력해 주세요.");
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#prcsOrd').val(prcsOrd);
|
||||||
|
$('#prcsSortNo').val(sortNo);
|
||||||
|
var data = new FormData(document.getElementById("listForm"));
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.do'/>";
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("저장되었습니다.");
|
||||||
|
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="detailForm" name="detailForm" method="post" >
|
||||||
|
<input type="hidden" id="sspnIdtmtTrgtOrd" name="sspnIdtmtTrgtOrd" value="" />
|
||||||
|
</form>
|
||||||
|
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
|
||||||
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
|
||||||
|
<input type="hidden" id="prcsOrd" name="prcsOrd" value="" />
|
||||||
|
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
|
||||||
|
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- 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>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>대상자 목록</p>
|
||||||
|
</div>
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top search-only">
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_right">
|
||||||
|
<select name="searchStatus" id="searchStatus" class="sel_type1">
|
||||||
|
<option value="trgt_nm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'trgt_nm' }">selected="selected"</c:if>>이름</option>
|
||||||
|
<option value="d_birth" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'd_birth' }">selected="selected"</c:if>>생년월일</option>
|
||||||
|
<option value="frstRegistPnttm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'frstRegistPnttm' }">selected="selected"</c:if>>기간별</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<div id="calendar">
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" placeholder="시작일" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${cndtnTrgtInfoMngVO.searchSmbtStartDt}">
|
||||||
|
</div>
|
||||||
|
~
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" placeholder="종료일" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${cndtnTrgtInfoMngVO.searchSmbtEndDt}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeyword}'/>">
|
||||||
|
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||||
|
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="list_util">
|
||||||
|
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건의 접수가 검색되었습니다.</p>
|
||||||
|
<div>
|
||||||
|
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px" class="sel_type1">
|
||||||
|
<option value='10' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '10' or cndtnTrgtInfoMngVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||||
|
<option value='20' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||||
|
<option value='30' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||||
|
<option value='100' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||||
|
</select>
|
||||||
|
<%--<button type="button" class="btn_down_excel">엑셀 다운로드</button>--%>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 2px">
|
||||||
|
<col style="width: 2px">
|
||||||
|
<col style="width: 2px">
|
||||||
|
<col style="width: 2px">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 2px">
|
||||||
|
<col style="width: 2px">
|
||||||
|
</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>
|
||||||
|
<c:forEach var="list" items="${list}" varStatus="status">
|
||||||
|
<tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
|
||||||
|
<%-- <c:out value='${list.prcsNm}'/> --%>
|
||||||
|
<!-- </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="${list.vntYear }" />형제<c:out value="${list.vntNmbr }" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VEA008" code="${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}">
|
||||||
|
${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="3"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
|
</c:if>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
|
|
||||||
|
<!-- page -->
|
||||||
|
<div class="page">
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||||
|
</div>
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //page -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //cont -->
|
||||||
|
<!-- //cont -->
|
||||||
|
|
||||||
|
</form:form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
518
src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngMdfy.jsp
Normal file
518
src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngMdfy.jsp
Normal file
@ -0,0 +1,518 @@
|
|||||||
|
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : cndtnEduPrcsMngMdfy.jsp
|
||||||
|
* @Description : 조건부기소유예 수정
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.16 조용준 최초 생성
|
||||||
|
* @author 조용주
|
||||||
|
* @since 2021.12.16
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
//파일첨부관련 설정들===============================================
|
||||||
|
$(".btn_type01").on('click', function(){
|
||||||
|
$("#file_temp").click();
|
||||||
|
});
|
||||||
|
|
||||||
|
//파일첨부관련 설정들===============================================
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
function addPro() {
|
||||||
|
var addQuest = $(".addPro_wrap");
|
||||||
|
var questLen = addQuest.children("div").length;
|
||||||
|
questLen = Number(questLen+1);
|
||||||
|
var trHtml="";
|
||||||
|
|
||||||
|
trHtml += '<div class="tbody_one">';
|
||||||
|
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
|
||||||
|
trHtml += '<div>';
|
||||||
|
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
|
||||||
|
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
|
||||||
|
trHtml += '</div>';
|
||||||
|
trHtml += '</div>';
|
||||||
|
|
||||||
|
addQuest.append(trHtml);
|
||||||
|
}
|
||||||
|
|
||||||
|
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
|
||||||
|
function delPro(item) {
|
||||||
|
var bodyThis = $(item).closest('.tbody_one');
|
||||||
|
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
|
||||||
|
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
|
||||||
|
var idx = bodyThis.index();
|
||||||
|
|
||||||
|
if(len == 1){
|
||||||
|
alert("세부과정은 최소1개가 존재해야합니다.");
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
bodyThis.remove();
|
||||||
|
|
||||||
|
for(var i=0;i<len;i++){
|
||||||
|
if(idx>i){
|
||||||
|
tb.eq(i).find('.span_num3').text(i+1);
|
||||||
|
}else{
|
||||||
|
tb.eq(i).find('.span_num3').text(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncAddUser(){
|
||||||
|
var obj = $(".memList:first").clone(true);
|
||||||
|
obj.children('input').val('')
|
||||||
|
/*
|
||||||
|
var len = $(".memList").length;
|
||||||
|
$.each(obj.find("input"), function(idx, objInput){
|
||||||
|
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
|
||||||
|
console.log(objInput.name);
|
||||||
|
if(objInput.name.indexOf("memGrade") < 0){
|
||||||
|
objInput.value = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
|
||||||
|
obj.find("tr:last > td").text("");
|
||||||
|
*/
|
||||||
|
$(".memList:last").after(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncDelUser(obj){
|
||||||
|
if($(".memList").length <= 1){
|
||||||
|
alert("담당자은 최소1개가 존재해야합니다.");
|
||||||
|
}else{
|
||||||
|
$(obj).closest("td").remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncSave(){
|
||||||
|
|
||||||
|
if(fn_valChk())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
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 = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfyAjax.do'/>";
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
enctype: 'multipart/form-data',
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("수정되었습니다.");
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function fn_valChk(){
|
||||||
|
// 의뢰일 검사
|
||||||
|
if($("#reqPnttm").val().trim() == ""){
|
||||||
|
alert("의뢰일을 입력해주세요.");
|
||||||
|
$("#reqPnttm").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 사건번호 검사
|
||||||
|
if($("input[name='vntNmbr']").val().trim() == ""){
|
||||||
|
alert("사건번호를 입력해주세요.");
|
||||||
|
$("input[name='vntNmbr']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 관할청 검사
|
||||||
|
if($("input[name='cmptntAthrt']").val()){
|
||||||
|
alert("관할청을 입력해주세요.");
|
||||||
|
$("input[name='cmptntAthrt']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($("#sex").val() == "선택" || $("#sex").val().trim() == ""){
|
||||||
|
alert("성별을 선택해주세요.");
|
||||||
|
$("#sex").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 성명 검사
|
||||||
|
if($("input[name='trgtNm']").val().trim() == ""){
|
||||||
|
alert("성명을 입력해주세요.");
|
||||||
|
$("input[name='trgtNm']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 생년월일 검사
|
||||||
|
if($("#dBirth").val().trim() == ""){
|
||||||
|
alert("생년월일을 입력해주세요.");
|
||||||
|
$("#dBirth").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 의뢰번호 검사
|
||||||
|
if($("input[name='reqNmbr']").val().trim() == ""){
|
||||||
|
alert("의뢰번호를 입력해주세요.");
|
||||||
|
$("input[name='reqNmbr']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 의뢰상태 검사
|
||||||
|
/* if($("#reqStateCd").val().trim() == ""){
|
||||||
|
alert("의뢰상태를 입력해주세요.");
|
||||||
|
$("input[name='reqStateCd']").focus();
|
||||||
|
return true;
|
||||||
|
} */
|
||||||
|
|
||||||
|
// 교육상태 검사
|
||||||
|
/* if($("input[name='eduStateCd']").val().trim() == ""){
|
||||||
|
alert("교육상태를 입력해주세요.");
|
||||||
|
$("input[name='eduStateCd']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
// 검사명 검사
|
||||||
|
if($("input[name='prsctrNm']").val().trim() == ""){
|
||||||
|
alert("검사명을 입력해주세요.");
|
||||||
|
$("input[name='prsctrNm']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 주소 검사
|
||||||
|
if($("#post").val().trim() == "" || $("#addr").val().trim() == ""){
|
||||||
|
alert("주소를 입력해주세요.");
|
||||||
|
$("#post").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false; // 모든 검사를 통과하면 false 반환
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 파일등록 */
|
||||||
|
var _fileIdx = 0;
|
||||||
|
var _fileForm2 = new Array();
|
||||||
|
function handleFileUpload(files,obj) //업로드 function
|
||||||
|
{
|
||||||
|
var limitsize = 20*1024*1024; //파일 제한 체크(1개, 20MB)
|
||||||
|
for (var i = 0; i < files.length; i++){
|
||||||
|
if(files[i].size > limitsize){
|
||||||
|
alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 20MB이하만 업로드 가능합니다.");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < files.length; i++)
|
||||||
|
{
|
||||||
|
var fd = new FormData();
|
||||||
|
fd.append('file', files[i]);
|
||||||
|
var tmpObj = new Object();
|
||||||
|
tmpObj.name = "file_" + _fileIdx;
|
||||||
|
tmpObj.fileObj = files[i];
|
||||||
|
|
||||||
|
_fileForm2.push(tmpObj);
|
||||||
|
sendFileToServer(fd, obj, files[i], _fileIdx);
|
||||||
|
_fileIdx++;
|
||||||
|
|
||||||
|
var totalfileSize = 0;
|
||||||
|
$('.totalfileCount').text($('.item_file_size').length) ;
|
||||||
|
$('.item_file_size').each(function(){
|
||||||
|
totalfileSize += $(this).val()*1 ;
|
||||||
|
});
|
||||||
|
$('.totalfileSize').text(getStrFileSize(totalfileSize)) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
</form:form>
|
||||||
|
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
<input type="hidden" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}' />"/>
|
||||||
|
<input type="hidden" name="atchFileId" value="<c:out value='${info.atchFileId}' />" />
|
||||||
|
<!-- cont -->
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- 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>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_상세 -->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>대상자 수정</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">의뢰일</th>
|
||||||
|
<td>
|
||||||
|
<div id="calendar">
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<c:set var="reqPnttm" value="${fn:substring(info.reqPnttm, 0, 10)}" />
|
||||||
|
<input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value="<c:out value="${reqPnttm }" />" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">사건번호</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="vntYear" style="width: 150px;margin-right: 10px;" value="<c:out value="${info.vntYear }" />"/>형제
|
||||||
|
<input type="text" name="vntNmbr" style="width: 150px;margin-left: 10px;" value="<c:out value="${info.vntNmbr }" />"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">관할청</th>
|
||||||
|
<td>
|
||||||
|
<ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
|
||||||
|
selectedText="${info.cmptntAthrt }" defaultValue=""
|
||||||
|
defaultText='선택'
|
||||||
|
/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">성별</th>
|
||||||
|
<td>
|
||||||
|
<%-- <c:set var="reqPnttm" value="<ve:code codeId="COM014" code="${info.sex }"/>" /> --%>
|
||||||
|
|
||||||
|
<ve:select codeId="COM014" name="sex" id="sex" css="class='sel_type1'"
|
||||||
|
selectedValue="${info.sex }" defaultValue=""
|
||||||
|
defaultText='선택'
|
||||||
|
/>
|
||||||
|
</td>
|
||||||
|
<th scope="row">연락처</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="clphone" id="clphone" placeholder="00000000000" maxlength="11" value="<c:out value="${info.clphone }" />" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">성명</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="trgtNm" value="<c:out value="${info.trgtNm }" />" />
|
||||||
|
</td>
|
||||||
|
<th scope="row">생년월일</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="dBirth" id="dBirth" placeholder="00000000" maxlength="8" value="<c:out value="${info.dBirth }" />" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<!-- <tr>
|
||||||
|
<th scope="row">연락처(핸드폰)</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="clphone" />
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr> -->
|
||||||
|
<tr>
|
||||||
|
<th scope="row">의뢰번호</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="reqNmbr" value="<c:out value="${info.reqNmbr }" />" />
|
||||||
|
</td>
|
||||||
|
<th scope="row">의뢰상태</th>
|
||||||
|
<td>
|
||||||
|
<ve:select codeId="VEA005" name="reqStateCd" id="reqStateCd" css="class='sel_type1'"
|
||||||
|
selectedValue="${info.reqStateCd }" defaultValue=""
|
||||||
|
defaultText='선택'
|
||||||
|
/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육상태</th>
|
||||||
|
<td>
|
||||||
|
<ve:select codeId="VEA002" name="eduStateCd" id="eduStateCd" css="class='sel_type1'"
|
||||||
|
selectedValue="${info.eduStateCd }" defaultValue=""
|
||||||
|
defaultText='선택'
|
||||||
|
/>
|
||||||
|
</td>
|
||||||
|
<th scope="row">검사명</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="prsctrNm" value="<c:out value="${info.prsctrNm }" />" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="input_adress">
|
||||||
|
<th scope="row">
|
||||||
|
<p>주소</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">
|
||||||
|
<label for="post" class="label">우편번호 입력</label>
|
||||||
|
<input type="text" size="20" name="post" id="post" class="adr_input" style="background-color: #eee;" value="<c:out value='${info.post}'/>" readonly>
|
||||||
|
<button class="btnType01 btn_adr_search" onclick="fn_postCode(this); return false;">우편번호 검색</button>
|
||||||
|
<div class="detail_address">
|
||||||
|
<label for="addr" class="label">주소 입력</label>
|
||||||
|
<input type="text" size="60" name="addr" id="addr" class="searchResultAddr" value="<c:out value='${info.addr}'/>" readonly>
|
||||||
|
<label for="addrDetail" class="label">나머지 주소 입력</label>
|
||||||
|
<input type="text" size="20" name="addrDetail" id="addrDetail" class="usrInsertAddr" value="<c:out value='${info.addrDetail}'/>" maxLength="100" placeholder="나머지 주소">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type02" onclick="fncSave(); return false;">수정</button>
|
||||||
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<!-- //cont -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
458
src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngReg.jsp
Normal file
458
src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngReg.jsp
Normal file
@ -0,0 +1,458 @@
|
|||||||
|
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : cndtnEduPrcsMngReg.jsp
|
||||||
|
* @Description : 조건부기소유예 과정 등록
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.16 조용준 최초 생성
|
||||||
|
* @author 조용주
|
||||||
|
* @since 2021.12.16
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<script type="text/javascript">
|
||||||
|
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
||||||
|
$(document).ready(function() {
|
||||||
|
$(".btn_type01").on('click', function(){
|
||||||
|
$("#file_temp").click();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function fncSave(){
|
||||||
|
|
||||||
|
if(fn_valChk())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
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";
|
||||||
|
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();
|
||||||
|
}else if(returnData.result == "fail"){
|
||||||
|
alert(returnData.message);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function fn_valChk(){
|
||||||
|
// 의뢰일 검사
|
||||||
|
if($("#reqPnttm").val().trim() == ""){
|
||||||
|
alert("의뢰일을 입력해주세요.");
|
||||||
|
$("#reqPnttm").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 사건번호 검사
|
||||||
|
if($("input[name='vntYear']").val().trim() == ""){
|
||||||
|
alert("사건번호를 입력해주세요.");
|
||||||
|
$("input[name='vntYear']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 사건번호 검사
|
||||||
|
if($("input[name='vntNmbr']").val().trim() == ""){
|
||||||
|
alert("사건번호를 입력해주세요.");
|
||||||
|
$("input[name='vntNmbr']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 관할청 검사
|
||||||
|
if($("input[name='cmptntAthrt']").val()){
|
||||||
|
alert("관할청을 입력해주세요.");
|
||||||
|
$("input[name='cmptntAthrt']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($("#sex").val() == "선택" || $("#sex").val().trim() == ""){
|
||||||
|
alert("성별을 선택해주세요.");
|
||||||
|
$("#sex").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 성명 검사
|
||||||
|
if($("input[name='trgtNm']").val().trim() == ""){
|
||||||
|
alert("성명을 입력해주세요.");
|
||||||
|
$("input[name='trgtNm']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 생년월일 검사
|
||||||
|
if($("#dBirth").val().trim() == ""){
|
||||||
|
alert("생년월일을 입력해주세요.");
|
||||||
|
$("#dBirth").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 의뢰번호 검사
|
||||||
|
if($("input[name='reqNmbr']").val().trim() == ""){
|
||||||
|
alert("의뢰번호를 입력해주세요.");
|
||||||
|
$("input[name='reqNmbr']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 의뢰상태 검사
|
||||||
|
/* if($("#reqStateCd").val().trim() == ""){
|
||||||
|
alert("의뢰상태를 입력해주세요.");
|
||||||
|
$("input[name='reqStateCd']").focus();
|
||||||
|
return true;
|
||||||
|
} */
|
||||||
|
|
||||||
|
// 교육상태 검사
|
||||||
|
/* if($("input[name='eduStateCd']").val().trim() == ""){
|
||||||
|
alert("교육상태를 입력해주세요.");
|
||||||
|
$("input[name='eduStateCd']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
// 검사명 검사
|
||||||
|
if($("input[name='prsctrNm']").val().trim() == ""){
|
||||||
|
alert("검사명을 입력해주세요.");
|
||||||
|
$("input[name='prsctrNm']").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 주소 검사
|
||||||
|
if($("#post").val().trim() == "" || $("#addr").val().trim() == ""){
|
||||||
|
alert("주소를 입력해주세요.");
|
||||||
|
$("#post").focus();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false; // 모든 검사를 통과하면 false 반환
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 파일등록 */
|
||||||
|
var _fileIdx = 0;
|
||||||
|
var _fileForm2 = new Array();
|
||||||
|
function handleFileUpload(files,obj) //업로드 function
|
||||||
|
{
|
||||||
|
console.log('files', files);
|
||||||
|
var limitsize = 20*1024*1024; //파일 제한 체크(1개, 20MB)
|
||||||
|
for (var i = 0; i < files.length; i++){
|
||||||
|
if(files[i].size > limitsize){
|
||||||
|
alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 20MB이하만 업로드 가능합니다.");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < files.length; i++)
|
||||||
|
{
|
||||||
|
var fd = new FormData();
|
||||||
|
fd.append('file', files[i]);
|
||||||
|
var tmpObj = new Object();
|
||||||
|
tmpObj.name = "file_" + _fileIdx;
|
||||||
|
tmpObj.fileObj = files[i];
|
||||||
|
|
||||||
|
_fileForm2.push(tmpObj);
|
||||||
|
sendFileToServer(fd, obj, files[i], _fileIdx);
|
||||||
|
_fileIdx++;
|
||||||
|
|
||||||
|
var totalfileSize = 0;
|
||||||
|
$('.totalfileCount').text($('.item_file_size').length) ;
|
||||||
|
$('.item_file_size').each(function(){
|
||||||
|
totalfileSize += $(this).val()*1 ;
|
||||||
|
});
|
||||||
|
$('.totalfileSize').text(getStrFileSize(totalfileSize)) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
</form:form>
|
||||||
|
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
|
||||||
|
<!-- cont -->
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- 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>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_상세 -->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>대상자 등록</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">의뢰일</th>
|
||||||
|
<td>
|
||||||
|
<div id="calendar">
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">사건번호</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="vntYear" style="width: 150px;margin-right: 10px;"/>형제
|
||||||
|
<input type="text" name="vntNmbr" style="width: 150px;margin-left: 10px;" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">관할청</th>
|
||||||
|
<td>
|
||||||
|
<ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
|
||||||
|
selectedText="" defaultValue=""
|
||||||
|
defaultText='선택'
|
||||||
|
/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">성별</th>
|
||||||
|
<td>
|
||||||
|
<ve:select codeId="COM014" name="sex" id="sex" css="class='sel_type1'"
|
||||||
|
selectedText="" defaultValue=""
|
||||||
|
defaultText='선택'
|
||||||
|
/>
|
||||||
|
</td>
|
||||||
|
<th scope="row">연락처</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="clphone" id="clphone" placeholder="00000000000" maxlength="11"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">성명</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="trgtNm" />
|
||||||
|
</td>
|
||||||
|
<th scope="row">생년월일</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="dBirth" id="dBirth" placeholder="00000000" maxlength="8"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<!-- <tr>
|
||||||
|
<th scope="row">연락처(핸드폰)</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="clphone" />
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr> -->
|
||||||
|
<tr>
|
||||||
|
<th scope="row">의뢰번호</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="reqNmbr" />
|
||||||
|
</td>
|
||||||
|
<th scope="row">의뢰상태</th>
|
||||||
|
<td>
|
||||||
|
<ve:select codeId="VEA005" name="reqStateCd" id="reqStateCd" css="class='sel_type1'"
|
||||||
|
selectedText="" defaultValue=""
|
||||||
|
defaultText='선택'
|
||||||
|
/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육상태</th>
|
||||||
|
<td>
|
||||||
|
교육대기
|
||||||
|
<input type="hidden" name="eduStateCd" id="eduStateCd" value="10"/>
|
||||||
|
<%-- <ve:select codeId="VEA002" name="eduStateCd" id="eduStateCd" css="class='sel_type1'"
|
||||||
|
selectedText="" defaultValue=""
|
||||||
|
defaultText='선택'
|
||||||
|
/> --%>
|
||||||
|
</td>
|
||||||
|
<th scope="row">검사명</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="prsctrNm" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="input_adress">
|
||||||
|
<th scope="row">
|
||||||
|
<p>주소</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">
|
||||||
|
<label for="post" class="label">우편번호 입력</label>
|
||||||
|
<input type="text" size="20" name="post" id="post" class="adr_input" style="background-color: #eee;" value="<c:out value='${info.post}'/>" readonly>
|
||||||
|
<button class="btnType01 btn_adr_search" onclick="fn_postCode(this); return false;">우편번호 검색</button>
|
||||||
|
<div class="detail_address">
|
||||||
|
<label for="addr" class="label">주소 입력</label>
|
||||||
|
<input type="text" size="60" name="addr" id="addr" class="searchResultAddr" value="<c:out value='${info.addr}'/>" readonly>
|
||||||
|
<label for="addrDetail" class="label">나머지 주소 입력</label>
|
||||||
|
<input type="text" size="20" name="addrDetail" id="addrDetail" class="usrInsertAddr" value="<c:out value='${info.addrDetail}'/>" maxLength="100" placeholder="나머지 주소">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type02" onclick="fncSave(); return false;">저장</button>
|
||||||
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<!-- //cont -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -31,22 +31,12 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
/* $('#dBirth').on('input', function() {
|
$(".btn_type01").on('click', function(){
|
||||||
var input = $(this).val();
|
$("#file_temp").click();
|
||||||
var length = input.length;
|
});
|
||||||
var lastChar = input.charAt(length - 1);
|
|
||||||
|
|
||||||
// 숫자만 입력되도록 검사
|
|
||||||
if (!lastChar.match(/[0-9]/)) {
|
|
||||||
$(this).val(input.substring(0, length - 1));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 포맷 적용
|
|
||||||
if (length === 4 || length === 7) {
|
|
||||||
$(this).val(input + '-');
|
|
||||||
}
|
|
||||||
}); */
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function fncSave(){
|
function fncSave(){
|
||||||
@ -57,11 +47,20 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
var data = new FormData(document.getElementById("createForm"));
|
var data = new FormData(document.getElementById("createForm"));
|
||||||
|
|
||||||
|
//첨부파일 등록 처리-step2
|
||||||
|
_fileForm2.forEach(function(obj, idx) {
|
||||||
|
if (obj) data.append("file"+idx, obj.fileObj);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#cmptntAthrt').prop('disabled', false);
|
||||||
if(confirm("저장하시겠습니까?")){
|
if(confirm("저장하시겠습니까?")){
|
||||||
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/trgtRegAjax.do";
|
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/trgtRegAjax.do";
|
||||||
console.log(data);
|
console.log(data);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type:"POST",
|
type:"POST",
|
||||||
|
enctype: 'multipart/form-data',
|
||||||
url: url,
|
url: url,
|
||||||
data: data,
|
data: data,
|
||||||
dataType:'json',
|
dataType:'json',
|
||||||
@ -70,13 +69,18 @@
|
|||||||
contentType: false,
|
contentType: false,
|
||||||
cache: false,
|
cache: false,
|
||||||
success:function(returnData){
|
success:function(returnData){
|
||||||
|
console.log('returnData :: ', returnData);
|
||||||
if(returnData.result == "success"){
|
if(returnData.result == "success"){
|
||||||
alert("저장되었습니다.");
|
alert("저장되었습니다.");
|
||||||
fncGoList();
|
// fncGoList();
|
||||||
|
}else if(returnData.result == "fail"){
|
||||||
|
alert(returnData.message);
|
||||||
|
$('#cmptntAthrt').prop('disabled', true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error:function(request , status, error){
|
error:function(request , status, error){
|
||||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
$('#cmptntAthrt').prop('disabled', true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -107,11 +111,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 관할청 검사
|
// 관할청 검사
|
||||||
if($("input[name='cmptntAthrt']").val().trim() == ""){
|
// if($("input[name='cmptntAthrt']").val()){
|
||||||
alert("관할청을 입력해주세요.");
|
// alert("관할청을 입력해주세요.");
|
||||||
$("input[name='cmptntAthrt']").focus();
|
// $("input[name='cmptntAthrt']").focus();
|
||||||
return true;
|
// return true;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if($("#sex").val() == "선택" || $("#sex").val().trim() == ""){
|
if($("#sex").val() == "선택" || $("#sex").val().trim() == ""){
|
||||||
alert("성별을 선택해주세요.");
|
alert("성별을 선택해주세요.");
|
||||||
@ -134,11 +138,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 의뢰번호 검사
|
// 의뢰번호 검사
|
||||||
if($("input[name='reqNmbr']").val().trim() == ""){
|
/* if($("input[name='reqNmbr']").val().trim() == ""){
|
||||||
alert("의뢰번호를 입력해주세요.");
|
alert("의뢰번호를 입력해주세요.");
|
||||||
$("input[name='reqNmbr']").focus();
|
$("input[name='reqNmbr']").focus();
|
||||||
return true;
|
return true;
|
||||||
}
|
} */
|
||||||
|
|
||||||
// 의뢰상태 검사
|
// 의뢰상태 검사
|
||||||
/* if($("#reqStateCd").val().trim() == ""){
|
/* if($("#reqStateCd").val().trim() == ""){
|
||||||
@ -179,6 +183,40 @@
|
|||||||
listForm.submit();
|
listForm.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 파일등록 */
|
||||||
|
var _fileIdx = 0;
|
||||||
|
var _fileForm2 = new Array();
|
||||||
|
function handleFileUpload(files,obj) //업로드 function
|
||||||
|
{
|
||||||
|
console.log('files', files);
|
||||||
|
var limitsize = 20*1024*1024; //파일 제한 체크(1개, 20MB)
|
||||||
|
for (var i = 0; i < files.length; i++){
|
||||||
|
if(files[i].size > limitsize){
|
||||||
|
alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 20MB이하만 업로드 가능합니다.");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < files.length; i++)
|
||||||
|
{
|
||||||
|
var fd = new FormData();
|
||||||
|
fd.append('file', files[i]);
|
||||||
|
var tmpObj = new Object();
|
||||||
|
tmpObj.name = "file_" + _fileIdx;
|
||||||
|
tmpObj.fileObj = files[i];
|
||||||
|
|
||||||
|
_fileForm2.push(tmpObj);
|
||||||
|
sendFileToServer(fd, obj, files[i], _fileIdx);
|
||||||
|
_fileIdx++;
|
||||||
|
|
||||||
|
var totalfileSize = 0;
|
||||||
|
$('.totalfileCount').text($('.item_file_size').length) ;
|
||||||
|
$('.item_file_size').each(function(){
|
||||||
|
totalfileSize += $(this).val()*1 ;
|
||||||
|
});
|
||||||
|
$('.totalfileSize').text(getStrFileSize(totalfileSize)) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
@ -239,7 +277,18 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th scope="row">관할청</th>
|
<th scope="row">관할청</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="cmptntAthrt" />
|
<c:choose>
|
||||||
|
<c:when test="${empty userWork }">
|
||||||
|
<ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
|
||||||
|
selectedText="" selectedValue="" defaultValue=""
|
||||||
|
defaultText='선택'
|
||||||
|
/>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<ve:code codeId="VEA008" code="${userWork }"/>
|
||||||
|
<input type="hidden" name="cmptntAthrt" value="${userWork }">
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -273,10 +322,10 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr> -->
|
</tr> -->
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">의뢰번호</th>
|
<!-- <th scope="row">의뢰번호</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="reqNmbr" />
|
<input type="text" name="reqNmbr" />
|
||||||
</td>
|
</td> -->
|
||||||
<th scope="row">의뢰상태</th>
|
<th scope="row">의뢰상태</th>
|
||||||
<td>
|
<td>
|
||||||
<ve:select codeId="VEA005" name="reqStateCd" id="reqStateCd" css="class='sel_type1'"
|
<ve:select codeId="VEA005" name="reqStateCd" id="reqStateCd" css="class='sel_type1'"
|
||||||
@ -284,6 +333,10 @@
|
|||||||
defaultText='선택'
|
defaultText='선택'
|
||||||
/>
|
/>
|
||||||
</td>
|
</td>
|
||||||
|
<th scope="row">검사명</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="prsctrNm" />
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">교육상태</th>
|
<th scope="row">교육상태</th>
|
||||||
@ -295,10 +348,6 @@
|
|||||||
defaultText='선택'
|
defaultText='선택'
|
||||||
/> --%>
|
/> --%>
|
||||||
</td>
|
</td>
|
||||||
<th scope="row">검사명</th>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="prsctrNm" />
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="input_adress">
|
<tr class="input_adress">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
@ -316,6 +365,88 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<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>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -215,6 +215,16 @@
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<c:if test="${info.aprvlCd eq '70'}">
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>수정요청사유</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">
|
||||||
|
<c:out value="${info.aprvlCn}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:if>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@ -344,13 +354,13 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>대상학년</p>
|
<p>대상학년/반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>${info.trgtGrade}</td>
|
<td>${info.trgtGrade}</td>
|
||||||
<th scope="row">
|
<%-- <th scope="row">
|
||||||
<p>대상반</p>
|
<p>대상반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>${info.trgtClsrm}</td>
|
<td>${info.trgtClsrm}</td> --%>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
|
|||||||
@ -305,12 +305,6 @@
|
|||||||
$("#trgtGrade").focus();
|
$("#trgtGrade").focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if($('#trgtClsrm').val() == ''){
|
|
||||||
alert('대상반을 입력해주세요.');
|
|
||||||
$("#trgtClsrm").focus();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($('#trgtPrsnl').val() == ''){
|
if($('#trgtPrsnl').val() == ''){
|
||||||
alert('학생수를 입력해주세요.');
|
alert('학생수를 입력해주세요.');
|
||||||
$("#trgtPrsnl").focus();
|
$("#trgtPrsnl").focus();
|
||||||
|
|||||||
@ -494,13 +494,13 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>대상학년</p>
|
<p>대상학년/반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>${info.trgtGrade}</td>
|
<td>${info.trgtGrade}</td>
|
||||||
<th scope="row">
|
<%-- <th scope="row">
|
||||||
<p>대상반</p>
|
<p>대상반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>${info.trgtClsrm}</td>
|
<td>${info.trgtClsrm}</td> --%>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
|
|||||||
@ -83,8 +83,8 @@
|
|||||||
<table>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 10%;">
|
<col style="width: 10%;">
|
||||||
<col style="width: auto;">
|
|
||||||
<col style="width: 15%;">
|
<col style="width: 15%;">
|
||||||
|
<col style="width: auto;">
|
||||||
<col style="width: 15%">
|
<col style="width: 15%">
|
||||||
<col style="width: 20%;">
|
<col style="width: 20%;">
|
||||||
<col style="width: 15%;">
|
<col style="width: 15%;">
|
||||||
@ -92,8 +92,8 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col">번호</th>
|
<th scope="col">번호</th>
|
||||||
|
<th scope="col">운영 연도</th>
|
||||||
<th scope="col">교육내용</th>
|
<th scope="col">교육내용</th>
|
||||||
<th scope="col">접수종료일</th>
|
|
||||||
<th scope="col">신청일</th>
|
<th scope="col">신청일</th>
|
||||||
<th scope="col">학교명</th>
|
<th scope="col">학교명</th>
|
||||||
<th scope="col">처리상태</th>
|
<th scope="col">처리상태</th>
|
||||||
@ -108,13 +108,13 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
|
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
|
||||||
${list.chrgMjr}
|
<fmt:parseDate value="${list.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||||
|
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy년"/>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
|
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
|
||||||
<fmt:parseDate value="${list.prcsEndPnttm}" var="prcsEndPnttm" pattern="yyyyMMddHHmm"/>
|
${list.chrgMjr}
|
||||||
<fmt:formatDate value="${prcsEndPnttm}" pattern="yyyy.MM.dd"/>
|
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
@ -119,13 +119,6 @@
|
|||||||
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
|
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tit_box">
|
|
||||||
<i class="tit_box_icon1"></i>
|
|
||||||
<div>
|
|
||||||
<p>찾아가는 저작권 교육</p>
|
|
||||||
<span>‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>전국 초ㆍ중ㆍ고등학교, 청소년ㆍ아동복지ㆍ노인ㆍ장애인 기관 및 단체 등</span>에 직접 방문하여 무료로 강의를 지원하는 맞춤형 교육 서비스입니다.</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tb_tit01">
|
<div class="tb_tit01">
|
||||||
<div class="tb_tit01_left">
|
<div class="tb_tit01_left">
|
||||||
@ -150,7 +143,7 @@
|
|||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${not empty info.sbmtPnttmDetail}">
|
<c:when test="${not empty info.sbmtPnttmDetail}">
|
||||||
<fmt:parseDate value="${info.sbmtPnttmDetail}" var="sbmtPnttm" pattern="yyyy-MM-dd HH:mm:ss"/>
|
<fmt:parseDate value="${info.sbmtPnttmDetail}" var="sbmtPnttm" pattern="yyyy-MM-dd HH:mm:ss"/>
|
||||||
<fmt:formatDate value="${sbmtPnttm}" pattern="yyyy-MM-dd HH시 mm분"/>
|
<fmt:formatDate value="${sbmtPnttm}" pattern="yyyy-MM-dd HH:mm:ss"/>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
-
|
-
|
||||||
@ -158,12 +151,6 @@
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<th scope="row">
|
|
||||||
<p>접수종료일</p>
|
|
||||||
</th>
|
|
||||||
<td>
|
|
||||||
<c:out value="${endPnttm }"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="trLength2">
|
<tr class="trLength2">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
@ -181,21 +168,6 @@
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="trLength2">
|
|
||||||
<th scope="row">
|
|
||||||
<p>접수종료일</p>
|
|
||||||
</th>
|
|
||||||
<td colspan="3">
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${not empty endPnttm}">
|
|
||||||
<c:out value="${endPnttm }"/>
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
-
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>처리상태</p>
|
<p>처리상태</p>
|
||||||
@ -231,6 +203,14 @@
|
|||||||
<td colspan="3">${info.aprvlCn}</td>
|
<td colspan="3">${info.aprvlCn}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
<c:if test="${info.aprvlCd eq VeConstants.APRVL_CD_70}">
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>수정요청사유</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">${info.aprvlCn}</td>
|
||||||
|
</tr>
|
||||||
|
</c:if>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@ -283,12 +263,6 @@
|
|||||||
<kc:code codeId="COM014" code="${info.chrgSexCd}"/>
|
<kc:code codeId="COM014" code="${info.chrgSexCd}"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<th scope="row">
|
|
||||||
<p>이메일</p>
|
|
||||||
</th>
|
|
||||||
<td>${info.email}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>휴대폰</p>
|
<p>휴대폰</p>
|
||||||
@ -300,6 +274,12 @@
|
|||||||
<p>전화</p>
|
<p>전화</p>
|
||||||
</th>
|
</th>
|
||||||
<td>${info.phone}</td>
|
<td>${info.phone}</td>
|
||||||
|
</tr
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>이메일</p>
|
||||||
|
</th>
|
||||||
|
<td>${info.email}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
@ -367,26 +347,26 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr class="trLength4">
|
<tr class="trLength4">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>대상학년</p>
|
<p>대상학년/반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>${info.trgtGrade}</td>
|
<td>${info.trgtGrade}</td>
|
||||||
<th scope="row">
|
<%-- <th scope="row">
|
||||||
<p>대상반</p>
|
<p>대상반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>${info.trgtClsrm}</td>
|
<td>${info.trgtClsrm}</td> --%>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="trLength2">
|
<tr class="trLength2">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>대상학년</p>
|
<p>대상학년/반</p>
|
||||||
</th>
|
</th>
|
||||||
<td colspan="3">${info.trgtGrade}</td>
|
<td colspan="3">${info.trgtGrade}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="trLength2">
|
<%-- <tr class="trLength2">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>대상반</p>
|
<p>대상반</p>
|
||||||
</th>
|
</th>
|
||||||
<td colspan="3">${info.trgtClsrm}</td>
|
<td colspan="3">${info.trgtClsrm}</td>
|
||||||
</tr>
|
</tr> --%>
|
||||||
<tr class="trLength4">
|
<tr class="trLength4">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>대상학생수</p>
|
<p>대상학생수</p>
|
||||||
|
|||||||
@ -124,8 +124,8 @@
|
|||||||
<table>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 10%;">
|
<col style="width: 10%;">
|
||||||
<col style="width: auto;">
|
|
||||||
<col style="width: 15%;">
|
<col style="width: 15%;">
|
||||||
|
<col style="width: auto;">
|
||||||
<col style="width: 15%">
|
<col style="width: 15%">
|
||||||
<col style="width: 20%;">
|
<col style="width: 20%;">
|
||||||
<col style="width: 15%;">
|
<col style="width: 15%;">
|
||||||
@ -133,8 +133,8 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col">번호</th>
|
<th scope="col">번호</th>
|
||||||
|
<th scope="col">운영 연도</th>
|
||||||
<th scope="col">교육내용</th>
|
<th scope="col">교육내용</th>
|
||||||
<th scope="col">접수종료일</th>
|
|
||||||
<th scope="col">신청일</th>
|
<th scope="col">신청일</th>
|
||||||
<th scope="col">학교명</th>
|
<th scope="col">학교명</th>
|
||||||
<th scope="col">처리상태</th>
|
<th scope="col">처리상태</th>
|
||||||
@ -149,13 +149,13 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
|
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
|
||||||
${list.chrgMjr}
|
<fmt:parseDate value="${list.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||||
|
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy년"/>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
|
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
|
||||||
<fmt:parseDate value="${list.prcsEndPnttm}" var="prcsEndPnttm" pattern="yyyyMMddHHmm"/>
|
${list.chrgMjr}
|
||||||
<fmt:formatDate value="${prcsEndPnttm}" pattern="yyyy.MM.dd"/>
|
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
@ -168,7 +168,7 @@
|
|||||||
|
|
||||||
function fncSave(type){
|
function fncSave(type){
|
||||||
|
|
||||||
if(type == 'S'){
|
if(type == 'S' || type == 'E'){
|
||||||
if (!validCheck()) return;
|
if (!validCheck()) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,6 +180,9 @@
|
|||||||
if(confirm("교육신청을 "+(type == 'I'? '임시저장' : '등록')+"하시겠습니까?")){
|
if(confirm("교육신청을 "+(type == 'I'? '임시저장' : '등록')+"하시겠습니까?")){
|
||||||
if(type == 'I'){
|
if(type == 'I'){
|
||||||
$("#sbmtYn").val("N");
|
$("#sbmtYn").val("N");
|
||||||
|
}else if(type == 'E'){
|
||||||
|
$("#sbmtYn").val("Y");
|
||||||
|
$("#aprvlCd").val(VeConstants.APRVL_CD_80);
|
||||||
}else{
|
}else{
|
||||||
$("#sbmtYn").val("Y");
|
$("#sbmtYn").val("Y");
|
||||||
$("#aprvlCd").val(VeConstants.APRVL_CD_10);
|
$("#aprvlCd").val(VeConstants.APRVL_CD_10);
|
||||||
@ -394,15 +397,21 @@
|
|||||||
$("#trgtGrade").focus();
|
$("#trgtGrade").focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if($('#trgtClsrm').val() == ''){
|
/* if($('#trgtClsrm').val() == ''){
|
||||||
alert('대상반을 입력해주세요.');
|
alert('대상반을 입력해주세요.');
|
||||||
$("#trgtClsrm").focus();
|
$("#trgtClsrm").focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
} */
|
||||||
|
|
||||||
if($('#trgtPrsnl').val() == ''){
|
if($('#trgtPrsnl').val() == ''){
|
||||||
alert('학생수를 입력해주세요.');
|
alert('전체학생 수를 입력해주세요.');
|
||||||
$("#trgtPrsnl").focus();
|
$("#trgtPrsnl").focus();
|
||||||
|
return
|
||||||
|
false;
|
||||||
|
}
|
||||||
|
if($('#needTxtbNum').val() == ''){
|
||||||
|
alert('필요 교재 수량을 입력해주세요.');
|
||||||
|
$("#needTxtbNum").focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -567,7 +576,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
$("#trgtGrade").val(info.trgtGrade);
|
$("#trgtGrade").val(info.trgtGrade);
|
||||||
$("#trgtClsrm").val(info.trgtClsrm);
|
/* $("#trgtClsrm").val(info.trgtClsrm); */
|
||||||
$("#trgtPrsnl").val(info.trgtPrsnl);
|
$("#trgtPrsnl").val(info.trgtPrsnl);
|
||||||
$("#needTxtbNum").val(info.needTxtbNum);
|
$("#needTxtbNum").val(info.needTxtbNum);
|
||||||
|
|
||||||
@ -687,13 +696,12 @@
|
|||||||
script="onFocus='this.initialSelect = this.selectedIndex;' onChange='this.selectedIndex = this.initialSelect;'"/>
|
script="onFocus='this.initialSelect = this.selectedIndex;' onChange='this.selectedIndex = this.initialSelect;'"/>
|
||||||
<label for="scholInsttNm" class="label">학교(기관)명 입력</label>
|
<label for="scholInsttNm" class="label">학교(기관)명 입력</label>
|
||||||
<input type="text" value="${info.scholInsttNm}" size="25" readonly id="scholInsttNm" name="scholInsttNm">
|
<input type="text" value="${info.scholInsttNm}" size="25" readonly id="scholInsttNm" name="scholInsttNm">
|
||||||
<button type="button" class="btnType01" data-tooltip="sub01_pop02" onclick="fncScholList();" title="팝업 열림">학교검색</button>
|
<button type="button" class="btnType01" data-tooltip="sub01_pop02" onclick="fncScholList();" title="팝업 열림">학교검색</button> ※ 학교명이 검색되지 않을 경우, 담당자에게 연락
|
||||||
<input type="hidden" size="25" title="학교명코드" id="stndrdScholCd" name="stndrdScholCd" value="${info.stndrdScholCd}">
|
<input type="hidden" size="25" title="학교명코드" id="stndrdScholCd" name="stndrdScholCd" value="${info.stndrdScholCd}">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
|
||||||
<p>학교구분</p>
|
<p>학교구분</p>
|
||||||
</th>
|
</th>
|
||||||
<td colspan="3">
|
<td colspan="3">
|
||||||
@ -785,7 +793,6 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr class="input_adress">
|
<tr class="input_adress">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
|
||||||
<p>주소</p>
|
<p>주소</p>
|
||||||
</th>
|
</th>
|
||||||
<td colspan="3">
|
<td colspan="3">
|
||||||
@ -897,25 +904,26 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
<p>학년수</p>
|
<p>대상학년/반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<label for="trgtGrade" class="label">대상 학년 입력</label>
|
<label for="trgtGrade" class="label">대상 학년 입력</label>
|
||||||
<input type="text" name="trgtGrade" id="trgtGrade" onkeyup="onlyNumber(this);" maxlength="3" value="${info.trgtGrade}" size="20"> 학년
|
<input type="text" name="trgtGrade" id="trgtGrade" maxlength="20" value="${info.trgtGrade}" size="20">
|
||||||
</td>
|
</td>
|
||||||
<th scope="row">
|
<!-- 231107 학년과 대상 통합 요청 -->
|
||||||
|
<%--<th scope="row">
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
<p>대상 반</p>
|
<p>대상 반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<label for="trgtClsrm" class="label">대상 반 입력</label>
|
<label for="trgtClsrm" class="label">대상 반 입력</label>
|
||||||
<input type="text" name="trgtClsrm" id="trgtClsrm" value="${info.trgtClsrm}" title="교육인원" size="20"> 반
|
<input type="text" name="trgtClsrm" id="trgtClsrm" value="${info.trgtClsrm}" title="교육인원" size="20"> 반
|
||||||
</td>
|
</td> --%>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
<p>학생수</p>
|
<p>전체학생 수</p>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<label for="trgtPrsnl" class="label">학생 수 입력</label>
|
<label for="trgtPrsnl" class="label">학생 수 입력</label>
|
||||||
@ -964,10 +972,11 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
<p>필요 교재 수량</p>
|
<p>필요 교재 수량</p>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<label for="trgtGrade" class="label">필요 교재 수량 입력</label>
|
<label for="needTxtbNum" class="label">필요 교재 수량 입력</label>
|
||||||
<input type="text" name="needTxtbNum" id="needTxtbNum" onkeyup="onlyNumber(this);" value="${info.trgtPrsnlReal}" title="전체 교육인원" size="20" maxlength="4">
|
<input type="text" name="needTxtbNum" id="needTxtbNum" onkeyup="onlyNumber(this);" value="${info.trgtPrsnlReal}" title="전체 교육인원" size="20" maxlength="4">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -71,26 +71,26 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr class="trLength4">
|
<tr class="trLength4">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>대상학년</p>
|
<p>대상학년/반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>${info.trgtGrade}</td>
|
<td>${info.trgtGrade}</td>
|
||||||
<th scope="row">
|
<%-- <th scope="row">
|
||||||
<p>대상반</p>
|
<p>대상반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>${info.trgtClsrm}</td>
|
<td>${info.trgtClsrm}</td> --%>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="trLength2">
|
<tr class="trLength2">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>대상학년</p>
|
<p>대상학년/반</p>
|
||||||
</th>
|
</th>
|
||||||
<td colspan="3">${info.trgtGrade}</td>
|
<td colspan="3">${info.trgtGrade}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="trLength2">
|
<%-- <tr class="trLength2">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>대상반</p>
|
<p>대상반</p>
|
||||||
</th>
|
</th>
|
||||||
<td colspan="3">${info.trgtClsrm}</td>
|
<td colspan="3">${info.trgtClsrm}</td>
|
||||||
</tr>
|
</tr> --%>
|
||||||
<tr class="trLength4">
|
<tr class="trLength4">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>대상학생수</p>
|
<p>대상학생수</p>
|
||||||
|
|||||||
@ -492,13 +492,13 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>대상학년</p>
|
<p>대상학년/반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>${info.trgtGrade}</td>
|
<td>${info.trgtGrade}</td>
|
||||||
<th scope="row">
|
<%-- <th scope="row">
|
||||||
<p>대상반</p>
|
<p>대상반</p>
|
||||||
</th>
|
</th>
|
||||||
<td>${info.trgtClsrm}</td>
|
<td>${info.trgtClsrm}</td> --%>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
|
|||||||
@ -36,6 +36,12 @@
|
|||||||
frm.submit();
|
frm.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function goMain(){
|
||||||
|
var frm = document.getElementById("prcsOrdForm");
|
||||||
|
frm.action = "<c:url value='/web/main/mainPage.do'/>";
|
||||||
|
frm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<form id="prcsOrdForm" name="prcsOrdForm">
|
<form id="prcsOrdForm" name="prcsOrdForm">
|
||||||
@ -59,6 +65,7 @@
|
|||||||
</c:if>
|
</c:if>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
<c:if test="${detailVO.checkYn eq 'Y' }">
|
||||||
<div class="title">· 신청서 접수 시 유의사항</div>
|
<div class="title">· 신청서 접수 시 유의사항</div>
|
||||||
<div class="list">
|
<div class="list">
|
||||||
<ol>
|
<ol>
|
||||||
@ -68,12 +75,13 @@
|
|||||||
<li><span class="number">3.</span>신청 시 반드시 본인 계정으로 신청해야 하며, 타인 계정으로 신청 시 신청 취소 처리됩니다.</li>
|
<li><span class="number">3.</span>신청 시 반드시 본인 계정으로 신청해야 하며, 타인 계정으로 신청 시 신청 취소 처리됩니다.</li>
|
||||||
<li><span class="number">4.</span>체험교실 신규 운영 교사는 체험교실 운영 교사 연수(1일, 8시간)를 반드시 이수해야 하며, 체험교실 운영 기간내에 저작권 e-배움터에서 제공하는 온라인 강좌를 의무 이수해야 합니다.</li>
|
<li><span class="number">4.</span>체험교실 신규 운영 교사는 체험교실 운영 교사 연수(1일, 8시간)를 반드시 이수해야 하며, 체험교실 운영 기간내에 저작권 e-배움터에서 제공하는 온라인 강좌를 의무 이수해야 합니다.</li>
|
||||||
<li><span class="number">5.</span>신청기간 내 위원회 업무시간(09:00 ~ 18:00)동안 이용이 가능합니다.</li>
|
<li><span class="number">5.</span>신청기간 내 위원회 업무시간(09:00 ~ 18:00)동안 이용이 가능합니다.</li>
|
||||||
<!-- <li><span class="number">6.</span>신청기간 내 학교급별(초등, 중등, 고등) 게시판을 반드시 확인 후 신청해 주시기 바랍니다.</li> -->
|
<!-- <li><span class="number">6.</span>신청기간 내 학교급별(초등, 중등, 고등) 게시판을 반드시 확인 후 신청해 주시기 바랍니다.</li> -->
|
||||||
<li><span class="number">6.</span>신청교사가 교내에서 확인 가능한 메일 계정을 기재해 주시기 바랍니다.</li>
|
<li><span class="number">6.</span>신청교사가 교내에서 확인 가능한 메일 계정을 기재해 주시기 바랍니다.</li>
|
||||||
<li><span class="number">7.</span>신청 중 문의사항은 위원회 체험교실 담당자에게 연락을 주시기 바랍니다(055-792-0234)</li>
|
<li><span class="number">7.</span>신청 중 문의사항은 위원회 체험교실 담당자에게 연락을 주시기 바랍니다(055-792-0234)</li>
|
||||||
<li><span class="number">8.</span>선정 후 취소(신규 운영 교사 사전 연수 불참 등) 및 운영 포기교실은 차년도 참여를 제한합니다.<br>(해당 내용 학교 공문 발송 예정)</li>
|
<li><span class="number">8.</span>선정 후 취소(신규 운영 교사 사전 연수 불참 등) 및 운영 포기교실은 차년도 참여를 제한합니다.<br>(해당 내용 학교 공문 발송 예정)</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
</c:if>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop_btn_wrap btn_layout01">
|
<div class="pop_btn_wrap btn_layout01">
|
||||||
<div class="btn_left">
|
<div class="btn_left">
|
||||||
@ -82,6 +90,9 @@
|
|||||||
<c:if test="${detailVO.checkYn eq 'Y' }">
|
<c:if test="${detailVO.checkYn eq 'Y' }">
|
||||||
<button type="button" class="btnType05" onclick="goWrite();">확인</button>
|
<button type="button" class="btnType05" onclick="goWrite();">확인</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
<c:if test="${detailVO.checkYn ne 'Y' }">
|
||||||
|
<button type="button" class="btnType05" onclick="goMain();">찾아가는 저작권 교육</button>
|
||||||
|
</c:if>
|
||||||
<button type="button" class="btnType02 tooltip-close" data-focus="list_popup_close" data-focus-next="sub40_pop01">취소</button>
|
<button type="button" class="btnType02 tooltip-close" data-focus="list_popup_close" data-focus-next="sub40_pop01">취소</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn_right">
|
<div class="btn_right">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user