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 e4a5286..e28178a 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 @@ -213,6 +213,11 @@ public class CrdnImpltTaskController { log.debug("이행정보 수정 요청 - ID: {}", paramVO.getImpltInfoId()); // 세션 정보 설정 + CrdnRegistAndViewVO crdnParamVO = new CrdnRegistAndViewVO(); + crdnParamVO.setCrdnYr(paramVO.getCrdnYr()); + crdnParamVO.setCrdnNo(paramVO.getCrdnNo()); + CrdnRegistAndViewVO crdnData = crdnRegistAndViewService.selectOne(crdnParamVO); + paramVO.setSggCd(crdnData.getSggCd()); paramVO.setMdfr(SessionUtil.getUserId()); int result = crdnImpltTaskService.updateImpltInfo(paramVO); diff --git a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/mapper/CrdnRegistAndViewMapper.java b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/mapper/CrdnRegistAndViewMapper.java index 54310e5..e54ff76 100644 --- a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/mapper/CrdnRegistAndViewMapper.java +++ b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/mapper/CrdnRegistAndViewMapper.java @@ -91,4 +91,11 @@ public interface CrdnRegistAndViewMapper { */ int updateStatus(CrdnRegistAndViewVO vo); + /** + * 단속 관련 일자 업데이트 + * @param vo 상태 업데이트할 단속 정보(crdnYr, crdnNo, crdnPrcsSttsCd 등)를 담은 VO 객체 + * @return 업데이트된 행의 수 + */ + int updateOnlyDate(CrdnRegistAndViewVO vo); + } \ No newline at end of file diff --git a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/CrdnRegistAndViewVO.java b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/CrdnRegistAndViewVO.java index 08bf213..c007788 100644 --- a/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/CrdnRegistAndViewVO.java +++ b/src/main/java/go/kr/project/crdn/crndRegistAndView/main/model/CrdnRegistAndViewVO.java @@ -160,6 +160,13 @@ public class CrdnRegistAndViewVO extends PagingVO { /** 역순 행 번호 (그리드 표시용) */ private Integer rowNum; + /* 사전처분 시작일 */ + private String impltBgngYmd; + /* 사전처분 종료일 */ + private String impltEndYmd; + /* 사전처분 상태 */ + private String impltTaskSeCd; + // ==================== 검색 조건 ==================== /** 검색 조건 - 단속 연도 */ 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 7989af4..39ddf7b 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 @@ -4,8 +4,10 @@ import egovframework.exception.MessageException; import egovframework.util.SessionUtil; import egovframework.util.StringUtil; import go.kr.project.crdn.crndRegistAndView.main.mapper.CrdnImpltTaskMapper; +import go.kr.project.crdn.crndRegistAndView.main.mapper.CrdnRegistAndViewMapper; import go.kr.project.crdn.crndRegistAndView.main.model.CrdnImpltTaskVO; import go.kr.project.crdn.crndRegistAndView.main.model.CrdnImpltTrprInfoVO; +import go.kr.project.crdn.crndRegistAndView.main.model.CrdnRegistAndViewVO; import go.kr.project.crdn.crndRegistAndView.main.service.CrdnImpltTaskService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -22,6 +24,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import static egovframework.constant.CrdnPrcsSttsConstants.CRDN_PRCS_STTS_CD_20_DSPS_BFHD; + /** * packageName : go.kr.project.crdn.crndRegistAndView.main.impltTask.service.impl * fileName : ImpltTaskServiceImpl @@ -40,6 +44,7 @@ import java.util.Map; public class CrdnCrdnImpltTaskServiceImpl extends EgovAbstractServiceImpl implements CrdnImpltTaskService { private final CrdnImpltTaskMapper crdnImpltTaskMapper; + private final CrdnRegistAndViewMapper crdnRegistAndViewMapper; // ==================== 이행정보 관련 메서드 ==================== @@ -111,6 +116,12 @@ 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: 처분사전 + crdnRegistAndViewMapper.updateStatus(crdnRegistAndViewVO); + log.debug("이행정보 등록 완료 - ID: {}", impltInfoId); return result; @@ -153,6 +164,13 @@ public class CrdnCrdnImpltTaskServiceImpl extends EgovAbstractServiceImpl implem } } + CrdnRegistAndViewVO crdnRegistAndViewVO = new CrdnRegistAndViewVO(); + crdnRegistAndViewVO.setCrdnYr(vo.getCrdnYr()); + crdnRegistAndViewVO.setCrdnNo(vo.getCrdnNo()); + crdnRegistAndViewVO.setDspsBfhdBgngYmd(vo.getImpltBgngYmd()); + crdnRegistAndViewVO.setDspsBfhdEndYmd(vo.getImpltEndYmd()); + crdnRegistAndViewMapper.updateOnlyDate(crdnRegistAndViewVO); + log.debug("이행정보 수정 완료 - ID: {}", vo.getImpltInfoId()); return result; diff --git a/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnRegistAndViewMapper_maria.xml b/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnRegistAndViewMapper_maria.xml index 9fa8248..e61f6b8 100644 --- a/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnRegistAndViewMapper_maria.xml +++ b/src/main/resources/mybatis/mapper/crdn/crndRegistAndView/main/CrdnRegistAndViewMapper_maria.xml @@ -48,7 +48,10 @@ LEFT JOIN tb_ownr o2 ON o2.OWNR_ID = oi2.OWNR_ID AND o2.DEL_YN = 'N' WHERE oi2.CRDN_YR = c.CRDN_YR AND oi2.CRDN_NO = c.CRDN_NO - AND oi2.DEL_YN = 'N') AS OWNR_NAMS + AND oi2.DEL_YN = 'N') AS OWNR_NAMS, + ii.IMPLT_BGNG_YMD, /* 사전처분 시작일 */ + ii.IMPLT_END_YMD, /* 사전처분 종료일 */ + ii.IMPLT_TASK_SE_CD /* 사전처분 상태 */ FROM tb_crdn c LEFT JOIN tb_cd_detail sgg ON sgg.CD_GROUP_ID = 'ORG_CD' AND sgg.CD_ID = c.SGG_CD LEFT JOIN tb_cd_detail rgn ON rgn.CD_GROUP_ID = 'RGN_SE_CD' AND rgn.CD_ID = c.RGN_SE_CD @@ -56,6 +59,7 @@ LEFT JOIN tb_cd_detail stts ON stts.CD_GROUP_ID = 'CRDN_PRCS_STTS_CD' AND stts.CD_ID = c.CRDN_PRCS_STTS_CD LEFT JOIN tb_user u ON u.USER_ID = c.RGTR AND u.USE_YN = 'Y' LEFT JOIN tb_pstn_info p ON p.CRDN_YR = c.CRDN_YR AND p.CRDN_NO = c.CRDN_NO AND p.DEL_YN = 'N' + LEFT JOIN TB_IMPLT_INFO ii ON ii.CRDN_YR = c.CRDN_YR AND ii.CRDN_NO = c.CRDN_NO AND ii.DEL_YN = 'N' WHERE c.DEL_YN = 'N' AND c.CRDN_YR = #{schCrdnYr} @@ -286,11 +290,28 @@ /* CrdnRegistAndViewMapper.updateStatus : 단속 상태 업데이트 */ UPDATE tb_crdn - SET CRDN_PRCS_STTS_CD = #{crdnPrcsSttsCd}, - CRDN_PRCS_YMD = #{crdnPrcsYmd} + SET /* 처분사전 */ + DSPS_BFHD_BGNG_YMD = #{dspsBfhdBgngYmd}, + DSPS_BFHD_END_YMD = #{dspsBfhdEndYmd}, + + CRDN_PRCS_STTS_CD = #{crdnPrcsSttsCd}, + CRDN_PRCS_YMD = (DATE_FORMAT(CURRENT_DATE(), '%Y%m%d')) WHERE CRDN_YR = #{crdnYr} AND CRDN_NO = #{crdnNo} AND DEL_YN = 'N' + + + /* CrdnRegistAndViewMapper.updateOnlyDate : 단속 관련 일자 업데이트 */ + UPDATE tb_crdn + SET /* 처분사전 */ + DSPS_BFHD_BGNG_YMD = #{dspsBfhdBgngYmd}, + DSPS_BFHD_END_YMD = #{dspsBfhdEndYmd} + + WHERE CRDN_YR = #{crdnYr} + AND CRDN_NO = #{crdnNo} + AND DEL_YN = 'N' + + \ No newline at end of file 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 0e483ec..2376f41 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 @@ -222,31 +222,10 @@ return totalCount - (page - 1) * perPage - rowIndex; } }, - { - header: '단속년도', - name: 'crdnYr', - align: 'center', - width: 80, - sortingType: 'desc' - }, - { - header: '단속번호', - name: 'crdnNo', - align: 'center', - width: 90 - }, - { - header: '지역구분', - name: 'rgnSeCdNm', - align: 'center', - width: 100 - }, - { - header: '적발방법', - name: 'dsclMthdCdNm', - align: 'center', - width: 120 - }, + { header: '단속년도', name: 'crdnYr', align: 'center', width: 80, sortingType: 'desc' }, + { header: '단속번호', name: 'crdnNo', align: 'center', width: 90 }, + { header: '지역구분', name: 'rgnSeCdNm', align: 'center', width: 100 }, + { header: '적발방법', name: 'dsclMthdCdNm', align: 'center', width: 120 }, { header: '적발일자', name: 'dsclYmd', @@ -256,12 +235,7 @@ return e.value ? moment(e.value).format('YYYY-MM-DD') : ''; } }, - { - header: '조사원', - name: 'exmnr', - align: 'left', - width: 130 - }, + { header: '조사원', name: 'exmnr', align: 'left', width: 130 }, { header: '재부과여부', name: 'relevyYn', @@ -280,17 +254,12 @@ return e.value === 'Y' ? '대상' : '비대상'; } }, - { - header: '진행단계', - name: 'crdnPrcsSttsCdNm', - align: 'center', - width: 100 - }, + { header: '진행단계', name: 'crdnPrcsSttsCdNm', align: 'center', width: 100 }, { header: '지번주소', name: 'lotnoWholAddr', align: 'left', - minwidth: 300, + minWidth: 300, formatter: function(e) { return e.value; } @@ -313,18 +282,18 @@ return e.value; } }, - { - header: '등록일시', - name: 'regDt', - align: 'center', - width: 150 + { header: '사전처분 시작일', name: 'impltBgngYmd', align: 'center', width: 150, + formatter: function (e) { + return e.value ? moment(e.value).format('YYYY-MM-DD') : ''; + } }, - { - header: '등록자', - name: 'rgtrNm', - align: 'center', - width: 100 + { header: '사전처분 종료일', name: 'impltEndYmd', align: 'center', width: 150, + formatter: function (e) { + return e.value ? moment(e.value).format('YYYY-MM-DD') : ''; + } }, + { header: '등록일시', name: 'regDt', align: 'center', width: 150 }, + { header: '등록자', name: 'rgtrNm', align: 'center', width: 100 }, ]; },