1. 부과제외 - 엑셀 수정.

2. 부과제외 - 등록자 검색 수정.
3. 우편통합 - 수정.
main
jjh 11 months ago
parent e9026d34b1
commit 68fe09fd26

@ -30,6 +30,7 @@ import javax.imageio.ImageIO;
import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.FilenameUtils;
import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import cokr.xit.base.file.xls.XLSWriter; import cokr.xit.base.file.xls.XLSWriter;
import cokr.xit.base.file.xls.XLSWriter.Styler; import cokr.xit.base.file.xls.XLSWriter.Styler;
@ -457,15 +458,16 @@ public class CmmnUtil {
for(int i=0; i < widths.size(); i++) { for(int i=0; i < widths.size(); i++) {
if(headerWidthMap.get(widths.get(i)) == null) { if(headerWidthMap.get(widths.get(i)) == null) {
headerWidthMap.put( headerWidthMap.put(
widths.get(i), widths.get(i),
new XLSWriter.Styler() new XLSWriter.Styler()
.width(widths.get(i)) .width(widths.get(i))
.foregroundColor(HSSFColor.HSSFColorPredefined.LIGHT_BLUE.getIndex()) .foregroundColor(HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex())
.configure(styler -> { .configure(styler -> {
Font font = xlsxWriter.workbook().createFont(); Font font = xlsxWriter.workbook().createFont();
font.setColor(HSSFColor.HSSFColorPredefined.WHITE.getIndex()); font.setColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
styler.font(font); styler.font(font);
}) styler.alignment(HorizontalAlignment.CENTER);
})
); );
} }
@ -474,4 +476,5 @@ public class CmmnUtil {
return result; return result;
} }
} }

@ -39,6 +39,10 @@ public class EpostGdccBean extends AbstractComponent {
if (req.getUseYN() == null) { if (req.getUseYN() == null) {
req.setUseYN("Y"); req.setUseYN("Y");
} }
// 삭제 여부 확인
if (req.getDelYN() == null) {
req.setDelYN("N");
}
// 정렬 확인 // 정렬 확인
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
if (req.getBy() == null) { if (req.getBy() == null) {

@ -8,7 +8,7 @@ import org.springframework.stereotype.Component;
import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.epst.EpostQuery; import cokr.xit.fims.epst.EpostQuery;
import cokr.xit.fims.epst.EpostRcptDtl; import cokr.xit.fims.epst.EpostRcptDtl;
import cokr.xit.fims.epst.dao.EpostRcptDtlMapper; import cokr.xit.fims.epst.dao.EpostRcptDtlMapper;
@ -35,6 +35,23 @@ public class EpostRcptDtlBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getEpostRcptDtlList(EpostQuery req) { public List<DataObject> getEpostRcptDtlList(EpostQuery req) {
// 사용 여부 확인
if (req.getUseYN() == null) {
req.setUseYN("Y");
}
// 삭제 여부 확인
if (req.getDelYN() == null) {
req.setDelYN("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
if (req.getBy() == null) {
req.setOrderBy("REG_DT");
} else {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
}
}
return epostRcptDtlMapper.selectEpostRcptDtlList(req); return epostRcptDtlMapper.selectEpostRcptDtlList(req);
} }

@ -35,9 +35,13 @@ public class EpostRcptRegBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getEpostRcptRegList(EpostQuery req) { public List<DataObject> getEpostRcptRegList(EpostQuery req) {
// 사용 여부 확인
if (req.getUseYN() == null) {
req.setUseYN("Y");
}
// 삭제 여부 확인 // 삭제 여부 확인
if (req.getDelYn() == null) { if (req.getDelYN() == null) {
req.setDelYn("N"); req.setDelYN("N");
} }
// 정렬 확인 // 정렬 확인
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
@ -47,6 +51,7 @@ public class EpostRcptRegBean extends AbstractComponent {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
} }
} }
return epostRcptRegMapper.selectEpostRcptRegList(req); return epostRcptRegMapper.selectEpostRcptRegList(req);
} }

@ -8,7 +8,7 @@ import org.springframework.stereotype.Component;
import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.epst.EpostQuery; import cokr.xit.fims.epst.EpostQuery;
import cokr.xit.fims.epst.EpostRcptRslt; import cokr.xit.fims.epst.EpostRcptRslt;
import cokr.xit.fims.epst.dao.EpostRcptRsltMapper; import cokr.xit.fims.epst.dao.EpostRcptRsltMapper;
@ -35,6 +35,23 @@ public class EpostRcptRsltBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getEpostRcptRsltList(EpostQuery req) { public List<DataObject> getEpostRcptRsltList(EpostQuery req) {
// 사용 여부 확인
if (req.getUseYN() == null) {
req.setUseYN("Y");
}
// 삭제 여부 확인
if (req.getDelYN() == null) {
req.setDelYN("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
if (req.getBy() == null) {
req.setOrderBy("REG_DT");
} else {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
}
}
return epostRcptRsltMapper.selectEpostRcptRsltList(req); return epostRcptRsltMapper.selectEpostRcptRsltList(req);
} }

@ -1,7 +1,9 @@
package cokr.xit.fims.epst.web; package cokr.xit.fims.epst.web;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.BiFunction;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -13,9 +15,11 @@ import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.code.CommonCode; import cokr.xit.base.code.CommonCode;
import cokr.xit.base.file.xls.XLSWriter; 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.user.ManagedUser;
import cokr.xit.base.web.ApplicationController; import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.cmmn.CmmnQuery; import cokr.xit.fims.cmmn.CmmnQuery;
import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.cmmn.service.DeptService; import cokr.xit.fims.cmmn.service.DeptService;
import cokr.xit.fims.epst.EpostGdcc; import cokr.xit.fims.epst.EpostGdcc;
import cokr.xit.fims.epst.EpostQuery; import cokr.xit.fims.epst.EpostQuery;
@ -116,49 +120,56 @@ public class Epst02Controller extends ApplicationController {
return setCollectionInfo(new ModelAndView("jsonView"), result, "epostGdcc"); return setCollectionInfo(new ModelAndView("jsonView"), result, "epostGdcc");
} else { } else {
XLSWriter xlsx = new XLSWriter() XLSWriter xlsx = new XLSWriter()
.setFilename("우편통합 안내문관리 목록.xlsx") .setFilename("우편통합 안내문 목록.xlsx")
.worksheet(0); .worksheet(0);
XLSWriter.Styler header = new XLSWriter.Styler() CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
.width(16)
.foregroundColor(HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex()) String[] excelTitle = req.getExcelTitle();
.configure(styler -> { List<String> titles = new ArrayList<String>();
Font font = xlsx.workbook().createFont(); for (int iLoop = 0; iLoop < excelTitle.length; iLoop++) {
font.setColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex()); String item = excelTitle[iLoop];
styler.font(font); titles.add(item);
styler.alignment(HorizontalAlignment.CENTER); }
});
/* int[] excelTitleWidth = req.getExcelTitleWidth();
CellStyle numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,) List<Integer> widths = new ArrayList<>();
, dateYMD = xlsx.yyyy_mm_dd() // 연월일 for (int jLoop = 0; jLoop < excelTitleWidth.length; jLoop++) {
, dateTM = xlsx.hh_mm_ss() // 시간 int item = excelTitleWidth[jLoop];
, dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일 시간 widths.add(item);
*/ }
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일 시간
List<Styler> headerStylers = CmmnUtil.makeHeadersByDiffrentWidths(widths, xlsx);
xlsx.cell(0, 0) xlsx.cell(0, 0)
.value("우편통합 안내문관리 목록", XLSWriter.Styler.CENTER) .value("우편통합 안내문", XLSWriter.Styler.CENTER)
.merge(0, 8) .merge(0, 8)
.cell(3, 0) .cell(3, 0)
.rowValues(List.of( .rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
"업무구분", header, "발송구분", header, "사용여부", header, "최종사용일시", header, "제목", header
, "등록일시", header, "등록사용자", header, "수정일시", header, "수정사용자", header List<DataObject> list = epostGdccService.getEpostGdccList(req.setFetchSize(0));
))
.cell(4, 0) BiFunction<String, String, ?> getValue = (title1, noting) -> {
.values( epostGdccService.getEpostGdccList(req.setFetchSize(0)) switch (title1) {
, xlsx.style("TASK_SE_NM", XLSWriter.Styler.CENTER) case "업무구분" : return xlsx.style("TASK_SE_NM", XLSWriter.Styler.CENTER);
, xlsx.style("SNDNG_SE_NM", XLSWriter.Styler.CENTER) case "발송구분" : return xlsx.style("SNDNG_SE_NM", XLSWriter.Styler.CENTER);
, xlsx.style("USE_YN_NM", XLSWriter.Styler.CENTER) case "사용여부" : return xlsx.style("USE_YN_NM", XLSWriter.Styler.CENTER);
, xlsx.format(r -> xlsx.str2datetime(r.get("LAST_USE_DT"))).style(dateDT) case "최종사용일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("LAST_USE_DT"))).style(dateDT);
, xlsx.style("TTL_NM", XLSWriter.Styler.LEFT) case "제목" : return xlsx.style("TTL_NM", XLSWriter.Styler.LEFT);
, xlsx.format(r -> xlsx.str2datetime(r.get("REG_DT"))).style(dateDT) case "등록일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT);
, xlsx.style("RGTR_NM", XLSWriter.Styler.LEFT) case "등록사용자" : return xlsx.style("RGTR_NM", XLSWriter.Styler.CENTER);
, xlsx.format(r -> xlsx.str2datetime(r.get("MDFCN_DT"))).style(dateDT) case "수정일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT);
, xlsx.style("MDFR_NM", XLSWriter.Styler.LEFT) case "수정사용자" : return xlsx.style("MDFR_NM", XLSWriter.Styler.CENTER);
); }
return "";
};
xlsx.cell(4, 0)
.values(list, titles.stream().map((item) -> { return getValue.apply(item, null); }).toArray());
return new ModelAndView("xlsView") return new ModelAndView("xlsView")
.addObject("xls", xlsx); .addObject("xls", xlsx);
} }
} }
@ -299,44 +310,55 @@ public class Epst02Controller extends ApplicationController {
.setFilename("우편통합 발송상태 목록.xlsx") .setFilename("우편통합 발송상태 목록.xlsx")
.worksheet(0); .worksheet(0);
XLSWriter.Styler header = new XLSWriter.Styler()
.width(16)
.foregroundColor(HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex())
.configure(styler -> {
Font font = xlsx.workbook().createFont();
font.setColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
styler.font(font);
styler.alignment(HorizontalAlignment.CENTER);
});
CellStyle numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,) CellStyle numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,)
, dateYMD = xlsx.yyyy_mm_dd() // 연월일 , dateYMD = xlsx.yyyy_mm_dd() // 연월일
, dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일 시간 , 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) xlsx.cell(0, 0)
.value("우편통합 발송상태 목록", XLSWriter.Styler.CENTER) .value("우편통합 발송상태", XLSWriter.Styler.CENTER)
.merge(0, 8) .merge(0, 8)
.cell(3, 0) .cell(3, 0)
.rowValues(List.of( .rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
"발송일자", header, "발송내역", header, "취급구분", header, "접수일자", header, "자료키", header
, "발송건수", header, "우편처리상태", header List<DataObject> list = epostRcptRegService.getEpostRcptRegList(req.setFetchSize(0));
, "등록일시", header, "등록사용자", header
)) BiFunction<String, String, ?> getValue = (title1, noting) -> {
.cell(4, 0) switch (title1) {
.values( epostRcptRegService.getEpostRcptRegList(req.setFetchSize(0)) case "발송일자" : return xlsx.format(o -> xlsx.str2date(o.get("SEND_DATE"))).style(dateYMD);
, xlsx.format(r -> xlsx.str2date(r.get("SEND_DATE"))).style(dateYMD) case "발송내역" : return xlsx.style("JOB_CD", XLSWriter.Styler.CENTER);
, xlsx.style("JOB_CD", XLSWriter.Styler.CENTER) case "취급구분" : return xlsx.style("DIV_KB_NM", XLSWriter.Styler.CENTER);
, xlsx.style("DIV_KB_NM", XLSWriter.Styler.CENTER) case "접수일자" : return xlsx.format(o -> xlsx.str2date(o.get("RCEPT_YMD"))).style(dateYMD);
, xlsx.format(r -> xlsx.str2date(r.get("RCEPT_YMD"))).style(dateYMD) case "자료키" : return xlsx.style("CON_KEY", XLSWriter.Styler.CENTER);
, xlsx.style("CON_KEY", XLSWriter.Styler.CENTER) case "발송건수" : return xlsx.style("RECEV_CNT", numeric);
, xlsx.style("RECEV_CNT", numeric) case "우편처리상태" : return xlsx.style("POST_PRCS_STTS_NM", XLSWriter.Styler.CENTER);
, xlsx.style("POST_PRCS_STTS_NM", XLSWriter.Styler.CENTER) case "등록일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT);
, xlsx.format(r -> xlsx.str2datetime(r.get("REG_DT"))).style(dateDT) case "등록사용자" : return xlsx.style("RGTR_NM", XLSWriter.Styler.CENTER);
, xlsx.style("RGTR_NM", XLSWriter.Styler.LEFT) }
);
return "";
};
xlsx.cell(4, 0)
.values(list, titles.stream().map((item) -> { return getValue.apply(item, null); }).toArray());
return new ModelAndView("xlsView") return new ModelAndView("xlsView")
.addObject("xls", xlsx); .addObject("xls", xlsx);
} }
} }
@ -425,47 +447,58 @@ public class Epst02Controller extends ApplicationController {
.setFilename("우편통합 접수결과 목록.xlsx") .setFilename("우편통합 접수결과 목록.xlsx")
.worksheet(0); .worksheet(0);
XLSWriter.Styler header = new XLSWriter.Styler()
.width(16)
.foregroundColor(HSSFColor.HSSFColorPredefined.GREY_25_PERCENT.getIndex())
.configure(styler -> {
Font font = xlsx.workbook().createFont();
font.setColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
styler.font(font);
styler.alignment(HorizontalAlignment.CENTER);
});
CellStyle numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,) CellStyle numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,)
, dateYMD = xlsx.yyyy_mm_dd() // 연월일 , dateYMD = xlsx.yyyy_mm_dd() // 연월일
, dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일 시간 , 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) xlsx.cell(0, 0)
.value("우편통합 접수결과 목록", XLSWriter.Styler.CENTER) .value("우편통합 접수결과", XLSWriter.Styler.CENTER)
.merge(0, 11) .merge(0, 11)
.cell(3, 0) .cell(3, 0)
.rowValues(List.of( .rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
"발송자료키", header, "우편물코드", header, "우편물종류", header, "발송일자", header, "접수일자", header
, "취급구분", header, "발송건수", header, "결제금액", header, "제작수수료", header, "우편요금", header List<DataObject> list = epostRcptRsltService.getEpostRcptRsltList(req.setFetchSize(0));
, "등록일시", header, "등록사용자", header
)) BiFunction<String, String, ?> getValue = (title1, noting) -> {
.cell(4, 0) switch (title1) {
.values( epostRcptRsltService.getEpostRcptRsltList(req.setFetchSize(0)) case "발송자료키" : return xlsx.style("RELETCDATA", XLSWriter.Styler.CENTER);
, xlsx.style("RELETCDATA", XLSWriter.Styler.CENTER) case "우편물코드" : return xlsx.style("JOB_CD", XLSWriter.Styler.CENTER);
, xlsx.style("JOB_CD", XLSWriter.Styler.CENTER) case "우편물종류" : return xlsx.style("JOB_CD3_NM", XLSWriter.Styler.CENTER);
, xlsx.style("JOB_CD3_NM", XLSWriter.Styler.CENTER) case "발송일자" : return xlsx.format(r -> xlsx.str2date(r.get("EXTRI_REGYMD"))).style(dateYMD);
, xlsx.format(r -> xlsx.str2date(r.get("EXTRI_REGYMD"))).style(dateYMD) case "접수일자" : return xlsx.format(r -> xlsx.str2date(r.get("RCEPT_YMD"))).style(dateYMD);
, xlsx.format(r -> xlsx.str2date(r.get("RCEPT_YMD"))).style(dateYMD) case "취급구분" : return xlsx.style("DIV_KB_NM", XLSWriter.Styler.CENTER);
, xlsx.style("DIV_KB_NM", XLSWriter.Styler.CENTER) case "발송건수" : return xlsx.style("RCEPT_CNT", numeric);
, xlsx.style("RCEPT_CNT", numeric) case "결제금액" : return xlsx.style("RCEPT_AMT", numeric);
, xlsx.style("RCEPT_AMT", numeric) case "제작수수료" : return xlsx.style("USEFEE_AMT", numeric);
, xlsx.style("USEFEE_AMT", numeric) case "우편요금" : return xlsx.style("TOTPOST_PRC", numeric);
, xlsx.style("TOTPOST_PRC", numeric) case "등록일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT);
, xlsx.format(r -> xlsx.str2datetime(r.get("REG_DT"))).style(dateDT) case "등록사용자" : return xlsx.style("RGTR_NM", XLSWriter.Styler.CENTER);
, xlsx.style("RGTR_NM", XLSWriter.Styler.LEFT) }
);
return "";
};
xlsx.cell(4, 0)
.values(list, titles.stream().map((item) -> { return getValue.apply(item, null); }).toArray());
return new ModelAndView("xlsView") return new ModelAndView("xlsView")
.addObject("xls", xlsx); .addObject("xls", xlsx);
} }
} }

@ -13,6 +13,7 @@ import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.service.FileQuery; import cokr.xit.base.file.service.FileQuery;
import cokr.xit.base.file.service.bean.FileBean; import cokr.xit.base.file.service.bean.FileBean;
import cokr.xit.base.file.web.FileInfoFactory; import cokr.xit.base.file.web.FileInfoFactory;
import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.service.bean.CrdnBean; import cokr.xit.fims.crdn.service.bean.CrdnBean;
import cokr.xit.fims.excl.CrdnReReg; import cokr.xit.fims.excl.CrdnReReg;
@ -51,11 +52,21 @@ public class CrdnReRegBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getCrdnReRegList(LevyExclQuery req) { public List<DataObject> getCrdnReRegList(LevyExclQuery req) {
// 사용 여부 확인
if (req.getUseYN() == null) {
req.setUseYN("Y");
}
// 삭제 여부 확인
if (req.getDelYN() == null) { if (req.getDelYN() == null) {
req.setDelYN("N"); req.setDelYN("N");
} }
// 정렬 확인
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
req.setOrderBy("REG_DT"); if (req.getBy() == null) {
req.setOrderBy("REG_DT");
} else {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
}
} }
return crdnReRegMapper.selectCrdnReRegList(req); return crdnReRegMapper.selectCrdnReRegList(req);

@ -42,6 +42,10 @@ public class LevyExclBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getLevyExclList(LevyExclQuery req) { public List<DataObject> getLevyExclList(LevyExclQuery req) {
// 사용 여부 확인
if (req.getUseYN() == null) {
req.setUseYN("Y");
}
// 삭제 여부 확인 // 삭제 여부 확인
if (req.getDelYN() == null) { if (req.getDelYN() == null) {
req.setDelYN("N"); req.setDelYN("N");

@ -9,6 +9,7 @@ import org.springframework.stereotype.Component;
import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.service.FileQuery; import cokr.xit.base.file.service.FileQuery;
import cokr.xit.base.file.service.bean.FileBean; import cokr.xit.base.file.service.bean.FileBean;
import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.cmmn.CrdnSttsHstry; import cokr.xit.fims.cmmn.CrdnSttsHstry;
import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.crdn.Crdn;
@ -55,11 +56,21 @@ public class OpnnSbmsnBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getOpnnSbmsnList(LevyExclQuery req) { public List<DataObject> getOpnnSbmsnList(LevyExclQuery req) {
// 사용 여부 확인
if (req.getUseYN() == null) {
req.setUseYN("Y");
}
// 삭제 여부 확인
if (req.getDelYN() == null) { if (req.getDelYN() == null) {
req.setDelYN("N"); req.setDelYN("N");
} }
// 정렬 확인
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
req.setOrderBy("REG_DT"); if (req.getBy() == null) {
req.setOrderBy("REG_DT");
} else {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
}
} }
return opnnSbmsnMapper.selectOpnnSbmsnList(req); return opnnSbmsnMapper.selectOpnnSbmsnList(req);

@ -3,9 +3,11 @@ package cokr.xit.fims.excl.web;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.BiFunction;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.apache.poi.ss.usermodel.CellStyle;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
@ -13,9 +15,12 @@ import cokr.xit.base.code.CommonCode;
import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.service.FileService; import cokr.xit.base.file.service.FileService;
import cokr.xit.base.file.web.FileInfoFactory; import cokr.xit.base.file.web.FileInfoFactory;
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.user.ManagedUser;
import cokr.xit.base.web.ApplicationController; import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.excl.OpnnSbmsn;
import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.LevyExclQuery;
import cokr.xit.fims.excl.service.OpnnSbmsnService; import cokr.xit.fims.excl.service.OpnnSbmsnService;
import cokr.xit.fims.sprt.PrintOption; import cokr.xit.fims.sprt.PrintOption;
@ -94,9 +99,79 @@ public class Excl02Controller extends ApplicationController {
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getOpinionSubmissionList(LevyExclQuery req) { public ModelAndView getOpinionSubmissionList(LevyExclQuery req) {
List<?> result = opnnSbmsnService.getOpnnSbmsnList(setFetchSize(req)); if (!"xls".equals(req.getDownload())) {
List<?> result = opnnSbmsnService.getOpnnSbmsnList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "opnnSbmsn"); return setCollectionInfo(new ModelAndView("jsonView"), result, "opnnSbmsn");
} else {
XLSWriter xlsx = new XLSWriter()
.setFilename("의견제출 목록.xlsx")
.worksheet(0);
CellStyle 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, 23)
.cell(3, 0)
.rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
List<DataObject> list = opnnSbmsnService.getOpnnSbmsnList(req.setFetchSize(0));
BiFunction<String, String, ?> getValue = (title1, noting) -> {
switch (title1) {
case "업무구분" : return xlsx.style("TASK_SE_NM", XLSWriter.Styler.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.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 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 xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT);
case "등록사용자" : return xlsx.style("RGTR_NM", XLSWriter.Styler.CENTER);
case "수정일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT);
case "수정사용자" : return xlsx.style("MDFR_NM", XLSWriter.Styler.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);
}
} }
/** ID . /** ID .

@ -1,20 +1,27 @@
package cokr.xit.fims.excl.web; package cokr.xit.fims.excl.web;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.BiFunction;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.apache.poi.ss.usermodel.CellStyle;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.code.CommonCode; import cokr.xit.base.code.CommonCode;
import cokr.xit.base.file.xls.XLSWriter;
import cokr.xit.base.file.xls.XLSWriter.Styler;
import cokr.xit.base.user.ManagedUser; import cokr.xit.base.user.ManagedUser;
import cokr.xit.base.web.ApplicationController; import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.excl.CrdnReReg; import cokr.xit.fims.excl.CrdnReReg;
import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.LevyExclQuery;
import cokr.xit.fims.excl.service.CrdnReRegService; import cokr.xit.fims.excl.service.CrdnReRegService;
import cokr.xit.foundation.data.DataObject;
/** /**
* *
@ -77,9 +84,67 @@ public class Excl03Controller extends ApplicationController {
*/ */
@RequestMapping(name = "단속 재등록 리스트 조회", value = "/010/list.do") @RequestMapping(name = "단속 재등록 리스트 조회", value = "/010/list.do")
public ModelAndView getCrackdownReRegistrationList(LevyExclQuery req) { public ModelAndView getCrackdownReRegistrationList(LevyExclQuery req) {
List<?> result = crdnReRegService.getCrdnReRegList(setFetchSize(req)); if (!"xls".equals(req.getDownload())) {
List<?> result = crdnReRegService.getCrdnReRegList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "crdnReReg"); return setCollectionInfo(new ModelAndView("jsonView"), result, "crdnReReg");
} else {
XLSWriter xlsx = new XLSWriter()
.setFilename("단속 재등록 목록.xlsx")
.worksheet(0);
CellStyle 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, 11)
.cell(3, 0)
.rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
List<DataObject> list = crdnReRegService.getCrdnReRegList(req.setFetchSize(0));
BiFunction<String, String, ?> getValue = (title1, noting) -> {
switch (title1) {
case "업무구분" : return xlsx.style("TASK_SE_NM", XLSWriter.Styler.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.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 xlsx.style("FFNLG_CRDN_AMT", numeric);
case "처리상태" : return xlsx.style("CRDN_STTS_NM", XLSWriter.Styler.LEFT);
case "등록일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT);
case "등록사용자" : return xlsx.style("RGTR_NM", XLSWriter.Styler.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);
}
} }
/** . /** .

@ -136,18 +136,18 @@
</selectKey> </selectKey>
INSERT INSERT
INTO TB_EPOST_GDCC ( INTO TB_EPOST_GDCC (
GDCC_ID /* 안내문 ID */ GDCC_ID /* 안내문 ID */
, SGG_CD /* 시군구 코드 */ , SGG_CD /* 시군구 코드 */
, TASK_SE_CD /* 업무 구분 코드 */ , TASK_SE_CD /* 업무 구분 코드 */
, SNDNG_SE_CD /* 발송 구분 코드 */ , SNDNG_SE_CD /* 발송 구분 코드 */
, TTL_NM /* 제목 명 */ , TTL_NM /* 제목 명 */
, WORDS_CN /* 문구 내용 */ , WORDS_CN /* 문구 내용 */
, LAST_USE_DT /* 최종 사용 일시 */ , LAST_USE_DT /* 최종 사용 일시 */
, USE_YN /* 사용 여부 */ , USE_YN /* 사용 여부 */
, REG_DT /* 등록 일시 */ , REG_DT /* 등록 일시 */
, RGTR /* 등록자 */ , RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */ , MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */ , MDFR /* 수정자 */
) )
VALUES ( VALUES (
#{epostGdcc.gdccId} /* 안내문 ID */ #{epostGdcc.gdccId} /* 안내문 ID */

@ -33,6 +33,7 @@
<result property="recevOcr1" column="RECEV_OCR1" /> <!-- OCR1 --> <result property="recevOcr1" column="RECEV_OCR1" /> <!-- OCR1 -->
<result property="recevOcr2" column="RECEV_OCR2" /> <!-- OCR2 --> <result property="recevOcr2" column="RECEV_OCR2" /> <!-- OCR2 -->
<result property="recevOnlinePayNumber" column="RECEV_ONLINE_PAY_NUMBER" /> <!-- 전자납부번호 --> <result property="recevOnlinePayNumber" column="RECEV_ONLINE_PAY_NUMBER" /> <!-- 전자납부번호 -->
<result property="vractno" column="VRACTNO" /> <!-- 가상계좌번호 -->
<result property="recevFinePrice" column="RECEV_FINE_PRICE" /> <!-- 과태료 --> <result property="recevFinePrice" column="RECEV_FINE_PRICE" /> <!-- 과태료 -->
<result property="recevPayPrice" column="RECEV_PAY_PRICE" /> <!-- 납부금액 --> <result property="recevPayPrice" column="RECEV_PAY_PRICE" /> <!-- 납부금액 -->
<result property="recevPayDt" column="RECEV_PAY_DT" /> <!-- 납부기한 --> <result property="recevPayDt" column="RECEV_PAY_DT" /> <!-- 납부기한 -->
@ -56,7 +57,6 @@
<result property="recevPhotoFilename2" column="RECEV_PHOTO_FILENAME2" /> <!-- 사진파일명2 --> <result property="recevPhotoFilename2" column="RECEV_PHOTO_FILENAME2" /> <!-- 사진파일명2 -->
<result property="recevPhotoFilename3" column="RECEV_PHOTO_FILENAME3" /> <!-- 사진파일명3 --> <result property="recevPhotoFilename3" column="RECEV_PHOTO_FILENAME3" /> <!-- 사진파일명3 -->
<result property="recevPhotoFilename4" column="RECEV_PHOTO_FILENAME4" /> <!-- 사진파일명4 --> <result property="recevPhotoFilename4" column="RECEV_PHOTO_FILENAME4" /> <!-- 사진파일명4 -->
<result property="vractno" column="VRACTNO" /> <!-- 가상계좌번호 -->
<result property="vractno2" column="VRACTNO2" /> <!-- 가상계좌번호2 --> <result property="vractno2" column="VRACTNO2" /> <!-- 가상계좌번호2 -->
<result property="vractno3" column="VRACTNO3" /> <!-- 가상계좌번호3 --> <result property="vractno3" column="VRACTNO3" /> <!-- 가상계좌번호3 -->
<result property="vractno4" column="VRACTNO4" /> <!-- 가상계좌번호4 --> <result property="vractno4" column="VRACTNO4" /> <!-- 가상계좌번호4 -->
@ -84,7 +84,142 @@
</resultMap> </resultMap>
<sql id="select"> <sql id="select">
SELECT CON_KEY <!-- 외부연계식별키 --> SELECT ERD.CON_KEY <!-- 외부연계식별키 -->
, ERD.RGST_NMBR <!-- 등기번호 -->
, ERD.RECEV_SEQ <!-- 일련번호 -->
, ERD.RECEV_CODE <!-- 발송코드 -->
, ERD.RECEV_BAR1D <!-- 바코드 -->
, ERD.RECEV_BAR2D <!-- 이차원바코드 -->
, ERD.RECEV_BILL_NUMBER <!-- 고지번호 -->
, ERD.RECEV_DOC_CD1 <!-- 문서종류1 -->
, ERD.RECEV_DOC_CD2 <!-- 문서종류2 -->
, ERD.RECEV_DOC_CD3 <!-- 문서종류3 -->
, ERD.RECEV_DOC_CD4 <!-- 문서종류4 -->
, ERD.RECEV_DOC_CD5 <!-- 문서종류5 -->
, ERD.RECEV_SUBJ1 <!-- 과목명1 -->
, ERD.RECEV_SUBJ2 <!-- 과목명2 -->
, ERD.RECEV_SUBJ3 <!-- 과목명3 -->
, ERD.RECEV_VIOLATE_DT <!-- 위반일시 -->
, ERD.RECEV_VIOLATE_DONG <!-- 위반동 -->
, ERD.RECEV_VIOLATE_PLACE <!-- 위반장소 -->
, ERD.RECEV_LAWS <!-- 법조항 -->
, ERD.RECEV_PAY_NUMBER1 <!-- 납부번호1 -->
, ERD.RECEV_PAY_NUMBER2 <!-- 납부번호2 -->
, ERD.RECEV_OCR0 <!-- OCR0 -->
, ERD.RECEV_OCR1 <!-- OCR1 -->
, ERD.RECEV_OCR2 <!-- OCR2 -->
, ERD.RECEV_ONLINE_PAY_NUMBER <!-- 전자납부번호 -->
, ERD.VRACTNO <!-- 가상계좌번호 -->
, ERD.RECEV_FINE_PRICE <!-- 과태료 -->
, ERD.RECEV_PAY_PRICE <!-- 납부금액 -->
, ERD.RECEV_PAY_DT <!-- 납부기한 -->
, ERD.RECEV_PAY_IN_DATE <!-- 납기내기한 -->
, ERD.RECEV_PAY_IN_PRICE <!-- 납기내금액 -->
, ERD.RECEV_PAY_IN_ADD_PRICE <!-- 납기내가산금 -->
, ERD.RECEV_PAY_IN_DEFAULT_PRICE <!-- 납기내합계금액 -->
, ERD.RECEV_PAY_OUT_DATE <!-- 납기후기한 -->
, ERD.RECEV_PAY_OUT_PRICE <!-- 납기후금액 -->
, ERD.RECEV_PAY_OUT_ADD_PRICE <!-- 납기후가산금 -->
, ERD.RECEV_PAY_OUT_DEFAULT_PRICE <!-- 납기후합계금액 -->
, ERD.RECEV_CAR_NUMBER <!-- 차량번호 -->
, ERD.RECEV_CAR_OWNER_ZIPCODE <!-- 우편번호 -->
, ERD.RECEV_CAR_OWNER_ADDR <!-- 주소 -->
, ERD.RECEV_CAR_OWNER_DETAILADDR <!-- 상세주소 -->
, ERD.RECEV_CAR_OWNER_NM <!-- 소유자명 -->
, ERD.RECEV_CAR_OWNER_SSN <!-- 주민번호 -->
, ERD.RECEV_EVIDENCE_NUMBER <!-- 증거번호 -->
, ERD.RECEV_PHOTO_CNT <!-- 사진장수 -->
, ERD.RECEV_PHOTO_FILENAME1 <!-- 사진파일명1 -->
, ERD.RECEV_PHOTO_FILENAME2 <!-- 사진파일명2 -->
, ERD.RECEV_PHOTO_FILENAME3 <!-- 사진파일명3 -->
, ERD.RECEV_PHOTO_FILENAME4 <!-- 사진파일명4 -->
, ERD.VRACTNO2 <!-- 가상계좌번호2 -->
, ERD.VRACTNO3 <!-- 가상계좌번호3 -->
, ERD.VRACTNO4 <!-- 가상계좌번호4 -->
, ERD.VRACTNO5 <!-- 가상계좌번호5 -->
, ERD.VRACTNO6 <!-- 가상계좌번호6 -->
, ERD.VRACTNO7 <!-- 가상계좌번호7 -->
, ERD.VRACTNO8 <!-- 가상계좌번호8 -->
, ERD.VRACTNO9 <!-- 가상계좌번호9 -->
, ERD.VRACTNO10 <!-- 가상계좌번호10 -->
, ERD.VRACTNO11 <!-- 가상계좌번호11 -->
, ERD.DTL_VAR_DATA1 <!-- 추가 데이터1 -->
, ERD.DTL_VAR_DATA2 <!-- 추가 데이터2 -->
, ERD.DTL_VAR_DATA3 <!-- 추가 데이터3 -->
, ERD.DTL_VAR_DATA4 <!-- 추가 데이터4 -->
, ERD.DTL_VAR_DATA5 <!-- 추가 데이터5 -->
, ERD.MAKE_RSLT_CD <!-- 제작 결과 코드 -->
, ERD.DLVR_RSLT_ID <!-- 배달 결과 ID -->
, ERD.DEL_YN <!-- 삭제 여부 -->
, ERD.REG_DT <!-- 등록 일시 -->
, ERD.RGTR <!-- 등록자 -->
, ERD.MDFCN_DT <!-- 수정 일시 -->
, ERD.MDFR <!-- 수정자 -->
, ERD.DEL_DT <!-- 삭제 일시 -->
, ERD.DLTR <!-- 삭제자 -->
FROM TB_EPOST_RCPT_DTL ERD
</sql>
<select id="selectEpostRcptDtlList" parameterType="map" resultType="dataobject">/* 전자우편 접수 상세 목록 조회(epostRcptDtlMapper.selectEpostRcptDtlList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where>
</where>
<choose>
<when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null">
AND SUBSTR(ERD.REG_DT,1,8) <![CDATA[>=]]> #{schRegDateFrom} /* 등록 일자 시작 */
</if>
<if test="schRegDateTo != null">
AND SUBSTR(ERD.REG_DT,1,8) <![CDATA[<=]]> #{schRegDateTo} /* 등록 일자 종료 */
</if>
</when>
<when test="schRegDateOpt == 'mdfcnDt'">
<if test="schRegDateFrom != null">
AND SUBSTR(ERD.MDFCN_DT,1,8) <![CDATA[>=]]> #{schRegDateFrom} /* 수정 일자 시작 */
</if>
<if test="schRegDateTo != null">
AND SUBSTR(ERD.MDFCN_DT,1,8) <![CDATA[<=]]> #{schRegDateTo} /* 수정 일자 종료 */
</if>
</when>
<otherwise>
</otherwise>
</choose>
<choose>
<when test="schRgtrOpt == 'rgtr'">
<if test="schRgtrCd != null">
AND ERD.RGTR = #{schRgtrCd} /* 등록자 코드 */
</if>
</when>
<when test="schRgtrOpt == 'mdfr'">
<if test="schRgtrCd != null">
AND ERD.MDFR = #{schRgtrCd} /* 수정자 코드 */
</if>
</when>
<otherwise>
</otherwise>
</choose>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectEpostRcptDtls" parameterType="map" resultMap="epostRcptDtlRow">/* 전자우편 접수 상세 객체 가져오기(epostRcptDtlMapper.selectEpostRcptDtls) */
<include refid="select" />
<where></where>
<include refid="utility.orderBy" />
</select>
<select id="selectEpostSenderDetailSeq" parameterType="String">/* 전자우편 접수 상세 등기번호 조회(epostRcptRegMapper.selectEpostSenderDetailSeq) */
SELECT IFNULL(RIGHT(MAX(RGST_NMBR), 5), 0) AS RGST_NMBR <!-- 등기 번호 -->
FROM TB_EPOST_RCPT_DTL
WHERE RGST_NMBR LIKE CONCAT(#{sndngYmd}, '%')
</select>
<insert id="insertEpostRcptDtl" parameterType="map">/* 전자우편 접수 상세 등록(epostRcptDtlMapper.insertEpostRcptDtl) */
INSERT
INTO TB_EPOST_RCPT_DTL (
CON_KEY <!-- 외부연계식별키 -->
, RGST_NMBR <!-- 등기번호 --> , RGST_NMBR <!-- 등기번호 -->
, RECEV_SEQ <!-- 일련번호 --> , RECEV_SEQ <!-- 일련번호 -->
, RECEV_CODE <!-- 발송코드 --> , RECEV_CODE <!-- 발송코드 -->
@ -150,270 +285,167 @@
, DTL_VAR_DATA5 <!-- 추가 데이터5 --> , DTL_VAR_DATA5 <!-- 추가 데이터5 -->
, MAKE_RSLT_CD <!-- 제작 결과 코드 --> , MAKE_RSLT_CD <!-- 제작 결과 코드 -->
, DLVR_RSLT_ID <!-- 배달 결과 ID --> , DLVR_RSLT_ID <!-- 배달 결과 ID -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 --> , REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 --> , RGTR <!-- 등록자 -->
, DEL_YN <!-- 삭제 여부 -->
, MDFCN_DT <!-- 수정 일시 --> , MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 --> , MDFR <!-- 수정자 -->
, DEL_DT <!-- 삭제 일시 --> ) VALUES (
, DLTR <!-- 삭제자 --> #{epostRcptDtl.conKey} <!-- 외부연계식별키 -->
FROM TB_EPOST_RCPT_DTL , #{epostRcptDtl.rgstNmbr} <!-- 등기번호 -->
</sql> , #{epostRcptDtl.recevSeq} <!-- 일련번호 -->
, #{epostRcptDtl.recevCode} <!-- 발송코드 -->
<select id="selectEpostRcptDtlList" parameterType="map" resultType="dataobject">/* 전자우편 접수 상세 목록 조회(epostRcptDtlMapper.selectEpostRcptDtlList) */ , #{epostRcptDtl.recevBar1d} <!-- 바코드 -->
<include refid="utility.paging-prefix" /> , #{epostRcptDtl.recevBar2d} <!-- 이차원바코드 -->
<include refid="select" /> , #{epostRcptDtl.recevBillNumber} <!-- 고지번호 -->
<where></where> , #{epostRcptDtl.recevDocCd1} <!-- 문서종류1 -->
<include refid="utility.orderBy" /> , #{epostRcptDtl.recevDocCd2} <!-- 문서종류2 -->
<include refid="utility.paging-suffix" /> , #{epostRcptDtl.recevDocCd3} <!-- 문서종류3 -->
</select> , #{epostRcptDtl.recevDocCd4} <!-- 문서종류4 -->
, #{epostRcptDtl.recevDocCd5} <!-- 문서종류5 -->
<select id="selectEpostRcptDtls" parameterType="map" resultMap="epostRcptDtlRow">/* 전자우편 접수 상세 객체 가져오기(epostRcptDtlMapper.selectEpostRcptDtls) */ , #{epostRcptDtl.recevSubj1} <!-- 과목명1 -->
<include refid="select" /> , #{epostRcptDtl.recevSubj2} <!-- 과목명2 -->
<where></where> , #{epostRcptDtl.recevSubj3} <!-- 과목명3 -->
<include refid="utility.orderBy" /> , #{epostRcptDtl.recevViolateDt} <!-- 위반일시 -->
</select> , #{epostRcptDtl.recevViolateDong} <!-- 위반동 -->
, #{epostRcptDtl.recevViolatePlace} <!-- 위반장소 -->
<select id="selectEpostSenderDetailSeq" parameterType="String">/* 전자우편 접수 상세 등기번호 조회(epostRcptRegMapper.selectEpostSenderDetailSeq) */ , #{epostRcptDtl.recevLaws} <!-- 법조항 -->
SELECT IFNULL(RIGHT(MAX(RGST_NMBR), 5), 0) AS RGST_NMBR <!-- 등기 번호 --> , #{epostRcptDtl.recevPayNumber1} <!-- 납부번호1 -->
FROM TB_EPOST_RCPT_DTL , #{epostRcptDtl.recevPayNumber2} <!-- 납부번호2 -->
WHERE RGST_NMBR LIKE CONCAT(#{sndngYmd}, '%') , #{epostRcptDtl.recevOcr0} <!-- OCR0 -->
</select> , #{epostRcptDtl.recevOcr1} <!-- OCR1 -->
, #{epostRcptDtl.recevOcr2} <!-- OCR2 -->
<insert id="insertEpostRcptDtl" parameterType="map">/* 전자우편 접수 상세 등록(epostRcptDtlMapper.insertEpostRcptDtl) */ , #{epostRcptDtl.recevOnlinePayNumber} <!-- 전자납부번호 -->
INSERT INTO TB_EPOST_RCPT_DTL ( , #{epostRcptDtl.vractno} <!-- 가상계좌번호 -->
CON_KEY <!-- 외부연계식별키 --> , #{epostRcptDtl.recevFinePrice} <!-- 과태료 -->
, RGST_NMBR <!-- 등기번호 --> , #{epostRcptDtl.recevPayPrice} <!-- 납부금액 -->
, RECEV_SEQ <!-- 일련번호 --> , #{epostRcptDtl.recevPayDt} <!-- 납부기한 -->
, RECEV_CODE <!-- 발송코드 --> , #{epostRcptDtl.recevPayInDate} <!-- 납기내기한 -->
, RECEV_BAR1D <!-- 바코드 --> , #{epostRcptDtl.recevPayInPrice} <!-- 납기내금액 -->
, RECEV_BAR2D <!-- 이차원바코드 --> , #{epostRcptDtl.recevPayInAddPrice} <!-- 납기내가산금 -->
, RECEV_DOC_CD1 <!-- 문서종류1 --> , #{epostRcptDtl.recevPayInDefaultPrice} <!-- 납기내합계금액 -->
, RECEV_DOC_CD2 <!-- 문서종류2 --> , #{epostRcptDtl.recevPayOutDate} <!-- 납기후기한 -->
, RECEV_DOC_CD3 <!-- 문서종류3 --> , #{epostRcptDtl.recevPayOutPrice} <!-- 납기후금액 -->
, RECEV_DOC_CD4 <!-- 문서종류4 --> , #{epostRcptDtl.recevPayOutAddPrice} <!-- 납기후가산금 -->
, RECEV_DOC_CD5 <!-- 문서종류5 --> , #{epostRcptDtl.recevPayOutDefaultPrice} <!-- 납기후합계금액 -->
, RECEV_SUBJ1 <!-- 과목명1 --> , #{epostRcptDtl.recevCarNumber} <!-- 차량번호 -->
, RECEV_SUBJ2 <!-- 과목명2 --> , #{epostRcptDtl.recevCarOwnerZipcode} <!-- 우편번호 -->
, RECEV_SUBJ3 <!-- 과목명3 --> , #{epostRcptDtl.recevCarOwnerAddr} <!-- 주소 -->
, RECEV_VIOLATE_DT <!-- 위반일시 --> , #{epostRcptDtl.recevCarOwnerDetailaddr} <!-- 상세주소 -->
, RECEV_VIOLATE_DONG <!-- 위반동 --> , #{epostRcptDtl.recevCarOwnerNm} <!-- 소유자명 -->
, RECEV_VIOLATE_PLACE <!-- 위반장소 --> , #{epostRcptDtl.recevCarOwnerSsn} <!-- 주민번호 -->
, RECEV_LAWS <!-- 법조항 --> , #{epostRcptDtl.recevEvidenceNumber} <!-- 증거번호 -->
, RECEV_PAY_NUMBER1 <!-- 납부번호1 --> , #{epostRcptDtl.recevPhotoCnt} <!-- 사진장수 -->
, RECEV_PAY_NUMBER2 <!-- 납부번호2 --> , #{epostRcptDtl.recevPhotoFilename1} <!-- 사진파일명1 -->
, RECEV_OCR0 <!-- OCR0 --> , #{epostRcptDtl.recevPhotoFilename2} <!-- 사진파일명2 -->
, RECEV_OCR1 <!-- OCR1 --> , #{epostRcptDtl.recevPhotoFilename3} <!-- 사진파일명3 -->
, RECEV_OCR2 <!-- OCR2 --> , #{epostRcptDtl.recevPhotoFilename4} <!-- 사진파일명4 -->
, RECEV_ONLINE_PAY_NUMBER <!-- 전자납부번호 --> , #{epostRcptDtl.vractno2} <!-- 가상계좌번호2 -->
, RECEV_FINE_PRICE <!-- 과태료 --> , #{epostRcptDtl.vractno3} <!-- 가상계좌번호3 -->
, RECEV_PAY_PRICE <!-- 납부금액 --> , #{epostRcptDtl.vractno4} <!-- 가상계좌번호4 -->
, RECEV_PAY_DT <!-- 납부기한 --> , #{epostRcptDtl.vractno5} <!-- 가상계좌번호5 -->
, RECEV_PAY_IN_DATE <!-- 납기내기한 --> , #{epostRcptDtl.vractno6} <!-- 가상계좌번호6 -->
, RECEV_PAY_IN_PRICE <!-- 납기내금액 --> , #{epostRcptDtl.vractno7} <!-- 가상계좌번호7 -->
, RECEV_PAY_IN_ADD_PRICE <!-- 납기내가산금 --> , #{epostRcptDtl.vractno8} <!-- 가상계좌번호8 -->
, RECEV_PAY_IN_DEFAULT_PRICE <!-- 납기내합계금액 --> , #{epostRcptDtl.vractno9} <!-- 가상계좌번호9 -->
, RECEV_PAY_OUT_DATE <!-- 납기후기한 --> , #{epostRcptDtl.vractno10} <!-- 가상계좌번호10 -->
, RECEV_PAY_OUT_PRICE <!-- 납기후금액 --> , #{epostRcptDtl.vractno11} <!-- 가상계좌번호11 -->
, RECEV_PAY_OUT_ADD_PRICE <!-- 납기후가산금 --> , #{epostRcptDtl.dtlVarData1} <!-- 추가 데이터1 -->
, RECEV_PAY_OUT_DEFAULT_PRICE <!-- 납기후합계금액 --> , #{epostRcptDtl.dtlVarData2} <!-- 추가 데이터2 -->
, RECEV_CAR_NUMBER <!-- 차량번호 --> , #{epostRcptDtl.dtlVarData3} <!-- 추가 데이터3 -->
, RECEV_CAR_OWNER_ZIPCODE <!-- 우편번호 --> , #{epostRcptDtl.dtlVarData4} <!-- 추가 데이터4 -->
, RECEV_CAR_OWNER_ADDR <!-- 주소 --> , #{epostRcptDtl.dtlVarData5} <!-- 추가 데이터5 -->
, RECEV_CAR_OWNER_DETAILADDR <!-- 상세주소 --> , #{epostRcptDtl.makeRsltCd} <!-- 제작 결과 코드 -->
, RECEV_CAR_OWNER_NM <!-- 소유자명 --> , #{epostRcptDtl.dlvrRsltId} <!-- 배달 결과 ID -->
, RECEV_CAR_OWNER_SSN <!-- 주민번호 --> , 'N' <!-- 삭제 여부 -->
, RECEV_EVIDENCE_NUMBER <!-- 증거번호 --> , <include refid="utility.now" /> /* 등록 일시 */
, RECEV_PHOTO_CNT <!-- 사진장수 --> , #{epostRcptDtl.createdBy} /* 등록자 */
, RECEV_PHOTO_FILENAME1 <!-- 사진파일명1 --> , <include refid="utility.now" /> /* 수정 일시 */
, RECEV_PHOTO_FILENAME2 <!-- 사진파일명2 --> , #{epostRcptDtl.modifiedBy} /* 수정자 */
, RECEV_PHOTO_FILENAME3 <!-- 사진파일명3 --> )
, RECEV_PHOTO_FILENAME4 <!-- 사진파일명4 -->
, VRACTNO2 <!-- 가상계좌번호2 -->
, VRACTNO3 <!-- 가상계좌번호3 -->
, VRACTNO4 <!-- 가상계좌번호4 -->
, VRACTNO5 <!-- 가상계좌번호5 -->
, VRACTNO6 <!-- 가상계좌번호6 -->
, VRACTNO7 <!-- 가상계좌번호7 -->
, VRACTNO8 <!-- 가상계좌번호8 -->
, VRACTNO9 <!-- 가상계좌번호9 -->
, VRACTNO10 <!-- 가상계좌번호10 -->
, VRACTNO11 <!-- 가상계좌번호11 -->
, DLVR_RSLT_ID <!-- 배달 결과 ID -->
, MAKE_RSLT_CD <!-- 제작 결과 코드 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, RECEV_BILL_NUMBER <!-- 고지번호 -->
, VRACTNO <!-- 가상계좌번호 -->
, DTL_VAR_DATA1 <!-- 추가 데이터1 -->
, DTL_VAR_DATA2 <!-- 추가 데이터2 -->
, DTL_VAR_DATA3 <!-- 추가 데이터3 -->
, DTL_VAR_DATA4 <!-- 추가 데이터4 -->
, DTL_VAR_DATA5 <!-- 추가 데이터5 -->
, DEL_YN <!-- 삭제 여부 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
, DEL_DT <!-- 삭제 일시 -->
, DLTR <!-- 삭제자 -->
) VALUES (
#{epostRcptDtl.conKey} <!-- 외부연계식별키 -->
, #{epostRcptDtl.rgstNmbr} <!-- 등기번호 -->
, #{epostRcptDtl.recevSeq} <!-- 일련번호 -->
, #{epostRcptDtl.recevCode} <!-- 발송코드 -->
, #{epostRcptDtl.recevBar1d} <!-- 바코드 -->
, #{epostRcptDtl.recevBar2d} <!-- 이차원바코드 -->
, #{epostRcptDtl.recevDocCd1} <!-- 문서종류1 -->
, #{epostRcptDtl.recevDocCd2} <!-- 문서종류2 -->
, #{epostRcptDtl.recevDocCd3} <!-- 문서종류3 -->
, #{epostRcptDtl.recevDocCd4} <!-- 문서종류4 -->
, #{epostRcptDtl.recevDocCd5} <!-- 문서종류5 -->
, #{epostRcptDtl.recevSubj1} <!-- 과목명1 -->
, #{epostRcptDtl.recevSubj2} <!-- 과목명2 -->
, #{epostRcptDtl.recevSubj3} <!-- 과목명3 -->
, #{epostRcptDtl.recevViolateDt} <!-- 위반일시 -->
, #{epostRcptDtl.recevViolateDong} <!-- 위반동 -->
, #{epostRcptDtl.recevViolatePlace} <!-- 위반장소 -->
, #{epostRcptDtl.recevLaws} <!-- 법조항 -->
, #{epostRcptDtl.recevPayNumber1} <!-- 납부번호1 -->
, #{epostRcptDtl.recevPayNumber2} <!-- 납부번호2 -->
, #{epostRcptDtl.recevOcr0} <!-- OCR0 -->
, #{epostRcptDtl.recevOcr1} <!-- OCR1 -->
, #{epostRcptDtl.recevOcr2} <!-- OCR2 -->
, #{epostRcptDtl.recevOnlinePayNumber} <!-- 전자납부번호 -->
, #{epostRcptDtl.recevFinePrice} <!-- 과태료 -->
, #{epostRcptDtl.recevPayPrice} <!-- 납부금액 -->
, #{epostRcptDtl.recevPayDt} <!-- 납부기한 -->
, #{epostRcptDtl.recevPayInDate} <!-- 납기내기한 -->
, #{epostRcptDtl.recevPayInPrice} <!-- 납기내금액 -->
, #{epostRcptDtl.recevPayInAddPrice} <!-- 납기내가산금 -->
, #{epostRcptDtl.recevPayInDefaultPrice} <!-- 납기내합계금액 -->
, #{epostRcptDtl.recevPayOutDate} <!-- 납기후기한 -->
, #{epostRcptDtl.recevPayOutPrice} <!-- 납기후금액 -->
, #{epostRcptDtl.recevPayOutAddPrice} <!-- 납기후가산금 -->
, #{epostRcptDtl.recevPayOutDefaultPrice} <!-- 납기후합계금액 -->
, #{epostRcptDtl.recevCarNumber} <!-- 차량번호 -->
, #{epostRcptDtl.recevCarOwnerZipcode} <!-- 우편번호 -->
, #{epostRcptDtl.recevCarOwnerAddr} <!-- 주소 -->
, #{epostRcptDtl.recevCarOwnerDetailaddr} <!-- 상세주소 -->
, #{epostRcptDtl.recevCarOwnerNm} <!-- 소유자명 -->
, #{epostRcptDtl.recevCarOwnerSsn} <!-- 주민번호 -->
, #{epostRcptDtl.recevEvidenceNumber} <!-- 증거번호 -->
, #{epostRcptDtl.recevPhotoCnt} <!-- 사진장수 -->
, #{epostRcptDtl.recevPhotoFilename1} <!-- 사진파일명1 -->
, #{epostRcptDtl.recevPhotoFilename2} <!-- 사진파일명2 -->
, #{epostRcptDtl.recevPhotoFilename3} <!-- 사진파일명3 -->
, #{epostRcptDtl.recevPhotoFilename4} <!-- 사진파일명4 -->
, #{epostRcptDtl.vractno2} <!-- 가상계좌번호2 -->
, #{epostRcptDtl.vractno3} <!-- 가상계좌번호3 -->
, #{epostRcptDtl.vractno4} <!-- 가상계좌번호4 -->
, #{epostRcptDtl.vractno5} <!-- 가상계좌번호5 -->
, #{epostRcptDtl.vractno6} <!-- 가상계좌번호6 -->
, #{epostRcptDtl.vractno7} <!-- 가상계좌번호7 -->
, #{epostRcptDtl.vractno8} <!-- 가상계좌번호8 -->
, #{epostRcptDtl.vractno9} <!-- 가상계좌번호9 -->
, #{epostRcptDtl.vractno10} <!-- 가상계좌번호10 -->
, #{epostRcptDtl.vractno11} <!-- 가상계좌번호11 -->
, #{epostRcptDtl.dlvrRsltId} <!-- 배달 결과 ID -->
, #{epostRcptDtl.makeRsltCd} <!-- 제작 결과 코드 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{currentUser.id} <!-- 등록자 -->
, #{epostRcptDtl.recevBillNumber} <!-- 고지번호 -->
, #{epostRcptDtl.vractno} <!-- 가상계좌번호 -->
, #{epostRcptDtl.dtlVarData1} <!-- 추가 데이터1 -->
, #{epostRcptDtl.dtlVarData2} <!-- 추가 데이터2 -->
, #{epostRcptDtl.dtlVarData3} <!-- 추가 데이터3 -->
, #{epostRcptDtl.dtlVarData4} <!-- 추가 데이터4 -->
, #{epostRcptDtl.dtlVarData5} <!-- 추가 데이터5 -->
, #{epostRcptDtl.delYn} <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{currentUser.id} <!-- 수정자 -->
, #{epostRcptDtl.removedAt} <!-- 삭제 일시 -->
, #{epostRcptDtl.removedBy} <!-- 삭제자 -->
)
</insert> </insert>
<update id="updateEpostRcptDtl" parameterType="map">/* 전자우편 접수 상세 수정(epostRcptDtlMapper.updateEpostRcptDtl) */ <update id="updateEpostRcptDtl" parameterType="map">/* 전자우편 접수 상세 수정(epostRcptDtlMapper.updateEpostRcptDtl) */
UPDATE TB_EPOST_RCPT_DTL SET UPDATE TB_EPOST_RCPT_DTL
RECEV_SEQ = #{epostRcptDtl.recevSeq} <!-- 일련번호 --> SET RECEV_SEQ = #{epostRcptDtl.recevSeq} <!-- 일련번호 -->
, RECEV_CODE = #{epostRcptDtl.recevCode} <!-- 발송코드 --> , RECEV_CODE = #{epostRcptDtl.recevCode} <!-- 발송코드 -->
, RECEV_BAR1D = #{epostRcptDtl.recevBar1d} <!-- 바코드 --> , RECEV_BAR1D = #{epostRcptDtl.recevBar1d} <!-- 바코드 -->
, RECEV_BAR2D = #{epostRcptDtl.recevBar2d} <!-- 이차원바코드 --> , RECEV_BAR2D = #{epostRcptDtl.recevBar2d} <!-- 이차원바코드 -->
, RECEV_DOC_CD1 = #{epostRcptDtl.recevDocCd1} <!-- 문서종류1 --> , RECEV_BILL_NUMBER = #{epostRcptDtl.recevBillNumber} <!-- 고지번호 -->
, RECEV_DOC_CD2 = #{epostRcptDtl.recevDocCd2} <!-- 문서종류2 --> , RECEV_DOC_CD1 = #{epostRcptDtl.recevDocCd1} <!-- 문서종류1 -->
, RECEV_DOC_CD3 = #{epostRcptDtl.recevDocCd3} <!-- 문서종류3 --> , RECEV_DOC_CD2 = #{epostRcptDtl.recevDocCd2} <!-- 문서종류2 -->
, RECEV_DOC_CD4 = #{epostRcptDtl.recevDocCd4} <!-- 문서종류4 --> , RECEV_DOC_CD3 = #{epostRcptDtl.recevDocCd3} <!-- 문서종류3 -->
, RECEV_DOC_CD5 = #{epostRcptDtl.recevDocCd5} <!-- 문서종류5 --> , RECEV_DOC_CD4 = #{epostRcptDtl.recevDocCd4} <!-- 문서종류4 -->
, RECEV_SUBJ1 = #{epostRcptDtl.recevSubj1} <!-- 과목명1 --> , RECEV_DOC_CD5 = #{epostRcptDtl.recevDocCd5} <!-- 문서종류5 -->
, RECEV_SUBJ2 = #{epostRcptDtl.recevSubj2} <!-- 과목명2 --> , RECEV_SUBJ1 = #{epostRcptDtl.recevSubj1} <!-- 과목명1 -->
, RECEV_SUBJ3 = #{epostRcptDtl.recevSubj3} <!-- 과목명3 --> , RECEV_SUBJ2 = #{epostRcptDtl.recevSubj2} <!-- 과목명2 -->
, RECEV_VIOLATE_DT = #{epostRcptDtl.recevViolateDt} <!-- 위반일시 --> , RECEV_SUBJ3 = #{epostRcptDtl.recevSubj3} <!-- 과목명3 -->
, RECEV_VIOLATE_DONG = #{epostRcptDtl.recevViolateDong} <!-- 위반동 --> , RECEV_VIOLATE_DT = #{epostRcptDtl.recevViolateDt} <!-- 위반일시 -->
, RECEV_VIOLATE_PLACE = #{epostRcptDtl.recevViolatePlace} <!-- 위반장소 --> , RECEV_VIOLATE_DONG = #{epostRcptDtl.recevViolateDong} <!-- 위반동 -->
, RECEV_LAWS = #{epostRcptDtl.recevLaws} <!-- 법조항 --> , RECEV_VIOLATE_PLACE = #{epostRcptDtl.recevViolatePlace} <!-- 위반장소 -->
, RECEV_PAY_NUMBER1 = #{epostRcptDtl.recevPayNumber1} <!-- 납부번호1 --> , RECEV_LAWS = #{epostRcptDtl.recevLaws} <!-- 법조항 -->
, RECEV_PAY_NUMBER2 = #{epostRcptDtl.recevPayNumber2} <!-- 납부번호2 --> , RECEV_PAY_NUMBER1 = #{epostRcptDtl.recevPayNumber1} <!-- 납부번호1 -->
, RECEV_OCR0 = #{epostRcptDtl.recevOcr0} <!-- OCR0 --> , RECEV_PAY_NUMBER2 = #{epostRcptDtl.recevPayNumber2} <!-- 납부번호2 -->
, RECEV_OCR1 = #{epostRcptDtl.recevOcr1} <!-- OCR1 --> , RECEV_OCR0 = #{epostRcptDtl.recevOcr0} <!-- OCR0 -->
, RECEV_OCR2 = #{epostRcptDtl.recevOcr2} <!-- OCR2 --> , RECEV_OCR1 = #{epostRcptDtl.recevOcr1} <!-- OCR1 -->
, RECEV_ONLINE_PAY_NUMBER = #{epostRcptDtl.recevOnlinePayNumber} <!-- 전자납부번호 --> , RECEV_OCR2 = #{epostRcptDtl.recevOcr2} <!-- OCR2 -->
, RECEV_FINE_PRICE = #{epostRcptDtl.recevFinePrice} <!-- 과태료 --> , RECEV_ONLINE_PAY_NUMBER = #{epostRcptDtl.recevOnlinePayNumber} <!-- 전자납부번호 -->
, RECEV_PAY_PRICE = #{epostRcptDtl.recevPayPrice} <!-- 납부금액 --> , VRACTNO = #{epostRcptDtl.vractno} <!-- 가상계좌번호 -->
, RECEV_PAY_DT = #{epostRcptDtl.recevPayDt} <!-- 납부기한 --> , RECEV_FINE_PRICE = #{epostRcptDtl.recevFinePrice} <!-- 과태료 -->
, RECEV_PAY_IN_DATE = #{epostRcptDtl.recevPayInDate} <!-- 납기내기한 --> , RECEV_PAY_PRICE = #{epostRcptDtl.recevPayPrice} <!-- 납부금액 -->
, RECEV_PAY_IN_PRICE = #{epostRcptDtl.recevPayInPrice} <!-- 납기내금액 --> , RECEV_PAY_DT = #{epostRcptDtl.recevPayDt} <!-- 납부기한 -->
, RECEV_PAY_IN_ADD_PRICE = #{epostRcptDtl.recevPayInAddPrice} <!-- 납기내가산금 --> , RECEV_PAY_IN_DATE = #{epostRcptDtl.recevPayInDate} <!-- 납기내기한 -->
, RECEV_PAY_IN_DEFAULT_PRICE = #{epostRcptDtl.recevPayInDefaultPrice} <!-- 납기내합계금액 --> , RECEV_PAY_IN_PRICE = #{epostRcptDtl.recevPayInPrice} <!-- 납기내금액 -->
, RECEV_PAY_OUT_DATE = #{epostRcptDtl.recevPayOutDate} <!-- 납기후기한 --> , RECEV_PAY_IN_ADD_PRICE = #{epostRcptDtl.recevPayInAddPrice} <!-- 납기내가산금 -->
, RECEV_PAY_OUT_PRICE = #{epostRcptDtl.recevPayOutPrice} <!-- 납기후금액 --> , RECEV_PAY_IN_DEFAULT_PRICE = #{epostRcptDtl.recevPayInDefaultPrice} <!-- 납기내합계금액 -->
, RECEV_PAY_OUT_ADD_PRICE = #{epostRcptDtl.recevPayOutAddPrice} <!-- 납기후가산금 --> , RECEV_PAY_OUT_DATE = #{epostRcptDtl.recevPayOutDate} <!-- 납기후기한 -->
, RECEV_PAY_OUT_DEFAULT_PRICE = #{epostRcptDtl.recevPayOutDefaultPrice} <!-- 납기후합계금액 --> , RECEV_PAY_OUT_PRICE = #{epostRcptDtl.recevPayOutPrice} <!-- 납기후금액 -->
, RECEV_CAR_NUMBER = #{epostRcptDtl.recevCarNumber} <!-- 차량번호 --> , RECEV_PAY_OUT_ADD_PRICE = #{epostRcptDtl.recevPayOutAddPrice} <!-- 납기후가산금 -->
, RECEV_CAR_OWNER_ZIPCODE = #{epostRcptDtl.recevCarOwnerZipcode} <!-- 우편번호 --> , RECEV_PAY_OUT_DEFAULT_PRICE = #{epostRcptDtl.recevPayOutDefaultPrice} <!-- 납기후합계금액 -->
, RECEV_CAR_OWNER_ADDR = #{epostRcptDtl.recevCarOwnerAddr} <!-- 주소 --> , RECEV_CAR_NUMBER = #{epostRcptDtl.recevCarNumber} <!-- 차량번호 -->
, RECEV_CAR_OWNER_DETAILADDR = #{epostRcptDtl.recevCarOwnerDetailaddr} <!-- 상세주소 --> , RECEV_CAR_OWNER_ZIPCODE = #{epostRcptDtl.recevCarOwnerZipcode} <!-- 우편번호 -->
, RECEV_CAR_OWNER_NM = #{epostRcptDtl.recevCarOwnerNm} <!-- 소유자명 --> , RECEV_CAR_OWNER_ADDR = #{epostRcptDtl.recevCarOwnerAddr} <!-- 주소 -->
, RECEV_CAR_OWNER_SSN = #{epostRcptDtl.recevCarOwnerSsn} <!-- 주민번호 --> , RECEV_CAR_OWNER_DETAILADDR = #{epostRcptDtl.recevCarOwnerDetailaddr} <!-- 상세주소 -->
, RECEV_EVIDENCE_NUMBER = #{epostRcptDtl.recevEvidenceNumber} <!-- 증거번호 --> , RECEV_CAR_OWNER_NM = #{epostRcptDtl.recevCarOwnerNm} <!-- 소유자명 -->
, RECEV_PHOTO_CNT = #{epostRcptDtl.recevPhotoCnt} <!-- 사진장수 --> , RECEV_CAR_OWNER_SSN = #{epostRcptDtl.recevCarOwnerSsn} <!-- 주민번호 -->
, RECEV_PHOTO_FILENAME1 = #{epostRcptDtl.recevPhotoFilename1} <!-- 사진파일명1 --> , RECEV_EVIDENCE_NUMBER = #{epostRcptDtl.recevEvidenceNumber} <!-- 증거번호 -->
, RECEV_PHOTO_FILENAME2 = #{epostRcptDtl.recevPhotoFilename2} <!-- 사진파일명2 --> , RECEV_PHOTO_CNT = #{epostRcptDtl.recevPhotoCnt} <!-- 사진장수 -->
, RECEV_PHOTO_FILENAME3 = #{epostRcptDtl.recevPhotoFilename3} <!-- 사진파일명3 --> , RECEV_PHOTO_FILENAME1 = #{epostRcptDtl.recevPhotoFilename1} <!-- 사진파일명1 -->
, RECEV_PHOTO_FILENAME4 = #{epostRcptDtl.recevPhotoFilename4} <!-- 사진파일명4 --> , RECEV_PHOTO_FILENAME2 = #{epostRcptDtl.recevPhotoFilename2} <!-- 사진파일명2 -->
, VRACTNO2 = #{epostRcptDtl.vractno2} <!-- 가상계좌번호2 --> , RECEV_PHOTO_FILENAME3 = #{epostRcptDtl.recevPhotoFilename3} <!-- 사진파일명3 -->
, VRACTNO3 = #{epostRcptDtl.vractno3} <!-- 가상계좌번호3 --> , RECEV_PHOTO_FILENAME4 = #{epostRcptDtl.recevPhotoFilename4} <!-- 사진파일명4 -->
, VRACTNO4 = #{epostRcptDtl.vractno4} <!-- 가상계좌번호4 --> , VRACTNO2 = #{epostRcptDtl.vractno2} <!-- 가상계좌번호2 -->
, VRACTNO5 = #{epostRcptDtl.vractno5} <!-- 가상계좌번호5 --> , VRACTNO3 = #{epostRcptDtl.vractno3} <!-- 가상계좌번호3 -->
, VRACTNO6 = #{epostRcptDtl.vractno6} <!-- 가상계좌번호6 --> , VRACTNO4 = #{epostRcptDtl.vractno4} <!-- 가상계좌번호4 -->
, VRACTNO7 = #{epostRcptDtl.vractno7} <!-- 가상계좌번호7 --> , VRACTNO5 = #{epostRcptDtl.vractno5} <!-- 가상계좌번호5 -->
, VRACTNO8 = #{epostRcptDtl.vractno8} <!-- 가상계좌번호8 --> , VRACTNO6 = #{epostRcptDtl.vractno6} <!-- 가상계좌번호6 -->
, VRACTNO9 = #{epostRcptDtl.vractno9} <!-- 가상계좌번호9 --> , VRACTNO7 = #{epostRcptDtl.vractno7} <!-- 가상계좌번호7 -->
, VRACTNO10 = #{epostRcptDtl.vractno10} <!-- 가상계좌번호10 --> , VRACTNO8 = #{epostRcptDtl.vractno8} <!-- 가상계좌번호8 -->
, VRACTNO11 = #{epostRcptDtl.vractno11} <!-- 가상계좌번호11 --> , VRACTNO9 = #{epostRcptDtl.vractno9} <!-- 가상계좌번호9 -->
, DLVR_RSLT_ID = #{epostRcptDtl.dlvrRsltId} <!-- 배달 결과 ID --> , VRACTNO10 = #{epostRcptDtl.vractno10} <!-- 가상계좌번호10 -->
, MAKE_RSLT_CD = #{epostRcptDtl.makeRsltCd} <!-- 제작 결과 코드 --> , VRACTNO11 = #{epostRcptDtl.vractno11} <!-- 가상계좌번호11 -->
, RECEV_BILL_NUMBER = #{epostRcptDtl.recevBillNumber} <!-- 고지번호 --> , DTL_VAR_DATA1 = #{epostRcptDtl.dtlVarData1} <!-- 추가 데이터1 -->
, VRACTNO = #{epostRcptDtl.vractno} <!-- 가상계좌번호 --> , DTL_VAR_DATA2 = #{epostRcptDtl.dtlVarData2} <!-- 추가 데이터2 -->
, DTL_VAR_DATA1 = #{epostRcptDtl.dtlVarData1} <!-- 추가 데이터1 --> , DTL_VAR_DATA3 = #{epostRcptDtl.dtlVarData3} <!-- 추가 데이터3 -->
, DTL_VAR_DATA2 = #{epostRcptDtl.dtlVarData2} <!-- 추가 데이터2 --> , DTL_VAR_DATA4 = #{epostRcptDtl.dtlVarData4} <!-- 추가 데이터4 -->
, DTL_VAR_DATA3 = #{epostRcptDtl.dtlVarData3} <!-- 추가 데이터3 --> , DTL_VAR_DATA5 = #{epostRcptDtl.dtlVarData5} <!-- 추가 데이터5 -->
, DTL_VAR_DATA4 = #{epostRcptDtl.dtlVarData4} <!-- 추가 데이터4 --> , MAKE_RSLT_CD = #{epostRcptDtl.makeRsltCd} <!-- 제작 결과 코드 -->
, DTL_VAR_DATA5 = #{epostRcptDtl.dtlVarData5} <!-- 추가 데이터5 --> , DLVR_RSLT_ID = #{epostRcptDtl.dlvrRsltId} <!-- 배달 결과 ID -->
, DEL_YN = #{epostRcptDtl.delYn} <!-- 삭제 여부 --> , MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 --> , MDFR = #{currentUser.id} <!-- 수정자 -->
, MDFR = #{currentUser.id} <!-- 수정자 --> WHERE CON_KEY = #{epostRcptDtl.conKey}
, DEL_DT = #{epostRcptDtl.removedAt} <!-- 삭제 일시 --> AND RGST_NMBR = #{epostRcptDtl.rgstNmbr}
, DLTR = #{epostRcptDtl.removedBy} <!-- 삭제자 --> AND DEL_YN = 'N'
WHERE CON_KEY = #{epostRcptDtl.conKey}
AND RGST_NMBR = #{epostRcptDtl.rgstNmbr}
</update> </update>
<update id="deleteEpostRcptDtl" parameterType="map">/* 전자우편 접수 상세 삭제(epostRcptDtlMapper.deleteEpostRcptDtl) */ <update id="deleteEpostRcptDtl" parameterType="map">/* 전자우편 접수 상세 삭제(epostRcptDtlMapper.deleteEpostRcptDtl) */
UPDATE TB_EPOST_RCPT_DTL SET UPDATE TB_EPOST_RCPT_DTL
USE_YN = 'N' SET DEL_YN = 'Y' /* 삭제 여부 */
, MDFCN_DT =<include refid="utility.now" /> , DEL_DT = <include refid="utility.now" /> /* 삭제 일시 */
, MDFR = #{currentUser.id} , DLTR = #{epostRcptDtl.removedBy} /* 삭제자 */
WHERE CON_KEY = #{epostRcptDtl.conKey} WHERE CON_KEY = #{epostRcptDtl.conKey}
AND RGST_NMBR = #{epostRcptDtl.rgstNmbr} AND RGST_NMBR = #{epostRcptDtl.rgstNmbr}
AND DEL_YN = 'N'
</update> </update>
</mapper> </mapper>

@ -9,10 +9,10 @@
<resultMap id="epostRcptRegRow" type="cokr.xit.fims.epst.EpostRcptReg"> <resultMap id="epostRcptRegRow" type="cokr.xit.fims.epst.EpostRcptReg">
<result property="conKey" column="CON_KEY" /> <!-- 외부연계식별키 --> <result property="conKey" column="CON_KEY" /> <!-- 외부연계식별키 -->
<result property="sndngId" column="SNDNG_ID" /> <!-- 발송 ID -->
<result property="rceptYmd" column="RCEPT_YMD" /> <!-- 접수 일자 -->
<result property="conOrg" column="CON_ORG" /> <!-- 외부기관구분코드 --> <result property="conOrg" column="CON_ORG" /> <!-- 외부기관구분코드 -->
<result property="sndngId" column="SNDNG_ID" /> <!-- 발송 ID -->
<result property="rceptId" column="RCEPT_ID" /> <!-- 접수우체국국기호 --> <result property="rceptId" column="RCEPT_ID" /> <!-- 접수우체국국기호 -->
<result property="rceptYmd" column="RCEPT_YMD" /> <!-- 접수 일자 -->
<result property="dataCd" column="DATA_CD" /> <!-- 접수코드 --> <result property="dataCd" column="DATA_CD" /> <!-- 접수코드 -->
<result property="divKb" column="DIV_KB" /> <!-- 취급구분 --> <result property="divKb" column="DIV_KB" /> <!-- 취급구분 -->
<result property="dfpayyn" column="DFPAYYN" /> <!-- 결재방법 --> <result property="dfpayyn" column="DFPAYYN" /> <!-- 결재방법 -->
@ -64,7 +64,10 @@
<sql id="selectEpostRcptReg"> <sql id="selectEpostRcptReg">
SELECT ERR.CON_KEY <!-- 외부연계식별키 --> SELECT ERR.CON_KEY <!-- 외부연계식별키 -->
, ERR.CON_ORG <!-- 외부기관구분코드 -->
, ERR.SNDNG_ID <!-- 발송 ID -->
, ERR.RCEPT_ID <!-- 접수우체국국기호 --> , ERR.RCEPT_ID <!-- 접수우체국국기호 -->
, ERR.RCEPT_YMD <!-- 접수 일자 -->
, ERR.DATA_CD <!-- 접수코드 --> , ERR.DATA_CD <!-- 접수코드 -->
, ERR.DIV_KB <!-- 취급구분 --> , ERR.DIV_KB <!-- 취급구분 -->
, ERR.DFPAYYN <!-- 결재방법 --> , ERR.DFPAYYN <!-- 결재방법 -->
@ -105,16 +108,17 @@
, ERR.REG_VAR_DATA5 <!-- 추가 데이터5 --> , ERR.REG_VAR_DATA5 <!-- 추가 데이터5 -->
, ERR.JOB_CD <!-- 작업 코드 --> , ERR.JOB_CD <!-- 작업 코드 -->
, ERR.POST_PRCS_STTS_CD <!-- 우편 처리 상태 코드 --> , ERR.POST_PRCS_STTS_CD <!-- 우편 처리 상태 코드 -->
, ERR.SNDNG_ID <!-- 발송 ID -->
, ERR.RCEPT_YMD <!-- 접수 일자 -->
, ERR.DEL_YN <!-- 삭제 여부 --> , ERR.DEL_YN <!-- 삭제 여부 -->
, ERR.REG_DT <!-- 등록 일시 --> , ERR.REG_DT <!-- 등록 일시 -->
, ERR.RGTR <!-- 등록자 --> , ERR.RGTR <!-- 등록자 -->
, ERR.MDFCN_DT <!-- 수정 일시 -->
, ERR.MDFR <!-- 수정자 -->
, ERR.DEL_DT <!-- 삭제 일시 --> , ERR.DEL_DT <!-- 삭제 일시 -->
, ERR.DLTR <!-- 삭제자 --> , ERR.DLTR <!-- 삭제자 -->
, (SELECT GET_CODE_NM('EGP002', ERR.DIV_KB) FROM DUAL) AS DIV_KB_NM /* 취급 구분 명 */ , (SELECT GET_CODE_NM('EGP002', ERR.DIV_KB) FROM DUAL) AS DIV_KB_NM /* 취급 구분 명 */
, (SELECT GET_CODE_NM('EGP012', ERR.POST_PRCS_STTS_CD) FROM DUAL) AS POST_PRCS_STTS_NM /* 우편 처리 상태 명 */ , (SELECT GET_CODE_NM('EGP012', ERR.POST_PRCS_STTS_CD) FROM DUAL) AS POST_PRCS_STTS_NM /* 우편 처리 상태 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.RGTR) AS RGTR_NM /* 등록자 명 */ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.MDFR) AS MDFR_NM /* 수정자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.DLTR) AS DLTR_NM /* 삭제자 명 */ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.DLTR) AS DLTR_NM /* 삭제자 명 */
FROM TB_EPOST_RCPT_REG ERR FROM TB_EPOST_RCPT_REG ERR
</sql> </sql>
@ -146,7 +150,7 @@
</if> </if>
</where> </where>
AND ERR.DEL_YN = 'N' AND ERR.DEL_YN = 'N'
<choose> <choose>
<when test="schRegDateOpt == 'regDt'"> <when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(ERR.REG_DT,1,8) <![CDATA[>=]]> #{schRegDateFrom} /* 등록 일자 시작 */ AND SUBSTR(ERR.REG_DT,1,8) <![CDATA[>=]]> #{schRegDateFrom} /* 등록 일자 시작 */
@ -204,171 +208,13 @@
<include refid="utility.paging-suffix" /> <include refid="utility.paging-suffix" />
</select> </select>
<select id="selectEpostRcptRegs" parameterType="map" resultType="dataobject">/* 전자우편 접수 등록 객체 가져오기(epostRcptRegMapper.selectEpostRcptRegs) */ <select id="selectEpostRcptRegs" parameterType="map" resultType="dataobject">/* 전자우편 접수 등록 객체 가져오기(epostRcptRegMapper.selectEpostRcptRegs) */
<include refid="selectEpostRcptReg" /> <include refid="selectEpostRcptReg" />
<where></where> <where>
<include refid="utility.orderBy" /></select>
<insert id="insertEpostRcptReg" parameterType="map">/* 전자우편 접수 등록 등록(epostRcptRegMapper.insertEpostRcptReg) */
INSERT INTO TB_EPOST_RCPT_REG (
CON_KEY <!-- 외부연계식별키 -->
, RCEPT_ID <!-- 접수우체국국기호 -->
, DATA_CD <!-- 접수코드 -->
, DIV_KB <!-- 취급구분 -->
, DFPAYYN <!-- 결재방법 -->
, RCPT_KB <!-- 내용문 유형 -->
, SEAL_CD <!-- 내용문 상세 종류 -->
, WORD_KB <!-- 내용문 종류 -->
, MAIL_CNT <!-- 내용문 매수 -->
, RECEV_CNT <!-- 수취인 수 -->
, ENV_CD <!-- 봉투 종류 -->
, COLOR_YN <!-- 칼라우편물 -->
, MM_YN <!-- 메일머지 플래그 -->
, FLEX_CD <!-- 이면구분 -->
, DM_CNT <!-- 동봉물 개수 -->
, SB_FG <!-- 반송불필요 여부 -->
, APVL_NB <!-- 승인번호 -->
, SEND_DATE <!-- 신청 일자 -->
, SEND_TIME <!-- 전송 시간 -->
, RELORSECT_CD <!-- 연계기관결제부서코드 -->
, RECEV_SENDER_ORG_CODE <!-- 발송기관코드 -->
, RECEV_SENDER_NM <!-- 발송인명 -->
, RECEV_SENDER_ZIPCODE <!-- 발송인 우편번호 -->
, RECEV_SENDER_ADDR <!-- 주소 -->
, RECEV_SENDER_DETAILADDR <!-- 상세주소 -->
, RECEV_SENDER_DEPART_TEL <!-- 부과부서 전화번호 -->
, RECEV_SENDER_DEPART_NM <!-- 부과부서 -->
, RECEV_DIV_CD <!-- 등기구분 -->
, RECEV_PRINT_DT <!-- 출력일자 -->
, RECEV_PRINT_YEAR <!-- 출력연도 -->
, RECEV_PRINT_MONTH <!-- 출력월 -->
, RECEV_PRINT_DAY <!-- 출력일 -->
, RECEV_SENDER_FAX <!-- 부과부서 팩스번호 -->
, RECEV_SERDER_STAFF <!-- 부과부서 담당자 -->
, RECEV_SENDER_EMAIL <!-- 부과부서 이메일 -->
, REG_VAR_DATA1 <!-- 추가 데이터1 -->
, REG_VAR_DATA2 <!-- 추가 데이터2 -->
, REG_VAR_DATA3 <!-- 추가 데이터3 -->
, REG_VAR_DATA4 <!-- 추가 데이터4 -->
, REG_VAR_DATA5 <!-- 추가 데이터5 -->
, SNDNG_ID <!-- 발송 ID -->
, JOB_CD <!-- 작업 코드 -->
, POST_PRCS_STTS_CD <!-- 우편 처리 상태 -->
, RCEPT_YMD <!-- 접수 일자 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, DEL_DT <!-- 삭제 일시 -->
, DLTR <!-- 삭제자 -->
) VALUES (
#{epostRcptReg.conKey} <!-- 외부연계식별키 -->
, #{epostRcptReg.rceptId} <!-- 접수우체국국기호 -->
, #{epostRcptReg.dataCd} <!-- 접수코드 -->
, #{epostRcptReg.divKb} <!-- 취급구분 -->
, #{epostRcptReg.dfpayyn} <!-- 결재방법 -->
, #{epostRcptReg.rcptKb} <!-- 내용문 유형 -->
, #{epostRcptReg.sealCd} <!-- 내용문 상세 종류 -->
, #{epostRcptReg.wordKb} <!-- 내용문 종류 -->
, #{epostRcptReg.mailCnt} <!-- 내용문 매수 -->
, #{epostRcptReg.recevCnt} <!-- 수취인 수 -->
, #{epostRcptReg.envCd} <!-- 봉투 종류 -->
, #{epostRcptReg.colorYn} <!-- 칼라우편물 -->
, #{epostRcptReg.mmYn} <!-- 메일머지 플래그 -->
, #{epostRcptReg.flexCd} <!-- 이면구분 -->
, #{epostRcptReg.dmCnt} <!-- 동봉물 개수 -->
, #{epostRcptReg.sbFg} <!-- 반송불필요 여부 -->
, #{epostRcptReg.apvlNb} <!-- 승인번호 -->
, #{epostRcptReg.sendDate} <!-- 신청 일자 -->
, #{epostRcptReg.sendTime} <!-- 전송 시간 -->
, #{epostRcptReg.relorsectCd} <!-- 연계기관결제부서코드 -->
, #{epostRcptReg.recevSenderOrgCode} <!-- 발송기관코드 -->
, #{epostRcptReg.recevSenderNm} <!-- 발송인명 -->
, #{epostRcptReg.recevSenderZipcode} <!-- 발송인 우편번호 -->
, #{epostRcptReg.recevSenderAddr} <!-- 주소 -->
, #{epostRcptReg.recevSenderDetailaddr} <!-- 상세주소 -->
, #{epostRcptReg.recevSenderDepartTel} <!-- 부과부서 전화번호 -->
, #{epostRcptReg.recevSenderDepartNm} <!-- 부과부서 -->
, #{epostRcptReg.recevDivCd} <!-- 등기구분 -->
, #{epostRcptReg.recevPrintDt} <!-- 출력일자 -->
, #{epostRcptReg.recevPrintYear} <!-- 출력연도 -->
, #{epostRcptReg.recevPrintMonth} <!-- 출력월 -->
, #{epostRcptReg.recevPrintDay} <!-- 출력일 -->
, #{epostRcptReg.recevSenderFax} <!-- 부과부서 팩스번호 -->
, #{epostRcptReg.recevSerderStaff} <!-- 부과부서 담당자 -->
, #{epostRcptReg.recevSenderEmail} <!-- 부과부서 이메일 -->
, #{epostRcptReg.regVarData1} <!-- 추가 데이터1 -->
, #{epostRcptReg.regVarData2} <!-- 추가 데이터2 -->
, #{epostRcptReg.regVarData3} <!-- 추가 데이터3 -->
, #{epostRcptReg.regVarData4} <!-- 추가 데이터4 -->
, #{epostRcptReg.regVarData5} <!-- 추가 데이터5 -->
, #{epostRcptReg.sndngId} <!-- 발송 ID -->
, #{epostRcptReg.jobCd} <!-- 작업 코드 -->
, #{epostRcptReg.postPrcsSttsCd} <!-- 우편 처리 상태 -->
, #{epostRcptReg.rceptYmd} <!-- 접수 일자 -->
, #{epostRcptReg.delYn} <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{currentUser.id} <!-- 등록자 -->
, #{epostRcptReg.removedAt} <!-- 삭제 일시 -->
, #{epostRcptReg.removedBy} <!-- 삭제자 -->
)</insert>
<update id="updateEpostRcptReg" parameterType="map">/* 전자우편 접수 등록 수정(epostRcptRegMapper.updateEpostRcptReg) */
UPDATE TB_EPOST_RCPT_REG SET
RCEPT_ID = #{epostRcptReg.rceptId} <!-- 접수우체국국기호 -->
, DATA_CD = #{epostRcptReg.dataCd} <!-- 접수코드 -->
, DIV_KB = #{epostRcptReg.divKb} <!-- 취급구분 -->
, DFPAYYN = #{epostRcptReg.dfpayyn} <!-- 결재방법 -->
, RCPT_KB = #{epostRcptReg.rcptKb} <!-- 내용문 유형 -->
, SEAL_CD = #{epostRcptReg.sealCd} <!-- 내용문 상세 종류 -->
, WORD_KB = #{epostRcptReg.wordKb} <!-- 내용문 종류 -->
, MAIL_CNT = #{epostRcptReg.mailCnt} <!-- 내용문 매수 -->
, RECEV_CNT = #{epostRcptReg.recevCnt} <!-- 수취인 수 -->
, ENV_CD = #{epostRcptReg.envCd} <!-- 봉투 종류 -->
, COLOR_YN = #{epostRcptReg.colorYn} <!-- 칼라우편물 -->
, MM_YN = #{epostRcptReg.mmYn} <!-- 메일머지 플래그 -->
, FLEX_CD = #{epostRcptReg.flexCd} <!-- 이면구분 -->
, DM_CNT = #{epostRcptReg.dmCnt} <!-- 동봉물 개수 -->
, SB_FG = #{epostRcptReg.sbFg} <!-- 반송불필요 여부 -->
, APVL_NB = #{epostRcptReg.apvlNb} <!-- 승인번호 -->
, SEND_DATE = #{epostRcptReg.sendDate} <!-- 신청 일자 -->
, SEND_TIME = #{epostRcptReg.sendTime} <!-- 전송 시간 -->
, RELORSECT_CD = #{epostRcptReg.relorsectCd} <!-- 연계기관결제부서코드 -->
, RECEV_SENDER_ORG_CODE = #{epostRcptReg.recevSenderOrgCode} <!-- 발송기관코드 -->
, RECEV_SENDER_NM = #{epostRcptReg.recevSenderNm} <!-- 발송인명 -->
, RECEV_SENDER_ZIPCODE = #{epostRcptReg.recevSenderZipcode} <!-- 발송인 우편번호 -->
, RECEV_SENDER_ADDR = #{epostRcptReg.recevSenderAddr} <!-- 주소 -->
, RECEV_SENDER_DETAILADDR = #{epostRcptReg.recevSenderDetailaddr} <!-- 상세주소 -->
, RECEV_SENDER_DEPART_TEL = #{epostRcptReg.recevSenderDepartTel} <!-- 부과부서 전화번호 -->
, RECEV_SENDER_DEPART_NM = #{epostRcptReg.recevSenderDepartNm} <!-- 부과부서 -->
, RECEV_DIV_CD = #{epostRcptReg.recevDivCd} <!-- 등기구분 -->
, RECEV_PRINT_DT = #{epostRcptReg.recevPrintDt} <!-- 출력일자 -->
, RECEV_PRINT_YEAR = #{epostRcptReg.recevPrintYear} <!-- 출력연도 -->
, RECEV_PRINT_MONTH = #{epostRcptReg.recevPrintMonth} <!-- 출력월 -->
, RECEV_PRINT_DAY = #{epostRcptReg.recevPrintDay} <!-- 출력일 -->
, RECEV_SENDER_FAX = #{epostRcptReg.recevSenderFax} <!-- 부과부서 팩스번호 -->
, RECEV_SERDER_STAFF = #{epostRcptReg.recevSerderStaff} <!-- 부과부서 담당자 -->
, RECEV_SENDER_EMAIL = #{epostRcptReg.recevSenderEmail} <!-- 부과부서 이메일 -->
, SNDNG_ID = #{epostRcptReg.sndngId} <!-- 발송 ID -->
, JOB_CD = #{epostRcptReg.jobCd} <!-- 작업 코드 -->
, POST_PRCS_STTS_CD = #{epostRcptReg.postPrcsSttsCd} <!-- 우편 처리 상태 -->
, RCEPT_YMD = #{epostRcptReg.rceptYmd} <!-- 접수 일자 -->
, DEL_YN = #{epostRcptReg.delYn} <!-- 삭제 여부 -->
, DEL_DT = #{epostRcptReg.removedAt} <!-- 삭제 일시 -->
, DLTR = #{epostRcptReg.removedBy} <!-- 삭제자 -->
, REG_VAR_DATA1 = #{epostRcptReg.regVarData1} <!-- 추가 데이터1 -->
, REG_VAR_DATA2 = #{epostRcptReg.regVarData2} <!-- 추가 데이터2 -->
, REG_VAR_DATA3 = #{epostRcptReg.regVarData3} <!-- 추가 데이터3 -->
, REG_VAR_DATA4 = #{epostRcptReg.regVarData4} <!-- 추가 데이터4 -->
, REG_VAR_DATA5 = #{epostRcptReg.regVarData5} <!-- 추가 데이터5 -->
WHERE CON_KEY = #{epostRcptReg.conKey}</update>
<update id="deleteEpostRcptReg" parameterType="map">/* 전자우편 접수 등록 삭제(epostRcptRegMapper.deleteEpostRcptReg) */
UPDATE TB_EPOST_RCPT_REG SET
USE_YN = 'N'
, MDFCN_DT =<include refid="utility.now" />
, MDFR = #{currentUser.id}
WHERE CON_KEY = #{epostRcptReg.conKey}</update>
</where>
<include refid="utility.orderBy" />
</select>
<select id="selectEpostSenderRegSeq" parameterType="String" resultType="String">/* 전자우편 접수 CON_KEY 조회(epostRcptRegMapper.selectEpostSenderRegSeq) */ <select id="selectEpostSenderRegSeq" parameterType="String" resultType="String">/* 전자우편 접수 CON_KEY 조회(epostRcptRegMapper.selectEpostSenderRegSeq) */
SELECT LPAD(IFNULL(RIGHT(MAX(CON_KEY), 3), '000') + 1, 3, '0') AS CON_KEY <!-- 외부연계식별키 --> SELECT LPAD(IFNULL(RIGHT(MAX(CON_KEY), 3), '000') + 1, 3, '0') AS CON_KEY <!-- 외부연계식별키 -->
@ -427,4 +273,172 @@ UPDATE TB_EPOST_RCPT_REG SET
AND D.USE_YN = 'Y' AND D.USE_YN = 'Y'
</select> </select>
<insert id="insertEpostRcptReg" parameterType="map">/* 전자우편 접수 등록 등록(epostRcptRegMapper.insertEpostRcptReg) */
INSERT
INTO TB_EPOST_RCPT_REG (
CON_KEY <!-- 외부연계식별키 -->
, CON_ORG <!-- 외부기관구분코드 -->
, SNDNG_ID <!-- 발송 ID -->
, RCEPT_ID <!-- 접수우체국국기호 -->
, RCEPT_YMD <!-- 접수 일자 -->
, DATA_CD <!-- 접수코드 -->
, DIV_KB <!-- 취급구분 -->
, DFPAYYN <!-- 결재방법 -->
, RCPT_KB <!-- 내용문 유형 -->
, SEAL_CD <!-- 내용문 상세 종류 -->
, WORD_KB <!-- 내용문 종류 -->
, MAIL_CNT <!-- 내용문 매수 -->
, RECEV_CNT <!-- 수취인 수 -->
, ENV_CD <!-- 봉투 종류 -->
, COLOR_YN <!-- 칼라우편물 -->
, MM_YN <!-- 메일머지 플래그 -->
, FLEX_CD <!-- 이면구분 -->
, DM_CNT <!-- 동봉물 개수 -->
, SB_FG <!-- 반송불필요 여부 -->
, APVL_NB <!-- 승인번호 -->
, SEND_DATE <!-- 신청 일자 -->
, SEND_TIME <!-- 전송 시간 -->
, RELORSECT_CD <!-- 연계기관결제부서코드 -->
, RECEV_SENDER_ORG_CODE <!-- 발송기관코드 -->
, RECEV_SENDER_NM <!-- 발송인명 -->
, RECEV_SENDER_ZIPCODE <!-- 발송인 우편번호 -->
, RECEV_SENDER_ADDR <!-- 주소 -->
, RECEV_SENDER_DETAILADDR <!-- 상세주소 -->
, RECEV_SENDER_DEPART_TEL <!-- 부과부서 전화번호 -->
, RECEV_SENDER_DEPART_NM <!-- 부과부서 -->
, RECEV_DIV_CD <!-- 등기구분 -->
, RECEV_PRINT_DT <!-- 출력일자 -->
, RECEV_PRINT_YEAR <!-- 출력연도 -->
, RECEV_PRINT_MONTH <!-- 출력월 -->
, RECEV_PRINT_DAY <!-- 출력일 -->
, RECEV_SENDER_FAX <!-- 부과부서 팩스번호 -->
, RECEV_SERDER_STAFF <!-- 부과부서 담당자 -->
, RECEV_SENDER_EMAIL <!-- 부과부서 이메일 -->
, REG_VAR_DATA1 <!-- 추가 데이터1 -->
, REG_VAR_DATA2 <!-- 추가 데이터2 -->
, REG_VAR_DATA3 <!-- 추가 데이터3 -->
, REG_VAR_DATA4 <!-- 추가 데이터4 -->
, REG_VAR_DATA5 <!-- 추가 데이터5 -->
, JOB_CD <!-- 작업 코드 -->
, POST_PRCS_STTS_CD <!-- 우편 처리 상태 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
)
VALUES (
#{epostRcptReg.conKey} <!-- 외부연계식별키 -->
, #{epostRcptReg.conOrg} <!-- 외부기관구분코드 -->
, #{epostRcptReg.sndngId} <!-- 발송 ID -->
, #{epostRcptReg.rceptId} <!-- 접수우체국국기호 -->
, #{epostRcptReg.rceptYmd} <!-- 접수 일자 -->
, #{epostRcptReg.dataCd} <!-- 접수코드 -->
, #{epostRcptReg.divKb} <!-- 취급구분 -->
, #{epostRcptReg.dfpayyn} <!-- 결재방법 -->
, #{epostRcptReg.rcptKb} <!-- 내용문 유형 -->
, #{epostRcptReg.sealCd} <!-- 내용문 상세 종류 -->
, #{epostRcptReg.wordKb} <!-- 내용문 종류 -->
, #{epostRcptReg.mailCnt} <!-- 내용문 매수 -->
, #{epostRcptReg.recevCnt} <!-- 수취인 수 -->
, #{epostRcptReg.envCd} <!-- 봉투 종류 -->
, #{epostRcptReg.colorYn} <!-- 칼라우편물 -->
, #{epostRcptReg.mmYn} <!-- 메일머지 플래그 -->
, #{epostRcptReg.flexCd} <!-- 이면구분 -->
, #{epostRcptReg.dmCnt} <!-- 동봉물 개수 -->
, #{epostRcptReg.sbFg} <!-- 반송불필요 여부 -->
, #{epostRcptReg.apvlNb} <!-- 승인번호 -->
, #{epostRcptReg.sendDate} <!-- 신청 일자 -->
, #{epostRcptReg.sendTime} <!-- 전송 시간 -->
, #{epostRcptReg.relorsectCd} <!-- 연계기관결제부서코드 -->
, #{epostRcptReg.recevSenderOrgCode} <!-- 발송기관코드 -->
, #{epostRcptReg.recevSenderNm} <!-- 발송인명 -->
, #{epostRcptReg.recevSenderZipcode} <!-- 발송인 우편번호 -->
, #{epostRcptReg.recevSenderAddr} <!-- 주소 -->
, #{epostRcptReg.recevSenderDetailaddr} <!-- 상세주소 -->
, #{epostRcptReg.recevSenderDepartTel} <!-- 부과부서 전화번호 -->
, #{epostRcptReg.recevSenderDepartNm} <!-- 부과부서 -->
, #{epostRcptReg.recevDivCd} <!-- 등기구분 -->
, #{epostRcptReg.recevPrintDt} <!-- 출력일자 -->
, #{epostRcptReg.recevPrintYear} <!-- 출력연도 -->
, #{epostRcptReg.recevPrintMonth} <!-- 출력월 -->
, #{epostRcptReg.recevPrintDay} <!-- 출력일 -->
, #{epostRcptReg.recevSenderFax} <!-- 부과부서 팩스번호 -->
, #{epostRcptReg.recevSerderStaff} <!-- 부과부서 담당자 -->
, #{epostRcptReg.recevSenderEmail} <!-- 부과부서 이메일 -->
, #{epostRcptReg.regVarData1} <!-- 추가 데이터1 -->
, #{epostRcptReg.regVarData2} <!-- 추가 데이터2 -->
, #{epostRcptReg.regVarData3} <!-- 추가 데이터3 -->
, #{epostRcptReg.regVarData4} <!-- 추가 데이터4 -->
, #{epostRcptReg.regVarData5} <!-- 추가 데이터5 -->
, #{epostRcptReg.jobCd} <!-- 작업 코드 -->
, #{epostRcptReg.postPrcsSttsCd} <!-- 우편 처리 상태 -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{epostRcptReg.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{epostRcptReg.modifiedBy} <!-- 수정자 -->
)
</insert>
<update id="updateEpostRcptReg" parameterType="map">/* 전자우편 접수 등록 수정(epostRcptRegMapper.updateEpostRcptReg) */
UPDATE TB_EPOST_RCPT_REG
SET RCEPT_YMD = #{epostRcptReg.rceptYmd} <!-- 접수 일자 -->
, CON_ORG = #{epostRcptReg.conOrg} <!-- 접수우체국국기호 -->
, RCEPT_ID = #{epostRcptReg.rceptId} <!-- 접수우체국국기호 -->
, DATA_CD = #{epostRcptReg.dataCd} <!-- 접수코드 -->
, DIV_KB = #{epostRcptReg.divKb} <!-- 취급구분 -->
, DFPAYYN = #{epostRcptReg.dfpayyn} <!-- 결재방법 -->
, RCPT_KB = #{epostRcptReg.rcptKb} <!-- 내용문 유형 -->
, SEAL_CD = #{epostRcptReg.sealCd} <!-- 내용문 상세 종류 -->
, WORD_KB = #{epostRcptReg.wordKb} <!-- 내용문 종류 -->
, MAIL_CNT = #{epostRcptReg.mailCnt} <!-- 내용문 매수 -->
, RECEV_CNT = #{epostRcptReg.recevCnt} <!-- 수취인 수 -->
, ENV_CD = #{epostRcptReg.envCd} <!-- 봉투 종류 -->
, COLOR_YN = #{epostRcptReg.colorYn} <!-- 칼라우편물 -->
, MM_YN = #{epostRcptReg.mmYn} <!-- 메일머지 플래그 -->
, FLEX_CD = #{epostRcptReg.flexCd} <!-- 이면구분 -->
, DM_CNT = #{epostRcptReg.dmCnt} <!-- 동봉물 개수 -->
, SB_FG = #{epostRcptReg.sbFg} <!-- 반송불필요 여부 -->
, APVL_NB = #{epostRcptReg.apvlNb} <!-- 승인번호 -->
, SEND_DATE = #{epostRcptReg.sendDate} <!-- 신청 일자 -->
, SEND_TIME = #{epostRcptReg.sendTime} <!-- 전송 시간 -->
, RELORSECT_CD = #{epostRcptReg.relorsectCd} <!-- 연계기관결제부서코드 -->
, RECEV_SENDER_ORG_CODE = #{epostRcptReg.recevSenderOrgCode} <!-- 발송기관코드 -->
, RECEV_SENDER_NM = #{epostRcptReg.recevSenderNm} <!-- 발송인명 -->
, RECEV_SENDER_ZIPCODE = #{epostRcptReg.recevSenderZipcode} <!-- 발송인 우편번호 -->
, RECEV_SENDER_ADDR = #{epostRcptReg.recevSenderAddr} <!-- 주소 -->
, RECEV_SENDER_DETAILADDR = #{epostRcptReg.recevSenderDetailaddr} <!-- 상세주소 -->
, RECEV_SENDER_DEPART_TEL = #{epostRcptReg.recevSenderDepartTel} <!-- 부과부서 전화번호 -->
, RECEV_SENDER_DEPART_NM = #{epostRcptReg.recevSenderDepartNm} <!-- 부과부서 -->
, RECEV_DIV_CD = #{epostRcptReg.recevDivCd} <!-- 등기구분 -->
, RECEV_PRINT_DT = #{epostRcptReg.recevPrintDt} <!-- 출력일자 -->
, RECEV_PRINT_YEAR = #{epostRcptReg.recevPrintYear} <!-- 출력연도 -->
, RECEV_PRINT_MONTH = #{epostRcptReg.recevPrintMonth} <!-- 출력월 -->
, RECEV_PRINT_DAY = #{epostRcptReg.recevPrintDay} <!-- 출력일 -->
, RECEV_SENDER_FAX = #{epostRcptReg.recevSenderFax} <!-- 부과부서 팩스번호 -->
, RECEV_SERDER_STAFF = #{epostRcptReg.recevSerderStaff} <!-- 부과부서 담당자 -->
, RECEV_SENDER_EMAIL = #{epostRcptReg.recevSenderEmail} <!-- 부과부서 이메일 -->
, REG_VAR_DATA1 = #{epostRcptReg.regVarData1} <!-- 추가 데이터1 -->
, REG_VAR_DATA2 = #{epostRcptReg.regVarData2} <!-- 추가 데이터2 -->
, REG_VAR_DATA3 = #{epostRcptReg.regVarData3} <!-- 추가 데이터3 -->
, REG_VAR_DATA4 = #{epostRcptReg.regVarData4} <!-- 추가 데이터4 -->
, REG_VAR_DATA5 = #{epostRcptReg.regVarData5} <!-- 추가 데이터5 -->
, JOB_CD = #{epostRcptReg.jobCd} <!-- 작업 코드 -->
, POST_PRCS_STTS_CD = #{epostRcptReg.postPrcsSttsCd} <!-- 우편 처리 상태 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{epostRcptReg.modifiedBy} <!-- 수정자 -->
WHERE CON_KEY = #{epostRcptReg.conKey}
AND DEL_YN = 'N'
</update>
<update id="deleteEpostRcptReg" parameterType="map">/* 전자우편 접수 등록 삭제(epostRcptRegMapper.deleteEpostRcptReg) */
UPDATE TB_EPOST_RCPT_REG
SET DEL_YN = 'Y' /* 삭제 여부 */
, DEL_DT = <include refid="utility.now" /> /* 삭제 일시 */
, DLTR = #{epostRcptReg.removedBy} /* 삭제자 */
WHERE CON_KEY = #{epostRcptReg.conKey}
AND DEL_YN = 'N'
</update>
</mapper> </mapper>

@ -89,34 +89,34 @@
</if> </if>
AND C.DEL_YN = 'N' /* 단속 삭제 여부 */ AND C.DEL_YN = 'N' /* 단속 삭제 여부 */
<choose> <choose>
<when test="schDetailRegDtOpt == 'regDt'"> <when test="schRegDateOpt == 'regDt'">
<if test="schDetailRegDtFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(CRR.REG_DT,1,8) <![CDATA[>=]]> #{schDetailRegDtFrom} /* 등록 일자 시작 */ AND SUBSTR(CRR.REG_DT,1,8) <![CDATA[>=]]> #{schRegDateFrom} /* 등록 일자 시작 */
</if> </if>
<if test="schDetailRegDtTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(CRR.REG_DT,1,8) <![CDATA[<=]]> #{schDetailRegDtTo} /* 등록 일자 종료 */ AND SUBSTR(CRR.REG_DT,1,8) <![CDATA[<=]]> #{schRegDateTo} /* 등록 일자 종료 */
</if> </if>
</when> </when>
<when test="schDetailRegDtOpt == 'mdfcnDt'"> <when test="schRegDateOpt == 'mdfcnDt'">
<if test="schDetailRegDtFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(CRR.MDFCN_DT,1,8) <![CDATA[>=]]> #{schDetailRegDtFrom} /* 수정 일자 시작 */ AND SUBSTR(CRR.MDFCN_DT,1,8) <![CDATA[>=]]> #{schRegDateFrom} /* 수정 일자 시작 */
</if> </if>
<if test="schDetailRegDtTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(CRR.MDFCN_DT,1,8) <![CDATA[<=]]> #{schDetailRegDtTo} /* 수정 일자 종료 */ AND SUBSTR(CRR.MDFCN_DT,1,8) <![CDATA[<=]]> #{schRegDateTo} /* 수정 일자 종료 */
</if> </if>
</when> </when>
<otherwise> <otherwise>
</otherwise> </otherwise>
</choose> </choose>
<choose> <choose>
<when test="schDetailRgtrOpt == 'rgtr'"> <when test="schRgtrOpt == 'rgtr'">
<if test="schDetailRgtrCd != null"> <if test="schRgtrCd != null">
AND CRR.RGTR = #{schDetailRgtrCd} /* 등록자 코드 */ AND CRR.RGTR = #{schRgtrCd} /* 등록자 코드 */
</if> </if>
</when> </when>
<when test="schDetailRgtrOpt == 'mdfr'"> <when test="schRgtrOpt == 'mdfr'">
<if test="schDetailRgtrCd != null"> <if test="schRgtrCd != null">
AND CRR.MDFR = #{schDetailRgtrCd} /* 수정자 코드 */ AND CRR.MDFR = #{schRgtrCd} /* 수정자 코드 */
</if> </if>
</when> </when>
<otherwise> <otherwise>

@ -128,68 +128,34 @@
</if> </if>
AND C.DEL_YN = 'N' /* 단속 삭제 여부 */ AND C.DEL_YN = 'N' /* 단속 삭제 여부 */
<choose> <choose>
<when test="schDetailRegDtOpt == 'regDt'"> <when test="schRegDateOpt == 'regDt'">
<if test="schDetailRegDtFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(LE.REG_DT,1,8) <![CDATA[>=]]> #{schDetailRegDtFrom} /* 등록 일자 시작 */ AND SUBSTR(LE.REG_DT,1,8) <![CDATA[>=]]> #{schRegDateFrom} /* 등록 일자 시작 */
</if> </if>
<if test="schDetailRegDtTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(LE.REG_DT,1,8) <![CDATA[<=]]> #{schDetailRegDtTo} /* 등록 일자 종료 */ AND SUBSTR(LE.REG_DT,1,8) <![CDATA[<=]]> #{schRegDateTo} /* 등록 일자 종료 */
</if> </if>
</when> </when>
<when test="schDetailRegDtOpt == 'mdfcnDt'"> <when test="schRegDateOpt == 'mdfcnDt'">
<if test="schDetailRegDtFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(LE.MDFCN_DT,1,8) <![CDATA[>=]]> #{schDetailRegDtFrom} /* 수정 일자 시작 */ AND SUBSTR(LE.MDFCN_DT,1,8) <![CDATA[>=]]> #{schRegDateFrom} /* 수정 일자 시작 */
</if> </if>
<if test="schDetailRegDtTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(LE.MDFCN_DT,1,8) <![CDATA[<=]]> #{schDetailRegDtTo} /* 수정 일자 종료 */ AND SUBSTR(LE.MDFCN_DT,1,8) <![CDATA[<=]]> #{schRegDateTo} /* 수정 일자 종료 */
</if> </if>
</when> </when>
<otherwise> <otherwise>
</otherwise> </otherwise>
</choose> </choose>
<choose> <choose>
<when test="schDetailRgtrOpt == 'rgtr'"> <when test="schRgtrOpt == 'rgtr'">
<if test="schDetailRgtrCd != null"> <if test="schRgtrCd != null">
AND LE.RGTR = #{schDetailRgtrCd} /* 등록자 코드 */ AND LE.RGTR = #{schRgtrCd} /* 등록자 코드 */
</if> </if>
</when> </when>
<when test="schDetailRgtrOpt == 'mdfr'"> <when test="schRgtrOpt == 'mdfr'">
<if test="schDetailRgtrCd != null"> <if test="schRgtrCd != null">
AND LE.MDFR = #{schDetailRgtrCd} /* 수정자 코드 */ AND LE.MDFR = #{schRgtrCd} /* 수정자 코드 */
</if>
</when>
<otherwise>
</otherwise>
</choose>
<choose>
<when test="schDetailCrdnRegDtOpt == 'regDt'">
<if test="schDetailCrdnRegDtFrom != null">
AND SUBSTR(C.REG_DT,1,8) <![CDATA[>=]]> #{schDetailCrdnRegDtFrom} /* 단속 등록 일자 시작 */
</if>
<if test="schDetailCrdnRegDtTo != null">
AND SUBSTR(C.REG_DT,1,8) <![CDATA[<=]]> #{schDetailCrdnRegDtTo} /* 단속 등록 일자 종료 */
</if>
</when>
<when test="schDetailCrdnRegDtOpt == 'mdfcnDt'">
<if test="schDetailCrdnRegDtFrom != null">
AND SUBSTR(C.MDFCN_DT,1,8) <![CDATA[>=]]> #{schDetailCrdnRegDtFrom} /* 단속 수정 일자 시작 */
</if>
<if test="schDetailCrdnRegDtTo != null">
AND SUBSTR(C.MDFCN_DT,1,8) <![CDATA[<=]]> #{schDetailCrdnRegDtTo} /* 단속 수정 일자 종료 */
</if>
</when>
<otherwise>
</otherwise>
</choose>
<choose>
<when test="schDetailCrdnRgtrOpt == 'rgtr'">
<if test="schDetailCrdnRgtrCd != null">
AND C.RGTR = #{schDetailCrdnRgtrCd} /* 단속 등록자 코드 */
</if>
</when>
<when test="schDetailCrdnRgtrOpt == 'mdfr'">
<if test="schDetailCrdnRgtrCd != null">
AND C.MDFR = #{schDetailCrdnRgtrCd} /* 단속 수정자 코드 */
</if> </if>
</when> </when>
<otherwise> <otherwise>

@ -168,34 +168,34 @@
</if> </if>
AND C.DEL_YN = 'N' /* 단속 삭제 여부 */ AND C.DEL_YN = 'N' /* 단속 삭제 여부 */
<choose> <choose>
<when test="schDetailRegDtOpt == 'regDt'"> <when test="schRegDateOpt == 'regDt'">
<if test="schDetailRegDtFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(OS.REG_DT,1,8) <![CDATA[>=]]> #{schDetailRegDtFrom} /* 등록 일자 시작 */ AND SUBSTR(OS.REG_DT,1,8) <![CDATA[>=]]> #{schRegDateFrom} /* 등록 일자 시작 */
</if> </if>
<if test="schDetailRegDtTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(OS.REG_DT,1,8) <![CDATA[<=]]> #{schDetailRegDtTo} /* 등록 일자 종료 */ AND SUBSTR(OS.REG_DT,1,8) <![CDATA[<=]]> #{schRegDateTo} /* 등록 일자 종료 */
</if> </if>
</when> </when>
<when test="schDetailRegDtOpt == 'mdfcnDt'"> <when test="schRegDateOpt == 'mdfcnDt'">
<if test="schDetailRegDtFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(OS.MDFCN_DT,1,8) <![CDATA[>=]]> #{schDetailRegDtFrom} /* 수정 일자 시작 */ AND SUBSTR(OS.MDFCN_DT,1,8) <![CDATA[>=]]> #{schRegDateFrom} /* 수정 일자 시작 */
</if> </if>
<if test="schDetailRegDtTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(OS.MDFCN_DT,1,8) <![CDATA[<=]]> #{schDetailRegDtTo} /* 수정 일자 종료 */ AND SUBSTR(OS.MDFCN_DT,1,8) <![CDATA[<=]]> #{schRegDateTo} /* 수정 일자 종료 */
</if> </if>
</when> </when>
<otherwise> <otherwise>
</otherwise> </otherwise>
</choose> </choose>
<choose> <choose>
<when test="schDetailRgtrOpt == 'rgtr'"> <when test="schRgtrOpt == 'rgtr'">
<if test="schDetailRgtrCd != null"> <if test="schRgtrCd != null">
AND OS.RGTR = #{schDetailRgtrCd} /* 등록자 코드 */ AND OS.RGTR = #{schRgtrCd} /* 등록자 코드 */
</if> </if>
</when> </when>
<when test="schDetailRgtrOpt == 'mdfr'"> <when test="schRgtrOpt == 'mdfr'">
<if test="schDetailRgtrCd != null"> <if test="schRgtrCd != null">
AND OS.MDFR = #{schDetailRgtrCd} /* 수정자 코드 */ AND OS.MDFR = #{schRgtrCd} /* 수정자 코드 */
</if> </if>
</when> </when>
<otherwise> <otherwise>

@ -147,11 +147,9 @@
<tr id="theadTr--${pageName}" <tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}"> data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 72px;">NO.</th> <th class="cmn" style="width: 72px;">NO.</th>
<th class="cmn" style="width: 56px;"> <th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);"></th>
<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: 160px;">업무구분</th>
<th class="cmn" style="width: 120px;">발송구분</th> <th class="cmn" style="width: 140px;">발송구분</th>
<th class="cmn" style="width: 100px;">사용여부</th> <th class="cmn" style="width: 100px;">사용여부</th>
<th class="cmn" style="width: 180px;">최종사용일시</th> <th class="cmn" style="width: 180px;">최종사용일시</th>
<th class="cmn" style="width: 300px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th> <th class="cmn" style="width: 300px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
@ -459,6 +457,28 @@
// 엑셀 버튼 이벤트 // 엑셀 버튼 이벤트
fnExcel${pageName} = () => { fnExcel${pageName} = () => {
if (${pageName}Control.dataset.empty) {
alert("조회된 자료가 없습니다.");
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 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.download();
} }

@ -234,9 +234,7 @@
<tr id="theadTr--${pageName}" <tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}"> data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 72px;">NO.</th> <th class="cmn" style="width: 72px;">NO.</th>
<th class="cmn" style="width: 56px;"> <th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);"></th>
<input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);">
</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SEND_DATE', this.innerText, 'ymd', '');">발송일자</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('SEND_DATE', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('JOB_CD', this.innerText, 'match', 'part');">발송내역</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('JOB_CD', this.innerText, 'match', 'part');">발송내역</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DIV_KB', this.innerText, 'codeValue', 'EGP002');">취급구분</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('DIV_KB', this.innerText, 'codeValue', 'EGP002');">취급구분</th>
@ -564,6 +562,29 @@
// 엑셀 버튼 이벤트 // 엑셀 버튼 이벤트
fnExcel${pageName} = () => { fnExcel${pageName} = () => {
if (${pageName}Control.dataset.empty) {
alert("조회된 자료가 없습니다.");
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 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.download();
} }

@ -481,6 +481,29 @@
// 엑셀 버튼 이벤트 // 엑셀 버튼 이벤트
fnExcel${pageName} = () => { fnExcel${pageName} = () => {
if (${pageName}Control.dataset.empty) {
alert("조회된 자료가 없습니다.");
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 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.download();
} }

@ -133,27 +133,28 @@
<div class="row g-1"> <div class="row g-1">
<!-- 등록일자, 수정일자 --> <!-- 등록일자, 수정일자 -->
<div class="col-6"> <div class="col-6">
<select class="form-select text-center" id="schDetailRegDtOpt--${pageName}" name="schDetailRegDtOpt"> <select class="form-select text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option> <option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option> <option value="mdfcnDt">수정일자</option>
</select> </select>
<span class="form-search-linebox"> <span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schDetailRegDtFrom--${pageName}" name="schDetailRegDtFrom" <input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" /> data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ ~
<input type="text" class="form-control form-date" id="schDetailRegDtTo--${pageName}" name="schDetailRegDtTo" <input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택"> data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span> </span>
</div> </div>
<!-- 등록자명, 수정자명 --> <!-- 등록자명, 수정자명 -->
<div class="col-6"> <div class="col-6">
<select class="form-select text-center" id="schDetailRgtrOpt--${pageName}" name="schDetailRgtrOpt"> <select class="form-select text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option> <option value="rgtr">등록자</option>
<option value="mdfr">수정자</option> <option value="mdfr">수정자</option>
</select> </select>
<input type="text" class="form-control w-px-160" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" autocomplete="off" /> <input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();"> <button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();">
검색 검색
</button> </button>
@ -195,9 +196,7 @@
<tr id="theadTr--${pageName}" <tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}"> data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 72px;">NO.</th> <th class="cmn" style="width: 72px;">NO.</th>
<th class="cmn" style="width: 56px;"> <th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);"></th>
<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: 160px;">업무구분</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_YMD', this.innerText, 'ymd', '');">부과제외일자</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_YMD', this.innerText, 'ymd', '');">부과제외일자</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_SE_CD', this.innerText, 'codeValue', 'FIM021');">부과제외구분</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('LEVY_EXCL_SE_CD', this.innerText, 'codeValue', 'FIM021');">부과제외구분</th>
@ -226,9 +225,7 @@
<template id="${infoPrefix}Row--${pageName}"> <template id="${infoPrefix}Row--${pageName}">
<tr data-key="{LEVY_EXCL_ID}"> <tr data-key="{LEVY_EXCL_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"> <td class="cmn text-center"><input type="checkbox" class="form-check-input" value="{LEVY_EXCL_ID}" onchange="${pageName}Control.select('{LEVY_EXCL_ID}', this.checked);"></td>
<input type="checkbox" class="form-check-input" value="{LEVY_EXCL_ID}" onchange="${pageName}Control.select('{LEVY_EXCL_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}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_YMD}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_SE_NM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_EXCL_SE_NM}</td>
@ -450,6 +447,32 @@
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// callback 사용자 검색
callbackFindUser${pageName} = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
// 사용자 검색
getFindUser${pageName} = () => {
let params = {
callbackFuncName : "callbackFindUser${pageName}"
}
ajax.get({
url : wctx.url("/user/user02/010/main.do")
, data : params || {}
, success : resp => {
dialog.open({
id : "userDialog"
, title : "사용자 검색"
, content : resp
, size : "lg"
});
}
});
}
// 개별총정보 dialog // 개별총정보 dialog
getTotalInfo${pageName} = (crdnId) => { getTotalInfo${pageName} = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -533,11 +556,35 @@
} }
// 엑셀 버튼 이벤트 // 엑셀 버튼 이벤트
fnExcel${pageName} = () => ${pageName}Control.download(); fnExcel${pageName} = () => {
if (${pageName}Control.dataset.empty) {
alert("조회된 자료가 없습니다.");
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 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();
}
// 사용자 조회 버튼 이벤트 // 사용자 조회 버튼 이벤트
fnFindUser${pageName} = () => { fnFindUser${pageName} = () => {
getFindUser${pageName}();
} }
// 수정 버튼 이벤트 // 수정 버튼 이벤트
@ -633,6 +680,9 @@
$("#schLevyExclYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date); $("#schLevyExclYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schLevyExclYmdTo--${pageName}").datepicker("setDate", new Date()); $("#schLevyExclYmdTo--${pageName}").datepicker("setDate", new Date());
// 사용자 이름
$("#schRgtrNm--${pageName}").prop("readonly", true);
// dataset 초기화 // dataset 초기화
${pageName}Control.dataset.clear(); ${pageName}Control.dataset.clear();
} }

@ -136,27 +136,28 @@
</div> </div>
<!-- 등록일자, 수정일자 --> <!-- 등록일자, 수정일자 -->
<div class="col-6"> <div class="col-6">
<select class="form-select text-center" id="schDetailRegDtOpt--${pageName}" name="schDetailRegDtOpt"> <select class="form-select text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option> <option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option> <option value="mdfcnDt">수정일자</option>
</select> </select>
<span class="form-search-linebox"> <span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schDetailRegDtFrom--${pageName}" name="schDetailRegDtFrom" <input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ ~
<input type="text" class="form-control form-date" id="schDetailRegDtTo--${pageName}" name="schDetailRegDtTo" <input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택"> data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span> </span>
</div> </div>
<!-- 등록자명, 수정자명 --> <!-- 등록자명, 수정자명 -->
<div class="col-6"> <div class="col-6">
<select class="form-select text-center" id="schDetailRgtrOpt--${pageName}" name="schDetailRgtrOpt"> <select class="form-select text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option> <option value="rgtr">등록자</option>
<option value="mdfr">수정자</option> <option value="mdfr">수정자</option>
</select> </select>
<input type="text" class="form-control" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" /> <input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();"> <button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();">
검색 검색
</button> </button>
@ -201,9 +202,7 @@
<tr id="theadTr--${pageName}" <tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}"> data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 72px;">NO.</th> <th class="cmn" style="width: 72px;">NO.</th>
<th class="cmn" style="width: 56px;"> <th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);"></th>
<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: 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_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_NO', this.innerText, 'match', 'part');">접수번호</th>
@ -216,6 +215,7 @@
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('CRDN_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: 140px;" onclick="searchFromGridTitle('VHRNO', 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: 280px;" onclick="searchFromGridTitle('CRDN_PLC', 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: 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: 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: 140px;" onclick="searchFromGridTitle('DOC_NO', this.innerText, 'ymd', '');">문서번호</th>
@ -235,9 +235,7 @@
<template id="${infoPrefix}Row--${pageName}"> <template id="${infoPrefix}Row--${pageName}">
<tr data-key="{OPNN_ID}"> <tr data-key="{OPNN_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"> <td class="cmn text-center"><input type="checkbox" class="form-check-input" value="{OPNN_ID}" onchange="${pageName}Control.select('{OPNN_ID}', this.checked);"></td>
<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}">{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_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_NO}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCPT_NO}</td>
@ -250,6 +248,7 @@
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_YMD_TM}</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}">{VHRNO}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{CRDN_PLC}</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-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-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}">{DOC_NO}</td>
@ -266,7 +265,7 @@
</template> </template>
<template id="${infoPrefix}NotFound--${pageName}"> <template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd"> <tr class="odd">
<td valign="top" colspan="26" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td> <td valign="top" colspan="27" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr> </tr>
</template> </template>
</table> </table>
@ -458,6 +457,32 @@
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// callback 사용자 검색
callbackFindUser${pageName} = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
// 사용자 검색
getFindUser${pageName} = () => {
let params = {
callbackFuncName : "callbackFindUser${pageName}"
}
ajax.get({
url : wctx.url("/user/user02/010/main.do")
, data : params || {}
, success : resp => {
dialog.open({
id : "userDialog"
, title : "사용자 검색"
, content : resp
, size : "lg"
});
}
});
}
// 개별총정보 dialog // 개별총정보 dialog
getTotalInfo${pageName} = (crdnId) => { getTotalInfo${pageName} = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -543,7 +568,7 @@
setURL${pageName}(taskSeCd); setURL${pageName}(taskSeCd);
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(); setFormData${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -559,12 +584,34 @@
// 엑셀 버튼 이벤트 // 엑셀 버튼 이벤트
fnExcel${pageName} = () => { fnExcel${pageName} = () => {
if (${pageName}Control.dataset.empty) {
alert("조회된 자료가 없습니다.");
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 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();
} }
// 사용자 조회 버튼 이벤트 // 사용자 조회 버튼 이벤트
fnFindUser${pageName} = () => { fnFindUser${pageName} = () => {
getFindUser${pageName}();
} }
// 수정 버튼 클릭 이벤트 // 수정 버튼 클릭 이벤트
@ -675,6 +722,9 @@
$("#schRcptYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date); $("#schRcptYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schRcptYmdTo--${pageName}").datepicker("setDate", new Date()); $("#schRcptYmdTo--${pageName}").datepicker("setDate", new Date());
// 사용자 이름
$("#schRgtrNm--${pageName}").prop("readonly", true);
// dataset 초기화 // dataset 초기화
${pageName}Control.dataset.clear(); ${pageName}Control.dataset.clear();
} }
@ -688,7 +738,11 @@
} }
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName} = () => { setFormData${pageName} = (taskSeCd) => {
// 화면 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
// ${pageName}Control 설정 // ${pageName}Control 설정
${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 ${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
} }
@ -700,18 +754,11 @@
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 시군구 코드 설정
$("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 보안모드 // 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경 // 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue); fnResetAndChangeBiz${pageName}($("#layout-navbar input[name='taskSeCd']:checked").val());
}); });
</script> </script>

@ -103,27 +103,28 @@
<div class="row g-1"> <div class="row g-1">
<!-- 등록일자, 수정일자 --> <!-- 등록일자, 수정일자 -->
<div class="col-6"> <div class="col-6">
<select class="form-select text-center" id="schDetailRegDtOpt--${pageName}" name="schDetailRegDtOpt"> <select class="form-select text-center" id="schRegDateOpt--${pageName}" name="schRegDateOpt">
<option value="regDt">등록일자</option> <option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option> <option value="mdfcnDt">수정일자</option>
</select> </select>
<span class="form-search-linebox"> <span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schDetailRegDtFrom--${pageName}" name="schDetailRegDtFrom" <input type="text" class="form-control form-date" id="schRegDateFrom--${pageName}" name="schRegDateFrom"
data-fmt-type="day" title="시작 날짜 선택" /> data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~ ~
<input type="text" class="form-control form-date" id="schDetailRegDtTo--${pageName}" name="schDetailRegDtTo" <input type="text" class="form-control form-date" id="schRegDateTo--${pageName}" name="schRegDateTo"
data-fmt-type="day" title="종료 날짜 선택"> data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span> </span>
</div> </div>
<!-- 등록자명, 수정자명 --> <!-- 등록자명, 수정자명 -->
<div class="col-6"> <div class="col-6">
<select class="form-select text-center" id="schDetailRgtrOpt--${pageName}" name="schDetailRgtrOpt"> <select class="form-select text-center" id="schRgtrOpt--${pageName}" name="schRgtrOpt">
<option value="rgtr">등록자</option> <option value="rgtr">등록자</option>
<option value="mdfr">수정자</option> <option value="mdfr">수정자</option>
</select> </select>
<input type="text" class="form-control" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" /> <input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();"> <button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();">
검색 검색
</button> </button>
@ -170,7 +171,7 @@
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('VHRNO', 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('CRDN_STDG_NM', 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: 280px;" onclick="searchFromGridTitle('CRDN_PLC', 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_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: 160px;" onclick="searchFromGridTitle('CRDN_STTS_CD', this.innerText, 'codeValue', 'FIM010');">처리상태</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>
@ -325,6 +326,32 @@
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// callback 사용자 검색
callbackFindUser${pageName} = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
// 사용자 검색
getFindUser${pageName} = () => {
let params = {
callbackFuncName : "callbackFindUser${pageName}"
}
ajax.get({
url : wctx.url("/user/user02/010/main.do")
, data : params || {}
, success : resp => {
dialog.open({
id : "userDialog"
, title : "사용자 검색"
, content : resp
, size : "lg"
});
}
});
}
// 개별총정보 dialog // 개별총정보 dialog
getTotalInfo${pageName} = (crdnId, callSection) => { getTotalInfo${pageName} = (crdnId, callSection) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -382,7 +409,7 @@
setURL${pageName}(taskSeCd); setURL${pageName}(taskSeCd);
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(); setFormData${pageName}(taskSeCd);
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -398,12 +425,34 @@
// 엑셀 버튼 이벤트 // 엑셀 버튼 이벤트
fnExcel${pageName} = () => { fnExcel${pageName} = () => {
if (${pageName}Control.dataset.empty) {
alert("조회된 자료가 없습니다.");
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 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();
} }
// 사용자 조회 버튼 이벤트 // 사용자 조회 버튼 이벤트
fnFindUser${pageName} = () => { fnFindUser${pageName} = () => {
getFindUser${pageName}();
} }
// 이전 단속정보 보기 버튼 이벤트 // 이전 단속정보 보기 버튼 이벤트
@ -466,6 +515,9 @@
$("#schReRegYmdFrom--${pageName}").datepicker("setDate", new Date()); $("#schReRegYmdFrom--${pageName}").datepicker("setDate", new Date());
$("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date()); $("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date());
// 사용자 이름
$("#schRgtrNm--${pageName}").prop("readonly", true);
// dataset 초기화 // dataset 초기화
${pageName}Control.dataset.clear(); ${pageName}Control.dataset.clear();
} }
@ -478,7 +530,11 @@
} }
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName} = () => { setFormData${pageName} = (taskSeCd) => {
// 화면 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분
// ${pageName}Control 설정 // ${pageName}Control 설정
${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 ${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
} }
@ -490,18 +546,11 @@
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 시군구 코드 설정
$("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 보안모드 // 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경 // 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue); fnResetAndChangeBiz${pageName}($("#layout-navbar input[name='taskSeCd']:checked").val());
}); });
</script> </script>

Loading…
Cancel
Save