diff --git a/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java b/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java index e1d3c056..f0fdcebb 100644 --- a/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java +++ b/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java @@ -602,6 +602,7 @@ public class EgovCryptoUtil { for(VEPrcsDetailVO vo : vEPrcsDetailVOList) { vo.setInstrNm(this.decrypt(vo.getInstrNm())); + vo.setInstrPhone(this.decrypt(vo.getInstrPhone())); } // TODO Auto-generated method stub diff --git a/src/main/java/kcc/ve/cmm/VeInstrFeeMng.java b/src/main/java/kcc/ve/cmm/VeInstrFeeMng.java index 0a55a678..9fb8add5 100644 --- a/src/main/java/kcc/ve/cmm/VeInstrFeeMng.java +++ b/src/main/java/kcc/ve/cmm/VeInstrFeeMng.java @@ -176,7 +176,7 @@ public class VeInstrFeeMng { return vEInstrFeeAcmdtVO; } - //성인강사용 강사료 계산+기반+기소 + //성인강사용 강사료 계산 public VEInstrFeeAcmdtVO VeInstrFeeMng4Adult(VEInstrFeeService vEInstrFeeService , String eduAplctOrd, String eduChasiOrd) throws Exception { // 강사료 @@ -384,6 +384,214 @@ public class VeInstrFeeMng { // 세금 합계 -> 세금 제거 요청으로 제거 // int taxSum = Integer.parseInt(vEInstrFeeAcmdtVO.getIncomeTax()) // + Integer.parseInt(vEInstrFeeAcmdtVO.getLocalIncomeTax()); +// vEInstrFeeAcmdtVO.setTaxSum(taxSum); + + // 강사료 합계-세금 합계 +// int totalSum = instrFeeSum - taxSum; + + return vEInstrFeeAcmdtVO; + } + + //기반, 기소유예 강사료 계산 + public VEInstrFeeAcmdtVO VeInstrFeeMng4Fndth(VEInstrFeeService vEInstrFeeService , String eduAplctOrd, String eduChasiOrd) throws Exception { + + // 강사료 + VEInstrFeeAcmdtVO infoVO = new VEInstrFeeAcmdtVO(); + infoVO.setEduAplctOrd(eduAplctOrd); + infoVO.setEduChasiOrd(eduChasiOrd); + VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = vEInstrFeeService.selectDetail4Fndth(infoVO); + + + if(vEInstrFeeAcmdtVO.getInstrFeeOrd() == null) { + + /* + * 강사료 계산 정리 + * 강사료 계산 : 기본요금 * 차시 수량 + * 도서벽지수당 : 오프라인 교육이며 AND 교육지역이 도서벽지에 해당이 되면 기본 값 15,000원 * 차시 수량 + * 교통비 : 왕복 거리 * 160원 + * + * */ + + // 강사료 계산 (강의차시 * 강사 기본값) + //성인은 구분에 따라 강사료가 다르다 + String s_divCd = vEInstrFeeAcmdtVO.getDivCd(); + //int i_lrnTm = Integer.parseInt(selectChasiList.get(0).getLrnTm()); + int i_lrnTm = 0; //기소유예, 기반강화는 교육시간을 알수 없어서 추가 교육 시간 강사비용 계산이 안됨 + + System.out.println(" @@@@@@@@@@@@@@@@@@@@@@ divCd : "+s_divCd); + System.out.println(" @@@@@@@@@@@@@@@@@@@@@@ lrnTm : "+i_lrnTm); + /* + * (금액기준) + 10,60)입문은 시간당 150,000원(최초3시간까지, 이후 시간당 75,000원) - 2급 + 20,50)전문은 시간당 200,000원(최초3시간까지, 이후 시간당 100,000원) - 1급 + 30)내부는 시간당 100,000원(최초3시간까지, 이후 시간당 50,000원) + + 50)1급은 전문과 동일 + 60)2급은 입문과 동일 + + 40)청년은 청년강사만 해당 + + */ + int instrFee = 0; + + if ("10".equals(s_divCd) || "60".equals(s_divCd)) { + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A10); + + }else if ("20".equals(s_divCd) || "50".equals(s_divCd)) { + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A20); + + }else { //maybe 30 + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A30); + } + + i_lrnTm = i_lrnTm - 180; //기본 시간제외 + + //나머지 시간에 대한 강사 비용추가 + while(i_lrnTm>0) { //비용 정산을 위한 시간이 남았음 + //구분에 따라서 추가 비용 지급 + if ("10".equals(s_divCd) || "60".equals(s_divCd)) { + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A10_A); + + }else if ("20".equals(s_divCd) || "50".equals(s_divCd)) { + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A20_A); + + }else { //maybe 30 + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A30_A); + } + + i_lrnTm = i_lrnTm - 180; //기본 시간제외 + } + + //int instrFee = Integer.parseInt(vEInstrFeeAcmdtVO.getChasi()) * Integer.parseInt(VeConstants.BASE_INSTR_FEE); + + System.out.println(" @@@@@@@@@@@@@@@@@@@@@@ instrFee : "+instrFee); + vEInstrFeeAcmdtVO.setInstrFee(Integer.toString(instrFee)); + + } + + + // 강사료 합계 + int instrFeeSum = Integer.parseInt(vEInstrFeeAcmdtVO.getInstrFee()) + + Integer.parseInt(vEInstrFeeAcmdtVO.getSpecialWorkAllow()) + + Integer.parseInt(vEInstrFeeAcmdtVO.getDistanceAllow()) + + Integer.parseInt(vEInstrFeeAcmdtVO.getTrafficFee()) + + Integer.parseInt(vEInstrFeeAcmdtVO.getFoodExpenses()) +// + Integer.parseInt(vEInstrFeeAcmdtVO.getAcmdtFee()) + ; + + if ("Y".equals(vEInstrFeeAcmdtVO.getSbmtYn())) { + //vEInstrFeeAcmdtVO.setInstrFeeSum(instrFeeSum); + } + + vEInstrFeeAcmdtVO.setInstrFeeSum(instrFeeSum); + + // 세금 합계 -> 세금 제거 요청으로 제거 +// int taxSum = Integer.parseInt(vEInstrFeeAcmdtVO.getIncomeTax()) +// + Integer.parseInt(vEInstrFeeAcmdtVO.getLocalIncomeTax()); +// vEInstrFeeAcmdtVO.setTaxSum(taxSum); + + // 강사료 합계-세금 합계 +// int totalSum = instrFeeSum - taxSum; + + return vEInstrFeeAcmdtVO; + } + + //기반, 기소유예 강사료 계산 + public VEInstrFeeAcmdtVO VeInstrFeeMng4Fndth4Excel(VEInstrFeeService vEInstrFeeService , String eduAplctOrd, String eduChasiOrd) throws Exception { + + // 강사료 + VEInstrFeeAcmdtVO infoVO = new VEInstrFeeAcmdtVO(); + infoVO.setEduAplctOrd(eduAplctOrd); + infoVO.setEduChasiOrd(eduChasiOrd); + VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = vEInstrFeeService.selectDetail4Fndth(infoVO); + + + if(vEInstrFeeAcmdtVO.getInstrFeeOrd() == null) { + + /* + * 강사료 계산 정리 + * 강사료 계산 : 기본요금 * 차시 수량 + * 도서벽지수당 : 오프라인 교육이며 AND 교육지역이 도서벽지에 해당이 되면 기본 값 15,000원 * 차시 수량 + * 교통비 : 왕복 거리 * 160원 + * + * */ + + // 강사료 계산 (강의차시 * 강사 기본값) + //성인은 구분에 따라 강사료가 다르다 + String s_divCd = vEInstrFeeAcmdtVO.getDivCd(); + //int i_lrnTm = Integer.parseInt(selectChasiList.get(0).getLrnTm()); + int i_lrnTm = 0; //기소유예, 기반강화는 교육시간을 알수 없어서 추가 교육 시간 강사비용 계산이 안됨 + + System.out.println(" @@@@@@@@@@@@@@@@@@@@@@ divCd : "+s_divCd); + System.out.println(" @@@@@@@@@@@@@@@@@@@@@@ lrnTm : "+i_lrnTm); + /* + * (금액기준) + 10,60)입문은 시간당 150,000원(최초3시간까지, 이후 시간당 75,000원) - 2급 + 20,50)전문은 시간당 200,000원(최초3시간까지, 이후 시간당 100,000원) - 1급 + 30)내부는 시간당 100,000원(최초3시간까지, 이후 시간당 50,000원) + + 50)1급은 전문과 동일 + 60)2급은 입문과 동일 + + 40)청년은 청년강사만 해당 + + */ + int instrFee = 0; + + if ("10".equals(s_divCd) || "60".equals(s_divCd)) { + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A10); + + }else if ("20".equals(s_divCd) || "50".equals(s_divCd)) { + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A20); + + }else { //maybe 30 + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A30); + } + + i_lrnTm = i_lrnTm - 180; //기본 시간제외 + + //나머지 시간에 대한 강사 비용추가 + while(i_lrnTm>0) { //비용 정산을 위한 시간이 남았음 + //구분에 따라서 추가 비용 지급 + if ("10".equals(s_divCd) || "60".equals(s_divCd)) { + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A10_A); + + }else if ("20".equals(s_divCd) || "50".equals(s_divCd)) { + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A20_A); + + }else { //maybe 30 + instrFee = instrFee + Integer.parseInt(VeConstants.BASE_INSTR_FEE_A30_A); + } + + i_lrnTm = i_lrnTm - 180; //기본 시간제외 + } + + //int instrFee = Integer.parseInt(vEInstrFeeAcmdtVO.getChasi()) * Integer.parseInt(VeConstants.BASE_INSTR_FEE); + + System.out.println(" @@@@@@@@@@@@@@@@@@@@@@ instrFee : "+instrFee); + vEInstrFeeAcmdtVO.setInstrFee(Integer.toString(instrFee)); + + } + + + // 강사료 합계 + int instrFeeSum = Integer.parseInt(vEInstrFeeAcmdtVO.getInstrFee()) + + Integer.parseInt(vEInstrFeeAcmdtVO.getSpecialWorkAllow()) + + Integer.parseInt(vEInstrFeeAcmdtVO.getDistanceAllow()) + + Integer.parseInt(vEInstrFeeAcmdtVO.getTrafficFee()) + + Integer.parseInt(vEInstrFeeAcmdtVO.getFoodExpenses()) +// + Integer.parseInt(vEInstrFeeAcmdtVO.getAcmdtFee()) + ; + + if ("Y".equals(vEInstrFeeAcmdtVO.getSbmtYn())) { + vEInstrFeeAcmdtVO.setInstrFeeSum(instrFeeSum); + } + + //vEInstrFeeAcmdtVO.setInstrFeeSum(instrFeeSum); + + // 세금 합계 -> 세금 제거 요청으로 제거 +// int taxSum = Integer.parseInt(vEInstrFeeAcmdtVO.getIncomeTax()) +// + Integer.parseInt(vEInstrFeeAcmdtVO.getLocalIncomeTax()); // vEInstrFeeAcmdtVO.setTaxSum(taxSum); // 강사료 합계-세금 합계 diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEInstrFeeService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEInstrFeeService.java index da28f855..aaf9dda3 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEInstrFeeService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEInstrFeeService.java @@ -10,6 +10,9 @@ public interface VEInstrFeeService { //R VEInstrFeeAcmdtVO selectDetail(VEInstrFeeAcmdtVO paramVO) throws Exception; + //기소, 기반 전용 강사료 계산 + VEInstrFeeAcmdtVO selectDetail4Fndth(VEInstrFeeAcmdtVO paramVO) throws Exception; + //U int update(VEInstrFeeAcmdtVO paramVO) throws Exception; diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEInstrFeeDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEInstrFeeDAO.java index 57ce38c5..418cb31c 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEInstrFeeDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEInstrFeeDAO.java @@ -29,6 +29,11 @@ public class VEInstrFeeDAO extends EgovAbstractDAO { return (VEInstrFeeAcmdtVO) select("VEInstrFeeDAO.selectDetail", paramVO); } + public VEInstrFeeAcmdtVO selectDetail4Fndth(VEInstrFeeAcmdtVO paramVO) throws Exception { + return (VEInstrFeeAcmdtVO) select("VEInstrFeeDAO.selectDetail4Fndth", paramVO); + } + + /** * 수정 - U * @param VEPrcsDetailVO diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEInstrFeeServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEInstrFeeServiceImpl.java index d6ce27cd..8e5f121d 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEInstrFeeServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEInstrFeeServiceImpl.java @@ -34,6 +34,10 @@ public class VEInstrFeeServiceImpl implements VEInstrFeeService { return vEInstrFeeDAO.selectDetail(paramVO); } + public VEInstrFeeAcmdtVO selectDetail4Fndth(VEInstrFeeAcmdtVO paramVO) throws Exception { + return vEInstrFeeDAO.selectDetail4Fndth(paramVO); + } + //U public int update(VEInstrFeeAcmdtVO paramVO) throws Exception{ return vEInstrFeeDAO.update(paramVO); diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java index 0f4f9ce4..37ca8f24 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java @@ -1,873 +1,921 @@ -package kcc.ve.instr.tngrVisitEdu.prcsInfo.service; - -import java.io.Serializable; -import java.util.List; - -import kcc.com.cmm.ComDefaultVO; - - -public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { - /* - * 과정테이블 - * */ - - private static final long serialVersionUID = 1L; - - //ve_prcs - - private String searchDiv; //검색구분 - private String prcsOrd; //과정순번 - private String prcsDiv; //과정구분 - private String prcsKind; //과정종류 - private String prcsNm; //과정이름 - private String prcsCn; //과정내용 - private String prcsSortNo; //과정표시 순번 - - private String frstRegistPnttm; // 등록일시 - private String frstRegisterId; // 등록자 - private String frstRegisterNm; // 등록자 - private String lastUpdtPnttm; // 수정일시 - private String lastUpdusrId; // 수정자 - - private String sndFlag; - - //ve_prcs_aplct_prd - private String prcsAplctPrdOrd; //과정신청기간순번 - private String lctrDivCd; //강의구분코드 VE0011 10 - 청소년 강의, 20 - 성인 강의 - private String strtPnttm; //시작일시 - private String endPnttm; //마감일시 - private String useYn; //사용여부 - - private String anncmCn; //안내내용 - private String popupCn; //팝업내용 - private String atchFileId; //첨부파일아이디 - private String atchFileNm; //첨부파일아이디 - - private String instrNm; // - - //ve_edu_aplct - private String eduAplctOrd; //교육신청순번 - private List eduAplctOrdList; //교육신청순번 - private List sspnIdtmtTrgtOrdList; //교육신청순번 - private String eduChasiOrd; //교육차시순번 - private String cnt; - - private String selectPagingListQuery; - private String orderByQuery; - - private String title; - - private int rowCnt; - private int rowDtlCnt; - - private int chasiCnt; - - private String checkYn; - private String prcsOnlnCntntOrd; - private String onlnCntntDivCd; - private String detailPrcsNm; - - private String prcsChoice; - - private String eduStrtDt; - private String eduEndDt; - private String eduPrsnl; - - private String chrgMjr; - - private String dBirth; - - private String chrgSexCd; - - private String cmpltYear; - - private String cmpltNum; - - private String exprnClsrnCd; - - private String exprnClsrnYear; - - private String exprnClsrnAplct; - - private String exprnClsrnAplctCn; - - private String trgtGrade; - - private String trgtClsrm; - - private String trgtPrsnl; - - private String rprtSbmt; - - private String oprtnStrtDt; - - private String oprtnEndDt; - - private String oprtnFileId; - - - private String eduStrtPnttm; - - private String eduDdlnPnttm; - - private String deadLineDt; - private String eduPartCd; - - private String nos; - private String ddlnCd; - - private String nosCnt1; //신청인 - private String eduPlace; //교육장소 - - private String instrDiv; - private String instrCnt; - private String userId; - private String email; - private String clphone; - - - - private String aprvlCd; - - private String aplctStateCd; // 신청상태코드 VEA003 - private String eduCmpltCrtfcNmbr; - - private String dateChk; - private Boolean qestRsltExists; - - private String trgtNm; - private String eduStateCd; - private String sspnIdtmtTrgtOrd; - - private String cnclAtchFileId; - private String cnclCn; - - private String imageAtchFileId; - - private String prpsCn; - private String chrctCn; - private String prcsAplctPrdEtcOrd; - - private String dprtmNm; - private String cnAtchFileId; - - - private String prcsAplctPrdQnaOrd; - private String qnaRegist; - private String qnaCn; - private String qnaAnswerCn; - private String qnaAnswerer; - - private String mberNm; - - private String sTodate; - private String start; - private String send; - - private String chrgNm; - private String insttNm; - - private String respondId; - - private String lctrPlanRsltAtchFileId; //강의계획서 첨부파일 아이디 - - private String qustnrTmplatId; - - private String fld; // 분야 - private String lctrYn; // 저작권 교육 수강 여부 - private String prvsQs; // 교육관련 사전질의 - - private String diffDay; // - - - public String getSearchDiv() { - return searchDiv; - } - public void setSearchDiv(String searchDiv) { - this.searchDiv = searchDiv; - } - public String getPrcsOrd() { - return prcsOrd; - } - public void setPrcsOrd(String prcsOrd) { - this.prcsOrd = prcsOrd; - } - public String getPrcsNm() { - return prcsNm; - } - public void setPrcsNm(String prcsNm) { - this.prcsNm = prcsNm; - } - public String getPrcsCn() { - return prcsCn; - } - public void setPrcsCn(String prcsCn) { - this.prcsCn = prcsCn; - } - public String getPrcsSortNo() { - return prcsSortNo; - } - public void setPrcsSortNo(String prcsSortNo) { - this.prcsSortNo = prcsSortNo; - } - public String getFrstRegistPnttm() { - return frstRegistPnttm; - } - public void setFrstRegistPnttm(String frstRegistPnttm) { - this.frstRegistPnttm = frstRegistPnttm; - } - public String getFrstRegisterId() { - return frstRegisterId; - } - public void setFrstRegisterId(String frstRegisterId) { - this.frstRegisterId = frstRegisterId; - } - public String getLastUpdtPnttm() { - return lastUpdtPnttm; - } - public void setLastUpdtPnttm(String lastUpdtPnttm) { - this.lastUpdtPnttm = lastUpdtPnttm; - } - public String getLastUpdusrId() { - return lastUpdusrId; - } - public void setLastUpdusrId(String lastUpdusrId) { - this.lastUpdusrId = lastUpdusrId; - } - public String getPrcsAplctPrdOrd() { - return prcsAplctPrdOrd; - } - public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) { - this.prcsAplctPrdOrd = prcsAplctPrdOrd; - } - public String getLctrDivCd() { - return lctrDivCd; - } - public void setLctrDivCd(String lctrDivCd) { - this.lctrDivCd = lctrDivCd; - } - public String getStrtPnttm() { - return strtPnttm; - } - public void setStrtPnttm(String strtPnttm) { - this.strtPnttm = strtPnttm; - } - public String getEndPnttm() { - return endPnttm; - } - public void setEndPnttm(String endPnttm) { - this.endPnttm = endPnttm; - } - public String getUseYn() { - return useYn; - } - public void setUseYn(String useYn) { - this.useYn = useYn; - } - public String getSelectPagingListQuery() { - return selectPagingListQuery; - } - public void setSelectPagingListQuery(String selectPagingListQuery) { - this.selectPagingListQuery = selectPagingListQuery; - } - public String getOrderByQuery() { - return orderByQuery; - } - public void setOrderByQuery(String orderByQuery) { - this.orderByQuery = orderByQuery; - } - public String getPrcsDiv() { - return prcsDiv; - } - public void setPrcsDiv(String prcsDiv) { - this.prcsDiv = prcsDiv; - } - public String getAnncmCn() { - return anncmCn; - } - public void setAnncmCn(String anncmCn) { - this.anncmCn = anncmCn; - } - public String getPopupCn() { - return popupCn; - } - public void setPopupCn(String popupCn) { - this.popupCn = popupCn; - } - public String getAtchFileId() { - return atchFileId; - } - public void setAtchFileId(String atchFileId) { - this.atchFileId = atchFileId; - } - public String getCnt() { - return cnt; - } - public void setCnt(String cnt) { - this.cnt = cnt; - } - public String getEduAplctOrd() { - return eduAplctOrd; - } - public void setEduAplctOrd(String eduAplctOrd) { - this.eduAplctOrd = eduAplctOrd; - } - public List getEduAplctOrdList() { - return eduAplctOrdList; - } - public void setEduAplctOrdList(List eduAplctOrdList) { - this.eduAplctOrdList = eduAplctOrdList; - } - public List getSspnIdtmtTrgtOrdList() { - return sspnIdtmtTrgtOrdList; - } - public void setSspnIdtmtTrgtOrdList(List sspnIdtmtTrgtOrdList) { - this.sspnIdtmtTrgtOrdList = sspnIdtmtTrgtOrdList; - } - public String getEduChasiOrd() { - return eduChasiOrd; - } - public void setEduChasiOrd(String eduChasiOrd) { - this.eduChasiOrd = eduChasiOrd; - } - public String getTitle() { - return title; - } - public void setTitle(String title) { - this.title = title; - } - public String getFrstRegisterNm() { - return frstRegisterNm; - } - public void setFrstRegisterNm(String frstRegisterNm) { - this.frstRegisterNm = frstRegisterNm; - } - public String getAtchFileNm() { - return atchFileNm; - } - public void setAtchFileNm(String atchFileNm) { - this.atchFileNm = atchFileNm; - } - - public int getRowCnt() { - return rowCnt; - } - - public void setRowCnt(int rowCnt) { - this.rowCnt = rowCnt; - } - - public int getChasiCnt() { - return chasiCnt; - } - - public void setChasiCnt(int chasiCnt) { - this.chasiCnt = chasiCnt; - } - - public String getCheckYn() { - return checkYn; - } - - public void setCheckYn(String checkYn) { - this.checkYn = checkYn; - } - - public String getPrcsChoice() { - return prcsChoice; - } - - public void setPrcsChoice(String prcsChoice) { - this.prcsChoice = prcsChoice; - } - - public int getRowDtlCnt() { - return rowDtlCnt; - } - - public void setRowDtlCnt(int rowDtlCnt) { - this.rowDtlCnt = rowDtlCnt; - } - - public String getPrcsOnlnCntntOrd() { - return prcsOnlnCntntOrd; - } - - public void setPrcsOnlnCntntOrd(String prcsOnlnCntntOrd) { - this.prcsOnlnCntntOrd = prcsOnlnCntntOrd; - } - - public String getOnlnCntntDivCd() { - return onlnCntntDivCd; - } - - public void setOnlnCntntDivCd(String onlnCntntDivCd) { - this.onlnCntntDivCd = onlnCntntDivCd; - } - - public String getDetailPrcsNm() { - return detailPrcsNm; - } - - public void setDetailPrcsNm(String detailPrcsNm) { - this.detailPrcsNm = detailPrcsNm; - } - - public String getEduStrtDt() { - return eduStrtDt; - } - - public void setEduStrtDt(String eduStrtDt) { - this.eduStrtDt = eduStrtDt; - } - - public String getEduEndDt() { - return eduEndDt; - } - - public void setEduEndDt(String eduEndDt) { - this.eduEndDt = eduEndDt; - } - - public String getEduPrsnl() { - return eduPrsnl; - } - - public void setEduPrsnl(String eduPrsnl) { - this.eduPrsnl = eduPrsnl; - } - - public String getChrgMjr() { - return chrgMjr; - } - - public void setChrgMjr(String chrgMjr) { - this.chrgMjr = chrgMjr; - } - - public String getdBirth() { - return dBirth; - } - - public void setdBirth(String dBirth) { - this.dBirth = dBirth; - } - - public String getChrgSexCd() { - return chrgSexCd; - } - - public void setChrgSexCd(String chrgSexCd) { - this.chrgSexCd = chrgSexCd; - } - - public String getCmpltYear() { - return cmpltYear; - } - - public void setCmpltYear(String cmpltYear) { - this.cmpltYear = cmpltYear; - } - - public String getCmpltNum() { - return cmpltNum; - } - - public void setCmpltNum(String cmpltNum) { - this.cmpltNum = cmpltNum; - } - - public String getExprnClsrnCd() { - return exprnClsrnCd; - } - - public void setExprnClsrnCd(String exprnClsrnCd) { - this.exprnClsrnCd = exprnClsrnCd; - } - - public String getExprnClsrnYear() { - return exprnClsrnYear; - } - - public void setExprnClsrnYear(String exprnClsrnYear) { - this.exprnClsrnYear = exprnClsrnYear; - } - - public String getExprnClsrnAplct() { - return exprnClsrnAplct; - } - - public void setExprnClsrnAplct(String exprnClsrnAplct) { - this.exprnClsrnAplct = exprnClsrnAplct; - } - - public String getExprnClsrnAplctCn() { - return exprnClsrnAplctCn; - } - - public void setExprnClsrnAplctCn(String exprnClsrnAplctCn) { - this.exprnClsrnAplctCn = exprnClsrnAplctCn; - } - - public String getTrgtGrade() { - return trgtGrade; - } - - public void setTrgtGrade(String trgtGrade) { - this.trgtGrade = trgtGrade; - } - - public String getTrgtClsrm() { - return trgtClsrm; - } - - public void setTrgtClsrm(String trgtClsrm) { - this.trgtClsrm = trgtClsrm; - } - - public String getTrgtPrsnl() { - return trgtPrsnl; - } - - public void setTrgtPrsnl(String trgtPrsnl) { - this.trgtPrsnl = trgtPrsnl; - } - - public String getRprtSbmt() { - return rprtSbmt; - } - - public void setRprtSbmt(String rprtSbmt) { - this.rprtSbmt = rprtSbmt; - } - - public String getOprtnStrtDt() { - return oprtnStrtDt; - } - - public void setOprtnStrtDt(String oprtnStrtDt) { - this.oprtnStrtDt = oprtnStrtDt; - } - - public String getOprtnEndDt() { - return oprtnEndDt; - } - - public void setOprtnEndDt(String oprtnEndDt) { - this.oprtnEndDt = oprtnEndDt; - } - - public String getOprtnFileId() { - return oprtnFileId; - } - - public void setOprtnFileId(String oprtnFileId) { - this.oprtnFileId = oprtnFileId; - } - public String getPrcsKind() { - return prcsKind; - } - public void setPrcsKind(String prcsKind) { - this.prcsKind = prcsKind; - } - public String getEduStrtPnttm() { - return eduStrtPnttm; - } - public void setEduStrtPnttm(String eduStrtPnttm) { - this.eduStrtPnttm = eduStrtPnttm; - } - public String getEduDdlnPnttm() { - return eduDdlnPnttm; - } - public void setEduDdlnPnttm(String eduDdlnPnttm) { - this.eduDdlnPnttm = eduDdlnPnttm; - } - public String getDeadLineDt() { - return deadLineDt; - } - public void setDeadLineDt(String deadLineDt) { - this.deadLineDt = deadLineDt; - } - public String getEduPartCd() { - return eduPartCd; - } - public void setEduPartCd(String eduPartCd) { - this.eduPartCd = eduPartCd; - } - public String getNos() { - return nos; - } - public void setNos(String nos) { - this.nos = nos; - } - public String getDdlnCd() { - return ddlnCd; - } - public void setDdlnCd(String ddlnCd) { - this.ddlnCd = ddlnCd; - } - public String getNosCnt1() { - return nosCnt1; - } - public void setNosCnt1(String nosCnt1) { - this.nosCnt1 = nosCnt1; - } - public String getEduPlace() { - return eduPlace; - } - public void setEduPlace(String eduPlace) { - this.eduPlace = eduPlace; - } - public String getInstrDiv() { - return instrDiv; - } - public void setInstrDiv(String instrDiv) { - this.instrDiv = instrDiv; - } - public String getInstrCnt() { - return instrCnt; - } - public void setInstrCnt(String instrCnt) { - this.instrCnt = instrCnt; - } - public String getUserId() { - return userId; - } - public void setUserId(String userId) { - this.userId = userId; - } - public String getAprvlCd() { - return aprvlCd; - } - public void setAprvlCd(String aprvlCd) { - this.aprvlCd = aprvlCd; - } - public String getAplctStateCd() { - return aplctStateCd; - } - public void setAplctStateCd(String aplctStateCd) { - this.aplctStateCd = aplctStateCd; - } - public String getEduCmpltCrtfcNmbr() { - return eduCmpltCrtfcNmbr; - } - public void setEduCmpltCrtfcNmbr(String eduCmpltCrtfcNmbr) { - this.eduCmpltCrtfcNmbr = eduCmpltCrtfcNmbr; - } - public String getDateChk() { - return dateChk; - } - public void setDateChk(String dateChk) { - this.dateChk = dateChk; - } - public Boolean getQestRsltExists() { - return qestRsltExists; - } - public void setQestRsltExists(Boolean qestRsltExists) { - this.qestRsltExists = qestRsltExists; - } - public String getTrgtNm() { - return trgtNm; - } - - public String getEduStateCd() { - return eduStateCd; - } - public void setEduStateCd(String eduStateCd) { - this.eduStateCd = eduStateCd; - } - public void setTrgtNm(String trgtNm) { - this.trgtNm = trgtNm; - } - public String getSspnIdtmtTrgtOrd() { - return sspnIdtmtTrgtOrd; - } - public void setSspnIdtmtTrgtOrd(String sspnIdtmtTrgtOrd) { - this.sspnIdtmtTrgtOrd = sspnIdtmtTrgtOrd; - } - public String getCnclAtchFileId() { - return cnclAtchFileId; - } - public void setCnclAtchFileId(String cnclAtchFileId) { - this.cnclAtchFileId = cnclAtchFileId; - } - public String getCnclCn() { - return cnclCn; - } - public void setCnclCn(String cnclCn) { - this.cnclCn = cnclCn; - } - public String getImageAtchFileId() { - return imageAtchFileId; - } - public void setImageAtchFileId(String imageAtchFileId) { - this.imageAtchFileId = imageAtchFileId; - } - public String getPrpsCn() { - return prpsCn; - } - public void setPrpsCn(String prpsCn) { - this.prpsCn = prpsCn; - } - public String getChrctCn() { - return chrctCn; - } - public void setChrctCn(String chrctCn) { - this.chrctCn = chrctCn; - } - public String getPrcsAplctPrdEtcOrd() { - return prcsAplctPrdEtcOrd; - } - public void setPrcsAplctPrdEtcOrd(String prcsAplctPrdEtcOrd) { - this.prcsAplctPrdEtcOrd = prcsAplctPrdEtcOrd; - } - - public String getPrcsAplctPrdQnaOrd() { - return prcsAplctPrdQnaOrd; - } - public void setPrcsAplctPrdQnaOrd(String prcsAplctPrdQnaOrd) { - this.prcsAplctPrdQnaOrd = prcsAplctPrdQnaOrd; - } - public String getQnaRegist() { - return qnaRegist; - } - public void setQnaRegist(String qnaRegist) { - this.qnaRegist = qnaRegist; - } - public String getQnaCn() { - return qnaCn; - } - public void setQnaCn(String qnaCn) { - this.qnaCn = qnaCn; - } - public String getQnaAnswerCn() { - return qnaAnswerCn; - } - public void setQnaAnswerCn(String qnaAnswerCn) { - this.qnaAnswerCn = qnaAnswerCn; - } - public String getQnaAnswerer() { - return qnaAnswerer; - } - public void setQnaAnswerer(String qnaAnswerer) { - this.qnaAnswerer = qnaAnswerer; - } - - public String getDprtmNm() { - return dprtmNm; - } - public void setDprtmNm(String dprtmNm) { - this.dprtmNm = dprtmNm; - } - public String getCnAtchFileId() { - return cnAtchFileId; - } - public void setCnAtchFileId(String cnAtchFileId) { - this.cnAtchFileId = cnAtchFileId; - } - - public String getMberNm() { - return mberNm; - } - public void setMberNm(String mberNm) { - this.mberNm = mberNm; - } - public String getsTodate() { - return sTodate; - } - public void setsTodate(String sTodate) { - this.sTodate = sTodate; - } - public String getStart() { - return start; - } - public void setStart(String start) { - this.start = start; - } - public String getSend() { - return send; - } - public void setSend(String send) { - this.send = send; - } - public String getChrgNm() { - return chrgNm; - } - public void setChrgNm(String chrgNm) { - this.chrgNm = chrgNm; - } - public String getInsttNm() { - return insttNm; - } - public void setInsttNm(String insttNm) { - this.insttNm = insttNm; - } - public String getRespondId() { - return respondId; - } - public void setRespondId(String respondId) { - this.respondId = respondId; - } - public String getLctrPlanRsltAtchFileId() { - return lctrPlanRsltAtchFileId; - } - public void setLctrPlanRsltAtchFileId(String lctrPlanRsltAtchFileId) { - this.lctrPlanRsltAtchFileId = lctrPlanRsltAtchFileId; - } - public String getInstrNm() { - return instrNm; - } - public void setInstrNm(String instrNm) { - this.instrNm = instrNm; - } - public String getQustnrTmplatId() { - return qustnrTmplatId; - } - public void setQustnrTmplatId(String qustnrTmplatId) { - this.qustnrTmplatId = qustnrTmplatId; - } - public String getFld() { - return fld; - } - public void setFld(String fld) { - this.fld = fld; - } - public String getLctrYn() { - return lctrYn; - } - public void setLctrYn(String lctrYn) { - this.lctrYn = lctrYn; - } - public String getPrvsQs() { - return prvsQs; - } - public void setPrvsQs(String prvsQs) { - this.prvsQs = prvsQs; - } - public String getDiffDay() { - return diffDay; - } - public void setDiffDay(String diffDay) { - this.diffDay = diffDay; - } - public String getEmail() { - return email; - } - public void setEmail(String email) { - this.email = email; - } - public String getClphone() { - return clphone; - } - public void setClphone(String clphone) { - this.clphone = clphone; - } - public String getSndFlag() { - return sndFlag; - } - public void setSndFlag(String sndFlag) { - this.sndFlag = sndFlag; - } - - -} +package kcc.ve.instr.tngrVisitEdu.prcsInfo.service; + +import java.io.Serializable; +import java.util.List; + +import kcc.com.cmm.ComDefaultVO; + + +public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { + /* + * 과정테이블 + * */ + + private static final long serialVersionUID = 1L; + + //ve_prcs + + private String searchDiv; //검색구분 + private String prcsOrd; //과정순번 + private String prcsDiv; //과정구분 + private String prcsKind; //과정종류 + private String prcsNm; //과정이름 + private String prcsCn; //과정내용 + private String prcsSortNo; //과정표시 순번 + + private String frstRegistPnttm; // 등록일시 + private String frstRegisterId; // 등록자 + private String frstRegisterNm; // 등록자 + private String lastUpdtPnttm; // 수정일시 + private String lastUpdusrId; // 수정자 + + private String sndFlag; + + //ve_prcs_aplct_prd + private String prcsAplctPrdOrd; //과정신청기간순번 + private String lctrDivCd; //강의구분코드 VE0011 10 - 청소년 강의, 20 - 성인 강의 + private String strtPnttm; //시작일시 + private String endPnttm; //마감일시 + private String useYn; //사용여부 + + private String anncmCn; //안내내용 + private String popupCn; //팝업내용 + private String atchFileId; //첨부파일아이디 + private String atchFileNm; //첨부파일아이디 + + private String instrNm; // + + //ve_edu_aplct + private String eduAplctOrd; //교육신청순번 + private List eduAplctOrdList; //교육신청순번 + private List sspnIdtmtTrgtOrdList; //교육신청순번 + private String eduChasiOrd; //교육차시순번 + private String cnt; + + private String selectPagingListQuery; + private String orderByQuery; + + private String title; + + private int rowCnt; + private int rowDtlCnt; + + private int chasiCnt; + + private String checkYn; + private String prcsOnlnCntntOrd; + private String onlnCntntDivCd; + private String detailPrcsNm; + + private String prcsChoice; + + private String eduStrtDt; + private String eduEndDt; + private String eduPrsnl; + + private String chrgMjr; + + private String dBirth; + + private String chrgSexCd; + + private String cmpltYear; + + private String cmpltNum; + + private String exprnClsrnCd; + + private String exprnClsrnYear; + + private String exprnClsrnAplct; + + private String exprnClsrnAplctCn; + + private String trgtGrade; + + private String trgtClsrm; + + private String trgtPrsnl; + + private String rprtSbmt; + + private String oprtnStrtDt; + + private String oprtnEndDt; + + private String oprtnFileId; + + + private String eduStrtPnttm; + + private String eduDdlnPnttm; + + private String deadLineDt; + private String eduPartCd; + + private String nos; + private String ddlnCd; + + private String nosCnt1; //신청인 + private String eduPlace; //교육장소 + + private String instrDiv; + private String instrCnt; + private String userId; + private String email; + private String clphone; + + + + private String aprvlCd; + + private String aplctStateCd; // 신청상태코드 VEA003 + private String eduCmpltCrtfcNmbr; + + private String dateChk; + private Boolean qestRsltExists; + + private String trgtNm; + private String eduStateCd; + private String sspnIdtmtTrgtOrd; + + private String cnclAtchFileId; + private String cnclCn; + + private String imageAtchFileId; + + private String prpsCn; + private String chrctCn; + private String prcsAplctPrdEtcOrd; + + private String dprtmNm; + private String cnAtchFileId; + + + private String prcsAplctPrdQnaOrd; + private String qnaRegist; + private String qnaCn; + private String qnaAnswerCn; + private String qnaAnswerer; + + private String mberNm; + + private String sTodate; + private String start; + private String send; + + private String chrgNm; + private String insttNm; + + private String respondId; + + private String lctrPlanRsltAtchFileId; //강의계획서 첨부파일 아이디 + + private String qustnrTmplatId; + + private String fld; // 분야 + private String lctrYn; // 저작권 교육 수강 여부 + private String prvsQs; // 교육관련 사전질의 + + private String diffDay; // + + private String feeSbmtYn; // + private String instrFeeSum; // + //private String prcsOrd; // + private String instrPhone; // + + private String eduHopeDt; // + + private String instrFee; // + + private String trafficFee; // + + + + public String getSearchDiv() { + return searchDiv; + } + public void setSearchDiv(String searchDiv) { + this.searchDiv = searchDiv; + } + public String getPrcsOrd() { + return prcsOrd; + } + public void setPrcsOrd(String prcsOrd) { + this.prcsOrd = prcsOrd; + } + public String getPrcsNm() { + return prcsNm; + } + public void setPrcsNm(String prcsNm) { + this.prcsNm = prcsNm; + } + public String getPrcsCn() { + return prcsCn; + } + public void setPrcsCn(String prcsCn) { + this.prcsCn = prcsCn; + } + public String getPrcsSortNo() { + return prcsSortNo; + } + public void setPrcsSortNo(String prcsSortNo) { + this.prcsSortNo = prcsSortNo; + } + public String getFrstRegistPnttm() { + return frstRegistPnttm; + } + public void setFrstRegistPnttm(String frstRegistPnttm) { + this.frstRegistPnttm = frstRegistPnttm; + } + public String getFrstRegisterId() { + return frstRegisterId; + } + public void setFrstRegisterId(String frstRegisterId) { + this.frstRegisterId = frstRegisterId; + } + public String getLastUpdtPnttm() { + return lastUpdtPnttm; + } + public void setLastUpdtPnttm(String lastUpdtPnttm) { + this.lastUpdtPnttm = lastUpdtPnttm; + } + public String getLastUpdusrId() { + return lastUpdusrId; + } + public void setLastUpdusrId(String lastUpdusrId) { + this.lastUpdusrId = lastUpdusrId; + } + public String getPrcsAplctPrdOrd() { + return prcsAplctPrdOrd; + } + public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) { + this.prcsAplctPrdOrd = prcsAplctPrdOrd; + } + public String getLctrDivCd() { + return lctrDivCd; + } + public void setLctrDivCd(String lctrDivCd) { + this.lctrDivCd = lctrDivCd; + } + public String getStrtPnttm() { + return strtPnttm; + } + public void setStrtPnttm(String strtPnttm) { + this.strtPnttm = strtPnttm; + } + public String getEndPnttm() { + return endPnttm; + } + public void setEndPnttm(String endPnttm) { + this.endPnttm = endPnttm; + } + public String getUseYn() { + return useYn; + } + public void setUseYn(String useYn) { + this.useYn = useYn; + } + public String getSelectPagingListQuery() { + return selectPagingListQuery; + } + public void setSelectPagingListQuery(String selectPagingListQuery) { + this.selectPagingListQuery = selectPagingListQuery; + } + public String getOrderByQuery() { + return orderByQuery; + } + public void setOrderByQuery(String orderByQuery) { + this.orderByQuery = orderByQuery; + } + public String getPrcsDiv() { + return prcsDiv; + } + public void setPrcsDiv(String prcsDiv) { + this.prcsDiv = prcsDiv; + } + public String getAnncmCn() { + return anncmCn; + } + public void setAnncmCn(String anncmCn) { + this.anncmCn = anncmCn; + } + public String getPopupCn() { + return popupCn; + } + public void setPopupCn(String popupCn) { + this.popupCn = popupCn; + } + public String getAtchFileId() { + return atchFileId; + } + public void setAtchFileId(String atchFileId) { + this.atchFileId = atchFileId; + } + public String getCnt() { + return cnt; + } + public void setCnt(String cnt) { + this.cnt = cnt; + } + public String getEduAplctOrd() { + return eduAplctOrd; + } + public void setEduAplctOrd(String eduAplctOrd) { + this.eduAplctOrd = eduAplctOrd; + } + public List getEduAplctOrdList() { + return eduAplctOrdList; + } + public void setEduAplctOrdList(List eduAplctOrdList) { + this.eduAplctOrdList = eduAplctOrdList; + } + public List getSspnIdtmtTrgtOrdList() { + return sspnIdtmtTrgtOrdList; + } + public void setSspnIdtmtTrgtOrdList(List sspnIdtmtTrgtOrdList) { + this.sspnIdtmtTrgtOrdList = sspnIdtmtTrgtOrdList; + } + public String getEduChasiOrd() { + return eduChasiOrd; + } + public void setEduChasiOrd(String eduChasiOrd) { + this.eduChasiOrd = eduChasiOrd; + } + public String getTitle() { + return title; + } + public void setTitle(String title) { + this.title = title; + } + public String getFrstRegisterNm() { + return frstRegisterNm; + } + public void setFrstRegisterNm(String frstRegisterNm) { + this.frstRegisterNm = frstRegisterNm; + } + public String getAtchFileNm() { + return atchFileNm; + } + public void setAtchFileNm(String atchFileNm) { + this.atchFileNm = atchFileNm; + } + + public int getRowCnt() { + return rowCnt; + } + + public void setRowCnt(int rowCnt) { + this.rowCnt = rowCnt; + } + + public int getChasiCnt() { + return chasiCnt; + } + + public void setChasiCnt(int chasiCnt) { + this.chasiCnt = chasiCnt; + } + + public String getCheckYn() { + return checkYn; + } + + public void setCheckYn(String checkYn) { + this.checkYn = checkYn; + } + + public String getPrcsChoice() { + return prcsChoice; + } + + public void setPrcsChoice(String prcsChoice) { + this.prcsChoice = prcsChoice; + } + + public int getRowDtlCnt() { + return rowDtlCnt; + } + + public void setRowDtlCnt(int rowDtlCnt) { + this.rowDtlCnt = rowDtlCnt; + } + + public String getPrcsOnlnCntntOrd() { + return prcsOnlnCntntOrd; + } + + public void setPrcsOnlnCntntOrd(String prcsOnlnCntntOrd) { + this.prcsOnlnCntntOrd = prcsOnlnCntntOrd; + } + + public String getOnlnCntntDivCd() { + return onlnCntntDivCd; + } + + public void setOnlnCntntDivCd(String onlnCntntDivCd) { + this.onlnCntntDivCd = onlnCntntDivCd; + } + + public String getDetailPrcsNm() { + return detailPrcsNm; + } + + public void setDetailPrcsNm(String detailPrcsNm) { + this.detailPrcsNm = detailPrcsNm; + } + + public String getEduStrtDt() { + return eduStrtDt; + } + + public void setEduStrtDt(String eduStrtDt) { + this.eduStrtDt = eduStrtDt; + } + + public String getEduEndDt() { + return eduEndDt; + } + + public void setEduEndDt(String eduEndDt) { + this.eduEndDt = eduEndDt; + } + + public String getEduPrsnl() { + return eduPrsnl; + } + + public void setEduPrsnl(String eduPrsnl) { + this.eduPrsnl = eduPrsnl; + } + + public String getChrgMjr() { + return chrgMjr; + } + + public void setChrgMjr(String chrgMjr) { + this.chrgMjr = chrgMjr; + } + + public String getdBirth() { + return dBirth; + } + + public void setdBirth(String dBirth) { + this.dBirth = dBirth; + } + + public String getChrgSexCd() { + return chrgSexCd; + } + + public void setChrgSexCd(String chrgSexCd) { + this.chrgSexCd = chrgSexCd; + } + + public String getCmpltYear() { + return cmpltYear; + } + + public void setCmpltYear(String cmpltYear) { + this.cmpltYear = cmpltYear; + } + + public String getCmpltNum() { + return cmpltNum; + } + + public void setCmpltNum(String cmpltNum) { + this.cmpltNum = cmpltNum; + } + + public String getExprnClsrnCd() { + return exprnClsrnCd; + } + + public void setExprnClsrnCd(String exprnClsrnCd) { + this.exprnClsrnCd = exprnClsrnCd; + } + + public String getExprnClsrnYear() { + return exprnClsrnYear; + } + + public void setExprnClsrnYear(String exprnClsrnYear) { + this.exprnClsrnYear = exprnClsrnYear; + } + + public String getExprnClsrnAplct() { + return exprnClsrnAplct; + } + + public void setExprnClsrnAplct(String exprnClsrnAplct) { + this.exprnClsrnAplct = exprnClsrnAplct; + } + + public String getExprnClsrnAplctCn() { + return exprnClsrnAplctCn; + } + + public void setExprnClsrnAplctCn(String exprnClsrnAplctCn) { + this.exprnClsrnAplctCn = exprnClsrnAplctCn; + } + + public String getTrgtGrade() { + return trgtGrade; + } + + public void setTrgtGrade(String trgtGrade) { + this.trgtGrade = trgtGrade; + } + + public String getTrgtClsrm() { + return trgtClsrm; + } + + public void setTrgtClsrm(String trgtClsrm) { + this.trgtClsrm = trgtClsrm; + } + + public String getTrgtPrsnl() { + return trgtPrsnl; + } + + public void setTrgtPrsnl(String trgtPrsnl) { + this.trgtPrsnl = trgtPrsnl; + } + + public String getRprtSbmt() { + return rprtSbmt; + } + + public void setRprtSbmt(String rprtSbmt) { + this.rprtSbmt = rprtSbmt; + } + + public String getOprtnStrtDt() { + return oprtnStrtDt; + } + + public void setOprtnStrtDt(String oprtnStrtDt) { + this.oprtnStrtDt = oprtnStrtDt; + } + + public String getOprtnEndDt() { + return oprtnEndDt; + } + + public void setOprtnEndDt(String oprtnEndDt) { + this.oprtnEndDt = oprtnEndDt; + } + + public String getOprtnFileId() { + return oprtnFileId; + } + + public void setOprtnFileId(String oprtnFileId) { + this.oprtnFileId = oprtnFileId; + } + public String getPrcsKind() { + return prcsKind; + } + public void setPrcsKind(String prcsKind) { + this.prcsKind = prcsKind; + } + public String getEduStrtPnttm() { + return eduStrtPnttm; + } + public void setEduStrtPnttm(String eduStrtPnttm) { + this.eduStrtPnttm = eduStrtPnttm; + } + public String getEduDdlnPnttm() { + return eduDdlnPnttm; + } + public void setEduDdlnPnttm(String eduDdlnPnttm) { + this.eduDdlnPnttm = eduDdlnPnttm; + } + public String getDeadLineDt() { + return deadLineDt; + } + public void setDeadLineDt(String deadLineDt) { + this.deadLineDt = deadLineDt; + } + public String getEduPartCd() { + return eduPartCd; + } + public void setEduPartCd(String eduPartCd) { + this.eduPartCd = eduPartCd; + } + public String getNos() { + return nos; + } + public void setNos(String nos) { + this.nos = nos; + } + public String getDdlnCd() { + return ddlnCd; + } + public void setDdlnCd(String ddlnCd) { + this.ddlnCd = ddlnCd; + } + public String getNosCnt1() { + return nosCnt1; + } + public void setNosCnt1(String nosCnt1) { + this.nosCnt1 = nosCnt1; + } + public String getEduPlace() { + return eduPlace; + } + public void setEduPlace(String eduPlace) { + this.eduPlace = eduPlace; + } + public String getInstrDiv() { + return instrDiv; + } + public void setInstrDiv(String instrDiv) { + this.instrDiv = instrDiv; + } + public String getInstrCnt() { + return instrCnt; + } + public void setInstrCnt(String instrCnt) { + this.instrCnt = instrCnt; + } + public String getUserId() { + return userId; + } + public void setUserId(String userId) { + this.userId = userId; + } + public String getAprvlCd() { + return aprvlCd; + } + public void setAprvlCd(String aprvlCd) { + this.aprvlCd = aprvlCd; + } + public String getAplctStateCd() { + return aplctStateCd; + } + public void setAplctStateCd(String aplctStateCd) { + this.aplctStateCd = aplctStateCd; + } + public String getEduCmpltCrtfcNmbr() { + return eduCmpltCrtfcNmbr; + } + public void setEduCmpltCrtfcNmbr(String eduCmpltCrtfcNmbr) { + this.eduCmpltCrtfcNmbr = eduCmpltCrtfcNmbr; + } + public String getDateChk() { + return dateChk; + } + public void setDateChk(String dateChk) { + this.dateChk = dateChk; + } + public Boolean getQestRsltExists() { + return qestRsltExists; + } + public void setQestRsltExists(Boolean qestRsltExists) { + this.qestRsltExists = qestRsltExists; + } + public String getTrgtNm() { + return trgtNm; + } + + public String getEduStateCd() { + return eduStateCd; + } + public void setEduStateCd(String eduStateCd) { + this.eduStateCd = eduStateCd; + } + public void setTrgtNm(String trgtNm) { + this.trgtNm = trgtNm; + } + public String getSspnIdtmtTrgtOrd() { + return sspnIdtmtTrgtOrd; + } + public void setSspnIdtmtTrgtOrd(String sspnIdtmtTrgtOrd) { + this.sspnIdtmtTrgtOrd = sspnIdtmtTrgtOrd; + } + public String getCnclAtchFileId() { + return cnclAtchFileId; + } + public void setCnclAtchFileId(String cnclAtchFileId) { + this.cnclAtchFileId = cnclAtchFileId; + } + public String getCnclCn() { + return cnclCn; + } + public void setCnclCn(String cnclCn) { + this.cnclCn = cnclCn; + } + public String getImageAtchFileId() { + return imageAtchFileId; + } + public void setImageAtchFileId(String imageAtchFileId) { + this.imageAtchFileId = imageAtchFileId; + } + public String getPrpsCn() { + return prpsCn; + } + public void setPrpsCn(String prpsCn) { + this.prpsCn = prpsCn; + } + public String getChrctCn() { + return chrctCn; + } + public void setChrctCn(String chrctCn) { + this.chrctCn = chrctCn; + } + public String getPrcsAplctPrdEtcOrd() { + return prcsAplctPrdEtcOrd; + } + public void setPrcsAplctPrdEtcOrd(String prcsAplctPrdEtcOrd) { + this.prcsAplctPrdEtcOrd = prcsAplctPrdEtcOrd; + } + + public String getPrcsAplctPrdQnaOrd() { + return prcsAplctPrdQnaOrd; + } + public void setPrcsAplctPrdQnaOrd(String prcsAplctPrdQnaOrd) { + this.prcsAplctPrdQnaOrd = prcsAplctPrdQnaOrd; + } + public String getQnaRegist() { + return qnaRegist; + } + public void setQnaRegist(String qnaRegist) { + this.qnaRegist = qnaRegist; + } + public String getQnaCn() { + return qnaCn; + } + public void setQnaCn(String qnaCn) { + this.qnaCn = qnaCn; + } + public String getQnaAnswerCn() { + return qnaAnswerCn; + } + public void setQnaAnswerCn(String qnaAnswerCn) { + this.qnaAnswerCn = qnaAnswerCn; + } + public String getQnaAnswerer() { + return qnaAnswerer; + } + public void setQnaAnswerer(String qnaAnswerer) { + this.qnaAnswerer = qnaAnswerer; + } + + public String getDprtmNm() { + return dprtmNm; + } + public void setDprtmNm(String dprtmNm) { + this.dprtmNm = dprtmNm; + } + public String getCnAtchFileId() { + return cnAtchFileId; + } + public void setCnAtchFileId(String cnAtchFileId) { + this.cnAtchFileId = cnAtchFileId; + } + + public String getMberNm() { + return mberNm; + } + public void setMberNm(String mberNm) { + this.mberNm = mberNm; + } + public String getsTodate() { + return sTodate; + } + public void setsTodate(String sTodate) { + this.sTodate = sTodate; + } + public String getStart() { + return start; + } + public void setStart(String start) { + this.start = start; + } + public String getSend() { + return send; + } + public void setSend(String send) { + this.send = send; + } + public String getChrgNm() { + return chrgNm; + } + public void setChrgNm(String chrgNm) { + this.chrgNm = chrgNm; + } + public String getInsttNm() { + return insttNm; + } + public void setInsttNm(String insttNm) { + this.insttNm = insttNm; + } + public String getRespondId() { + return respondId; + } + public void setRespondId(String respondId) { + this.respondId = respondId; + } + public String getLctrPlanRsltAtchFileId() { + return lctrPlanRsltAtchFileId; + } + public void setLctrPlanRsltAtchFileId(String lctrPlanRsltAtchFileId) { + this.lctrPlanRsltAtchFileId = lctrPlanRsltAtchFileId; + } + public String getInstrNm() { + return instrNm; + } + public void setInstrNm(String instrNm) { + this.instrNm = instrNm; + } + public String getQustnrTmplatId() { + return qustnrTmplatId; + } + public void setQustnrTmplatId(String qustnrTmplatId) { + this.qustnrTmplatId = qustnrTmplatId; + } + public String getFld() { + return fld; + } + public void setFld(String fld) { + this.fld = fld; + } + public String getLctrYn() { + return lctrYn; + } + public void setLctrYn(String lctrYn) { + this.lctrYn = lctrYn; + } + public String getPrvsQs() { + return prvsQs; + } + public void setPrvsQs(String prvsQs) { + this.prvsQs = prvsQs; + } + public String getDiffDay() { + return diffDay; + } + public void setDiffDay(String diffDay) { + this.diffDay = diffDay; + } + public String getEmail() { + return email; + } + public void setEmail(String email) { + this.email = email; + } + public String getClphone() { + return clphone; + } + public void setClphone(String clphone) { + this.clphone = clphone; + } + public String getSndFlag() { + return sndFlag; + } + public void setSndFlag(String sndFlag) { + this.sndFlag = sndFlag; + } + public String getFeeSbmtYn() { + return feeSbmtYn; + } + public void setFeeSbmtYn(String feeSbmtYn) { + this.feeSbmtYn = feeSbmtYn; + } + public String getInstrFeeSum() { + return instrFeeSum; + } + public void setInstrFeeSum(String instrFeeSum) { + this.instrFeeSum = instrFeeSum; + } + public String getInstrPhone() { + return instrPhone; + } + public void setInstrPhone(String instrPhone) { + this.instrPhone = instrPhone; + } + public String getEduHopeDt() { + return eduHopeDt; + } + public void setEduHopeDt(String eduHopeDt) { + this.eduHopeDt = eduHopeDt; + } + public String getInstrFee() { + return instrFee; + } + public void setInstrFee(String instrFee) { + this.instrFee = instrFee; + } + public String getTrafficFee() { + return trafficFee; + } + public void setTrafficFee(String trafficFee) { + this.trafficFee = trafficFee; + } + + +} diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java index a90a2ce6..e4440e48 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java @@ -1,22 +1,28 @@ package kcc.ve.oprtn.cndtnSspnIdtmt.web; +import java.util.ArrayList; import java.util.List; +import java.util.Locale; import javax.annotation.Resource; import javax.servlet.http.HttpSession; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +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.service.EgovFileMngService; import kcc.com.cmm.service.EgovFileMngUtil; import kcc.com.cmm.service.impl.CmmUseDAO; +import kcc.com.cmm.spring.data.util.ExcelUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.cmm.VeInstrFeeMng; @@ -257,7 +263,8 @@ public class CndtnInstrMngController { //@RequestMapping("eduInstrFeeMngList.do") @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/eduInstrFeeMngList.do") public String eduInstrFeeMngList( - @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO + //@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model ) throws Exception { @@ -270,58 +277,95 @@ public class CndtnInstrMngController { //로그인 처리==================================== try { - //담당자 검색 시 이름 암호화 - if("2".equals(vEEduAplctVO.getSearchCondition())) { - vEEduAplctVO.setSearchKeyword(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())); - } - model.addAttribute("cryptoUtil", egovCryptoUtil); + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1_vEEduAplctVO(vEEduAplctVO); + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); //2. pageing step2 - vEEduAplctVO = this.setPagingStep2_vEEduAplctVO(vEEduAplctVO, paginationInfo); - //vEEduAplctVO.setLctrDivCd("30"); // 저작권 체험교실 코드 - vEEduAplctVO.setInstrDiv("60"); // 10-청소년, 20-성인, 30-체험, 40-외부, 50-기반, 60-기소 - vEEduAplctVO.setLctrDivCd("60"); // 10-청소년, 20-성인, 30-체험, 40-외부, 50-기반, 60-기소 - vEEduAplctVO.setAprvlCd("60"); - vEEduAplctVO.setAsgnmAprvlCd("30"); //강사배정 교육승인 -// vEEduAplctVO.setSearchSubmitYn("Y"); //제출에 대한 강사료 확정 여부 - vEEduAplctVO.setSearchAsgnmAprvlCd("30"); - vEEduAplctVO.setSearchTableJoin("tngrResult"); + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - System.out.println("11111111111111113"); - - vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO); - List vEEduAplctVOList = vEEduMIXService.selectTngrFeePagingList(vEEduAplctVO); - VEEduAplctVO vo = new VEEduAplctVO(); - for(int i=0; i < vEEduAplctVOList.size(); i++) { - vo = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVOList.get(i)); - System.out.println(" @@@@@@@@@@@@@ "+vo.getChrgNm()); - vEEduAplctVOList.get(i).setChrgNm(vo.getChrgNm()); - - // 강사료 계산 - VeInstrFeeMng veInstrFeeMng = new VeInstrFeeMng(); - VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = veInstrFeeMng.VeInstrFeeMng4Adult(vEInstrFeeService, vEEduAplctVOList.get(i).getEduAplctOrd(), vEEduAplctVOList.get(i).getEduChasiOrd()); - vEEduAplctVOList.get(i).setInstrFeeSum(Integer.toString(vEInstrFeeAcmdtVO.getInstrFeeSum())); + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + //교육확정 목록 조회 + vEPrcsDetailVO.setDdlnCd("20"); + + //정렬 + System.out.println(vEPrcsDetailVO.getSearchSortCnd()); + System.out.println(vEPrcsDetailVO.getSearchSortOrd()); + if(!"".equals(vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + vEPrcsDetailVO.setOrderByQuery(vEPrcsDetailVO.getSearchSortCnd() + " " +vEPrcsDetailVO.getSearchSortOrd()); } - System.out.println("11111111111111112"); + //강사명 검색시 암호화 + if (!"".equals(vEPrcsDetailVO.getSrchKwd3_1())) { + vEPrcsDetailVO.setSrchKwd3_1(egovCryptoUtil.encrypt(vEPrcsDetailVO.getSrchKwd3_1())); + } + + List vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO); + + //강사명 검색시 복호화 + if (!"".equals(vEPrcsDetailVO.getSrchKwd3_1())) { + vEPrcsDetailVO.setSrchKwd3_1(egovCryptoUtil.decrypt(vEPrcsDetailVO.getSrchKwd3_1())); + } + + //3.pageing step3 - paginationInfo = this.setPagingStep3_vEEduAplctVO(vEEduAplctVOList, paginationInfo); + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); model.addAttribute("paginationInfo", paginationInfo); + // 지정된 강사가 있는지 확인 + vEPrcsDetailVOList.stream().forEach(t->{ + + List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); + if(vEAPrcsAplctPrdInstrAsgnmList.size() > 0) { + t.setInstrCnt(Integer.toString(vEAPrcsAplctPrdInstrAsgnmList.size())); + } + + }); + + + // 강사료 계산 + //vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO); + //List vEEduAplctVOList = vEEduMIXService.selectTngrFeePagingList(vEEduAplctVO); + VEEduAplctVO vo = new VEEduAplctVO(); + for(int i=0; i < vEPrcsDetailVOList.size(); i++) { + //vo = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVOList.get(i)); + //System.out.println(" @@@@@@@@@@@@@ "+vo.getChrgNm()); + //vEEduAplctVOList.get(i).setChrgNm(vo.getChrgNm()); + + // 강사료 계산 + VeInstrFeeMng veInstrFeeMng = new VeInstrFeeMng(); + VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = veInstrFeeMng.VeInstrFeeMng4Fndth( + vEInstrFeeService + , vEPrcsDetailVOList.get(i).getPrcsAplctPrdOrd() + , vEPrcsDetailVOList.get(i).getUserId() + ); + vEPrcsDetailVOList.get(i).setInstrFeeSum(Integer.toString(vEInstrFeeAcmdtVO.getInstrFeeSum())); + + System.out.println("vEPrcsDetailVOList.get(i).getInstrPhone()"); + System.out.println(vEPrcsDetailVOList.get(i).getInstrPhone()); + System.out.println(vEPrcsDetailVOList.get(i).getInstrPhone()); + + } + //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEEduAplctVOList); - - System.out.println("1111111111111111"); - - //대상 리스트, 페이징 정보 전달 - //model.addAttribute("resultList", vEEduAplctVOList); + vEPrcsDetailVOList = egovCryptoUtil.decryptvEPrcsDetailList(vEPrcsDetailVOList); + model.addAttribute("list", vEPrcsDetailVOList); }catch(Exception ex) { ex.printStackTrace(); } @@ -329,6 +373,130 @@ public class CndtnInstrMngController { return "oprtn/cndtnSspnIdtmt/eduInstrFeeMngList"; } + /** + * 강사료 확정 처리 목록 Excel + * @param model + * @return + * @throws Exception + */ + @SuppressWarnings("rawtypes") + @RequestMapping(value = "/kccadr/oprtn/cndtnSspnIdtmt/eduInstrFeeExcelDownLoad.do") + public ModelAndView eduInstrFeeExcelDownLoad( + //@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model) throws Exception { + + + //로그인 처리==================================== + //로그인 정보 가져오기 + + //String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + //if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + //교육확정 목록 조회 + vEPrcsDetailVO.setDdlnCd("20"); + + //정렬 + System.out.println(vEPrcsDetailVO.getSearchSortCnd()); + System.out.println(vEPrcsDetailVO.getSearchSortOrd()); + if(!"".equals(vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + vEPrcsDetailVO.setOrderByQuery(vEPrcsDetailVO.getSearchSortCnd() + " " +vEPrcsDetailVO.getSearchSortOrd()); + } + + + //강사명 검색시 암호화 + if (!"".equals(vEPrcsDetailVO.getSrchKwd3_1())) { + vEPrcsDetailVO.setSrchKwd3_1(egovCryptoUtil.encrypt(vEPrcsDetailVO.getSrchKwd3_1())); + } + + List vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO); + + //강사명 검색시 복호화 + if (!"".equals(vEPrcsDetailVO.getSrchKwd3_1())) { + vEPrcsDetailVO.setSrchKwd3_1(egovCryptoUtil.decrypt(vEPrcsDetailVO.getSrchKwd3_1())); + } + + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + vEPrcsDetailVOList = egovCryptoUtil.decryptvEPrcsDetailList(vEPrcsDetailVOList); + + + VeInstrFeeMng veInstrFeeMng = new VeInstrFeeMng(); + vEPrcsDetailVOList.forEach( vo -> { + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + + try { + + // 강사료 계산 + VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = veInstrFeeMng.VeInstrFeeMng4Fndth4Excel(vEInstrFeeService, vo.getPrcsAplctPrdOrd(), vo.getUserId()); + + vo.setInstrFeeSum(String.format("%,d", vEInstrFeeAcmdtVO.getInstrFeeSum())); + + } + catch(Exception ex) { + System.out.println(ex.toString()); + + } + }); + + List excelData = new ArrayList<>(); + excelData.addAll(vEPrcsDetailVOList); + // 세팅값 + String title = "강사료 지급내역"; + + // 너비 + int[] width = { + 4000, 4000 + , 4000, 4000, 4000 + , 4000 + }; + + // 헤더 + String[] header = { + "교육일자", "과정명" + , "강사이름", "강사료", "교통비" + , "강사료 합계" + }; + + // 컬럼명 + String[] order = { + "EduHopeDt", "PrcsNm" + , "InstrNm", "InstrFee", "TrafficFee" + , "InstrFeeSum" + }; + + // 호출 + SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title); + model.addAttribute("locale", Locale.KOREA); + model.addAttribute("workbook", workbook); + model.addAttribute("workbookName", title); + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("excelDownloadView"); + modelAndView.addObject(model); + + return modelAndView; + } + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthInstrMngController.java b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthInstrMngController.java index f305eb65..33d52963 100644 --- a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthInstrMngController.java +++ b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthInstrMngController.java @@ -1,25 +1,35 @@ package kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctPrdMng.web; +import java.util.ArrayList; import java.util.List; +import java.util.Locale; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +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; +import kcc.com.cmm.service.EgovCmmUseService; import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.EgovFileMngUtil; import kcc.com.cmm.service.impl.CmmUseDAO; +import kcc.com.cmm.spring.data.util.ExcelUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.cmm.VeInstrFeeMng; +import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; @@ -135,6 +145,10 @@ public class FndthInstrMngController { @Resource(name = "vEInstrFeeService") private VEInstrFeeService vEInstrFeeService; + // eGov 공통코드 + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + /* // 교육신청 서비스단 @@ -258,7 +272,8 @@ public class FndthInstrMngController { //@RequestMapping("eduInstrFeeMngList.do") @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/eduInstrFeeMngList.do") public String eduInstrFeeMngList( - @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO + //@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model ) throws Exception { @@ -271,58 +286,95 @@ public class FndthInstrMngController { //로그인 처리==================================== try { - //담당자 검색 시 이름 암호화 - if("2".equals(vEEduAplctVO.getSearchCondition())) { - vEEduAplctVO.setSearchKeyword(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())); - } - model.addAttribute("cryptoUtil", egovCryptoUtil); + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1_vEEduAplctVO(vEEduAplctVO); + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); //2. pageing step2 - vEEduAplctVO = this.setPagingStep2_vEEduAplctVO(vEEduAplctVO, paginationInfo); - //vEEduAplctVO.setLctrDivCd("30"); // 저작권 체험교실 코드 - vEEduAplctVO.setInstrDiv("50"); // 10-청소년, 20-성인, 30-체험, 40-외부, 50-기반, 60-기소 - vEEduAplctVO.setLctrDivCd("50"); // 10-청소년, 20-성인, 30-체험, 40-외부, 50-기반, 60-기소 - vEEduAplctVO.setAprvlCd("60"); - vEEduAplctVO.setAsgnmAprvlCd("30"); //강사배정 교육승인 -// vEEduAplctVO.setSearchSubmitYn("Y"); //제출에 대한 강사료 확정 여부 - vEEduAplctVO.setSearchAsgnmAprvlCd("30"); - vEEduAplctVO.setSearchTableJoin("tngrResult"); + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - System.out.println("11111111111111113"); - - vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO); - List vEEduAplctVOList = vEEduMIXService.selectTngrFeePagingList(vEEduAplctVO); - VEEduAplctVO vo = new VEEduAplctVO(); - for(int i=0; i < vEEduAplctVOList.size(); i++) { - vo = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVOList.get(i)); - System.out.println(" @@@@@@@@@@@@@ "+vo.getChrgNm()); - vEEduAplctVOList.get(i).setChrgNm(vo.getChrgNm()); - - // 강사료 계산 - VeInstrFeeMng veInstrFeeMng = new VeInstrFeeMng(); - VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = veInstrFeeMng.VeInstrFeeMng4Adult(vEInstrFeeService, vEEduAplctVOList.get(i).getEduAplctOrd(), vEEduAplctVOList.get(i).getEduChasiOrd()); - vEEduAplctVOList.get(i).setInstrFeeSum(Integer.toString(vEInstrFeeAcmdtVO.getInstrFeeSum())); + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + //교육확정 목록 조회 + vEPrcsDetailVO.setDdlnCd("20"); + + //정렬 + System.out.println(vEPrcsDetailVO.getSearchSortCnd()); + System.out.println(vEPrcsDetailVO.getSearchSortOrd()); + if(!"".equals(vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + vEPrcsDetailVO.setOrderByQuery(vEPrcsDetailVO.getSearchSortCnd() + " " +vEPrcsDetailVO.getSearchSortOrd()); } - System.out.println("11111111111111112"); + //강사명 검색시 암호화 + if (!"".equals(vEPrcsDetailVO.getSrchKwd3_1())) { + vEPrcsDetailVO.setSrchKwd3_1(egovCryptoUtil.encrypt(vEPrcsDetailVO.getSrchKwd3_1())); + } + + List vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO); + + //강사명 검색시 복호화 + if (!"".equals(vEPrcsDetailVO.getSrchKwd3_1())) { + vEPrcsDetailVO.setSrchKwd3_1(egovCryptoUtil.decrypt(vEPrcsDetailVO.getSrchKwd3_1())); + } + + //3.pageing step3 - paginationInfo = this.setPagingStep3_vEEduAplctVO(vEEduAplctVOList, paginationInfo); + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); model.addAttribute("paginationInfo", paginationInfo); + // 지정된 강사가 있는지 확인 + vEPrcsDetailVOList.stream().forEach(t->{ + + List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); + if(vEAPrcsAplctPrdInstrAsgnmList.size() > 0) { + t.setInstrCnt(Integer.toString(vEAPrcsAplctPrdInstrAsgnmList.size())); + } + + }); + + + // 강사료 계산 + //vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO); + //List vEEduAplctVOList = vEEduMIXService.selectTngrFeePagingList(vEEduAplctVO); + VEEduAplctVO vo = new VEEduAplctVO(); + for(int i=0; i < vEPrcsDetailVOList.size(); i++) { + //vo = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVOList.get(i)); + //System.out.println(" @@@@@@@@@@@@@ "+vo.getChrgNm()); + //vEEduAplctVOList.get(i).setChrgNm(vo.getChrgNm()); + + // 강사료 계산 + VeInstrFeeMng veInstrFeeMng = new VeInstrFeeMng(); + VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = veInstrFeeMng.VeInstrFeeMng4Fndth( + vEInstrFeeService + , vEPrcsDetailVOList.get(i).getPrcsAplctPrdOrd() + , vEPrcsDetailVOList.get(i).getUserId() + ); + vEPrcsDetailVOList.get(i).setInstrFeeSum(Integer.toString(vEInstrFeeAcmdtVO.getInstrFeeSum())); + + System.out.println("vEPrcsDetailVOList.get(i).getInstrPhone()"); + System.out.println(vEPrcsDetailVOList.get(i).getInstrPhone()); + System.out.println(vEPrcsDetailVOList.get(i).getInstrPhone()); + + } + //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEEduAplctVOList); - - System.out.println("1111111111111111"); - - //대상 리스트, 페이징 정보 전달 - //model.addAttribute("resultList", vEEduAplctVOList); + vEPrcsDetailVOList = egovCryptoUtil.decryptvEPrcsDetailList(vEPrcsDetailVOList); + model.addAttribute("list", vEPrcsDetailVOList); }catch(Exception ex) { ex.printStackTrace(); } @@ -330,6 +382,315 @@ public class FndthInstrMngController { return "oprtn/fndthEnhanceTrn/eduInstrFeeMngList"; } + /** + * 강사료 확정 처리 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/eduInstrFeeCnfrmAjax.do") + public ModelAndView eduInstrFeeCnfrmAjax( + @ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO + , ModelMap model + //, RedirectAttributes redirectAttributes + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + //로그인 처리==================================== + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + try { + if(!"".equals(vEInstrAsgnmVO.getChk()) && vEInstrAsgnmVO.getChk() != null) { + String[] splitChk = vEInstrAsgnmVO.getChk().split(","); + for(int i=0; i vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO); + + //강사명 검색시 복호화 + if (!"".equals(vEPrcsDetailVO.getSrchKwd3_1())) { + vEPrcsDetailVO.setSrchKwd3_1(egovCryptoUtil.decrypt(vEPrcsDetailVO.getSrchKwd3_1())); + } + + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + vEPrcsDetailVOList = egovCryptoUtil.decryptvEPrcsDetailList(vEPrcsDetailVOList); + + /* + + + // 엑셀 페이징으로 변경 + vEEduAplctVO.setFirstIndex(0); + vEEduAplctVO.setRecordCountPerPage(10000000); + vEEduAplctVO.setInstrDiv("20"); // 성인교육 코드 + vEEduAplctVO.setLctrDivCd("20"); // 성인교육 코드 + vEEduAplctVO.setAprvlCd("60"); + vEEduAplctVO.setAsgnmAprvlCd("30"); //강사배정 교육승인 + vEEduAplctVO.setSearchAsgnmAprvlCd("30"); //강사배정 교육승인 + + + vEEduAplctVO.setSearchTableJoin("tngrResult"); + + if("2".equals(vEEduAplctVO.getSearchCondition())) { + vEEduAplctVO.setSearchKeyword(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())); + } + + vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO); + List list = vEEduMIXService.selectTngrFeePagingList(vEEduAplctVO); + VEEduAplctVO aVo = new VEEduAplctVO(); + for(int i=0; i < list.size(); i++) { + aVo = egovCryptoUtil.decryptVEEduAplctVOInfo(list.get(i)); + System.out.println(" @@@@@@@@@@@@@ "+aVo.getChrgNm()); + list.get(i).setChrgNm(aVo.getChrgNm()); + + if ("".equals(aVo.getUserIdNum())) { + list.get(i).setInstrNm(aVo.getInstrNm()); + }else { + list.get(i).setInstrNm(aVo.getInstrNm()+aVo.getUserIdNum()); + } + } + */ + + VeInstrFeeMng veInstrFeeMng = new VeInstrFeeMng(); + vEPrcsDetailVOList.forEach( vo -> { + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + + /* + try { + + // 교육일자 + //vo.setEduHopeDt(CmmUtil.getStrDateFormat(vo.getEduHopeDt())); + vo.setEduHopeDt(vo.getEduHopeDt()); + + // 학교구분 코드 + codeParam.setCodeId("VE0009"); + codeParam.setCode(vo.getScholDivCd()); + vo.setScholDivCd(cmmUseService.selectCmmCodeDetailCodeValue(codeParam)); + + // 교육선택지역코드 + codeParam.setCodeId("VE0008"); + codeParam.setCode(vo.getEduSlctAreaCd()); + vo.setEduSlctAreaCd(cmmUseService.selectCmmCodeDetailCodeValue(codeParam)); + + // 강사료 + vo.setTotFee(String.format("%,d", Integer.parseInt(vo.getTotFee()))); + + // 편도거리 + if(StringUtils.isNotBlank(vo.getOnewayDstnc())) { + vo.setOnewayDstnc(vo.getOnewayDstnc() + "km"); + } + + + } + catch(Exception ex) { + System.out.println(ex.toString()); + + } + */ + + try { + + // 강사료 계산 + VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = veInstrFeeMng.VeInstrFeeMng4Fndth4Excel(vEInstrFeeService, vo.getPrcsAplctPrdOrd(), vo.getUserId()); + + // 온라인 교육 + /* + if("10".equals(vEInstrFeeAcmdtVO.getEduSlctCd())){ + vo.setChasiCnt(Integer.toString(vo.getChasi())+"차시 (온라인강의)"); + }else { + vo.setChasiCnt(Integer.toString(vo.getChasi())+"차시"); + } + */ + + /* + vo.setInstrFeeOrd(vEInstrFeeAcmdtVO.getInstrFee().replaceAll("\\B(?=(\\d{3})+(?!\\d))", ",")); + vo.setSpecialWorkAllow(vEInstrFeeAcmdtVO.getSpecialWorkAllow()); + vo.setDistanceAllow(vEInstrFeeAcmdtVO.getDistanceAllow()); + vo.setTrafficFee(vEInstrFeeAcmdtVO.getTrafficFee()); + vo.setFoodExpenses(vEInstrFeeAcmdtVO.getFoodExpenses()); + vo.setAcmdtFee(vEInstrFeeAcmdtVO.getAcmdtFee()); + */ + vo.setInstrFeeSum(String.format("%,d", vEInstrFeeAcmdtVO.getInstrFeeSum())); + /* + vo.setIncomeTax(String.format("%,d", Integer.parseInt(vEInstrFeeAcmdtVO.getIncomeTax()))); + vo.setLocalIncomeTax(String.format("%,d", Integer.parseInt(vEInstrFeeAcmdtVO.getLocalIncomeTax()))); + */ +// vo.setTaxSum(String.format("%,d", taxSum)); +// vo.setTotalSum(String.format("%,d", totalSum)); + + } + catch(Exception ex) { + System.out.println(ex.toString()); + + } + }); + + List excelData = new ArrayList<>(); + excelData.addAll(vEPrcsDetailVOList); + // 세팅값 + String title = "강사료 지급내역"; + + // 너비 + int[] width = { + 4000, 4000 + , 4000, 4000, 4000 + , 4000 + }; + + // 헤더 + String[] header = { + "교육일자", "과정명" + , "강사이름", "강사료", "교통비" + , "강사료 합계" + }; + + // 컬럼명 + String[] order = { + "EduHopeDt", "PrcsNm" + , "InstrNm", "InstrFee", "TrafficFee" + , "InstrFeeSum" + }; + + // 호출 + SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title); + model.addAttribute("locale", Locale.KOREA); + model.addAttribute("workbook", workbook); + model.addAttribute("workbookName", title); + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("excelDownloadView"); + modelAndView.addObject(model); + + return modelAndView; + } + + /** + * 강사료팝업 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/popup/instrCostPopup.do") + public String instrCostPopup( + @ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + //String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); + //if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo; + + //로그인 처리==================================== + + try { + + // 강사료 계산 + VeInstrFeeMng veInstrFeeMng = new VeInstrFeeMng(); + VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = veInstrFeeMng.VeInstrFeeMng4Fndth(vEInstrFeeService, vEInstrAsgnmVO.getEduAplctOrd(), vEInstrAsgnmVO.getEduChasiOrd()); + + //지급총액 계산 + //int totalSum = instrFeeSum; + //vEInstrFeeAcmdtVO.setTotalSum(totalSum); + + model.addAttribute("info",vEInstrFeeAcmdtVO); + }catch(Exception ex) { + ex.printStackTrace(); + } + + return "oprtn/fndthEnhanceTrn/popup/instrCostPopup"; + } + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java index aaa1a570..ec5a1efc 100644 --- a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java +++ b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java @@ -1,1313 +1,1310 @@ -package kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctPrdMng.web; - -import java.util.List; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; - -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; - -import egovframework.rte.fdl.cmmn.exception.FdlException; -import egovframework.rte.fdl.idgnr.EgovIdGnrService; -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.com.cmm.ComDefaultCodeVO; -import kcc.com.cmm.ComDefaultVO; -import kcc.com.cmm.LoginVO; -import kcc.com.cmm.service.EgovFileMngService; -import kcc.com.cmm.service.EgovFileMngUtil; -import kcc.com.cmm.service.impl.CmmUseDAO; -import kcc.com.cmm.util.StringUtil; -import kcc.com.utl.user.service.CheckLoginUtil; -import kcc.let.uat.uia.service.SsoLoginVO; -import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; -import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; -import kcc.let.utl.fcc.service.EgovCryptoUtil; -import kcc.ve.cmm.VeConstants; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; -import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCmpltDetailService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; - -/** - * 기반강화연수(관리자) 신청기간관리 - * 기반강화연수에 관한 controller 클래스를 정의한다. - * @author 조용준 - * @since 2023.07.12 - * @version 1.0 - * @see - * - *
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2021.12.16  조용준          최초 생성
- *
- * 
- */ - -@Controller -//@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn") -public class FndthPrcsAplctPrdMngController { - - private static final Logger LOGGER = LoggerFactory.getLogger(FndthPrcsAplctPrdMngController.class); - - //로그인 체크 util - @Resource(name = "checkLoginUtil") - private CheckLoginUtil checkLoginUtil; - - //과정 관리 - @Resource(name = "vEPrcsService") - private VEPrcsService vEPrcsService; - - //과정 관리 - @Resource(name = "vEEduMIXService") - private VEEduMIXService vEEduMIXService; - - //온라인콘텐츠과정 관리 - @Resource(name = "vEPrcsOnlnCntntService") - private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; - - //과정차시 관리 - @Resource(name = "vEPrcsAplctPrdService") - private VEPrcsAplctPrdService vEPrcsAplctPrdService; - - //과정차시 관리 - @Resource(name = "vEAPrcsAplctPrdInstrAsgnmService") - private VEAPrcsAplctPrdInstrAsgnmService vEAPrcsAplctPrdInstrAsgnmService; - - //교육과정순번 - @Resource(name="prcsGnrService") - private EgovIdGnrService prcsGnrService; - - //과정신청기간순번 - @Resource(name="prcsAplctPrdGnrService") - private EgovIdGnrService prcsAplctPrdGnrService; - - //과정온라인콘텐츠순번 - @Resource(name="prcsOnlnGnrService") - private EgovIdGnrService prcsOnlnGnrService; - - //교육신청 - @Resource(name = "vEEduAplctService") - private VEEduAplctService vEEduAplctService; - - //교육과정신청 - @Resource(name = "vEPrcsMIXService") - private VEPrcsMIXService vEPrcsMIXService; - - //차시 - @Resource(name = "vEEduChasiService") - private VEEduChasiService vVEEduChasiService; - - //첨부파일 경로, realPath 설정 - @Resource(name="EgovFileMngUtil") - private EgovFileMngUtil fileUtil; - - //암복호화 유틸 - @Resource(name = "egovCryptoUtil") - EgovCryptoUtil egovCryptoUtil; - - //교육과정신청 - @Resource(name = "vEPrcsCmpltDetailService") - private VEPrcsCmpltDetailService vEPrcsCmpltDetailService; - - @Resource(name = "EgovFileMngService") - private EgovFileMngService fileService; - - //과정 - @Resource(name="cmmUseDAO") - private CmmUseDAO cmmUseDAO; - - //과정신청기간순번 - @Resource(name="vePrcsAplctPrdEtcGnrService") - private EgovIdGnrService vePrcsAplctPrdEtcGnrService; - - @Resource(name = "egovQustnrRespondInfoService") - private EgovQustnrRespondInfoService egovQustnrRespondInfoService; - /* - - // 교육신청 서비스단 - @Resource(name = "AdjReqMgrService") - private AdjReqMgrService adjReqMgrService; - - // eGov 공통코드 - @Resource(name = "EgovCmmUseService") - private EgovCmmUseService cmmUseService; - - @Resource(name = "EgovFileMngService") - private EgovFileMngService fileService; - - // global 프로퍼티 - @Resource(name="globalSettings") - protected Properties propertiesService; - - //첨부파일 경로, realPath 설정 - @Resource(name="EgovFileMngUtil") - private EgovFileMngUtil fileUtil; - - // 첨부파일 정보 - @Resource(name="EgovFileMngService") - private EgovFileMngService fileMngService; - - //암복호화 유틸 - @Resource(name = "egovCryptoUtil") - EgovCryptoUtil egovCryptoUtil; - - - @Resource(name="KccadrMgrUdtService") - private KccadrMgrUdtService kccadrMgrUdtService; - - // 교육신청 서비스단 - @Resource(name = "checkAdrProcessUtil") - private CheckAdrProcessUtil checkAdrProcessUtil; - */ - - /** - * 기반강화연수 과정 신청 기간 관리 목록 화면 - */ - - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.do") - public String fndthEduPrcsAplctPrdMngList( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - - //로그인 처리==================================== - - //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); - - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - //paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - - //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ - String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; - vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); - - } - - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ - String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); - vEPrcsDetailVO.setSearchStatusArr(splited); - } - - if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { - - //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 - - } - List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); - - //3.pageing step3 - paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); - - - model.addAttribute("paginationInfo", paginationInfo); - - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEPrcsDetailVOList); - - - return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList"; - ///kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do - } - - /** - * 기반강화연수 교육확정관리목록 - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngList.do") - public String fndthEduPrcsAplctMngList( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , HttpSession session, ModelMap model ) throws Exception { - - - - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - - //로그인 처리==================================== - - //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); - - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - //paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - - //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - //교육확정 목록 조회 - vEPrcsDetailVO.setDdlnCd("20"); - - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ - String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; - vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); - - } - - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ - String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); - vEPrcsDetailVO.setSearchStatusArr(splited); - } - - if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { - - //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 - - } - List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); - - //3.pageing step3 - paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); - - - model.addAttribute("paginationInfo", paginationInfo); - - // 지정된 강사가 있는지 확인 - vEPrcsDetailVOList.stream().forEach(t->{ - - List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); - if(vEAPrcsAplctPrdInstrAsgnmList.size() > 0) { - t.setInstrCnt(Integer.toString(vEAPrcsAplctPrdInstrAsgnmList.size())); - } - - }); - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEPrcsDetailVOList); - - - - - return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngList"; - } - - - /** - * 조건부기소유예 기간 상세화면 - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.do") - public String cndtnEduPrcsAplctCfnMngDetail( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - - , ModelMap model - , RedirectAttributes redirectAttributes - , HttpSession session - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - //과정 조회 - VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); - model.addAttribute("info", vEPrcsDetailVODetail); - - //과정 신청자 정보 가져오기 - { - //해당 과정을 제출한 사용자 정보를 가져온다. - VEEduAplctVO paramVO = new VEEduAplctVO(); - paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); - paramVO.setSbmtYn("Y"); - - if(StringUtils.isNotEmpty(vEPrcsDetailVO.getSearchStatus())) { - // 20 이수 - String searchQuery = "AND vadi.APLCT_STATE_CD = "+vEPrcsDetailVO.getSearchStatus(); - paramVO.setSearchQuery(searchQuery); - } - // 검색 - 날짜 - paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); - paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); - // 검색 - 검색어 - paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); - - - - List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); - vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); - System.out.println("===="); - - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("listPrcsAplct", vEPrcsDetailVOList); - } - - // 강사 배치 정보 - { - - System.out.println("===="); - List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); - List instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList); - - model.addAttribute("instrAsgnmList", instrAsgnmList); - } - - return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail"; - } - - - - /** - * 기반강화연수과정 신청기간 등록 화면 - */ - //@RequestMapping("eduPrcsMngReg.do") - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngReg.do") - public String fndthEduPrcsAplctPrdMngReg( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - - //로그인 처리==================================== - - //과정 정보 가져오기 - { - //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc"); - - vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - - //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - - List vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); - - //3.pageing step3 - paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); - //model.addAttribute("paginationInfo", paginationInfo); - - // 교육 부분 코드 가져오는 영역 - ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); - codeVO.setCodeId("VEA001");//기관구분코드 - codeVO.setCode(vEPrcsDetailVOList.get(0).getPrcsDiv()); - model.addAttribute("prcsDivNm", cmmUseDAO.selectCmmCodeDetailValue(codeVO).getCodeNm()); - - // 상세교육과정 내용 가져오는 영역 - VEPrcsDetailVO vEPrcsDetailVOPrcsCn = new VEPrcsDetailVO(); - vEPrcsDetailVOPrcsCn.setPrcsOrd(vEPrcsDetailVOList.get(0).getPrcsOrd()); - model.addAttribute("prcsCn", vEPrcsService.selectDetail(vEPrcsDetailVOPrcsCn).getPrcsCn()); - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("listPrcs", vEPrcsDetailVOList); - } - - - - - return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngReg"; - } - - /** - * 기반강화연수과정 신청기간 등록 - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngRegAjax.do") - public ModelAndView fndthEduPrcsAplctPrdMngRegAjax( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - //, RedirectAttributes redirectAttributes - , HttpServletRequest request - ) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) { - modelAndView.addObject("result", "loginFail"); - return modelAndView; - } - - //로그인 처리==================================== - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - - vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id - vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - - vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdGnrService.getNextStringId()); // 고유ID - - - vEPrcsAplctPrdService.insert(vEPrcsDetailVO); - - vEPrcsDetailVO.setPrcsAplctPrdEtcOrd(vePrcsAplctPrdEtcGnrService.getNextStringId()); // ETC 고유ID - - vEPrcsAplctPrdService.etcInsert(vEPrcsDetailVO); - modelAndView.addObject("result", "success"); - - return modelAndView; - - } - - /** - * 기반강화연수과정 신청기간 등록 - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctSelectDivAndCnAjax.do") - public ModelAndView fndthEduPrcsAplctSelectDivAjax( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - //, RedirectAttributes redirectAttributes - , HttpServletRequest request - ) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) { - modelAndView.addObject("result", "loginFail"); - return modelAndView; - } - - //로그인 처리==================================== - - VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsService.selectDetail(vEPrcsDetailVO); - - ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); - codeVO.setCodeId("VEA001");//기관구분코드 - codeVO.setCode(vEPrcsDetailVODetail.getPrcsDiv()); - - - - modelAndView.addObject("result", "success"); - modelAndView.addObject("prcsDiv", cmmUseDAO.selectCmmCodeDetailValue(codeVO) - .getCodeNm()); - - modelAndView.addObject("prcsCn", vEPrcsDetailVODetail.getPrcsCn()); - - - return modelAndView; - - } - - /** - * 기반강화연수과정 기간 상세화면 - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.do") - public String fndthEduPrcsMngDetail( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - - , ModelMap model - , RedirectAttributes redirectAttributes - , HttpSession session - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - //로그인 처리==================================== - - //과정 정보 가져오기 - /* - { - //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc"); - - vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - - //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - - vEPrcsDetailVO.setPrcsOrd(""); - - List vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); - - //3.pageing step3 - paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); - - //model.addAttribute("paginationInfo", paginationInfo); - - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("listPrcs", vEPrcsDetailVOList); - } - */ - - //과정 조회 - VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); - - VEPrcsDetailVO vEPrcsEtcDetail = vEPrcsAplctPrdService.selectEtc(vEPrcsDetailVODetail.getPrcsAplctPrdOrd()); - if(vEPrcsEtcDetail != null) - { - vEPrcsDetailVODetail.setPrpsCn(vEPrcsEtcDetail.getPrpsCn()); - vEPrcsDetailVODetail.setChrctCn(vEPrcsEtcDetail.getChrctCn()); - vEPrcsDetailVODetail.setPrcsAplctPrdEtcOrd(vEPrcsEtcDetail.getPrcsAplctPrdEtcOrd()); - } - model.addAttribute("info", vEPrcsDetailVODetail); - - //과정 신청자 정보 가져오기 - { - //해당 과정을 제출한 사용자 정보를 가져온다. - VEEduAplctVO paramVO = new VEEduAplctVO(); - paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); - paramVO.setSbmtYn("Y"); - - // 검색 - 날짜 - paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); - paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); - // 검색 - 검색어 - paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); - - - - List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); - vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); - System.out.println("===="); - - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("listPrcsAplct", vEPrcsDetailVOList); - } - - // 강사 배치 정보 - { - - List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); - List instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList); - - model.addAttribute("instrAsgnmList", instrAsgnmList); - } - - return "/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail"; - } - - /** - * 기반강화연수과정 기간 상세수정화면 - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.do") - public String fndthEduPrcsAplctPrdMngMdfy( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - - , ModelMap model - , RedirectAttributes redirectAttributes - , HttpSession session - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - //로그인 처리==================================== - - //과정 정보 가져오기 - { - //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc"); - - vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - - //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - - vEPrcsDetailVO.setPrcsOrd(""); - - List vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); - - //3.pageing step3 - paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); - - //model.addAttribute("paginationInfo", paginationInfo); - - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("listPrcs", vEPrcsDetailVOList); - System.out.println("=========="); - } - - //과정 조회 - VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); - VEPrcsDetailVO vEPrcsEtcDetail = vEPrcsAplctPrdService.selectEtc(vEPrcsDetailVODetail.getPrcsAplctPrdOrd()); - if(vEPrcsEtcDetail != null) - { - vEPrcsDetailVODetail.setPrpsCn(vEPrcsEtcDetail.getPrpsCn()); - vEPrcsDetailVODetail.setChrctCn(vEPrcsEtcDetail.getChrctCn()); - vEPrcsDetailVODetail.setPrcsAplctPrdEtcOrd(vEPrcsEtcDetail.getPrcsAplctPrdEtcOrd()); - } - model.addAttribute("info", vEPrcsDetailVODetail); - - return "/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy"; - } - - /** - * 기반강화연수과정 신청기간 수정 - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfyAjax.do") - public ModelAndView fndthEduPrcsAplctPrdMngMdfyAjax( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - //, RedirectAttributes redirectAttributes - , HttpServletRequest request - ) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) { - modelAndView.addObject("result", "loginFail"); - return modelAndView; - } - - //로그인 처리==================================== - - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - - //String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID - //vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd); - vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - //vEPrcsDetailVO.setUseYn("Y"); - vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id - - vEPrcsAplctPrdService.update(vEPrcsDetailVO); - vEPrcsAplctPrdService.updateEtc(vEPrcsDetailVO); - - - modelAndView.addObject("result", "success"); - - return modelAndView; - - } - - /** - * ve_prcs_aplct_prd 테이블에 데이터 하나만 변경하는 기능 - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/updateDdlnCdAjax.do") - public ModelAndView updateDdlnCdAjax( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - //, RedirectAttributes redirectAttributes - , HttpServletRequest request - ) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) { - modelAndView.addObject("result", "loginFail"); - return modelAndView; - } - - //로그인 처리==================================== - - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - - //String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID - //vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd); - vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - //vEPrcsDetailVO.setUseYn("Y"); - vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id - - vEPrcsAplctPrdService.updateOneColumn(vEPrcsDetailVO); - - - modelAndView.addObject("result", "success"); - - return modelAndView; - - } - - - - - /** - * 1.기반강화 강사배치 팝업 function - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/popup/fndthInstrAsgnmPopup.do") - public String fndthInstrAsgnmPopup( -// @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - - , ModelMap model - , RedirectAttributes redirectAttributes - , HttpSession session - , HttpServletRequest request - ) throws Exception { - - - - System.out.println("vEPrcsDetailVO.getPrcsAplctPrdOrd() :"+ vEPrcsDetailVO.getPrcsAplctPrdOrd()); - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - //로그인 처리==================================== - - - //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); - - - //2. pageing step2 - vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - - //3. SelectPagingListQuery set 할 조건 설정 - String selectCondition = new String(); - //3.1 제출 완료 후 사용중인 데이터 조회 - selectCondition += "AND a.sbmt_yn='Y' AND a.use_yn = 'Y'"; - //3.2 강사 테이블 성인강사여부 Y인것만 조회 - selectCondition += "AND (b.adult_instr_yn ='Y' OR a.qlfct_end_yn = 'Y') "; - //3.3 이름 검색 시 - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ - //selectCondition += "AND a.instr_nm LIKE CONCAT ('%', '" +vEInstrDetailVO.getSearchKeyword() + "', '%')"; - //이름 암호화 - comDefaultVO 검색단어 공통 암호화 - ComDefaultVO comDefaultVO = new ComDefaultVO(); - comDefaultVO.setSearchKeyword(vEPrcsDetailVO.getSearchKeyword()); - comDefaultVO = egovCryptoUtil.encryptComDefaultVO(comDefaultVO); - vEPrcsDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword()); - selectCondition += "AND a.instr_nm LIKE '%'|| '" +vEPrcsDetailVO.getSearchKeyword() + "'|| '%'"; - comDefaultVO = egovCryptoUtil.decryptComDefaultVO(comDefaultVO); - vEPrcsDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword()); - } - //3.4 요청일 시작일 검색 시 -// if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchStartDt())){ -// selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') >= REPLACE('"+vEPrcsDetailVO.getSearchStartDt()+"', '.', '')"; -// } - //3.5 요청일 종료일 검색 시 -// if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchEndDt())){ -// selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <= REPLACE('"+vEPrcsDetailVO.getSearchEndDt()+"', '.', '')"; -// } - vEPrcsDetailVO.setInstrDiv("20"); - vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); - - List vEInstrDetailVOList = vEPrcsAplctPrdService.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO); - - try { - - vEInstrDetailVOList = egovCryptoUtil.decryptVEInstrDetailVOList(vEInstrDetailVOList); - } catch (Exception e) { - e.printStackTrace(); - // TODO: handle exception - } - - //4.pageing step3 - paginationInfo = this.setInstrPagingStep3(vEInstrDetailVOList, paginationInfo); - System.out.println(" ==== vEPrcsDetailVO.getPrcsAplctPrdOrd() :"+ vEPrcsDetailVO.getPrcsAplctPrdOrd()); - model.addAttribute("vEPrcsDetailVO", vEPrcsDetailVO); - model.addAttribute("paginationInfo", paginationInfo); - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEInstrDetailVOList); - - return "/oprtn/fndthEnhanceTrn/popup/fndthInstrAsgnmPopup"; - } - - /** - * 강사배정 등록 처리 - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthInstrAsgnmAjax.do") - public ModelAndView instrAsgnmAjaxinstrAsgnmAjax( - @ModelAttribute("vEAPrcsAplctPrdInstrAsgnmVO") VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO - , ModelMap model - //, RedirectAttributes redirectAttributes - , HttpServletRequest request - ) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - //로그인 처리==================================== - //로그인 정보 가져오기 - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) { - modelAndView.addObject("result", "loginFail"); - return modelAndView; - } - //로그인 처리==================================== - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - - try { - //선택한 강사 데이터 등록 처리 - vEAPrcsAplctPrdInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id - vEAPrcsAplctPrdInstrAsgnmService.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO); - } catch (Exception ex) { - ex.printStackTrace(); - } - - modelAndView.addObject("result", "success"); - - return modelAndView; - - } - - - /** - * 기반강화 신청자 상태값 변경 - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/updateEduAplctAprvlCdAjax.do") - public ModelAndView updateEduAplctAprvlCd( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd() +"!!!"); - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - //로그인 처리==================================== - //로그인 정보 가져오기 - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) { - modelAndView.addObject("result", "loginFail"); - return modelAndView; - } - //로그인 처리==================================== - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - - try { - // 교육 신청 테이블에 신청자 상태값 update - vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO); - - // 승인 - 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 - if("20".equals(vEPrcsDetailVO.getAprvlCd())) { - this.aprvlCd20(vEPrcsDetailVO,loginVO.getUniqId()); - } - // 접수취소(반려) - vea_aplct_detail_info TB에 data update - else if("30".equals(vEPrcsDetailVO.getAprvlCd())) - { - this.aprvlCd30(vEPrcsDetailVO); - } - modelAndView.addObject("result", "success"); - - } catch (Exception ex) { - ex.printStackTrace(); - modelAndView.addObject("result", ""); - } - - - return modelAndView; - - } - - - /** - * @methodName : aprvlCd20 - * @author : 이호영 - * @date : 2023.09.25 - * @description : aprvlCd == 20 교육 승인 일 경유 - * 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 - * @param vEPrcsDetailVO - * @param uniqId - * @throws FdlException - */ - private void aprvlCd20(VEPrcsDetailVO vEPrcsDetailVO, String uniqId) throws FdlException { - - for(String id : vEPrcsDetailVO.getEduAplctOrdList()) { - VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO(); - - vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); - vEDetailVO.setEduAplctOrd(id); - - // 데이터가 있는지만 비교하기 위한 구문 - VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO); - - // 데이터가 없으면 Insert - if(vEDetail_DVO == null) { - vEDetailVO.setAplctStateCd("10"); // 신청상태코드 VEA003 10:미이수 20:이수 - vEDetailVO.setFrstRegisterId(uniqId); - vEAPrcsAplctPrdInstrAsgnmService.insertAprvlCdEduAplctDetail(vEDetailVO); - - } - - } - - } - - /** - * @methodName : aprvlCd30 - * @author : 이호영 - * @date : 2023.09.25 - * @description : aprvlCd == 30 교육 반려 - * 승인일 경우 vea_aplct_detail_info TB에 data 삭제 - * @param vEPrcsDetailVO - * @param uniqId - * @throws FdlException - */ - private void aprvlCd30(VEPrcsDetailVO vEPrcsDetailVO) { - - for(String id : vEPrcsDetailVO.getEduAplctOrdList()) { - VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO(); - - vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); - vEDetailVO.setEduAplctOrd(id); - - // 데이터가 있는지만 비교하기 위한 구문 - VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO); - - // 데이터가 있으면 삭제 - if(vEDetail_DVO != null) { - vEDetailVO.setAplctStateCd("30"); - vEAPrcsAplctPrdInstrAsgnmService.updateAprvlCdEduAplctDetail(vEDetailVO); - - } - - } - - } - - - /** - * @methodName : instrCostPopup - * @author : 이호영 - * @date : 2023.11.27 - * @description : - * @param vEPrcsDetailVO - * @param model - * @param request - * @return - * @throws Exception - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/popup/lctrEvalPopup.do") - public String instrCostPopup( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - -// List vEPrcsDetailVOList = egovQustnrRespondInfoService.selectQustnr5060(vEPrcsDetailVO); - //해당 과정을 제출한 사용자 정보를 가져온다. - VEEduAplctVO paramVO = new VEEduAplctVO(); - paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); - paramVO.setSbmtYn("Y"); - - // 20 이수 - String searchQuery = "AND vadi.APLCT_STATE_CD = 20"; - paramVO.setSearchQuery(searchQuery); - // 검색 - 날짜 - paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); - paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); - // 검색 - 검색어 - paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); - - - List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); - vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); - - long totalParticipants = vEPrcsDetailVOList.size(); - long respondents = vEPrcsDetailVOList.stream().filter(vo -> vo.getQestRsltExists()).count(); - long nonRespondents = totalParticipants - respondents; - double responseRate = ((double) respondents / totalParticipants) * 100; - - model.addAttribute("totalParticipants", totalParticipants); - model.addAttribute("respondents", respondents); - model.addAttribute("nonRespondents", nonRespondents); - model.addAttribute("responseRate", String.format("%.2f", responseRate) + "%"); - - - return "/oprtn/fndthEnhanceTrn/popup/lctrEvalPopup"; - } - - - - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/selectSrvyInfoAjax.do") - public ModelAndView fndtnInAdminSelectSrvyInfoAjax( HttpServletRequest request - , ModelMap model - , VEEduAplctVO veEduAplctVO - , QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - try { - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); - if (loginVO == null) { - modelAndView.addObject("result", "fail"); - modelAndView.addObject("msg", "로그인 해주세요."); - return modelAndView; - } - - - List qustnrRespondInfoVOList = egovQustnrRespondInfoService.selectQustnrDetail(qustnrRespondInfoVO); - - modelAndView.addObject("data", qustnrRespondInfoVOList); - modelAndView.addObject("respondId", qustnrRespondInfoVOList.get(0).getRespondId()); - modelAndView.addObject("result", "success"); - }catch(Exception ex) { - System.out.println("Exception vEEduAplctOnlnService.updateBulk"); - modelAndView.addObject("result", "fail"); - modelAndView.addObject("msg", "관리자에게 문의해 주세요"); - } - return modelAndView; - } - - - /** - * @methodName : adminMergeSrvyInfoAjax - * @author : 이호영 - * @date : 2023.11.27 - * @description : 관리자 설문결과 update - * @param request - * @param model - * @param veEduAplctVO - * @param qustnrRespondInfoVO - * @return - * @throws Exception - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/mergeSrvyInfoAjax.do") - public ModelAndView adminMergeSrvyInfoAjax( HttpServletRequest request - , ModelMap model - , VEEduAplctVO veEduAplctVO - , QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - try { - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); - if (loginVO == null) { - modelAndView.addObject("result", "fail"); - modelAndView.addObject("msg", "로그인 해주세요."); - return modelAndView; - } - - qustnrRespondInfoVO.getResultList().stream() - .forEach(item -> { - - item.setQustnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId()); - item.setRespondId(qustnrRespondInfoVO.getRespondId()); - item.setFrstRegisterId(qustnrRespondInfoVO.getRespondId()); - item.setLastUpdusrId(loginVO.getId()); - item.setEduAplctOrd(veEduAplctVO.getEduAplctOrd()); - - if("verySatisfied".equals(item.getResponseRadio())) { - item.setVerySatisfied("1"); - } - if("satisfied".equals(item.getResponseRadio())) { - item.setSatisfied("1"); - } - if("neither".equals(item.getResponseRadio())) { - item.setNeither("1"); - } - if("dissatisfied".equals(item.getResponseRadio())) { - item.setDissatisfied("1"); - } - if("veryDissatisfied".equals(item.getResponseRadio())) { - item.setVeryDissatisfied("1"); - } - - try { - egovQustnrRespondInfoService.updateSrvyInfo(item); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - }); - - }catch(Exception ex) { - System.out.println("Exception vEEduAplctOnlnService.updateBulk"); - } - modelAndView.addObject("result", "success"); - return modelAndView; - } - - /** - * @methodName : adminDelSrvyInfoAjax - * @author : 이호영 - * @date : 2023.11.27 - * @description : 관리자 설문결과 del - * @param request - * @param model - * @param veEduAplctVO - * @param qustnrRespondInfoVO - * @return - * @throws Exception - */ - @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/delSrvyInfoAjax.do") - public ModelAndView adminDelSrvyInfoAjax( HttpServletRequest request - , ModelMap model - , VEEduAplctVO veEduAplctVO - , QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - try { - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); - if (loginVO == null) { - modelAndView.addObject("result", "fail"); - modelAndView.addObject("msg", "로그인 해주세요."); - return modelAndView; - } - - qustnrRespondInfoVO.getResultList().stream() - .forEach(item -> { - - item.setQustnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId()); - item.setRespondId(qustnrRespondInfoVO.getRespondId()); - item.setFrstRegisterId(qustnrRespondInfoVO.getRespondId()); - item.setLastUpdusrId(loginVO.getId()); - item.setEduAplctOrd(veEduAplctVO.getEduAplctOrd()); - - try { - egovQustnrRespondInfoService.deleteStatusFormlettnqestnrrslt(item); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - }); - - }catch(Exception ex) { - System.out.println("Exception vEEduAplctOnlnService.updateBulk"); - } - modelAndView.addObject("result", "success"); - return modelAndView; - } - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // - // private function - // - // - - //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 - private PaginationInfo setPagingStep1( - VEPrcsDetailVO p_vEPrcsDetailVO - )throws Exception{ - // pageing step1 - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit()); - paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize()); - - return paginationInfo; - } - - //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 - private VEPrcsDetailVO setPagingStep2( - VEPrcsDetailVO p_vEPrcsDetailVO - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step2 - p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); - p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); - p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); - - if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord"); - p_vEPrcsDetailVO.setSearchSortOrd("desc"); - } - - return p_vEPrcsDetailVO; - } - - - //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 - private PaginationInfo setPagingStep3( - List p_vEPrcsDetailVOList - - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step3 - int totCnt = 0; - if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt(); - p_paginationInfo.setTotalRecordCount(totCnt); - - return p_paginationInfo; - } - - - - - //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 - private PaginationInfo setInstrPagingStep3( - List p_vEInstrDetailVOList - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step3 - int totCnt = 0; - if(p_vEInstrDetailVOList.size() > 0) totCnt = p_vEInstrDetailVOList.get(0).getTotCnt(); - p_paginationInfo.setTotalRecordCount(totCnt); - - return p_paginationInfo; - } - -} +package kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctPrdMng.web; + +import java.util.List; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; + +import egovframework.rte.fdl.cmmn.exception.FdlException; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.ComDefaultCodeVO; +import kcc.com.cmm.ComDefaultVO; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovFileMngService; +import kcc.com.cmm.service.EgovFileMngUtil; +import kcc.com.cmm.service.impl.CmmUseDAO; +import kcc.com.cmm.util.StringUtil; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; +import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; +import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCmpltDetailService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; + +/** + * 기반강화연수(관리자) 신청기간관리 + * 기반강화연수에 관한 controller 클래스를 정의한다. + * @author 조용준 + * @since 2023.07.12 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.12.16  조용준          최초 생성
+ *
+ * 
+ */ + +@Controller +//@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn") +public class FndthPrcsAplctPrdMngController { + + private static final Logger LOGGER = LoggerFactory.getLogger(FndthPrcsAplctPrdMngController.class); + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //과정 관리 + @Resource(name = "vEPrcsService") + private VEPrcsService vEPrcsService; + + //과정 관리 + @Resource(name = "vEEduMIXService") + private VEEduMIXService vEEduMIXService; + + //온라인콘텐츠과정 관리 + @Resource(name = "vEPrcsOnlnCntntService") + private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; + + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; + + //과정차시 관리 + @Resource(name = "vEAPrcsAplctPrdInstrAsgnmService") + private VEAPrcsAplctPrdInstrAsgnmService vEAPrcsAplctPrdInstrAsgnmService; + + //교육과정순번 + @Resource(name="prcsGnrService") + private EgovIdGnrService prcsGnrService; + + //과정신청기간순번 + @Resource(name="prcsAplctPrdGnrService") + private EgovIdGnrService prcsAplctPrdGnrService; + + //과정온라인콘텐츠순번 + @Resource(name="prcsOnlnGnrService") + private EgovIdGnrService prcsOnlnGnrService; + + //교육신청 + @Resource(name = "vEEduAplctService") + private VEEduAplctService vEEduAplctService; + + //교육과정신청 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; + + //차시 + @Resource(name = "vEEduChasiService") + private VEEduChasiService vVEEduChasiService; + + //첨부파일 경로, realPath 설정 + @Resource(name="EgovFileMngUtil") + private EgovFileMngUtil fileUtil; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //교육과정신청 + @Resource(name = "vEPrcsCmpltDetailService") + private VEPrcsCmpltDetailService vEPrcsCmpltDetailService; + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + //과정 + @Resource(name="cmmUseDAO") + private CmmUseDAO cmmUseDAO; + + //과정신청기간순번 + @Resource(name="vePrcsAplctPrdEtcGnrService") + private EgovIdGnrService vePrcsAplctPrdEtcGnrService; + + @Resource(name = "egovQustnrRespondInfoService") + private EgovQustnrRespondInfoService egovQustnrRespondInfoService; + /* + + // 교육신청 서비스단 + @Resource(name = "AdjReqMgrService") + private AdjReqMgrService adjReqMgrService; + + // eGov 공통코드 + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + // global 프로퍼티 + @Resource(name="globalSettings") + protected Properties propertiesService; + + //첨부파일 경로, realPath 설정 + @Resource(name="EgovFileMngUtil") + private EgovFileMngUtil fileUtil; + + // 첨부파일 정보 + @Resource(name="EgovFileMngService") + private EgovFileMngService fileMngService; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + + @Resource(name="KccadrMgrUdtService") + private KccadrMgrUdtService kccadrMgrUdtService; + + // 교육신청 서비스단 + @Resource(name = "checkAdrProcessUtil") + private CheckAdrProcessUtil checkAdrProcessUtil; + */ + + /** + * 기반강화연수 과정 신청 기간 관리 목록 화면 + */ + + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.do") + public String fndthEduPrcsAplctPrdMngList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + + return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList"; + ///kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do + } + + /** + * 기반강화연수 교육확정관리목록 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngList.do") + public String fndthEduPrcsAplctMngList( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , HttpSession session, ModelMap model ) throws Exception { + + + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + //교육확정 목록 조회 + vEPrcsDetailVO.setDdlnCd("20"); + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + // 지정된 강사가 있는지 확인 + vEPrcsDetailVOList.stream().forEach(t->{ + + List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); + if(vEAPrcsAplctPrdInstrAsgnmList.size() > 0) { + t.setInstrCnt(Integer.toString(vEAPrcsAplctPrdInstrAsgnmList.size())); + } + + }); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + + + + return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngList"; + } + + + /** + * 조건부기소유예 기간 상세화면 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.do") + public String cndtnEduPrcsAplctCfnMngDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //과정 조회 + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); + model.addAttribute("info", vEPrcsDetailVODetail); + + //과정 신청자 정보 가져오기 + { + //해당 과정을 제출한 사용자 정보를 가져온다. + VEEduAplctVO paramVO = new VEEduAplctVO(); + paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + paramVO.setSbmtYn("Y"); + + if(StringUtils.isNotEmpty(vEPrcsDetailVO.getSearchStatus())) { + // 20 이수 + String searchQuery = "AND vadi.APLCT_STATE_CD = "+vEPrcsDetailVO.getSearchStatus(); + paramVO.setSearchQuery(searchQuery); + } + // 검색 - 날짜 + paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); + paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); + // 검색 - 검색어 + paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); + + + + List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); + vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); + System.out.println("===="); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("listPrcsAplct", vEPrcsDetailVOList); + } + + // 강사 배치 정보 + { + + System.out.println("===="); + List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + List instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList); + + model.addAttribute("instrAsgnmList", instrAsgnmList); + } + + return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail"; + } + + + + /** + * 기반강화연수과정 신청기간 등록 화면 + */ + //@RequestMapping("eduPrcsMngReg.do") + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngReg.do") + public String fndthEduPrcsAplctPrdMngReg( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + //과정 정보 가져오기 + { + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc"); + + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + List vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + //model.addAttribute("paginationInfo", paginationInfo); + + // 교육 부분 코드 가져오는 영역 + ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); + codeVO.setCodeId("VEA001");//기관구분코드 + codeVO.setCode(vEPrcsDetailVOList.get(0).getPrcsDiv()); + model.addAttribute("prcsDivNm", cmmUseDAO.selectCmmCodeDetailValue(codeVO).getCodeNm()); + + // 상세교육과정 내용 가져오는 영역 + VEPrcsDetailVO vEPrcsDetailVOPrcsCn = new VEPrcsDetailVO(); + vEPrcsDetailVOPrcsCn.setPrcsOrd(vEPrcsDetailVOList.get(0).getPrcsOrd()); + model.addAttribute("prcsCn", vEPrcsService.selectDetail(vEPrcsDetailVOPrcsCn).getPrcsCn()); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("listPrcs", vEPrcsDetailVOList); + } + + + + + return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngReg"; + } + + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngRegAjax.do") + public ModelAndView fndthEduPrcsAplctPrdMngRegAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + //, RedirectAttributes redirectAttributes + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdGnrService.getNextStringId()); // 고유ID + + + vEPrcsAplctPrdService.insert(vEPrcsDetailVO); + + vEPrcsDetailVO.setPrcsAplctPrdEtcOrd(vePrcsAplctPrdEtcGnrService.getNextStringId()); // ETC 고유ID + + vEPrcsAplctPrdService.etcInsert(vEPrcsDetailVO); + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctSelectDivAndCnAjax.do") + public ModelAndView fndthEduPrcsAplctSelectDivAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + //, RedirectAttributes redirectAttributes + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsService.selectDetail(vEPrcsDetailVO); + + ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); + codeVO.setCodeId("VEA001");//기관구분코드 + codeVO.setCode(vEPrcsDetailVODetail.getPrcsDiv()); + + + + modelAndView.addObject("result", "success"); + modelAndView.addObject("prcsDiv", cmmUseDAO.selectCmmCodeDetailValue(codeVO) + .getCodeNm()); + + modelAndView.addObject("prcsCn", vEPrcsDetailVODetail.getPrcsCn()); + + + return modelAndView; + + } + + /** + * 기반강화연수과정 기간 상세화면 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.do") + public String fndthEduPrcsMngDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + //과정 정보 가져오기 + /* + { + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc"); + + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + vEPrcsDetailVO.setPrcsOrd(""); + + List vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + //model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("listPrcs", vEPrcsDetailVOList); + } + */ + + //과정 조회 + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); + + VEPrcsDetailVO vEPrcsEtcDetail = vEPrcsAplctPrdService.selectEtc(vEPrcsDetailVODetail.getPrcsAplctPrdOrd()); + if(vEPrcsEtcDetail != null) + { + vEPrcsDetailVODetail.setPrpsCn(vEPrcsEtcDetail.getPrpsCn()); + vEPrcsDetailVODetail.setChrctCn(vEPrcsEtcDetail.getChrctCn()); + vEPrcsDetailVODetail.setPrcsAplctPrdEtcOrd(vEPrcsEtcDetail.getPrcsAplctPrdEtcOrd()); + } + model.addAttribute("info", vEPrcsDetailVODetail); + + //과정 신청자 정보 가져오기 + { + //해당 과정을 제출한 사용자 정보를 가져온다. + VEEduAplctVO paramVO = new VEEduAplctVO(); + paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + paramVO.setSbmtYn("Y"); + + // 검색 - 날짜 + paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); + paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); + // 검색 - 검색어 + paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); + + + + List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); + vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); + System.out.println("===="); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("listPrcsAplct", vEPrcsDetailVOList); + } + + // 강사 배치 정보 + { + + List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + List instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList); + + model.addAttribute("instrAsgnmList", instrAsgnmList); + } + + return "/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail"; + } + + /** + * 기반강화연수과정 기간 상세수정화면 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.do") + public String fndthEduPrcsAplctPrdMngMdfy( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + //과정 정보 가져오기 + { + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc"); + + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + vEPrcsDetailVO.setPrcsOrd(""); + + List vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + //model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("listPrcs", vEPrcsDetailVOList); + System.out.println("=========="); + } + + //과정 조회 + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); + VEPrcsDetailVO vEPrcsEtcDetail = vEPrcsAplctPrdService.selectEtc(vEPrcsDetailVODetail.getPrcsAplctPrdOrd()); + if(vEPrcsEtcDetail != null) + { + vEPrcsDetailVODetail.setPrpsCn(vEPrcsEtcDetail.getPrpsCn()); + vEPrcsDetailVODetail.setChrctCn(vEPrcsEtcDetail.getChrctCn()); + vEPrcsDetailVODetail.setPrcsAplctPrdEtcOrd(vEPrcsEtcDetail.getPrcsAplctPrdEtcOrd()); + } + model.addAttribute("info", vEPrcsDetailVODetail); + + return "/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy"; + } + + /** + * 기반강화연수과정 신청기간 수정 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfyAjax.do") + public ModelAndView fndthEduPrcsAplctPrdMngMdfyAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + //, RedirectAttributes redirectAttributes + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + //String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID + //vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd); + vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + //vEPrcsDetailVO.setUseYn("Y"); + vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + + vEPrcsAplctPrdService.update(vEPrcsDetailVO); + vEPrcsAplctPrdService.updateEtc(vEPrcsDetailVO); + + + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + + /** + * ve_prcs_aplct_prd 테이블에 데이터 하나만 변경하는 기능 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/updateDdlnCdAjax.do") + public ModelAndView updateDdlnCdAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + //, RedirectAttributes redirectAttributes + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + //String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID + //vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd); + vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + //vEPrcsDetailVO.setUseYn("Y"); + vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + + vEPrcsAplctPrdService.updateOneColumn(vEPrcsDetailVO); + + + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + + + + + /** + * 1.기반강화 강사배치 팝업 function + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/popup/fndthInstrAsgnmPopup.do") + public String fndthInstrAsgnmPopup( +// @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + + + System.out.println("vEPrcsDetailVO.getPrcsAplctPrdOrd() :"+ vEPrcsDetailVO.getPrcsAplctPrdOrd()); + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //3. SelectPagingListQuery set 할 조건 설정 + String selectCondition = new String(); + //3.1 제출 완료 후 사용중인 데이터 조회 + selectCondition += "AND a.sbmt_yn='Y' AND a.use_yn = 'Y'"; + //3.2 강사 테이블 성인강사여부 Y인것만 조회 + selectCondition += "AND (b.adult_instr_yn ='Y' OR a.qlfct_end_yn = 'Y') "; + //3.3 이름 검색 시 + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + //selectCondition += "AND a.instr_nm LIKE CONCAT ('%', '" +vEInstrDetailVO.getSearchKeyword() + "', '%')"; + //이름 암호화 - comDefaultVO 검색단어 공통 암호화 + ComDefaultVO comDefaultVO = new ComDefaultVO(); + comDefaultVO.setSearchKeyword(vEPrcsDetailVO.getSearchKeyword()); + comDefaultVO = egovCryptoUtil.encryptComDefaultVO(comDefaultVO); + vEPrcsDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword()); + selectCondition += "AND a.instr_nm LIKE '%'|| '" +vEPrcsDetailVO.getSearchKeyword() + "'|| '%'"; + comDefaultVO = egovCryptoUtil.decryptComDefaultVO(comDefaultVO); + vEPrcsDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword()); + } + //3.4 요청일 시작일 검색 시 +// if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchStartDt())){ +// selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') >= REPLACE('"+vEPrcsDetailVO.getSearchStartDt()+"', '.', '')"; +// } + //3.5 요청일 종료일 검색 시 +// if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchEndDt())){ +// selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <= REPLACE('"+vEPrcsDetailVO.getSearchEndDt()+"', '.', '')"; +// } + vEPrcsDetailVO.setInstrDiv("20"); + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + List vEInstrDetailVOList = vEPrcsAplctPrdService.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO); + + try { + + vEInstrDetailVOList = egovCryptoUtil.decryptVEInstrDetailVOList(vEInstrDetailVOList); + } catch (Exception e) { + e.printStackTrace(); + // TODO: handle exception + } + + //4.pageing step3 + paginationInfo = this.setInstrPagingStep3(vEInstrDetailVOList, paginationInfo); + System.out.println(" ==== vEPrcsDetailVO.getPrcsAplctPrdOrd() :"+ vEPrcsDetailVO.getPrcsAplctPrdOrd()); + model.addAttribute("vEPrcsDetailVO", vEPrcsDetailVO); + model.addAttribute("paginationInfo", paginationInfo); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEInstrDetailVOList); + + return "/oprtn/fndthEnhanceTrn/popup/fndthInstrAsgnmPopup"; + } + + /** + * 강사배정 등록 처리 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthInstrAsgnmAjax.do") + public ModelAndView instrAsgnmAjaxinstrAsgnmAjax( + @ModelAttribute("vEAPrcsAplctPrdInstrAsgnmVO") VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO + , ModelMap model + //, RedirectAttributes redirectAttributes + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + //로그인 처리==================================== + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + try { + //선택한 강사 데이터 등록 처리 + vEAPrcsAplctPrdInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + vEAPrcsAplctPrdInstrAsgnmService.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO); + } catch (Exception ex) { + ex.printStackTrace(); + } + + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + + + /** + * 기반강화 신청자 상태값 변경 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/updateEduAplctAprvlCdAjax.do") + public ModelAndView updateEduAplctAprvlCd( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd() +"!!!"); + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + //로그인 처리==================================== + //로그인 정보 가져오기 + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + //로그인 처리==================================== + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + try { + // 교육 신청 테이블에 신청자 상태값 update + vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO); + + // 승인 - 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 + if("20".equals(vEPrcsDetailVO.getAprvlCd())) { + this.aprvlCd20(vEPrcsDetailVO,loginVO.getUniqId()); + } + // 접수취소(반려) - vea_aplct_detail_info TB에 data update + else if("30".equals(vEPrcsDetailVO.getAprvlCd())) + { + this.aprvlCd30(vEPrcsDetailVO); + } + modelAndView.addObject("result", "success"); + + } catch (Exception ex) { + ex.printStackTrace(); + modelAndView.addObject("result", ""); + } + + + return modelAndView; + + } + + + /** + * @methodName : aprvlCd20 + * @author : 이호영 + * @date : 2023.09.25 + * @description : aprvlCd == 20 교육 승인 일 경유 + * 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 + * @param vEPrcsDetailVO + * @param uniqId + * @throws FdlException + */ + private void aprvlCd20(VEPrcsDetailVO vEPrcsDetailVO, String uniqId) throws FdlException { + + for(String id : vEPrcsDetailVO.getEduAplctOrdList()) { + VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO(); + + vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + vEDetailVO.setEduAplctOrd(id); + + // 데이터가 있는지만 비교하기 위한 구문 + VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO); + + // 데이터가 없으면 Insert + if(vEDetail_DVO == null) { + vEDetailVO.setAplctStateCd("10"); // 신청상태코드 VEA003 10:미이수 20:이수 + vEDetailVO.setFrstRegisterId(uniqId); + vEAPrcsAplctPrdInstrAsgnmService.insertAprvlCdEduAplctDetail(vEDetailVO); + + } + + } + + } + + /** + * @methodName : aprvlCd30 + * @author : 이호영 + * @date : 2023.09.25 + * @description : aprvlCd == 30 교육 반려 + * 승인일 경우 vea_aplct_detail_info TB에 data 삭제 + * @param vEPrcsDetailVO + * @param uniqId + * @throws FdlException + */ + private void aprvlCd30(VEPrcsDetailVO vEPrcsDetailVO) { + + for(String id : vEPrcsDetailVO.getEduAplctOrdList()) { + VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO(); + + vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + vEDetailVO.setEduAplctOrd(id); + + // 데이터가 있는지만 비교하기 위한 구문 + VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO); + + // 데이터가 있으면 삭제 + if(vEDetail_DVO != null) { + vEDetailVO.setAplctStateCd("30"); + vEAPrcsAplctPrdInstrAsgnmService.updateAprvlCdEduAplctDetail(vEDetailVO); + + } + + } + + } + + + /** + * @methodName : instrCostPopup + * @author : 이호영 + * @date : 2023.11.27 + * @description : + * @param vEPrcsDetailVO + * @param model + * @param request + * @return + * @throws Exception + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/popup/lctrEvalPopup.do") + public String lctrEvalPopup( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + +// List vEPrcsDetailVOList = egovQustnrRespondInfoService.selectQustnr5060(vEPrcsDetailVO); + //해당 과정을 제출한 사용자 정보를 가져온다. + VEEduAplctVO paramVO = new VEEduAplctVO(); + paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + paramVO.setSbmtYn("Y"); + + // 20 이수 + String searchQuery = "AND vadi.APLCT_STATE_CD = 20"; + paramVO.setSearchQuery(searchQuery); + // 검색 - 날짜 + paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); + paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); + // 검색 - 검색어 + paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); + + + List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); + vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); + + long totalParticipants = vEPrcsDetailVOList.size(); + long respondents = vEPrcsDetailVOList.stream().filter(vo -> vo.getQestRsltExists()).count(); + long nonRespondents = totalParticipants - respondents; + double responseRate = ((double) respondents / totalParticipants) * 100; + + model.addAttribute("totalParticipants", totalParticipants); + model.addAttribute("respondents", respondents); + model.addAttribute("nonRespondents", nonRespondents); + model.addAttribute("responseRate", String.format("%.2f", responseRate) + "%"); + + + return "/oprtn/fndthEnhanceTrn/popup/lctrEvalPopup"; + } + + + + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/selectSrvyInfoAjax.do") + public ModelAndView fndtnInAdminSelectSrvyInfoAjax( HttpServletRequest request + , ModelMap model + , VEEduAplctVO veEduAplctVO + , QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + try { + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); + if (loginVO == null) { + modelAndView.addObject("result", "fail"); + modelAndView.addObject("msg", "로그인 해주세요."); + return modelAndView; + } + + + List qustnrRespondInfoVOList = egovQustnrRespondInfoService.selectQustnrDetail(qustnrRespondInfoVO); + + modelAndView.addObject("data", qustnrRespondInfoVOList); + modelAndView.addObject("respondId", qustnrRespondInfoVOList.get(0).getRespondId()); + modelAndView.addObject("result", "success"); + }catch(Exception ex) { + System.out.println("Exception vEEduAplctOnlnService.updateBulk"); + modelAndView.addObject("result", "fail"); + modelAndView.addObject("msg", "관리자에게 문의해 주세요"); + } + return modelAndView; + } + + + /** + * @methodName : adminMergeSrvyInfoAjax + * @author : 이호영 + * @date : 2023.11.27 + * @description : 관리자 설문결과 update + * @param request + * @param model + * @param veEduAplctVO + * @param qustnrRespondInfoVO + * @return + * @throws Exception + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/mergeSrvyInfoAjax.do") + public ModelAndView adminMergeSrvyInfoAjax( HttpServletRequest request + , ModelMap model + , VEEduAplctVO veEduAplctVO + , QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + try { + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); + if (loginVO == null) { + modelAndView.addObject("result", "fail"); + modelAndView.addObject("msg", "로그인 해주세요."); + return modelAndView; + } + + qustnrRespondInfoVO.getResultList().stream() + .forEach(item -> { + + item.setQustnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId()); + item.setRespondId(qustnrRespondInfoVO.getRespondId()); + item.setFrstRegisterId(qustnrRespondInfoVO.getRespondId()); + item.setLastUpdusrId(loginVO.getId()); + item.setEduAplctOrd(veEduAplctVO.getEduAplctOrd()); + + if("verySatisfied".equals(item.getResponseRadio())) { + item.setVerySatisfied("1"); + } + if("satisfied".equals(item.getResponseRadio())) { + item.setSatisfied("1"); + } + if("neither".equals(item.getResponseRadio())) { + item.setNeither("1"); + } + if("dissatisfied".equals(item.getResponseRadio())) { + item.setDissatisfied("1"); + } + if("veryDissatisfied".equals(item.getResponseRadio())) { + item.setVeryDissatisfied("1"); + } + + try { + egovQustnrRespondInfoService.updateSrvyInfo(item); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + }); + + }catch(Exception ex) { + System.out.println("Exception vEEduAplctOnlnService.updateBulk"); + } + modelAndView.addObject("result", "success"); + return modelAndView; + } + + /** + * @methodName : adminDelSrvyInfoAjax + * @author : 이호영 + * @date : 2023.11.27 + * @description : 관리자 설문결과 del + * @param request + * @param model + * @param veEduAplctVO + * @param qustnrRespondInfoVO + * @return + * @throws Exception + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/delSrvyInfoAjax.do") + public ModelAndView adminDelSrvyInfoAjax( HttpServletRequest request + , ModelMap model + , VEEduAplctVO veEduAplctVO + , QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + try { + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); + if (loginVO == null) { + modelAndView.addObject("result", "fail"); + modelAndView.addObject("msg", "로그인 해주세요."); + return modelAndView; + } + + qustnrRespondInfoVO.getResultList().stream() + .forEach(item -> { + + item.setQustnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId()); + item.setRespondId(qustnrRespondInfoVO.getRespondId()); + item.setFrstRegisterId(qustnrRespondInfoVO.getRespondId()); + item.setLastUpdusrId(loginVO.getId()); + item.setEduAplctOrd(veEduAplctVO.getEduAplctOrd()); + + try { + egovQustnrRespondInfoService.deleteStatusFormlettnqestnrrslt(item); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + }); + + }catch(Exception ex) { + System.out.println("Exception vEEduAplctOnlnService.updateBulk"); + } + modelAndView.addObject("result", "success"); + return modelAndView; + } + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // + // + // private function + // + // + + //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 + private PaginationInfo setPagingStep1( + VEPrcsDetailVO p_vEPrcsDetailVO + )throws Exception{ + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit()); + paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize()); + + return paginationInfo; + } + + //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 + private VEPrcsDetailVO setPagingStep2( + VEPrcsDetailVO p_vEPrcsDetailVO + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step2 + p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); + p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); + p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); + + if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord"); + p_vEPrcsDetailVO.setSearchSortOrd("desc"); + } + + return p_vEPrcsDetailVO; + } + + + //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 + private PaginationInfo setPagingStep3( + List p_vEPrcsDetailVOList + + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step3 + int totCnt = 0; + if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt(); + p_paginationInfo.setTotalRecordCount(totCnt); + + return p_paginationInfo; + } + + + + + //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 + private PaginationInfo setInstrPagingStep3( + List p_vEInstrDetailVOList + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step3 + int totCnt = 0; + if(p_vEInstrDetailVOList.size() > 0) totCnt = p_vEInstrDetailVOList.get(0).getTotCnt(); + p_paginationInfo.setTotalRecordCount(totCnt); + + return p_paginationInfo; + } + +} diff --git a/src/main/resources/egovframework/sqlmap/ve/asgnm/VEInstrFee_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/asgnm/VEInstrFee_SQL_Tibero.xml index 27ee618a..50c9711a 100644 --- a/src/main/resources/egovframework/sqlmap/ve/asgnm/VEInstrFee_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/asgnm/VEInstrFee_SQL_Tibero.xml @@ -192,6 +192,88 @@ + + + UPDATE diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml index 96d9753e..361bcca9 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml @@ -431,6 +431,9 @@ /* VEPrcsDAO.selectPagingList4FndthInstr */ SELECT COUNT(1) OVER() AS totCnt , + + a.edu_strt_pnttm||'~'||a.edu_ddln_pnttm AS eduHopeDt , + a.prcs_aplct_prd_ord AS prcsAplctPrdOrd, a.lctr_div_cd AS lctrDivCd, a.strt_pnttm AS strtPnttm, @@ -454,9 +457,16 @@ , c.user_id AS userId , c.instr_nm AS instrNm + + , f.sbmt_yn AS feeSbmtYn + , c.phone AS instrPhone + , f.INSTR_FEE AS instrFee + , f.TRAFFIC_FEE AS trafficFee FROM ve_prcs_aplct_prd a + + , ve_prcs b , @@ -464,6 +474,7 @@ SELECT a0.prcs_aplct_prd_ord , a0.user_id , b.instr_nm + , b.phone FROM vea_prcs_aplct_prd_instr_asgnm a0 , ve_instr_detail b WHERE 1=1 @@ -471,7 +482,12 @@ AND a0.user_id=b.user_id AND b.use_yn='Y' ) c - + + LEFT OUTER JOIN ve_instr_fee f + ON ( + c.prcs_aplct_prd_ord = f.edu_aplct_ord + AND c.user_id = f.edu_chasi_ord + ) WHERE 1 =1 AND a.prcs_ord =b.prcs_ord diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/eduInstrFeeMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/eduInstrFeeMngList.jsp index 6494e4d5..42ab441d 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/eduInstrFeeMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/eduInstrFeeMngList.jsp @@ -6,7 +6,7 @@ <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> -<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> @@ -36,16 +36,38 @@ - 신청관리 + 과정신청기간관리목록
- - - " /> - " /> - - - - - - + + + " /> + " /> + + + +
-

강사료 확정 처리 목록

+

강사료 확정 관리목록

  • -

    조건부기소유예관리

    +

    실무자역량강화

  • -
  • 강사료 확정 관리
  • +
  • 강사료 확정 관리목록
+
+

강사료 확정 관리

+
-
+
-
-

구분

-
-
- - -
-
-
-
-

교육일자

-
+ +
- +<%-- --%> +
~
- +
- - - - - - - + + +
-
- - - +
-

총 건수 :

+

건의 접수가 검색되었습니다.

- + + + + + <%----%>
+ + +
- - - - + + + + - - - + + +<%-- --%> + + +<%-- --%> - - - - - - + + + + + + + + - + + - - - - - - - - + - + + + + + + - +
교육일자차시기관구분신청유형기관(단체)명강사이름NO교육구분코드교육일자과정명강사명 강사료확정여부확정여부
- + + - - ${list.eduHopeDt} -<%-- --%> -<%-- --%> - - - - - - - ${list.strtTm} - - - ~ - - - - - - ${list.strtTm} - - - (분) - - - - - - + ');" style="cursor:pointer;"> + + + + + ');" style="cursor:pointer;"> + () + - -
(${fn:split(list.userId,'_')[1]*1}) -
-
',''); return false;"> - + onclick="fncInstrCostInfo('',''); return false;"> + + + + + + 미책정 + + + 확정 미확정 -
+
+
@@ -405,11 +446,13 @@
-
+
+
+
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/eduInstrFeeMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/eduInstrFeeMngList.jsp index d6b00fe5..42c8602a 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/eduInstrFeeMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/eduInstrFeeMngList.jsp @@ -6,7 +6,7 @@ <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> -<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> @@ -36,16 +36,38 @@ - 신청관리 + 과정신청기간관리목록
- - - " /> - " /> - - - - - - + + + " /> + " /> + + + +
-

강사료 확정 처리 목록

+

강사료 확정 관리목록

  • -

    기반강화연수관리

    +

    실무자역량강화

  • -
  • 강사료 확정 관리
  • +
  • 강사료 확정 관리목록
+
+

강사료 확정 관리

+
-
+
-
-

구분

-
-
- - -
-
-
-
-

교육일자

-
+ +
- +<%-- --%> +
~
- +
- - - - - - - + + +
-
- - - +
-

총 건수 :

+

건의 접수가 검색되었습니다.

- + + + + + <%----%>
+ + +
- - - - + + + + - - - + + +<%-- --%> + + +<%-- --%> - - - - - - + + + + + + + + - + + - - - - - - - - + - + + + + + + - +
교육일자차시기관구분신청유형기관(단체)명강사이름NO교육구분코드교육기간과정명강사명 강사료확정여부확정여부
- + + - - ${list.eduHopeDt} -<%-- --%> -<%-- --%> - - - - - - - ${list.strtTm} - - - ~ - - - - - - ${list.strtTm} - - - (분) - - - - - - + ');" style="cursor:pointer;"> + + + + ~ + ');" style="cursor:pointer;"> + () + - -
(${fn:split(list.userId,'_')[1]*1}) -
-
',''); return false;"> - + onclick="fncInstrCostInfo('',''); return false;"> + + + + + + 미책정 + + + 확정 미확정 -
+
+
@@ -405,11 +446,13 @@
-
+
+
+
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/popup/instrCostPopup.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/popup/instrCostPopup.jsp new file mode 100644 index 00000000..22884ec1 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/popup/instrCostPopup.jsp @@ -0,0 +1,267 @@ + +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<% + /** + * @Class Name : instrCostPopup.jsp + * @Description : 강사비용 팝업 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.08.09 김봉호 최초 생성 + * @author 안주영 + * @since 2022.01.04 + * @version 1.0 + * @see + * + */ +%> + + + + + 강의배정팝업 + + + + + + "> + "> + " /> + +
+
+ +
+

강사료

+
+ + + + + + + + + + + + + + + + + + + + +
+

강사료

+
"/>
+

교통비

+
"/>
+

강사료 합계

+
+ +
+ +
+

지급 총액

+ ※ 지급 총액은 세전 금액입니다. +
+ + + + + + + + + + + +
+

강사료 합계 +

+ +
+
+ +
+

강사료

+
+ + + + + + + + + + + + + + + + + + + +
+

강사료

+
+ +
+

교통비

+
+ +
+

강사료 합계

+
+ +
+
+

지급 총액

+ ※ 지급 총액은 세전 금액입니다. +
+ + + + + + + + + + + + + + + +
+

강사료 합계 + +

+
+ +
+

확정여부

+
+ 확정 + 미확정 +
+
+
+
+
+
+ + + + + + + + +
+
+
+
+
+
+
+ + +