diff --git a/src/main/java/cokr/xit/fims/levy/Levy.java b/src/main/java/cokr/xit/fims/levy/Levy.java index 0fe57472..c511b53f 100644 --- a/src/main/java/cokr/xit/fims/levy/Levy.java +++ b/src/main/java/cokr/xit/fims/levy/Levy.java @@ -78,14 +78,9 @@ public class Levy extends AbstractEntity { private String levySeCd; /** - * 부과 구분 명 + * 통합 구분 코드 */ - private String levySeNm; - - /** - * 통합 구분 명 - */ - private String untyLvySeNm; + private String untySeCd; /** * 분납 구분 명 diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java index f2a089f3..d8d236b7 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java @@ -1,5 +1,7 @@ package cokr.xit.fims.sndb.service.bean; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.model; + import java.util.List; import javax.annotation.Resource; @@ -566,8 +568,6 @@ public class SndngBean extends AbstractComponent { } // 전자우편 접수 상세 내역을 등록한다. /////////////////////////////////////////////// - String gojiStep = "00"; // 고지순번이 아님 01은 분납 - String gojiGubun = "2"; // 1=정기분 2=수시분 String infoSndngSeNm = ""; // 약식 발송 구분 명 if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계도 @@ -630,7 +630,7 @@ public class SndngBean extends AbstractComponent { EpostRcptDtl epostRcptDtl = new EpostRcptDtl(); // 발송 상세 및 부과 정보 조회 - DataObject sndngDtlInfo = sndngMapper.selectSndngDtlLevyInfo(sndng.getSndngDtlIDs()[iLoop]); + DataObject sndngDtlInfo = sndngMapper.selectSndngDtlInfo(sndng.getSndngDtlIDs()[iLoop]); // 고지번호 String becevBillNumber = ""; @@ -650,14 +650,36 @@ public class SndngBean extends AbstractComponent { } // 금액 - int pcptax = 0; // 본세 - int adamt = 0; // 가산금 - int sumAmt = 0; // 합계 금액 - int afterPcptax = 0; // 납기후 본세 - int afterAdamt = 0; // 납기후 가산금 - int afterSumAmt = 0; // 납기후 합계 금액 - - // 납기일자 + int pcptax = 0; // 본세 + int adamt = 0; // 가산금 + int sumAmt = 0; // 합계 금액 + int afterPcptax = 0; // 납기후 본세 + int afterAdamt = 0; // 납기후 가산금 + int afterSumAmt = 0; // 납기후 합계 금액 + + // 계도장, 사전통지서는 최초 과태료 금액을 출력한다. + if (sndngInfo.string("SNDNG_SE_CD").equals("01") || sndngInfo.string("SNDNG_SE_CD").equals("02")) { + pcptax = sndngDtlInfo.number("FFNLG_CRDN_AMT").intValue(); // 본세 = 과태료 단속 금액 + adamt = 0; // 가산금 = 0 + sumAmt = sndngDtlInfo.number("FFNLG_CRDN_AMT").intValue(); // 합계 금액 = 과태료 단속 금액 + afterPcptax = 0; // 납기후 본세 + afterAdamt = 0; // 납기후 가산금 + afterSumAmt = 0; // 납기후 합계 금액 + } else { + pcptax = sndngDtlInfo.number("PCPTAX").intValue(); // 본세 + adamt = sndngDtlInfo.number("ADAMT").intValue(); // 가산금 + sumAmt = sndngDtlInfo.number("SUM_AMT").intValue(); // 합계 금액 + + if (sndngDtlInfo.string("SGG_CD").equals("50110")) { + afterPcptax = 0; // 납기후 본세 + afterAdamt = 0; // 납기후 가산금 + afterSumAmt = 0; // 납기후 합계 금액 + } else { + afterPcptax = sndngDtlInfo.number("PCPTAX").intValue(); // 납기후 본세 + afterAdamt = sndngDtlInfo.number("DUDT_AFTR_AMT").intValue() - sndngDtlInfo.number("PCPTAX").intValue(); // 납기후 가산금 + afterSumAmt = sndngDtlInfo.number("DUDT_AFTR_AMT").intValue(); // 납기후 금액 + } + } // OCR Band String band1 = ""; @@ -675,17 +697,71 @@ public class SndngBean extends AbstractComponent { band5 = ""; band6 = ""; } else if (ctpvCode.equals("11")) { // 서울 - band1 = ""; + band1 = sndngDtlInfo.string("TAX_NO"); band2 = ""; band3 = ""; band4 = ""; band5 = ""; band6 = ""; } else { - + String levySeCd = ""; // OCR 부과구분코드 + String ocrVrfcCode = ""; // OCR 검증코드 + + // OCR 1번째 줄 54 + // band1 = 부서코드 + 회계연도 + 회계구분 + 세목코드 + 고지번호 + 분납순번 + band1 = sndngDtlInfo.string("DEPT_CD") + "0000" + + sndngDtlInfo.string("FYR") + + sndngDtlInfo.string("ACNTG_SE") + + sndngDtlInfo.string("TXITM_CD") + + sndngDtlInfo.string("LEVY_NO") + + sndngDtlInfo.string("INSPY_SN"); + ocrVrfcCode = getOcrVrfcCode("12357", band1, 31); + band1 = band1 + ocrVrfcCode; + + // 1=정기분 2=수시분 + if (sndngDtlInfo.string("LEVY_SE_CD").equals("01")) { + levySeCd = "1" ; + } else if (sndngDtlInfo.string("LEVY_SE_CD").equals("02")) { + levySeCd = "2" ; + } else { + levySeCd = "2" ; + } + // band2 = 부과구분코드 + 합계금액 + 납기일자 + "0" + band2 = levySeCd + + String.format("%011d", sndngDtlInfo.string("SUM_AMT")) + + sndngDtlInfo.string("DUDT_YMD") + + "0"; + + ocrVrfcCode = getOcrVrfcCode("23571", band1 + band2, 53); + band2 = band2 + ocrVrfcCode; + + // OCR 2번째줄 54 + // band3 = 국세 + 국세요율(납기후에 추가되는 가산금의 비율) + 시도세 + 시도세요율 + 시군구세 + 시군구세요율 + band3 = "0000000000" + + "00" + + "0000000000" + + "00" + + String.format("%011d", sndngDtlInfo.string("SUM_AMT")) + + "00"; + ocrVrfcCode = getOcrVrfcCode("35712", band3, 36); + + // band4 = 부과월 + 납기후처리 + 납기후금액(12자리) + // 0=납기후 수납가능, 1=납기후 수납불가, 2=납기 무관, 7~9=납기후 수납가능 + band4 = sndngDtlInfo.string("DUDT_YMD").substring(4, 5) + + "1" + + "000000000000"; + ocrVrfcCode = getOcrVrfcCode("57123", band3 + band4, 52); + band4 = band4 + ocrVrfcCode; + + // band5 = 전체 합산해서 검코드 구하기용, 사용하지는 않음 + band5 = band1 + band2 + band3 + band4; + ocrVrfcCode = getOcrVrfcCode("71235", band5, 107); + band5 = band5 + ocrVrfcCode; + + // band6 + band6 = band3 + band4 + ocrVrfcCode; } - // 전자우편 접수 상세 set /////////////////////////////////////////////// // CON_KEY epostRcptDtl.setConKey(conKey); @@ -722,26 +798,27 @@ public class SndngBean extends AbstractComponent { // 위반동 epostRcptDtl.setRecevViolateDong(sndngDtlInfo.string("CRDN_STDG_NM")); // 위반장소 - 80 - epostRcptDtl.setRecevViolatePlace(sndngDtlInfo.string("CRDN_PLC")); + if (sndngDtlInfo.string("CRDN_PLC").length() > 80) { + epostRcptDtl.setRecevViolatePlace(sndngDtlInfo.string("CRDN_PLC").substring(0, 80)); + } else { + epostRcptDtl.setRecevViolatePlace(sndngDtlInfo.string("CRDN_PLC")); + } // 법조항 epostRcptDtl.setRecevLaws(vltnInfo.string("VLTN_LAW_NM") + " " + vltnInfo.string("VLTN_LAW1") + " " + vltnInfo.string("VLTN_LAW2")); - // 납부번호1 - // 납부번호2 + // 납부번호 + if (band1.equals("")) { + epostRcptDtl.setRecevPayNumber1(""); // 납부번호1 + epostRcptDtl.setRecevPayNumber2(""); // 납부번호2 + } else { + epostRcptDtl.setRecevPayNumber1(band1.substring(0, 17)); // 납부번호1 + epostRcptDtl.setRecevPayNumber2(band1.substring(18)); // 납부번호2 + } // OCR0 + epostRcptDtl.setRecevOcr0(band1); // OCR1 + epostRcptDtl.setRecevOcr1(band1 + band2); // OCR2 -// qryPutDetail.ParamByName('RECEV_PAY_NUMBER1').AsString := Copy(band1, 1, 17); -// qryPutDetail.ParamByName('RECEV_PAY_NUMBER2').AsString := Copy(band1, 18, 15); -// -// if copy(CPSystem_Info.Sido_Code,1,2) = '11' then -// qryPutDetail.ParamByName('RECEV_OCR0').AsString := FieldByName('GP_TAXNO').AsString -// else -// qryPutDetail.ParamByName('RECEV_OCR0').AsString := band1; -// -// qryPutDetail.ParamByName('RECEV_OCR1').AsString := band1 + band2; -// qryPutDetail.ParamByName('RECEV_OCR2').AsString := band6; -// -// + epostRcptDtl.setRecevOcr2(band6); // 전자 납부번호 epostRcptDtl.setRecevOnlinePayNumber(sndngDtlInfo.string("EPAYNO")); // 가상계좌 @@ -769,96 +846,82 @@ public class SndngBean extends AbstractComponent { epostRcptDtl.setVractno9(sndngDtlInfo.string("BANK_NM9") + " " + sndngDtlInfo.string("VR_ACTNO9")); epostRcptDtl.setVractno10(sndngDtlInfo.string("BANK_NM10") + " " + sndngDtlInfo.string("VR_ACTNO10")); epostRcptDtl.setVractno11(sndngDtlInfo.string("BANK_NM11") + " " + sndngDtlInfo.string("VR_ACTNO11")); - } -// -// qryPutDetail.ParamByName('RECEV_FINE_PRICE').AsString := IntToStr(keum_t); // 과태료금액 -// qryPutDetail.ParamByName('RECEV_PAY_PRICE').AsString := IntToStr(keum_b); // 납부금액 -// qryPutDetail.ParamByName('RECEV_PAY_DT').AsString := FormatDateH(sEndDate); -// -// qryPutDetail.ParamByName('RECEV_PAY_IN_DATE').AsString := FormatDate2(sEndDate); -// -// if (prtGubun = GOJI_GUBUN_INSTRUCT) or (prtGubun = GOJI_GUBUN_PRE) then // 사전통지서 -// qryPutDetail.ParamByName('RECEV_PAY_IN_PRICE').AsString := IntToStr(keum_b) // 납기내금액 -// else -// qryPutDetail.ParamByName('RECEV_PAY_IN_PRICE').AsString := IntToStr(keum_t); -// -// qryPutDetail.ParamByName('RECEV_PAY_IN_ADD_PRICE').AsString := IntToStr(keum_a); -// qryPutDetail.ParamByName('RECEV_PAY_IN_DEFAULT_PRICE').AsString := IntToStr(keum_b); -// -// if CPSystem_Info.Sido_Code = '50110' then -// begin -// qryPutDetail.ParamByName('RECEV_PAY_OUT_DATE').AsString := ''; -// qryPutDetail.ParamByName('RECEV_PAY_OUT_PRICE').AsString := ''; -// qryPutDetail.ParamByName('RECEV_PAY_OUT_ADD_PRICE').AsString := ''; -// qryPutDetail.ParamByName('RECEV_PAY_OUT_DEFAULT_PRICE').AsString := ''; -// end -// else -// begin -// qryPutDetail.ParamByName('RECEV_PAY_OUT_DATE').AsString := FormatDate2(af_date); // 납기 후 기한 -// qryPutDetail.ParamByName('RECEV_PAY_OUT_PRICE').AsString := IntToStr(af_keum_t); // 납기 후 과태료금액 -// qryPutDetail.ParamByName('RECEV_PAY_OUT_ADD_PRICE').AsString := IntToStr(af_keum_a); // 납기 후 가산금액 -// qryPutDetail.ParamByName('RECEV_PAY_OUT_DEFAULT_PRICE').AsString := IntToStr(af_keum_b); -// end; -// -// qryPutDetail.ParamByName('RECEV_CAR_NUMBER').AsString := FieldByName('GP_MM_CARNO').AsString; -// -// if useJuso = JUSO_USE_TAXELSE_DB then // 세외수입에 등록된 주소 사용 -// begin -// qryPutDetail.ParamByName('RECEV_CAR_OWNER_ZIPCODE').AsString := FieldByName('GP_ZIP').AsString; -// qryPutDetail.ParamByName('RECEV_CAR_OWNER_ADDR').AsString := FieldByName('GP_JUSO').AsString; -// qryPutDetail.ParamByName('RECEV_CAR_OWNER_DETAILADDR').AsString := FieldByName('GP_BUNJI').AsString; -// end -// else -// begin -// qryPutDetail.ParamByName('RECEV_CAR_OWNER_ZIPCODE').AsString := FieldByName('OM_ZIP').AsString; -// qryPutDetail.ParamByName('RECEV_CAR_OWNER_ADDR').AsString := FieldByName('OM_JUSO').AsString; -// qryPutDetail.ParamByName('RECEV_CAR_OWNER_DETAILADDR').AsString := FieldByName('OM_BUNJI').AsString; -// end; -// -// qryPutDetail.ParamByName('RECEV_CAR_OWNER_NM').AsString := im_name; -// qryPutDetail.ParamByName('RECEV_CAR_OWNER_SSN').AsString := Copy(FieldByName('GP_JNO_STR').AsString, 1, 6); -// -// qryPutDetail.ParamByName('RECEV_EVIDENCE_NUMBER').AsString := FieldByName('GP_CODE').AsString; -// -// qryPutDetail.ParamByName('RECEV_PHOTO_CNT').AsString := '0'; -// qryPutDetail.ParamByName('RECEV_PHOTO_FILE1').AsString := ''; -// qryPutDetail.ParamByName('RECEV_PHOTO_FILE2').AsString := ''; -// qryPutDetail.ParamByName('RECEV_PHOTO_FILE3').AsString := ''; -// qryPutDetail.ParamByName('RECEV_PHOTO_FILE4').AsString := ''; -// -// -// if (prtGubun = GOJI_GUBUN_INSTRUCT) or (prtGubun = GOJI_GUBUN_PRE) then //사전통지서엔 사진출력 -// begin -// cutFileName := FieldByName('MM_CODE').AsString; -// -// qryPutDetail.ParamByName('RECEV_PHOTO_CNT').AsString := FieldByName('MM_IMAGECNT').AsString; -// -// -// if FieldByName('MM_IMAGECNT').AsInteger > 0 then -// begin -// qryPutDetail.ParamByName('RECEV_PHOTO_FILE1').AsString := cutFileName + 'A.jpg'; -// end; -// -// -// if FieldByName('MM_IMAGECNT').AsInteger > 1 then -// begin -// qryPutDetail.ParamByName('RECEV_PHOTO_FILE2').AsString := cutFileName + 'B.jpg'; -// end; -// -// -// if FieldByName('MM_IMAGECNT').AsInteger > 2 then -// begin -// qryPutDetail.ParamByName('RECEV_PHOTO_FILE3').AsString := cutFileName + 'C.jpg'; -// end; -// -// -// if FieldByName('MM_IMAGECNT').AsInteger > 3 then -// begin -// qryPutDetail.ParamByName('RECEV_PHOTO_FILE4').AsString := cutFileName + 'D.jpg'; -// end; -// -// end; + // 과태료금액 + epostRcptDtl.setRecevFinePrice(sndngDtlInfo.string("FFNLG_AMT")); + // 납부 금액 + epostRcptDtl.setRecevPayPrice(sndngDtlInfo.string("SUM_AMT")); + // 납부기한 + epostRcptDtl.setRecevPayDt(sndngDtlInfo.string("DUDT_YMD_MASK_KOR")); + // 납기내기한 + epostRcptDtl.setRecevPayInDate(sndngDtlInfo.string("DUDT_YMD_MASK")); + // 납기내금액 + if (sndngInfo.string("SNDNG_SE_CD").equals("01") || sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 계도장, 사전통지서는 최초 과태료 금액을 출력 + epostRcptDtl.setRecevPayInPrice(sndngDtlInfo.string("FFNLG_AMT")); + } else { + epostRcptDtl.setRecevPayInPrice(sndngDtlInfo.string("PCPTAX")); + } + // 납기내가산금 + epostRcptDtl.setRecevPayInAddPrice(sndngDtlInfo.string("ADAMT")); + // 납기내합계금액 + epostRcptDtl.setRecevPayInDefaultPrice(sndngDtlInfo.string("SUM_AMT")); + // 납기후기한 + epostRcptDtl.setRecevPayOutDate(sndngDtlInfo.string("DUDT_AFTR_YMD_MASK")); + // 납기후금액 + epostRcptDtl.setRecevPayOutPrice(String.valueOf(afterPcptax)); + // 납기후가산금 + epostRcptDtl.setRecevPayOutAddPrice(String.valueOf(afterAdamt)); + // 납기후합계금액 + epostRcptDtl.setRecevPayOutDefaultPrice(String.valueOf(afterSumAmt)); + // 차량번호 + epostRcptDtl.setRecevCarNumber(sndngDtlInfo.string("VHRNO")); + // 우편번호 + epostRcptDtl.setRecevCarOwnerZipcode(sndngDtlInfo.string("RTPYR_ZIP")); + // 주소(시, 구) + epostRcptDtl.setRecevCarOwnerAddr(sndngDtlInfo.string("RTPYR_ADDR")); + // 상세주소 + epostRcptDtl.setRecevCarOwnerDetailaddr(sndngDtlInfo.string("RTPYR_DTL_ADDR")); + // 소유자명 + epostRcptDtl.setRecevCarOwnerNm(sndngDtlInfo.string("RTPYR_NM")); + // 주민번호(생년월일) + epostRcptDtl.setRecevCarOwnerSsn(sndngDtlInfo.string("RTPYR_NO")); + // 증거번호 + epostRcptDtl.setRecevEvidenceNumber(sndngDtlInfo.string("SNDNG_DTL_ID")); + // 사진장수 + epostRcptDtl.setRecevPhotoCnt("0"); + // 사진파일명1 + epostRcptDtl.setRecevPhotoFilename1(""); + // 사진파일명2 + epostRcptDtl.setRecevPhotoFilename2(""); + // 사진파일명3 + epostRcptDtl.setRecevPhotoFilename3(""); + // 사진파일명4 + epostRcptDtl.setRecevPhotoFilename4(""); + + // 계도장, 사전통지서에는 사진을 출력한다. + if (sndngInfo.string("SNDNG_SE_CD").equals("01") || sndngInfo.string("SNDNG_SE_CD").equals("02")) { +// if (prtGubun = GOJI_GUBUN_INSTRUCT) or (prtGubun = GOJI_GUBUN_PRE) then //사전통지서엔 사진출력 +// begin +// cutFileName := FieldByName('MM_CODE').AsString; +// qryPutDetail.ParamByName('RECEV_PHOTO_CNT').AsString := FieldByName('MM_IMAGECNT').AsString; +// if FieldByName('MM_IMAGECNT').AsInteger > 0 then +// begin +// qryPutDetail.ParamByName('RECEV_PHOTO_FILE1').AsString := cutFileName + 'A.jpg'; +// end; +// if FieldByName('MM_IMAGECNT').AsInteger > 1 then +// begin +// qryPutDetail.ParamByName('RECEV_PHOTO_FILE2').AsString := cutFileName + 'B.jpg'; +// end; +// if FieldByName('MM_IMAGECNT').AsInteger > 2 then +// begin +// qryPutDetail.ParamByName('RECEV_PHOTO_FILE3').AsString := cutFileName + 'C.jpg'; +// end; +// if FieldByName('MM_IMAGECNT').AsInteger > 3 then +// begin +// qryPutDetail.ParamByName('RECEV_PHOTO_FILE4').AsString := cutFileName + 'D.jpg'; +// end; +// end; + } // 전자우편 접수 상세 retSuccess = epostRcptRegBean.createEpostRcptDtl(epostRcptDtl); @@ -971,4 +1034,29 @@ public class SndngBean extends AbstractComponent { return svbtcMapper.delete(svbtc); } + /**OCR 밴드의 검을 반환한다. + * @param vrfcCode 검증에 사용할 코드 + * ocrData OCR 데이터 + * bgngPstn 시작 위치 + * totalLength OCR 데이터의 총길이 + * @return 검증 코드 + * + */ + public String getOcrVrfcCode(String vrfcCode, String strData, int totalLength) { + int temp = 0; + int cdTemp = 0; + String retCode = ""; + + for (int iLoop = 0; iLoop < totalLength; iLoop++) { + temp = ((iLoop + vrfcCode.length()) % vrfcCode.length()); + cdTemp = cdTemp + (Integer.valueOf(strData.substring(iLoop, iLoop + 1)) * Integer.valueOf(vrfcCode.substring(temp, temp + 1))); + } + + retCode = String.valueOf(cdTemp % 10); + + return retCode; + } + } 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 5a0ee203..33ba618d 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -8,6 +8,8 @@ import javax.annotation.Resource; import org.springframework.web.servlet.ModelAndView; import cokr.xit.base.code.CommonCode; +import cokr.xit.base.user.service.UserService; +import cokr.xit.base.user.service.bean.UserBean; import cokr.xit.base.web.ApplicationController; import cokr.xit.fims.sndb.SndbQuery; import cokr.xit.fims.sndb.Sndng; @@ -51,6 +53,10 @@ public class Sndb01Controller extends ApplicationController { @Resource(name = "sndngService") private SndngService sndngService; + /** 사용자 정보 DAO */ + @Resource(name="userService") + protected UserService userService; + /**계도장 발송 대상 자료 메인화면(sndb/sndb01/010-main)을 연다. * 조건없는 {@link #getSndngList(SndbQuery) 발송 대장 조회 결과}를 포함시킨다. * @return /sndb/sndb01/010-main diff --git a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml index c372defa..a537ed69 100644 --- a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml +++ b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml @@ -8,21 +8,20 @@ ============================ --> - - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -106,8 +105,7 @@ , LEVY_NO /* 부과 번호 */ , INSPY_SN /* 분납 순번 */ , LEVY_SE_CD /* 부과 구분 코드 */ - , LEVY_SE_NM /* 부과 구분 명 */ - , UNTY_LVY_SE_NM /* 통합 구분 명 */ + , UNTY_SE_CD /* 통합 구분 코드 */ , INSPY_SE_NM /* 분납 구분 명 */ , RDUCT_SE_CD /* 감경 구분 코드 */ , RDUCT_SE_NM /* 감경 구분 명 */ @@ -228,8 +226,7 @@ , LEVY_NO /* 부과 번호 */ , INSPY_SN /* 분납 순번 */ , LEVY_SE_CD /* 부과 구분 코드 */ - , LEVY_SE_NM /* 부과 구분 명 */ - , UNTY_LVY_SE_NM /* 통합 구분 명 */ + , UNTY_SE_CD /* 통합 구분 코드 */ , INSPY_SE_NM /* 분납 구분 명 */ , RDUCT_SE_CD /* 감경 구분 코드 */ , RDUCT_SE_NM /* 감경 구분 명 */ @@ -310,8 +307,7 @@ , #{levy.levyNo} /* 부과 번호 */ , #{levy.inspySn} /* 분납 순번 */ , #{levy.levySeCd} /* 부과 구분 코드 */ - , #{levy.levySeNm} /* 부과 구분 명 */ - , #{levy.untyLvySeNm} /* 통합 구분 명 */ + , #{levy.untySeCd} /* 통합 구분 코드 */ , #{levy.inspySeNm} /* 분납 구분 명 */ , #{levy.rductSeCd} /* 감경 구분 코드 */ , #{levy.rductSeNm} /* 감경 구분 명 */ @@ -390,8 +386,7 @@ , LEVY_NO = #{levy.levyNo} /* 부과 번호 */ , INSPY_SN = #{levy.inspySn} /* 분납 순번 */ , LEVY_SE_CD = #{levy.levySeCd} /* 부과 구분 코드 */ - , LEVY_SE_NM = #{levy.levySeNm} /* 부과 구분 명 */ - , UNTY_LVY_SE_NM = #{levy.untyLvySeNm} /* 통합 구분 명 */ + , UNTY_SE_CD = #{levy.untySeCd} /* 통합 구분 코드 */ , INSPY_SE_NM = #{levy.inspySeNm} /* 분납 구분 명 */ , RDUCT_SE_CD = #{levy.rductSeCd} /* 감경 구분 코드 */ , RDUCT_SE_NM = #{levy.rductSeNm} /* 감경 구분 명 */ diff --git a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml index da82cc9e..829dc2fe 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml @@ -827,6 +827,10 @@ , SD.LEVY_NO , SD.SNDNG_YMD , SD.DUDT_YMD + , GET_MASK_DATE(SD.DUDT_YMD, 'K') AS DUDT_YMD_MASK_KOR + , GET_MASK_DATE(SD.DUDT_YMD, '.') AS DUDT_YMD_MASK + , SD.DUDT_AFTR_YMD + , GET_MASK_DATE(SD.DUDT_AFTR_YMD, '.') AS DUDT_AFTR_YMD_MASK , SD.FFNLG_AMT , SD.LEVY_PCPTAX , SD.LEVY_ADAMT @@ -971,22 +975,30 @@ , SD.SNDNG_RCVMT_CD , (SELECT GET_CODE_NM('FIM051', SD.SNDNG_RCVMT_CD) FROM DUAL) AS SNDNG_RCVMT_NM , SD.ADDR_CHG_CD - , L.LEVY_YMD - , L.FRST_DUDT_YMD - , L.DUDT_YMD - , GET_AFTER_YMD(L.DUDT_YMD, 1, 'MONTH', 'Y') AS AFT_DUDT_YMD , C.FFNLG_CRDN_AMT + , L.DEPT_CD + , L.FYR + , L.ACNTG_SE + , L.TXITM_CD + , L.OPER_ARTCL_CD + , L.SPCL_BIZ_CD + , L.LEVY_NO + , L.INSPY_SN + , L.LEVY_SE_CD , L.LEVY_PCPTAX , L.LEVY_ADAMT , L.INSPY_INT , L.INSPY_SE + , L.LEVY_YMD + , L.DUDT_YMD + , L.DUDT_AFTR_YMD , L.RCVMT_PCPTAX , L.RCVMT_ADAMT , L.RDCAMT_PCPTAX , L.RDCAMT_ADAMT - , L.SUM_AMT , L.LEVY_PCPTAX-L.RCVMT_PCPTAX-L.RDCAMT_PCPTAX AS PCPTAX , L.LEVY_ADAMT-L.RCVMT_ADAMT-L.RDCAMT_ADAMT AS ADAMT + , L.SUM_AMT , L.EPAYNO , L.BANK_NM , L.VR_ACTNO @@ -1030,6 +1042,7 @@ , C.CRDN_STDG_NM , C.CRDN_ROAD_NM , C.CRDN_PLC + , C.FFNLG_CRDN_AMT , C.FFNLG_AMT , C.ADVNTCE_AMT , C.CRDN_STTS_CD @@ -1071,20 +1084,26 @@ , L.FYR , L.ACNTG_SE , L.TXITM_CD - , L.TXITM_NM + , L.OPER_ARTCL_CD + , L.SPCL_BIZ_CD , L.LEVY_NO , L.INSPY_SN - , L.LEVY_YMD - , L.DUDT_YMD - , L.FFNLG_AMT + , L.LEVY_SE_CD , L.LEVY_PCPTAX , L.LEVY_ADAMT , L.INSPY_INT + , L.INSPY_SE + , L.LEVY_YMD + , L.DUDT_YMD + , L.DUDT_AFTR_YMD , L.RCVMT_PCPTAX , L.RCVMT_ADAMT , L.RDCAMT_PCPTAX , L.RDCAMT_ADAMT + , L.LEVY_PCPTAX-L.RCVMT_PCPTAX-L.RDCAMT_PCPTAX AS PCPTAX + , L.LEVY_ADAMT-L.RCVMT_ADAMT-L.RDCAMT_ADAMT AS ADAMT , L.SUM_AMT + , L.DUDT_AFTR_AMT , L.TXTN_THING , L.MNG_ARTCL1 , L.MNG_ARTCL2 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp index 72653a13..686cfebd 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp @@ -29,6 +29,8 @@
+ +