diff --git a/src/main/java/kcc/ve/cmm/VeInstrFeeMng.java b/src/main/java/kcc/ve/cmm/VeInstrFeeMng.java index a14ef0b4..e00016ae 100644 --- a/src/main/java/kcc/ve/cmm/VeInstrFeeMng.java +++ b/src/main/java/kcc/ve/cmm/VeInstrFeeMng.java @@ -195,6 +195,12 @@ public class VeInstrFeeMng { ) throws Exception { + System.out.println("p_rankNo"); + System.out.println(p_rankNo); + System.out.println(p_foodExpenses); + System.out.println(p_trafficFee); + //System.out.println(vEInstrFeeAcmdtVO.getInstrFeeOrd()); + // 강사료 VEInstrFeeAcmdtVO infoVO = new VEInstrFeeAcmdtVO(); infoVO.setEduAplctOrd(eduAplctOrd); @@ -202,18 +208,21 @@ public class VeInstrFeeMng { VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = vEInstrFeeService.selectDetail(infoVO); - if(vEInstrFeeAcmdtVO.getInstrFeeOrd() == null) { + //if(vEInstrFeeAcmdtVO.getInstrFeeOrd() == null) { + if(true) { List selectChasiList = vEInstrFeeService.selectChasiList(vEInstrFeeAcmdtVO); System.out.println("@@ "+selectChasiList.get(0).getTotCnt()); - boolean check = false; + boolean check = true; System.out.println(" 조회 차시 정보 "+vEInstrFeeAcmdtVO.getEduChasiOrd()); System.out.println(" 첫번쨰 차시 정보 "+selectChasiList.get(0).getEduChasiOrd()); + /* if(selectChasiList.get(0).getEduChasiOrd().equals(vEInstrFeeAcmdtVO.getEduChasiOrd())) { check = true; } + */ /* * 강사료 계산 정리 @@ -341,16 +350,22 @@ public class VeInstrFeeMng { } - // 수당 합계 + // 수당 합계(a+b) int sum = + Integer.parseInt(vEInstrFeeAcmdtVO.getSpecialWorkAllow()) + Integer.parseInt(vEInstrFeeAcmdtVO.getDistanceAllow()); vEInstrFeeAcmdtVO.setAllowance(sum); - // 여비 합계 + // 여비 합계(c+d) sum = Integer.parseInt(vEInstrFeeAcmdtVO.getTrafficFee()) + Integer.parseInt(vEInstrFeeAcmdtVO.getAcmdtFee()); vEInstrFeeAcmdtVO.setSpareFee(String.format("%,d", sum)); + System.out.println("Integer.parseInt(vEInstrFeeAcmdtVO.getSpecialWorkAllow())"); + System.out.println(Integer.parseInt(vEInstrFeeAcmdtVO.getSpecialWorkAllow())); + System.out.println(Integer.parseInt(vEInstrFeeAcmdtVO.getDistanceAllow())); + System.out.println(Integer.parseInt(vEInstrFeeAcmdtVO.getTrafficFee())); + System.out.println(Integer.parseInt(vEInstrFeeAcmdtVO.getAcmdtFee())); + }else if("10".equals(vEInstrFeeAcmdtVO.getEduSlctCd())){ diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEEduExcelVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEEduExcelVO.java index 21ff6a2e..e7e8f575 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEEduExcelVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEEduExcelVO.java @@ -144,6 +144,9 @@ public class VEEduExcelVO { private String rankNo; //식비, 거리계산용 rankno + private String ifoodExpense; //전체 식비 + private String itrafficFee; //전체 교통비 + public String getRankNo() { return rankNo; } @@ -818,4 +821,16 @@ public class VEEduExcelVO { public void setNeedTxtbNum(String needTxtbNum) { this.needTxtbNum = needTxtbNum; } + public String getIfoodExpense() { + return ifoodExpense; + } + public void setIfoodExpense(String ifoodExpense) { + this.ifoodExpense = ifoodExpense; + } + public String getItrafficFee() { + return itrafficFee; + } + public void setItrafficFee(String itrafficFee) { + this.itrafficFee = itrafficFee; + } } diff --git a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAsgnmCnfrmMng/web/EduAsgnmCnfrmMngTngrController.java b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAsgnmCnfrmMng/web/EduAsgnmCnfrmMngTngrController.java index 87181ab1..33ed0612 100644 --- a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAsgnmCnfrmMng/web/EduAsgnmCnfrmMngTngrController.java +++ b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAsgnmCnfrmMng/web/EduAsgnmCnfrmMngTngrController.java @@ -1,10 +1,8 @@ package kcc.ve.oprtn.tngrVisitEdu.eduAsgnmCnfrmMng.web; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Locale; -import java.util.Map; import java.util.Properties; import javax.annotation.Resource; @@ -235,7 +233,7 @@ public class EduAsgnmCnfrmMngTngrController { System.out.println(vEEduAplctVO.getOrderByQuery()); if ("".equals(vEEduAplctVO.getOrderByQuery()) || vEEduAplctVO.getOrderByQuery()==null) { - vEEduAplctVO.setOrderByQuery("CC.EDU_HOPE_DT desc"); + vEEduAplctVO.setOrderByQuery("CC.EDU_HOPE_DT desc, CC.strt_tm asc "); } List vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); @@ -856,6 +854,21 @@ public class EduAsgnmCnfrmMngTngrController { vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); vEEduAplctVO.setMode(VeConstants.MODE_EXCEL); vEEduAplctVO.setSearchAsgnmAprvlCd("30"); + + + System.out.println("vEEduAplctVO.getSearchCondition()"); + System.out.println(vEEduAplctVO.getSearchCondition()); + + + if ("2".equals(vEEduAplctVO.getSearchCondition())) { + vEEduAplctVO.setSearchCondition(""); + vEEduAplctVO.setSelectPagingListQuery(" AND e.instr_nm='"+egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())+"'"); + + }else if ("0".equals(vEEduAplctVO.getSearchCondition())) { + vEEduAplctVO.setSelectPagingListQuery(" AND (A.SCHOL_INSTT_NM LIKE '%' || '"+vEEduAplctVO.getSearchKeyword()+"' || '%' OR i.instr_nm='"+egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())+"')"); + } + + List list = vEEduMIXService.selectExcelList(vEEduAplctVO); //list = egovCryptoUtil.decryptVEEduExcelVOList(list); @@ -884,7 +897,7 @@ public class EduAsgnmCnfrmMngTngrController { //사용자 교육신청 과정 리스트 VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); vEPrcsDetailVO.setUseYn("Y"); - vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); List vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO); System.out.println("out-list-1"); @@ -893,6 +906,8 @@ public class EduAsgnmCnfrmMngTngrController { // 강사 식비와 장거리교육수당을 위한 빈값 체크 List dataList = list; // 가정한 메소드: 실제 데이터를 로드 + + /* // 각 ketSet에 대해 기존 값(0이 아닌 값)이 있는지 체크 // 식대 Map foodChkMap = new HashMap<>(); @@ -920,6 +935,7 @@ public class EduAsgnmCnfrmMngTngrController { distanceChkMap.put(ketSet, true); } } + */ list.forEach( vo -> { /* @@ -991,9 +1007,17 @@ public class EduAsgnmCnfrmMngTngrController { try { VeInstrFeeMng veInstrFeeMng = new VeInstrFeeMng(); - VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = veInstrFeeMng.VeInstrFeeMng(vEInstrFeeService, vo.getEduAplctOrd(), vo.getEduChasiOrd()); + VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = veInstrFeeMng.VeInstrFeeMng4Excel( + vEInstrFeeService + , vo.getEduAplctOrd() + , vo.getEduChasiOrd() + , vo.getRankNo() + , vo.getIfoodExpense() + , vo.getItrafficFee() + + ); - + /* String ketSet = vo.getEduHopeDt() + vo.getEduAplctOrd(); // hylee @@ -1006,6 +1030,7 @@ public class EduAsgnmCnfrmMngTngrController { vo.setFoodExpenses("7000"); foodChkMap.put(ketSet, true); } + */ // 강사료 계산 (강의차시 * 강사 기본값) @@ -1029,6 +1054,7 @@ public class EduAsgnmCnfrmMngTngrController { vo.setKmOneWay(vo.getOnewayDstnc()+"Km"); // Km편도 vo.setKmRoundTrip(Integer.toString(kmRoundTrip)+"Km"); // Km왕복 + /* // hylee // 20240329 기존 vEInstrFeeAcmdtVO 무시(공통이라 무시하고 값을 새로 구함) // after @@ -1037,6 +1063,7 @@ public class EduAsgnmCnfrmMngTngrController { vo.setDistanceAllow(this.distanceAllowCal(kmRoundTrip)); distanceChkMap.put(ketSet, true); } + */ }else if("10".equals(vo.getEduSlctCd())) { vo.setKmOneWay("0"); // 편도 거리 @@ -1050,6 +1077,8 @@ public class EduAsgnmCnfrmMngTngrController { // 교통비 vo.setTrafficFee(vEInstrFeeAcmdtVO.getTrafficFee()); + // 식비 + vo.setFoodExpenses(vEInstrFeeAcmdtVO.getFoodExpenses()); // 강사료 합계 vo.setInstrFeeSum(String.format("%,d", vEInstrFeeAcmdtVO.getInstrFeeSum())); // 숙박비 @@ -1072,7 +1101,9 @@ public class EduAsgnmCnfrmMngTngrController { vo.setKmOneWay("0"); // 편도 거리 vo.setKmRoundTrip("0"); // 왕복 거리 vo.setTrafficFee("0"); //교통비 + vo.setFoodExpenses("0");//식비 vo.setInstrFeeSum("0"); //강사료 합계 + } if("N".equals(vo.getAcmdtAprvlCd())) { diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml index d7de8c21..3b0297b2 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml @@ -1636,10 +1636,13 @@ /* ORDER BY 1=1 */ - ORDER BY 1 + ORDER BY - , $orderByQuery$ + $orderByQuery$ + + 1 + /* LIMIT recordCountPerPage OFFSET firstIndex @@ -6060,9 +6063,9 @@ a.aprvl_cd AS aprvlCd */ - RANK() OVER (PARTITION BY d.user_id ORDER BY b.edu_hope_dt, b.strt_tm) AS rankNo, - i.foodExpense, /* 저장된 값이 있으면 0 이상 , 없으면 null */ - i.trafficFee, /* 저장된 값이 있으면 0 이상 , 없으면 null */ + RANK() OVER (PARTITION BY b.edu_hope_dt, d.user_id ORDER BY b.edu_hope_dt, b.strt_tm) AS rankNo, + i.foodExpense AS ifoodExpense, /* 저장된 값이 있으면 0 이상 , 없으면 null */ + i.trafficFee AS itrafficFee, /* 저장된 값이 있으면 0 이상 , 없으면 null */ (SELECT a0.code_nm FROM LETTCCMMNDETAILCODE a0 WHERE a0.code_id='VE0003' AND a0.code=a.aprvl_cd) AS aprvlCd /* @@ -6326,9 +6329,13 @@ AND (c.sbmt_yn != 'Y' or c.sbmt_yn is null) + + + $selectPagingListQuery$ + + ORDER BY - 1 - , b.edu_chasi_ord + b.edu_hope_dt desc, b.strt_tm ASC