diff --git a/src/main/java/kcc/com/cmm/service/impl/InnorixFileDAO.java b/src/main/java/kcc/com/cmm/service/impl/InnorixFileDAO.java
deleted file mode 100644
index 7dcc1ef4..00000000
--- a/src/main/java/kcc/com/cmm/service/impl/InnorixFileDAO.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package kcc.com.cmm.service.impl;
-
-import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Repository;
-
-import com.ibatis.sqlmap.client.SqlMapClient;
-
-/**
- * EgovComAbstractDAO.java 클래스
- *
- * @author 서준식
- * @since 2011. 9. 23.
- * @version 1.0
- * @see
- *
- *
- * << 개정이력(Modification Information) >>
- *
- * 수정일 수정자 수정내용
- * ------- ------------- ----------------------
- * 2011. 9. 23. 서준식 최초 생성
- *
- */
-@Repository("InnorixFileDAO")
-public class InnorixFileDAO extends EgovAbstractDAO {
-
-
-}
diff --git a/src/main/java/seed/com/gtm/board/CaseBoardController.java b/src/main/java/seed/com/gtm/board/CaseBoardController.java
index e88c44d7..49c3a90c 100644
--- a/src/main/java/seed/com/gtm/board/CaseBoardController.java
+++ b/src/main/java/seed/com/gtm/board/CaseBoardController.java
@@ -14,9 +14,14 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
import seed.com.gtm.seedfile.SeedFileService;
import seed.com.gtm.util.Criteria;
import seed.com.gtm.util.PageMaker;
+import seed.common.service.InnorixFileService;
+import seed.common.service.InnorixFileVO;
@Controller
@RequestMapping("/gtm/case")
@@ -27,6 +32,9 @@ public class CaseBoardController {
@Autowired
private SeedFileService fileService;
+ @Autowired
+ private InnorixFileService innorixFileService;
+
public void setSessionMessageRemove(HttpSession session){
session.removeAttribute("url");
session.removeAttribute("message");
@@ -53,6 +61,19 @@ public class CaseBoardController {
paramMap.put("dataIdx", paramMap.get("seq"));
fileService.fileInsert(paramMap, request, session);
+ //이노릭스 대용량 업로드
+ String innorixFileListVO = (String) paramMap.get("innorixFileListVO");
+ if("".equals(innorixFileListVO)) {
+
+ ObjectMapper objectMapper = new ObjectMapper();
+ try {
+ List innorixFileList = objectMapper.readValue(innorixFileListVO, new TypeReference>() {});
+ innorixFileService.innorixFileInsert(innorixFileList);
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
map.put("message", "common.message.reg");
map.put("url", "/gtm/case/board/"+boardIdx+"/list.do");
diff --git a/src/main/java/seed/common/service/AdrInnorixFileVO.java b/src/main/java/seed/common/service/AdrInnorixFileVO.java
deleted file mode 100644
index 8f4ed7b2..00000000
--- a/src/main/java/seed/common/service/AdrInnorixFileVO.java
+++ /dev/null
@@ -1,360 +0,0 @@
-package seed.common.service;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import kcc.com.cmm.ComDefaultVO;
-
-
-/**
- *
- * @author : 이호영
- * @fileName : InnorixVO.java
- * @date : 2022.11.01
- * @description : 대용량 파일 등록 솔루션 VO
- * ===========================================================
- * DATE AUTHOR NOTE
- * ----------------------------------------------------------- *
- * 2022.11.01 이호영 최초 생성
- *
- *
- *
- */
-public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
-
- /**
- *
- */
- private static final long serialVersionUID = 4400281789694196418L;
-
- // 사용자 ID
- public String uniqId = "";
-
- // 파일 구분을 위한 타입
- public String fileType = "";
-
- // 파일 등록 후 리턴 메세지 jsp에서 넘겨줌
- public String successMsg = "";
- public String eduAplctOrd = "";
- public String eduChasiOrd = "";
- public String prcsAplctPrdOrd = ""; //기반강화 강의계획서용
-
- // 컨트롤 엘리먼트 ID - 멀티 업로드 시 jsp에서 사용하는 el 값
- public String controlId = "";
-
- // 승인코드 - 저작권 체험교실 결과보고서 임시저장 구분용으로 추가
- public String aprvlCd = "";
-
- // 파일 ID
- public String atchFileId = "";
-
-
-// private String frstRegistPnttm; //등록일시
-// private String frstRegisterId; //등록자
-// private String lastUpdtPnttm; //수정일시
-// private String lastUpdusrId; //수정자
-
- public List innorixFileListVO = new ArrayList();
-
- // 전체 교육인원 - 저작권 체험교실 결과보고서 항목
- public String trgtPrsnlReal = "";
-
- //서류요청 기능
- public String docReqNm = ""; //요청 서류명
- public String sbmtId = ""; //제출 강사 ID
- public String eduDocReqOrd = "";//서류요청 순번
-
- public String cnclCn = "";//기소유예 취소사유
-
- public String instrDetailOrd = "";//강사 고유PK
-
- public String lctrSbjct; //강의주제
- public String lctrPlace; //강의장소
- public String lctrTrgt; //교육대상
- public String nos; //인원
- public String instrNm; //강사명(소속)
-
- public String lctrDay;
- public String lctrStrtH;
- public String lctrStrtM;
- public String lctrEndH;
- public String lctrEndM;
-
- public String lctrDivCd;
-
-
-
-
-
-
-
- //강의활동확인서 컬럼 추가
- private String sex = ""; //성별
- private String purpose = ""; //용도
- private String bsnsNmbr = ""; //사업자등록번호
- private String bsnsNm = ""; //사업자명
- private String docuNmbr = ""; //문서번호
-
-
- public String getFileType() {
- return fileType;
- }
-
- public void setFileType(String fileType) {
- this.fileType = fileType;
- }
-
- public String getSuccessMsg() {
- return successMsg;
- }
-
- public void setSuccessMsg(String successMsg) {
- this.successMsg = successMsg;
- }
-
- public List getInnorixFileListVO() {
- return innorixFileListVO;
- }
-
- public void setInnorixFileListVO(List innorixFileListVO) {
- this.innorixFileListVO = innorixFileListVO;
- }
-
- public String getUniqId() {
- return uniqId;
- }
-
- public void setUniqId(String uniqId) {
- this.uniqId = uniqId;
- }
-
- public String getEduAplctOrd() {
- return eduAplctOrd;
- }
-
- public void setEduAplctOrd(String eduAplctOrd) {
- this.eduAplctOrd = eduAplctOrd;
- }
-
- public String getControlId() {
- return controlId;
- }
-
- public void setControlId(String controlId) {
- this.controlId = controlId;
- }
-
- public String getAprvlCd() {
- return aprvlCd;
- }
-
- public void setAprvlCd(String aprvlCd) {
- this.aprvlCd = aprvlCd;
- }
-
- public String getAtchFileId() {
- return atchFileId;
- }
-
- public void setAtchFileId(String atchFileId) {
- this.atchFileId = atchFileId;
- }
-
- public String getTrgtPrsnlReal() {
- return trgtPrsnlReal;
- }
-
- public void setTrgtPrsnlReal(String trgtPrsnlReal) {
- this.trgtPrsnlReal = trgtPrsnlReal;
- }
-
- public String getPrcsAplctPrdOrd() {
- return prcsAplctPrdOrd;
- }
-
- public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
- this.prcsAplctPrdOrd = prcsAplctPrdOrd;
- }
-
- public String getDocReqNm() {
- return docReqNm;
- }
-
- public void setDocReqNm(String docReqNm) {
- this.docReqNm = docReqNm;
- }
-
- public String getSbmtId() {
- return sbmtId;
- }
-
- public void setSbmtId(String sbmtId) {
- this.sbmtId = sbmtId;
- }
-
- public String getEduDocReqOrd() {
- return eduDocReqOrd;
- }
-
- public void setEduDocReqOrd(String eduDocReqOrd) {
- this.eduDocReqOrd = eduDocReqOrd;
- }
-
- public String getCnclCn() {
- return cnclCn;
- }
-
- public void setCnclCn(String cnclCn) {
- this.cnclCn = cnclCn;
- }
-
- public String getInstrDetailOrd() {
- return instrDetailOrd;
- }
-
- public void setInstrDetailOrd(String instrDetailOrd) {
- this.instrDetailOrd = instrDetailOrd;
- }
-
- public String getSex() {
- return sex;
- }
-
- public void setSex(String sex) {
- this.sex = sex;
- }
-
- public String getPurpose() {
- return purpose;
- }
-
- public void setPurpose(String purpose) {
- this.purpose = purpose;
- }
-
- public String getBsnsNm() {
- return bsnsNm;
- }
-
- public void setBsnsNm(String bsnsNm) {
- this.bsnsNm = bsnsNm;
- }
-
- public String getBsnsNmbr() {
- return bsnsNmbr;
- }
-
- public void setBsnsNmbr(String bsnsNmbr) {
- this.bsnsNmbr = bsnsNmbr;
- }
-
- public String getDocuNmbr() {
- return docuNmbr;
- }
-
- public void setDocuNmbr(String docuNmbr) {
- this.docuNmbr = docuNmbr;
- }
-
- public String getLctrSbjct() {
- return lctrSbjct;
- }
-
- public void setLctrSbjct(String lctrSbjct) {
- this.lctrSbjct = lctrSbjct;
- }
-
- public String getLctrPlace() {
- return lctrPlace;
- }
-
- public void setLctrPlace(String lctrPlace) {
- this.lctrPlace = lctrPlace;
- }
-
- public String getLctrTrgt() {
- return lctrTrgt;
- }
-
- public void setLctrTrgt(String lctrTrgt) {
- this.lctrTrgt = lctrTrgt;
- }
-
- public String getNos() {
- return nos;
- }
-
- public void setNos(String nos) {
- this.nos = nos;
- }
-
- public String getInstrNm() {
- return instrNm;
- }
-
- public void setInstrNm(String instrNm) {
- this.instrNm = instrNm;
- }
-
- public String getLctrDay() {
- return lctrDay;
- }
-
- public void setLctrDay(String lctrDay) {
- this.lctrDay = lctrDay;
- }
-
- public String getLctrStrtH() {
- return lctrStrtH;
- }
-
- public void setLctrStrtH(String lctrStrtH) {
- this.lctrStrtH = lctrStrtH;
- }
-
- public String getLctrStrtM() {
- return lctrStrtM;
- }
-
- public void setLctrStrtM(String lctrStrtM) {
- this.lctrStrtM = lctrStrtM;
- }
-
- public String getLctrEndH() {
- return lctrEndH;
- }
-
- public void setLctrEndH(String lctrEndH) {
- this.lctrEndH = lctrEndH;
- }
-
- public String getLctrEndM() {
- return lctrEndM;
- }
-
- public void setLctrEndM(String lctrEndM) {
- this.lctrEndM = lctrEndM;
- }
-
- public String getEduChasiOrd() {
- return eduChasiOrd;
- }
-
- public void setEduChasiOrd(String eduChasiOrd) {
- this.eduChasiOrd = eduChasiOrd;
- }
-
- public String getLctrDivCd() {
- return lctrDivCd;
- }
-
- public void setLctrDivCd(String lctrDivCd) {
- this.lctrDivCd = lctrDivCd;
- }
-
-
-
-
-
-}
\ No newline at end of file
diff --git a/src/main/java/seed/common/service/InnorixFileService.java b/src/main/java/seed/common/service/InnorixFileService.java
new file mode 100644
index 00000000..cebd6366
--- /dev/null
+++ b/src/main/java/seed/common/service/InnorixFileService.java
@@ -0,0 +1,9 @@
+package seed.common.service;
+
+import java.util.List;
+
+public interface InnorixFileService {
+
+ public void innorixFileInsert(List innorixFileList) throws Exception;
+
+}
diff --git a/src/main/java/seed/common/service/InnorixFileServiceImpl.java b/src/main/java/seed/common/service/InnorixFileServiceImpl.java
new file mode 100644
index 00000000..09257dcb
--- /dev/null
+++ b/src/main/java/seed/common/service/InnorixFileServiceImpl.java
@@ -0,0 +1,25 @@
+package seed.common.service;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import seed.dao.InnorixFileDAO;
+
+@Service("innorixFileService")
+public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements InnorixFileService{
+
+ @Resource(name="innorixFileDAO")
+ public InnorixFileDAO innorixFileDAO;
+
+ public void innorixFileInsert(List innorixFileList) throws Exception {
+
+ for(InnorixFileVO innorixFileVO : innorixFileList) {
+ innorixFileDAO.innorixFileInsert(innorixFileVO);
+ }
+ }
+
+}
diff --git a/src/main/java/seed/common/service/InnorixFileVO.java b/src/main/java/seed/common/service/InnorixFileVO.java
index f73020c2..80e0479b 100644
--- a/src/main/java/seed/common/service/InnorixFileVO.java
+++ b/src/main/java/seed/common/service/InnorixFileVO.java
@@ -1,8 +1,11 @@
package seed.common.service;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.List;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
import kcc.com.cmm.ComDefaultVO;
@@ -20,8 +23,11 @@ import kcc.com.cmm.ComDefaultVO;
*
*
*/
+@JsonIgnoreProperties(ignoreUnknown = true)
public class InnorixFileVO extends ComDefaultVO implements Serializable {
+ public List innorixFileListVO = new ArrayList();
+
/**
*
*/
@@ -63,9 +69,14 @@ public class InnorixFileVO extends ComDefaultVO implements Serializable {
private String lastUpdusrId;
+
-
-
+ public List getInnorixFileListVO() {
+ return innorixFileListVO;
+ }
+ public void setInnorixFileListVO(List innorixFileListVO) {
+ this.innorixFileListVO = innorixFileListVO;
+ }
public String getRowID() {
return rowID;
}
diff --git a/src/main/java/seed/dao/InnorixFileDAO.java b/src/main/java/seed/dao/InnorixFileDAO.java
new file mode 100644
index 00000000..0afe5572
--- /dev/null
+++ b/src/main/java/seed/dao/InnorixFileDAO.java
@@ -0,0 +1,14 @@
+package seed.dao;
+
+import org.springframework.stereotype.Repository;
+
+import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
+import seed.common.service.InnorixFileVO;
+
+@Repository("innorixFileDAO")
+public class InnorixFileDAO extends EgovAbstractDAO {
+
+ public void innorixFileInsert(InnorixFileVO innorixFileVO) throws Exception {
+ insert("com.seed.innorixFile.extraInsert", innorixFileVO);
+ }
+}
diff --git a/src/main/resources/egovframework/sqlmap/config/mappers/innorixFIle/innorixfile_sql.xml b/src/main/resources/egovframework/sqlmap/config/mappers/innorixFIle/innorixfile_sql.xml
new file mode 100644
index 00000000..307be913
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/mappers/innorixFIle/innorixfile_sql.xml
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/board/write.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/board/write.jsp
index c5edb857..31f2ceb2 100644
--- a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/board/write.jsp
+++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/board/write.jsp
@@ -57,7 +57,30 @@
${memberName}
+
+
첨부자료
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
@@ -120,7 +144,11 @@
attach_list_view: false
});
-
+ /* innorix-1
+ 첨부파일 업로드 경로 전역 변수 선언
+ */
+ var directory = "";
+
$(window).load(function(){
$("#idx_toolbar_webnote_content_imagecenter").hide();
@@ -153,11 +181,83 @@
return false;
} */
});
+
+ /* 이노릭스 대용량 업로드 솔루션 */
+
+ /* innorix-2
+ 첨부파일 업로드 경로 설정
+ fileFuncType와 세션의 siteId등의 정보를 이용해 업로드 경로 설정
+ */
+ var fileFuncType = $("#fileTempUpFrm").find("input[name='fileFuncType']").val();
+ var url = ""
+ getFileDirectory(fileFuncType, url, function(result){
+ directory = result;
+ });
+
+ /* innorix-3
+ 이노릭스 업로드 컨트롤 생성
+ control 객체는 innorixCommon.js에서 생성
+ */
+ control = innorix.create({
+ el: '#fileControl', // 컨트롤 출력 HTML 객체 ID
+ transferMode: 'both', // 업로드, 다운로드 혼합사용
+ agent : false,
+ installUrl: "", // Agent 설치 페이지
+ uploadUrl: "", // 업로드 URL
+ allowExtension : ["txt","jpeg","jpg","png","gif","bmp","mp3","mp4","hwp","doc","docx","xls","xlsx","ppt","pptx","pdf","zip","alz"]
+ });
+
+ // 업로드 완료 후 temp 파일 저장
+ //control.on('afterAddFiles', function (p) {
+ //console.log('afterAddFiles : ', p);
+ //var postObj = new Object();
+ //postObj.directory = directory;
+ //control.setPostData(postObj);
+ //control.upload(); // 업로드 시작
+ /* $("#fileTempUpFrm").submit(); */
+ /* fn_callBackInnorix(p.files); // 파일 정보 DB isnert function */
+ //});
+
+ /* innorix-5
+ 이노릭스 업로드 완료 후
+ 콜백 함수로 파일 정보 전달
+ */
+ control.on('uploadComplete', function (p) {
+ console.log('uploadComplete : ', p);
+ fn_callBackInnorix(p.files); // 파일 정보 DB isnert function
+ });
});
+ /* innorix-4
+ 이노릭스 업로드 시작
+ 첨부파일이 있을 시 업로드 후 게시글 작성
+ 첨부파일이 없을 시 바로 게시글 작성
+ */
+ function innorixUpload(){
+ if(control.getUploadFiles().length > 0){
+ var postObj = new Object();
+ postObj.directory = directory;
+ control.setPostData(postObj);
+ control.upload(); // 업로드 시작 */
+ }else{
+ $("button[type='submit']").click();
+ }
+ }
+
+ /* innorix-6
+ 게시글 등록 처리
+ 첨부파일 정보 DB 등록 및 게시글 등록 처리
+ */
+ function fn_callBackInnorix(data){
+ $("input[name='innorixFileListVO']").val(JSON.stringify(data));
+ /* $("input[name='innorixFileListVO']").val(data); */
+ $("button[type='submit']").click();
+ }
+
function goList(){
$("#paramFrm").submit();
}
+
diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/board/write_testing.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/board/write_back_bfInnorix.jsp
similarity index 68%
rename from src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/board/write_testing.jsp
rename to src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/board/write_back_bfInnorix.jsp
index 8f4bf45f..c5edb857 100644
--- a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/board/write_testing.jsp
+++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/board/write_back_bfInnorix.jsp
@@ -57,29 +57,7 @@
${memberName}
-
-
첨부자료
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
@@ -143,11 +120,7 @@
attach_list_view: false
});
- /* innorix-1
- 첨부파일 업로드 경로 전역 변수 선언
- */
- var directory = "";
-
+
$(window).load(function(){
$("#idx_toolbar_webnote_content_imagecenter").hide();
@@ -180,64 +153,11 @@
return false;
} */
});
-
- /* 이노릭스 대용량 업로드 솔루션 */
-
- /* innorix-2
- 첨부파일 업로드 경로 설정
- fileFuncType와 세션의 siteId등의 정보를 이용해 업로드 경로 설정
- */
- var fileFuncType = $("#fileTempUpFrm").find("input[name='fileFuncType']").val();
- var url = ""
- getFileDirectory(fileFuncType, url, function(result){
- directory = result;
- });
-
- /* innorix-3
- 이노릭스 업로드 컨트롤 생성
- control 객체는 innorixCommon.js에서 생성
- */
- control = innorix.create({
- el: '#fileControl', // 컨트롤 출력 HTML 객체 ID
- transferMode: 'both', // 업로드, 다운로드 혼합사용
- agent : false,
- installUrl: "", // Agent 설치 페이지
- uploadUrl: "", // 업로드 URL
- allowExtension : ["txt","jpeg","jpg","png","gif","bmp","mp3","mp4","hwp","doc","docx","xls","xlsx","ppt","pptx","pdf","zip","alz"]
- });
-
- // 업로드 완료 후 temp 파일 저장
- //control.on('afterAddFiles', function (p) {
- //console.log('afterAddFiles : ', p);
- //var postObj = new Object();
- //postObj.directory = directory;
- //control.setPostData(postObj);
- //control.upload(); // 업로드 시작
- /* $("#fileTempUpFrm").submit(); */
- /* fn_callBackInnorix(p.files); // 파일 정보 DB isnert function */
- //});
-
});
function goList(){
$("#paramFrm").submit();
}
-
- /* innorix-4
- 이노릭스 업로드 시작
- 첨부파일이 있을 시 업로드 후 게시글 작성
- 첨부파일이 없을 시 바로 게시글 작성
- */
- function innorixUpload(){
- if(control.getUploadFiles().length > 0){
- var postObj = new Object();
- postObj.directory = directory;
- control.setPostData(postObj);
- control.upload(); // 업로드 시작 */
- }else{
- $("button[type='submit']").click();
- }
- }
diff --git a/src/main/webapp/innorix/exam/seedUpload.jsp b/src/main/webapp/innorix/exam/seedUpload.jsp
index 93f6f0f2..069dbc2e 100644
--- a/src/main/webapp/innorix/exam/seedUpload.jsp
+++ b/src/main/webapp/innorix/exam/seedUpload.jsp
@@ -1,6 +1,8 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.innorix.transfer.InnorixUpload" %>
-<%@ page import="java.util.UUID" %>
+<%@ page import="seed.utils.SeedDateUtil" %>
+<%@ page import="seed.utils.SeedUtils" %>
+<%@ page import="java.util.Date" %>
<%
// CORS체크를 위한 OPTIONS 메소드가 들어오므로 POST 일 경우에만 동작하도록 조건 추가
@@ -45,6 +47,13 @@ if (request.getMethod().equals("POST"))
*/
/* String saveNm = UUID.randomUUID()+".jpg";
uploader.setFileName(saveNm); */
+ SeedDateUtil seedDateUtil = new SeedDateUtil();
+ String renameDate = seedDateUtil.getSimpleDateFormat(new Date(), "yyyyMMddHHmmss");
+ String fileType = _orig_filename.substring(_orig_filename.lastIndexOf(".")+1, _orig_filename.length());
+ String reFileName = renameDate + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
+ String saveNm = reFileName + "." + fileType;
+ uploader.setFileName(saveNm);
+
}
uploader.setDirectory(_directory);