fo bo 머지작업(mngr)

This commit is contained in:
jazz
2025-11-17 13:28:23 +09:00
parent 38b9a7e122
commit 16a528351b
31 changed files with 4881 additions and 1271 deletions

View File

@@ -1,15 +1,26 @@
package com.wb.domainserver.domain.mngr.stats.adtrace.controller;
import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo;
import com.wb.domainserver.common.prop.PaginationProperties;
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
import com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO;
import com.wb.domainserver.domain.gcone.stats.adtrace.service.BOAdTraceService;
import com.wb.domainserver.domain.gcone.stats.adtrace.vo.BOAdTraceVO;
import com.wb.domainserver.domain.mngr.stats.adtrace.vo.AdTraceVO;
import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
import com.wb.domainserver.security.authentication.AnonymousUser;
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@@ -17,6 +28,10 @@ import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/mngr/stats/adtrace")
public class AdTraceController {
@@ -28,6 +43,15 @@ public class AdTraceController {
@Autowired
private WnbtWebClientResponseHandler responseHandler;
@Autowired
private BOAdTraceService service;
@Autowired
private PaginationProperties paginationProperties;
@Autowired
private BOMaComncdService bOMaComncdService;
/**
* 광고추적 목록 조회 폼
* @param vo
@@ -36,17 +60,27 @@ public class AdTraceController {
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectAdTraceListForm")
public String selectAdTraceListForm(AdTraceVO vo,
public String selectAdTraceListForm(BOAdTraceVO vo,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd);
//사용자 정보 추출 및 적용
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceListForm", vo),
model,
"resultMap"
);
Map<String, Object> content = new HashMap<>();
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceListForm", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adtrace/AdTraceListRForm";
}
@@ -58,16 +92,47 @@ public class AdTraceController {
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectAdTraceList")
public String selectAdTraceList(AdTraceVO vo,
public String selectAdTraceList(BOAdTraceVO vo,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceList", vo),
model,
"resultMap"
);
//사용자 정보 추출 및 적용
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
Map<String, Object> content = new HashMap<>();
// 페이징 객체 생성 & 페이징정보 할당
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getPageUnit());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
//목록 조회
List<DataMap> list = service.selectBOAdTraceList(vo);
content.put("BOAdTraceVO", vo);
content.put("list", list);
content.put("paginationInfo", vo.getPaginationInfo());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceList", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adtrace/AdTraceListR";
}
@@ -79,16 +144,34 @@ public class AdTraceController {
*/
@RequestMapping("/insertAdTraceForm")
@Policy(AuthPolicy.RESTRICTED)
public String insertAdTraceForm(AdTraceVO vo,
public String insertAdTraceForm(BOAdTraceVO vo,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/insertBOAdTraceForm", vo),
model,
"resultMap"
);
//사용자 정보 추출 및 적용
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
Map<String, Object> content = new HashMap<>();
//광고매체정보 조회
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("AD_MEDIA_DV");
List<?> adMediaDvList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO);
content.put("adMediaDvList", adMediaDvList);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/insertBOAdTraceForm", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adtrace/AdTraceC";
}
@@ -99,15 +182,33 @@ public class AdTraceController {
* @return
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/insertAdTrace", method = RequestMethod.POST)
public ResponseEntity<WnbtResponse> insertAdTrace(AdTraceVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
@RequestMapping(value = "/insertAdTrace", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertAdTrace(BOAdTraceVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/insertBOAdTrace", vo),
ReplyFromResrc::getReply
//사용자 정보 추출 및 적용
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
Map<String, Object> content = new HashMap<>();
content = service.insertBOAdTrace(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/insertBOAdTrace", vo),
// ReplyFromResrc::getReply
// );
}
@@ -119,16 +220,36 @@ public class AdTraceController {
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectAdTraceDtlForm")
public String selectAdTraceDtlForm( AdTraceVO vo,
public String selectAdTraceDtlForm( BOAdTraceVO vo,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceDtlForm", vo),
model,
"resultMap"
);
//사용자 정보 추출 및 적용
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
Map<String, Object> content = new HashMap<>();
//광고매체정보 조회
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("AD_MEDIA_DV");
List<?> adMediaDvList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO);
content.put("adMediaDvList", adMediaDvList);
content = service.selectBOAdTraceDtlForm(vo);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceDtlForm", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adtrace/AdTraceDtlU";
}
@@ -139,15 +260,32 @@ public class AdTraceController {
* @return
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/updateAdTraceDtl", method = RequestMethod.POST)
public ResponseEntity<WnbtResponse> updateAdTraceDtl(AdTraceVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
@RequestMapping(value = "/updateAdTraceDtl", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateAdTraceDtl(BOAdTraceVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/updateBOAdTraceDtl", vo),
ReplyFromResrc::getReply
//사용자 정보 추출 및 적용
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
Map<String, Object> content = new HashMap<>();
content = service.updateBOAdTraceDtl(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/updateBOAdTraceDtl", vo),
// ReplyFromResrc::getReply
// );
}
}

View File

@@ -1,14 +1,26 @@
package com.wb.domainserver.domain.mngr.stats.adtraceAnals.controller;
import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo;
import com.wb.domainserver.common.prop.PaginationProperties;
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
import com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO;
import com.wb.domainserver.domain.gcone.stats.adTraceAnals.service.BOAdTraceAnalsService;
import com.wb.domainserver.domain.gcone.stats.adTraceAnals.vo.BOAdTraceAnalsVO;
import com.wb.domainserver.domain.mngr.stats.adtraceAnals.vo.AdTraceAnalsGoodsVO;
import com.wb.domainserver.domain.mngr.stats.adtraceAnals.vo.AdTraceAnalsVO;
import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.exception.code.ErrorCode;
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
import com.wb.domainserver.security.authentication.AnonymousUser;
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.excel.ExcelDownloadUtil;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@@ -22,6 +34,7 @@ import java.util.*;
@Controller
@RequestMapping(value = "/mngr/stats/adTraceAnals")
@Slf4j
public class AdTraceAnalsController {
/** WebClient 호출을 위한 wrapper */
@@ -31,6 +44,14 @@ public class AdTraceAnalsController {
@Autowired
private SendToResrc sendToResrc;
@Autowired
private BOAdTraceAnalsService service;
@Autowired
private PaginationProperties paginationProperties;
@Autowired
private BOMaComncdService bOMaComncdService;
/**
* 관리자 추적코드 통계 화면
* @return
@@ -38,14 +59,28 @@ public class AdTraceAnalsController {
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrAdTraceStats")
public String selectBOMngrAdTraceStats(@CookieValue(value = "authSopmalCd") String authSopmalCd,ModelMap model) {
AdTraceAnalsVO vo = new AdTraceAnalsVO();
BOAdTraceAnalsVO vo = new BOAdTraceAnalsVO();
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceStats", vo),
model,
"cond"
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
// 공통코드 호출
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
List<String> adTraceCdList = service.selectBOMngrAdTraceCdList(vo);
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
content.put("adTraceCdList",adTraceCdList);
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo);
return "mngr/stats/adTraceAnals/adTraceStats";
@@ -58,14 +93,28 @@ public class AdTraceAnalsController {
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrAdTraceGoodsStats")
public String selectBOMngrAdTraceGoodsStats(@CookieValue(value = "authSopmalCd") String authSopmalCd,ModelMap model) {
AdTraceAnalsGoodsVO vo = new AdTraceAnalsGoodsVO();
BOAdTraceAnalsVO vo = new BOAdTraceAnalsVO();
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceGoodsStats", vo),
model,
"cond"
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
// 공통코드 호출
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
List<String> adTraceCdList = service.selectBOMngrAdTraceCdList(vo);
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
content.put("adTraceCdList",adTraceCdList);
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceGoodsStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo);
return "mngr/stats/adTraceAnals/adTraceGoodsStats";
@@ -77,14 +126,43 @@ public class AdTraceAnalsController {
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrAdTraceStatsTableInqire")
public String selectMngrAdTraceStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, AdTraceAnalsVO vo, ModelMap model) {
public String selectMngrAdTraceStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOAdTraceAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectMngrAdTraceStatsTableInqire", vo),
model,
"resultMap"
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
List<DataMap> resultList = new ArrayList<>();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
resultList = service.selectTableDateOrWeekend(vo);
content.put("resultList", resultList);
log.debug("@@@@resultList " + resultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectMngrAdTraceStatsTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adTraceAnals/adTraceStatsTable";
}
@@ -95,14 +173,42 @@ public class AdTraceAnalsController {
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrAdTraceStatsGoodsTableInqire")
public String selectMngrAdTraceStatsGoodsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, AdTraceAnalsVO vo, ModelMap model) {
public String selectMngrAdTraceStatsGoodsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOAdTraceAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectMngrAdTraceStatsGoodsTableInqire", vo),
model,
"resultMap"
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
List<DataMap> goodsResultList = new ArrayList<>();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
goodsResultList = service.selectTableGoodsDateOrWeekend(vo);
log.debug("@@@@goodsResultList " + goodsResultList);
content.put("goodsResultList", goodsResultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectMngrAdTraceStatsGoodsTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adTraceAnals/adTraceStatsGoodsTable";
}
@@ -115,11 +221,23 @@ public class AdTraceAnalsController {
@SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrAdTraceStatsExcelFileDownload", method = RequestMethod.POST)
public void selectMngrAdTraceStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, AdTraceAnalsVO vo){
public void selectMngrAdTraceStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOAdTraceAnalsVO vo){
vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceStatsExcelFileDownload",vo)
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String,Object> resultMap = new HashMap<>();
List<DataMap> resultList = service.selectBOMngrAdTraceStatsExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceStatsExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) {
@@ -213,7 +331,8 @@ public class AdTraceAnalsController {
ExcelDownloadUtil.createExcel(encodedFileName, headerMap, dataList, response, true);
} catch(Exception e) {
log.error("엑셀다운로드 중 오류가 발생하였습니다."+e.getMessage());
throw new WnbtRestException("엑셀다운로드 중 오류가 발생하였습니다.");
}
}

View File

@@ -1,18 +1,29 @@
package com.wb.domainserver.domain.mngr.stats.marktAnals.controller;
import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo;
import com.wb.domainserver.common.prop.PaginationProperties;
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
import com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO;
import com.wb.domainserver.domain.gcone.stats.marktAnals.service.BOMarktAnalsService;
import com.wb.domainserver.domain.gcone.stats.marktAnals.vo.BOMarktAnalsVO;
import com.wb.domainserver.domain.mngr.stats.marktAnals.vo.MarktAnalsVO;
import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
import com.wb.domainserver.security.authentication.AnonymousUser;
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.excel.ExcelDownloadUtil;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@@ -37,8 +48,13 @@ public class MarktAnalsController {
@Autowired
private SendToResrc sendToResrc;
@Autowired
private BOMarktAnalsService service;
@Autowired
private PaginationProperties paginationProperties;
@Autowired
private BOMaComncdService bOMaComncdService;
/**************************************************************************
* 유입통계
@@ -53,11 +69,22 @@ public class MarktAnalsController {
public String selectMngrInflowStats(ModelMap model) {
MarktAnalsVO vo = new MarktAnalsVO();
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStats", vo),
model,
"cond"
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
// 공통코드 호출
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo);
return "mngr/stats/marktAnals/inflowStats";
@@ -69,14 +96,27 @@ public class MarktAnalsController {
* @return
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrInflowStatsChart1Inqire")
public ResponseEntity<WnbtResponse> selectMngrInflowStatsChart1Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo) {
vo.setSopmalCd(authSopmalCd);
@RequestMapping(value="/selectMngrInflowStatsChart1Inqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrInflowStatsChart1Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.put("sopmalCd",authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsChart1Inqire", vo),
ReplyFromResrc::getReply
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.put("sopmalCd", user.getSopmalCd());
}
// 응답 메세지 객체
List<DataMap> content = service.selectBOMngrInflowStatsChart1Inqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsChart1Inqire", vo),
// ReplyFromResrc::getReply
// );
}
/**
@@ -84,14 +124,27 @@ public class MarktAnalsController {
* @return
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrInflowStatsChart2Inqire")
public ResponseEntity<WnbtResponse> selectMngrInflowStatsChart2Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo) {
vo.setSopmalCd(authSopmalCd);
@RequestMapping(value="/selectMngrInflowStatsChart2Inqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrInflowStatsChart2Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.put("sopmalCd", authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsChart2Inqire", vo),
ReplyFromResrc::getReply
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.put("sopmalCd", user.getSopmalCd());
}
// 응답 메세지 객체
List<DataMap> content = service.selectBOMngrInflowStatsChart2Inqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsChart2Inqire", vo),
// ReplyFromResrc::getReply
// );
}
@@ -101,14 +154,39 @@ public class MarktAnalsController {
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrInflowStatsTableInqire")
public String selectMngrInflowStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo, ModelMap model) {
public String selectMngrInflowStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOMarktAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsTableInqire", vo),
model,
"resultMap"
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<DataMap> resultList = service.selectBOMngrInflowStatsTableInqire(vo);
content.put("resultList", resultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/marktAnals/inflowStatsTable";
}
@@ -122,11 +200,23 @@ public class MarktAnalsController {
@SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrInflowStatsExcelFileDownload", method = RequestMethod.POST)
public void selectMngrInflowStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo){
public void selectMngrInflowStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOMarktAnalsVO vo){
vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsExcelFileDownload",vo)
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
DataMap resultMap = new DataMap();
List<DataMap> resultList = service.selectBOMngrInflowStatsExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) {
@@ -217,11 +307,23 @@ public class MarktAnalsController {
@RequestMapping(value="/selectMngrCouponStats")
public String selectMngrCouponStats(ModelMap model) {
MarktAnalsVO vo = new MarktAnalsVO();
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStats", vo),
model,
"cond"
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
// 공통코드 호출
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo);
return "mngr/stats/marktAnals/couponStats";
@@ -234,14 +336,39 @@ public class MarktAnalsController {
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrCouponStatsTableInqire")
public String selectMngrCouponStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo, ModelMap model) {
public String selectMngrCouponStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOMarktAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStatsTableInqire", vo),
model,
"resultMap"
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<DataMap> resultList = service.selectBOMngrCouponStatsTableInqire(vo);
content.put("resultList", resultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStatsTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/marktAnals/couponStatsTable";
}
@@ -255,11 +382,24 @@ public class MarktAnalsController {
@SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrCouponStatsExcelFileDownload", method = RequestMethod.POST)
public void selectMngrCouponStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo){
public void selectMngrCouponStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOMarktAnalsVO vo){
vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStatsExcelFileDownload",vo)
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
DataMap resultMap = new DataMap();
List<DataMap> resultList = service.selectBOMngrCouponStatsExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStatsExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) {
@@ -345,11 +485,23 @@ public class MarktAnalsController {
@RequestMapping(value="/selectMngrMbrNdMlgStats")
public String selectMngrMbrNdMlgStats(ModelMap model) {
MarktAnalsVO vo = new MarktAnalsVO();
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrMbrNdMlgStats", vo),
model,
"cond"
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
// 공통코드 호출
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrMbrNdMlgStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo);
return "mngr/stats/marktAnals/mbrNdMlgStats";
@@ -365,6 +517,7 @@ public class MarktAnalsController {
public String selectMngrMbrNdMlgTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrMbrNdMlgTableInqire", vo),
model,

View File

@@ -1,17 +1,26 @@
package com.wb.domainserver.domain.mngr.stats.member.controller;
import com.wb.domainserver.domain.gcone.stats.memberStat.service.BOMemberStatService;
import com.wb.domainserver.domain.gcone.stats.memberStat.vo.BOMemberStatVO;
import com.wb.domainserver.domain.mngr.stats.member.vo.MemberStatVO;
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
import com.wb.domainserver.security.authentication.AnonymousUser;
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/mngr/stats/memberStat")
public class MemberStatController {
@@ -24,6 +33,9 @@ public class MemberStatController {
@Autowired
private SendToResrc sendToResrc;
@Autowired
private BOMemberStatService service;
@Policy(AuthPolicy.PUBLIC)
@RequestMapping("/selectMemberStat")
public String selectMngrMemberStat (@CookieValue(value = "authSopmalCd") String authSopmalCd, ModelMap model) {
@@ -31,10 +43,14 @@ public class MemberStatController {
MemberStatVO vo = new MemberStatVO();
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/stats/memberStat/selectBOMemberStat", vo),
model,
"cond"
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
model.addAttribute("cond", content);
// responseHandler.handleResponse(sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/stats/memberStat/selectBOMemberStat", vo),
// model,
// "cond"
// );
model.put("resultMap", vo);
return "mngr/stats/memberStat/memberStat";
@@ -42,14 +58,24 @@ public class MemberStatController {
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrMemberStatTableInqire")
public String selectMngrMemberStatTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MemberStatVO vo, ModelMap model) {
public String selectMngrMemberStatTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOMemberStatVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/memberStat/selectBOMngrMemberStatTableInqire", vo),
model,
"resultMap"
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
List<DataMap> resultList = service.selectBOMngrMemberStatTableInqire(vo);
content.put("resultList", resultList);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/memberStat/selectBOMngrMemberStatTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/memberStat/memberStatsTable";
}

View File

@@ -1,18 +1,29 @@
package com.wb.domainserver.domain.mngr.stats.sleAnals.controller;
import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo;
import com.wb.domainserver.common.prop.PaginationProperties;
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
import com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO;
import com.wb.domainserver.domain.gcone.stats.sleAnals.service.BOSleAnalsService;
import com.wb.domainserver.domain.gcone.stats.sleAnals.vo.BOSleAnalsVO;
import com.wb.domainserver.domain.mngr.stats.sleAnals.vo.SleAnalsVO;
import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
import com.wb.domainserver.security.authentication.AnonymousUser;
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.excel.ExcelDownloadUtil;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@@ -37,8 +48,13 @@ public class SleAnalsController {
@Autowired
private SendToResrc sendToResrc;
@Autowired
private BOSleAnalsService service;
@Autowired
private PaginationProperties paginationProperties;
@Autowired
private BOMaComncdService bOMaComncdService;
/**************************************************************************
* 판매성과
@@ -52,11 +68,22 @@ public class SleAnalsController {
@RequestMapping(value="/selectMngrSleRslt")
public String selectMngrSleRslt(ModelMap model, SleAnalsVO vo) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRslt", vo),
model,
"cond"
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
// 공통코드 호출
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRslt", vo),
// model,
// "cond"
// );
model.put("resultMap", vo);
return "mngr/stats/sleAnals/sleRslt";
@@ -68,14 +95,27 @@ public class SleAnalsController {
* @return
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrSleRsltChart1Inqire")
public ResponseEntity<WnbtResponse> selectMngrSleRsltChart1Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo) {
vo.setSopmalCd(authSopmalCd);
@RequestMapping(value="/selectMngrSleRsltChart1Inqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrSleRsltChart1Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.put("sopmalCd", authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltChart1Inqire", vo),
ReplyFromResrc::getReply
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.put("sopmalCd", user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = service.selectBOMngrSleRsltChart1Inqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltChart1Inqire", vo),
// ReplyFromResrc::getReply
// );
}
/**
@@ -83,14 +123,26 @@ public class SleAnalsController {
* @return
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrSleRsltChart2Inqire")
public ResponseEntity<WnbtResponse> selectMngrSleRsltChart2Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo) {
vo.setSopmalCd(authSopmalCd);
@RequestMapping(value="/selectMngrSleRsltChart2Inqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrSleRsltChart2Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.put("sopmalCd", authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltChart2Inqire", vo),
ReplyFromResrc::getReply
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.put("sopmalCd", user.getSopmalCd());
}
// 응답 메세지 객체
List<DataMap> content = service.selectBOMngrSleRsltChart2Inqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltChart2Inqire", vo),
// ReplyFromResrc::getReply
// );
}
@@ -100,14 +152,38 @@ public class SleAnalsController {
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrSleRsltTableInqire")
public String selectMngrSleRsltTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo, ModelMap model) {
public String selectMngrSleRsltTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltTableInqire", vo),
model,
"resultMap"
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<DataMap> resultList = service.selectBOMngrSleRsltTableInqire(vo);
content.put("resultList", resultList);
content.put("paginationInfo", paginationInfo);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/sleAnals/sleRsltTable";
}
@@ -115,17 +191,29 @@ public class SleAnalsController {
/**
* 관리자 판매성과 엑셀 다운로드
* @param SelngPrufVO
* @param vo
* @return
*/
@SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrSleRsltExcelFileDownload", method = RequestMethod.POST)
public void selectMngrSleRsltExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo){
public void selectMngrSleRsltExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo){
vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltExcelFileDownload",vo)
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
DataMap resultMap = new DataMap();
List<DataMap> resultList = service.selectBOMngrSleRsltExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) {
@@ -243,11 +331,22 @@ public class SleAnalsController {
public String selectMngrGoodsRslt(ModelMap model) {
SleAnalsVO vo = new SleAnalsVO();
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRslt", vo),
model,
"cond"
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
// 공통코드 호출
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRslt", vo),
// model,
// "cond"
// );
model.put("resultMap", vo);
return "mngr/stats/sleAnals/goodsRslt";
@@ -258,14 +357,27 @@ public class SleAnalsController {
* @return
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrGoodsRsltChartInqire")
public ResponseEntity<WnbtResponse> selectMngrGoodsRsltChartInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo) {
vo.setSopmalCd(authSopmalCd);
@RequestMapping(value="/selectMngrGoodsRsltChartInqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrGoodsRsltChartInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.put("sopmalCd", authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltChartInqire", vo),
ReplyFromResrc::getReply
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.put("sopmalCd", user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = service.selectBOMngrGoodsRsltChartInqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltChartInqire", vo),
// ReplyFromResrc::getReply
// );
}
/**
@@ -274,31 +386,67 @@ public class SleAnalsController {
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrGoodsRsltTableInqire")
public String selectMngrGoodsRsltTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo, ModelMap model) {
public String selectMngrGoodsRsltTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltTableInqire", vo),
model,
"resultMap"
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<DataMap> resultList = service.selectBOMngrGoodsRsltTableInqire(vo);
content.put("resultList", resultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/sleAnals/goodsRsltTable";
}
/**
* 관리자 상품성과 엑셀 다운로드
* @param SelngPrufVO
* @param vo
* @return
*/
@SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrGoodsRsltExcelFileDownload", method = RequestMethod.POST)
public void selectMngrGoodsRsltExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo){
public void selectMngrGoodsRsltExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo){
vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltExcelFileDownload",vo)
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
DataMap resultMap = new DataMap();
List<DataMap> resultList = service.selectBOMngrGoodsRsltExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) {
@@ -597,11 +745,22 @@ public class SleAnalsController {
public String selectMngrGoodsPopulationStats(ModelMap model) {
SleAnalsVO vo = new SleAnalsVO();
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStats", vo),
model,
"cond"
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
// 공통코드 호출
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo);
return "mngr/stats/sleAnals/goodsPopulationStats";
@@ -612,14 +771,27 @@ public class SleAnalsController {
* @return
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrGoodsPopulationStatsChartInqire")
public ResponseEntity<WnbtResponse> selectMngrGoodsPopulationStatsChartInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo) {
vo.setSopmalCd(authSopmalCd);
@RequestMapping(value="/selectMngrGoodsPopulationStatsChartInqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrGoodsPopulationStatsChartInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.put("sopmalCd", authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsChartInqire", vo),
ReplyFromResrc::getReply
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.put("sopmalCd", user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = service.selectBOMngrGoodsPopulationStatsChartInqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsChartInqire", vo),
// ReplyFromResrc::getReply
// );
}
/**
@@ -628,32 +800,66 @@ public class SleAnalsController {
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrGoodsPopulationStatsTableInqire")
public String selectMngrGoodsPopulationStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo, ModelMap model) {
public String selectMngrGoodsPopulationStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsTableInqire", vo),
model,
"resultMap"
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<DataMap> resultList = service.selectBOMngrGoodsPopulationStatsTableInqire(vo);
content.put("resultList", resultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/sleAnals/goodsPopulationStatsTable";
}
/**
* 관리자 상품/인구통계 엑셀 다운로드
* @param SelngPrufVO
* @param vo
* @return
*/
@SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrGoodsPopulationStatsExcelFileDownload", method = RequestMethod.POST)
public void selectMngrGoodsPopulationStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo){
public void selectMngrGoodsPopulationStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo){
vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsExcelFileDownload",vo)
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
DataMap resultMap = new DataMap();
List<DataMap> resultList = service.selectBOMngrGoodsPopulationStatsExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) {