Przeglądaj źródła

신규가입구매기간 추가

eskim 4 lat temu
rodzic
commit
99e093bbec

+ 7 - 1
src/main/java/com/style24/admin/biz/service/TsaGoodsService.java

@@ -1054,7 +1054,13 @@ public class TsaGoodsService {
 		// 판매기간설정 eskim
 		goods.setSellStdt(goods.getSellStYMD().replaceAll("-", "") + goods.getSellStHH() + "0000");
 		goods.setSellEddt(goods.getSellEdYMD().replaceAll("-", "") + goods.getSellEdHH() + "5959");
-
+		
+		// 신규가입기간
+		if (!StringUtils.isEmpty(goods.getNewCustOrdStdt())) {
+			goods.setNewCustOrdStdt(goods.getNewCustOrdStdt().replaceAll("-", "") + "000000");
+			goods.setNewCustOrdEddt(goods.getNewCustOrdEddt().replaceAll("-", "") + "235959");	
+		}
+		
 		// 기본정보 변경
 		if ("Y".equals(goods.getChDataYn())) {
 			goodsDao.createGoodsHst(goods);

+ 2 - 0
src/main/java/com/style24/persistence/domain/Goods.java

@@ -75,6 +75,8 @@ public class Goods extends TscBaseDomain {
 	private String erpPriceLinkYn;		//ERP가격연계여부(자사상품만 사용. Y:연계)
 	private String erpStockLinkYn;		//ERP재고연계여부(자사상품만 사용. Y:연계)
 	private String newCustOrdYn;		//신규고객 구매가능여부(Y:신규고객만 구매가능)
+	private String newCustOrdStdt;		//신규고객 시작일
+	private String newCustOrdEddt;		//신규고객 종료일
 	private int costPrice;		//원가
 	private String adultYn;		//성인용품여부
 	private String tobeFormYn;		//상품상세신규폼사용여부

+ 16 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaGoods.xml

@@ -939,6 +939,8 @@
 		     , G.ERP_STOCK_LINK_YN
 		     , G.ERP_PRICE_LINK_YN
 		     , G.NEW_CUST_ORD_YN
+		     , DATE_FORMAT(G.NEW_CUST_ORD_STDT, '%Y%m%d%') AS NEW_CUST_ORD_STDT
+		     , DATE_FORMAT(G.NEW_CUST_ORD_EDDT, '%Y%m%d%') AS NEW_CUST_ORD_EDDT
 		     , G.ADULT_YN
 		     , G.TOBE_FORM_YN
 		     , FN_GET_CODE_NM('G076', G.ORIGIN_CD) AS ORIGIN_NM
@@ -1124,6 +1126,8 @@
 		      , ERP_PRICE_LINK_YN
 		      , ERP_STOCK_LINK_YN
 		      , NEW_CUST_ORD_YN
+		      , NEW_CUST_ORD_STDT
+		      , NEW_CUST_ORD_EDDT
 		      , ADULT_YN
 		      , TOBE_FORM_YN
 		      , REG_NO
@@ -1186,6 +1190,8 @@
 		     , ERP_PRICE_LINK_YN   
 		     , ERP_STOCK_LINK_YN   
 		     , NEW_CUST_ORD_YN
+		     , NEW_CUST_ORD_STDT
+		     , NEW_CUST_ORD_EDDT
 		     , ADULT_YN
 		     , TOBE_FORM_YN
 		     , #{regNo}              
@@ -1725,6 +1731,16 @@
 		  , GIFT_PACK_YN = #{giftPackYn}
 		  , MAIN_COLOR_CD = #{mainColorCd}
 		  , NEW_CUST_ORD_YN = #{newCustOrdYn}
+		  <choose>
+		  <when test="newCustOrdStdt != null and newCustOrdStdt != ''">
+		  , NEW_CUST_ORD_STDT = STR_TO_DATE(#{newCustOrdStdt},'%Y%m%d%H%i%S')
+		  , NEW_CUST_ORD_EDDT = STR_TO_DATE(#{newCustOrdEddt},'%Y%m%d%H%i%S')
+		  </when>
+		  <otherwise>
+		  , NEW_CUST_ORD_STDT = null
+		  , NEW_CUST_ORD_EDDT = null
+		  </otherwise>
+		  </choose>
 		  , ADULT_YN = #{adultYn}
 		  , TOBE_FORM_YN = #{tobeFormYn}
 		  , SELL_STDT = STR_TO_DATE(#{sellStdt},'%Y%m%d%H%i%S')

+ 106 - 9
src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html

@@ -159,7 +159,7 @@
 										</td>
 									</tr>
 									<tr>
-										<td rowspan="13">&nbsp;</td>
+										<td rowspan="14">&nbsp;</td>
 										<th>시즌<em class="required" title="필수"></em></th>
 										<td >
 											<select  name="seasonCd" id="seasonCd">
@@ -290,16 +290,24 @@
 											<input type="hidden" id="returnableYnOrg" name="returnableYnOrg"/>
 										</td>
 										<th>교환여부<em class="required" title="필수"></em></th>
-										<td>
+										<td colspan="3">
 											<label class="rdoBtn"><input type="radio" name="changeableYn" id="changeableYnY" value="Y" />Y</label>
 											<label class="rdoBtn"><input type="radio" name="changeableYn" id="changeableYnN" value="N"/>N</label>
 											<input type="hidden" id="changeableYnOrg" name="changeableYnOrg"/>
 										</td>
+										
+									</tr>
+									<tr>
 										<th>신규가입구매가능여부<em class="required" title="필수"></em></th>
-										<td>
+										<td colspan="5">
 											<label class="rdoBtn"><input type="radio" name="newCustOrdYn" id="newCustOrdYnY" value="Y" />Y</label>
 											<label class="rdoBtn"><input type="radio" name="newCustOrdYn" id="newCustOrdYnN" value="N"/>N</label>
 											<input type="hidden" id="newCustOrdYnOrg" name="newCustOrdYnOrg"/>
+											<input name="newCustOrdStdt" id="newCustOrdStdt" type="text" class="w80 schDate" maxlength="10" required="required" data-valid-name="판매시작일" />
+											<input type="hidden" id="newCustOrdStdtOrg" name="newCustOrdStdtOrg"/>
+											~
+											<input name="newCustOrdEddt" id="newCustOrdEddt" type="text" class="w80 schDate" maxlength="10" required="required" data-valid-name="판매 종료일" />
+											<input type="hidden" id="newCustOrdEddtOrg" name="newCustOrdEddtOrg"/>
 										</td>
 									</tr>
 									<tr>
@@ -1043,6 +1051,17 @@
 			$("#goodsDetailForm input[name=changeableYnOrg]").val(result.changeableYn);
 			$("#goodsDetailForm input[name=returnableYnOrg]").val(result.returnableYn);
 			$("#goodsDetailForm input[name=newCustOrdYnOrg]").val(result.newCustOrdYn);
+			
+			if(!gagajf.isNull(result.newCustOrdStdt)){
+				$('#goodsDetailForm input[name=newCustOrdStdt]').val(result.newCustOrdStdt.toDate("YYYYMMDD").format("YYYY-MM-DD") );
+				$('#goodsDetailForm input[name=newCustOrdEddt]').val(result.newCustOrdEddt.toDate("YYYYMMDD").format("YYYY-MM-DD") );	
+				$('#goodsDetailForm input[name=newCustOrdStdtOrg]').val(result.newCustOrdStdt.toDate("YYYYMMDD").format("YYYY-MM-DD") );
+				$('#goodsDetailForm input[name=newCustOrdEddtOrg]').val(result.newCustOrdEddt.toDate("YYYYMMDD").format("YYYY-MM-DD") );
+			}else{
+				$('#goodsDetailForm input[name=newCustOrdStdtOrg]').val('');
+				$('#goodsDetailForm input[name=newCustOrdEddtOrg]').val('');
+			}
+			
 			$("#goodsDetailForm input[name=adultYnOrg]").val(result.adultYn);
 			$("#goodsDetailForm input[name=tobeFormYnOrg]").val(result.tobeFormYn);
 			
@@ -1675,6 +1694,46 @@
 			return false;
 		}
 		
+		//신규가입기간 
+		if ("Y" == $("#goodsDetailForm input[name=newCustOrdYn]:checked").val()){
+			if(isNaN(Date.parse($("#goodsDetailForm input[name=newCustOrdStdt]").val()))){
+				mcxDialog.alertC('날짜형식이 아닙니다.', {
+					sureBtnText: "확인",
+					sureBtnClick: function() {
+						$("#goodsDetailForm input[name=newCustOrdStdt]").focus();
+					}
+				});	
+				return false;
+			}
+			
+			if(isNaN(Date.parse($("#goodsDetailForm input[name=newCustOrdEddt]").val()))){
+				mcxDialog.alertC('날짜형식이 아닙니다.', {
+					sureBtnText: "확인",
+					sureBtnClick: function() {
+						$("#goodsDetailForm input[name=newCustOrdEddt]").focus();
+					}
+				});	
+				return false;
+			}
+			
+			var fromDate = $('#goodsDetailForm input[name=newCustOrdStdt]').val();
+			var toDate = $('#goodsDetailForm input[name=newCustOrdEddt]').val();
+
+			if (fromDate > toDate) {
+				mcxDialog.alertC("신규가입일의 시작일자는 종료일자 보다 클 수 없습니다.", {
+					sureBtnText: "확인",
+					sureBtnClick: function() {
+						$('#goodsDetailForm input[name=newCustOrdStdt]').focus();
+					}
+				});
+				return false;
+			}
+			
+		}else{
+			$('#goodsDetailForm input[name=newCustOrdStdt]').val('');
+			$('#goodsDetailForm input[name=newCustOrdEddt]').val('');
+		}
+		
 		// 출고처
 		if(gagajf.isNull($("#goodsDetailForm select[name=delvLocCd]").val())){
 			mcxDialog.alertC("출고처를 선택해 주세요.", {
@@ -1811,11 +1870,12 @@
 			return false;
 		}
 		
+		//판매기간
 		if(isNaN(Date.parse($("#goodsDetailForm input[name=sellStYMD]").val()))){
 			mcxDialog.alertC('날짜형식이 아닙니다.', {
 				sureBtnText: "확인",
 				sureBtnClick: function() {
-					$("#goodsDealForm input[name=sellStYMD]").focus();
+					$("#goodsDetailForm input[name=sellStYMD]").focus();
 				}
 			});	
 			return false;
@@ -1825,12 +1885,25 @@
 			mcxDialog.alertC('날짜형식이 아닙니다.', {
 				sureBtnText: "확인",
 				sureBtnClick: function() {
-					$("#goodsDealForm input[name=sellEdYMD]").focus();
+					$("#goodsDetailForm input[name=sellEdYMD]").focus();
 				}
 			});	
 			return false;
 		}
 		
+		var fromDate = $("#goodsDetailForm input[name=sellStYMD]").val().replaceAll('-', '')+ $("#goodsDetailForm select[name=sellStHH]").val();
+		var toDate = $("#goodsDetailForm input[name=sellEdYMD]").val().replaceAll('-', '')+ $("#goodsDetailForm select[name=sellEdHH]").val();
+
+		if (fromDate > toDate) {
+			mcxDialog.alertC("판매기간의 시작일시는 종료일시 보다 클 수 없습니다.", {
+				sureBtnText: "확인",
+				sureBtnClick: function() {
+					$('#goodsDetailForm input[name=sellStYMD]').focus();
+				}
+			});
+			return false;
+		}
+		
 		idx = 0;
 
 		//재고 옵션 관련 확인
@@ -1964,9 +2037,16 @@
 		
 		//인증번호 있는데 인증작업 했는지 여부 확인
 		if (!gagajf.isNull($("#goodsDetailForm input[name=certNum]").val())){
-			if (gagajf.isNull($('#goodsDetailForm').find('#certStateTxt').text())){
-				mcxDialog.alert("안전인증작업을 하거나 인증번호를 확인해주세요.");
-				return false;
+			
+			if ("G084_4" == $("#goodsDetailForm select[name=certFormGb]").val() || 
+				"G084_5" == $("#goodsDetailForm select[name=certFormGb]").val() || 
+				"G081_3" == $("#goodsDetailForm select[name=certType]").val()) {
+				
+			}else{
+				if (gagajf.isNull($('#goodsDetailForm').find('#certStateTxt').text())){
+					mcxDialog.alert("안전인증작업을 하거나 인증번호를 확인해주세요.");
+					return false;
+				}
 			}
 		}
 		
@@ -2325,6 +2405,15 @@
 		if ($("#goodsDetailForm input[name=newCustOrdYnOrg]").val() != $("#goodsDetailForm input[name=newCustOrdYn]:checked").val()){
 			return true;
 		}
+		// 신규가입기간 시작일
+		if ($("#goodsDetailForm input[name=newCustOrdStdt]").val() != $("#goodsDetailForm input[name=newCustOrdStdtOrg]").val()){
+			return true;
+		}
+		// 신규가입기간 종료일
+		if ($("#goodsDetailForm input[name=newCustOrdEddt]").val() != $("#goodsDetailForm input[name=newCustOrdEddtOrg]").val()){
+			return true;
+		}
+		
 		// 성인용품여부
 		if ($("#goodsDetailForm input[name=adultYnOrg]").val() != $("#goodsDetailForm input[name=adultYn]:checked").val()){
 			return true;
@@ -2427,7 +2516,15 @@
 		if (result == null) return;
 		$("#goodsDetailForm input[name=niClsfCd]").val(result[0].niClsfCd)
 	}
-
+	
+	//신규가입구매가능여부 변경시
+	$('#goodsDetailForm input[name=newCustOrdYn]').on('change', function() {
+		var newCustOrdYn = $("#goodsDetailForm input[name=newCustOrdYn]:checked").val();
+		if ("N" == newCustOrdYn){
+			$("#goodsDetailForm input[name=newCustOrdStdt]").val('');
+			$("#goodsDetailForm input[name=newCustOrdEddt]").val('');
+		}
+	});	
 	
 	// 안전인증
 	$("#btnGoodsSafetyCertNum").on("click", function(){