From 376c5607b25afd28a369dadca8fa1cef076d776f Mon Sep 17 00:00:00 2001 From: leebeomjun Date: Wed, 23 Aug 2023 16:22:35 +0900 Subject: [PATCH] no message --- .../service/bean/CrdnCvlcptServiceBean.java | 138 ++++++++++-------- .../mapper/fims/cvlc/crdnCvlcpt-mapper.xml | 19 ++- 2 files changed, 93 insertions(+), 64 deletions(-) diff --git a/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptServiceBean.java b/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptServiceBean.java index 6a2581fd..d5b845b6 100644 --- a/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptServiceBean.java +++ b/src/main/java/cokr/xit/fims/cvlc/service/bean/CrdnCvlcptServiceBean.java @@ -40,7 +40,6 @@ import cokr.xit.fims.cvlc.service.CrdnCvlcptService; import cokr.xit.fims.excl.Excl01; import cokr.xit.fims.excl.service.bean.Excl01Bean; import cokr.xit.fims.sprt.Sprt; -import cokr.xit.foundation.UserInfo; import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.data.DataObject; import kr.dogfoot.hwplib.object.HWPFile; @@ -288,8 +287,32 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv public boolean sendBackCivilComplaintInfo(String crdnId) { boolean saved = false; - //TODO : 반송(회수) 처리 추가 + DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdnId); + boolean isFirstBorn = crdnInfo.string("CRDN_REG_SE_CD").equals("02"); + boolean isNotYetTransmit = !Arrays.asList(new String[]{"04","05","06"}).contains(crdnInfo.string("CVLCPT_TRSM_CD")); + + //자동등록된 연계자료이며, 전송 작업 처리 전 자료에 대해 민원 정보를 업데이트한다. + if (isFirstBorn && isNotYetTransmit) { + + // 답변내용 초기화 + boolean retSuccess = crdnCvlcptBean.initCvlcptPrcsRsltCn(crdnInfo.string("CVLCPT_LINK_ID")); + if (!retSuccess) { + throw new RuntimeException("반송 처리 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다."); + } + + CrdnCvlcpt crdnCvlcpt = new CrdnCvlcpt(); + crdnCvlcpt.setCvlcptLinkId(crdnInfo.string("CVLCPT_LINK_ID")); + crdnCvlcpt.setCvlcptPrcsCd("01"); + retSuccess = crdnCvlcptBean.updateCvlcptPrcsSe(crdnCvlcpt); + + if (!retSuccess) { + throw new RuntimeException("반송 처리 중 단속민원답변 수정에 실패하였습니다."); + } + + } + + //TODO : 단속상태변경? return saved; } @@ -305,80 +328,74 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv String acceptType = (String)ifEmpty(nonQueryRequest.get("acceptType"), ""); - if (crdnInfo.string("CRDN_REG_SE_CD").equals("02")) { + boolean isFirstBorn = crdnInfo.string("CRDN_REG_SE_CD").equals("02"); + boolean isNotYetTransmit = !Arrays.asList(new String[]{"04","05","06"}).contains(crdnInfo.string("CVLCPT_TRSM_CD")); - // 전송 처리 전 자료에 대해서 업데이트한다. - if (!Arrays.asList(new String[]{"04","05","06"}).contains(crdnInfo.string("CVLCPT_TRSM_CD"))) { + //자동등록된 연계자료이며, 전송 작업 처리 전 자료에 대해 민원 정보를 업데이트한다. + if (isFirstBorn && isNotYetTransmit) { - crdnCvlcpt.setCvlcptLinkId(crdnInfo.string("CVLCPT_LINK_ID")); // 민원 연계 ID - - boolean retSuccess = false; - // 답변내용 초기화 - retSuccess = crdnCvlcptBean.initCvlcptPrcsRsltCn(crdnCvlcpt.getCvlcptLinkId()); - if (!retSuccess) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 등록 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다."); - } + crdnCvlcpt.setCvlcptLinkId(crdnInfo.string("CVLCPT_LINK_ID")); // 민원 연계 ID + boolean retSuccess = false; + // 답변내용 초기화 + retSuccess = crdnCvlcptBean.initCvlcptPrcsRsltCn(crdnCvlcpt.getCvlcptLinkId()); + if (!retSuccess) { + throw new RuntimeException("민원자료 저장 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다."); + } - String newCvlcptPrcsCd = ""; - String newCvlcptTrsmCd = ""; + String newCvlcptPrcsCd = ""; + String newCvlcptTrsmCd = ""; - String ansRsnCd = ""; - if(acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용 - ansRsnCd = crdn.getLevyExclRsnCd(); - } else { - ansRsnCd = "3"+crdn.getVltnCd(); - } + String ansRsnCd = ""; + if(acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용 + ansRsnCd = crdn.getLevyExclRsnCd(); + } else { + ansRsnCd = "3"+crdn.getVltnCd(); + } - CrdnQuery crdnQuery = new CrdnQuery(); - crdnQuery.setSggCd(globalStngMapper.selectSggCdForCurrentUser()); - crdnQuery.setTaskSeCd(crdn.getTaskSeCd()); - crdnQuery.setAnsRsnCd(ansRsnCd); - if(ifEmpty(crdnCvlcpt.getDstrbncYn(), () -> "").equals("Y")) { - crdnQuery.setDstrbncYn("Y"); - } + CrdnQuery crdnQuery = new CrdnQuery(); + crdnQuery.setSggCd(globalStngMapper.selectSggCdForCurrentUser()); + crdnQuery.setTaskSeCd(crdn.getTaskSeCd()); + crdnQuery.setAnsRsnCd(ansRsnCd); + if(ifEmpty(crdnCvlcpt.getDstrbncYn(), () -> "").equals("Y")) { + crdnQuery.setDstrbncYn("Y"); + } - // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장 조회 - DataObject infoCvlcptAnsWords = crdnCvlcptMapper.selectCvlcptAnswerWordsInfo(crdnQuery); - - if(acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용 - // 비부과(서손)사유가 민원 답변대상인가? 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면.. - if (infoCvlcptAnsWords != null) { - newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외) - newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상 - } else { - newCvlcptPrcsCd = "07"; // 민원 처리 코드 - 비부과(서손)사유가 답변 미대상 - newCvlcptTrsmCd = "03"; // 민원 전송 코드 - 비부과(서손)사유가 전송 미대상 - } - } else { //수용일 때 + // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장 조회 + DataObject infoCvlcptAnsWords = crdnCvlcptMapper.selectCvlcptAnswerWordsInfo(crdnQuery); - newCvlcptPrcsCd = "02"; // 민원 처리 코드 - 수용 + if(acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용 + // 비부과(서손)사유가 민원 답변대상인가? 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면.. + if (infoCvlcptAnsWords != null) { + newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외) newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상 + } else { + newCvlcptPrcsCd = "07"; // 민원 처리 코드 - 비부과(서손)사유가 답변 미대상 + newCvlcptTrsmCd = "03"; // 민원 전송 코드 - 비부과(서손)사유가 전송 미대상 } + } else { //수용일 때 - crdnCvlcpt.setCvlcptPrcsCd(newCvlcptPrcsCd); // 민원 처리 코드 + newCvlcptPrcsCd = "02"; // 민원 처리 코드 - 수용 + newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상 + } - if (acceptType.equals("someAccept")) { - crdnCvlcpt.setCvlcptPrcsSumry("과태료 계고"); // 민원 처리 요약 - } else if(acceptType.equals("accept")) { - crdnCvlcpt.setCvlcptPrcsSumry("과태료부과"); // 민원 처리 요약 - } else if(acceptType.equals("nonAccept")) { - crdnCvlcpt.setCvlcptPrcsSumry("과태료 미부과"); // 민원 처리 요약 - } + crdnCvlcpt.setCvlcptPrcsCd(newCvlcptPrcsCd); // 민원 처리 코드 - crdnCvlcpt.setCvlcptPrcsPic(UserInfo.current().getId()); // 민원 처리 담당자 - crdnCvlcpt.setCvlcptTrsmCd(newCvlcptTrsmCd); // 민원 전송 코드 - //민원처리정보 변경 - retSuccess = crdnCvlcptBean.updateCvlcptPrcsSe(crdnCvlcpt); + if (acceptType.equals("someAccept")) { + crdnCvlcpt.setCvlcptPrcsSumry("과태료 계고"); // 민원 처리 요약 + } else if(acceptType.equals("accept")) { + crdnCvlcpt.setCvlcptPrcsSumry("과태료부과"); // 민원 처리 요약 + } else if(acceptType.equals("nonAccept")) { + crdnCvlcpt.setCvlcptPrcsSumry("과태료 미부과"); // 민원 처리 요약 + } - if (!retSuccess) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("부과제외 등록 중 단속민원답변 수정에 실패하였습니다."); - } + crdnCvlcpt.setCvlcptTrsmCd(newCvlcptTrsmCd); // 민원 전송 코드 + //민원처리정보 변경 + retSuccess = crdnCvlcptBean.updateCvlcptPrcsSe(crdnCvlcpt); + if (!retSuccess) { + throw new RuntimeException("민원자료 저장 중 단속민원답변 수정에 실패하였습니다."); } - } //첨수파일 수 변경 @@ -620,4 +637,5 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv return true; } + } diff --git a/src/main/resources/sql/mapper/fims/cvlc/crdnCvlcpt-mapper.xml b/src/main/resources/sql/mapper/fims/cvlc/crdnCvlcpt-mapper.xml index 1d3d9175..718befcf 100644 --- a/src/main/resources/sql/mapper/fims/cvlc/crdnCvlcpt-mapper.xml +++ b/src/main/resources/sql/mapper/fims/cvlc/crdnCvlcpt-mapper.xml @@ -306,14 +306,25 @@ SELECT C.CRDN_ID /* 단속민원 처리 구분 수정(crdnCvlcptMapper.updateCvlcptPrcsSe) */ UPDATE TB_CRDN_CVLCPT - SET CVLCPT_PRCS_CMPTN_DT = + SET MDFCN_DT = /* 수정일시 */ + , MDFR = #{modifiedBy} /* 수정자 */ + , CVLCPT_PRCS_PIC = #{modifiedBy} /* 민원 처리 담당자 */ + , CVLCPT_PRCS_PIC_NM = (SELECT USER_NM FROM TB_USER WHERE USER_ID=#{modifiedBy}) + , CVLCPT_PRCS_CMPTN_DT = + + , CVLCPT_PRCS_CD = #{cvlcptPrcsCd} /* 민원처리코드 */ , CVLCPT_TRSM_CD = #{cvlcptTrsmCd} /* 민원전송코드 */ , CVLCPT_PRCS_SUMRY = #{cvlcptPrcsSumry} /* 민원처리요약 */ , DSTRBNC_YN = NULLIF(#{dstrbncYn},'N') /* 방해 여부 */ - , CVLCPT_PRCS_PIC = #{modifiedBy} /* 민원 처리 담당자 */ - , MDFCN_DT = /* 수정일시 */ - , MDFR = #{modifiedBy} /* 수정자 */ + + + , CVLCPT_PRCS_CD = '01' /* 민원처리코드 */ + , CVLCPT_TRSM_CD = '01' /* 민원전송코드 */ + , CVLCPT_PRCS_SUMRY = '' /* 민원처리요약 */ + , CVLCPT_PRCS_RSLT_CN = '' /* 민원처리결과내용 */ + + WHERE CVLCPT_LINK_ID = #{cvlcptLinkId} /* 연계 ID */