2024-03-06 12:45 이미지 명 변경
This commit is contained in:
parent
2cb7cb126e
commit
3f48a2c453
@ -33,6 +33,10 @@ public interface EgovFileMngService {
|
|||||||
|
|
||||||
//압축 다운로드를 위한 첨부파일 목록 조회
|
//압축 다운로드를 위한 첨부파일 목록 조회
|
||||||
public List<FileVO> selectZipFileList(FileVO fvo) throws Exception;
|
public List<FileVO> selectZipFileList(FileVO fvo) throws Exception;
|
||||||
|
|
||||||
|
//체험신청서 전용
|
||||||
|
public List<FileVO> selectZipFileExprnList(FileVO fvo) throws Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 하나의 파일에 대한 정보(속성 및 상세)를 등록한다.
|
* 하나의 파일에 대한 정보(속성 및 상세)를 등록한다.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -96,7 +96,27 @@ public class FileVO implements Serializable {
|
|||||||
|
|
||||||
public String orderQuery;
|
public String orderQuery;
|
||||||
|
|
||||||
public String getMaxFileNum() {
|
|
||||||
|
public String scholInsttNm; //학교기관이름
|
||||||
|
public String chrgNm; //담당자이름
|
||||||
|
|
||||||
|
public String getScholInsttNm() {
|
||||||
|
return scholInsttNm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setScholInsttNm(String scholInsttNm) {
|
||||||
|
this.scholInsttNm = scholInsttNm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getChrgNm() {
|
||||||
|
return chrgNm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChrgNm(String chrgNm) {
|
||||||
|
this.chrgNm = chrgNm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMaxFileNum() {
|
||||||
return maxFileNum;
|
return maxFileNum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,6 @@ import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
|||||||
import kcc.com.cmm.service.EgovFileMngService;
|
import kcc.com.cmm.service.EgovFileMngService;
|
||||||
import kcc.com.cmm.service.FileVO;
|
import kcc.com.cmm.service.FileVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRprtVO;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Class Name : EgovFileMngServiceImpl.java
|
* @Class Name : EgovFileMngServiceImpl.java
|
||||||
@ -95,6 +94,11 @@ public class EgovFileMngServiceImpl extends EgovAbstractServiceImpl implements E
|
|||||||
return fileMngDAO.selectZipFileList(fvo);
|
return fileMngDAO.selectZipFileList(fvo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<FileVO> selectZipFileExprnList(FileVO fvo) throws Exception {
|
||||||
|
return fileMngDAO.selectZipFileExprnList(fvo);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 여러 개의 파일에 대한 정보(속성 및 상세)를 수정한다.
|
* 여러 개의 파일에 대한 정보(속성 및 상세)를 수정한다.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -119,6 +119,11 @@ public class FileManageDAO extends EgovComAbstractDAO {
|
|||||||
return (List<FileVO>) list("FileManageDAO.selectZipFileList", vo);
|
return (List<FileVO>) list("FileManageDAO.selectZipFileList", vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public List<FileVO> selectZipFileExprnList(FileVO vo) throws Exception {
|
||||||
|
return (List<FileVO>) list("FileManageDAO.selectZipFileExprnList", vo);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 파일 구분자에 대한 최대값을 구한다.
|
* 파일 구분자에 대한 최대값을 구한다.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -15,6 +15,7 @@ import kcc.com.cmm.ComDefaultCodeVO;
|
|||||||
import kcc.com.cmm.ComDefaultVO;
|
import kcc.com.cmm.ComDefaultVO;
|
||||||
import kcc.com.cmm.service.CmmnDetailCode;
|
import kcc.com.cmm.service.CmmnDetailCode;
|
||||||
import kcc.com.cmm.service.EgovCmmUseService;
|
import kcc.com.cmm.service.EgovCmmUseService;
|
||||||
|
import kcc.com.cmm.service.FileVO;
|
||||||
import kcc.kccadr.sch.service.SchduleManageVO;
|
import kcc.kccadr.sch.service.SchduleManageVO;
|
||||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||||
import kcc.let.uss.umt.service.UserManageVO;
|
import kcc.let.uss.umt.service.UserManageVO;
|
||||||
@ -584,6 +585,25 @@ public class EgovCryptoUtil {
|
|||||||
// CndtnTrgtMngVO
|
// CndtnTrgtMngVO
|
||||||
//
|
//
|
||||||
|
|
||||||
|
//VEEduAplctVOList - 복호화
|
||||||
|
public List<FileVO> decryptFileVOList(List<FileVO> p_fileVOList){
|
||||||
|
|
||||||
|
for (int i=0;i<p_fileVOList.size();i++) {
|
||||||
|
FileVO fileVO = this.decryptFileVOInfo(p_fileVOList.get(i));
|
||||||
|
p_fileVOList.set(i, fileVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
return p_fileVOList;
|
||||||
|
}
|
||||||
|
|
||||||
|
//VEAQestnrVO
|
||||||
|
//VEAQestnrVO - 복호화
|
||||||
|
public FileVO decryptFileVOInfo(FileVO p_fileVO){
|
||||||
|
|
||||||
|
//if (!"".equals(p_vEAQestnrVO.getChrgNm())) p_vEAQestnrVO.setChrgNm(this.decrypt(p_vEAQestnrVO.getChrgNm()));
|
||||||
|
if (!"".equals(p_fileVO.getChrgNm())) p_fileVO.setChrgNm(this.decrypt(p_fileVO.getChrgNm()));
|
||||||
|
return p_fileVO;
|
||||||
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////
|
//////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
@ -670,5 +690,4 @@ public class EgovCryptoUtil {
|
|||||||
return vEPrcsDetailVOList;
|
return vEPrcsDetailVOList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -580,152 +580,160 @@ String[] order = {
|
|||||||
, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
|
|
||||||
|
|
||||||
vEEduAplctVO.setEduAplctOrdList(Arrays.asList(vEEduAplctVO.getChk().split(",")));
|
|
||||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectExprnAtchFileDownList(vEEduAplctVO);
|
|
||||||
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
|
||||||
//첨부파일있는 항목만 재배치
|
|
||||||
String orgnZipNm = "체험교실 신청서.zip";
|
|
||||||
String downloadType = "A";
|
|
||||||
//첨부파일있는 항목만 재배치
|
|
||||||
List<String> atchFileIdList = new ArrayList<String>();
|
|
||||||
vEEduAplctVOList.forEach( vo -> {
|
|
||||||
if(vo.getScholSealAtchFileId() != null) {
|
|
||||||
atchFileIdList.add(vo.getScholSealAtchFileId());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
List<VEEduAplctVO> fileYEduList = new ArrayList<VEEduAplctVO>();
|
|
||||||
vEEduAplctVOList.forEach( vo -> {
|
|
||||||
if(vo.getScholSealAtchFileId() != null) {
|
|
||||||
fileYEduList.add(vo);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
FileVO fileVO = new FileVO();
|
|
||||||
fileVO.setDownloadType(downloadType);
|
|
||||||
|
|
||||||
fileVO.setAtchFileIdList(atchFileIdList);
|
|
||||||
List<FileVO> fvoList = fileService.selectZipFileList(fileVO); // 해당 기능에 맞게 파일 조회
|
|
||||||
|
|
||||||
int size = 1024;
|
|
||||||
byte[] buf = new byte[size];
|
|
||||||
|
|
||||||
String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm;
|
|
||||||
FileInputStream fis = null;
|
|
||||||
ZipArchiveOutputStream zos = null;
|
|
||||||
BufferedInputStream bis = null;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int fileCnt = 0;
|
|
||||||
try {
|
try {
|
||||||
System.out.println("outZipNm : "+ outZipNm);
|
vEEduAplctVO.setEduAplctOrdList(Arrays.asList(vEEduAplctVO.getChk().split(",")));
|
||||||
// Zip 파일생성
|
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectExprnAtchFileDownList(vEEduAplctVO);
|
||||||
zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm)));
|
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
||||||
|
//첨부파일있는 항목만 재배치
|
||||||
Iterator<FileVO> fvoIterator = fvoList.iterator();
|
String orgnZipNm = "체험교실 신청서.zip";
|
||||||
Iterator<VEEduAplctVO> fileYEduIterator = fileYEduList.iterator();
|
String downloadType = "A";
|
||||||
|
//첨부파일있는 항목만 재배치
|
||||||
while (fvoIterator.hasNext() && fileYEduIterator.hasNext() ){
|
List<String> atchFileIdList = new ArrayList<String>();
|
||||||
FileVO vo = fvoIterator.next();
|
vEEduAplctVOList.forEach( vo -> {
|
||||||
VEEduAplctVO eduVO = fileYEduIterator.next();
|
if(vo.getScholSealAtchFileId() != null) {
|
||||||
zos.setEncoding("UTF-8");
|
atchFileIdList.add(vo.getScholSealAtchFileId());
|
||||||
|
|
||||||
// Create a file object
|
|
||||||
File file = new File(vo.getFileStreCours() + "/" + vo.getStreFileNm());
|
|
||||||
// 1. check if the file exists or not
|
|
||||||
boolean isExists = file.exists();
|
|
||||||
if(isExists) {
|
|
||||||
System.out.println("getStreFileNm() " + vo.getStreFileNm());
|
|
||||||
System.out.println("I find the existFile.txt");
|
|
||||||
fileCnt++;
|
|
||||||
} else {
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
/*String renamedFileName = generateRenamedFileName(vo.getOrignlFileNm());*/
|
List<VEEduAplctVO> fileYEduList = new ArrayList<VEEduAplctVO>();
|
||||||
String renamedFileName = eduVO.getScholInsttNm() + "_" + eduVO.getChrgNm() + "_신청서."+ vo.getFileExtsn();
|
vEEduAplctVOList.forEach( vo -> {
|
||||||
vo.setOrignlFileNm(renamedFileName);
|
if(vo.getScholSealAtchFileId() != null) {
|
||||||
|
fileYEduList.add(vo);
|
||||||
//buffer에 해당파일의 stream을 입력한다.
|
|
||||||
fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm());
|
|
||||||
|
|
||||||
bis = new BufferedInputStream(fis,size);
|
|
||||||
|
|
||||||
//zip에 넣을 다음 entry 를 가져온다.
|
|
||||||
zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm()));
|
|
||||||
|
|
||||||
//준비된 버퍼에서 집출력스트림으로 write 한다.
|
|
||||||
int len;
|
|
||||||
while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len);
|
|
||||||
|
|
||||||
bis.close();
|
|
||||||
fis.close();
|
|
||||||
zos.closeArchiveEntry();
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
zos.close();
|
FileVO fileVO = new FileVO();
|
||||||
|
fileVO.setDownloadType(downloadType);
|
||||||
|
|
||||||
} catch (FileNotFoundException e) {
|
fileVO.setAtchFileIdList(atchFileIdList);
|
||||||
e.printStackTrace();
|
List<FileVO> fvoList = fileService.selectZipFileExprnList(fileVO); // 해당 기능에 맞게 파일 조회
|
||||||
}finally{
|
fvoList = egovCryptoUtil.decryptFileVOList(fvoList);
|
||||||
if( zos != null ) zos.close();
|
|
||||||
if( fis != null ) fis.close();
|
|
||||||
if( bis != null ) bis.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm);
|
int size = 1024;
|
||||||
long fSize = uFile.length();
|
byte[] buf = new byte[size];
|
||||||
|
|
||||||
if (fSize > 0) {
|
String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm;
|
||||||
String mimetype = "application/x-msdownload";
|
FileInputStream fis = null;
|
||||||
|
ZipArchiveOutputStream zos = null;
|
||||||
|
BufferedInputStream bis = null;
|
||||||
|
|
||||||
response.setContentType(mimetype);
|
|
||||||
setDisposition(orgnZipNm, request, response);
|
|
||||||
//response.setContentLength(fSize);
|
|
||||||
|
|
||||||
BufferedInputStream in = null;
|
|
||||||
BufferedOutputStream out = null;
|
|
||||||
|
|
||||||
|
|
||||||
|
int fileCnt = 0;
|
||||||
try {
|
try {
|
||||||
in = new BufferedInputStream(new FileInputStream(uFile));
|
System.out.println("outZipNm : "+ outZipNm);
|
||||||
out = new BufferedOutputStream(response.getOutputStream());
|
// Zip 파일생성
|
||||||
|
zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm)));
|
||||||
|
|
||||||
FileCopyUtils.copy(in, out);
|
Iterator<FileVO> fvoIterator = fvoList.iterator();
|
||||||
out.flush();
|
Iterator<VEEduAplctVO> fileYEduIterator = fileYEduList.iterator();
|
||||||
} catch (Exception ex) {
|
|
||||||
LOGGER.debug("IGNORED: {}", ex.getMessage());
|
while (fvoIterator.hasNext() && fileYEduIterator.hasNext() ){
|
||||||
} finally {
|
FileVO vo = fvoIterator.next();
|
||||||
if (in != null) {
|
VEEduAplctVO eduVO = fileYEduIterator.next();
|
||||||
try {
|
zos.setEncoding("UTF-8");
|
||||||
in.close();
|
|
||||||
} catch (Exception ignore) {
|
// Create a file object
|
||||||
LOGGER.debug("IGNORED: {}", ignore.getMessage());
|
File file = new File(vo.getFileStreCours() + "/" + vo.getStreFileNm());
|
||||||
}
|
// 1. check if the file exists or not
|
||||||
}
|
boolean isExists = file.exists();
|
||||||
if (out != null) {
|
if(isExists) {
|
||||||
try {
|
System.out.println("getStreFileNm() " + vo.getStreFileNm());
|
||||||
out.close();
|
System.out.println("I find the existFile.txt");
|
||||||
} catch (Exception ignore) {
|
fileCnt++;
|
||||||
LOGGER.debug("IGNORED: {}", ignore.getMessage());
|
} else {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*String renamedFileName = generateRenamedFileName(vo.getOrignlFileNm());*/
|
||||||
|
//String renamedFileName = eduVO.getScholInsttNm() + "_" + eduVO.getChrgNm() + "_신청서."+ vo.getFileExtsn();
|
||||||
|
String renamedFileName = vo.getScholInsttNm() + "_" + vo.getChrgNm() + "_신청서."+ vo.getFileExtsn();
|
||||||
|
vo.setOrignlFileNm(renamedFileName);
|
||||||
|
|
||||||
|
//buffer에 해당파일의 stream을 입력한다.
|
||||||
|
fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm());
|
||||||
|
|
||||||
|
bis = new BufferedInputStream(fis,size);
|
||||||
|
|
||||||
|
//zip에 넣을 다음 entry 를 가져온다.
|
||||||
|
zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm()));
|
||||||
|
|
||||||
|
//준비된 버퍼에서 집출력스트림으로 write 한다.
|
||||||
|
int len;
|
||||||
|
while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len);
|
||||||
|
|
||||||
|
bis.close();
|
||||||
|
fis.close();
|
||||||
|
zos.closeArchiveEntry();
|
||||||
|
}
|
||||||
|
|
||||||
|
zos.close();
|
||||||
|
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}finally{
|
||||||
|
if( zos != null ) zos.close();
|
||||||
|
if( fis != null ) fis.close();
|
||||||
|
if( bis != null ) bis.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm);
|
||||||
|
long fSize = uFile.length();
|
||||||
|
|
||||||
|
if (fSize > 0) {
|
||||||
|
String mimetype = "application/x-msdownload";
|
||||||
|
|
||||||
|
response.setContentType(mimetype);
|
||||||
|
setDisposition(orgnZipNm, request, response);
|
||||||
|
//response.setContentLength(fSize);
|
||||||
|
|
||||||
|
BufferedInputStream in = null;
|
||||||
|
BufferedOutputStream out = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
in = new BufferedInputStream(new FileInputStream(uFile));
|
||||||
|
out = new BufferedOutputStream(response.getOutputStream());
|
||||||
|
|
||||||
|
FileCopyUtils.copy(in, out);
|
||||||
|
out.flush();
|
||||||
|
} catch (Exception ex) {
|
||||||
|
LOGGER.debug("IGNORED: {}", ex.getMessage());
|
||||||
|
} finally {
|
||||||
|
if (in != null) {
|
||||||
|
try {
|
||||||
|
in.close();
|
||||||
|
} catch (Exception ignore) {
|
||||||
|
LOGGER.debug("IGNORED: {}", ignore.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (out != null) {
|
||||||
|
try {
|
||||||
|
out.close();
|
||||||
|
} catch (Exception ignore) {
|
||||||
|
LOGGER.debug("IGNORED: {}", ignore.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//파일 다운로드 후 파일 삭제
|
||||||
|
File delFile = new File(outZipNm);
|
||||||
|
delFile.delete();
|
||||||
|
} else {
|
||||||
|
response.setContentType("application/x-msdownload");
|
||||||
|
PrintWriter printwriter = response.getWriter();
|
||||||
|
printwriter.println("<html>");
|
||||||
|
printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>");
|
||||||
|
printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
|
||||||
|
printwriter.println("<br><br><br>© webAccess");
|
||||||
|
printwriter.println("</html>");
|
||||||
|
printwriter.flush();
|
||||||
|
printwriter.close();
|
||||||
}
|
}
|
||||||
//파일 다운로드 후 파일 삭제
|
|
||||||
File delFile = new File(outZipNm);
|
}catch(Exception ex) {
|
||||||
delFile.delete();
|
ex.printStackTrace();
|
||||||
} else {
|
|
||||||
response.setContentType("application/x-msdownload");
|
|
||||||
PrintWriter printwriter = response.getWriter();
|
|
||||||
printwriter.println("<html>");
|
|
||||||
printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>");
|
|
||||||
printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
|
|
||||||
printwriter.println("<br><br><br>© webAccess");
|
|
||||||
printwriter.println("</html>");
|
|
||||||
printwriter.flush();
|
|
||||||
printwriter.close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -18,6 +18,8 @@
|
|||||||
<result property="streFileNm" column="STRE_FILE_NM" columnIndex="8"/>
|
<result property="streFileNm" column="STRE_FILE_NM" columnIndex="8"/>
|
||||||
<result property="creatDt" column="CREAT_DT" columnIndex="9"/>
|
<result property="creatDt" column="CREAT_DT" columnIndex="9"/>
|
||||||
<result property="fileSize" column="FILE_SIZE" columnIndex="10"/>
|
<result property="fileSize" column="FILE_SIZE" columnIndex="10"/>
|
||||||
|
<result property="scholInsttNm" column="scholInsttNm" columnIndex="11"/>
|
||||||
|
<result property="chrgNm" column="chrgNm" columnIndex="12"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<resultMap id="fileDetail" class="kcc.com.cmm.service.FileVO">
|
<resultMap id="fileDetail" class="kcc.com.cmm.service.FileVO">
|
||||||
@ -87,6 +89,46 @@
|
|||||||
ORDER BY b.FILE_SN
|
ORDER BY b.FILE_SN
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="FileManageDAO.selectZipFileExprnList" parameterClass="FileVO" resultMap="fileList" >
|
||||||
|
/* FileManageDAO.selectZipFileExprnList */
|
||||||
|
SELECT
|
||||||
|
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
|
||||||
|
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, TO_CHAR(a.CREAT_DT, 'YYYY-MM-DD HH24:MI:SS' ) AS CREAT_DT
|
||||||
|
|
||||||
|
, c.schol_instt_nm AS scholInsttNm
|
||||||
|
, c.chrg_nm AS chrgNm
|
||||||
|
|
||||||
|
FROM
|
||||||
|
LETTNFILE a, LETTNFILEDETAIL b, VE_EDU_APLCT c
|
||||||
|
WHERE
|
||||||
|
a.ATCH_FILE_ID = b.ATCH_FILE_ID
|
||||||
|
AND
|
||||||
|
a.ATCH_FILE_ID =c.SCHOL_SEAL_ATCH_FILE_ID
|
||||||
|
AND
|
||||||
|
a.USE_AT = 'Y'
|
||||||
|
|
||||||
|
|
||||||
|
<isEqual property="downloadType" compareValue="A">
|
||||||
|
AND a.ATCH_FILE_ID IN
|
||||||
|
<iterate property="atchFileIdList" open="(" close=")" conjunction=",">
|
||||||
|
#atchFileIdList[]#
|
||||||
|
</iterate>
|
||||||
|
<isNotEmpty property="fileSn">
|
||||||
|
AND b.FILE_SN = #fileSn#
|
||||||
|
</isNotEmpty>
|
||||||
|
</isEqual>
|
||||||
|
|
||||||
|
<isEqual property="downloadType" compareValue="B">
|
||||||
|
AND a.ATCH_FILE_ID = #atchFileId#
|
||||||
|
AND b.FILE_SN IN
|
||||||
|
<iterate property="atchFileSnList" open="(" close=")" conjunction=",">
|
||||||
|
#atchFileSnList[]#
|
||||||
|
</iterate>
|
||||||
|
</isEqual>
|
||||||
|
|
||||||
|
ORDER BY b.FILE_SN
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="FileManageDAO.insertFileMaster" parameterClass="FileVO" >
|
<insert id="FileManageDAO.insertFileMaster" parameterClass="FileVO" >
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
INSERT INTO LETTNFILE
|
INSERT INTO LETTNFILE
|
||||||
@ -278,7 +320,7 @@
|
|||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="FileManageDAO.selectZipFileOrderList" parameterClass="FileVO" resultMap="fileList" >
|
<select id="FileManageDAO.selectZipFileOrderList" parameterClass="FileVO" resultMap="fileList" >
|
||||||
/* FileManageDAO.selectZipFileList */
|
/* FileManageDAO.selectZipFileOrderList */
|
||||||
SELECT
|
SELECT
|
||||||
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
|
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
|
||||||
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, TO_CHAR(a.CREAT_DT, 'YYYY-MM-DD HH24:MI:SS' ) AS CREAT_DT
|
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, TO_CHAR(a.CREAT_DT, 'YYYY-MM-DD HH24:MI:SS' ) AS CREAT_DT
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user