From 0df29c1e500fbcf54b21faefde35df04a6521e8b Mon Sep 17 00:00:00 2001 From: Kurt92 Date: Tue, 25 Nov 2025 15:30:21 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat=20:=20=ED=81=B4=EB=9D=BC=EC=9D=B4?= =?UTF-8?q?=EC=96=B8=ED=8A=B8=20=ED=8E=98=EC=9D=B4=EC=A7=95=20=EB=B2=84?= =?UTF-8?q?=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/webapp/WEB-INF/views/biz/minwon/init/init.jsp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/webapp/WEB-INF/views/biz/minwon/init/init.jsp b/src/main/webapp/WEB-INF/views/biz/minwon/init/init.jsp index 664b29e..2138483 100644 --- a/src/main/webapp/WEB-INF/views/biz/minwon/init/init.jsp +++ b/src/main/webapp/WEB-INF/views/biz/minwon/init/init.jsp @@ -151,11 +151,13 @@ // perPage 변경 이벤트 추가 $('#perPageSelect').on('change', () => { const pagination = TuiGrid.instance.getPagination(); - if (!pagination) return; + GRID.setPerPage($('#perPageSelect').val()); pagination.setItemsPerPage($('#perPageSelect').val()); pagination.reset(TuiGrid.instance.getRowCount()); pagination.movePageTo(1); + TuiGrid.instance.readData(1); + }); } @@ -163,7 +165,7 @@ /** tui-grid Set */ - const initGrid = () => { + let initGrid = () => { const gridColumns = [ {header: '등록구분', name: 'mmDlgb', sortable: true, width: 50,}, {header: '목록번호', name: 'asBbsNo', sortable: true, width: 70,}, @@ -180,7 +182,7 @@ {header: '차량번호', name: 'mmCarno', sortable: true, width: 150,}, {header: 'mmCode', name: 'mmCode', sortable: true, width: 150, align: 'center', hidden: true} ]; - const gridDatasource = { + let gridDatasource = { api: { readData: { url: '', @@ -198,7 +200,7 @@ } } - const gridOptions = { + let gridOptions = { el: 'grid', rowHeaders: ['checkbox'], columns: gridColumns, From a0e73e08306c233912ef9442a7d49e4729a0d999 Mon Sep 17 00:00:00 2001 From: Kurt92 Date: Wed, 26 Nov 2025 13:22:33 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat=20:=20=EB=B0=9C=EC=86=A1/=EB=B0=98?= =?UTF-8?q?=EC=86=A1=20=EC=83=9D=EC=84=B1.=20=EB=A9=94=EB=89=B4=EB=93=A4?= =?UTF-8?q?=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=A0=84=EB=B6=80=20=EC=B0=8D?= =?UTF-8?q?=EC=96=B4=EB=82=BC=20=EC=98=88=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../init/controller/MinwonInitController.java | 6 + .../controller/NoticeStatusController.java | 50 ++++ .../status/service/NoticeStatusService.java | 9 + .../service/impl/NoticsStatusServiceImpl.java | 15 ++ .../PreNoticeSendTargetController.java | 50 ++++ .../dto/PreNoticeSendTargetDto.java | 45 ++++ .../mapper/PreNoticeSendTargetMapper.java | 7 + ...PreNoticeSendTargetQueryDslRepository.java | 54 ++++ .../service/PreNoticeSendTargetService.java | 9 + .../impl/PreNoticeSendTargetServiceImpl.java | 36 +++ .../status/controller/StatusController.java | 49 ++++ .../status/service/StatusService.java | 11 + .../service/impl/StatusServiceImpl.java | 16 ++ .../controller/TotalInfoController.java | 3 +- .../{model => dto}/TotalInfoDto.java | 3 +- .../biz/totalInfo/mapper/TotalInfoMapper.java | 2 +- .../TotalInfoQueryDslRepository.java | 14 +- .../totalInfo/service/TotalInfoService.java | 3 +- .../service/impl/TotalInfoServiceImpl.java | 18 +- .../biz/totalInfo/TotalInfoMapper_maria.xml | 6 +- src/main/webapp/WEB-INF/tiles/tiles.xml | 4 +- .../biz/post/guide/sendTarget/sendTarget.jsp | 250 ++++++++++++++++++ .../views/biz/post/guide/status/status.jsp | 250 ++++++++++++++++++ .../biz/post/notice/status/noticeStatus.jsp | 250 ++++++++++++++++++ .../sendTarget/preNoticeSendTarget.jsp | 250 ++++++++++++++++++ .../post/preNotice/status/preNoticeStatus.jsp | 250 ++++++++++++++++++ .../sendReturnData/sendReturnData.jsp | 16 ++ .../biz/post/publicNotice/status/status.jsp | 250 ++++++++++++++++++ 28 files changed, 1901 insertions(+), 25 deletions(-) create mode 100644 src/main/java/go/kr/project/biz/post/notice/status/controller/NoticeStatusController.java create mode 100644 src/main/java/go/kr/project/biz/post/notice/status/service/NoticeStatusService.java create mode 100644 src/main/java/go/kr/project/biz/post/notice/status/service/impl/NoticsStatusServiceImpl.java create mode 100644 src/main/java/go/kr/project/biz/post/preNotice/sendTarget/controller/PreNoticeSendTargetController.java create mode 100644 src/main/java/go/kr/project/biz/post/preNotice/sendTarget/dto/PreNoticeSendTargetDto.java create mode 100644 src/main/java/go/kr/project/biz/post/preNotice/sendTarget/mapper/PreNoticeSendTargetMapper.java create mode 100644 src/main/java/go/kr/project/biz/post/preNotice/sendTarget/repository/PreNoticeSendTargetQueryDslRepository.java create mode 100644 src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/PreNoticeSendTargetService.java create mode 100644 src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/impl/PreNoticeSendTargetServiceImpl.java create mode 100644 src/main/java/go/kr/project/biz/post/preNotice/status/controller/StatusController.java create mode 100644 src/main/java/go/kr/project/biz/post/preNotice/status/service/StatusService.java create mode 100644 src/main/java/go/kr/project/biz/post/preNotice/status/service/impl/StatusServiceImpl.java rename src/main/java/go/kr/project/biz/totalInfo/{model => dto}/TotalInfoDto.java (96%) create mode 100644 src/main/webapp/WEB-INF/views/biz/post/guide/sendTarget/sendTarget.jsp create mode 100644 src/main/webapp/WEB-INF/views/biz/post/guide/status/status.jsp create mode 100644 src/main/webapp/WEB-INF/views/biz/post/notice/status/noticeStatus.jsp create mode 100644 src/main/webapp/WEB-INF/views/biz/post/preNotice/sendTarget/preNoticeSendTarget.jsp create mode 100644 src/main/webapp/WEB-INF/views/biz/post/preNotice/status/preNoticeStatus.jsp create mode 100644 src/main/webapp/WEB-INF/views/biz/post/publicNotice/sendReturnData/sendReturnData.jsp create mode 100644 src/main/webapp/WEB-INF/views/biz/post/publicNotice/status/status.jsp diff --git a/src/main/java/go/kr/project/biz/minwon/init/controller/MinwonInitController.java b/src/main/java/go/kr/project/biz/minwon/init/controller/MinwonInitController.java index 101bb14..7e02b9a 100644 --- a/src/main/java/go/kr/project/biz/minwon/init/controller/MinwonInitController.java +++ b/src/main/java/go/kr/project/biz/minwon/init/controller/MinwonInitController.java @@ -45,6 +45,12 @@ public class MinwonInitController { return "biz/minwon/init/init_popup" + TilesConstants.POPUP; } + @PostMapping("/car-info") + public String carInfo(){ + + return null; + } + @PostMapping("/minwon/init/list.ajax") public ResponseEntity getMinwonInitListAjax(@ModelAttribute MinwonInitDto.Request.SearchMinwonInitList dto) { diff --git a/src/main/java/go/kr/project/biz/post/notice/status/controller/NoticeStatusController.java b/src/main/java/go/kr/project/biz/post/notice/status/controller/NoticeStatusController.java new file mode 100644 index 0000000..0e7b5b0 --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/notice/status/controller/NoticeStatusController.java @@ -0,0 +1,50 @@ +package go.kr.project.biz.post.notice.status.controller; + +import egovframework.constant.TilesConstants; +import egovframework.util.ApiResponseUtil; +import go.kr.project.biz.minwon.init.dto.MinwonInitDto; +import go.kr.project.biz.post.preNotice.sendTarget.dto.PreNoticeSendTargetDto; +import go.kr.project.biz.post.preNotice.sendTarget.service.PreNoticeSendTargetService; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +@Controller +@RequiredArgsConstructor +public class NoticeStatusController { + + private final PreNoticeSendTargetService preNoticeSendTargetService; + + + /** + * 발송/반송 > 고지서 발송현황 목록 페이지 + * @return 뷰 경로 + */ + @GetMapping("post/notice/status/noticeStatus.do") + public String minwonInitView() { + + return "biz/post/notice/status/noticeStatus" + TilesConstants.BASE; + } + + + @PostMapping("post/notice/status/noticeStatus.ajax") + public ResponseEntity getPreNoticeSendTargetistAjax(@ModelAttribute MinwonInitDto.Request.SearchMinwonInitList dto) { + + // 총 게시물 수 조회 + int totalCount = 0; + dto.setTotalCount(totalCount); + + // 페이징 처리를 위한 설정 + dto.setPagingYn("N"); + + // 리스트 조회 + List result = preNoticeSendTargetService.findPreNoticeSendTarget(); + + return ApiResponseUtil.successWithGrid(result, dto); + } +} diff --git a/src/main/java/go/kr/project/biz/post/notice/status/service/NoticeStatusService.java b/src/main/java/go/kr/project/biz/post/notice/status/service/NoticeStatusService.java new file mode 100644 index 0000000..d8101c8 --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/notice/status/service/NoticeStatusService.java @@ -0,0 +1,9 @@ +package go.kr.project.biz.post.notice.status.service; + +import go.kr.project.biz.minwon.init.dto.MinwonInitDto; + +import java.util.List; + +public interface NoticeStatusService { + List findPreNoticeSendTarget(); +} diff --git a/src/main/java/go/kr/project/biz/post/notice/status/service/impl/NoticsStatusServiceImpl.java b/src/main/java/go/kr/project/biz/post/notice/status/service/impl/NoticsStatusServiceImpl.java new file mode 100644 index 0000000..c2a8459 --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/notice/status/service/impl/NoticsStatusServiceImpl.java @@ -0,0 +1,15 @@ +package go.kr.project.biz.post.notice.status.service.impl; + +import go.kr.project.biz.minwon.init.dto.MinwonInitDto; +import go.kr.project.biz.post.notice.status.service.NoticeStatusService; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class NoticsStatusServiceImpl implements NoticeStatusService { + @Override + public List findPreNoticeSendTarget() { + return null; + } +} diff --git a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/controller/PreNoticeSendTargetController.java b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/controller/PreNoticeSendTargetController.java new file mode 100644 index 0000000..3ecd92d --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/controller/PreNoticeSendTargetController.java @@ -0,0 +1,50 @@ +package go.kr.project.biz.post.preNotice.sendTarget.controller; + +import egovframework.constant.TilesConstants; +import egovframework.util.ApiResponseUtil; +import go.kr.project.biz.minwon.init.dto.MinwonInitDto; +import go.kr.project.biz.post.preNotice.sendTarget.dto.PreNoticeSendTargetDto; +import go.kr.project.biz.post.preNotice.sendTarget.service.PreNoticeSendTargetService; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +@Controller +@RequiredArgsConstructor +public class PreNoticeSendTargetController { + + private final PreNoticeSendTargetService preNoticeSendTargetService; + + + /** + * 발송/반송 > 사전통보 > 사전통보 대상 목록 페이지 + * @return 뷰 경로 + */ + @GetMapping("post/preNotice/sendTarget/sendTarget.do") + public String preNoticeSendTargetView() { + + return "biz/post/preNotice/sendTarget/preNoticeSendTarget" + TilesConstants.BASE; + } + + + @PostMapping("/post/preNotice/sendTarget/sendTargetList.ajax") + public ResponseEntity getPreNoticeSendTargetistAjax(@ModelAttribute PreNoticeSendTargetDto.Request.Search dto) { + + // 총 게시물 수 조회 + int totalCount = 0; + dto.setTotalCount(totalCount); + + // 페이징 처리를 위한 설정 + dto.setPagingYn("N"); + + // 리스트 조회 + List result = preNoticeSendTargetService.findPreNoticeSendTarget(); + + return ApiResponseUtil.successWithGrid(result, dto); + } +} diff --git a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/dto/PreNoticeSendTargetDto.java b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/dto/PreNoticeSendTargetDto.java new file mode 100644 index 0000000..d843a5e --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/dto/PreNoticeSendTargetDto.java @@ -0,0 +1,45 @@ +package go.kr.project.biz.post.preNotice.sendTarget.dto; + +import go.kr.project.domain.entity.CpAnswer; +import go.kr.project.domain.entity.CpMain; +import go.kr.project.domain.entity.CpOwner; +import go.kr.project.system.common.model.PagingVO; +import go.kr.project.vo.CpAnswerVO; +import go.kr.project.vo.CpMainVO; +import go.kr.project.vo.CpOwnerVO; +import lombok.Builder; +import lombok.Getter; +import lombok.Setter; + +public class PreNoticeSendTargetDto { + + public static class Request { + + public static class Search extends PagingVO { + + } + + } + + public static class Response { + + + @Getter + @Setter + public static class PreNoticeSendTargetEntities{ + private CpMain cpMain; + private CpAnswer cpAnswer; + private CpOwner cpOwner; + } + + @Getter + @Setter + @Builder + public static class PreNoticeSendTarget { + private CpMainVO cpMain; + private CpAnswerVO cpAnswer; + private CpOwnerVO cpOwner; + } + + } +} diff --git a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/mapper/PreNoticeSendTargetMapper.java b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/mapper/PreNoticeSendTargetMapper.java new file mode 100644 index 0000000..c79df6b --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/mapper/PreNoticeSendTargetMapper.java @@ -0,0 +1,7 @@ +package go.kr.project.biz.post.preNotice.sendTarget.mapper; + +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PreNoticeSendTargetMapper { +} diff --git a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/repository/PreNoticeSendTargetQueryDslRepository.java b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/repository/PreNoticeSendTargetQueryDslRepository.java new file mode 100644 index 0000000..ed7fd64 --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/repository/PreNoticeSendTargetQueryDslRepository.java @@ -0,0 +1,54 @@ +package go.kr.project.biz.post.preNotice.sendTarget.repository; + +import com.querydsl.core.types.Projections; +import com.querydsl.jpa.impl.JPAQueryFactory; +import go.kr.project.biz.post.preNotice.sendTarget.dto.PreNoticeSendTargetDto; +import go.kr.project.vo.mapper.EntityVoMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +import java.util.List; + +import static go.kr.project.domain.entity.QCpAnswer.cpAnswer; +import static go.kr.project.domain.entity.QCpMain.cpMain; +import static go.kr.project.domain.entity.QCpOwner.cpOwner; +import static go.kr.project.domain.entity.QCpUser.cpUser; + +@Repository +@RequiredArgsConstructor +public class PreNoticeSendTargetQueryDslRepository { + + private final JPAQueryFactory queryFactory; + + public List findPreNoticeSendTarget() { + + String aaa = null; + String bbb = null; + String ccc = null; + + List result = queryFactory + .select( + Projections.fields( + PreNoticeSendTargetDto.Response.PreNoticeSendTargetEntities.class, + cpMain, + cpAnswer, + cpOwner + ) + ) + .from(cpMain) + .leftJoin(cpAnswer).on(cpMain.mmCode.eq(cpAnswer.asMmcode)) + .leftJoin(cpUser).on(cpAnswer.asReuser.eq(cpUser.umCode)) + .leftJoin(cpOwner).on(cpMain.mmOmcode.eq(cpOwner.omCode)) + .where( + cpMain.mmSggcode.eq(aaa), + cpMain.mmState.eq(bbb), + cpAnswer.asState.ne("0").or(cpAnswer.asState.isNull()), + cpMain.mmLawgb.eq(ccc) + ) + .orderBy(cpMain.mmCarno.asc(), cpMain.mmDate.asc(), cpMain.mmTime.asc()) + .fetch(); + + return result; + } + +} diff --git a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/PreNoticeSendTargetService.java b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/PreNoticeSendTargetService.java new file mode 100644 index 0000000..4c832c6 --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/PreNoticeSendTargetService.java @@ -0,0 +1,9 @@ +package go.kr.project.biz.post.preNotice.sendTarget.service; + +import go.kr.project.biz.post.preNotice.sendTarget.dto.PreNoticeSendTargetDto; + +import java.util.List; + +public interface PreNoticeSendTargetService { + List findPreNoticeSendTarget(); +} diff --git a/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/impl/PreNoticeSendTargetServiceImpl.java b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/impl/PreNoticeSendTargetServiceImpl.java new file mode 100644 index 0000000..00cbcf7 --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/preNotice/sendTarget/service/impl/PreNoticeSendTargetServiceImpl.java @@ -0,0 +1,36 @@ +package go.kr.project.biz.post.preNotice.sendTarget.service.impl; + +import go.kr.project.biz.minwon.init.dto.MinwonInitDto; +import go.kr.project.biz.post.preNotice.sendTarget.dto.PreNoticeSendTargetDto; +import go.kr.project.biz.post.preNotice.sendTarget.repository.PreNoticeSendTargetQueryDslRepository; +import go.kr.project.biz.post.preNotice.sendTarget.service.PreNoticeSendTargetService; +import go.kr.project.vo.mapper.EntityVoMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +public class PreNoticeSendTargetServiceImpl implements PreNoticeSendTargetService { + + private final EntityVoMapper mapper; + private final PreNoticeSendTargetQueryDslRepository preNoticeSendTargetQueryDslRepository; + + @Override + public List findPreNoticeSendTarget() { + + List list = preNoticeSendTargetQueryDslRepository.findPreNoticeSendTarget(); + + list.stream().map(e -> + PreNoticeSendTargetDto.Response.PreNoticeSendTarget.builder() + .cpMain(mapper.toCpMainVO(e.getCpMain())) + .cpAnswer(mapper.toCpAnswerVO(e.getCpAnswer())) + .cpOwner(mapper.toCpOwnerVO(e.getCpOwner())) + .build() + ).collect(Collectors.toList()); + + return null; + } +} diff --git a/src/main/java/go/kr/project/biz/post/preNotice/status/controller/StatusController.java b/src/main/java/go/kr/project/biz/post/preNotice/status/controller/StatusController.java new file mode 100644 index 0000000..85dc5e8 --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/preNotice/status/controller/StatusController.java @@ -0,0 +1,49 @@ +package go.kr.project.biz.post.preNotice.status.controller; + +import egovframework.constant.TilesConstants; +import egovframework.util.ApiResponseUtil; +import go.kr.project.biz.minwon.init.dto.MinwonInitDto; +import go.kr.project.biz.post.preNotice.status.service.StatusService; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +@Controller +@RequiredArgsConstructor +public class StatusController { + + private final StatusService statusService; + + + /** + * 발송/반송 > 사전통보 > 사전통보 현황 목록 페이지 + * @return 뷰 경로 + */ + @GetMapping("/post/preNotice/status/status.do") + public String minwonInitView() { + + return "preNoticeStatus" + TilesConstants.BASE; + } + + + @PostMapping("post/preNotice/status/status.ajax") + public ResponseEntity getPreNoticeStatusListAjax(@ModelAttribute MinwonInitDto.Request.SearchMinwonInitList dto) { + + // 총 게시물 수 조회 + int totalCount = 0; + dto.setTotalCount(totalCount); + + // 페이징 처리를 위한 설정 + dto.setPagingYn("N"); + + // 리스트 조회 + List result = statusService.findPreNoticeStatus(); + + return ApiResponseUtil.successWithGrid(result, dto); + } +} diff --git a/src/main/java/go/kr/project/biz/post/preNotice/status/service/StatusService.java b/src/main/java/go/kr/project/biz/post/preNotice/status/service/StatusService.java new file mode 100644 index 0000000..f060db6 --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/preNotice/status/service/StatusService.java @@ -0,0 +1,11 @@ +package go.kr.project.biz.post.preNotice.status.service; + +import go.kr.project.biz.minwon.init.dto.MinwonInitDto; +import org.springframework.stereotype.Service; + +import java.util.List; + +public interface StatusService { + + List findPreNoticeStatus(); +} diff --git a/src/main/java/go/kr/project/biz/post/preNotice/status/service/impl/StatusServiceImpl.java b/src/main/java/go/kr/project/biz/post/preNotice/status/service/impl/StatusServiceImpl.java new file mode 100644 index 0000000..94b0881 --- /dev/null +++ b/src/main/java/go/kr/project/biz/post/preNotice/status/service/impl/StatusServiceImpl.java @@ -0,0 +1,16 @@ +package go.kr.project.biz.post.preNotice.status.service.impl; + +import go.kr.project.biz.minwon.init.dto.MinwonInitDto; +import go.kr.project.biz.post.preNotice.status.service.StatusService; +import org.springframework.stereotype.Controller; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class StatusServiceImpl implements StatusService { + @Override + public List findPreNoticeStatus() { + return List.of(); + } +} diff --git a/src/main/java/go/kr/project/biz/totalInfo/controller/TotalInfoController.java b/src/main/java/go/kr/project/biz/totalInfo/controller/TotalInfoController.java index a199587..adc1149 100644 --- a/src/main/java/go/kr/project/biz/totalInfo/controller/TotalInfoController.java +++ b/src/main/java/go/kr/project/biz/totalInfo/controller/TotalInfoController.java @@ -3,7 +3,7 @@ package go.kr.project.biz.totalInfo.controller; import egovframework.constant.SessionConstants; import egovframework.constant.TilesConstants; import egovframework.util.ApiResponseUtil; -import go.kr.project.biz.totalInfo.model.TotalInfoDto; +import go.kr.project.biz.totalInfo.dto.TotalInfoDto; import go.kr.project.biz.totalInfo.service.TotalInfoService; import go.kr.project.system.login.model.SessionVO; import lombok.RequiredArgsConstructor; @@ -14,7 +14,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; -import javax.mail.Session; import javax.servlet.http.HttpSession; import java.io.IOException; import java.nio.file.Files; diff --git a/src/main/java/go/kr/project/biz/totalInfo/model/TotalInfoDto.java b/src/main/java/go/kr/project/biz/totalInfo/dto/TotalInfoDto.java similarity index 96% rename from src/main/java/go/kr/project/biz/totalInfo/model/TotalInfoDto.java rename to src/main/java/go/kr/project/biz/totalInfo/dto/TotalInfoDto.java index 2668d88..c634623 100644 --- a/src/main/java/go/kr/project/biz/totalInfo/model/TotalInfoDto.java +++ b/src/main/java/go/kr/project/biz/totalInfo/dto/TotalInfoDto.java @@ -1,4 +1,4 @@ -package go.kr.project.biz.totalInfo.model; +package go.kr.project.biz.totalInfo.dto; import go.kr.project.domain.entity.*; import go.kr.project.vo.*; @@ -49,7 +49,6 @@ public class TotalInfoDto { public static class Response { @Getter - @Setter public static class TotalInfoResultEntities { private CpMain cpMain; diff --git a/src/main/java/go/kr/project/biz/totalInfo/mapper/TotalInfoMapper.java b/src/main/java/go/kr/project/biz/totalInfo/mapper/TotalInfoMapper.java index fcb1e83..dd58f94 100644 --- a/src/main/java/go/kr/project/biz/totalInfo/mapper/TotalInfoMapper.java +++ b/src/main/java/go/kr/project/biz/totalInfo/mapper/TotalInfoMapper.java @@ -1,6 +1,6 @@ package go.kr.project.biz.totalInfo.mapper; -import go.kr.project.biz.totalInfo.model.TotalInfoDto; +import go.kr.project.biz.totalInfo.dto.TotalInfoDto; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; diff --git a/src/main/java/go/kr/project/biz/totalInfo/repository/TotalInfoQueryDslRepository.java b/src/main/java/go/kr/project/biz/totalInfo/repository/TotalInfoQueryDslRepository.java index 9a64e4b..61c78eb 100644 --- a/src/main/java/go/kr/project/biz/totalInfo/repository/TotalInfoQueryDslRepository.java +++ b/src/main/java/go/kr/project/biz/totalInfo/repository/TotalInfoQueryDslRepository.java @@ -2,7 +2,7 @@ package go.kr.project.biz.totalInfo.repository; import com.querydsl.core.types.Projections; import com.querydsl.jpa.impl.JPAQueryFactory; -import go.kr.project.biz.totalInfo.model.TotalInfoDto; +import go.kr.project.biz.totalInfo.dto.TotalInfoDto; import go.kr.project.vo.mapper.EntityVoMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -25,7 +25,7 @@ public class TotalInfoQueryDslRepository { - public TotalInfoDto.Response.TotalInfoResult findTotalInfo(String mmCode) { + public TotalInfoDto.Response.TotalInfoResultEntities findTotalInfo(String mmCode) { String jobGroup = "1"; @@ -61,16 +61,8 @@ public class TotalInfoQueryDslRepository { ) .fetchOne(); - if (result == null) return null; - return TotalInfoDto.Response.TotalInfoResult.builder() - .cpMain(mapper.toCpMainVO(result.getCpMain())) - .cpAnswer(mapper.toCpAnswerVO(result.getCpAnswer())) - .cpOwner(mapper.toCpOwnerVO(result.getCpOwner())) - .cpInstruct(mapper.toCpInstructVO(result.getCpInstruct())) - .cpInstructAnswer(mapper.toCpInstructAnswerVO(result.getCpInstructAnswer())) - .cpViolation(mapper.toCpViolationVO(result.getCpViolation())) - .build(); + return result; } } diff --git a/src/main/java/go/kr/project/biz/totalInfo/service/TotalInfoService.java b/src/main/java/go/kr/project/biz/totalInfo/service/TotalInfoService.java index 001676d..4c4863a 100644 --- a/src/main/java/go/kr/project/biz/totalInfo/service/TotalInfoService.java +++ b/src/main/java/go/kr/project/biz/totalInfo/service/TotalInfoService.java @@ -1,7 +1,6 @@ package go.kr.project.biz.totalInfo.service; -import go.kr.project.biz.totalInfo.model.TotalInfoDto; -import org.apache.ibatis.annotations.Param; +import go.kr.project.biz.totalInfo.dto.TotalInfoDto; public interface TotalInfoService { diff --git a/src/main/java/go/kr/project/biz/totalInfo/service/impl/TotalInfoServiceImpl.java b/src/main/java/go/kr/project/biz/totalInfo/service/impl/TotalInfoServiceImpl.java index 457a627..229e414 100644 --- a/src/main/java/go/kr/project/biz/totalInfo/service/impl/TotalInfoServiceImpl.java +++ b/src/main/java/go/kr/project/biz/totalInfo/service/impl/TotalInfoServiceImpl.java @@ -1,28 +1,40 @@ package go.kr.project.biz.totalInfo.service.impl; import go.kr.project.biz.totalInfo.mapper.TotalInfoMapper; -import go.kr.project.biz.totalInfo.model.TotalInfoDto; +import go.kr.project.biz.totalInfo.dto.TotalInfoDto; import go.kr.project.biz.totalInfo.repository.TotalInfoQueryDslRepository; import go.kr.project.biz.totalInfo.service.TotalInfoService; import go.kr.project.vo.code.MmDlgbEnum; import go.kr.project.vo.code.MmIngbEnum; +import go.kr.project.vo.mapper.EntityVoMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; @Service @RequiredArgsConstructor @Slf4j public class TotalInfoServiceImpl implements TotalInfoService { + private final EntityVoMapper mapper; private final TotalInfoQueryDslRepository totalInfoQueryDslRepository; private final TotalInfoMapper totalInfoMapper; @Override public TotalInfoDto.Response.TotalInfoResult findTotalInfo(String mmCode) { - TotalInfoDto.Response.TotalInfoResult result = totalInfoQueryDslRepository.findTotalInfo(mmCode); + TotalInfoDto.Response.TotalInfoResultEntities e = totalInfoQueryDslRepository.findTotalInfo(mmCode); + + if (e == null) return null; + TotalInfoDto.Response.TotalInfoResult result = TotalInfoDto.Response.TotalInfoResult.builder() + .cpMain(mapper.toCpMainVO(e.getCpMain())) + .cpAnswer(mapper.toCpAnswerVO(e.getCpAnswer())) + .cpOwner(mapper.toCpOwnerVO(e.getCpOwner())) + .cpInstruct(mapper.toCpInstructVO(e.getCpInstruct())) + .cpInstructAnswer(mapper.toCpInstructAnswerVO(e.getCpInstructAnswer())) + .cpViolation(mapper.toCpViolationVO(e.getCpViolation())) + .build(); + // DESC 변환 result.getCpMain().setMmDlgb(MmDlgbEnum.getDescByCode(result.getCpMain().getMmDlgb())); diff --git a/src/main/resources/mybatis/mapper/biz/totalInfo/TotalInfoMapper_maria.xml b/src/main/resources/mybatis/mapper/biz/totalInfo/TotalInfoMapper_maria.xml index 6d6cc8f..3a5b639 100644 --- a/src/main/resources/mybatis/mapper/biz/totalInfo/TotalInfoMapper_maria.xml +++ b/src/main/resources/mybatis/mapper/biz/totalInfo/TotalInfoMapper_maria.xml @@ -6,7 +6,7 @@ + parameterType="go.kr.project.biz.totalInfo.dto.TotalInfoDto$Request$Edit"> UPDATE cp_main SET @@ -21,7 +21,7 @@ + parameterType="go.kr.project.biz.totalInfo.dto.TotalInfoDto$Request$Edit"> UPDATE cp_answer SET @@ -43,7 +43,7 @@ + parameterType="go.kr.project.biz.totalInfo.dto.TotalInfoDto$Request$Edit"> insert into cp_owner ( diff --git a/src/main/webapp/WEB-INF/tiles/tiles.xml b/src/main/webapp/WEB-INF/tiles/tiles.xml index cff18a6..d936e18 100644 --- a/src/main/webapp/WEB-INF/tiles/tiles.xml +++ b/src/main/webapp/WEB-INF/tiles/tiles.xml @@ -26,7 +26,9 @@ - + + + diff --git a/src/main/webapp/WEB-INF/views/biz/post/guide/sendTarget/sendTarget.jsp b/src/main/webapp/WEB-INF/views/biz/post/guide/sendTarget/sendTarget.jsp new file mode 100644 index 0000000..2138483 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/biz/post/guide/sendTarget/sendTarget.jsp @@ -0,0 +1,250 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + +
+
+
+
+
+ +
+
+
+
+
+
    +
  • 검색구분
  • +
  • + +
  • +
  • 검색어
  • +
  • +
  • 담당자지정
  • +
  • +
  • 사용여부
  • +
  • + +
  • +
  • 접수일자 지정
  • +
  • + ~ + +
  • +
  • + +
  • +
+
    +
  • + + / Pages +
  • +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/views/biz/post/guide/status/status.jsp b/src/main/webapp/WEB-INF/views/biz/post/guide/status/status.jsp new file mode 100644 index 0000000..2138483 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/biz/post/guide/status/status.jsp @@ -0,0 +1,250 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + +
+
+
+
+
+ +
+
+
+
+
+
    +
  • 검색구분
  • +
  • + +
  • +
  • 검색어
  • +
  • +
  • 담당자지정
  • +
  • +
  • 사용여부
  • +
  • + +
  • +
  • 접수일자 지정
  • +
  • + ~ + +
  • +
  • + +
  • +
+
    +
  • + + / Pages +
  • +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/views/biz/post/notice/status/noticeStatus.jsp b/src/main/webapp/WEB-INF/views/biz/post/notice/status/noticeStatus.jsp new file mode 100644 index 0000000..2138483 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/biz/post/notice/status/noticeStatus.jsp @@ -0,0 +1,250 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + +
+
+
+
+
+ +
+
+
+
+
+
    +
  • 검색구분
  • +
  • + +
  • +
  • 검색어
  • +
  • +
  • 담당자지정
  • +
  • +
  • 사용여부
  • +
  • + +
  • +
  • 접수일자 지정
  • +
  • + ~ + +
  • +
  • + +
  • +
+
    +
  • + + / Pages +
  • +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/views/biz/post/preNotice/sendTarget/preNoticeSendTarget.jsp b/src/main/webapp/WEB-INF/views/biz/post/preNotice/sendTarget/preNoticeSendTarget.jsp new file mode 100644 index 0000000..ebdbf70 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/biz/post/preNotice/sendTarget/preNoticeSendTarget.jsp @@ -0,0 +1,250 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + +
+
+
+
+
+ +
+
+
+
+
+
    +
  • 검색구분
  • +
  • + +
  • +
  • 검색어
  • +
  • +
  • 담당자지정
  • +
  • +
  • 사용여부
  • +
  • + +
  • +
  • 접수일자 지정
  • +
  • + ~ + +
  • +
  • + +
  • +
+
    +
  • + + / Pages +
  • +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/views/biz/post/preNotice/status/preNoticeStatus.jsp b/src/main/webapp/WEB-INF/views/biz/post/preNotice/status/preNoticeStatus.jsp new file mode 100644 index 0000000..2138483 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/biz/post/preNotice/status/preNoticeStatus.jsp @@ -0,0 +1,250 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + +
+
+
+
+
+ +
+
+
+
+
+
    +
  • 검색구분
  • +
  • + +
  • +
  • 검색어
  • +
  • +
  • 담당자지정
  • +
  • +
  • 사용여부
  • +
  • + +
  • +
  • 접수일자 지정
  • +
  • + ~ + +
  • +
  • + +
  • +
+
    +
  • + + / Pages +
  • +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/views/biz/post/publicNotice/sendReturnData/sendReturnData.jsp b/src/main/webapp/WEB-INF/views/biz/post/publicNotice/sendReturnData/sendReturnData.jsp new file mode 100644 index 0000000..7a663a8 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/biz/post/publicNotice/sendReturnData/sendReturnData.jsp @@ -0,0 +1,16 @@ +<%-- + Created by IntelliJ IDEA. + User: kurt + Date: 2025. 11. 25. + Time: 오후 3:41 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + + + + diff --git a/src/main/webapp/WEB-INF/views/biz/post/publicNotice/status/status.jsp b/src/main/webapp/WEB-INF/views/biz/post/publicNotice/status/status.jsp new file mode 100644 index 0000000..2138483 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/biz/post/publicNotice/status/status.jsp @@ -0,0 +1,250 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + +
+
+
+
+
+ +
+
+
+
+
+
    +
  • 검색구분
  • +
  • + +
  • +
  • 검색어
  • +
  • +
  • 담당자지정
  • +
  • +
  • 사용여부
  • +
  • + +
  • +
  • 접수일자 지정
  • +
  • + ~ + +
  • +
  • + +
  • +
+
    +
  • + + / Pages +
  • +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + From d14ee189b514d1c6ffc51311b17b58b0d70793b5 Mon Sep 17 00:00:00 2001 From: Kurt92 Date: Thu, 27 Nov 2025 14:00:28 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat=20:=20vo=20=EC=A1=B0=ED=9A=8C=EC=9A=A9?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=A0=95=EC=9D=98,=20=EB=A7=B5=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EB=9F=AD=EC=B3=90=20entity=20->=20vo=20=EB=8B=A8?= =?UTF-8?q?=EB=B0=A9=ED=96=A5=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/project/vo/mapper/EntityVoMapper.java | 29 +++---------------- .../project/domain/entity/CpViolationId.java | 1 + 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/src/main/java/go/kr/project/vo/mapper/EntityVoMapper.java b/src/main/java/go/kr/project/vo/mapper/EntityVoMapper.java index 2b4e858..ff9b32e 100644 --- a/src/main/java/go/kr/project/vo/mapper/EntityVoMapper.java +++ b/src/main/java/go/kr/project/vo/mapper/EntityVoMapper.java @@ -3,6 +3,7 @@ package go.kr.project.vo.mapper; import go.kr.project.domain.entity.*; import go.kr.project.vo.*; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; @Mapper(componentModel = "spring") public interface EntityVoMapper { @@ -12,85 +13,63 @@ public interface EntityVoMapper { // ===== CP 계열 ===== CpAnswerVO toCpAnswerVO(CpAnswer entity); - CpAnswer toCpAnswer(CpAnswerVO vo); CpBdongVO toCpBdongVO(CpBdong entity); - CpBdong toCpBdong(CpBdongVO vo); CpCancelVO toCpCancelVO(CpCancel entity); - CpCancel toCpCancel(CpCancelVO vo); CpGojiPrtVO toCpGojiPrtVO(CpGojiPrt entity); - CpGojiPrt toCpGojiPrt(CpGojiPrtVO vo); CpGojiSendHistVO toCpGojiSendHistVO(CpGojiSendHist entity); - CpGojiSendHist toCpGojiSendHist(CpGojiSendHistVO vo); CpGojitVO toCpGojitVO(CpGojit entity); - CpGojit toCpGojit(CpGojitVO vo); CpImagesizeVO toCpImagesizeVO(CpImagesize entity); - CpImagesize toCpImagesize(CpImagesizeVO vo); CpInstructVO toCpInstructVO(CpInstruct entity); - CpInstruct toCpInstruct(CpInstructVO vo); CpInstructAnswerVO toCpInstructAnswerVO(CpInstructAnswer entity); - CpInstructAnswer toCpInstructAnswer(CpInstructAnswerVO vo); CpMainVO toCpMainVO(CpMain entity); - CpMain toCpMain(CpMainVO vo); CpMainEtc1VO toCpMainEtc1VO(CpMainEtc1 entity); - CpMainEtc1 toCpMainEtc1(CpMainEtc1VO vo); CpMatchVO toCpMatchVO(CpMatch entity); - CpMatch toCpMatch(CpMatchVO vo); CpOwnerVO toCpOwnerVO(CpOwner entity); - CpOwner toCpOwner(CpOwnerVO vo); CpSeallOneVO toCpSeallOneVO(CpSeallOne entity); - CpSeallOne toCpSeallOne(CpSeallOneVO vo); CpSetinfoVO toCpSetinfoVO(CpSetinfo entity); - CpSetinfo toCpSetinfo(CpSetinfoVO vo); CpSggVO toCpSggVO(CpSgg entity); - CpSgg toCpSgg(CpSggVO vo); CpUserVO toCpUserVO(CpUser entity); - CpUser toCpUser(CpUserVO vo); + @Mapping(target = "vlSggcode", source = "id.vlSggcode") + @Mapping(target = "vlJobgroup", source = "id.vlJobgroup") + @Mapping(target = "vlCode", source = "id.vlCode") CpViolationVO toCpViolationVO(CpViolation entity); - CpViolation toCpViolation(CpViolationVO vo); // ===== EPOST 계열 ===== EpostDelivResultVO toEpostDelivResultVO(EpostDelivResult entity); - EpostDelivResult toEpostDelivResult(EpostDelivResultVO vo); EpostMakeResultVO toEpostMakeResultVO(EpostMakeResult entity); - EpostMakeResult toEpostMakeResult(EpostMakeResultVO vo); // EpostRecptResultVO toEpostRecptResultVO(EpostRecptResult entity); // EpostRecptResult toEpostRecptResult(EpostRecptResultVO vo); EpostRgstNmbrVO toEpostRgstNmbrVO(EpostRgstNmbr entity); - EpostRgstNmbr toEpostRgstNmbr(EpostRgstNmbrVO vo); EpostSenderDetailVO toEpostSenderDetailVO(EpostSenderDetail entity); - EpostSenderDetail toEpostSenderDetail(EpostSenderDetailVO vo); EpostSenderRegVO toEpostSenderRegVO(EpostSenderReg entity); - EpostSenderReg toEpostSenderReg(EpostSenderRegVO vo); // ===== TB_CNTC 계열 ===== TbCntcSndngDetailVO toTbCntcSndngDetailVO(TbCntcSndngDetail entity); - TbCntcSndngDetail toTbCntcSndngDetail(TbCntcSndngDetailVO vo); TbCntcSndngResultVO toTbCntcSndngResultVO(TbCntcSndngResult entity); - TbCntcSndngResult toTbCntcSndngResult(TbCntcSndngResultVO vo); } diff --git a/src/schemas/go/kr/project/domain/entity/CpViolationId.java b/src/schemas/go/kr/project/domain/entity/CpViolationId.java index 671c340..f21ebf0 100644 --- a/src/schemas/go/kr/project/domain/entity/CpViolationId.java +++ b/src/schemas/go/kr/project/domain/entity/CpViolationId.java @@ -8,6 +8,7 @@ import java.io.Serializable; import java.util.Objects; @Embeddable +@Getter @Builder @NoArgsConstructor @AllArgsConstructor