2023-11-14 16:55 청소년 자동 배정 작업 중
This commit is contained in:
parent
0acd86fc7f
commit
ad767e0c48
@ -621,11 +621,13 @@ public class CommonWebController {
|
||||
vEEduAplctVO.setSearchAsgnmAprvlCd("90");
|
||||
|
||||
//Step1.자동배정 대상 차시가져오기
|
||||
//강사할당이 없는 배정 대상 차시를 가져온다.
|
||||
vEEduAplctVOList = vEEduMIXService.selectTngrRsltPagingList(vEEduAplctVO);
|
||||
}
|
||||
|
||||
|
||||
//step2.배정 대상별 가능한 대상 강사 찾기
|
||||
//step2.배정 대상별 가능한 대상 강사 찾기 및 등록
|
||||
int p=0;
|
||||
{
|
||||
for (int i=0;i<vEEduAplctVOList.size();i++) {
|
||||
//학교 지역, 희망일자가 필요
|
||||
@ -638,16 +640,58 @@ public class CommonWebController {
|
||||
System.out.println(s_addr);
|
||||
|
||||
|
||||
//step2-1.가능 강사중 월별 시수이상을 받지 않은자 & 해당 요일에 수업 가능한 강사 리스트
|
||||
//필수 조건
|
||||
//step2-1.가능 강사중 월별 시수이상을 받지 않은자 & 해당 요일에 수업 가능한 강사 리스트(필)
|
||||
VEAutoAsgnmVO vEAutoAsgnmVO = new VEAutoAsgnmVO();
|
||||
vEAutoAsgnmVO.setEduHopeMnt(s_eduHopeDt.substring(5,7));
|
||||
vEAutoAsgnmVO.setYr(s_eduHopeDt.substring(0,4));
|
||||
vEAutoAsgnmVO.setInstrDiv("10"); //10-청소년, 20-성인
|
||||
vEAutoAsgnmVO.setEduChasiOrd(tChasiInfo.getEduChasiOrd());
|
||||
List<VEAutoAsgnmVO> vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrMntAsgnmtChasiList(vEAutoAsgnmVO);
|
||||
|
||||
//step2-2.해당 차시 학교의 거주 강사 검색
|
||||
//step2-3.희망 지역 강사 검색
|
||||
//step2-2.희망 지역 강사 검색(필)
|
||||
String s_user_id = "'aaa'";
|
||||
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
|
||||
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
|
||||
}
|
||||
vEAutoAsgnmVO.setUserIds(s_user_id);
|
||||
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrHopeAreaList(vEAutoAsgnmVO);
|
||||
|
||||
//step2-3.연강가능강사검색(선택)
|
||||
//step2-4.패널티 없는 강사 검색(선택)
|
||||
|
||||
//우선순위
|
||||
//step3-1.월별시수대비할당이적은자 우선(필)
|
||||
s_user_id = "'aaa'";
|
||||
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
|
||||
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
|
||||
}
|
||||
vEAutoAsgnmVO.setUserIds(s_user_id);
|
||||
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrPriorityList(vEAutoAsgnmVO);
|
||||
|
||||
//step3-2.거주기 강사 우선=>거주지별 배정 비율 필터(선택)
|
||||
|
||||
|
||||
//강사배정
|
||||
if (vEInstrAssiEduAplctVOList.size()>0) {
|
||||
VEInstrAsgnmVO p_vEInstrAsgnmVO = new VEInstrAsgnmVO();
|
||||
p_vEInstrAsgnmVO.setEduAplctOrd(tChasiInfo.getEduAplctOrd());
|
||||
p_vEInstrAsgnmVO.setEduChasiOrd(tChasiInfo.getEduChasiOrd());
|
||||
|
||||
p_vEInstrAsgnmVO.setUserId(vEInstrAssiEduAplctVOList.get(0).getUserId());
|
||||
p_vEInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId());
|
||||
p_vEInstrAsgnmVO.setAsgnmAprvlCd("10");
|
||||
p_vEInstrAsgnmVO.setAsgnmAprvlId(loginVO.getUniqId());
|
||||
p_vEInstrAsgnmVO.setRmrks("배정기준1순위");
|
||||
|
||||
//저장
|
||||
vEEduChasiInstrAsgnmService.insert(p_vEInstrAsgnmVO);
|
||||
|
||||
//저장여부 확인
|
||||
//step3-1.해당 차시에 강사 배정이 있는지 확인
|
||||
VEInstrAsgnmVO vEInstrAsgnmVOTmp = vEEduChasiInstrAsgnmService.selectDetail(p_vEInstrAsgnmVO);
|
||||
if (vEInstrAsgnmVOTmp!=null) p = p+1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -656,6 +700,10 @@ public class CommonWebController {
|
||||
|
||||
//this.setInstrAsgnm(p_step01_list, vEInstrAsgnmVO, loginVO);
|
||||
|
||||
System.out.println("p");
|
||||
System.out.println(p);
|
||||
System.out.println(p);
|
||||
|
||||
//modelAndView.addObject("rsCnt", rs);
|
||||
modelAndView.addObject("result", "success");
|
||||
return modelAndView;
|
||||
|
||||
@ -4,9 +4,17 @@ import java.util.List;
|
||||
|
||||
public interface VEAutoAsgnmMIXService {
|
||||
|
||||
//해당 배정 차시의 달에 강사에게 할당된 차시 정보
|
||||
//step2-1.가능 강사중 월별 시수이상을 받지 않은자 & 해당 요일에 수업 가능한 강사 리스트(필)
|
||||
List<VEAutoAsgnmVO> selectInstrMntAsgnmtChasiList(VEAutoAsgnmVO paramVO) throws Exception;
|
||||
|
||||
//해당 차시 학교에 거주하는 강사
|
||||
List<VEAutoAsgnmVO> selectRsdneInstrList(VEAutoAsgnmVO paramVO) throws Exception;
|
||||
|
||||
//step2-2.희망 지역 강사 검색(필)
|
||||
List<VEAutoAsgnmVO> selectInstrHopeAreaList(VEAutoAsgnmVO paramVO) throws Exception;
|
||||
|
||||
|
||||
//step3-1.월별시수대비할당이적은자 우선(필)
|
||||
List<VEAutoAsgnmVO> selectInstrPriorityList(VEAutoAsgnmVO paramVO) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@ -24,6 +24,12 @@ public class VEAutoAsgnmVO extends ComDefaultVO implements Serializable {
|
||||
private String hopeEduFld; //희망교육부분
|
||||
private String asgnmTm; //할당된시간
|
||||
|
||||
private String eduChasiOrd; //차시 고유 순번
|
||||
|
||||
private String userIds; //강사아이디들
|
||||
|
||||
private String rownum; //배정순번
|
||||
|
||||
|
||||
public String getEduHopeMnt() {
|
||||
return eduHopeMnt;
|
||||
@ -89,6 +95,30 @@ public class VEAutoAsgnmVO extends ComDefaultVO implements Serializable {
|
||||
this.asgnmTm = asgnmTm;
|
||||
}
|
||||
|
||||
public String getEduChasiOrd() {
|
||||
return eduChasiOrd;
|
||||
}
|
||||
|
||||
public void setEduChasiOrd(String eduChasiOrd) {
|
||||
this.eduChasiOrd = eduChasiOrd;
|
||||
}
|
||||
|
||||
public String getUserIds() {
|
||||
return userIds;
|
||||
}
|
||||
|
||||
public void setUserIds(String userIds) {
|
||||
this.userIds = userIds;
|
||||
}
|
||||
|
||||
public String getRownum() {
|
||||
return rownum;
|
||||
}
|
||||
|
||||
public void setRownum(String rownum) {
|
||||
this.rownum = rownum;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -22,5 +22,17 @@ public class VEAutoAsgnmMIXDAO extends EgovAbstractDAO {
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<VEAutoAsgnmVO> selectInstrHopeAreaList(VEAutoAsgnmVO paramVO) {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<VEAutoAsgnmVO> tlist = (List<VEAutoAsgnmVO>) list("VEAutoAsgnmDAO.selectInstrHopeAreaList", paramVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<VEAutoAsgnmVO> selectInstrPriorityList(VEAutoAsgnmVO paramVO) {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<VEAutoAsgnmVO> tlist = (List<VEAutoAsgnmVO>) list("VEAutoAsgnmDAO.selectInstrPriorityList", paramVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -28,4 +28,14 @@ public class VEAutoAsgnmMIXServiceImpl implements VEAutoAsgnmMIXService {
|
||||
return vEAutoAsgnmMIXDAO.selectRsdneInstrList(paramVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VEAutoAsgnmVO> selectInstrHopeAreaList(VEAutoAsgnmVO paramVO) throws Exception{
|
||||
return vEAutoAsgnmMIXDAO.selectInstrHopeAreaList(paramVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VEAutoAsgnmVO> selectInstrPriorityList(VEAutoAsgnmVO paramVO) throws Exception{
|
||||
return vEAutoAsgnmMIXDAO.selectInstrPriorityList(paramVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -49,9 +49,9 @@
|
||||
a.pnlty_id AS pnltyId,
|
||||
a.pnlty_cn AS pnltyCn,
|
||||
|
||||
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
|
||||
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
|
||||
a.frst_register_id AS frstRegisterId,
|
||||
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
|
||||
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
|
||||
a.last_updusr_id AS lastUpdusrId,
|
||||
|
||||
a.prvs_srvy_ord AS prvsSrvyOrd,
|
||||
@ -67,6 +67,7 @@
|
||||
<!-- 강사 등록 C -->
|
||||
<insert id="VEEduChasiInstrAsgnmDAO.insert" parameterClass="VEInstrAsgnmVO">
|
||||
|
||||
/* VEEduChasiInstrAsgnmDAO.insert */
|
||||
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
|
||||
@ -116,6 +117,7 @@
|
||||
|
||||
<!-- 강사 정보 R -->
|
||||
<select id="VEEduChasiInstrAsgnmDAO.selectDetail" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEEduChasiInstrAsgnmDAO.selectDetail */
|
||||
SELECT
|
||||
<include refid="VEEduChasiInstrAsgnmDAO.select_column_name"/>
|
||||
FROM
|
||||
|
||||
@ -107,7 +107,39 @@
|
||||
<select id="VEAutoAsgnmDAO.selectInstrMntAsgnmtChasiList" parameterClass="VEAutoAsgnmVO" resultClass="VEAutoAsgnmVO" remapResults="true">
|
||||
/* VEAutoAsgnmDAO.selectInstrMntAsgnmtChasiList */
|
||||
|
||||
SELECT NVL(aa.chasi,0) AS chasi
|
||||
SELECT
|
||||
dd.EDU_APLCT_ORD
|
||||
, dd.EDU_CHASI_ORD
|
||||
, dd.EDU_HOPE_DT
|
||||
|
||||
/* 해당요일 가능 여부 */
|
||||
, CASE
|
||||
/* 월 */
|
||||
WHEN to_char(to_date(dd.EDU_HOPE_DT,'YYYY.MM.DD'),'d')=2 AND ee.mon_lctr_yn='Y'
|
||||
THEN 'Y'
|
||||
|
||||
/* 화 */
|
||||
WHEN to_char(to_date(dd.EDU_HOPE_DT,'YYYY.MM.DD'),'d')=3 AND ee.tue_lctr_yn='Y'
|
||||
THEN 'Y'
|
||||
|
||||
/* 수 */
|
||||
WHEN to_char(to_date(dd.EDU_HOPE_DT,'YYYY.MM.DD'),'d')=4 AND ee.wed_lctr_yn='Y'
|
||||
THEN 'Y'
|
||||
|
||||
/* 목 */
|
||||
WHEN to_char(to_date(dd.EDU_HOPE_DT,'YYYY.MM.DD'),'d')=5 AND ee.thu_lctr_yn='Y'
|
||||
THEN 'Y'
|
||||
|
||||
/* 금 */
|
||||
WHEN to_char(to_date(dd.EDU_HOPE_DT,'YYYY.MM.DD'),'d')=6 AND ee.fri_lctr_yn='Y'
|
||||
THEN 'Y'
|
||||
|
||||
ELSE 'N'
|
||||
|
||||
|
||||
END AS psblDayYn
|
||||
|
||||
, NVL(aa.instrSumChasi,0) AS instrSumChasi /* 해당 강사 할당된 총차시 */
|
||||
, cc.userId
|
||||
, cc.rsdne
|
||||
, cc.hopeEduFld
|
||||
@ -135,13 +167,16 @@
|
||||
/*
|
||||
, bb.*
|
||||
*/
|
||||
FROM vea_instr_indvd_mnt_tm bb /* 강사의 월별 배정가능한 시수 */
|
||||
FROM
|
||||
ve_edu_chasi dd
|
||||
, ve_lctr_stng ee
|
||||
, vea_instr_indvd_mnt_tm bb /* 강사의 월별 배정가능한 시수 */
|
||||
LEFT OUTER JOIN
|
||||
(
|
||||
/* 강사에게 교육이 할당(확정, 반려, 요청전, 요첮우 모두 포함)된 차시수 */
|
||||
SELECT
|
||||
d.user_id,
|
||||
sum(NVL(b.chasi, 0)) AS chasi
|
||||
sum(NVL(b.chasi, 0)) AS instrSumChasi
|
||||
FROM ve_edu_aplct a ,
|
||||
ve_edu_chasi b
|
||||
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm d
|
||||
@ -206,8 +241,14 @@
|
||||
cc.userId=bb.user_id
|
||||
)
|
||||
WHERE 1=1
|
||||
AND bb.YR=#yr#
|
||||
AND dd.EDU_CHASI_ORD =#eduChasiOrd#
|
||||
AND bb.YR=substring(dd.edu_hope_dt,0,4)
|
||||
|
||||
AND ee.use_yn='Y'
|
||||
AND ee.user_id=cc.userId
|
||||
|
||||
|
||||
/* 대상 조건 1. 해당 월의 배정된 차시가 최대 차시 이내인 강사만 대상임 */
|
||||
AND NVL(
|
||||
CASE
|
||||
WHEN '01'=#eduHopeMnt# THEN m01_tm
|
||||
@ -224,7 +265,74 @@
|
||||
WHEN '12'=#eduHopeMnt# THEN m12_tm
|
||||
|
||||
END
|
||||
,0)>NVL(aa.chasi,0)
|
||||
,0)>NVL(aa.instrSumChasi,0)
|
||||
|
||||
/* 대상 조건 2. 해당 요일에 수업 가능한 강사만 대상임 */
|
||||
|
||||
AND CASE
|
||||
/* 월 */
|
||||
WHEN to_char(to_date(dd.EDU_HOPE_DT,'YYYY.MM.DD'),'d')=2 AND ee.mon_lctr_yn='Y'
|
||||
THEN 'Y'
|
||||
|
||||
/* 화 */
|
||||
WHEN to_char(to_date(dd.EDU_HOPE_DT,'YYYY.MM.DD'),'d')=3 AND ee.tue_lctr_yn='Y'
|
||||
THEN 'Y'
|
||||
|
||||
/* 수 */
|
||||
WHEN to_char(to_date(dd.EDU_HOPE_DT,'YYYY.MM.DD'),'d')=4 AND ee.wed_lctr_yn='Y'
|
||||
THEN 'Y'
|
||||
|
||||
/* 목 */
|
||||
WHEN to_char(to_date(dd.EDU_HOPE_DT,'YYYY.MM.DD'),'d')=5 AND ee.thu_lctr_yn='Y'
|
||||
THEN 'Y'
|
||||
|
||||
/* 금 */
|
||||
WHEN to_char(to_date(dd.EDU_HOPE_DT,'YYYY.MM.DD'),'d')=6 AND ee.fri_lctr_yn='Y'
|
||||
THEN 'Y'
|
||||
|
||||
ELSE 'N'
|
||||
|
||||
END ='Y'
|
||||
|
||||
/* 신청한 요일이 적은 강사부터 배정 대상으로 한다. */
|
||||
ORDER BY CASE
|
||||
/* 월 */
|
||||
WHEN ee.mon_lctr_yn='Y'
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
|
||||
+
|
||||
CASE
|
||||
/* 화 */
|
||||
WHEN ee.tue_lctr_yn='Y'
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
|
||||
+
|
||||
CASE
|
||||
/* 수 */
|
||||
WHEN ee.wed_lctr_yn='Y'
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
|
||||
+
|
||||
CASE
|
||||
/* 목 */
|
||||
WHEN ee.thu_lctr_yn='Y'
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
|
||||
+
|
||||
CASE
|
||||
/* 금 */
|
||||
WHEN ee.fri_lctr_yn='Y'
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
</select>
|
||||
|
||||
<!-- //해당 차시 학교에 거주하는 강사 L page -->
|
||||
@ -350,4 +458,177 @@
|
||||
END
|
||||
,0)>NVL(aa.chasi,0)
|
||||
</select>
|
||||
|
||||
<!-- //step2-2.희망 지역 강사 검색(필) L page -->
|
||||
<select id="VEAutoAsgnmDAO.selectInstrHopeAreaList" parameterClass="VEAutoAsgnmVO" resultClass="VEAutoAsgnmVO" remapResults="true">
|
||||
/* VEAutoAsgnmDAO.selectInstrHopeAreaList */
|
||||
|
||||
/* 희망지역 필수 */
|
||||
SELECT aaaaa.userId
|
||||
FROM (
|
||||
SELECT
|
||||
aaaa.saddr
|
||||
, aaaa.sAddrTop
|
||||
, aaaa.sAddrSec
|
||||
, aaaa.loc_nm AS locNm
|
||||
, aaaa.user_id AS userId
|
||||
, aaaa.one_depth_nm AS iAddrTop
|
||||
, aaaa.two_depth_nm AS iAddrSec
|
||||
|
||||
FROM (
|
||||
/* 차시 신청 정보 와 신청 학교 주소 정보 + 학교 소재지명 + 신청 가능한 강사 리스트( 주소, 설정 정보 and 패널티) */
|
||||
|
||||
SELECT
|
||||
|
||||
aaa.addr AS sAddr ,
|
||||
/* 학교주소 */
|
||||
/*
|
||||
SUBSTRING_INDEX(aaa.addr,' ',1) AS sAddrTop ,
|
||||
SUBSTRING_INDEX(SUBSTRING_INDEX(aaa.addr,' ',2),' ',-1) AS sAddrSec ,
|
||||
*/
|
||||
regexp_substr(aaa.addr, '[^ ]+',1,1) AS sAddrTop ,
|
||||
regexp_substr(aaa.addr, '[^ ]+',1,2) AS sAddrSec ,
|
||||
|
||||
aaa.loc_nm
|
||||
, bbb.*
|
||||
|
||||
FROM (
|
||||
/* 차시 신청 정보 와 신청 학교 주소 정보 + 학교 소재지명 */
|
||||
SELECT
|
||||
aa.isltn_schol_yn ,
|
||||
cc.loc_nm ,
|
||||
aa.addr
|
||||
FROM (
|
||||
/* 차시 신청 정보 와 신청 학교 주소 정보(학교주소교체는 여기서) */
|
||||
SELECT
|
||||
b.isltn_schol_yn
|
||||
/* y-고립, n-*/
|
||||
,b.addr
|
||||
, b.stndrd_schol_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_chasi_ord =#eduChasiOrd#
|
||||
)
|
||||
aa ,
|
||||
ve_schol cc
|
||||
WHERE 1 =1
|
||||
AND aa.stndrd_schol_cd=cc.stndrd_schol_cd
|
||||
)
|
||||
aaa
|
||||
,
|
||||
(
|
||||
/* 신청 가능한 전체 강사 리스트 (강사 주소 교체는 여기서)*/
|
||||
SELECT aa.user_id
|
||||
, aa.one_depth_nm
|
||||
, aa.two_depth_nm
|
||||
FROM (
|
||||
SELECT a.user_id
|
||||
, b.one_depth_nm
|
||||
, regexp_substr(NVL(b.two_depth_nm, b.three_depth_nm), '[^ ]+',1,1) AS two_depth_nm
|
||||
|
||||
FROM ve_lctr_area a
|
||||
, ve_rsdnc b
|
||||
WHERE a.AREA_CD =b.POST_ID
|
||||
AND a.user_id IN ($userIds$)
|
||||
)aa
|
||||
GROUP BY aa.user_id
|
||||
, aa.one_depth_nm
|
||||
, aa.two_depth_nm
|
||||
|
||||
)
|
||||
bbb
|
||||
)aaaa
|
||||
)aaaaa
|
||||
|
||||
WHERE sign(
|
||||
CASE
|
||||
WHEN instr(aaaaa.sAddrTop,substr(aaaaa.iAddrTop,0,2))>0 THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN instr(aaaaa.iAddrTop,substr(aaaaa.sAddrTop,0,2))>0 THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
)
|
||||
+
|
||||
sign(
|
||||
CASE
|
||||
WHEN instr(aaaaa.sAddrSec,substr(aaaaa.iAddrSec,0,2))>0 THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
+
|
||||
CASE
|
||||
WHEN instr(aaaaa.iAddrSec,substr(aaaaa.sAddrSec,0,2))>0 THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
)>=2
|
||||
GROUP BY aaaaa.userId
|
||||
</select>
|
||||
|
||||
<!-- //step3-1.월별시수대비할당이적은자 우선(필) L page -->
|
||||
<select id="VEAutoAsgnmDAO.selectInstrPriorityList" parameterClass="VEAutoAsgnmVO" resultClass="VEAutoAsgnmVO" remapResults="true">
|
||||
/* VEAutoAsgnmDAO.selectInstrPriorityList */
|
||||
|
||||
SELECT
|
||||
aaa.userId
|
||||
, aaa.instrSumChasi
|
||||
, aaa.asgnmTm
|
||||
, rownum
|
||||
FROM (
|
||||
SELECT bb.*
|
||||
|
||||
, NVL(
|
||||
CASE
|
||||
WHEN '01'=#eduHopeMnt# THEN m01_tm
|
||||
WHEN '02'=#eduHopeMnt# THEN m02_tm
|
||||
WHEN '03'=#eduHopeMnt# THEN m03_tm
|
||||
WHEN '04'=#eduHopeMnt# THEN m04_tm
|
||||
WHEN '05'=#eduHopeMnt# THEN m05_tm
|
||||
WHEN '06'=#eduHopeMnt# THEN m06_tm
|
||||
WHEN '07'=#eduHopeMnt# THEN m07_tm
|
||||
WHEN '08'=#eduHopeMnt# THEN m08_tm
|
||||
WHEN '09'=#eduHopeMnt# THEN m09_tm
|
||||
WHEN '10'=#eduHopeMnt# THEN m10_tm
|
||||
WHEN '11'=#eduHopeMnt# THEN m11_tm
|
||||
WHEN '12'=#eduHopeMnt# THEN m12_tm
|
||||
|
||||
|
||||
END
|
||||
,0)
|
||||
AS asgnmTm
|
||||
|
||||
FROM vea_instr_indvd_mnt_tm aa
|
||||
,(
|
||||
/* 강사에게 교육이 할당(확정, 반려, 요청전, 요첮우 모두 포함)된 차시수 */
|
||||
SELECT d.user_id AS userId,
|
||||
SUM(NVL(b.chasi, 0)) AS instrSumChasi
|
||||
FROM ve_edu_aplct a ,
|
||||
ve_edu_chasi b
|
||||
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm d
|
||||
ON (
|
||||
b.edu_aplct_ord=d.edu_aplct_ord
|
||||
AND b.edu_chasi_ord=d.edu_chasi_ord
|
||||
)
|
||||
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 1 =1
|
||||
AND b.edu_hope_dt LIKE #yr#||'.'||#eduHopeMnt#||'%'
|
||||
|
||||
GROUP BY d.user_id
|
||||
)bb
|
||||
WHERE aa.yr=#yr#
|
||||
AND aa.user_id IN ($userIds$)
|
||||
AND aa.USER_ID =bb.userId
|
||||
)aaa
|
||||
ORDER BY aaa.instrSumChasi*10000/(aaa.asgnmTm+1) asc
|
||||
</select>
|
||||
</sqlMap>
|
||||
|
||||
@ -328,40 +328,14 @@
|
||||
var v_searcDivCd = $('#searcDivCd').val();
|
||||
var v_searchKeyword = $('#searchKeyword').val();
|
||||
|
||||
//alert('/rf [http://192.168.0.59:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn="'+v_searchQlfctEndYn+'"&p_searcDivCd="'+v_searcDivCd+'"&p_searchKeyword="'+v_searchKeyword+'"]');
|
||||
|
||||
|
||||
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [jsonsample_red_2.json]');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd','/rexport [5]');
|
||||
//viewer.openFile('sample.mrd','/rfn [sample.txt]');
|
||||
|
||||
viewer.hideToolbarItem(["save"]);
|
||||
viewer.showToolbarItem(["print_pdf"]);
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [cmplt_crtfc_20231030.json]');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']');
|
||||
//viewer.openFile('sample.mrd');p_prcsAplctPrdOrd, p_eduAplctOrd
|
||||
//viewer.openFile('adult_instr_20231102.mrd', '/rfn [adult_instr_20231102.json]');
|
||||
//viewer.openFile('adult_instr_20231102.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetailAjax.do?p_instrId='+('#p_instrId').val()+']');
|
||||
|
||||
//viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://192.168.0.59:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn="'+v_searchQlfctEndYn+'"&p_searcDivCd="'+v_searcDivCd+'"&p_searchKeyword="'+v_searchKeyword+'"]');
|
||||
viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn='+v_searchQlfctEndYn+'&p_searcDivCd='+v_searcDivCd+'&p_searchKeyword='+v_searchKeyword+']');
|
||||
//viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn='+v_searchQlfctEndYn+'&p_searcDivCd='+v_searcDivCd+'&p_searchKeyword='+v_searchKeyword+']');
|
||||
|
||||
//System.out.println(request.getParameter("searchQlfctEndYn"));
|
||||
//System.out.println(request.getParameter("searcDivCd"));
|
||||
//System.out.println(request.getParameter("searchKeyword"));
|
||||
|
||||
|
||||
/*
|
||||
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service',
|
||||
'crownix-viewer');
|
||||
viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||
*/
|
||||
}
|
||||
/*
|
||||
window.onload = function(){
|
||||
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service');
|
||||
viewer.openFile('json_subject.mrd', '/rfn [jsonsample_red_2.json]');
|
||||
};
|
||||
*/
|
||||
</script>
|
||||
@ -997,34 +997,16 @@
|
||||
|
||||
|
||||
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [jsonsample_red_2.json]');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd','/rexport [5]');
|
||||
//viewer.openFile('sample.mrd','/rfn [sample.txt]');
|
||||
|
||||
viewer.hideToolbarItem(["save"]);
|
||||
viewer.showToolbarItem(["print_pdf"]);
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [cmplt_crtfc_20231030.json]');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']');
|
||||
//viewer.openFile('sample.mrd');p_prcsAplctPrdOrd, p_eduAplctOrd
|
||||
//viewer.openFile('adult_instr_20231102.mrd', '/rfn [adult_instr_20231102.json]');
|
||||
//viewer.openFile('adult_instr_20231102.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetailAjax.do?p_instrId='+('#p_instrId').val()+']');
|
||||
//viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://192.168.0.59:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn="'+v_searchQlfctEndYn+'"&p_searcDivCd="'+v_searcDivCd+'"&p_searchKeyword="'+v_searchKeyword+'"]');
|
||||
|
||||
//viewer.openFile('instr_activity_20231108.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+']');
|
||||
viewer.openFile('instr_activity_20231108.mrd', '/rf [http://192.168.0.59:3080/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+']');
|
||||
viewer.openFile('instr_activity_20231108.mrd', '/rf [http://192.168.0.59:2080/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+']');
|
||||
|
||||
|
||||
/*
|
||||
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service',
|
||||
'crownix-viewer');
|
||||
viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||
*/
|
||||
}
|
||||
/*
|
||||
window.onload = function(){
|
||||
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service');
|
||||
viewer.openFile('json_subject.mrd', '/rfn [jsonsample_red_2.json]');
|
||||
};
|
||||
*/
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
@ -723,32 +723,15 @@
|
||||
|
||||
var v_userId = $('#p_instrId').val();
|
||||
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [jsonsample_red_2.json]');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd','/rexport [5]');
|
||||
//viewer.openFile('sample.mrd','/rfn [sample.txt]');
|
||||
|
||||
viewer.hideToolbarItem(["save"]);
|
||||
viewer.showToolbarItem(["print_pdf"]);
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [cmplt_crtfc_20231030.json]');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']');
|
||||
//viewer.openFile('sample.mrd');p_prcsAplctPrdOrd, p_eduAplctOrd
|
||||
|
||||
//viewer.openFile('adult_instr_20231102.mrd', '/rfn [adult_instr_20231102.json]');
|
||||
//viewer.openFile('adult_instr_20231102.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetailAjax.do?p_instrId='+('#p_instrId').val()+']');
|
||||
viewer.openFile('adult_instr_20231102.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetailAjax.do?p_instrId='+v_userId+']');
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service',
|
||||
'crownix-viewer');
|
||||
viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||
*/
|
||||
}
|
||||
/*
|
||||
window.onload = function(){
|
||||
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service');
|
||||
viewer.openFile('json_subject.mrd', '/rfn [jsonsample_red_2.json]');
|
||||
};
|
||||
*/
|
||||
|
||||
</script>
|
||||
@ -237,28 +237,13 @@ $(document).ready(function(){
|
||||
function fncCmpltCrtfc(p_prcsAplctPrdOrd, p_eduAplctOrd){
|
||||
|
||||
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [jsonsample_red_2.json]');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd','/rexport [5]');
|
||||
//viewer.openFile('sample.mrd','/rfn [sample.txt]');
|
||||
|
||||
viewer.hideToolbarItem(["save"]);
|
||||
viewer.showToolbarItem(["print_pdf"]);
|
||||
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [cmplt_crtfc_20231030.json]');
|
||||
viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']');
|
||||
//viewer.openFile('sample.mrd');p_prcsAplctPrdOrd, p_eduAplctOrd
|
||||
|
||||
|
||||
|
||||
/*
|
||||
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service',
|
||||
'crownix-viewer');
|
||||
viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||
*/
|
||||
}
|
||||
/*
|
||||
window.onload = function(){
|
||||
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service');
|
||||
viewer.openFile('json_subject.mrd', '/rfn [jsonsample_red_2.json]');
|
||||
};
|
||||
*/
|
||||
</script>
|
||||
@ -472,36 +472,18 @@ $(document).ready(function(){
|
||||
|
||||
var viewer = new m2soft.crownix.Viewer(
|
||||
'http://119.193.215.98:8093/ReportingServer/service');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [jsonsample_red_2.json]');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd','/rexport [5]');
|
||||
//viewer.openFile('sample.mrd','/rfn [sample.txt]');
|
||||
//viewer.hideToolbarItem(["save"]);
|
||||
//viewer.openFile('sample.mrd');
|
||||
|
||||
viewer.hideToolbarItem([ "save" ]);
|
||||
//viewer.showToolbarItem(["print"]);
|
||||
viewer.showToolbarItem([ "print_pdf" ]);
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [cmplt_crtfc_20231030.json]');
|
||||
viewer
|
||||
.openFile(
|
||||
|
||||
viewer.openFile(
|
||||
'cmplt_crtfc_20231030.mrd',
|
||||
'/rf [http://119.193.215.98:9989/offedu/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='
|
||||
+ p_prcsAplctPrdOrd
|
||||
+ '&eduAplctOrd='
|
||||
+ p_eduAplctOrd + ']');
|
||||
|
||||
/*
|
||||
|
||||
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service',
|
||||
'crownix-viewer');
|
||||
viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||
*/
|
||||
|
||||
}
|
||||
/*
|
||||
window.onload = function(){
|
||||
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service');
|
||||
viewer.openFile('json_subject.mrd', '/rfn [jsonsample_red_2.json]');
|
||||
};
|
||||
*/
|
||||
</script>
|
||||
@ -1065,8 +1065,8 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
<td>
|
||||
<label for="eduPlace" class="label">교육장소 입력</label>
|
||||
<input type="text" value="${info.eduPlace}" name="eduPlace" id="eduPlace" size="25" disabled>
|
||||
<input type="checkbox" name="corpsEdu" id="corpsEdu" value="Y" <c:if test="${info.corpsEdu eq 'Y'}">checked</c:if>> <label for="corpsEdu">집체교육</label>
|
||||
<input type="checkbox" name="broadroomEdu" id="broadroomEdu" value="Y" <c:if test="${info.broadroomEdu eq 'Y'}">checked</c:if>> <label for="broadroomEdu">방송실교육</label>
|
||||
<%-- <input type="checkbox" name="corpsEdu" id="corpsEdu" value="Y" <c:if test="${info.corpsEdu eq 'Y'}">checked</c:if>> <label for="corpsEdu">집체교육</label> --%>
|
||||
<%-- <input type="checkbox" name="broadroomEdu" id="broadroomEdu" value="Y" <c:if test="${info.broadroomEdu eq 'Y'}">checked</c:if>> <label for="broadroomEdu">방송실교육</label> --%>
|
||||
<ve:radio codeId="VEA010" id="eduPlaceCd" name="eduPlaceCd"
|
||||
selectedValue="${empty info.eduPlaceCd ? '01' : info.eduPlaceCd}"
|
||||
onChange="eduPlaceChg();"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user