|
|
|
@ -1,12 +1,16 @@
|
|
|
|
|
package cokr.xit.fims.sndb.service.bean;
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.FileInputStream;
|
|
|
|
|
import java.io.FileOutputStream;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
import cokr.xit.base.file.service.FileQuery;
|
|
|
|
|
import cokr.xit.base.file.FileInfo;
|
|
|
|
|
import cokr.xit.base.file.service.bean.FileBean;
|
|
|
|
|
import cokr.xit.base.user.service.bean.UserBean;
|
|
|
|
|
import cokr.xit.fims.cmmn.CmmnUtil;
|
|
|
|
@ -1349,43 +1353,60 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
// 계도장(10,11), 사전통지서(01,02)에는 사진을 출력한다.
|
|
|
|
|
if ("01,02,11,12".contains(sndngDtlInfo.string("SNDNG_SE_CD"))) {
|
|
|
|
|
// 단속 첨부 파일 조회
|
|
|
|
|
List<DataObject> fileList = fileBean.getFileList(new FileQuery().setInfoType(Crdn.INF_TYPE)
|
|
|
|
|
.setInfoKeys(sndngDtlInfo.string("CRDN_ID")));
|
|
|
|
|
List<FileInfo> fileInfo = fileBean.getFilesOf(Crdn.INF_TYPE, sndngDtlInfo.string("CRDN_ID"));
|
|
|
|
|
|
|
|
|
|
if (fileList.size() > 0) {
|
|
|
|
|
epostRcptDtl.setRecevPhotoCnt(String.valueOf(fileList.size())); // 사진장수
|
|
|
|
|
if (fileInfo.size() > 0) {
|
|
|
|
|
epostRcptDtl.setRecevPhotoCnt(String.valueOf(fileInfo.size())); // 사진장수
|
|
|
|
|
|
|
|
|
|
// 사진파일명이 중복이 되면 안되다.. 중복을 피하기 위해 서버에 저장된 파일명으로 지정하였다.
|
|
|
|
|
for (int jLoop = 0; jLoop < fileList.size(); jLoop++) {
|
|
|
|
|
String strSeparator = "";
|
|
|
|
|
String fileName = "";
|
|
|
|
|
|
|
|
|
|
for (int jLoop = 0; jLoop < fileInfo.size(); jLoop++) {
|
|
|
|
|
// 서버 OS에 따라.. separator 지정.
|
|
|
|
|
String strSeparator = ""; // File.separator
|
|
|
|
|
if (deptSggInfo.string("SRVR_OS").contains("Windows")) {
|
|
|
|
|
strSeparator = "\\";
|
|
|
|
|
} else {
|
|
|
|
|
strSeparator = "/";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (jLoop == 0) {
|
|
|
|
|
fileName = fileList.get(jLoop).string("FILE_PATH");
|
|
|
|
|
fileName = fileName.substring(fileName.lastIndexOf(strSeparator) + 1);
|
|
|
|
|
// 파일 명
|
|
|
|
|
String fileName = "";
|
|
|
|
|
fileName = fileInfo.get(jLoop).getPath();
|
|
|
|
|
fileName = fileName.substring(fileName.lastIndexOf(strSeparator) + 1);
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
// 파일이 저장되는 경로 확인. file-job.conf 에서 확인. epost 전자우편 신청 전송 "attachmentDir"
|
|
|
|
|
File fPath = new File(new File("").getAbsolutePath() + "/files/interface/attachment/epost/");
|
|
|
|
|
|
|
|
|
|
// 폴더가 존재하는지 확인 후 폴더가 없다면 생성
|
|
|
|
|
if (!fPath.exists()) {
|
|
|
|
|
fPath.mkdir();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 파일 복사
|
|
|
|
|
FileInputStream fInputStream = (FileInputStream) fileInfo.get(jLoop).getInputStream();
|
|
|
|
|
FileOutputStream fOutputStream = new FileOutputStream(fPath + File.separator + fileName);
|
|
|
|
|
|
|
|
|
|
byte[] buffer = new byte[1024];
|
|
|
|
|
int length;
|
|
|
|
|
|
|
|
|
|
while ((length = fInputStream.read(buffer)) > 0) {
|
|
|
|
|
fOutputStream.write(buffer, 0, length);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fInputStream.close();
|
|
|
|
|
fOutputStream.close();
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
throw new RuntimeException("우편통합 발송 작업중 전자우편 단속 사진 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (jLoop == 0) {
|
|
|
|
|
epostRcptDtl.setRecevPhotoFilename1(fileName); // 사진파일명1
|
|
|
|
|
} else if (jLoop == 1) {
|
|
|
|
|
fileName = fileList.get(jLoop).string("FILE_PATH");
|
|
|
|
|
fileName = fileName.substring(fileName.lastIndexOf(strSeparator) + 1);
|
|
|
|
|
|
|
|
|
|
epostRcptDtl.setRecevPhotoFilename2(fileName); // 사진파일명2
|
|
|
|
|
} else if (jLoop == 2) {
|
|
|
|
|
fileName = fileList.get(jLoop).string("FILE_PATH");
|
|
|
|
|
fileName = fileName.substring(fileName.lastIndexOf(strSeparator) + 1);
|
|
|
|
|
|
|
|
|
|
epostRcptDtl.setRecevPhotoFilename3(fileName); // 사진파일명3
|
|
|
|
|
} else if (jLoop == 3) {
|
|
|
|
|
fileName = fileList.get(jLoop).string("FILE_PATH");
|
|
|
|
|
fileName = fileName.substring(fileName.lastIndexOf(strSeparator) + 1);
|
|
|
|
|
|
|
|
|
|
epostRcptDtl.setRecevPhotoFilename4(fileName); // 사진파일명4
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|