itn 2023-07-11
등급제 시행여부 로직수정
@dd44ad160b59fe7dfd2f63f4a0ab5ed76c2544ab
src/main/java/itn/let/sym/grd/service/MberGrdVO.java
--- src/main/java/itn/let/sym/grd/service/MberGrdVO.java
+++ src/main/java/itn/let/sym/grd/service/MberGrdVO.java
@@ -39,8 +39,9 @@
 	private String grdStatusNm;
 	private int mberGrdHistNo;
 
-	private String grdNoti;		// 회원등급제 시행 여부
-	private String grdDate;		// 회원등급제 시행일자
+	private String grdNoti;			// 회원등급제 시행 여부
+	private String grdDate;			// 회원등급제 시행일자
+	private String grdDatePrgYn;	// 회원등급제 시행일자 진행여부(오늘보다 이전날짜이면 Y, 이후이면 N)
 	
 	// 검색필터
 	private String searchGrdStatus;
@@ -233,6 +234,12 @@
 	public void setGrdDate(String grdDate) {
 		this.grdDate = grdDate;
 	}	
+	public String getGrdDatePrgYn() {
+		return grdDatePrgYn;
+	}
+	public void setGrdDatePrgYn(String grdDatePrgYn) {
+		this.grdDatePrgYn = grdDatePrgYn;
+	}	
 	public String getSearchGrdStatus() {
 		return searchGrdStatus;
 	}
src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
@@ -121,7 +121,7 @@
 		// Step 1. 등급제 시행 ON 일경우
 		MberGrdVO mberGrdVO1 = new MberGrdVO();
 		mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
-		if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate()) {
+		if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
 			// 문자할인, B선라인 대상자 초기화
 			updateCnt1 = updateMberGrdEndBySale(mberGrdVO);
 			
@@ -155,10 +155,10 @@
 		mberGrdVO.setRegId(mberGrdVO.getMberId());
 		mberGrdVO.setEditId(mberGrdVO.getMberId());
 		
-		// Step 1. 등급제 시행 ON 일경우
+		// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
 		MberGrdVO mberGrdVO1 = new MberGrdVO();
 		mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
-		if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate()) {
+		if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
 			mberGrdVO.setGrdDate(mberGrdVO1.getGrdDate());
 			
 			// Step 2. /협의/스팸/비선등급 적용 제외
src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
@@ -15,12 +15,21 @@
 	
 	<!-- 등급제 시행여부 상세 -->
 	<select id="mberGrdDAO.selectMberSettingDetail" parameterClass="mberGrdVO" resultClass="mberGrdVO">
+	<![CDATA[
 		SELECT
 			GRD_NOTI AS grdNoti
-			, DATE_FORMAT(GRD_DATE, '%Y-%m-%d' ) AS grdDate 
+			, DATE_FORMAT(GRD_DATE, '%Y-%m-%d' ) AS grdDate
+			, CASE
+				WHEN IFNULL(GRD_DATE, '') = '' 
+					THEN 'N'						
+				WHEN DATE_FORMAT(GRD_DATE, '%Y-%m-%d') <= DATE_FORMAT(NOW(), '%Y-%m-%d') 
+					THEN 'Y'
+				ELSE 'N'
+			END grdDatePrgYn			 
 		FROM
 			MJ_MBER_SETTING
 		LIMIT 1
+	]]>
 	</select>
 		
 	
Add a comment
List