고객 등급 초기화 기능 추가
@98e71f0aff3ef6f1724617751d7274d662e58c31
--- src/main/java/itn/let/sym/grd/service/MberGrdService.java
+++ src/main/java/itn/let/sym/grd/service/MberGrdService.java
... | ... | @@ -29,6 +29,9 @@ |
| 29 | 29 |
// 회원별 등급 일괄변경 |
| 30 | 30 |
public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception; |
| 31 | 31 |
|
| 32 |
+ // 회원별 등급 초기화 |
|
| 33 |
+ public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception; |
|
| 34 |
+ |
|
| 32 | 35 |
// 회원별 등급 진행여부 |
| 33 | 36 |
int selectMberGrdPrgCnt(String userId) throws Exception; |
| 34 | 37 |
|
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
... | ... | @@ -51,6 +51,11 @@ |
| 51 | 51 |
return update("mberGrdDAO.updateMberGrdAll", mberGrdVO);
|
| 52 | 52 |
} |
| 53 | 53 |
|
| 54 |
+ // 회원별 등급 초기화 |
|
| 55 |
+ public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception {
|
|
| 56 |
+ return update("mberGrdDAO.updateMberGrdEndAll", mberGrdVO);
|
|
| 57 |
+ } |
|
| 58 |
+ |
|
| 54 | 59 |
// 회원별 등급 진행여부 |
| 55 | 60 |
public int selectMberGrdPrgCnt(String userId) throws Exception{
|
| 56 | 61 |
return (int) select("mberGrdDAO.selectMberGrdPrgCnt", userId);
|
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
... | ... | @@ -75,12 +75,18 @@ |
| 75 | 75 |
mberGrdDAO.updateMberGrd(mberGrdVO); |
| 76 | 76 |
} |
| 77 | 77 |
|
| 78 |
- // 회원별 등급 일괄변경 |
|
| 78 |
+ // 회원별 등급 초기화 |
|
| 79 | 79 |
@Override |
| 80 | 80 |
public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception {
|
| 81 | 81 |
return mberGrdDAO.updateMberGrdAll(mberGrdVO); |
| 82 | 82 |
} |
| 83 | 83 |
|
| 84 |
+ // 회원별 등급 일괄변경 |
|
| 85 |
+ @Override |
|
| 86 |
+ public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception {
|
|
| 87 |
+ return mberGrdDAO.updateMberGrdEndAll(mberGrdVO); |
|
| 88 |
+ } |
|
| 89 |
+ |
|
| 84 | 90 |
// 회원별 등급 진행여부 |
| 85 | 91 |
@Override |
| 86 | 92 |
public int selectMberGrdPrgCnt(String userId) throws Exception{
|
--- src/main/java/itn/let/sym/grd/web/MberGrdController.java
+++ src/main/java/itn/let/sym/grd/web/MberGrdController.java
... | ... | @@ -90,6 +90,41 @@ |
| 90 | 90 |
modelAndView.addObject("updateMberCnt", updateMberCnt);
|
| 91 | 91 |
|
| 92 | 92 |
return modelAndView; |
| 93 |
- } |
|
| 93 |
+ } |
|
| 94 |
+ |
|
| 95 |
+ // 회원별 등급 초기화 |
|
| 96 |
+ @RequestMapping(value = "/sym/grd/mberGrdEndMassUpdateAjax.do") |
|
| 97 |
+ public ModelAndView mberGrdEndMassUpdateAjax( |
|
| 98 |
+ @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
|
|
| 99 |
+ |
|
| 100 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 101 |
+ modelAndView.setViewName("jsonView");
|
|
| 102 |
+ |
|
| 103 |
+ boolean isSuccess = true; |
|
| 104 |
+ String msg = ""; |
|
| 105 |
+ int updateMberCnt = 0; |
|
| 106 |
+ |
|
| 107 |
+ // 로그인VO에서 사용자 정보 가져오기 |
|
| 108 |
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
|
| 109 |
+ String frstRegisterId = loginVO == null ? "" : loginVO.getId(); |
|
| 110 |
+ mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID |
|
| 111 |
+ |
|
| 112 |
+ try{
|
|
| 113 |
+ |
|
| 114 |
+ // 회원별 등급 초기화 |
|
| 115 |
+ updateMberCnt = mberGrdService.updateMberGrdEndAll(mberGrdVO); |
|
| 116 |
+ |
|
| 117 |
+ } |
|
| 118 |
+ catch(Exception e) {
|
|
| 119 |
+ isSuccess = false; |
|
| 120 |
+ msg = e.getMessage(); |
|
| 121 |
+ } |
|
| 122 |
+ |
|
| 123 |
+ modelAndView.addObject("isSuccess", isSuccess);
|
|
| 124 |
+ modelAndView.addObject("msg", msg);
|
|
| 125 |
+ modelAndView.addObject("updateMberCnt", updateMberCnt);
|
|
| 126 |
+ |
|
| 127 |
+ return modelAndView; |
|
| 128 |
+ } |
|
| 94 | 129 |
|
| 95 | 130 |
} |
--- src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
... | ... | @@ -194,6 +194,17 @@ |
| 194 | 194 |
AND NOW() BETWEEN GRD_START_DATE AND GRD_END_DATE |
| 195 | 195 |
]]> |
| 196 | 196 |
</update> |
| 197 |
+ |
|
| 198 |
+ <!-- 회원별 등급 초기화 --> |
|
| 199 |
+ <update id="mberGrdDAO.updateMberGrdEndAll" parameterClass="mberGrdVO"> |
|
| 200 |
+ UPDATE mj_mber_grd_info SET |
|
| 201 |
+ GRD_END_DATE = NOW() |
|
| 202 |
+ , GRD_STATUS = 'E' |
|
| 203 |
+ , EDIT_ID = #editId# |
|
| 204 |
+ , EDIT_DATE = NOW() |
|
| 205 |
+ WHERE |
|
| 206 |
+ GRD_STATUS != 'E' |
|
| 207 |
+ </update> |
|
| 197 | 208 |
|
| 198 | 209 |
<!-- 회원별 등급 진행여부 --> |
| 199 | 210 |
<select id="mberGrdDAO.selectMberGrdPrgCnt" parameterClass="String" resultClass="Integer"> |
--- src/main/webapp/WEB-INF/jsp/sym/grd/mberGrdSetting.jsp
+++ src/main/webapp/WEB-INF/jsp/sym/grd/mberGrdSetting.jsp
... | ... | @@ -5,13 +5,18 @@ |
| 5 | 5 |
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> |
| 6 | 6 |
<!DOCTYPE html> |
| 7 | 7 |
<html lang="ko"> |
| 8 |
+ |
|
| 8 | 9 |
<head> |
| 9 | 10 |
<meta charset="UTF-8"> |
| 10 | 11 |
<title>등급제 관리</title> |
| 11 | 12 |
<script type="text/javascript"> |
| 13 |
+ //숫자 천단위 콤마 찍어주기 |
|
| 14 |
+ function numberWithCommas(x) {
|
|
| 15 |
+ return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
| 16 |
+ } |
|
| 12 | 17 |
|
| 13 | 18 |
// 등급제 일괄변경 |
| 14 |
- function setMassEdit() {
|
|
| 19 |
+ function setMberGrdSettingMassEdit() {
|
|
| 15 | 20 |
|
| 16 | 21 |
if ($("input[name='grdNoti']:checked").val() == "") {
|
| 17 | 22 |
alert("등급제 적용 온/오프를 선택해주세요.");
|
... | ... | @@ -39,9 +44,8 @@ |
| 39 | 44 |
dataType:'json', |
| 40 | 45 |
async: false, |
| 41 | 46 |
success: function (data) {
|
| 42 |
- console.log(data); |
|
| 43 | 47 |
if (data.isSuccess) {
|
| 44 |
- alert(data.updateMberCnt + "명 저장 완료했습니다."); |
|
| 48 |
+ alert(numberWithCommas(data.updateMberCnt) + "명 저장 완료했습니다."); |
|
| 45 | 49 |
location.reload(); |
| 46 | 50 |
} |
| 47 | 51 |
else {
|
... | ... | @@ -54,6 +58,31 @@ |
| 54 | 58 |
}); |
| 55 | 59 |
} |
| 56 | 60 |
} |
| 61 |
+ |
|
| 62 |
+ // 회원별 등급 초기화 |
|
| 63 |
+ function setMberGrdEndMassEdit() {
|
|
| 64 |
+ if(confirm("모든 고객 등급을 초기화하시겠습니까?")) {
|
|
| 65 |
+ $.ajax({
|
|
| 66 |
+ type: "POST", |
|
| 67 |
+ url: "/sym/grd/mberGrdEndMassUpdateAjax.do", |
|
| 68 |
+ data: {},
|
|
| 69 |
+ dataType:'json', |
|
| 70 |
+ async: false, |
|
| 71 |
+ success: function (data) {
|
|
| 72 |
+ if (data.isSuccess) {
|
|
| 73 |
+ alert(numberWithCommas(data.updateMberCnt) + "명 저장 완료했습니다."); |
|
| 74 |
+ location.reload(); |
|
| 75 |
+ } |
|
| 76 |
+ else {
|
|
| 77 |
+ alert("Msg : " + data.msg);
|
|
| 78 |
+ } |
|
| 79 |
+ }, |
|
| 80 |
+ error: function (e) {
|
|
| 81 |
+ alert("ERROR : " + JSON.stringify(e));
|
|
| 82 |
+ } |
|
| 83 |
+ }); |
|
| 84 |
+ } |
|
| 85 |
+ } |
|
| 57 | 86 |
|
| 58 | 87 |
</script> |
| 59 | 88 |
</head> |
... | ... | @@ -139,8 +168,12 @@ |
| 139 | 168 |
</table> |
| 140 | 169 |
</div> |
| 141 | 170 |
</form> |
| 171 |
+ |
|
| 172 |
+ <br /> |
|
| 142 | 173 |
<div class="btnWrap"> |
| 143 |
- <input type="button" class="btnType1" value="수정" onclick="javascript:setMassEdit(); return false;"> |
|
| 174 |
+ <input type="button" class="btnType2" value="모든 고객 등급 초기화" onclick="javascript:setMberGrdEndMassEdit(); return false;"> |
|
| 175 |
+ <input type="button" class="btnType1" value="취소" onclick="javascript:location.reload(); return false;"> |
|
| 176 |
+ <input type="button" class="btnType1" value="수정" onclick="javascript:setMberGrdSettingMassEdit(); return false;"> |
|
| 144 | 177 |
</div> |
| 145 | 178 |
</div> |
| 146 | 179 |
</div> |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?