Преглед на файлове

Merge remote-tracking branch 'origin/develop' into jsh77b

tsit14 преди 4 години
родител
ревизия
7c986d216c

+ 9 - 7
src/main/java/com/style24/admin/biz/service/TsaShoplinkerService.java

@@ -279,6 +279,8 @@ public class TsaShoplinkerService {
 	private String setDetailDesc(ShoplinkerGoods shoplinkerGoods, ShoplinkerGoods goodsMap) {
 
 		String htmlDesc = "";
+		ShoplinkerGoods imgParam = new ShoplinkerGoods();	// shoplinkerGoods에 set하지 않도록 주의(미초기화 시 그다음 상품정보에 영향을 미침)
+		imgParam.setGoodsCd(shoplinkerGoods.getGoodsCd());
 
 		// 1. 기존 상세내용
 		String descStr = goodsMap.getDetailDesc();
@@ -301,8 +303,8 @@ public class TsaShoplinkerService {
 			String imgPath = env.getProperty("upload.goods.view");
 
 			// 메인컬러에 매칭되는 이미지만 가져옴.(상세,페브릭,라벨등..)
-			shoplinkerGoods.setExtmallDescImgYn("Y");
-			Collection<ShoplinkerGoods> imgList = admShoplinkerDao.getGoodsImageList(shoplinkerGoods);
+			imgParam.setExtmallDescImgYn("Y");
+			Collection<ShoplinkerGoods> imgList = admShoplinkerDao.getGoodsImageList(imgParam);
 
 			String dColor = goodsMap.getMainColorEnm(); //대표컬러
 			String dImgFront = "";	//대표상품 앞판컷
@@ -363,9 +365,9 @@ public class TsaShoplinkerService {
 
 				// 2) 상세내용 - 상품옵션별 색상
 				String colorDesc = "";
-				shoplinkerGoods.setExtmallDescImgYn("N");
-				shoplinkerGoods.setColorListYn("Y"); // 색상별 이미지 정보만 가져옴
-				Collection<ShoplinkerGoods> imgColorList = admShoplinkerDao.getGoodsImageList(shoplinkerGoods);
+				imgParam.setExtmallDescImgYn("N");
+				imgParam.setColorListYn("Y"); // 색상별 이미지 정보만 가져옴
+				Collection<ShoplinkerGoods> imgColorList = admShoplinkerDao.getGoodsImageList(imgParam);
 				colorDesc = "<div class=\"st_view_option_box\" style=\"margin-top: 100px;text-align: center; color:#222;\">";
 				String tmpColor = "";
 				for(ShoplinkerGoods ic : imgColorList ) {
@@ -745,8 +747,8 @@ public class TsaShoplinkerService {
 		try {
 
 			// 상품이미지정보
-			shoplinkerGoods.setExtmallImgYn("Y");
-			Collection<ShoplinkerGoods> list = admShoplinkerDao.getGoodsImageList(shoplinkerGoods);
+			regMap.setExtmallImgYn("Y");
+			Collection<ShoplinkerGoods> list = admShoplinkerDao.getGoodsImageList(regMap);
 
 			if(null != list && !list.isEmpty()) {
 

+ 7 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsaBusiness.xml

@@ -975,7 +975,13 @@
 		     , UPD_DT
 		)
 		VALUES (
-		       #{afLinkCd}
+		        (CASE WHEN #{mode} = 'N' THEN
+		                  (SELECT CONCAT('AL',IFNULL(LPAD(SUBSTRING(MAX(AF_LINK_CD),3) + 1,3,'0'),'000'))
+		                   FROM   TB_AF_LINK Z)
+		              ELSE
+		                  #{afLinkCd}
+		         END
+		        )
 		     , #{afLinkNm}
 		     , #{afChannel}
 		     , #{feeRate}

+ 13 - 6
src/main/webapp/WEB-INF/views/business/AflinkForm.html

@@ -83,6 +83,8 @@
 					<!-- //버튼 배치 영역 -->
 					
 					<form id="detailForm" name="detailForm" action="#" th:action="@{'/business/aflink/save'}">
+						<input type="hidden" name="mode" value="N"/>
+						
 						<table class="frmStyle">
 							<colgroup>
 								<col style="width:30%"/>
@@ -91,7 +93,10 @@
 							<tr>
 								<th>제휴코드<i class="star"></i></th>
 								<td>
-									<input type="text" class="w100" name="afLinkCd" placeholder="" maxlength="5" required="required" data-valid-type="alphaNumeric" data-valid-name="제휴코드" onkeyup="$(this).val($(this).val().toUpperCase());"/>
+									<input type="text" class="w100" name="afLinkCd" placeholder="자동생성" maxlength="5" onkeyup="$(this).val($(this).val().toUpperCase());" readonly="readonly"/>
+									<span class="infoTxt cBlue">
+										<i class="fa fa-info-circle" aria-hidden="true"></i>AL+일련번호3자리로 자동생성
+									</span>
 								</td>
 							</tr>
 							<tr>
@@ -112,7 +117,7 @@
 							<tr>
 								<th>마진율<i class="star"></i></th>
 								<td>
-									<input type="text" class="w100 text-right" name="feeRate" placeholder="" maxlength="3" required="required" data-valid-type="real" data-valid-name="마진율" />%
+									<input type="text" class="w100 text-right" name="feeRate" placeholder="" maxlength="3" required="required" data-valid-type="preal" data-valid-name="마진율" />%
 								</td>
 							</tr>
 							<tr>
@@ -176,8 +181,9 @@
 		if (event.colDef.field != 'afLinkNm')
 			return;
 		
+		$('#detailForm input[name=mode]').val('U');
 		$('#detailForm input[name=afLinkCd]').val(event.data.afLinkCd);
-		$('#detailForm input[name=afLinkCd]').attr('readonly', true);
+// 		$('#detailForm input[name=afLinkCd]').attr('readonly', true);
 		$('#detailForm input[name=afLinkNm]').val(event.data.afLinkNm);
 		$('#detailForm select[name=afChannel]').val(event.data.afChannel);
 		$('#detailForm input[name=feeRate]').val(event.data.feeRate);
@@ -206,11 +212,12 @@
 	// 신규
 	$('#btnNew').on('click', function() {
 		$('#detailForm')[0].reset();
-		$('#detailForm input[name=afLinkCd]').attr('readonly', false);
-		$('#detailForm input[name=afLinkCd]').removeClass('formControl');
+		$('#detailForm input[name=mode]').val('N');
+// 		$('#detailForm input[name=afLinkCd]').attr('readonly', false);
+// 		$('#detailForm input[name=afLinkCd]').removeClass('formControl');
 		$('#detailForm input:checkbox[name=chkUseYn]').attr('disabled', true);
 		$('#detailForm input:checkbox[name=chkUseYn]').addClass('formControl');
-		$('#detailForm input[name=afLinkCd]').focus();
+		$('#detailForm input[name=afLinkNm]').focus();
 	});
 	
 	// 사용안함 버튼 클릭 시

+ 1 - 1
src/main/webapp/WEB-INF/views/business/DeliveryLocForm.html

@@ -360,7 +360,7 @@
 		} else { // 입점업체
 			if (mode == 'N') {
 				$('#detailForm input[name=delvLocCd]').attr('readonly', true); // 직접입력 불가
-				$('#detailForm input[name=delvLocCd]').val('');
+				$('#detailForm input[name=delvLocCd]').val('AUTO');
 				$('#detailForm input[name=delvLocCd]').attr('placeholder', '자동생성');
 			}
 		

+ 30 - 0
src/main/webapp/WEB-INF/views/display/MainGnbContentsPopupForm.html

@@ -325,6 +325,13 @@
 				dupCnt++;
 				return false;
 			}
+			$("#tabTable"+thisIdx+" #tabBrand1 #brandListTd1").find('ul').find('input[name=imgPath1]').each(function (j){
+				if(gagajf.isNull($(this).val()) || $(this).val() == "null"){
+					mcxDialog.alert((i+1)+"번째 컨텐츠영역 GROUP1의 "+(j+1)+"번째 브랜드 이미지 정보가 없습니다.");
+					dupCnt++;
+					return false;
+				}
+			});
 
 			if($("#tabTable"+thisIdx+" #tabBrand2 #brandListTd2").find('ul').find('input[name=brandGroupNo]').length < 1){
 				mcxDialog.alert((i+1)+"번째 컨텐츠영역의 2번째 브랜드 정보가 없습니다.");
@@ -332,6 +339,13 @@
 				dupCnt++;
 				return false;
 			}
+			$("#tabTable"+thisIdx+" #tabBrand2 #brandListTd2").find('ul').find('input[name=imgPath1]').each(function (k){
+				if(gagajf.isNull($(this).val()) || $(this).val() == "null"){
+					mcxDialog.alert((i+1)+"번째 컨텐츠영역 GROUP2의 "+(k+1)+"번째 브랜드 이미지 정보가 없습니다.");
+					dupCnt++;
+					return false;
+				}
+			});
 
 			if($("#tabTable"+thisIdx+" #tabBrand3 #brandListTd3").find('ul').find('input[name=brandGroupNo]').length < 1){
 				mcxDialog.alert((i+1)+"번째 컨텐츠영역의 3번째 브랜드 정보가 없습니다.");
@@ -339,6 +353,13 @@
 				dupCnt++;
 				return false;
 			}
+			$("#tabTable"+thisIdx+" #tabBrand3 #brandListTd3").find('ul').find('input[name=imgPath1]').each(function (m){
+				if(gagajf.isNull($(this).val()) || $(this).val() == "null"){
+					mcxDialog.alert((i+1)+"번째 컨텐츠영역 GROUP3의 "+(m+1)+"번째 브랜드 이미지 정보가 없습니다.");
+					dupCnt++;
+					return false;
+				}
+			});
 		});
 
 		// if(!dataBool){
@@ -670,6 +691,9 @@
 			for(let k=0; k<g1cdArr.length; k++){
 				html += '<ul id="brandUl' + k + '" class="item ui-state-default brandClass" style="min-height:80px;max-height:80px;">';
 				html += '	<input type="hidden" name="brandGroupNo" value="' + g1cdArr[k] + '">';
+				if(!gagajf.isNull(g1imgArr)){
+					html += '	<input type="hidden" name="imgPath1" value="' + g1imgArr[k] + '">';
+				}
 				html += '	<li class="img">';
 				if(gagajf.isNull(g1imgArr)){
 					html += '		<img style="height:65px;" src="" onerror="this.src=\'/image/no.png\';"/>';
@@ -701,6 +725,9 @@
 			for(let m=0; m<g2cdArr.length; m++){
 				html += '<ul id="brandUl' + m + '" class="item ui-state-default brandClass" style="min-height:80px;max-height:80px;">';
 				html += '	<input type="hidden" name="brandGroupNo" value="' + g2cdArr[m] + '">';
+				if(!gagajf.isNull(g2imgArr)){
+					html += '	<input type="hidden" name="imgPath1" value="' + g2imgArr[m] + '">';
+				}
 				html += '	<li class="img">';
 				if(gagajf.isNull(g2imgArr)){
 					html += '		<img style="height:65px;" src="" onerror="this.src=\'/image/no.png\';"/>';
@@ -732,6 +759,9 @@
 			for(let n=0; n<g3cdArr.length; n++){
 				html += '<ul id="brandUl' + n + '" class="item ui-state-default brandClass" style="min-height:80px;max-height:80px;">';
 				html += '	<input type="hidden" name="brandGroupNo" value="' + g3cdArr[n] + '">';
+				if(!gagajf.isNull(g3imgArr)){
+					html += '	<input type="hidden" name="imgPath1" value="' + g3imgArr[n] + '">';
+				}
 				html += '	<li class="img">';
 				if(gagajf.isNull(g3imgArr)){
 					html += '		<img style="height:65px;" src="" onerror="this.src=\'/image/no.png\';"/>';

+ 0 - 1
src/main/webapp/WEB-INF/views/order/ExchangeRequestForm.html

@@ -1232,7 +1232,6 @@ $(document).ready(function() {
 		$('.chger').css('display', 'none');
 		$('input:radio[name=wdGb]').attr('disabled', true);
 	} else {
-		alert(wdGb);
 		if (wdGb == 'D') {
 			$('input:radio[name="wdGb"]:radio[value="D"]').prop('checked', true);
 			$('.chger').css('display', 'none');

+ 8 - 0
src/main/webapp/WEB-INF/views/system/UserDetailForm.html

@@ -359,6 +359,14 @@
 			return;
 		}
 		
+		if (!gagajf.checkPassword($('#userDetailForm input[name=passwd]'))) {
+			return false;
+		}
+		
+		if (!gagajf.checkPassword($('#userDetailForm input[name=passwdConfirm]'))) {
+			return false;
+		}
+		
 		mcxDialog.confirm("비밀번호를 변경하시겠습니까?", {
 			cancelBtnText: "취소",
 			sureBtnText: "확인",