This commit is contained in:
myname 2025-01-22 11:19:24 +09:00
commit b1c098b88c
2 changed files with 107 additions and 106 deletions

View File

@ -288,7 +288,8 @@ public class SeedFileService {
siteIdx = SeedUtils.setReplaceNull(request.getParameter("siteIdx")); siteIdx = SeedUtils.setReplaceNull(request.getParameter("siteIdx"));
} }
String fileFuncType = (String)paramMap.get("fileFuncType"); String fileFuncType = (String)paramMap.get("fileFuncType");
String fileTarget = (String)paramMap.get("fileTarget"); String fileGubun = (String)paramMap.get("fileGubun");
String fileMemo = (String)paramMap.get("fileMemo");
SeedProperties seedProperties = new SeedProperties(); SeedProperties seedProperties = new SeedProperties();
@ -312,8 +313,7 @@ public class SeedFileService {
String[] uploadFileName = request.getParameterValues("uploadFileName"); String[] uploadFileName = request.getParameterValues("uploadFileName");
String[] uploadFileReName = request.getParameterValues("uploadFileReName"); String[] uploadFileReName = request.getParameterValues("uploadFileReName");
String[] copyContractYnList = request.getParameterValues("copyContractYn"); String[] copyContractYnList = request.getParameterValues("copyContractYn");
String[] fileGubun = request.getParameterValues("fileGubun"); String[] uploadFileTarget = request.getParameterValues("uploadFileTarget");
String[] fileMemo = request.getParameterValues("fileMemo");
if(uploadFileName!=null && uploadFileName.length > 0){ if(uploadFileName!=null && uploadFileName.length > 0){
@ -321,14 +321,8 @@ public class SeedFileService {
String uploadFileNameData = uploadFileName[i]; String uploadFileNameData = uploadFileName[i];
String uploadFileReNameData = uploadFileReName[i]; String uploadFileReNameData = uploadFileReName[i];
String fileGubunData = fileGubun[i];
String fileMemoData = ""; String fileMemoData = "";
String uploadFileTargetData = uploadFileTarget[i];
if(fileMemo !=null && fileMemo.length > 0){
if(uploadFileName.length == fileMemo.length){
fileMemoData = fileMemo[i];
}
}
String copyContractYn = ""; String copyContractYn = "";
@ -355,8 +349,8 @@ public class SeedFileService {
paramMap.put("fileType", fileType); paramMap.put("fileType", fileType);
paramMap.put("filePath", rootPath + "/"+siteIdx+"/"+fileFuncType+"/"); paramMap.put("filePath", rootPath + "/"+siteIdx+"/"+fileFuncType+"/");
paramMap.put("copyContractYn", copyContractYn); paramMap.put("copyContractYn", copyContractYn);
paramMap.put("fileGubun", fileGubunData); paramMap.put("fileGubun", fileGubun);
paramMap.put("fileMemo", fileMemoData); paramMap.put("fileMemo", fileMemo);
//파일타입에 따라서 sql분기 //파일타입에 따라서 sql분기
/*if(fileFuncType.equals("mediation")){ /*if(fileFuncType.equals("mediation")){
dao.caseInsert(paramMap); dao.caseInsert(paramMap);
@ -364,18 +358,15 @@ public class SeedFileService {
dao.fileInsert(paramMap); dao.fileInsert(paramMap);
}*/ }*/
System.out.println(">>>>>>>fileInsertEgov1<<<<<<<<<"); System.out.println(">>>>>>>fileInsertEgov1<<<<<<<<<");
String[] fileTargets = fileTarget.split("_");
try { try {
for(String target : fileTargets) { String[] target = uploadFileTarget[i].split("@");
String[] targetTwo = target.split("@");
String rceptNo = targetTwo[0];
String caseNo = targetTwo[1];
paramMap.put("rceptNo", rceptNo); String rceptNo = target[0];
paramMap.put("fileAdd1", caseNo); String caseNo = target[1];
bservice.insert(paramMap);
} paramMap.put("rceptNo", rceptNo);
paramMap.put("fileAdd1", caseNo);
bservice.insert(paramMap);
}catch(Exception e){ }catch(Exception e){
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -89,21 +89,22 @@
<script type="text/javascript"> <script type="text/javascript">
$( document ).ready(function() { $( document ).ready(function() {
}); });
var totFileSize = 0; var totFileSize = 0;
function fileTempUp(){ function fileTempUp(count){
if($("#upFile").val() == ""){ if($("#upFile"+count).val() == ""){
alert("파일을 선택해 주세요"); alert("파일을 선택해 주세요");
$("#upFile").focus(); $("#upFile"+count).focus();
return false; return false;
} }
var limitCount = $("#limitCount").val(); var limitCount = $("#limitCount").val();
var nowCount = $("#uploadFileCntId").val(); var nowCount = $("#uploadFileCntId"+count).val();
if(nowCount >= limitCount){ if(nowCount >= limitCount){
alert("파일은 " + limitCount + "개 첨부 가능합니다."); alert("파일은 " + limitCount + "개 첨부 가능합니다.");
@ -111,7 +112,7 @@ function fileTempUp(){
} }
var val = $("#upFile").val().split("\\"); var val = $("#upFile"+count).val().split("\\");
var fileName = val[val.length-1]; //마지막 화일명 var fileName = val[val.length-1]; //마지막 화일명
var fileType = fileName.substring(fileName.lastIndexOf("."));//확장자빼오기 var fileType = fileName.substring(fileName.lastIndexOf("."));//확장자빼오기
@ -132,23 +133,23 @@ function fileTempUp(){
return false; return false;
} }
$("#fileForm").submit(); $("#fileTempUpFrm"+count).submit();
} }
$(function(){ $(function(){
var target = "";
$('#fileForm').ajaxForm({ var targetNo = "";
$('[id^="fileTempUpFrm"]').ajaxForm({
//보내기전 validation check가 필요할경우 //보내기전 validation check가 필요할경우
beforeSubmit: function (data, form, option) { beforeSubmit: function (data, form, option) {
target = $(form).data('target');
targetNo = $(form).data('targetno');
//alert("전송전!!"); //alert("전송전!!");
//return false; //return false;
}, },
//submit이후의 처리 //submit이후의 처리
success: function(response, status){ success: function(response, status){
jf_upload_set(response.fileName, response.reFileName, response.fileSize, response.fileType); jf_upload_set(response.fileName, response.reFileName, response.fileSize, response.fileType,target,targetNo);
if(response.funcType == "trublchargermng"){
$("#trubleImg").attr("src","/site/case/upload/tempFiles/trublchargermng/"+response.reFileName);
}
}, },
//ajax error //ajax error
error: function(){ error: function(){
@ -157,8 +158,7 @@ $(function(){
}); });
}); });
var fileCountFix = 0; function jf_upload_set(fileName, reFileName, fileSize, fileType,target, targetNo){
function jf_upload_set(fileName, reFileName, fileSize, fileType){
var sizeData = parseInt(fileSize); var sizeData = parseInt(fileSize);
sizeData = sizeData/1024/1024; sizeData = sizeData/1024/1024;
@ -171,45 +171,27 @@ function jf_upload_set(fileName, reFileName, fileSize, fileType){
} }
var upFileLiLength = parseInt($("#uploadFileCntId").val()); var upFileLiLength = parseInt($("#uploadFileCntId"+target).val());
upFileLiLength = upFileLiLength+1; upFileLiLength = upFileLiLength+1;
$("#uploadFileCntId").val(upFileLiLength); $("#uploadFileCntId"+target).val(upFileLiLength);
if(fileCountFix==0){
fileCountFix = upFileLiLength;
}
fileCountFix = fileCountFix+1; var fileHtml = "<li id=\"fileUploadP"+target+"\">";
var fileHtml = "<li id=\"fileUploadP"+fileCountFix+"\">";
fileHtml = fileHtml+"<img src=\"/img/user/bbs/icon_file.gif\" alt=\"gif\">&nbsp;&nbsp;"; fileHtml = fileHtml+"<img src=\"/img/user/bbs/icon_file.gif\" alt=\"gif\">&nbsp;&nbsp;";
fileHtml = fileHtml+fileName+"&nbsp;&nbsp;("+sizeData+")"; fileHtml = fileHtml+fileName+"&nbsp;&nbsp;("+sizeData+")";
fileHtml = fileHtml+"&nbsp;"; fileHtml = fileHtml+"&nbsp;";
fileHtml = fileHtml+"<a href=\"javascript:;\" onclick=\"javascript:jf_delete_file('"+fileCountFix+"', '"+sizeData+"');\"><img src=\"/img/user/bbs/btn_file_del.png\" alt=\"삭제\"></a>"; fileHtml = fileHtml+"<a href=\"javascript:;\" onclick=\"javascript:jf_delete_file('"+target+"', '"+sizeData+"');\"><img src=\"/img/user/bbs/btn_file_del.png\" alt=\"삭제\"></a>";
fileHtml = fileHtml+"<input type=\"hidden\" name=\"fileIdx\" value=\"\" class=\"fileIdxClass\"/>"; fileHtml = fileHtml+"<input type=\"hidden\" name=\"fileIdx\" value=\"\" class=\"fileIdxClass\"/>";
fileHtml = fileHtml+"<input type=\"hidden\" name=\"uploadFileName\" value=\""+fileName+"\" />"; fileHtml = fileHtml+"<input type=\"hidden\" name=\"uploadFileName\" value=\""+fileName+"\" />";
fileHtml = fileHtml+"<input type=\"hidden\" name=\"uploadFileReName\" value=\""+reFileName+"\" />"; fileHtml = fileHtml+"<input type=\"hidden\" name=\"uploadFileReName\" value=\""+reFileName+"\" />";
fileHtml = fileHtml+"<input type=\"hidden\" name=\"uploadFileTarget\" value=\""+targetNo+"\" />";
fileHtml = fileHtml+"</li>"; fileHtml = fileHtml+"</li>";
$("#upFileHtml").append(fileHtml); $("#upFileHtml"+target).append(fileHtml);
} }
function jf_delete_file(deleteNum, sizeData){ function jf_delete_file(target, sizeData){
var fileIdx = $("#upFileHtml > #fileUploadP"+deleteNum).children(".fileIdxClass").val(); $("#upFileHtml" + target + " > #fileUploadP"+target).remove();
if(fileIdx != ""){
var deleteFileData = $("#deleteFileDataId").val();
if(deleteFileData != ""){
deleteFileData = deleteFileData+","+fileIdx;
}else{
deleteFileData = fileIdx;
}
$("#deleteFileDataId").val(deleteFileData);
}
$("#upFileHtml > #fileUploadP"+deleteNum).remove();
totFileSize = totFileSize-sizeData; totFileSize = totFileSize-sizeData;
@ -217,14 +199,30 @@ function jf_delete_file(deleteNum, sizeData){
totFileSize = 0; totFileSize = 0;
} }
$("#uploadFileCntId").val($("#uploadFileCntId").val() - 1); $("#uploadFileCntId"+target).val($("#uploadFileCntId"+target).val() - 1);
} }
function fn_gwFileUpload(){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해) function fn_gwFileUpload(){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해)
if (confirm('기안등록을 진행합니까?')) { if (confirm('기안등록을 진행합니까?')) {
var fileCnt = $("#uploadFileCntId").val(); var totFileCnt = 0;
if(fileCnt != '0'){ $("input[id^='uploadFileCntId']").each(function() {
totFileCnt += parseInt($(this).val()) || 0; // 각 요소의 값을 정수로 변환하여 더함
});
if(totFileCnt != '0'){
var formData = new FormData(document.getElementById('fileForm')); var formData = new FormData(document.getElementById('fileForm'));
//그룹웨어에 첨부파일 업로드하기 위한 type="file" 생성
$("form[id^='fileTempUpFrm']").each(function() {
var form = $(this);
var fileInput = form.find("input[type='file']");
fileInput.each(function(){
if (this.files.length > 0) {
formData.append(this.name, this.files[0]);
}
});
});
url = "https://gw.kofair.or.kr/gw/outProcessUpload.do"; url = "https://gw.kofair.or.kr/gw/outProcessUpload.do";
$.ajax({ $.ajax({
@ -269,7 +267,17 @@ function fn_gwGo(fileKey){
</head> </head>
<body class="window_popup"> <body class="window_popup">
<h2 class="title depth02 mb15" style="float:none;">■ 기안파일첨부하기</h2> <h2 class="title depth02 mb15" style="float:none;">■ 기안파일첨부하기</h2>
<form id="fileForm" name="fileForm" action="/seed/extra/temp/file.do" method="post" enctype="multipart/form-data"> <form id="fileForm" name="fileForm" method="post" enctype="multipart/form-data">
<%-- <input type="hidden" name="fileTarget" id="fileTarget" value="${param.fileTarget}" /> --%> <!-- 접수번호 - CASEFILE 테이블 내 FILE_NO로 저장 -->
<input type="hidden" name="fileMemo" id="fileMemo" value="${param.approKey}" /> <!-- 문서ID(DOCID) - CASEFILE 테이블 내 저장 -->
<input type="hidden" name="fileGubun" id="fileGubun" value="${param.fileGubun}" />
<input type="hidden" name="compSeq" value="1000" />
<input type="hidden" name="loginId" value="${param.loginId}" />
<input type="hidden" name="type" id="type" value="" />
<input type="hidden" name="fileFuncType" value="${param.fileFuncType}" />
<input type="hidden" name="limitCount" id="limitCount" value="1"/>
<input type="hidden" name="deleteYN" value="N" />
<!-- cont --> <!-- cont -->
<div class="cont_wrap"> <div class="cont_wrap">
<div class="box"> <div class="box">
@ -277,33 +285,43 @@ function fn_gwGo(fileKey){
<div class="cont"> <div class="cont">
<!-- list_상세 --> <!-- list_상세 -->
<div class="tbType02 col-table data-table left"> <div class="tbType02 col-table data-table left">
<table> <table>
<colgroup> <colgroup>
<col style="width: 20%"> <col style="width: 30%">
<col style="width: 80%"> <col style="width: 70%">
</colgroup> </colgroup>
<tbody> <tbody>
<!--
${param.fileTarget} : "20241016-001@공정2024-0001_20241016-002@하도2024-0001"
fileTargetArray : ["20241016-001@공정2024-0001" ,"20241016-002@하도2024-0001"]
fileTarget : ["20241016-001","공정2024-0001"]
targetRceptNo : 20241016-001
targetCaseNo : 공정2024-0001 -->
<c:set var="fileTargetAll" value ="${fn:split(param.fileTarget, '_')}"/>
<c:forEach var="fileTargetArray" items="${fileTargetAll}" varStatus="target">
<tr> <tr>
<th class="req_text"> <c:set var="fileTarget" value="${fn:split(fileTargetArray, '@')}"/>
<p>첨부파일</p> <c:set var="targetRceptNo" value="${fileTarget[0]}"/>
</th> <c:set var="targetCaseNo" value="${fileTarget[1]}"/>
<td> <th>
<div class="item-box"> <p>${targetCaseNo} 첨부파일</p>
<div class="temp-file-area"> </th>
<label for="upFile" class="btn-default violet responsive">첨부파일</label> <td>
</div> <div class="item-box">
<ul class="upFileHtml" id="upFileHtml"> <div class="temp-file-area">
<label for="upFile${target.count}" class="btn-default violet responsive">첨부파일</label>
</ul> </div>
<input type="hidden" name="uploadFileCnt" value="0" id="uploadFileCntId" /> <ul class="upFileHtml" id="upFileHtml${target.count}">
<input type="hidden" name="deleteFileData" value="" id="deleteFileDataId" /> </ul>
</div> <input type="hidden" name="uploadFileCnt${target.count}" value="0" id="uploadFileCntId${target.count}" />
</td> <input type="hidden" name="fileTarget${target.count}" id="fileTarget${target.count}" value="${targetRceptNo}" /> <!-- 접수번호 - CASEFILE 테이블 내 FILE_NO로 저장 -->
</tr> </div>
</td>
</tr>
</c:forEach>
</tbody> </tbody>
</table> </table>
@ -324,25 +342,17 @@ function fn_gwGo(fileKey){
</div> </div>
</div> </div>
</div> </div>
<input type="hidden" name="fileFuncType" id="fileFuncType" value="${param.fileFuncType}" /> </form>
<input type="hidden" name="fileTarget" id="fileTarget" value="${param.fileTarget}" /> <!-- 접수번호 - CASEFILE 테이블 내 FILE_NO로 저장 -->
<input type="hidden" name="fileMemo" id="fileMemo" value="${param.approKey}" /> <!-- 문서ID(DOCID) - CASEFILE 테이블 내 저장 -->
<input type="hidden" name="fileGubun" id="fileGubun" value="${param.fileGubun}" />
<input type="hidden" name="uploadFileCnt" value="0" id="uploadFileCntId" />
<input type="hidden" name="deleteFileData" value="" id="deleteFileDataId" />
<input type="hidden" name="limitCount" id="limitCount" value="1"/>
<input type="hidden" name="deleteYN" value="N" />
<input type="hidden" name="compSeq" value="1000" />
<input type="hidden" name="loginId" value="${param.loginId}" />
<input type="hidden" name="type" id="type" value="" />
<div class="temp-file-area">
<input type="file" name="upFile" id="upFile" class="essential temp-file-hideen" onchange="fileTempUp();" required title="첨부파일" value="" style="ime-mode: disabled;" >
</div>
<!-- //cont --> <!-- //cont -->
</form> <c:forEach var="fileTargetArray" items="${fileTargetAll}" varStatus="target">
<form id="fileTempUpFrm${target.count}" data-target="${target.count}" data-targetno="${fileTargetArray}" action="/seed/extra/temp/file.do" method="post" enctype="multipart/form-data">
<input type="hidden" name="fileFuncType" value="${param.fileFuncType}" />
<input type="hidden" name="copyContractYn" value="" />
<div class="temp-file-area">
<input type="file" name="upFile${target.count}" id="upFile${target.count}" class="essential temp-file-hideen" onchange="fileTempUp('${target.count}');" required title="첨부파일" value="" style="ime-mode: disabled;" >
</div>
</form>
</c:forEach>
<!-- //content 끝 --> <!-- //content 끝 -->
</body> </body>
</html> </html>