Browse Source

임시커밋

bin2107 5 năm trước cách đây
mục cha
commit
18797f1012

+ 6 - 0
src/main/java/com/style24/persistence/domain/CouponLimitedTime.java

@@ -21,6 +21,12 @@ public class CouponLimitedTime extends TscBaseDomain {
     private int     downLimitQty;       // 다운로드가능수량
     private String  downStdt;           // 다운로드시작일시
     private String  downEddt;           // 다운로드종료일시
+
+    private String downStDate;
+    private String downEdDate;
+    private String downStTime;
+    private String downEdTime;
+
     private String  delYn;              // 삭제여부
 
     @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)

+ 166 - 60
src/main/webapp/WEB-INF/views/marketing/CouponPopupForm.html

@@ -584,6 +584,7 @@
 
 	// ag-grid 입점업체분담율 컬럼
 	var columnDefs = [
+		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
 		{ headerName: "입점업체코드" , field:"supplyCompCd" , width:150, cellClass:"text-center"
 			// cellEditor: 'agRichSelectCellEditor',
 			// cellEditorParams: { values: gagaAgGrid.extractValues(ibSupplyComList) },
@@ -721,18 +722,19 @@
 		{ headerName: "종료시간"  , field: "downEdTime" , width: 200 , cellClass: 'text-center'
 			,cellEditor: 'dateTimer'
 			,cellEditorParams: { maxlength: 8, required: true }
-			,valueFormatter: function (params) {
-				params.value = params.value.replace(/[^0-9]/g, '');
-				params.value = params.value.substr(0,2)+':'+params.value.substr(2,2)+':59';
-				return params.value;
-			}
+			// ,valueFormatter: function (params) {
+			// 	params.value = params.value.replace(/[^0-9]/g, '');
+			// 	params.value = params.value.substr(0,2)+':'+params.value.substr(2,2)+':59';
+			// 	return params.value;
+			// }
 		} ,
 		{ headerName: "다운로드가능수량"  , field: "downLimitQty" , width: 150 , cellClass: 'text-center'
 			,cellEditorParams: { maxlength: 4, validType: 'numeric'}
 		},
 		{ headerName: "선착순시퀀스", field: "limitCpnId", width: 150, cellClass: 'text-center'} 	//, hide: true
-		,{headerName: "시작일시", field: "downStDt", width: 150, cellClass: 'text-center',hide: true}
-		,{headerName: "종료일시", field: "downEdDt", width: 150, cellClass: 'text-center',hide: true}
+		,{ headerName: "삭제여부"  , field: "delYn" , width: 120 , cellClass: 'text-center' , hide:true}
+		,{headerName: "시작일시", field: "downStdt", width: 150, cellClass: 'text-center'}
+		,{headerName: "종료일시", field: "downEddt", width: 150, cellClass: 'text-center'}
 	];
 
 	let columnAfDefs = [
@@ -813,7 +815,7 @@
 
 	// 선착순 쿠폰 행추가
 	$('#btnAddLimitedTimeCpnRow').on('click', function() {
-		var data = { cpnId: 1 ,limitCpnNm: null, downStDate: _today, downStTime: '00:00:00', downEdDate: _today, downEdTime: '23:59:59', downLimitQty: null, limitCpnId: null  };
+		var data = { cpnId: 1 ,limitCpnNm: null, downStDate: _today, downStTime: '00:00:00', downEdDate: _today, downEdTime: '23:59:59', downLimitQty: null, limitCpnId: null, delYn: 'N' };
 		gagaAgGrid.addRowData(limitedTimeCpnGridOptions, data, "limitCpnNm");
 	});
 	// 업체분담율 추가 버튼 클릭시
@@ -924,24 +926,36 @@
 	// 총발행 제한수량 -> 제한없음 처리
 	$("#CouponForm #chkBoxTotPubQty").bind('click', function (){
 		var chkBox= document.getElementById('chkNoLimitTotPubLimitQty').checked;
-		if(chkBox){ //true 체크가 되어있었는데 해제됐어 -> 값0 inputbox disabled 해제
-			$("#CouponForm #totPubLimitQty").val(0);
-			$("#CouponForm input[id=totPubLimitQty]").prop("disabled", true);
-		}else{	//false 체크가 안되어있었는데 체크됐어 -> 값0 inputbox disabled
-			$("#CouponForm #totPubLimitQty").val(0);
-			$("#CouponForm input[id=totPubLimitQty]").prop("disabled", false);
+
+		var cpnStat = $('#CouponForm input:radio[name="disCpnStat"]:checked').val();
+		if(cpnStat=='G232_10'){
+			if(chkBox){ //true 체크가 되어있었는데 해제됐어 -> 값0 inputbox disabled 해제
+				$("#CouponForm #totPubLimitQty").val(0);
+				$("#CouponForm input[id=totPubLimitQty]").prop("disabled", true);
+				$("#CouponForm input[id=totPubLimitQty]").prop("readonly", true);
+			}else{	//false 체크가 안되어있었는데 체크됐어 -> 값0 inputbox disabled
+				$("#CouponForm #totPubLimitQty").val(0);
+				$("#CouponForm input[id=totPubLimitQty]").prop("disabled", false);
+				$("#CouponForm input[id=totPubLimitQty]").prop("readonly", false);
+			}
 		}
+
 	});
 
 	// 1인당발행 제한수량 -> 제한없음 처리
 	$("#CouponForm #chkBoxCustPubQty").bind('click', function (){
 		var chkBox= document.getElementById('chkNoLimitCustPubLimitQty').checked;
-		if(chkBox){ //true 체크가 되어있었는데 해제됐어 -> 값0 inputbox disabled 해제
-			$("#CouponForm #custPubLimitQty").val(0);
-			$("#CouponForm input[id=custPubLimitQty]").prop("disabled", true);
-		}else{	//false 체크가 안되어있었는데 체크됐어 -> 값0 inputbox disabled
-			$("#CouponForm #custPubLimitQty").val(0);
-			$("#CouponForm input[id=custPubLimitQty]").prop("disabled", false);
+		var cpnStat = $('#CouponForm input:radio[name="disCpnStat"]:checked').val();
+		if(cpnStat=='G232_10'){
+			if(chkBox){ //true 체크가 되어있었는데 해제됐어 -> 값0 inputbox disabled 해제
+				$("#CouponForm #custPubLimitQty").val(0);
+				$("#CouponForm input[id=custPubLimitQty]").prop("disabled", true);
+				$("#CouponForm input[id=custPubLimitQty]").prop("readonly", true);
+			}else{	//false 체크가 안되어있었는데 체크됐어 -> 값0 inputbox disabled
+				$("#CouponForm #custPubLimitQty").val(0);
+				$("#CouponForm input[id=custPubLimitQty]").prop("disabled", false);
+				$("#CouponForm input[id=custPubLimitQty]").prop("readonly", false);
+			}
 		}
 	});
 
@@ -1147,6 +1161,7 @@
 			}
 		} else if ($('#CouponForm #cpnType').val() == "G230_11" && $("#limitedTimeCpnYn").val() == "Y") {	// 상품쿠폰이고 선착순쿠폰 체크되어 있을때
 			let cpnData = gagaAgGrid.getAllRowData(limitedTimeCpnGridOptions);
+			console.log('cpnData.length>>'+cpnData.length);
 			if(cpnData.length < 1){
 				mcxDialog.alert("선착순 쿠폰을 설정해주세요.");
 				return false;
@@ -1158,21 +1173,47 @@
 						return false;
 					}
 
-					if(gagajf.isNull(cpnData[i].downStdt)){
+					if(gagajf.isNull(cpnData[i].downStDate)){
 						mcxDialog.alert(i+1 + "번 행의 선착순쿠폰 다운로드시작일을 입력해주세요.");
 						return false;
 					}
 
-					if(gagajf.isNull(cpnData[i].downEddt)){
+					if(gagajf.isNull(cpnData[i].downEdDate)){
+						mcxDialog.alert(i+1 + "번 행의 선착순쿠폰 다운로드시작일을 입력해주세요.");
+						return false;
+					}
+
+					if(gagajf.isNull(cpnData[i].downStTime)){
+						mcxDialog.alert(i+1 + "번 행의 선착순쿠폰 다운로드시작일을 입력해주세요.");
+						return false;
+					}
+
+					if(gagajf.isNull(cpnData[i].downEdTime)){
 						mcxDialog.alert(i+1 + "번 행의 선착순쿠폰 다운로드종료일을 입력해주세요.");
 						return false;
-					}else{
-						var tempEddt = cpnData[i].downEddt.replace(/[^0-9]/g, '');
-						if(tempEddt.substr(8,14) == '000000'){
-							tempEddt = tempEddt.substr(0,8)+'235959';
-							cpnData[i].downEddt = tempEddt;
-						}
 					}
+					//
+					// cpnData[i].downStDt = (cpnData[i].downEdDate).replace(/[^0-9]/g, '') + (cpnData[i].downStTime).replace(/[^0-9]/g, '');
+					// var stdt = (cpnData[i].downEdDate).replace(/[^0-9]/g, '') + (cpnData[i].downStTime).replace(/[^0-9]/g, '');
+					// console.log('cpnData[i].downStDt>>'+cpnData[i].downStDt);
+					//
+					// var eddt = '';
+					// if(gagajf.isNull(cpnData[i].downEdTime)){
+					// 	mcxDialog.alert(i+1 + "번 행의 선착순쿠폰 다운로드종료일을 입력해주세요.");
+					// 	return false;
+					// }else{
+					// 	var tempEddt = cpnData[i].downEdTime.replace(/[^0-9]/g, '');
+					// 	console.log('tempEddt>>'+tempEddt.substr(0,4));
+					// 	if(tempEddt.substr(0,4) == '0000'){
+					// 		tempEddt = cpnData[i].downEdDate.replace(/[^0-9]/g, '') +'235959';
+					// 		cpnData[i].downEdDt = tempEddt;
+					// 		eddt = tempEddt;
+					// 	}else{
+					// 		cpnData[i].downEdDt = (cpnData[i].downEdDate).replace(/[^0-9]/g, '') + (cpnData[i].downEdTime).replace(/[^0-9]/g, '');
+					// 		eddt = (cpnData[i].downEdDate).replace(/[^0-9]/g, '') + (cpnData[i].downEdTime).replace(/[^0-9]/g, '');
+					// 	}
+					// }
+					// console.log('cpnData[i].downEdDt>>'+cpnData[i].downEdDt);
 
 					if(gagajf.isNull(cpnData[i].downLimitQty)){
 						mcxDialog.alert(i+1 + "번 행의 선착순쿠폰 다운로드가능수량을 입력해주세요.");
@@ -1288,20 +1329,20 @@
 					,cpnType : $('input:radio[name="rdoCpnType"]:checked').val()
 					,applyScope : $('input:radio[name="rdoApplyScope"]:checked').val()
 					,dcWay : $('input:radio[name="rdoDcWay"]:checked').val()
-					,dcPval : $('#CouponForm input[name=dcPval]').val().replace(',','')
-					,dcMval : $('#CouponForm input[name=dcMval]').val().replace(',','')
-					,dcAval : $('#CouponForm input[name=dcAval]').val().replace(',','')
-					,maxDcAmt : $('#CouponForm input[name=maxDcAmt]').val()
+					,dcPval : $('#CouponForm input[name=dcPval]').val().replaceAll(',','')
+					,dcMval : $('#CouponForm input[name=dcMval]').val().replaceAll(',','')
+					,dcAval : $('#CouponForm input[name=dcAval]').val().replaceAll(',','')
+					,maxDcAmt : $('#CouponForm input[name=maxDcAmt]').val().replaceAll(',','')
 					,pdGb : $('#CouponForm select[name=pdGb]').val()
 					,availStdt : $('#CouponForm input[name=availStdt]').val()
 					,availEddt : $('#CouponForm input[name=availEddt]').val()
 					,availDays : $('#CouponForm input[name=availDays]').val()
-					,custPubLimitQty : $('#CouponForm input[name=custPubLimitQty]').val()
-					,totPubLimitQty : $('#CouponForm input[name=totPubLimitQty]').val()
-					,onePubQtyy : $('#CouponForm input[name=onePubQtyy]').val()
+					,custPubLimitQty : $('#CouponForm input[name=custPubLimitQty]').val().replaceAll(',','')
+					,totPubLimitQty : $('#CouponForm input[name=totPubLimitQty]').val().replaceAll(',','')
+					,onePubQty : $('#CouponForm input[name=onePubQty]').val().replaceAll(',','')
 					,downStdt : $('#CouponForm input[name=downStdt]').val()
 					,downEddt : $('#CouponForm input[name=downEddt]').val()
-					,buyLimitAmt : $('#CouponForm input[name=buyLimitAmt]').val()
+					,buyLimitAmt : $('#CouponForm input[name=buyLimitAmt]').val().replaceAll(',','')
 					,cpnStat : $('input:radio[name="disCpnStat"]:checked').val()
 					,endAlimYn : $('#CouponForm select[name=endAlimYn]').val()
 					,firstOrdYn : $('#CouponForm select[name=firstOrdYn]').val()
@@ -1388,7 +1429,7 @@
 						,availDays : $('#CouponForm input[name=availDays]').val()
 						,custPubLimitQty : $('#CouponForm input[name=custPubLimitQty]').val()
 						,totPubLimitQty : $('#CouponForm input[name=totPubLimitQty]').val()
-						,onePubQtyy : $('#CouponForm input[name=onePubQtyy]').val()
+						,onePubQty : $('#CouponForm input[name=onePubQty]').val()
 						,downStdt : $('#CouponForm input[name=downStdt]').val()
 						,downEddt : $('#CouponForm input[name=downEddt]').val()
 						,buyLimitAmt : $('#CouponForm input[name=buyLimitAmt]').val()
@@ -2208,7 +2249,7 @@ console.log('jsonData::'+jsonData);
 
 	// 행추가시
 	$('#btnAddRow').on('click' , function(){
-		var data = { supplyCompCd: null , burdenRate : null , delYn : null};
+		var data = { supplyCompCd: null , burdenRate : null , delYn : 'N'};
 		gagaAgGrid.addRowData(inComGridOptions , data , "supplyCompCd" );
 	});
 	// 행삭제시
@@ -2441,6 +2482,8 @@ console.log('jsonData::'+jsonData);
 				$("#CouponForm .buttonSpan").hide();	//행추가,삭제버튼
 			}
 
+			// 사용가능고객구분 체크박스 체크 제거
+			$('#CouponForm input:checkbox[name=usableCustGbArr]').prop('checked', false);
 			if(cpnCustGbList.length > 0){
 				var chkboxCnt = $('#CouponForm input:checkbox[name=usableCustGbArr]').length;
 				var dataCnt = cpnCustGbList.length;
@@ -2449,12 +2492,14 @@ console.log('jsonData::'+jsonData);
 						var data = cpnCustGbList[j].usableCustGb;
 						if($('#CouponForm input:checkbox[name=usableCustGbArr]').eq(i).val() == data){
 							$('#CouponForm input:checkbox[name=usableCustGbArr]').eq(i).prop('checked', true);
-							$("#CouponForm input:checkbox[name=usableCustGbArr]").eq(i).parent().addClass('checked');
+							$("#CouponForm input:checkbox[name=usableCustGbArr]").eq(i).parent("label").addClass('checked');
 						}
 					}
 				}
 			}
 
+			// 사용고객등급구분 체크박스 체크 제거
+			$('#CouponForm input:checkbox[name=usableCustGradeArr]').prop('checked', false);
 			if(cpnCustGradeList.length > 0){
 				var chkboxCnt = $('#CouponForm input:checkbox[name=usableCustGradeArr]').length;
 				var dataCnt = cpnCustGradeList.length;
@@ -2469,6 +2514,8 @@ console.log('jsonData::'+jsonData);
 				}
 			}
 
+			// 결제수단 체크박스 체크 제거
+			$('#CouponForm input:checkbox[name=payTypeArr]').prop('checked', false);
 			if(cpnPayTypeList.length > 0){
 				var chkboxCnt = $('#CouponForm input:checkbox[name=payTypeArr]').length;
 				var dataCnt = cpnPayTypeList.length;
@@ -2504,6 +2551,56 @@ console.log('jsonData::'+jsonData);
 			$("#CouponForm #maxDcAmt").val(cpnDetail.maxDcAmt);
 			$("#CouponForm #totPubLimitQty").val(cpnDetail.totPubLimitQty);
 			$("#CouponForm #custPubLimitQty").val(cpnDetail.custPubLimitQty);
+
+			if(cpnDetail.cpnStat!='G232_10'){
+				$("#CouponForm input[id=chkNoLimitTotPubLimitQty]").attr('readonly', true);
+				$("#CouponForm input[id=chkNoLimitTotPubLimitQty]").prop('disabled', true);
+				$("#CouponForm input[id=chkNoLimitTotPubLimitQty]").parent().prop('disabled', true);
+				$("#CouponForm #totPubLimitQty").attr('readonly', true);
+				$("#CouponForm #totPubLimitQty").attr('disabled', true);
+
+				$("#CouponForm input[id=chkNoLimitCustPubLimitQty]").attr('readonly', true);
+				$("#CouponForm input[id=chkNoLimitCustPubLimitQty]").prop('disabled', true);
+				$("#CouponForm input[id=chkNoLimitCustPubLimitQty]").parent().prop('disabled', true);
+				$("#CouponForm #custPubLimitQty").attr('readonly', true);
+				$("#CouponForm #custPubLimitQty").attr('disabled', true);
+				if(cpnDetail.totPubLimitQty<1){
+					$("#CouponForm input[id=chkNoLimitTotPubLimitQty]").parent("label").addClass("checked");
+					$("#CouponForm input[id=chkNoLimitTotPubLimitQty]").prop('checked', true);
+				}else{
+					$("#CouponForm input[id=chkNoLimitTotPubLimitQty]").prop('checked', false);
+				}
+
+				if(cpnDetail.custPubLimitQty<1){
+					$("#CouponForm input[id=chkNoLimitCustPubLimitQty]").parent("label").addClass("checked");
+					$("#CouponForm input[id=chkNoLimitCustPubLimitQty]").prop('checked', true);
+				}else{
+					$("#CouponForm input[id=chkNoLimitCustPubLimitQty]").prop('checked', false);
+				}
+			}else{
+				if(cpnDetail.totPubLimitQty<1){
+					$("#CouponForm input[id=chkNoLimitTotPubLimitQty]").parent("label").addClass("checked");
+					$("#CouponForm input[id=chkNoLimitTotPubLimitQty]").prop('checked', true);
+					$("#CouponForm #totPubLimitQty").attr('readonly', true);
+					$("#CouponForm #totPubLimitQty").attr('disabled', true);
+				}else{
+					$("#CouponForm input[id=chkNoLimitTotPubLimitQty]").prop('checked', false);
+					$("#CouponForm #totPubLimitQty").attr('readonly', false);
+					$("#CouponForm #totPubLimitQty").attr('disabled', false);
+				}
+
+				if(cpnDetail.custPubLimitQty<1){
+					$("#CouponForm input[id=chkNoLimitCustPubLimitQty]").parent("label").addClass("checked");
+					$("#CouponForm input[id=chkNoLimitCustPubLimitQty]").prop('checked', true);
+					$("#CouponForm #custPubLimitQty").attr('readonly', true);
+					$("#CouponForm #custPubLimitQty").attr('disabled', true);
+				}else{
+					$("#CouponForm input[id=chkNoLimitCustPubLimitQty]").prop('checked', false);
+					$("#CouponForm #custPubLimitQty").attr('readonly', false);
+					$("#CouponForm #custPubLimitQty").attr('disabled', false);
+				}
+			}
+
 			$("#CouponForm #onePubQty").val(cpnDetail.onePubQty);
 			$("#CouponForm #usableCustGb").val(cpnDetail.usableCustGb).prop("selected", true);
 			$("#CouponForm #usableCustGrade").val(cpnDetail.usableCustGrade).prop("selected", true);
@@ -2523,6 +2620,36 @@ console.log('jsonData::'+jsonData);
 			$("#CouponForm #cpnId").val(cpnDetail.cpnId);
 			$("#CouponForm #cpnDesc").val(cpnDetail.cpnDesc);
 
+			if(cpnDetail.cpnType == "G230_10"){
+				$('#CouponForm .custJoinTr').hide();
+				$('#CouponForm .custJoinDateTr').hide();
+				$('#CouponForm .firstBuyTr').hide();
+				$('#CouponForm .buyDateTr').hide();
+				$('#CouponForm .dcCdCheck1').hide();
+				$('#CouponForm .limitedTimeCpnArea').hide();
+				$('#CouponForm .pdGbArea').hide();
+				$('#CouponForm .availDaysArea').hide();
+				// $("#CouponForm").find("input:radio[name='rdoApplyScope']:radio[value='A']").attr('disabled', true);
+				// 다운로드 시작,종료 , 기간/일수 , 제휴채널, 고객 등급, 구매제한 , 할인율일때 구매제한한도, 1회발행수량, 다운로드 가능여부 숨기기
+				$('#CouponForm .downStdtArea').hide();
+				$('#CouponForm .downEddtArea').hide();
+				$('#CouponForm .pdGbArea').hide();
+				$('#CouponForm .buyLimitAmtArea').hide();
+				$('#CouponForm .usableCustGbArea').hide();
+				$('#CouponForm .usableCustGradeArea').hide();
+				$('#CouponForm .downAblArea').hide();
+				$('#CouponForm .linkAfArea').hide();
+				$('#CouponForm .dcCdCheck2').hide();
+				$('#CouponForm .maxDcAmtArea').hide();
+				$('#CouponForm .availDateTr').show();
+			}else{
+				$('#CouponForm .custJoinTr').show();
+				$('#CouponForm .custJoinDateTr').show();
+				$('#CouponForm .firstBuyTr').show();
+				$('#CouponForm .buyDateTr').show();
+				$('#CouponForm .dcCdCheck1').show();
+			}
+
 			if(limitedTimeCpnList.length>0 && cpnDetail.cpnType == "G230_11"){  //상품쿠폰이고 선착순쿠폰일때
 				$("#CouponForm #limitedTimeCpnYn").val("Y");
 				$("#CouponForm .limitedTimeCpnTab").show();
@@ -2554,21 +2681,6 @@ console.log('jsonData::'+jsonData);
 			$("#CouponForm input[name='serialCpnQty']").prop("disabled", true);
 			$("#CouponForm input[name='randomCpnQty']").prop("disabled", true);
 
-			// 즉시할인 쿠폰이면
-			if(cpnDetail.cpnType == "G230_10") {
-				$('#CouponForm .custJoinTr').hide();
-				$('#CouponForm .custJoinDateTr').hide();
-				$('#CouponForm .firstBuyTr').hide();
-				$('#CouponForm .buyDateTr').hide();
-				$('#CouponForm .dcCdCheck1').hide();
-			}else{
-				$('#CouponForm .custJoinTr').show();
-				$('#CouponForm .custJoinDateTr').show();
-				$('#CouponForm .firstBuyTr').show();
-				$('#CouponForm .buyDateTr').show();
-				$('#CouponForm .dcCdCheck1').show();
-			}
-
 			// 할인방식이 할인율이면 최대할인금액 노출
 			if(cpnDetail.dcWay == "G240_11"){
 				$("#CouponForm .maxDcAmtArea").show();
@@ -2644,12 +2756,6 @@ console.log('jsonData::'+jsonData);
 				}
 			}
 
-			/*
-			$("#CouponForm input:checkbox[name='cpnCreateType']").parent("label").addClass("formControl");
-			$("#CouponForm input:checkbox[name='cpnCreateType']").parent("label").prop('disabled', true);
-			$("#CouponForm input:checkbox[name='cpnCreateType']").addClass("formControl");
-			$("#CouponForm input:checkbox[name='cpnCreateType']").prop('disabled', true);
-			*/
 			// 만약 쿠폰 발급한 내역이 있으면 쿠폰수정못하게 readonly , disabled 속성 추가
 			if (issueCnt > 0) {
 				$("#CouponForm #usableCustGb").attr('readonly', true);