2024-04-09 14:45 청소년 찾교 교육 배치 엑셀 수정

This commit is contained in:
myname 2024-04-09 14:45:31 +09:00
parent f46b4bab32
commit 1e3d6c324d
4 changed files with 86 additions and 18 deletions

View File

@ -195,6 +195,12 @@ public class VeInstrFeeMng {
) throws Exception { ) 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(); VEInstrFeeAcmdtVO infoVO = new VEInstrFeeAcmdtVO();
infoVO.setEduAplctOrd(eduAplctOrd); infoVO.setEduAplctOrd(eduAplctOrd);
@ -202,18 +208,21 @@ public class VeInstrFeeMng {
VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = vEInstrFeeService.selectDetail(infoVO); VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = vEInstrFeeService.selectDetail(infoVO);
if(vEInstrFeeAcmdtVO.getInstrFeeOrd() == null) { //if(vEInstrFeeAcmdtVO.getInstrFeeOrd() == null) {
if(true) {
List<VEInstrFeeAcmdtVO> selectChasiList = vEInstrFeeService.selectChasiList(vEInstrFeeAcmdtVO); List<VEInstrFeeAcmdtVO> selectChasiList = vEInstrFeeService.selectChasiList(vEInstrFeeAcmdtVO);
System.out.println("@@ "+selectChasiList.get(0).getTotCnt()); System.out.println("@@ "+selectChasiList.get(0).getTotCnt());
boolean check = false; boolean check = true;
System.out.println(" 조회 차시 정보 "+vEInstrFeeAcmdtVO.getEduChasiOrd()); System.out.println(" 조회 차시 정보 "+vEInstrFeeAcmdtVO.getEduChasiOrd());
System.out.println(" 첫번쨰 차시 정보 "+selectChasiList.get(0).getEduChasiOrd()); System.out.println(" 첫번쨰 차시 정보 "+selectChasiList.get(0).getEduChasiOrd());
/*
if(selectChasiList.get(0).getEduChasiOrd().equals(vEInstrFeeAcmdtVO.getEduChasiOrd())) { if(selectChasiList.get(0).getEduChasiOrd().equals(vEInstrFeeAcmdtVO.getEduChasiOrd())) {
check = true; check = true;
} }
*/
/* /*
* 강사료 계산 정리 * 강사료 계산 정리
@ -341,16 +350,22 @@ public class VeInstrFeeMng {
} }
// 수당 합계 // 수당 합계(a+b)
int sum = + Integer.parseInt(vEInstrFeeAcmdtVO.getSpecialWorkAllow()) int sum = + Integer.parseInt(vEInstrFeeAcmdtVO.getSpecialWorkAllow())
+ Integer.parseInt(vEInstrFeeAcmdtVO.getDistanceAllow()); + Integer.parseInt(vEInstrFeeAcmdtVO.getDistanceAllow());
vEInstrFeeAcmdtVO.setAllowance(sum); vEInstrFeeAcmdtVO.setAllowance(sum);
// 여비 합계 // 여비 합계(c+d)
sum = Integer.parseInt(vEInstrFeeAcmdtVO.getTrafficFee()) sum = Integer.parseInt(vEInstrFeeAcmdtVO.getTrafficFee())
+ Integer.parseInt(vEInstrFeeAcmdtVO.getAcmdtFee()); + Integer.parseInt(vEInstrFeeAcmdtVO.getAcmdtFee());
vEInstrFeeAcmdtVO.setSpareFee(String.format("%,d", sum)); 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())){ }else if("10".equals(vEInstrFeeAcmdtVO.getEduSlctCd())){

View File

@ -144,6 +144,9 @@ public class VEEduExcelVO {
private String rankNo; //식비, 거리계산용 rankno private String rankNo; //식비, 거리계산용 rankno
private String ifoodExpense; //전체 식비
private String itrafficFee; //전체 교통비
public String getRankNo() { public String getRankNo() {
return rankNo; return rankNo;
} }
@ -818,4 +821,16 @@ public class VEEduExcelVO {
public void setNeedTxtbNum(String needTxtbNum) { public void setNeedTxtbNum(String needTxtbNum) {
this.needTxtbNum = 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;
}
} }

View File

@ -1,10 +1,8 @@
package kcc.ve.oprtn.tngrVisitEdu.eduAsgnmCnfrmMng.web; package kcc.ve.oprtn.tngrVisitEdu.eduAsgnmCnfrmMng.web;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map;
import java.util.Properties; import java.util.Properties;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -235,7 +233,7 @@ public class EduAsgnmCnfrmMngTngrController {
System.out.println(vEEduAplctVO.getOrderByQuery()); System.out.println(vEEduAplctVO.getOrderByQuery());
if ("".equals(vEEduAplctVO.getOrderByQuery()) || vEEduAplctVO.getOrderByQuery()==null) { 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<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
@ -856,6 +854,21 @@ public class EduAsgnmCnfrmMngTngrController {
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10);
vEEduAplctVO.setMode(VeConstants.MODE_EXCEL); vEEduAplctVO.setMode(VeConstants.MODE_EXCEL);
vEEduAplctVO.setSearchAsgnmAprvlCd("30"); 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<VEEduExcelVO> list = vEEduMIXService.selectExcelList(vEEduAplctVO); List<VEEduExcelVO> list = vEEduMIXService.selectExcelList(vEEduAplctVO);
//list = egovCryptoUtil.decryptVEEduExcelVOList(list); //list = egovCryptoUtil.decryptVEEduExcelVOList(list);
@ -884,7 +897,7 @@ public class EduAsgnmCnfrmMngTngrController {
//사용자 교육신청 과정 리스트 //사용자 교육신청 과정 리스트
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setUseYn("Y"); vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO); List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO);
System.out.println("out-list-1"); System.out.println("out-list-1");
@ -893,6 +906,8 @@ public class EduAsgnmCnfrmMngTngrController {
// 강사 식비와 장거리교육수당을 위한 빈값 체크 // 강사 식비와 장거리교육수당을 위한 빈값 체크
List<VEEduExcelVO> dataList = list; // 가정한 메소드: 실제 데이터를 로드 List<VEEduExcelVO> dataList = list; // 가정한 메소드: 실제 데이터를 로드
/*
// ketSet에 대해 기존 (0이 아닌 ) 있는지 체크 // ketSet에 대해 기존 (0이 아닌 ) 있는지 체크
// 식대 // 식대
Map<String, Boolean> foodChkMap = new HashMap<>(); Map<String, Boolean> foodChkMap = new HashMap<>();
@ -920,6 +935,7 @@ public class EduAsgnmCnfrmMngTngrController {
distanceChkMap.put(ketSet, true); distanceChkMap.put(ketSet, true);
} }
} }
*/
list.forEach( vo -> { list.forEach( vo -> {
/* /*
@ -991,9 +1007,17 @@ public class EduAsgnmCnfrmMngTngrController {
try { try {
VeInstrFeeMng veInstrFeeMng = new VeInstrFeeMng(); 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(); String ketSet = vo.getEduHopeDt() + vo.getEduAplctOrd();
// hylee // hylee
@ -1006,6 +1030,7 @@ public class EduAsgnmCnfrmMngTngrController {
vo.setFoodExpenses("7000"); vo.setFoodExpenses("7000");
foodChkMap.put(ketSet, true); foodChkMap.put(ketSet, true);
} }
*/
// 강사료 계산 (강의차시 * 강사 기본값) // 강사료 계산 (강의차시 * 강사 기본값)
@ -1029,6 +1054,7 @@ public class EduAsgnmCnfrmMngTngrController {
vo.setKmOneWay(vo.getOnewayDstnc()+"Km"); // Km편도 vo.setKmOneWay(vo.getOnewayDstnc()+"Km"); // Km편도
vo.setKmRoundTrip(Integer.toString(kmRoundTrip)+"Km"); // Km왕복 vo.setKmRoundTrip(Integer.toString(kmRoundTrip)+"Km"); // Km왕복
/*
// hylee // hylee
// 20240329 기존 vEInstrFeeAcmdtVO 무시(공통이라 무시하고 값을 새로 구함) // 20240329 기존 vEInstrFeeAcmdtVO 무시(공통이라 무시하고 값을 새로 구함)
// after // after
@ -1037,6 +1063,7 @@ public class EduAsgnmCnfrmMngTngrController {
vo.setDistanceAllow(this.distanceAllowCal(kmRoundTrip)); vo.setDistanceAllow(this.distanceAllowCal(kmRoundTrip));
distanceChkMap.put(ketSet, true); distanceChkMap.put(ketSet, true);
} }
*/
}else if("10".equals(vo.getEduSlctCd())) { }else if("10".equals(vo.getEduSlctCd())) {
vo.setKmOneWay("0"); // 편도 거리 vo.setKmOneWay("0"); // 편도 거리
@ -1050,6 +1077,8 @@ public class EduAsgnmCnfrmMngTngrController {
// 교통비 // 교통비
vo.setTrafficFee(vEInstrFeeAcmdtVO.getTrafficFee()); vo.setTrafficFee(vEInstrFeeAcmdtVO.getTrafficFee());
// 식비
vo.setFoodExpenses(vEInstrFeeAcmdtVO.getFoodExpenses());
// 강사료 합계 // 강사료 합계
vo.setInstrFeeSum(String.format("%,d", vEInstrFeeAcmdtVO.getInstrFeeSum())); vo.setInstrFeeSum(String.format("%,d", vEInstrFeeAcmdtVO.getInstrFeeSum()));
// 숙박비 // 숙박비
@ -1072,7 +1101,9 @@ public class EduAsgnmCnfrmMngTngrController {
vo.setKmOneWay("0"); // 편도 거리 vo.setKmOneWay("0"); // 편도 거리
vo.setKmRoundTrip("0"); // 왕복 거리 vo.setKmRoundTrip("0"); // 왕복 거리
vo.setTrafficFee("0"); //교통비 vo.setTrafficFee("0"); //교통비
vo.setFoodExpenses("0");//식비
vo.setInstrFeeSum("0"); //강사료 합계 vo.setInstrFeeSum("0"); //강사료 합계
} }
if("N".equals(vo.getAcmdtAprvlCd())) { if("N".equals(vo.getAcmdtAprvlCd())) {

View File

@ -1636,10 +1636,13 @@
/* /*
ORDER BY 1=1 ORDER BY 1=1
*/ */
ORDER BY 1 ORDER BY
<isNotEmpty property="orderByQuery"> <isNotEmpty property="orderByQuery">
, $orderByQuery$ $orderByQuery$
</isNotEmpty> </isNotEmpty>
<isEmpty property="orderByQuery">
1
</isEmpty>
<isNotEqual property="mode" compareValue="EXCEL"> <isNotEqual property="mode" compareValue="EXCEL">
/* /*
LIMIT recordCountPerPage OFFSET firstIndex LIMIT recordCountPerPage OFFSET firstIndex
@ -6060,9 +6063,9 @@
a.aprvl_cd AS aprvlCd a.aprvl_cd AS aprvlCd
*/ */
RANK() OVER (PARTITION BY d.user_id ORDER BY b.edu_hope_dt, b.strt_tm) AS rankNo, RANK() OVER (PARTITION BY b.edu_hope_dt, d.user_id ORDER BY b.edu_hope_dt, b.strt_tm) AS rankNo,
i.foodExpense, /* 저장된 값이 있으면 0 이상 , 없으면 null */ i.foodExpense AS ifoodExpense, /* 저장된 값이 있으면 0 이상 , 없으면 null */
i.trafficFee, /* 저장된 값이 있으면 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 (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) AND (c.sbmt_yn != 'Y' or c.sbmt_yn is null)
</isEqual> </isEqual>
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
ORDER BY ORDER BY
1 b.edu_hope_dt desc, b.strt_tm ASC
, b.edu_chasi_ord
</select> </select>
<select id="VEEduMIXDAO.selectOprtnExcelList" parameterClass="VEEduAplctVO" resultClass="VEEduExcelVO"> <select id="VEEduMIXDAO.selectOprtnExcelList" parameterClass="VEEduAplctVO" resultClass="VEEduExcelVO">
@ -8358,7 +8365,7 @@ VALUES
</select> </select>
<select id="VEEduMIXDAO.selectExprnEndPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO"> <select id="VEEduMIXDAO.selectExprnEndPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
/* 임시.*NOT_SQL_LOG.* VEEduMIXDAO.selectPagingList */ /* 임시.*NOT_SQL_LOG.* VEEduMIXDAO.selectExprnEndPagingList */
SELECT SELECT
COUNT(1) OVER() AS totCnt COUNT(1) OVER() AS totCnt
, ROWNUM AS rowNo , ROWNUM AS rowNo