등급제관리 등록화면 시행여부 추가
@c9ba6517b817c1367737ef9302daa1cd57753d73
--- src/main/java/itn/let/sym/grd/service/MberGrdService.java
+++ src/main/java/itn/let/sym/grd/service/MberGrdService.java
... | ... | @@ -26,6 +26,9 @@ |
| 26 | 26 |
// 회원별 등급 수정 |
| 27 | 27 |
public void updateMberGrd(MberGrdVO mberGrdVO) throws Exception; |
| 28 | 28 |
|
| 29 |
+ // 회원별 등급 일괄변경 |
|
| 30 |
+ public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception; |
|
| 31 |
+ |
|
| 29 | 32 |
// 회원별 등급 진행여부 |
| 30 | 33 |
int selectMberGrdPrgCnt(String userId) throws Exception; |
| 31 | 34 |
|
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
... | ... | @@ -44,6 +44,11 @@ |
| 44 | 44 |
// 회원별 등급 수정 |
| 45 | 45 |
public void updateMberGrd(MberGrdVO mberGrdVO) throws Exception{
|
| 46 | 46 |
update("mberGrdDAO.updateMberGrd", mberGrdVO);
|
| 47 |
+ } |
|
| 48 |
+ |
|
| 49 |
+ // 회원별 등급 일괄변경 |
|
| 50 |
+ public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception {
|
|
| 51 |
+ return update("mberGrdDAO.updateMberGrdAll", mberGrdVO);
|
|
| 47 | 52 |
} |
| 48 | 53 |
|
| 49 | 54 |
// 회원별 등급 진행여부 |
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
... | ... | @@ -75,6 +75,12 @@ |
| 75 | 75 |
mberGrdDAO.updateMberGrd(mberGrdVO); |
| 76 | 76 |
} |
| 77 | 77 |
|
| 78 |
+ // 회원별 등급 일괄변경 |
|
| 79 |
+ @Override |
|
| 80 |
+ public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception {
|
|
| 81 |
+ return mberGrdDAO.updateMberGrdAll(mberGrdVO); |
|
| 82 |
+ } |
|
| 83 |
+ |
|
| 78 | 84 |
// 회원별 등급 진행여부 |
| 79 | 85 |
@Override |
| 80 | 86 |
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
... | ... | @@ -53,6 +53,7 @@ |
| 53 | 53 |
|
| 54 | 54 |
boolean isSuccess = true; |
| 55 | 55 |
String msg = ""; |
| 56 |
+ int updateMberCnt = 0; |
|
| 56 | 57 |
|
| 57 | 58 |
// 로그인VO에서 사용자 정보 가져오기 |
| 58 | 59 |
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
... | ... | @@ -60,15 +61,23 @@ |
| 60 | 61 |
mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID |
| 61 | 62 |
|
| 62 | 63 |
try{
|
| 63 |
- // 등급제 시행여부 변경 |
|
| 64 |
- int updateCnt = mberGrdService.updateMberSetting(mberGrdVO); |
|
| 65 |
- if (updateCnt == 0) {
|
|
| 64 |
+ // Step1. 등급제 시행여부 변경 |
|
| 65 |
+ int updateCnt1 = mberGrdService.updateMberSetting(mberGrdVO); |
|
| 66 |
+ if (updateCnt1 == 0) {
|
|
| 66 | 67 |
isSuccess = false; |
| 67 | 68 |
msg = "등급제 시행여부 변경에 실패했습니다."; |
| 68 | 69 |
} |
| 69 | 70 |
else {
|
| 70 |
- // 등급제 업데이트 |
|
| 71 |
- mberGrdService.updateGrdSettingList(mberGrdVO); |
|
| 71 |
+ // Step2. 등급제 단가 업데이트 |
|
| 72 |
+ int updateCnt2 = mberGrdService.updateGrdSettingList(mberGrdVO); |
|
| 73 |
+ if (updateCnt2 == 0) {
|
|
| 74 |
+ isSuccess = false; |
|
| 75 |
+ msg = "등급제 단가 변경에 실패했습니다."; |
|
| 76 |
+ } |
|
| 77 |
+ else {
|
|
| 78 |
+ // Step3. 회원 등급 일괄변경 |
|
| 79 |
+ updateMberCnt = mberGrdService.updateMberGrdAll(mberGrdVO); |
|
| 80 |
+ } |
|
| 72 | 81 |
} |
| 73 | 82 |
} |
| 74 | 83 |
catch(Exception e) {
|
... | ... | @@ -78,6 +87,7 @@ |
| 78 | 87 |
|
| 79 | 88 |
modelAndView.addObject("isSuccess", isSuccess);
|
| 80 | 89 |
modelAndView.addObject("msg", msg);
|
| 90 |
+ modelAndView.addObject("updateMberCnt", updateMberCnt);
|
|
| 81 | 91 |
|
| 82 | 92 |
return modelAndView; |
| 83 | 93 |
} |
--- src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
... | ... | @@ -147,6 +147,54 @@ |
| 147 | 147 |
MBER_ID = #mberId# |
| 148 | 148 |
</update> |
| 149 | 149 |
|
| 150 |
+ <!-- 회원별 등급 일괄변경 --> |
|
| 151 |
+ <update id="mberGrdDAO.updateMberGrdAll" parameterClass="mberGrdVO"> |
|
| 152 |
+ <![CDATA[ |
|
| 153 |
+ UPDATE MJ_MBER_GRD_INFO A |
|
| 154 |
+ INNER JOIN ( |
|
| 155 |
+ SELECT |
|
| 156 |
+ M.USER_ID |
|
| 157 |
+ , M.AMT_SUM_ORIGIN |
|
| 158 |
+ , M.AMT_SUM |
|
| 159 |
+ , M.GRD_SET_NO |
|
| 160 |
+ FROM ( |
|
| 161 |
+ SELECT |
|
| 162 |
+ S.USER_ID |
|
| 163 |
+ , SUM(S.AMT) AS AMT_SUM_ORIGIN |
|
| 164 |
+ , (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM |
|
| 165 |
+ , ( |
|
| 166 |
+ SELECT MIN(GRD_SET_NO) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) |
|
| 167 |
+ ) GRD_SET_NO |
|
| 168 |
+ FROM MJ_PG S |
|
| 169 |
+ LEFT OUTER JOIN MJ_EVENT_MBER_INFO SS |
|
| 170 |
+ ON S.USER_ID = SS.MBER_ID |
|
| 171 |
+ AND SS.EVENT_START_DATE >= CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00') |
|
| 172 |
+ WHERE S.PG_STATUS = '1' |
|
| 173 |
+ AND S.REG_DATE >= CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00') |
|
| 174 |
+ GROUP BY S.USER_ID |
|
| 175 |
+ ) M |
|
| 176 |
+ WHERE M.GRD_SET_NO IS NOT NULL |
|
| 177 |
+ ) B |
|
| 178 |
+ ON A.MBER_ID = B.USER_ID |
|
| 179 |
+ INNER JOIN MJ_MBER_GRD_SETTING C |
|
| 180 |
+ ON C.GRD_SET_NO = B.GRD_SET_NO |
|
| 181 |
+ SET |
|
| 182 |
+ A.GRD_SET_NO = C.GRD_SET_NO |
|
| 183 |
+ , A.SHORT_PRICE = C.SHORT_PRICE |
|
| 184 |
+ , A.LONG_PRICE = C.LONG_PRICE |
|
| 185 |
+ , A.PICTURE_PRICE = C.PICTURE_PRICE |
|
| 186 |
+ , A.PICTURE2_PRICE = C.PICTURE2_PRICE |
|
| 187 |
+ , A.PICTURE3_PRICE = C.PICTURE3_PRICE |
|
| 188 |
+ , A.TOT_AMT = B.AMT_SUM |
|
| 189 |
+ , A.GRD_START_DATE = CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00') |
|
| 190 |
+ , A.EDIT_DATE = NOW() |
|
| 191 |
+ WHERE B.GRD_SET_NO IS NOT NULL |
|
| 192 |
+ AND A.GRD_SET_NO >= B.GRD_SET_NO |
|
| 193 |
+ AND GRD_STATUS NOT IN ('N', 'E')
|
|
| 194 |
+ AND NOW() BETWEEN GRD_START_DATE AND GRD_END_DATE |
|
| 195 |
+ ]]> |
|
| 196 |
+ </update> |
|
| 197 |
+ |
|
| 150 | 198 |
<!-- 회원별 등급 진행여부 --> |
| 151 | 199 |
<select id="mberGrdDAO.selectMberGrdPrgCnt" parameterClass="String" resultClass="Integer"> |
| 152 | 200 |
SELECT |
--- src/main/webapp/WEB-INF/jsp/sym/grd/mberGrdSetting.jsp
+++ src/main/webapp/WEB-INF/jsp/sym/grd/mberGrdSetting.jsp
... | ... | @@ -24,7 +24,7 @@ |
| 24 | 24 |
return false; |
| 25 | 25 |
} |
| 26 | 26 |
|
| 27 |
- if(confirm("등급별 단가를 변경 하시겠습니까?")) {
|
|
| 27 |
+ if(confirm("수정사항 저장 시 모든 고객의 단가가 변경될 수 있습니다.\n수정하시겠습니까?")) {
|
|
| 28 | 28 |
$("#grdDate").val($("#ntceBgndeYYYMMDD").val());
|
| 29 | 29 |
|
| 30 | 30 |
// 콤마 제거 |
... | ... | @@ -41,7 +41,7 @@ |
| 41 | 41 |
success: function (data) {
|
| 42 | 42 |
console.log(data); |
| 43 | 43 |
if (data.isSuccess) {
|
| 44 |
- alert("저장 완료했습니다.");
|
|
| 44 |
+ alert(data.updateMberCnt + "명 저장 완료했습니다."); |
|
| 45 | 45 |
location.reload(); |
| 46 | 46 |
} |
| 47 | 47 |
else {
|
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?