2023-11-16 12:47 청소년 강사 배정 수정
This commit is contained in:
parent
4ddbeb511b
commit
f65fe4ca05
@ -18,6 +18,8 @@ import kcc.com.cmm.service.FileVO;
|
|||||||
import kcc.com.utl.fcc.service.EgovStringUtil;
|
import kcc.com.utl.fcc.service.EgovStringUtil;
|
||||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||||
|
import kcc.ve.adv.tngr.stngInfo.service.VEAStngService;
|
||||||
|
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
|
||||||
import kcc.ve.cmm.VeConstants;
|
import kcc.ve.cmm.VeConstants;
|
||||||
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
|
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduChasiInstrAsgnmService;
|
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduChasiInstrAsgnmService;
|
||||||
@ -80,6 +82,10 @@ public class CommonWebController {
|
|||||||
@Resource(name = "vEEduChasiInstrAsgnmService")
|
@Resource(name = "vEEduChasiInstrAsgnmService")
|
||||||
private VEEduChasiInstrAsgnmService vEEduChasiInstrAsgnmService;
|
private VEEduChasiInstrAsgnmService vEEduChasiInstrAsgnmService;
|
||||||
|
|
||||||
|
//강의설정
|
||||||
|
@Resource(name = "vEAStngService")
|
||||||
|
private VEAStngService vEAStngService;
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("/popup/searchBeforeContent.do")
|
@RequestMapping("/popup/searchBeforeContent.do")
|
||||||
public String searchBeforeContentPopup(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model, HttpServletRequest request) throws Exception{
|
public String searchBeforeContentPopup(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model, HttpServletRequest request) throws Exception{
|
||||||
@ -1303,6 +1309,7 @@ public class CommonWebController {
|
|||||||
//VEEduAplctVO tChasiInfo = vEEduAplctVOList.get(i);
|
//VEEduAplctVO tChasiInfo = vEEduAplctVOList.get(i);
|
||||||
|
|
||||||
String s_eduHopeDt = p_tChasiInfo.getEduHopeDt(); //교육희망일자
|
String s_eduHopeDt = p_tChasiInfo.getEduHopeDt(); //교육희망일자
|
||||||
|
String s_eduSlctCd = p_tChasiInfo.getEduSlctCd(); //온라인 10, 오프라인 20
|
||||||
//String s_addr = tChasiInfo.getAddr(); //지역명
|
//String s_addr = tChasiInfo.getAddr(); //지역명
|
||||||
|
|
||||||
System.out.println(s_eduHopeDt);
|
System.out.println(s_eduHopeDt);
|
||||||
@ -1330,6 +1337,9 @@ public class CommonWebController {
|
|||||||
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrMntAsgnmtChasiList(vEAutoAsgnmVO);
|
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrMntAsgnmtChasiList(vEAutoAsgnmVO);
|
||||||
|
|
||||||
//step2-2.희망 지역 강사 검색(필)
|
//step2-2.희망 지역 강사 검색(필)
|
||||||
|
//오프라인, 온라인 구분해서 희망 지역 체크가 필요하다.
|
||||||
|
//오프라인의 경우 (완)
|
||||||
|
//온라인인 경우 (해당 강사의 zoom 가능 여부 체크)
|
||||||
|
|
||||||
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
|
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
|
||||||
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
|
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
|
||||||
@ -1340,7 +1350,14 @@ public class CommonWebController {
|
|||||||
|
|
||||||
System.out.println("===////step2-2.희망 지역 강사 검색(필)===");
|
System.out.println("===////step2-2.희망 지역 강사 검색(필)===");
|
||||||
vEAutoAsgnmVO.setUserIds(s_user_id);
|
vEAutoAsgnmVO.setUserIds(s_user_id);
|
||||||
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrHopeAreaList(vEAutoAsgnmVO);
|
|
||||||
|
if("10".equals(s_eduSlctCd)) { //온라인인 경우
|
||||||
|
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrHopeAreaZoomList(vEAutoAsgnmVO);
|
||||||
|
}else {//오프라인인 경우
|
||||||
|
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrHopeAreaList(vEAutoAsgnmVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
System.out.println("===X없음===");
|
System.out.println("===X없음===");
|
||||||
}
|
}
|
||||||
@ -1354,8 +1371,48 @@ public class CommonWebController {
|
|||||||
//step3-2.연강가능여부(같은날 연강은 연강강사가 우선 배정)
|
//step3-2.연강가능여부(같은날 연강은 연강강사가 우선 배정)
|
||||||
//step3-3.패널티(패널티 없는 사람이 우선순위 높게)
|
//step3-3.패널티(패널티 없는 사람이 우선순위 높게)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 하기 테이블을 left outer 로 조인하고, 우선 순위에 적용해서 배정(order by)
|
||||||
|
* 패널티 1순위
|
||||||
|
* 연강 2순위
|
||||||
|
* 거주지 3순위
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
//패널티 사용
|
||||||
|
/*
|
||||||
|
* 패널티 적용여부 확인
|
||||||
|
*
|
||||||
|
* 안사용하면 skip
|
||||||
|
* 사용하는 경우
|
||||||
|
*
|
||||||
|
* 하기 테이블 조인하고, 우선 조건으로 패널티 적용(order by )
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
VEAStngVO vEAStngVO = new VEAStngVO();
|
||||||
|
vEAStngVO.setAsgnmCd("10");
|
||||||
|
vEAStngVO = vEAStngService.selectDetail_VEAIAC(vEAStngVO);
|
||||||
|
|
||||||
|
String s_pnltyQuery = "";
|
||||||
|
|
||||||
|
if ("Y".equals(vEAStngVO.getUseYn())) {
|
||||||
|
s_pnltyQuery = " LEFT OUTER JOIN "
|
||||||
|
+ " ( "
|
||||||
|
+ " SELECT a.user_id AS userId "
|
||||||
|
+ " , count(*) AS pnltyCnt "
|
||||||
|
+ " FROM ve_edu_pnlty a "
|
||||||
|
+ " GROUP BY a.user_id "
|
||||||
|
+ " )bbb "
|
||||||
|
+ " ON "
|
||||||
|
+ " ( "
|
||||||
|
+ " aaa.user_id = bbb.userId "
|
||||||
|
+ " ) ";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//step3-4.월별시수대비할당이적은자 우선(필)
|
//step3-4.월별시수대비할당이적은자 우선(필)
|
||||||
|
String s_orderByQuery = " aaa.instrSumChasi*10000/(aaa.asgnmTm+1) asc ";
|
||||||
s_user_id = "'aaa'";
|
s_user_id = "'aaa'";
|
||||||
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
|
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
|
||||||
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
|
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
|
||||||
@ -1366,10 +1423,71 @@ public class CommonWebController {
|
|||||||
|
|
||||||
System.out.println("===//step3-4.월별시수대비할당이적은자 우선(필)===");
|
System.out.println("===//step3-4.월별시수대비할당이적은자 우선(필)===");
|
||||||
vEAutoAsgnmVO.setUserIds(s_user_id);
|
vEAutoAsgnmVO.setUserIds(s_user_id);
|
||||||
|
|
||||||
|
//패널티 쿼리 적용
|
||||||
|
if (!"".equals(s_pnltyQuery)) {
|
||||||
|
vEAutoAsgnmVO.setPnltyQuery(s_pnltyQuery);
|
||||||
|
|
||||||
|
s_orderByQuery = " NVL(bbb.pnltyCnt,0) asc, " + s_orderByQuery;
|
||||||
|
}else {
|
||||||
|
vEAutoAsgnmVO.setPnltyQuery("");
|
||||||
|
}
|
||||||
|
|
||||||
|
//기본 정렬 쿼리 - 월별시수대비할당이적은자
|
||||||
|
vEAutoAsgnmVO.setOrderByQuery(" ORDER BY "+s_orderByQuery);
|
||||||
|
|
||||||
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrPriorityList(vEAutoAsgnmVO);
|
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrPriorityList(vEAutoAsgnmVO);
|
||||||
}else {
|
}else {
|
||||||
System.out.println("===X없음===");
|
System.out.println("===X없음===");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
SELECT a.user_id AS userId
|
||||||
|
, count(*) AS pnltyCnt
|
||||||
|
FROM ve_edu_pnlty a
|
||||||
|
GROUP BY a.user_id
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 연강 적용여부 확인
|
||||||
|
*
|
||||||
|
* 안사용하면 skip
|
||||||
|
* 사용하는 경우
|
||||||
|
*
|
||||||
|
*1.해당 차시의 연강여부 확인
|
||||||
|
**3.1-2연강이 아니면 해당 조건 skip
|
||||||
|
*
|
||||||
|
*2.1-1연강이면 연강이 가능한 강사를 우선 배정
|
||||||
|
* 연강 가능 강사중 연강 차시에 기존 배정이 있으면 해당 강사 배정
|
||||||
|
*
|
||||||
|
* 없으면 연강 강사중에 배정
|
||||||
|
*
|
||||||
|
* 결과 테이블 만들어서 조인하고, 우선 조건으로 연강 적용(order by )
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 거주지 강사 우선
|
||||||
|
*
|
||||||
|
* 거주지 적용여부 확인
|
||||||
|
*
|
||||||
|
* 안사용하면 skip
|
||||||
|
* 사용하는 경우
|
||||||
|
*
|
||||||
|
* 1.거주지로 해당 차시 지역 비교 하여 맞는 강사 검색
|
||||||
|
* 없으면 skip
|
||||||
|
*
|
||||||
|
* 2.해당 강사 중 본인 배정 비율 확인해서 넘으면 제거
|
||||||
|
* 없으면 skip
|
||||||
|
*
|
||||||
|
* 결과 테이블 만들어서 조인하고, 우선 조건으로 연강 적용(order by )
|
||||||
|
*
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -13,6 +13,8 @@ public interface VEAutoAsgnmMIXService {
|
|||||||
//step2-2.희망 지역 강사 검색(필)
|
//step2-2.희망 지역 강사 검색(필)
|
||||||
List<VEAutoAsgnmVO> selectInstrHopeAreaList(VEAutoAsgnmVO paramVO) throws Exception;
|
List<VEAutoAsgnmVO> selectInstrHopeAreaList(VEAutoAsgnmVO paramVO) throws Exception;
|
||||||
|
|
||||||
|
//step2-2.희망 지역-온리인으로 zoom여부 확인 강사 검색(필)
|
||||||
|
List<VEAutoAsgnmVO> selectInstrHopeAreaZoomList(VEAutoAsgnmVO paramVO) throws Exception;
|
||||||
|
|
||||||
//step3-1.월별시수대비할당이적은자 우선(필)
|
//step3-1.월별시수대비할당이적은자 우선(필)
|
||||||
List<VEAutoAsgnmVO> selectInstrPriorityList(VEAutoAsgnmVO paramVO) throws Exception;
|
List<VEAutoAsgnmVO> selectInstrPriorityList(VEAutoAsgnmVO paramVO) throws Exception;
|
||||||
|
|||||||
@ -73,6 +73,43 @@ public class VEAutoAsgnmVO extends ComDefaultVO implements Serializable {
|
|||||||
|
|
||||||
private String mIscSum; //받은 시간
|
private String mIscSum; //받은 시간
|
||||||
|
|
||||||
|
private String pnltyQuery; //배정을 위한 패널티 쿼리
|
||||||
|
private String rsdncQuery; //배정을 위한 거주지 우선 쿼리
|
||||||
|
private String cntnsQuery; //배정을 위한 연강 쿼리
|
||||||
|
|
||||||
|
private String orderByQuery; //배정을 위한 우선 순위 order by 쿼리
|
||||||
|
|
||||||
|
public String getPnltyQuery() {
|
||||||
|
return pnltyQuery;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPnltyQuery(String pnltyQuery) {
|
||||||
|
this.pnltyQuery = pnltyQuery;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRsdncQuery() {
|
||||||
|
return rsdncQuery;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRsdncQuery(String rsdncQuery) {
|
||||||
|
this.rsdncQuery = rsdncQuery;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCntnsQuery() {
|
||||||
|
return cntnsQuery;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCntnsQuery(String cntnsQuery) {
|
||||||
|
this.cntnsQuery = cntnsQuery;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrderByQuery() {
|
||||||
|
return orderByQuery;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrderByQuery(String orderByQuery) {
|
||||||
|
this.orderByQuery = orderByQuery;
|
||||||
|
}
|
||||||
|
|
||||||
public String getEduHopeMnt() {
|
public String getEduHopeMnt() {
|
||||||
return eduHopeMnt;
|
return eduHopeMnt;
|
||||||
|
|||||||
@ -28,6 +28,12 @@ public class VEAutoAsgnmMIXDAO extends EgovAbstractDAO {
|
|||||||
return tlist;
|
return tlist;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<VEAutoAsgnmVO> selectInstrHopeAreaZoomList(VEAutoAsgnmVO paramVO) {
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
List<VEAutoAsgnmVO> tlist = (List<VEAutoAsgnmVO>) list("VEAutoAsgnmDAO.selectInstrHopeAreaZoomList", paramVO);
|
||||||
|
return tlist;
|
||||||
|
}
|
||||||
|
|
||||||
public List<VEAutoAsgnmVO> selectInstrPriorityList(VEAutoAsgnmVO paramVO) {
|
public List<VEAutoAsgnmVO> selectInstrPriorityList(VEAutoAsgnmVO paramVO) {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
List<VEAutoAsgnmVO> tlist = (List<VEAutoAsgnmVO>) list("VEAutoAsgnmDAO.selectInstrPriorityList", paramVO);
|
List<VEAutoAsgnmVO> tlist = (List<VEAutoAsgnmVO>) list("VEAutoAsgnmDAO.selectInstrPriorityList", paramVO);
|
||||||
|
|||||||
@ -33,6 +33,11 @@ public class VEAutoAsgnmMIXServiceImpl implements VEAutoAsgnmMIXService {
|
|||||||
return vEAutoAsgnmMIXDAO.selectInstrHopeAreaList(paramVO);
|
return vEAutoAsgnmMIXDAO.selectInstrHopeAreaList(paramVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<VEAutoAsgnmVO> selectInstrHopeAreaZoomList(VEAutoAsgnmVO paramVO) throws Exception{
|
||||||
|
return vEAutoAsgnmMIXDAO.selectInstrHopeAreaZoomList(paramVO);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<VEAutoAsgnmVO> selectInstrPriorityList(VEAutoAsgnmVO paramVO) throws Exception{
|
public List<VEAutoAsgnmVO> selectInstrPriorityList(VEAutoAsgnmVO paramVO) throws Exception{
|
||||||
return vEAutoAsgnmMIXDAO.selectInstrPriorityList(paramVO);
|
return vEAutoAsgnmMIXDAO.selectInstrPriorityList(paramVO);
|
||||||
|
|||||||
@ -570,6 +570,51 @@
|
|||||||
GROUP BY aaaaa.userId
|
GROUP BY aaaaa.userId
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- //step2-2.희망 지역 온라인은 zoom 여부 확읻ㄴ 강사 검색(필) L page -->
|
||||||
|
<select id="VEAutoAsgnmDAO.selectInstrHopeAreaZoomList" parameterClass="VEAutoAsgnmVO" resultClass="VEAutoAsgnmVO" remapResults="true">
|
||||||
|
/* VEAutoAsgnmDAO.selectInstrHopeAreaZoomList */
|
||||||
|
|
||||||
|
/* 교육가능한(위촉상태) 청소년 강사의 줌 가능 여부 확인 */
|
||||||
|
SELECT a.instr_div AS instrDiv,
|
||||||
|
a.user_id AS userId,
|
||||||
|
a.rsdne AS rsdne,
|
||||||
|
a.hope_edu_fld AS hopeEduFld,
|
||||||
|
b.zoom_yn AS zoomYn
|
||||||
|
FROM ( SELECT COUNT(1) OVER() AS totCnt ,
|
||||||
|
a0.instr_div AS instrDiv ,
|
||||||
|
a0.user_id AS userId ,
|
||||||
|
a0.instr_detail_ord AS instrDetailOrd
|
||||||
|
FROM ve_instr b0 ,
|
||||||
|
ve_instr_detail a0
|
||||||
|
WHERE 1 =1
|
||||||
|
AND a0.sbmt_yn='Y'
|
||||||
|
AND a0.use_yn = 'Y'
|
||||||
|
|
||||||
|
AND a0.user_id IN ($userIds$)
|
||||||
|
|
||||||
|
GROUP BY a0.instr_div ,
|
||||||
|
a0.user_id ,
|
||||||
|
a0.instr_detail_ord
|
||||||
|
)
|
||||||
|
a00 ,
|
||||||
|
ve_instr_detail a
|
||||||
|
, ve_lctr_stng b
|
||||||
|
WHERE 1 =1
|
||||||
|
AND a00.instrDiv =a.instr_div
|
||||||
|
AND a00.userId =a.user_id
|
||||||
|
AND a00.instrDetailOrd=a.instr_detail_ord
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
a.qlfct_end_yn = 'N' OR a.qlfct_end_yn IS NULL
|
||||||
|
)
|
||||||
|
AND a.instr_div='10'
|
||||||
|
|
||||||
|
AND a.user_id=b.user_id
|
||||||
|
AND b.use_yn='Y'
|
||||||
|
AND NVL(b.zoom_yn,'N')='Y'
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- //step3-1.월별시수대비할당이적은자 우선(필) L page -->
|
<!-- //step3-1.월별시수대비할당이적은자 우선(필) L page -->
|
||||||
<select id="VEAutoAsgnmDAO.selectInstrPriorityList" parameterClass="VEAutoAsgnmVO" resultClass="VEAutoAsgnmVO" remapResults="true">
|
<select id="VEAutoAsgnmDAO.selectInstrPriorityList" parameterClass="VEAutoAsgnmVO" resultClass="VEAutoAsgnmVO" remapResults="true">
|
||||||
/* VEAutoAsgnmDAO.selectInstrPriorityList */
|
/* VEAutoAsgnmDAO.selectInstrPriorityList */
|
||||||
@ -636,7 +681,18 @@
|
|||||||
WHERE aa.yr=#yr#
|
WHERE aa.yr=#yr#
|
||||||
AND aa.user_id IN ($userIds$)
|
AND aa.user_id IN ($userIds$)
|
||||||
)aaa
|
)aaa
|
||||||
|
|
||||||
|
/* 패널티 적용시 쿼리 추가됨 - 시작 */
|
||||||
|
$pnltyQuery$
|
||||||
|
/* 패널티 적용시 쿼리 추가됨 - 끝 */
|
||||||
|
|
||||||
|
WHERE 1=1
|
||||||
|
|
||||||
|
/*
|
||||||
ORDER BY aaa.instrSumChasi*10000/(aaa.asgnmTm+1) asc
|
ORDER BY aaa.instrSumChasi*10000/(aaa.asgnmTm+1) asc
|
||||||
|
*/
|
||||||
|
|
||||||
|
$orderByQuery$
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- //월별 교육시간 배정 정보 L page -->
|
<!-- //월별 교육시간 배정 정보 L page -->
|
||||||
|
|||||||
@ -2441,6 +2441,7 @@
|
|||||||
SELECT b.edu_aplct_ord AS eduAplctOrd
|
SELECT b.edu_aplct_ord AS eduAplctOrd
|
||||||
, b.edu_chasi_ord AS eduChasiOrd
|
, b.edu_chasi_ord AS eduChasiOrd
|
||||||
, b.edu_hope_dt AS eduHopeDt
|
, b.edu_hope_dt AS eduHopeDt
|
||||||
|
, a.EDU_SLCT_CD AS eduSlctCd /* 온라인 10, 오프라인 20 */
|
||||||
from ve_edu_aplct a
|
from ve_edu_aplct a
|
||||||
, ve_edu_chasi b
|
, ve_edu_chasi b
|
||||||
, (
|
, (
|
||||||
|
|||||||
@ -926,7 +926,7 @@
|
|||||||
|
|
||||||
<!-- 강사 디테일 정보 L page -->
|
<!-- 강사 디테일 정보 L page -->
|
||||||
<select id="VEInstrMixDAO.selectPagingDetailList4Asgnm" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
|
<select id="VEInstrMixDAO.selectPagingDetailList4Asgnm" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
|
||||||
/* VEInstrMixDAO.selectPagingDetailList4Asgnm */
|
/* VEInstrMixDAO.selectPagingDetailList4Asgnm 현재 강사들의 일별 가능 수 파악 */
|
||||||
SELECT totCnt
|
SELECT totCnt
|
||||||
, sum(decode(workWeekCnt,5,1,0)) AS day5cnt
|
, sum(decode(workWeekCnt,5,1,0)) AS day5cnt
|
||||||
, sum(decode(workWeekCnt,4,1,0)) AS day4cnt
|
, sum(decode(workWeekCnt,4,1,0)) AS day4cnt
|
||||||
|
|||||||
@ -116,7 +116,27 @@
|
|||||||
|
|
||||||
<!-- 강사 월별 시수 관리 데이터 -->
|
<!-- 강사 월별 시수 관리 데이터 -->
|
||||||
<select id="VEAAsgnmStngMixDAO.selectList_VEAIMT_2" parameterClass="VEAStngVO" resultClass="int">
|
<select id="VEAAsgnmStngMixDAO.selectList_VEAIMT_2" parameterClass="VEAStngVO" resultClass="int">
|
||||||
/* VEAAsgnmStngMixDAO.selectList_VEAIMT_2 */
|
/* VEAAsgnmStngMixDAO.selectList_VEAIMT_2 신청회차나 년도에 관계없이 실재 해당 년월의 배정가능한 차시를 계산한다. */
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
sum(b.chasi) AS chasi
|
||||||
|
|
||||||
|
FROM
|
||||||
|
ve_edu_aplct a
|
||||||
|
, ve_edu_chasi b
|
||||||
|
WHERE 1=1
|
||||||
|
AND a.edu_aplct_ord =b.edu_aplct_ord
|
||||||
|
AND NVL(a.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
|
||||||
|
AND a.LCTR_DIV_CD = '10'
|
||||||
|
AND a.aprvl_cd = '60'
|
||||||
|
AND substring(b.edu_hope_dt,1,7)=#mnt#
|
||||||
|
GROUP BY substring(b.edu_hope_dt,1,7)
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 강사 월별 시수 관리 데이터 -->
|
||||||
|
<select id="VEAAsgnmStngMixDAO.selectList_VEAIMT_2_bak" parameterClass="VEAStngVO" resultClass="int">
|
||||||
|
/* VEAAsgnmStngMixDAO.selectList_VEAIMT_2_bak 신청회차나 년도에 관계없이 실재 해당 년월의 배정가능한 차시를 계산한다. */
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
/*
|
/*
|
||||||
@ -137,7 +157,6 @@
|
|||||||
GROUP BY substring(b.edu_hope_dt,1,7)
|
GROUP BY substring(b.edu_hope_dt,1,7)
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 강사별 월별 시수 관리 대상 강사 리스트 -->
|
<!-- 강사별 월별 시수 관리 대상 강사 리스트 -->
|
||||||
<select id="VEAAsgnmStngMixDAO.selectList_VEAIIMT_1" parameterClass="VEAStngVO" resultClass="VEAStngVO">
|
<select id="VEAAsgnmStngMixDAO.selectList_VEAIIMT_1" parameterClass="VEAStngVO" resultClass="VEAStngVO">
|
||||||
/* VEAAsgnmStngMixDAO.selectList_VEAIIMT_1 */
|
/* VEAAsgnmStngMixDAO.selectList_VEAIIMT_1 */
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user