2023-10-13 09:21 청소년/성인 관리자 화면 수정

This commit is contained in:
myname 2023-10-13 09:21:34 +09:00
parent fbb6398521
commit 2c7d7e258f
38 changed files with 1857 additions and 657 deletions

View File

@ -19,5 +19,8 @@ public interface SchduleManageService {
List<SchduleManageVO> selectSchManageStatusList(SchduleManageVO schduleManageVO) throws Exception;
//관리자 일정 페이지
List<SchduleManageVO> selectSchManageStatusAdminList(SchduleManageVO schduleManageVO) throws Exception;
}

View File

@ -24,6 +24,12 @@ public class SchduleManageDAO extends EgovAbstractDAO {
return (List<SchduleManageVO>)list("schduleManageDAO.selectSchManageStatusList" , schduleManageVO);
}
//교육확정된 차시 리스트-강사배정 있거나, 또는 없거나
@SuppressWarnings("unchecked")
public List<SchduleManageVO> selectSchManageStatusAdminList(SchduleManageVO schduleManageVO)throws Exception{
return (List<SchduleManageVO>)list("schduleManageDAO.selectSchManageStatusAdminList" , schduleManageVO);
}
public SchduleManageVO selectSchManageDetail(SchduleManageVO schduleManageVO)throws Exception{
return (SchduleManageVO) select("schduleManageDAO.selectSchManageDetail" , schduleManageVO);
}

View File

@ -49,4 +49,9 @@ public class SchduleManageServiceImpl implements SchduleManageService {
public List<SchduleManageVO> selectSchManageStatusList(SchduleManageVO schduleManageVO) throws Exception {
return schduleManageDAO.selectSchManageStatusList(schduleManageVO);
}
@Override
public List<SchduleManageVO> selectSchManageStatusAdminList(SchduleManageVO schduleManageVO) throws Exception {
return schduleManageDAO.selectSchManageStatusAdminList(schduleManageVO);
}
}

View File

@ -267,7 +267,7 @@ public class SchduleManageController {
schduleManageVO.setSearchStartDt(schduleManageVO.getSearchStartDt().split("T")[0].replaceAll("-", ""));
return schduleManageService.selectSchManageStatusList(schduleManageVO);
return schduleManageService.selectSchManageStatusAdminList(schduleManageVO);
}
//청소년 일정 관리 excel
@ -282,7 +282,7 @@ public class SchduleManageController {
schduleManageVO.setSearchStartDt(schduleManageVO.getSearchStartDt().split("T")[0].replaceAll("-", ""));
List<SchduleManageVO> list= schduleManageService.selectSchManageStatusList(schduleManageVO);
List<SchduleManageVO> list= schduleManageService.selectSchManageStatusAdminList(schduleManageVO);
List<Object> excelData = new ArrayList<>();
@ -325,7 +325,7 @@ public class SchduleManageController {
schduleManageVO.setSearchStartDt(schduleManageVO.getSearchStartDt().split("T")[0].replaceAll("-", ""));
return schduleManageService.selectSchManageStatusList(schduleManageVO);
return schduleManageService.selectSchManageStatusAdminList(schduleManageVO);
}
//@RequestMapping(value = "/kccadr/sch/popup/SchduleManagerPopDetail.do")

View File

@ -710,12 +710,12 @@ public class CommonWebController {
//step1.전달 파라미터를 대상 쿼리로 변경 하기
String s_query = " SELECT '' AS edu_aplct_ord, '' AS edu_chasi_ord ";
String s_query = " SELECT '' AS edu_aplct_ord, '' AS edu_chasi_ord FROM DUAL ";
String[] s_arr = veEduAplctVO.getEduAplctOrd().split("__");
for (int i=0;i<s_arr.length;i++) {
String[] s_arr_in = s_arr[i].split("@");
if (s_arr_in.length==2) {
s_query = s_query + " UNION ALL SELECT '"+s_arr_in[0]+"' AS edu_aplct_ord, '"+s_arr_in[1]+"' AS edu_chasi_ord ";
s_query = s_query + " UNION ALL SELECT '"+s_arr_in[0]+"' AS edu_aplct_ord, '"+s_arr_in[1]+"' AS edu_chasi_ord FROM DUAL ";
}
}

View File

@ -2,8 +2,6 @@ package kcc.ve.cmm;
import java.util.List;
import javax.annotation.Resource;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService;
@ -48,10 +46,15 @@ public class VeInstrFeeMng {
if("20".equals(vEInstrFeeAcmdtVO.getEduSlctCd())){
// 도서벽지수당 계산(강의 차시 * 15,000원) 22.06.15 도서벽지 수당 중복하도록 요청으로 인한 변경
try {
if(vEInstrFeeAcmdtVO.getIsltnScholYn().equals("Y")) {
int isltnFee = Integer.parseInt(vEInstrFeeAcmdtVO.getChasi()) * Integer.parseInt(VeConstants.BASE_ISLTN_FEE);
vEInstrFeeAcmdtVO.setSpecialWorkAllow(Integer.toString(isltnFee));
}
}catch(Exception ex) {
System.out.println(ex.getMessage());
}
if(check) {

View File

@ -0,0 +1,33 @@
package kcc.ve.instr.tngrVisitEdu.asgnmInfo.service;
import java.util.List;
public interface VEAsgnmMIX2023Service {
//온라인 강사 배정 202310
List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_202310(VEInstrAsgnmVO paramVO) throws Exception;
//온라인 강사 배정 220210
List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_220210(VEInstrAsgnmVO paramVO) throws Exception;
//오프라인 강사 배정 202310
List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_202310(VEInstrAsgnmVO paramVO) throws Exception;
//오프라인 강사 배정 220210
List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_220210(VEInstrAsgnmVO paramVO) throws Exception;
//온라인 강사 배정 202310_adult
List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_202310_adult(VEInstrAsgnmVO paramVO) throws Exception;
//온라인 강사 배정 220210_adult
List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_220210_adult(VEInstrAsgnmVO paramVO) throws Exception;
//오프라인 강사 배정 202310_adult
List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_202310_adult(VEInstrAsgnmVO paramVO) throws Exception;
//오프라인 강사 배정 220210_adult
List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_220210_adult(VEInstrAsgnmVO paramVO) throws Exception;
}

View File

@ -25,6 +25,9 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
private String pnltyId; //패널티아이디
private String pnltyCn; //패널티내용
private String pnltyOrd; //패널티고유값
private String frstRegistPnttm; //등록일시
private String frstRegisterId; //등록자
private String lastUpdtPnttm; //수정일시
@ -141,6 +144,8 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
private String memoCn; //강사 메모
private String yr; //강사 메모
public String getMemoCn() {
return memoCn;
@ -718,5 +723,17 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
public void setMxmmChasi(String mxmmChasi) {
this.mxmmChasi = mxmmChasi;
}
public String getYr() {
return yr;
}
public void setYr(String yr) {
this.yr = yr;
}
public String getPnltyOrd() {
return pnltyOrd;
}
public void setPnltyOrd(String pnltyOrd) {
this.pnltyOrd = pnltyOrd;
}
}

View File

@ -0,0 +1,56 @@
package kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
@Repository("vEAsgnmMIX2023DAO")
public class VEAsgnmMIX2023DAO extends EgovAbstractDAO {
public List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_202310(VEInstrAsgnmVO paramVO) throws Exception {
List<VEInstrAsgnmVO> tlist = (List<VEInstrAsgnmVO>) list("VEAsgnmMIX2023DAO.selectInstrAsgnmOnPagingList_202310", paramVO);
return tlist;
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_202310(VEInstrAsgnmVO paramVO) throws Exception {
List<VEInstrAsgnmVO> tlist = (List<VEInstrAsgnmVO>) list("VEAsgnmMIX2023DAO.selectInstrAsgnmOffPagingList_202310", paramVO);
return tlist;
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_202310_adult(VEInstrAsgnmVO paramVO) throws Exception {
List<VEInstrAsgnmVO> tlist = (List<VEInstrAsgnmVO>) list("VEAsgnmMIX2023DAO.selectInstrAsgnmOffPagingList_202310_adult", paramVO);
return tlist;
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_202310_adult(VEInstrAsgnmVO paramVO) throws Exception {
List<VEInstrAsgnmVO> tlist = (List<VEInstrAsgnmVO>) list("VEAsgnmMIX2023DAO.selectInstrAsgnmOnPagingList_202310_adult", paramVO);
return tlist;
}
//old
public List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_220210(VEInstrAsgnmVO paramVO) throws Exception {
List<VEInstrAsgnmVO> tlist = (List<VEInstrAsgnmVO>) list("VEAsgnmMIXDAO.selectInstrAsgnmOnPagingList_220210", paramVO);
return tlist;
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_220210(VEInstrAsgnmVO paramVO) throws Exception {
List<VEInstrAsgnmVO> tlist = (List<VEInstrAsgnmVO>) list("VEAsgnmMIXDAO.selectInstrAsgnmOffPagingList_220210", paramVO);
return tlist;
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_220210_adult(VEInstrAsgnmVO paramVO) throws Exception {
List<VEInstrAsgnmVO> tlist = (List<VEInstrAsgnmVO>) list("VEAsgnmMIXDAO.selectInstrAsgnmOffPagingList_220210_adult", paramVO);
return tlist;
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_220210_adult(VEInstrAsgnmVO paramVO) throws Exception {
List<VEInstrAsgnmVO> tlist = (List<VEInstrAsgnmVO>) list("VEAsgnmMIXDAO.selectInstrAsgnmOnPagingList_220210_adult", paramVO);
return tlist;
}
}

View File

@ -0,0 +1,56 @@
package kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIX2023Service;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
@Service("vEAsgnmMIX2023Service")
public class VEAsgnmMIX2023ServiceImpl implements VEAsgnmMIX2023Service {
//차시
@Resource(name="vEAsgnmMIX2023DAO")
private VEAsgnmMIX2023DAO vEAsgnmMIX2023DAO;
public List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_202310(VEInstrAsgnmVO paramVO) throws Exception{
return vEAsgnmMIX2023DAO.selectInstrAsgnmOnPagingList_202310(paramVO);
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_202310(VEInstrAsgnmVO paramVO) throws Exception{
return vEAsgnmMIX2023DAO.selectInstrAsgnmOffPagingList_202310(paramVO);
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_202310_adult(VEInstrAsgnmVO paramVO) throws Exception{
return vEAsgnmMIX2023DAO.selectInstrAsgnmOffPagingList_202310_adult(paramVO);
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_202310_adult(VEInstrAsgnmVO paramVO) throws Exception{
return vEAsgnmMIX2023DAO.selectInstrAsgnmOnPagingList_202310_adult(paramVO);
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_220210(VEInstrAsgnmVO paramVO) throws Exception{
return vEAsgnmMIX2023DAO.selectInstrAsgnmOnPagingList_220210(paramVO);
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_220210(VEInstrAsgnmVO paramVO) throws Exception{
return vEAsgnmMIX2023DAO.selectInstrAsgnmOffPagingList_220210(paramVO);
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOffPagingList_220210_adult(VEInstrAsgnmVO paramVO) throws Exception{
return vEAsgnmMIX2023DAO.selectInstrAsgnmOffPagingList_220210_adult(paramVO);
}
public List<VEInstrAsgnmVO> selectInstrAsgnmOnPagingList_220210_adult(VEInstrAsgnmVO paramVO) throws Exception{
return vEAsgnmMIX2023DAO.selectInstrAsgnmOnPagingList_220210_adult(paramVO);
}
}

View File

@ -66,6 +66,6 @@ public class VELctrAreaMngServiceImpl implements VELctrAreaMngService {
}
public void insertNewYr(VELctrDetailVO paramVO) throws Exception {
vELctrAreaMngDAO.insertNewYr(paramVO);
//vELctrAreaMngDAO.insertNewYr(paramVO);
}
}

View File

@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.LoginVO;
@ -179,7 +180,9 @@ public class AreaLctrMngAdultController {
@Resource(name = "vEInstrMixService")
private VEInstrMixService vEInstrMixService;
//패널티순번
@Resource(name="pnltyOrdGnrService")
private EgovIdGnrService pnltyOrdGnrService;
/**
* 지역별 강의관리 목록 화면
@ -653,6 +656,10 @@ public class AreaLctrMngAdultController {
// 체크한 패널티 코드를 insert
for (int i=0; i<pnltyCd.length; i++) {
vEInstrAsgnmVO.setPnltyCd(pnltyCd[i]);
String s_pnltyOrd = pnltyOrdGnrService.getNextStringId();
vEInstrAsgnmVO.setPnltyOrd(s_pnltyOrd);
vEEduPnltyService.insert(vEInstrAsgnmVO);
}

View File

@ -214,15 +214,19 @@ public class EduAplctMngAdultServiceImpl implements EduAplctMngAdultService {
String[] s_trgt = request.getParameterValues("trgt");
String[] s_prsnl = request.getParameterValues("prsnl");
String[] s_eduChasiOrd = request.getParameterValues("eduChasiOrd");
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
vEEduChasiVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
//차시 전체 삭제
vVEEduChasiService.delete(vEEduChasiVO);
//기존값을 수정하는 것으로 변경 2023-10-11
//vVEEduChasiService.delete(vEEduChasiVO);
for (int i=0;i<s_eduHopeDt.length;i++) {
String eduChasiOrd = eduChasiGnrService.getNextStringId(); // 교육차시 순번
vEEduChasiVO.setEduChasiOrd(eduChasiOrd);
//String eduChasiOrd = eduChasiGnrService.getNextStringId(); // 교육차시 순번
vEEduChasiVO.setEduChasiOrd(s_eduChasiOrd[i]);
//vEEduChasiVO.setEduChasiOrd(eduChasiOrd);
//vEEduChasiVO.setEduHopeDt(s_eduHopeDt[i].replaceAll("[^0-9]",""));
vEEduChasiVO.setEduHopeDt(s_eduHopeDt[i]);
vEEduChasiVO.setStrtTm(s_strtTm[i].replaceAll("[^0-9]",""));
@ -230,7 +234,8 @@ public class EduAplctMngAdultServiceImpl implements EduAplctMngAdultService {
vEEduChasiVO.setLrnTm(s_lrnTm[i]);
vEEduChasiVO.setTrgt(s_trgt[i]);
vEEduChasiVO.setPrsnl(s_prsnl[i]);
vVEEduChasiService.insert(vEEduChasiVO);
//vVEEduChasiService.insert(vEEduChasiVO);
vVEEduChasiService.update(vEEduChasiVO);
}
return true;
}

View File

@ -491,7 +491,7 @@ public class EduAplctMngAdultController {
schduleManageVO.setSearchStartDt(schduleManageVO.getSearchStartDt().split("T")[0].replaceAll("-", ""));
List<SchduleManageVO> list= schduleManageService.selectSchManageStatusList(schduleManageVO);
List<SchduleManageVO> list= schduleManageService.selectSchManageStatusAdminList(schduleManageVO);
list = egovCryptoUtil.decryptSchduleManageVOList(list);
List<Object> excelData = new ArrayList<>();

View File

@ -30,6 +30,7 @@ import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.VEPagingUtil;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIX2023Service;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduChasiInstrAsgnmService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService;
@ -123,6 +124,10 @@ public class EduCnfrmMngAdultController {
@Resource(name = "vEAsgnmMIXService")
private VEAsgnmMIXService vEAsgnmMIXService;
// 강의배정정보2023
@Resource(name = "vEAsgnmMIX2023Service")
private VEAsgnmMIX2023Service vEAsgnmMIX2023Service;
// 숙박신청정보
@Resource(name = "vEAcmdtAplctService")
private VEAcmdtAplctService vEAcmdtAplctService;
@ -336,10 +341,12 @@ public class EduCnfrmMngAdultController {
System.out.println("===============================================");
if ("10".equals(vEEduAplctVO.getEduSlctCd())) { //10-온라인, 20-오프라인
selectVEInstrAsgnmVOList = vEAsgnmMIXService.selectInstrAsgnmOnPagingList_220210_adult(vEInstrAsgnmVO);
//selectVEInstrAsgnmVOList = vEAsgnmMIXService.selectInstrAsgnmOnPagingList_220210_adult(vEInstrAsgnmVO);
selectVEInstrAsgnmVOList = vEAsgnmMIX2023Service.selectInstrAsgnmOnPagingList_202310_adult(vEInstrAsgnmVO);
}else {
selectVEInstrAsgnmVOList = vEAsgnmMIXService.selectInstrAsgnmOffPagingList_220210_adult(vEInstrAsgnmVO);
//selectVEInstrAsgnmVOList = vEAsgnmMIXService.selectInstrAsgnmOffPagingList_220210_adult(vEInstrAsgnmVO);
selectVEInstrAsgnmVOList = vEAsgnmMIX2023Service.selectInstrAsgnmOffPagingList_202310_adult(vEInstrAsgnmVO);
}

View File

@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.LoginVO;
@ -180,6 +181,11 @@ public class AreaLctrMngTngrController {
@Resource(name = "vEAStngService")
private VEAStngService vEAStngService;
//pnltyOrdGnrService
//패널티순번
@Resource(name="pnltyOrdGnrService")
private EgovIdGnrService pnltyOrdGnrService;
/**
* 지역별 강의관리 목록 화면
*/
@ -763,6 +769,10 @@ public class AreaLctrMngTngrController {
vo.setPnltyCd(vEInstrAsgnmVO.getPnltyCd());
vEInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vo.setUserId(userId[i]);
String s_pnltyOrd = pnltyOrdGnrService.getNextStringId();
vo.setPnltyOrd(s_pnltyOrd);
vEEduPnltyService.insert(vo);
}
}
@ -782,6 +792,10 @@ public class AreaLctrMngTngrController {
// 체크한 패널티 코드를 insert
for (int i=0; i<pnltyCd.length; i++) {
vEInstrAsgnmVO.setPnltyCd(pnltyCd[i]);
String s_pnltyOrd = pnltyOrdGnrService.getNextStringId();
vEInstrAsgnmVO.setPnltyOrd(s_pnltyOrd);
vEEduPnltyService.insert(vEInstrAsgnmVO);
}

View File

@ -681,7 +681,7 @@ public class EduAplctMngTngrController {
schduleManageVO.setSearchStartDt(schduleManageVO.getSearchStartDt().split("T")[0].replaceAll("-", ""));
List<SchduleManageVO> list= schduleManageService.selectSchManageStatusList(schduleManageVO);
List<SchduleManageVO> list= schduleManageService.selectSchManageStatusAdminList(schduleManageVO);
list = egovCryptoUtil.decryptSchduleManageVOList(list);
List<Object> excelData = new ArrayList<>();

View File

@ -32,6 +32,7 @@ import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.VEPagingUtil;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIX2023Service;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduChasiInstrAsgnmService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService;
@ -126,6 +127,10 @@ public class EduCnfrmMngTngrController {
@Resource(name = "vEAsgnmMIXService")
private VEAsgnmMIXService vEAsgnmMIXService;
// 강의배정정보2023
@Resource(name = "vEAsgnmMIX2023Service")
private VEAsgnmMIX2023Service vEAsgnmMIX2023Service;
// 숙박신청정보
@Resource(name = "vEAcmdtAplctService")
private VEAcmdtAplctService vEAcmdtAplctService;
@ -287,6 +292,7 @@ public class EduCnfrmMngTngrController {
//로그인 처리====================================
//0.pageing step0
//온라인 오프라인 여부 확인
//배치대상신청정보
vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO);
System.out.println(vEEduAplctVO.getEduSlctCd()); //10-온라인, 20-오프라인
@ -316,16 +322,17 @@ public class EduCnfrmMngTngrController {
//System.out.println(vEInstrAsgnmVO.getInstrNm());
//해당 교육 차시에 속한 달의 강사 교육접수차시 가져오기
//현재 강사 가져오기
//현재 강사 가져오기-최대차시값을 가져온다.
VEInstrAsgnmVO t_vEInstrAsgnmVO = vEAsgnmMIXService.selectTtlMntChasiSumDetail(vEInstrAsgnmVO);
vEInstrAsgnmVO.setMxmmChasi(t_vEInstrAsgnmVO.getMxmmChasi()); //최대 차시 제한을 넣는다.
if ("10".equals(vEEduAplctVO.getEduSlctCd())) { //10-온라인, 20-오프라인
selectVEInstrAsgnmVOList = vEAsgnmMIXService.selectInstrAsgnmOnPagingList_220210(vEInstrAsgnmVO);
selectVEInstrAsgnmVOList = vEAsgnmMIX2023Service.selectInstrAsgnmOnPagingList_202310(vEInstrAsgnmVO);
}else {
selectVEInstrAsgnmVOList = vEAsgnmMIXService.selectInstrAsgnmOffPagingList_220210(vEInstrAsgnmVO);
//selectVEInstrAsgnmVOList = vEAsgnmMIX2023Service.selectInstrAsgnmOffPagingList_220210(vEInstrAsgnmVO);
selectVEInstrAsgnmVOList = vEAsgnmMIX2023Service.selectInstrAsgnmOffPagingList_202310(vEInstrAsgnmVO);
}

View File

@ -792,6 +792,7 @@ public class EduRsltMngTngrController {
//로그인 처리====================================
try {
//담당자 검색 이름 암호화
if("2".equals(vEEduAplctVO.getSearchCondition())) {
vEEduAplctVO.setSearchKeyword(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword()));
@ -812,6 +813,8 @@ public class EduRsltMngTngrController {
vEEduAplctVO.setSearchAsgnmAprvlCd("30");
vEEduAplctVO.setSearchTableJoin("tngrResult");
System.out.println("11111111111111113");
vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectTngrFeePagingList(vEEduAplctVO);
VEEduAplctVO vo = new VEEduAplctVO();
@ -826,6 +829,8 @@ public class EduRsltMngTngrController {
vEEduAplctVOList.get(i).setInstrFeeSum(Integer.toString(vEInstrFeeAcmdtVO.getInstrFeeSum()));
}
System.out.println("11111111111111112");
//3.pageing step3
paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo);
@ -836,10 +841,13 @@ public class EduRsltMngTngrController {
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEEduAplctVOList);
System.out.println("1111111111111111");
//대상 리스트, 페이징 정보 전달
//model.addAttribute("resultList", vEEduAplctVOList);
}catch(Exception ex) {
ex.printStackTrace();
}
return "oprtn/tngrVisitEdu/eduInstrFeeMngList";
}

View File

@ -2929,7 +2929,7 @@
<property name="strategy" ref="lctrPsblPrdOrdStrategy" /><!-- strategy 값 수정 -->
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="RNDS_ORD"/><!-- tableName 값 수정 -->
<property name="tableName" value="LCTR_PSBL_PRD_ORD"/><!-- tableName 값 수정 -->
</bean>
<!-- 과정 ID Generation Strategy Config -->
<bean name="lctrPsblPrdOrdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
@ -2938,4 +2938,19 @@
<property name="fillChar" value="0" />
</bean>
<!-- 21.패널티 고유순번 ve_edu_pnlty -->
<bean name="pnltyOrdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="pnltyOrdStrategy" /><!-- strategy 값 수정 -->
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="PNLTY_ORD"/><!-- tableName 값 수정 -->
</bean>
<!-- 과정 ID Generation Strategy Config -->
<bean name="pnltyOrdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
<property name="prefix" value="pnltyOrd_" /><!-- prefix 값 수정 -->
<property name="cipers" value="11" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
</beans>

View File

@ -65,6 +65,7 @@
<!-- 강사배정복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEAsgnm_MIX_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEAsgnm_MIX_2023_SQL_Tibero.xml"/>
<!-- 교육보고 -->

View File

@ -58,20 +58,25 @@
</update>
<select id="schduleManageDAO.selectSchManageStatusList" parameterClass="SchduleManageVO" resultClass="SchduleManageVO" remapResults="true">
/* schduleManageDAO.selectSchManageStatusList */
SELECT aa.title
, aa.content
, aa.schSeq
, aa.schChasiSeq
, to_char( TO_DATETIME(CONCAT(aa.edu_hope_dt, aa.strt_tm),'YYYYMMDDHH24MI'), 'YYYY-MM-DD HH24:MI:SS' ) AS "start"
, to_char( TO_DATETIME(CONCAT(aa.edu_hope_dt, aa.strt_tm),'YYYYMMDDHH24MI'), 'YYYY-MM-DD' ) AS dateTxt
, to_char( TO_DATETIME(CONCAT(aa.edu_hope_dt, aa.strt_tm),'YYYYMMDDHH24MI'), 'HH24:MI:SS' ) AS timeTxt
, CONCAT(TO_CHAR( TO_DATETIME(CONCAT(aa.edu_hope_dt, aa.strt_tm),'YYYYMMDDHH24MI'), 'YYYY-MM-DD HH24:MI' ), '~',TO_CHAR( TO_DATETIME(CONCAT(aa.edu_hope_dt, AA.END_tm),'YYYYMMDDHH24MI'), 'HH24:MI' )) AS eduDate
, to_char( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'YYYY-MM-DD HH24:MI:SS' ) AS "start"
, to_char( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'YYYY-MM-DD' ) AS dateTxt
, to_char( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'HH24:MI:SS' ) AS timeTxt
,
TO_CHAR( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'YYYY-MM-DD HH24:MI' )
, '~'
,TO_CHAR( TO_DATE(aa.edu_hope_dt|| AA.END_tm,'YYYY.MM.DDHH24MI'), 'HH24:MI' )
AS eduDate
, aa.url
, aa.allDay
, aa.eduSlctCd
, aa.insttDivCd
, aa.eduMd
, aa.addr + ' ' + aa.addrDetail AS addrDetail
, aa.addr || ' ' || aa.addrDetail AS addrDetail
, aa.chrgNm
, aa.jobNm
, aa.clphone
@ -83,7 +88,7 @@
, aa.prsnl
, aa.instrNm
, IF(aa.isltnScholYn = 'Y', '예', '아니오') AS isltnScholYn
, DECODE(aa.isltnScholYn , 'Y', '예', '아니오') AS isltnScholYn
, aa.eduPlace
<isEqual property="lctrDivCd" compareValue="10">
, aa.divCd
@ -142,7 +147,7 @@
, ve_prcs h
</isEqual>
WHERE 1=1
AND IFNULL(A.USE_YN, 'Y') != 'N'
AND NVL(A.USE_YN, 'Y') != 'N'
<isNotEmpty property="aprvlCd">
AND A.aprvl_cd = #aprvlCd#
</isNotEmpty>
@ -151,11 +156,12 @@
</isNotEmpty>
AND a.edu_aplct_ord=b.edu_aplct_ord
AND length(b.edu_hope_dt)=8
AND length(b.edu_hope_dt)=10
AND length(b.strt_tm)=4
AND length(b.end_tm)=4
<isNotEmpty property="searchStartDt">
AND SUBSTRING(b.edu_hope_dt,1,6) = SUBSTRING(DATE_FORMAT(DATE_ADD(TO_DATE(#searchStartDt#,'YYYYMMDD'), INTERVAL 7 day),'%Y%m%d'),1,6)
AND SUBSTRING(b.edu_hope_dt,1,7)
= TO_CHAR(TO_DATE(#searchStartDt#,'YYYYMMDD')+7,'YYYY.MM')
</isNotEmpty>
AND c.code_id = 'VE0007'
AND c.code = a.edu_slct_cd
@ -180,7 +186,134 @@
AND h.prcs_ord = a.edu_cn
</isEqual>
)aa
/*
ORDER BY START
*/
</select>
<!-- 관리자 일정 달력 -->
<select id="schduleManageDAO.selectSchManageStatusAdminList" parameterClass="SchduleManageVO" resultClass="SchduleManageVO" remapResults="true">
/* schduleManageDAO.selectSchManageStatusList */
SELECT aa.title
, aa.content
, aa.schSeq
, aa.schChasiSeq
, to_char( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'YYYY-MM-DD HH24:MI:SS' ) AS "start"
, to_char( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'YYYY-MM-DD' ) AS dateTxt
, to_char( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'HH24:MI:SS' ) AS timeTxt
,
TO_CHAR( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'YYYY-MM-DD HH24:MI' )
|| '~'
||TO_CHAR( TO_DATE(aa.edu_hope_dt|| AA.END_tm,'YYYY.MM.DDHH24MI'), 'HH24:MI' )
AS eduDate
, aa.url
, aa.allDay
, aa.eduSlctCd
, aa.insttDivCd
, aa.eduMd
, aa.addr || ' ' || aa.addrDetail AS addrDetail
, aa.chrgNm
, aa.jobNm
, aa.clphone
, aa.phone
, aa.email
, aa.hopeSbjct
, aa.rqstCn
, aa.trgt
, aa.prsnl
, aa.instrNm
, DECODE(aa.isltnScholYn , 'Y', '예', '아니오') AS isltnScholYn
, aa.eduPlace
FROM(
SELECT
<isNotEmpty property="lctrDivCd">
<isEqual property="lctrDivCd" compareValue="10">
a.schol_instt_nm title ,
a.schol_instt_nm content ,
</isEqual>
<isEqual property="lctrDivCd" compareValue="20">
a.instt_nm title ,
a.instt_nm content ,
</isEqual>
</isNotEmpty>
a.edu_aplct_ord schSeq ,
b.edu_chasi_ord schChasiSeq ,
b.edu_hope_dt,
b.strt_tm,
b.end_tm,
'' url ,
0 allDay,
c.code_nm eduSlctCd,
d.code_nm insttDivCd,
a.EDU_MD eduMd,
a.ADDR addr,
a.ADDR_DETAIL addrDetail,
a.CHRG_NM chrgNm,
a.JOB_NM jobNm,
a.CLPHONE clphone,
a.PHONE phone,
a.EMAIL email,
a.HOPE_SBJCT hopeSbjct,
a.RQST_CN rqstCn,
b.trgt trgt,
b.prsnl prsnl,
f.instr_nm instrNm,
a.isltn_schol_yn isltnScholYn,
a.edu_place eduPlace
FROM ve_edu_aplct a
, ve_edu_chasi b
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm e
ON(
e.EDU_APLCT_ORD = b.EDU_APLCT_ORD
AND e.EDU_CHASI_ORD = b.EDU_CHASI_ORD
)
LEFT OUTER JOIN ve_instr_detail f
ON(
f.user_id = e.user_id
AND f.use_yn = 'Y'
AND f.instr_div = #lctrDivCd#
)
, lettccmmndetailcode c
, lettccmmndetailcode d
WHERE 1=1
AND NVL(A.USE_YN, 'Y') != 'N'
<isNotEmpty property="aprvlCd">
AND A.aprvl_cd = #aprvlCd#
</isNotEmpty>
<isNotEmpty property="lctrDivCd">
AND A.lctr_div_cd = #lctrDivCd#
</isNotEmpty>
AND a.edu_aplct_ord=b.edu_aplct_ord
AND length(b.edu_hope_dt)=10
AND length(b.strt_tm)=4
AND length(b.end_tm)=4
<isNotEmpty property="searchStartDt">
AND SUBSTRING(b.edu_hope_dt,1,7)
= TO_CHAR(TO_DATE(#searchStartDt#,'YYYYMMDD')+7,'YYYY.MM')
</isNotEmpty>
AND c.code_id = 'VE0007'
AND c.code = a.edu_slct_cd
<isNotEmpty property="lctrDivCd">
<isEqual property="lctrDivCd" compareValue="10">
AND d.code_id = 'VE0009'
AND d.code = a.schol_div_cd
</isEqual>
<isEqual property="lctrDivCd" compareValue="20">
AND d.code_id = 'VE0012'
AND d.code = a.instt_div_cd
</isEqual>
</isNotEmpty>
)aa
ORDER BY eduDate
</select>
<select id="schduleManageDAO.selectSchManageStatusList_ori" parameterClass="SchduleManageVO" resultClass="SchduleManageVO">

View File

@ -113,6 +113,7 @@
<!-- 강사 정보 R -->
<select id="VEAcmdtAplctDAO.selectDetailByUser" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
/* VEAcmdtAplctDAO.selectDetailByUser */
SELECT
a.schol_instt_nm AS scholInsttNm
, a.addr AS addr
@ -153,7 +154,7 @@
AND b.edu_chasi_ord = #eduChasiOrd#
</isEmpty>
<isNotEmpty property="yesterdayAcmdt">
AND b.edu_hope_dt = TO_CHAR(ADDDATE(TO_DATE(#yesterdayAcmdt#, 'YYYYMMDD'), -1),'YYYYMMDD')
AND b.edu_hope_dt = TO_CHAR(TO_DATE(#yesterdayAcmdt#, 'YYYY.MM.DD')-1,'YYYY.MM.DD')
AND d.user_id = #frstRegisterId#
ORDER BY b.end_tm DESC limit 1
</isNotEmpty>

View File

@ -0,0 +1,787 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<!-- 찾교 교육 차시 강사 배정 테이블 -->
<sqlMap namespace="VEAsgnmMIX2023">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrAsgnmVO" type="kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEAsgnmMIX2023DAO.table_name">
ve_edu_chasi_instr_asgnm
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEAsgnmMIX2023DAO.column_name">
edu_aplct_ord,
edu_chasi_ord,
user_id,
pnlty_cd,
pnlty_pnttm,
pnlty_id,
pnlty_cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
prvs_srvy_ord,
aft_srvy_ord,
gnrl_srvy_ord,
lctr_plan_atch_file_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEAsgnmMIX2023DAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
a.user_id AS userId,
a.pnlty_cd AS pnltyCd,
a.pnlty_pnttm AS pnltyPnttm,
a.pnlty_id AS pnltyId,
a.pnlty_cn AS pnltyCn,
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
a.prvs_srvy_ord AS prvsSrvyOrd,
a.aft_srvy_ord AS aftSrvyOrd,
a.gnrl_srvy_ord AS gnrlSrvyOrd,
a.lctr_plan_atch_file_id AS lctrPlanAtchFileId
</sql>
<!-- 강사자동배정 페이지 리스트 청소년 온라인 202310-->
<select id="VEAsgnmMIX2023DAO.selectInstrAsgnmOnPagingList_202310" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
/*
온라인 청소년 - VEAsgnmMIX2023DAO.selectInstrAsgnmOnPagingList_202310
*/
/* 차시 신청 정보 와 신청 학교 주소 정보 + 학교 소재지명 + 신청 가능한 강사 리스트( 주소, 설정 정보 and 패널티) */
SELECT COUNT(1) OVER() AS totCnt ,
aaa.edu_aplct_ord AS eduAplctOrd,
aaa.edu_chasi_ord AS eduChasiOrd,
aaa.stndrd_schol_cd AS stndrdScholCd,
aaa.isltn_schol_yn AS isltnScholYn,
aaa.edu_slct_cd AS eduSlctCd,
aaa.edu_hope_dt AS eduHopeDt,
aaa.strt_tm AS strtTm,
aaa.end_tm AS endTm,
aaa.loc_nm AS locNm,
aaa.dy ,
/*
aaa.new_addr ,
*/
bbb.instr_div AS instrDiv,
bbb.user_id AS userId,
bbb.lctr_stng_ord AS lctrStngOrd,
/*
aaa.one_depth_nm ,
aaa.two_depth_nm ,
*/
aaa.addr AS sAddr ,
bbb.addr AS iAddr ,
/* 학교주소 */
/*
SUBSTRING_INDEX(aaa.addr,' ',1) AS sAddrTop ,
SUBSTRING_INDEX(SUBSTRING_INDEX(aaa.addr,' ',2),' ',-1) AS sAddrSec ,
*/
/* 강사주소 */
/*
SUBSTRING_INDEX(bbb.addr,' ',1) AS iAddrTop ,
SUBSTRING_INDEX(SUBSTRING_INDEX(bbb.addr,' ',2),' ',-1) AS iAddrSec ,
*/
/* 강사거주지 */
/*
SUBSTRING_INDEX(bbb.rsdne,'(',1) AS rAddrTop ,
SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(bbb.rsdne,')',1),'(',-1),' ',1) AS rAddrSec ,
*/
/*
SUBSTRING_INDEX(bbb.addr,' ',1) AS sAddrTop ,
*/
bbb.addr_detail AS addrDetail,
bbb.rsdne ,
bbb.instr_nm AS instrNm,
bbb.sun_lctr_yn AS sunLctrYn,
bbb.mon_lctr_yn AS monLctrYn,
bbb.tue_lctr_yn AS tueLctrYn,
bbb.wed_lctr_yn AS wedLctrYn,
bbb.thu_lctr_yn AS thuLctrYn,
bbb.fri_lctr_yn AS friLctrYn,
bbb.sat_lctr_yn AS satLctrYn,
bbb.zoom_yn AS zoomYn,
bbb.yr_mxmm_asgnm_tm AS yrMxmmAsgnmTm,
bbb.mnt_mnmm_tm AS mntMnmmTm,
bbb.onln_psbl_yn AS onlnPsblYn,
bbb.isltn_psbl_yn AS isltnPsblYn,
bbb.cntns_lctr_psbl_yn cntnsLctrPsblYn,
bbb.asgnm_tm_1 AS asgnmTm1,
bbb.asgnm_tm_2 AS asgnmTm2,
bbb.asgnm_tm_3 AS asgnmTm3,
bbb.asgnm_tm_4 AS asgnmTm4,
bbb.asgnm_tm_5 AS asgnmTm5,
bbb.asgnm_tm_6 AS asgnmTm6,
bbb.asgnm_tm_7 AS asgnmTm7,
bbb.asgnm_tm_8 AS asgnmTm8,
bbb.asgnm_tm_9 AS asgnmTm9,
bbb.asgnm_tm_10 AS asgnmTm10,
bbb.asgnm_tm_11 AS asgnmTm11,
bbb.asgnm_tm_12 AS asgnmTm12,
eee.pnlty_cnt AS pnltyCnt
FROM (
/* 차시 신청 정보 와 신청 학교 주소 정보 + 학교 소재지명 */
SELECT aa.edu_aplct_ord ,
aa.edu_chasi_ord ,
aa.stndrd_schol_cd ,
aa.isltn_schol_yn ,
aa.edu_slct_cd ,
aa.edu_hope_dt ,
aa.strt_tm ,
aa.end_tm ,
aa.dy ,
cc.loc_nm ,
aa.addr ,
aa.lctr_div_cd
FROM (
/* 차시 신청 정보 와 신청 학교 주소 정보 */
SELECT b.edu_aplct_ord ,
a.edu_chasi_ord ,
b.stndrd_schol_cd
/* 학교고유 번호 지역 확인용*/
,
b.isltn_schol_yn
/* y-고립, n-*/
,
b.edu_slct_cd
/* 20-off , 10- on */
,
a.edu_hope_dt ,
TO_DATE(a.edu_hope_dt,'YYYY.MM.DD') d_date ,
TO_DATE(a.edu_hope_dt||a.strt_tm,'YYYY.MM.DDHH24MI') d_start ,
TO_DATE(a.edu_hope_dt||a.end_tm,'YYYY.MM.DDHH24MI') d_end ,
TO_CHAR(TO_DATE(a.edu_hope_dt,'YYYY.MM.DD'),'DY') dy ,
a.strt_tm ,
a.end_tm ,
a.lrn_tm ,
b.addr,
b.lctr_div_cd
FROM ve_edu_chasi a ,
ve_edu_aplct b
WHERE 1 =1
AND a.edu_aplct_ord=b.edu_aplct_ord
AND a.edu_aplct_ord=#eduAplctOrd#
AND a.edu_chasi_ord=#eduChasiOrd#
)
aa ,
ve_schol cc
WHERE 1 =1
AND aa.stndrd_schol_cd=cc.stndrd_schol_cd
)
aaa ,
(
/* 신청 가능한 전체 강사 리스트 */
SELECT c.* ,
b.rsdne ,
b.instr_nm ,
b.addr ,
b.addr_detail
FROM ve_instr a ,
ve_instr_detail b ,
ve_lctr_stng c
WHERE 1 =1
AND b.user_id =a.user_id
AND b.use_yn ='Y' /* 활동중인 강사 */
AND c.use_yn ='Y' /* 사용중인강의설정 */
AND b.instr_div=c.instr_div
AND b.user_id =c.user_id
AND NVL(b.qlfct_end_yn,'N')='N'
/*
(
b.qlfct_end_yn='N' OR b.qlfct_end_yn IS NULL
)
*/
)
bbb
LEFT OUTER JOIN
(
/* 강사의 패널티 정보를 가져온다. */
SELECT a.user_id ,
COUNT(*) pnlty_cnt
FROM ve_edu_chasi_instr_asgnm a ,
ve_edu_pnlty d
WHERE 1 =1
AND a.edu_aplct_ord=d.edu_aplct_ord
AND a.edu_chasi_ord=d.edu_chasi_ord
GROUP BY a.user_id
)
eee
ON (
bbb.user_id=eee.user_id
)
WHERE aaa.lctr_div_cd = bbb.instr_div
<isNotEmpty property="searchKeyword">
AND bbb.instr_nm = #searchKeyword#
</isNotEmpty>
</select>
<!-- 강사자동배정 페이지 리스트 청소년 오프라인 202310-->
<select id="VEAsgnmMIX2023DAO.selectInstrAsgnmOffPagingList_202310" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
/*
오프라인 청소년 - VEAsgnmMIX2023DAO.selectInstrAsgnmOffPagingList_202310
*/
/* 차시 신청 정보 와 신청 학교 주소 정보 + 학교 소재지명 + 신청 가능한 강사 리스트( 주소, 설정 정보 and 패널티) */
SELECT COUNT(1) OVER() AS totCnt ,
aaa.edu_aplct_ord AS eduAplctOrd,
aaa.edu_chasi_ord AS eduChasiOrd,
aaa.stndrd_schol_cd AS stndrdScholCd,
aaa.isltn_schol_yn AS isltnScholYn,
aaa.edu_slct_cd AS eduSlctCd,
aaa.edu_hope_dt AS eduHopeDt,
aaa.strt_tm AS strtTm,
aaa.end_tm AS endTm,
aaa.loc_nm AS locNm,
aaa.dy ,
/*
aaa.new_addr ,
*/
bbb.instr_div AS instrDiv,
bbb.user_id AS userId,
bbb.lctr_stng_ord AS lctrStngOrd,
/*
aaa.one_depth_nm ,
aaa.two_depth_nm ,
*/
aaa.addr AS sAddr ,
bbb.addr AS iAddr ,
/* 학교주소 */
/*
SUBSTRING_INDEX(aaa.addr,' ',1) AS sAddrTop ,
SUBSTRING_INDEX(SUBSTRING_INDEX(aaa.addr,' ',2),' ',-1) AS sAddrSec ,
*/
/* 강사주소 */
/*
SUBSTRING_INDEX(bbb.addr,' ',1) AS iAddrTop ,
SUBSTRING_INDEX(SUBSTRING_INDEX(bbb.addr,' ',2),' ',-1) AS iAddrSec ,
*/
/* 강사거주지 */
/*
SUBSTRING_INDEX(bbb.rsdne,'(',1) AS rAddrTop ,
SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(bbb.rsdne,')',1),'(',-1),' ',1) AS rAddrSec ,
*/
/*
SUBSTRING_INDEX(bbb.addr,' ',1) AS sAddrTop ,
*/
bbb.addr_detail AS addrDetail,
bbb.rsdne ,
bbb.instr_nm AS instrNm,
bbb.sun_lctr_yn AS sunLctrYn,
bbb.mon_lctr_yn AS monLctrYn,
bbb.tue_lctr_yn AS tueLctrYn,
bbb.wed_lctr_yn AS wedLctrYn,
bbb.thu_lctr_yn AS thuLctrYn,
bbb.fri_lctr_yn AS friLctrYn,
bbb.sat_lctr_yn AS satLctrYn,
bbb.zoom_yn AS zoomYn,
bbb.yr_mxmm_asgnm_tm AS yrMxmmAsgnmTm,
bbb.mnt_mnmm_tm AS mntMnmmTm,
bbb.onln_psbl_yn AS onlnPsblYn,
bbb.isltn_psbl_yn AS isltnPsblYn,
bbb.cntns_lctr_psbl_yn cntnsLctrPsblYn,
bbb.asgnm_tm_1 AS asgnmTm1,
bbb.asgnm_tm_2 AS asgnmTm2,
bbb.asgnm_tm_3 AS asgnmTm3,
bbb.asgnm_tm_4 AS asgnmTm4,
bbb.asgnm_tm_5 AS asgnmTm5,
bbb.asgnm_tm_6 AS asgnmTm6,
bbb.asgnm_tm_7 AS asgnmTm7,
bbb.asgnm_tm_8 AS asgnmTm8,
bbb.asgnm_tm_9 AS asgnmTm9,
bbb.asgnm_tm_10 AS asgnmTm10,
bbb.asgnm_tm_11 AS asgnmTm11,
bbb.asgnm_tm_12 AS asgnmTm12,
eee.pnlty_cnt AS pnltyCnt
FROM (
/* 차시 신청 정보 와 신청 학교 주소 정보 + 학교 소재지명 */
SELECT aa.edu_aplct_ord ,
aa.edu_chasi_ord ,
aa.stndrd_schol_cd ,
aa.isltn_schol_yn ,
aa.edu_slct_cd ,
aa.edu_hope_dt ,
aa.strt_tm ,
aa.end_tm ,
aa.dy ,
cc.loc_nm ,
aa.addr ,
aa.lctr_div_cd
FROM (
/* 차시 신청 정보 와 신청 학교 주소 정보 */
SELECT b.edu_aplct_ord ,
a.edu_chasi_ord ,
b.stndrd_schol_cd
/* 학교고유 번호 지역 확인용*/
,
b.isltn_schol_yn
/* y-고립, n-*/
,
b.edu_slct_cd
/* 20-off , 10- on */
,
a.edu_hope_dt ,
TO_DATE(a.edu_hope_dt,'YYYY.MM.DD') d_date ,
TO_DATE(a.edu_hope_dt||a.strt_tm,'YYYY.MM.DDHH24MI') d_start ,
TO_DATE(a.edu_hope_dt||a.end_tm,'YYYY.MM.DDHH24MI') d_end ,
TO_CHAR(TO_DATE(a.edu_hope_dt,'YYYY.MM.DD'),'DY') dy ,
a.strt_tm ,
a.end_tm ,
a.lrn_tm ,
b.addr,
b.lctr_div_cd
FROM ve_edu_chasi a ,
ve_edu_aplct b
WHERE 1 =1
AND a.edu_aplct_ord=b.edu_aplct_ord
AND a.edu_aplct_ord=#eduAplctOrd#
AND a.edu_chasi_ord=#eduChasiOrd#
)
aa ,
ve_schol cc
WHERE 1 =1
AND aa.stndrd_schol_cd=cc.stndrd_schol_cd
)
aaa ,
(
/* 신청 가능한 전체 강사 리스트 */
SELECT c.* ,
b.rsdne ,
b.instr_nm ,
b.addr ,
b.addr_detail
FROM ve_instr a ,
ve_instr_detail b ,
ve_lctr_stng c
WHERE 1 =1
AND b.user_id =a.user_id
AND b.use_yn ='Y' /* 활동중인 강사 */
AND c.use_yn ='Y' /* 사용중인강의설정 */
AND b.instr_div=c.instr_div
AND b.user_id =c.user_id
AND NVL(b.qlfct_end_yn,'N')='N'
/*
(
b.qlfct_end_yn='N' OR b.qlfct_end_yn IS NULL
)
*/
)
bbb
LEFT OUTER JOIN
(
/* 강사의 패널티 정보를 가져온다. */
SELECT a.user_id ,
COUNT(*) pnlty_cnt
FROM ve_edu_chasi_instr_asgnm a ,
ve_edu_pnlty d
WHERE 1 =1
AND a.edu_aplct_ord=d.edu_aplct_ord
AND a.edu_chasi_ord=d.edu_chasi_ord
GROUP BY a.user_id
)
eee
ON (
bbb.user_id=eee.user_id
)
WHERE aaa.lctr_div_cd = bbb.instr_div
<isNotEmpty property="searchKeyword">
AND bbb.instr_nm = #searchKeyword#
</isNotEmpty>
</select>
<!-- 강사자동배정 페이지 리스트 성인 온라인 202310-->
<select id="VEAsgnmMIX2023DAO.selectInstrAsgnmOnPagingList_202310_adult" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
/*
온라인 성인 - VEAsgnmMIX2023DAO.selectInstrAsgnmOnPagingList_202310_adult
*/
/* 차시 신청 정보 와 신청 학교 주소 정보 + 학교 소재지명 + 신청 가능한 강사 리스트( 주소, 설정 정보 and 패널티) */
SELECT aaa.edu_aplct_ord AS eduAplctOrd,
aaa.edu_chasi_ord AS eduChasiOrd,
aaa.stndrd_schol_cd AS stndrd_schol_cd,
aaa.isltn_schol_yn AS isltnScholYn,
aaa.edu_slct_cd AS eduSlctCd,
aaa.edu_hope_dt AS eduHopeDt,
aaa.strt_tm AS strtTm,
aaa.end_tm AS eduTm,
aaa.dy ,
/*
aaa.new_addr ,
*/
bbb.instr_div AS instrDiv,
bbb.user_id AS userId,
/*
bbb.lctr_stng_ord ,
*/
/*
aaa.one_depth_nm ,
aaa.two_depth_nm ,
*/
aaa.addr AS sAddr ,
bbb.addr AS iAddr ,
bbb.addr_detail AS addrDetail,
bbb.rsdne ,
bbb.instr_nm AS instrNm,
/*
bbb.sun_lctr_yn ,
bbb.mon_lctr_yn ,
bbb.tue_lctr_yn ,
bbb.wed_lctr_yn ,
bbb.thu_lctr_yn ,
bbb.fri_lctr_yn ,
bbb.sat_lctr_yn ,
bbb.zoom_yn ,
bbb.yr_mxmm_asgnm_tm ,
bbb.mnt_mnmm_tm ,
bbb.onln_psbl_yn ,
bbb.isltn_psbl_yn ,
bbb.cntns_lctr_psbl_yn ,
bbb.prfrn_fld_cd ,
bbb.asgnm_tm_1 ,
bbb.asgnm_tm_2 ,
bbb.asgnm_tm_3 ,
bbb.asgnm_tm_4 ,
bbb.asgnm_tm_5 ,
bbb.asgnm_tm_6 ,
bbb.asgnm_tm_7 ,
bbb.asgnm_tm_8 ,
bbb.asgnm_tm_9 ,
bbb.asgnm_tm_10 ,
bbb.asgnm_tm_11 ,
bbb.asgnm_tm_12 ,
*/
bbb.div_cd AS divCd,
eee.pnlty_cnt AS pnltyCnt
FROM (
/* 차시 신청 정보 와 신청 학교 주소 정보 + 학교 소재지명 */
SELECT aa.edu_aplct_ord ,
aa.edu_chasi_ord ,
aa.stndrd_schol_cd ,
aa.isltn_schol_yn ,
aa.edu_slct_cd ,
aa.edu_hope_dt ,
aa.strt_tm ,
aa.end_tm ,
aa.dy ,
aa.addr ,
aa.lctr_div_cd
FROM (
/* 차시 신청 정보 와 신청 학교 주소 정보 */
SELECT b.edu_aplct_ord ,
a.edu_chasi_ord ,
b.stndrd_schol_cd
/* 학교고유 번호 지역 확인용*/
,
b.isltn_schol_yn
/* y-고립, n-*/
,
b.edu_slct_cd
/* 20-off , 10- on */
,
a.edu_hope_dt ,
TO_DATE(a.edu_hope_dt,'YYYY.MM.DD') d_date ,
TO_DATE(a.edu_hope_dt||a.strt_tm,'YYYY.MM.DDHH24MI') d_start ,
TO_DATE(a.edu_hope_dt||a.end_tm,'YYYY.MM.DDHH24MI') d_end ,
TO_CHAR(TO_DATE(a.edu_hope_dt,'YYYY.MM.DD'),'DY') dy ,
a.strt_tm ,
a.end_tm ,
a.lrn_tm ,
b.addr,
b.lctr_div_cd
FROM ve_edu_chasi a ,
ve_edu_aplct b
WHERE 1 =1
AND a.edu_aplct_ord=b.edu_aplct_ord
AND a.edu_aplct_ord=#eduAplctOrd#
AND a.edu_chasi_ord=#eduChasiOrd#
)
aa
WHERE 1 =1
)
aaa ,
(
/* 신청 가능한 전체 강사 리스트 */
SELECT a.user_id ,
b.rsdne ,
b.instr_nm ,
b.addr ,
b.addr_detail ,
b.div_cd ,
b.instr_div
FROM ve_instr a ,
ve_instr_detail b
LEFT OUTER JOIN ve_lctr_stng c
ON(
1=1
AND b.instr_div=c.instr_div
AND b.user_id =c.user_id
AND c.use_yn ='Y' /* 사용중인강의설정 */
)
WHERE 1 =1
AND b.user_id =a.user_id
AND b.use_yn ='Y' /* 활동중인 강사 */
AND
(
b.qlfct_end_yn='N' OR b.qlfct_end_yn IS NULL
)
)
bbb
LEFT OUTER JOIN
(
/* 강사의 패널티 정보를 가져온다. */
SELECT a.user_id ,
COUNT(*) pnlty_cnt
FROM ve_edu_chasi_instr_asgnm a ,
ve_edu_pnlty d
WHERE 1 =1
AND a.edu_aplct_ord=d.edu_aplct_ord
AND a.edu_chasi_ord=d.edu_chasi_ord
GROUP BY a.user_id
)
eee
ON (
bbb.user_id=eee.user_id
)
WHERE aaa.lctr_div_cd = bbb.instr_div
<isNotEmpty property="searchKeyword">
AND bbb.instr_nm = #searchKeyword#
</isNotEmpty>
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
<!-- 강사자동배정 페이지 리스트 성인 오프라인 202310-->
<select id="VEAsgnmMIX2023DAO.selectInstrAsgnmOffPagingList_202310_adult" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
/*
온라인 성인 - VEAsgnmMIX2023DAO.selectInstrAsgnmOffPagingList_202310_adult
*/
/* 차시 신청 정보 와 신청 학교 주소 정보 + 학교 소재지명 + 신청 가능한 강사 리스트( 주소, 설정 정보 and 패널티) */
SELECT aaa.edu_aplct_ord AS eduAplctOrd,
aaa.edu_chasi_ord AS eduChasiOrd,
aaa.stndrd_schol_cd AS stndrdScholCd,
aaa.isltn_schol_yn AS isltnScholYn,
aaa.edu_slct_cd AS eduSlctCd,
aaa.edu_hope_dt AS eduHopeDt,
aaa.strt_tm AS strtTm,
aaa.end_tm AS endTm,
aaa.dy ,
/*
aaa.new_addr ,
*/
bbb.instr_div AS instrDiv,
bbb.user_id AS userId,
/*
bbb.lctr_stng_ord ,
*/
/*
aaa.one_depth_nm ,
aaa.two_depth_nm ,
*/
aaa.addr AS sAddr ,
bbb.addr AS iAddr ,
bbb.addr_detail AS addrDetail,
bbb.rsdne ,
bbb.instr_nm AS instrNm,
/*
bbb.sun_lctr_yn ,
bbb.mon_lctr_yn ,
bbb.tue_lctr_yn ,
bbb.wed_lctr_yn ,
bbb.thu_lctr_yn ,
bbb.fri_lctr_yn ,
bbb.sat_lctr_yn ,
bbb.zoom_yn ,
bbb.yr_mxmm_asgnm_tm ,
bbb.mnt_mnmm_tm ,
bbb.onln_psbl_yn ,
bbb.isltn_psbl_yn ,
bbb.cntns_lctr_psbl_yn ,
bbb.prfrn_fld_cd ,
bbb.asgnm_tm_1 ,
bbb.asgnm_tm_2 ,
bbb.asgnm_tm_3 ,
bbb.asgnm_tm_4 ,
bbb.asgnm_tm_5 ,
bbb.asgnm_tm_6 ,
bbb.asgnm_tm_7 ,
bbb.asgnm_tm_8 ,
bbb.asgnm_tm_9 ,
bbb.asgnm_tm_10 ,
bbb.asgnm_tm_11 ,
bbb.asgnm_tm_12 ,
*/
bbb.div_cd AS divCd,
eee.pnlty_cnt AS pnltyCnt
FROM (
/* 차시 신청 정보 와 신청 학교 주소 정보 + 학교 소재지명 */
SELECT aa.edu_aplct_ord ,
aa.edu_chasi_ord ,
aa.stndrd_schol_cd ,
aa.isltn_schol_yn ,
aa.edu_slct_cd ,
aa.edu_hope_dt ,
aa.strt_tm ,
aa.end_tm ,
aa.dy ,
aa.addr ,
aa.lctr_div_cd
FROM (
/* 차시 신청 정보 와 신청 학교 주소 정보 */
SELECT b.edu_aplct_ord ,
a.edu_chasi_ord ,
b.stndrd_schol_cd
/* 학교고유 번호 지역 확인용*/
,
b.isltn_schol_yn
/* y-고립, n-*/
,
b.edu_slct_cd
/* 20-off , 10- on */
,
a.edu_hope_dt ,
TO_DATE(a.edu_hope_dt,'YYYY.MM.DD') d_date ,
TO_DATE(a.edu_hope_dt||a.strt_tm,'YYYY.MM.DDHH24MI') d_start ,
TO_DATE(a.edu_hope_dt||a.end_tm,'YYYY.MM.DDHH24MI') d_end ,
TO_CHAR(TO_DATE(a.edu_hope_dt,'YYYY.MM.DD'),'DY') dy ,
a.strt_tm ,
a.end_tm ,
a.lrn_tm ,
b.addr,
b.lctr_div_cd
FROM ve_edu_chasi a ,
ve_edu_aplct b
WHERE 1 =1
AND a.edu_aplct_ord=b.edu_aplct_ord
AND a.edu_aplct_ord=#eduAplctOrd#
AND a.edu_chasi_ord=#eduChasiOrd#
)
aa
WHERE 1 =1
)
aaa ,
(
/* 신청 가능한 전체 강사 리스트 */
SELECT a.user_id ,
b.rsdne ,
b.instr_nm ,
b.addr ,
b.addr_detail ,
b.div_cd ,
b.instr_div
FROM ve_instr a ,
ve_instr_detail b
LEFT OUTER JOIN ve_lctr_stng c
ON(
1=1
AND b.instr_div=c.instr_div
AND b.user_id =c.user_id
AND c.use_yn ='Y' /* 사용중인강의설정 */
)
WHERE 1 =1
AND b.user_id =a.user_id
AND b.use_yn ='Y' /* 활동중인 강사 */
AND
(
b.qlfct_end_yn='N' OR b.qlfct_end_yn IS NULL
)
)
bbb
LEFT OUTER JOIN
(
/* 강사의 패널티 정보를 가져온다. */
SELECT a.user_id ,
COUNT(*) pnlty_cnt
FROM ve_edu_chasi_instr_asgnm a ,
ve_edu_pnlty d
WHERE 1 =1
AND a.edu_aplct_ord=d.edu_aplct_ord
AND a.edu_chasi_ord=d.edu_chasi_ord
GROUP BY a.user_id
)
eee
ON (
bbb.user_id=eee.user_id
)
WHERE aaa.lctr_div_cd = bbb.instr_div
<isNotEmpty property="searchKeyword">
AND bbb.instr_nm = #searchKeyword#
</isNotEmpty>
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
</sqlMap>

View File

@ -4807,7 +4807,7 @@
AND c.aprvl_cd ='60'
AND a.asgnm_aprvl_cd='30'
AND IFNULL(c.use_yn,'Y')='Y'
AND NVL(c.use_yn,'Y')='Y'
/*
AND
(

View File

@ -67,12 +67,10 @@
<!-- 강사 등록 C -->
<insert id="VEEduChasiInstrAsgnmDAO.insert" parameterClass="VEInstrAsgnmVO">
MERGE INTO <include refid="VEEduChasiInstrAsgnmDAO.table_name"/> T1 USING DB_ROOT
MERGE INTO <include refid="VEEduChasiInstrAsgnmDAO.table_name"/> T1 USING DUAL
ON (T1.EDU_APLCT_ORD = #eduAplctOrd# AND T1.EDU_CHASI_ORD = #eduChasiOrd#)
WHEN MATCHED THEN
UPDATE SET
edu_aplct_ord = #eduAplctOrd#,
edu_chasi_ord = #eduChasiOrd#,
user_id = #userId#,
pnlty_cd = #pnltyCd#,
pnlty_pnttm = #pnltyPnttm#,
@ -269,22 +267,32 @@
</update>
<insert id="VEEduChasiInstrAsgnmDAO.insertDeadLineDt" parameterClass="VEInstrAsgnmVO">
INSERT INTO VE_EDU_CHASI_INSTR_ASGNM_DEAD_LINE
/* VEEduChasiInstrAsgnmDAO.insertDeadLineDt */
MERGE INTO VE_EDU_CHASI_INSTR_ASGNM_DEAD_LINE
USING DUAL
ON(
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
)
WHEN NOT MATCHED THEN
INSERT
(
EDU_APLCT_ORD
, EDU_CHASI_ORD
, USER_ID
, DEAD_LINE_DT
)
VALUES
(
VALUES(
#eduAplctOrd#
, #eduChasiOrd#
, #userId#
, #deadlineDt#
)
ON DUPLICATE KEY UPDATE
DEAD_LINE_DT = #deadlineDt#
WHEN MATCHED THEN
UPDATE
SET DEAD_LINE_DT = #deadlineDt#
</insert>
<select id="VEEduChasiInstrAsgnmDAO.selectBatchAsgnmList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">

View File

@ -13,6 +13,7 @@
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduPnltyDAO.column_name">
pnlty_ord,
edu_aplct_ord,
edu_chasi_ord,
pnlty_cd,
@ -23,6 +24,7 @@
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduPnltyDAO.select_column_name">
a.pnlty_ord AS pnltyOrd,
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
a.pnlty_cd AS pnltyCd,
@ -34,28 +36,24 @@
<!-- 패널티 등록 C -->
<insert id="VEEduPnltyDAO.insert" parameterClass="VEInstrAsgnmVO">
MERGE INTO <include refid="VEEduPnltyDAO.table_name"/> T1 USING DB_ROOT
MERGE INTO <include refid="VEEduPnltyDAO.table_name"/> T1 USING DUAL
ON
(T1.EDU_APLCT_ORD = #eduAplctOrd#
AND T1.EDU_CHASI_ORD = #eduChasiOrd#
AND T1.USER_ID = #userId#
AND T1.PNLTY_CD = #pnltyCd# )
(T1.PNLTY_ORD = #pnltyOrd# )
WHEN MATCHED THEN
UPDATE SET
edu_aplct_ord = #eduAplctOrd#,
edu_chasi_ord = #eduChasiOrd#,
pnlty_cd = #pnltyCd#,
frst_regist_pnttm = NOW(),
frst_regist_pnttm = SYSDATE,
frst_register_id = #frstRegisterId#,
user_id = #userId#
WHEN NOT MATCHED THEN
INSERT(
<include refid="VEEduPnltyDAO.column_name"/>
)VALUES(
#pnltyOrd#,
#eduAplctOrd#,
#eduChasiOrd#,
#pnltyCd#,
NOW(),
SYSDATE,
#frstRegisterId#,
#userId#
)
@ -69,9 +67,8 @@
FROM
<include refid="VEEduPnltyDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.edu_chasi_ord = #eduChasiOrd#
AND a.pnlty_cd = #pnltyCd#
1=1
AND a.pnlty_ord = #pnltyOrd#
</select>
@ -81,13 +78,12 @@
<include refid="VEEduPnltyDAO.table_name"/>
SET
frst_regist_pnttm = NOW()
frst_regist_pnttm = SYSDATE
,frst_register_id = #lastUpdusrId#
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND pnlty_cd = #pnltyCd#
1=1
AND pnlty_ord = #pnltyOrd#
</update>
<!-- 패널티 정보 D -->
@ -95,11 +91,7 @@
DELETE FROM
<include refid="VEEduPnltyDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
<isNotEmpty property="pnltyCd">
AND pnlty_cd = #pnltyCd#
</isNotEmpty>
pnlty_ord = #pnltyOrd#
</delete>
<!-- 패널티 정보 L -->
@ -108,7 +100,10 @@
SELECT
<include refid="VEEduPnltyDAO.select_column_name"/>
,b.schol_instt_nm AS scholInsttNm
/*
,TO_CHAR(c.edu_hope_dt,'YYYY.MM.DD') AS eduHopeDt
*/
,c.edu_hope_dt AS eduHopeDt
,c.strt_tm AS strtTm
,c.end_tm AS endTm
,c.lrn_tm AS lrnTm

View File

@ -117,6 +117,7 @@
<!-- 강사료 정보 R -->
<select id="VEInstrFeeDAO.selectDetail" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
/* VEInstrFeeDAO.selectDetail */
SELECT
A.EDU_APLCT_ORD AS eduAplctOrd
, A.EDU_CHASI_ORD AS eduChasiOrd
@ -130,24 +131,24 @@
, IFNULL(IF(B.INSTR_FEE='','0',B.INSTR_FEE),'0') AS instrFee
, IFNULL(IF(B.SPECIAL_WORK_ALLOW='','0',B.SPECIAL_WORK_ALLOW), '0') AS specialWorkAllow
, IFNULL(IF(B.DISTANCE_ALLOW='','0',B.DISTANCE_ALLOW), '0') AS distanceAllow
, IFNULL(IF(B.TRAFFIC_FEE='','0',B.TRAFFIC_FEE), '0') AS trafficFee
, IFNULL(IF(B.BSNS_TRIP_FEE='','0',B.BSNS_TRIP_FEE), '0') AS bsnsTripFee
, IFNULL(IF(B.SPARE_FEE='','0',B.SPARE_FEE), '0') AS spareFee
, IFNULL(IF(C.ACMDT_FEE='','0',C.ACMDT_FEE), '0') AS acmdtFee
, NVL(DECODE(B.INSTR_FEE ,'','0',B.INSTR_FEE),'0') AS instrFee
, NVL(DECODE(B.SPECIAL_WORK_ALLOW ,'','0',B.SPECIAL_WORK_ALLOW), '0') AS specialWorkAllow
, NVL(DECODE(B.DISTANCE_ALLOW ,'','0',B.DISTANCE_ALLOW), '0') AS distanceAllow
, NVL(DECODE(B.TRAFFIC_FEE ,'','0',B.TRAFFIC_FEE), '0') AS trafficFee
, NVL(DECODE(B.BSNS_TRIP_FEE ,'','0',B.BSNS_TRIP_FEE), '0') AS bsnsTripFee
, NVL(DECODE(B.SPARE_FEE ,'','0',B.SPARE_FEE), '0') AS spareFee
, NVL(DECODE(C.ACMDT_FEE ,'','0',C.ACMDT_FEE), '0') AS acmdtFee
, C.APRVL_CD AS acmdtAprvlCd
, IFNULL(IF(B.INCOME_TAX='','0',B.INCOME_TAX), '0') AS incomeTax
, IFNULL(IF(B.LOCAL_INCOME_TAX='','0',B.LOCAL_INCOME_TAX), '0') AS localIncomeTax
, NVL(DECODE(B.INCOME_TAX ,'','0',B.INCOME_TAX), '0') AS incomeTax
, NVL(DECODE(B.LOCAL_INCOME_TAX ,'','0',B.LOCAL_INCOME_TAX), '0') AS localIncomeTax
, B.SBMT_YN AS sbmtYn
, C.ATCH_FILE_ID AS atchFileId
, C.APRVL_CD AS acmdtAprvlCd
, D.ONEWAY_DSTNC AS onewayDstnc
, E.ISLTN_SCHOL_YN AS isltnScholYn
, E.EDU_SLCT_CD AS eduSlctCd
, IFNULL(F.CHASI, '1') AS chasi
, NVL(F.CHASI, '1') AS chasi
, F.EDU_HOPE_DT AS eduHopeDt
FROM
VE_EDU_CHASI_INSTR_ASGNM A
@ -307,7 +308,7 @@
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
ORDER BY 1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
@ -316,7 +317,10 @@
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
@ -336,7 +340,7 @@
AND A.EDU_APLCT_ORD = #eduAplctOrd#
AND A.USER_ID = #userId#
AND F.EDU_HOPE_DT = #eduHopeDt#
ORDER BY 1=1
ORDER BY 1
, A.EDU_CHASI_ORD
</select>
</sqlMap>

View File

@ -49,11 +49,20 @@
<!-- 강사 등록 C -->
<insert id="VEEduInstrDstncDAO.insert" parameterClass="VEEduAplctVO">
/* VEEduInstrDstncDAO.insert */
MERGE INTO <include refid="VEEduInstrDstncDAO.table_name"/>
USING DUAL
ON(
edu_aplct_ord = #eduAplctOrd#
AND user_id = #userId#
)
INSERT INTO <include refid="VEEduInstrDstncDAO.table_name"/> (
WHEN NOT MATCHED THEN
INSERT
(
<include refid="VEEduInstrDstncDAO.column_name"/>
)VALUES(
)
VALUES(
#eduAplctOrd#,
#userId#,
@ -66,12 +75,13 @@
SYSDATE,
#frstRegisterId#,
SYSDATE,
#lastUpdusrId#
NULL,
NULL
)
ON DUPLICATE KEY UPDATE
WHEN MATCHED THEN
UPDATE
SET
schol_addr=#scholAddr#,
instr_addr=#instrAddr#,
oneway_dstnc=#onewayDstnc#,

View File

@ -1011,9 +1011,12 @@
EDU_APLCT_ORD
,EDU_CHASI_ORD
,SUM(lrn_tm) AS lrn_tm
,MIN(REPLACE(IF(EDU_HOPE_DT IS NULL OR EDU_HOPE_DT = '', NULL, EDU_HOPE_DT), '.', '')) AS EDU_HOPE_DT
,MIN(REPLACE(
CASE WHEN EDU_HOPE_DT IS NULL OR EDU_HOPE_DT = '' THEN NULL ELSE EDU_HOPE_DT END
, '.', '')) AS EDU_HOPE_DT
FROM VE_EDU_CHASI
GROUP BY EDU_APLCT_ORD
,EDU_CHASI_ORD
) CC ON A.EDU_APLCT_ORD = CC.EDU_APLCT_ORD
LEFT OUTER JOIN VE_EDU_CHASI B
ON A.EDU_APLCT_ORD = B.EDU_APLCT_ORD
@ -1095,7 +1098,7 @@
AND A.EDU_APLCT_ORD = #eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
ORDER BY 1
<isEmpty property="orderByQuery">
, A.EDU_APLCT_ORD DESC
</isEmpty>
@ -1103,7 +1106,10 @@
, $orderByQuery$
</isNotEmpty>
<isNotEqual property="mode" compareValue="EXCEL">
LIMIT #recordCountPerPage# OFFSET #firstIndex#
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</isNotEqual>
</select>
@ -1667,10 +1673,16 @@
SELECT
AA.*,
2 ,
/*
IF(aa.userId IS NOT NULL
, '(' || SUBSTRING(aa.userId,INSTR(aa.userId,'_')+1)*1 || ')'
,''
) AS userIdNum ,
*/
CASE WHEN aa.userId IS NOT NULL THEN '(' || SUBSTRING(aa.userId,INSTR(aa.userId,'_')+1)*1 || ')'
ELSE ''
END AS userIdNum ,
COUNT(1) OVER() AS totCnt
FROM (
SELECT
@ -1723,14 +1735,14 @@
f.sbmt_yn AS feeSbmtYn,
f.aprvl_cd AS feeAprvlCd,
NVL(TO_NUMBER(IF(f.instr_fee='',0,f.instr_fee)),0)
+ NVL(TO_NUMBER(IF(f.bsns_trip_fee='',0,f.bsns_trip_fee)),0)
+ NVL(TO_NUMBER(IF(f.spare_fee='',0,f.spare_fee)),0)
+ NVL(TO_NUMBER(IF(f.special_work_allow='',0,f.special_work_allow)),0)
+ NVL(TO_NUMBER(IF(f.distance_allow='',0,f.distance_allow)),0)
+ NVL(TO_NUMBER(IF(f.traffic_fee='',0,f.traffic_fee)),0)
- NVL(TO_NUMBER(IF(f.income_tax='',0,f.income_tax)),0)
- NVL(TO_NUMBER(IF(f.local_income_tax='',0,f.local_income_tax)),0)
NVL(TO_NUMBER(DECODE(f.instr_fee ,'',0,f.instr_fee)),0)
+ NVL(TO_NUMBER(DECODE(f.bsns_trip_fee ,'',0,f.bsns_trip_fee)),0)
+ NVL(TO_NUMBER(DECODE(f.spare_fee ,'',0,f.spare_fee)),0)
+ NVL(TO_NUMBER(DECODE(f.special_work_allow ,'',0,f.special_work_allow)),0)
+ NVL(TO_NUMBER(DECODE(f.distance_allow ,'',0,f.distance_allow)),0)
+ NVL(TO_NUMBER(DECODE(f.traffic_fee ,'',0,f.traffic_fee)),0)
- NVL(TO_NUMBER(DECODE(f.income_tax ,'',0,f.income_tax)),0)
- NVL(TO_NUMBER(DECODE(f.local_income_tax ,'',0,f.local_income_tax)),0)
AS totFee
</isEqual>
, (
@ -1909,7 +1921,7 @@
AND AA.insttNm LIKE '%'||#searchKeyword#||'%'
</isEqual>
</isNotEmpty>
ORDER BY 1=1
ORDER BY 1
<isEmpty property="orderByQuery">
, eduAplctOrd desc, eduChasiOrd
@ -1918,7 +1930,10 @@
, $orderByQuery$
</isNotEmpty>
<isNotEqual property="pageIndex" compareValue="0">
LIMIT #recordCountPerPage# OFFSET #firstIndex#
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</isNotEqual>
</select>

View File

@ -482,6 +482,7 @@
<c:choose>
<c:when test="${fn:length(chasiList) ne 0}">
<c:forEach var="list" items="${chasiList}" varStatus="status">
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="${list.eduChasiOrd}" />
<tr>
<th>
<div class="calendar_wrap">

View File

@ -500,7 +500,7 @@
title="Check" type="checkbox"/>
</td>
<td>
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/>
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>
</a>

View File

@ -309,7 +309,7 @@
<input name="chk" class="${list.userId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />" data-cnt="<c:out value='${list.cnt}' />" title="Check" type="checkbox"/>
</td>
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/>
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>
</td>
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">

View File

@ -316,8 +316,9 @@
<c:if test="${list.cnt eq 0}">미제출</c:if><c:if test="${list.cnt gt 0}">제출</c:if>
</td>
<td>
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/>
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy-MM-dd"/>
${list.eduHopeDt}
<%-- <fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/> --%>
<%-- <fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/> --%>
</td>
<td>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>

View File

@ -407,7 +407,7 @@
<input name="chk" data-lctr="${list.userId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />" data-cnt="<c:out value='${list.cnt}' />" title="Check" type="checkbox"/>
</td>
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/>
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>
</td>
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">

View File

@ -100,6 +100,7 @@
$("#specialWorkAllow").val($("#specialWorkAllow").val().replaceAll(',',''));
$("#distanceAllow").val($("#distanceAllow").val().replaceAll(',',''));
$("#trafficFee").val($("#trafficFee").val().replaceAll(',',''));
//$("#spareFee").val($("#trafficFee").val().replaceAll(',',''));
var acmdtAprvlCd = $("#acmdtAprvlCd").val();
if(acmdtAprvlCd == "10"){

View File

@ -111,7 +111,7 @@
</thead>
<tbody>
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/> <!-- 요일 구하기 -->
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/> <!-- 요일 구하기 -->
<c:choose>
<c:when test="${list.notiCnt == 0}">
<tr class="new_cont">
@ -192,7 +192,7 @@
<div class="tb_list01_m">
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/> <!-- 요일 구하기 -->
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/> <!-- 요일 구하기 -->
<ul onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<li>
<span>번호</span>