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

main
jjh 1 year ago
parent 46497805ac
commit 0c4faaead8

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

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

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

@ -10,7 +10,7 @@ import lombok.Setter;
*/
@Getter
@Setter
public class CvlcptDscsnCn extends AbstractEntity {
public class CvlcptDscsn extends AbstractEntity {
/**
* ID
@ -48,15 +48,30 @@ public class CvlcptDscsnCn extends AbstractEntity {
private String rtpyrNo;
/**
*
*
*/
private String dscsnCn;
private String dscsnYmd;
/**
*
*/
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.data.DataObject;
import cokr.xit.fims.sprt.CvlcptDscsnCn;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
/** - DAO
*
@ -20,41 +20,35 @@ import cokr.xit.fims.sprt.SprtQuery;
* ================================
* </pre>
*/
@Mapper("cvlcptDscsnCnMapper")
public interface CvlcptDscsnCnMapper extends AbstractMapper {
@Mapper("cvlcptDscsnMapper")
public interface CvlcptDscsnMapper extends AbstractMapper {
/** .<br />
* @param req
* @return
*/
List<DataObject> selectCvlcptDscsnCnList(SprtQuery req);
List<DataObject> selectCvlcptDscsnList(CvlcptDscsnQuery req);
/** .
* @param req
* @return
*/
List<DataObject> selectCvlcptDscsnCns(SprtQuery req);
List<DataObject> selectCvlcptDscsns(CvlcptDscsnQuery req);
/** 1 .
* @param cvlcptDscsnId ID
* @return
*/
default DataObject selectCvlcptDscsnCnInfo(SprtQuery req) {
default DataObject selectCvlcptDscsnInfo(CvlcptDscsnQuery req) {
if (req.getOrderBy() == null) {
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
* <ul><li>"cvlcptDscsnCn" - </li>
@ -62,17 +56,17 @@ public interface CvlcptDscsnCnMapper extends AbstractMapper {
* </ul>
* @return
*/
int insertCvlcptDscsnCn(Map<String, Object> params);
int insertCvlcptDscsn(Map<String, Object> params);
/** .
* @param cvlcptDscsnCn
* @param cvlcptDscsn
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean insert(CvlcptDscsnCn cvlcptDscsnCn) {
return cvlcptDscsnCn != null && insertCvlcptDscsnCn(params().set("cvlcptDscsnCn", cvlcptDscsnCn)) == 1;
default boolean insert(CvlcptDscsn cvlcptDscsn) {
return cvlcptDscsn != null && insertCvlcptDscsn(params().set("cvlcptDscsn", cvlcptDscsn)) == 1;
}
/** .
@ -82,7 +76,7 @@ public interface CvlcptDscsnCnMapper extends AbstractMapper {
* </ul>
* @return
*/
int updateCvlcptDscsnCn(Map<String, Object> params);
int updateCvlcptDscsn(Map<String, Object> params);
/** .
* @param cvlcptDscsnCn
@ -91,8 +85,8 @@ public interface CvlcptDscsnCnMapper extends AbstractMapper {
* <li> false</li>
* </ul>
*/
default boolean update(CvlcptDscsnCn cvlcptDscsnCn) {
return cvlcptDscsnCn != null && updateCvlcptDscsnCn(params().set("cvlcptDscsnCn", cvlcptDscsnCn)) == 1;
default boolean update(CvlcptDscsn cvlcptDscsn) {
return cvlcptDscsn != null && updateCvlcptDscsn(params().set("cvlcptDscsn", cvlcptDscsn)) == 1;
}
/** .
@ -102,7 +96,7 @@ public interface CvlcptDscsnCnMapper extends AbstractMapper {
* </ul>
* @return
*/
int deleteCvlcptDscsnCn(Map<String, ?> params);
int deleteCvlcptDscsn(Map<String, ?> params);
/** .
* @param cvlcptDscsnCn
@ -111,8 +105,15 @@ public interface CvlcptDscsnCnMapper extends AbstractMapper {
* <li> false</li>
* </ul>
*/
default boolean delete(CvlcptDscsnCn cvlcptDscsnCn) {
return cvlcptDscsnCn != null && deleteCvlcptDscsnCn(params().set("cvlcptDscsnCn", cvlcptDscsnCn)) == 1;
default boolean delete(CvlcptDscsn cvlcptDscsn) {
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 cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.sprt.CvlcptDscsnCn;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
/** .
*
@ -22,19 +22,19 @@ public interface Sprt04Service {
* @param req
* @return
*/
List<DataObject> getCvlcptDscsnCnList(SprtQuery req);
List<DataObject> getCvlcptDscsnList(CvlcptDscsnQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getCvlcptDscsnCns(SprtQuery req);
List<DataObject> getCvlcptDscsns(CvlcptDscsnQuery req);
/** .<br />
* @param cvlcptDscsnId ID
* @return
*/
DataObject getCvlcptDscsnCnInfo(SprtQuery req);
DataObject getCvlcptDscsnInfo(CvlcptDscsnQuery req);
/** .
* @param cvlcptDscsnCn
@ -43,7 +43,7 @@ public interface Sprt04Service {
* <li> false</li>
* </ul>
*/
String createCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn);
String createCvlcptDscsn(CvlcptDscsn cvlcptDscsnCn);
/** .
* @param cvlcptDscsnCn
@ -52,24 +52,24 @@ public interface Sprt04Service {
* <li> false</li>
* </ul>
*/
String updateCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn);
String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsnCn);
/** .
* @param cvlcptDscsnCn
* @param req
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String removeCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn);
String removeCvlcptDscsnList(CvlcptDscsnQuery req);
/** .
* @param req
* @param cvlcptDscsnCn
* @return
* <ul><li> true</li>
* <li> false</li>
* </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.data.DataObject;
import cokr.xit.fims.sprt.CvlcptDscsnCn;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.dao.CvlcptDscsnCnMapper;
import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.dao.CvlcptDscsnMapper;
/** Bean
*
@ -26,47 +26,35 @@ import cokr.xit.fims.sprt.dao.CvlcptDscsnCnMapper;
public class Sprt04Bean extends AbstractComponent {
/** 민원 상담 내용 정보 DAO */
@Resource(name = "cvlcptDscsnCnMapper")
private CvlcptDscsnCnMapper cvlcptDscsnCnMapper;
@Resource(name = "cvlcptDscsnMapper")
private CvlcptDscsnMapper cvlcptDscsnMapper;
/** .
* @param req
* @return
*/
public List<DataObject> getCvlcptDscsnCnList(SprtQuery req) {
if (req.getOrderBy() == null) {
req.setOrderBy("CDC.REG_DT");
}
return cvlcptDscsnCnMapper.selectCvlcptDscsnCnList(req);
public List<DataObject> getCvlcptDscsnList(CvlcptDscsnQuery req) {
return cvlcptDscsnMapper.selectCvlcptDscsnList(req);
}
/** .
* @param req
* @return
*/
public List<DataObject> getCvlcptDscsnCns(SprtQuery req) {
public List<DataObject> getCvlcptDscsns(CvlcptDscsnQuery req) {
if (req.getOrderBy() == null) {
req.setOrderBy("CDC.REG_DT DESC, CDC.CVLCPT_DSCSN_ID DESC");
}
return cvlcptDscsnCnMapper.selectCvlcptDscsnCns(req);
return cvlcptDscsnMapper.selectCvlcptDscsns(req);
}
/** ID .<br />
* @param cvlcptDscsnId ID
* @return
*/
public DataObject getCvlcptDscsnCnInfo(SprtQuery req) {
return cvlcptDscsnCnMapper.selectCvlcptDscsnCnInfo(req);
}
/** ID .<br />
* @param crndId ID
* @return
*/
public DataObject getCrdnInfo(SprtQuery req) {
return cvlcptDscsnCnMapper.selectCrdn(req);
public DataObject getCvlcptDscsnInfo(CvlcptDscsnQuery req) {
return cvlcptDscsnMapper.selectCvlcptDscsnInfo(req);
}
/** .
@ -76,21 +64,21 @@ public class Sprt04Bean extends AbstractComponent {
* <li> false</li>
* </ul>
*/
public String createCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) {
public String createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
if (cvlcptDscsnCn.getCvlcptRcptSeCd().equals("01")) {
cvlcptDscsnCn.setVhrno(null);
cvlcptDscsnCn.setRtpyrNo(null);
} else if (cvlcptDscsnCn.getCvlcptRcptSeCd().equals("02")) {
cvlcptDscsnCn.setRtpyrNo(null);
} else if (cvlcptDscsnCn.getCvlcptRcptSeCd().equals("03")) {
cvlcptDscsnCn.setVhrno(null);
if (cvlcptDscsn.getCvlcptRcptSeCd().equals("01")) {
cvlcptDscsn.setVhrno(null);
cvlcptDscsn.setRtpyrNo(null);
} else if (cvlcptDscsn.getCvlcptRcptSeCd().equals("02")) {
cvlcptDscsn.setRtpyrNo(null);
} else if (cvlcptDscsn.getCvlcptRcptSeCd().equals("03")) {
cvlcptDscsn.setVhrno(null);
}
retSuccess = cvlcptDscsnCnMapper.insert(cvlcptDscsnCn);
retSuccess = cvlcptDscsnMapper.insert(cvlcptDscsn);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("민원상담내용 대장 등록에 실패하였습니다.");
@ -108,12 +96,12 @@ public class Sprt04Bean extends AbstractComponent {
* <li> false</li>
* </ul>
*/
public String updateCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) {
public String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
retSuccess = cvlcptDscsnCnMapper.update(cvlcptDscsnCn);
retSuccess = cvlcptDscsnMapper.update(cvlcptDscsn);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("민원상담내용 대장 수정에 실패하였습니다.");
@ -131,12 +119,12 @@ public class Sprt04Bean extends AbstractComponent {
* <li> false</li>
* </ul>
*/
public String removeCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) {
public String removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
retSuccess = cvlcptDscsnCnMapper.delete(cvlcptDscsnCn);
retSuccess = cvlcptDscsnMapper.delete(cvlcptDscsn);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("민원상담내용 대장 삭제에 실패하였습니다.");
@ -147,4 +135,12 @@ public class Sprt04Bean extends AbstractComponent {
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.data.DataObject;
import cokr.xit.fims.sprt.CvlcptDscsnCn;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.CvlcptDscsn;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.service.Sprt04Service;
/** .
@ -30,41 +30,36 @@ public class Sprt04ServiceBean extends AbstractServiceBean implements Sprt04Serv
private Sprt04Bean sprt04Bean;
@Override
public List<DataObject> getCvlcptDscsnCnList(SprtQuery req) {
return sprt04Bean.getCvlcptDscsnCnList(req);
public List<DataObject> getCvlcptDscsnList(CvlcptDscsnQuery req) {
return sprt04Bean.getCvlcptDscsnList(req);
}
@Override
public List<DataObject> getCvlcptDscsnCns(SprtQuery req) {
return sprt04Bean.getCvlcptDscsnCns(req);
public List<DataObject> getCvlcptDscsns(CvlcptDscsnQuery req) {
return sprt04Bean.getCvlcptDscsns(req);
}
@Override
public DataObject getCvlcptDscsnCnInfo(SprtQuery req) {
public DataObject getCvlcptDscsnInfo(CvlcptDscsnQuery req) {
if (req.getCvlcptDscsnId() != null) {
return sprt04Bean.getCvlcptDscsnCnInfo(req);
return sprt04Bean.getCvlcptDscsnInfo(req);
} else {
return sprt04Bean.getCrdnInfo(req);
}
}
@Override
public String createCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) {
return sprt04Bean.createCvlcptDscsnCn(cvlcptDscsnCn);
public String createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return sprt04Bean.createCvlcptDscsn(cvlcptDscsn);
}
@Override
public String updateCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) {
return sprt04Bean.updateCvlcptDscsnCn(cvlcptDscsnCn);
public String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
return sprt04Bean.updateCvlcptDscsn(cvlcptDscsn);
}
@Override
public String removeCvlcptDscsnCn(CvlcptDscsnCn cvlcptDscsnCn) {
return sprt04Bean.removeCvlcptDscsnCn(cvlcptDscsnCn);
}
@Override
public String removeCvlcptDscsnCnList(SprtQuery req) {
public String removeCvlcptDscsnList(CvlcptDscsnQuery req) {
// 변수 선언
String retMessage = ""; // 처리 결과 메시지
@ -76,13 +71,13 @@ public class Sprt04ServiceBean extends AbstractServiceBean implements Sprt04Serv
// 민원 상담 IDs 만큼 반복..
for (int iLoop = 0; iLoop < req.getCvlcptDscsnIDs().length; iLoop++) {
CvlcptDscsnCn cvlcptDscsnCn = new CvlcptDscsnCn();
CvlcptDscsn cvlcptDscsn = new CvlcptDscsn();
cvlcptDscsnCn.setCvlcptDscsnId(req.getCvlcptDscsnIDs()[iLoop]); // 민원 상담 ID
cvlcptDscsnCn.setDelRsn(req.getDelRsn()); // 삭제 사유
cvlcptDscsn.setCvlcptDscsnId(req.getCvlcptDscsnIDs()[iLoop]); // 민원 상담 ID
cvlcptDscsn.setDelRsn(req.getDelRsn()); // 삭제 사유
// 부과제외 삭제 호출
retMessage = sprt04Bean.removeCvlcptDscsnCn(cvlcptDscsnCn);
retMessage = sprt04Bean.removeCvlcptDscsn(cvlcptDscsn);
// 오류가 발생하였으면 종료..
if (retMessage.contains("[F]")) {
return retMessage;
@ -92,5 +87,9 @@ public class Sprt04ServiceBean extends AbstractServiceBean implements Sprt04Serv
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.sndb.SndbQuery;
import cokr.xit.fims.sndb.service.SndngService;
import cokr.xit.fims.sprt.CvlcptDscsnQuery;
import cokr.xit.fims.sprt.SprtQuery;
import cokr.xit.fims.sprt.service.Sprt02Service;
import cokr.xit.fims.sprt.service.Sprt04Service;
@ -58,7 +59,7 @@ public class Sprt02Controller extends ApplicationController {
, getPrcsDtlInfo = "/050/info.do" // 처리 상세 정보 조회
, getLevyNpmntInfo = "/060/info.do" // 부과체납 정보 조회
, getRcvmtInfo = "/070/info.do" // 수납 정보 조회
, getCvlcptDscsnCnInfo = "/080/info.do" // 민원 상담 정보 조회
, getCvlcptDscsnInfo = "/080/info.do" // 민원 상담 정보 조회
;
}
@ -480,9 +481,18 @@ public class Sprt02Controller extends ApplicationController {
* "cvlcptDscsnCn": {...}
* }</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();
@ -490,8 +500,8 @@ public class Sprt02Controller extends ApplicationController {
mav.addObject("pageName", "sprt02080")
.addObject("pageNameMain", "sprt02010")
.addObject("infoPrefix", "cvlcptDscsnCn") // prefix
.addObject("cvlcptDscsnCn", json ? cvlcptDscsnCn : toJson(cvlcptDscsnCn)) // 민원상담내용 정보
.addObject("infoPrefix", "cvlcptDscsn") // prefix
.addObject("cvlcptDscsn", json ? cvlcptDscsn : toJson(cvlcptDscsn)) // 민원상담내용 정보
;
// 재조회로 호출되었다면..

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

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

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

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

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

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

@ -1,13 +1,13 @@
<?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">
<mapper namespace="cokr.xit.fims.sprt.dao.CvlcptDscsnCnMapper">
<mapper namespace="cokr.xit.fims.sprt.dao.CvlcptDscsnMapper">
<!-- 민원 상담 내용 정보 매퍼
========== 변경 이력 ==========
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="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="taskSeCd" column="TASK_SE_CD" /> <!-- 업무 구분 코드 -->
@ -15,8 +15,11 @@
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->
<result property="vhrno" column="VHRNO" /> <!-- 차량번호 -->
<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="cvlprNm" column="CVLPR_NM" /> <!-- 민원인 명 -->
<result property="cvlprCttpc" column="CVLPR_CTTPC" /> <!-- 민원인 연락처 -->
<result property="dscsnCn" column="DSCSN_CN" /> <!-- 상담 내용 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
@ -28,84 +31,98 @@
</resultMap>
<sql id="select">
SELECT CDC.CVLCPT_DSCSN_ID <!-- 민원 상담 ID -->
, CDC.SGG_CD <!-- 시군구 코드 -->
, CDC.TASK_SE_CD <!-- 업무 구분 코드 -->
, CDC.CVLCPT_RCPT_SE_CD <!-- 민원 접수 구분 코드 -->
, (SELECT GET_CODE_NM('FIM065', CDC.CVLCPT_RCPT_SE_CD) FROM DUAL) AS CVLCPT_RCPT_SE_NM <!-- 민원 접수 구분 명 -->
, CDC.CRDN_ID <!-- 단속 ID -->
, CDC.VHRNO <!-- 차량번호 -->
, CDC.RTPYR_NO <!-- 납부자 번호 -->
, CDC.DSCSN_CN <!-- 상담 내용 -->
, CDC.WEEK_NM <!-- 요일 명 -->
, CDC.DEL_YN <!-- 삭제 여부 -->
, CDC.REG_DT <!-- 등록 일시 -->
, CDC.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CDC.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, CDC.MDFCN_DT <!-- 수정 일시 -->
, CDC.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CDC.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, CDC.DEL_DT <!-- 삭제 일시 -->
, CDC.DLTR <!-- 삭제자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CDC.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, CDC.DEL_RSN <!-- 삭제 사유 -->
FROM TB_CVLCPT_DSCSN_CN CDC
SELECT CD.CVLCPT_DSCSN_ID <!-- 민원 상담 ID -->
, CD.SGG_CD <!-- 시군구 코드 -->
, CD.TASK_SE_CD <!-- 업무 구분 코드 -->
, CD.CVLCPT_RCPT_SE_CD <!-- 민원 접수 구분 코드 -->
, (SELECT GET_CODE_NM('FIM065', CD.CVLCPT_RCPT_SE_CD) FROM DUAL) AS CVLCPT_RCPT_SE_NM <!-- 민원 접수 구분 명 -->
, CD.CRDN_ID <!-- 단속 ID -->
, CD.VHRNO <!-- 차량번호 -->
, CD.RTPYR_NO <!-- 납부자 번호 -->
, CD.DSCSN_YMD <!-- 상담 일자 -->
, CD.WEEK_NM <!-- 요일 명 -->
, CD.CVLPR_NM <!-- 민원인 명 -->
, CD.CVLPR_CTTPC <!-- 민원인 연락처 -->
, CD.DSCSN_CN <!-- 상담 내용 -->
, CD.DEL_YN <!-- 삭제 여부 -->
, CD.REG_DT <!-- 등록 일시 -->
, CD.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CD.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, CD.MDFCN_DT <!-- 수정 일시 -->
, CD.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CD.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, CD.DEL_DT <!-- 삭제 일시 -->
, 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>
<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="select" />
<where>
</where>
WHERE CD.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
<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.paging-suffix" />
</select>
<select id="selectCvlcptDscsnCns" parameterType="map" resultType="dataobject">/* 민원 상담 내용 객체 가져오기(cvlcptDscsnCnMapper.selectCvlcptDscsnCns) */
<select id="selectCvlcptDscsns" parameterType="map" resultType="dataobject">/* 민원 상담 내용 객체 가져오기(cvlcptDscsnCnMapper.selectCvlcptDscsns) */
<include refid="select" />
<where>
<if test="cvlcptDscsnId != null">
AND CDC.CVLCPT_DSCSN_ID = #{cvlcptDscsnId} <!-- 민원 상담 ID -->
AND CD.CVLCPT_DSCSN_ID = #{cvlcptDscsnId} <!-- 민원 상담 ID -->
</if>
<choose>
<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 test="inquiryCondition == 'crdnId_vhrno'">
AND (CDC.CRDN_ID = #{crdnId} OR CDC.VHRNO = #{vhrno})
AND (CD.CRDN_ID = #{crdnId} OR CD.VHRNO = #{vhrno})
</when>
<otherwise>
<if test="crdnId != null">
AND CDC.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND CD.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if>
<if test="vhrno != null">
AND CDC.VHRNO = #{vhrno} <!-- 차량번호 -->
AND CD.VHRNO = #{vhrno} <!-- 차량번호 -->
</if>
<if test="rtpyrNo != null">
AND CDC.RTPYR_NO = #{rtpyrNo} <!-- 납부자 번호 -->
AND CD.RTPYR_NO = #{rtpyrNo} <!-- 납부자 번호 -->
</if>
</otherwise>
</choose>
<choose>
<when test="delYn != null">
AND CDC.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND CDC.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
AND CD.DEL_YN = 'N' <!-- 삭제 여부 -->
</where>
<include refid="utility.orderBy" />
</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">
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'), '%')
</selectKey>
INSERT
INTO TB_CVLCPT_DSCSN_CN (
INTO TB_CVLCPT_DSCSN (
CVLCPT_DSCSN_ID <!-- 민원 상담 ID -->
, SGG_CD <!-- 시군구 코드 -->
, TASK_SE_CD <!-- 업무 구분 코드 -->
@ -113,8 +130,11 @@
, CRDN_ID <!-- 단속 ID -->
, VHRNO <!-- 차량번호 -->
, RTPYR_NO <!-- 납부자 번호 -->
, DSCSN_CN <!-- 상담 내용 -->
, DSCSN_YMD <!-- 상담 일자 -->
, WEEK_NM <!-- 요일 명 -->
, CVLPR_NM <!-- 민원인 명 -->
, CVLPR_CTTPC <!-- 민원인 연락처 -->
, DSCSN_CN <!-- 상담 내용 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
@ -122,26 +142,26 @@
, MDFR <!-- 수정자 -->
)
VALUES (
#{cvlcptDscsnCn.cvlcptDscsnId} <!-- 민원 상담 ID -->
, #{cvlcptDscsnCn.sggCd} <!-- 시군구 코드 -->
, #{cvlcptDscsnCn.taskSeCd} <!-- 업무 구분 코드 -->
, #{cvlcptDscsnCn.cvlcptRcptSeCd} <!-- 민원 접수 구분 코드 -->
, #{cvlcptDscsnCn.crdnId} <!-- 단속 ID -->
#{cvlcptDscsn.cvlcptDscsnId} <!-- 민원 상담 ID -->
, #{cvlcptDscsn.sggCd} <!-- 시군구 코드 -->
, #{cvlcptDscsn.taskSeCd} <!-- 업무 구분 코드 -->
, #{cvlcptDscsn.cvlcptRcptSeCd} <!-- 민원 접수 구분 코드 -->
, #{cvlcptDscsn.crdnId} <!-- 단속 ID -->
<choose>
<when test="cvlcptDscsnCn.cvlcptRcptSeCd == '02'">
, #{cvlcptDscsnCn.vhrno} <!-- 차량번호 -->
<when test="cvlcptDscsn.cvlcptRcptSeCd == '02'">
, #{cvlcptDscsn.vhrno} <!-- 차량번호 -->
, NULL <!-- 납부자 번호 -->
</when>
<when test="cvlcptDscsnCn.cvlcptRcptSeCd == '03'">
<when test="cvlcptDscsn.cvlcptRcptSeCd == '03'">
, NULL <!-- 차량번호 -->
, #{cvlcptDscsnCn.rtpyrNo} <!-- 납부자 번호 -->
, #{cvlcptDscsn.rtpyrNo} <!-- 납부자 번호 -->
</when>
<otherwise>
, NULL <!-- 차량번호 -->
, NULL <!-- 납부자 번호 -->
</otherwise>
</choose>
, #{cvlcptDscsnCn.dscsnCn} <!-- 상담 내용 -->
, #{cvlcptDscsn.dscsnYmd} <!-- 상담 일자 -->
, ( CASE DAYOFWEEK(NOW())
WHEN '1' THEN '일'
WHEN '2' THEN '월'
@ -151,30 +171,33 @@
WHEN '6' THEN '금'
WHEN '7' THEN '토'
END ) <!-- 요일 명 -->
, #{cvlcptDscsn.cvlprNm} <!-- 민원인 명 -->
, #{cvlcptDscsn.cvlprCttpc} <!-- 민원인 연락처 -->
, #{cvlcptDscsn.dscsnCn} <!-- 상담 내용 -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{cvlcptDscsnCn.createdBy} <!-- 등록자 -->
, #{cvlcptDscsn.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{cvlcptDscsnCn.modifiedBy} <!-- 수정자 -->
, #{cvlcptDscsn.modifiedBy} <!-- 수정자 -->
)
</insert>
<update id="updateCvlcptDscsnCn" parameterType="map">/* 민원 상담 내용 수정(cvlcptDscsnCnMapper.updateCvlcptDscsnCn) */
UPDATE TB_CVLCPT_DSCSN_CN
SET DSCSN_CN = #{cvlcptDscsnCn.dscsnCn} <!-- 상담 내용 -->
<update id="updateCvlcptDscsn" parameterType="map">/* 민원 상담 내용 수정(cvlcptDscsnMapper.updateCvlcptDscsn) */
UPDATE TB_CVLCPT_DSCSN
SET DSCSN_CN = #{cvlcptDscsn.dscsnCn} <!-- 상담 내용 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{cvlcptDscsnCn.modifiedBy} <!-- 수정자 -->
WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsnCn.cvlcptDscsnId} <!-- 민원 상담 ID -->
, MDFR = #{cvlcptDscsn.modifiedBy} <!-- 수정자 -->
WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsn.cvlcptDscsnId} <!-- 민원 상담 ID -->
AND DEL_YN = 'N'
</update>
<update id="deleteCvlcptDscsnCn" parameterType="map">/* 민원 상담 내용 삭제(cvlcptDscsnCnMapper.deleteCvlcptDscsnCn) */
UPDATE TB_CVLCPT_DSCSN_CN
<update id="deleteCvlcptDscsn" parameterType="map">/* 민원 상담 내용 삭제(cvlcptDscsnMapper.deleteCvlcptDscsn) */
UPDATE TB_CVLCPT_DSCSN
SET DEL_YN = 'Y' <!-- 삭제 여부 -->
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{cvlcptDscsnCn.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{cvlcptDscsnCn.delRsn} <!-- 삭제 사유 -->
WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsnCn.cvlcptDscsnId} <!-- 민원 상담 ID -->
, DLTR = #{cvlcptDscsn.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{cvlcptDscsn.delRsn} <!-- 삭제 사유 -->
WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsn.cvlcptDscsnId} <!-- 민원 상담 ID -->
AND DEL_YN = 'N'
</update>

@ -91,7 +91,7 @@
<!-- 차량번호 -->
<div class="col-6">
<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 class="col-6">
@ -580,7 +580,7 @@
let levyExclSeCd = ${pageName}Control.dataset.getValue("LEVY_EXCL_SE_CD");
// 부과제외ID 가 없다면.. return
if (levyExclId == undefined || levyExclId == "") {
if (levyExclId == null || levyExclId == "") {
return;
}

@ -87,7 +87,7 @@
<!-- 차량번호 -->
<div class="col-6">
<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 class="col-6">
@ -589,7 +589,7 @@
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (opnnId == undefined || opnnId == "") {
if (opnnId == null || opnnId == "") {
return;
}

@ -64,7 +64,7 @@
<!-- 차량번호 -->
<div class="col-6">
<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 class="col-6">

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

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

Loading…
Cancel
Save