개별총정보 호출 수정.

단속 재등록 관리 수정.
main
jjh 1 year ago
parent a10896d534
commit 706970c3d8

@ -6,7 +6,7 @@ import lombok.Setter;
/**
*
* <p> : , .
* <p> : .
*
* <pre>
* ============ ============
@ -103,6 +103,7 @@ public class Excl01 extends AbstractEntity {
*/
private String[] levyExclIDs;
// 추가 /////////////////////////////////////////////////////////////////////
/* 단속(TB_CRDN) */
/**
*
@ -133,6 +134,5 @@ public class Excl01 extends AbstractEntity {
*
*/
private String crdnSttsChgDt;
// 필요해서 추가 /////////////////////////////////////////////////////////////////////
}

@ -41,14 +41,13 @@ public class Excl01Query extends QueryRequest {
private String mainOption;
private String subOption;
private String grid;
private String levyExclSeCd; // 부과 제외 구분 코드
private String levyExclSeNm; // 부과 제외 구분 코드
private String vhrno; // 차량번호 - 단속(TB_CRDN)
private String rtpyrNm; // 납부자 명 - 납부자(TB_PAYER)
//
// ID
private String levyExclId; // 부과 제외 ID
private String crdnId; // 단속 ID
private String levyExclSeCd; // 부과 제외 구분 코드
public String getSggCd() {
return ifEmpty(sggCd, () -> null);
@ -230,7 +229,7 @@ public class Excl01Query extends QueryRequest {
return self();
}
// 동적 검색 조건
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
public String getMainOption() {
return ifEmpty(mainOption, () -> null);
}
@ -321,5 +320,6 @@ public class Excl01Query extends QueryRequest {
return self();
}
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
}

@ -1,12 +1,14 @@
package cokr.xit.fims.excl;
import java.lang.String;
import cokr.xit.foundation.AbstractEntity;
import lombok.Getter;
import lombok.Setter;
/**
/**
*
* <p> : , .
* <p> : .
*
* <pre>
* ============ ============
@ -16,9 +18,8 @@ import lombok.Setter;
*/
@Getter
@Setter
public class Excl02 extends cokr.xit.foundation.AbstractEntity {
public class Excl02 extends AbstractEntity {
// TB_OPNN_SBMSN 의견제출 대장 ///////////////////////////////////////////////////////////////////////
/**
* ID
*/
@ -213,520 +214,5 @@ public class Excl02 extends cokr.xit.foundation.AbstractEntity {
*
*/
private String delRsn;
// TB_OPNN_SBMSN 의견제출 대장 ///////////////////////////////////////////////////////////////////////
// TB_CRDN 단속 대장 ///////////////////////////////////////////////////////////////////////////////
/**
* ID
*/
// private String crdnId;
/**
*
*/
private String sggCd;
/**
*
*/
private String taskSeCd;
/**
*
*/
private String taskSeNm;
/**
*
*/
private String crdnRegSeCd;
/**
*
*/
private String crdnRegSeNm;
/**
*
*/
private String crdnInptSeCd;
/**
*
*/
private String crdnInptSeNm;
/**
*
*/
private String linkTblNm;
/**
* ID
*/
private String linkId;
/**
* ID
*/
private String rtpyrId;
/**
*
*/
private String crdnSeCd;
/**
*
*/
private String crdnSeNm;
/**
*
*/
private String crdnYmd;
/**
*
*/
private String crdnTm;
/**
*
*/
private String crdnYmdTm;
/**
*
*/
private String vhrno;
/**
*
*/
private String crdnStdgNm;
/**
*
*/
private String crdnRoadNm;
/**
*
*/
private String crdnPlc;
/**
*
*/
private String dtlCrdnPlc;
/**
* ID
*/
private String teamId;
/**
* ID
*/
private String vltnId;
/**
*
*/
private String crdnSpareaCd;
/**
*
*/
private String crdnSpareaNm;
/**
*
*/
private String crdnBgngTm;
/**
*
*/
private String crdnEndHr;
/**
*
*/
private String crdnSn;
/**
* GPS X
*/
private String gpsX;
/**
* GPS Y
*/
private String gpsY;
/**
* X
*/
private String moscX;
/**
* Y
*/
private String moscY;
/**
*
*/
private String towngYn;
/**
*
*/
// private String atchFileCnt;
/**
*
*/
private String vin;
/**
*
*/
private String vhclNm;
/**
*
*/
private String vhclColor;
/**
*
*/
private String useFuelCd;
/**
*
*/
private String usgSeCd;
/**
*
*/
private String mxmmLoadQy;
/**
*
*/
private String tkcarPsncpaCnt;
/**
*
*/
private String carmdlAsortNm;
/**
*
*/
private String carmdlTypeNm;
/**
*
*/
private String carmdlClsfNm;
/**
*
*/
private String ersrYmd;
/**
*
*/
private String ffnlgCarmdlCd;
/**
*
*/
private String parkngPsbltyRsltCd;
/**
*
*/
private String vltnNmtm;
/**
*
*/
private String ovtimeYn;
/**
*
*/
private String rvwSeCd;
/**
*
*/
private String rvwPrcsScrnNm;
/**
*
*/
private String rvwDt;
/**
*
*/
private String rvwr;
/**
*
*/
private String ffnlgAmt;
/**
*
*/
private String ffnlgRductRt;
/**
*
*/
private String levyAmt;
/**
*
*/
private String advntceBgngYmd;
/**
*
*/
private String advntceDudtYmd;
/**
*
*/
private String advntceLevyAmt;
/**
*
*/
private String opnnSbmsnYn;
/**
* ID
*/
private String levyId;
/**
*
*/
private String crdnSttsCd;
/**
*
*/
private String crdnSttsNm;
/**
*
*/
private String crdnSttsChgDt;
/**
*
*/
private String adtnAmt;
/**
*
*/
private String minusAmt;
/**
*
*/
private String rcvmtAmt;
/**
* ID
*/
private String bfrCrdnId;
// TB_CRDN 단속 대장 ///////////////////////////////////////////////////////////////////////////////
// TB_PAYER 납부자 대장 /////////////////////////////////////////////////////////////////////////////
/**
* ID
*/
// private String rtpyrId;
/**
*
*/
private String rtpyrInptSeCd;
/**
*
*/
private String rtpyrInptSeNm;
/**
*
*/
private String rtpyrSeCd;
/**
*
*/
private String rtpyrSeNm;
/**
*
*/
private String rtpyrNo;
/**
*
*/
private String rtpyrNm;
/**
*
*/
private String rtpyrCttpcSeCd;
/**
*
*/
private String rtpyrCttpcSeNm;
/**
*
*/
private String rtpyrCttpc;
/**
*
*/
private String rtpyrEml;
/**
*
*/
private String rtpyrBrdt;
/**
* _
*/
private String rtpyrBrdtFormat;
/**
*
*/
private String rtpyrSttsCd;
/**
*
*/
private String rtpyrSttsNm;
/**
*
*/
private String addrSeCd;
/**
*
*/
private String addrSeNm;
/**
*
*/
private String zip;
/**
*
*/
private String roadNmCd;
/**
*
*/
private String udgdSeCd;
/**
*
*/
private String bmno;
/**
*
*/
private String bsno;
/**
*
*/
private String bldgMngNo;
/**
*
*/
private String stdgCd;
/**
*
*/
private String dongCd;
/**
*
*/
private String mtnSeCd;
/**
*
*/
private String mno;
/**
*
*/
private String sno;
/**
*
*/
private String spclDong;
/**
*
*/
private String spclHo;
/**
*
*/
private String spclAddr;
/**
*
*/
private String addr;
/**
*
*/
private String dtlAddr;
/**
*
*/
private String wholAddr;
// TB_PAYER 납부자 대장 /////////////////////////////////////////////////////////////////////////////
}

@ -37,7 +37,10 @@ public class Excl02Query extends QueryRequest {
private String schOpnnSbmsnSttsCd; // 의견 제출 상태 코드
private String schVhrno; // 차량번호 - 단속(TB_CRDN)
private String schSttrNm; // 진술자 명
//
// 동적 검색 조건
private String mainOption;
private String subOption;
// ID
private String opnnId; // 의견 ID
public String getSggCd() {
@ -230,4 +233,26 @@ public class Excl02Query extends QueryRequest {
return self();
}
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
public String getMainOption() {
return ifEmpty(mainOption, () -> null);
}
public <T extends Excl02Query> T setMainOption(String mainOption) {
this.mainOption = mainOption;
return self();
}
public String getSubOption() {
return ifEmpty(subOption, () -> null);
}
public <T extends Excl02Query> T setSubOption(String subOption) {
this.subOption = subOption;
return self();
}
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
}

@ -1,12 +1,14 @@
package cokr.xit.fims.excl;
import java.lang.String;
import cokr.xit.foundation.AbstractEntity;
import lombok.Getter;
import lombok.Setter;
/**
/**
*
* <p> : , .
* <p> : .
*
* <pre>
* ============ ============
@ -16,28 +18,27 @@ import lombok.Setter;
*/
@Getter
@Setter
public class Excl03 extends cokr.xit.foundation.AbstractEntity {
public class Excl03 extends AbstractEntity {
// TB_CRDN_RE 단속 재등록 ///////////////////////////////////////////////////////////////////////
/**
* ID
*/
private String reRegId;
/**
* ID
* ID
*/
private String crdnId;
private String bfrCrdnId;
/**
* ID
* ID
*/
private String newCrdnId;
private String crdnId;
/**
*
*
*/
private String crdnRegYmd;
private String reRegYmd;
/**
*
@ -78,520 +79,5 @@ public class Excl03 extends cokr.xit.foundation.AbstractEntity {
*
*/
private String delRsn;
// TB_CRDN_RE 단속 재등록 ///////////////////////////////////////////////////////////////////////
// TB_CRDN 단속 대장 ///////////////////////////////////////////////////////////////////////////////
/**
* ID
*/
// private String crdnId;
/**
*
*/
private String sggCd;
/**
*
*/
private String taskSeCd;
/**
*
*/
private String taskSeNm;
/**
*
*/
// private String crdnRegSeCd;
/**
*
*/
private String crdnRegSeNm;
/**
*
*/
private String crdnInptSeCd;
/**
*
*/
private String crdnInptSeNm;
/**
*
*/
private String linkTblNm;
/**
* ID
*/
private String linkId;
/**
* ID
*/
private String rtpyrId;
/**
*
*/
private String crdnSeCd;
/**
*
*/
private String crdnSeNm;
/**
*
*/
private String crdnYmd;
/**
*
*/
private String crdnTm;
/**
*
*/
private String crdnYmdTm;
/**
*
*/
private String vhrno;
/**
*
*/
private String crdnStdgNm;
/**
*
*/
private String crdnRoadNm;
/**
*
*/
private String crdnPlc;
/**
*
*/
private String dtlCrdnPlc;
/**
* ID
*/
private String teamId;
/**
* ID
*/
private String vltnId;
/**
*
*/
private String crdnSpareaCd;
/**
*
*/
private String crdnSpareaNm;
/**
*
*/
private String crdnBgngTm;
/**
*
*/
private String crdnEndHr;
/**
*
*/
private String crdnSn;
/**
* GPS X
*/
private String gpsX;
/**
* GPS Y
*/
private String gpsY;
/**
* X
*/
private String moscX;
/**
* Y
*/
private String moscY;
/**
*
*/
private String towngYn;
/**
*
*/
private String atchFileCnt;
/**
*
*/
private String vin;
/**
*
*/
private String vhclNm;
/**
*
*/
private String vhclColor;
/**
*
*/
private String useFuelCd;
/**
*
*/
private String usgSeCd;
/**
*
*/
private String mxmmLoadQy;
/**
*
*/
private String tkcarPsncpaCnt;
/**
*
*/
private String carmdlAsortNm;
/**
*
*/
private String carmdlTypeNm;
/**
*
*/
private String carmdlClsfNm;
/**
*
*/
private String ersrYmd;
/**
*
*/
private String ffnlgCarmdlCd;
/**
*
*/
private String parkngPsbltyRsltCd;
/**
*
*/
private String vltnNmtm;
/**
*
*/
private String ovtimeYn;
/**
*
*/
private String rvwSeCd;
/**
*
*/
private String rvwPrcsScrnNm;
/**
*
*/
private String rvwDt;
/**
*
*/
private String rvwr;
/**
*
*/
private String ffnlgAmt;
/**
*
*/
private String ffnlgRductRt;
/**
*
*/
private String levyAmt;
/**
*
*/
private String advntceBgngYmd;
/**
*
*/
private String advntceDudtYmd;
/**
*
*/
private String advntceLevyAmt;
/**
*
*/
private String opnnSbmsnYn;
/**
* ID
*/
private String levyId;
/**
*
*/
private String crdnSttsCd;
/**
*
*/
private String crdnSttsNm;
/**
*
*/
private String crdnSttsChgDt;
/**
*
*/
private String adtnAmt;
/**
*
*/
private String minusAmt;
/**
*
*/
private String rcvmtAmt;
/**
* ID
*/
private String bfrCrdnId;
// TB_CRDN 단속 대장 ///////////////////////////////////////////////////////////////////////////////
// TB_PAYER 납부자 대장 /////////////////////////////////////////////////////////////////////////////
/**
* ID
*/
// private String rtpyrId;
/**
*
*/
private String rtpyrInptSeCd;
/**
*
*/
private String rtpyrInptSeNm;
/**
*
*/
private String rtpyrSeCd;
/**
*
*/
private String rtpyrSeNm;
/**
*
*/
private String rtpyrNo;
/**
*
*/
private String rtpyrNm;
/**
*
*/
private String rtpyrCttpcSeCd;
/**
*
*/
private String rtpyrCttpcSeNm;
/**
*
*/
private String rtpyrCttpc;
/**
*
*/
private String rtpyrEml;
/**
*
*/
private String rtpyrBrdt;
/**
* _
*/
private String rtpyrBrdtFormat;
/**
*
*/
private String rtpyrSttsCd;
/**
*
*/
private String rtpyrSttsNm;
/**
*
*/
private String addrSeCd;
/**
*
*/
private String addrSeNm;
/**
*
*/
private String zip;
/**
*
*/
private String roadNmCd;
/**
*
*/
private String udgdSeCd;
/**
*
*/
private String bmno;
/**
*
*/
private String bsno;
/**
*
*/
private String bldgMngNo;
/**
*
*/
private String stdgCd;
/**
*
*/
private String dongCd;
/**
*
*/
private String mtnSeCd;
/**
*
*/
private String mno;
/**
*
*/
private String sno;
/**
*
*/
private String spclDong;
/**
*
*/
private String spclHo;
/**
*
*/
private String spclAddr;
/**
*
*/
private String addr;
/**
*
*/
private String dtlAddr;
/**
*
*/
private String wholAddr;
// TB_PAYER 납부자 대장 /////////////////////////////////////////////////////////////////////////////
}

@ -29,7 +29,10 @@ public class Excl03Query extends QueryRequest {
private String schDetailUserCd; // 상세 검색 사용자 코드
// 검색 조건
private String schVhrno; // 차량번호 - 단속(TB_CRDN)
//
// 동적 검색 조건
private String mainOption;
private String subOption;
// ID
private String reRegId; // 재등록 ID
public String getSggCd() {
@ -142,4 +145,26 @@ public class Excl03Query extends QueryRequest {
return self();
}
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
public String getMainOption() {
return ifEmpty(mainOption, () -> null);
}
public <T extends Excl03Query> T setMainOption(String mainOption) {
this.mainOption = mainOption;
return self();
}
public String getSubOption() {
return ifEmpty(subOption, () -> null);
}
public <T extends Excl03Query> T setSubOption(String subOption) {
this.subOption = subOption;
return self();
}
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
}

@ -98,7 +98,9 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
retMap.put("retCode", "000");
retMap.put("retMessage", "부과제외 대장 등록에 실패하였습니다.");
return retMap;
// return retMap;
throw new RuntimeException("부과제외 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 오류메세지를 보내고 롤백..
}
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장 등록
@ -116,7 +118,9 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
retMap.put("retCode", "000");
retMap.put("retMessage", "단속상태이력 대장 등록에 실패하였습니다.");
return retMap;
// return retMap;
throw new RuntimeException("단속상태이력 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 오류메세지를 보내고 롤백..
}
// 단속(TB_CRDN) 대장 상태 코드 수정
@ -206,7 +210,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
if (!infoCrdnSttsHstry.string("CRDN_STTS_CD").equals(infoCrdnSttsCd.string("CRDN_STTS_CD"))) {
retMessage = retMessage + "단속 상태가 " + infoCrdnSttsCd.string("LEVY_EXCL_SE_NM") + " 이(가) 아닙니다.";
throw new RuntimeException(retMessage); // 예외 발생하여 롤백..
throw new RuntimeException(retMessage); // 예외를 발생시켜서 오류메세지를 보내고 롤백..
}
// 부과제외(TB_LEVY_EXCL) 삭제
@ -214,7 +218,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
if (!retSuccess) {
retMessage = retMessage + "부과제외 자료 삭제에서 오류가 발생 되었습니다.";
throw new RuntimeException(retMessage); // 예외 발생하여 롤백..
throw new RuntimeException(retMessage); // 예외를 발생시켜서 오류메세지를 보내고 롤백..
}
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 삭제
@ -222,10 +226,9 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
retSuccess = crdnSttsHstryBean.remove(deltCrdnSttsHstry);
if (!retSuccess) {
// if (retSuccess) {
retMessage = retMessage + "단속상태이력 자료 삭제에서 오류가 발생 되었습니다.";
throw new RuntimeException(retMessage); // 예외 발생하여 롤백..
throw new RuntimeException(retMessage); // 예외를 발생시켜서 오류메세지를 보내고 롤백..
}
// 단속(TB_CRDN) 대장 상태 코드 수정
@ -237,7 +240,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
if (!retSuccess) {
retMessage = retMessage + "단속 자료 수정에서 오류가 발생 되었습니다.";
throw new RuntimeException(retMessage); // 예외 발생하여 롤백..
throw new RuntimeException(retMessage); // 예외를 발생시켜서 오류메세지를 보내고 롤백..
}
// 추가필요 20230718 조재현 //////////////////////////////////////////////////////////

@ -5,7 +5,6 @@ import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@ -46,7 +45,7 @@ public class Excl03Controller extends ApplicationController {
return mav.addObject("pageName", "excl03010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("urlPrefix", "/excl/excl03") // URL로 사용할 prefix
.addObject("infoPrefix", "crdnRe") // prefix
.addObject("infoPrefix", "crdnReReg") // prefix
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
;
}
@ -66,7 +65,7 @@ public class Excl03Controller extends ApplicationController {
public ModelAndView getCrackdownReRegistrationList(Excl03Query req) {
List<?> result = excl03Service.getCrackdownReRegistrationList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "crdnRe");
return setCollectionInfo(new ModelAndView("jsonView"), result, "crdnReReg");
}
/** ID .

@ -170,6 +170,7 @@
<when test="by == 'cvlcptRcptYmd'"> E.CVLCPT_RCPT_YMD </when>
<when test="by == 'crdnYmd'"> C.CRDN_YMD </when>
<when test="by == 'vhrno'"> C.VHRNO </when>
<when test="by == 'crdnStdgNm'"> C.CRDN_STDG_NM </when>
<when test="by == 'crdnPlc'"> C.CRDN_PLC </when>
<when test="by == 'crdnSttsNm'"> C.CRDN_STTS_CD </when>
<when test="by == 'rtpyrNm'"> D.RTPYR_NM </when>

@ -10,9 +10,9 @@
<resultMap id="excl03Row" type="cokr.xit.fims.excl.Excl03">
<!-- TB_CRDN_RE 단속 재등록 대장 -->
<result property="reRegId" column="RE_REG_ID" /> <!-- 재등록 ID -->
<result property="bfrCrdnId" column="BFR_CRDN_ID" /> <!-- 이전 단속 ID -->
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->
<result property="newCrdnId" column="NEW_CRDN_ID" /> <!-- 신규 단속 ID -->
<result property="crdnRegYmd" column="CRDN_REG_YMD" /> <!-- 단속 등록 일자 -->
<result property="reRegYmd" column="RE_REG_YMD" /> <!-- 재등록 일자 -->
<result property="crdnRegSeCd" column="CRDN_REG_SE_CD" /> <!-- 단속 등록 구분 코드 -->
<result property="etcCn" column="ETC_CN" /> <!-- 기타 내용 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
@ -25,10 +25,11 @@
<sql id="selectList">
SELECT A.RE_REG_ID /* 재등록 ID */
, A.BFR_CRDN_ID /* 이전 단속 ID */
, A.CRDN_ID /* 단속 ID */
, A.NEW_CRDN_ID /* 신규 단속 ID */
, A.CRDN_REG_YMD /* 단속 등록 일자 */
, A.RE_REG_YMD /* 재등록 일자 */
, A.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM026', A.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */
, A.ETC_CN /* 기타 내용 */
, A.DEL_YN /* 삭제 여부 */
, A.REG_DT /* 등록 일시 */
@ -53,10 +54,11 @@
, C.ATCH_FILE_CNT /* 첨부 파일 수 */
, C.FFNLG_AMT /* 과태료 금액 */
, C.LEVY_AMT /* 부과 금액 */
, C.ADVNTCE_LEVY_AMT /* 사전통지 부과 금액 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
FROM TB_CRDN_RE A
INNER JOIN TB_CRDN C ON (A.NEW_CRDN_ID = C.CRDN_ID)
FROM TB_CRDN_RE_REG A
INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID)
</sql>
<select id="selectCrdnReList" parameterType="map" resultType="dataobject">/* 단속 재등록 목록 조회(excl03Mapper.selectCrdnReList) */
@ -67,12 +69,20 @@
AND C.SGG_CD = #{sggCd} /* 시군구 코드 */
AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
<choose>
<when test="schDateOpt == 'crdnRegYmd'">
<when test="schDateOpt == 'reRegYmd'">
<if test="schDateFrom != null">
AND A.CRDN_REG_YMD <![CDATA[ >= ]]> #{schDateFrom} /* 단속 등록 일자 시작 */
AND A.RE_REG_YMD <![CDATA[ >= ]]> #{schDateFrom} /* 재등록 일자 시작 */
</if>
<if test="schDateTo != null">
AND A.CRDN_REG_YMD <![CDATA[ <= ]]> #{schDateTo} /* 단속 등록 일자 종료 */
AND A.RE_REG_YMD <![CDATA[ <= ]]> #{schDateTo} /* 재등록 일자 종료 */
</if>
</when>
<when test="schDateOpt == 'crdnYmd'">
<if test="schDateFrom != null">
AND C.CRDN_YMD <![CDATA[ >= ]]> #{schDateFrom} /* 재등록 일자 시작 */
</if>
<if test="schDateTo != null">
AND C.CRDN_YMD <![CDATA[ <= ]]> #{schDateTo} /* 재등록 일자 종료 */
</if>
</when>
<otherwise>
@ -81,15 +91,36 @@
<if test = "schVhrno != null">
AND C.VHRNO = #{schVhrno} /* 차량번호 */
</if>
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'reRegYmd'"> A.RE_REG_YMD </when>
<when test="by == 'crdnRegSeNm'"> A.CRDN_REG_SE_CD </when>
<when test="by == 'etcCn'"> A.ETC_CN </when>
<when test="by == 'crdnYmd'"> C.CRDN_YMD </when>
<when test="by == 'vhrno'"> C.VHRNO </when>
<when test="by == 'crdnStdgNm'"> C.CRDN_STDG_NM </when>
<when test="by == 'crdnPlc'"> C.CRDN_PLC </when>
<when test="by == 'ffnlgAmt'"> C.FFNLG_AMT </when>
<when test="by == 'crdnSttsNm'"> C.CRDN_STTS_CD </when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<sql id="select">
SELECT A.RE_REG_ID /* 재등록 ID */
, A.BFR_CRDN_ID /* 이전 단속 ID */
, A.CRDN_ID /* 단속 ID */
, A.NEW_CRDN_ID /* 신규 단속 ID */
, A.CRDN_REG_YMD /* 단속 등록 일자 */
, A.RE_REG_YMD /* 재등록 일자 */
, A.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, A.ETC_CN /* 기타 내용 */
, A.DEL_YN /* 삭제 여부 */
@ -98,7 +129,7 @@
, A.DEL_DT /* 삭제 일시 */
, A.DLTR /* 삭제자 */
, A.DEL_RSN /* 삭제 사유 */
FROM TB_CRDN_RE A
FROM TB_CRDN_RE_REG A
</sql>
<select id="selectCrdnReInfo" parameterType="map" resultMap="excl03Row">/* 단속 재등록 대장 객체 가져오기(excl03Mapper.selectCrdnReInfo) */
@ -121,8 +152,8 @@
<insert id="insertCrdnRe" parameterType="map">/* 단속 재등록 등록(excl03Mapper.insertCrdnRe) */
INSERT INTO TB_CRDN_RE (
RE_REG_ID /* 재등록 ID */
, BEF_CRDN_ID /* 신규 단속 ID */
, CRDN_ID /* 단속 ID */
, NEW_CRDN_ID /* 신규 단속 ID */
, CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, ETC_CN /* 기타 내용 */
, DEL_YN /* 삭제 여부 */
@ -134,8 +165,8 @@
)
VALUES (
#{reRegId} /* 재등록 ID */
, #{befCrdnId} /* 신규 단속 ID */
, #{crdnId} /* 단속 ID */
, #{newCrdnId} /* 신규 단속 ID */
, #{crdnRegSeCd} /* 단속 등록 구분 코드 */
, #{etcCn} /* 기타 내용 */
, #{delYn} /* 삭제 여부 */

@ -49,7 +49,7 @@
</div>
<!-- 부과제외일자 -->
<div class="col-1 text-end">
<select class="form-select" id="schDateOpt--${pageName}" name="schDateOpt">
<select class="form-select text-end" id="schDateOpt--${pageName}" name="schDateOpt">
<option value="levyExclYmd">부과제외일자</option>
<option value="crdnYmd">단속일자</option>
</select>
@ -91,30 +91,12 @@
<div class="col-5">
<input type="text" class="form-control w-px-150" id="schRtpyrNm--${pageName}" name="schRtpyrNm" />
</div>
<!-- 등록일자 -->
<div class="col-1 text-end">
<select class="form-select" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
</div>
<div class="col-5">
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 동적검색 -->
<div class="col-1 text-end">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
</div>
<div class="col-3">
<div class="col-9">
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-250" id="term--${pageName}" name="term" />
@ -134,7 +116,25 @@
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row">
<div class="row g-1">
<!-- 등록일자 -->
<div class="col-1 text-end">
<select class="form-select" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
</div>
<div class="col-5">
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-1 text-end">
<select class="form-select" id="schDetailUserOpt--${pageName}" name="schDetailUserOpt">
@ -142,7 +142,7 @@
<option value="mdfr">수정자명</option>
</select>
</div>
<div class="col-11">
<div class="col-5">
<input type="text" class="form-control" id="schDetailUserNm--${pageName}" name="schDetailUserNm" />
</div>
</div>
@ -180,7 +180,8 @@
<table class="datatables-ajax table table-bordered dataTable no-footer"
id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead>
<tr id="theadTr--${pageName}" data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="sorting" style="width: 24px;">NO.</th>
<th class="sorting" style="width: 24px;">
<input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);">
@ -193,6 +194,7 @@
<th onclick="searchFromGridTitle('CVLCPT_RCPT_YMD', this.innerText, 'ymd', '');">민원접수일자</th>
<th onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">법정동</th>
<th onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th onclick="searchFromGridTitle('CRDN_STTS_NM', this.innerText, 'codeValue', 'FIM010');">처리상태명</th>
<th onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
@ -219,6 +221,7 @@
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_YMD}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
@ -280,7 +283,6 @@
, update : wctx.url(prefixUrl + "/020/update.do") // 자료 수정
// , remove : wctx.url(prefixUrl + "/010/remove.do") // 자료 삭제
, remove : wctx.url(prefixUrl + "/010/removes.do") // 선택(체크) 자료 삭제
, getTotalInfo : wctx.url("/sprt/sprt01/020/info.do") // 개별총정보
}
, formats : {
LEVY_EXCL_YMD : dateFormat
@ -333,12 +335,14 @@
};
// 개별총정보 dialog
${pageName}Control.getTotalInfo = (params) => {
let info = ${pageName}Control.dataset.getCurrent("item");
${pageName}Control.getTotalInfo = (crdnId) => {
if (crdnId == undefined || crdnId == "") {
return;
}
ajax.get({
url : ${pageName}Control.urls.getTotalInfo
, data : params || {}
url : wctx.url("/sprt/sprt01/020/info.do")
, data : { crdnId : crdnId }
, success : resp => {
resp = resp.replace(/infoPrefix/g, this.prefix)
.replace(/prefixName/g, this.prefixName)
@ -346,8 +350,8 @@
id : ${pageName}Control.prefixed("dialog")
, title : "개별총정보"
, content : resp
, size : ${pageName}Control.infoSize
, init : () => ${pageName}Control.setInfo(info)
, size : "xl"
// , init : () => ${pageName}Control.setInfo(info) // 개별총정보 다이얼로그에서 실행할 함수
});
}
});
@ -425,7 +429,8 @@
if (el.scrollTop() == 0) return;
if ((el[0].scrollHeight - el.scrollTop() + 17) == el.outerHeight()) {
// if ((el[0].scrollHeight - el.scrollTop() + 17) == el.outerHeight()) {
if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) {
fnSearchList${pageName}(${pageName}Control.query.pageNum + 1);
}
});
@ -493,7 +498,7 @@
function fnModify${pageName}() {
let levyExclId = ${pageName}Control.dataset.getValue("LEVY_EXCL_ID");
// 부과 제외 ID 가 없다면.. return
// 부과제외ID 가 없다면.. return
if (levyExclId == undefined || levyExclId == "") {
return;
}
@ -519,17 +524,20 @@
* script 진입
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정
setEvent${pageName}();
// 업무구분 및 화면 초기 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
fnResetAndChangeBiz${pageName}(defaultBizValue);
// 이벤트 설정
setEvent${pageName}();
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// Dataset 셋팅 - List 일경우 addData 하여 자료를 추가
${pageName}Control.addData(${levyExcl});
// Dataset 셋팅 - 화면이 열리면서 조회하는 경우 addData 하여 자료를 추가
// ${pageName}Control.addData(${levyExcl});
});
// #sourceURL=excl01010-main.jsp

@ -49,7 +49,7 @@
</div>
<!-- 의견제출일자 -->
<div class="col-1 text-end">
<select class="form-select" id="schDateOpt--${pageName}" name="schDateOpt">
<select class="form-select text-end" id="schDateOpt--${pageName}" name="schDateOpt">
<option value="rcptYmd">접수일자</option>
<option value="ansYmd">답변일자</option>
<option value="crdnYmd">단속일자</option>
@ -92,30 +92,12 @@
<div class="col-5">
<input type="text" class="form-control w-px-150" id="schSttrNm--${pageName}" name="schSttrNm" />
</div>
<!-- 등록일자 -->
<div class="col-1 text-end">
<select class="form-select" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
</div>
<div class="col-5">
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 동적검색 -->
<div class="col-1 text-end">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
</div>
<div class="col-3">
<div class="col-9">
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-250" id="term--${pageName}" name="term" />
@ -135,7 +117,25 @@
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-1 text-end">
<select class="form-select" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
</div>
<div class="col-5">
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-1 text-end">
<select class="form-select" id="schDetailUserOpt--${pageName}" name="schDetailUserOpt">
@ -143,7 +143,7 @@
<option value="mdfr">수정자명</option>
</select>
</div>
<div class="col-11">
<div class="col-5">
<input type="text" class="form-control" id="schDetailUserNm--${pageName}" name="schDetailUserNm" />
</div>
</div>
@ -184,7 +184,8 @@
<table class="datatables-ajax table table-bordered dataTable no-footer"
id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead>
<tr id="theadTr--${pageName}" data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="sorting" style="width: 24px;">NO.</th>
<th class="sorting" style="width: 24px;">
<input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);">
@ -215,7 +216,7 @@
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="OPNN_ID">
<tr data-key="{OPNN_ID}">
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="text-center">
<input type="checkbox" class="form-check-input" value="{OPNN_ID}" onchange="${pageName}Control.select('{OPNN_ID}', this.checked);">
@ -291,13 +292,12 @@
, create : wctx.url(prefixUrl + "/020/create.do") // 신규 등록
, update : wctx.url(prefixUrl + "/020/update.do") // 자료 수정
, remove : wctx.url(prefixUrl + "/010/remove.do") // 자료 삭제
, getTotalInfo : wctx.url("/sprt/sprt01/020/info.do") // 개별총정보
}
, formats : {
RCPT_YMD : dateFormat
, ANS_YMD : dateFormat
, ANS_YMD_TM : datetimeFormat
, CRDN_YMD_TM : dateFormat
, CRDN_YMD_TM : datetimeFormat
, REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat
}
@ -345,12 +345,14 @@
};
// 개별총정보 dialog
${pageName}Control.getTotalInfo = (params) => {
let info = ${pageName}Control.dataset.getCurrent("item");
${pageName}Control.getTotalInfo = (crdnId) => {
if (crdnId == undefined || crdnId == "") {
return;
}
ajax.get({
url : ${pageName}Control.urls.getTotalInfo
, data : params || {}
url : wctx.url("/sprt/sprt01/020/info.do")
, data : { crdnId : crdnId }
, success : resp => {
resp = resp.replace(/infoPrefix/g, this.prefix)
.replace(/prefixName/g, this.prefixName)
@ -358,14 +360,13 @@
id : ${pageName}Control.prefixed("dialog")
, title : "개별총정보"
, content : resp
, size : ${pageName}Control.infoSize
, init : () => ${pageName}Control.setInfo(info)
, size : "xl"
// , init : () => ${pageName}Control.setInfo(info) // 개별총정보 다이얼로그에서 실행할 함수
});
}
});
}
/**************************************************************************
*
**************************************************************************/
@ -481,17 +482,17 @@
* script 진입
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정
setEvent${pageName}();
// 업무구분 및 화면 초기 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
fnResetAndChangeBiz${pageName}(defaultBizValue);
// 이벤트 설정
setEvent${pageName}();
// Dataset 셋팅 - List 일경우 addData 하여 자료를 추가
${pageName}Control.addData(${levyExcl});
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
});
// #sourceURL=excl02010-main.jsp

@ -14,10 +14,16 @@
<div>
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark" id="btnReset--${pageName}" title="초기화">초기화</button>
<button type="button" class="btn btn-outline-dark" id="btnReset--${pageName}" title="초기화" onclick="fnReset${pageName}();">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search" id="btnSearch--${pageName}" title="검색">검색</button>
<button type="button" class="btn btn-search" id="btnExcel--${pageName}" title="엑셀">엑셀</button>
<button type="button" class="btn btn-search" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색
</button>
<button type="button" class="btn btn-search" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀
</button>
</span>
</div>
<!-- / 상단 버튼 -->
@ -35,10 +41,8 @@
<span class="form-search-linebox">
<c:forEach items="${FIM054List}" var="item">
<label>
<input type="radio" class="form-check-input" id="rdoTaskSeCd--${pageName}" name="taskSeCd" alt="업무구분"
value="${item.code}"
onchange="pageObject['${pageName}'].fnResetAndChangeBiz(this.value);"
required>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
${item.value}
</label>
</c:forEach>
@ -46,8 +50,9 @@
</div>
<!-- 재등록일자 -->
<div class="col-1 text-end">
<select class="form-select" id="schDateOpt--${pageName}" name="schDateOpt">
<option value="crdnRegYmd">재등록일자</option>
<select class="form-select text-end" id="schDateOpt--${pageName}" name="schDateOpt">
<option value="reRegYmd">재등록일자</option>
<option value="crdnYmd">단속일자</option>
</select>
</div>
<div class="col-5">
@ -66,17 +71,19 @@
<label class="form-label fw-bold form-search-title">차량번호</label>
</div>
<div class="col-5">
<input type="text" class="form-control" id="schVhrno--${pageName}" name="schVhrno" />
<input type="text" class="form-control w-px-150" id="schVhrno--${pageName}" name="schVhrno" />
</div>
<!-- 동적검색 -->
<div class="col-1 text-end">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control w-100 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="text" class="form-control w-px-120 text-end" id="byOutput--${pageName}" value="동적 검색" readonly />
</div>
<div class="col-3">
<input type="text" class="form-control" id="term--${pageName}" name="term" />
<div class="col-9">
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-250" id="term--${pageName}" name="term" />
</div>
<div class="col-8">
<div class="col-2">
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
@ -91,7 +98,25 @@
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-1 text-end">
<select class="form-select" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
</div>
<div class="col-5">
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-1 text-end">
<select class="form-select" id="schDetailUserOpt--${pageName}" name="schDetailUserOpt">
@ -99,7 +124,7 @@
<option value="mdfr">수정자명</option>
</select>
</div>
<div class="col-11">
<div class="col-5">
<input type="text" class="form-control" id="schDetailUserNm--${pageName}" name="schDetailUserNm" />
</div>
</div>
@ -119,7 +144,15 @@
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<a href="#" class="btn btn-blue" id="" title="재등록 이전 단속정보 보기">재등록 이전 단속정보 보기</a>
<button class="btn btn-primary" id="btnCreateNotLevy--${pageName}" title="등록" onclick="fnCreate${pageName}();">
등록
</button>
<button class="btn btn-primary" id="btnRemove--${pageName}" title="삭제" onclick="fnRemove${pageName}();">
삭제
</button>
<button class="btn btn-primary" id="btnBfrCrdnTotalInfo--${pageName}" title="이전 단속정보 보기" onclick="fnBfrCrdnTotalInfo${pageName}();">
이전 단속정보 보기
</button>
</span>
</span>
</div>
@ -132,46 +165,49 @@
<table class="datatables-ajax table table-bordered dataTable no-footer"
id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead>
<tr id="theadTr--${pageName}" style="text-align:center;">
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 24px;">NO.</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 24px;">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="sorting" style="width: 24px;">NO.</th>
<th class="sorting" style="width: 24px;">
<input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);">
</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 120px;">등록일자</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 120px;">단속구분명</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 120px;">단속일시</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 120px;">차량번호</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 120px;">단속장소</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 120px;">과태료금액</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 120px;">첨부파일수</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 120px;">단속상태명</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 120px;">등록일시</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" style="width: 120px;">등록사용자</th>
<th onclick="searchFromGridTitle('RE_REG_YMD', this.innerText, 'ymd', '');">재등록일자</th>
<th onclick="searchFromGridTitle('CRDN_REG_SE_NM', this.innerText, 'codeValue', 'FIM026');">단속등록구분명</th>
<th onclick="searchFromGridTitle('ETC_CN', this.innerText, 'match', 'part');">기타내용</th>
<th onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">법정동</th>
<th onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th onclick="searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'part');">과태료금액</th>
<th onclick="searchFromGridTitle('CRDN_STTS_NM', this.innerText, 'codeValue', 'FIM010');">처리상태명</th>
<th>등록일시</th>
<th>등록사용자</th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{RE_REG_ID}">
<td style="text-align:center;" {onclick} {ondblclick}>{ROW_NUM}</td>
<td style="text-align:center;">
<input value="{RE_REG_ID}" onchange="${pageName}Control.select('{RE_REG_ID}', this.checked);" type="checkbox" class="form-check-input">
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="text-center">
<input type="checkbox" class="form-check-input" value="{RE_REG_ID}" onchange="${pageName}Control.select('{RE_REG_ID}', this.checked);">
</td>
<td style="text-align:center;" {onclick} {ondblclick}>{CRDN_REG_YMD}</td>
<td style="text-align:center;" {onclick} {ondblclick}>{CRDN_INPT_SE_NM}</td>
<td style="text-align:center;" {onclick} {ondblclick}>{CRDN_YMD_TM}</td>
<td style="text-align:left;" {onclick} {ondblclick}>{VHRNO}</td>
<td style="text-align:left;" {onclick} {ondblclick}>{CRDN_PLC}</td>
<td style="text-align:right;" {onclick} {ondblclick}>{FFNLG_AMT}</td>
<td style="text-align:right;" {onclick} {ondblclick}>{ATCH_FILE_CNT}</td>
<td style="text-align:center;" {onclick} {ondblclick}>{CRDN_STTS_NM}</td>
<td style="text-align:center;" {onclick} {ondblclick}>{REG_DT}</td>
<td style="text-align:center;" {onclick} {ondblclick}>{RGTR}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RE_REG_YMD}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_REG_SE_NM}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ETC_CN}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_AMT}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR}</td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="14" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="13" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
@ -193,70 +229,43 @@
</div>
<!-- Content wrapper -->
<!-- js -->
<script src="<c:url value="/resources/js/fims/excl/excl03010.js?${ver}"/>"></script>
<script>
/**************************************************************************
* Global Variable
**************************************************************************/
// Control 생성
var ${pageName}Control = new CrdnReControl("${urlPrefix}");
// URL
var prefixUrl = "/excl/excl03";
// 공통 코드
/**************************************************************************
* 초기 셋팅
* DatasetControl
**************************************************************************/
// 검색조건 초기값 셋팅
function initSearch${pageName}() {
// 업무구분
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked",true);
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schDateFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schDateTo--${pageName}").datepicker("setDate", new Date());
var ${pageName}Control = new DatasetControl({
prefix : "crdnReReg"
, prefixName : "단속재등록"
, infoSize : "lg"
, keymapper : info => info ? info.RE_REG_ID : ""
, dataGetter : obj => obj.crdnReRegList
, appendData : true
, urls : {
load : wctx.url(prefixUrl + "/010/list.do") // 검색
, getInfo : wctx.url(prefixUrl + "/020/info.do") // 등록 및 수정 팝업
, create : wctx.url(prefixUrl + "/020/create.do") // 신규 등록
, update : wctx.url(prefixUrl + "/020/update.do") // 자료 수정
, remove : wctx.url(prefixUrl + "/010/remove.do") // 자료 삭제
}
//
function setEvent${pageName}() {
// 버튼 이벤트
$("#btnSearch--${pageName}").on("click", () => searchList${pageName}()); // 검색
$("#term--${pageName}").onEnterPress(() => searchList${pageName}()); // 동적 검색
// DataTables 스크롤 이벤트
$("#table-responsive--${pageName}").scroll(function() {
let el = $(this);
if (el.scrollTop() == 0) return;
if ((el[0].scrollHeight - el.scrollTop() + 15) == el.outerHeight()) {
searchList${pageName}(${pageName}Control.query.pageNum + 1);
, formats : {
RE_REG_YMD : dateFormat
, CRDN_YMD_TM : datetimeFormat
, FFNLG_AMT : numberFormat
, REG_DT : datetimeFormat
}
});
}
/**************************************************************************
* Event
* DatasetControl
**************************************************************************/
// DataTables에 click, dbclick 이벤트
function renderList${pageName}() {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, 'onclick="${pageName}Control.setCurrent(\'' + dataItem.getValue("RE_REG_ID") + '\');"')
);
$("#tbody--${pageName}").html(trs.join());
$("th input[type='checkbox']").prop("checked", false);
}
// Dataset 변경
// onDatasetChange 이벤트
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}();
@ -270,7 +279,7 @@
});
};
// DataTables 클릭 이벤트
// onCurrentChange 이벤트
${pageName}Control.onCurrentChange = item => {
//
if (!item) return;
@ -280,7 +289,7 @@
$("#tbody--${pageName}").setCurrentRow(key);
};
// DataTables checkbox 클릭 이벤트
// onSelectionChange 이벤트
${pageName}Control.onSelectionChange = selected => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let keys = selected.map(e => ${infoPrefix}List.getKey(e));
@ -291,26 +300,84 @@
checkbox.prop("checked", keys.includes(checkbox.val()));
});
// $("#btnRemove${infoPrefix}s").prop("disabled", keys.length < 1);
$("#btnRemove--${pageName}").prop("disabled", keys.length < 1);
};
// 개별총정보 dialog
${pageName}Control.getTotalInfo = (crdnId) => {
if (crdnId == undefined || crdnId == "") {
return;
}
ajax.get({
url : wctx.url("/sprt/sprt01/020/info.do")
, data : { crdnId : crdnId }
, success : resp => {
resp = resp.replace(/infoPrefix/g, this.prefix)
.replace(/prefixName/g, this.prefixName)
dialog.open({
id : ${pageName}Control.prefixed("dialog")
, title : "개별총정보"
, content : resp
, size : "xl"
// , init : () => ${pageName}Control.setInfo(info) // 개별총정보 다이얼로그에서 실행할 함수
});
}
});
}
/**************************************************************************
* function
*
**************************************************************************/
// 검색
function searchList${pageName}(pageNumber) {
// pageNumber 값 확인
if (!pageNumber) pageNumber = 1;
// 초기 설정
function initForm${pageName}() {
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schDateFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schDateTo--${pageName}").datepicker("setDate", new Date());
${pageName}Control.query = fnGetParams${pageName}(); // 검색조건
${pageName}Control.query.orderBy = "RE_REG_ID"; // 정렬
${pageName}Control.dataset.clear();
}
${pageName}Control.load(pageNumber);
// 이벤트
function setEvent${pageName}() {
// DataTables 스크롤 이벤트
$("#table-responsive--${pageName}").scroll(function() {
let el = $(this);
if (el.scrollTop() == 0) return;
// if ((el[0].scrollHeight - el.scrollTop() + 17) == el.outerHeight()) {
if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) {
fnSearchList${pageName}(${pageName}Control.query.pageNum + 1);
}
});
}
// DataTables에 click, dbclick 이벤트
function renderList${pageName}() {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RE_REG_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getTotalInfo('" + dataItem.getValue("CRDN_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
$("th input[type='checkbox']").prop("checked", false);
}
/**************************************************************************
* function
**************************************************************************/
// 업무구분 변경
function fnResetAndChangeBiz(taskSeCd) {
$("tbody--${pageName}").html("");
function fnResetAndChangeBiz${pageName}(taskSeCd) {
fnReset${pageName}();
}
// 검색 조건 파라미터 가져오기
@ -324,18 +391,61 @@
return formData;
}
// 초기화
function fnReset${pageName}() {
initForm${pageName}();
}
// 검색
function fnSearchList${pageName}(pageNumber) {
// pageNumber 값 확인
if (!pageNumber) pageNumber = 1;
${pageName}Control.query = fnGetParams${pageName}(); // 검색조건
${pageName}Control.query.orderBy = "RE_REG_ID"; // 정렬
${pageName}Control.load(pageNumber);
}
// 엑셀
function fnExcel${pageName}() {
}
// 삭제
function fnRemove${pageName}() {
dialog.alert({
content : "선택한 ${prefixName} 정보를 삭제하시겠습니까?"
, onOK : () => {
${pageName}Control.remove();
}
});
}
// 이전 단속정보 보기
function fnBfrCrdnTotalInfo${pageName}() {
let bfrCrdnId = ${pageName}Control.dataset.getValue("BFR_CRDN_ID");
// 개별총정보 dialog
${pageName}Control.getTotalInfo(bfrCrdnId);
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 검색조건 초기값 설정
initSearch${pageName}();
// 이벤트 설정
setEvent${pageName}();
${pageName}Control.addData(${crdnRe});
// 업무구분 및 화면 초기 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
fnResetAndChangeBiz${pageName}(defaultBizValue);
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
});
// #sourceURL=excl03010-main.jsp
// #sourceURL=excl03010-main.jsp
</script>

Loading…
Cancel
Save