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 {
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<VEInstrFeeAcmdtVO> 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())){

View File

@ -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;
}
}

View File

@ -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<VEEduAplctVO> 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<VEEduExcelVO> list = vEEduMIXService.selectExcelList(vEEduAplctVO);
//list = egovCryptoUtil.decryptVEEduExcelVOList(list);
@ -893,6 +906,8 @@ public class EduAsgnmCnfrmMngTngrController {
// 강사 식비와 장거리교육수당을 위한 빈값 체크
List<VEEduExcelVO> dataList = list; // 가정한 메소드: 실제 데이터를 로드
/*
// ketSet에 대해 기존 (0이 아닌 ) 있는지 체크
// 식대
Map<String, Boolean> 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())) {

View File

@ -1636,10 +1636,13 @@
/*
ORDER BY 1=1
*/
ORDER BY 1
ORDER BY
<isNotEmpty property="orderByQuery">
, $orderByQuery$
$orderByQuery$
</isNotEmpty>
<isEmpty property="orderByQuery">
1
</isEmpty>
<isNotEqual property="mode" compareValue="EXCEL">
/*
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)
</isEqual>
</isNotEmpty>
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
ORDER BY
1
, b.edu_chasi_ord
b.edu_hope_dt desc, b.strt_tm ASC
</select>
<select id="VEEduMIXDAO.selectOprtnExcelList" parameterClass="VEEduAplctVO" resultClass="VEEduExcelVO">
@ -8358,7 +8365,7 @@ VALUES
</select>
<select id="VEEduMIXDAO.selectExprnEndPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
/* 임시.*NOT_SQL_LOG.* VEEduMIXDAO.selectPagingList */
/* 임시.*NOT_SQL_LOG.* VEEduMIXDAO.selectExprnEndPagingList */
SELECT
COUNT(1) OVER() AS totCnt
, ROWNUM AS rowNo