> map = new HashMap();
+ map.put("files", list);
+
+ ModelAndView modelAndView = new ModelAndView("jsonView");
+ modelAndView.addObject("result", map);
+
+ return modelAndView;
+ }
+
+ @ResponseBody
+ @RequestMapping(value="/deleteFileByNode/{fileId}")
+ public ModelAndView deleteFileByNode(@PathVariable(value ="fileId") Long fileId, ModelMap model,
+ HttpServletRequest request) throws Exception {
+
+ FileRepositoryDTO fileRepositoryDTO = new FileRepositoryDTO();
+ fileRepositoryDTO.setC_id(fileId);
+ int result = fileRepository.removeNode(fileRepositoryDTO);
+
+ ModelAndView modelAndView = new ModelAndView("jsonView");
+ modelAndView.addObject("result", result);
+ return modelAndView;
+ }
+
+
+
+ @RequestMapping(value="/downloadFileByNode/{fileId}")
+ public void downloadFile(@PathVariable(value ="fileId") Long fileId,
+ HttpServletRequest request, HttpServletResponse response) throws Exception {
+
+ PropertiesReader propertiesReader = new PropertiesReader("egovframework/egovProps/globals.properties");
+ String uploadPath = propertiesReader.getProperty("Globals.fileStorePath");
+
+ FileRepositoryDTO fileRepositoryDTO = new FileRepositoryDTO();
+ fileRepositoryDTO.setWhere("c_id", fileId);
+ FileRepositoryDTO returnFileRepositoryDTO = fileRepository.getNode(fileRepositoryDTO);
+
+ EgovFormBasedFileUtil.downloadFile(response, uploadPath
+ , returnFileRepositoryDTO.getServerSubPath()
+ , returnFileRepositoryDTO.getPhysicalName()
+ , returnFileRepositoryDTO.getContentType()
+ , returnFileRepositoryDTO.getFileName());
+
+ }
+
+}
Index: web-module/src/main/java/egovframework/api/arms/module_filerepository/model/FileRepositoryDTO.java
===================================================================
diff -u
--- web-module/src/main/java/egovframework/api/arms/module_filerepository/model/FileRepositoryDTO.java (revision 0)
+++ web-module/src/main/java/egovframework/api/arms/module_filerepository/model/FileRepositoryDTO.java (revision f41ba65b84ac704a0b3c88ac2094e32539165890)
@@ -0,0 +1,182 @@
+/*
+ * @author Dongmin.lee
+ * @since 2022-11-04
+ * @version 22.11.04
+ * @see
+ * Copyright (C) 2007 by 313 DEV GRP, Inc - All Rights Reserved
+ * Unauthorized copying of this file, via any medium is strictly prohibited
+ * Proprietary and confidential
+ * Written by 313 developer group <313@313.co.kr>, December 2010
+ *
+ */
+package egovframework.api.arms.module_filerepository.model;
+
+import org.hibernate.annotations.*;
+import org.hibernate.annotations.Cache;
+import javax.persistence.*;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+import egovframework.com.ext.jstree.springHibernate.core.vo.JsTreeHibernateDTO;
+import egovframework.com.ext.jstree.springHibernate.core.vo.JsTreeHibernateSearchDTO;
+
+@Entity
+@Table(name = "T_ARMS_FILEREPOSITORY")
+@SelectBeforeUpdate(value=true)
+@DynamicInsert(value=true)
+@DynamicUpdate(value=true)
+@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
+@SequenceGenerator(name = "JsTreeSequence", sequenceName = "S_ARMS_FILEREPOSITORY", allocationSize = 1)
+public class FileRepositoryDTO extends JsTreeHibernateSearchDTO implements Serializable {
+
+ public FileRepositoryDTO() {
+ super();
+ }
+
+ public FileRepositoryDTO(Boolean copyBooleanValue) {
+ super();
+ this.copyBooleanValue = copyBooleanValue;
+ }
+
+ //@Getter @Setter
+ private Long fileIdLink;
+ private String fileName;
+ private String contentType;
+ private String serverSubPath;
+ private String physicalName;
+ private Long size;
+ private String name;
+ private String url;
+ private String thumbnailUrl;
+ private String delete_url;
+ private String delete_type;
+
+ @Column(name="C_FILE_ID_LINK")
+ public Long getFileIdLink() {
+ return fileIdLink;
+ }
+
+ public void setFileIdLink(Long fileIdLink) {
+ this.fileIdLink = fileIdLink;
+ }
+
+
+ @Column(name="C_FILE_NAME")
+ public String getFileName() {
+ return fileName;
+ }
+
+ public void setFileName(String fileName) {
+ this.fileName = fileName;
+ }
+
+ @Column(name="C_CONTENT_TYPE")
+ public String getContentType() {
+ return contentType;
+ }
+
+ public void setContentType(String contentType) {
+ this.contentType = contentType;
+ }
+
+ @Column(name="C_SERVER_SUB_PATH")
+ public String getServerSubPath() {
+ return serverSubPath;
+ }
+
+ public void setServerSubPath(String serverSubPath) {
+ this.serverSubPath = serverSubPath;
+ }
+
+ @Column(name="C_PHYSICAL_NAME")
+ public String getPhysicalName() {
+ return physicalName;
+ }
+
+ public void setPhysicalName(String physicalName) {
+ this.physicalName = physicalName;
+ }
+
+ @Column(name="C_SIZE")
+ public Long getSize() {
+ return size;
+ }
+
+ public void setSize(Long size) {
+ this.size = size;
+ }
+
+ @Column(name="C_NAME")
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Column(name="C_URL")
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ @Column(name="C_THUMBNAIL_URL")
+ public String getThumbnailUrl() {
+ return thumbnailUrl;
+ }
+
+ public void setThumbnailUrl(String thumbnailUrl) {
+ this.thumbnailUrl = thumbnailUrl;
+ }
+
+ @Column(name="C_DELETE_URL")
+ public String getDelete_url() {
+ return delete_url;
+ }
+
+ public void setDelete_url(String delete_url) {
+ this.delete_url = delete_url;
+ }
+
+ @Column(name="C_DELETE_TYPE")
+ public String getDelete_type() {
+ return delete_type;
+ }
+
+ public void setDelete_type(String delete_type) {
+ this.delete_type = delete_type;
+ }
+
+ /*
+ * Extend Bean Field
+ */
+ private Boolean copyBooleanValue;
+
+ @Transient
+ public Boolean getCopyBooleanValue() {
+ copyBooleanValue = false;
+ if (this.getCopy() == 0) {
+ copyBooleanValue = false;
+ } else {
+ copyBooleanValue = true;
+ }
+ return copyBooleanValue;
+ }
+
+ public void setCopyBooleanValue(Boolean copyBooleanValue) {
+ this.copyBooleanValue = copyBooleanValue;
+ }
+
+ @Override
+ public void setFieldFromNewInstance(T paramInstance) {
+ if( paramInstance instanceof JsTreeHibernateDTO){
+ if(paramInstance.isCopied()) {
+ this.setC_title("copy_" + this.getC_title());
+ }
+ }
+ }
+}
Index: web-module/src/main/java/egovframework/api/arms/module_filerepository/service/FileRepository.java
===================================================================
diff -u
--- web-module/src/main/java/egovframework/api/arms/module_filerepository/service/FileRepository.java (revision 0)
+++ web-module/src/main/java/egovframework/api/arms/module_filerepository/service/FileRepository.java (revision f41ba65b84ac704a0b3c88ac2094e32539165890)
@@ -0,0 +1,20 @@
+/*
+ * @author Dongmin.lee
+ * @since 2022-11-04
+ * @version 22.11.04
+ * @see
+ * Copyright (C) 2007 by 313 DEV GRP, Inc - All Rights Reserved
+ * Unauthorized copying of this file, via any medium is strictly prohibited
+ * Proprietary and confidential
+ * Written by 313 developer group <313@313.co.kr>, December 2010
+ *
+ */
+package egovframework.api.arms.module_filerepository.service;
+
+import egovframework.com.ext.jstree.springHibernate.core.service.JsTreeHibernateService;
+
+public interface FileRepository extends JsTreeHibernateService {
+
+
+
+}
\ No newline at end of file
Index: web-module/src/main/java/egovframework/api/arms/module_filerepository/service/FileRepositoryImpl.java
===================================================================
diff -u
--- web-module/src/main/java/egovframework/api/arms/module_filerepository/service/FileRepositoryImpl.java (revision 0)
+++ web-module/src/main/java/egovframework/api/arms/module_filerepository/service/FileRepositoryImpl.java (revision f41ba65b84ac704a0b3c88ac2094e32539165890)
@@ -0,0 +1,22 @@
+/*
+ * @author Dongmin.lee
+ * @since 2022-11-04
+ * @version 22.11.04
+ * @see
+ * Copyright (C) 2007 by 313 DEV GRP, Inc - All Rights Reserved
+ * Unauthorized copying of this file, via any medium is strictly prohibited
+ * Proprietary and confidential
+ * Written by 313 developer group <313@313.co.kr>, December 2010
+ *
+ */
+package egovframework.api.arms.module_filerepository.service;
+
+import egovframework.com.ext.jstree.springHibernate.core.service.JsTreeHibernateServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("fileRepository")
+public class FileRepositoryImpl extends JsTreeHibernateServiceImpl implements FileRepository{
+
+
+
+}
\ No newline at end of file
Index: web-module/src/main/java/egovframework/api/arms/module_pdservice/controller/UserPdServiceController.java
===================================================================
diff -u -rd1e1d0cfc526020e00f75a75ab7548a419f6ee05 -rf41ba65b84ac704a0b3c88ac2094e32539165890
--- web-module/src/main/java/egovframework/api/arms/module_pdservice/controller/UserPdServiceController.java (.../UserPdServiceController.java) (revision d1e1d0cfc526020e00f75a75ab7548a419f6ee05)
+++ web-module/src/main/java/egovframework/api/arms/module_pdservice/controller/UserPdServiceController.java (.../UserPdServiceController.java) (revision f41ba65b84ac704a0b3c88ac2094e32539165890)
@@ -11,8 +11,13 @@
*/
package egovframework.api.arms.module_pdservice.controller;
-import egovframework.api.arms.module_pdversion.model.PdVersionDTO;
-import egovframework.com.ext.jstree.springHibernate.core.validation.group.UpdateNode;
+import egovframework.api.arms.module_filerepository.model.FileRepositoryDTO;
+import egovframework.api.arms.module_filerepository.service.FileRepository;
+import egovframework.api.arms.module_pdservice.model.PdServiceDTO;
+import egovframework.api.arms.module_pdservice.service.PdService;
+import egovframework.api.arms.util.PropertiesReader;
+import egovframework.com.ext.jstree.springHibernate.core.controller.SHVAbstractController;
+import egovframework.com.ext.jstree.support.util.ParameterParser;
import egovframework.com.utl.fcc.service.EgovFileUploadUtil;
import egovframework.com.utl.fcc.service.EgovFormBasedFileVo;
import lombok.extern.slf4j.Slf4j;
@@ -22,29 +27,18 @@
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.ObjectUtils;
import org.springframework.validation.BindingResult;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
+
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
-import java.lang.reflect.Field;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.NoSuchElementException;
-import egovframework.com.ext.jstree.springHibernate.core.controller.SHVAbstractController;
-
-import egovframework.api.arms.module_pdservice.model.PdServiceDTO;
-import egovframework.api.arms.module_pdservice.service.PdService;
-
@Slf4j
@Controller
@CrossOrigin(origins = "http://localhost:9999")
@@ -55,6 +49,10 @@
@Qualifier("pdService")
private PdService pdService;
+ @Autowired
+ @Qualifier("fileRepository")
+ private FileRepository fileRepository;
+
@PostConstruct
public void initialize() {
setJsTreeHibernateService(pdService);
@@ -107,15 +105,54 @@
*/
@ResponseBody
@RequestMapping(value="/uploadFileToNode.do")
- public ModelAndView uploadFileToNode(final MultipartHttpServletRequest multiRequest, Model model) throws Exception {
+ public ModelAndView uploadFileToNode(final MultipartHttpServletRequest multiRequest, @RequestParam("fileIdLink") Long fileIdLink, Model model) throws Exception {
+
+ logger.info("fileIdLink -> " + fileIdLink);
+
// Spring multipartResolver 미사용 시 (commons-fileupload 활용)
//List list = EgovFormBasedFileUtil.uploadFiles(request, uploadDir, maxFileSize);
// Spring multipartResolver 사용시
- String uploadDir = "";
+ PropertiesReader propertiesReader = new PropertiesReader("egovframework/egovProps/globals.properties");
+ String uploadDir = propertiesReader.getProperty("Globals.fileStorePath");
long maxFileSize = new Long(313);
List list = EgovFileUploadUtil.uploadFiles(multiRequest, uploadDir, maxFileSize);
+ for ( EgovFormBasedFileVo egovFormBasedFileVo : list) {
+
+ FileRepositoryDTO fileRepositoryDTO = new FileRepositoryDTO();
+ fileRepositoryDTO.setFileName(egovFormBasedFileVo.getFileName());
+ fileRepositoryDTO.setContentType(egovFormBasedFileVo.getContentType());
+ fileRepositoryDTO.setServerSubPath(egovFormBasedFileVo.getServerSubPath());
+ fileRepositoryDTO.setPhysicalName(egovFormBasedFileVo.getPhysicalName());
+ fileRepositoryDTO.setSize(egovFormBasedFileVo.getSize());
+ fileRepositoryDTO.setName(egovFormBasedFileVo.getName());
+
+ fileRepositoryDTO.setUrl(egovFormBasedFileVo.getUrl());
+ //TODO: 썸네일 개발 필요
+ fileRepositoryDTO.setThumbnailUrl(egovFormBasedFileVo.getThumbnailUrl());
+
+ fileRepositoryDTO.setDelete_url(egovFormBasedFileVo.getDelete_url());
+ fileRepositoryDTO.setDelete_type(egovFormBasedFileVo.getDelete_type());
+ fileRepositoryDTO.setFileIdLink(fileIdLink);
+
+ fileRepositoryDTO.setRef(new Long(1));
+ fileRepositoryDTO.setC_title("pdService");
+ fileRepositoryDTO.setC_type("default");
+
+ FileRepositoryDTO returnFileRepositoryDTO = fileRepository.addNode(fileRepositoryDTO);
+ //delete 파라미터인 id 값을 업데이트 치기 위해서.
+ fileRepositoryDTO.setUrl("/auth-user/api/arms/fileRepository" + "/downloadFileByNode/" + returnFileRepositoryDTO.getId());
+ fileRepositoryDTO.setThumbnailUrl("/auth-user/api/arms/fileRepository" + "/thumbnailUrlFileToNode/" + returnFileRepositoryDTO.getId());
+ fileRepositoryDTO.setDelete_url("/auth-user/api/arms/fileRepository" + "/deleteFileByNode/" + returnFileRepositoryDTO.getId());
+
+ fileRepository.updateNode(fileRepositoryDTO);
+
+ egovFormBasedFileVo.setUrl("/auth-user/api/arms/fileRepository" + "/downloadFileByNode/" + returnFileRepositoryDTO.getId());
+ egovFormBasedFileVo.setThumbnailUrl("/auth-user/api/arms/fileRepository" + "/thumbnailUrlFileToNode/" + returnFileRepositoryDTO.getId());
+ egovFormBasedFileVo.setDelete_url("/auth-user/api/arms/fileRepository" + "/deleteFileByNode/" + returnFileRepositoryDTO.getId());
+
+ }
if (list.size() > 0) {
EgovFormBasedFileVo vo = list.get(0); // 첫번째 이미지
@@ -128,7 +165,7 @@
//model.addAttribute("CKEditorFuncNum", request.getParameter("CKEditorFuncNum"));
//model.addAttribute("url", url);
}
- HashMap> map = new HashMap>();
+ HashMap> map = new HashMap();
map.put("files", list);
ModelAndView modelAndView = new ModelAndView("jsonView");
modelAndView.addObject("result", map);
@@ -162,4 +199,17 @@
return modelAndView;
}
+ // 신규 제품(서비스) 등록시
+ // 1. addNode 하고
+ // 2. 화면에서 받아서 처리 한 후에
+ // 3. 등록된 파일 리스트 등록
+
+ // 제품(서비스) 업데이트 시
+ // 1. alterNode 하고
+ // 2. 화면에서 ok 받으면
+ // 3. 등록된 파일 리스트 등록
+
+ // 제품(서비스) 선택 시
+ // 1. getNode 하고
+ // 2. getFiles 하고
}
\ No newline at end of file
Index: web-module/src/main/java/egovframework/api/arms/module_pdservice/model/PdServiceDTO.java
===================================================================
diff -u -rd651dc3e5af18b44fa713fcfd23324c2c685d28b -rf41ba65b84ac704a0b3c88ac2094e32539165890
--- web-module/src/main/java/egovframework/api/arms/module_pdservice/model/PdServiceDTO.java (.../PdServiceDTO.java) (revision d651dc3e5af18b44fa713fcfd23324c2c685d28b)
+++ web-module/src/main/java/egovframework/api/arms/module_pdservice/model/PdServiceDTO.java (.../PdServiceDTO.java) (revision f41ba65b84ac704a0b3c88ac2094e32539165890)
@@ -172,127 +172,18 @@
this.c_writer_date = c_writer_date;
}
- private String c_filepath;
+ private Long c_fileid_link;
- @Column(name="C_FILEPATH")
- public String getC_filepath() {
- return c_filepath;
+ @Column(name="C_FILEID_LINK")
+ public Long getC_fileid_link() {
+ return c_fileid_link;
}
- public void setC_filepath(String c_filepath) {
- this.c_filepath = c_filepath;
+ public void setC_fileid_link(Long c_fileid_link) {
+ this.c_fileid_link = c_fileid_link;
}
- private String c_filename01;
- @Column(name="C_FILENAME01")
- public String getC_filename01() {
- return c_filename01;
- }
-
- public void setC_filename01(String c_filename01) {
- this.c_filename01 = c_filename01;
- }
-
- private String c_filename02;
-
- @Column(name="C_FILENAME02")
- public String getC_filename02() {
- return c_filename02;
- }
-
- public void setC_filename02(String c_filename02) {
- this.c_filename02 = c_filename02;
- }
-
- private String c_filename03;
-
- @Column(name="C_FILENAME03")
- public String getC_filename03() {
- return c_filename03;
- }
-
- public void setC_filename03(String c_filename03) {
- this.c_filename03 = c_filename03;
- }
-
- private String c_filename04;
-
- @Column(name="C_FILENAME04")
- public String getC_filename04() {
- return c_filename04;
- }
-
- public void setC_filename04(String c_filename04) {
- this.c_filename04 = c_filename04;
- }
-
- private String c_filename05;
-
- @Column(name="C_FILENAME05")
- public String getC_filename05() {
- return c_filename05;
- }
-
- public void setC_filename05(String c_filename05) {
- this.c_filename05 = c_filename05;
- }
-
- private String c_filename06;
-
- @Column(name="C_FILENAME06")
- public String getC_filename06() {
- return c_filename06;
- }
-
- public void setC_filename06(String c_filename06) {
- this.c_filename06 = c_filename06;
- }
-
- private String c_filename07;
-
- @Column(name="C_FILENAME07")
- public String getC_filename07() {
- return c_filename07;
- }
-
- public void setC_filename07(String c_filename07) {
- this.c_filename07 = c_filename07;
- }
-
- private String c_filename08;
-
- @Column(name="C_FILENAME08")
- public String getC_filename08() {
- return c_filename08;
- }
-
- public void setC_filename08(String c_filename08) {
- this.c_filename08 = c_filename08;
- }
-
- private String c_filename09;
-
- @Column(name="C_FILENAME09")
- public String getC_filename09() {
- return c_filename09;
- }
-
- public void setC_filename09(String c_filename09) {
- this.c_filename09 = c_filename09;
- }
-
- private String c_filename10;
-
- @Column(name="C_FILENAME10")
- public String getC_filename10() {
- return c_filename10;
- }
-
- public void setC_filename10(String c_filename10) {
- this.c_filename10 = c_filename10;
- }
-
/*
* Extend Bean Field
*/
Index: web-module/src/main/webapp/WEB-INF/web.xml
===================================================================
diff -u -r56c3311d9585c75c1f6de902e7a6dd893bf698ee -rf41ba65b84ac704a0b3c88ac2094e32539165890
--- web-module/src/main/webapp/WEB-INF/web.xml (.../web.xml) (revision 56c3311d9585c75c1f6de902e7a6dd893bf698ee)
+++ web-module/src/main/webapp/WEB-INF/web.xml (.../web.xml) (revision f41ba65b84ac704a0b3c88ac2094e32539165890)
@@ -127,7 +127,7 @@
- 60
+ 30