main
jjh 12 months ago
parent 4d38952891
commit dd7f35f949

@ -385,10 +385,164 @@ public class SndngBean extends AbstractComponent {
String ctpvCode = ""; // 시도 코드 String ctpvCode = ""; // 시도 코드
String sealCd3 = ""; // 내용문 상세 종류 3번째(마지막) 자리 String sealCd3 = ""; // 내용문 상세 종류 3번째(마지막) 자리
String jobCd = ""; String jobCd = "";
String conKey = ""; String conKey = ""; // 외부연계식별키
// 1. 발송 대장 조회 // 1. 발송 대장 조회
DataObject sndngInfo = sndngMapper.selectSndngInfo(sndng.getSndngId()); DataObject sndngInfo = sndngMapper.selectSndngInfo(sndng.getSndngId());
/*
// 전자우편 발송 등록 전 자료 체크
//사진파일 체크
while not eof do
begin
if FieldByName('MM_CARNO').AsString = '' then
begin
sm(' .' + #13 + ' .');
exit;
end;
if FieldByName('GP_ACCOUNT_NO').AsString = '' then
begin
sm(' .' + #13 + ' .');
exit;
end;
if FieldByName('GP_ERC_NO').AsString = '' then
begin
sm(' .' + #13 + ' .');
exit;
end;
if FieldByName('GP_JUSO').AsString = '' then
begin
sm(' .' + #13 + ' .');
exit;
end;
if (FieldByName('GP_TAXNO').AsString = '') and
((copy(CPSystem_Info.Sido_Code,1,2) = '11') or (debug_level = 4)) then
begin
sm(' .' + #13 + ' .');
exit;
end;
img_chk := 0;
imcode := fieldbyname('MM_code').AsString;
// sm(fieldbyname('MM_code').AsString+#13+fieldbyname('MM_imagecnt').AsString);
sgg_code := Copy(imcode, 1, 5); //시군구
YearPath := Copy(imcode, 6, 4); //년도
if fieldbyname('MM_imagecnt').Asinteger = 1 then
begin
if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'A.jpg') then
inc(img_chk);
end
else if fieldbyname('MM_imagecnt').Asinteger = 2 then
begin
if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'A.jpg') then
inc(img_chk);
if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'B.jpg') then
inc(img_chk);
end else if fieldbyname('MM_imagecnt').Asinteger = 3 then
begin
if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'A.jpg') then
inc(img_chk);
if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'B.jpg') then
inc(img_chk);
if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'C.jpg') then
inc(img_chk);
end else if fieldbyname('MM_imagecnt').Asinteger = 4 then
begin
if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'A.jpg') then
inc(img_chk);
if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'B.jpg') then
inc(img_chk);
if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'C.jpg') then
inc(img_chk);
if sFtp.isFileExists(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString+'D.jpg') then
inc(img_chk);
end;
//sm(FindField('MM_imagecnt').Asstring+#13+inttostr(img_chk));
//sm(sFtp.FtpRootDir);
if img_chk <> fieldbyname('MM_imagecnt').Asinteger then
begin
sm(' '+#13+ ' : '+ fieldbyname('MM_carno').AsString +'('+ fieldbyname('MM_code').AsString+')'+
' .'+#13+
' .');
//sm(sFtp.FtpRootDir + sgg_code + '/' + YearPath + '/' + fieldbyname('MM_code').AsString);
exit;
end;
next;
end;
end;
//사진파일 체크
with cdDetail do begin
IndexDefs.Clear;
IndexDefs.Add('IDX_GP_MM_CARNO_ASC' , 'GP_MM_CARNO;MM_CODE' , []);
IndexName := 'IDX_GP_MM_CARNO_ASC';
//IndexFieldNames := 'MM_CODE';
lblSort.Caption := ' : ';
lblSeek.Caption := ' ';
First;
DisableControls;
LVY_NO_Cnt := 0;
ERC_NO_Cnt := 0;
ACCOUNT_NO_Cnt := 0;
while not eof do begin
if FieldByName('MC_LVY_NO').AsString = '' then Inc(LVY_NO_Cnt);
if FieldByName('MC_ERC_NO').AsString = '' then Inc(ERC_NO_Cnt);
if FieldByName('MC_ACCOUNT_NO').AsString = '' then Inc(ACCOUNT_NO_Cnt);
Next;
end;
EnableControls;
if LVY_NO_Cnt > 0 then
begin
Msg_Warning('' + #13 +
' ' + IntToStr(LVY_NO_Cnt) + ' .');
Exit;
end;
if ERC_NO_Cnt > 0 then
begin
Msg_Warning('' + #13 +
' ' + IntToStr(ERC_NO_Cnt) + ' .');
Exit;
end;
if ACCOUNT_NO_Cnt > 0 then
begin
Msg_Warning('' + #13 +
' ' + IntToStr(ACCOUNT_NO_Cnt) + ' .');
Exit;
end;
end;
*/
// 2. 사용자 정보를 조회한다.
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
// 3. 자치단체 및 부서 정보를 조회한다.
DataObject deptSggInfo = epostRcptRegBean.getDeptSggInfo(sndngInfo.string("DEPT_CD"));
// 4. 위반 정보를 조회한다.
VltnInfoQuery vltnInfoQuery = new VltnInfoQuery();
if (sndngInfo.string("VLTN_ID").equals("")) { // 위반 ID가 없다면..
vltnInfoQuery.setSggCd(sndngInfo.string("SGG_CD"));
vltnInfoQuery.setTaskSeCd(sndngInfo.string("TASK_SE_CD"));
vltnInfoQuery.setVltnCd("01");
} else {
vltnInfoQuery.setSggCd(sndngInfo.string("SGG_CD"));
vltnInfoQuery.setTaskSeCd(sndngInfo.string("TASK_SE_CD"));
vltnInfoQuery.setVltnId(sndngInfo.string("VLTN_ID"));
}
DataObject vltnInfo = vltnInfoBean.getVltnInfo(vltnInfoQuery);
// 5. 전자우편 접수 내역을 등록한다.
EpostRcptReg epostRcptReg = new EpostRcptReg();
ctpvCode = sndngInfo.string("SGG_CD").substring(0, 2); // 시도 코드 ctpvCode = sndngInfo.string("SGG_CD").substring(0, 2); // 시도 코드
@ -411,21 +565,7 @@ public class SndngBean extends AbstractComponent {
return retMessage; return retMessage;
} }
// 2. 위반 정보 조회 // 발송 구분
VltnInfoQuery vltnInfoQuery = new VltnInfoQuery();
if (sndngInfo.string("VLTN_ID").equals("")) { // 위반 ID가 없다면..
vltnInfoQuery.setSggCd(sndngInfo.string("SGG_CD"));
vltnInfoQuery.setTaskSeCd(sndngInfo.string("TASK_SE_CD"));
vltnInfoQuery.setVltnCd("01");
} else {
vltnInfoQuery.setSggCd(sndngInfo.string("SGG_CD"));
vltnInfoQuery.setTaskSeCd(sndngInfo.string("TASK_SE_CD"));
vltnInfoQuery.setVltnId(sndngInfo.string("VLTN_ID"));
}
DataObject vltnInfo = vltnInfoBean.getVltnInfo(vltnInfoQuery);
//
if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계고장 if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계고장
jobCd = vltnInfo.string("VLTN_CD") + "01"; jobCd = vltnInfo.string("VLTN_CD") + "01";
} else if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 사전통지 } else if (sndngInfo.string("SNDNG_SE_CD").equals("02")) { // 사전통지
@ -455,15 +595,6 @@ public class SndngBean extends AbstractComponent {
// 포맷: 등록일(REG_YMD)-발송기관코드(RECEV_SENDER_ORG_CODE)-업무코드(WORK_ID)-우편물구분(POST_SE)일련번호(RECEV_SEQ_NO) // 포맷: 등록일(REG_YMD)-발송기관코드(RECEV_SENDER_ORG_CODE)-업무코드(WORK_ID)-우편물구분(POST_SE)일련번호(RECEV_SEQ_NO)
// 예시: 20170719-40504370000-003-1001 // 예시: 20170719-40504370000-003-1001
// 3. 사용자 정보
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
// 4. 자치단체 및 부서 정보
DataObject deptSggInfo = epostRcptRegBean.getDeptSggInfo(sndngInfo.string("DEPT_CD"));
// 5. 전자우편 접수 등록
EpostRcptReg epostRcptReg = new EpostRcptReg();
epostRcptReg.setConKey(conKey); // 외부연계식별키 epostRcptReg.setConKey(conKey); // 외부연계식별키
epostRcptReg.setRceptId(deptSggInfo.string("RCEPT_ID")); // 접수우체국국기호 epostRcptReg.setRceptId(deptSggInfo.string("RCEPT_ID")); // 접수우체국국기호
epostRcptReg.setDataCd("00"); // 접수코드 epostRcptReg.setDataCd("00"); // 접수코드
@ -552,13 +683,14 @@ public class SndngBean extends AbstractComponent {
epostRcptReg.setRceptYmd(sndngInfo.string("TODAY")); // 접수 일자 epostRcptReg.setRceptYmd(sndngInfo.string("TODAY")); // 접수 일자
epostRcptReg.setSndngId(sndngInfo.string("SNDNG_ID")); // 발송 ID epostRcptReg.setSndngId(sndngInfo.string("SNDNG_ID")); // 발송 ID
retSuccess = epostRcptRegBean.createEpostRcptReg(epostRcptReg); // 전자우편 접수 등록 // 6. 전자우편 접수 등록
retSuccess = epostRcptRegBean.createEpostRcptReg(epostRcptReg);
if (!retSuccess) { if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("우편통합 발송 작업중 전자우편 접수 등록에 실패하였습니다."); throw new RuntimeException("우편통합 발송 작업중 전자우편 접수 등록에 실패하였습니다.");
} }
// 6. 발송 내역을 수정한다. // 7. 발송 내역을 수정한다.
Sndng mdfcnSndng = new Sndng(); Sndng mdfcnSndng = new Sndng();
mdfcnSndng.setConKey(epostRcptReg.getConKey()); // 외부연계식별키 mdfcnSndng.setConKey(epostRcptReg.getConKey()); // 외부연계식별키
@ -572,7 +704,7 @@ public class SndngBean extends AbstractComponent {
throw new RuntimeException("우편통합 발송 작업중 전자우편 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("우편통합 발송 작업중 전자우편 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 7. 전자우편 접수 상세 내역을 등록한다. // 8. 전자우편 접수 상세 내역을 등록한다.
String infoSndngSeNm = ""; // 약식 발송 구분 명 String infoSndngSeNm = ""; // 약식 발송 구분 명
if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계도 if (sndngInfo.string("SNDNG_SE_CD").equals("01")) { // 계도
@ -629,7 +761,7 @@ public class SndngBean extends AbstractComponent {
} }
recevSubj3 = deptSggInfo.string("SGG_NM"); recevSubj3 = deptSggInfo.string("SGG_NM");
// 전자우편 접수 상세 조회 // 9. 전자우편 접수 상세 조회
List<DataObject> sndngTrgts = sndngMapper.selectSndngTrgts(sndng.getSndngId()); List<DataObject> sndngTrgts = sndngMapper.selectSndngTrgts(sndng.getSndngId());
for (int iLoop = 0; iLoop < sndngTrgts.size(); iLoop++) { for (int iLoop = 0; iLoop < sndngTrgts.size(); iLoop++) {
@ -954,13 +1086,13 @@ public class SndngBean extends AbstractComponent {
} }
} }
// 전자우편 접수 상세 // 10. 전자우편 접수 상세
retSuccess = epostRcptRegBean.createEpostRcptDtl(epostRcptDtl); retSuccess = epostRcptRegBean.createEpostRcptDtl(epostRcptDtl);
if (!retSuccess) { if (!retSuccess) {
throw new RuntimeException("우편통합 발송 작업중 전자우편 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("우편통합 발송 작업중 전자우편 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 8. 발송상세 내역을 수정한다. // 11. 발송상세 내역을 수정한다.
// 우편통합 발송에 사용되었던 최신 단속,부과,납부자 정보로 -> 발송상세 정보를 업데이트한다. // 우편통합 발송에 사용되었던 최신 단속,부과,납부자 정보로 -> 발송상세 정보를 업데이트한다.
SndngDtl sndngDtl = new SndngDtl(); SndngDtl sndngDtl = new SndngDtl();

@ -88,7 +88,7 @@
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{SNDNG_END_YMD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_NO}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_BRDT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_ZIP}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_ZIP}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_ADDR}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_DTL_ADDR}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RTPYR_DTL_ADDR}</td>

Loading…
Cancel
Save