업무지원 - 민원상담 추가.

main
jjh 1 year ago
parent 46497805ac
commit 0c4faaead8

@ -25,7 +25,6 @@ public class LevyExclQuery extends CmmnQuery {
private String[] reRegIDs; // 재등록 IDs private String[] reRegIDs; // 재등록 IDs
private String reRegId; // 재등록 ID private String reRegId; // 재등록 ID
// 검색 조건 // 검색 조건
private String schTaskSeCd; // 업무 구분 코드(FIM054)
private String schLevyExclYmdFrom; // 부과제외_부과제외 일자 시작 private String schLevyExclYmdFrom; // 부과제외_부과제외 일자 시작
private String schLevyExclYmdTo; // 부과제외_부과제외 일자 종료 private String schLevyExclYmdTo; // 부과제외_부과제외 일자 종료
private String schLevyExclSeCd; // 부과제외_부과제외 구분 코드 private String schLevyExclSeCd; // 부과제외_부과제외 구분 코드
@ -131,16 +130,6 @@ public class LevyExclQuery extends CmmnQuery {
return self(); return self();
} }
public String getSchTaskSeCd() {
return ifEmpty(schTaskSeCd, () -> null);
}
public <T extends LevyExclQuery> T setSchTaskSeCd(String schTaskSeCd) {
this.schTaskSeCd = schTaskSeCd;
return self();
}
public String getSchLevyExclYmdFrom() { public String getSchLevyExclYmdFrom() {
return ifEmpty(schLevyExclYmdFrom, () -> null); return ifEmpty(schLevyExclYmdFrom, () -> null);
} }

@ -50,10 +50,6 @@ public class CrdnReRegBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getCrdnReRegList(LevyExclQuery req) { public List<DataObject> getCrdnReRegList(LevyExclQuery req) {
if (req.getOrderBy() == null) {
req.setOrderBy("REG_DT");
}
return crdnReRegMapper.selectCrdnReRegList(req); return crdnReRegMapper.selectCrdnReRegList(req);
} }

@ -54,10 +54,6 @@ public class OpnnSbmsnBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getOpnnSbmsnList(LevyExclQuery req) { public List<DataObject> getOpnnSbmsnList(LevyExclQuery req) {
if (req.getOrderBy() == null) {
req.setOrderBy("REG_DT");
}
return opnnSbmsnMapper.selectOpnnSbmsnList(req); return opnnSbmsnMapper.selectOpnnSbmsnList(req);
} }

@ -10,7 +10,7 @@ import lombok.Setter;
*/ */
@Getter @Getter
@Setter @Setter
public class CvlcptDscsnCn extends AbstractEntity { public class CvlcptDscsn extends AbstractEntity {
/** /**
* ID * ID
@ -48,15 +48,30 @@ public class CvlcptDscsnCn extends AbstractEntity {
private String rtpyrNo; private String rtpyrNo;
/** /**
* *
*/ */
private String dscsnCn; private String dscsnYmd;
/** /**
* *
*/ */
private String weekNm; private String weekNm;
/**
*
*/
private String cvlprNm;
/**
*
*/
private String cvlprCttpc;
/**
*
*/
private String dscsnCn;
/** /**
* *
*/ */

@ -0,0 +1,238 @@
package cokr.xit.fims.sprt;
import cokr.xit.fims.cmmn.CmmnQuery;
/**
*
* <p> :
*
* <pre>
* ============ ============
* 2023-10-30 JoJH
* ================================
* </pre>
*/
public class CvlcptDscsnQuery extends CmmnQuery {
private static final long serialVersionUID = 1L;
// ID
private String cvlcptDscsnId; // 민원 상담 ID
private String[] cvlcptDscsnIDs; // 민원 상담 IDs
private String crdnId; // 단속 ID
// 검색 조건
private String schDscsnYmdFrom; // 상담 일자 시작
private String schDscsnYmdTo; // 상담 일자 종료
private String schVhrno; // 차량번호
private String schCvlprNm; // 민원인 명
private String schRtpyrNo; // 납부자 번호
// 상세 검색 조건
private String schDetailRegDtOpt; // 상세 검색 등록 일자 구분
private String schDetailRegDtFrom; // 상세 검색 등록 일자 시작
private String schDetailRegDtTo; // 상세 검색 등록 일자 종료
private String schDetailRgtrOpt; // 상세 검색 등록 사용자 구분
private String schDetailRgtrNm; // 상세 검색 등록 사용자 명
private String schDetailRgtrCd; // 상세 검색 등록 사용자 코드
// 동적 검색 조건
private String inquiryCondition;
private String vhrno;
// ETC
private String callPurpose; // 자료 조회시 호출용도. (view 조회, create 등록, update 수정, refresh 재조회)
private String delYn; // 삭제 여부
private String delRsn; // 삭제 사유
public String getCvlcptDscsnId() {
return ifEmpty(cvlcptDscsnId, () -> null);
}
public <T extends CvlcptDscsnQuery> T setCvlcptDscsnId(String cvlcptDscsnId) {
this.cvlcptDscsnId = cvlcptDscsnId;
return self();
}
public String[] getCvlcptDscsnIDs() {
return ifEmpty(cvlcptDscsnIDs, () -> null);
}
public <T extends CvlcptDscsnQuery> T setCvlcptDscsnIDs(String... cvlcptDscsnIDs) {
this.cvlcptDscsnIDs = cvlcptDscsnIDs;
return self();
}
public String getCrdnId() {
return ifEmpty(crdnId, () -> null);
}
public <T extends CvlcptDscsnQuery> T setCrdnId(String crdnId) {
this.crdnId = crdnId;
return self();
}
public String getSchDscsnYmdFrom() {
return ifEmpty(schDscsnYmdFrom, () -> null);
}
public <T extends CvlcptDscsnQuery> T setSchDscsnYmdFrom(String schDscsnYmdFrom) {
this.schDscsnYmdFrom = schDscsnYmdFrom;
return self();
}
public String getSchDscsnYmdTo() {
return ifEmpty(schDscsnYmdTo, () -> null);
}
public <T extends CvlcptDscsnQuery> T setSchDscsnYmdTo(String schDscsnYmdTo) {
this.schDscsnYmdTo = schDscsnYmdTo;
return self();
}
public String getSchVhrno() {
return ifEmpty(schVhrno, () -> null);
}
public <T extends CvlcptDscsnQuery> T setSchVhrno(String schVhrno) {
this.schVhrno = schVhrno;
return self();
}
public String getSchCvlprNm() {
return ifEmpty(schCvlprNm, () -> null);
}
public <T extends CvlcptDscsnQuery> T setSchCvlprNm(String schCvlprNm) {
this.schCvlprNm = schCvlprNm;
return self();
}
public String getSchRtpyrNo() {
return ifEmpty(schRtpyrNo, () -> null);
}
public <T extends CvlcptDscsnQuery> T setSchRtpyrNo(String schRtpyrNo) {
this.schRtpyrNo = schRtpyrNo;
return self();
}
// 상세 검색 조건 ///////////////////////////////////////////////////////////////
public String getSchDetailRegDtOpt() {
return ifEmpty(schDetailRegDtOpt, () -> null);
}
public <T extends CvlcptDscsnQuery> T setSchDetailRegDtOpt(String schDetailRegDtOpt) {
this.schDetailRegDtOpt = schDetailRegDtOpt;
return self();
}
public String getSchDetailRegDtFrom() {
return ifEmpty(schDetailRegDtFrom, () -> null);
}
public <T extends CvlcptDscsnQuery> T setSchDetailRegDtFrom(String schDetailRegDtFrom) {
this.schDetailRegDtFrom = schDetailRegDtFrom;
return self();
}
public String getSchDetailRegDtTo() {
return ifEmpty(schDetailRegDtTo, () -> null);
}
public <T extends CvlcptDscsnQuery> T setSchDetailRegDtTo(String schDetailRegDtTo) {
this.schDetailRegDtTo = schDetailRegDtTo;
return self();
}
public String getSchDetailRgtrOpt() {
return ifEmpty(schDetailRgtrOpt, () -> null);
}
public <T extends CvlcptDscsnQuery> T setSchDetailRgtrOpt(String schDetailRgtrOpt) {
this.schDetailRgtrOpt = schDetailRgtrOpt;
return self();
}
public String getSchDetailRgtrNm() {
return ifEmpty(schDetailRgtrNm, () -> null);
}
public <T extends CvlcptDscsnQuery> T setSchDetailRgtrNm(String schDetailRgtrNm) {
this.schDetailRgtrNm = schDetailRgtrNm;
return self();
}
public String getSchDetailRgtrCd() {
return ifEmpty(schDetailRgtrCd, () -> null);
}
public <T extends CvlcptDscsnQuery> T setSchDetailRgtr(String schDetailRgtrCd) {
this.schDetailRgtrCd = schDetailRgtrCd;
return self();
}
// 상세검색 조건 ///////////////////////////////////////////////////////////////
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
public String getInquiryCondition() {
return ifEmpty(inquiryCondition, () -> null);
}
public <T extends CvlcptDscsnQuery> T setInquiryCondition(String inquiryCondition) {
this.inquiryCondition = inquiryCondition;
return self();
}
public String getVhrno() {
return ifEmpty(vhrno, () -> null);
}
public <T extends CvlcptDscsnQuery> T setVhrno(String vhrno) {
this.vhrno = vhrno;
return self();
}
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
// ETC /////////////////////////////////////////////////////////////////////
public String getCallPurpose() {
return ifEmpty(callPurpose, () -> null);
}
public <T extends CvlcptDscsnQuery> T setCallPurpose(String callPurpose) {
this.callPurpose = callPurpose;
return self();
}
public String getDelYn() {
return ifEmpty(delYn, () -> null);
}
public <T extends CvlcptDscsnQuery> T setDelYn(String delYn) {
this.delYn = delYn;
return self();
}
public String getDelRsn() {
return ifEmpty(delRsn, () -> null);
}
public <T extends CvlcptDscsnQuery> T setDelRsn(String delRsn) {
this.delRsn = delRsn;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
}

@ -7,8 +7,8 @@ import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.foundation.component.AbstractMapper; import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.CvlcptDscsnQuery;
/** - DAO /** - DAO
* *
@ -20,41 +20,35 @@ import cokr.xit.fims.sprt.SprtQuery;
* ================================ * ================================
* </pre> * </pre>
*/ */
@Mapper("cvlcptDscsnCnMapper") @Mapper("cvlcptDscsnMapper")
public interface CvlcptDscsnCnMapper extends AbstractMapper { public interface CvlcptDscsnMapper extends AbstractMapper {
/** .<br /> /** .<br />
* @param req * @param req
* @return * @return
*/ */
List<DataObject> selectCvlcptDscsnCnList(SprtQuery req); List<DataObject> selectCvlcptDscsnList(CvlcptDscsnQuery req);
/** . /** .
* @param req * @param req
* @return * @return
*/ */
List<DataObject> selectCvlcptDscsnCns(SprtQuery req); List<DataObject> selectCvlcptDscsns(CvlcptDscsnQuery req);
/** 1 . /** 1 .
* @param cvlcptDscsnId ID * @param cvlcptDscsnId ID
* @return * @return
*/ */
default DataObject selectCvlcptDscsnCnInfo(SprtQuery req) { default DataObject selectCvlcptDscsnInfo(CvlcptDscsnQuery req) {
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
req.setOrderBy("CDC.CVLCPT_DSCSN_ID DESC"); req.setOrderBy("CDC.CVLCPT_DSCSN_ID DESC");
} }
List<DataObject> cvlcptDscsnCns = selectCvlcptDscsnCns(req); List<DataObject> cvlcptDscsns = selectCvlcptDscsns(req);
return !cvlcptDscsnCns.isEmpty() ? cvlcptDscsnCns.get(0) : null; return !cvlcptDscsns.isEmpty() ? cvlcptDscsns.get(0) : null;
} }
/** ID .
* @param crdnId ID
* @return
*/
DataObject selectCrdn(SprtQuery req);
/** . /** .
* @param params * @param params
* <ul><li>"cvlcptDscsnCn" - </li> * <ul><li>"cvlcptDscsnCn" - </li>
@ -62,17 +56,17 @@ public interface CvlcptDscsnCnMapper extends AbstractMapper {
* </ul> * </ul>
* @return * @return
*/ */
int insertCvlcptDscsnCn(Map<String, Object> params); int insertCvlcptDscsn(Map<String, Object> params);
/** . /** .
* @param cvlcptDscsnCn * @param cvlcptDscsn
* @return * @return
* <ul><li> true</li> * <ul><li> true</li>
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
default boolean insert(CvlcptDscsnCn cvlcptDscsnCn) { default boolean insert(CvlcptDscsn cvlcptDscsn) {
return cvlcptDscsnCn != null && insertCvlcptDscsnCn(params().set("cvlcptDscsnCn", cvlcptDscsnCn)) == 1; return cvlcptDscsn != null && insertCvlcptDscsn(params().set("cvlcptDscsn", cvlcptDscsn)) == 1;
} }
/** . /** .
@ -82,7 +76,7 @@ public interface CvlcptDscsnCnMapper extends AbstractMapper {
* </ul> * </ul>
* @return * @return
*/ */
int updateCvlcptDscsnCn(Map<String, Object> params); int updateCvlcptDscsn(Map<String, Object> params);
/** . /** .
* @param cvlcptDscsnCn * @param cvlcptDscsnCn
@ -91,8 +85,8 @@ public interface CvlcptDscsnCnMapper extends AbstractMapper {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
default boolean update(CvlcptDscsnCn cvlcptDscsnCn) { default boolean update(CvlcptDscsn cvlcptDscsn) {
return cvlcptDscsnCn != null && updateCvlcptDscsnCn(params().set("cvlcptDscsnCn", cvlcptDscsnCn)) == 1; return cvlcptDscsn != null && updateCvlcptDscsn(params().set("cvlcptDscsn", cvlcptDscsn)) == 1;
} }
/** . /** .
@ -102,7 +96,7 @@ public interface CvlcptDscsnCnMapper extends AbstractMapper {
* </ul> * </ul>
* @return * @return
*/ */
int deleteCvlcptDscsnCn(Map<String, ?> params); int deleteCvlcptDscsn(Map<String, ?> params);
/** . /** .
* @param cvlcptDscsnCn * @param cvlcptDscsnCn
@ -111,8 +105,15 @@ public interface CvlcptDscsnCnMapper extends AbstractMapper {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
default boolean delete(CvlcptDscsnCn cvlcptDscsnCn) { default boolean delete(CvlcptDscsn cvlcptDscsn) {
return cvlcptDscsnCn != null && deleteCvlcptDscsnCn(params().set("cvlcptDscsnCn", cvlcptDscsnCn)) == 1; return cvlcptDscsn != null && deleteCvlcptDscsn(params().set("cvlcptDscsn", cvlcptDscsn)) == 1;
} }
/** ID .
* @param crdnId ID
* @return
*/
DataObject selectCrdn(CvlcptDscsnQuery req);
} }

@ -3,8 +3,8 @@ package cokr.xit.fims.sprt.service;
import java.util.List; import java.util.List;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.CvlcptDscsnQuery;
/** . /** .
* *
@ -22,19 +22,19 @@ public interface Sprt04Service {
* @param req * @param req
* @return * @return
*/ */
List<DataObject> getCvlcptDscsnCnList(SprtQuery req); List<DataObject> getCvlcptDscsnList(CvlcptDscsnQuery req);
/** . /** .
* @param req * @param req
* @return * @return
*/ */
List<DataObject> getCvlcptDscsnCns(SprtQuery req); List<DataObject> getCvlcptDscsns(CvlcptDscsnQuery req);
/** .<br /> /** .<br />
* @param cvlcptDscsnId ID * @param cvlcptDscsnId ID
* @return * @return
*/ */
DataObject getCvlcptDscsnCnInfo(SprtQuery req); DataObject getCvlcptDscsnInfo(CvlcptDscsnQuery req);
/** . /** .
* @param cvlcptDscsnCn * @param cvlcptDscsnCn
@ -43,7 +43,7 @@ public interface Sprt04Service {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
String createCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn); String createCvlcptDscsn(CvlcptDscsn cvlcptDscsnCn);
/** . /** .
* @param cvlcptDscsnCn * @param cvlcptDscsnCn
@ -52,24 +52,24 @@ public interface Sprt04Service {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
String updateCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn); String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsnCn);
/** . /** .
* @param cvlcptDscsnCn * @param req
* @return * @return
* <ul><li> true</li> * <ul><li> true</li>
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
String removeCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn); String removeCvlcptDscsnList(CvlcptDscsnQuery req);
/** . /** .
* @param req * @param cvlcptDscsnCn
* @return * @return
* <ul><li> true</li> * <ul><li> true</li>
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
String removeCvlcptDscsnCnList(SprtQuery req); String removeCvlcptDscsn(CvlcptDscsn cvlcptDscsnCn);
} }

@ -8,9 +8,9 @@ import org.springframework.stereotype.Component;
import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.dao.CvlcptDscsnCnMapper; import cokr.xit.fims.sprt.dao.CvlcptDscsnMapper;
/** Bean /** Bean
* *
@ -26,47 +26,35 @@ import cokr.xit.fims.sprt.dao.CvlcptDscsnCnMapper;
public class Sprt04Bean extends AbstractComponent { public class Sprt04Bean extends AbstractComponent {
/** 민원 상담 내용 정보 DAO */ /** 민원 상담 내용 정보 DAO */
@Resource(name = "cvlcptDscsnCnMapper") @Resource(name = "cvlcptDscsnMapper")
private CvlcptDscsnCnMapper cvlcptDscsnCnMapper; private CvlcptDscsnMapper cvlcptDscsnMapper;
/** . /** .
* @param req * @param req
* @return * @return
*/ */
public List<DataObject> getCvlcptDscsnCnList(SprtQuery req) { public List<DataObject> getCvlcptDscsnList(CvlcptDscsnQuery req) {
if (req.getOrderBy() == null) { return cvlcptDscsnMapper.selectCvlcptDscsnList(req);
req.setOrderBy("CDC.REG_DT");
}
return cvlcptDscsnCnMapper.selectCvlcptDscsnCnList(req);
} }
/** . /** .
* @param req * @param req
* @return * @return
*/ */
public List<DataObject> getCvlcptDscsnCns(SprtQuery req) { public List<DataObject> getCvlcptDscsns(CvlcptDscsnQuery req) {
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
req.setOrderBy("CDC.REG_DT DESC, CDC.CVLCPT_DSCSN_ID DESC"); req.setOrderBy("CDC.REG_DT DESC, CDC.CVLCPT_DSCSN_ID DESC");
} }
return cvlcptDscsnCnMapper.selectCvlcptDscsnCns(req); return cvlcptDscsnMapper.selectCvlcptDscsns(req);
} }
/** ID .<br /> /** ID .<br />
* @param cvlcptDscsnId ID * @param cvlcptDscsnId ID
* @return * @return
*/ */
public DataObject getCvlcptDscsnCnInfo(SprtQuery req) { public DataObject getCvlcptDscsnInfo(CvlcptDscsnQuery req) {
return cvlcptDscsnCnMapper.selectCvlcptDscsnCnInfo(req); return cvlcptDscsnMapper.selectCvlcptDscsnInfo(req);
}
/** ID .<br />
* @param crndId ID
* @return
*/
public DataObject getCrdnInfo(SprtQuery req) {
return cvlcptDscsnCnMapper.selectCrdn(req);
} }
/** . /** .
@ -76,21 +64,21 @@ public class Sprt04Bean extends AbstractComponent {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public String createCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public String createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지 String retMessage = "[F] "; // 처리 결과 메시지
if (cvlcptDscsnCn.getCvlcptRcptSeCd().equals("01")) { if (cvlcptDscsn.getCvlcptRcptSeCd().equals("01")) {
cvlcptDscsnCn.setVhrno(null); cvlcptDscsn.setVhrno(null);
cvlcptDscsnCn.setRtpyrNo(null); cvlcptDscsn.setRtpyrNo(null);
} else if (cvlcptDscsnCn.getCvlcptRcptSeCd().equals("02")) { } else if (cvlcptDscsn.getCvlcptRcptSeCd().equals("02")) {
cvlcptDscsnCn.setRtpyrNo(null); cvlcptDscsn.setRtpyrNo(null);
} else if (cvlcptDscsnCn.getCvlcptRcptSeCd().equals("03")) { } else if (cvlcptDscsn.getCvlcptRcptSeCd().equals("03")) {
cvlcptDscsnCn.setVhrno(null); cvlcptDscsn.setVhrno(null);
} }
retSuccess = cvlcptDscsnCnMapper.insert(cvlcptDscsnCn); retSuccess = cvlcptDscsnMapper.insert(cvlcptDscsn);
if (!retSuccess) { if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("민원상담내용 대장 등록에 실패하였습니다."); throw new RuntimeException("민원상담내용 대장 등록에 실패하였습니다.");
@ -108,12 +96,12 @@ public class Sprt04Bean extends AbstractComponent {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public String updateCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지 String retMessage = "[F] "; // 처리 결과 메시지
retSuccess = cvlcptDscsnCnMapper.update(cvlcptDscsnCn); retSuccess = cvlcptDscsnMapper.update(cvlcptDscsn);
if (!retSuccess) { if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("민원상담내용 대장 수정에 실패하였습니다."); throw new RuntimeException("민원상담내용 대장 수정에 실패하였습니다.");
@ -131,12 +119,12 @@ public class Sprt04Bean extends AbstractComponent {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public String removeCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public String removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과 boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지 String retMessage = "[F] "; // 처리 결과 메시지
retSuccess = cvlcptDscsnCnMapper.delete(cvlcptDscsnCn); retSuccess = cvlcptDscsnMapper.delete(cvlcptDscsn);
if (!retSuccess) { if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("민원상담내용 대장 삭제에 실패하였습니다."); throw new RuntimeException("민원상담내용 대장 삭제에 실패하였습니다.");
@ -147,4 +135,12 @@ public class Sprt04Bean extends AbstractComponent {
return retMessage; return retMessage;
} }
/** ID .<br />
* @param crndId ID
* @return
*/
public DataObject getCrdnInfo(CvlcptDscsnQuery req) {
return cvlcptDscsnMapper.selectCrdn(req);
}
} }

@ -8,8 +8,8 @@ import org.springframework.stereotype.Service;
import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.service.Sprt04Service; import cokr.xit.fims.sprt.service.Sprt04Service;
/** . /** .
@ -30,41 +30,36 @@ public class Sprt04ServiceBean extends AbstractServiceBean implements Sprt04Serv
private Sprt04Bean sprt04Bean; private Sprt04Bean sprt04Bean;
@Override @Override
public List<DataObject> getCvlcptDscsnCnList(SprtQuery req) { public List<DataObject> getCvlcptDscsnList(CvlcptDscsnQuery req) {
return sprt04Bean.getCvlcptDscsnCnList(req); return sprt04Bean.getCvlcptDscsnList(req);
} }
@Override @Override
public List<DataObject> getCvlcptDscsnCns(SprtQuery req) { public List<DataObject> getCvlcptDscsns(CvlcptDscsnQuery req) {
return sprt04Bean.getCvlcptDscsnCns(req); return sprt04Bean.getCvlcptDscsns(req);
} }
@Override @Override
public DataObject getCvlcptDscsnCnInfo(SprtQuery req) { public DataObject getCvlcptDscsnInfo(CvlcptDscsnQuery req) {
if (req.getCvlcptDscsnId() != null) { if (req.getCvlcptDscsnId() != null) {
return sprt04Bean.getCvlcptDscsnCnInfo(req); return sprt04Bean.getCvlcptDscsnInfo(req);
} else { } else {
return sprt04Bean.getCrdnInfo(req); return sprt04Bean.getCrdnInfo(req);
} }
} }
@Override @Override
public String createCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public String createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return sprt04Bean.createCvlcptDscsnCn(cvlcptDscsnCn); return sprt04Bean.createCvlcptDscsn(cvlcptDscsn);
} }
@Override @Override
public String updateCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return sprt04Bean.updateCvlcptDscsnCn(cvlcptDscsnCn); return sprt04Bean.updateCvlcptDscsn(cvlcptDscsn);
} }
@Override @Override
public String removeCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public String removeCvlcptDscsnList(CvlcptDscsnQuery req) {
return sprt04Bean.removeCvlcptDscsnCn(cvlcptDscsnCn);
}
@Override
public String removeCvlcptDscsnCnList(SprtQuery req) {
// 변수 선언 // 변수 선언
String retMessage = ""; // 처리 결과 메시지 String retMessage = ""; // 처리 결과 메시지
@ -76,13 +71,13 @@ public class Sprt04ServiceBean extends AbstractServiceBean implements Sprt04Serv
// 민원 상담 IDs 만큼 반복.. // 민원 상담 IDs 만큼 반복..
for (int iLoop = 0; iLoop < req.getCvlcptDscsnIDs().length; iLoop++) { for (int iLoop = 0; iLoop < req.getCvlcptDscsnIDs().length; iLoop++) {
CvlcptDscsnCn cvlcptDscsnCn = new CvlcptDscsnCn(); CvlcptDscsn cvlcptDscsn = new CvlcptDscsn();
cvlcptDscsnCn.setCvlcptDscsnId(req.getCvlcptDscsnIDs()[iLoop]); // 민원 상담 ID cvlcptDscsn.setCvlcptDscsnId(req.getCvlcptDscsnIDs()[iLoop]); // 민원 상담 ID
cvlcptDscsnCn.setDelRsn(req.getDelRsn()); // 삭제 사유 cvlcptDscsn.setDelRsn(req.getDelRsn()); // 삭제 사유
// 부과제외 삭제 호출 // 부과제외 삭제 호출
retMessage = sprt04Bean.removeCvlcptDscsnCn(cvlcptDscsnCn); retMessage = sprt04Bean.removeCvlcptDscsn(cvlcptDscsn);
// 오류가 발생하였으면 종료.. // 오류가 발생하였으면 종료..
if (retMessage.contains("[F]")) { if (retMessage.contains("[F]")) {
return retMessage; return retMessage;
@ -92,5 +87,9 @@ public class Sprt04ServiceBean extends AbstractServiceBean implements Sprt04Serv
return retMessage; return retMessage;
} }
@Override
public String removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return sprt04Bean.removeCvlcptDscsn(cvlcptDscsn);
}
} }

@ -27,6 +27,7 @@ import cokr.xit.fims.rcvm.RcvmQuery;
import cokr.xit.fims.rcvm.service.Rcvm01Service; import cokr.xit.fims.rcvm.service.Rcvm01Service;
import cokr.xit.fims.sndb.SndbQuery; import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.service.SndngService; import cokr.xit.fims.sndb.service.SndngService;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.service.Sprt02Service; import cokr.xit.fims.sprt.service.Sprt02Service;
import cokr.xit.fims.sprt.service.Sprt04Service; import cokr.xit.fims.sprt.service.Sprt04Service;
@ -58,7 +59,7 @@ public class Sprt02Controller extends ApplicationController {
, getPrcsDtlInfo = "/050/info.do" // 처리 상세 정보 조회 , getPrcsDtlInfo = "/050/info.do" // 처리 상세 정보 조회
, getLevyNpmntInfo = "/060/info.do" // 부과체납 정보 조회 , getLevyNpmntInfo = "/060/info.do" // 부과체납 정보 조회
, getRcvmtInfo = "/070/info.do" // 수납 정보 조회 , getRcvmtInfo = "/070/info.do" // 수납 정보 조회
, getCvlcptDscsnCnInfo = "/080/info.do" // 민원 상담 정보 조회 , getCvlcptDscsnInfo = "/080/info.do" // 민원 상담 정보 조회
; ;
} }
@ -480,9 +481,18 @@ public class Sprt02Controller extends ApplicationController {
* "cvlcptDscsnCn": {...} * "cvlcptDscsnCn": {...}
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getCvlcptDscsnCnInfo(SprtQuery req) { public ModelAndView getCvlcptDscsnInfo(SprtQuery req) {
// //
List<DataObject> cvlcptDscsnCn = sprt04Service.getCvlcptDscsnCns(req); CvlcptDscsnQuery cvlcptDscsnQuery = new CvlcptDscsnQuery();
cvlcptDscsnQuery.setCallPurpose(req.getCallPurpose());
cvlcptDscsnQuery.setInquiryCondition(req.getInquiryCondition());
cvlcptDscsnQuery.setSggCd(req.getSggCd());
cvlcptDscsnQuery.setTaskSeCd(req.getTaskSeCd());
cvlcptDscsnQuery.setCrdnId(req.getCrdnId());
cvlcptDscsnQuery.setVhrno(req.getVhrno());
List<DataObject> cvlcptDscsn = sprt04Service.getCvlcptDscsns(cvlcptDscsnQuery);
boolean json = jsonResponse(); boolean json = jsonResponse();
@ -490,8 +500,8 @@ public class Sprt02Controller extends ApplicationController {
mav.addObject("pageName", "sprt02080") mav.addObject("pageName", "sprt02080")
.addObject("pageNameMain", "sprt02010") .addObject("pageNameMain", "sprt02010")
.addObject("infoPrefix", "cvlcptDscsnCn") // prefix .addObject("infoPrefix", "cvlcptDscsn") // prefix
.addObject("cvlcptDscsnCn", json ? cvlcptDscsnCn : toJson(cvlcptDscsnCn)) // 민원상담내용 정보 .addObject("cvlcptDscsn", json ? cvlcptDscsn : toJson(cvlcptDscsn)) // 민원상담내용 정보
; ;
// 재조회로 호출되었다면.. // 재조회로 호출되었다면..

@ -8,9 +8,10 @@ import javax.annotation.Resource;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.code.CommonCode; import cokr.xit.base.code.CommonCode;
import cokr.xit.base.user.ManagedUser;
import cokr.xit.base.web.ApplicationController; import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.service.Sprt04Service; import cokr.xit.fims.sprt.service.Sprt04Service;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
@ -30,13 +31,13 @@ public class Sprt04Controller extends ApplicationController {
public class METHOD_URL { public class METHOD_URL {
public static final String public static final String
civilComplaintDiscussionContentMain = "/010/main.do" // 민원 상담 관리 메인 화면 civilComplaintDiscussionMain = "/010/main.do" // 민원 상담 관리 메인 화면
, getCvlcptDscsnCnList = "/010/list.do" // 민원 상담 내용 대장 목록 조회 , getCvlcptDscsnList = "/010/list.do" // 민원 상담 내용 대장 목록 조회
, removeCvlcptDscsnCn = "/010/remove.do" // 민원 상담 내용 대장 삭제 , removeCvlcptDscsn = "/010/remove.do" // 민원 상담 내용 대장 삭제
, removeCvlcptDscsnCnList = "/010/removes.do" // 민원 상담 내용 대장 목록 삭제 , removeCvlcptDscsnList = "/010/removes.do" // 민원 상담 내용 대장 목록 삭제
, getCvlcptDscsnCnInfo = "/020/info.do" // 민원 상담 내용 정보 조회 , getCvlcptDscsnInfo = "/020/info.do" // 민원 상담 내용 정보 조회
, createCvlcptDscsnCn = "/020/create.do" // 민원 상담 내용 대장 등럭 , createCvlcptDscsn = "/020/create.do" // 민원 상담 내용 대장 등럭
, updateCvlcptDscsnCn = "/020/update.do" // 민원 상담 내용 대장 수정 , updateCvlcptDscsn = "/020/update.do" // 민원 상담 내용 대장 수정
; ;
} }
@ -48,42 +49,72 @@ public class Sprt04Controller extends ApplicationController {
* *
* @return /fims/sprt/sprt04010 * @return /fims/sprt/sprt04010
*/ */
public ModelAndView civilComplaintDiscussionContentMain() { public ModelAndView civilComplaintDiscussionMain() {
ModelAndView mav = new ModelAndView("fims/sprt/sprt04010-main"); ModelAndView mav = new ModelAndView("fims/sprt/sprt04010-main");
// 사용자 정보
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
return mav.addObject("pageName", "sprt04010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix return mav.addObject("pageName", "sprt04010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "cvlcptDscsnCn") // prefix .addObject("infoPrefix", "cvlcptDscsn") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
; ;
} }
/** .<br /> /** .<br />
* {@link CvlcptDscsnCnService#getCvlcptDscsnCnList(CvlcptDscsnCnQuery)} * {@link CvlcptDscsnService#getCvlcptDscsnList(CvlcptDscsnQuery)}
* @param req * @param req
* @return jsonView * @return jsonView
* <pre><code> { * <pre><code> {
* "cvlcptDscsnCnList": [ ] * "cvlcptDscsnList": [ ]
* "cvlcptDscsnCnStart": * "cvlcptDscsnStart":
* "cvlcptDscsnCnFetch": * "cvlcptDscsnFetch":
* "cvlcptDscsnCnTotal": * "cvlcptDscsnTotal":
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getCvlcptDscsnCnList(SprtQuery req) { public ModelAndView getCvlcptDscsnList(CvlcptDscsnQuery req) {
List<?> result = sprt04Service.getCvlcptDscsnCnList(setFetchSize(req)); List<?> result = sprt04Service.getCvlcptDscsnList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "cvlcptDscsnCn"); return setCollectionInfo(new ModelAndView("jsonView"), result, "cvlcptDscsn");
} }
/** . /** ID (info) .
* @param cvlcptDscsnCnIDs * @param SprtQuery req
* @return fims/sprt/sprt04020-info jsonView
* <pre>{
* "cvlcptDscsnInfo":
* }</pre>
*/
public ModelAndView getCvlcptDscsnInfo(CvlcptDscsnQuery req) {
DataObject cvlcptDscsn = sprt04Service.getCvlcptDscsnInfo(req);
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt04020-info");
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM065");
return mav
.addObject("pageName", "sprt04020") //
.addObject("FIM065List", commonCodes.get("FIM065")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD)
.addObject("cvlcptDscsn", json ? cvlcptDscsn : toJson(cvlcptDscsn))
;
}
/** .
* @param cvlcptDscsn
* @return jsonView * @return jsonView
* <pre><code> { * <pre><code> {
* "affected": * "saved": true, false
* "saved": true, false
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView removeCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
boolean saved = false; boolean saved = false;
String retMessage = sprt04Service.removeCvlcptDscsnCn(cvlcptDscsnCn); String retMessage = sprt04Service.createCvlcptDscsn(cvlcptDscsn);
if (retMessage.contains("[S]")) { if (retMessage.contains("[S]")) {
saved = true; saved = true;
@ -96,17 +127,16 @@ public class Sprt04Controller extends ApplicationController {
.addObject("retMessage", retMessage); .addObject("retMessage", retMessage);
} }
/** . /** .
* @param cvlcptDscsnCnIDs * @param cvlcptDscsn
* @return jsonView * @return jsonView
* <pre><code> { * <pre><code> {
* "affected": * "saved": true, false
* "saved": true, false
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView removeCvlcptDscsnCnList(SprtQuery req) { public ModelAndView updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
boolean saved = false; boolean saved = false;
String retMessage = sprt04Service.removeCvlcptDscsnCnList(req); String retMessage = sprt04Service.updateCvlcptDscsn(cvlcptDscsn);
if (retMessage.contains("[S]")) { if (retMessage.contains("[S]")) {
saved = true; saved = true;
@ -115,44 +145,21 @@ public class Sprt04Controller extends ApplicationController {
} }
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("retMessage", retMessage);
}
/** ID (info) .
* @param ExclQuery req
* @return fims/excl/excl01020-info jsonView
* <pre>{
* "levyExclusionInfo":
* }</pre>
*/
public ModelAndView getCvlcptDscsnCnInfo(SprtQuery req) {
DataObject cvlcptDscsnCn = sprt04Service.getCvlcptDscsnCnInfo(req);
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt04020-info");
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM065");
return mav
.addObject("pageName", "sprt04020") //
.addObject("FIM065List", commonCodes.get("FIM065")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD)
.addObject("cvlcptDscsnCn", json ? cvlcptDscsnCn : toJson(cvlcptDscsnCn))
;
} }
/** . /** .
* @param cvlcptDscsnCn * @param cvlcptDscsnIDs s
* @return jsonView * @return jsonView
* <pre><code> { * <pre><code> {
* "saved": true, false * "affected":
* "saved": true, false
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView createCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView removeCvlcptDscsnList(CvlcptDscsnQuery req) {
boolean saved = false; boolean saved = false;
String retMessage = sprt04Service.createCvlcptDscsnCn(cvlcptDscsnCn); String retMessage = sprt04Service.removeCvlcptDscsnList(req);
if (retMessage.contains("[S]")) { if (retMessage.contains("[S]")) {
saved = true; saved = true;
@ -161,20 +168,21 @@ public class Sprt04Controller extends ApplicationController {
} }
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("retMessage", retMessage);
} }
/** . /** .
* @param cvlcptDscsnCn * @param cvlcptDscsnId
* @return jsonView * @return jsonView
* <pre><code> { * <pre><code> {
* "saved": true, false * "affected":
* "saved": true, false
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView updateCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
boolean saved = false; boolean saved = false;
String retMessage = sprt04Service.updateCvlcptDscsnCn(cvlcptDscsnCn); String retMessage = sprt04Service.removeCvlcptDscsn(cvlcptDscsn);
if (retMessage.contains("[S]")) { if (retMessage.contains("[S]")) {
saved = true; saved = true;

@ -20,7 +20,8 @@ import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.Rduct; import cokr.xit.fims.levy.Rduct;
import cokr.xit.fims.payer.Payer; import cokr.xit.fims.payer.Payer;
import cokr.xit.fims.payer.PayerQuery; import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.SprtQuery;
@Controller @Controller
@ -622,12 +623,11 @@ public class BpvController {
return super.getRcvmtInfo(req); return super.getRcvmtInfo(req);
} }
@Override @Override
@RequestMapping(name="전용차로과태료업무 민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnCnInfo) @RequestMapping(name="전용차로과태료업무 민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo)
public ModelAndView getCvlcptDscsnCnInfo(SprtQuery req) { public ModelAndView getCvlcptDscsnInfo(SprtQuery req) {
return super.getCvlcptDscsnCnInfo(req); return super.getCvlcptDscsnInfo(req);
} }
} }
@Controller @Controller
@ -635,39 +635,39 @@ public class BpvController {
class Sprt04Controller extends cokr.xit.fims.sprt.web.Sprt04Controller { class Sprt04Controller extends cokr.xit.fims.sprt.web.Sprt04Controller {
@Override @Override
@RequestMapping(name="전용차로과태료업무 민원 상담 내용 대장 목록 조회", value=METHOD_URL.getCvlcptDscsnCnList) @RequestMapping(name="전용차로과태료업무 민원 상담 내용 대장 목록 조회", value=METHOD_URL.getCvlcptDscsnList)
public ModelAndView getCvlcptDscsnCnList(SprtQuery req) { public ModelAndView getCvlcptDscsnList(CvlcptDscsnQuery req) {
return super.getCvlcptDscsnCnList(req); return super.getCvlcptDscsnList(req);
} }
@Override @Override
@RequestMapping(name="전용차로과태료업무 민원 상담 내용 대장 삭제", value=METHOD_URL.removeCvlcptDscsnCn) @RequestMapping(name="전용차로과태료업무 민원 상담 내용 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo)
public ModelAndView removeCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView getCvlcptDscsnInfo(CvlcptDscsnQuery req) {
return super.removeCvlcptDscsnCn(cvlcptDscsnCn); return super.getCvlcptDscsnInfo(req);
} }
@Override @Override
@RequestMapping(name="전용차로과태료업무 민원 상담 내용 대장 목록 삭제", value=METHOD_URL.removeCvlcptDscsnCnList) @RequestMapping(name="전용차로과태료업무 민원 상담 내용 대장 등록", value=METHOD_URL.createCvlcptDscsn)
public ModelAndView removeCvlcptDscsnCnList(SprtQuery req) { public ModelAndView createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.removeCvlcptDscsnCnList(req); return super.createCvlcptDscsn(cvlcptDscsn);
} }
@Override @Override
@RequestMapping(name="전용차로과태료업무 민원 상담 내용 정보 조회", value=METHOD_URL.getCvlcptDscsnCnInfo) @RequestMapping(name="전용차로과태료업무 민원 상담 내용 대장 수정", value=METHOD_URL.updateCvlcptDscsn)
public ModelAndView getCvlcptDscsnCnInfo(SprtQuery req) { public ModelAndView updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.getCvlcptDscsnCnInfo(req); return super.updateCvlcptDscsn(cvlcptDscsn);
} }
@Override @Override
@RequestMapping(name="전용차로과태료업무 민원 상담 내용 대장 등록", value=METHOD_URL.createCvlcptDscsnCn) @RequestMapping(name="전용차로과태료업무 민원 상담 내용 대장 목록 삭제", value=METHOD_URL.removeCvlcptDscsnList)
public ModelAndView createCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView removeCvlcptDscsnList(CvlcptDscsnQuery req) {
return super.createCvlcptDscsnCn(cvlcptDscsnCn); return super.removeCvlcptDscsnList(req);
} }
@Override @Override
@RequestMapping(name="전용차로과태료업무 민원 상담 내용 대장 수정", value=METHOD_URL.updateCvlcptDscsnCn) @RequestMapping(name="전용차로과태료업무 민원 상담 내용 대장 삭제", value=METHOD_URL.removeCvlcptDscsn)
public ModelAndView updateCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.updateCvlcptDscsnCn(cvlcptDscsnCn); return super.removeCvlcptDscsn(cvlcptDscsn);
} }
} }

@ -358,8 +358,8 @@ public class CmnController {
*/ */
@Override @Override
@RequestMapping(name="민원 상담 내용 메인", value="/010/main.do") @RequestMapping(name="민원 상담 내용 메인", value="/010/main.do")
public ModelAndView civilComplaintDiscussionContentMain() { public ModelAndView civilComplaintDiscussionMain() {
return super.civilComplaintDiscussionContentMain(); return super.civilComplaintDiscussionMain();
} }
} }

@ -21,7 +21,8 @@ import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.sndb.SndbQuery; import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.Sndng; import cokr.xit.fims.sndb.Sndng;
import cokr.xit.fims.sndb.SndngDtl; import cokr.xit.fims.sndb.SndngDtl;
import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.SprtQuery;
@Controller @Controller
@ -671,9 +672,9 @@ public class DpvController {
return super.getRcvmtInfo(req); return super.getRcvmtInfo(req);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnCnInfo) @RequestMapping(name="장애인과태료업무 민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo)
public ModelAndView getCvlcptDscsnCnInfo(SprtQuery req) { public ModelAndView getCvlcptDscsnInfo(SprtQuery req) {
return super.getCvlcptDscsnCnInfo(req); return super.getCvlcptDscsnInfo(req);
} }
} }
@ -683,39 +684,39 @@ public class DpvController {
class Sprt04Controller extends cokr.xit.fims.sprt.web.Sprt04Controller { class Sprt04Controller extends cokr.xit.fims.sprt.web.Sprt04Controller {
@Override @Override
@RequestMapping(name="장애인과태료업무 민원 상담 내용 대장 목록 조회", value=METHOD_URL.getCvlcptDscsnCnList) @RequestMapping(name="장애인과태료업무 민원 상담 내용 대장 목록 조회", value=METHOD_URL.getCvlcptDscsnList)
public ModelAndView getCvlcptDscsnCnList(SprtQuery req) { public ModelAndView getCvlcptDscsnList(CvlcptDscsnQuery req) {
return super.getCvlcptDscsnCnList(req); return super.getCvlcptDscsnList(req);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 민원 상담 내용 대장 삭제", value=METHOD_URL.removeCvlcptDscsnCn) @RequestMapping(name="장애인과태료업무 민원 상담 내용 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo)
public ModelAndView removeCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView getCvlcptDscsnInfo(CvlcptDscsnQuery req) {
return super.removeCvlcptDscsnCn(cvlcptDscsnCn); return super.getCvlcptDscsnInfo(req);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 민원 상담 내용 대장 목록 삭제", value=METHOD_URL.removeCvlcptDscsnCnList) @RequestMapping(name="장애인과태료업무 민원 상담 내용 대장 등록", value=METHOD_URL.createCvlcptDscsn)
public ModelAndView removeCvlcptDscsnCnList(SprtQuery req) { public ModelAndView createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.removeCvlcptDscsnCnList(req); return super.createCvlcptDscsn(cvlcptDscsn);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 민원 상담 내용 정보 조회", value=METHOD_URL.getCvlcptDscsnCnInfo) @RequestMapping(name="장애인과태료업무 민원 상담 내용 대장 수정", value=METHOD_URL.updateCvlcptDscsn)
public ModelAndView getCvlcptDscsnCnInfo(SprtQuery req) { public ModelAndView updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.getCvlcptDscsnCnInfo(req); return super.updateCvlcptDscsn(cvlcptDscsn);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 민원 상담 내용 대장 등록", value=METHOD_URL.createCvlcptDscsnCn) @RequestMapping(name="장애인과태료업무 민원 상담 내용 대장 목록 삭제", value=METHOD_URL.removeCvlcptDscsnList)
public ModelAndView createCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView removeCvlcptDscsnList(CvlcptDscsnQuery req) {
return super.createCvlcptDscsnCn(cvlcptDscsnCn); return super.removeCvlcptDscsnList(req);
} }
@Override @Override
@RequestMapping(name="장애인과태료업무 민원 상담 내용 대장 수정", value=METHOD_URL.updateCvlcptDscsnCn) @RequestMapping(name="장애인과태료업무 민원 상담 내용 대장 삭제", value=METHOD_URL.removeCvlcptDscsn)
public ModelAndView updateCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.updateCvlcptDscsnCn(cvlcptDscsnCn); return super.removeCvlcptDscsn(cvlcptDscsn);
} }
} }

@ -18,7 +18,8 @@ import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.Rduct; import cokr.xit.fims.levy.Rduct;
import cokr.xit.fims.payer.Payer; import cokr.xit.fims.payer.Payer;
import cokr.xit.fims.payer.PayerQuery; import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.SprtQuery;
@Controller @Controller
@ -529,9 +530,9 @@ public class EcaController {
return super.getRcvmtInfo(req); return super.getRcvmtInfo(req);
} }
@Override @Override
@RequestMapping(name="전기차과태료업무 민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnCnInfo) @RequestMapping(name="전기차과태료업무 민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo)
public ModelAndView getCvlcptDscsnCnInfo(SprtQuery req) { public ModelAndView getCvlcptDscsnInfo(SprtQuery req) {
return super.getCvlcptDscsnCnInfo(req); return super.getCvlcptDscsnInfo(req);
} }
} }
@ -541,39 +542,39 @@ public class EcaController {
class Sprt04Controller extends cokr.xit.fims.sprt.web.Sprt04Controller { class Sprt04Controller extends cokr.xit.fims.sprt.web.Sprt04Controller {
@Override @Override
@RequestMapping(name="전기차과태료업무 민원 상담 내용 대장 목록 조회", value=METHOD_URL.getCvlcptDscsnCnList) @RequestMapping(name="전기차과태료업무 민원 상담 내용 대장 목록 조회", value=METHOD_URL.getCvlcptDscsnList)
public ModelAndView getCvlcptDscsnCnList(SprtQuery req) { public ModelAndView getCvlcptDscsnList(CvlcptDscsnQuery req) {
return super.getCvlcptDscsnCnList(req); return super.getCvlcptDscsnList(req);
} }
@Override @Override
@RequestMapping(name="전기차과태료업무 민원 상담 내용 대장 삭제", value=METHOD_URL.removeCvlcptDscsnCn) @RequestMapping(name="전기차과태료업무 민원 상담 내용 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo)
public ModelAndView removeCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView getCvlcptDscsnInfo(CvlcptDscsnQuery req) {
return super.removeCvlcptDscsnCn(cvlcptDscsnCn); return super.getCvlcptDscsnInfo(req);
} }
@Override @Override
@RequestMapping(name="전기차과태료업무 민원 상담 내용 대장 목록 삭제", value=METHOD_URL.removeCvlcptDscsnCnList) @RequestMapping(name="전기차과태료업무 민원 상담 내용 대장 등록", value=METHOD_URL.createCvlcptDscsn)
public ModelAndView removeCvlcptDscsnCnList(SprtQuery req) { public ModelAndView createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.removeCvlcptDscsnCnList(req); return super.createCvlcptDscsn(cvlcptDscsn);
} }
@Override @Override
@RequestMapping(name="전기차과태료업무 민원 상담 내용 정보 조회", value=METHOD_URL.getCvlcptDscsnCnInfo) @RequestMapping(name="전기차과태료업무 민원 상담 내용 대장 수정", value=METHOD_URL.updateCvlcptDscsn)
public ModelAndView getCvlcptDscsnCnInfo(SprtQuery req) { public ModelAndView updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.getCvlcptDscsnCnInfo(req); return super.updateCvlcptDscsn(cvlcptDscsn);
} }
@Override @Override
@RequestMapping(name="전기차과태료업무 민원 상담 내용 대장 등록", value=METHOD_URL.createCvlcptDscsnCn) @RequestMapping(name="전기차과태료업무 민원 상담 내용 대장 목록 삭제", value=METHOD_URL.removeCvlcptDscsnList)
public ModelAndView createCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView removeCvlcptDscsnList(CvlcptDscsnQuery req) {
return super.createCvlcptDscsnCn(cvlcptDscsnCn); return super.removeCvlcptDscsnList(req);
} }
@Override @Override
@RequestMapping(name="전기차과태료업무 민원 상담 내용 대장 수정", value=METHOD_URL.updateCvlcptDscsnCn) @RequestMapping(name="전기차과태료업무 민원 상담 내용 대장 삭제", value=METHOD_URL.removeCvlcptDscsn)
public ModelAndView updateCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.updateCvlcptDscsnCn(cvlcptDscsnCn); return super.removeCvlcptDscsn(cvlcptDscsn);
} }
} }

@ -19,7 +19,8 @@ import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.Rduct; import cokr.xit.fims.levy.Rduct;
import cokr.xit.fims.payer.Payer; import cokr.xit.fims.payer.Payer;
import cokr.xit.fims.payer.PayerQuery; import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery; import cokr.xit.fims.sprt.SprtQuery;
@Controller @Controller
@ -592,9 +593,9 @@ public class PvsController {
return super.getRcvmtInfo(req); return super.getRcvmtInfo(req);
} }
@Override @Override
@RequestMapping(name="주정차과태료업무 민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnCnInfo) @RequestMapping(name="주정차과태료업무 민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo)
public ModelAndView getCvlcptDscsnCnInfo(SprtQuery req) { public ModelAndView getCvlcptDscsnInfo(SprtQuery req) {
return super.getCvlcptDscsnCnInfo(req); return super.getCvlcptDscsnInfo(req);
} }
} }
@ -604,39 +605,39 @@ public class PvsController {
class Sprt04Controller extends cokr.xit.fims.sprt.web.Sprt04Controller { class Sprt04Controller extends cokr.xit.fims.sprt.web.Sprt04Controller {
@Override @Override
@RequestMapping(name="주정차과태료업무 민원 상담 내용 대장 목록 조회", value=METHOD_URL.getCvlcptDscsnCnList) @RequestMapping(name="주정차과태료업무 민원 상담 내용 대장 목록 조회", value=METHOD_URL.getCvlcptDscsnList)
public ModelAndView getCvlcptDscsnCnList(SprtQuery req) { public ModelAndView getCvlcptDscsnList(CvlcptDscsnQuery req) {
return super.getCvlcptDscsnCnList(req); return super.getCvlcptDscsnList(req);
} }
@Override @Override
@RequestMapping(name="주정차과태료업무 민원 상담 내용 대장 삭제", value=METHOD_URL.removeCvlcptDscsnCn) @RequestMapping(name="주정차과태료업무 민원 상담 내용 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo)
public ModelAndView removeCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView getCvlcptDscsnInfo(CvlcptDscsnQuery req) {
return super.removeCvlcptDscsnCn(cvlcptDscsnCn); return super.getCvlcptDscsnInfo(req);
} }
@Override @Override
@RequestMapping(name="주정차과태료업무 민원 상담 내용 대장 목록 삭제", value=METHOD_URL.removeCvlcptDscsnCnList) @RequestMapping(name="주정차과태료업무 민원 상담 내용 대장 등록", value=METHOD_URL.createCvlcptDscsn)
public ModelAndView removeCvlcptDscsnCnList(SprtQuery req) { public ModelAndView createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.removeCvlcptDscsnCnList(req); return super.createCvlcptDscsn(cvlcptDscsn);
} }
@Override @Override
@RequestMapping(name="주정차과태료업무 민원 상담 내용 정보 조회", value=METHOD_URL.getCvlcptDscsnCnInfo) @RequestMapping(name="주정차과태료업무 민원 상담 내용 대장 수정", value=METHOD_URL.updateCvlcptDscsn)
public ModelAndView getCvlcptDscsnCnInfo(SprtQuery req) { public ModelAndView updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.getCvlcptDscsnCnInfo(req); return super.updateCvlcptDscsn(cvlcptDscsn);
} }
@Override @Override
@RequestMapping(name="주정차과태료업무 민원 상담 내용 대장 등록", value=METHOD_URL.createCvlcptDscsnCn) @RequestMapping(name="주정차과태료업무 민원 상담 내용 대장 목록 삭제", value=METHOD_URL.removeCvlcptDscsnList)
public ModelAndView createCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView removeCvlcptDscsnList(CvlcptDscsnQuery req) {
return super.createCvlcptDscsnCn(cvlcptDscsnCn); return super.removeCvlcptDscsnList(req);
} }
@Override @Override
@RequestMapping(name="주정차과태료업무 민원 상담 내용 대장 수정", value=METHOD_URL.updateCvlcptDscsnCn) @RequestMapping(name="주정차과태료업무 민원 상담 내용 대장 삭제", value=METHOD_URL.removeCvlcptDscsn)
public ModelAndView updateCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) { public ModelAndView removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return super.updateCvlcptDscsnCn(cvlcptDscsnCn); return super.removeCvlcptDscsn(cvlcptDscsn);
} }
} }

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.sprt.dao.CvlcptDscsnCnMapper"> <mapper namespace="cokr.xit.fims.sprt.dao.CvlcptDscsnMapper">
<!-- 민원 상담 내용 정보 매퍼 <!-- 민원 상담 내용 정보 매퍼
========== 변경 이력 ========== ========== 변경 이력 ==========
2023-09-05 JoJH 최초 작성 2023-09-05 JoJH 최초 작성
============================ --> ============================ -->
<resultMap id="cvlcptDscsnCnRow" type="cokr.xit.fims.sprt.CvlcptDscsnCn"> <resultMap id="cvlcptDscsnRow" type="cokr.xit.fims.sprt.CvlcptDscsn">
<result property="cvlcptDscsnId" column="CVLCPT_DSCSN_ID" /> <!-- 민원 상담 ID --> <result property="cvlcptDscsnId" column="CVLCPT_DSCSN_ID" /> <!-- 민원 상담 ID -->
<result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 --> <result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="taskSeCd" column="TASK_SE_CD" /> <!-- 업무 구분 코드 --> <result property="taskSeCd" column="TASK_SE_CD" /> <!-- 업무 구분 코드 -->
@ -15,8 +15,11 @@
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID --> <result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->
<result property="vhrno" column="VHRNO" /> <!-- 차량번호 --> <result property="vhrno" column="VHRNO" /> <!-- 차량번호 -->
<result property="rtpyrNo" column="RTPYR_NO" /> <!-- 납부자 번호 --> <result property="rtpyrNo" column="RTPYR_NO" /> <!-- 납부자 번호 -->
<result property="dscsnCn" column="DSCSN_CN" /> <!-- 상담 내용 --> <result property="dscsnYmd" column="DSCSN_YMD" /> <!-- 상담 일자 -->
<result property="weekNm" column="WEEK_NM" /> <!-- 요일 명 --> <result property="weekNm" column="WEEK_NM" /> <!-- 요일 명 -->
<result property="cvlprNm" column="CVLPR_NM" /> <!-- 민원인 명 -->
<result property="cvlprCttpc" column="CVLPR_CTTPC" /> <!-- 민원인 연락처 -->
<result property="dscsnCn" column="DSCSN_CN" /> <!-- 상담 내용 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 --> <result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 --> <result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 --> <result property="createdBy" column="RGTR" /> <!-- 등록자 -->
@ -28,84 +31,98 @@
</resultMap> </resultMap>
<sql id="select"> <sql id="select">
SELECT CDC.CVLCPT_DSCSN_ID <!-- 민원 상담 ID --> SELECT CD.CVLCPT_DSCSN_ID <!-- 민원 상담 ID -->
, CDC.SGG_CD <!-- 시군구 코드 --> , CD.SGG_CD <!-- 시군구 코드 -->
, CDC.TASK_SE_CD <!-- 업무 구분 코드 --> , CD.TASK_SE_CD <!-- 업무 구분 코드 -->
, CDC.CVLCPT_RCPT_SE_CD <!-- 민원 접수 구분 코드 --> , CD.CVLCPT_RCPT_SE_CD <!-- 민원 접수 구분 코드 -->
, (SELECT GET_CODE_NM('FIM065', CDC.CVLCPT_RCPT_SE_CD) FROM DUAL) AS CVLCPT_RCPT_SE_NM <!-- 민원 접수 구분 명 --> , (SELECT GET_CODE_NM('FIM065', CD.CVLCPT_RCPT_SE_CD) FROM DUAL) AS CVLCPT_RCPT_SE_NM <!-- 민원 접수 구분 명 -->
, CDC.CRDN_ID <!-- 단속 ID --> , CD.CRDN_ID <!-- 단속 ID -->
, CDC.VHRNO <!-- 차량번호 --> , CD.VHRNO <!-- 차량번호 -->
, CDC.RTPYR_NO <!-- 납부자 번호 --> , CD.RTPYR_NO <!-- 납부자 번호 -->
, CDC.DSCSN_CN <!-- 상담 내용 --> , CD.DSCSN_YMD <!-- 상담 일자 -->
, CDC.WEEK_NM <!-- 요일 명 --> , CD.WEEK_NM <!-- 요일 명 -->
, CDC.DEL_YN <!-- 삭제 여부 --> , CD.CVLPR_NM <!-- 민원인 명 -->
, CDC.REG_DT <!-- 등록 일시 --> , CD.CVLPR_CTTPC <!-- 민원인 연락처 -->
, CDC.RGTR <!-- 등록자 --> , CD.DSCSN_CN <!-- 상담 내용 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CDC.RGTR) AS RGTR_NM <!-- 등록자 명 --> , CD.DEL_YN <!-- 삭제 여부 -->
, CDC.MDFCN_DT <!-- 수정 일시 --> , CD.REG_DT <!-- 등록 일시 -->
, CDC.MDFR <!-- 수정자 --> , CD.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CDC.MDFR) AS MDFR_NM <!-- 수정자 명 --> , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CD.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, CDC.DEL_DT <!-- 삭제 일시 --> , CD.MDFCN_DT <!-- 수정 일시 -->
, CDC.DLTR <!-- 삭제자 --> , CD.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CDC.DLTR) AS DLTR_NM <!-- 삭제자 명 --> , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CD.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, CDC.DEL_RSN <!-- 삭제 사유 --> , CD.DEL_DT <!-- 삭제 일시 -->
FROM TB_CVLCPT_DSCSN_CN CDC , CD.DLTR <!-- 삭제자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CD.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, CD.DEL_RSN <!-- 삭제 사유 -->
FROM TB_CVLCPT_DSCSN CD
</sql> </sql>
<select id="selectCvlcptDscsnCnList" parameterType="map" resultType="dataobject">/* 민원 상담 내용 목록 조회(cvlcptDscsnCnMapper.selectCvlcptDscsnCnList) */ <select id="selectCvlcptDscsnList" parameterType="map" resultType="dataobject">/* 민원 상담 내용 목록 조회(cvlcptDscsnCnMapper.selectCvlcptDscsnList) */
<include refid="utility.paging-prefix" /> <include refid="utility.paging-prefix" />
<include refid="select" /> <include refid="select" />
<where> WHERE CD.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
</where> <if test="taskSeCd != null">
AND CD.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
</if>
<if test="schDscsnYmdFrom != null">
AND CD.DSCSN_YMD <![CDATA[ >= ]]> #{schDscsnYmdFrom} <!-- 상담 일자 시작 -->
</if>
<if test="schDscsnYmdTo != null">
AND CD.DSCSN_YMD <![CDATA[ <= ]]> #{schDscsnYmdTo} <!-- 상담 일자 종료 -->
</if>
<if test="schVhrno != null">
AND CD.VHRNO = #{schVhrno} <!-- 차량번호 -->
</if>
<if test="schRtpyrNo != null">
AND CD.RTPYR_NO = #{schRtpyrNo} <!-- 납부자 번호 -->
</if>
<if test="schCvlprNm != null">
AND CD.CVLPR_NM = #{schCvlprNm} <!-- 민원인 명 -->
</if>
AND CD.DEL_YN = 'N'
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
<include refid="utility.paging-suffix" /> <include refid="utility.paging-suffix" />
</select> </select>
<select id="selectCvlcptDscsnCns" parameterType="map" resultType="dataobject">/* 민원 상담 내용 객체 가져오기(cvlcptDscsnCnMapper.selectCvlcptDscsnCns) */ <select id="selectCvlcptDscsns" parameterType="map" resultType="dataobject">/* 민원 상담 내용 객체 가져오기(cvlcptDscsnCnMapper.selectCvlcptDscsns) */
<include refid="select" /> <include refid="select" />
<where> <where>
<if test="cvlcptDscsnId != null"> <if test="cvlcptDscsnId != null">
AND CDC.CVLCPT_DSCSN_ID = #{cvlcptDscsnId} <!-- 민원 상담 ID --> AND CD.CVLCPT_DSCSN_ID = #{cvlcptDscsnId} <!-- 민원 상담 ID -->
</if> </if>
<choose> <choose>
<when test="inquiryCondition == 'crdnId_vhrno_rtpyrNo'"> <when test="inquiryCondition == 'crdnId_vhrno_rtpyrNo'">
AND (CDC.CRDN_ID = #{crdnId} OR CDC.VHRNO = #{vhrno} OR CDC.RTPYR_NO = #{rtpyrNo}) AND (CD.CRDN_ID = #{crdnId} OR CD.VHRNO = #{vhrno} OR CD.RTPYR_NO = #{rtpyrNo})
</when> </when>
<when test="inquiryCondition == 'crdnId_vhrno'"> <when test="inquiryCondition == 'crdnId_vhrno'">
AND (CDC.CRDN_ID = #{crdnId} OR CDC.VHRNO = #{vhrno}) AND (CD.CRDN_ID = #{crdnId} OR CD.VHRNO = #{vhrno})
</when> </when>
<otherwise> <otherwise>
<if test="crdnId != null"> <if test="crdnId != null">
AND CDC.CRDN_ID = #{crdnId} <!-- 단속 ID --> AND CD.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if> </if>
<if test="vhrno != null"> <if test="vhrno != null">
AND CDC.VHRNO = #{vhrno} <!-- 차량번호 --> AND CD.VHRNO = #{vhrno} <!-- 차량번호 -->
</if> </if>
<if test="rtpyrNo != null"> <if test="rtpyrNo != null">
AND CDC.RTPYR_NO = #{rtpyrNo} <!-- 납부자 번호 --> AND CD.RTPYR_NO = #{rtpyrNo} <!-- 납부자 번호 -->
</if> </if>
</otherwise> </otherwise>
</choose> </choose>
<choose> AND CD.DEL_YN = 'N' <!-- 삭제 여부 -->
<when test="delYn != null">
AND CDC.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND CDC.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
</where> </where>
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
</select> </select>
<insert id="insertCvlcptDscsnCn" parameterType="map">/* 민원 상담 내용 등록(cvlcptDscsnCnMapper.insertCvlcptDscsnCn) */ <insert id="insertCvlcptDscsn" parameterType="map">/* 민원 상담 내용 등록(cvlcptDscsnMapper.insertCvlcptDscsn) */
<selectKey resultType="string" keyProperty="cvlcptDscsnCn.cvlcptDscsnId" keyColumn="NEW_ID" order="BEFORE"> <selectKey resultType="string" keyProperty="cvlcptDscsnCn.cvlcptDscsnId" keyColumn="NEW_ID" order="BEFORE">
SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(CVLCPT_DSCSN_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(CVLCPT_DSCSN_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID
FROM TB_CVLCPT_DSCSN_CN FROM TB_CVLCPT_DSCSN
WHERE CVLCPT_DSCSN_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%') WHERE CVLCPT_DSCSN_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
</selectKey> </selectKey>
INSERT INSERT
INTO TB_CVLCPT_DSCSN_CN ( INTO TB_CVLCPT_DSCSN (
CVLCPT_DSCSN_ID <!-- 민원 상담 ID --> CVLCPT_DSCSN_ID <!-- 민원 상담 ID -->
, SGG_CD <!-- 시군구 코드 --> , SGG_CD <!-- 시군구 코드 -->
, TASK_SE_CD <!-- 업무 구분 코드 --> , TASK_SE_CD <!-- 업무 구분 코드 -->
@ -113,8 +130,11 @@
, CRDN_ID <!-- 단속 ID --> , CRDN_ID <!-- 단속 ID -->
, VHRNO <!-- 차량번호 --> , VHRNO <!-- 차량번호 -->
, RTPYR_NO <!-- 납부자 번호 --> , RTPYR_NO <!-- 납부자 번호 -->
, DSCSN_CN <!-- 상담 내용 --> , DSCSN_YMD <!-- 상담 일자 -->
, WEEK_NM <!-- 요일 명 --> , WEEK_NM <!-- 요일 명 -->
, CVLPR_NM <!-- 민원인 명 -->
, CVLPR_CTTPC <!-- 민원인 연락처 -->
, DSCSN_CN <!-- 상담 내용 -->
, DEL_YN <!-- 삭제 여부 --> , DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 --> , REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 --> , RGTR <!-- 등록자 -->
@ -122,26 +142,26 @@
, MDFR <!-- 수정자 --> , MDFR <!-- 수정자 -->
) )
VALUES ( VALUES (
#{cvlcptDscsnCn.cvlcptDscsnId} <!-- 민원 상담 ID --> #{cvlcptDscsn.cvlcptDscsnId} <!-- 민원 상담 ID -->
, #{cvlcptDscsnCn.sggCd} <!-- 시군구 코드 --> , #{cvlcptDscsn.sggCd} <!-- 시군구 코드 -->
, #{cvlcptDscsnCn.taskSeCd} <!-- 업무 구분 코드 --> , #{cvlcptDscsn.taskSeCd} <!-- 업무 구분 코드 -->
, #{cvlcptDscsnCn.cvlcptRcptSeCd} <!-- 민원 접수 구분 코드 --> , #{cvlcptDscsn.cvlcptRcptSeCd} <!-- 민원 접수 구분 코드 -->
, #{cvlcptDscsnCn.crdnId} <!-- 단속 ID --> , #{cvlcptDscsn.crdnId} <!-- 단속 ID -->
<choose> <choose>
<when test="cvlcptDscsnCn.cvlcptRcptSeCd == '02'"> <when test="cvlcptDscsn.cvlcptRcptSeCd == '02'">
, #{cvlcptDscsnCn.vhrno} <!-- 차량번호 --> , #{cvlcptDscsn.vhrno} <!-- 차량번호 -->
, NULL <!-- 납부자 번호 --> , NULL <!-- 납부자 번호 -->
</when> </when>
<when test="cvlcptDscsnCn.cvlcptRcptSeCd == '03'"> <when test="cvlcptDscsn.cvlcptRcptSeCd == '03'">
, NULL <!-- 차량번호 --> , NULL <!-- 차량번호 -->
, #{cvlcptDscsnCn.rtpyrNo} <!-- 납부자 번호 --> , #{cvlcptDscsn.rtpyrNo} <!-- 납부자 번호 -->
</when> </when>
<otherwise> <otherwise>
, NULL <!-- 차량번호 --> , NULL <!-- 차량번호 -->
, NULL <!-- 납부자 번호 --> , NULL <!-- 납부자 번호 -->
</otherwise> </otherwise>
</choose> </choose>
, #{cvlcptDscsnCn.dscsnCn} <!-- 상담 내용 --> , #{cvlcptDscsn.dscsnYmd} <!-- 상담 일자 -->
, ( CASE DAYOFWEEK(NOW()) , ( CASE DAYOFWEEK(NOW())
WHEN '1' THEN '일' WHEN '1' THEN '일'
WHEN '2' THEN '월' WHEN '2' THEN '월'
@ -151,30 +171,33 @@
WHEN '6' THEN '금' WHEN '6' THEN '금'
WHEN '7' THEN '토' WHEN '7' THEN '토'
END ) <!-- 요일 명 --> END ) <!-- 요일 명 -->
, #{cvlcptDscsn.cvlprNm} <!-- 민원인 명 -->
, #{cvlcptDscsn.cvlprCttpc} <!-- 민원인 연락처 -->
, #{cvlcptDscsn.dscsnCn} <!-- 상담 내용 -->
, 'N' <!-- 삭제 여부 --> , 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 --> , <include refid="utility.now" /> <!-- 등록 일시 -->
, #{cvlcptDscsnCn.createdBy} <!-- 등록자 --> , #{cvlcptDscsn.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 --> , <include refid="utility.now" /> <!-- 수정 일시 -->
, #{cvlcptDscsnCn.modifiedBy} <!-- 수정자 --> , #{cvlcptDscsn.modifiedBy} <!-- 수정자 -->
) )
</insert> </insert>
<update id="updateCvlcptDscsnCn" parameterType="map">/* 민원 상담 내용 수정(cvlcptDscsnCnMapper.updateCvlcptDscsnCn) */ <update id="updateCvlcptDscsn" parameterType="map">/* 민원 상담 내용 수정(cvlcptDscsnMapper.updateCvlcptDscsn) */
UPDATE TB_CVLCPT_DSCSN_CN UPDATE TB_CVLCPT_DSCSN
SET DSCSN_CN = #{cvlcptDscsnCn.dscsnCn} <!-- 상담 내용 --> SET DSCSN_CN = #{cvlcptDscsn.dscsnCn} <!-- 상담 내용 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 --> , MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{cvlcptDscsnCn.modifiedBy} <!-- 수정자 --> , MDFR = #{cvlcptDscsn.modifiedBy} <!-- 수정자 -->
WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsnCn.cvlcptDscsnId} <!-- 민원 상담 ID --> WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsn.cvlcptDscsnId} <!-- 민원 상담 ID -->
AND DEL_YN = 'N' AND DEL_YN = 'N'
</update> </update>
<update id="deleteCvlcptDscsnCn" parameterType="map">/* 민원 상담 내용 삭제(cvlcptDscsnCnMapper.deleteCvlcptDscsnCn) */ <update id="deleteCvlcptDscsn" parameterType="map">/* 민원 상담 내용 삭제(cvlcptDscsnMapper.deleteCvlcptDscsn) */
UPDATE TB_CVLCPT_DSCSN_CN UPDATE TB_CVLCPT_DSCSN
SET DEL_YN = 'Y' <!-- 삭제 여부 --> SET DEL_YN = 'Y' <!-- 삭제 여부 -->
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 --> , DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{cvlcptDscsnCn.modifiedBy} <!-- 삭제자 --> , DLTR = #{cvlcptDscsn.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{cvlcptDscsnCn.delRsn} <!-- 삭제 사유 --> , DEL_RSN = #{cvlcptDscsn.delRsn} <!-- 삭제 사유 -->
WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsnCn.cvlcptDscsnId} <!-- 민원 상담 ID --> WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsn.cvlcptDscsnId} <!-- 민원 상담 ID -->
AND DEL_YN = 'N' AND DEL_YN = 'N'
</update> </update>

@ -91,7 +91,7 @@
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title text-end">차량번호</label> <label class="form-label fw-bold form-search-title text-end">차량번호</label>
<input type="text" class="form-control w-px-150" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" /> <input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div> </div>
<!-- 납부자명 --> <!-- 납부자명 -->
<div class="col-6"> <div class="col-6">
@ -580,7 +580,7 @@
let levyExclSeCd = ${pageName}Control.dataset.getValue("LEVY_EXCL_SE_CD"); let levyExclSeCd = ${pageName}Control.dataset.getValue("LEVY_EXCL_SE_CD");
// 부과제외ID 가 없다면.. return // 부과제외ID 가 없다면.. return
if (levyExclId == undefined || levyExclId == "") { if (levyExclId == null || levyExclId == "") {
return; return;
} }

@ -87,7 +87,7 @@
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title text-end">차량번호</label> <label class="form-label fw-bold form-search-title text-end">차량번호</label>
<input type="text" class="form-control w-px-150" id="schVhrno--${pageName}" name="schVhrno" /> <input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" />
</div> </div>
<!-- 단속일자 --> <!-- 단속일자 -->
<div class="col-6"> <div class="col-6">
@ -589,7 +589,7 @@
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID"); let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return // 의견제출 ID 가 없다면.. return
if (opnnId == undefined || opnnId == "") { if (opnnId == null || opnnId == "") {
return; return;
} }

@ -64,7 +64,7 @@
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title">차량번호</label> <label class="form-label fw-bold form-search-title">차량번호</label>
<input type="text" class="form-control w-px-150" id="schVhrno--${pageName}" name="schVhrno" /> <input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" />
</div> </div>
<!-- 단속일자 --> <!-- 단속일자 -->
<div class="col-6"> <div class="col-6">

@ -41,9 +41,12 @@
<th>요일</th> <th>요일</th>
<th>등록사용자</th> <th>등록사용자</th>
<th>민원접수구분</th> <th>민원접수구분</th>
<th>민원인명</th>
<th>민원인연락처</th>
<th>상담내용</th> <th>상담내용</th>
<th>수정일시</th> <th>수정일시</th>
<th>수정사용자</th> <th>수정사용자</th>
<th class="cmn dummy-th"></th>
</tr> </tr>
</thead> </thead>
<tbody id="tbody--${pageName}"> <tbody id="tbody--${pageName}">
@ -54,14 +57,17 @@
<td class="text-center" onclick="{onclick}">{WEEK_NM}</td> <td class="text-center" onclick="{onclick}">{WEEK_NM}</td>
<td class="text-center" onclick="{onclick}">{RGTR_NM}</td> <td class="text-center" onclick="{onclick}">{RGTR_NM}</td>
<td class="text-center" onclick="{onclick}">{CVLCPT_RCPT_SE_NM}</td> <td class="text-center" onclick="{onclick}">{CVLCPT_RCPT_SE_NM}</td>
<td class="text-start" onclick="{onclick}">{CVLPR_NM}</td>
<td class="text-start" onclick="{onclick}">{CVLPR_CTTPC}</td>
<td class="text-center" onclick="{onclick}">{DSCSN_CN}</td> <td class="text-center" onclick="{onclick}">{DSCSN_CN}</td>
<td class="text-center" onclick="{onclick}">{MDFCN_DT}</td> <td class="text-center" onclick="{onclick}">{MDFCN_DT}</td>
<td class="text-center" onclick="{onclick}">{MDFR_NM}</td> <td class="text-center" onclick="{onclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr> </tr>
</template> </template>
<template id="${infoPrefix}NotFound--${pageName}"> <template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd"> <tr class="odd">
<td valign="top" colspan="7" class="dataTables_empty text-center">민원 상담 정보를 찾지 못했습니다.</td> <td valign="top" colspan="10" class="dataTables_empty text-center">민원 상담 정보를 찾지 못했습니다.</td>
</tr> </tr>
</template> </template>
</table> </table>
@ -93,11 +99,11 @@
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "cvlcptDscsnCn" prefix : "cvlcptDscsn"
, prefixName : "민원상담내용" , prefixName : "민원상담"
, infoSize : "lg" , infoSize : "lg"
, keymapper : info => info ? info.CVLCPT_DSCSN_ID : "" , keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter : obj => obj.cvlcptDscsnCnList , dataGetter : obj => obj.cvlcptDscsnList
, appendData : true , appendData : true
, formats : { , formats : {
REG_DT : datetimeFormat REG_DT : datetimeFormat
@ -222,7 +228,7 @@
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
${pageName}Control.dataset.clear(); ${pageName}Control.dataset.clear();
${pageName}Control.setData(resp.cvlcptDscsnCn); // Dataset 셋팅 ${pageName}Control.setData(resp.cvlcptDscsn); // Dataset 셋팅
} }
}); });
} }
@ -328,7 +334,7 @@
setForm${pageName}(); setForm${pageName}();
// Data 셋팅 // Data 셋팅
${pageName}Control.setData(${cvlcptDscsnCn}); ${pageName}Control.setData(${cvlcptDscsn});
}); });
</script> </script>

@ -1,11 +1,11 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">민원상담</c:set> <!-- inner page html -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content --> <!-- Content -->
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">민원상담 관리</c:set>
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card">
@ -17,10 +17,10 @@
초기화 초기화
</button> </button>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-search" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();"> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색 검색
</button> </button>
<button type="button" class="btn btn-search" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();">
엑셀 엑셀
</button> </button>
</span> </span>
@ -29,12 +29,15 @@
<!-- 검색 조건 영역 --> <!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch"> <form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" />
<!-- 메인 조건 --> <!-- 메인 조건 -->
<div class="container-search"> <div class="container-search">
<div class="row g-1"> <div class="row g-1">
<!-- 업무구분 --> <!-- 업무구분 -->
<div class="col-12"> <div class="col-12">
<label class="form-label fw-bold form-search-title">업무구분</label> <label class="form-label fw-bold form-search-title text-end">업무구분</label>
<span class="form-search-linebox"> <span class="form-search-linebox">
<c:forEach items="${FIM054List}" var="item"> <c:forEach items="${FIM054List}" var="item">
<label> <label>
@ -45,68 +48,33 @@
</c:forEach> </c:forEach>
</span> </span>
</div> </div>
<!-- 부과제외일자 --> <!-- 상담일자 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title">부과제외일자</label> <label class="form-label fw-bold form-search-title text-end">상담일자</label>
<span class="form-search-linebox"> <span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schLevyExclYmdFrom--${pageName}" name="schLevyExclYmdFrom" <input type="text" class="form-control form-date" id="schDscsnYmdFrom--${pageName}" name="schDscsnYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ ~
<input type="text" class="form-control form-date" id="schLevyExclYmdTo--${pageName}" name="schLevyExclYmdTo" <input type="text" class="form-control form-date" id="schDscsnYmdTo--${pageName}" name="schDscsnYmdTo"
data-fmt-type="day" title="종료 날짜 선택" /> data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span> </span>
</div> </div>
<!-- <div class="col-1 text-end"> -->
<%-- <select class="form-select text-end" id="schDateOpt--${pageName}" name="schDateOpt"> --%>
<!-- <option value="levyExclYmd">부과제외일자</option> -->
<!-- <option value="crdnYmd">단속일자</option> -->
<!-- </select> -->
<!-- </div> -->
<!-- <div class="col-5"> -->
<!-- <span class="form-search-linebox"> -->
<%-- <input type="text" class="form-control form-date" id="schDateFrom--${pageName}" name="schDateFrom" --%>
<!-- 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="schDateTo--${pageName}" name="schDateTo" --%>
<!-- data-fmt-type="day" title="종료 날짜 선택" /> -->
<!-- <button type="button" class="bx bx-sm bx-calendar bg-white"></button> -->
<!-- </span> -->
<!-- </div> -->
<!-- 부과제외구분 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title">부과제외구분</label>
<select class="form-select w-px-150" id="schLevyExclSeCd--${pageName}" name="schLevyExclSeCd">
<option value="">전체</option>
<c:forEach items="${FIM021List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title">차량번호</label> <label class="form-label fw-bold form-search-title text-end">차량번호</label>
<input type="text" class="form-control w-px-150" id="schVhrno--${pageName}" name="schVhrno" /> <input type="text" class="form-control w-px-160" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div> </div>
<!-- 납부자 --> <!-- 납부자번호 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title">납부자명</label> <label class="form-label fw-bold form-search-title text-end">납부자번호</label>
<input type="text" class="form-control w-px-150" id="schRtpyrNm--${pageName}" name="schRtpyrNm" /> <input type="text" class="form-control w-px-160" id="schRtpyrNo--${pageName}" name="schRtpyrNo"autocomplete="off" />
</div> </div>
<!-- 단속일자 --> <!-- 민원인명 -->
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title">단속일자</label> <label class="form-label fw-bold form-search-title text-end">상담민원인</label>
<span class="form-search-linebox"> <input type="text" class="form-control w-px-160" id="schCvlprNm--${pageName}" name="schCvlprNm"autocomplete="off" />
<input type="text" class="form-control form-date" id="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
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="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div> </div>
<!-- 동적검색 --> <!-- 동적검색 -->
<div class="col-6"> <div class="col-6">
@ -114,7 +82,7 @@
<input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly /> <input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" /> <input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" /> <input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-300" id="term--${pageName}" name="term" /> <input type="text" class="form-control w-px-300" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 --> <!-- 상세 검색조건 버튼 -->
<span class="flr"> <span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}"> <button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
@ -124,35 +92,36 @@
</span> </span>
</div> </div>
</div> </div>
</div> </div> <!-- / 메인 조건 -->
<!-- / 메인 조건 -->
<!-- 상세 조건 --> <!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse"> <div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1"> <div class="row g-1">
<!-- 등록일자 --> <!-- 등록일자, 수정일자 -->
<div class="col-6"> <div class="col-6">
<select class="form-select" id="schRegDateOpt--${pageName}" name="schRegDateOpt"> <select class="form-select text-center" id="schDetailRegDtOpt--${pageName}" name="schDetailRegDtOpt">
<option value="regDt">등록일자</option> <option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option> <option value="mdfcnDt">수정일자</option>
</select> </select>
<span class="form-search-linebox"> <span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom" <input type="text" class="form-control form-date" id="schDetailRegDtFrom--${pageName}" name="schDetailRegDtFrom"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <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" <input type="text" class="form-control form-date" id="schDetailRegDtTo--${pageName}" name="schDetailRegDtTo"
data-fmt-type="day" title="종료 날짜 선택"> data-fmt-type="day" autocomplete="off" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span> </span>
</div> </div>
<!-- 등록자명, 수정자명 --> <!-- 등록자명, 수정자명 -->
<div class="col-6"> <div class="col-6">
<select class="form-select" id="schDetailUserOpt--${pageName}" name="schDetailUserOpt"> <select class="form-select text-center" id="schDetailRgtrOpt--${pageName}" name="schDetailRgtrOpt">
<option value="rgtr">등록자</option> <option value="rgtr">등록자</option>
<option value="mdfr">수정자</option> <option value="mdfr">수정자</option>
</select> </select>
<input type="text" class="form-control" id="schDetailUserNm--${pageName}" name="schDetailUserNm" /> <input type="text" class="form-control w-px-160" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" autocomplete="off" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnUser--${pageName}" title="사용자 검색" onclick="fnUser${pageName}();">
검색
</button>
</div> </div>
</div> </div>
</div> </div>
@ -171,10 +140,10 @@
</div> </div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary" id="btnUpdate--${pageName}" title="수정" onclick="fnBtnUpdate${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="수정" onclick="fnUpdate${pageName}();">
수정 수정
</button> </button>
<button type="button" class="btn btn-primary" id="btnRemove--${pageName}" title="삭제" onclick="fnBtnRemove${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="삭제" onclick="fnRemove${pageName}();">
삭제 삭제
</button> </button>
</span> </span>
@ -184,71 +153,64 @@
<!-- DataTables(그리드) --> <!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap"> <div class="card-datatable text-nowrap">
<div id="DataTables_Table_0_wrapper--${pageName}" class="dataTables_wrapper dt-bootstrap5 no-footer"> <div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div id="table-responsive--${pageName}" class="table-responsive" style="overflow-x:scroll; height:400px; overflow-y:scroll;" > <div class="table-responsive" id="table-responsive--${pageName}" style="overflow-x:scroll; height:480px; overflow-y:scroll;" >
<table class="dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info"> <table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead> <thead class="sticky-thead">
<tr id="theadTr--${pageName}" <tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${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="cmn" style="width: 72px;">NO.</th>
<th class="sorting" style="width: 24px;"> <th class="cmn" style="width: 56px;">
<input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);"> <input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);">
</th> </th>
<th onclick="searchFromGridTitle('LEVY_EXCL_YMD', this.innerText, 'ymd', '');">부과제외일자</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CVLCPT_RCPT_SE_CD', this.innerText, 'codeValue', 'FIM065');">민원접수구분</th>
<th onclick="searchFromGridTitle('LEVY_EXCL_SE_NM', this.innerText, 'codeValue', 'FIM021');">부과제외구분명</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DSCSN_YMD', this.innerText, 'ymd', '');">상담일자</th>
<th onclick="searchFromGridTitle('LEVY_EXCL_RSN_NM', this.innerText, 'codeValue', 'FIM022');">부과제외사유</th> <th class="cmn" style="width: 80px;" onclick="searchFromGridTitle('WEEK_NM', this.innerText, 'match', 'part');">요일</th>
<th onclick="searchFromGridTitle('ETC_CN', this.innerText, 'match', 'part');">기타내용</th> <th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CVLPR_NM', this.innerText, 'match', 'part');">성명</th>
<th onclick="searchFromGridTitle('CVLCPT_RCPT_NO', this.innerText, 'match', 'part');">민원접수번호</th> <th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CVLPR_CTTPC', this.innerText, 'match', 'part');">연락처</th>
<th onclick="searchFromGridTitle('CVLCPT_RCPT_YMD', this.innerText, 'ymd', '');">민원접수일자</th> <th class="cmn" style="width: 400px;" onclick="searchFromGridTitle('DSCSN_CN', this.innerText, 'match', 'part');">상담내용</th>
<th onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th> <th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th> <th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RTPYR_NO', this.innerText, 'match', 'part');">납부자번호</th>
<th onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">법정동</th> <th class="cmn" style="width: 180px;">등록일시</th>
<th onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th> <th class="cmn" style="width: 140px;">등록사용자</th>
<th onclick="searchFromGridTitle('CRDN_STTS_NM', this.innerText, 'codeValue', 'FIM010');">처리상태명</th> <th class="cmn" style="width: 180px;">수정일시</th>
<th onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th> <th class="cmn" style="width: 140px;">수정사용자</th>
<th onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'ymd', '');">납부자생일</th> <th class="cmn dummy-th"></th>
<th>등록일시</th>
<th>등록사용자</th>
<th>수정일시</th>
<th>수정사용자</th>
</tr> </tr>
</thead> </thead>
<tbody id="tbody--${pageName}"> <tbody id="tbody--${pageName}">
</tbody> </tbody>
<template id="${infoPrefix}Row--${pageName}"> <template id="${infoPrefix}Row--${pageName}">
<tr data-key="{LEVY_EXCL_ID}"> <tr data-key="{CVLCPT_DSCSN_ID}">
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="text-center"> <td class="cmn text-center">
<input type="checkbox" class="form-check-input" value="{LEVY_EXCL_ID}" onchange="${pageName}Control.select('{LEVY_EXCL_ID}', this.checked);"> <input type="checkbox" class="form-check-input" value="{CVLCPT_DSCSN_ID}" onchange="${pageName}Control.select('{CVLCPT_DSCSN_ID}', this.checked);">
</td> </td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_YMD}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_SE_NM}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_SE_NM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DSCSN_YMD}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_RSN_NM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{WEEK_NM}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ETC_CN}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLPR_NM}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_NO}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLPR_CTTPC}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CVLCPT_RCPT_YMD}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DSCSN_CN}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT_FORMAT}</td> <td class="cmn dummy-td"></td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
</tr> </tr>
</template> </template>
<template id="${infoPrefix}NotFound--${pageName}"> <template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd"> <tr class="odd">
<td valign="top" colspan="19" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td> <td valign="top" colspan="15" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr> </tr>
</template> </template>
</table> </table>
</div> </div>
</div> </div>
</div> <!-- / DataTables(그리드) --> </div>
<!-- / DataTables(그리드) -->
</div> </div>
</div> <!-- <div class="wrapper-list"> --> </div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> --> </div> <!-- <div class="card"> -->
@ -265,30 +227,23 @@
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
// URL // URL
var ${pageName}PrefixUrl = "/excl/excl01"; var ${pageName}PrefixUrl = "/sprt/sprt04";
// 공통 코드 // FormFields
// var FIM021 = new CommonCodes(${FIM021}, true); var ${pageName}Fields = new FormFields("#frmSearch--${pageName}");
// var FIM022 = new CommonCodes(${FIM022}, true);
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "levyExcl" prefix : "cvlcptDscsn"
, prefixName : "부과제외" , prefixName : "민원상담내용"
, infoSize : "lg" , infoSize : "lg"
, keymapper : info => info ? info.LEVY_EXCL_ID : "" , keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter : obj => obj.levyExclList , dataGetter : obj => obj.cvlcptDscsnList
, appendData : true , appendData : true
// , urls : { , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
// load : wctx.url(${pageName}PrefixUrl + "/010/list.do") // 검색
// , remove : wctx.url(${pageName}PrefixUrl + "/010/removes.do") // 선택(체크) 자료 삭제
// , getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
// }
, formats : { , formats : {
LEVY_EXCL_YMD : dateFormat DSCSN_YMD : dateFormat
, CRDN_YMD_TM : datetimeFormat
, CVLCPT_RCPT_YMD : dateFormat
, REG_DT : datetimeFormat , REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat , MDFCN_DT : datetimeFormat
} }
@ -309,22 +264,15 @@
, fetchSize : obj.${infoPrefix}Fetch , fetchSize : obj.${infoPrefix}Fetch
, func : "${pageName}Control.load({index})" , func : "${pageName}Control.load({index})"
}); });
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
}; };
// 현재 선택 자료 변경 이벤트 // 현재 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => { ${pageName}Control.onCurrentChange = item => {
if (!item) return; if (!item) return;
// 계고는 수정하지 않는다.. let key = item.data.CVLCPT_DSCSN_ID;
let levyExclSeCd = item.data.LEVY_EXCL_SE_CD;
if (levyExclSeCd == "2") {
$("#btnUpdate--${pageName}").prop("disabled", true);
} else {
$("#btnUpdate--${pageName}").prop("disabled", false);
}
let key = item.data.LEVY_EXCL_ID;
$("#tbody--${pageName}").setCurrentRow(key); $("#tbody--${pageName}").setCurrentRow(key);
}; };
@ -345,28 +293,23 @@
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => { ${pageName}Control.getInfo = (crdnId) => {
if (crdnId == undefined || crdnId == null || crdnId == "") { //
return; }
}
ajax.get({ // 삭제 callback
url : ${pageName}Control.urls.getInfo ${pageName}Control.onRemove = (selected, resp) => {
, data : { crdnId : crdnId } let btnTitle = $("#btnRemove--${pageName}").attr("title");
, success : resp => {
dialog.open({ let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
id : ${pageName}Control.prefixed("dialog")
, title : "개별총정보" dialog.alert(showMessage);
, content : resp
, size : "xxl" if (resp.saved) {
, init : () => { } ${pageName}Control._load();
, onClose : () => { } }
});
}
});
} }
/* // 삭제
// 삭제 -> callback 추가 sample
${pageName}Control.remove = (params) => { ${pageName}Control.remove = (params) => {
let selected = ${pageName}Control.dataset.getKeys("selected"); let selected = ${pageName}Control.dataset.getKeys("selected");
@ -383,12 +326,7 @@
, success : resp => ${pageName}Control.onRemove(selected, resp) , success : resp => ${pageName}Control.onRemove(selected, resp)
}); });
} }
// 삭제
${pageName}Control.onRemove = (selected, resp) => {
if (resp.saved)
${pageName}Control._load();
}
*/
/************************************************************************** /**************************************************************************
* *
**************************************************************************/ **************************************************************************/
@ -402,67 +340,20 @@
${infoPrefix}List.inStrings( ${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str (str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("LEVY_EXCL_ID") + "');") .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');") .replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');")
); );
$("#tbody--${pageName}").html(trs.join()); $("#tbody--${pageName}").html(trs.join());
$("th input[type='checkbox']").prop("checked", false); $("th input[type='checkbox']").prop("checked", false);
}
// 업무구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
initForm${pageName}();
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/removes.do"); // 삭제
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보
}
// 검색 조건 파라미터 가져오기 //보안모드
fnGetParams${pageName} = () => { fn_securityModeToggle($("#securityMode--top").is(":checked"));
let formFields = new FimsFormFields("#frmSearch--${pageName}");
let formData = formFields.get();
formData.sggCd = "41480"; // 시군구 코드 임시
return formData;
}
// 수정 dialog -> callback 추가
${pageName}Info = (params) => {
ajax.get({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do?openerPageName=${pageName}")
, data : params || {}
, success : resp => {
resp = resp.replace(/infoPrefix/g, this.prefix)
.replace(/prefixName/g, this.prefixName)
dialog.open({
id : ${pageName}Control.prefixed("dialog")
, title : ${pageName}Control.prefixName + " 정보"
, content : resp
, size : ${pageName}Control.infoSize
, init : () => { }
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
});
}
});
} }
/************************************************************************** /**************************************************************************
* 초기 셋팅 * 초기 셋팅
**************************************************************************/ **************************************************************************/
// 화면 초기값 셋팅
initForm${pageName} = () => {
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schLevyExclYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-30).date);
$("#schLevyExclYmdTo--${pageName}").datepicker("setDate", new Date());
${pageName}Control.dataset.clear();
}
// 이벤트 // 이벤트
setEvent${pageName} = () => { setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
@ -479,58 +370,112 @@
}); });
// DataTables 스크롤 이벤트 // DataTables 스크롤 이벤트
$("#table-responsive--${pageName}").scroll(function(obj) { $("#table-responsive--${pageName}").scroll(function() {
let el = $(this); let el = $(this);
if (el.scrollTop() == 0) { if (el.scrollTop() == 0) {
return; return;
} }
if (!${pageName}Control.tableRenderComplete) {
return;
}
let itemsCnt = ${pageName}Control.dataset._items.length; let itemsCnt = ${pageName}Control.dataset._items.length;
let totCnt = ${pageName}Control.dataset.getCurrent("item").data.TOT_CNT; let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT");
if (itemsCnt >= totCnt) { if (itemsCnt >= totCnt) {
return; return;
} }
if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) { if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) {
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 완료
${pageName}Control.load(${pageName}Control.query.pageNum + 1); ${pageName}Control.load(${pageName}Control.query.pageNum + 1);
} }
}); });
} }
// 화면 초기값 셋팅
setForm${pageName} = (taskSeCd) => {
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
});
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schDscsnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-1).date);
$("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date());
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
}
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/removes.do"); // 삭제
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보
}
/************************************************************************** /**************************************************************************
* function * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
// 초기화 // 초기화 버튼 이벤트
fnBtnReset${pageName} = () => { fnReset${pageName} = () => {
let taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); fnResetAndChangeBiz${pageName}();
fnResetAndChangeBiz${pageName}(taskSeCd);
} }
// 검색 // 검색 버튼 이벤트
fnBtnSearchList${pageName} = () => { fnSearchList${pageName} = () => {
// 검색조건 // 검색조건
${pageName}Control.query = fnGetParams${pageName}(); ${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 건수 - 30건
${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부 ${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.load(); ${pageName}Control.load();
} }
// 엑셀 // 엑셀 버튼 이벤트
fnBtnExcel${pageName} = () => { fnExcel${pageName} = () => {
} }
// 수정 // 업무 구분 변경
fnBtnUpdate${pageName} = () => { fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// dataset 초기화
${pageName}Control.dataset.clear();
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 화면 초기값 설정
setForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 삭제 // 사용자 조회 버튼 이벤트
fnBtnRemove${pageName} = () => { fnUser${pageName} = () => {
}
// 수정 버튼 이벤트
fnUpdate${pageName} = () => {
}
// 삭제 버튼 이벤트
fnRemove${pageName} = () => {
dialog.alert({ dialog.alert({
content : "선택한 부과제외 정보를 삭제하시겠습니까?" content : "선택한 부과제외 정보를 삭제하시겠습니까?"
, onOK : () => { , onOK : () => {
@ -543,18 +488,20 @@
* script 진입 * script 진입
**************************************************************************/ **************************************************************************/
$(document).ready(function() { $(document).ready(function() {
// 이벤트 설정
setEvent${pageName}();
// 보안모드 // 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 업무구분 및 화면 초기 설정 // 이벤트 설정
setEvent${pageName}();
// 시군구 코드 설정
$("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 업무 구분 및 화면 초기 설정
fnResetAndChangeBiz${pageName}(defaultBizValue); fnResetAndChangeBiz${pageName}(defaultBizValue);
}); });
// #sourceURL=excl01010-main.jsp
</script> </script>

Loading…
Cancel
Save