From e6bf779b112ddbd7b248b7446922d9b30d25ce9a Mon Sep 17 00:00:00 2001 From: jazz Date: Mon, 9 Feb 2026 11:36:45 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=20=EA=B4=80=EB=A6=AC=EC=9E=90=20?= =?UTF-8?q?=EA=B5=AC=EB=8F=85=EC=84=9C=EB=B9=84=EC=8A=A4=20=EC=83=81?= =?UTF-8?q?=ED=92=88=EB=B3=80=EA=B2=BD=20=EA=B4=80=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../subsvc/mapper/BOSubsvcOrdrMapper.java | 3 + .../subsvc/service/BOSubsvcOrdrService.java | 24 + .../gcone/ordr/subsvc/vo/BOSubsvcOrderVO.java | 6 + .../controller/SubsvcOrdrController.java | 76 ++- .../gcone/ordr/subsvc/BOSubsvcOrdrMapper.xml | 126 ++++- .../views/mngr/ordr/subsvc/SubsvcOrdrList.jsp | 4 +- .../mngr/ordr/subsvc/SubsvcOrdrMappedList.jsp | 140 +++++ .../ordr/subsvc/SubsvcOrdrMappedListForm.jsp | 504 ++++++++++++++++++ 8 files changed, 866 insertions(+), 17 deletions(-) create mode 100644 src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrMappedList.jsp create mode 100644 src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrMappedListForm.jsp diff --git a/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/mapper/BOSubsvcOrdrMapper.java b/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/mapper/BOSubsvcOrdrMapper.java index a51682d2..728022d3 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/mapper/BOSubsvcOrdrMapper.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/mapper/BOSubsvcOrdrMapper.java @@ -43,4 +43,7 @@ public interface BOSubsvcOrdrMapper { /** 구독서비스 상품준비 관리 상품매칭 - 5. GC_SUBSVC update*/ int updateBOSubsvcGoodsMappgSubsvc(BOSubsvcOrderVO vo); + /** 구독서비스 상품변경 관리 목록*/ + List selectBOSubsvcOrderMappedList(BOSubsvcOrderVO vo); + } diff --git a/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/service/BOSubsvcOrdrService.java b/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/service/BOSubsvcOrdrService.java index f71a16cf..81b01b61 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/service/BOSubsvcOrdrService.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/service/BOSubsvcOrdrService.java @@ -166,4 +166,28 @@ public class BOSubsvcOrdrService { return message; } + /** + * 구독서비스 상품변경 관리 목록 + * @param vo + * @return List + */ + public List selectBOSubsvcOrderMappedList(BOSubsvcOrderVO vo) { + List dataList = new ArrayList<>(); + + try { + dataList = mapper.selectBOSubsvcOrderMappedList(vo); + }catch(Exception e){ + e.printStackTrace(); + throw e; + } + if(dataList == null || dataList.isEmpty()){ + vo.getPaginationInfo().setTotalRecordCount(0); + }else{ + vo.getPaginationInfo().setTotalRecordCount(((Long)dataList.get(0).get("totCnt")).intValue()); + } + + return dataList; + } + + } diff --git a/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/vo/BOSubsvcOrderVO.java b/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/vo/BOSubsvcOrderVO.java index ab6aa140..e033faf2 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/vo/BOSubsvcOrderVO.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/ordr/subsvc/vo/BOSubsvcOrderVO.java @@ -67,4 +67,10 @@ private static final long serialVersionUID = 1L; private List arrSubsvcInnb; /**당월제외*/ private String srchCurMonExclude; + /**주문번호*/ + private String srchOrdrInnb; + /**주문자명*/ + private String srchMbrNm; + /**주문자ID*/ + private String srchMbrId; } diff --git a/src/main/java/com/wb/domainserver/domain/mngr/ordr/subsvc/controller/SubsvcOrdrController.java b/src/main/java/com/wb/domainserver/domain/mngr/ordr/subsvc/controller/SubsvcOrdrController.java index bd514aa2..1f9a0d60 100644 --- a/src/main/java/com/wb/domainserver/domain/mngr/ordr/subsvc/controller/SubsvcOrdrController.java +++ b/src/main/java/com/wb/domainserver/domain/mngr/ordr/subsvc/controller/SubsvcOrdrController.java @@ -105,7 +105,7 @@ public class SubsvcOrdrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectSubsvcOrdrListForm") - public String selectSubsvcListForm(BOSubsvcVO subsvcVO, BOSubsvcOrderVO subsvcOrderVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectSubsvcOrdrListForm(BOSubsvcVO subsvcVO, BOSubsvcOrderVO subsvcOrderVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { subsvcVO.setSopmalCd(authSopmalCd); subsvcOrderVO.setSopmalCd(authSopmalCd); AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); @@ -133,7 +133,7 @@ public class SubsvcOrdrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectSubsvcOrdrList") - public String selectSubsvcList(BOSubsvcOrderVO subsvcOrderVO,ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectSubsvcOrdrList(BOSubsvcOrderVO subsvcOrderVO,ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { subsvcOrderVO.setSopmalCd(authSopmalCd); AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); if("01".equals(user.getSysDvCd())){ @@ -248,4 +248,76 @@ public class SubsvcOrdrController { return "mngr/ordr/subsvc/SubsvcOrdrDlvyListPop"; } + + /** + * 구독서비스 상품변경 조회 폼 + * @param subsvcVO,subsvcOrderVO,model,authSopmalCd + * @return SubsvcOrdrMappedListForm.jsp + */ + @Policy(AuthPolicy.RESTRICTED) + @RequestMapping(value="/selectSubsvcOrdrMappedListForm") + public String selectSubsvcOrdrMappedListForm(BOSubsvcVO subsvcVO, BOSubsvcOrderVO subsvcOrderVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + subsvcVO.setSopmalCd(authSopmalCd); + subsvcOrderVO.setSopmalCd(authSopmalCd); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + subsvcVO.setSopmalCd(user.getSopmalCd()); + subsvcOrderVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + content.put("paramVO", subsvcOrderVO); + + // 조회조건 구독서비스 + List SrchSubsvcList = boSubsvcService.selectBOMngrSrchSubsvcList(subsvcVO); + content.put("srchSubsvcList", SrchSubsvcList); + + model.addAttribute("resultMap", content); + return "mngr/ordr/subsvc/SubsvcOrdrMappedListForm"; + } + + /** + * 구독서비스 상품변경 목록 조회 리스트 + * @param subsvcOrderVO + * @param model + * @return SubsvcOrdrMappedList.jsp + */ + @Policy(AuthPolicy.RESTRICTED) + @RequestMapping(value = "/selectSubsvcOrdrMappedList") + public String selectSubsvcOrdrMappedList(BOSubsvcOrderVO subsvcOrderVO,ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + subsvcOrderVO.setSopmalCd(authSopmalCd); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + subsvcOrderVO.setSopmalCd(user.getSopmalCd()); + } + + // 페이징 객체 생성 & 페이징정보 할당 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(subsvcOrderVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(subsvcOrderVO.getPageUnit()); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + subsvcOrderVO.setPaginationInfo(paginationInfo); + subsvcOrderVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + subsvcOrderVO.setLastIndex(paginationInfo.getLastRecordIndex()); + subsvcOrderVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + if(StringUtils.isEmpty(subsvcOrderVO.getSortDv())){ + //정렬기준 초기값 셋팅 + subsvcOrderVO.setSortDv("subsvcGnrAsc"); + } + + // 목록 조회 + List list = boSubsvcOrdrService.selectBOSubsvcOrderMappedList(subsvcOrderVO); + + Map content = new HashMap<>(); + content.put("paramVO", subsvcOrderVO); + + content.put("list", list); + content.put("paginationInfo", subsvcOrderVO.getPaginationInfo()); + + model.addAttribute("resultMap", content); + + return "mngr/ordr/subsvc/SubsvcOrdrMappedList"; + } + } diff --git a/src/main/resources/mybatis/xml/mapper/gcone/ordr/subsvc/BOSubsvcOrdrMapper.xml b/src/main/resources/mybatis/xml/mapper/gcone/ordr/subsvc/BOSubsvcOrdrMapper.xml index 1c8939e2..e463994a 100644 --- a/src/main/resources/mybatis/xml/mapper/gcone/ordr/subsvc/BOSubsvcOrdrMapper.xml +++ b/src/main/resources/mybatis/xml/mapper/gcone/ordr/subsvc/BOSubsvcOrdrMapper.xml @@ -35,16 +35,16 @@ WHERE GO.USE_AT = 'Y' AND GO.SUBSVC_AT = 'Y' AND GO.SOPMAL_CD = #{sopmalCd} - + AND GS.SUBSVC_NM = #{srchSelSubsvcNm} /*구독서비스 명*/ - + AND GS.SUBSVC_GNR = #{srchSelSubsvcGnr} /*기수*/ - + AND GS.SUBSVC_NM LIKE CONCAT('%',#{srchSubsvcNm},'%') /*구독서비스 명*/ - + AND GS.SUBSVC_GNR_NM LIKE CONCAT('%',#{srchSubsvcGnrNm},'%') /*기수명*/ ) MAIN @@ -57,32 +57,32 @@ ]]> - + ORDER BY SUBSVC_NM ASC, SUBSVC_GNR ASC /*구독서비스명+기수*/ - + ORDER BY SUBSVC_NM DESC, SUBSVC_GNR DESC /*구독서비스명+기수*/ - + ORDER BY MBR_NM ASC, MBR_ID ASC /*주문자순*/ - + ORDER BY MBR_NM DESC, MBR_ID DESC /*주문자순*/ - + ORDER BY ORDR_INNB ASC /*주문번호순*/ - + ORDER BY ORDR_INNB DESC /*주문번호순*/ - + ORDER BY LAST_PRCS_DT ASC /*최종처리일순*/ - + ORDER BY LAST_PRCS_DT ASC /*최종처리일순*/ - ORDER BY GS.SUBSVC_NM ASC, GS.SUBSVC_GNR ASC + ORDER BY SUBSVC_NM ASC, SUBSVC_GNR ASC ) PV @@ -235,6 +235,106 @@ WHERE GS.SOPMAL_CD = MAIN.SOPMAL_CD AND GS.SUBSVC_INNB = MAIN.SUBSVC_INNB + + + + diff --git a/src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrList.jsp b/src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrList.jsp index 2708c983..9511ef3f 100644 --- a/src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrList.jsp +++ b/src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrList.jsp @@ -26,7 +26,7 @@
- @@ -106,7 +106,7 @@
(/) - + 회 회 diff --git a/src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrMappedList.jsp b/src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrMappedList.jsp new file mode 100644 index 00000000..a8784632 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrMappedList.jsp @@ -0,0 +1,140 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %> +<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld" %> + +<%-- + Class Name : SubsvcOrdrMappedList.jsp + Description : 구독서비스 상품변경 목록 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2026-02-09 jazz 최초 생성 +--%> + +
+
+
+
+ 총 건 +
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + class="sendOut-info__reseller"> + + + + + + + + + + + + + + + + + + + + + + +
구독서비스 목록
+ + 구독서비스기수기수명주문자주문번호차수상품처리일
+ + 기
(/)
회<c:out value="${subsvcOrdrMapped.goodsNm}"/> +
+ + + 옵션 : + +
+
+
+
+ +
+ +
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrMappedListForm.jsp b/src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrMappedListForm.jsp new file mode 100644 index 00000000..aa5ecdcf --- /dev/null +++ b/src/main/webapp/WEB-INF/views/mngr/ordr/subsvc/SubsvcOrdrMappedListForm.jsp @@ -0,0 +1,504 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %> +<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld" %> + +<%-- + Class Name : SubsvcOrdrMappedListFrom.jsp + Description : 구독서비스 상품변경 목록 조회 폼 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2026-02-09 jazz 최초 생성 +--%> + + + + + + + 일반 관리자 + <%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%> + + + + +<%@ include file="/WEB-INF/views/comm/mngr/Header.jsp"%> +
+ <%@ include file="/WEB-INF/views/comm/mngr/Left.jsp"%> +
+
+ +
+

구독서비스 상품변경 관리

+
+
+
+
"> + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
구독서비스 +
+
+ +
+
+ +
+
+
구독서비스명 +
+ "> +
+
기수명 +
+ "> +
+
주문자명 +
+ "> +
+
주문자ID +
+ "> +
+
주문번호 +
+ "> +
+
+
+
+
+
+ + +
+
+
+
+
+
+
+ + + + + + + + + +
출고상품* + 검색 + +
+
+
+
+
+
+
+
+
+
+ +
+
+
asfasdfasdaf
+
+ + \ No newline at end of file