이지우 - 일반사용자 청소년 교육 상세에 필요양식 추가, 사용자 기반강화 상세 작업 중
This commit is contained in:
parent
d1308abfd6
commit
c2fa56c3cc
@ -37,6 +37,7 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
|||||||
// 파일 등록 후 리턴 메세지 jsp에서 넘겨줌
|
// 파일 등록 후 리턴 메세지 jsp에서 넘겨줌
|
||||||
public String successMsg = "";
|
public String successMsg = "";
|
||||||
public String eduAplctOrd = "";
|
public String eduAplctOrd = "";
|
||||||
|
public String prcsAplctPrdOrd = ""; //기반강화 강의계획서용
|
||||||
|
|
||||||
// 컨트롤 엘리먼트 ID - 멀티 업로드 시 jsp에서 사용하는 el 값
|
// 컨트롤 엘리먼트 ID - 멀티 업로드 시 jsp에서 사용하는 el 값
|
||||||
public String controlId = "";
|
public String controlId = "";
|
||||||
@ -131,6 +132,14 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
|||||||
this.trgtPrsnlReal = trgtPrsnlReal;
|
this.trgtPrsnlReal = trgtPrsnlReal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getPrcsAplctPrdOrd() {
|
||||||
|
return prcsAplctPrdOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
|
||||||
|
this.prcsAplctPrdOrd = prcsAplctPrdOrd;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -31,4 +31,7 @@ public interface InnorixFileService {
|
|||||||
|
|
||||||
RestResponse updateRprtInnorixFile(AdrInnorixFileVO adrInnorixFileVO);
|
RestResponse updateRprtInnorixFile(AdrInnorixFileVO adrInnorixFileVO);
|
||||||
|
|
||||||
|
//기반강화 강의계획서 저장
|
||||||
|
RestResponse insertInnorixLctrPlanFile(AdrInnorixFileVO adrInnorixFileVO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,6 +30,8 @@ import kcc.let.utl.fcc.service.EgovStringUtil;
|
|||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Class Name : EgovCmmUseServiceImpl.java
|
* @Class Name : EgovCmmUseServiceImpl.java
|
||||||
@ -72,6 +74,10 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
|
|||||||
//교육과정신청
|
//교육과정신청
|
||||||
@Resource(name = "vEEduMIXService")
|
@Resource(name = "vEEduMIXService")
|
||||||
private VEEduMIXService vEEduMIXService;
|
private VEEduMIXService vEEduMIXService;
|
||||||
|
|
||||||
|
//과정차시 관리
|
||||||
|
@Resource(name = "vEAPrcsAplctPrdInstrAsgnmService")
|
||||||
|
private VEAPrcsAplctPrdInstrAsgnmService vEAPrcsAplctPrdInstrAsgnmService;
|
||||||
/**
|
/**
|
||||||
* @methodName : fileDataUpload
|
* @methodName : fileDataUpload
|
||||||
* @author : 이호영
|
* @author : 이호영
|
||||||
@ -366,4 +372,33 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
|
|||||||
|
|
||||||
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
|
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RestResponse insertInnorixLctrPlanFile(AdrInnorixFileVO adrInnorixFileVO) {
|
||||||
|
|
||||||
|
List<FileVO> result = null;
|
||||||
|
try {
|
||||||
|
// 파일 저장 후 저장할 file 정보를 받아옴
|
||||||
|
result = this.insertFileData(adrInnorixFileVO);
|
||||||
|
|
||||||
|
// 파일 정보 insert
|
||||||
|
String atchFileId = fileManageDAO.insertFileInfs(result);
|
||||||
|
|
||||||
|
|
||||||
|
VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO = new VEAPrcsAplctPrdInstrAsgnmVO();
|
||||||
|
vEAPrcsAplctPrdInstrAsgnmVO.setLctrPlanAtchFileId(atchFileId);
|
||||||
|
|
||||||
|
vEAPrcsAplctPrdInstrAsgnmVO.setLastUpdusrId(adrInnorixFileVO.getUniqId());
|
||||||
|
vEAPrcsAplctPrdInstrAsgnmVO.setPrcsAplctPrdOrd(adrInnorixFileVO.getPrcsAplctPrdOrd());
|
||||||
|
|
||||||
|
//저장
|
||||||
|
vEAPrcsAplctPrdInstrAsgnmService.updatLctrPlanAtchFileId(vEAPrcsAplctPrdInstrAsgnmVO);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
|
||||||
|
}
|
||||||
|
|
||||||
|
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -136,4 +136,27 @@ public class InnorixFileController {
|
|||||||
return ResponseEntity.ok(innorixService.updateRprtInnorixFile(adrInnorixFileVO));
|
return ResponseEntity.ok(innorixService.updateRprtInnorixFile(adrInnorixFileVO));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @methodName : insertInnorixFile
|
||||||
|
* @author : 이호영
|
||||||
|
* @date : 2023.07.20
|
||||||
|
* @description : 파일 insert 전용
|
||||||
|
* @param adrInnorixFileVO
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = {"/web/common/insertInnorixLctrPlanFileAjax.do"}, method = RequestMethod.POST)
|
||||||
|
public ResponseEntity<RestResponse> insertInnorixLctrPlanFile(@RequestBody AdrInnorixFileVO adrInnorixFileVO) throws Exception {
|
||||||
|
|
||||||
|
//로그인 권한정보 불러오기
|
||||||
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
|
||||||
|
|
||||||
|
if(userId.equals("")) {
|
||||||
|
return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now()));
|
||||||
|
}
|
||||||
|
adrInnorixFileVO.setUniqId(userId);
|
||||||
|
|
||||||
|
return ResponseEntity.ok(innorixService.insertInnorixLctrPlanFile(adrInnorixFileVO));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -113,6 +113,7 @@ public class VEFndtnAsgnmController {
|
|||||||
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
|
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
|
||||||
vEPrcsDetailVO.setInstrDiv("20");
|
vEPrcsDetailVO.setInstrDiv("20");
|
||||||
vEPrcsDetailVO.setAprvlCd("20");
|
vEPrcsDetailVO.setAprvlCd("20");
|
||||||
|
vEPrcsDetailVO.setLctrDivCd("50"); //기반강화50. 기소유예 60
|
||||||
vEPrcsDetailVO.setSearchDiv("ING"); // 강의내역 END 종료내역
|
vEPrcsDetailVO.setSearchDiv("ING"); // 강의내역 END 종료내역
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -148,6 +148,8 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
|
|||||||
|
|
||||||
private String eduPlace; //교육장소
|
private String eduPlace; //교육장소
|
||||||
|
|
||||||
|
private String prcsAplctPrdOrd; //과정신청기간순번
|
||||||
|
|
||||||
|
|
||||||
public String getMemoCn() {
|
public String getMemoCn() {
|
||||||
return memoCn;
|
return memoCn;
|
||||||
@ -734,6 +736,12 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
|
|||||||
public String getPnltyOrd() {
|
public String getPnltyOrd() {
|
||||||
return pnltyOrd;
|
return pnltyOrd;
|
||||||
}
|
}
|
||||||
|
public String getPrcsAplctPrdOrd() {
|
||||||
|
return prcsAplctPrdOrd;
|
||||||
|
}
|
||||||
|
public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
|
||||||
|
this.prcsAplctPrdOrd = prcsAplctPrdOrd;
|
||||||
|
}
|
||||||
public void setPnltyOrd(String pnltyOrd) {
|
public void setPnltyOrd(String pnltyOrd) {
|
||||||
this.pnltyOrd = pnltyOrd;
|
this.pnltyOrd = pnltyOrd;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,8 +2,6 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
|
||||||
|
|
||||||
public interface VEAPrcsAplctPrdInstrAsgnmService {
|
public interface VEAPrcsAplctPrdInstrAsgnmService {
|
||||||
|
|
||||||
void instrInsert(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO);
|
void instrInsert(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO);
|
||||||
@ -19,4 +17,6 @@ public interface VEAPrcsAplctPrdInstrAsgnmService {
|
|||||||
void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO);
|
void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO);
|
||||||
|
|
||||||
void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO);
|
void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO);
|
||||||
|
|
||||||
|
void updatLctrPlanAtchFileId(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -41,6 +41,11 @@ public class VEAPrcsAplctPrdInstrAsgnmDAO extends EgovAbstractDAO {
|
|||||||
public void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO) {
|
public void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||||
update("VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax", vEPrcsDetailVO);
|
update("VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax", vEPrcsDetailVO);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updatLctrPlanAtchFileId(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO) {
|
||||||
|
update("VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId", vEAPrcsAplctPrdInstrAsgnmVO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,4 +64,10 @@ public class VEAPrcsAplctPrdInstrAsgnmServiceImpl implements VEAPrcsAplctPrdInst
|
|||||||
vEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax(vEPrcsDetailVO);
|
vEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax(vEPrcsDetailVO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updatLctrPlanAtchFileId(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO) {
|
||||||
|
vEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId(vEAPrcsAplctPrdInstrAsgnmVO);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4904,12 +4904,12 @@
|
|||||||
vpap.prcs_aplct_prd_ord = a.prcs_aplct_prd_ord
|
vpap.prcs_aplct_prd_ord = a.prcs_aplct_prd_ord
|
||||||
LEFT JOIN ve_prcs vp ON
|
LEFT JOIN ve_prcs vp ON
|
||||||
vp.prcs_ord = vpap.prcs_ord
|
vp.prcs_ord = vpap.prcs_ord
|
||||||
WHERE
|
WHERE
|
||||||
1 = 1
|
1 = 1
|
||||||
AND vid.aprvl_cd = #aprvlCd# /* 강의 승인 20 */
|
AND vid.aprvl_cd = #aprvlCd# /* 강의 승인 20 */
|
||||||
AND vid.instr_div = #instrDiv# /* 성인 20 */
|
AND vid.instr_div = #instrDiv# /* 성인 20 */
|
||||||
AND vid.use_yn = 'Y'
|
AND vid.use_yn = 'Y'
|
||||||
|
AND vpap.lctr_div_cd = #lctrDivCd#
|
||||||
/*진행 중 : 진행 예정*/
|
/*진행 중 : 진행 예정*/
|
||||||
<isEqual property="searchDiv" compareValue="ING">
|
<isEqual property="searchDiv" compareValue="ING">
|
||||||
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(vpap.edu_ddln_pnttm, '.' , '')
|
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(vpap.edu_ddln_pnttm, '.' , '')
|
||||||
|
|||||||
@ -158,7 +158,16 @@
|
|||||||
AND vid.use_yn ='Y'
|
AND vid.use_yn ='Y'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 강의계획서 update -->
|
||||||
|
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId" parameterClass="vEAPrcsAplctPrdInstrAsgnmVO">
|
||||||
|
/* VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId */
|
||||||
|
|
||||||
|
UPDATE VEA_PRCS_APLCT_PRD_INSTR_ASGNM
|
||||||
|
SET lctr_plan_atch_file_id = #lctrPlanAtchFileId#
|
||||||
|
, last_updusr_id = #lastUpdusrId#
|
||||||
|
, last_updt_pnttm = sysdate
|
||||||
|
WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd#
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -13,6 +13,9 @@
|
|||||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||||
|
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
|
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
|
||||||
|
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
|
||||||
|
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
|
||||||
<style>
|
<style>
|
||||||
input:disabled {
|
input:disabled {
|
||||||
background-color: #f9f9f9 !important;
|
background-color: #f9f9f9 !important;
|
||||||
@ -179,6 +182,16 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function filePopupLayer(type){
|
||||||
|
commonPopLayeropen(
|
||||||
|
"${pageContext.request.contextPath}/web/ve/comm/popup/fileUploadPop.do"
|
||||||
|
, 650
|
||||||
|
, 464
|
||||||
|
, {'eduAplctOrd' : '<c:out value='${info.eduAplctOrd}'/>','fileType' : type}
|
||||||
|
, "Y"
|
||||||
|
, "fileUploadPop"
|
||||||
|
);
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||||
@ -773,8 +786,64 @@
|
|||||||
</c:if>
|
</c:if>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<p style="color:gray;font-size:14px;padding-top:30px;">* 확정된 교육에 대한 변경은 위원회를 통해 진행 부탁드립니다.</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<c:set var="instrYn" value="N"/>
|
||||||
|
<c:forEach items="${chasiList}" var="list">
|
||||||
|
<c:if test="${not empty list.instrNm}">
|
||||||
|
<c:set var="instrYn" value="Y" />
|
||||||
|
</c:if>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${instrYn eq 'Y'}">
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<div class="tb_tit01_left">
|
||||||
|
<p>필요양식</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn_wrap"><input type="text" /> <button type="button" class="btnType05 data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">필요양식 업로드</button></div>
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<%-- <caption>교육차시 정보 교육희망일, 시간, 구분, 대상, 배정강사, 인원 을/를 제공하는 표</caption> --%>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 18%;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 11%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">파일</th>
|
||||||
|
<th scope="col">강사명</th>
|
||||||
|
<th scope="col">제출여부</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
범죄경력조회 동의서
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
청소년강사1
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
동의서.zip
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
범죄경력조회 동의서
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
청소년강사2
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
미제출
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p style="color:gray;font-size:14px;padding-top:30px;">* 확정된 교육에 대한 변경은 위원회를 통해 진행 부탁드립니다.</p>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
<div class="btn_wrap btn_layout01">
|
<div class="btn_wrap btn_layout01">
|
||||||
<div class="btn_left">
|
<div class="btn_left">
|
||||||
|
|||||||
@ -11,8 +11,20 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>강사프로필 목록</title>
|
<title>강사프로필 목록</title>
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
|
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
|
||||||
|
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
|
||||||
|
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
|
||||||
|
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
|
||||||
|
<style>
|
||||||
|
#lctrPlan{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
|
||||||
|
.innorix_basic div.irx_filetree.empty-uploader{background: url(/offeduadvc/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
|
||||||
|
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
|
||||||
|
</style>
|
||||||
<script type="text/javaScript" language="javascript">
|
<script type="text/javaScript" language="javascript">
|
||||||
|
//강의계획서 업로드
|
||||||
|
var control1 = new Object();
|
||||||
|
var urlBase = "<c:url value='/innorix/exam/'/>"
|
||||||
|
|
||||||
$( document ).ready(function() {
|
$( document ).ready(function() {
|
||||||
|
|
||||||
$(".btn_add_file").on('click', function(){
|
$(".btn_add_file").on('click', function(){
|
||||||
@ -31,6 +43,54 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//강의계획서 컨트롤 생성
|
||||||
|
control1 = innorix.create({
|
||||||
|
el : '#lctrPlan', // 컨트롤 출력 객체 ID
|
||||||
|
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
|
||||||
|
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=lctrPlan" />', // 업로드 URL
|
||||||
|
maxFileCount : 1, // 첨부가능 파일 전체 개수
|
||||||
|
width : 870, // 컨트롤 출력 너비(pixel)
|
||||||
|
height : 80, // 컨트롤 출력 높이(pixel)
|
||||||
|
allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"],
|
||||||
|
useContextMenu : 'false' //우클릭을 이용한 개별 업로드 방지
|
||||||
|
});
|
||||||
|
|
||||||
|
//파일 추가 이벤트
|
||||||
|
control1.on('afterAddFiles', function (p) {
|
||||||
|
$('.lctrPlan_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
|
||||||
|
$('.lctrPlan_totalfileCount').text(p.length);
|
||||||
|
});
|
||||||
|
//파일 삭제 이벤트
|
||||||
|
control1.on('removeFiles', function (p) {
|
||||||
|
$('.lctrPlan_totalfileSize').text('0MB') ;
|
||||||
|
$('.lctrPlan_totalfileCount').text('0');
|
||||||
|
if(control1Tmprr == 'Y'){
|
||||||
|
if(confirm("삭제하시겠습니까?")){
|
||||||
|
innorixDelRprtAtchFile(p[0].uniqueFileName, 'lctrPlan_rslt_atch_file_id')
|
||||||
|
control1Tmprr = 'N';
|
||||||
|
control1Chg = 'Y';
|
||||||
|
$("#control1DownBtn").css('display', 'none');
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//첨부파일 업로드 후속조치
|
||||||
|
control1.on('uploadComplete', function (p) {
|
||||||
|
/* fn_callBackInnorixInsert(p.files); */
|
||||||
|
var data = p.files;
|
||||||
|
var url = "<c:url value='/web/common/insertInnorixLctrPlanFileAjax.do' />";
|
||||||
|
var sendData = {
|
||||||
|
"prcsAplctPrdOrd": $('#prcsAplctPrdOrd').val()
|
||||||
|
, "innorixFileListVO": data
|
||||||
|
, "successMsg" : "제출 완료되었습니다."
|
||||||
|
}
|
||||||
|
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||||
|
{
|
||||||
|
alert("업로드 완료");
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@ -40,48 +100,20 @@
|
|||||||
detailForm.submit();
|
detailForm.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
function fncSave(){
|
function fileSave(){
|
||||||
//첨부파일 등록 처리
|
|
||||||
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
|
if(control1.getFileCount() == 0){
|
||||||
//var data = new FormData(form);
|
alert("강의계획서를 첨부해주세요.")
|
||||||
var data = new FormData(document.getElementById("detailForm"));
|
|
||||||
|
|
||||||
//첨부파일 등록 처리-step1
|
|
||||||
//if(!data.get("fileSize")){
|
|
||||||
if($('#tbody_fiielist tr').length*1<=0){
|
|
||||||
alert("첨부파일을 등록해 주세요");
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//첨부파일 등록 처리-step2
|
//upload.jsp에서 /app/doc/offedu/sht/로 다시 set. context-properties.xml에서 파일 경로도 /app/doc/offedu/sht/
|
||||||
_fileForm2.forEach(function(obj, idx) {
|
var postObj = new Object();
|
||||||
if (obj) data.append("file"+idx, obj.fileObj);
|
postObj.innoDirPath = $('#innoDirPath').val();
|
||||||
|
control1.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
|
||||||
});
|
control1.upload();
|
||||||
|
|
||||||
if(confirm("강의계획서를 제출 하시겠습니까?")){
|
|
||||||
$.ajax({
|
|
||||||
type: "POST",
|
|
||||||
enctype: 'multipart/form-data',
|
|
||||||
url: "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/lctrPlanRegAjax.do",
|
|
||||||
data: data,
|
|
||||||
dataType:'json',
|
|
||||||
async: false,
|
|
||||||
processData: false,
|
|
||||||
contentType: false,
|
|
||||||
cache: false,
|
|
||||||
success: function (returnData, status) {
|
|
||||||
if(status == 'success'){
|
|
||||||
alert("등록 되었습니다.");
|
|
||||||
location.reload();
|
|
||||||
} else if(status== 'fail'){
|
|
||||||
alert("등록에 실패하였습니다.");
|
|
||||||
}
|
|
||||||
},
|
|
||||||
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
@ -99,6 +131,8 @@
|
|||||||
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
|
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
|
||||||
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
|
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
|
||||||
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
|
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${info.prcsAplctPrdOrd}'/>"/> /><!-- 최대 업로드 파일갯수 -->
|
||||||
|
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
|
||||||
<div class="cont_tit">
|
<div class="cont_tit">
|
||||||
<h2>강의내역상세</h2>
|
<h2>강의내역상세</h2>
|
||||||
<div class="sns_go">
|
<div class="sns_go">
|
||||||
@ -155,7 +189,7 @@
|
|||||||
<p>기간</p>
|
<p>기간</p>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
|
<c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="trLength2">
|
<tr class="trLength2">
|
||||||
@ -211,13 +245,14 @@
|
|||||||
<p>신청자수</p>
|
<p>신청자수</p>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
|
<c:out value="${info.nosCnt1}"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="trLength2">
|
<tr class="trLength2">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>신청자수</p>
|
<p>신청자수</p>
|
||||||
</th>
|
</th>
|
||||||
<td colspan="3"></td>
|
<td colspan="3"><c:out value="${info.nosCnt1}"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="trLength4">
|
<tr class="trLength4">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
@ -233,6 +268,28 @@
|
|||||||
</th>
|
</th>
|
||||||
<td colspan="3"><ve:code codeId="VEA004" code="${info.ddlnCd}"/></td>
|
<td colspan="3"><ve:code codeId="VEA004" code="${info.ddlnCd}"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr class="trLength4">
|
||||||
|
<th scope="row"><p>강의계획서</p></th>
|
||||||
|
<td>
|
||||||
|
<div class="btn_wrap">
|
||||||
|
<button type="button" onclick="control1.openFileDialogSingle();" class="btnType01 lctrPlan_btn_add_file">강의계획서 파일찾기</button>
|
||||||
|
<button type="button" onclick="fileSave();" class="btnType01 lctrPlan_btn_add_file">제출</button>
|
||||||
|
<%-- <c:if test="${info.lctrPlanRsltAtchFileId != null && info.lctrPlanRsltAtchFileId != ''}">
|
||||||
|
<button type="button" id="control1DownBtn" onclick="control1.download();" class="btnType01 cpy_btn_add_file">다운로드</button>
|
||||||
|
</c:if> --%>
|
||||||
|
</div>
|
||||||
|
<div id="lctrPlan"></div><br/>
|
||||||
|
<div class="file_cf">
|
||||||
|
<div class="cf_left">
|
||||||
|
<p>최대 <span class="lctrPlan_limitFileCount">1</span>개</p>
|
||||||
|
</div>
|
||||||
|
<div class="cf_right">
|
||||||
|
<p>등록된 파일 <span class="upload_number lctrPlan_totalfileCount">0</span>개</p>
|
||||||
|
<span class="upload_number lctrPlan_totalfileSize">0MB</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@ -242,118 +299,51 @@
|
|||||||
|
|
||||||
<div class="tb_tit01">
|
<div class="tb_tit01">
|
||||||
<div class="tb_tit01_left">
|
<div class="tb_tit01_left">
|
||||||
<p>강사정보</p>
|
<p>강사 배치 정보</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tb_type01 tb_write">
|
<div class="t_dashboard_btm">
|
||||||
<table>
|
<div class="tb_list01" style="width:100%;">
|
||||||
<colgroup>
|
<table>
|
||||||
<col style="width: 220px;">
|
<colgroup>
|
||||||
<col style="width: auto;">
|
<col style="width: 220px;">
|
||||||
<col style="width: 220px;">
|
<col style="width: auto;">
|
||||||
<col style="width: auto;">
|
<col style="width: 220px;">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody>
|
<thead>
|
||||||
<tr class="trLength4">
|
<th>강사명</th>
|
||||||
<th scope="row">
|
<th>연락처</th>
|
||||||
<p>성명</p>
|
<th>확정여부</th>
|
||||||
</th>
|
</thead>
|
||||||
<td>
|
<tbody>
|
||||||
성인강사2
|
<c:choose>
|
||||||
</td>
|
<c:when test="${!empty instrAsgnmList }">
|
||||||
<th scope="row">
|
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
|
||||||
<p>구분</p>
|
<tr>
|
||||||
</th>
|
<td>
|
||||||
<td>
|
<c:out value="${list.instrNm }"/>
|
||||||
성인 강사
|
</td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<c:out value="${list.phone }"/>
|
||||||
<tr class="trLength2">
|
</td>
|
||||||
<th scope="row">
|
<td>
|
||||||
<p>성명</p>
|
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
|
||||||
</th>
|
</td>
|
||||||
<td colspan="3">
|
</tr>
|
||||||
성인강사2
|
</c:forEach>
|
||||||
</td>
|
</c:when>
|
||||||
</tr>
|
<c:otherwise>
|
||||||
<tr class="trLength2">
|
<tr>
|
||||||
<th scope="row">
|
<td colspan="4">강사 배치 정보가 없습니다.</td>
|
||||||
<p>구분</p>
|
</tr>
|
||||||
</th>
|
</c:otherwise>
|
||||||
<td colspan="3">
|
</c:choose>
|
||||||
성인 강사
|
</tbody>
|
||||||
</td>
|
</table>
|
||||||
</tr>
|
</div>
|
||||||
<tr>
|
|
||||||
<th scope="row">
|
|
||||||
<p>거주지</p>
|
|
||||||
</th>
|
|
||||||
<td colspan="3">
|
|
||||||
광주광역시(동구 계림동)
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
|
|
||||||
<tr class="trLength4">
|
|
||||||
<th scope="row">
|
|
||||||
<p>강사료(a)</p>
|
|
||||||
</th>
|
|
||||||
<td>
|
|
||||||
0
|
|
||||||
</td>
|
|
||||||
<th scope="row">
|
|
||||||
<p>출장비(b)</p>
|
|
||||||
</th>
|
|
||||||
<td>
|
|
||||||
0
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="trLength2">
|
|
||||||
<th scope="row">
|
|
||||||
<p>강사료(a)</p>
|
|
||||||
</th>
|
|
||||||
<td colspan="3">0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="trLength2">
|
|
||||||
<th scope="row">
|
|
||||||
<p>출장비(b)</p>
|
|
||||||
</th>
|
|
||||||
<td colspan="3">0</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
|
|
||||||
<tr class="trLength4">
|
|
||||||
<th scope="row">
|
|
||||||
<p>여비(c)</p>
|
|
||||||
</th>
|
|
||||||
<td>
|
|
||||||
0
|
|
||||||
</td>
|
|
||||||
<th scope="row">
|
|
||||||
<p>총액(a)+(b)+(c)</p>
|
|
||||||
</th>
|
|
||||||
<td>
|
|
||||||
0
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="trLength2">
|
|
||||||
<th scope="row">
|
|
||||||
<p>여비(c)</p>
|
|
||||||
</th>
|
|
||||||
<td colspan="3">0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="trLength2">
|
|
||||||
<th scope="row">
|
|
||||||
<p>총액(a)+(b)+(c)</p>
|
|
||||||
</th>
|
|
||||||
<td colspan="3">0</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -361,92 +351,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="filewrap_div">
|
|
||||||
<c:if test="${empty fileList}">
|
|
||||||
<dt><p class="req_text"><span>필수입력 항목</span>*</p>강의계획서</dt>
|
|
||||||
<dd colspan="3" class="upload_area">
|
|
||||||
<div class="btn_wrap">
|
|
||||||
<button type="button" class="btnType01 btn_add_file">강의계획서 업로드</button>
|
|
||||||
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
|
||||||
</div>
|
|
||||||
<div class="file_wrap file_upload_box no_img_box">
|
|
||||||
<table>
|
|
||||||
<caption>첨부파일 파일 명, 종류, 크기 정보 제공</caption>
|
|
||||||
<colgroup>
|
|
||||||
<col style="width: auto;">
|
|
||||||
<col style="width: 15%;">
|
|
||||||
<col style="width: 15%;">
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
|
||||||
<th scope="col">파일 명</th>
|
|
||||||
<th scope="col">종류</th>
|
|
||||||
<th scope="col">크기</th>
|
|
||||||
</thead>
|
|
||||||
<tbody class="tb_file_before">
|
|
||||||
<tr>
|
|
||||||
<td colspan="3">
|
|
||||||
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="file_wrap fileAfter file_list_div">
|
|
||||||
<table>
|
|
||||||
<caption>첨부파일 파일 명, 종류, 크기, 삭제 정보 제공</caption>
|
|
||||||
<colgroup>
|
|
||||||
<col style="width: auto;">
|
|
||||||
<col style="width: 15%;">
|
|
||||||
<col style="width: 15%;">
|
|
||||||
<col style="width: 100px;">
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
|
||||||
<th scope="col">파일 명</th>
|
|
||||||
<th scope="col">종류</th>
|
|
||||||
<th scope="col">크기</th>
|
|
||||||
<th scope="col">삭제</th>
|
|
||||||
</thead>
|
|
||||||
<tbody id="tbody_fiielist" class="tb_file_after">
|
|
||||||
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
|
||||||
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
|
|
||||||
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
|
|
||||||
<td class="td_filename">
|
|
||||||
<span class="file_name_text">${fileList.orignlFileNm}</span>
|
|
||||||
</td>
|
|
||||||
<td class="td_filesort">
|
|
||||||
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
|
|
||||||
</td>
|
|
||||||
<td class="td_filesize">
|
|
||||||
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</c:forEach>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="file_cf">
|
|
||||||
<div class="cf_left">
|
|
||||||
<p>최대 <span>1</span>개</p>
|
|
||||||
<p><span>500MB</span>제한</p>
|
|
||||||
</div>
|
|
||||||
<div class="cf_right btn_wrap">
|
|
||||||
<button type="button" onclick="fncSave(); return false;" class="btnType05" style="height: 40px;">제출</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</c:if>
|
|
||||||
<c:if test="${not empty fileList}">
|
|
||||||
<td class="file_download">
|
|
||||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
|
||||||
<c:param name="param_atchFileId" value="${info.lctrPlanAtchFileId}" />
|
|
||||||
</c:import>
|
|
||||||
</td>
|
|
||||||
</c:if>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<div class="btn_wrap btn_layout01">
|
<div class="btn_wrap btn_layout01">
|
||||||
<div class="btn_left">
|
<div class="btn_left">
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -112,7 +112,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<c:if test="${empty vEPrcsDetailVOList}">
|
<c:if test="${empty vEPrcsDetailVOList}">
|
||||||
<tr><td colspan="5"><spring:message code="common.nodata.msg" /></td></tr>
|
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
</c:if>
|
</c:if>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@ -183,7 +183,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<c:if test="${empty vEPrcsDetailVOList}">
|
<c:if test="${empty vEPrcsDetailVOList}">
|
||||||
<ul><li colspan="5"><spring:message code="common.nodata.msg" /></li></ul>
|
<ul><li colspan="4"><spring:message code="common.nodata.msg" /></li></ul>
|
||||||
</c:if>
|
</c:if>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user