This commit is contained in:
kmg 2024-01-16 16:58:49 +09:00
commit 76eec03fa7
8 changed files with 96 additions and 3 deletions

View File

@ -1282,11 +1282,32 @@ public class CommonWebController {
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrMntAsgnmtChasiList(vEAutoAsgnmVO);
//step2-1-1.동일일자 시간대에 배정이 없는강사찾기
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
}
if (!"'aaa'".equals(s_user_id)) { //대상 강사가 있을때만 다음을 실행한다.
System.out.println("===O있음===");
System.out.println("===////step2-1-1.동일일자 시간대에 배정이 없는강사찾기(필)===");
vEAutoAsgnmVO.setUserIds(s_user_id);
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrTimeDupFilterList(vEAutoAsgnmVO);
}else {
System.out.println("===X없음===");
}
//step2-2.희망 지역 강사 검색()
//오프라인, 온라인 구분해서 희망 지역 체크가 필요하다.
//오프라인의 경우 ()
//온라인인 경우 (해당 강사의 zoom 가능 여부 체크)
s_user_id = "'aaa'";
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
}

View File

@ -10,6 +10,9 @@ public interface VEAutoAsgnmMIXService {
//해당 차시 학교에 거주하는 강사
List<VEAutoAsgnmVO> selectRsdneInstrList(VEAutoAsgnmVO paramVO) throws Exception;
//step2-1-1.동일일자,시간에 배정안된 강사 검색()
List<VEAutoAsgnmVO> selectInstrTimeDupFilterList(VEAutoAsgnmVO paramVO) throws Exception;
//step2-2.희망 지역 강사 검색()
List<VEAutoAsgnmVO> selectInstrHopeAreaList(VEAutoAsgnmVO paramVO) throws Exception;

View File

@ -22,6 +22,12 @@ public class VEAutoAsgnmMIXDAO extends EgovAbstractDAO {
return tlist;
}
public List<VEAutoAsgnmVO> selectInstrTimeDupFilterList(VEAutoAsgnmVO paramVO) {
@SuppressWarnings("unchecked")
List<VEAutoAsgnmVO> tlist = (List<VEAutoAsgnmVO>) list("VEAutoAsgnmDAO.selectInstrTimeDupFilterList", paramVO);
return tlist;
}
public List<VEAutoAsgnmVO> selectInstrHopeAreaList(VEAutoAsgnmVO paramVO) {
@SuppressWarnings("unchecked")
List<VEAutoAsgnmVO> tlist = (List<VEAutoAsgnmVO>) list("VEAutoAsgnmDAO.selectInstrHopeAreaList", paramVO);

View File

@ -28,6 +28,11 @@ public class VEAutoAsgnmMIXServiceImpl implements VEAutoAsgnmMIXService {
return vEAutoAsgnmMIXDAO.selectRsdneInstrList(paramVO);
}
@Override
public List<VEAutoAsgnmVO> selectInstrTimeDupFilterList(VEAutoAsgnmVO paramVO) throws Exception{
return vEAutoAsgnmMIXDAO.selectInstrTimeDupFilterList(paramVO);
}
@Override
public List<VEAutoAsgnmVO> selectInstrHopeAreaList(VEAutoAsgnmVO paramVO) throws Exception{
return vEAutoAsgnmMIXDAO.selectInstrHopeAreaList(paramVO);

View File

@ -207,6 +207,23 @@ public class EduAsgnmCnfrmMngTngrController {
vEEduAplctVO.setSearchAsgnmAprvlCd("30"); //교육배치확정 대상은 강사가 배정확정되어야 한다.
if (!"".equals(vEEduAplctVO.getSearchKeyword())) {
if ("2".equals(vEEduAplctVO.getSearchCondition())) {
vEEduAplctVO.setSelectPagingListQuery(" AND i.instr_nm='"+egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())+"'");
}else if ("0".equals(vEEduAplctVO.getSearchCondition())) {
vEEduAplctVO.setSelectPagingListQuery(" AND (A.SCHOL_INSTT_NM LIKE '%' || '"+vEEduAplctVO.getSearchKeyword()+"' || '%' OR i.instr_nm='"+egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())+"')");
}
//AND A.SCHOL_INSTT_NM LIKE '%' || #searchKeyword# || '%'
//vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
}
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
//이름 복호화
VEEduAplctVO vo = new VEEduAplctVO();

View File

@ -459,6 +459,44 @@
,0)>NVL(aa.chasi,0)
</select>
<!-- //step2-1-1.해당 일자, 시간대에 강의가 없는 강사만(필) L page -->
<select id="VEAutoAsgnmDAO.selectInstrTimeDupFilterList" parameterClass="VEAutoAsgnmVO" resultClass="VEAutoAsgnmVO" remapResults="true">
/* VEAutoAsgnmDAO.selectInstrTimeDupFilterList */
/* 해당일자, 시간대에 강의가 없는 강사만 필수 */
SELECT aa.userId
FROM (
SELECT
b.user_id AS userId
, c.edu_hope_dt
, c.strt_tm
, c.end_tm
FROM
ve_edu_chasi_instr_asgnm b
, ve_edu_chasi c
WHERE
1 = 1
AND b.user_id IN ($userIds$)
AND b.edu_chasi_ord = c.edu_chasi_ord
)aa
LEFT OUTER JOIN ve_edu_chasi bb
on(
aa.edu_hope_dt=bb.edu_hope_dt
AND bb.edu_chasi_ord = #eduChasiOrd#
AND ( aa.strt_tm BETWEEN bb.strt_tm AND bb.end_tm
OR aa.end_tm BETWEEN bb.strt_tm AND bb.end_tm
OR bb.strt_tm BETWEEN aa.strt_tm AND aa.end_tm
OR bb.end_tm BETWEEN aa.strt_tm AND aa.end_tm )
)
WHERE 1=1
GROUP BY aa.userId
HAVING 0 >= SUM(CASE WHEN bb.edu_chasi_ord IS NULL THEN 0 ELSE 1 END)
</select>
<!-- //step2-2.희망 지역 강사 검색(필) L page -->
<select id="VEAutoAsgnmDAO.selectInstrHopeAreaList" parameterClass="VEAutoAsgnmVO" resultClass="VEAutoAsgnmVO" remapResults="true">
/* VEAutoAsgnmDAO.selectInstrHopeAreaList */

View File

@ -1043,7 +1043,11 @@
AND A.SCHOL_INSTT_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND A.CHRG_NM LIKE '%' || #searchKeyword# || '%'
/*
OR A.CHRG_NM LIKE '%' || searchKeyword || '%'
*/
</isEqual>
</isNotEmpty>

View File

@ -152,7 +152,6 @@
/>
<select class="sel_type1" name="searchCondition" id="searchCondition">
<option value="0" ${vEEduAplctVO.searchCondition eq '0' ? 'selected' : '' }>전체</option>
<option value="1" ${vEEduAplctVO.searchCondition eq '1' ? 'selected' : '' }>학교명</option>
<option value="2" ${vEEduAplctVO.searchCondition eq '2' ? 'selected' : '' }>강사이름</option>
</select>