#3779 [관리자] EXCEL 청소년 > 교육배치확정관리 완료
This commit is contained in:
parent
341d6578c9
commit
d73f7e79c1
@ -1,8 +1,10 @@
|
||||
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;
|
||||
@ -858,6 +860,7 @@ public class EduAsgnmCnfrmMngTngrController {
|
||||
//list = egovCryptoUtil.decryptVEEduExcelVOList(list);
|
||||
|
||||
// 복호화
|
||||
System.out.println("list.size() :: "+ list.size());
|
||||
VEEduExcelVO vVo = new VEEduExcelVO();
|
||||
for(int i=0; i < list.size(); i++) {
|
||||
vVo = egovCryptoUtil.decryptVEEduExcelVOInfo(list.get(i));
|
||||
@ -886,6 +889,38 @@ public class EduAsgnmCnfrmMngTngrController {
|
||||
|
||||
System.out.println("out-list-1");
|
||||
|
||||
|
||||
|
||||
// 강사 식비와 장거리교육수당을 위한 빈값 체크
|
||||
List<VEEduExcelVO> dataList = list; // 가정한 메소드: 실제 데이터를 로드
|
||||
// 각 ketSet에 대해 기존 값(0이 아닌 값)이 있는지 체크
|
||||
// 식대
|
||||
Map<String, Boolean> foodChkMap = new HashMap<>();
|
||||
// 식대
|
||||
Map<String, Boolean> distanceChkMap = new HashMap<>();
|
||||
|
||||
// hylee
|
||||
// 20240329
|
||||
// 식대 체크 체크
|
||||
for (VEEduExcelVO row : dataList) {
|
||||
String ketSet = row.getEduHopeDt() + row.getEduAplctOrd();
|
||||
// 기존 값을 체크
|
||||
if (!"0".equals(row.getFoodExpenses())) {
|
||||
foodChkMap.put(ketSet, true);
|
||||
}
|
||||
}
|
||||
|
||||
// hylee
|
||||
// 20240329
|
||||
// 장거리 교육수당 체크
|
||||
for (VEEduExcelVO row : dataList) {
|
||||
String ketSet = row.getEduHopeDt() + row.getEduAplctOrd();
|
||||
// 기존 값을 체크
|
||||
if (!"0".equals(row.getDistanceAllow())) {
|
||||
distanceChkMap.put(ketSet, true);
|
||||
}
|
||||
}
|
||||
|
||||
list.forEach( vo -> {
|
||||
/*
|
||||
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
|
||||
@ -958,24 +993,50 @@ public class EduAsgnmCnfrmMngTngrController {
|
||||
VeInstrFeeMng veInstrFeeMng = new VeInstrFeeMng();
|
||||
VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = veInstrFeeMng.VeInstrFeeMng(vEInstrFeeService, vo.getEduAplctOrd(), vo.getEduChasiOrd());
|
||||
|
||||
// 식비
|
||||
vo.setFoodExpenses(vEInstrFeeAcmdtVO.getFoodExpenses());
|
||||
|
||||
String ketSet = vo.getEduHopeDt() + vo.getEduAplctOrd();
|
||||
|
||||
// hylee
|
||||
// 20240329 기존 vEInstrFeeAcmdtVO 무시(공통이라 무시하고 값을 새로 구함)
|
||||
// before
|
||||
// vo.setFoodExpenses(vEInstrFeeAcmdtVO.getFoodExpenses());
|
||||
// after
|
||||
if (!foodChkMap.getOrDefault(ketSet, false)) {
|
||||
// 식대
|
||||
vo.setFoodExpenses("7000");
|
||||
foodChkMap.put(ketSet, true);
|
||||
}
|
||||
|
||||
|
||||
// 강사료 계산 (강의차시 * 강사 기본값)
|
||||
vo.setInstrFee(vEInstrFeeAcmdtVO.getInstrFee());
|
||||
|
||||
// 도서벽지수당 계산
|
||||
vo.setSpecialWorkAllow(vEInstrFeeAcmdtVO.getSpecialWorkAllow());
|
||||
|
||||
// 장거리교육수당
|
||||
vo.setDistanceAllow(vEInstrFeeAcmdtVO.getDistanceAllow());
|
||||
|
||||
// hylee
|
||||
// 장거리교육수당 20240329
|
||||
// if("20".equals(vo.getEduSlctCd())) 아래 수정해서 추가
|
||||
// before
|
||||
// vo.setDistanceAllow(vEInstrFeeAcmdtVO.getDistanceAllow());
|
||||
|
||||
// 온라인 여부 확인(10:온라인, 20:오프라인)
|
||||
if("20".equals(vo.getEduSlctCd())) {
|
||||
//강사료 부분
|
||||
// onewayDstnc 편도
|
||||
// KmRoundTrip 왕복
|
||||
int kmRoundTrip = (Integer.parseInt(vo.getOnewayDstnc()) * 2);
|
||||
vo.setKmOneWay(vo.getOnewayDstnc()+"Km"); // Km편도
|
||||
vo.setKmRoundTrip(Integer.toString(kmRoundTrip)+"Km"); // Km왕복
|
||||
|
||||
// hylee
|
||||
// 20240329 기존 vEInstrFeeAcmdtVO 무시(공통이라 무시하고 값을 새로 구함)
|
||||
// after
|
||||
if (!distanceChkMap.getOrDefault(ketSet, false)) {
|
||||
// 장거리교육수당
|
||||
vo.setDistanceAllow(this.distanceAllowCal(kmRoundTrip));
|
||||
distanceChkMap.put(ketSet, true);
|
||||
}
|
||||
|
||||
}else if("10".equals(vo.getEduSlctCd())) {
|
||||
vo.setKmOneWay("0"); // 편도 거리
|
||||
@ -1095,6 +1156,28 @@ public class EduAsgnmCnfrmMngTngrController {
|
||||
modelAndView.addObject(model);
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
// km 왕복 KmRoundTrip
|
||||
// 장거리 교육 수당 DistanceAllow
|
||||
// 200Km 이상 : 40,000원 / 100Km 이상 : 30,000원
|
||||
// 12Km 이상 : 20,000원 / 1Km 이상 10,000원
|
||||
// 장거리 교육수당 계산
|
||||
public String distanceAllowCal(int kmRoundTrip) {
|
||||
String distanceAllow= null;
|
||||
if(0 == kmRoundTrip) {
|
||||
distanceAllow = "0";
|
||||
}else if(1<=kmRoundTrip && kmRoundTrip < 12) {
|
||||
distanceAllow = "10000";
|
||||
}else if(12<=kmRoundTrip && kmRoundTrip < 100) {
|
||||
distanceAllow = "20000";
|
||||
}else if(100<=kmRoundTrip && kmRoundTrip < 200) {
|
||||
distanceAllow = "30000";
|
||||
}else {// 200 이상
|
||||
distanceAllow = "40000";
|
||||
}
|
||||
return distanceAllow;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 월별 강사 배정시간 목록 화면
|
||||
|
||||
Loading…
Reference in New Issue
Block a user