From 9aa0745c5eca6eb0e56c02fdbdaa8da4117dec3d Mon Sep 17 00:00:00 2001 From: myname Date: Tue, 14 Nov 2023 09:36:55 +0900 Subject: [PATCH] =?UTF-8?q?2023-11-14=2009:36=20=EC=B2=AD=EC=86=8C?= =?UTF-8?q?=EB=85=84=20=EA=B0=95=EC=82=AC=20=EB=B0=B0=EC=B9=98=20=EC=9E=91?= =?UTF-8?q?=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ve/aplct/comweb/CommonWebController.java | 39 +- .../service/VEAutoAsgnmMIXService.java | 12 + .../eduInfo/service/VEAutoAsgnmVO.java | 94 +++++ .../eduInfo/service/VEEduMIXService.java | 1 - .../service/impl/VEAutoAsgnmMIXDAO.java | 26 ++ .../impl/VEAutoAsgnmMIXServiceImpl.java | 31 ++ .../eduInfo/service/impl/VEEduMIXDAO.java | 1 + .../service/impl/VEEduMIXServiceImpl.java | 4 +- .../tibero/sql-map-config-tibero-ve.xml | 4 + .../ve/edu/VEAutoAsgnm_MIX_SQL_Tibero.xml | 353 ++++++++++++++++++ 10 files changed, 549 insertions(+), 16 deletions(-) create mode 100644 src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEAutoAsgnmMIXService.java create mode 100644 src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEAutoAsgnmVO.java create mode 100644 src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEAutoAsgnmMIXDAO.java create mode 100644 src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEAutoAsgnmMIXServiceImpl.java create mode 100644 src/main/resources/egovframework/sqlmap/ve/edu/VEAutoAsgnm_MIX_SQL_Tibero.xml diff --git a/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java b/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java index c462e112..fe6bd6e2 100644 --- a/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java +++ b/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java @@ -22,6 +22,8 @@ import kcc.ve.cmm.VeConstants; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduChasiInstrAsgnmService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEAutoAsgnmMIXService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEAutoAsgnmVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; @@ -39,6 +41,9 @@ public class CommonWebController { @Resource(name = "vEEduMIXService") private VEEduMIXService vEEduMIXService; + + @Resource(name = "vEAutoAsgnmMIXService") + private VEAutoAsgnmMIXService vEAutoAsgnmMIXService; //로그인 체크 util @Resource(name = "checkLoginUtil") @@ -609,40 +614,48 @@ public class CommonWebController { vEEduAplctVO.setSearchInstrNm(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchInstrNm())); } + //모든 리스트를 페이징 없이 다 가져온다. vEEduAplctVO.setPageIndex(0); - - //Step1.자동배정 차시 대상가져오기 + //강사가 할당안된 리스트만 가져온다. + vEEduAplctVO.setSearchAsgnmAprvlCd("90"); + + //Step1.자동배정 대상 차시가져오기 vEEduAplctVOList = vEEduMIXService.selectTngrRsltPagingList(vEEduAplctVO); } - //step2.가능한 대상 강사 찾기 + //step2.배정 대상별 가능한 대상 강사 찾기 { - //step2-1.강사별 월별 시수이상을 받지 않은자 확인 - //step2-2.해당 차시 학교의 거주 강사 검색 - //step2-3.희망 지역 강사 검색 for (int i=0;i vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrMntAsgnmtChasiList(vEAutoAsgnmVO); + + //step2-2.해당 차시 학교의 거주 강사 검색 + //step2-3.희망 지역 강사 검색 } - } - - - - + } //step3-1.해당 차시에 강사 배정이 있는지 확인 //step3-2.없으면 해당 차시에 강사 배정 //this.setInstrAsgnm(p_step01_list, vEInstrAsgnmVO, loginVO); - //modelAndView.addObject("rsCnt", rs); modelAndView.addObject("result", "success"); return modelAndView; diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEAutoAsgnmMIXService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEAutoAsgnmMIXService.java new file mode 100644 index 00000000..8df059cd --- /dev/null +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEAutoAsgnmMIXService.java @@ -0,0 +1,12 @@ +package kcc.ve.instr.tngrVisitEdu.eduInfo.service; + +import java.util.List; + +public interface VEAutoAsgnmMIXService { + + //해당 배정 차시의 달에 강사에게 할당된 차시 정보 + List selectInstrMntAsgnmtChasiList(VEAutoAsgnmVO paramVO) throws Exception; + + //해당 차시 학교에 거주하는 강사 + List selectRsdneInstrList(VEAutoAsgnmVO paramVO) throws Exception; +} diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEAutoAsgnmVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEAutoAsgnmVO.java new file mode 100644 index 00000000..e717e935 --- /dev/null +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEAutoAsgnmVO.java @@ -0,0 +1,94 @@ +package kcc.ve.instr.tngrVisitEdu.eduInfo.service; + +import java.io.Serializable; + +import kcc.com.cmm.ComDefaultVO; + + +public class VEAutoAsgnmVO extends ComDefaultVO implements Serializable { + /* + * 교육신청테이블 + * */ + private static final long serialVersionUID = 1L; + + //ve_edu_aplct - 자동 배정 + private String eduHopeMnt; //교육희망월 2023.11 + private String yr; //교육희망년 2023 + + private String instrDiv; //10-청소년, 20-성인 + + + private String chasi; //수업차시 + private String userId; //강사아이디 + private String rsdne; //강사거주지 + private String hopeEduFld; //희망교육부분 + private String asgnmTm; //할당된시간 + + + public String getEduHopeMnt() { + return eduHopeMnt; + } + + public void setEduHopeMnt(String eduHopeMnt) { + this.eduHopeMnt = eduHopeMnt; + } + + public String getYr() { + return yr; + } + + public void setYr(String yr) { + this.yr = yr; + } + + public String getInstrDiv() { + return instrDiv; + } + + public void setInstrDiv(String instrDiv) { + this.instrDiv = instrDiv; + } + + public String getChasi() { + return chasi; + } + + public void setChasi(String chasi) { + this.chasi = chasi; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getRsdne() { + return rsdne; + } + + public void setRsdne(String rsdne) { + this.rsdne = rsdne; + } + + public String getHopeEduFld() { + return hopeEduFld; + } + + public void setHopeEduFld(String hopeEduFld) { + this.hopeEduFld = hopeEduFld; + } + + public String getAsgnmTm() { + return asgnmTm; + } + + public void setAsgnmTm(String asgnmTm) { + this.asgnmTm = asgnmTm; + } + + +} + diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java index b8344306..12febe0d 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java @@ -73,5 +73,4 @@ public interface VEEduMIXService { void updateEduStateCd(VEEduAplctVO vEEduAplctVO); List selectTrgtList(VEEduAplctVO paramVO); - } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEAutoAsgnmMIXDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEAutoAsgnmMIXDAO.java new file mode 100644 index 00000000..796e5329 --- /dev/null +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEAutoAsgnmMIXDAO.java @@ -0,0 +1,26 @@ +package kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.rte.psl.dataaccess.EgovAbstractDAO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEAutoAsgnmVO; + +@Repository("vEAutoAsgnmMIXDAO") +public class VEAutoAsgnmMIXDAO extends EgovAbstractDAO { + + public List selectInstrMntAsgnmtChasiList(VEAutoAsgnmVO paramVO) { + @SuppressWarnings("unchecked") + List tlist = (List) list("VEAutoAsgnmDAO.selectInstrMntAsgnmtChasiList", paramVO); + return tlist; + } + + public List selectRsdneInstrList(VEAutoAsgnmVO paramVO) { + @SuppressWarnings("unchecked") + List tlist = (List) list("VEAutoAsgnmDAO.selectRsdneInstrList", paramVO); + return tlist; + } + + +} diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEAutoAsgnmMIXServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEAutoAsgnmMIXServiceImpl.java new file mode 100644 index 00000000..a6cfe9cb --- /dev/null +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEAutoAsgnmMIXServiceImpl.java @@ -0,0 +1,31 @@ +package kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl; + + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEAutoAsgnmMIXService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEAutoAsgnmVO; + +@Service("vEAutoAsgnmMIXService") +public class VEAutoAsgnmMIXServiceImpl implements VEAutoAsgnmMIXService { + + + //차시 + @Resource(name="vEAutoAsgnmMIXDAO") + private VEAutoAsgnmMIXDAO vEAutoAsgnmMIXDAO; + + @Override + public List selectInstrMntAsgnmtChasiList(VEAutoAsgnmVO paramVO) throws Exception{ + return vEAutoAsgnmMIXDAO.selectInstrMntAsgnmtChasiList(paramVO); + } + + @Override + public List selectRsdneInstrList(VEAutoAsgnmVO paramVO) throws Exception{ + return vEAutoAsgnmMIXDAO.selectRsdneInstrList(paramVO); + } + +} diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java index ef535ec4..b0a8ffdb 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java @@ -67,6 +67,7 @@ public class VEEduMIXDAO extends EgovAbstractDAO { List tlist = (List) list("VEEduMIXDAO.selectTngrRsltPagingList", paramVO); return tlist; } + public List selectTngrRsltList(VEEduAplctVO paramVO) { @SuppressWarnings("unchecked") diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java index 33555dc2..c36695ad 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java @@ -59,7 +59,7 @@ public class VEEduMIXServiceImpl implements VEEduMIXService { public List selectTngrRsltPagingList(VEEduAplctVO paramVO) throws Exception{ return vEEduMIXDAO.selectTngrRsltPagingList(paramVO); } - + @Override public List selectTngrRsltList(VEEduAplctVO paramVO) throws Exception{ return vEEduMIXDAO.selectTngrRsltList(paramVO); @@ -171,5 +171,5 @@ public class VEEduMIXServiceImpl implements VEEduMIXService { public void updateEduStateCd(VEEduAplctVO paramVO) { vEEduMIXDAO.updateEduStateCd(paramVO); - } + } } diff --git a/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml b/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml index b40e7198..ec4ac2fa 100644 --- a/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml +++ b/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml @@ -135,4 +135,8 @@ + + + + \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEAutoAsgnm_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEAutoAsgnm_MIX_SQL_Tibero.xml new file mode 100644 index 00000000..65f6f778 --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEAutoAsgnm_MIX_SQL_Tibero.xml @@ -0,0 +1,353 @@ + + + + + + + + + + + ve_edu_aplct + + + + + edu_aplct_ord, + lctr_div_cd, + user_id, + prcs_ord, + edu_slct_cd, + edu_slct_area_cd, + schol_instt_nm, + schol_div_cd, + isltn_schol_yn, + addr, + addr_detail, + chrg_nm, + clphone, + phone, + email, + edu_place, + sbmt_yn, + sbmt_pnttm, + aprvl_cd, + aprvl_pnttm, + aprvl_cn, + instt_nm, + instt_div_cd, + hope_sbjct, + rqst_cn, + + frst_regist_pnttm, + frst_register_id, + last_updt_pnttm, + last_updusr_id, + + schol_seal_atch_file_id, + edu_trgt, + edu_prsnl, + edu_cn, + strt_oprtn_dt, + end_oprtn_dt, + rprt_sbmt_dt, + trans_atch_file_id + , aplct_cn + + + + + + + a.edu_aplct_ord AS eduAplctOrd, + a.lctr_div_cd AS lctrDivCd, + a.user_id AS userId, + a.prcs_ord AS prcsOrd, + a.edu_slct_cd AS eduSlctCd, + a.edu_slct_area_cd AS eduSlctAreaCd, + a.schol_instt_nm AS scholInsttNm, + a.schol_div_cd AS scholDivCd, + a.isltn_schol_yn AS isltnScholYn, + a.addr AS addr, + a.addr_detail AS addrDetail, + a.chrg_nm AS chrgNm, + a.clphone AS clphone, + a.phone AS phone, + a.email AS email, + a.edu_place AS eduPlace, + a.sbmt_yn AS sbmtYn, + TO_CHAR(a.sbmt_pnttm, 'YYYY-MM-DD') AS sbmtPnttm, + a.aprvl_cd AS aprvlCd, + TO_CHAR(a.aprvl_pnttm, 'YYYY-MM-DD') AS aprvlPnttm, + a.aprvl_cn AS aprvlCn, + a.instt_nm AS insttNm, + a.instt_div_cd AS insttDivCd, + a.hope_sbjct AS hopeSbjct, + a.rqst_cn AS rqstCn, + + 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.schol_seal_atch_file_id AS scholSealAtchFileId, + a.edu_trgt AS eduTrgt, + a.edu_prsnl AS eduPrsnl, + a.edu_cn AS eduCn, + a.strt_oprtn_dt AS strtOprtnDt, + a.end_oprtn_dt AS endOprtnDt, + a.rprt_sbmt_dt AS rprtSbmtDt, + a.trans_atch_file_id AS transAtchFileId, + a.use_yn AS useYn + , a.aplct_cn AS aplctCn + + + + + + + + +