|
|
|
@ -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 = "";
|
|
|
|
@ -657,7 +657,29 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
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
|
|
|
|
|
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 := '';
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// 과태료금액
|
|
|
|
|
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 검증 코드
|
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|