From c7b4e7a6312484133736dc9c436f95b81b5779e3 Mon Sep 17 00:00:00 2001 From: jjh Date: Thu, 20 Jul 2023 16:41:57 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B6=80=EA=B3=BC=EC=A0=9C=EC=99=B8=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/cmmn/CrdnSttsHstryQuery.java | 75 +++++ .../fims/cmmn/dao/CrdnSttsHstryMapper.java | 12 +- .../cmmn/service/CrdnSttsHstryService.java | 2 +- .../cmmn/service/bean/CrdnSttsHstryBean.java | 11 +- .../bean/CrdnSttsHstryServiceBean.java | 2 +- src/main/java/cokr/xit/fims/excl/Excl01.java | 22 +- .../cokr/xit/fims/excl/dao/Excl01Mapper.java | 29 +- .../fims/excl/service/bean/Excl01Bean.java | 6 +- .../excl/service/bean/Excl01ServiceBean.java | 127 +++++++- .../mapper/fims/cmmn/crdnSttsHstry-mapper.xml | 32 +-- .../sql/mapper/fims/excl/excl01-mapper.xml | 272 ++++++++++-------- 11 files changed, 416 insertions(+), 174 deletions(-) diff --git a/src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstryQuery.java b/src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstryQuery.java index 79ed3f3b..c03d53eb 100644 --- a/src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstryQuery.java +++ b/src/main/java/cokr/xit/fims/cmmn/CrdnSttsHstryQuery.java @@ -16,4 +16,79 @@ public class CrdnSttsHstryQuery extends QueryRequest { private static final long serialVersionUID = 1L; + /** + * 상태 이력 ID + */ + private String sttsHstryId; + + /** + * 단속 ID + */ + private String crdnId; + + /** + * 단속 상태 코드 + */ + private String crdnSttsCd; + + /** + * 업무 상세 ID + */ + private String taskDtlId; + + /** + * 사용 여부 + */ + private String useYn; + + public String getSttsHstryId() { + return ifEmpty(sttsHstryId, () -> null); + } + + public T setSttsHstryId(String sttsHstryId) { + this.sttsHstryId = sttsHstryId; + + return self(); + } + + public String getCrdnId() { + return ifEmpty(crdnId, () -> null); + } + + public T setCrdnId(String crdnId) { + this.crdnId = crdnId; + + return self(); + } + + public String getCrdnSttsCd() { + return ifEmpty(crdnSttsCd, () -> null); + } + + public T setCrdnSttsCd(String crdnSttsCd) { + this.crdnSttsCd = crdnSttsCd; + + return self(); + } + + public String getTaskDtlId() { + return ifEmpty(taskDtlId, () -> null); + } + + public T setTaskDtlId(String taskDtlId) { + this.taskDtlId = taskDtlId; + + return self(); + } + + public String getUseYn() { + return ifEmpty(useYn, () -> null); + } + + public T setUseYn(String useYn) { + this.useYn = useYn; + + return self(); + } + } diff --git a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java b/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java index c14e5625..0eec95c1 100644 --- a/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java +++ b/src/main/java/cokr/xit/fims/cmmn/dao/CrdnSttsHstryMapper.java @@ -7,7 +7,6 @@ import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import cokr.xit.foundation.component.AbstractMapper; import cokr.xit.foundation.data.DataObject; - import cokr.xit.fims.cmmn.CrdnSttsHstry; import cokr.xit.fims.cmmn.CrdnSttsHstryQuery; @@ -33,7 +32,16 @@ public interface CrdnSttsHstryMapper extends AbstractMapper { * @param req 단속 상태 이력 조회 조건 * @return 단속 상태 이력 객체 목록 */ - List selectCrdnSttsHstrys(CrdnSttsHstryQuery req); + List selectCrdnSttsHstrys(CrdnSttsHstryQuery req); + + /**지정한 아이디의 사용자 정보를 반환한다. + * @param crdnId 단속 ID + * @return 지정한 아이디의 사용자 정보 + */ + default DataObject selectCrdnSttsHstryInfo(String crdnId) { + List crdnSttsHstryList = selectCrdnSttsHstrys(new CrdnSttsHstryQuery().setCrdnId(crdnId)); + return !crdnSttsHstryList.isEmpty() ? crdnSttsHstryList.get(0) : null; + } /**단속 상태 이력 정보를 등록한다. * @param params 파라미터 diff --git a/src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java b/src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java index e99e4ba7..868d6baa 100644 --- a/src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java +++ b/src/main/java/cokr/xit/fims/cmmn/service/CrdnSttsHstryService.java @@ -28,7 +28,7 @@ public interface CrdnSttsHstryService { * @param req 단속 상태 이력 조회 조건 * @return 단속 상태 이력 객체 목록 */ - List getCrdnSttsHstrys(CrdnSttsHstryQuery req); + List getCrdnSttsHstrys(CrdnSttsHstryQuery req); /**단속 상태 이력 정보를 등록한다. * @param crdnSttsHstry 단속 상태 이력 diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java index 73b12a01..fcc9b31d 100644 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java +++ b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java @@ -41,10 +41,19 @@ public class CrdnSttsHstryBean extends AbstractComponent { * @param req 단속 상태 이력 조회 조건 * @return 단속 상태 이력 객체 목록 */ - public List getCrdnSttsHstrys(CrdnSttsHstryQuery req) { + public List getCrdnSttsHstrys(CrdnSttsHstryQuery req) { return crdnSttsHstryMapper.selectCrdnSttsHstrys(req); } + /**단속 ID에 따라 마지막 단속 상태 이력 객체를 반환한다. + * @param crdnId 단속 ID + * @return 단속 상태 이력 객체 목록 + */ + public DataObject getCrdnSttsHstryInfo(String crdnId) { + return crdnSttsHstryMapper.selectCrdnSttsHstryInfo(crdnId); + } + + /**단속 상태 이력 정보를 등록한다. * @param crdnSttsHstry 단속 상태 이력 * @return 저장 여부 diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java index abc557b2..3c1087cb 100644 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java +++ b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryServiceBean.java @@ -35,7 +35,7 @@ public class CrdnSttsHstryServiceBean extends AbstractServiceBean implements Crd } @Override - public List getCrdnSttsHstrys(CrdnSttsHstryQuery req) { + public List getCrdnSttsHstrys(CrdnSttsHstryQuery req) { return crdnSttsHstryBean.getCrdnSttsHstrys(req); } diff --git a/src/main/java/cokr/xit/fims/excl/Excl01.java b/src/main/java/cokr/xit/fims/excl/Excl01.java index 01f2d943..3fb35e9b 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl01.java +++ b/src/main/java/cokr/xit/fims/excl/Excl01.java @@ -98,12 +98,32 @@ public class Excl01 extends AbstractEntity { */ private String delRsn; -// 필요해서 추가 ///////////////////////////////////////////////////////////////////// /** * 부과 제외 IDs */ private String[] levyExclIDs; + /* 단속(TB_CRDN) */ + /** + * 단속 등록 구분 코드 + */ + private String crdnRegSeCd; + + /** + * 단속 일자 + */ + private String crdnYmd; + + /** + * 단속 시각 + */ + private String crdnTm; + + /** + * 차량번호 + */ + private String vhrno; + /** * 단속 상태 코드 */ diff --git a/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java b/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java index c419cbcd..f16209c8 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java @@ -36,9 +36,7 @@ public interface Excl01Mapper extends AbstractMapper { DataObject selectLevyExcl(Excl01Query req); default DataObject selectLevyExclInfo(String levyExclId) { - DataObject levyExclInfo = selectLevyExcl(new Excl01Query().setLevyExclId(levyExclId)); - - return levyExclInfo; + return selectLevyExcl(new Excl01Query().setLevyExclId(levyExclId)); } /**부과제외 대장 정보를 등록한다. @@ -48,7 +46,7 @@ public interface Excl01Mapper extends AbstractMapper { * * @return 저장된 정보수 */ - int insert(Map params); + int insertLevyExcl(Map params); /**부과제외 대장 정보를 등록한다. * @param excl01 부과 제외 대장 @@ -57,18 +55,18 @@ public interface Excl01Mapper extends AbstractMapper { *
  • 그렇지 않으면 false
  • * */ - default boolean insertLevyExcl(Excl01 excl01) { - return excl01 != null && insert(params().set("excl01", excl01)) == 1; + default boolean insert(Excl01 excl01) { + return excl01 != null && insertLevyExcl(params().set("excl01", excl01)) == 1; } /**부과제외 대장 정보를 수정한다. * @param excl 부과제외 대장 * @return 저장된 정보수 */ - int update(Map params); + int updateLevyExcl(Map params); - default boolean updateLevyExcl(Excl01 excl01) { - return excl01 != null && update(params().set("excl01", excl01)) == 1; + default boolean update(Excl01 excl01) { + return excl01 != null && updateLevyExcl(params().set("excl01", excl01)) == 1; } /**부과제외 대장 정보를 삭제한다. @@ -78,23 +76,22 @@ public interface Excl01Mapper extends AbstractMapper { *
  • 그렇지 않으면 false
  • * */ - int delete(Map params); + int deleteLevyExcl(Map params); - default boolean deleteLevyExcl(Excl01 excl01) { - return excl01 != null && delete(params().set("excl01", excl01)) >= 1; + default boolean delete(Excl01 excl01) { + return excl01 != null && deleteLevyExcl(params().set("excl01", excl01)) >= 1; } - /**지정한 단속 ID의 단속 정보를 반환한다. * @param crdnId 단속 ID * @return 부과제외 정보 */ DataObject selectCrdn(Excl01Query req); - default DataObject selectCrdn(String crdnId) { - DataObject levyExclInfo = selectCrdn(new Excl01Query().setCrdnId(crdnId)); + default DataObject selectCrdnInfo(String crdnId) { + DataObject crdnInfo = selectCrdn(new Excl01Query().setCrdnId(crdnId)); - return levyExclInfo; + return crdnInfo; } /**지정한 단속 ID의 단속, 부과제외 정보를 반환한다. diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java index 1ce701b0..867b3e43 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java @@ -63,7 +63,7 @@ public class Excl01Bean extends AbstractComponent { * */ public boolean createLevyExclusion(Excl01 excl01) { - return excl01Mapper.insertLevyExcl(excl01); + return excl01Mapper.insert(excl01); } /**부과제외 대장 정보를 수정한다. @@ -74,7 +74,7 @@ public class Excl01Bean extends AbstractComponent { * */ public boolean updateLevyExclusion(Excl01 excl01) { - return excl01Mapper.updateLevyExcl(excl01); + return excl01Mapper.update(excl01); } /**부과제외 대장 정보를 삭제한다. @@ -85,7 +85,7 @@ public class Excl01Bean extends AbstractComponent { * */ public boolean removeLevyExclusion(Excl01 excl01) { - return excl01Mapper.deleteLevyExcl(excl01); + return excl01Mapper.delete(excl01); } /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다. diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java index 0de6437e..38268d46 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java @@ -160,15 +160,136 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv // 변수 선언 boolean retSuccess = false; // DB 처리 결과 + String levyExclID = ""; + + DataObject infoCrdnSttsCd = new DataObject(); // 단속(TB_CRDN) 조회 + Excl01 updtCrdnSttsCd = new Excl01(); // 단속(TB_CRDN) 수정 + DataObject infoCrdnSttsHstry = new DataObject(); // 단속상태이력(TB_CRDN_STTS_HSTRY) 조회 + CrdnSttsHstry deltCrdnSttsHstry = new CrdnSttsHstry(); // 단속상태이력(TB_CRDN_STTS_HSTRY) 삭제 + // 부과제외 삭제 retSuccess = excl01Bean.removeLevyExclusion(excl01); - - // 단속(TB_CRDN) 대장 상태 코드 수정 - retSuccess = excl01Bean.updateCrackdownStatus(excl01); if (!retSuccess) { return retSuccess; } + for (int iLoop = 0; iLoop < excl01.getLevyExclIDs().length; iLoop++) { + levyExclID = excl01.getLevyExclIDs()[iLoop]; + + // 부과제외(TB_LEVY_EXCL) 자료 조회 + infoCrdnSttsCd = excl01Bean.getLevyExclusionInfo(new Excl01Query().setLevyExclId(levyExclID)); + + // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에서 부과제외 자료 조회 + infoCrdnSttsHstry = crdnSttsHstryBean.getCrdnSttsHstryInfo(infoCrdnSttsCd.string("CRDN_ID")); + + // 단속 상태 비교.. + if (!infoCrdnSttsHstry.string("CRDN_STTS_CD").equals(infoCrdnSttsCd.string("CRDN_STTS_CD"))) { + return retSuccess; + } + + // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 삭제 + deltCrdnSttsHstry.setSttsHstryId(infoCrdnSttsHstry.string("STTS_HSTRY_ID")); + + retSuccess = crdnSttsHstryBean.remove(deltCrdnSttsHstry); + if (!retSuccess) { + return retSuccess; + } + + // 단속(TB_CRDN) 대장 상태 코드 수정 + updtCrdnSttsCd.setCrdnId(infoCrdnSttsHstry.string("CRDN_ID")); + updtCrdnSttsCd.setCrdnSttsCd(infoCrdnSttsHstry.string("BFR_STTS_CD")); + updtCrdnSttsCd.setCrdnSttsChgDt(infoCrdnSttsHstry.string("BFR_STTS_CHG_DT")); + + retSuccess = excl01Bean.updateCrackdownStatus(updtCrdnSttsCd); + if (!retSuccess) { + return retSuccess; + } + +/* + if GB <> 3 then + begin + //서손 취소하는데, cp_answer의 처리상태가 답변대상 또는 서손의 답변 미대상 자료이면 원래 초기상태로 되돌린다 + with qryAnswer_Get do begin + Close; + ParamByName('AS_MMCODE').AsString :=MainInfo.mm_code; + Open; + if (not IsEmpty) then + begin + { + old_state := FieldByName('AS_STATE').AsString; + if (FieldByName('AS_STATE').AsString = ANSWER_STATE_ANSWER_FOR_CANCEL) or + (FieldByName('AS_STATE').AsString = ANSWER_STATE_CANCEL_IGNORE) then + begin + qryAnswer_SetState.ParamByName('AS_STATE').AsString := ANSWER_STATE_FIRST; + qryAnswer_SetState.ParamByName('AS_STATE_DT').AsString := sDateTime; + qryAnswer_SetState.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code; + qryAnswer_SetState.ExecSQL; + end; + } + + //2017.01.17 서손취소를 하면 무조건 초기상태로 되게 + { + qryAnswer_SetState.ParamByName('AS_STATE').AsString := ANSWER_STATE_FIRST; + qryAnswer_SetState.ParamByName('AS_STATE_DT').AsString := sDateTime; + qryAnswer_SetState.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code; + qryAnswer_SetState.ExecSQL; + } + + //20201203 UIJIN 재등록 자료가 서손>취소>차적조회 시에 사전통보 대상에 올라오지 않아서 추가.. + if (MainInfo.MM_DLGB = '3') or + (MainInfo.MM_DLGB = '4') then + as_state := ANSWER_STATE_CANCEL_COPY + else + as_state := ANSWER_STATE_FIRST; + + qryAnswer_Set.ParamByName('AS_POST_DT').AsString := ''; + qryAnswer_Set.ParamByName('AS_STATE').AsString := as_state; + qryAnswer_Set.ParamByName('AS_TEXT').AsString := ''; + qryAnswer_Set.ParamByName('AS_REUSER').AsInteger := 0; + qryAnswer_Set.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code; + qryAnswer_Set.ExecSQL; + + end; + end; + + + // 답변내용을 초기화, + // 답변대상이었다가 답변내용보기를 했다가 서손처리하면 답변내용이 이미 세팅되어 있으므로 초기화해야 한다. + // 서손사유 수정시도 답변내용보기를 했을 수 있으므로 초기화해야 한다. + // 서손취소시도 답변내용이 부과 기본 내용으로 바꾸이야 하므로 초기화해야 한다. + with qryAnswer_SetTextNull do begin + ParamByName('AS_MMCODE').AsString := MainInfo.mm_code; + ExecSQL; + end; + + + + //표지정보 확인여부가 조회미대상이면 -> 미확인 으로 + //혹시 차적조회가 안되었으면? 놔두자 차적조회되면 그 때 표지정보 BJ_Send가 처리할테니 + if MainInfo.mm_carcheck = CARCHECK_STATE_IGNORE then + begin + with qryMain_SetCarCheck do begin + ParamByName('MM_CARCHECK').AsString := CARCHECK_STATE_BEFORE; + ParamByName('MM_CODE').AsString := MainInfo.mm_code; + ExecSQL; + end; + if MainCD <> nil then + begin + if MainCD.FindField('MM_CARCHECK') <> nil then + begin + MainCD.Edit; + MainCD.FieldByName('MM_CARCHECK').AsString := CARCHECK_STATE_BEFORE; + MainCD.Post; + end; + end; + + end; + + end; +*/ + + } + // 처리 성공 retSuccess = true; diff --git a/src/main/resources/sql/mapper/fims/cmmn/crdnSttsHstry-mapper.xml b/src/main/resources/sql/mapper/fims/cmmn/crdnSttsHstry-mapper.xml index 277b0b19..21048fbe 100644 --- a/src/main/resources/sql/mapper/fims/cmmn/crdnSttsHstry-mapper.xml +++ b/src/main/resources/sql/mapper/fims/cmmn/crdnSttsHstry-mapper.xml @@ -42,34 +42,22 @@ - - AND STTS_HSTRY_ID = #{sttsHstryId} - - AND CRDN_ID = #{crdnId} + AND CRDN_ID = #{crdnId} + + + AND USE_YN = #{useYn} - /* 단속 상태 이력 객체 가져오기(crdnSttsHstryMapper.selectCrdnSttsHstrys) */ + + WHERE CRDN_ID = #{crdnId} + AND USE_YN = 'Y' + ORDER BY CRDN_ID, REG_DT DESC /* 단속 상태 이력 등록(crdnSttsHstryMapper.insertCrdnSttsHstry) */ @@ -120,7 +108,7 @@ SET USE_YN = 'N' /* 사용 여부 */ , MDFCN_DT = #{crdnSttsHstry.lastModified} /* 수정 일시 */ , MDFR = #{crdnSttsHstry.modifiedBy} /* 수정자 */ - WHERE STTS_HSTRY_ID = #{crdnSttsHstry.sttsHstryId} + WHERE STTS_HSTRY_ID = #{crdnSttsHstry.sttsHstryId} diff --git a/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml b/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml index 536691cd..164920e9 100644 --- a/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml +++ b/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml @@ -30,55 +30,57 @@ - SELECT A.LEVY_EXCL_ID /* 부과제외 ID */ - , A.CRDN_ID /* 단속 ID */ - , A.LEVY_EXCL_SE_CD /* 부과제외 구분 코드 */ + SELECT A.LEVY_EXCL_ID /* 부과제외 ID */ + , A.SGG_CD /* 시군구 코드 */ + , A.TASK_SE_CD /* 업무 구분 코드 */ + , A.CRDN_ID /* 단속 ID */ + , A.LEVY_EXCL_SE_CD /* 부과제외 구분 코드 */ , (SELECT FN_GET_CODE_NM('FIM021', A.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM /* 부과 제외 구분 명 */ - , A.LEVY_EXCL_YMD /* 부과제외 일자 */ - , A.LEVY_EXCL_RSN_CD /* 부과제외 사유 코드 */ + , A.LEVY_EXCL_YMD /* 부과제외 일자 */ + , A.LEVY_EXCL_RSN_CD /* 부과제외 사유 코드 */ , (SELECT FN_GET_CODE_NM('FIM022', A.LEVY_EXCL_RSN_CD) FROM DUAL) AS LEVY_EXCL_RSN_NM /* 부과 제외 사유 명 */ - , A.ETC_CN /* 기타 내용 */ - , A.DEL_YN /* 삭제 여부 */ - , A.REG_DT /* 등록 일시 */ - , A.RGTR /* 등록자 */ - , A.MDFCN_DT /* 수정 일시 */ - , A.MDFR /* 수정자 */ - , A.DEL_DT /* 삭제 일시 */ - , A.DLTR /* 삭제자 */ - , A.DEL_RSN /* 삭제 사유 */ - , C.SGG_CD /* 시군구 코드 */ - , C.TASK_SE_CD /* 업무 구분 코드 */ - , C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */ + , A.ETC_CN /* 기타 내용 */ + , A.DEL_YN /* 삭제 여부 */ + , A.REG_DT /* 등록 일시 */ + , A.RGTR /* 등록자 */ + , A.MDFCN_DT /* 수정 일시 */ + , A.MDFR /* 수정자 */ + , A.DEL_DT /* 삭제 일시 */ + , A.DLTR /* 삭제자 */ + , A.DEL_RSN /* 삭제 사유 */ + , C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM026', C.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */ + , C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */ , (SELECT FN_GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */ - , C.CRDN_SE_CD /* 단속 구분 코드 */ + , C.CRDN_SE_CD /* 단속 구분 코드 */ , (SELECT FN_GET_CODE_NM('FIM002', C.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM /* 단속 구분 명 */ - , C.CRDN_YMD /* 단속 일자 */ - , C.CRDN_TM /* 단속 시각 */ + , C.CRDN_YMD /* 단속 일자 */ + , C.CRDN_TM /* 단속 시각 */ , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */ - , C.VHRNO /* 차량번호 */ - , C.CRDN_STDG_NM /* 단속 법정동 명 */ - , C.CRDN_ROAD_NM /* 단속 도로 명 */ - , C.CRDN_PLC /* 단속 장소 */ - , C.DTL_CRDN_PLC /* 상세 단속 장소 */ - , C.FFNLG_AMT /* 과태료 금액 */ - , C.LEVY_AMT /* 부과 금액 */ - , C.CRDN_STTS_CD /* 단속 상태 코드 */ + , C.VHRNO /* 차량번호 */ + , C.CRDN_STDG_NM /* 단속 법정동 명 */ + , C.CRDN_ROAD_NM /* 단속 도로 명 */ + , C.CRDN_PLC /* 단속 장소 */ + , C.DTL_CRDN_PLC /* 상세 단속 장소 */ + , C.FFNLG_AMT /* 과태료 금액 */ + , C.LEVY_AMT /* 부과 금액 */ + , C.CRDN_STTS_CD /* 단속 상태 코드 */ , (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */ - , D.RTPYR_ID /* 납부자 ID */ - , D.RTPYR_SE_CD /* 납부자 구분 코드 */ + , D.RTPYR_ID /* 납부자 ID */ + , D.RTPYR_SE_CD /* 납부자 구분 코드 */ , (SELECT FN_GET_CODE_NM('FIM011', D.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */ - , D.RTPYR_NO /* 납부자 번호 */ - , D.RTPYR_NM /* 납부자 명 */ + , D.RTPYR_NO /* 납부자 번호 */ + , D.RTPYR_NM /* 납부자 명 */ , (SELECT FN_GET_BRDT_FORMAT(D.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_FORMAT /* 납부자 생년월일 */ - , D.ZIP /* 우편번호 */ - , D.ADDR /* 주소 */ - , D.DTL_ADDR /* 상세 주소 */ - , E.CVLCPT_LINK_ID /* 민원 연계 ID */ - , E.CVLCPT_RCPT_YMD /* 민원 접수 일자 */ - , E.CVLCPT_APLY_NO /* 민원 신청 번호 */ - , E.CVLCPT_RCPT_NO /* 민원 접수 번호 */ - , E.CVLCPT_APLCNT_NM /* 민원 신청인 명 */ - , E.CVLCPT_PRCS_PIC_NM /* 민원 처리 담당자 명 */ + , D.ZIP /* 우편번호 */ + , D.ADDR /* 주소 */ + , D.DTL_ADDR /* 상세 주소 */ + , E.CVLCPT_LINK_ID /* 민원 연계 ID */ + , E.CVLCPT_RCPT_YMD /* 민원 접수 일자 */ + , E.CVLCPT_APLY_NO /* 민원 신청 번호 */ + , E.CVLCPT_RCPT_NO /* 민원 접수 번호 */ + , E.CVLCPT_APLCNT_NM /* 민원 신청인 명 */ + , E.CVLCPT_PRCS_PIC_NM /* 민원 처리 담당자 명 */ FROM TB_LEVY_EXCL A INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID) LEFT OUTER JOIN TB_PAYER D ON (C.RTPYR_ID = D.RTPYR_ID) @@ -88,70 +90,70 @@ - SELECT A.LEVY_EXCL_ID /* 부과제외 ID */ - , A.CRDN_ID /* 단속 ID */ - , A.LEVY_EXCL_SE_CD /* 부과제외 구분 코드 */ - , A.LEVY_EXCL_YMD /* 부과제외 일자 */ - , A.LEVY_EXCL_RSN_CD /* 부과제외 사유 코드 */ - , A.ETC_CN /* 기타 내용 */ - , A.DEL_YN /* 삭제 여부 */ - , A.REG_DT /* 등록 일시 */ - , A.RGTR /* 등록자 */ - , A.MDFCN_DT /* 수정 일시 */ - , A.MDFR /* 수정자 */ - , A.DEL_DT /* 삭제 일시 */ - , A.DLTR /* 삭제자 */ - , A.DEL_RSN /* 삭제 사유 */ - FROM TB_LEVY_EXCL A + SELECT A.LEVY_EXCL_ID /* 부과제외 ID */ + , A.SGG_CD /* 시군구 코드 */ + , A.TASK_SE_CD /* 업무 구분 코드 */ + , A.CRDN_ID /* 단속 ID */ + , A.LEVY_EXCL_SE_CD /* 부과제외 구분 코드 */ + , A.LEVY_EXCL_YMD /* 부과제외 일자 */ + , A.LEVY_EXCL_RSN_CD /* 부과제외 사유 코드 */ + , A.ETC_CN /* 기타 내용 */ + , A.DEL_YN /* 삭제 여부 */ + , A.REG_DT /* 등록 일시 */ + , A.RGTR /* 등록자 */ + , A.MDFCN_DT /* 수정 일시 */ + , A.MDFR /* 수정자 */ + , A.DEL_DT /* 삭제 일시 */ + , A.DLTR /* 삭제자 */ + , A.DEL_RSN /* 삭제 사유 */ + , C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */ + , C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */ + , C.CRDN_SE_CD /* 단속 구분 코드 */ + , C.CRDN_YMD /* 단속 일자 */ + , C.CRDN_TM /* 단속 시각 */ + , C.VHRNO /* 차량번호 */ + , C.CRDN_STTS_CD /* 단속 상태 코드 */ + , (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */ + FROM TB_LEVY_EXCL A + INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID) - /* 부과제외 대장 등록(excl01Mapper.insertLevyExcl) */ + /* 부과제외 대장 등록(excl01Mapper.insertLevyExcl) */ SELECT LPAD(IFNULL(MAX(LEVY_EXCL_ID) + 1, 1), 20, '0') NEW_ID FROM TB_LEVY_EXCL INSERT INTO TB_LEVY_EXCL ( - LEVY_EXCL_ID /* 부과 제외 ID */ - , SGG_CD /* 시군구 코드 */ - , TASK_SE_CD /* 업무 구분 코드 */ - , CRDN_ID /* 단속 ID */ - , LEVY_EXCL_YMD /* 부과 제외 일자 */ - , LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */ - , LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */ - , ETC_CN /* 기타 내용 */ - , DEL_YN /* 삭제 여부 */ - , REG_DT /* 등록 일시*/ - , RGTR /* 등록자 */ - , MDFCN_DT /* 수정 일시 */ - , MDFR /* 수정자 */ + LEVY_EXCL_ID /* 부과 제외 ID */ + , SGG_CD /* 시군구 코드 */ + , TASK_SE_CD /* 업무 구분 코드 */ + , CRDN_ID /* 단속 ID */ + , LEVY_EXCL_YMD /* 부과 제외 일자 */ + , LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */ + , LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */ + , ETC_CN /* 기타 내용 */ + , DEL_YN /* 삭제 여부 */ + , REG_DT /* 등록 일시*/ + , RGTR /* 등록자 */ + , MDFCN_DT /* 수정 일시 */ + , MDFR /* 수정자 */ ) VALUES ( - #{excl01.levyExclId} /* 부과 제외 ID */ - , #{excl01.sggCd} /* 시군구 코드 */ - , #{excl01.taskSeCd} /* 업무 구분 코드 */ - , #{excl01.crdnId} /* 단속 ID */ - , #{excl01.levyExclYmd} /* 부과 제외 일자 */ - , #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */ - , #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */ - , #{excl01.etcCn} /* 기타 내용 */ - , 'N' /* 삭제 여부 */ - , #{excl01.createdAt} /* 등록 일시 */ - , #{excl01.createdBy} /* 등록자 */ - , #{excl01.lastModified} /* 수정 일시 */ - , #{excl01.modifiedBy} /* 수정자 */ + #{excl01.levyExclId} /* 부과 제외 ID */ + , #{excl01.sggCd} /* 시군구 코드 */ + , #{excl01.taskSeCd} /* 업무 구분 코드 */ + , #{excl01.crdnId} /* 단속 ID */ + , #{excl01.levyExclYmd} /* 부과 제외 일자 */ + , #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */ + , #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */ + , #{excl01.etcCn} /* 기타 내용 */ + , 'N' /* 삭제 여부 */ + , #{excl01.createdAt} /* 등록 일시 */ + , #{excl01.createdBy} /* 등록자 */ + , #{excl01.lastModified} /* 수정 일시 */ + , #{excl01.modifiedBy} /* 수정자 */ ) - /* 부과제외 대장 수정(excl01Mapper.updateLevyExcl) */ + /* 부과제외 대장 수정(excl01Mapper.updateLevyExcl) */ UPDATE TB_LEVY_EXCL - SET LEVY_EXCL_YMD = #{excl01.levyExclYmd} /* 부과 제외 일자 */ - , LEVY_EXCL_SE_CD = #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */ - , LEVY_EXCL_RSN_CD = #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */ - , ETC_CN = #{excl01.etcCn} /* 기타 내용 */ - , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ - , MDFR = #{excl01.modifiedBy} /* 수정자 */ - WHERE LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */ - AND DEL_YN = 'N' /* 삭제 여부 */ + SET LEVY_EXCL_YMD = #{excl01.levyExclYmd} /* 부과 제외 일자 */ + , LEVY_EXCL_SE_CD = #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */ + , LEVY_EXCL_RSN_CD = #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */ + , ETC_CN = #{excl01.etcCn} /* 기타 내용 */ + , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ + , MDFR = #{excl01.modifiedBy} /* 수정자 */ + WHERE LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */ + AND DEL_YN = 'N' /* 삭제 여부 */ - /* 부과제외 대장 삭제(excl01Mapper.deleteLevyExcl) */ + /* 부과제외 대장 삭제(excl01Mapper.deleteLevyExcl) */ UPDATE TB_LEVY_EXCL - SET DEL_YN = 'Y' /* 삭제 여부 */ - , DEL_DT = #{excl01.lastModified} /* 삭제 일시 */ - , DLTR = #{excl01.modifiedBy} /* 삭제자 */ - , DEL_RSN = #{excl01.delRsn} /* 삭제 사유 */ - WHERE DEL_YN = 'N' /* 삭제 여부 */ + SET DEL_YN = 'Y' /* 삭제 여부 */ + , DEL_DT = #{excl01.lastModified} /* 삭제 일시 */ + , DLTR = #{excl01.modifiedBy} /* 삭제자 */ + , DEL_RSN = #{excl01.delRsn} /* 삭제 사유 */ + WHERE DEL_YN = 'N' /* 삭제 여부 */ AND LEVY_EXCL_ID IN ( @@ -254,7 +270,7 @@ ) - AND LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */ + AND LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */ @@ -291,6 +307,7 @@ , B.LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */ , B.LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */ , B.ETC_CN /* 기타 내용 */ + , AS TODAY /* 오늘 일자 */ FROM TB_CRDN A LEFT OUTER JOIN TB_LEVY_EXCL B ON (A.CRDN_ID = B.CRDN_ID AND B.DEL_YN = 'N') WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */ @@ -299,7 +316,14 @@ /* 단속 대장 수정(excl01Mapper.updateCrdnSttsCd) */ UPDATE TB_CRDN SET CRDN_STTS_CD = #{excl01.crdnSttsCd} /* 단속 상태 코드 */ + + + , CRDN_STTS_CHG_DT = #{excl01.crdnSttsChgDt} /* 단속 상태 변경 일시 */ + + , CRDN_STTS_CHG_DT = /* 단속 상태 변경 일시 */ + + , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ , MDFR = #{excl01.modifiedBy} /* 수정자 */ WHERE CRDN_ID = #{excl01.crdnId} /* 부과 제외 ID */