고지서 발송현황 수정.

main
jjh 11 months ago
parent 36aa26bd04
commit 5a3eccd195

@ -61,9 +61,6 @@ public class Sndb01Controller extends ApplicationController {
, getAdvanceNoticeSendingList = "/070/list.do" // 사전통지 발송 대상 목록 조회 , getAdvanceNoticeSendingList = "/070/list.do" // 사전통지 발송 대상 목록 조회
, getAdvanceNoticeSendingInfo = "/080/info.do" // 사전통지 발송 상세 화면 , getAdvanceNoticeSendingInfo = "/080/info.do" // 사전통지 발송 상세 화면
, getAdvanceNoticeSendingDetailsList= "/080/list.do" // 사전통지 발송 현황 상세 목록 조회 , getAdvanceNoticeSendingDetailsList= "/080/list.do" // 사전통지 발송 현황 상세 목록 조회
, noticeSheetSendingMain = "/090/main.do" // 고지서 발송 현황 메인 화면 , noticeSheetSendingMain = "/090/main.do" // 고지서 발송 현황 메인 화면
, getNoticeSheetSendingList = "/090/list.do" // 고지서 발송 대상 목록 조회 , getNoticeSheetSendingList = "/090/list.do" // 고지서 발송 대상 목록 조회
, getNoticeSheetSendingInfo = "/100/info.do" // 고지서 발송 상세 대장 조회 , getNoticeSheetSendingInfo = "/100/info.do" // 고지서 발송 상세 대장 조회
@ -769,12 +766,6 @@ public class Sndb01Controller extends ApplicationController {
} }
} }
/** (sndb/sndb01/090-main) . /** (sndb/sndb01/090-main) .
* *
* @return /sndb/sndb01/090-main * @return /sndb/sndb01/090-main
@ -807,9 +798,56 @@ public class Sndb01Controller extends ApplicationController {
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getNoticeSheetSendingList(SndbQuery req) { public ModelAndView getNoticeSheetSendingList(SndbQuery req) {
if (!"xls".equals(req.getDownload())) {
List<?> result = sndngService.getSndngList(setFetchSize(req)); List<?> result = sndngService.getSndngList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "nhtSndng"); return setCollectionInfo(new ModelAndView("jsonView"), result, "nhtSndng");
} else {
// 현재 날짜 구하기
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String dateTime = dateFormat.format(System.currentTimeMillis());
ArrayList<CellDef> cellDefs = fromJson(req.getCellDefs(), new TypeReference<ArrayList<CellDef>>() {});
XLSWriter xlsx = new XLSWriter()
.setFilename("고지서발송현황" + "_목록_" + dateTime + ".xlsx")
.worksheet(0);
// CellStyle 지정은 여기에서..
CellStyle center = xlsx.cellStyle(Styler.CENTER); // 가운데 정렬
CellStyle numeric = xlsx.n_nn0(); // 숫자 3자리 콤마(,)
CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
List<DataObject> list = sndngService.getSndngList(req.setFetchSize(0));
CellDef.setValues(cellDefs, Map.ofEntries(
Map.entry("업무구분", xlsx.style("TASK_SE_NM", center))
, Map.entry("등록구분", xlsx.style("SNDNG_REG_SE_NM", center))
, Map.entry("위반항목", "VLTN_ARTCL")
, Map.entry("발송일자", xlsx.format(o -> xlsx.str2date(o.get("SNDNG_YMD"))).style(dateYMD))
, Map.entry("납기일자", xlsx.format(o -> xlsx.str2date(o.get("SNDNG_END_YMD"))).style(dateYMD))
, Map.entry("총건수", xlsx.style("TNOCS", numeric))
, Map.entry("총금액", xlsx.style("GRAMT", numeric))
, Map.entry("문서번호", "DOC_NO")
, Map.entry("제목", "TTL_NM")
, Map.entry("등록일시", xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT))
, Map.entry("등록사용자", xlsx.style("RGTR_NM", center))
, Map.entry("수정일시", xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT))
, Map.entry("수정사용자", xlsx.style("MDFR_NM", center))
)
);
xlsx.cell(0, 0)
.value("고지서 발송 현황", center)
.merge(0, cellDefs.size() - 1)
.cell(3, 0)
.rowValues(CellDef.header(cellDefs, () -> CmmnUtil.headerStyle(xlsx)))
.cell(4, 0)
.values(list, CellDef.values(cellDefs));
return new ModelAndView("xlsView")
.addObject("xls", xlsx);
}
} }
/** - (sndb/sndb01/100-info) . /** - (sndb/sndb01/100-info) .

@ -39,6 +39,161 @@
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 --> <result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap> </resultMap>
<sql id="selectList">
SELECT S.SNDNG_ID /* 발송 ID */
, S.SGG_CD /* 시군구 코드 */
, S.DEPT_CD /* 부서 코드 */
, S.TASK_SE_CD /* 업무 구분 코드 */
, S.SNDNG_REG_SE_CD /* 발송 등록 구분 코드 */
, S.SNDNG_SE_CD /* 발송 구분 코드 */
, V.VLTN_ID /* 위반 ID */
, V.VLTN_CD /* 위반 코드 */
, V.VLTN_ARTCL /* 위반 항목 */
, S.LEVY_BGNG_YMD /* 부과 시작 일자 */
, S.LEVY_END_YMD /* 부과 종료 일자 */
, S.SNDNG_YMD /* 발송 일자 */
, S.SNDNG_END_YMD /* 발송 종료 일자 */
, S.TTL_NM /* 제목 명 */
, S.DOC_NO /* 문서 번호 */
, S.ETC_CN /* 기타 내용 */
, S.TNOCS /* 총건수 */
, S.GRAMT /* 총금액 */
, S.CON_KEY /* 외부연계식별키 */
, S.DIV_KB /* 취급 구분 */
, S.EPOST_NOTICE_ID /* 전자우편 안내문 ID */
, S.SNDNG_STTS_CD /* 발송 상태 코드 */
, S.RESND_YN /* 재발송 여부 */
, S.REG_DT /* 등록 일시 */
, S.RGTR /* 등록자 */
, S.MDFCN_DT /* 수정 일시 */
, S.MDFR /* 수정자 */
, <include refid="utility.today" /> AS TODAY /* 오늘 일자 */
, GET_MASK_DATE(<include refid="utility.today" />, 'K') AS TODAY_MASK /* 오늘 일자 한글 마스크 */
, <include refid="utility.now" /> AS NOW /* 현재 일시 */
, (SELECT GET_CODE_NM('FIM054', S.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (SELECT GET_CODE_NM('FIM067', S.SNDNG_REG_SE_CD) FROM DUAL) AS SNDNG_REG_SE_NM /* 발송 등록 구분 명 */
, (SELECT GET_CODE_NM('FIM047', S.SNDNG_SE_CD) FROM DUAL) AS SNDNG_SE_NM /* 발송 구분 명 */
, (SELECT GET_CODE_NM('FIM049', S.SNDNG_STTS_CD) FROM DUAL) AS SNDNG_STTS_NM /* 발송 상태 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = S.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = S.MDFR) AS MDFR_NM /* 수정자 명 */
FROM TB_SNDNG S
LEFT OUTER JOIN TB_VLTN V ON (S.VLTN_ID = V.VLTN_ID AND S.SGG_CD = V.SGG_CD AND S.TASK_SE_CD = V.TASK_SE_CD)
</sql>
<select id="selectSndngList" parameterType="map" resultType="dataobject">/* 발송 대장 목록 조회(sndngMapper.selectSndngList) */
<include refid="utility.paging-prefix" />
<include refid="selectList" />
WHERE S.SGG_CD = #{sggCd} /* 시군구 코드 */
AND S.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
<if test="schSndngYmdFrom != null">
AND S.SNDNG_YMD <![CDATA[>=]]> #{schSndngYmdFrom} /* 발송 일자 시작 */
</if>
<if test="schSndngYmdTo != null">
AND S.SNDNG_YMD <![CDATA[<=]]> #{schSndngYmdTo} /* 발송 일자 종료 */
</if>
<if test="sndngSeCd != null">
AND S.SNDNG_SE_CD = #{sndngSeCd} /* 발송 구분 코드 */
</if>
<if test="sndngSeCdFrom != null">
AND S.SNDNG_SE_CD <![CDATA[>=]]> #{sndngSeCdFrom} /* 발송 구분 코드 시작 */
</if>
<if test="sndngSeCdTo != null">
AND S.SNDNG_SE_CD <![CDATA[<=]]> #{sndngSeCdTo} /* 발송 구분 코드 종료 */
</if>
<choose>
<when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null">
AND S.REG_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') /* 등록 일자 시작 */
</if>
<if test="schRegDateTo != null">
AND S.REG_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') /* 등록 일자 종료 */
</if>
</when>
<when test="schRegDateOpt == 'mdfcnDt'">
<if test="schRegDateFrom != null">
AND S.MDFCN_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') /* 수정 일자 시작 */
</if>
<if test="schRegDateTo != null">
AND S.MDFCN_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') /* 수정 일자 종료 */
</if>
</when>
<otherwise>
</otherwise>
</choose>
<choose>
<when test="schRgtrOpt == 'rgtr'">
<if test="schRgtrCd != null">
AND S.RGTR = #{schRgtrCd} /* 등록자 코드 */
</if>
</when>
<when test="schRgtrOpt == 'mdfr'">
<if test="schRgtrCd != null">
AND S.MDFR = #{schRgtrCd} /* 수정자 코드 */
</if>
</when>
<otherwise>
</otherwise>
</choose>
<choose>
<when test="delYN != null">
AND S.DEL_YN = #{delYN} /* 삭제 여부 */
</when>
<otherwise>
AND S.DEL_YN = 'N' /* 삭제 여부 */
</otherwise>
</choose>
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'taskSeCd'"> S.TASK_SE_CD </when>
<when test="by == 'sndngRegSeCd'"> S.SNDNG_REG_SE_CD </when>
<when test="by == 'sndngSeCd'"> S.SNDNG_SE_CD </when>
<when test="by == 'levyBgngYmd'"> S.LEVY_BGNG_YMD </when>
<when test="by == 'levyEndYmd'"> S.LEVY_END_YMD </when>
<when test="by == 'sndngYmd'"> S.SNDNG_YMD </when>
<when test="by == 'dudtYmd'"> S.DUDT_YMD </when>
<when test="by == 'ttlNm'"> S.TTL_NM </when>
<when test="by == 'docNo'"> S.DOC_NO </when>
<when test="by == 'etcCn'"> S.ETC_CN </when>
<when test="by == 'tnocs'"> S.TNOCS </when>
<when test="by == 'gramt'"> S.GRAMT </when>
<when test="by == 'sndngSttsCd'"> S.SNDNG_STTS_CD </when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectSndngs" parameterType="map" resultType="dataobject">/* 발송 대장 객체 가져오기(sndngMapper.selectSndngs) */
<include refid="selectList" />
<where>
<if test="sndngIDs != null">
AND S.SNDNG_ID IN ( /* 발송 IDs */
<foreach collection="sndngIDs" item="sndngId" separator=","> #{sndngId} </foreach>
)
</if>
<if test="sndngId != null">
AND S.SNDNG_ID = #{sndngId} /* 발송 ID */
</if>
<choose>
<when test="delYN != null">
AND S.DEL_YN = #{delYN} /* 삭제 여부 */
</when>
<otherwise>
AND S.DEL_YN = 'N' /* 삭제 여부 */
</otherwise>
</choose>
</where>
<include refid="utility.orderBy" />
</select>
<sql id="selectWrngTrgt"> <sql id="selectWrngTrgt">
, C.SGG_CD /* 시군구 코드 */ , C.SGG_CD /* 시군구 코드 */
, C.TASK_SE_CD /* 업무 구분 코드 */ , C.TASK_SE_CD /* 업무 구분 코드 */
@ -608,162 +763,6 @@
<sql id="selectList">
SELECT S.SNDNG_ID /* 발송 ID */
, S.SGG_CD /* 시군구 코드 */
, S.DEPT_CD /* 부서 코드 */
, S.TASK_SE_CD /* 업무 구분 코드 */
, S.SNDNG_REG_SE_CD /* 발송 등록 구분 코드 */
, S.SNDNG_SE_CD /* 발송 구분 코드 */
, V.VLTN_ID /* 위반 ID */
, V.VLTN_CD /* 위반 코드 */
, V.VLTN_ARTCL /* 위반 항목 */
, S.LEVY_BGNG_YMD /* 부과 시작 일자 */
, S.LEVY_END_YMD /* 부과 종료 일자 */
, S.SNDNG_YMD /* 발송 일자 */
, S.SNDNG_END_YMD /* 발송 종료 일자 */
, S.TTL_NM /* 제목 명 */
, S.DOC_NO /* 문서 번호 */
, S.ETC_CN /* 기타 내용 */
, S.TNOCS /* 총건수 */
, S.GRAMT /* 총금액 */
, S.CON_KEY /* 외부연계식별키 */
, S.DIV_KB /* 취급 구분 */
, S.EPOST_NOTICE_ID /* 전자우편 안내문 ID */
, S.SNDNG_STTS_CD /* 발송 상태 코드 */
, S.RESND_YN /* 재발송 여부 */
, S.REG_DT /* 등록 일시 */
, S.RGTR /* 등록자 */
, S.MDFCN_DT /* 수정 일시 */
, S.MDFR /* 수정자 */
, <include refid="utility.today" /> AS TODAY /* 오늘 일자 */
, GET_MASK_DATE(<include refid="utility.today" />, 'K') AS TODAY_MASK /* 오늘 일자 한글 마스크 */
, <include refid="utility.now" /> AS NOW /* 현재 일시 */
, (SELECT GET_CODE_NM('FIM054', S.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (SELECT GET_CODE_NM('FIM067', S.SNDNG_REG_SE_CD) FROM DUAL) AS SNDNG_REG_SE_NM /* 발송 등록 구분 명 */
, (SELECT GET_CODE_NM('FIM047', S.SNDNG_SE_CD) FROM DUAL) AS SNDNG_SE_NM /* 발송 구분 명 */
, (SELECT GET_CODE_NM('FIM049', S.SNDNG_STTS_CD) FROM DUAL) AS SNDNG_STTS_NM /* 발송 상태 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = S.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = S.MDFR) AS MDFR_NM /* 수정자 명 */
FROM TB_SNDNG S
LEFT OUTER JOIN TB_VLTN V ON (S.VLTN_ID = V.VLTN_ID AND S.SGG_CD = V.SGG_CD AND S.TASK_SE_CD = V.TASK_SE_CD)
</sql>
<select id="selectSndngList" parameterType="map" resultType="dataobject">/* 발송 대장 목록 조회(sndngMapper.selectSndngList) */
<include refid="utility.paging-prefix" />
<include refid="selectList" />
WHERE S.SGG_CD = #{sggCd} /* 시군구 코드 */
AND S.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
<if test="schSndngYmdFrom != null">
AND S.SNDNG_YMD <![CDATA[>=]]> #{schSndngYmdFrom} /* 발송 일자 시작 */
</if>
<if test="schSndngYmdTo != null">
AND S.SNDNG_YMD <![CDATA[<=]]> #{schSndngYmdTo} /* 발송 일자 종료 */
</if>
<if test="sndngSeCd != null">
AND S.SNDNG_SE_CD = #{sndngSeCd} /* 발송 구분 코드 */
</if>
<if test="sndngSeCdFrom != null">
AND S.SNDNG_SE_CD <![CDATA[>=]]> #{sndngSeCdFrom} /* 발송 구분 코드 시작 */
</if>
<if test="sndngSeCdTo != null">
AND S.SNDNG_SE_CD <![CDATA[<=]]> #{sndngSeCdTo} /* 발송 구분 코드 종료 */
</if>
<choose>
<when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null">
AND S.REG_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') /* 등록 일자 시작 */
</if>
<if test="schRegDateTo != null">
AND S.REG_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') /* 등록 일자 종료 */
</if>
</when>
<when test="schRegDateOpt == 'mdfcnDt'">
<if test="schRegDateFrom != null">
AND S.MDFCN_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') /* 수정 일자 시작 */
</if>
<if test="schRegDateTo != null">
AND S.MDFCN_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') /* 수정 일자 종료 */
</if>
</when>
<otherwise>
</otherwise>
</choose>
<choose>
<when test="schRgtrOpt == 'rgtr'">
<if test="schRgtrCd != null">
AND S.RGTR = #{schRgtrCd} /* 등록자 코드 */
</if>
</when>
<when test="schRgtrOpt == 'mdfr'">
<if test="schRgtrCd != null">
AND S.MDFR = #{schRgtrCd} /* 수정자 코드 */
</if>
</when>
<otherwise>
</otherwise>
</choose>
<choose>
<when test="delYN != null">
AND S.DEL_YN = #{delYN} /* 삭제 여부 */
</when>
<otherwise>
AND S.DEL_YN = 'N' /* 삭제 여부 */
</otherwise>
</choose>
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'taskSeCd'"> S.TASK_SE_CD </when>
<when test="by == 'sndngRegSeCd'"> S.SNDNG_REG_SE_CD </when>
<when test="by == 'sndngSeCd'"> S.SNDNG_SE_CD </when>
<when test="by == 'levyBgngYmd'"> S.LEVY_BGNG_YMD </when>
<when test="by == 'levyEndYmd'"> S.LEVY_END_YMD </when>
<when test="by == 'sndngYmd'"> S.SNDNG_YMD </when>
<when test="by == 'dudtYmd'"> S.DUDT_YMD </when>
<when test="by == 'ttlNm'"> S.TTL_NM </when>
<when test="by == 'docNo'"> S.DOC_NO </when>
<when test="by == 'etcCn'"> S.ETC_CN </when>
<when test="by == 'tnocs'"> S.TNOCS </when>
<when test="by == 'gramt'"> S.GRAMT </when>
<when test="by == 'sndngSttsCd'"> S.SNDNG_STTS_CD </when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectSndngs" parameterType="map" resultType="dataobject">/* 발송 대장 객체 가져오기(sndngMapper.selectSndngs) */
<include refid="selectList" />
<where>
<if test="sndngIDs != null">
AND S.SNDNG_ID IN ( /* 발송 IDs */
<foreach collection="sndngIDs" item="sndngId" separator=","> #{sndngId} </foreach>
)
</if>
<if test="sndngId != null">
AND S.SNDNG_ID = #{sndngId} /* 발송 ID */
</if>
<choose>
<when test="delYN != null">
AND S.DEL_YN = #{delYN} /* 삭제 여부 */
</when>
<otherwise>
AND S.DEL_YN = 'N' /* 삭제 여부 */
</otherwise>
</choose>
</where>
<include refid="utility.orderBy" />
</select>
<insert id="insertSndng" parameterType="map">/* 발송 대장 등록(sndngMapper.insertSndng) */ <insert id="insertSndng" parameterType="map">/* 발송 대장 등록(sndngMapper.insertSndng) */
<selectKey resultType="string" keyProperty="sndng.sndngId" keyColumn="NEW_ID" order="BEFORE"> <selectKey resultType="string" keyProperty="sndng.sndngId" keyColumn="NEW_ID" order="BEFORE">

@ -435,9 +435,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -558,6 +555,9 @@
// 화면 데이터 설정 // 화면 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -548,9 +548,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -810,6 +807,9 @@
// 첫번째 "전체" 탭에 datatable 설정 // 첫번째 "전체" 탭에 datatable 설정
$("#tabEpostRcpt0").html($("#datatable--${pageName}")); $("#tabEpostRcpt0").html($("#datatable--${pageName}"));
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -444,9 +444,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -558,6 +555,9 @@
$("#deptCd--${pageName}").val("${deptCd}"); // 부서 코드 $("#deptCd--${pageName}").val("${deptCd}"); // 부서 코드
$("#conOrg--${pageName}").val("${conOrg}"); // E그린 외부기관구분코드 $("#conOrg--${pageName}").val("${conOrg}"); // E그린 외부기관구분코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -583,9 +583,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -744,6 +741,9 @@
// 화면 데이터 설정 // 화면 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -407,9 +407,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -520,6 +517,9 @@
// 화면 데이터 설정 // 화면 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -490,9 +490,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -626,6 +623,9 @@
$(vltnCd).each(function(index, item) { $(vltnCd).each(function(index, item) {
$("#schVltnCd--${pageName}").append("<option value='" + vltnCd[index].code +"'>" + vltnCd[index].value + "</option>"); $("#schVltnCd--${pageName}").append("<option value='" + vltnCd[index].code +"'>" + vltnCd[index].value + "</option>");
}); });
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -553,9 +553,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -657,6 +654,9 @@
// 화면 데이터 설정 // 화면 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -495,9 +495,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -598,6 +595,9 @@
// 화면 데이터 설정 // 화면 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -529,9 +529,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -718,6 +715,9 @@
$("#theadTr--${pageName}").html(colsOuterHTML); $("#theadTr--${pageName}").html(colsOuterHTML);
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -168,6 +168,7 @@
, keymapper : info => info ? info.CRDN_ID : "" , keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.wrngTrgtList , dataGetter : obj => obj.wrngTrgtList
, appendData : true , appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
TNOCS : numberFormat TNOCS : numberFormat
@ -347,12 +348,20 @@
setFormData${pageName} = () => { setFormData${pageName} = () => {
$("#tnocs--${pageName}").val(${pageName}Control.dataset.getValue("TNOCS")); // 총건수 $("#tnocs--${pageName}").val(${pageName}Control.dataset.getValue("TNOCS")); // 총건수
$("#gramt--${pageName}").val(${pageName}Control.dataset.getValue("GRAMT")); // 총금액 $("#gramt--${pageName}").val(${pageName}Control.dataset.getValue("GRAMT")); // 총금액
$("#ttlNm--${pageName}").val("계고장 발송"); // 제목
// 발송 종료 일자 // 발송 종료 일자
$("#sndngEndYmd--${pageName}").val(""); $("#sndngEndYmd--${pageName}").val("");
$("#sndngEndYmd--${pageName}").prop("disabled", true); $("#sndngEndYmd--${pageName}").prop("disabled", true);
$("#divSndngEndYmd--${pageName}").hide(); $("#divSndngEndYmd--${pageName}").hide();
// 제목
let ttlNm = ${pageName}Control.dataset.getValue("TASK_SE_NM");
ttlNm = ttlNm + " " + ${pageName}Control.dataset.getValue("VLTN_ARTCL");
ttlNm = ttlNm + " " + "계고장";
$("#ttlNm--${pageName}").val(ttlNm);
// URL 설정
setURL${pageName}(${pageName}Query.taskSeCd);
} }
// 업무구분에 따른 url 설정 // 업무구분에 따른 url 설정
@ -376,9 +385,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(); setFormData${pageName}();
// URL 설정
setURL${pageName}(${pageName}Query.taskSeCd);
// 보안모드 // 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
}); });

@ -228,6 +228,7 @@
, keymapper : info => info ? info.SNDNG_ID : "" , keymapper : info => info ? info.SNDNG_ID : ""
, dataGetter : obj => obj.wrngSndngList , dataGetter : obj => obj.wrngSndngList
, appendData : true , appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
SNDNG_YMD : dateFormat SNDNG_YMD : dateFormat
@ -425,9 +426,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -530,6 +528,9 @@
// 화면 데이터 설정 // 화면 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -291,6 +291,7 @@
, keymapper : info => info ? info.CRDN_ID : "" , keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.advntceTrgtList , dataGetter : obj => obj.advntceTrgtList
, appendData : true , appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
CVLCPT_RCPT_YMD : dateFormat CVLCPT_RCPT_YMD : dateFormat
@ -403,9 +404,6 @@
${pageName}Control.untilPageNum = 0; ${pageName}Control.untilPageNum = 0;
} }
// checkbox 체크 해제
$("th input[type='checkbox']").prop("checked", false);
//보안모드 //보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
} }
@ -494,9 +492,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -598,7 +593,7 @@
// 달력 초기화 // 달력 초기화
initDatepicker("frmSearch--${pageName}"); initDatepicker("frmSearch--${pageName}");
$("#schCrdnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date); $("#schCrdnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
$("#schCrdnYmdTo--${pageName}").datepicker("setDate", new Date()); $("#schCrdnYmdTo--${pageName}").datepicker("setDate", new Date());
// 사용자 이름 // 사용자 이름
@ -641,12 +636,6 @@
$("#schVltnCd--${pageName}").append("<option value='" + vltnCode[index].code +"'>" + vltnCode[index].value + "</option>"); $("#schVltnCd--${pageName}").append("<option value='" + vltnCode[index].code +"'>" + vltnCode[index].value + "</option>");
}) })
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schCrdnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
$("#schCrdnYmdTo--${pageName}").datepicker("setDate", new Date());
// 업무별 조회조건 // 업무별 조회조건
let clsForTask = taskSeCd.toLowerCase(); let clsForTask = taskSeCd.toLowerCase();
@ -665,6 +654,9 @@
$("#theadTr--${pageName}").html(colsOuterHTML); $("#theadTr--${pageName}").html(colsOuterHTML);
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -168,6 +168,7 @@
, keymapper : info => info ? info.CRDN_ID : "" , keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.advntceTrgtList , dataGetter : obj => obj.advntceTrgtList
, appendData : true , appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
TNOCS : numberFormat TNOCS : numberFormat
@ -350,7 +351,15 @@
$("#gramt--${pageName}").val(${pageName}Control.dataset.getValue("GRAMT")); // 총금액 $("#gramt--${pageName}").val(${pageName}Control.dataset.getValue("GRAMT")); // 총금액
$("#sndngYmd--${pageName}").val(${pageName}AdvntceYmdInfo.LEVY_YMD_MASK); // 발송일자 $("#sndngYmd--${pageName}").val(${pageName}AdvntceYmdInfo.LEVY_YMD_MASK); // 발송일자
$("#sndngEndYmd--${pageName}").val(${pageName}AdvntceYmdInfo.DUDT_YMD_MASK); // 납기일자 $("#sndngEndYmd--${pageName}").val(${pageName}AdvntceYmdInfo.DUDT_YMD_MASK); // 납기일자
$("#ttlNm--${pageName}").val("사전통지 발송"); // 제목
// 제목
let ttlNm = ${pageName}Control.dataset.getValue("TASK_SE_NM");
ttlNm = ttlNm + " " + ${pageName}Control.dataset.getValue("VLTN_ARTCL");
ttlNm = ttlNm + " " + "사전통지";
$("#ttlNm--${pageName}").val(ttlNm);
// URL 설정
setURL${pageName}(${pageName}Query.taskSeCd);
} }
// 업무구분에 따른 url 설정 // 업무구분에 따른 url 설정
@ -374,9 +383,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(); setFormData${pageName}();
// URL 설정
setURL${pageName}(${pageName}Query.taskSeCd);
// 보안모드 // 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
}); });

@ -229,6 +229,7 @@
, keymapper : info => info ? info.SNDNG_ID : "" , keymapper : info => info ? info.SNDNG_ID : ""
, dataGetter : obj => obj.advntceSndngList , dataGetter : obj => obj.advntceSndngList
, appendData : true , appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
SNDNG_YMD : dateFormat SNDNG_YMD : dateFormat
@ -335,9 +336,6 @@
${pageName}Control.untilPageNum = 0; ${pageName}Control.untilPageNum = 0;
} }
// checkbox 체크 해제
$("th input[type='checkbox']").prop("checked", false);
//보안모드 //보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
} }
@ -426,9 +424,6 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(taskSeCd); setFormData${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -530,6 +525,9 @@
// 화면 데이터 설정 // 화면 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -13,7 +13,7 @@
<div> <div>
<!-- 상단 버튼 --> <!-- 상단 버튼 -->
<div class="container-page-btn"> <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="fnResetAndChangeBiz${pageName}();">
초기화 초기화
</button> </button>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
@ -111,8 +111,7 @@
</button> </button>
</div> </div>
</div> </div>
</div> </div> <!-- / 상세 조건 -->
<!-- / 상세 조건 -->
</form> </form>
<!-- / 검색 조건 영역 --> <!-- / 검색 조건 영역 -->
@ -151,8 +150,8 @@
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SNDNG_END_YMD', this.innerText, 'ymd', '');">납기일자</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th> <th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TNOCS', this.innerText, 'match', 'part');">총건수</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th> <th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('GRAMT', this.innerText, 'match', 'part');">총금액</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th> <th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'match', 'part');">문서번호</th>
<th class="cmn" style="width: 320px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th> <th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th> <th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th> <th class="cmn" style="width: 180px;">수정일시</th>
@ -172,8 +171,8 @@
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td> <td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{TNOCS}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td> <td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{GRAMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TTL_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</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}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</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}">{MDFCN_DT}</td>
@ -221,6 +220,7 @@
, keymapper : info => info ? info.SNDNG_ID : "" , keymapper : info => info ? info.SNDNG_ID : ""
, dataGetter : obj => obj.nhtSndngList , dataGetter : obj => obj.nhtSndngList
, appendData : true , appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
SNDNG_YMD : dateFormat SNDNG_YMD : dateFormat
@ -237,7 +237,7 @@
**************************************************************************/ **************************************************************************/
// Dataset 변경 이벤트 // Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => { ${pageName}Control.onDatasetChange = obj => {
renderList${pageName}(); renderList${pageName}(obj.${infoPrefix}Total);
$("#paging--${pageName}").setPagingInfo({ $("#paging--${pageName}").setPagingInfo({
list : ${pageName}Control.dataset list : ${pageName}Control.dataset
@ -262,14 +262,12 @@
// 발송 상세 // 발송 상세
${pageName}Control.getInfo = (sndngId) => { ${pageName}Control.getInfo = (sndngId) => {
if (!sndngId) return; if (typeof sndngId == "undefined" || sndngId == null || sndngId == "") return;
let params = { let params = ${pageName}Control.query;
callPurpose : "view" params.callPurpose = "view"; // 호출 용도
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 params.pageNum = 1; // 페이지 번호
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 params.sndngId = sndngId; // 발송 ID
, sndngId : sndngId // 발송 ID
};
ajax.get({ ajax.get({
url : ${pageName}Control.urls.getInfo url : ${pageName}Control.urls.getInfo
@ -280,17 +278,16 @@
, title : "고지서 세부 내용" , title : "고지서 세부 내용"
, content : resp , content : resp
, size : ${pageName}Control.infoSize , size : ${pageName}Control.infoSize
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
}); });
} }
}); });
} }
/************************************************************************** /**************************************************************************
* * DataTables 이벤트
**************************************************************************/ **************************************************************************/
// DataTables에 click, dbclick 이벤트 // DataTables에 click, dbclick 이벤트
renderList${pageName} = () => { renderList${pageName} = (totalSize) => {
let ${infoPrefix}List = ${pageName}Control.dataset; let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty; let empty = ${infoPrefix}List.empty;
@ -303,109 +300,107 @@
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("SNDNG_ID") + "');") .replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("SNDNG_ID") + "');")
); );
$("#tbody--${pageName}").html(trs.join()); let noMore = (totalSize == ${infoPrefix}List.length);
$("th input[type='checkbox']").prop("checked", false); let initScroll = (${pageName}Control.query.pageNum < 2) && (${pageName}Control.untilPageNum == 0);
$("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
if (${pageName}Control.untilPageNum != 0) {
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize;
${pageName}Control.query.pageNum = ${pageName}Control.untilPageNum;
${pageName}Control.untilPageNum = 0;
}
//보안모드 //보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
} }
// 신규 등록 dialog -> callback 추가 // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
getNhtSndngInfo${pageName} = (params) => { scrollDataList${pageName} = () => {
if (!params) return; ${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false
${pageName}Control.load(${pageName}Control.query.pageNum + 1);
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// callback 사용자 검색
callbackFindUser${pageName} = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
// 사용자 검색
getFindUser${pageName} = () => {
let params = {
callbackFuncName : "callbackFindUser${pageName}"
}
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/110/info.do") url : wctx.url("/user/user02/010/main.do")
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : ${pageName}Control.prefixed("Dialog") id : "userDialog"
, title :"고지서 발송 대상" , title : "사용자 검색"
, content : resp , content : resp
, size : "lg" , size : "lg"
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
}); });
} }
}); });
} }
/************************************************************************** // 개별총정보 dialog
* 초기 셋팅 getTotalInfo${pageName} = (crdnId) => {
**************************************************************************/ if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 초기화
initForm${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// dataset 초기화 let params = {
${pageName}Control.dataset.clear(); callControlName : "${pageName}Control"
, sggCd : $("#sggCd--${pageName}").val()
, taskSeCd : $("input[name=taskSeCd]:checked").val()
, crdnId : crdnId
} }
// 이벤트 ajax.get({
setEvent${pageName} = () => { url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do")
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 , data : params
$("#frmSearch--${pageName}").find(".form-date").each(function() { , success : resp => {
$(this).on("input", function() { dialog.open({
let value = this.value.replaceAll("-", ""); id : "totalInfoMainDialog"
, title : "개별총정보"
if (value.length > 7) { , content : resp
this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6); , size : "xxl"
} else if(value.length > 5) {
this.value = value.substring(0, 4) + "-" + value.substring(4);
}
});
}); });
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트
$("#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.getValue("TOT_CNT"); // let totCnt = ${pageName}Control.dataset.getCurrent("item").data.TOT_CNT;
if (itemsCnt >= totCnt) {
return;
} }
if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) { // 신규 등록 dialog -> callback 추가
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 getNhtSndngInfo${pageName} = (params) => {
if (!params) return;
${pageName}Control.load(${pageName}Control.query.pageNum + 1); ajax.get({
} url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/110/info.do")
, data : params || {}
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
, title :"고지서 발송 대상"
, content : resp
, size : "lg"
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
}); });
} }
// 화면 초기값 셋팅
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}");
$("#schSndngYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schSndngYmdTo--${pageName}").datepicker("setDate", new Date());
} }
// URL 설정 // 검색 자료 재조회
setURL${pageName} = (taskSeCd) => { refreshList${pageName} = () => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/090/list.do"); // 조회 ${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/100/info.do"); // 고지서 세부 내용 ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
${pageName}Control.load(1);
} }
/************************************************************************** /**************************************************************************
@ -413,24 +408,16 @@
**************************************************************************/ **************************************************************************/
// 업무 구분 변경 // 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => { fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 초기화
initForm${pageName}();
// 업무 구분 코드 // 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
} }
// 화면 초기값 설정 // 초기 기본 설정
setForm${pageName}(taskSeCd); initForm${pageName}();
// URL 설정
setURL${pageName}(taskSeCd);
}
// 초기화 버튼 이벤트 // 기본 데이터 설정
fnReset${pageName} = () => { setFormData${pageName}(taskSeCd);
fnResetAndChangeBiz${pageName}();
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -438,17 +425,36 @@
// 검색조건 // 검색조건
${pageName}Control.query = ${pageName}Fields.get(); ${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30 ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수
${pageName}Control.query.sndngSeCdFrom = "03"; // 발송 구분 코드 - 03 부과고지서 ${pageName}Control.query.sndngSeCdFrom = "03"; // 발송 구분 코드 - 03 부과고지서
${pageName}Control.query.sndngSeCdTo = "08"; // 발송 구분 코드 - 08 체납고지서 ${pageName}Control.query.sndngSeCdTo = "08"; // 발송 구분 코드 - 08 체납고지서
${pageName}Control.query.delYn = "N"; // 삭제 여부 ${pageName}Control.query.delYN = "N"; // 삭제 여부
${pageName}Control.load(); ${pageName}Control.load(1);
} }
// 엑셀 버튼 이벤트 // 엑셀 버튼 이벤트
fnExcel${pageName} = () => { fnExcel${pageName} = () => {
if (${pageName}Control.dataset.empty) {
dialog.alert({
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
return;
}
// DataTables(그리드)
let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
, $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
${pageName}Control.query.cellDefs = cellDefs;
${pageName}Control.download();
}
// 사용자 조회 버튼 이벤트
fnFindUser${pageName} = () => {
getFindUser${pageName}();
} }
// 신규 등록 // 신규 등록
@ -463,24 +469,92 @@
} }
/************************************************************************** /**************************************************************************
* script 진입 * 초기 셋팅
**************************************************************************/ **************************************************************************/
$(document).ready(function() { // 이벤트
setEvent${pageName} = () => {
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) {
if (e.keyCode == 13) {
fnSearchList${pageName}();   
}    
});
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() {
let value = this.value.replaceAll("-", "");
if (value.length > 7) {
this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6);
} else if(value.length > 5) {
this.value = value.substring(0, 4) + "-" + value.substring(4);
}
});
});
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트 생성
fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName});
}
// 화면 초기 설정
initForm${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
});
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schSndngYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
$("#schSndngYmdTo--${pageName}").datepicker("setDate", new Date());
// 사용자 이름
$("#schRgtrNm--${pageName}").prop("readonly", true);
// dataset 초기화
${pageName}Control.dataset.clear();
}
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName} = (taskSeCd) => {
// ${pageName}Control 설정
${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
// 화면 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
// URL 설정
setURL${pageName}(taskSeCd);
}
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/090/list.do"); // 조회
${pageName}Control.urls.getInfo = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/100/info.do"); // 고지서 세부 내용
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 보안모드 // 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); 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); fnResetAndChangeBiz${pageName}($("#layout-navbar input[name='taskSeCd']:checked").val());
}); });
</script> </script>

Loading…
Cancel
Save