refactor:대용량 솔루션 insert 전용 생성
This commit is contained in:
parent
dabdcb34cd
commit
bb3fcb3159
@ -23,5 +23,8 @@ import kcc.kccadr.cmm.RestResponse;
|
||||
*/
|
||||
public interface InnorixFileService {
|
||||
|
||||
RestResponse insertInnorixFileAjax(AdrInnorixFileVO adrInnorixFileVO) throws FdlException, Exception;
|
||||
RestResponse insertInnorixFileAndRpplAjax(AdrInnorixFileVO adrInnorixFileVO) throws FdlException, Exception;
|
||||
|
||||
RestResponse insertInnorixFile(AdrInnorixFileVO adrInnorixFileVO);
|
||||
|
||||
}
|
||||
|
||||
@ -1,296 +1,309 @@
|
||||
package kcc.com.cmm.service.impl;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.dreamsecurity.magicline.util.Log;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import egovframework.rte.fdl.cmmn.exception.FdlException;
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import kcc.com.cmm.service.AdrInnorixFileEnumVO;
|
||||
import kcc.com.cmm.service.AdrInnorixFileVO;
|
||||
import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.FileVO;
|
||||
import kcc.com.cmm.service.InnorixFileService;
|
||||
import kcc.com.cmm.service.InnorixFileVO;
|
||||
import kcc.com.cmm.web.InnorixFileController;
|
||||
import kcc.kccadr.accdnt.ans.service.AnsVO;
|
||||
import kcc.kccadr.accdnt.ans.service.impl.AnsDAO;
|
||||
import kcc.kccadr.advc.service.impl.AdrHstryMgrDAO;
|
||||
import kcc.kccadr.cmm.RestResponse;
|
||||
import kcc.let.utl.fcc.service.EgovStringUtil;
|
||||
|
||||
/**
|
||||
* @Class Name : EgovCmmUseServiceImpl.java
|
||||
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스
|
||||
* @Modification Information
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- ------- -------------------
|
||||
* 2009. 3. 11. 이삼섭
|
||||
*
|
||||
* @author 공통 서비스 개발팀 이삼섭
|
||||
* @since 2009. 3. 11.
|
||||
* @version
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
@Service("InnorixFileService")
|
||||
public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements InnorixFileService {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(InnorixFileServiceImpl.class);
|
||||
|
||||
@Resource(name = "InnorixFileDAO")
|
||||
private InnorixFileDAO innorixDAO;
|
||||
|
||||
@Resource(name = "FileManageDAO")
|
||||
private FileManageDAO fileManageDAO;
|
||||
|
||||
@Value("#{globalSettings['Globals.Innorix.FilePath']}")
|
||||
private String INNO_FILE_PATH;
|
||||
|
||||
@Resource(name = "ansDAO")
|
||||
private AnsDAO ansDAO;
|
||||
|
||||
// 조정사건이력관리 DAO
|
||||
@Resource(name = "adrHstryMgrDAO")
|
||||
private AdrHstryMgrDAO adrHstryMgrDAO;
|
||||
|
||||
@Resource(name = "egovFileIdGnrService")
|
||||
private EgovIdGnrService idgenService;
|
||||
|
||||
//답변서 idgen 서비스
|
||||
@Resource(name = "egovRldMgrManageGnrService")
|
||||
private EgovIdGnrService egovRldMgrManageGnrService;
|
||||
|
||||
// 첨부파일 정보
|
||||
@Resource(name="EgovFileMngService")
|
||||
private EgovFileMngService fileMngService;
|
||||
|
||||
@Override
|
||||
public RestResponse insertInnorixFileAjax(AdrInnorixFileVO adrInnorixFileListVO) throws FdlException, Exception {
|
||||
|
||||
try {
|
||||
AdrInnorixFileEnumVO innorixEnumVO = AdrInnorixFileEnumVO.valueOf(adrInnorixFileListVO.getJspFileName());
|
||||
adrInnorixFileListVO = innorixEnumVO.conversion(innorixEnumVO, adrInnorixFileListVO);
|
||||
|
||||
// 파일 저장 후 atchFileId 받아옴
|
||||
if("INSERT".equals(adrInnorixFileListVO.getMode()))
|
||||
adrInnorixFileListVO.setAtchFileId(this.insertFileData(adrInnorixFileListVO));
|
||||
if("UPDATE".equals(adrInnorixFileListVO.getMode()))
|
||||
adrInnorixFileListVO.setAtchFileId(this.updateFileData(adrInnorixFileListVO));
|
||||
|
||||
log.info("adrInnorixFileListVO.isAdrRpplDoc() :: [{}]", adrInnorixFileListVO.isAdrRpplDoc());
|
||||
|
||||
if(adrInnorixFileListVO.isAdrRpplDoc())
|
||||
adrInnorixFileListVO.setRpplDocSeq(this.insertAdrRpplDoc(adrInnorixFileListVO));
|
||||
|
||||
// P_code_desc가 없으면 이력을 넣지 않음.
|
||||
if(StringUtils.isNotEmpty(adrInnorixFileListVO.getP_code_desc()))
|
||||
this.ansSubmitAjax(adrInnorixFileListVO);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
|
||||
}
|
||||
|
||||
System.out.println("adrInnorixFileListVO :: "+ adrInnorixFileListVO.getSuccessMsg());
|
||||
return new RestResponse(HttpStatus.OK, adrInnorixFileListVO.getSuccessMsg(), adrInnorixFileListVO.getAtchFileId(),LocalDateTime.now());
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : fileDataUpload
|
||||
* @author : 이호영
|
||||
* @date : 2022.11.04
|
||||
* @description : 파일정보 업로드
|
||||
* @param innorixVO
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public String insertFileData(AdrInnorixFileVO innorixVO) throws Exception {
|
||||
|
||||
|
||||
String atchFileId = idgenService.getNextStringId();
|
||||
|
||||
List<FileVO> result = this.fileChange(innorixVO, atchFileId, 0);
|
||||
|
||||
// 파일 업로드
|
||||
fileManageDAO.insertFileInfs(result);
|
||||
|
||||
return atchFileId;
|
||||
}
|
||||
|
||||
public String updateFileData(AdrInnorixFileVO innorixVO) throws Exception {
|
||||
|
||||
|
||||
String atchFileId = innorixVO.getAtchFileId();
|
||||
|
||||
|
||||
FileVO fvo = new FileVO();
|
||||
fvo.setAtchFileId(atchFileId);
|
||||
int fileSn = fileMngService.getMaxFileSN(fvo);
|
||||
|
||||
List<FileVO> result = this.fileChange(innorixVO, atchFileId, fileSn);
|
||||
|
||||
|
||||
// 파일 업로드
|
||||
fileManageDAO.updateFileInfs(result);
|
||||
|
||||
return atchFileId;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private List<FileVO> fileChange(AdrInnorixFileVO innorixVO, String atchFileId, int fileSn) {
|
||||
|
||||
List<FileVO> result = new ArrayList<FileVO>();
|
||||
log.info(" file data 반복문 시작 :: [{}]", innorixVO.getInnorixFileListVO().size());
|
||||
for(InnorixFileVO innorixFileVO : innorixVO.getInnorixFileListVO())
|
||||
{
|
||||
FileVO fileVO = new FileVO();
|
||||
// new 파일명
|
||||
String newName = innorixVO.getP_file_nm_prefix() + EgovStringUtil.getTimeStamp();
|
||||
|
||||
log.info("[{}]번쨰 newName :: [{}]", fileSn, newName);
|
||||
|
||||
String oriFullPath = INNO_FILE_PATH + innorixFileVO.getServerFileName();
|
||||
String newFullPath = INNO_FILE_PATH + newName;
|
||||
|
||||
try {
|
||||
File orifile = FileUtils.getFile(oriFullPath);
|
||||
File newfile = FileUtils.getFile(newFullPath);
|
||||
FileUtils.moveFile(orifile, newfile);
|
||||
} catch (IOException e) {
|
||||
log.info("파일명 수정 실패 :: [{}] ==> [{}]", oriFullPath, newFullPath );
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
fileVO.setAtchFileId(atchFileId);
|
||||
fileVO.setFileSn(Integer.toString(fileSn));
|
||||
fileVO.setFileStreCours(INNO_FILE_PATH);
|
||||
fileVO.setStreFileNm(newName);
|
||||
fileVO.setOrignlFileNm(innorixFileVO.getServerFileName());
|
||||
fileVO.setFileExtsn(FilenameUtils.getExtension(oriFullPath));
|
||||
fileVO.setFileMg(Integer.toString(innorixFileVO.getFileSize()));
|
||||
|
||||
result.add(fileVO);
|
||||
|
||||
fileSn++;
|
||||
|
||||
}
|
||||
log.info(" // file data 반복문 끝 ");
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : updateAdrRpplDoc
|
||||
* @author : 이호영
|
||||
* @date : 2022.11.04
|
||||
* @description : ADR_RPPL_DOC 테이블에 데이터 업로드
|
||||
* @param adrInnorixFileListVO
|
||||
* @param fileNextId
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
private String insertAdrRpplDoc(AdrInnorixFileVO adrInnorixFileListVO) throws Exception {
|
||||
// RpplDoc Insert
|
||||
log.info("RpplDoc Insert ");
|
||||
AnsVO ansVO = new AnsVO();
|
||||
ansVO.setAdrSeq(adrInnorixFileListVO.getAdrSeq());
|
||||
// adrSn이 비여있으면 과거사건등록문서라 "1"이 고정으로 들어감
|
||||
ansVO.setAdrSn(StringUtils.isEmpty(adrInnorixFileListVO.getAdrSn()) ? "1" : adrInnorixFileListVO.getAdrSn());
|
||||
ansVO.setRpplDocSeq(egovRldMgrManageGnrService.getNextStringId());
|
||||
ansVO.setAdrDocTy(adrInnorixFileListVO.getAdrDocTy());
|
||||
ansVO.setAtchFileId(adrInnorixFileListVO.atchFileId);
|
||||
ansVO.setRpplSeq(adrInnorixFileListVO.getRpplSeq());
|
||||
ansVO.setFrstRegistPnttm(adrInnorixFileListVO.getFrstRegistPnttm());
|
||||
ansVO.setFrstRegisterId(adrInnorixFileListVO.getFrstRegisterId());
|
||||
ansVO.setLastUpdtPnttm(adrInnorixFileListVO.getFrstRegistPnttm());
|
||||
ansVO.setLastUpdusrId(adrInnorixFileListVO.getLastUpdusrId());
|
||||
ansDAO.ansSubmitAjax_setp1(ansVO);
|
||||
|
||||
log.info(" + ansVO.getRpplDocSeq() :: [{}]", ansVO.getRpplDocSeq());
|
||||
return ansVO.getRpplDocSeq();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void ansSubmitAjax(AdrInnorixFileVO adrInnorixFileListVO) throws Exception {
|
||||
|
||||
AnsVO ansVO = new AnsVO();
|
||||
|
||||
// ansDAO.ansSubmitAjax_setp2()를 위한 VO 생성
|
||||
// 기존 메소드를 타기위해 생성
|
||||
ansVO.setAdrSeq(adrInnorixFileListVO.getAdrSeq());
|
||||
ansVO.setAdrSn(adrInnorixFileListVO.getAdrSn());
|
||||
ansVO.setAdrDocTy(adrInnorixFileListVO.getAdrDocTy());
|
||||
ansVO.setRpplSeq(adrInnorixFileListVO.getRpplSeq());
|
||||
ansVO.setAdrDocCn1(adrInnorixFileListVO.getAdrDocCn1());
|
||||
ansVO.setOpenYn(adrInnorixFileListVO.getOpenYn());
|
||||
ansVO.setAtchFileId(adrInnorixFileListVO.getAtchFileId());
|
||||
ansVO.setFrstRegisterId(adrInnorixFileListVO.getFrstRegisterId());
|
||||
ansVO.setLastUpdusrId(adrInnorixFileListVO.getLastUpdusrId());
|
||||
// ansDAO.ansSubmitAjax_setp2()를 위한 VO 생성
|
||||
|
||||
ansVO.setRpplDocSeq(adrInnorixFileListVO.getRpplDocSeq());
|
||||
|
||||
adrHstryMgrDAO.insert4Func(adrInnorixFileListVO.getAdrSeq()
|
||||
//, "상태코드수정"
|
||||
, adrInnorixFileListVO.getP_code_desc() //, "조정진행관리>>조정진행목록>조정진행상세>사건문서>P>문서등록" //String p_code_desc - CC199
|
||||
//, adjReqMgrVO.getStatCd()
|
||||
, adrInnorixFileListVO.getP_stat_cd() // , "A160" //String p_stat_cd
|
||||
|
||||
, adrInnorixFileListVO.getFrstRegisterId()
|
||||
, adrInnorixFileListVO.getLastUpdusrId()
|
||||
, adrInnorixFileListVO.getP_adrHstryMgrSeq() //, String p_adrHstryMgrSeq , ""
|
||||
, "I" //, String p_useCd I/U/UI/II/RE
|
||||
, "ADR_RPPL_DOC" //, String p_tableName
|
||||
, " WHERE 1=1 AND adr_seq='"+adrInnorixFileListVO.getAdrSeq()
|
||||
+"' AND adr_sn='"+adrInnorixFileListVO.getAdrSn()
|
||||
+"' AND rppl_doc_seq='"+adrInnorixFileListVO.getRpplDocSeq()
|
||||
+"' " //, String p_updateQuery
|
||||
|
||||
);
|
||||
|
||||
ansDAO.ansSubmitAjax_setp2(ansVO); //ADR_RPPL_DOC_OPEN // 공계여부
|
||||
|
||||
|
||||
|
||||
//adr_hstry_mgr에 값 넣기 - 시작
|
||||
adrHstryMgrDAO.insert4Func(adrInnorixFileListVO.getAdrSeq()
|
||||
//, "상태코드수정"
|
||||
, adrInnorixFileListVO.getP_code_desc()
|
||||
//, adjReqMgrVO.getStatCd()
|
||||
, adrInnorixFileListVO.getP_stat_cd()
|
||||
|
||||
, adrInnorixFileListVO.getFrstRegisterId()
|
||||
, adrInnorixFileListVO.getLastUpdusrId()
|
||||
|
||||
, adrInnorixFileListVO.getP_adrHstryMgrSeq() //, String p_adrHstryMgrSeq
|
||||
, "I" //, String p_useCd I/U/UI/II/RE
|
||||
, "ADR_RPPL_DOC_OPEN" //, String p_tableName
|
||||
, " WHERE 1=1 AND adr_seq='"+adrInnorixFileListVO.getAdrSeq()
|
||||
+"' AND adr_sn='"+adrInnorixFileListVO.getAdrSn()
|
||||
+"' AND rppl_doc_seq='"+adrInnorixFileListVO.getRpplDocSeq()
|
||||
+"' AND rppl_seq='"+adrInnorixFileListVO.getRpplSeq()
|
||||
+"' " //, String p_updateQuery
|
||||
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
package kcc.com.cmm.service.impl;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.dreamsecurity.magicline.util.Log;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import egovframework.rte.fdl.cmmn.exception.FdlException;
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import kcc.com.cmm.service.AdrInnorixFileEnumVO;
|
||||
import kcc.com.cmm.service.AdrInnorixFileVO;
|
||||
import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.FileVO;
|
||||
import kcc.com.cmm.service.InnorixFileService;
|
||||
import kcc.com.cmm.service.InnorixFileVO;
|
||||
import kcc.com.cmm.web.InnorixFileController;
|
||||
import kcc.kccadr.accdnt.ans.service.AnsVO;
|
||||
import kcc.kccadr.accdnt.ans.service.impl.AnsDAO;
|
||||
import kcc.kccadr.advc.service.impl.AdrHstryMgrDAO;
|
||||
import kcc.kccadr.cmm.RestResponse;
|
||||
import kcc.let.utl.fcc.service.EgovStringUtil;
|
||||
|
||||
/**
|
||||
* @Class Name : EgovCmmUseServiceImpl.java
|
||||
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스
|
||||
* @Modification Information
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- ------- -------------------
|
||||
* 2009. 3. 11. 이삼섭
|
||||
*
|
||||
* @author 공통 서비스 개발팀 이삼섭
|
||||
* @since 2009. 3. 11.
|
||||
* @version
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
@Service("InnorixFileService")
|
||||
public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements InnorixFileService {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(InnorixFileServiceImpl.class);
|
||||
|
||||
@Resource(name = "InnorixFileDAO")
|
||||
private InnorixFileDAO innorixDAO;
|
||||
|
||||
@Resource(name = "FileManageDAO")
|
||||
private FileManageDAO fileManageDAO;
|
||||
|
||||
@Value("#{globalSettings['Globals.Innorix.FilePath']}")
|
||||
private String INNO_FILE_PATH;
|
||||
|
||||
@Resource(name = "ansDAO")
|
||||
private AnsDAO ansDAO;
|
||||
|
||||
// 조정사건이력관리 DAO
|
||||
@Resource(name = "adrHstryMgrDAO")
|
||||
private AdrHstryMgrDAO adrHstryMgrDAO;
|
||||
|
||||
@Resource(name = "egovFileIdGnrService")
|
||||
private EgovIdGnrService idgenService;
|
||||
|
||||
//답변서 idgen 서비스
|
||||
@Resource(name = "egovRldMgrManageGnrService")
|
||||
private EgovIdGnrService egovRldMgrManageGnrService;
|
||||
|
||||
// 첨부파일 정보
|
||||
@Resource(name="EgovFileMngService")
|
||||
private EgovFileMngService fileMngService;
|
||||
|
||||
@Override
|
||||
public RestResponse insertInnorixFileAndRpplAjax(AdrInnorixFileVO adrInnorixFileVO) throws FdlException, Exception {
|
||||
|
||||
try {
|
||||
AdrInnorixFileEnumVO innorixEnumVO = AdrInnorixFileEnumVO.valueOf(adrInnorixFileVO.getJspFileName());
|
||||
adrInnorixFileVO = innorixEnumVO.conversion(innorixEnumVO, adrInnorixFileVO);
|
||||
|
||||
// 파일 저장 후 atchFileId 받아옴
|
||||
if("INSERT".equals(adrInnorixFileVO.getMode()))
|
||||
adrInnorixFileVO.setAtchFileId(this.insertFileData(adrInnorixFileVO));
|
||||
if("UPDATE".equals(adrInnorixFileVO.getMode()))
|
||||
adrInnorixFileVO.setAtchFileId(this.updateFileData(adrInnorixFileVO));
|
||||
|
||||
log.info("adrInnorixFileListVO.isAdrRpplDoc() :: [{}]", adrInnorixFileVO.isAdrRpplDoc());
|
||||
|
||||
if(adrInnorixFileVO.isAdrRpplDoc())
|
||||
adrInnorixFileVO.setRpplDocSeq(this.insertAdrRpplDoc(adrInnorixFileVO));
|
||||
|
||||
// P_code_desc가 없으면 이력을 넣지 않음.
|
||||
if(StringUtils.isNotEmpty(adrInnorixFileVO.getP_code_desc()))
|
||||
this.ansSubmitAjax(adrInnorixFileVO);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
|
||||
}
|
||||
|
||||
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), adrInnorixFileVO.getAtchFileId(),LocalDateTime.now());
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : fileDataUpload
|
||||
* @author : 이호영
|
||||
* @date : 2022.11.04
|
||||
* @description : 파일정보 업로드
|
||||
* @param innorixVO
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public String insertFileData(AdrInnorixFileVO innorixVO) throws Exception {
|
||||
|
||||
|
||||
String atchFileId = idgenService.getNextStringId();
|
||||
|
||||
List<FileVO> result = this.fileChange(innorixVO, atchFileId, 0);
|
||||
|
||||
// 파일 업로드
|
||||
fileManageDAO.insertFileInfs(result);
|
||||
|
||||
return atchFileId;
|
||||
}
|
||||
|
||||
public String updateFileData(AdrInnorixFileVO innorixVO) throws Exception {
|
||||
|
||||
|
||||
String atchFileId = innorixVO.getAtchFileId();
|
||||
|
||||
|
||||
FileVO fvo = new FileVO();
|
||||
fvo.setAtchFileId(atchFileId);
|
||||
int fileSn = fileMngService.getMaxFileSN(fvo);
|
||||
|
||||
List<FileVO> result = this.fileChange(innorixVO, atchFileId, fileSn);
|
||||
|
||||
|
||||
// 파일 업로드
|
||||
fileManageDAO.updateFileInfs(result);
|
||||
|
||||
return atchFileId;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private List<FileVO> fileChange(AdrInnorixFileVO innorixVO, String atchFileId, int fileSn) {
|
||||
|
||||
List<FileVO> result = new ArrayList<FileVO>();
|
||||
log.info(" file data 반복문 시작 :: [{}]", innorixVO.getInnorixFileListVO().size());
|
||||
for(InnorixFileVO innorixFileVO : innorixVO.getInnorixFileListVO())
|
||||
{
|
||||
FileVO fileVO = new FileVO();
|
||||
// new 파일명
|
||||
String newName = innorixVO.getP_file_nm_prefix() + EgovStringUtil.getTimeStamp();
|
||||
|
||||
log.info("[{}]번쨰 newName :: [{}]", fileSn, newName);
|
||||
|
||||
String oriFullPath = INNO_FILE_PATH + innorixFileVO.getServerFileName();
|
||||
String newFullPath = INNO_FILE_PATH + newName;
|
||||
|
||||
try {
|
||||
File orifile = FileUtils.getFile(oriFullPath);
|
||||
File newfile = FileUtils.getFile(newFullPath);
|
||||
FileUtils.moveFile(orifile, newfile);
|
||||
} catch (IOException e) {
|
||||
log.info("파일명 수정 실패 :: [{}] ==> [{}]", oriFullPath, newFullPath );
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
fileVO.setAtchFileId(atchFileId);
|
||||
fileVO.setFileSn(Integer.toString(fileSn));
|
||||
fileVO.setFileStreCours(INNO_FILE_PATH);
|
||||
fileVO.setStreFileNm(newName);
|
||||
fileVO.setOrignlFileNm(innorixFileVO.getServerFileName());
|
||||
fileVO.setFileExtsn(FilenameUtils.getExtension(oriFullPath));
|
||||
fileVO.setFileMg(Integer.toString(innorixFileVO.getFileSize()));
|
||||
|
||||
result.add(fileVO);
|
||||
|
||||
fileSn++;
|
||||
|
||||
}
|
||||
log.info(" // file data 반복문 끝 ");
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : updateAdrRpplDoc
|
||||
* @author : 이호영
|
||||
* @date : 2022.11.04
|
||||
* @description : ADR_RPPL_DOC 테이블에 데이터 업로드
|
||||
* @param adrInnorixFileListVO
|
||||
* @param fileNextId
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
private String insertAdrRpplDoc(AdrInnorixFileVO adrInnorixFileListVO) throws Exception {
|
||||
// RpplDoc Insert
|
||||
log.info("RpplDoc Insert ");
|
||||
AnsVO ansVO = new AnsVO();
|
||||
ansVO.setAdrSeq(adrInnorixFileListVO.getAdrSeq());
|
||||
// adrSn이 비여있으면 과거사건등록문서라 "1"이 고정으로 들어감
|
||||
ansVO.setAdrSn(StringUtils.isEmpty(adrInnorixFileListVO.getAdrSn()) ? "1" : adrInnorixFileListVO.getAdrSn());
|
||||
ansVO.setRpplDocSeq(egovRldMgrManageGnrService.getNextStringId());
|
||||
ansVO.setAdrDocTy(adrInnorixFileListVO.getAdrDocTy());
|
||||
ansVO.setAtchFileId(adrInnorixFileListVO.atchFileId);
|
||||
ansVO.setRpplSeq(adrInnorixFileListVO.getRpplSeq());
|
||||
ansVO.setFrstRegistPnttm(adrInnorixFileListVO.getFrstRegistPnttm());
|
||||
ansVO.setFrstRegisterId(adrInnorixFileListVO.getFrstRegisterId());
|
||||
ansVO.setLastUpdtPnttm(adrInnorixFileListVO.getFrstRegistPnttm());
|
||||
ansVO.setLastUpdusrId(adrInnorixFileListVO.getLastUpdusrId());
|
||||
ansDAO.ansSubmitAjax_setp1(ansVO);
|
||||
|
||||
log.info(" + ansVO.getRpplDocSeq() :: [{}]", ansVO.getRpplDocSeq());
|
||||
return ansVO.getRpplDocSeq();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void ansSubmitAjax(AdrInnorixFileVO adrInnorixFileListVO) throws Exception {
|
||||
|
||||
AnsVO ansVO = new AnsVO();
|
||||
|
||||
// ansDAO.ansSubmitAjax_setp2()를 위한 VO 생성
|
||||
// 기존 메소드를 타기위해 생성
|
||||
ansVO.setAdrSeq(adrInnorixFileListVO.getAdrSeq());
|
||||
ansVO.setAdrSn(adrInnorixFileListVO.getAdrSn());
|
||||
ansVO.setAdrDocTy(adrInnorixFileListVO.getAdrDocTy());
|
||||
ansVO.setRpplSeq(adrInnorixFileListVO.getRpplSeq());
|
||||
ansVO.setAdrDocCn1(adrInnorixFileListVO.getAdrDocCn1());
|
||||
ansVO.setOpenYn(adrInnorixFileListVO.getOpenYn());
|
||||
ansVO.setAtchFileId(adrInnorixFileListVO.getAtchFileId());
|
||||
ansVO.setFrstRegisterId(adrInnorixFileListVO.getFrstRegisterId());
|
||||
ansVO.setLastUpdusrId(adrInnorixFileListVO.getLastUpdusrId());
|
||||
// ansDAO.ansSubmitAjax_setp2()를 위한 VO 생성
|
||||
|
||||
ansVO.setRpplDocSeq(adrInnorixFileListVO.getRpplDocSeq());
|
||||
|
||||
adrHstryMgrDAO.insert4Func(adrInnorixFileListVO.getAdrSeq()
|
||||
//, "상태코드수정"
|
||||
, adrInnorixFileListVO.getP_code_desc() //, "조정진행관리>>조정진행목록>조정진행상세>사건문서>P>문서등록" //String p_code_desc - CC199
|
||||
//, adjReqMgrVO.getStatCd()
|
||||
, adrInnorixFileListVO.getP_stat_cd() // , "A160" //String p_stat_cd
|
||||
|
||||
, adrInnorixFileListVO.getFrstRegisterId()
|
||||
, adrInnorixFileListVO.getLastUpdusrId()
|
||||
, adrInnorixFileListVO.getP_adrHstryMgrSeq() //, String p_adrHstryMgrSeq , ""
|
||||
, "I" //, String p_useCd I/U/UI/II/RE
|
||||
, "ADR_RPPL_DOC" //, String p_tableName
|
||||
, " WHERE 1=1 AND adr_seq='"+adrInnorixFileListVO.getAdrSeq()
|
||||
+"' AND adr_sn='"+adrInnorixFileListVO.getAdrSn()
|
||||
+"' AND rppl_doc_seq='"+adrInnorixFileListVO.getRpplDocSeq()
|
||||
+"' " //, String p_updateQuery
|
||||
|
||||
);
|
||||
|
||||
ansDAO.ansSubmitAjax_setp2(ansVO); //ADR_RPPL_DOC_OPEN // 공계여부
|
||||
|
||||
|
||||
|
||||
//adr_hstry_mgr에 값 넣기 - 시작
|
||||
adrHstryMgrDAO.insert4Func(adrInnorixFileListVO.getAdrSeq()
|
||||
//, "상태코드수정"
|
||||
, adrInnorixFileListVO.getP_code_desc()
|
||||
//, adjReqMgrVO.getStatCd()
|
||||
, adrInnorixFileListVO.getP_stat_cd()
|
||||
|
||||
, adrInnorixFileListVO.getFrstRegisterId()
|
||||
, adrInnorixFileListVO.getLastUpdusrId()
|
||||
|
||||
, adrInnorixFileListVO.getP_adrHstryMgrSeq() //, String p_adrHstryMgrSeq
|
||||
, "I" //, String p_useCd I/U/UI/II/RE
|
||||
, "ADR_RPPL_DOC_OPEN" //, String p_tableName
|
||||
, " WHERE 1=1 AND adr_seq='"+adrInnorixFileListVO.getAdrSeq()
|
||||
+"' AND adr_sn='"+adrInnorixFileListVO.getAdrSn()
|
||||
+"' AND rppl_doc_seq='"+adrInnorixFileListVO.getRpplDocSeq()
|
||||
+"' AND rppl_seq='"+adrInnorixFileListVO.getRpplSeq()
|
||||
+"' " //, String p_updateQuery
|
||||
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public RestResponse insertInnorixFile(AdrInnorixFileVO adrInnorixFileVO) {
|
||||
|
||||
try {
|
||||
// 파일 저장 후 atchFileId 받아옴
|
||||
adrInnorixFileVO.setAtchFileId(this.insertFileData(adrInnorixFileVO));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
|
||||
}
|
||||
|
||||
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), adrInnorixFileVO.getAtchFileId(),LocalDateTime.now());
|
||||
}
|
||||
}
|
||||
|
||||
@ -54,7 +54,7 @@ public class InnorixFileController {
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value = {"/kccadr/common/insertInnorixFileAndRpplAjax.do"}, method = RequestMethod.POST)
|
||||
public ResponseEntity<RestResponse> insertInnorixFileAjax(@RequestBody AdrInnorixFileVO adrInnorixFileVO) throws Exception {
|
||||
public ResponseEntity<RestResponse> insertInnorixFileAndRpplAjax(@RequestBody AdrInnorixFileVO adrInnorixFileVO) throws Exception {
|
||||
|
||||
//로그인 권한정보 불러오기
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
@ -68,7 +68,25 @@ public class InnorixFileController {
|
||||
adrInnorixFileVO.setLastUpdusrId(userId);
|
||||
|
||||
|
||||
return ResponseEntity.ok(innorixService.insertInnorixFileAjax(adrInnorixFileVO));
|
||||
return ResponseEntity.ok(innorixService.insertInnorixFileAndRpplAjax(adrInnorixFileVO));
|
||||
}
|
||||
|
||||
@RequestMapping(value = {"/kccadr/common/insertInnorixFile.do"}, method = RequestMethod.POST)
|
||||
public ResponseEntity<RestResponse> insertInnorixFile(@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.setFrstRegisterId(userId);
|
||||
adrInnorixFileVO.setLastUpdusrId(userId);
|
||||
|
||||
|
||||
return ResponseEntity.ok(innorixService.insertInnorixFile(adrInnorixFileVO));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user