From d9da675386500f9e112962d8d01b334f2b288964 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B1=EC=98=81?= Date: Wed, 17 Sep 2025 15:07:48 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=ED=96=89=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=EA=B8=B0=EC=A1=B4=20=EC=B2=98=EB=B6=84=EC=82=AC=EC=A0=84?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=8B=9C=EC=A0=95=EB=AA=85=EB=A0=B9,=20?= =?UTF-8?q?=EC=8B=9C=EC=A0=95=EC=B4=89=EA=B5=AC=20=EB=8F=84=20=EA=B3=B5?= =?UTF-8?q?=EC=9C=A0=20=ED=95=A0=EC=88=98=20=EC=9E=88=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CrdnImpltTaskController.java | 6 +++-- .../impl/CrdnCrdnImpltTaskServiceImpl.java | 25 ++++++++++++++++--- .../main/CrdnImpltTaskMapper_maria.xml | 14 +++++++++-- .../main/crdnImpltTask/impltTaskPopup.jsp | 4 +-- .../crdn/crndRegistAndView/main/list.jsp | 18 +++++++++++-- 5 files changed, 56 insertions(+), 11 deletions(-) diff --git a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/controller/CrdnImpltTaskController.java b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/controller/CrdnImpltTaskController.java index e28178a..c9bda46 100644 --- a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/controller/CrdnImpltTaskController.java +++ b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/controller/CrdnImpltTaskController.java @@ -240,13 +240,15 @@ public class CrdnImpltTaskController { @Operation(summary = "소유자/행위자 정보 조회", description = "단속 정보에 해당하는 소유자/행위자 정보 목록을 조회합니다.") public ResponseEntity selectOwnrInfoList( @Parameter(description = "단속 연도") @RequestParam String crdnYr, - @Parameter(description = "단속 번호") @RequestParam String crdnNo) { + @Parameter(description = "단속 번호") @RequestParam String crdnNo, + @Parameter(description = "이행 정보 ID") @RequestParam(required = false) String impltInfoId) { - log.debug("소유자 정보 조회 요청 - 단속연도: {}, 단속번호: {}", crdnYr, crdnNo); + log.debug("소유자 정보 조회 요청 - 단속연도: {}, 단속번호: {}, 이행정보ID: {}", crdnYr, crdnNo, impltInfoId); CrdnImpltTaskVO paramVO = new CrdnImpltTaskVO(); paramVO.setCrdnYr(crdnYr); paramVO.setCrdnNo(crdnNo); + paramVO.setImpltInfoId(impltInfoId); List list = crdnImpltTaskService.getOwnrAndActrListWithAttributes(paramVO); diff --git a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/service/impl/CrdnCrdnImpltTaskServiceImpl.java b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/service/impl/CrdnCrdnImpltTaskServiceImpl.java index 9c82fc5..724a44d 100644 --- a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/service/impl/CrdnCrdnImpltTaskServiceImpl.java +++ b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/service/impl/CrdnCrdnImpltTaskServiceImpl.java @@ -1,5 +1,6 @@ package go.kr.project.crdn.crndRegistAndView.main.service.impl; +import egovframework.constant.ImpltTaskSeConstants; import egovframework.exception.MessageException; import egovframework.util.SessionUtil; import egovframework.util.StringUtil; @@ -24,7 +25,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import static egovframework.constant.CrdnPrcsSttsConstants.CRDN_PRCS_STTS_CD_20_DSPS_BFHD; +import static egovframework.constant.CrdnPrcsSttsConstants.*; /** * packageName : go.kr.project.crdn.crndRegistAndView.main.impltTask.service.impl @@ -119,7 +120,16 @@ public class CrdnCrdnImpltTaskServiceImpl extends EgovAbstractServiceImpl implem CrdnRegistAndViewVO crdnRegistAndViewVO = new CrdnRegistAndViewVO(); crdnRegistAndViewVO.setCrdnYr(vo.getCrdnYr()); crdnRegistAndViewVO.setCrdnNo(vo.getCrdnNo()); - crdnRegistAndViewVO.setCrdnPrcsSttsCd(CRDN_PRCS_STTS_CD_20_DSPS_BFHD); //단속 처리 상태 코드 - 20: 처분사전 + //사전처분 + if( vo.getImpltTaskSeCd().equals(ImpltTaskSeConstants.IMPLT_TASK_SE_CD_1_DSPS_BFHD) ){ + crdnRegistAndViewVO.setCrdnPrcsSttsCd(CRDN_PRCS_STTS_CD_20_DSPS_BFHD); //단속 처리 상태 코드 - 20: 처분사전 + }else if( vo.getImpltTaskSeCd().equals(ImpltTaskSeConstants.IMPLT_TASK_SE_CD_2_CRC_CMD) ){ //시정명령 + crdnRegistAndViewVO.setCrdnPrcsSttsCd(CRDN_PRCS_STTS_CD_30_CRC_CMD); //단속 처리 상태 코드 - 30: 시정명령 + }else if( vo.getImpltTaskSeCd().equals(ImpltTaskSeConstants.IMPLT_TASK_SE_CD_3_CRC_URG) ){ //시정촉구 + crdnRegistAndViewVO.setCrdnPrcsSttsCd(CRDN_PRCS_STTS_CD_40_CRC_URG); //단속 처리 상태 코드 - 40: 시정촉구 + }else{ + throw new MessageException("이행정보 코드가 없습니다."); + } crdnRegistAndViewMapper.updateStatus(crdnRegistAndViewVO); log.debug("이행정보 등록 완료 - ID: {}", impltInfoId); @@ -169,7 +179,16 @@ public class CrdnCrdnImpltTaskServiceImpl extends EgovAbstractServiceImpl implem crdnRegistAndViewVO.setCrdnNo(vo.getCrdnNo()); crdnRegistAndViewVO.setDspsBfhdBgngYmd(vo.getImpltBgngYmd()); crdnRegistAndViewVO.setDspsBfhdEndYmd(vo.getImpltEndYmd()); - crdnRegistAndViewVO.setCrdnPrcsSttsCd(CRDN_PRCS_STTS_CD_20_DSPS_BFHD); + //사전처분 + if( vo.getImpltTaskSeCd().equals(ImpltTaskSeConstants.IMPLT_TASK_SE_CD_1_DSPS_BFHD) ){ + crdnRegistAndViewVO.setCrdnPrcsSttsCd(CRDN_PRCS_STTS_CD_20_DSPS_BFHD); //단속 처리 상태 코드 - 20: 처분사전 + }else if( vo.getImpltTaskSeCd().equals(ImpltTaskSeConstants.IMPLT_TASK_SE_CD_2_CRC_CMD) ){ //시정명령 + crdnRegistAndViewVO.setCrdnPrcsSttsCd(CRDN_PRCS_STTS_CD_30_CRC_CMD); //단속 처리 상태 코드 - 30: 시정명령 + }else if( vo.getImpltTaskSeCd().equals(ImpltTaskSeConstants.IMPLT_TASK_SE_CD_3_CRC_URG) ){ //시정촉구 + crdnRegistAndViewVO.setCrdnPrcsSttsCd(CRDN_PRCS_STTS_CD_40_CRC_URG); //단속 처리 상태 코드 - 40: 시정촉구 + }else{ + throw new MessageException("이행정보 코드가 없습니다."); + } crdnRegistAndViewMapper.updateOnlyDate(crdnRegistAndViewVO); log.debug("이행정보 수정 완료 - ID: {}", vo.getImpltInfoId()); diff --git a/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnImpltTaskMapper_maria.xml b/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnImpltTaskMapper_maria.xml index 5bc242f..94ec864 100644 --- a/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnImpltTaskMapper_maria.xml +++ b/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnImpltTaskMapper_maria.xml @@ -205,7 +205,12 @@ o.LOTNO_SNO, '1' as impltTrprSeCd, impltTrprSe.CD_NM as impltTrprSeCdNm, - CASE WHEN (SELECT COUNT(*) FROM tb_implt_trpr_info WHERE OWNR_ACTR_INFO_ID = oi.OWNR_INFO_ID AND IMPLT_TRPR_SE_CD = '1' AND ACT_NO = aio.ACT_NO) > 0 THEN true ELSE false END as selected, + CASE WHEN (SELECT COUNT(*) FROM tb_implt_trpr_info + WHERE OWNR_ACTR_INFO_ID = oi.OWNR_INFO_ID + AND IMPLT_TRPR_SE_CD = '1' + AND ACT_NO = aio.ACT_NO + AND IMPLT_INFO_ID = #{impltInfoId} + ) > 0 THEN true ELSE false END as selected, aio.ACT_NO, aio.ACT_TYPE_CD, act.CD_NM AS ACT_TYPE_CD_NM @@ -232,7 +237,12 @@ o.LOTNO_SNO, '2' as impltTrprSeCd, impltTrprSe.CD_NM as impltTrprSeCdNm, - CASE WHEN (SELECT COUNT(*) FROM tb_implt_trpr_info WHERE OWNR_ACTR_INFO_ID = ai.ACTR_INFO_ID AND IMPLT_TRPR_SE_CD = '2' AND ACT_NO = aio.ACT_NO) > 0 THEN true ELSE false END as selected, + CASE WHEN (SELECT COUNT(*) FROM tb_implt_trpr_info + WHERE OWNR_ACTR_INFO_ID = ai.ACTR_INFO_ID + AND IMPLT_TRPR_SE_CD = '2' + AND ACT_NO = aio.ACT_NO + AND IMPLT_INFO_ID = #{impltInfoId} + ) > 0 THEN true ELSE false END as selected, aio.ACT_NO, aio.ACT_TYPE_CD, act.CD_NM AS ACT_TYPE_CD_NM diff --git a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnImpltTask/impltTaskPopup.jsp b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnImpltTask/impltTaskPopup.jsp index b210418..c67488b 100644 --- a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnImpltTask/impltTaskPopup.jsp +++ b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnImpltTask/impltTaskPopup.jsp @@ -77,7 +77,7 @@
    -
  • 소유자 목록
  • +
  • 이행대상 목록
  • 총 0건
@@ -191,7 +191,7 @@ initialRequest: false, // 초기 데이터 요청 여부 serializer: function(params) { var defaultParams = $.param(params); - var extra = $.param({ "crdnYr": ImpltTaskPopup.crdnYr, "crdnNo": ImpltTaskPopup.crdnNo }); + var extra = $.param({ "crdnYr": ImpltTaskPopup.crdnYr, "crdnNo": ImpltTaskPopup.crdnNo, "impltInfoId": $("#impltInfoId").val() }); return defaultParams + '&' + extra; } }; diff --git a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/list.jsp b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/list.jsp index ed3af0f..38581db 100644 --- a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/list.jsp +++ b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/list.jsp @@ -569,11 +569,25 @@ }); $("#btnCrcCmd").on('click', function() { - self.updateStatus('30', '시정명령'); + // 선택된 행 확인 + if (!self.selectedRow) { + alert('이행정보를 관리할 단속 건을 선택해주세요.'); + return; + } + + // 시정명령 팝업 열기 + self.openImpltTaskPopup(self.selectedRow.crdnYr, self.selectedRow.crdnNo, '2'); // 2: 시정명령 }); $("#btnCrcUrg").on('click', function() { - self.updateStatus('40', '시정촉구'); + // 선택된 행 확인 + if (!self.selectedRow) { + alert('이행정보를 관리할 단속 건을 선택해주세요.'); + return; + } + + // 시정촉구 팝업 열기 + self.openImpltTaskPopup(self.selectedRow.crdnYr, self.selectedRow.crdnNo, '3'); // 3: 시정촉구 }); $("#btnLevyPrvntc").on('click', function() {