안내문관리 조회 수정.

main
jjh 12 months ago
parent a3528cea27
commit b0185be3d3

@ -98,4 +98,3 @@ public class VltnInfo extends AbstractEntity {
private String useYN;
}

@ -20,7 +20,7 @@ public class VltnInfoQuery extends CmmnQuery {
private String vltnArtcl; // 위반 항목
private String acntgSeCd; // 회계 구분 코드
private String txitmCd; // 세목 코드
private String useYn; // 사용 여부
private String useYN; // 사용 여부
public String getVltnId() {
return ifEmpty(vltnId, () -> null);
@ -76,12 +76,12 @@ public class VltnInfoQuery extends CmmnQuery {
return self();
}
public String getUseYn() {
return ifEmpty(useYn, () -> null);
public String getUseYN() {
return ifEmpty(useYN, () -> null);
}
public <T extends VltnInfoQuery> T setUseYn(String useYn) {
this.useYn = useYn;
public <T extends CmmnQuery> T setUseYN(String useYN) {
this.useYN = useYN;
return self();
}

@ -25,6 +25,8 @@ public class EpostQuery extends CmmnQuery {
private String sndngDtlId; // 발송 상세 ID
private String[] svbtcIDs; // 공시송달 IDs
private String svbtcId; // 공시송달 ID
private String[] gdccIDs; // 안내문 IDs
private String gdccId; // 안내문 ID
// 검색 조건
private String schLevyExclYmdFrom; // 부과제외_부과제외 일자 시작
private String schLevyExclYmdTo; // 부과제외_부과제외 일자 종료
@ -49,6 +51,7 @@ public class EpostQuery extends CmmnQuery {
private String sndngSeCd; // 발송 구분 코드
// ETC
private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회).
private String useYN; // 사용 여부
private String delYn; // 삭제 여부
private String delRsn; // 삭제 사유
private String crdnDelYn; // 단속 삭제 여부
@ -59,7 +62,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setCrdnIDs(String... crdnIDs) {
this.crdnIDs = crdnIDs;
return self();
}
@ -69,7 +71,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setCrdnId(String crdnId) {
this.crdnId = crdnId;
return self();
}
@ -79,7 +80,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSndngIDs(String... sndngIDs) {
this.sndngIDs = sndngIDs;
return self();
}
@ -89,7 +89,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSndngId(String sndngId) {
this.sndngId = sndngId;
return self();
}
@ -99,7 +98,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSndngDtlIDs(String... sndngDtlIDs) {
this.sndngDtlIDs = sndngDtlIDs;
return self();
}
@ -109,7 +107,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSndngDtlId(String sndngDtlId) {
this.sndngDtlId = sndngDtlId;
return self();
}
@ -119,7 +116,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSvbtcIDs(String... svbtcIDs) {
this.svbtcIDs = svbtcIDs;
return self();
}
@ -129,7 +125,24 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSvbtcId(String svbtcId) {
this.svbtcId = svbtcId;
return self();
}
public String[] getGdccIDs() {
return ifEmpty(gdccIDs, () -> null);
}
public <T extends EpostQuery> T setGdccIDs(String... gdccIDs) {
this.gdccIDs = gdccIDs;
return self();
}
public String getGdccId() {
return ifEmpty(gdccId, () -> null);
}
public <T extends EpostQuery> T setGdccId(String gdccId) {
this.gdccId = gdccId;
return self();
}
@ -139,7 +152,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSchLevyExclYmdFrom(String schLevyExclYmdFrom) {
this.schLevyExclYmdFrom = schLevyExclYmdFrom;
return self();
}
@ -149,7 +161,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSchLevyExclYmdTo(String schLevyExclYmdTo) {
this.schLevyExclYmdTo = schLevyExclYmdTo;
return self();
}
@ -159,7 +170,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSchLevyExclSeCd(String schLevyExclSeCd) {
this.schLevyExclSeCd = schLevyExclSeCd;
return self();
}
@ -179,7 +189,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSchCrdnYmdFrom(String schCrdnYmdFrom) {
this.schCrdnYmdFrom = schCrdnYmdFrom;
return self();
}
@ -199,7 +208,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSchRtpyrNm(String schRtpyrNm) {
this.schRtpyrNm = schRtpyrNm;
return self();
}
@ -209,7 +217,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSchSndngYmdFrom(String schSndngYmdFrom) {
this.schSndngYmdFrom = schSndngYmdFrom;
return self();
}
@ -219,7 +226,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSchSndngYmdTo(String schSndngYmdTo) {
this.schSndngYmdTo = schSndngYmdTo;
return self();
}
@ -286,7 +292,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setVhrno(String vhrno) {
this.vhrno = vhrno;
return self();
}
@ -296,7 +301,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setRtpyrNm(String rtpyrNm) {
this.rtpyrNm = rtpyrNm;
return self();
}
@ -306,7 +310,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setCrdnSttsCd(String crdnSttsCd) {
this.crdnSttsCd = crdnSttsCd;
return self();
}
@ -316,7 +319,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setSndngSeCd(String sndngSeCd) {
this.sndngSeCd = sndngSeCd;
return self();
}
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
@ -328,7 +330,15 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setCallPurpose(String callPurpose) {
this.callPurpose = callPurpose;
return self();
}
public String getUseYN() {
return ifEmpty(useYN, () -> null);
}
public <T extends EpostQuery> T setUseYN(String useYN) {
this.useYN = useYN;
return self();
}
@ -338,7 +348,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setDelYn(String delYn) {
this.delYn = delYn;
return self();
}
@ -348,7 +357,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setDelRsn(String delRsn) {
this.delRsn = delRsn;
return self();
}
@ -358,7 +366,6 @@ public class EpostQuery extends CmmnQuery {
public <T extends EpostQuery> T setCrdnDelYn(String crdnDelYn) {
this.crdnDelYn = crdnDelYn;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////

@ -34,7 +34,22 @@ public interface EpostGdccMapper extends AbstractMapper {
* @param req
* @return
*/
List<EpostGdcc> selectEpostGdccs(EpostQuery req);
List<DataObject> selectEpostGdccs(EpostQuery req);
/** 1 .
* @param levyExclId ID
* @return
*/
default DataObject selectEpostGdccInfo(EpostQuery req) {
// 기본 정렬
if (req.getOrderBy() == null) {
req.setOrderBy("EG.GDCC_ID DESC");
}
List<DataObject> epostGdccs = selectEpostGdccs(req);
return !epostGdccs.isEmpty() ? epostGdccs.get(0) : null;
}
/** .
* @param params

@ -29,7 +29,13 @@ public interface EpostGdccService {
* @param req
* @return
*/
List<EpostGdcc> getEpostGdccs(EpostQuery req);
List<DataObject> getEpostGdccs(EpostQuery req);
/** .
* @param req
* @return
*/
DataObject getEpostGdccInfo(EpostQuery req);
/** .
* @param epostGdcc

@ -35,6 +35,13 @@ public class EpostGdccBean extends AbstractComponent {
* @return
*/
public List<DataObject> getEpostGdccList(EpostQuery req) {
if (req.getUseYN() == null) {
req.setUseYN("Y");
}
if (req.getOrderBy() == null) {
req.setOrderBy("REG_DT");
}
return epostGdccMapper.selectEpostGdccList(req);
}
@ -42,10 +49,18 @@ public class EpostGdccBean extends AbstractComponent {
* @param req
* @return
*/
public List<EpostGdcc> getEpostGdccs(EpostQuery req) {
public List<DataObject> getEpostGdccs(EpostQuery req) {
return epostGdccMapper.selectEpostGdccs(req);
}
/** .
* @param req
* @return
*/
public DataObject getEpostGdccInfo(EpostQuery req) {
return epostGdccMapper.selectEpostGdccInfo(req);
}
/** .
* @param epostGdcc
* @return

@ -36,10 +36,19 @@ public class EpostGdccServiceBean extends AbstractServiceBean implements EpostGd
}
@Override
public List<EpostGdcc> getEpostGdccs(EpostQuery req) {
public List<DataObject> getEpostGdccs(EpostQuery req) {
return epostGdccBean.getEpostGdccs(req);
}
@Override
public DataObject getEpostGdccInfo(EpostQuery req) {
if (req.getCallPurpose().equals("create")) {
return null;
} else {
return epostGdccBean.getEpostGdccInfo(req);
}
}
@Override
public boolean create(EpostGdcc epostGdcc) {
return epostGdccBean.create(epostGdcc);

@ -15,6 +15,8 @@ import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.epst.EpostGdcc;
import cokr.xit.fims.epst.EpostQuery;
import cokr.xit.fims.epst.service.EpostGdccService;
import cokr.xit.fims.excl.LevyExclQuery;
import cokr.xit.foundation.data.DataObject;
/**
*
@ -35,6 +37,7 @@ public class Epst02Controller extends ApplicationController {
public static final String
epostGuidanceDocumentMain = "/010/main.do" // 전자우편 안내문 메인 화면
, getEpostGuidanceDocumentList = "/010/list.do" // 전자우편 안내문 대장 목록 조회
, getEpostGuidanceDocumentInfo = "/020/info.do" // 전자우편 안내문 대장 목록 조회
, create = "/010/create.do" // 등록
, update = "/010/update.do" // 수정
, remove = "/010/remove.do" // 삭제
@ -82,6 +85,34 @@ public class Epst02Controller extends ApplicationController {
return setCollectionInfo(new ModelAndView("jsonView"), result, "epostGdcc");
}
/** ID (info) .
* @param req
* @return fims/epst/epst02020-info jsonView
* <pre>{
* "levyExclInfo":
* }</pre>
*/
public ModelAndView getEpostGuidanceDocumentInfo(EpostQuery req) {
DataObject epostGdccInfo = epostGdccService.getEpostGdccInfo(req);
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/epst/epst02020-info");
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM047", "FIM054");
addCodes(commonCodes, mav, "FIM047", "FIM054");
return mav
.addObject("pageName", "epst02020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("epostGdccInfo", json ? epostGdccInfo : toJson(epostGdccInfo))
;
}
/** .
* @param epostGdcc
* @return jsonView

@ -87,6 +87,13 @@ public class Levy01Controller extends ApplicationController {
return setCollectionInfo(new ModelAndView("jsonView"), result, "rductLevyTrgt");
}
/** (info) .
* @param req
* @return fims/levy/levy01020-info jsonView
* <pre>{
* "rductLevyYmdInfo":
* }</pre>
*/
public ModelAndView getReductionLevyTargetInfo(LevyQuery req) {
// 감경 부과일자
DataObject rductLevyYmdInfo = taskInfoService.getAdvntceYmdInfo(new TaskInfoQuery().setSggCd(req.getSggCd())

@ -894,15 +894,21 @@ public class DpvController {
}
@Controller
@RequestMapping(name="장애인과태료업무 업무지원_민원상담", value=CLASS_URL+Epst02Controller.CLASS_URL)
@RequestMapping(name="우편통합", value=CLASS_URL+Epst02Controller.CLASS_URL)
class Epst02Controller extends cokr.xit.fims.epst.web.Epst02Controller {
@Override
@RequestMapping(name="장애인과태료업무 민원 상담 내용 대장 목록 조회", value=METHOD_URL.getEpostGuidanceDocumentList)
@RequestMapping(name="전자우편 안내문 대장 목록 조회", value=METHOD_URL.getEpostGuidanceDocumentList)
public ModelAndView getEpostGuidanceDocumentList(EpostQuery req) {
return super.getEpostGuidanceDocumentList(req);
}
@Override
@RequestMapping(name="전자우편 안내문 대장 목록 조회", value=METHOD_URL.getEpostGuidanceDocumentInfo)
public ModelAndView getEpostGuidanceDocumentInfo(EpostQuery req) {
return super.getEpostGuidanceDocumentInfo(req);
}
}
@Controller

@ -26,19 +26,19 @@
SELECT CSH.STTS_HSTRY_ID /* 상태 이력 ID */
, CSH.CRDN_ID /* 단속 ID */
, CSH.BFR_STTS_CD /* 이전 상태 코드 */
, (SELECT GET_CODE_NM('FIM010', CSH.BFR_STTS_CD) FROM DUAL) AS BFR_STTS_NM /* 이전 상태 명 */
, CSH.BFR_STTS_CHG_DT /* 이전 상태 변경 일시 */
, CSH.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT GET_CODE_NM('FIM010', CSH.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, CSH.TASK_DTL_ID /* 업무 상세 ID */
, CSH.USE_YN /* 사용 여부 */
, (SELECT GET_CODE_NM('CMM003', CSH.USE_YN) FROM DUAL) AS USE_YN_NM /* 사용 여부 명 */
, CSH.ETC_CN /* 기타 내용 */
, CSH.REG_DT /* 등록 일시 */
, CSH.RGTR /* 등록자 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CSH.RGTR) AS RGTR_NM /* 등록자 명 */
, CSH.MDFCN_DT /* 수정 일시 */
, CSH.MDFR /* 수정자 */
, (SELECT GET_CODE_NM('FIM010', CSH.BFR_STTS_CD) FROM DUAL) AS BFR_STTS_NM /* 이전 상태 명 */
, (SELECT GET_CODE_NM('FIM010', CSH.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, (SELECT GET_CODE_NM('CMM003', CSH.USE_YN) FROM DUAL) AS USE_YN_NM /* 사용 여부 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CSH.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CSH.MDFR) AS MDFR_NM /* 수정자 명 */
FROM TB_CRDN_STTS_HSTRY CSH
LEFT OUTER JOIN TB_CRDN C ON (CSH.CRDN_ID = C.CRDN_ID)
@ -48,23 +48,22 @@
<include refid="utility.paging-prefix" />
<include refid="select" />
<where>
<if test="crdnId != null">
AND CSH.CRDN_ID = #{crdnId}
</if>
<if test="useYN != null">
AND CSH.USE_YN = #{useYN}
</if>
<if test="sggCd != null">
AND C.SGG_CD = #{sggCd}
</if>
<if test="taskSeCd != null">
AND C.TASK_SE_CD = #{taskSeCd}
</if>
<if test="crdnId != null">
AND CSH.CRDN_ID = #{crdnId}
</if>
<if test="useYN != null">
AND CSH.USE_YN = #{useYN}
</if>
<if test="schDateOpt == 'regDt'">
<if test="schDateFrom != null">AND SUBSTR(CSH.REG_DT,1,8) <![CDATA[ >= ]]> #{schDateFrom} </if>
<if test="schDateTo != null">AND SUBSTR(CSH.REG_DT,1,8) <![CDATA[ <= ]]> #{schDateTo} </if>
</if>
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
@ -118,7 +117,7 @@
, #{crdnSttsHstry.crdnSttsCd} /* 단속 상태 코드 */
, #{crdnSttsHstry.taskDtlId} /* 업무 상세 ID */
, #{crdnSttsHstry.etcCn} /* 기타 내용 */
, #{crdnSttsHstry.useYN} /* 단속 상태 변경 일시 */
, 'Y' /* 단속 상태 변경 일시 */
, #{crdnSttsHstry.createdAt} /* 등록 일시 */
, #{crdnSttsHstry.createdBy} /* 등록자 */
, #{crdnSttsHstry.lastModified} /* 수정 일시 */

@ -49,6 +49,9 @@
<include refid="select" />
WHERE TI.SGG_CD = #{sggCd}
AND TI.TASK_SE_CD = #{taskSeCd}
<if test="useYN != null">
AND TI.USE_YN = #{useYN}
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
@ -123,11 +126,11 @@
, FFNLG_ADTN_RT = #{taskInfo.ffnlgAdtnRt} /* 과태료 가산 율 */
, FFNLG_INADTN_RT = #{taskInfo.ffnlgInadtnRt} /* 과태료 중가산 율 */
, FFNLG_INADTN_MXMM_CNT = #{taskInfo.ffnlgInadtnMxmmCnt} /* 과태료 중가산 최대 수 */
, USE_YN = #{taskInfo.useYN} /* 사용 여부 */
, MDFCN_DT = <include refid="utility.now" /> /* 수정 일시 */
, MDFR = #{currentUser.id} /* 수정자 */
WHERE SGG_CD = #{taskInfo.sggCd}
AND TASK_SE_CD = #{taskInfo.taskSeCd}
AND USE_YN = 'Y'
</update>
<update id="deleteTaskInfo" parameterType="map">/* 업무 정보 삭제(taskInfoMapper.deleteTaskInfo) */
@ -137,6 +140,7 @@
, MDFR = #{currentUser.id}
WHERE SGG_CD = #{taskInfo.sggCd}
AND TASK_SE_CD = #{taskInfo.taskSeCd}
AND USE_YN = 'Y'
</update>
</mapper>

@ -25,7 +25,7 @@
<result property="operItemCd" column="OPER_ITEM_CD" /> <!-- 운영 항목 코드 -->
<result property="operItemNm" column="OPER_ITEM_NM" /> <!-- 운영 항목 명 -->
<result property="spclBizCd" column="SPCL_BIZ_CD" /> <!-- 특별회계 사업 코드 -->
<result property="useYn" column="USE_YN" /> <!-- 사용 여부 -->
<result property="useYN" column="USE_YN" /> <!-- 사용 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
<result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 -->
@ -33,29 +33,29 @@
</resultMap>
<sql id="select">
SELECT VI.VLTN_ID <!-- 위반 ID -->
, VI.SGG_CD <!-- 시군구 코드 -->
, VI.TASK_SE_CD <!-- 업무 구분 코드 -->
, VI.VLTN_CD <!-- 위반 코드 -->
, VI.VLTN_ARTCL <!-- 위반 항목 -->
, VI.VLTN_LAW_NM <!-- 위반 법 명 -->
, VI.VLTN_LAW1 <!-- 위반 법1 -->
, VI.VLTN_LAW2 <!-- 위반 법2 -->
, VI.VLTN_LAW_ETC <!-- 위반 법 기타 -->
, VI.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, VI.ACNTG_SE_NM <!-- 회계 구분 명 -->
, VI.TXITM_CD <!-- 세목 코드 -->
, VI.TXITM_NM <!-- 세목 명 -->
, VI.OPER_ITEM_CD <!-- 운영 항목 코드 -->
, VI.OPER_ITEM_NM <!-- 운영 항목 명 -->
, VI.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, VI.USE_YN <!-- 사용 여부 -->
, VI.REG_DT <!-- 등록 일시 -->
, VI.RGTR <!-- 등록자 -->
, VI.MDFCN_DT <!-- 수정 일시 -->
, VI.MDFR <!-- 수정자 -->
, <include refid="utility.today" /> AS TODAY <!-- 오늘 일자 -->
, (SELECT GET_CODE_NM('FIM054', VI.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
SELECT VI.VLTN_ID /* 위반 ID */
, VI.SGG_CD /* 시군구 코드 */
, VI.TASK_SE_CD /* 업무 구분 코드 */
, VI.VLTN_CD /* 위반 코드 */
, VI.VLTN_ARTCL /* 위반 항목 */
, VI.VLTN_LAW_NM /* 위반 법 명 */
, VI.VLTN_LAW1 /* 위반 법1 */
, VI.VLTN_LAW2 /* 위반 법2 */
, VI.VLTN_LAW_ETC /* 위반 법 기타 */
, VI.ACNTG_SE_CD /* 회계 구분 코드 */
, VI.ACNTG_SE_NM /* 회계 구분 명 */
, VI.TXITM_CD /* 세목 코드 */
, VI.TXITM_NM /* 세목 명 */
, VI.OPER_ITEM_CD /* 운영 항목 코드 */
, VI.OPER_ITEM_NM /* 운영 항목 명 */
, VI.SPCL_BIZ_CD /* 특별회계 사업 코드 */
, VI.USE_YN /* 사용 여부 */
, VI.REG_DT /* 등록 일시 */
, VI.RGTR /* 등록자 */
, VI.MDFCN_DT /* 수정 일시 */
, VI.MDFR /* 수정자 */
, <include refid="utility.today" /> AS TODAY /* 오늘 일자 */
, (SELECT GET_CODE_NM('FIM054', VI.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
FROM TB_VLTN_INFO VI
</sql>
@ -87,8 +87,8 @@
<if test="txitmCd != null">
AND VI.TXITM_CD = #{txitmCd}
</if>
<if test="useYn != null">
AND VI.USE_YN = #{useYn}
<if test="useYN != null">
AND VI.USE_YN = #{useYN}
</if>
<include refid="utility.orderBy" />
</select>
@ -96,79 +96,81 @@
<insert id="insertVltnInfo" parameterType="map">/* 위반 정보 등록(vltnInfoMapper.insertVltnInfo) */
INSERT
INTO TB_VLTN_INFO (
VLTN_ID <!-- 위반 ID -->
, SGG_CD <!-- 시군구 코드 -->
, TASK_SE_CD <!-- 업무 구분 코드 -->
, VLTN_CD <!-- 위반 코드 -->
, VLTN_ARTCL <!-- 위반 항목 -->
, VLTN_LAW_NM <!-- 위반 법 명 -->
, VLTN_LAW1 <!-- 위반 법1 -->
, VLTN_LAW2 <!-- 위반 법2 -->
, VLTN_LAW_ETC <!-- 위반 법 기타 -->
, ACNTG_SE_CD <!-- 회계 구분 코드 -->
, ACNTG_SE_NM <!-- 회계 구분 명 -->
, TXITM_CD <!-- 세목 코드 -->
, TXITM_NM <!-- 세목 명 -->
, OPER_ITEM_CD <!-- 운영 항목 코드 -->
, OPER_ITEM_NM <!-- 운영 항목 명 -->
, SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, USE_YN <!-- 사용 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
VLTN_ID /* 위반 ID */
, SGG_CD /* 시군구 코드 */
, TASK_SE_CD /* 업무 구분 코드 */
, VLTN_CD /* 위반 코드 */
, VLTN_ARTCL /* 위반 항목 */
, VLTN_LAW_NM /* 위반 법 명 */
, VLTN_LAW1 /* 위반 법1 */
, VLTN_LAW2 /* 위반 법2 */
, VLTN_LAW_ETC /* 위반 법 기타 */
, ACNTG_SE_CD /* 회계 구분 코드 */
, ACNTG_SE_NM /* 회계 구분 명 */
, TXITM_CD /* 세목 코드 */
, TXITM_NM /* 세목 명 */
, OPER_ITEM_CD /* 운영 항목 코드 */
, OPER_ITEM_NM /* 운영 항목 명 */
, SPCL_BIZ_CD /* 특별회계 사업 코드 */
, USE_YN /* 사용 여부 */
, REG_DT /* 등록 일시 */
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
)
VALUES (
#{vltnInfo.vltnId} <!-- 위반 ID -->
, #{vltnInfo.sggCd} <!-- 시군구 코드 -->
, #{vltnInfo.taskSeCd} <!-- 업무 구분 코드 -->
, #{vltnInfo.vltnCd} <!-- 위반 코드 -->
, #{vltnInfo.vltnArtcl} <!-- 위반 항목 -->
, #{vltnInfo.vltnLawNm} <!-- 위반 법 명 -->
, #{vltnInfo.vltnLaw1} <!-- 위반 법1 -->
, #{vltnInfo.vltnLaw2} <!-- 위반 법2 -->
, #{vltnInfo.vltnLawEtc} <!-- 위반 법 기타 -->
, #{vltnInfo.acntgSeCd} <!-- 회계 구분 코드 -->
, #{vltnInfo.acntgSeNm} <!-- 회계 구분 명 -->
, #{vltnInfo.txitmCd} <!-- 세목 코드 -->
, #{vltnInfo.txitmNm} <!-- 세목 명 -->
, #{vltnInfo.operItemCd} <!-- 운영 항목 코드 -->
, #{vltnInfo.operItemNm} <!-- 운영 항목 명 -->
, #{vltnInfo.spclBizCd} <!-- 특별회계 사업 코드 -->
, #{vltnInfo.useYn} <!-- 사용 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{vltnInfo.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{vltnInfo.modifiedBy} <!-- 수정자 -->
#{vltnInfo.vltnId} /* 위반 ID */
, #{vltnInfo.sggCd} /* 시군구 코드 */
, #{vltnInfo.taskSeCd} /* 업무 구분 코드 */
, #{vltnInfo.vltnCd} /* 위반 코드 */
, #{vltnInfo.vltnArtcl} /* 위반 항목 */
, #{vltnInfo.vltnLawNm} /* 위반 법 명 */
, #{vltnInfo.vltnLaw1} /* 위반 법1 */
, #{vltnInfo.vltnLaw2} /* 위반 법2 */
, #{vltnInfo.vltnLawEtc} /* 위반 법 기타 */
, #{vltnInfo.acntgSeCd} /* 회계 구분 코드 */
, #{vltnInfo.acntgSeNm} /* 회계 구분 명 */
, #{vltnInfo.txitmCd} /* 세목 코드 */
, #{vltnInfo.txitmNm} /* 세목 명 */
, #{vltnInfo.operItemCd} /* 운영 항목 코드 */
, #{vltnInfo.operItemNm} /* 운영 항목 명 */
, #{vltnInfo.spclBizCd} /* 특별회계 사업 코드 */
, 'Y' /* 사용 여부 */
, <include refid="utility.now" /> /* 등록 일시 */
, #{vltnInfo.createdBy} /* 등록자 */
, <include refid="utility.now" /> /* 수정 일시 */
, #{vltnInfo.modifiedBy} /* 수정자 */
)
</insert>
<update id="updateVltnInfo" parameterType="map">/* 위반 정보 수정(vltnInfoMapper.updateVltnInfo) */
UPDATE TB_VLTN_INFO
SET VLTN_CD = #{vltnInfo.vltnCd} <!-- 위반 코드 -->
, VLTN_ARTCL = #{vltnInfo.vltnArtcl} <!-- 위반 항목 -->
, VLTN_LAW_NM = #{vltnInfo.vltnLawNm} <!-- 위반 법 명 -->
, VLTN_LAW1 = #{vltnInfo.vltnLaw1} <!-- 위반 법1 -->
, VLTN_LAW2 = #{vltnInfo.vltnLaw2} <!-- 위반 법2 -->
, VLTN_LAW_ETC = #{vltnInfo.vltnLawEtc} <!-- 위반 법 기타 -->
, ACNTG_SE_CD = #{vltnInfo.acntgSeCd} <!-- 회계 구분 코드 -->
, ACNTG_SE_NM = #{vltnInfo.acntgSeNm} <!-- 회계 구분 명 -->
, TXITM_CD = #{vltnInfo.txitmCd} <!-- 세목 코드 -->
, TXITM_NM = #{vltnInfo.txitmNm} <!-- 세목 명 -->
, OPER_ITEM_CD = #{vltnInfo.operItemCd} <!-- 운영 항목 코드 -->
, OPER_ITEM_NM = #{vltnInfo.operItemNm} <!-- 운영 항목 명 -->
, SPCL_BIZ_CD = #{vltnInfo.spclBizCd} <!-- 특별회계 사업 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{vltnInfo.modifiedBy} <!-- 수정자 -->
SET VLTN_CD = #{vltnInfo.vltnCd} /* 위반 코드 */
, VLTN_ARTCL = #{vltnInfo.vltnArtcl} /* 위반 항목 */
, VLTN_LAW_NM = #{vltnInfo.vltnLawNm} /* 위반 법 명 */
, VLTN_LAW1 = #{vltnInfo.vltnLaw1} /* 위반 법1 */
, VLTN_LAW2 = #{vltnInfo.vltnLaw2} /* 위반 법2 */
, VLTN_LAW_ETC = #{vltnInfo.vltnLawEtc} /* 위반 법 기타 */
, ACNTG_SE_CD = #{vltnInfo.acntgSeCd} /* 회계 구분 코드 */
, ACNTG_SE_NM = #{vltnInfo.acntgSeNm} /* 회계 구분 명 */
, TXITM_CD = #{vltnInfo.txitmCd} /* 세목 코드 */
, TXITM_NM = #{vltnInfo.txitmNm} /* 세목 명 */
, OPER_ITEM_CD = #{vltnInfo.operItemCd} /* 운영 항목 코드 */
, OPER_ITEM_NM = #{vltnInfo.operItemNm} /* 운영 항목 명 */
, SPCL_BIZ_CD = #{vltnInfo.spclBizCd} /* 특별회계 사업 코드 */
, MDFCN_DT = <include refid="utility.now" /> /* 수정 일시 */
, MDFR = #{vltnInfo.modifiedBy} /* 수정자 */
WHERE VLTN_ID = #{vltnInfo.vltnId}
AND USE_YN = 'Y'
</update>
<update id="deleteVltnInfo" parameterType="map">/* 위반 정보 삭제(vltnInfoMapper.deleteVltnInfo) */
UPDATE TB_VLTN_INFO
SET USE_YN = 'N' <!-- 사용 여부 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{vltnInfo.modifiedBy} <!-- 수정자 -->
SET USE_YN = 'N' /* 사용 여부 */
, MDFCN_DT = <include refid="utility.now" /> /* 수정 일시 */
, MDFR = #{vltnInfo.modifiedBy} /* 수정자 */
WHERE VLTN_ID = #{vltnInfo.vltnId}
AND USE_YN = 'Y'
</update>
</mapper>

@ -15,7 +15,7 @@
<result property="ttlNm" column="TTL_NM" /> <!-- 제목 명 -->
<result property="wordsCn" column="WORDS_CN" /> <!-- 문구 내용 -->
<result property="lastUseDt" column="LAST_USE_DT" /> <!-- 최종 사용 일시 -->
<result property="useYn" column="USE_YN" /> <!-- 최종 사용 여부 -->
<result property="useYN" column="USE_YN" /> <!-- 최종 사용 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
<result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 -->
@ -23,31 +23,54 @@
</resultMap>
<sql id="select">
SELECT GDCC_ID /* 안내문 ID */
, SGG_CD /* 시군구 코드 */
, TASK_SE_CD /* 업무 구분 코드 */
, SNDNG_SE_CD /* 발송 구분 코드 */
, TTL_NM /* 제목 명 */
, WORDS_CN /* 문구 내용 */
, LAST_USE_DT /* 최종 사용 일시 */
, REG_DT /* 등록 일시 */
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
FROM TB_EPOST_GDCC
SELECT EG.GDCC_ID /* 안내문 ID */
, EG.SGG_CD /* 시군구 코드 */
, EG.TASK_SE_CD /* 업무 구분 코드 */
, EG.SNDNG_SE_CD /* 발송 구분 코드 */
, EG.TTL_NM /* 제목 명 */
, EG.WORDS_CN /* 문구 내용 */
, EG.LAST_USE_DT /* 최종 사용 일시 */
, EG.USE_YN /* 사용 여부 */
, EG.REG_DT /* 등록 일시 */
, EG.RGTR /* 등록자 */
, EG.MDFCN_DT /* 수정 일시 */
, EG.MDFR /* 수정자 */
, (SELECT GET_CODE_NM('FIM054', EG.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (SELECT GET_CODE_NM('FIM047', EG.SNDNG_SE_CD) FROM DUAL) AS SNDNG_SE_NM /* 발송 구분 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = EG.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = EG.MDFR) AS MDFR_NM /* 수정자 명 */
FROM TB_EPOST_GDCC EG
</sql>
<select id="selectEpostGdccList" parameterType="map" resultType="dataobject">/* 전자우편 안내문 목록 조회(epostGdccMapper.selectEpostGdccList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where></where>
WHERE EG.SGG_CD = #{sggCd} /* 시군구 코드 */
<if test="taskSeCd != null">
AND EG.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
</if>
<if test="sndngSeCd != null">
AND EG.SNDNG_SE_CD = #{sndngSeCd} /* 발송 구분 코드 */
</if>
<if test="useYN != null">
AND EG.USE_YN = #{useYN} /* 사용 여부 */
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectEpostGdccs" parameterType="map" resultMap="epostGdccRow">/* 전자우편 안내문 객체 가져오기(epostGdccMapper.selectEpostGdccs) */
<select id="selectEpostGdccs" parameterType="map" resultType="dataobject">/* 전자우편 안내문 객체 가져오기(epostGdccMapper.selectEpostGdccs) */
<include refid="select" />
<where></where>
<where>
<if test="gdccIDs != null">
AND EG.GDCC_ID IN ( /* 안내문 IDs */
<foreach collection="gdccIDs" item="gdccId" separator=","> #{gdccIDs} </foreach>
)
</if>
<if test="gdccId != null">
AND EG.GDCC_ID = #{gdccId} /* 안내문 ID */
</if>
</where>
<include refid="utility.orderBy" />
</select>

@ -5,7 +5,7 @@
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">안내문 관리</c:set>
<c:set var="prefixName" scope="request">부과제외 관리</c:set>
<!-- Page Body -->
<div class="card">
@ -13,14 +13,14 @@
<div>
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark" id="btnReset--${pageName}" title="초기화" onclick="fnReset${pageName}();">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnReset${pageName}();">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" 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>
@ -36,7 +36,7 @@
<div class="container-search">
<div class="row g-1">
<!-- 업무구분 -->
<div class="col-12">
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">업무구분</label>
<span class="form-search-linebox">
<c:forEach items="${FIM054List}" var="item">
@ -48,16 +48,8 @@
</c:forEach>
</span>
</div>
<!-- -->
<div class="col-6">
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<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" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
@ -115,11 +107,14 @@
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="수정" onclick="fnUpdate${pageName}();">
수정
<button type="button" class="btn btn-primary w-px-120" id="btnCreateEpostGdcc--${pageName}" title="안내문 등록" onclick="fnCreateEpostGdcc${pageName}();">
안내문 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateEpostGdcc--${pageName}" title="안내문 수정" onclick="fnUpdateEpostGdcc${pageName}();">
안내문 수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="삭제" onclick="fnRemove${pageName}();">
삭제
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveEpostGdcc--${pageName}" title="안내문 삭제" onclick="fnRemoveEpostGdcc${pageName}();">
안내문 삭제
</button>
</span>
</span>
@ -138,14 +133,10 @@
<th class="cmn" style="width: 56px;">
<input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);">
</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: 160px;">업무구분</th>
<th class="cmn" style="width: 120px;">발송구분</th>
<th class="cmn" style="width: 180px;">최종사용일시</th>
<th class="cmn" style="width: 240px;">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
@ -156,19 +147,15 @@
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{CVLCPT_DSCSN_ID}">
<tr data-key="{GDCC_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);">
<input type="checkbox" class="form-check-input" value="{GDCC_ID}" onchange="${pageName}Control.select('{GDCC_ID}', this.checked);">
</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}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LAST_USE_DT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</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>
@ -178,7 +165,7 @@
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="15" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="10" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
@ -202,7 +189,7 @@
* Global Variable
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/sprt/sprt04";
var ${pageName}PrefixUrl = "/epst/epst02";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}");
@ -210,15 +197,15 @@
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "cvlcptDscsn"
, prefixName : "민원상담내용"
, infoSize : "lg"
, keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter : obj => obj.cvlcptDscsnList
prefix : "epostGdcc"
, prefixName : "전자우편 안내문"
, infoSize : "md"
, keymapper : info => info ? info.GDCC_ID : ""
, dataGetter : obj => obj.epostGdccList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : {
DSCSN_YMD : dateFormat
LAST_USE_DT : datetimeFormat
, REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat
}
@ -247,7 +234,7 @@
${pageName}Control.onCurrentChange = item => {
if (!item) return;
let key = item.data.CVLCPT_DSCSN_ID;
let key = item.data.GDCC_ID;
$("#tbody--${pageName}").setCurrentRow(key);
};
@ -263,33 +250,38 @@
checkbox.prop("checked", keys.includes(checkbox.val()));
});
$("#btnRemove--${pageName}").prop("disabled", keys.length < 1);
$("#btnRemoveEpostGdcc--${pageName}").prop("disabled", keys.length < 1);
};
// 민원상담 dialog
${pageName}Control.getInfo = (cvlcptDscsnId) => {
if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") {
return;
}
// 전자우편 안내문 dialog
${pageName}Control.getInfo = (gdccId) => {
//
let params = {};
let params = {
if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") {
params = {
callPurpose : "create"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
};
} else {
params = {
callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD")
, cvlcptDscsnId : cvlcptDscsnId
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, gdccId : gdccId // 안내문 ID
};
}
ajax.get({
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
url : ${pageName}Control.urls.getInfo
, data : params || {}
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
, title : ${pageName}Control.prefixName + " 수정"
id : "epostGdccDialog"
, title : "전자우편 안내문 정보"
, content : resp
, size : "lg"
, init : () => { }
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback 자료 재조회
, size : ${pageName}Control.infoSize
});
}
});
@ -297,8 +289,7 @@
// 삭제 callback
${pageName}Control.onRemove = (selected, resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title");
let btnTitle = $("#btnRemoveEpostGdcc--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage);
@ -316,7 +307,7 @@
if (!params) {
params = {};
params[${pageName}Control.prefixed("IDs")] = selected.join(",");
params["GDCC_IDs"] = selected.join(",");
}
ajax.post({
@ -339,8 +330,8 @@
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("GDCC_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("GDCC_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
@ -353,6 +344,15 @@
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 초기화
initForm${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// dataset 초기화
${pageName}Control.dataset.clear();
}
// 이벤트
setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
@ -368,6 +368,9 @@
});
});
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트
$("#table-responsive--${pageName}").scroll(function() {
let el = $(this);
@ -380,7 +383,7 @@
}
let itemsCnt = ${pageName}Control.dataset._items.length;
let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT");
let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT"); // let totCnt = ${pageName}Control.dataset.getCurrent("item").data.TOT_CNT;
if (itemsCnt >= totCnt) {
return;
@ -407,23 +410,37 @@
// 달력 초기화
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"} );
$("#schLevyExclYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schLevyExclYmdTo--${pageName}").datepicker("setDate", new Date());
}
// 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"); // 개별총정보
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/020/info.do"); // 정보
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 초기화
initForm${pageName}();
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 화면 초기값 설정
setForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
}
// 초기화 버튼 이벤트
fnReset${pageName} = () => {
fnResetAndChangeBiz${pageName}();
@ -436,6 +453,7 @@
${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.query.crdnDelYn = "N"; // 단속 대장 삭제 여부
${pageName}Control.load();
}
@ -445,38 +463,30 @@
}
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// dataset 초기화
${pageName}Control.dataset.clear();
// 사용자 조회 버튼 이벤트
fnUser${pageName} = () => {
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 화면 초기값 설정
setForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
// 전자우편 안내문 등록 버튼 이벤트
fnCreateEpostGdcc${pageName} = () => {
${pageName}Control.getInfo();
}
// 사용자 조회 버튼 이벤트
fnUser${pageName} = () => {
// 전자우편 안내문 수정 버튼 이벤트
fnUpdateEpostGdcc${pageName} = () => {
let gdccId = ${pageName}Control.dataset.getValue("GDCC_ID");
}
// 전자우편 안내문 ID 가 없다면.. return
if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") return;
// 수정 버튼 이벤트
fnUpdate${pageName} = () => {
${pageName}Control.getInfo(${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"));
${pageName}Control.getInfo(gdccId);
}
// 삭제 버튼 이벤트
fnRemove${pageName} = () => {
// 전자우편 안내문 삭제 버튼 이벤트
fnRemoveEpostGdcc${pageName} = () => {
dialog.alert({
content : "선택한 부과제외 정보를 삭제하시겠습니까?"
content : "선택한 전자우편 안내문 정보를 삭제하시겠습니까?"
, onOK : () => {
${pageName}Control.remove();
}
@ -487,19 +497,20 @@
* script 진입
**************************************************************************/
$(document).ready(function() {
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 기본 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
// 이벤트 설정
setEvent${pageName}();
// 시군구 코드 설정
$("#sggCd--${pageName}").val("${sggCd}");
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 업무 구분 및 화면 초기 설정
// 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue);
});

@ -583,7 +583,7 @@
let levyExclSeCd = ${pageName}Control.dataset.getValue("LEVY_EXCL_SE_CD");
// 부과제외ID 가 없다면.. return
if (!levyExclId) return;
if (typeof levyExclId == "undefined" || levyExclId == null || levyExclId == "") return;
let params = {
callPurpose : "update"

@ -583,7 +583,7 @@
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (!opnnId) return;
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return;
let params = {
callPurpose : "update"
@ -600,7 +600,7 @@
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (!opnnId) return;
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return;
let params = {
callPurpose : "update"

@ -457,7 +457,7 @@
let bfrCrdnId = ${pageName}Control.dataset.getValue("BFR_CRDN_ID");
// 이전 단속 ID 가 없다면.. return
if (!bfrCrdnId) return;
if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return;
// 개별총정보 dialog
${pageName}Control.getInfo(bfrCrdnId, "noControlName");

@ -504,7 +504,7 @@
// 삭제 버튼 이벤트
fnRemove${pageName} = () => {
dialog.alert({
content : "선택한 부과제외 정보를 삭제하시겠습니까?"
content : "선택한 민원상담 정보를 삭제하시겠습니까?"
, onOK : () => {
${pageName}Control.remove();
}

Loading…
Cancel
Save