등급제 적용 온/오프 기능 추가

This commit is contained in:
itn 2023-07-04 15:20:37 +09:00
parent 682c9015b3
commit fdf52e92fb
7 changed files with 157 additions and 37 deletions

View File

@ -4,6 +4,14 @@ import java.util.List;
public interface MberGrdService {
// 등급제 설정 일괄변경
public int updateMberSetting(MberGrdVO mberGrdVO) throws Exception;
// 등급제 시행여부 상세
public MberGrdVO selectMberSettingDetail(MberGrdVO mberGrdVO) throws Exception;
// 등급제 설정 목록
List<MberGrdVO> selectMberGrdSettingList(MberGrdVO mberGrdVO) throws Exception;
// 등급제 설정 일괄변경

View File

@ -34,6 +34,9 @@ public class MberGrdVO {
private String grdStatus;
private int mberGrdHistNo;
private String grdNoti; // 회원등급제 시행 여부
private String grdDate; // 회원등급제 시행일자
public int getGrdSetNo() {
return grdSetNo;
@ -198,5 +201,17 @@ public class MberGrdVO {
}
public void setMberGrdHistNo(int mberGrdHistNo) {
this.mberGrdHistNo = mberGrdHistNo;
}
public String getGrdNoti() {
return grdNoti;
}
public void setGrdNoti(String grdNoti) {
this.grdNoti = grdNoti;
}
public String getGrdDate() {
return grdDate;
}
public void setGrdDate(String grdDate) {
this.grdDate = grdDate;
}
}

View File

@ -10,6 +10,17 @@ import itn.let.sym.grd.service.MberGrdVO;
@Repository("mberGrdDAO")
public class MberGrdDAO extends EgovAbstractDAO {
// 등급제 시행여부 변경
public int updateMberSetting(MberGrdVO mberGrdVO) throws Exception {
return update("mberGrdDAO.updateMberSetting", mberGrdVO);
}
// 등급제 시행여부 상세
public MberGrdVO selectMberSettingDetail(MberGrdVO mberGrdVO) throws Exception{
return (MberGrdVO) select("mberGrdDAO.selectMberSettingDetail", mberGrdVO);
}
// 등급제 설정 목록
@SuppressWarnings("unchecked")
public List<MberGrdVO> selectMberGrdSettingList(MberGrdVO mberGrdVO) throws Exception{
return (List<MberGrdVO>)list("mberGrdDAO.selectMberGrdSettingList", mberGrdVO);

View File

@ -16,6 +16,19 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
@Resource(name="mberGrdDAO")
MberGrdDAO mberGrdDAO;
// 등급제 시행여부 변경
@Override
public int updateMberSetting(MberGrdVO mberGrdVO) throws Exception {
return mberGrdDAO.updateMberSetting(mberGrdVO);
}
// 등급제 시행여부 상세
@Override
public MberGrdVO selectMberSettingDetail(MberGrdVO mberGrdVO) throws Exception {
return mberGrdDAO.selectMberSettingDetail(mberGrdVO);
}
@Override
public List<MberGrdVO> selectMberGrdSettingList(MberGrdVO mberGrdVO) throws Exception {
return mberGrdDAO.selectMberGrdSettingList(mberGrdVO);

View File

@ -34,6 +34,10 @@ public class MberGrdController {
List<MberGrdVO> mberGrdSettingList = mberGrdService.selectMberGrdSettingList(mberGrdVO);
mberGrdVO = mberGrdService.selectMberSettingDetail(mberGrdVO);
model.addAttribute("grdNoti", mberGrdVO.getGrdNoti());
model.addAttribute("grdDate", mberGrdVO.getGrdDate());
model.addAttribute("mberGrdSettingList", mberGrdSettingList);
return "/sym/grd/mberGrdSetting";
@ -56,8 +60,16 @@ public class MberGrdController {
mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID
try{
// 등급제 업데이트
mberGrdService.updateGrdSettingList(mberGrdVO);
// 등급제 시행여부 변경
int updateCnt = mberGrdService.updateMberSetting(mberGrdVO);
if (updateCnt == 0) {
isSuccess = false;
msg = "등급제 시행여부 변경에 실패했습니다.";
}
else {
// 등급제 업데이트
mberGrdService.updateGrdSettingList(mberGrdVO);
}
}
catch(Exception e) {
isSuccess = false;

View File

@ -5,7 +5,27 @@
<typeAlias alias="mberGrdVO" type = "itn.let.sym.grd.service.MberGrdVO"/>
<select id="mberGrdDAO.selectMberGrdSettingList" parameterClass="mberGrdVO" resultClass="mberGrdVO">
<!-- 등급제 시행여부 변경 -->
<update id="mberGrdDAO.updateMberSetting" parameterClass="mberGrdVO">
UPDATE MJ_MBER_SETTING A
SET
A.GRD_NOTI = #grdNoti#
, A.GRD_DATE = #grdDate#
</update>
<!-- 등급제 시행여부 상세 -->
<select id="mberGrdDAO.selectMberSettingDetail" parameterClass="mberGrdVO" resultClass="mberGrdVO">
SELECT
GRD_NOTI AS grdNoti
, GRD_DATE AS grdDate
FROM
MJ_MBER_SETTING
LIMIT 1
</select>
<!-- 등급제 설정 목록 -->
<select id="mberGrdDAO.selectMberGrdSettingList" parameterClass="mberGrdVO" resultClass="mberGrdVO">
SELECT
A.GRD_SET_NO AS grdSetNo
, A.GRD_SET_NM AS grdSetNm
@ -22,8 +42,7 @@
, A.EDIT_DATE AS editDate
FROM mj_mber_grd_setting A
ORDER BY A.GRD_SET_NO ASC
</select>
</select>
<!-- 등급제 설정 일괄변경 일괄변경 -->
<update id="mberGrdDAO.updateGrdSetting" parameterClass="mberGrdVO">

View File

@ -9,42 +9,50 @@
<meta charset="UTF-8">
<title>등급제 관리</title>
<script type="text/javascript">
function doUpdate() {
}
// 등급제 일괄변경
function setMassEdit() {
if(!confirm("등급별 단가를 변경 하시겠습니까?")) {
return;
}
// 콤마 제거
$('input[name=stdAmts]').each(function(index,item){
$(this).val($(this).val().replace(/,/gi, ""));
});
$.ajax({
type: "POST",
url: "/sym/grd/mberGrdSettingMassUpdateAjax.do",
data: $("#listForm").serialize(),
dataType:'json',
async: false,
success: function (data) {
console.log(data);
if (data.isSuccess) {
alert("저장 완료했습니다.");
location.reload();
}
else {
alert("Msg : " + data.msg);
}
},
error: function (e) {
alert("ERROR : " + JSON.stringify(e));
}
});
if ($("input[name='grdNoti']:checked").val() == "") {
alert("등급제 적용 온/오프를 선택해주세요.");
return false;
}
// 누적결제 적용일자
if ($("#ntceBgndeYYYMMDD").val() == "") {
alert("누적결제 적용일자를 선택해주세요.");
return false;
}
if(confirm("등급별 단가를 변경 하시겠습니까?")) {
$("#grdDate").val($("#ntceBgndeYYYMMDD").val());
// 콤마 제거
$('input[name=stdAmts]').each(function(index,item){
$(this).val($(this).val().replace(/,/gi, ""));
});
$.ajax({
type: "POST",
url: "/sym/grd/mberGrdSettingMassUpdateAjax.do",
data: $("#listForm").serialize(),
dataType:'json',
async: false,
success: function (data) {
console.log(data);
if (data.isSuccess) {
alert("저장 완료했습니다.");
location.reload();
}
else {
alert("Msg : " + data.msg);
}
},
error: function (e) {
alert("ERROR : " + JSON.stringify(e));
}
});
}
}
</script>
@ -58,6 +66,40 @@
</div>
<div class="pageCont">
<form id="listForm" name="listForm" method="post">
<input type="hidden" name="grdDate" id="grdDate" />
<div class="tableWrap">
<table class="tbType2">
<colgroup>
<col width="30%">
<col width="*">
</colgroup>
<tbody>
<tr>
<th>등급제 적용</th>
<td>
<input type="radio" name="grdNoti" id="grdNoti1" value="Y" <c:if test="${grdNoti eq 'Y'}">checked="checked"</c:if> /> ON
&nbsp;&nbsp;&nbsp;
<input type="radio" name="grdNoti" id="grdNoti2" value="N" <c:if test="${grdNoti eq 'N'}">checked="checked"</c:if> /> OFF
</td>
</tr>
<tr>
<th>누적결제 적용일자</th>
<td>
<input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do">
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceBgndeYYYMMDD);">
<input style="width:auto;min-width: 100px;" type="text" class="date_format" name="ntceBgndeYYYMMDD" id="ntceBgndeYYYMMDD" size="4" maxlength="4" readonly=""
value="<c:out value="${grdDate}" />" >
<input type="button" class="calBtn">
</a>
</td>
</tr>
</tbody>
</table>
</div>
<br /><br />
<div class="tableWrap">
<table class="tbType1">
<colgroup>