1. 엑셀 저장 수정.

2. 기타 수정.
main
jjh 11 months ago
parent d8686230e8
commit 2ff7722cd7

@ -1,7 +1,9 @@
package cokr.xit.fims.excl.web;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.BiFunction;
import javax.annotation.Resource;
@ -12,8 +14,10 @@ import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.code.CommonCode;
import cokr.xit.base.file.xls.XLSWriter;
import cokr.xit.base.file.xls.XLSWriter.Styler;
import cokr.xit.base.user.ManagedUser;
import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.excl.LevyExcl;
import cokr.xit.fims.excl.LevyExclQuery;
import cokr.xit.fims.excl.service.LevyExclService;
@ -91,38 +95,71 @@ public class Excl01Controller extends ApplicationController {
return setCollectionInfo(new ModelAndView("jsonView"), result, "levyExcl");
} else {
XLSWriter xlsx = new XLSWriter()
.setFilename("부과제외 목록.xlsx")
.worksheet(0);
XLSWriter.Styler header = new XLSWriter.Styler()
.width(20)
.foregroundColor(HSSFColor.HSSFColorPredefined.LIGHT_BLUE.getIndex())
.configure(styler -> {
Font font = xlsx.workbook().createFont();
font.setColor(HSSFColor.HSSFColorPredefined.WHITE.getIndex());
styler.font(font);
});
CellStyle numeric = xlsx.n_nn0();
.setFilename("부과제외 목록.xlsx")
.worksheet(0);
CellStyle center = xlsx.cellStyle(Styler.CENTER) // 가운데 정렬
, numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,)
, dateYMD = xlsx.yyyy_mm_dd() // 연월일
, dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
String[] excelTitle = req.getExcelTitle();
List<String> titles = new ArrayList<String>();
for (int iLoop = 0; iLoop < excelTitle.length; iLoop++) {
String item = excelTitle[iLoop];
titles.add(item);
}
int[] excelTitleWidth = req.getExcelTitleWidth();
List<Integer> widths = new ArrayList<>();
for (int jLoop = 0; jLoop < excelTitleWidth.length; jLoop++) {
int item = excelTitleWidth[jLoop];
widths.add(item);
}
List<Styler> headerStylers = CmmnUtil.makeHeadersByDiffrentWidths(widths, xlsx);
xlsx.cell(0, 0)
.value("부과제외 목록", XLSWriter.Styler.CENTER)
.merge(0, 15)
.value("부과제외", XLSWriter.Styler.CENTER)
.merge(0, 11)
.cell(3, 0)
.rowValues(List.of(
"업무구분", header, "부과제외일자", header, "부과제외구분", header, "부과제외사유", header, "기타내용", header,
"민원신청번호", header, "민원접수번호", header, "민원접수일자", header, "단속일시", header, "차량번호", header,
"법정동", header, "단속장소", header, "과태료금액", header, "처리상태", header, "납부자명", header, "납부자생일", header
))
.cell(4, 0)
.values(
levyExclService.getLevyExclList(req.setFetchSize(0)),
"TASK_SE_NM", xlsx.format(r -> xlsx.str2date(r.get("LEVY_EXCL_YMD"))), "LEVY_EXCL_SE_NM", "LEVY_EXCL_RSN_NM", "ETC_CN",
"CVLCPT_APLY_NO", "CVLCPT_RCPT_NO", xlsx.format(r -> xlsx.str2date(r.get("CVLCPT_RCPT_YMD"))), xlsx.format(r -> xlsx.str2date(r.get("CRDN_YMD")) + " " + xlsx.str2time(r.get("CRDN_TM"))),
"VHRNO", "CRDN_STDG_NM", "CRDN_PLC", xlsx.style("FFNLG_AMT", numeric), "CRDN_STTS_NM", "RTPYR_NM", xlsx.format(r -> xlsx.str2date(r.get("RTPYR_BRDT")))
);
.rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
List<DataObject> list = levyExclService.getLevyExclList(req.setFetchSize(0));
BiFunction<String, String, ?> getValue = (titleNm, nothing) -> {
switch (titleNm) {
case "업무구분" : return xlsx.style("TASK_SE_NM", center);
case "부과제외일자" : return xlsx.format(o -> xlsx.str2date(o.get("LEVY_EXCL_YMD"))).style(dateYMD);
case "부과제외구분" : return xlsx.style("LEVY_EXCL_SE_NM", center);
case "부과제외사유" : return xlsx.style("LEVY_EXCL_RSN_NM", center);
case "기타내용" : return "ETC_CN";
case "민원신청번호" : return xlsx.style("CVLCPT_APLY_NO", center);
case "민원접수번호" : return xlsx.style("CVLCPT_RCPT_NO", center);
case "민원접수일자" : return xlsx.format(o -> xlsx.str2date(o.get("CVLCPT_RCPT_YMD"))).style(dateYMD);
case "단속일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT);
case "차량번호" : return "VHRNO";
case "단속법정동" : return "CRDN_STDG_NM";
case "단속장소" : return "CRDN_PLC";
case "위반항목" : return "VLTN_ARTCL";
case "최초단속금액" : return xlsx.style("FFNLG_CRDN_AMT", numeric);
case "처리상태" : return "CRDN_STTS_NM";
case "납부자명" : return "RTPYR_NM";
case "납부자생일" : return xlsx.style("RTPYR_BRDT_MASK", center);
case "등록일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT);
case "등록사용자" : return xlsx.style("RGTR_NM", center);
case "수정일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT);
case "수정사용자" : return xlsx.style("MDFR_NM", center);
}
return "";
};
xlsx.cell(4, 0)
.values(list, titles.stream().map((item) -> { return getValue.apply(item, null); }).toArray());
return new ModelAndView("xlsView")
.addObject("xls", xlsx);
.addObject("xls", xlsx);
}
}
@ -259,3 +296,43 @@ public class Excl01Controller extends ApplicationController {
}
}
/*
if (!"xls".equals(req.getDownload())) {
List<?> result = levyExclService.getLevyExclList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "levyExcl");
} else {
XLSWriter xlsx = new XLSWriter()
.setFilename("부과제외 목록.xlsx")
.worksheet(0);
XLSWriter.Styler header = new XLSWriter.Styler()
.width(20)
.foregroundColor(HSSFColor.HSSFColorPredefined.LIGHT_BLUE.getIndex())
.configure(styler -> {
Font font = xlsx.workbook().createFont();
font.setColor(HSSFColor.HSSFColorPredefined.WHITE.getIndex());
styler.font(font);
});
CellStyle numeric = xlsx.n_nn0();
xlsx.cell(0, 0)
.value("부과제외 목록", XLSWriter.Styler.CENTER)
.merge(0, 15)
.cell(3, 0)
.rowValues(List.of(
"업무구분", header, "부과제외일자", header, "부과제외구분", header, "부과제외사유", header, "기타내용", header,
"민원신청번호", header, "민원접수번호", header, "민원접수일자", header, "단속일시", header, "차량번호", header,
"법정동", header, "단속장소", header, "과태료금액", header, "처리상태", header, "납부자명", header, "납부자생일", header
))
.cell(4, 0)
.values(
levyExclService.getLevyExclList(req.setFetchSize(0)),
"TASK_SE_NM", xlsx.format(r -> xlsx.str2date(r.get("LEVY_EXCL_YMD"))), "LEVY_EXCL_SE_NM", "LEVY_EXCL_RSN_NM", "ETC_CN",
"CVLCPT_APLY_NO", "CVLCPT_RCPT_NO", xlsx.format(r -> xlsx.str2date(r.get("CVLCPT_RCPT_YMD"))), xlsx.format(r -> xlsx.str2date(r.get("CRDN_YMD")) + " " + xlsx.str2time(r.get("CRDN_TM"))),
"VHRNO", "CRDN_STDG_NM", "CRDN_PLC", xlsx.style("FFNLG_AMT", numeric), "CRDN_STTS_NM", "RTPYR_NM", xlsx.format(r -> xlsx.str2date(r.get("RTPYR_BRDT")))
);
return new ModelAndView("xlsView")
.addObject("xls", xlsx);
}
*/

@ -107,7 +107,8 @@ public class Excl02Controller extends ApplicationController {
.setFilename("의견제출 목록.xlsx")
.worksheet(0);
CellStyle numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,)
CellStyle center = xlsx.cellStyle(Styler.CENTER) // 가운데 정렬
, numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,)
, dateYMD = xlsx.yyyy_mm_dd() // 연월일
, dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
@ -129,7 +130,7 @@ public class Excl02Controller extends ApplicationController {
xlsx.cell(0, 0)
.value("의견제출", XLSWriter.Styler.CENTER)
.merge(0, 23)
.merge(0, 12)
.cell(3, 0)
.rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
@ -137,30 +138,34 @@ public class Excl02Controller extends ApplicationController {
BiFunction<String, String, ?> getValue = (titleNm, nothing) -> {
switch (titleNm) {
case "업무구분" : return xlsx.style("TASK_SE_NM", XLSWriter.Styler.CENTER);
case "업무구분" : return xlsx.style("TASK_SE_NM", center);
case "접수번호" : return xlsx.style("RCPT_NO", center);
case "접수일자" : return xlsx.format(o -> xlsx.str2date(o.get("RCPT_YMD"))).style(dateYMD);
case "접수번호" : return xlsx.style("RCPT_NO", XLSWriter.Styler.CENTER);
case "접수구분" : return xlsx.style("RCPT_SE_NM", XLSWriter.Styler.CENTER);
case "통보구분" : return xlsx.style("NTFCTN_SE_NM", XLSWriter.Styler.CENTER);
case "진술자명" : return xlsx.style("STTR_NM", XLSWriter.Styler.LEFT);
case "의견제출상태" : return xlsx.style("OPNN_SBMSN_STTS_NM", XLSWriter.Styler.CENTER);
case "의견제출분류" : return xlsx.style("OPNN_SBMSN_SE_NM", XLSWriter.Styler.LEFT);
case "의견제출요지" : return xlsx.style("OPNN_SBMSN_GIST", XLSWriter.Styler.LEFT);
case "접수구분" : return xlsx.style("RCPT_SE_NM", center);
case "통보구분" : return xlsx.style("NTFCTN_SE_NM", center);
case "소유주관계" : return xlsx.style("OWNR_REL_NM", center);
case "진술자명" : return "STTR_NM";
case "진술자생일" : return xlsx.style("STTR_BRDT_MASK", center);
case "의견제출상태" : return xlsx.style("OPNN_SBMSN_STTS_NM", center);
case "의견제출분류" : return "OPNN_SBMSN_SE_NM";
case "의견제출요지" : return "OPNN_SBMSN_GIST";
case "문서번호" : return "DOC_NO";
case "답변일자" : return xlsx.format(o -> xlsx.str2date(o.get("ANS_YMD"))).style(dateYMD);
case "답변내용" : return "ANS_CN";
case "단속일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT);
case "차량번호" : return xlsx.style("VHRNO", XLSWriter.Styler.LEFT);
case "단속장소" : return xlsx.style("CRDN_PLC", XLSWriter.Styler.LEFT);
case "차량번호" : return "VHRNO";
case "단속법정동" : return "CRDN_STDG_NM";
case "단속장소" : return "CRDN_PLC";
case "위반항목" : return "VLTN_ARTCL";
case "최초단속금액" : return xlsx.style("FFNLG_CRDN_AMT", numeric);
case "과태료금액" : return xlsx.style("FFNLG_AMT", numeric);
case "처리상태" : return xlsx.style("CRDN_STTS_NM", XLSWriter.Styler.LEFT);
case "문서번호" : return xlsx.style("DOC_NO", XLSWriter.Styler.LEFT);
case "답변일자" : return xlsx.format(o -> xlsx.str2date(o.get("ANS_YMD"))).style(dateYMD);
case "답변내용" : return xlsx.style("ANS_CN", XLSWriter.Styler.LEFT);
case "납부자명" : return xlsx.style("RTPYR_NM", XLSWriter.Styler.LEFT);
case "납부자생일" : return xlsx.format(o -> xlsx.str2date(o.get("RTPYR_BRDT"))).style(dateYMD);
case "처리상태" : return "CRDN_STTS_NM";
case "납부자명" : return "RTPYR_NM";
case "납부자생일" : return xlsx.style("RTPYR_BRDT_MASK", center);
case "등록일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT);
case "등록사용자" : return xlsx.style("RGTR_NM", XLSWriter.Styler.CENTER);
case "등록사용자" : return xlsx.style("RGTR_NM", center);
case "수정일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT);
case "수정사용자" : return xlsx.style("MDFR_NM", XLSWriter.Styler.CENTER);
case "수정사용자" : return xlsx.style("MDFR_NM", center);
}
return "";

@ -92,7 +92,8 @@ public class Excl03Controller extends ApplicationController {
.setFilename("단속 재등록 목록.xlsx")
.worksheet(0);
CellStyle numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,)
CellStyle center = xlsx.cellStyle(Styler.CENTER) // 가운데 정렬
, numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,)
, dateYMD = xlsx.yyyy_mm_dd() // 연월일
, dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
@ -114,7 +115,7 @@ public class Excl03Controller extends ApplicationController {
xlsx.cell(0, 0)
.value("단속 재등록", XLSWriter.Styler.CENTER)
.merge(0, 11)
.merge(0, 12)
.cell(3, 0)
.rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
@ -122,18 +123,19 @@ public class Excl03Controller extends ApplicationController {
BiFunction<String, String, ?> getValue = (titleNm, nothing) -> {
switch (titleNm) {
case "업무구분" : return xlsx.style("TASK_SE_NM", XLSWriter.Styler.CENTER);
case "업무구분" : return xlsx.style("TASK_SE_NM", center);
case "재등록일자" : return xlsx.format(o -> xlsx.str2date(o.get("RE_REG_YMD"))).style(dateYMD);
case "단속등록구분" : return xlsx.style("CRDN_REG_SE_NM", XLSWriter.Styler.CENTER);
case "기타내용" : return xlsx.style("ETC_CN", XLSWriter.Styler.LEFT);
case "단속등록구분" : return xlsx.style("CRDN_REG_SE_NM", center);
case "기타내용" : return "ETC_CN";
case "단속일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT);
case "차량번호" : return xlsx.style("VHRNO", XLSWriter.Styler.LEFT);
case "법정동" : return xlsx.style("CRDN_STDG_NM", XLSWriter.Styler.CENTER);
case "단속장소" : return xlsx.style("CRDN_PLC", XLSWriter.Styler.LEFT);
case "차량번호" : return "VHRNO";
case "단속법정동" : return "CRDN_STDG_NM";
case "단속장소" : return "CRDN_PLC";
case "위반항목" : return "VLTN_ARTCL";
case "최초단속금액" : return xlsx.style("FFNLG_CRDN_AMT", numeric);
case "처리상태" : return xlsx.style("CRDN_STTS_NM", XLSWriter.Styler.LEFT);
case "처리상태" : return "CRDN_STTS_NM";
case "등록일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT);
case "등록사용자" : return xlsx.style("RGTR_NM", XLSWriter.Styler.CENTER);
case "등록사용자" : return xlsx.style("RGTR_NM", center);
}
return "";

@ -57,7 +57,7 @@ public class Levy01Controller extends ApplicationController {
@Resource(name = "taskService")
private TaskService taskService;
/** (levy/levy01010-main) .
/** (levy/levy01010-main) .
* @return
*/
public ModelAndView reductionLevyTargetMain() {
@ -76,7 +76,7 @@ public class Levy01Controller extends ApplicationController {
;
}
/** .<br />
/** .<br />
* {@link LevyService#getRductLevyTrgtList(LevyQuery)}
* @param req
* @return jsonView
@ -120,7 +120,7 @@ public class Levy01Controller extends ApplicationController {
xlsx.cell(0, 0)
.value("사전 감경부과 대상", XLSWriter.Styler.CENTER)
.merge(0, 12)
.merge(0, 11)
.cell(3, 0)
.rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));

@ -32,9 +32,7 @@
, CRR.ETC_CN /* 기타 내용 */
, CRR.DEL_YN /* 삭제 여부 */
, CRR.REG_DT /* 등록 일시 */
, CRR.RGTR /* 등록자 */
, CRR.DEL_DT /* 삭제 일시 */
, CRR.DLTR /* 삭제자 */
, CRR.DEL_RSN /* 삭제 사유 */
, (SELECT GET_CODE_NM('FIM026', CRR.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CRR.RGTR) AS RGTR_NM /* 등록자 명 */
@ -42,8 +40,6 @@
, C.SGG_CD /* 시군구 코드 */
, C.TASK_SE_CD /* 업무 구분 코드 */
, C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */
, C.VHRNO /* 차량번호 */
, C.CRDN_STDG_NM /* 단속 법정동 명 */
, C.CRDN_ROAD_NM /* 단속 도로 명 */
@ -57,8 +53,12 @@
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, V.VLTN_ID /* 위반 ID */
, V.VLTN_CD /* 위반 코드 */
, V.VLTN_ARTCL /* 위반 항목 */
FROM TB_CRDN_RE_REG CRR
LEFT OUTER JOIN TB_CRDN C ON (CRR.CRDN_ID = C.CRDN_ID)
INNER JOIN TB_CRDN C ON (CRR.CRDN_ID = C.CRDN_ID)
INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID)
</sql>
<select id="selectCrdnReRegList" parameterType="map" resultType="dataobject">/* 단속 재등록 목록 조회(crdnReRegMapper.selectCrdnReRegList) */
@ -134,9 +134,8 @@
<when test="by == 'vhrno'"> C.VHRNO </when>
<when test="by == 'crdnStdgNm'"> C.CRDN_STDG_NM </when>
<when test="by == 'crdnPlc'"> C.CRDN_PLC </when>
<when test="by == 'vltnArtcl'"> V.VLTN_ARTCL </when>
<when test="by == 'ffnlgCrdnAmt'"> C.FFNLG_CRDN_AMT </when>
<when test="by == 'ffnlgAmt'"> C.FFNLG_AMT </when>
<when test="by == 'advntceAmt'"> C.ADVNTCE_AMT </when>
<when test="by == 'crdnSttsCd'"> C.CRDN_STTS_CD </when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />

@ -36,22 +36,17 @@
, LE.ETC_CN /* 기타 내용 */
, LE.DEL_YN /* 삭제 여부 */
, LE.REG_DT /* 등록 일시 */
, LE.RGTR /* 등록자 */
, LE.MDFCN_DT /* 수정 일시 */
, LE.MDFR /* 수정자 */
, LE.DEL_DT /* 삭제 일시 */
, LE.DLTR /* 삭제자 */
, LE.DEL_RSN /* 삭제 사유 */
, (SELECT GET_CODE_NM('FIM021', LE.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM /* 부과 제외 구분 명 */
, (SELECT GET_CODE_NM('FIM022', LE.LEVY_EXCL_RSN_CD) FROM DUAL) AS LEVY_EXCL_RSN_NM /* 부과 제외 사유 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.MDFR) AS MDFR_NM /* 수정자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.DLTR) AS DLTR_NM /* 삭제자 명 */
, (SELECT GET_CODE_NM('FIM021', LE.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM /* 부과 제외 구분 명 */
, (SELECT GET_CODE_NM('FIM022', LE.LEVY_EXCL_RSN_CD) FROM DUAL) AS LEVY_EXCL_RSN_NM /* 부과 제외 사유 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.MDFR) AS MDFR_NM /* 수정자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.DLTR) AS DLTR_NM /* 삭제자 명 */
, C.CRDN_ID /* 단속 ID */
, C.SGG_CD /* 시군구 코드 */
, C.TASK_SE_CD /* 업무 구분 코드 */
, C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */
, C.VHRNO /* 차량번호 */
, C.CRDN_STDG_NM /* 단속 법정동 명 */
, C.CRDN_ROAD_NM /* 단속 도로 명 */
@ -59,14 +54,14 @@
, C.FFNLG_CRDN_AMT /* 과태료 단속 금액 */
, C.FFNLG_AMT /* 과태료 금액 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, CA.CRDN_SE_CD /* 단속 구분 코드 */
, CA.CRDN_SPAREA_CD /* 단속 특별구역 코드 */
, CA.PARKNG_PSBLTY_RSLT_CD /* 주차 가능 결과 코드 */
, (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM /* 단속 구분 명 */
, (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL) AS CRDN_SPAREA_NM /* 단속 특별구역 명 */
, (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM /* 단속 구분 명 */
, (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL) AS CRDN_SPAREA_NM /* 단속 특별구역 명 */
, (SELECT GET_CODE_NM('FIM034', CA.PARKNG_PSBLTY_RSLT_CD) FROM DUAL) AS PARKNG_PSBLTY_RSLT_NM /* 주차 가능 결과 명 */
, V.VLTN_ID /* 위반 ID */
, V.VLTN_CD /* 위반 코드 */
@ -79,14 +74,15 @@
, P.ZIP /* 우편번호 */
, P.ADDR /* 주소 */
, P.DTL_ADDR /* 상세 주소 */
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */
, (SELECT GET_BRDT_FORMAT(P.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_MASK /* 납부자 생년월일 마스크 */
, CC.CVLCPT_LINK_ID /* 민원 연계 ID */
, CC.CVLCPT_RCPT_YMD /* 민원 접수 일자 */
, CC.CVLCPT_APLY_NO /* 민원 신청 번호 */
, CC.CVLCPT_RCPT_NO /* 민원 접수 번호 */
, CC.CVLCPT_PRCS_CD /* 민원 처리 코드 */
, CC.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */
, (SELECT GET_CODE_NM('FIM017', CC.CVLCPT_PRCS_CD) FROM DUAL) AS CVLCPT_PRCS_NM /* 민원 처리 명 */
, (SELECT GET_CODE_NM('FIM017', CC.CVLCPT_PRCS_CD) FROM DUAL) AS CVLCPT_PRCS_NM /* 민원 처리 명 */
FROM TB_LEVY_EXCL LE
INNER JOIN TB_CRDN C ON (LE.CRDN_ID = C.CRDN_ID)
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)

@ -75,16 +75,13 @@
, OS.ANS_CN /* 답변 내용 */
, OS.DEL_YN /* 삭제 여부 */
, OS.REG_DT /* 등록 일시 */
, OS.RGTR /* 등록자 */
, OS.MDFCN_DT /* 수정 일시 */
, OS.MDFR /* 수정자 */
, OS.DEL_DT /* 삭제 일시 */
, OS.DLTR /* 삭제자 */
, OS.DEL_RSN /* 삭제 사유 */
, (CONCAT(OS.ANS_YMD, OS.ANS_TM)) AS ANS_YMD_TM /* 답변 일시 */
, (SELECT GET_CODE_NM('FIM029', OS.RCPT_SE_CD) FROM DUAL) AS RCPT_SE_NM /* 접수 구분 명 */
, (SELECT GET_CODE_NM('FIM032', OS.OWNR_REL_CD) FROM DUAL) AS OWNR_REL_NM /* 소유주 관계 명*/
, (SELECT GET_BRDT_FORMAT(OS.STTR_BRDT, '-') FROM DUAL) AS STTR_BRDT_FORMAT /* 납부자 생년월일 */
, (SELECT GET_BRDT_FORMAT(OS.STTR_BRDT, '.') FROM DUAL) AS STTR_BRDT_MASK /* 진술자 생년월일 마스크 */
, (SELECT GET_CODE_NM('FIM033', OS.OPNN_SBMSN_SE_CD) FROM DUAL) AS OPNN_SBMSN_SE_NM /* 의견 제출 구분 명 */
, (SELECT GET_CODE_NM('FIM030', OS.NTFCTN_SE_CD) FROM DUAL) AS NTFCTN_SE_NM /* 통보 구분 명 */
, (SELECT GET_CODE_NM('FIM031', OS.OPNN_SBMSN_STTS_CD) FROM DUAL) AS OPNN_SBMSN_STTS_NM /* 의견 제출 상태 명 */
@ -95,8 +92,6 @@
, C.SGG_CD /* 시군구 코드 */
, C.TASK_SE_CD /* 업무 구분 코드 */
, C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */
, C.VHRNO /* 차량번호 */
, C.CRDN_STDG_NM /* 단속 법정동 명 */
, C.CRDN_ROAD_NM /* 단속 도로 명 */
@ -108,6 +103,9 @@
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, V.VLTN_ID /* 위반 ID */
, V.VLTN_CD /* 위반 코드 */
, V.VLTN_ARTCL /* 위반 항목 */
, P.RTPYR_ID /* 납부자 ID */
, P.RTPYR_SE_CD /* 납부자 구분 코드 */
, P.RTPYR_NO /* 납부자 번호 */
@ -117,6 +115,7 @@
, P.ADDR /* 주소 */
, P.DTL_ADDR /* 상세 주소 */
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */
, (SELECT GET_BRDT_FORMAT(P.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_MASK /* 납부자 생년월일 마스크 */
, R.RDUCT_ID /* 감경 ID */
, R.RDUCT_RSN_CD /* 감경 사유 코드 */
, R.ETC_CN AS RDUCT_ETC_CN /* 기타 내용 */
@ -125,6 +124,7 @@
END ) AS RDUCT_AMT /* 감경 금액 */
FROM TB_OPNN_SBMSN OS
INNER JOIN TB_CRDN C ON (OS.CRDN_ID = C.CRDN_ID)
INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID)
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_RDUCT R ON (C.CRDN_ID = R.CRDN_ID AND R.DEL_YN = 'N')
</sql>
@ -246,6 +246,9 @@
, C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */
, C.VHRNO /* 차량번호 */
, C.CRDN_STDG_NM /* 단속 법정동 명 */
, C.CRDN_ROAD_NM /* 단속 도로 명 */
, C.CRDN_PLC /* 단속 장소 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, C.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */

@ -111,9 +111,7 @@
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, C.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */
, C.REG_DT /* 등록 일시 */
, C.RGTR /* 등록자 */
, C.MDFCN_DT /* 수정 일시 */
, C.MDFR /* 수정자 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK /* 단속 일시 마스크 */
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */

@ -80,11 +80,8 @@
, R.RCVMT_STTS_CD /* 수납 상태 코드 */
, R.DEL_YN /* 삭제 여부 */
, R.REG_DT /* 등록 일시 */
, R.RGTR /* 등록자 */
, R.MDFCN_DT /* 수정 일시 */
, R.MDFR /* 수정자 */
, R.DEL_DT /* 삭제 일시 */
, R.DLTR /* 삭제자 */
, R.DEL_RSN /* 삭제 사유 */
, (SELECT GET_CODE_NM('FIM054', R.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (SELECT GET_CODE_NM('FIM044', R.RCVMT_INPT_SE_CD) FROM DUAL) AS RCVMT_INPT_SE_NM /* 수납 입력 구분 명 */

@ -458,6 +458,7 @@
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
return;
}

@ -599,6 +599,7 @@
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
return;
}

@ -472,6 +472,7 @@
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
return;
}

@ -128,6 +128,7 @@
</div>
</div>
</div> <!-- / 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
@ -206,13 +207,14 @@
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CVLCPT_RCPT_NO', this.innerText, 'match', 'part');">민원접수번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CVLCPT_RCPT_YMD', this.innerText, 'ymd', '');">민원접수일자</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">법정동</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'part');">과태료금액</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_CRDN_AMT', this.innerText, 'match', 'part');">최초단속금액</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'match', 'part');">납부자생일</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'ymd', '');">납부자생일</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
@ -238,10 +240,11 @@
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_CRDN_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT_MASK}</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>
@ -251,7 +254,7 @@
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="23" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="24" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
@ -301,7 +304,6 @@
, CRDN_YMD_TM : datetimeFormat
, CVLCPT_RCPT_YMD : dateFormat
, FFNLG_CRDN_AMT : numberFormat
, FFNLG_AMT : numberFormat
, REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat
}
@ -535,7 +537,7 @@
}
// 초기 기본 설정
initForm${pageName}(taskSeCd);
initForm${pageName}();
// URL 설정
setURL${pageName}(taskSeCd);
@ -562,27 +564,15 @@
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
return;
}
let excelTitle = [];
let excelTitleWidth = [];
$("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)").each(function() {
let title = $(this).text();
if (title != "" ) {
excelTitle.push(title);
let headerInfo = $("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)").getHeaderInfo();
let titleWidth = Math.ceil($(this).outerWidth() / 10) + 2;
excelTitleWidth.push(titleWidth);
}
});
${pageName}Control.query.excelTitle = excelTitle.join(",");
${pageName}Control.query.excelTitleWidth = excelTitleWidth.join(",");
${pageName}Control.download();
${pageName}Control.query.excelTitle = headerInfo.excelTitle;
${pageName}Control.query.excelTitleWidth = headerInfo.excelTitleWidth;
${pageName}Control.download();
}
// 사용자 조회 버튼 이벤트
@ -667,12 +657,10 @@
}
// 화면 초기 설정
initForm${pageName} = (taskSeCd) => {
initForm${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");

@ -204,23 +204,27 @@
<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 class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCPT_YMD', this.innerText, 'ymd', '');">접수일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCPT_NO', this.innerText, 'match', 'part');">접수번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCPT_YMD', this.innerText, 'ymd', '');">접수일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCPT_SE_CD', this.innerText, 'codeValue', 'FIM029');">접수구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('NTFCTN_SE_CD', this.innerText, 'codeValue', 'FIM030');">통보구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('OWNR_REL_CD', this.innerText, 'codeValue', 'FIM032');">소유주관계</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('STTR_NM', this.innerText, 'match', 'part');">진술자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('STTR_BRDT', this.innerText, 'ymd', '');">진술자생일</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('OPNN_SBMSN_STTS_CD', this.innerText, 'codeValue', 'FIM031');">의견제출상태</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('OPNN_SBMSN_SE_CD', this.innerText, 'codeValue', 'FIM033');">의견제출분류</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('OPNN_SBMSN_GIST', this.innerText, 'match', 'part');">의견제출요지</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'ymd', '');">문서번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ANS_YMD', this.innerText, 'ymd', '');">답변일자</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('ANS_CN', this.innerText, 'match', 'part');">답변내용</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_CRDN_AMT', this.innerText, 'match', 'part');">최초단속금액</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'part');">과태료금액</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'ymd', '');">문서번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('ANS_YMD', this.innerText, 'ymd', '');">답변일자</th>
<th class="cmn" style="width: 240px;" onclick="searchFromGridTitle('ANS_CN', this.innerText, 'match', 'part');">답변내용</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('RTPYR_NM', this.innerText, 'match', 'part');">납부자명</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RTPYR_BRDT', this.innerText, 'match', 'part');">납부자생일</th>
<th class="cmn" style="width: 180px;">등록일시</th>
@ -237,25 +241,29 @@
<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="{OPNN_ID}" onchange="${pageName}Control.select('{OPNN_ID}', this.checked);"></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{NTFCTN_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{OWNR_REL_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{STTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{STTR_BRDT_MASK}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_STTS_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_SE_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{OPNN_SBMSN_GIST}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ANS_YMD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ANS_CN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_CRDN_AMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DOC_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ANS_YMD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{ANS_CN}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT_MASK}</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>
@ -265,7 +273,7 @@
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="27" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="31" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
@ -562,7 +570,7 @@
}
// 초기 기본 설정
initForm${pageName}(taskSeCd);
initForm${pageName}();
// URL 설정
setURL${pageName}(taskSeCd);
@ -589,28 +597,16 @@
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
return;
}
let excelTitle = [];
let excelTitleWidth = [];
$("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)").each(function() {
let title = $(this).text();
let headerInfo = $("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)").getHeaderInfo();
if (title != "" ) {
excelTitle.push(title);
let titleWidth = Math.ceil($(this).outerWidth() / 10) + 2;
excelTitleWidth.push(titleWidth);
}
});
${pageName}Control.query.excelTitle = excelTitle.join(",");
${pageName}Control.query.excelTitleWidth = excelTitleWidth.join(",");
${pageName}Control.download();
}
${pageName}Control.query.excelTitle = headerInfo.excelTitle;
${pageName}Control.query.excelTitleWidth = headerInfo.excelTitleWidth;
${pageName}Control.download();
}
// 사용자 조회 버튼 이벤트
fnFindUser${pageName} = () => {
@ -709,12 +705,10 @@
}
// 화면 초기 설정
initForm${pageName} = (taskSeCd) => {
initForm${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");

@ -95,8 +95,7 @@
</span>
</div>
</div>
</div>
<!-- / 메인 조건 -->
</div> <!-- / 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
@ -168,9 +167,10 @@
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_REG_SE_CD', this.innerText, 'codeValue', 'FIM026');">단속등록구분</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('ETC_CN', this.innerText, 'match', 'part');">기타내용</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">법정동</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">단속법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('FFNLG_CRDN_AMT', this.innerText, 'match', 'part');">최초단속금액</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>
<th class="cmn" style="width: 180px;">등록일시</th>
@ -191,6 +191,7 @@
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VHRNO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STDG_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{VLTN_ARTCL}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{FFNLG_CRDN_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_STTS_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
@ -200,7 +201,7 @@
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="14" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="15" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
@ -248,7 +249,6 @@
RE_REG_YMD : dateFormat
, CRDN_YMD_TM : datetimeFormat
, FFNLG_CRDN_AMT : numberFormat
, FFNLG_AMT : numberFormat
, REG_DT : datetimeFormat
}
});
@ -403,7 +403,7 @@
}
// 초기 기본 설정
initForm${pageName}(taskSeCd);
initForm${pageName}();
// URL 설정
setURL${pageName}(taskSeCd);
@ -430,27 +430,15 @@
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
return;
}
let excelTitle = [];
let excelTitleWidth = [];
$("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)").each(function() {
let title = $(this).text();
if (title != "" ) {
excelTitle.push(title);
let headerInfo = $("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)").getHeaderInfo();
let titleWidth = Math.ceil($(this).outerWidth() / 10) + 2;
excelTitleWidth.push(titleWidth);
}
});
${pageName}Control.query.excelTitle = excelTitle.join(",");
${pageName}Control.query.excelTitleWidth = excelTitleWidth.join(",");
${pageName}Control.download();
${pageName}Control.query.excelTitle = headerInfo.excelTitle;
${pageName}Control.query.excelTitleWidth = headerInfo.excelTitleWidth;
${pageName}Control.download();
}
// 사용자 조회 버튼 이벤트
@ -502,12 +490,10 @@
}
// 화면 초기 설정
initForm${pageName} = (taskSeCd) => {
initForm${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");

@ -156,7 +156,7 @@
<th class="cmn" style="width: 72px;">NO.</th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VLTN_ARTCL', this.innerText, 'match', 'part');">위반항목</th>

@ -205,10 +205,10 @@
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('INSPY_INT', this.innerText, 'match', 'part');">분납이자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SZR_YMD', this.innerText, 'ymd', '');">압류일자</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('SZR_THING', this.innerText, 'match', 'part');">압류물건</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('RPM_SZR_VHRNO', this.innerText, 'match', 'part');">대체압류차량</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RPM_SZR_VHRNO', this.innerText, 'match', 'part');">대체압류차량</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SZR_RMV_YMD', this.innerText, 'ymd', '');">압류해제일자</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_YMD', this.innerText, 'ymd', '');">단속일시</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('VHRNO', this.innerText, 'match', 'part');">차량번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STDG_NM', this.innerText, 'match', 'part');">법정동</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('CRDN_PLC', this.innerText, 'match', 'part');">단속장소</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</th>

Loading…
Cancel
Save