Merge branch 'dev-feat-filedownload'
commit
36edd62c63
@ -0,0 +1,56 @@
|
||||
package kr.xit.fims.biz.ec.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.session.RowBounds;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import kr.xit.fims.biz.ec.mapper.IEcCtznSttemntMapper;
|
||||
import kr.xit.fims.biz.ec.model.CtznStmtDTO;
|
||||
import kr.xit.framework.biz.cmm.service.ICmmFileService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class EcCtznSttemntService implements IEcCtznSttemntService {
|
||||
|
||||
@Value("#{prop['file.upload.root']}")
|
||||
private String uploadRoot;
|
||||
|
||||
@Value("#{prop['file.upload.natl-newspaper.path']}")
|
||||
private String uploadNewsPaperPath;
|
||||
|
||||
private final IEcCtznSttemntMapper mapper;
|
||||
|
||||
private final ICmmFileService cmmFileService;
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public List<CtznStmtDTO> findCtznStmts(final Map<String, Object> paraMap, final RowBounds rowBounds) {
|
||||
return mapper.selectEcCtznSttemnts(paraMap, rowBounds);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public CtznStmtDTO findCtznStmt(final CtznStmtDTO.Request dto) {
|
||||
return mapper.selectEcCtznSttemnt(dto);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public List<CtznStmtDTO.CtznStmtDtl> findCtznStmtDtls(final CtznStmtDTO.Request dto) {
|
||||
return mapper.selectEcCtznSttemntDetails(dto);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public CtznStmtDTO.CtznStmtDtl findCtznStmtDtl(final CtznStmtDTO.Request dto) {
|
||||
return mapper.selectEcCtznSttemntDetail(dto);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package kr.xit.fims.biz.ec.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.session.RowBounds;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
|
||||
import kr.xit.fims.biz.ec.model.CtznStmtDTO;
|
||||
import kr.xit.framework.core.utils.XitCmmnUtil;
|
||||
|
||||
public interface IEcCtznSttemntService {
|
||||
List<CtznStmtDTO> findCtznStmts(final Map<String, Object> paraMap, final RowBounds rowBounds);
|
||||
CtznStmtDTO findCtznStmt(final CtznStmtDTO.Request reqDTO);
|
||||
List<CtznStmtDTO.CtznStmtDtl> findCtznStmtDtls(final CtznStmtDTO.Request reqDTO);
|
||||
CtznStmtDTO.CtznStmtDtl findCtznStmtDtl(final CtznStmtDTO.Request reqDTO);
|
||||
|
||||
|
||||
|
||||
default String getUserUniqId(){
|
||||
return XitCmmnUtil.getUserUniqId();
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,86 @@
|
||||
package kr.xit.fims.biz.ec.web;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.Mapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import kr.xit.fims.biz.FimsConst;
|
||||
import kr.xit.fims.biz.ec.model.CtznStmtDTO;
|
||||
import kr.xit.fims.biz.ec.service.IEcCtznSttemntService;
|
||||
import kr.xit.framework.biz.cmm.model.CmmFileDTO;
|
||||
import kr.xit.framework.biz.cmm.service.ICmmFileService;
|
||||
import kr.xit.framework.core.model.ResultResponse;
|
||||
import kr.xit.framework.support.mybatis.MybatisUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Controller
|
||||
@RequestMapping(value = "/fims/biz/ec")
|
||||
public class EcCtznSttemntController {
|
||||
@Value("#{prop['file.rcv.root']}")
|
||||
private String fileRcvRoot;
|
||||
|
||||
@Value("#{prop['file.rcv.natl-newspaper.path']}")
|
||||
private String rcvNatlNewspaperPath;
|
||||
|
||||
private final IEcCtznSttemntService service;
|
||||
private final ICmmFileService fileService;
|
||||
|
||||
|
||||
@RequestMapping(value = "/ecCtznSttemntMgtForm")
|
||||
public void ecCtznSttemntMgtForm(){
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/ecCtznSttemntMgtPopup")
|
||||
@ResponseBody
|
||||
public ModelAndView ecCtznSttemntMgtPopup(final String interfaceSeqN){
|
||||
ModelAndView mav = new ModelAndView(FimsConst.FIMS_JSP_BASE_PATH +"ec/ecCtznSttemntMgtPopup.popup");
|
||||
|
||||
CtznStmtDTO.Request reqDTO = CtznStmtDTO.Request.builder()
|
||||
.interfaceSeqN(interfaceSeqN)
|
||||
.ctznSttemntDetailSn("01").build();
|
||||
mav.addObject("interfaceSeqN", interfaceSeqN);
|
||||
mav.addObject("ctznStmtDTO", service.findCtznStmt(reqDTO));
|
||||
mav.addObject("ctznStmtDtlDTOs", service.findCtznStmtDtls(reqDTO));
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping(value = "/findCtznStmts")
|
||||
public ModelAndView findCtznStmts(@RequestParam final Map<String,Object> paraMap) {
|
||||
return ResultResponse.of(service.findCtznStmts(paraMap, MybatisUtils.getPagingInfo(paraMap)));
|
||||
}
|
||||
|
||||
@RequestMapping (value = "/findCtznStmtDtls")
|
||||
public ModelAndView findCtznStmtDtls(final CtznStmtDTO.Request dto) {
|
||||
return ResultResponse.of(service.findCtznStmtDtls(dto));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/findCtznStmtDtl")
|
||||
public ModelAndView findCtznStmtDtl(final CtznStmtDTO.Request dto) {
|
||||
return ResultResponse.of(service.findCtznStmtDtl(dto));
|
||||
}
|
||||
|
||||
@RequestMapping("/findCtznStmtAttchFiles")
|
||||
public ModelAndView findCtznStmtAttchFiles(final CtznStmtDTO.Request dto) {
|
||||
return ResultResponse.of(
|
||||
fileService.findFilesByEsbInterfaces(
|
||||
CmmFileDTO.FileMst.builder()
|
||||
.jobSeCode(FimsConst.FileJobSeCode.NATL_NEWS_PAPER_RCV.getCode())
|
||||
.fileJobId(dto.getInterfaceSeqN()+dto.getCtznSttemntDetailSn())
|
||||
.build()).stream()
|
||||
.filter(dtl -> !Objects.equals("png", dtl.getFileExtsn()))
|
||||
.collect(Collectors.toList())
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,222 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp" %>
|
||||
|
||||
<form id="frmSearch" name="frmSearch">
|
||||
<div class="search r2">
|
||||
<table>
|
||||
<caption>검색조건</caption>
|
||||
<colgroup>
|
||||
<col style="width: 400px;"/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
<col/>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="5">
|
||||
<label for="sysCode">시스템 구분</label>
|
||||
<code:select codeId="FIM001" defaultSelect="PVS" id="sysCode" name="sysCode" title="시스템구분" cls="selectBox" alt="selectBox tag" disabled="true"/>
|
||||
</td>
|
||||
<td colspan="6">
|
||||
<input type="button" id="btnSearch" class="btn_search" title="검색" value="검색"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
<!-- //검색 -->
|
||||
|
||||
<div class="page_btn">
|
||||
<span class="fll">
|
||||
<div class="list clearfix" id="totCnt">전체 ㅣ <span></span></div>
|
||||
</span>
|
||||
<span class="flr">
|
||||
<a href="#" class="btn darkgray" id="btnRegist" title="템플릿 등록">등록</a>
|
||||
</span>
|
||||
</div>
|
||||
<!-- //버튼 및 페이지정보 -->
|
||||
|
||||
<!-- 데이터 출력 -->
|
||||
<div id="grid"></div>
|
||||
|
||||
<script type="text/javaScript">
|
||||
/**************************************************************************
|
||||
* Global Variable
|
||||
**************************************************************************/
|
||||
let GRID = null;
|
||||
var callbackSearch = () => fnBiz.search();
|
||||
|
||||
|
||||
/* *******************************
|
||||
* Biz function
|
||||
******************************* */
|
||||
const fnBiz = {
|
||||
search: () => {
|
||||
GRID.reloadData();
|
||||
}
|
||||
,pagePopup: function(flag, params){
|
||||
let url;
|
||||
let popTitle;
|
||||
let popOption;
|
||||
switch (flag) {
|
||||
case "detail":
|
||||
url = '<c:url value="/fims/biz/ec/ecCtznSttemntMgtPopup.do"/>';
|
||||
popOption = {width: 1000, height:900};
|
||||
popTitle = "주민 신고 데이타 상세";
|
||||
break;
|
||||
case "file":
|
||||
url = '<c:url value="/fims/biz/ec/ecNatlNewspaperFileSelPopup.do"/>';
|
||||
popOption = {width: 900, height:750};
|
||||
popTitle = "주민 신고 데이타 선택";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
CmmPopup.open(url, params, popOption, popTitle);
|
||||
}
|
||||
,onClickGrid: function(props){
|
||||
const rowData = props.grid.getRow(props.rowKey);
|
||||
fnBiz.pagePopup('detail', {interfaceSeqN: rowData.interfaceSeqN});
|
||||
}
|
||||
// ,onSearchChange: () => {
|
||||
// if($('#searchCondition').val() === 'tmplatSeCode'){
|
||||
// $('select[name="searchKeyword"]')
|
||||
// .css('display', 'inline-block')
|
||||
// .attr('disabled', false);
|
||||
// $('input[name="searchKeyword"]')
|
||||
// .css('display', 'none')
|
||||
// .attr('disabled', true);
|
||||
// }else{
|
||||
// $('select[name="searchKeyword"]')
|
||||
// .css('display', 'none')
|
||||
// .attr('disabled', true);
|
||||
// $('input[name="searchKeyword"]')
|
||||
// .css('display', 'inline-block')
|
||||
// .attr('disabled', false);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* event
|
||||
**************************************************************************/
|
||||
$(() => {
|
||||
$('#btnSearch').on('click', () => fnBiz.search());
|
||||
|
||||
$('#btnRegist').on('click', () => {
|
||||
fnBiz.pagePopup('file');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/* *******************************
|
||||
* Grid
|
||||
******************************* */
|
||||
const initGrid = () => {
|
||||
const gridColumns = [
|
||||
{
|
||||
header: '인터페이스키',
|
||||
name: 'interfaceSeqN',
|
||||
minWidth: 200,
|
||||
sortable: true,
|
||||
sortingType: 'desc',
|
||||
align: 'center',
|
||||
renderer: {
|
||||
type: CustomButtonRenderer,
|
||||
options: {
|
||||
formatter: (props)=>{
|
||||
return {
|
||||
formatter: props.grid.getRow(props.rowKey).interfaceSeqN
|
||||
,element: "text"
|
||||
}
|
||||
}
|
||||
,eventFunction: fnBiz.onClickGrid
|
||||
,eventType: "click"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
header: '기관코드',
|
||||
name: 'insttCode',
|
||||
width: 80,
|
||||
sortable: false,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '시스템코드',
|
||||
name: 'sysCode',
|
||||
minWidth: 200,
|
||||
sortable: false,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '민원구분',
|
||||
name: 'cvplSe',
|
||||
minWidth: 200,
|
||||
sortable: false,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '민원신청번호',
|
||||
name: 'cvplReqstNo',
|
||||
minWidth: 200,
|
||||
sortable: false,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '민원접수번호',
|
||||
name: 'cvplRceptNo',
|
||||
minWidth: 200,
|
||||
sortable: false,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '시민신고처리상태',
|
||||
name: 'ctznSttemntProcessSttus',
|
||||
minWidth: 200,
|
||||
sortable: false,
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '민원등록일시',
|
||||
name: 'cpvlRegistDt',
|
||||
width: 160,
|
||||
sortable: false,
|
||||
align: 'center',
|
||||
formatter({value}){
|
||||
return setDateTimeFmt(value);
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
const gridOptions = {
|
||||
el: 'grid',
|
||||
rowHeaders: ['rowNum'],
|
||||
columns: gridColumns
|
||||
};
|
||||
|
||||
const gridDatasource = {
|
||||
initialRequest: true, // 화면 load시 조회 안함 - default
|
||||
api: {
|
||||
readData: {
|
||||
url: '<c:url value="/fims/biz/ec/findCtznStmts.do"/>'
|
||||
,serializer: (params) => fnAddPageInfo(document.frmSearch, params)
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
GRID = TuiGrid.of(gridOptions, gridDatasource, (res) => {
|
||||
});
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* initialize
|
||||
**************************************************************************/
|
||||
$(document).ready(function(){
|
||||
initGrid();
|
||||
});
|
||||
</script>
|
@ -0,0 +1,313 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp" %>
|
||||
|
||||
|
||||
|
||||
<c:set var="bizName" value="주민 신고 데이타"/>
|
||||
|
||||
<div class="popup" style="min-width: 100px;">
|
||||
<div class="popup_inner" style="max-width: 1000px;">
|
||||
<p class="pop_title">
|
||||
<c:out value="${bizName}"/>(<c:out value="${ctznStmtDTO.interfaceSeqN}"/>) 상세
|
||||
</p>
|
||||
|
||||
<form name="frmStmt">
|
||||
<table class="tbl03">
|
||||
<caption><c:out value="${bizName}"/> 상세</caption>
|
||||
<colgroup>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>기관코드</th>
|
||||
<td>
|
||||
<input type="text" name="insttCode" value='<c:out value="${ctznStmtDTO.insttCode}"/>' readonly>
|
||||
</td>
|
||||
<th>시스템코드</th>
|
||||
<td>
|
||||
<input type="text" name="sysCode" value='<c:out value="${ctznStmtDTO.sysCode}"/>' readonly>
|
||||
</td>
|
||||
<th>민원구분</th>
|
||||
<td>
|
||||
<input type="text" name="cvplSe" value='<c:out value="${ctznStmtDTO.cvplSe}"/>' readonly>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>민원신청번호</th>
|
||||
<td>
|
||||
<input type="text" name="petiAncCodeV" value='<c:out value="${ctznStmtDTO.cvplReqstNo}"/>' readonly>
|
||||
</td>
|
||||
<th>민원접수번호</th>
|
||||
<td>
|
||||
<input type="text" name="petiNoC" value='<c:out value="${ctznStmtDTO.cvplRceptNo}"/>' readonly>
|
||||
</td>
|
||||
<th>민원신청인명</th>
|
||||
<td>
|
||||
<input type="text" name="civilNoC" value='<c:out value="${ctznStmtDTO.cvplApplcntNm}"/>' readonly>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>신청인이메일</th>
|
||||
<td>
|
||||
<input type="text" name="peterNameV" value='<c:out value="${ctznStmtDTO.cvplApplcntEmailAdres}"/>' readonly>
|
||||
</td>
|
||||
<th>신청인우편번호</th>
|
||||
<td>
|
||||
<input type="text" name="zipCodeC" value='<c:out value="${ctznStmtDTO.cvplApplcntZip}"/>' readonly>
|
||||
</td>
|
||||
<th>신청인주소</th>
|
||||
<td>
|
||||
<input type="text" name="addressV" value='<c:out value="${ctznStmtDTO.cvplApplcntAdres}"/>' readonly>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>신청인핸드폰</th>
|
||||
<td>
|
||||
<input type="text" name="celNoV" value='<c:out value="${ctznStmtDTO.cvplApplcntMoblphonNo}"/>' readonly>
|
||||
</td>
|
||||
<th>신청인전화</th>
|
||||
<td>
|
||||
<input type="text" name="telNoV" value='<c:out value="${ctznStmtDTO.cvplApplcntTlphonNo}"/>' readonly>
|
||||
</td>
|
||||
<th>처리상태</th>
|
||||
<td>
|
||||
<input type="text" name="telNoV" value='<c:out value="${ctznStmtDTO.ctznSttemntProcessSttus}"/>' readonly>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>민원신청제목</th>
|
||||
<td colspan="5">
|
||||
<input type="text" name="petiTitleV" value='<c:out value="${ctznStmtDTO.cvplReqstSj}"/>' readonly>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>민원신청내용</th>
|
||||
<td colspan="5">
|
||||
<textarea name="petiReasonL" rows="10" readonly><c:out value="${ctznStmtDTO.cvplReqstCn}" /></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>민원신청일시</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${ctznStmtDTO.cvplRceptDt}" var="cvplRceptDt" pattern="yyyyMMddHHmmss"/>
|
||||
<input type="text" name="cvplRceptDt" value='<fmt:formatDate value="${cvplRceptDt}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>
|
||||
</td>
|
||||
<th>민원처리기간</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${ctznStmtDTO.cvplProcessPd}" var="cvplProcessPd" pattern="yyyyMMddHHmmss"/>
|
||||
<input type="text" name="cvplProcessPd" value='<fmt:formatDate value="${cvplProcessPd}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>
|
||||
</td>
|
||||
<th>민원등록일시</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${ctznStmtDTO.cvplRegistDt}" var="cvplRegistDt" pattern="yyyyMMddHHmmss"/>
|
||||
<input type="text" name="cvplRegistDt" value='<fmt:formatDate value="${cvplRegistDt}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>
|
||||
</td>
|
||||
</tr>
|
||||
<%-- <tr>--%>
|
||||
<%-- <th>등록일시</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <fmt:parseDate value="${ctznStmtDTO.registDt}" var="registDt" pattern="yyyyMMddHHmmss"/>--%>
|
||||
<%-- <input type="text" name="registDt" value="<fmt:formatDate value="${registDt}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- <th>등록인</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <input type="text" name="sendYnC" value='<c:out value="${ctznStmtDTO.register}"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- </tr>--%>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<form name="frmStmtDtl">
|
||||
<table class="tbl03">
|
||||
<caption><c:out value="${bizName}"/> 상세</caption>
|
||||
<colgroup>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
<col style="width: 13%;"/>
|
||||
<col style="width: 20%;"/>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<%-- <c:forEach var="dtlDTO" items="ctznStmtDtlDTOs">--%>
|
||||
<tr>
|
||||
<th>차량번호</th>
|
||||
<td>
|
||||
<%-- <c:out value="${dtlDTO.vhcleNo}"/>--%>
|
||||
<%-- <input type="text" name="vhcleNo" value="${dtlDTO.vhcleNo}" readonly>--%>
|
||||
<%-- <input type="text" name="vhcleNo" value='<c:out value="${dtlDTO.vhcleNo}"/>' readonly>--%>
|
||||
</td>
|
||||
<th>순번</th>
|
||||
<td>
|
||||
<%-- <input type="text" name="ctnzSttemntDetailSn" value='<c:out value="${dtlDTO.ctnzSttemntDetailSn}"/>' readonly>--%>
|
||||
<%-- <input type="text" name="ctnzSttemntDetailSn" value='jjj' readonly>--%>
|
||||
</td>
|
||||
<%-- <th>단속ID</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <input type="text" name="cvplSe" value='<c:out value="${dtlDTO.regltId}"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
</tr>
|
||||
<%-- </c:forEach>--%>
|
||||
<%-- <tr>--%>
|
||||
<%-- <th>단속일시</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <fmt:parseDate value="${dtlDTO.regltDeTime}" var="regltDeTimet" pattern="yyyyMMddHHmmss"/>--%>
|
||||
<%-- <input type="text" name="regltDeTime" value="<fmt:formatDate value="${regltDeTime}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- <th>단속장소</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <input type="text" name="petiNoC" value='<c:out value="${dtlDTO.regltPlace}"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- <th>위반내역</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <input type="text" name="civilNoC" value='<c:out value="${dtlDTO.violtDtlsNm}"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- </tr>--%>
|
||||
<%-- <tr>--%>
|
||||
<%-- <th>GPS위도</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <input type="text" name="peterNameV" value='<c:out value="${dtlDTO.gpsX}"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- <th>GPS경도</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <input type="text" name="zipCodeC" value='<c:out value="${dtlDTO.gpsY}"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- <th>기관코드</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <input type="text" name="addressV" value='<c:out value="${dtlDTO.insttCode}"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- </tr>--%>
|
||||
<%-- <tr>--%>
|
||||
<%-- <th>과태료코드</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <input type="text" name="celNoV" value='<c:out value="${dtlDTO.sysCode}"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- <th>처리상태</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <input type="text" name="telNoV" value='<c:out value="${dtlDTO.ctznSttemntDetailProcessSttus}"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- <th>등록일시</th>--%>
|
||||
<%-- <td>--%>
|
||||
<%-- <fmt:parseDate value="${dtlDTO.registDt}" var="registDt" pattern="yyyyMMddHHmmss"/>--%>
|
||||
<%-- <input type="text" name="registDt" value="<fmt:formatDate value="${registDt}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- </tr>--%>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
<div id="ctznImg"></div>
|
||||
<div class="popup_btn">
|
||||
<span class="flr p_flr">
|
||||
<a href="#" class="btn lightgray" onclick="window.close()">닫기</a>
|
||||
</span>
|
||||
</div>
|
||||
<!-- //등록버튼 -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- //popup -->
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
/**************************************************************************
|
||||
* Global Variable
|
||||
**************************************************************************/
|
||||
// let orgData;
|
||||
|
||||
|
||||
/* *******************************
|
||||
* Biz function
|
||||
******************************* */
|
||||
const fnBiz = {
|
||||
downloadImg: () => {
|
||||
|
||||
//ctznStmtDtlDTO
|
||||
|
||||
cmmAjax({
|
||||
showSuccessMsg: false
|
||||
,url: '<c:url value="/fims/biz/ec/findNatlNewspaperAttchFiles.do"/>'
|
||||
,data: {interfaceSeqN: '${interfaceSeqN}'}
|
||||
,success: (res) => {
|
||||
const url = '<c:url value="/framework/biz/cmm/file/download.do"/>';
|
||||
res.data?.contents.forEach((dtl, idx) => {
|
||||
|
||||
fetch(
|
||||
url
|
||||
, {
|
||||
method: 'post'
|
||||
, body: JSON.stringify(dtl)
|
||||
}
|
||||
)
|
||||
.then((response) => response.blob())
|
||||
.then((blob) => {
|
||||
const url = URL.createObjectURL(blob);
|
||||
|
||||
var x = document.createElement("img");
|
||||
x.setAttribute("src", url);
|
||||
//x.style = 'width:150px; display: block;';
|
||||
x.style = 'height:150px;';
|
||||
//x.setAttribute("width", "304");
|
||||
//x.setAttribute("height", "228");
|
||||
x.setAttribute("alt", dtl.orginlFileNm);
|
||||
document.querySelector('#ctznImg').appendChild(x);
|
||||
|
||||
// Revoke Blob URL after DOM updates..
|
||||
//window.URL.revokeObjectURL(objectURL);
|
||||
});
|
||||
})
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
viewImg: () => {
|
||||
cmmAjax({
|
||||
showSuccessMsg: false
|
||||
,url: '<c:url value="/fims/biz/ec/findCtznStmtDtls.do"/>'
|
||||
,data: {interfaceSeqN: '${interfaceSeqN}'}
|
||||
,success: (res) => {
|
||||
res.data.contents?.forEach((dto) => {
|
||||
console.log('',dto.vhcleNo)
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
/**************************************************************************
|
||||
* event
|
||||
**************************************************************************/
|
||||
$(() => {
|
||||
$('img').on('click', () => {
|
||||
fnBiz.viewImg()
|
||||
});
|
||||
});
|
||||
|
||||
/**************************************************************************
|
||||
* initialize
|
||||
**************************************************************************/
|
||||
$(document).ready(function () {
|
||||
// orgData = $('form').serialize();
|
||||
// fnBiz.downloadImg();
|
||||
<%-- console.log('eeee');--%>
|
||||
<%-- fnBiz.viewImg();--%>
|
||||
<%-- //CtznStmtDTO.CtznStmtDtl--%>
|
||||
<%-- <c:forEach var="dto" items="${ctznStmtDtlDTOs}">--%>
|
||||
<%-- '<c:out value="${dto.vhcleNo}"/>';--%>
|
||||
<%-- '<c:out value="${dto.ctnzSttemntDetailSn}"/>';--%>
|
||||
<%-- <c:out value="111"/>--%>
|
||||
<%-- </c:forEach>--%>
|
||||
|
||||
});
|
||||
</script>
|
Loading…
Reference in New Issue