Jelajahi Sumber

Merge remote-tracking branch 'origin/style' into ST24PRJ-198(다다익선등록오류)

jsh77b@naver.com 4 tahun lalu
induk
melakukan
ee0b46073f

+ 6 - 2
src/main/java/com/style24/admin/biz/service/TsaGoodsService.java

@@ -3750,7 +3750,9 @@ public class TsaGoodsService {
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		if (!UPDATE_NO_PATTERN.equals(goodsMass.getPntPrate().trim())) {
+		if (UPDATE_NO_PATTERN.equals(goodsMass.getPntPrate().trim())) {
+			goods.setPntPrate(goodsOrigin.getPntPrate());
+		} else {
 			try {
 				float pntPrate = Float.valueOf(goodsMass.getPntPrate().trim());
 				goods.setPntPrate(pntPrate);
@@ -3783,7 +3785,9 @@ public class TsaGoodsService {
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		if (!UPDATE_NO_PATTERN.equals(goodsMass.getPntMrate().trim())) {
+		if (UPDATE_NO_PATTERN.equals(goodsMass.getPntMrate().trim())) {
+			goods.setPntMrate(goodsOrigin.getPntMrate());
+		} else {
 			try {
 				int pntMrate = Integer.parseInt(goodsMass.getPntMrate().trim());
 				goods.setPntMrate(pntMrate);

+ 188 - 136
src/main/java/com/style24/admin/biz/service/TsaShoplinkerService.java

@@ -255,7 +255,7 @@ public class TsaShoplinkerService {
 					regMap.setXmlTxt(sbRequest.toString());
 					regMap.setApiResult(TscConstants.ShoplinkerApiStat.S_ERROR.value());
 					if( "".equals(detailDesc)) {
-						regMap.setApiMessage("API 전송안함 : 상세설명 관련정보가 없습니다.");
+						regMap.setApiMessage("API 전송안함 : 상품상세설명 관련정보가 없습니다.");
 					}else {
 						regMap.setApiMessage("API 전송안함 : 샵링커 품목매핑정보가 없습니다. (자사품목코드: "+goodsMap.getItemkindCd()+")");
 					}
@@ -284,7 +284,8 @@ public class TsaShoplinkerService {
 	 * @since 2021. 5. 20
 	 */
 	private String setDetailDesc(ShoplinkerGoods shoplinkerGoods, ShoplinkerGoods goodsMap) {
-
+		String sendYn = "Y";	// 샵링커 전송가능여부
+		String tobeYNot = "N";	// TOBE_FORM_YN = Y & 기술서 매칭이미지 없음 & 기존상세내용 있음 인경우 체크 
 		String htmlDesc = "";
 		ShoplinkerGoods imgParam = new ShoplinkerGoods();	// shoplinkerGoods에 set하지 않도록 주의(미초기화 시 그다음 상품정보에 영향을 미침)
 		imgParam.setGoodsCd(shoplinkerGoods.getGoodsCd());
@@ -349,6 +350,43 @@ public class TsaShoplinkerService {
 			// 제대로된 정보 없을 경우, 기존 상세내용으로 보냄
 			if( "".equals(dImgFront) && dImgModelList.size() < 1 && dImgDetailList.size() < 1) {
 				htmlDesc = descStr;
+				
+				// 글자수 적은건 제외 처리 (C214DNG01P 의 경우, "<p><br></p>" 값이 들어가 있어서 세팅이 안되므로 세팅해주기 위함.)  
+				if(null != descStr) {
+					if(descStr.length() < 20 ) {
+						descStr = "";
+					}else {
+						tobeYNot = "Y";
+					}
+				}
+				
+				if(!StringUtils.isNotBlank(descStr)) {
+					descStr = ""; // 초기화
+					
+					ShoplinkerGoods allImgParam = new ShoplinkerGoods();
+					allImgParam.setGoodsCd(imgParam.getGoodsCd());
+					imgParam.setExtmallImgYn("N");
+					imgParam.setExtmallDescImgYn("N");
+					imgParam.setColorListYn("N");
+					Collection<ShoplinkerGoods> allImgList = admShoplinkerDao.getGoodsImageList(imgParam);
+					
+					for(ShoplinkerGoods map : allImgList) {
+						descStr += "<img src=\""+ imgPath+"/"+map.getSysImgNm()+"\" alt=\"\" style=\"max-width:720px;width:auto;margin: 10px auto 0;display: block;\">";
+					}
+				}
+				
+				// 세팅할 이미지가 없을경우 샵링커에 전송하지 않음 처리 21.12.27 추가
+				if(!StringUtils.isNotBlank(descStr)) {
+					sendYn = "N";
+				}else {
+					if( !"Y".equals(tobeYNot)) {
+						htmlDesc = "<div class=\"st_view_outfit_box\" style=\"margin-top: 100px;text-align: center;\">";
+						htmlDesc += descStr + "</div>";
+					}else {
+						htmlDesc = "<div style=\"max-width:1200px; margin:auto;\">";
+						htmlDesc += descStr + "</div>";
+					}
+				}
 
 			}else {
 				htmlDesc = ""; // 초기화
@@ -461,81 +499,85 @@ public class TsaShoplinkerService {
 				}
 
                 htmlDesc += dtlDesc;
+			}    
+            
 
-                // 이미지 경로 수정
-                htmlDesc = htmlDesc.replace("http://www.istyle24.com/Upload/", "http://image.istyle24.com/Local/")
-    					.replace("http://www.istyle24.com/Images", "http://image.istyle24.com/Statics/design/Images");
-
-    			if( -1 < htmlDesc.indexOf("\"/Upload")) {
-    				htmlDesc = htmlDesc.replace("/Upload", "http://image.istyle24.com/Local");
-    			}
-    			// 이미지 경로 수정
-
-                // 7) 상세내용 - 사이즈
-                Collection<ShoplinkerGoods> sizeList = admShoplinkerDao.getGoodsSizeList(shoplinkerGoods);
-                if (sizeList == null || sizeList.isEmpty()) {
-                	//대표상품 실측정사이즈표 없을경우 > 브랜드 별 표준 이미지
-                	htmlDesc += "<div class=\"st_view_size_box\" style=\"margin-top: 100px;text-align: center;\">";
-                	htmlDesc += "<span class=\"st_tit_view\" style=\"display: block;color: #222;font-size: 32px;font-weight: 300;text-align: center;\">사이즈정보</span>";
-                	htmlDesc += "<div class=\"st_view\" style=\"margin-top: 40px;\">";
-
-                	String brandSizeImg = env.getProperty("domain.image").replace("/Upload", "") + "/Upload/brandSizeImg/";
-                	if( "Y".equals(goodsMap.getKidsYn())){
-                		// 나이키 조던/나이키 에스비/나이키 와이에이/컨버스/헐리 는 플레이키즈 사이즈표
-        	    		if( "S0003".equals(goodsMap.getBrandCd()) || "S0004".equals(goodsMap.getBrandCd()) || "S0007".equals(goodsMap.getBrandCd())
-        	    			|| "S0001".equals(goodsMap.getBrandCd()) || "S0006".equals(goodsMap.getBrandCd())){
-
-        	    			brandSizeImg += "kids/PLAYKIZ.jpg";
-        	    		}else {
-        	    			brandSizeImg += "kids/"+goodsMap.getBrandEnm() +".jpg";
-        	    		}
-
-        	    		htmlDesc += "<img src=\""+ brandSizeImg +"\" alt=\"표준 사이즈\" style=\"display: block;margin: 10px auto 0;\">";
-
-                	}else {
-                		brandSizeImg += "casuals/"+goodsMap.getBrandEnm() +".jpg";
-                		htmlDesc += "<img src=\""+ brandSizeImg +"\" alt=\"표준 사이즈\" style=\"display: block;margin: 10px auto 0;\">";
-                	}
-                    htmlDesc += "</div>";
-                    htmlDesc += "</div>";
-
-                }else {
-
-                	htmlDesc += "<div class=\"st_view_size_box\" style=\"margin-top: 100px;text-align: center;\">";
-                	htmlDesc += "<span class=\"st_tit_view\" style=\"display: block;color: #222;font-size: 32px;font-weight: 300;text-align: center;\">사이즈정보</span>";
-                	htmlDesc += "<div class=\"st_view\" style=\"margin-top: 40px;\">";
-
-                	htmlDesc += "<div class=\"st_tbl\" style=\"padding:0; border-top:1px solid #000;\">";
-                	htmlDesc += "<table style=\"margin:0;padding:0;border-collapse:collapse;border-spacing:0;width:100%;border-top:1px solid #000;word-break:keep-all;\">";
-                	htmlDesc += "<thead style=\"\">";
-                	htmlDesc += "<tr style=\"\">";
-
-                	int cnt = 0;
-                	for(ShoplinkerGoods size : sizeList) {
-
-                		if( 0 == cnt ) {
-                			if( "하의".equals(size.getSizeTypecd())) {
-                				htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\"></th>";
-        	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">허리둘레(cm)</th>";
-        	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">밑위(cm)</th>";
-        	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">엉덩이둘레(cm)</th>";
-        	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">허벅지둘레(cm)</th>";
-        	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">총길이(cm)</th>";
-                			}else {
-                				htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\"></th>";
-        	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">가슴둘레(cm)</th>";
-        	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">어깨너비(cm)</th>";
-        	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">팔길이(cm)</th>";
-        	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">총길이(cm)</th>";
-                			}
-                			htmlDesc += "</tr>";
-    	                	htmlDesc += "</thead>";
-    	                	htmlDesc += "<tbody style=\"\">";
-                		}
-
-                		htmlDesc += "<tr style=\"\">";
-                		htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">"+ size.getOptCd2() +"</th>";
-        				htmlDesc += "<td style=\"position:relative; padding:20px 0; border-bottom:1px solid #ddd; font-weight:200; font-size:16px; letter-spacing:-0.025em; text-align:center;\">"+ size.getSizeValue1() +"</td>";
+			// 이미지 경로 수정
+            htmlDesc = htmlDesc.replace("http://www.istyle24.com/Upload/", "http://image.istyle24.com/Local/")
+					.replace("http://www.istyle24.com/Images", "http://image.istyle24.com/Statics/design/Images");
+
+			if( -1 < htmlDesc.indexOf("\"/Upload")) {
+				htmlDesc = htmlDesc.replace("/Upload", "http://image.istyle24.com/Local");
+			}
+			// 이미지 경로 수정
+
+			// 기술서아닌 상세내용 세팅에 사이즈정보가 있어서 중복으로 보여주지 않도록 처리 (ex A214PT184P 등)
+			if( !"Y".equals(tobeYNot)){
+	            // 7) 상세내용 - 사이즈
+	            Collection<ShoplinkerGoods> sizeList = admShoplinkerDao.getGoodsSizeList(shoplinkerGoods);
+	            if (sizeList == null || sizeList.isEmpty()) {
+	            	//대표상품 실측정사이즈표 없을경우 > 브랜드 별 표준 이미지
+	            	htmlDesc += "<div class=\"st_view_size_box\" style=\"margin-top: 100px;text-align: center;\">";
+	            	htmlDesc += "<span class=\"st_tit_view\" style=\"display: block;color: #222;font-size: 32px;font-weight: 300;text-align: center;\">사이즈정보</span>";
+	            	htmlDesc += "<div class=\"st_view\" style=\"margin-top: 40px;\">";
+	
+	            	String brandSizeImg = env.getProperty("domain.image").replace("/Upload", "") + "/Upload/brandSizeImg/";
+	            	if( "Y".equals(goodsMap.getKidsYn())){
+	            		// 나이키 조던/나이키 에스비/나이키 와이에이/컨버스/헐리 는 플레이키즈 사이즈표
+	    	    		if( "S0003".equals(goodsMap.getBrandCd()) || "S0004".equals(goodsMap.getBrandCd()) || "S0007".equals(goodsMap.getBrandCd())
+	    	    			|| "S0001".equals(goodsMap.getBrandCd()) || "S0006".equals(goodsMap.getBrandCd())){
+	
+	    	    			brandSizeImg += "kids/PLAYKIZ.jpg";
+	    	    		}else {
+	    	    			brandSizeImg += "kids/"+goodsMap.getBrandEnm() +".jpg";
+	    	    		}
+	
+	    	    		htmlDesc += "<img src=\""+ brandSizeImg +"\" alt=\"표준 사이즈\" style=\"display: block;margin: 10px auto 0;\">";
+	
+	            	}else {
+	            		brandSizeImg += "casuals/"+goodsMap.getBrandEnm() +".jpg";
+	            		htmlDesc += "<img src=\""+ brandSizeImg +"\" alt=\"표준 사이즈\" style=\"display: block;margin: 10px auto 0;\">";
+	            	}
+	                htmlDesc += "</div>";
+	                htmlDesc += "</div>";
+	
+	            }else {
+	
+	            	htmlDesc += "<div class=\"st_view_size_box\" style=\"margin-top: 100px;text-align: center;\">";
+	            	htmlDesc += "<span class=\"st_tit_view\" style=\"display: block;color: #222;font-size: 32px;font-weight: 300;text-align: center;\">사이즈정보</span>";
+	            	htmlDesc += "<div class=\"st_view\" style=\"margin-top: 40px;\">";
+	
+	            	htmlDesc += "<div class=\"st_tbl\" style=\"padding:0; border-top:1px solid #000;\">";
+	            	htmlDesc += "<table style=\"margin:0;padding:0;border-collapse:collapse;border-spacing:0;width:100%;border-top:1px solid #000;word-break:keep-all;\">";
+	            	htmlDesc += "<thead style=\"\">";
+	            	htmlDesc += "<tr style=\"\">";
+	
+	            	int cnt = 0;
+	            	for(ShoplinkerGoods size : sizeList) {
+	
+	            		if( 0 == cnt ) {
+	            			if( "하의".equals(size.getSizeTypecd())) {
+	            				htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\"></th>";
+	    	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">허리둘레(cm)</th>";
+	    	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">밑위(cm)</th>";
+	    	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">엉덩이둘레(cm)</th>";
+	    	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">허벅지둘레(cm)</th>";
+	    	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">총길이(cm)</th>";
+	            			}else {
+	            				htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\"></th>";
+	    	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">가슴둘레(cm)</th>";
+	    	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">어깨너비(cm)</th>";
+	    	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">팔길이(cm)</th>";
+	    	                	htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">총길이(cm)</th>";
+	            			}
+	            			htmlDesc += "</tr>";
+		                	htmlDesc += "</thead>";
+		                	htmlDesc += "<tbody style=\"\">";
+	            		}
+	
+	            		htmlDesc += "<tr style=\"\">";
+	            		htmlDesc += "<th style=\"position:relative;padding:20px 0;border-bottom:1px solid #ddd;font-weight:500;font-size:16px;letter-spacing:-0.025em;text-align:center;\">"+ size.getOptCd2() +"</th>";
+	    				htmlDesc += "<td style=\"position:relative; padding:20px 0; border-bottom:1px solid #ddd; font-weight:200; font-size:16px; letter-spacing:-0.025em; text-align:center;\">"+ size.getSizeValue1() +"</td>";
 						htmlDesc += "<td style=\"position:relative; padding:20px 0; border-bottom:1px solid #ddd; font-weight:200; font-size:16px; letter-spacing:-0.025em; text-align:center;\">"+ size.getSizeValue2() +"</td>";
 						htmlDesc += "<td style=\"position:relative; padding:20px 0; border-bottom:1px solid #ddd; font-weight:200; font-size:16px; letter-spacing:-0.025em; text-align:center;\">"+ size.getSizeValue3() +"</td>";
 						htmlDesc += "<td style=\"position:relative; padding:20px 0; border-bottom:1px solid #ddd; font-weight:200; font-size:16px; letter-spacing:-0.025em; text-align:center;\">"+ size.getSizeValue4() +"</td>";
@@ -543,28 +585,28 @@ public class TsaShoplinkerService {
 							htmlDesc += "<td style=\"position:relative; padding:20px 0; border-bottom:1px solid #ddd; font-weight:200; font-size:16px; letter-spacing:-0.025em; text-align:center;\">"+ size.getSizeValue5() +"</td>";
 						}
 						htmlDesc += "</tr>";
-                		cnt ++;
-                	}
-
-                	htmlDesc += "</tbody>";
-                	htmlDesc += "</table>";
-        			htmlDesc += "</div>";
+	            		cnt ++;
+	            	}
+	
+	            	htmlDesc += "</tbody>";
+	            	htmlDesc += "</table>";
+	    			htmlDesc += "</div>";
 					htmlDesc += "</div>";
 					htmlDesc += " </div>";
-                }
-                
-                // https 추가
-                if( -1 < htmlDesc.indexOf("src=\"//image")) {
-    				htmlDesc = htmlDesc.replaceAll("src=\"//image", "src=\"https://image");
-    			}
-
-                // 8) 상세내용 - 상품필수정보
-                ShoplinkerGoods certInfo = admShoplinkerDao.getCert(shoplinkerGoods);
-                if( null != certInfo) {
-                	if( "G083_1".equals(certInfo.getCertTargetGb())) {	// 인증대상
-
-                		if( null == certInfo.getCertNum() || "".equals(certInfo.getCertNum())) {
-                			if( null != certInfo.getCertDiv()) {
+	            }
+	            
+	            // https 추가
+	            if( -1 < htmlDesc.indexOf("src=\"//image")) {
+					htmlDesc = htmlDesc.replaceAll("src=\"//image", "src=\"https://image");
+				}
+	
+	            // 8) 상세내용 - 상품필수정보
+	            ShoplinkerGoods certInfo = admShoplinkerDao.getCert(shoplinkerGoods);
+	            if( null != certInfo) {
+	            	if( "G083_1".equals(certInfo.getCertTargetGb())) {	// 인증대상
+	
+	            		if( null == certInfo.getCertNum() || "".equals(certInfo.getCertNum())) {
+	            			if( null != certInfo.getCertDiv()) {
 	                			htmlDesc += "<div class=\"st_required_box\" style=\"margin-bottom:80px;\">";
 	                			htmlDesc += "<div class=\"st_area_kcl\" style=\"color:#222;display:block; position:relative; min-height:160px; margin-top:100px; padding:40px 40px 40px 160px; box-sizing:border-box; background:#f5f5f5;\">";
 	                			htmlDesc += "<i class=\"st_ico_kcl\" style=\"position:absolute;left:64px;top:50%;transform:translateY(-50%);z-index:2;background-image: url('https://image.istyle24.com/Style24/images/pc/ico_kcl.png');width: 32px;height: 50px;display: inline-block;vertical-align: middle;background-repeat: no-repeat;background-size: contain;background-position: 0% 0%;\"></i>";
@@ -580,47 +622,57 @@ public class TsaShoplinkerService {
 	                            htmlDesc += "</p>";
 	                            htmlDesc += "</div>";
 	                            htmlDesc += "</div>";
-                			}
-                		}else {
-                			htmlDesc += "<div class=\"st_required_box\" style=\"margin-bottom:80px;\">";
-                			htmlDesc += "<div class=\"st_area_kcl\" style=\"display:block; position:relative; min-height:160px; margin-top:100px; padding:40px 40px 40px 160px; box-sizing:border-box; background:#f5f5f5;\">";
-                			htmlDesc += "<i class=\"st_ico_kcl\" style=\"position:absolute;left:64px;top:50%;transform:translateY(-50%);z-index:2;background-image: url('https://image.istyle24.com/Style24/images/pc/ico_kcl.png');width: 32px;height: 50px;display: inline-block;vertical-align: middle;background-repeat: no-repeat;background-size: contain;background-position: 0% 0%;\"></i>";
-                			htmlDesc += "<p class=\"st_tit\" style=\"margin-top:0;color:#222;font-size:16px;font-weight:300;line-height:1;letter-spacing:-0.025em;\">";
-                			htmlDesc += certInfo.getCertDiv() +"/"+ certInfo.getCertOrganName();
-                            htmlDesc += "</p>";
-                            htmlDesc += "<p style=\"margin-top:20px; color:#222; font-size:13px; font-weight: 300; line-height:1; letter-spacing:-0.025em;\">";
-                            htmlDesc += "인증번호: "+ certInfo.getCertNum();
-                            htmlDesc += "<a href=\"http://www.safetykorea.kr/search/searchPop?certNum="+certInfo.getCertNum()+ "\" target=\"_blank\" class=\"st_linktxt3\" style=\"margin-left:20px; color:#888; font-weight:200; text-decoration:none !important;\">상세보기</a>";
-                            htmlDesc += "</p>";
-                            htmlDesc += "<p class=\"st_dot_info\" style=\"color: #888888;position:relative;margin-top:20px;font-size:13px;font-weight:300;line-height:1;letter-spacing:-0.025em;\">";
-                            htmlDesc += "<span style=\"color: #888888 !important;background: #888888 !important;display: inline-block;width: 2px;height: 2px;position: relative;top: -4px;left: 0px;margin-right: 4px;\"></span>";
-                            htmlDesc += "해당 인증정보는 판매자가 등록한 것으로 등록정보에 대한 일체의 책임은 판매자에게 있습니다.";
-                            htmlDesc += "</p>";
-                            htmlDesc += "</div>";
-                            htmlDesc += "</div>";
-                		}
-
-                	}else if( "G083_3".equals(certInfo.getCertTargetGb())) {	// 상세설명별도표기
-                		htmlDesc += "<div class=\"st_required_box\" style=\"margin-bottom:80px;\">";
-                		htmlDesc += "<div class=\"st_area_kcl st_no-mark\" style=\"display:block;position:relative;min-height:160px;margin-top:100px;padding:40px 40px 40px 160px;box-sizing:border-box;background:#f5f5f5;padding-left:65px;\">";
-                		htmlDesc += "<p class=\"st_tit\" style=\"margin-top:0;color:#222;font-size:16px;font-weight:300;line-height:1;letter-spacing:-0.025em;\">";
-                		htmlDesc += certInfo.getCertTargetNm();
-                        htmlDesc += "</p>";
-                        htmlDesc += "<p style=\"margin-top:20px; color:#222; font-size:13px; font-weight: 300; line-height:1; letter-spacing:-0.025em;\">";
-                        htmlDesc += "제품 상세정보 내 표기되어 있습니다. 상품 정보를 확인해주세요.";
-                        htmlDesc += "</p>";
-                        htmlDesc += "<p class=\"st_dot_info\" style=\"color: #888888;position:relative;margin-top:20px;font-size:13px;font-weight:300;line-height:1;letter-spacing:-0.025em;\">";
-                        htmlDesc += "<span style=\"color: #888888 !important;background: #888888 !important;display: inline-block;width: 2px;height: 2px;position: relative;top: -4px;left: 0px;margin-right: 4px;\"></span>";
-                        htmlDesc += "해당 인증정보는 판매자가 등록한 것으로 등록정보에 대한 일체의 책임은 판매자에게 있습니다.";
-                        htmlDesc += "</p>";
-                        htmlDesc += "</div>";
-                        htmlDesc += "</div>";
-                	}else {
-                		// G083_2 - 인증대상아님
-                	}
-                }
+	            			}
+	            		}else {
+	            			htmlDesc += "<div class=\"st_required_box\" style=\"margin-bottom:80px;\">";
+	            			htmlDesc += "<div class=\"st_area_kcl\" style=\"display:block; position:relative; min-height:160px; margin-top:100px; padding:40px 40px 40px 160px; box-sizing:border-box; background:#f5f5f5;\">";
+	            			htmlDesc += "<i class=\"st_ico_kcl\" style=\"position:absolute;left:64px;top:50%;transform:translateY(-50%);z-index:2;background-image: url('https://image.istyle24.com/Style24/images/pc/ico_kcl.png');width: 32px;height: 50px;display: inline-block;vertical-align: middle;background-repeat: no-repeat;background-size: contain;background-position: 0% 0%;\"></i>";
+	            			htmlDesc += "<p class=\"st_tit\" style=\"margin-top:0;color:#222;font-size:16px;font-weight:300;line-height:1;letter-spacing:-0.025em;\">";
+	            			htmlDesc += certInfo.getCertDiv() +"/"+ certInfo.getCertOrganName();
+	                        htmlDesc += "</p>";
+	                        htmlDesc += "<p style=\"margin-top:20px; color:#222; font-size:13px; font-weight: 300; line-height:1; letter-spacing:-0.025em;\">";
+	                        htmlDesc += "인증번호: "+ certInfo.getCertNum();
+	                        htmlDesc += "<a href=\"http://www.safetykorea.kr/search/searchPop?certNum="+certInfo.getCertNum()+ "\" target=\"_blank\" class=\"st_linktxt3\" style=\"margin-left:20px; color:#888; font-weight:200; text-decoration:none !important;\">상세보기</a>";
+	                        htmlDesc += "</p>";
+	                        htmlDesc += "<p class=\"st_dot_info\" style=\"color: #888888;position:relative;margin-top:20px;font-size:13px;font-weight:300;line-height:1;letter-spacing:-0.025em;\">";
+	                        htmlDesc += "<span style=\"color: #888888 !important;background: #888888 !important;display: inline-block;width: 2px;height: 2px;position: relative;top: -4px;left: 0px;margin-right: 4px;\"></span>";
+	                        htmlDesc += "해당 인증정보는 판매자가 등록한 것으로 등록정보에 대한 일체의 책임은 판매자에게 있습니다.";
+	                        htmlDesc += "</p>";
+	                        htmlDesc += "</div>";
+	                        htmlDesc += "</div>";
+	            		}
+	
+	            	}else if( "G083_3".equals(certInfo.getCertTargetGb())) {	// 상세설명별도표기
+	            		htmlDesc += "<div class=\"st_required_box\" style=\"margin-bottom:80px;\">";
+	            		htmlDesc += "<div class=\"st_area_kcl st_no-mark\" style=\"display:block;position:relative;min-height:160px;margin-top:100px;padding:40px 40px 40px 160px;box-sizing:border-box;background:#f5f5f5;padding-left:65px;\">";
+	            		htmlDesc += "<p class=\"st_tit\" style=\"margin-top:0;color:#222;font-size:16px;font-weight:300;line-height:1;letter-spacing:-0.025em;\">";
+	            		htmlDesc += certInfo.getCertTargetNm();
+	                    htmlDesc += "</p>";
+	                    htmlDesc += "<p style=\"margin-top:20px; color:#222; font-size:13px; font-weight: 300; line-height:1; letter-spacing:-0.025em;\">";
+	                    htmlDesc += "제품 상세정보 내 표기되어 있습니다. 상품 정보를 확인해주세요.";
+	                    htmlDesc += "</p>";
+	                    htmlDesc += "<p class=\"st_dot_info\" style=\"color: #888888;position:relative;margin-top:20px;font-size:13px;font-weight:300;line-height:1;letter-spacing:-0.025em;\">";
+	                    htmlDesc += "<span style=\"color: #888888 !important;background: #888888 !important;display: inline-block;width: 2px;height: 2px;position: relative;top: -4px;left: 0px;margin-right: 4px;\"></span>";
+	                    htmlDesc += "해당 인증정보는 판매자가 등록한 것으로 등록정보에 대한 일체의 책임은 판매자에게 있습니다.";
+	                    htmlDesc += "</p>";
+	                    htmlDesc += "</div>";
+	                    htmlDesc += "</div>";
+	            	}else {
+	            		// G083_2 - 인증대상아님
+	            	}
+	            }
 			}
+		}else {
+			// 기존 상세내용
+			if(!StringUtils.isNotBlank(descStr)) {
+				sendYn = "N";
+			}
+		}
+		
+		if("N".equals(sendYn)) {
+			htmlDesc = "";
 		}
+		
 		return htmlDesc;
 	}
 
@@ -840,7 +892,7 @@ public class TsaShoplinkerService {
 		StringBuilder xmlFileName = new StringBuilder();
 
 		try {
-			GagaShoplinkertUtil shoplinkerUtil = new GagaShoplinkertUtil("MS949");
+			GagaShoplinkertUtil shoplinkerUtil = new GagaShoplinkertUtil("UTF-8");	//MS949 특수문자 깨짐으로 인해 UTF-8로 변경
 
 			// XML 파일 생성
 			xmlFileName = new StringBuilder();

+ 8 - 5
src/main/java/com/style24/persistence/mybatis/shop/TsaShoplinker.xml

@@ -82,7 +82,7 @@
 				WHEN SUBSTRING(A.ITEMKIND_CD, 1, 2) = '08' || SUBSTRING(A.ITEMKIND_CD, 1, 2) = '09'
 					|| SUBSTRING(A.ITEMKIND_CD, 1, 2) = '10' || SUBSTRING(A.ITEMKIND_CD, 1, 2) = '11'
 					|| SUBSTRING(A.ITEMKIND_CD, 1, 2) = '12' || SUBSTRING(A.ITEMKIND_CD, 1, 2) = '13'
-					|| SUBSTRING(A.ITEMKIND_CD, 1, 4) = '1403'
+					|| SUBSTRING(A.ITEMKIND_CD, 1, 2) = '07' || SUBSTRING(A.ITEMKIND_CD, 1, 4) = '1403'
 			  	THEN 'Y'
 			  	ELSE 'N'
 			  END KIDS_YN
@@ -99,15 +99,17 @@
 	<select id="getGoodsImageList" parameterType="ShoplinkerGoods" resultType="ShoplinkerGoods">
 		/* TsaShoplinker.getGoodsImageList */
 		SELECT
-			B.GOODS_CD
+			DISTINCT B.GOODS_CD
 		     , B.COLOR_CD
 		     , C.COLOR_KNM
 		     , B.DISP_ORD
 		     , B.SYS_IMG_NM
 		     , B.DEFAULT_IMG_YN
 		     , B.EXTMALL_IMG_YN
-		FROM   TB_GOODS A INNER JOIN TB_GOODS_IMG B ON A.GOODS_CD = B.GOODS_CD
-				LEFT OUTER JOIN TB_COLOR C ON B.COLOR_CD = C.COLOR_CD
+		FROM   TB_GOODS A 
+		INNER JOIN TB_GOODS_IMG B ON A.GOODS_CD = B.GOODS_CD
+		INNER JOIN TB_OPTION OP ON A.GOODS_CD = OP.GOODS_CD AND B.COLOR_CD = OP.OPT_CD1 
+		LEFT OUTER JOIN TB_COLOR C ON B.COLOR_CD = C.COLOR_CD
 		WHERE A.GOODS_CD = #{goodsCd}
 		AND A.SELF_GOODS_YN = 'Y'
 		<if test='extmallImgYn != null and extmallImgYn == "Y"'>
@@ -116,11 +118,12 @@
         </if>
         <if test='extmallDescImgYn != null and extmallDescImgYn == "Y"'>
         	AND A.MAIN_COLOR_CD = B.COLOR_CD
+        	AND B.SYS_IMG_NM LIKE CONCAT('%',B.COLOR_CD,'%')
         </if>
         <if test='colorListYn != null and colorListYn == "Y"'>
 			AND (B.SYS_IMG_NM LIKE CONCAT('%',B.COLOR_CD,'_01%') OR B.SYS_IMG_NM LIKE CONCAT('%',B.COLOR_CD,'_02%' ))
         </if>
-		ORDER BY B.COLOR_CD, B.DISP_ORD
+		ORDER BY B.COLOR_CD, B.DISP_ORD, B.SYS_IMG_NM
 	</select>
 
 	<!-- 상품등록-상품 사이즈 조회 -->

+ 43 - 0
src/main/webapp/WEB-INF/views/order/CnclCompleteView.html

@@ -183,6 +183,24 @@
 						</tbody>
 					</table>
 				</div>
+				
+				<h4>접수자 정보</h4>
+				<table class="frmStyle">
+					<colgroup>
+						<col style="width:15%;" />
+						<col style="width:35%;" />
+						<col style="width:15%;" />
+						<col />
+					</colgroup>
+					<tbody>
+						<tr>
+							<th>접수자</th>
+							<td id="chclCompleteRegNm"></td>
+							<th>최종수정자</th>
+							<td id="chclCompleteUpdNm"></td>
+						</tr>
+					</tbody>
+				</table>
 				<br>
 			</form>
 		</div>
@@ -493,6 +511,31 @@ $(document).ready(function() {
 		$(".pgGbNm").text(pgGbNm);
 		$(".cardNm").text(cardGbNm);
 		
+		/*
+		$("#spanOrdAmt").text(spanOrdAmt.addComma());
+		$("#spanCnclRtnAmt").text(spanCnclRtnAmt.addComma());
+		$("#spanTotPntDcAmt").text(spanTotPntDcAmt.addComma());
+		$("#spanPntDcAmt").text(spanPntDcAmt.addComma());
+		$("#spanPrePntDcAmt").text(spanPrePntDcAmt.addComma());
+		$("#spanPntDcAmt").text(spanPntDcAmt.addComma());
+		$("#spanCpn1DcAmt").text(spanCpn1DcAmt.addComma());
+		$("#spanGoodsCpnDcAmt").text(spanGoodsCpnDcAmt.addComma());
+		$("#spanCartCpnDcAmt").text(spanCartCpnDcAmt.addComma());
+		$("#spanDelvCpnDcAmt").text(delvCpnDcAmt.addComma());
+		$("#spanCpnDcAmt").text(spanCpnDcAmt.addComma());
+		$("#spanTmtb1DcAmt").text(spanTmtb1DcAmt.addComma());
+		$("#spanTmtb2DcAmt").text(spanTmtb2DcAmt.addComma());
+		$("#spanTmtbDcAmt").text(spanTmtbDcAmt.addComma());
+		$("#spanGfcdUseAmt").text(spanGfcdUseAmt.addComma());
+		$("#spanRealCnclRtnAmt").text(spanRealCnclRtnAmt.addComma());
+		$("#spanRealDelvAmt").text(realDelvAmt.addComma());
+		$("#spanTotDeliveryFee").text(addPayCost.addComma());
+		$("#spanRefundAmt").text(spanRefundAmt.addComma());
+		*/
+		
+		$('#chclCompleteRegNm').text(cnclRtnCompleteList[0].regNm); // 접수자정보
+		$('#chclCompleteUpdNm').text(cnclRtnCompleteList[0].updNm); // 최종수정자정보
+		
 		// 2021.05.13 높이자동조절
 		var cancelRequestTargetHeight = 50 + (40 * cnclRtnCompleteList.length);
 		$("#gridCnclRtnCompleteList").css("height" , cancelRequestTargetHeight+"px");

+ 23 - 5
src/main/webapp/WEB-INF/views/order/ExchangeRequestForm.html

@@ -218,6 +218,24 @@
 					</tr>
 					</tbody>
 				</table>
+				
+				<h4>접수자 정보</h4>
+				<table class="frmStyle">
+					<colgroup>
+						<col style="width:15%;" />
+						<col style="width:35%;" />
+						<col style="width:15%;" />
+						<col />
+					</colgroup>
+					<tbody>
+						<tr>
+							<th>접수자</th>
+							<td id="exchRequestRegNm"></td>
+							<th>최종수정자</th>
+							<td id="exchRequestUpdNm"></td>
+						</tr>
+					</tbody>
+				</table>
 			</form>
 		</div>
 	</div>
@@ -1584,11 +1602,11 @@ $(document).ready(function() {
 	
 	// 수량체크
 	fnChangeQty();
+	
+	if (orderChangeDetailList != null) {
+		$('#exchRequestRegNm').text(orderChangeDetailList[0].regNm);
+		$('#exchRequestUpdNm').text(orderChangeDetailList[0].updNm);
+	}
 });
 </script>
 </html>
-
-
-
-
-

+ 16 - 13
src/main/webapp/WEB-INF/views/order/OrderDetailForm.html

@@ -696,6 +696,7 @@ var columnDefsGoodsInfo = [
 			{headerName: "출고처"		, field: "delvLocNm"	, width: 120, cellClass: 'text-center'},
 			{headerName: "배송지번호"	, field: "delvAddrSq"	, width: 120, cellClass: 'text-center'},
 			{headerName: "업체명"		, field: "supplyCompNm"	, width: 180, cellClass: 'text-center'},
+			{headerName: "CS담당자"		, field: "csChargeNm"	, width: 150, cellClass: 'text-center'},
 			{headerName: "배송정책코드", field: "delvFeeCdGrp"	, width: 120, cellClass: 'text-center'}
 		]
 	}
@@ -945,7 +946,7 @@ var columnDefsOrderChangeInfo = [
 	{
 		headerName		: "요청번호"		
 		, field			: "ordChgSq"		
-		, width			: 100	
+		, width			: 80	
 		, cellClass		: 'text-center'
 		, cellRenderer	: function(params) {
 			var rtnStr = "";
@@ -1003,6 +1004,8 @@ var columnDefsOrderChangeInfo = [
 			return  rtnStr;
 		}
 	},
+	{headerName: "접수자"		, field: "regNm"		, width: 250	, cellClass: 'text-center'},
+	{headerName: "요청구분"		, field: "chgGbNm"		, width: 80		, cellClass: 'text-center'},
 	{headerName: "요청상태"		, field: "chgStatNm"	, width: 100	, cellClass: 'text-center'},
 	{headerName: "상품코드"		, field: "goodsCd"		, width: 100	, cellClass: 'text-center'},
 	{headerName: "상품타입"	, field: "goodsTypeNm"	, width: 100, cellClass: 'text-center',
@@ -1017,18 +1020,18 @@ var columnDefsOrderChangeInfo = [
 		}
 	},
 	{headerName: "SKUCODE"		, field: "optCd"		, width: 100	, cellClass: 'text-center'},
-	{headerName: "옵션1"			, field: "optCd1"		, width: 100	, cellClass: 'text-center', hide : true},
-	{headerName: "옵션2"			, field: "optCd2"		, width: 100	, cellClass: 'text-center', hide : true},
-	{headerName: "수량"			, field: "chgQty"		, width: 100	, cellClass: 'text-center'},
-	{
-		headerName		: "요청일자"		
-		, field			: "regDt"		
-		, width			: 150		
-		, cellClass		: 'text-center'
-		, cellRenderer	: function(params) {
-			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
-		}
-	},
+	{headerName: "옵션1"		, field: "optCd1"		, width: 100	, cellClass: 'text-center', hide : true},
+	{headerName: "옵션2"		, field: "optCd2"		, width: 100	, cellClass: 'text-center', hide : true},
+	{headerName: "수량"			, field: "chgQty"		, width: 80		, cellClass: 'text-center'},
+// 	{
+// 		headerName		: "요청일자"		
+// 		, field			: "regDt"		
+// 		, width			: 150		
+// 		, cellClass		: 'text-center'
+// 		, cellRenderer	: function(params) {
+// 			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
+// 		}
+// 	},
 	{headerName: "변경사유"		, field: "chgReasonNm"	, width: 100	, cellClass: 'text-center'},
 	{
 		headerName: "회수구분", field: "wdGb", width: 100, cellClass: 'text-center',

+ 7 - 0
src/main/webapp/WEB-INF/views/order/RefundAccountRegistForm.html

@@ -115,6 +115,13 @@ var fnSaveAccount = function(){
 				$("#cancelRequestFrm .refundAccount .bankCd").eq(0).text(bankCd);
 				$("#cancelRequestFrm .refundAccount .bankNm").eq(0).text(bankNm);
 				$("#cancelRequestFrm .refundAccount .defaultYn").eq(0).text("N");
+				
+				// 회수컨펌화면 호출
+				$("#withdrawDetailForm .refundAccount .accountNo").eq(0).text(accountNo);
+				$("#withdrawDetailForm .refundAccount .accountNm").eq(0).text(accountNm);
+				$("#withdrawDetailForm .refundAccount .bankCd").eq(0).text(bankCd);
+				$("#withdrawDetailForm .refundAccount .bankNm").eq(0).text(bankNm);
+				$("#withdrawDetailForm .refundAccount .defaultYn").eq(0).text("N");
 			});
 		}
 	});

+ 23 - 1
src/main/webapp/WEB-INF/views/order/RtnReqForm.html

@@ -262,8 +262,25 @@
 						</tbody>
 					</table>
 				</div>
-				<br>
 				
+				<h4>접수자 정보</h4>
+				<table class="frmStyle">
+					<colgroup>
+						<col style="width:15%;" />
+						<col style="width:35%;" />
+						<col style="width:15%;" />
+						<col />
+					</colgroup>
+					<tbody>
+						<tr>
+							<th>접수자</th>
+							<td id="rtnRequestRegNm"></td>
+							<th>최종수정자</th>
+							<td id="rtnRequestUpdNm"></td>
+						</tr>
+					</tbody>
+				</table>
+				<br>
 			</form>
 		</div>
 	</div>
@@ -1974,6 +1991,11 @@ $(document).ready(function() {
 			fnChangeChgReason('G688_17');															// 귀책사유
 		}
 	}
+	
+	if (orderChangeDetailList != null) {
+		$('#rtnRequestRegNm').text(orderChangeDetailList[0].regNm);
+		$('#rtnRequestUpdNm').text(orderChangeDetailList[0].updNm);
+	}
 });
 
 // 2021.06.17 구성상품 내역 팝업 호출 

+ 82 - 10
src/main/webapp/WEB-INF/views/withdraw/RefundDetailForm.html

@@ -211,6 +211,42 @@
 					<h4 style="width:85%;">회수대상 상품 정보</h4>	
 					<div id="refundGridList" style="width: 100%; height: 200px; padding-top:10PX;" class="ag-theme-balham"></div>
 				</div>
+				
+				<div class="refundAccount" style="width:100%">
+					<h4>환불계좌정보</h4>
+					<button type="button" id="btnSaveAccount" class="btn btnRight btn-base btn-sm" style="margin-left:10px;" onclick="fnCreateOrderRfAccount();">등록</button>
+					
+					<!-- TABLE -->
+					<table class="tableStyle">
+						<colgroup>
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+						</colgroup>
+						<thead>
+							<tr>
+								<th>은행명</th>
+								<th>은행코드</th>
+								<th>계좌번호</th>
+								<th>예금주</th>
+								<th>기본여부</th>
+							</tr>
+						</thead>
+						<tbody>
+							<tr style="height:30px;">
+								<td class="bankNm"></td>
+								<td class="bankCd"></td>
+								<td class="accountNo"></td>
+								<td class="accountNm"></td>
+								<td class="defaultYn"></td>
+							</tr>
+						</tbody>
+					</table>
+				</div>
+				<br>
+				
 			</form>
 		</div>
 		
@@ -408,6 +444,7 @@
 	var fnWithdrawDetailCallback = function(result) {
 		reFundInfo 			= result.refundConfirmPreInfo; // 환불 컨펌 환불 정보
 		returnOrderInfo 	= result.returnOrderInfo;
+		payMeans			= reFundInfo.payMeans;
 		
 		if (result.dataList.length < 1) {
 			mcxDialog.alert('회수데이터 오류입니다. 운영팀에 문의 해주세요! ');
@@ -425,7 +462,6 @@
 		
 		// 전체 회수 완료 일 때
 		if (result.dataList.length == confirmCnt ) {
-			//setReadOnly(true);
 			$('#pgBtn').hide();
 			$('#divRefundInfo').hide();
 			$('#divRefundInfo2').show();
@@ -515,25 +551,24 @@
 		reFundInfo.cardGbNm = cardGbNm;
 
 		// 환불컨펌 상세
-		$("#wdGbNm").text(data.wdGbNm); 													// 회수구분 
+		$("#wdGbNm").text(data.wdGbNm); 													// 회수구분
 		$("#arriValDt").text(data.arrivalDt); 												// arriValDt 도착일
-		//$("#chgReasonNm").text(data.chgReasonNm); 										// 최종요청사유 
-		$("#chgReasonText").text(data.chgReasonText); 										// 귀책사유 
-		$("#withdrawDetailForm input[name=encloseFee]").val(data.encloseFee); 				// 동봉비 
-		$("#withdrawDetailForm input[name=codFee]").val(data.codFee); 						// 착불비 
-		$("#withdrawDetailForm input[name=addPayCost]").val(data.addPayCost); 				// 추가결제비 
-		$("#chgMemo").text(data.chgMemo); 													// 클레임메모 
+		$("#chgReasonText").text(data.chgReasonText); 										// 귀책사유
+		$("#withdrawDetailForm input[name=encloseFee]").val(data.encloseFee); 				// 동봉비
+		$("#withdrawDetailForm input[name=codFee]").val(data.codFee); 						// 착불비
+		$("#withdrawDetailForm input[name=addPayCost]").val(data.addPayCost); 				// 추가결제비
+		$("#chgMemo").text(data.chgMemo); 													// 클레임메모
 		$("#wdMemo").text(data.wdMemo); 													// 회수메모
 		
 		// 2021.11.15 사유변경설정
 		$("#withdrawDetailForm select[name=selectChgReason]").val(data.chgReason);
 
 		// 2021.11.15 동봉비, 착불비 칼럼 전체 허용 (CS 개선업무)
-		//if(delvExpnYn == "Y"){
+		//if (delvExpnYn == "Y") {
 			//$('#withdrawDetailForm input[name=codFee]').attr('readonly', 'readonly');
 			//$('#withdrawDetailForm input[name=encloseFee]').attr('readonly', 'readonly');
 		//} else {
-			//if(wdGb == "W"){
+			//if (wdGb == "W") {
 				//$('#withdrawDetailForm input[name=codFee]').attr('readonly', 'readonly');
 			//} else {
 				//$('#withdrawDetailForm input[name=codFee]').remove('readonly');	
@@ -541,6 +576,13 @@
 		//}
 		
 		fnSetTotRefundData();
+		
+		// 3. 무통장입금아닐때 환불계좌 목록 숨김처리 (무통장, 휴대폰번호)
+		if (payMeans !== 'G014_20'&& payMeans !== 'G014_60') {
+			$('#withdrawDetailForm .refundAccount').addClass("off");
+		} else {
+			fnBindOrderRfAccountInfo();
+		}
 	}
 	
 	var addDeliveryFee   = 0;
@@ -945,6 +987,36 @@
 		}
 	}
 	
+	// 환불계좌 등록
+	var fnCreateOrderRfAccount = function () {
+		var actionUrl = "/orderChange/refund/account/create/form?ordNo=" + ordNo + "&ordChgSq=" + ordChgSq ;
+		cfnOpenModalPopup(actionUrl, 'popupCreateRefundAccount');
+	};
+
+	// 환불계좌 정보
+	var fnBindOrderRfAccountInfo = function () {
+		var jsonObj = {
+			"ordNo" 		: ordNo
+			, "ordChgSq" 	: ordChgSq
+		}
+		
+		var jsonData = JSON.stringify(jsonObj);
+		
+		gagajf.ajaxJsonSubmit(
+			'/orderChange/refund/account/info/list'
+			, jsonData
+			, function (result) {
+				if (result.orderRfAccountInfo[0].bankNm != null && result.orderRfAccountInfo[0].bankNm != '') {
+					$("#withdrawDetailForm .refundAccount .bankNm").text(result.orderRfAccountInfo[0].bankNm);
+					$("#withdrawDetailForm .refundAccount .bankCd").text(result.orderRfAccountInfo[0].bankCd);
+					$("#withdrawDetailForm .refundAccount .accountNo").text(result.orderRfAccountInfo[0].accountNo);
+					$("#withdrawDetailForm .refundAccount .accountNm").text(result.orderRfAccountInfo[0].accountNm);
+					$("#withdrawDetailForm .refundAccount .defaultYn").text(result.orderRfAccountInfo[0].defaultYn);
+				}
+			}
+		);
+	};
+	
 	/*************************************************************************
 	*  init
 	**************************************************************************/