feat: 단속 초기 자료 편집 기능 추가

main
minuk926 2 years ago
parent 41aadec94d
commit f8d2290b1a

@ -127,8 +127,8 @@ public class FimsConst {
public enum RegltProcessSttusCode {
CRACKDOWN_INIT("01", "초기상태"),
CRACKDOWN("10", "부과대상"),
DESTRUCTION("11", "서손"),
ACCEPT_OPINIONS("12", "계도"),
DISALLOW("11", "서손"),
ENLIGHT("12", "계도"),
IMPOSE("20", "부과")
;
@ -149,6 +149,17 @@ public class FimsConst {
private final String code;
private final String desc;
}
@Getter
@AllArgsConstructor
public enum PopupWorkDiv {
ENLIGHT("ENLIGHT", "계도 처리"),
DISALLOW("DISALLOW", "서손 처리"),
;
private final String code;
private final String desc;
}
}

@ -18,6 +18,6 @@ public interface IFimsCrackdownMgtMapper {
String selectRegltSts(final String regltId);
void updateRtReglt(final FimsCrackdownDTO.Info dto);
void updateProcessStsAndProcessDtRtReglt(final FimsCrackdownDTO.Info dto);
}

@ -35,8 +35,8 @@ public class FimsCrackdownDTO {
private String dutyIdV;
private String pcdTelV;
private String cvplProcessPd;
private String erppSeCode;
private String erppResnDetail;
//private String erppSeCode;
//private String erppResnDetail;
// regltDe + regltBeginTime
private String regltDeTime;
@ -111,6 +111,6 @@ public class FimsCrackdownDTO {
private FimsCrackdownDTO.Info infoDTO;
private FimsCrackdownDTO.Ctzn ctznDTO;
private RtDTO.Payer payerDTO;
//private FimsCrackdownDTO.Info infoDTO;
private RtDTO.Erpp erppDTO;
}
}

@ -85,7 +85,7 @@ public class FimsCrackdownMgtService implements IFimsCrackdownMgtService {
infoDTO.setLastOpetr(getUserInfo().getUniqId());
// 단속 상태 변경 여부 - 이력테이블
boolean isStsChange = Objects.equals(infoDTO.getRegltProcessSttusCode(), mapper.selectRegltSts(infoDTO.getRegltId()));
boolean isStsChange = !Objects.equals(infoDTO.getRegltProcessSttusCode(), mapper.selectRegltSts(infoDTO.getRegltId()));
mapper.updateRtReglt(infoDTO);
// 이력테이블
@ -125,4 +125,115 @@ public class FimsCrackdownMgtService implements IFimsCrackdownMgtService {
,cvplReqstCn: $('input[name=cvplReqstCn]').val()
*/
}
@Override
@Transactional
public void saveEnlight(FimsCrackdownDTO.SaveRequest saveDTO) {
FimsCrackdownDTO.Info infoDTO = saveDTO.getInfoDTO();
FimsCrackdownDTO.Ctzn ctznDTO = saveDTO.getCtznDTO();
RtDTO.Payer payerDTO = saveDTO.getPayerDTO();
// 1. 납부자 정보 등록 및 변경
if (Checks.isEmpty(payerDTO.getPayerId())) {
payerDTO.setRegister(getUserInfo().getUniqId());
rtCrackdownMgtMapper.insertRtPayer(payerDTO);
} else {
payerDTO.setUpdusr(getUserInfo().getUniqId());
rtCrackdownMgtMapper.updateRtPayer(payerDTO);
}
// 2. 단속 테이블 정보 반영 - 처리상태, 시구군, 법정동, 특기사항, 특기사항코드, 위반코드, 차량명, 차대번호
// 진행상태 - 부과대상
//시군구 추가
//면제차량 여부 추가 : $('input:checkbox[name=sysCode]:checked').val()
infoDTO.setPayerId(payerDTO.getPayerId());
infoDTO.setRegltProcessSttusCode(FimsConst.RegltProcessSttusCode.ENLIGHT.getCode());;
infoDTO.setLastOpetr(getUserInfo().getUniqId());
// 단속 상태 변경 여부 - 이력테이블
boolean isStsChange = !Objects.equals(infoDTO.getRegltProcessSttusCode(), mapper.selectRegltSts(infoDTO.getRegltId()));
mapper.updateRtReglt(infoDTO);
// 이력테이블
if(isStsChange){
rtCrackdownMgtMapper.insertRtProcessSttsChangeHist(
RtDTO.SttusChangeHist.builder()
.regltId(infoDTO.getRegltId())
.regltProcessSttusCode(infoDTO.getRegltProcessSttusCode())
.register(getUserInfo().getUniqId())
.build()
);
}
// 2. 외부연계정보 반영 :
// 시민신고 데이타
if(FimsConst.RegltSeCode.CITIZEN.getCode().equals(saveDTO.getRegltSeCode())
&& (Checks.isNotEmpty(saveDTO.getInterfaceSeqN()) && Checks.isNotEmpty(saveDTO.getCtznSttemntDetailSn()))){
return;
}
if(!FimsConst.RegltSeCode.CITIZEN.getCode().equals(saveDTO.getRegltSeCode())
&& Checks.isNotEmpty(saveDTO.getExtrlRegltCntcId())){
return;
}
/*
interfaceSeqN: $('input[name=interfaceSeqN]').val()
,ctznSttemntDetailSn: $('input[name=ctznSttemntDetailSn]').val()
,cvplApplcntNm: $('input[name=cvplApplcntNm]').val()
,cvplApplcntMoblphonNo: $('input[name=cvplApplcntMoblphonNo]').val()
,cvplReqstCn: $('input[name=cvplReqstCn]').val()
,cvplRceptDt: $('input[name=cvplRceptDt]').val()
,cvplProcessPd: $('input[name=cvplProcessPd]').val()
,cvplReqstCn: $('input[name=cvplReqstCn]').val()
*/
}
@Override
@Transactional
public void saveDisallow(FimsCrackdownDTO.SaveRequest saveDTO) {
FimsCrackdownDTO.Info infoDTO = saveDTO.getInfoDTO();
RtDTO.Erpp erppDTO = saveDTO.getErppDTO();
//FimsCrackdownDTO.Ctzn ctznDTO = saveDTO.getCtznDTO();
//RtDTO.Payer payerDTO = saveDTO.getPayerDTO();
// // 1. 납부자 정보 등록 및 변경
// if (Checks.isEmpty(payerDTO.getPayerId())) {
// payerDTO.setRegister(getUserInfo().getUniqId());
// rtCrackdownMgtMapper.insertRtPayer(payerDTO);
// } else {
// payerDTO.setUpdusr(getUserInfo().getUniqId());
// rtCrackdownMgtMapper.updateRtPayer(payerDTO);
// }
// 2. 단속 테이블 정보 반영 - 처리상태, 시구군, 법정동, 특기사항, 특기사항코드, 위반코드, 차량명, 차대번호
// 진행상태 - 부과대상
//시군구 추가
//면제차량 여부 추가 : $('input:checkbox[name=sysCode]:checked').val()
//infoDTO.setPayerId(payerDTO.getPayerId());
infoDTO.setRegltProcessSttusCode(FimsConst.RegltProcessSttusCode.DISALLOW.getCode());
infoDTO.setLastOpetr(getUserInfo().getUniqId());
// 단속 상태 변경 여부 - 이력테이블
boolean isStsChange = !Objects.equals(infoDTO.getRegltProcessSttusCode(), mapper.selectRegltSts(infoDTO.getRegltId()));
mapper.updateProcessStsAndProcessDtRtReglt(infoDTO);
// 이력테이블
if(isStsChange){
rtCrackdownMgtMapper.insertRtProcessSttsChangeHist(
RtDTO.SttusChangeHist.builder()
.regltId(infoDTO.getRegltId())
.regltProcessSttusCode(infoDTO.getRegltProcessSttusCode())
.register(getUserInfo().getUniqId())
.build()
);
}
erppDTO.setRegister(getUserInfo().getUniqId());
erppDTO.setSysCode(getUserInfo().getOrgnztId());
rtCrackdownMgtMapper.insertRtErpp(erppDTO);
}
}

@ -18,6 +18,8 @@ public interface IFimsCrackdownMgtService {
Map<String,Object> findCrackdownInfo(final FimsCrackdownDTO.Request dto);
void saveImposeTgt(FimsCrackdownDTO.SaveRequest saveDTO);
void saveEnlight(FimsCrackdownDTO.SaveRequest saveDTO);
void saveDisallow(FimsCrackdownDTO.SaveRequest saveDTO);

@ -54,8 +54,8 @@ public class FimsCrackDownMgtController {
Optional<FimsConst.RegltSeCode> regltSeCodeEnum = Stream.of(FimsConst.RegltSeCode.values())
.filter(e -> e.getCode().equals(dto.getRegltSeCode()))
.findAny();
mav.addObject("txtTitle", regltSeCodeEnum.get().getDesc());
//TODO: 처리필요
mav.addObject("txtTitle", "초기자료 편집");
mav.setViewName(FimsConst.FIMS_JSP_BASE_PATH + "cmm/cmmFimsCrackdownEditPopup.popup");
return mav;
}
@ -79,6 +79,20 @@ public class FimsCrackDownMgtController {
return mav;
}
@RequestMapping(value = "/cmmEnlightDisallowPopup")
public ModelAndView cmmEnlightDisallowPopup(final String bizDiv){
ModelAndView mav = new ModelAndView(FimsConst.FIMS_JSP_BASE_PATH +"cmm/cmmEnlightDisallowPopup.popup");
mav.addObject("pageTitle", "서손 / 계도 처리");
mav.addObject("bizDiv", bizDiv);
if(bizDiv.equals(FimsConst.PopupWorkDiv.ENLIGHT.getCode())) {
mav.addObject("txtTitle", FimsConst.PopupWorkDiv.ENLIGHT.getDesc());
}else {
mav.addObject("txtTitle", FimsConst.PopupWorkDiv.DISALLOW.getDesc());
}
return mav;
}
@RequestMapping(value = "/findCrackdownInfos")
public ModelAndView findCrackdownInfos(@RequestParam final Map<String,Object> paraMap) {
return ResultResponse.of(service.findCrackdownInfos(paraMap, MybatisUtils.getPagingInfo(paraMap)));
@ -118,6 +132,23 @@ public class FimsCrackDownMgtController {
return mav;
}
@PostMapping(value="/saveEnlight")
public ModelAndView saveEnlight(@RequestBody FimsCrackdownDTO.SaveRequest saveDTO){
ModelAndView mav = new ModelAndView(FrameworkConstants.JSON_VIEW);
service.saveEnlight(saveDTO);
AjaxMessageMapRenderer.success(mav, MessageKey.CMM_INSERT_SUCCESS);
return mav;
}
@PostMapping(value="/saveDisallow")
public ModelAndView saveDisallow(@RequestBody FimsCrackdownDTO.SaveRequest saveDTO){
ModelAndView mav = new ModelAndView(FrameworkConstants.JSON_VIEW);
service.saveDisallow(saveDTO);
AjaxMessageMapRenderer.success(mav, MessageKey.CMM_INSERT_SUCCESS);
return mav;
}
}

@ -356,5 +356,6 @@ public class CtznStmtDTO { //extends ExtlEsbDataType {
*
*/
private boolean ansCreate;
private String registSeCode;
}
}

@ -276,7 +276,7 @@ public class EcCctvCrackdownService implements IEcCctvCrackdownService {
public void saveRtErpp(final CctvCrackdownDTO.Request dto) {
// 단속테이블
dto.setJobSeCode(FimsBizUtils.getFileJobSeCode(dto.getRegltSeCode()));
dto.setRegltProcessSttusCode(FimsConst.RegltProcessSttusCode.DESTRUCTION.getCode());
dto.setRegltProcessSttusCode(FimsConst.RegltProcessSttusCode.DISALLOW.getCode());
dto.setRegister(getUserInfo().getUniqId());
mapper.insertRtRegltFromEcExtrRegltCntc(dto);

@ -124,7 +124,7 @@ public class EcCtznSttemntService implements IEcCtznSttemntService {
// 단속테이블
dto.setRegltSeCode(FimsConst.RegltSeCode.CITIZEN.getCode());
dto.setRegister(getUserInfo().getUniqId());
dto.setRegltProcessSttusCode(FimsConst.RegltProcessSttusCode.DESTRUCTION.getCode());
dto.setRegltProcessSttusCode(FimsConst.RegltProcessSttusCode.DISALLOW.getCode());
mapper.insertRtRegltFromCtznStmt(dto);
// 서손테이블

@ -143,7 +143,7 @@ public class EcNatlNewspaperService implements IEcNatlNewspaperService {
.ctznSttemntDetailSn(dtl.getCtznSttemntDetailSn())
.regltId(dtl.getRegltId())
.regltProcessSttusCode(FimsConst.RegltProcessSttusCode.CRACKDOWN_INIT.getCode())
.regltSeCode(FimsConst.RegistSeCode.AUTO_REGIST.getCode())
.registSeCode(FimsConst.RegistSeCode.AUTO_REGIST.getCode())
.register(getUserInfo().getUniqId())
.build();

@ -25,6 +25,8 @@ public interface IRtCrackdownMgtMapper {
<T> void deleteRtReglt(final T t);
void insertRtErpp(final RtDTO.Erpp dto);
//-----------------------------------------------------
// 납부자 : tb_rt_payer

@ -177,6 +177,8 @@ public class RtDTO {
*
*/
private String lastOpetr;
private String enlightResnCode;
}
/**

@ -382,4 +382,4 @@ custom.isNotExist.msg=\uCC98\uB9AC\uC5D0 \uD544\uC694\uD55C \uC790\uB8CC\uAC00 \
warn.session.end=\uC138\uC158\uC774 \uC885\uB8CC \uB418\uC5C8\uC2B5\uB2C8\uB2E4.
#message.key.erpp.empty=\uAE30\uBCF8\uAC12

@ -75,34 +75,37 @@
/* cmm-fims-crackdown-mysql-mapper|selectCrackdowns-단속 목록 조회|julim */
<include refid="sqlRtReglt"/>
<where>
<if test='regltProcessSttusCode != null and regltProcessSttusCode != ""'>
AND trr.reglt_process_sttus_code = #{regltProcessSttusCode}
</if>
<if test='sch_date_opt eq "regltDe"'>
AND trr.reglt_de BETWEEN #{sch_date_from} AND #{sch_date_to}
AND trr.reglt_de BETWEEN #{sch_date_from} AND #{sch_date_to}
</if>
<if test='sch_date_opt eq "registDt"'>
AND trr.regist_dt BETWEEN #{sch_date_from} AND #{sch_date_to}
AND trr.regist_dt BETWEEN #{sch_date_from} AND #{sch_date_to}
</if>
<if test='vhcleNo != null and vhcleNo != ""'>
AND INSTR(trr.vhcle_no, #{vhcleNo}) > 0
AND INSTR(trr.vhcle_no, #{vhcleNo}) > 0
</if>
<if test='sysCode != null and sysCode != ""'>
AND trr.sys_code = #{sysCode}
AND trr.sys_code = #{sysCode}
</if>
<if test='regltSeCode != null and regltSeCode != ""'>
AND trr.reglt_se_code = #{regltSeCode}
AND trr.reglt_se_code = #{regltSeCode}
</if>
<if test='registSeCode != null and registSeCode != ""'>
AND trr.regist_se_code = #{registSeCode}
AND trr.regist_se_code = #{registSeCode}
</if>
<if test='cnfmYn != null and cnfmYn != ""'>
<if test='cnfmYn eq "Y"'>
AND LENGTH(IFNULL(trr.vhcty_cl_code, '')) > 0
AND LENGTH(IFNULL(trr.vhcty_cl_code, '')) > 0
</if>
<if test='cnfmYn eq "N"'>
AND LENGTH(IFNULL(trr.vhcty_cl_code, '')) = 0
AND LENGTH(IFNULL(trr.vhcty_cl_code, '')) = 0
</if>
</if>
</where>
ORDER BY trr.sys_code, trr.reglt_se_code, trr.reglt_de, trr.vhcle_no, trr.reglt_begin_time
ORDER BY trr.sys_code, trr.reglt_se_code, trr.reglt_de, trr.vhcle_no, trr.reglt_begin_time
</select>
@ -173,9 +176,18 @@
, violt_dtls_code = IF(violt_dtls_code = #{violtDtlsCode}, violt_dtls_code, #{violtDtlsCode})
, reglt_process_sttus_code = IF(reglt_process_sttus_code = #{regltProcessSttusCode}, reglt_process_sttus_code, #{regltProcessSttusCode})
, last_process_dt = DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
, enlight_resn_code = IF(enlight_resn_code = #{enlightResnCode}, enlight_resn_code, #{enlightResnCode})
, last_opetr = #{lastOpetr}
WHERE reglt_id = #{regltId}
</update>
<update id="updateProcessStsAndProcessDtRtReglt">
/* cmm-fims-crackdown-mysql-mapper|updateProcessStsAndProcessDtRtReglt-단속 상태와 최종처리일 변경|julim */
UPDATE tb_rt_reglt
SET reglt_process_sttus_code = IF(reglt_process_sttus_code = #{regltProcessSttusCode}, reglt_process_sttus_code, #{regltProcessSttusCode})
, last_process_dt = DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
, last_opetr = #{lastOpetr}
WHERE reglt_id = #{regltId}
</update>
</mapper>

@ -175,6 +175,31 @@
<!-- *************************************************************************************************************
* tb_rt_erpp : 서손
************************************************************************************************************** -->
<insert id="insertRtErpp">
/* rt-reglt-and-erpp-mysql-mapper|insertRtErpp-서손 데이타 등록|julim */
INSERT
INTO tb_rt_erpp (
erpp_id
, reglt_id
, signgu_code
, sys_code
, erpp_process_de
, erpp_se_code
, erpp_resn_detail
, regist_dt
, register
) VALUES (
LPAD(NEXTVAL(seq_rt_erpp), 12, '0')
, #{regltId}
, #{signguCode}
, #{sysCode}
, #{erppId}
, #{erppSeCode}
, #{erppResnDetail}
, DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')
, #{register}
)
</insert>
<!-- *************************************************************************************************************
* tb_rt_payer : 납부자
@ -399,9 +424,9 @@
, register
) VALUES (
#{regltId}
, (SELECT LPAD(IFNULL(MAX(CAST(hist_sn AS UNSIGNED)) + 1, 1), 2, '0')
FROM tb_rt_process_sttus_change_hist
WHERE reglt_id = #{regltId})
, (SELECT LPAD(IFNULL(MAX(CAST(tgt.hist_sn AS UNSIGNED)) + 1, 1), 2, '0')
FROM tb_rt_process_sttus_change_hist tgt
WHERE tgt.reglt_id = #{regltId})
, #{regltProcessSttusCode}
, #{changePosblAt}
, #{spcmntMatter}

@ -14,7 +14,7 @@ Date Author Description
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp" %>
<div class="popup" style="min-width: 100%;">
<div class="popup_inner" style="max-width: 800px;">
<div class="popup_inner" style="flex-direction: column; max-width: 800px;">
<p class="pop_title">외부 연계 자료 선택</p>
<form name="frmSearch" id="frmSearch">
<div class="search r2">
@ -49,15 +49,13 @@ Date Author Description
<span class="fll">
<div class="list clearfix" id="totCnt">전체 ㅣ <span>0</span></div>
</span>
</div>
<div id="grid"></div>
<div class="popup_btn">
<span class="flr p_flr">
<%-- <div class="popup_btn">--%>
<span class="flr">
<a href="#" class="btn blue" id="btnRegist">파일 처리</a>
<a href="#" id="btnClose" class="btn lightgray">닫기</a>
</span>
</div>
<!-- //등록버튼 -->
<div id="grid"></div>
</div>
</div>
<!-- //popup -->

@ -0,0 +1,163 @@
<%--
================================================================================
File : /fims/biz/cmm/cmmEnlightDisallowPopup.jsp
Name : 서손 / 계도 처리 팝업 - 단속관리>단속현황관리
Auth : lim.jong.uk
Date : 2022-02-03
Desc : 서손 / 계도 처리 팝업
================================================================================
Date Author Description
================================================================================
================================================================================
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%>
<style>
#regltProcessSttusCode {
width: 29%;
color: #2a48ff;
background-color: #d8e7ff;
font-weight: bold;
}
#registSeCode {
color: #2a48ff;
background-color: #d8e7ff;
}
.act_bg_color {
background-color: #d8e7ff; !important;
}
.bg_red_color {
background-color: darkred;
}
select[name=imageSeCode] {
width: 68%;
}
select[name=vhctyAsortCode] {
width: 30%;
}
select[name=payerSeCode] {
width: 25%;
}
</style>
<c:set var="isUpdate" value="${!empty infoDTO.regltId}"/>
<c:set var="bizName" value="주민 신고"/>
<div class="popup" style="min-width: 100px;">
<div class="popup_inner" style="flex-direction: column">
<p class="pop_title" id="txtTitle">${txtTitle}</p>
<form>
<table class="tbl03">
<caption>위반정보 상세</caption>
<colgroup>
<col style="width: 20%;"/>
<col/>
</colgroup>
<tbody>
<tr id="t">
<th>처리일</th>
<td>
<span class="cal-box">
<input type="text" id="processDt" name="processDt" style="width: 50%" class="inputText cal" title="처리일 선택" placeholder="날짜를 선택하세요">
<button type="button" name="processDt" class="calendar"><span class="ico far fa-calendar-alt">
<img style="width:18px;" src="${ctx}/resources/biz/content/images/common/main/calendar.png"/><em>달력</em></span>
</button>
</span>
</td>
</tr>
<tr>
<th>처리사유</th>
<td>
<code:select id="enlightResnCode" name="enlightResnCode" codeId="FIM025" defaultSelect="00" title="계도사유" cls="selectBoxTotal" alt="계도사유"/>
<code:select id="erppSeCode" name="erppSeCode" codeId="FIM021" title="서손구분" defaultSelect="01" cls="selectBoxTotal" alt="서손구분"/>
</td>
</tr>
<tr id="trErpp">
<th>특기사항</th>
<td>
<input type="text" id='erppResnDetail' name="erppResnDetail" />
</td>
</tr>
</tbody>
</table>
</form>
<div class="popup_btn">
<div class="flr p_flr">
<a href="#" class="btn blue" id="btnSave">처리</a>
<a href="#" id='btnClose' class="btn lightgray">닫기</a>
</div>
</div>
</div>
</div>
<script defer type="text/javaScript">
/**************************************************************************
* Global Variable
**************************************************************************/
let bizDiv;
/* *******************************
* Biz function
******************************* */
const fnPopupBiz = {
changeTag: () => {
if(bizDiv ==='ENLIGHT'){
$('#enlightResnCode').show();
$('#erppSeCode').hide();
$('#trErpp').hide();
}else{
$('#enlightResnCode').hide();
$('#erppSeCode').show();
$('#trErpp').show();
}
}
}
/**************************************************************************
* event
**************************************************************************/
$(() => {
$("#btnClose").on('click', () => {
window.close()
});
$("#btnSave").on('click', () => {
if(bizDiv ==='ENLIGHT'){
window.opener.callbackEnlightErpp({
bizDiv
,processDt: $('#processDt').val().replaceAll('-','')
,enlightResnCode: $('#enlightResnCode').val()
,erppSeCode: ''
,erppResnDetail: ''
})
}else{
window.opener.callbackEnlightErpp({
bizDiv
,processDt: $('#processDt').val().replaceAll('-','')
,enlightResnCode: ''
,erppSeCode: $('#erppSeCode').val()
,erppResnDetail: $('#erppResnDetail').val()
})
}
window.close()
});
})
/**************************************************************************
* initialize
**************************************************************************/
$(document).ready(function(){
$('#processDt').datepicker('setDate', new Date());
bizDiv = '${bizDiv}';
fnPopupBiz.changeTag();
});
</script>

@ -275,7 +275,9 @@ Date Author Description
var fnCallbackZipSearch = (obj) => fnPopupBiz.setZipSearch(obj, document.querySelector('#frm'));
var imageEditorPopup = (flag, params) => fnPopupBiz.pagePopup(flag, params);
var callbackReloadImage = () => fnPopupBiz.downloadImg();
var callbackEnlightErpp = (data) => fnPopupBiz.callbackEnlightErpp(data)
let orgData;
let callPopup;
/* *******************************
* Biz function
@ -321,18 +323,24 @@ Date Author Description
url = frwkApiUrl.POPUP_PAINTWEB_IMG_EDITOR;
popOption = {width: 952, height: 800, resizable:false,scrollbars:'no'};
popTitle = "이미지 에디터";
window.opener.popup = CmmPopup.open(url, params, popOption, popTitle);
break;
case "imageView":
<%--url = '<c:url value="/framework/biz/cmm/file/cmmImageViewPopup.do"/>';--%>
url = frwkApiUrl.POPUP_IMG_VIEW;
popOption = {width: 950, height: 750, resizable:false,scrollbars:'no'};
popTitle = "이미지 보기";
window.opener.popup = CmmPopup.open(url, params, popOption, popTitle);
break;
case "callEnlightErppPopup":
url = fimsApiUrl.POPUP_ENLIGHT_DISALLOW;
popOption = {width: 500, height: 400};
popTitle = "계도 / 서손 처리";
callPopup = CmmPopup.open(url, params, popOption, popTitle);
break;
default:
break;
}
window.opener.popup = CmmPopup.open(url, params, popOption, popTitle);
//var w = window.open("/imageEditor.do", "", "width=800,height=650,top=0px,left=200px,status=,resizable=false,scrollbars=no");
}
,setZipSearch: function(zipObj, tgtObj){
//FIXME : 소유자 정보에 필요한 내용 추가 필요 - 법정동, 빌딩명, 주소구분 등
@ -367,88 +375,43 @@ Date Author Description
$('input[name=vhcleNm]').val('차량명칭');
$('input[name=vhcleColor]').val('차량색상');
}
,add: () => {
if (!fnBiz.validate()) return;
cmmBizAjax('add', {
url: '<c:url value="/cmm/fimsPopup/add.do"/>'
, data: $("#frmSearch").serialize()
})
}
,modify: () => {
/*if (!fnBiz.validate()) return;*/
cmmBizAjax('modify', {
url: '<c:url value="/cmm/fimsPopup/update.do"/>'
,data: $("#frmSearch").serialize()
});
}
,remove: () => {
$("input[name=useAt]").val('N');
cmmBizAjax('remove', {
url: '<c:url value="/cmm/fimsPopup/remove.do"/>'
,data: $("#frmSearch").serialize()
});
}
};
/**************************************************************************
* event
**************************************************************************/
$(() => {
$(window).on("unload", function (e) {
window.opener?.unblockUI();
window.opener?.callbackSearch();
return null;
});
$("#btnClose").on('click', () => {
window.close()
});
$('#addrSearch').on('click', () => CmmPopup.zipPopup());
$('#vhcleSearch').on('click', () => {
fnPopupBiz.findVhcleNo();
});
$('#btnImposeTgt, #btnEnlight, #btnDisallow').on('click', (e) => {
const id = e.target.id;
switch(id){
case 'btnImposeTgt':
break;
case 'btnEnlight':
break;
case 'btnDisallow':
break;
default:
return false;
,callbackEnlightErpp: (data) => {
let saveData = fnPopupBiz.getSaveData(data);
if(data.bizDiv ==='ENLIGHT'){
cmmAjax({
url: '/fims/biz/cmm/saveEnlight.do'
,contentType: 'application/json'
,data: JSON.stringify(saveData)
})
}else{
const erppDTO = {
regltId: saveData.regltId
, erppProcessDe:data.processDt
, erppSeCode: data.erppSeCode
, erppResnDetail: data.erppResnDetail
}
let data = new FormData(document.querySelector('form'));
for (const pair of data.entries()) {
console.log(`${pair[0]}, ${pair[1]}`);
saveData = {...saveData, erppDTO: erppDTO}
cmmAjax({
url: '/fims/biz/cmm/saveDisallow.do'
,contentType: 'application/json'
,data: JSON.stringify(saveData)
})
}
}
,getSaveData: (data) => {
<%--let data = new FormData(document.querySelector('form'));--%>
for (const [name, value] of data) {
console.log(name, value);
}
// Getting a Serialize Data from FormData
console.log(serialize(data));
<%--for (const pair of data.entries()) {--%>
<%-- console.log(`${pair[0]}, ${pair[1]}`);--%>
<%--}--%>
<%--for (const [name, value] of data) {--%>
<%-- console.log(name, value);--%>
<%--}--%>
<%--// Getting a Serialize Data from FormData--%>
<%--console.log(serialize(data));--%>
const infoDTO = {
regltId: $('input[name=regltId]').val()
@ -457,7 +420,7 @@ Date Author Description
,ctznSttemntDetailSn: $('input[name=ctznSttemntDetailSn]').val()
,regltSeCode: $('select[name=regltSeCode]').val()
,registSeCode: $('select[name=registSeCode]').val()
,regltDe: $('input[name=regltDe]').val()
,regltDe: $('input[name=regltDe]').val().replaceAll('-','')
,regltBeginTime: $('input[name=regltBeginTime]').val()
,sysCode: $('select[name=sysCode]').val()
,imageSeCode: $('select[name=imageSeCode]').val()
@ -477,6 +440,8 @@ Date Author Description
,violtDtlsCode: $('select[name=violtDtlsCode]').val()
,vhcleNm: $('input[name=vhcleNm]').val()
,vin: $('input[name=vin]').val()
,lastProcessDt: data?.processDt
,enlightResnCode: data?.enlightResnCode
}
const ctznDTO = {
@ -500,7 +465,7 @@ Date Author Description
,detailAdres: $('input[name=detailAdres]').val()
}
const saveData = {
return {
regltId: $('input[name=regltId]').val()
,extrlRegltCntcId: $('input[name=extrlRegltCntcId]').val()
,interfaceSeqN: $('input[name=interfaceSeqN]').val()
@ -511,6 +476,63 @@ Date Author Description
,payerDTO
}
}
,add: () => {
if (!fnBiz.validate()) return;
cmmBizAjax('add', {
url: '<c:url value="/cmm/fimsPopup/add.do"/>'
, data: $("#frmSearch").serialize()
})
}
,modify: () => {
/*if (!fnBiz.validate()) return;*/
cmmBizAjax('modify', {
url: '<c:url value="/cmm/fimsPopup/update.do"/>'
,data: $("#frmSearch").serialize()
});
}
,remove: () => {
$("input[name=useAt]").val('N');
cmmBizAjax('remove', {
url: '<c:url value="/cmm/fimsPopup/remove.do"/>'
,data: $("#frmSearch").serialize()
});
}
};
/**************************************************************************
* event
**************************************************************************/
$(() => {
$(window).on("unload", function (e) {
window.opener?.unblockUI();
window.opener?.callbackSearch();
return null;
});
$("#btnClose").on('click', () => {
window.close()
});
$('#addrSearch').on('click', () => CmmPopup.zipPopup());
$('#vhcleSearch').on('click', () => {
fnPopupBiz.findVhcleNo();
});
$('#btnImposeTgt').on('click', (e) => {
let saveData = fnPopupBiz.getSaveData();
cmmAjax({
url: '/fims/biz/cmm/saveImposeTgt.do'
,contentType: 'application/json'
@ -518,6 +540,21 @@ Date Author Description
})
});
$('#btnEnlight, #btnDisallow').on('click', (e) => {
const id = e.target.id;
let bizDiv;
switch(id){
case 'btnEnlight':
fnPopupBiz.pagePopup('callEnlightErppPopup', {bizDiv: 'ENLIGHT'})
break;
case 'btnDisallow':
fnPopupBiz.pagePopup('callEnlightErppPopup', {bizDiv: 'DISALLOW'})
break;
default:
return false;
}
});
/*
$('#btnEnlight').on('click', () => {

@ -50,7 +50,7 @@ Date Author Description
</ul>
<div id="tabs_0">
<div class="w_fix01 gridGroup" style="position: relative;">
<div class="w_fix09 gridGroup" style="position: relative;">
<p class="title deco_01">
위반정보 <span id="violtDtlsNm" name="violtDtlsNm" style="padding-left: 20px; color:darkred;"></span>
</p>
@ -281,7 +281,7 @@ Date Author Description
<%@include file="/WEB-INF/jsp/framework/biz-popup-tab-btn.jsp" %>
</div>
<div class="w_fix01 gridGroup" style="width:0px; min-width:300px!important;">
<div class="w_fix09 gridGroup" style="width:0px; min-width:300px!important;">
<p class="title deco_01">위반사진</p>
<div id="imgList"></div>
<div>

@ -13,6 +13,16 @@ Date Author Description
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp" %>
<style>
#regltProcessSttusCode {
width: 29%;
color: #2a48ff;
background-color: #d3dfff;
font-weight: bold;
padding-left: 6px;
font-size: 11px;
}
</style>
<form id="frmSearch" name="frmSearch">
<div class="search">
<div class="detail_02" style="display: block;">
@ -22,7 +32,7 @@ Date Author Description
<option value="regltDe">단속일자</option>
<option value="registDt">등록일자</option>
</select>
<!--span class="cal-box"-->
<span class="cal-box">
<input id="sch_date_from" class="inputText cal" name="sch_date_from" type="text" title="시작 날짜 선택">
<button type="button" name="sch_date_from" class="calendar"><span class="ico far fa-calendar-alt">
<img style="width:18px;" src="${ctx}/resources/biz/content/images/common/main/calendar.png"/><em>달력</em></span>
@ -32,7 +42,8 @@ Date Author Description
<button type="button" name="sch_date_to" class="calendar"><span class="ico far fa-calendar-alt">
<img style="width:18px;" src="${ctx}/resources/biz/content/images/common/main/calendar.png"/><em>달력</em></span>
</button>
<!--/span-->
</span>
<code:select id="regltProcessSttusCode" name="regltProcessSttusCode" codeId="FIM010" defaultSelect="01" title="단속처리상태" cls="selectBoxTotal act_color" alt="단속처리상태" disabled="false"/>
<br/>
<label class="title">시스템구분</label>
<code:radio codeId="FIM001" id="sysCode" name="sysCode" defaultSelect="BPV" onclick="fnTab0Biz.search()" cls="radioBox" alt="시스템구분"/>
@ -90,7 +101,7 @@ Date Author Description
popup = null;
let GRID = null;
let curClickColName;
//var callbackSearch = () => fnBiz.search();
var callbackSearch = () => fnTab0Biz.search();
var pageNav = null;
/* *******************************
@ -439,6 +450,7 @@ Date Author Description
,[$('#sch_opt').val()]: $('#sch_word').val()
,sysCode: $('input:radio[name=sysCode]:checked').val()
,regltSeCode: $('input:radio[name=regltSeCode]:checked').val()
,regltProcessSttusCode: $('#regltProcessSttusCode').val()
//,cnfmYn: $('input[name=regltYn]:checked').val()
,cnfmYn: $('#cnfmYn').val()
}

@ -47,10 +47,10 @@ Date Author Description
**************************************************************************/
let CUR_TAB_IDX = 0;
let ARR_TOTCNT = 0;
let orgData;
let downloadImgParam;
var callbackSearch = () => fnBiz.search();
var callbackReloadImage = () => fnBiz.downloadImg();
//let orgData;
//let downloadImgParam;
//var callbackSearch = () => fnBiz.search();
//var callbackReloadImage = () => fnBiz.downloadImg();
/*******************************

@ -5,8 +5,9 @@ const fimsApiUrl = {
*/
FIND_RCV_PATH_FILES: '/fims/biz/cmm/findRcvPathFiles.do' //연계파일 경로 파일 목록 조회
,POPUP_CRACKDOWN_TOTAL: '/fims/biz/cmm/cmmFimsCrackdownTotMgtPopup.do' //단속현황 개별 총정보 팝업
,POPUP_CRACKDOWN_EDIT: '/fims/biz/cmm/cmmFimsCrackdownEditPopup.do' //단속 정보 편집 팝업
,POPUP_CRACKDOWN_EDIT: '/fims/biz/cmm/cmmFimsCrackdownEditPopup.do' //단속 정보 편집 팝업
,POPUP_EXTR_CRACKDOWN_FILE_SEL: '/fims/biz/cmm/cmmCrackdownRcvFilePopup.do' //CCTV 외부연계 데이타 선택
,POPUP_ENLIGHT_DISALLOW: '/fims/biz/cmm/cmmEnlightDisallowPopup.do' //서손 / 계도 처리 popup
,FIND_CRACKDOWN_INFO: '/fims/biz/cmm/findCrackdownInfoAndAttchFiles.do' //단속현황-개별총정보 위반정보탭 조회
,FIND_CRACKDOWNS: '/fims/biz/cmm/findCrackdownInfos.do' //단속현황-외부연계자료목록
/**

@ -701,14 +701,12 @@ select:enabled{
}*/
.popup_inner{
margin: 10px auto;
margin: 30px auto;
padding: 40px 45px;
text-align: left;
display: flex;
flex-flow: column;
gap: 1rem;
}
.inner_02{flex-direction: row;}
/* ****************************
* 2020.06.11.
* ".popup_inner *"
@ -809,7 +807,7 @@ select:enabled{
.tbl03 {
font-size: 12px;
margin-bottom: 20px;
border:1px solid #b7b7b7;
border:1px solid red;
}
.tbl03 th, .tbl03 td {
border: 1px solid #b7b7b7;
@ -1271,10 +1269,10 @@ input:read-only {
background: url('../../images/common/content_header.png') 0 5px no-repeat;
padding-left: 20px;*/
border-bottom: 1px solid #c3c3c3;
font-size: 17px;
font-size: 15px;
font-weight: bold;
letter-spacing: -1.6px;
padding: 10px 10px 10px 3px;
padding: 10px 10px 10px 15px;
margin-top: 12px;
}
@ -1285,9 +1283,6 @@ input:read-only {
clear: both;
position: relative;
overflow: hidden;
display: flex;
justify-content: space-between;
align-items: baseline;
}
.p_flr{
display: flex;
@ -1296,10 +1291,7 @@ input:read-only {
padding-left: 120px;
}
.flr a:last-child{
margin-right: 15px;
}
.align_center{
padding-left:0px;
margin-right: 0;
}
.page_info{
position: absolute;
@ -1390,7 +1382,6 @@ input:read-only {
border-bottom: none;
padding-right: 8px;
margin-right: 5px;
font-size:13px;
}
@ -1985,4 +1976,4 @@ div.guide ul li{
padding: 10px;
background-color: #b5c1dc57;
border-radius: 8px;
}
}

Loading…
Cancel
Save