diff --git a/pom.xml b/pom.xml index e883a3b7..04973ca1 100644 --- a/pom.xml +++ b/pom.xml @@ -20,6 +20,8 @@ UTF-8 17 + ${java.version} + ${java.version} @@ -169,12 +171,12 @@ 23.04.01-SNAPSHOT - + diff --git a/src/main/java/cokr/xit/fims/crdn/Crdn.java b/src/main/java/cokr/xit/fims/crdn/Crdn.java index b453de72..efce107a 100644 --- a/src/main/java/cokr/xit/fims/crdn/Crdn.java +++ b/src/main/java/cokr/xit/fims/crdn/Crdn.java @@ -226,7 +226,7 @@ public class Crdn extends AbstractEntity { setVin(vehicle.getVin()); setVhclNm(vehicle.getCnm()); setVhclColr(vehicle.getColor_nm()); - setVhclCpct(vehicle.getTkcar_pscap_co()); + setVhclCpct(toInt(vehicle.getTkcar_pscap_co())); setUseFuelCd(vehicle.getUse_fuel_code()); setFfnlgCarmdlCd(fineCarModel(vehicle.getVhcty_asort_code(), vehicle.getMxmm_ldg())); setErsrRegYmd(vehicle.getErsr_regist_de()); diff --git a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java index 18b38bd5..74b04652 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -1,6 +1,5 @@ package cokr.xit.fims.sndb.web; -import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -11,7 +10,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.apache.poi.ss.usermodel.CellStyle; -import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; @@ -55,6 +53,9 @@ import cokr.xit.fims.sprt.dao.IntegrationSearchMapper; import cokr.xit.fims.sprt.service.IntegrationSearchService; import cokr.xit.fims.sprt.service.bean.MediaBean; import cokr.xit.fims.task.Task; +import cokr.xit.fims.wpm.WoopyonMoaRequest; +import cokr.xit.fims.wpm.service.WoopyonMoaService; +import cokr.xit.foundation.Downloadable; import cokr.xit.foundation.UserInfo; import cokr.xit.foundation.data.DataObject; @@ -166,6 +167,8 @@ public class Sndb01Controller extends ApplicationController { protected OutsourcingStngBean outsourcingStngBean; @Resource(name="integrationSearchMapper") private IntegrationSearchMapper integrationSearchMapper; + @Resource(name="woopyonMoaService") + private WoopyonMoaService woopyonMoaService; /**계고장 발송 대상 자료 메인화면(sndb/sndb01/010-main)을 연다. * @return /sndb/sndb01/010-main @@ -481,31 +484,15 @@ public class Sndb01Controller extends ApplicationController { return new ModelAndView("downloadView") .addObject("download", xlsx.getDownloadable().setFilename("계고장 발송상세" + "_목록_" + now() + ".xlsx")); } else { - try (InputStream input = new ClassPathResource("template/" + template).getInputStream()) { - int rowIndex = 1; - XLSWriter xlsx = new XLSWriter().template(input).worksheet(0); - - for (DataObject row: list) { - xlsx.cell(rowIndex, 0) - .rowValues(List.of("규격", 25, 1)) // 규격, 중량, 통수 - .cell(rowIndex, 3) - .rowValues(List.of( - row.get("RCPN_NM"), // 수취인 - row.get("RCPN_ZIP"), // 우편번호 - row.get("RCPN_ADDR"), // 기본주소 - row.get("RCPN_DTL_ADDR"), // 상세주소 - blankIfEmpty(row.get("RTPYR_MBL_TELNO")), // 휴대폰 - row.get("SNDNG_DTL_ID"), // 문서번호 <- 발송상세아이디 - row.get("TTL_NM"), // 문서제목 - blankIfEmpty(row.get("ETC_CN")) // 비고 - )); - ++rowIndex; - } - return new ModelAndView("downloadView") - .addObject("download", xlsx.getDownloadable().setFilename("우편등록_" + now() + ".xls")); - } catch (Exception e) { - throw runtimeException(e); - } + WoopyonMoaRequest wreq = new WoopyonMoaRequest() + .setTemplate(template) + .setSndngDtlList(list) + .setStandardYN("규격") + .setWeight(25) + .setPieceCount(1); + Downloadable downloadable = woopyonMoaService.downloadRequest(wreq); + return new ModelAndView("downloadView") + .addObject("download", downloadable.setFilename("우편등록_" + now() + ".xls")); } } } diff --git a/src/main/java/cokr/xit/fims/wpm/WoopyonMoa.java b/src/main/java/cokr/xit/fims/wpm/WoopyonMoa.java new file mode 100644 index 00000000..118f6947 --- /dev/null +++ b/src/main/java/cokr/xit/fims/wpm/WoopyonMoa.java @@ -0,0 +1,116 @@ +package cokr.xit.fims.wpm; + +import java.util.List; +import java.util.function.BiConsumer; + +import cokr.xit.foundation.AbstractEntity; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class WoopyonMoa extends AbstractEntity { + public static final List> setters(List headers) { + return headers.stream() + .map(header -> { + BiConsumer setter = switch (header) { + case "번호" -> (row, str) -> row.setNo(toInt(str)); + case "접수우체국" -> (row, str) -> row.setRegistPostOffice(str); + case "발송상태" -> (row, str) -> row.setDeliveryStatus(str); + case "일반번호" -> (row, str) -> row.setGeneralNo(str); + case "등기번호", "창구접수등기번호" -> (row, str) -> row.setRegistrationNo(str); + case "환부여부" -> (row, str) -> row.setReturnYN(str); + case "규격", "규격여부" -> (row, str) -> row.setStandardYN(str); + case "중량" -> (row, str) -> row.setWeight(toInt(str)); + case "통수" -> (row, str) -> row.setPieceCount(toInt(str)); + case "요금" -> (row, str) -> row.setFee(toLong(str)); + case "비고" -> (row, str) -> row.setRemark(str); + case "수취인" -> (row, str) -> row.setPayee(str); + case "우편번호" -> (row, str) -> row.setZipCode(str); + case "기본주소" -> (row, str) -> row.setAddress(str); + case "상세주소" -> (row, str) -> row.setDetailAddress(str); + case "문서번호" -> (row, str) -> row.setDocNo(str); + case "문서제목" -> (row, str) -> row.setDocTitle(str); + case "담당부서" -> (row, str) -> row.setDeptName(str); + case "담당자" -> (row, str) -> row.setManager(str); + case "배달우체국" -> (row, str) -> row.setDeliveryPostOffice(str); + case "배달결과" -> (row, str) -> row.setDeliveryResult(str); + case "반송사유" -> (row, str) -> row.setReturnReason(str); + case "배달일" -> (row, str) -> row.setDeliveryDate(str); + case "수령인" -> (row, str) -> row.setRecipient(str); + case "수령인과의 관계" -> (row, str) -> row.setRecipientRelation(str); + case "등록일" -> (row, str) -> row.setCreatedAt(str); + case "연락처" -> (row, str) -> row.setContact(str); + case "발송일" -> (row, str) -> row.setMailingDate(str); + case "수취인 전화번호" -> (row, str) -> row.setRecipientTelno(str); + case "휴대폰", "수취인 핸드폰번호" -> (row, str) -> row.setRecipientMobileNo(str); + default -> null; + }; + return setter; + }) + .filter(setter -> setter != null) + .toList(); + } + /** 번호 */ + private int no; + /** 접수우체국 */ + private String registPostOffice; + /** 발송상태 */ + private String deliveryStatus; + /** 일반번호 */ + private String generalNo; + /** 창구접수등기번호 */ + private String registrationNo; + /** 환부여부 */ + private String returnYN; + /** 규격여부 */ + private String standardYN; + /** 중량 */ + private int weight; + /** 통수 */ + private int pieceCount; + /** 요금 */ + private long fee; + /** 비고 */ + private String remark; + /** 수취인 */ + private String payee; + /** 우편번호 */ + private String zipCode; + /** 기본주소 */ + private String address; + /** 상세주소 */ + private String detailAddress; + /** 문서번호 */ + private String docNo; + /** 문서제목 */ + private String docTitle; + /** 담당부서 */ + private String deptName; + /** 담당자 */ + private String manager; + /** 배달우체국 */ + private String deliveryPostOffice; + /** 배달결과 */ + private String deliveryResult; + /** 반송사유 */ + private String returnReason; + /** 배달일 */ + private String deliveryDate; + /** 수령인 */ + private String recipient; + /** 수령인과의 관계 */ + private String recipientRelation; + /** 연락처 */ + private String contact; + /** 발송일 */ + private String mailingDate; + /** 수취인 전화번호 */ + private String recipientTelno; + /** 수취인 핸드폰번호 */ + private String recipientMobileNo; + /** 등록일 */ + private String createdAt; + /** 사용여부 */ + private String useYN; +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/wpm/WoopyonMoaRequest.java b/src/main/java/cokr/xit/fims/wpm/WoopyonMoaRequest.java new file mode 100644 index 00000000..9c7b3864 --- /dev/null +++ b/src/main/java/cokr/xit/fims/wpm/WoopyonMoaRequest.java @@ -0,0 +1,27 @@ +package cokr.xit.fims.wpm; + +import java.util.List; + +import cokr.xit.foundation.component.ServiceRequest; +import cokr.xit.foundation.data.DataObject; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +@Getter +@Setter +@Accessors(chain = true) +public class WoopyonMoaRequest extends ServiceRequest { + private static final long serialVersionUID = 1L; + + /** 템플릿 */ + private String template; + /** 규격여부 */ + private String standardYN; + /** 중량 */ + private int weight; + /** 통수 */ + private int pieceCount; + + private List sndngDtlList; +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/wpm/service/WoopyonMoaService.java b/src/main/java/cokr/xit/fims/wpm/service/WoopyonMoaService.java new file mode 100644 index 00000000..cdca710c --- /dev/null +++ b/src/main/java/cokr/xit/fims/wpm/service/WoopyonMoaService.java @@ -0,0 +1,12 @@ +package cokr.xit.fims.wpm.service; + +import java.io.InputStream; + +import cokr.xit.fims.wpm.WoopyonMoaRequest; +import cokr.xit.foundation.Downloadable; + +public interface WoopyonMoaService { + Downloadable downloadRequest(WoopyonMoaRequest req); + + int updateStatus(InputStream input); +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/wpm/service/bean/WoopyonMoaBean.java b/src/main/java/cokr/xit/fims/wpm/service/bean/WoopyonMoaBean.java new file mode 100644 index 00000000..6a90c0ed --- /dev/null +++ b/src/main/java/cokr/xit/fims/wpm/service/bean/WoopyonMoaBean.java @@ -0,0 +1,70 @@ +package cokr.xit.fims.wpm.service.bean; + +import java.io.InputStream; +import java.util.List; +import java.util.function.BiConsumer; + +import javax.annotation.Resource; + +import org.springframework.core.io.ClassPathResource; +import org.springframework.stereotype.Component; + +import cokr.xit.base.docs.xls.XLSReader; +import cokr.xit.base.docs.xls.XLSWriter; +import cokr.xit.fims.sndb.service.bean.SndngDtlBean; +import cokr.xit.fims.wpm.WoopyonMoa; +import cokr.xit.fims.wpm.WoopyonMoaRequest; +import cokr.xit.foundation.Downloadable; +import cokr.xit.foundation.component.AbstractBean; +import cokr.xit.foundation.data.DataObject; + +@Component("woopyonMoaBean") +public class WoopyonMoaBean extends AbstractBean { + /** 발송 상세 정보 Bean */ + @Resource(name = "sndngDtlBean") + private SndngDtlBean sndngDtlBean; + + public Downloadable downloadRequest(WoopyonMoaRequest req) { + try (InputStream input = getTemplate(req.getTemplate())) { + int rowIndex = 1; + XLSWriter xlsx = new XLSWriter().template(input).worksheet(0); + + for (DataObject row: req.getSndngDtlList()) { + xlsx.cell(rowIndex, 0) + .rowValues(List.of(req.getStandardYN(), req.getWeight(), req.getPieceCount())) // 규격, 중량, 통수 + .cell(rowIndex, 3) + .rowValues(List.of( + row.get("RCPN_NM"), // 수취인 + row.get("RCPN_ZIP"), // 우편번호 + row.get("RCPN_ADDR"), // 기본주소 + row.get("RCPN_DTL_ADDR"), // 상세주소 + blankIfEmpty(row.get("RTPYR_MBL_TELNO")), // 휴대폰 + row.get("SNDNG_DTL_ID"), // 문서번호 <- 발송상세아이디 + row.get("TTL_NM"), // 문서제목 + blankIfEmpty(row.get("ETC_CN")) // 비고 + )); + ++rowIndex; + } + return xlsx.getDownloadable(); + } catch (Exception e) { + throw runtimeException(e); + } + } + + private InputStream getTemplate(String template) throws Exception { + return new ClassPathResource("template/" + template).getInputStream(); + } + + public void updateStatus(InputStream input) { + List read = parse(input); + } + + static List parse(InputStream input) { + XLSReader xlsx = new XLSReader().open(input).worksheet(0); + + List> setters = WoopyonMoa.setters(xlsx.rowValues(1)); + return xlsx.readValues(2, WoopyonMoa::new, (row, index, str) -> setters.get(index).accept(row, str), null) + .filter(row -> !isEmpty(row.getDocNo())) + .toList(); + } +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/wpm/service/bean/WoopyonMoaServiceBean.java b/src/main/java/cokr/xit/fims/wpm/service/bean/WoopyonMoaServiceBean.java new file mode 100644 index 00000000..ef9da68b --- /dev/null +++ b/src/main/java/cokr/xit/fims/wpm/service/bean/WoopyonMoaServiceBean.java @@ -0,0 +1,29 @@ +package cokr.xit.fims.wpm.service.bean; + +import java.io.InputStream; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import cokr.xit.fims.wpm.WoopyonMoaRequest; +import cokr.xit.fims.wpm.service.WoopyonMoaService; +import cokr.xit.foundation.Downloadable; +import cokr.xit.foundation.component.AbstractServiceBean; + +@Service("woopyonMoaService") +public class WoopyonMoaServiceBean extends AbstractServiceBean implements WoopyonMoaService { + @Resource(name = "woopyonMoaBean") + private WoopyonMoaBean woopyonMoaBean; + + @Override + public Downloadable downloadRequest(WoopyonMoaRequest req) { + return woopyonMoaBean.downloadRequest(req); + } + + @Override + public int updateStatus(InputStream input) { + WoopyonMoaBean.parse(input); + return 0; + } +} \ No newline at end of file diff --git a/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml b/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml index c8df9822..bac65dad 100644 --- a/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml +++ b/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml @@ -63,64 +63,64 @@ - SELECT ERR.CON_KEY - , ERR.CON_ORG - , ERR.SNDNG_ID - , ERR.RCEPT_ID - , ERR.RCEPT_YMD - , ERR.DATA_CD - , ERR.DIV_KB - , (GET_CODE_NM('EGP002', ERR.DIV_KB)) AS DIV_KB_NM - , ERR.DFPAYYN - , ERR.RCPT_KB - , ERR.SEAL_CD - , ERR.WORD_KB - , ERR.MAIL_CNT - , ERR.RECEV_CNT - , ERR.ENV_CD - , ERR.COLOR_YN - , ERR.MM_YN - , ERR.FLEX_CD - , ERR.DM_CNT - , ERR.SB_FG - , ERR.APVL_NB - , ERR.SEND_DATE - , ERR.SEND_TIME - , ERR.RELORSECT_CD - , ERR.RECEV_SENDER_ORG_CODE - , ERR.RECEV_SENDER_NM - , ERR.RECEV_SENDER_ZIPCODE - , ERR.RECEV_SENDER_ADDR - , ERR.RECEV_SENDER_DETAILADDR - , ERR.RECEV_SENDER_DEPART_TEL - , ERR.RECEV_SENDER_DEPART_NM - , ERR.RECEV_DIV_CD - , ERR.RECEV_PRINT_DT - , ERR.RECEV_PRINT_YEAR - , ERR.RECEV_PRINT_MONTH - , ERR.RECEV_PRINT_DAY - , ERR.RECEV_SENDER_FAX - , ERR.RECEV_SERDER_STAFF - , ERR.RECEV_SENDER_EMAIL - , ERR.REG_VAR_DATA1 - , ERR.REG_VAR_DATA2 - , ERR.REG_VAR_DATA3 - , ERR.REG_VAR_DATA4 - , ERR.REG_VAR_DATA5 - , ERR.JOB_CD - , ERR.POST_PRCS_STTS_CD - , (GET_CODE_NM('EGP012', ERR.POST_PRCS_STTS_CD)) AS POST_PRCS_STTS_NM - , ERR.DEL_YN - , ERR.REG_DT - , ERR.RGTR - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.RGTR) AS RGTR_NM - , ERR.MDFCN_DT - , ERR.MDFR - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.MDFR) AS MDFR_NM - , ERR.DEL_DT - , ERR.DLTR - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.DLTR) AS DLTR_NM - FROM TB_EPOST_RCPT_REG ERR + SELECT ERR.CON_KEY + , ERR.CON_ORG + , ERR.SNDNG_ID + , ERR.RCEPT_ID + , ERR.RCEPT_YMD + , ERR.DATA_CD + , ERR.DIV_KB + , (GET_CODE_NM('EGP002', ERR.DIV_KB)) AS DIV_KB_NM + , ERR.DFPAYYN + , ERR.RCPT_KB + , ERR.SEAL_CD + , ERR.WORD_KB + , ERR.MAIL_CNT + , ERR.RECEV_CNT + , ERR.ENV_CD + , ERR.COLOR_YN + , ERR.MM_YN + , ERR.FLEX_CD + , ERR.DM_CNT + , ERR.SB_FG + , ERR.APVL_NB + , ERR.SEND_DATE + , ERR.SEND_TIME + , ERR.RELORSECT_CD + , ERR.RECEV_SENDER_ORG_CODE + , ERR.RECEV_SENDER_NM + , ERR.RECEV_SENDER_ZIPCODE + , ERR.RECEV_SENDER_ADDR + , ERR.RECEV_SENDER_DETAILADDR + , ERR.RECEV_SENDER_DEPART_TEL + , ERR.RECEV_SENDER_DEPART_NM + , ERR.RECEV_DIV_CD + , ERR.RECEV_PRINT_DT + , ERR.RECEV_PRINT_YEAR + , ERR.RECEV_PRINT_MONTH + , ERR.RECEV_PRINT_DAY + , ERR.RECEV_SENDER_FAX + , ERR.RECEV_SERDER_STAFF + , ERR.RECEV_SENDER_EMAIL + , ERR.REG_VAR_DATA1 + , ERR.REG_VAR_DATA2 + , ERR.REG_VAR_DATA3 + , ERR.REG_VAR_DATA4 + , ERR.REG_VAR_DATA5 + , ERR.JOB_CD + , ERR.POST_PRCS_STTS_CD + , (GET_CODE_NM('EGP012', ERR.POST_PRCS_STTS_CD)) AS POST_PRCS_STTS_NM + , ERR.DEL_YN + , ERR.REG_DT + , ERR.RGTR + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.RGTR) AS RGTR_NM + , ERR.MDFCN_DT + , ERR.MDFR + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.MDFR) AS MDFR_NM + , ERR.DEL_DT + , ERR.DLTR + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.DLTR) AS DLTR_NM + FROM TB_EPOST_RCPT_REG ERR /* 전자우편 접수 등록 객체 가져오기(epostRcptRegMapper.selectEpostRcptRegs) */ - - AND ERR.CON_KEY = #{conKey} - - - AND ERR.CON_ORG = #{conOrg} - - - AND ERR.SNDNG_ID = #{sndngId} - - - AND ERR.DEL_YN = #{delYn} - + AND ERR.CON_KEY = #{conKey} + AND ERR.CON_ORG = #{conOrg} + AND ERR.SNDNG_ID = #{sndngId} + AND ERR.DEL_YN = #{delYn} /* 전자우편 접수 전송 대상 조회(emailRequestMapper.selectSendingRequestList) */ -SELECT CON_ORG - , 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 - , A.CON_KEY - , RELORSECT_CD - , RGST_NMBR CON_DATA - , RECEV_SENDER_NM SENDER_NM - , RECEV_SENDER_ZIPCODE SENDER_ZIPCODE - , RECEV_SENDER_ADDR SENDER_ADDR - , RECEV_SENDER_DETAILADDR SENDER_DTAILADDR - , A.CON_KEY SENDER_DATA - , @row_no := CASE WHEN @con_key = A.CON_KEY THEN @row_no + 1 - ELSE 1 - END SQL_CNT - , @con_key := A.CON_KEY _PREV_CON - , RECEV_CAR_OWNER_NM RECEV_NM - , RECEV_CAR_OWNER_ZIPCODE RECEV_ZIPCODE - , RECEV_CAR_OWNER_ADDR RECEV_ADDR - , RECEV_CAR_OWNER_DETAILADDR RECEV_DTAILADDR - , RGST_NMBR - , 'NULL' RECEV_DATA - , 'NULL' TEL_NUMBER1 - , 'NULL' TEL_NUMBER2 - , 'NULL' TEL_NUMBER3 - , 'NULL' PHONE_NUMBER1 - , 'NULL' PHONE_NUMBER2 - , 'NULL' PHONE_NUMBER3 - , 'NULL' RETURN_NM - , 'NULL' RETURN_ZIPCODE - , 'NULL' RETURN_ADDR - , 'NULL' RETURN_DTAILADDR - , NULL ATTACH_NM - , 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_SEQ - , RECEV_CODE - , RECEV_BAR1D - , RECEV_BAR2D - , RECEV_BILL_NUMBER - , RECEV_DOC_CD1 - , RECEV_DOC_CD2 - , RECEV_DOC_CD3 - , RECEV_DOC_CD4 - , RECEV_DOC_CD5 - , RECEV_SUBJ1 - , RECEV_SUBJ2 - , RECEV_SUBJ3 - , RECEV_VIOLATE_DT - , RECEV_VIOLATE_DONG - , RECEV_VIOLATE_PLACE - , RECEV_LAWS - , RECEV_PAY_NUMBER1 - , RECEV_PAY_NUMBER2 - , RECEV_OCR0 - , RECEV_OCR1 - , RECEV_OCR2 - , RECEV_ONLINE_PAY_NUMBER - , VRACTNO RECEV_VACCOUNT_NUMBER - , RECEV_FINE_PRICE - , RECEV_PAY_PRICE - , RECEV_PAY_DT - , RECEV_PAY_IN_DATE - , RECEV_PAY_IN_PRICE - , RECEV_PAY_IN_ADD_PRICE - , RECEV_PAY_IN_DEFAULT_PRICE - , RECEV_PAY_OUT_DATE - , RECEV_PAY_OUT_PRICE - , RECEV_PAY_OUT_ADD_PRICE - , RECEV_PAY_OUT_DEFAULT_PRICE - , RECEV_CAR_NUMBER - , RECEV_CAR_OWNER_ZIPCODE - , RECEV_CAR_OWNER_ADDR - , RECEV_CAR_OWNER_DETAILADDR - , RECEV_CAR_OWNER_NM - , RECEV_CAR_OWNER_SSN - , RECEV_PRINT_DT - , RECEV_PRINT_YEAR - , RECEV_PRINT_MONTH - , RECEV_PRINT_DAY - , RECEV_EVIDENCE_NUMBER - , RECEV_PHOTO_CNT - , RECEV_PHOTO_FILENAME1 - , RECEV_PHOTO_FILENAME2 - , RECEV_PHOTO_FILENAME3 - , RECEV_PHOTO_FILENAME4 - , REG_VAR_DATA1 RECV_NOTICE_CONTS - , 'NULL' RECEV_TEMP_DATA1 - , 'NULL' RECEV_TEMP_DATA2 - , 'NULL' RECEV_TEMP_DATA3 - , DTL_VAR_DATA1 RECEV_TEMP_DATA4 - , DTL_VAR_DATA2 RECEV_TEMP_DATA5 - , RECEV_SENDER_FAX - , RECEV_SERDER_STAFF - , RECEV_SENDER_EMAIL - , VRACTNO2 RECEV_TEMP_DATA6 - , VRACTNO3 RECEV_TEMP_DATA7 - , VRACTNO4 RECEV_TEMP_DATA8 - , VRACTNO5 RECEV_TEMP_DATA9 - , VRACTNO6 RECEV_TEMP_DATA10 - , VRACTNO7 RECEV_TEMP_DATA11 - , VRACTNO8 RECEV_TEMP_DATA12 - , VRACTNO9 RECEV_TEMP_DATA13 - , VRACTNO10 RECEV_TEMP_DATA14 - , VRACTNO11 RECEV_TEMP_DATA15 - FROM TB_EPOST_RCPT_REG A - , TB_EPOST_RCPT_DTL B - WHERE POST_PRCS_STTS_CD = '01' - AND A.CON_KEY = B.CON_KEY - ORDER BY A.CON_KEY, RGST_NMBR, RECEV_SEQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SELECT 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 - , SNDNG_ID - , JOB_CD - , REG_VAR_DATA1 - , REG_VAR_DATA2 - , REG_VAR_DATA3 - , REG_VAR_DATA4 - , REG_VAR_DATA5 - , POST_PRCS_STTS_CD - , RCEPT_YMD - , DEL_YN - , REG_DT - , RGTR - , DEL_DT - , DLTR - FROM TB_EPOST_RCPT_REG - - - - - -/* 전자우편 신청 등록(emailRequestMapper.insertRequest) */ -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 - , SNDNG_ID - , JOB_CD - , REG_VAR_DATA1 - , REG_VAR_DATA2 - , REG_VAR_DATA3 - , REG_VAR_DATA4 - , REG_VAR_DATA5 - , POST_PRCS_STTS_CD - , RCEPT_YMD - , DEL_YN - , REG_DT - , RGTR - , DEL_DT - , DLTR -) VALUES ( - #{emailRequest.conKey} - , #{emailRequest.rceptId} - , #{emailRequest.dataCd} - , #{emailRequest.divKb} - , #{emailRequest.dfpayyn} - , #{emailRequest.rcptKb} - , #{emailRequest.sealCd} - , #{emailRequest.wordKb} - , #{emailRequest.mailCnt} - , #{emailRequest.recevCnt} - , #{emailRequest.envCd} - , #{emailRequest.colorYn} - , #{emailRequest.mmYn} - , #{emailRequest.flexCd} - , #{emailRequest.dmCnt} - , #{emailRequest.sbFg} - , #{emailRequest.apvlNb} - , #{emailRequest.sendDate} - , #{emailRequest.sendTime} - , #{emailRequest.relorsectCd} - , #{emailRequest.recevSenderOrgCode} - , #{emailRequest.recevSenderNm} - , #{emailRequest.recevSenderZipcode} - , #{emailRequest.recevSenderAddr} - , #{emailRequest.recevSenderDetailaddr} - , #{emailRequest.recevSenderDepartTel} - , #{emailRequest.recevSenderDepartNm} - , #{emailRequest.recevDivCd} - , #{emailRequest.recevPrintDt} - , #{emailRequest.recevPrintYear} - , #{emailRequest.recevPrintMonth} - , #{emailRequest.recevPrintDay} - , #{emailRequest.recevSenderFax} - , #{emailRequest.recevSerderStaff} - , #{emailRequest.recevSenderEmail} - , #{emailRequest.sndngId} - , #{emailRequest.jobCd} - , #{emailRequest.regVarData1} - , #{emailRequest.regVarData2} - , #{emailRequest.regVarData3} - , #{emailRequest.regVarData4} - , #{emailRequest.regVarData5} - , #{emailRequest.postProcStt} - , #{emailRequest.rceptYmd} - , #{emailRequest.delYn} - , - , #{currentUser.id} - , #{emailRequest.removedAt} - , #{emailRequest.removedBy} -) - -/* 전자우편 신청 수정(emailRequestMapper.updateRequest) */ -UPDATE TB_EPOST_RCPT_REG SET - RCEPT_ID = #{emailRequest.rceptId} - , DATA_CD = #{emailRequest.dataCd} - , DIV_KB = #{emailRequest.divKb} - , DFPAYYN = #{emailRequest.dfpayyn} - , RCPT_KB = #{emailRequest.rcptKb} - , SEAL_CD = #{emailRequest.sealCd} - , WORD_KB = #{emailRequest.wordKb} - , MAIL_CNT = #{emailRequest.mailCnt} - , RECEV_CNT = #{emailRequest.recevCnt} - , ENV_CD = #{emailRequest.envCd} - , COLOR_YN = #{emailRequest.colorYn} - , MM_YN = #{emailRequest.mmYn} - , FLEX_CD = #{emailRequest.flexCd} - , DM_CNT = #{emailRequest.dmCnt} - , SB_FG = #{emailRequest.sbFg} - , APVL_NB = #{emailRequest.apvlNb} - , SEND_DATE = #{emailRequest.sendDate} - , SEND_TIME = #{emailRequest.sendTime} - , RELORSECT_CD = #{emailRequest.relorsectCd} - , RECEV_SENDER_ORG_CODE = #{emailRequest.recevSenderOrgCode} - , RECEV_SENDER_NM = #{emailRequest.recevSenderNm} - , RECEV_SENDER_ZIPCODE = #{emailRequest.recevSenderZipcode} - , RECEV_SENDER_ADDR = #{emailRequest.recevSenderAddr} - , RECEV_SENDER_DETAILADDR = #{emailRequest.recevSenderDetailaddr} - , RECEV_SENDER_DEPART_TEL = #{emailRequest.recevSenderDepartTel} - , RECEV_SENDER_DEPART_NM = #{emailRequest.recevSenderDepartNm} - , RECEV_DIV_CD = #{emailRequest.recevDivCd} - , RECEV_PRINT_DT = #{emailRequest.recevPrintDt} - , RECEV_PRINT_YEAR = #{emailRequest.recevPrintYear} - , RECEV_PRINT_MONTH = #{emailRequest.recevPrintMonth} - , RECEV_PRINT_DAY = #{emailRequest.recevPrintDay} - , RECEV_SENDER_FAX = #{emailRequest.recevSenderFax} - , RECEV_SERDER_STAFF = #{emailRequest.recevSerderStaff} - , RECEV_SENDER_EMAIL = #{emailRequest.recevSenderEmail} - , SNDNG_ID = #{emailRequest.sndngId} - , JOB_CD = #{emailRequest.jobCd} - , REG_VAR_DATA1 = #{emailRequest.regVarData1} - , REG_VAR_DATA2 = #{emailRequest.regVarData2} - , REG_VAR_DATA3 = #{emailRequest.regVarData3} - , REG_VAR_DATA4 = #{emailRequest.regVarData4} - , REG_VAR_DATA5 = #{emailRequest.regVarData5} - , POST_PRCS_STTS_CD = #{emailRequest.postProcStt} - , RCEPT_YMD = #{emailRequest.rceptYmd} - , DEL_YN = #{emailRequest.delYn} - , DEL_DT = #{emailRequest.removedAt} - , DLTR = #{emailRequest.removedBy} - WHERE CON_KEY = #{emailRequest.conKey} - -/* 전자우편 신청 상태 변경(emailRequestMapper.updateRequestStatus) */ -UPDATE TB_EPOST_RCPT_REG SET - POST_PRCS_STTS_CD = #{status} - , RCEPT_YMD = CASE CON_KEY - WHEN #{result.reletcdata} THEN #{result.rceptYmd} - ELSE RCEPT_YMD END - WHERE CON_KEY IN ( - #{conKey} - #{result.reldivkey} - #{result.reletcdata} - #{result.conKey} - #{result.reletcdata} - ) - AND POST_PRCS_STTS_CD < #{maxStatus} - -/* 전자우편 배달 완료 처리(emailRequestMapper.updateRequestAsDelivered) */ -UPDATE TB_EPOST_RCPT_REG SET - POST_PRCS_STTS_CD = #{status} - WHERE POST_PRCS_STTS_CD = '27' - AND DEL_YN = 'N' - AND REG_DT < CONCAT(DATE_FORMAT(DATE_SUB(CURRENT_DATE, INTERVAL #{expiryDays} DAY), '%Y%m%d'), '000000') - -/* 전자우편 신청 삭제(emailRequestMapper.deleteRequest) */ -UPDATE TB_EPOST_RCPT_REG SET - DEL_YN = 'Y' - , DEL_DT = - , DLTR = #{currentUser.id} - WHERE CON_KEY IN (#{conKey}) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SELECT CON_KEY - , RGST_NMBR - , RECEV_SEQ - , RECEV_CODE - , RECEV_BAR1D - , RECEV_BAR2D - , RECEV_BILL_NUMBER - , RECEV_DOC_CD1 - , RECEV_DOC_CD2 - , RECEV_DOC_CD3 - , RECEV_DOC_CD4 - , RECEV_DOC_CD5 - , RECEV_SUBJ1 - , RECEV_SUBJ2 - , RECEV_SUBJ3 - , RECEV_VIOLATE_DT - , RECEV_VIOLATE_DONG - , RECEV_VIOLATE_PLACE - , RECEV_LAWS - , RECEV_PAY_NUMBER1 - , RECEV_PAY_NUMBER2 - , RECEV_OCR0 - , RECEV_OCR1 - , RECEV_OCR2 - , RECEV_ONLINE_PAY_NUMBER - , RECEV_FINE_PRICE - , RECEV_PAY_PRICE - , RECEV_PAY_DT - , RECEV_PAY_IN_DATE - , RECEV_PAY_IN_PRICE - , RECEV_PAY_IN_ADD_PRICE - , RECEV_PAY_IN_DEFAULT_PRICE - , RECEV_PAY_OUT_DATE - , RECEV_PAY_OUT_PRICE - , RECEV_PAY_OUT_ADD_PRICE - , RECEV_PAY_OUT_DEFAULT_PRICE - , RECEV_CAR_NUMBER - , RECEV_CAR_OWNER_ZIPCODE - , RECEV_CAR_OWNER_ADDR - , RECEV_CAR_OWNER_DETAILADDR - , RECEV_CAR_OWNER_NM - , RECEV_CAR_OWNER_SSN - , RECEV_EVIDENCE_NUMBER - , RECEV_PHOTO_CNT - , RECEV_PHOTO_FILENAME1 - , RECEV_PHOTO_FILENAME2 - , RECEV_PHOTO_FILENAME3 - , RECEV_PHOTO_FILENAME4 - , VRACTNO2 - , VRACTNO3 - , VRACTNO4 - , VRACTNO5 - , VRACTNO6 - , VRACTNO7 - , VRACTNO8 - , VRACTNO9 - , VRACTNO10 - , VRACTNO11 - , DTL_VAR_DATA1 - , DTL_VAR_DATA2 - , DTL_VAR_DATA3 - , DTL_VAR_DATA4 - , DTL_VAR_DATA5 - , DLVR_RSLT_ID - , MAKE_RSLT_CD - , REG_DT - , RGTR - , VRACTNO - FROM TB_EPOST_RCPT_DTL - - - - - -/* 전자우편 신청 상세 등록(emailRequestMapper.insertRequestDetail) */ -INSERT INTO TB_EPOST_RCPT_DTL ( - CON_KEY - , RGST_NMBR - , RECEV_SEQ - , RECEV_CODE - , RECEV_BAR1D - , RECEV_BAR2D - , RECEV_BILL_NUMBER - , RECEV_DOC_CD1 - , RECEV_DOC_CD2 - , RECEV_DOC_CD3 - , RECEV_DOC_CD4 - , RECEV_DOC_CD5 - , RECEV_SUBJ1 - , RECEV_SUBJ2 - , RECEV_SUBJ3 - , RECEV_VIOLATE_DT - , RECEV_VIOLATE_DONG - , RECEV_VIOLATE_PLACE - , RECEV_LAWS - , RECEV_PAY_NUMBER1 - , RECEV_PAY_NUMBER2 - , RECEV_OCR0 - , RECEV_OCR1 - , RECEV_OCR2 - , RECEV_ONLINE_PAY_NUMBER - , RECEV_FINE_PRICE - , RECEV_PAY_PRICE - , RECEV_PAY_DT - , RECEV_PAY_IN_DATE - , RECEV_PAY_IN_PRICE - , RECEV_PAY_IN_ADD_PRICE - , RECEV_PAY_IN_DEFAULT_PRICE - , RECEV_PAY_OUT_DATE - , RECEV_PAY_OUT_PRICE - , RECEV_PAY_OUT_ADD_PRICE - , RECEV_PAY_OUT_DEFAULT_PRICE - , RECEV_CAR_NUMBER - , RECEV_CAR_OWNER_ZIPCODE - , RECEV_CAR_OWNER_ADDR - , RECEV_CAR_OWNER_DETAILADDR - , RECEV_CAR_OWNER_NM - , RECEV_CAR_OWNER_SSN - , RECEV_EVIDENCE_NUMBER - , RECEV_PHOTO_CNT - , RECEV_PHOTO_FILENAME1 - , RECEV_PHOTO_FILENAME2 - , RECEV_PHOTO_FILENAME3 - , RECEV_PHOTO_FILENAME4 - , VRACTNO2 - , VRACTNO3 - , VRACTNO4 - , VRACTNO5 - , VRACTNO6 - , VRACTNO7 - , VRACTNO8 - , VRACTNO9 - , VRACTNO10 - , VRACTNO11 - , DTL_VAR_DATA1 - , DTL_VAR_DATA2 - , DTL_VAR_DATA3 - , DTL_VAR_DATA4 - , DTL_VAR_DATA5 - , DLVR_RSLT_ID - , MAKE_RSLT_CD - , REG_DT - , RGTR - , VRACTNO -) VALUES ( - #{emailRequestDetail.conKey} - , #{emailRequestDetail.rgstNmbr} - , #{emailRequestDetail.recevSeq} - , #{emailRequestDetail.recevCode} - , #{emailRequestDetail.recevBar1d} - , #{emailRequestDetail.recevBar2d} - , #{emailRequestDetail.recevBillNunber} - , #{emailRequestDetail.recevDocCd1} - , #{emailRequestDetail.recevDocCd2} - , #{emailRequestDetail.recevDocCd3} - , #{emailRequestDetail.recevDocCd4} - , #{emailRequestDetail.recevDocCd5} - , #{emailRequestDetail.recevSubj1} - , #{emailRequestDetail.recevSubj2} - , #{emailRequestDetail.recevSubj3} - , #{emailRequestDetail.recevViolateDt} - , #{emailRequestDetail.recevViolateDong} - , #{emailRequestDetail.recevViolatePlace} - , #{emailRequestDetail.recevLaws} - , #{emailRequestDetail.recevPayNumber1} - , #{emailRequestDetail.recevPayNumber2} - , #{emailRequestDetail.recevOcr0} - , #{emailRequestDetail.recevOcr1} - , #{emailRequestDetail.recevOcr2} - , #{emailRequestDetail.recevOnlinePayNumber} - , #{emailRequestDetail.recevFinePrice} - , #{emailRequestDetail.recevPayPrice} - , #{emailRequestDetail.recevPayDt} - , #{emailRequestDetail.recevPayInDate} - , #{emailRequestDetail.recevPayInPrice} - , #{emailRequestDetail.recevPayInAddPrice} - , #{emailRequestDetail.recevPayInDefaultPrice} - , #{emailRequestDetail.recevPayOutDate} - , #{emailRequestDetail.recevPayOutPrice} - , #{emailRequestDetail.recevPayOutAddPrice} - , #{emailRequestDetail.recevPayOutDefaultPrice} - , #{emailRequestDetail.recevCarNumber} - , #{emailRequestDetail.recevCarOwnerZipcode} - , #{emailRequestDetail.recevCarOwnerAddr} - , #{emailRequestDetail.recevCarOwnerDetailaddr} - , #{emailRequestDetail.recevCarOwnerNm} - , #{emailRequestDetail.recevCarOwnerSsn} - , #{emailRequestDetail.recevEvidenceNumber} - , #{emailRequestDetail.recevPhotoCnt} - , #{emailRequestDetail.recevPhotoFilename1} - , #{emailRequestDetail.recevPhotoFilename2} - , #{emailRequestDetail.recevPhotoFilename3} - , #{emailRequestDetail.recevPhotoFilename4} - , #{emailRequestDetail.vractno2} - , #{emailRequestDetail.vractno3} - , #{emailRequestDetail.vractno4} - , #{emailRequestDetail.vractno5} - , #{emailRequestDetail.vractno6} - , #{emailRequestDetail.vractno7} - , #{emailRequestDetail.vractno8} - , #{emailRequestDetail.vractno9} - , #{emailRequestDetail.vractno10} - , #{emailRequestDetail.vractno11} - , #{emailRequestDetail.dtlVarData1} - , #{emailRequestDetail.dtlVarData2} - , #{emailRequestDetail.dtlVarData3} - , #{emailRequestDetail.dtlVarData4} - , #{emailRequestDetail.dtlVarData5} - , #{emailRequestDetail.dlvrRsltId} - , #{emailRequestDetail.makeRsltCd} - , - , #{currentUser.id} - , #{emailRequestDetail.vractno} -) - -/* 전자우편 신청 상세 수정(emailRequestMapper.updateRequestDetail) */ -UPDATE TB_EPOST_RCPT_DTL SET - RECEV_SEQ = #{emailRequestDetail.recevSeq} - , RECEV_CODE = #{emailRequestDetail.recevCode} - , RECEV_BAR1D = #{emailRequestDetail.recevBar1d} - , RECEV_BAR2D = #{emailRequestDetail.recevBar2d} - , RECEV_BILL_NUMBER = #{emailRequestDetail.recevBillNunber} - , RECEV_DOC_CD1 = #{emailRequestDetail.recevDocCd1} - , RECEV_DOC_CD2 = #{emailRequestDetail.recevDocCd2} - , RECEV_DOC_CD3 = #{emailRequestDetail.recevDocCd3} - , RECEV_DOC_CD4 = #{emailRequestDetail.recevDocCd4} - , RECEV_DOC_CD5 = #{emailRequestDetail.recevDocCd5} - , RECEV_SUBJ1 = #{emailRequestDetail.recevSubj1} - , RECEV_SUBJ2 = #{emailRequestDetail.recevSubj2} - , RECEV_SUBJ3 = #{emailRequestDetail.recevSubj3} - , RECEV_VIOLATE_DT = #{emailRequestDetail.recevViolateDt} - , RECEV_VIOLATE_DONG = #{emailRequestDetail.recevViolateDong} - , RECEV_VIOLATE_PLACE = #{emailRequestDetail.recevViolatePlace} - , RECEV_LAWS = #{emailRequestDetail.recevLaws} - , RECEV_PAY_NUMBER1 = #{emailRequestDetail.recevPayNumber1} - , RECEV_PAY_NUMBER2 = #{emailRequestDetail.recevPayNumber2} - , RECEV_OCR0 = #{emailRequestDetail.recevOcr0} - , RECEV_OCR1 = #{emailRequestDetail.recevOcr1} - , RECEV_OCR2 = #{emailRequestDetail.recevOcr2} - , RECEV_ONLINE_PAY_NUMBER = #{emailRequestDetail.recevOnlinePayNumber} - , RECEV_FINE_PRICE = #{emailRequestDetail.recevFinePrice} - , RECEV_PAY_PRICE = #{emailRequestDetail.recevPayPrice} - , RECEV_PAY_DT = #{emailRequestDetail.recevPayDt} - , RECEV_PAY_IN_DATE = #{emailRequestDetail.recevPayInDate} - , RECEV_PAY_IN_PRICE = #{emailRequestDetail.recevPayInPrice} - , RECEV_PAY_IN_ADD_PRICE = #{emailRequestDetail.recevPayInAddPrice} - , RECEV_PAY_IN_DEFAULT_PRICE = #{emailRequestDetail.recevPayInDefaultPrice} - , RECEV_PAY_OUT_DATE = #{emailRequestDetail.recevPayOutDate} - , RECEV_PAY_OUT_PRICE = #{emailRequestDetail.recevPayOutPrice} - , RECEV_PAY_OUT_ADD_PRICE = #{emailRequestDetail.recevPayOutAddPrice} - , RECEV_PAY_OUT_DEFAULT_PRICE = #{emailRequestDetail.recevPayOutDefaultPrice} - , RECEV_CAR_NUMBER = #{emailRequestDetail.recevCarNumber} - , RECEV_CAR_OWNER_ZIPCODE = #{emailRequestDetail.recevCarOwnerZipcode} - , RECEV_CAR_OWNER_ADDR = #{emailRequestDetail.recevCarOwnerAddr} - , RECEV_CAR_OWNER_DETAILADDR = #{emailRequestDetail.recevCarOwnerDetailaddr} - , RECEV_CAR_OWNER_NM = #{emailRequestDetail.recevCarOwnerNm} - , RECEV_CAR_OWNER_SSN = #{emailRequestDetail.recevCarOwnerSsn} - , RECEV_EVIDENCE_NUMBER = #{emailRequestDetail.recevEvidenceNumber} - , RECEV_PHOTO_CNT = #{emailRequestDetail.recevPhotoCnt} - , RECEV_PHOTO_FILENAME1 = #{emailRequestDetail.recevPhotoFilename1} - , RECEV_PHOTO_FILENAME2 = #{emailRequestDetail.recevPhotoFilename2} - , RECEV_PHOTO_FILENAME3 = #{emailRequestDetail.recevPhotoFilename3} - , RECEV_PHOTO_FILENAME4 = #{emailRequestDetail.recevPhotoFilename4} - , VRACTNO2 = #{emailRequestDetail.vractno2} - , VRACTNO3 = #{emailRequestDetail.vractno3} - , VRACTNO4 = #{emailRequestDetail.vractno4} - , VRACTNO5 = #{emailRequestDetail.vractno5} - , VRACTNO6 = #{emailRequestDetail.vractno6} - , VRACTNO7 = #{emailRequestDetail.vractno7} - , VRACTNO8 = #{emailRequestDetail.vractno8} - , VRACTNO9 = #{emailRequestDetail.vractno9} - , VRACTNO10 = #{emailRequestDetail.vractno10} - , VRACTNO11 = #{emailRequestDetail.vractno11} - , DTL_VAR_DATA1 = #{emailRequestDetail.dtlVarData1} - , DTL_VAR_DATA2 = #{emailRequestDetail.dtlVarData2} - , DTL_VAR_DATA3 = #{emailRequestDetail.dtlVarData3} - , DTL_VAR_DATA4 = #{emailRequestDetail.dtlVarData4} - , DTL_VAR_DATA5 = #{emailRequestDetail.dtlVarData5} - , DLVR_RSLT_ID = #{emailRequestDetail.dlvrRsltId} - , MAKE_RSLT_CD = #{emailRequestDetail.makeRsltCd} - , VRACTNO = #{emailRequestDetail.vractno} - WHERE CON_KEY = #{emailRequestDetail.conKey} - AND RGST_NMBR = #{emailRequestDetail.rgstNmbr} - -/* 전자우편 신청 상세 상태 변경(emailRequestMapper.updateRequestDetailStatus) */ -UPDATE TB_EPOST_RCPT_DTL A - - , ( - SELECT #{result.conKey} CON_KEY, #{result.rgstNmbr} RGST_NMBR, #{result.dataCd} MAKE_RSLT_CD - ) B - SET A.MAKE_RSLT_CD = B.MAKE_RSLT_CD - - - , ( - SELECT #{result.reletcdata} CON_KEY, #{result.regino} RGST_NMBR, #{result.dlvrRsltId} DLVR_RSLT_ID - ) B - SET A.DLVR_RSLT_ID = B.DLVR_RSLT_ID - - WHERE A.CON_KEY = B.CON_KEY - AND B.RGST_NMBR = B.RGST_NMBR - - - \ No newline at end of file diff --git a/src/main/resources/sql/mapper/interfaces/emailResult-mapper.xml b/src/main/resources/sql/mapper/interfaces/emailResult-mapper.xml deleted file mode 100644 index 73a2c9b4..00000000 --- a/src/main/resources/sql/mapper/interfaces/emailResult-mapper.xml +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - -/* 전자우편 신청 수신 결과 등록(emailResultMapper.insertReceptionResult) */ - -SELECT IFNULL(MAX(RCPTN_RSLT_ID) + 1, CONCAT(TODAY, '0000001')) NEW_ID - FROM TB_EPOST_RCPTN_RSLT A, () B - WHERE RCPTN_RSLT_ID LIKE CONCAT(TODAY, '%') -INSERT INTO TB_EPOST_RCPTN_RSLT ( - RCPTN_RSLT_ID - , OUTSIDUSERID - , INIT_TIME - , RECV_FILENAME - , RELDIVKEY - , RECPRSNSEQ - , REGINO - , ATTACHFILENM - , JUNGHAP1 - , JUNGHAP2 - , JUNGHAP3 - , CODE - , MSG - , REG_DT - , RGTR -) -SELECT #{rcptnRsltId} - , #{outsiduserid} - , #{initTime} - , #{recvFilename} - , #{reldivkey} - , #{recprsnseq} - , #{regino} - , #{attachfilenm} - , #{junghap1} - , #{junghap2} - , #{junghap3} - , #{code} - , #{msg} - , #{createdAt} - , #{createdBy} - WHERE NOT EXISTS ( - SELECT 1 - FROM TB_EPOST_RCPTN_RSLT - WHERE RELDIVKEY = #{reldivkey} - AND REGINO = #{regino} - ) - -/* 전자우편 신청 접수 결과 등록(emailResultMapper.insertRegistrationResult) */ - -SELECT IFNULL(MAX(RCPT_RSLT_ID) + 1, CONCAT(TODAY, '0000001')) NEW_ID - FROM TB_EPOST_RCPT_RSLT A, () B - WHERE RCPT_RSLT_ID LIKE CONCAT(TODAY, '%') -INSERT INTO TB_EPOST_RCPT_RSLT ( - RCPT_RSLT_ID - , CON_ORG - , RELORSECT_CD - , RELETCDATA - , EXTRI_REGYMD - , RCEPT_YMD - , RCEPT_ID - , DIV_KB - , RCEPT_CNT - , RCEPT_AMT - , USEFEE_AMT - , TOTPOST_PRC - , JOB_CD - , REG_DT - , RGTR -) -SELECT #{rcptRsltId} - , #{conOrg} - , #{relorsectCd} - , #{reletcdata} - , #{extriRegymd} - , #{rceptYmd} - , #{rceptId} - , #{divKb} - , #{rceptCnt} - , #{rceptAmt} - , #{usefeeAmt} - , #{totpostPrc} - , #{jobCd} - , #{createdAt} - , #{createdBy} - FROM DUAL - WHERE NOT EXISTS ( - SELECT 1 - FROM TB_EPOST_RCPT_RSLT - WHERE RELETCDATA = #{reletcdata} - ) - -/* 전자우편 신청 접수 결과(jobCd) 업데이트(emailResultMapper.updateRegistrationResult) */ -UPDATE TB_EPOST_RCPT_RSLT A - , TB_EPOST_RCPT_REG B - SET A.JOB_CD = SUBSTR(B.JOB_CD, 2) - WHERE A.RELETCDATA IN (#{conKey}) - AND A.RELETCDATA = B.CON_KEY - -/* 전자우편 제작 결과 등록(emailResultMapper.insertProductionResult) */ -INSERT INTO TB_EPOST_MAKE_RSLT ( - CON_KEY - , RGST_NMBR - , RELETCDATA - , DATA_CD - , MAIL_CNT - , REG_DT - , RGTR -) -SELECT #{conKey} - , #{rgstNmbr} - , #{reletcdata} - , #{dataCd} - , #{mailCnt} - , #{createdAt} - , #{createdBy} - FROM DUAL - WHERE NOT EXISTS ( - SELECT 1 - FROM TB_EPOST_MAKE_RSLT - WHERE CON_KEY = #{conKey} - AND RGST_NMBR = #{rgstNmbr} - ) - -/* 전자우편 배달 결과 등록(emailResultMapper.insertDeliveryResult) */ - -SELECT IFNULL(MAX(DLVR_RSLT_ID) + 1, CONCAT(TODAY, '0000001')) NEW_ID - FROM TB_EPOST_DLVR_RSLT A, () B - WHERE DLVR_RSLT_ID LIKE CONCAT(TODAY, '%') -INSERT INTO TB_EPOST_DLVR_RSLT ( - DLVR_RSLT_ID - , CON_KEY - , OUTSIDUSERID - , RELETCDATA - , REGINO - , DELIVYMD - , DELIVHHMI - , DELIVRSLTCD - , NONDELIVREASNCD - , NONDELIVREASNCDNM - , SUBRECPRSNNM - , RELRECPRSNCD - , RELRECPRSNCDNM - , REG_DT - , RGTR -) VALUES ( - #{dlvrRsltId} - , #{reletcdata} - , #{outsiduserid} - , #{reletcdata} - , #{regino} - , #{delivymd} - , #{delivhhmi} - , #{delivrsltcd} - , #{nondelivreasncd} - , #{nondelivreasncdnm} - , #{subrecprsnnm} - , #{relrecprsncd} - , #{relrecprsncdnm} - , #{createdAt} - , #{createdBy} -) - - - -/* 전자우편 신청결과 로그 등록(emailResultMapper.insertResultLogs) */ -INSERT INTO TB_EPOST_PROC_LOG ( - PROC_ID - , PROC_SEQ - , PROC_TYPE - , RESULT_ID - , CON_KEY - , RGST_NMBR - , PROC_STT - , REG_DT - , RGTR -) -SELECT #{log.procId} - , #{log.procSeq} - , #{log.procType} - , #{log.resultId} - , #{log.conKey} - , #{log.rgstNmbr} - , 'N' - , #{log.createdAt} - , #{log.createdBy} - - -/* 전자우편 신청결과 로그 상태 업데이트(emailResultMapper.updateResultLogStatus) */ -UPDATE TB_EPOST_PROC_LOG A - , ( - SELECT #{log.PROC_ID} PROC_ID, #{log.PROC_SEQ} PROC_SEQ, #{log.PROC_STT} PROC_STT - ) B - SET A.PROC_STT = B.PROC_STT - WHERE A.PROC_ID = B.PROC_ID - AND A.PROC_SEQ = B.PROC_SEQ - - \ No newline at end of file diff --git a/src/test/java/cokr/xit/fims/wpm/service/bean/WoopyonMoaBeanTest.java b/src/test/java/cokr/xit/fims/wpm/service/bean/WoopyonMoaBeanTest.java new file mode 100644 index 00000000..6103815a --- /dev/null +++ b/src/test/java/cokr/xit/fims/wpm/service/bean/WoopyonMoaBeanTest.java @@ -0,0 +1,21 @@ +package cokr.xit.fims.wpm.service.bean; + +import java.io.InputStream; +import java.util.List; + +import org.junit.jupiter.api.Test; +import org.springframework.core.io.ClassPathResource; + +import cokr.xit.fims.wpm.WoopyonMoa; + +public class WoopyonMoaBeanTest { + @Test + void parse() { + try (InputStream input = new ClassPathResource("files/일반우편_발송완료.xls").getInputStream()) { + List rows = WoopyonMoaBean.parse(input); + rows.forEach(System.out::println); + } catch (Exception e) { + e.printStackTrace(); + } + } +} \ No newline at end of file