2023-12-06 11:47 성인 관리자 수정

This commit is contained in:
myname 2023-12-06 11:47:26 +09:00
parent 4a52155433
commit 927ee4809d
9 changed files with 573 additions and 37 deletions

View File

@ -65,44 +65,53 @@ public class VeInstrFeeMng {
// 거리비교 200Km 이상 : 40000원, 100Km 이상 : 30000원, 12Km 이상 : 20000원, 1Km 이상 10000원
int dstnc = (Integer.parseInt(vEInstrFeeAcmdtVO.getOnewayDstnc()) * 2);
String[] scholArea = vEInstrFeeAcmdtVO.getScholArea().split(" ");
String[] instrRsdnc = vEInstrFeeAcmdtVO.getInstrRsdnc().split(" ");
System.out.println("학교 : "+scholArea[0]+" "+scholArea[1]+" _강사 :"+instrRsdnc[0]+" "+instrRsdnc[1]+" _거리 :" + dstnc);
/*
강원도,경기도,경상북도,경상남도,충청북도,충청남도,전라북도,전라남도,제주특별자치도
광주광역시,대구광역시,대전광역시,부산광역시,서울특별시,세종특별자치시,울산광역시,인천광역시
*/
String passCityList = "강원도,경기도,경상북도,경상남도,충청북도,충청남도,전라북도,전라남도,제주특별자치도";
String[] passCityArray = passCityList.split(",");
// 주소 앞자리 비교
boolean passCity = true;
if(scholArea[0].contains(instrRsdnc[0])){
try {
String[] scholArea = vEInstrFeeAcmdtVO.getScholArea().split(" ");
String[] instrRsdnc = vEInstrFeeAcmdtVO.getInstrRsdnc().split(" ");
for(int i=0; i < passCityArray.length; i++) {
if(passCityArray[i].equals(scholArea[0])) {
if(!scholArea[1].equals(instrRsdnc[1])){
System.out.println("타지역 ");
passCity = false;
break;
}else {
System.out.println("거주지");
break;
System.out.println("학교 : "+scholArea[0]+" "+scholArea[1]+" _강사 :"+instrRsdnc[0]+" "+instrRsdnc[1]+" _거리 :" + dstnc);
/*
강원도,경기도,경상북도,경상남도,충청북도,충청남도,전라북도,전라남도,제주특별자치도
광주광역시,대구광역시,대전광역시,부산광역시,서울특별시,세종특별자치시,울산광역시,인천광역시
*/
// 주소 앞자리 비교
passCity = true;
if(scholArea[0].contains(instrRsdnc[0])){
for(int i=0; i < passCityArray.length; i++) {
if(passCityArray[i].equals(scholArea[0])) {
if(!scholArea[1].equals(instrRsdnc[1])){
System.out.println("타지역 ");
passCity = false;
break;
}else {
System.out.println("거주지");
break;
}
}
}
}
}else{
// 다르면
passCity = false;
}else{
// 다르면
passCity = false;
}
}catch(Exception ex) {
System.out.println(ex.getMessage());
}
// 장거리교육수당 확인(거주지 : 10000)
if(passCity || dstnc < 12){ // 거주지 인경우
System.out.println("거주지");

View File

@ -188,6 +188,9 @@ public class EduAsgnmCnfrmMngAdultController {
vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo);
vEEduAplctVO.setNotiUserId(user.getUniqId());
vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString());
vEEduAplctVO.setSearchAsgnmAprvlCd("30"); //교육배치확정 대상은 강사가 배정확정되어야 한다.
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectAdultPagingList(vEEduAplctVO);
//이름 복호화
VEEduAplctVO vo = new VEEduAplctVO();

View File

@ -36,8 +36,11 @@ 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.cmm.VeInstrFeeMng;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
@ -152,6 +155,10 @@ public class EduRsltMngAdultController {
@Resource(name = "qustnrCommonUtil")
private QustnrCommonUtil qustnrCommonUtil;
// 강사료
@Resource(name = "vEInstrFeeService")
private VEInstrFeeService vEInstrFeeService;
/**
* 교육결과관리 목록 화면
*/
@ -186,6 +193,7 @@ public class EduRsltMngAdultController {
vEEduAplctVO.setAprvlCd("60");
vEEduAplctVO.setNotiUserId(user.getUniqId());
vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString());
vEEduAplctVO.setSearchAsgnmAprvlCd("30"); //결과관리는 강사배정확정된 경우만
vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
@ -428,6 +436,82 @@ public class EduRsltMngAdultController {
return "oprtn/adultVisitEdu/popup/eduRsltMngDetailRfslSecurityPopup";
}
/**
* 강사료 확정 처리 목록 화면
*/
@RequestMapping("eduInstrFeeMngList.do")
public String eduInstrFeeMngList(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, ModelMap model
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
//String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
//if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리====================================
try {
//담당자 검색 이름 암호화
if("2".equals(vEEduAplctVO.getSearchCondition())) {
vEEduAplctVO.setSearchKeyword(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword()));
}
model.addAttribute("cryptoUtil", egovCryptoUtil);
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO);
//2. pageing step2
vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo);
//vEEduAplctVO.setLctrDivCd("30"); // 저작권 체험교실 코드
vEEduAplctVO.setInstrDiv("20"); // 성인교육 코드
vEEduAplctVO.setLctrDivCd("20"); // 성인교육 코드
vEEduAplctVO.setAprvlCd("60");
vEEduAplctVO.setAsgnmAprvlCd("30"); //강사배정 교육승인
// vEEduAplctVO.setSearchSubmitYn("Y"); //제출에 대한 강사료 확정 여부
vEEduAplctVO.setSearchAsgnmAprvlCd("30");
vEEduAplctVO.setSearchTableJoin("tngrResult");
System.out.println("11111111111111113");
vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
List<VEEduAplctVO> 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.VeInstrFeeMng(vEInstrFeeService, vEEduAplctVOList.get(i).getEduAplctOrd(), vEEduAplctVOList.get(i).getEduChasiOrd());
vEEduAplctVOList.get(i).setInstrFeeSum(Integer.toString(vEInstrFeeAcmdtVO.getInstrFeeSum()));
}
System.out.println("11111111111111112");
//3.pageing step3
paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEEduAplctVOList);
System.out.println("1111111111111111");
//대상 리스트, 페이징 정보 전달
//model.addAttribute("resultList", vEEduAplctVOList);
}catch(Exception ex) {
ex.printStackTrace();
}
return "oprtn/adultVisitEdu/eduInstrFeeMngList";
}
@SuppressWarnings("rawtypes")
@RequestMapping(value = "eduRsltSrvyExcelDownLoad.do")

View File

@ -205,7 +205,7 @@ public class EduAsgnmCnfrmMngTngrController {
vEEduAplctVO.setNotiUserId(user.getUniqId());
vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString());
vEEduAplctVO.setSearchAsgnmAprvlCd("30");
vEEduAplctVO.setSearchAsgnmAprvlCd("30"); //교육배치확정 대상은 강사가 배정확정되어야 한다.
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
//이름 복호화

View File

@ -213,7 +213,7 @@ public class EduRsltMngTngrController {
vEEduAplctVO.setAprvlCd("60");
vEEduAplctVO.setNotiUserId(user.getUniqId());
vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString());
vEEduAplctVO.setSearchAsgnmAprvlCd("30");
vEEduAplctVO.setSearchAsgnmAprvlCd("30"); //결과관리는 강사배정확정된 경우만
vEEduAplctVO.setSearchTableJoin("tngrResult");

View File

@ -1910,6 +1910,16 @@
<isNotEmpty property="lctrDivCd">
AND A.LCTR_DIV_CD = #lctrDivCd#
</isNotEmpty>
<isNotEmpty property="searchAsgnmAprvlCd">
<isEqual property="searchAsgnmAprvlCd" compareValue="90">
AND DD.asgnm_aprvl_cd is null
</isEqual>
<isNotEqual property="searchAsgnmAprvlCd" compareValue="90">
AND DD.asgnm_aprvl_cd = #searchAsgnmAprvlCd#
</isNotEqual>
</isNotEmpty>
<isNotEmpty property="aprvlCd">
AND A.APRVL_CD=#aprvlCd#
</isNotEmpty>
@ -2228,6 +2238,15 @@
AND a.edu_aplct_ord=b.edu_aplct_ord
AND a.lctr_div_cd=#instrDiv#
<isNotEmpty property="searchAsgnmAprvlCd">
<isEqual property="searchAsgnmAprvlCd" compareValue="90">
AND DD.asgnm_aprvl_cd is null
</isEqual>
<isNotEqual property="searchAsgnmAprvlCd" compareValue="90">
AND DD.asgnm_aprvl_cd = #searchAsgnmAprvlCd#
</isNotEqual>
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>

View File

@ -204,9 +204,24 @@
</c:otherwise>
</c:choose>
</td>
<td>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
<td>
<c:choose>
<c:when test="${fn:length(list.strtTm) eq 4}">
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
</c:when>
<c:otherwise>
${list.strtTm}
</c:otherwise>
</c:choose>
~
<c:choose>
<c:when test="${fn:length(list.endTm) eq 4}">
<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
</c:when>
<c:otherwise>
${list.strtTm}
</c:otherwise>
</c:choose>
(<c:out value="${list.lrnTm}"/>분)
</td>
<td>

View File

@ -0,0 +1,391 @@
<!DOCTYPE html>
<%@ 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="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<%
/**
* @Class Name : eduInstrFeeMngList.jsp
* @Description : 강사료 확정 관리 > 강사료 확정 목록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2022.12.7 안주영 최초 생성
* @author 안주영
* @since 2022.2.7
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
input:read-only{
background-color: #ededed;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
});
function press(event) {
if (event.keyCode==13) {
fncGoList();
}
}
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.searchCondition.value = $('#searchCondition').val();
listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/eduInstrFeeMngList.do'/>";
listForm.submit();
}
function chkAll(thisObj){
$("input[name=chk]").prop("checked" , $(thisObj).is(":checked"));
}
//강사료 팝업
function fncInstrCostInfo(eduAplctOrd,eduChasiOrd) {
document.popForm.eduAplctOrd.value = eduAplctOrd;
document.popForm.eduChasiOrd.value = eduChasiOrd;
document.popForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/popup/instrCostPopup.do'/>";
window.open("", "_instrCostPop", "scrollbars = no, top=100px, left=100px, height=750px, width=750px");
document.popForm.target = "_instrCostPop";
document.popForm.submit();
}
// 강사료 확정
function fnInstrFeeCnfrm() {
var chkLen = $(listForm).find("input[name=chk]:checked").length;
if(chkLen == 0){
alert("선택된 항목이 없습니다.");
return;
}
/*
var fnExit = false;
$('input:checkbox[name="chk"]:checked').each(function() {
if($(this).attr("class") == null || $(this).attr("class") == '') {
alert("선택한 목록 중 패널티 등록이 불가능한 건이 있습니다.");
fnExit = true;
}
});
//체크한 리스트 중 해당 상태에 실행 불가능한 건이 있는지 체크 후, 존재 시 함수 종료
if(fnExit) return false;
*/
$("#sbmtYn").val("Y");
var data1 = new FormData(document.getElementById("listForm"));
if(confirm("선택한 목록의 강사료를 확정하시겠습니까?")){
$.ajax({
type:"POST",
url: "${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/eduInstrFeeCnfrmAjax.do",
data: data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == 'success'){
alert("처리 되었습니다.");
location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
//숙박영수증 첨부파일 일괄 다운로드(zip) - 파일ID 다름, SN 동일 : type A
function fnAcmdtFileZipDownload(){
var frm = document.listForm;
var checkboxId = Array();
var checkboxSn = Array();
var checkboxCnt = 0;
var checkbox_check = false;
var checkbox_index = false;
$('input:checkbox[name="chk"]').each(function(){
if($(this).is(":checked")){
checkbox_check = true;
if($(this).attr("class") != ""){
checkboxId[checkboxCnt] = $(this).attr("class");
checkboxSn[checkboxCnt] = "0"
checkboxCnt++;
checkbox_index = true;
}
}
});
if(!checkbox_check){
alert("선택된 항목이 없습니다.");
return false;
}else if(!checkbox_index){
alert("다운로드할 영수증이 없습니다.");
return false;
}
frm.orgnZipNm.value="숙박영수증.zip";
frm.downloadType.value="A";
frm.action="${pageContext.request.contextPath}/cmm/fms/fileDownZip.do?atchFileId="+checkboxId+"&fileSn="+checkboxSn;
frm.submit();
}
function excelDownLoad(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduInstrFeeExcelDownLoad.do'/>";
listForm.submit();
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
if($(this).prop('tagName') == 'SELECT'){
if($(this).attr('name').indexOf('Month') != -1){
$(this).val(new Date().getMonth()+1);
}else if($(this).attr('name').indexOf('Year') != -1){
$(this).val(new Date().getFullYear());
}else{
$(this).prop("selectedIndex", 0);
}
}else{
$(this).val('');
}
});
}
</script>
<title>신청관리</title>
</head>
<body>
<form id="popForm" name="popForm" method="post">
<input type="hidden" name="eduAplctOrd" value=""/>
<input type="hidden" name="eduChasiOrd" value=""/>
</form>
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" value="" />
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
<input type="hidden" name="orgnZipNm" value="" />
<input type="hidden" name="downloadType" value="" />
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>강사료 확정 처리 목록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>청소년 찾아가는 저작권 교육</p>
</li>
<li><span class="cur_nav">강사료 확정 관리</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_top -->
<div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>구분</p>
</div>
<div class="util_right">
<ve:select codeId="VE0012" name="searchInsttDivCd" id="searchInsttDivCd" styleClass="sel_type1" selectedValue="${vEEduAplctVO.searchInsttDivCd}" defaultValue="" defaultText='전체'/>
<ve:select codeId="VE0007" name="searchEduSlctCd" id="searchEduSlctCd" styleClass="sel_type1" selectedValue="${vEEduAplctVO.searchEduSlctCd}" defaultValue="" defaultText='전체'/>
</div>
</div>
<div class="list_top_2">
<div class="util_left">
<p>교육일자</p>
</div>
<div class="util_right">
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchStartDt" name="searchStartDt" value="<c:out value='${vEEduAplctVO.searchStartDt}'/>">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="searchEndDt" name="searchEndDt" value="<c:out value='${vEEduAplctVO.searchEndDt}'/>">
</div>
<select class="sel_type1" name="searchCondition" id="searchCondition">
<option value="4" ${vEEduAplctVO.searchCondition eq '4' ? 'selected' : '' }>기관(단체)명</option>
<option value="2" ${vEEduAplctVO.searchCondition eq '2' ? 'selected' : '' }>강사이름</option>
</select>
<input type="text" id=searchKeyword name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${cryptoUtil.decrypt(vEEduAplctVO.searchKeyword)}'/>" onkeyDown="press(event);">
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
</div>
</div>
</div>
<!-- //list_top -->
<!-- list util -->
<div class="list_util">
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
<div>
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
<option value='10' <c:if test="${vEEduAplctVO.pageUnit == '10' or vEEduAplctVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${vEEduAplctVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${vEEduAplctVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${vEEduAplctVO.pageUnit == '100'}">selected</c:if>>100줄</option>
</select>
</div>
</div>
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 5%;">
<col style="width: 10%;">
<col style="width: 14%;">
<col style="width: 8%;">
<col style="width: 10%;">
<col style="width: auto">
<col style="width: 9%;">
<col style="width: 9%;">
<col style="width: 8%;">
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
<th>교육일자</th>
<th>차시</th>
<th>기관구분</th>
<th>신청유형</th>
<th>기관(단체)명</th>
<th>강사이름</th>
<th>강사료</th>
<th>확정여부</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td>
<input name="chk" class="${list.atchFileId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" title="Check" type="checkbox"/>
</td>
<!--
<td>
<c:if test="${list.cnt eq 0}">미제출</c:if><c:if test="${list.cnt gt 0}">제출</c:if>
</td>
-->
<td>
${list.eduHopeDt}
<%-- <fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/> --%>
<%-- <fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/> --%>
</td>
<td>
<c:choose>
<c:when test="${fn:length(list.strtTm) eq 4}">
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
</c:when>
<c:otherwise>
${list.strtTm}
</c:otherwise>
</c:choose>
~
<c:choose>
<c:when test="${fn:length(list.endTm) eq 4}">
<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
</c:when>
<c:otherwise>
${list.strtTm}
</c:otherwise>
</c:choose>
(<c:out value="${list.lrnTm}"/>분)
</td>
<td>
<ve:code codeId="VE0012" code="${list.insttDivCd}"/>
</td>
<td>
<ve:code codeId="VE0007" code="${list.eduSlctCd}"/>
</td>
<td>
<c:out value="${list.insttNm}"/>
</td>
<td>
<c:out value="${list.instrNm}"/>
<c:if test="${list.instrNm ne null}">
<br/>(${fn:split(list.userId,'_')[1]*1})
</c:if>
</td>
<td>
<a href="#none" style="font-weight: 600; text-decoration-line: underline;"
onclick="fncInstrCostInfo('<c:out value="${list.eduAplctOrd}" />','<c:out value="${list.eduChasiOrd}" />'); return false;">
<fmt:formatNumber value="${list.instrFeeSum}" pattern="#,###"/>
</a>
</td>
<td>
<c:if test="${list.feeSbmtYn eq 'Y'}">확정</c:if>
<c:if test="${list.feeSbmtYn ne 'Y'}">미확정</c:if>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="9"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<!-- //page -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<!-- <button type="button" class="btn_type06" onclick="fnAcmdtFileZipDownload(); return false;">숙박영수증다운로드</button> -->
<button type="button" class="btn_type06" onclick="excelDownLoad();">지급내역다운로드</button>
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type04" onclick="fnInstrFeeCnfrm(); return false;">강사료 확정</button>
</div>
</div>
</div>
</div>
</div>
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -296,7 +296,7 @@
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
<th>교육결과</th>
<th>차시</th>
<th>교육일자</th>
<th>차시</th>
<th>학교구분</th>
<th>지역</th>
@ -321,9 +321,24 @@
<%-- <fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/> --%>
</td>
<td>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value="${list.lrnTm}"/>분)
<c:choose>
<c:when test="${fn:length(list.strtTm) eq 4}">
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
</c:when>
<c:otherwise>
${list.strtTm}
</c:otherwise>
</c:choose>
~
<c:choose>
<c:when test="${fn:length(list.endTm) eq 4}">
<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
</c:when>
<c:otherwise>
${list.strtTm}
</c:otherwise>
</c:choose>
(<c:out value="${list.lrnTm}"/>분)
</td>
<td>
<ve:code codeId="VE0009" code="${list.scholDivCd}"/>