Kaynağa Gözat

Merge branch 'develop' of http://112.172.147.34:4936/style24/STYLE24.git into develop

gagamel 5 yıl önce
ebeveyn
işleme
1f2bef3cc6

+ 24 - 18
style24.admin/src/main/java/com/style24/admin/biz/service/TsaGoodsService.java

@@ -943,20 +943,35 @@ public class TsaGoodsService {
 		goods.setGoodsTnm(GagaStringUtil.replace(GagaStringUtil.replace(goods.getGoodsTnm(), "&lt;", "<"), "&gt;", ">"));
 		goods.setGoodsSnm1(GagaStringUtil.replace(GagaStringUtil.replace(goods.getGoodsSnm1(), "&lt;", "<"), "&gt;", ">"));
 
-		// 세트일 경우 상품 가격 확인
-		if ("G056_S".equals(goods.getGoodsType())) {
+		// 딜상품의 대표상품 변경여부 확인
+		if ("G056_D".equals(goods.getGoodsType())) {
 
+			String newRepGoodsCd = "";
+			int newRepGoodsPrice = 0;
 			Collection<GoodsCompose> goodsExtendList = goods.getGoodsComposeListNew();
-			int currPriceSum = 0;
 			for (GoodsCompose regGoodsExtend : goodsExtendList) {
-				currPriceSum  = currPriceSum + regGoodsExtend.getCompsCurrPrice();
+				if ("Y".equals(regGoodsExtend.getRepYn())) {
+					newRepGoodsCd = regGoodsExtend.getCompsGoodsCd();
+					newRepGoodsPrice = regGoodsExtend.getCurrPrice();
+				}
 			}
 
-			if (currPriceSum != goods.getCurrPriceOrg()) {
+			log.info("newRepGoodsCd = {}, newRepGoodsPrice = {}, goods.getRepGoodsCd = {}", newRepGoodsCd, newRepGoodsPrice, goods.getRepGoodsCd());
+			// 1순 : 대표상품 변경, 2순 : 판매가 변경
+			if (!newRepGoodsCd.equals(goods.getRepGoodsCd())) {
 				goods.setCurrBprice(goods.getCurrPriceOrg());
-				goods.setCurrPrice(currPriceSum);
-				goods.setDcRate((int)(this.getDcRate(goods.getListPrice() , currPriceSum)));
+				goods.setCurrPrice(newRepGoodsPrice);
+				goods.setListPrice(newRepGoodsPrice);
+				goods.setDcRate(0);
+				goods.setChDataYn("Y");
+			}else {
+				if (goods.getCurrPrice() != goods.getCurrPriceOrg()) {
+					goods.setCurrBprice(goods.getCurrPriceOrg());
+					goods.setListPrice(goods.getCurrPrice());
+					goods.setDcRate(0);
+				}
 			}
+
 		}else {
 			// 가격변경일
 			if (goods.getCurrPrice() != goods.getCurrPriceOrg()) {
@@ -1062,6 +1077,7 @@ public class TsaGoodsService {
 			goodsOrderGrade.setRegNo(TsaSession.getInfo().getUserNo());
 			goodsDao.deleteGoodsCustGrade(goodsOrderGrade);
 		}
+
 	}
 
 	/**
@@ -1490,25 +1506,15 @@ public class TsaGoodsService {
 			dispOrd++;
 		}
 
-
 		// 사용자 검색어를 검색어에 적용
 		String goodsSnm = goodsDao.getGoodsSnm(regGoods.getGoodsCd());
 		regGoods.setGoodsSnm(goodsSnm);
 		goodsDao.updateGoodsSnm(regGoods);
+
 		// 카테고리 전시
 		// 추후 작업 해야함 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 		//goodsDao.createCategoryGoods(regGoods);
 
-		// 추후 작업 해야함 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-		// 대표 이미지만 생성
-//		GoodsImg goodsImg = new GoodsImg();
-//		goodsImg.setGoodsCd(regGoods.getGoodsCd());
-//		goodsImg.setImgType("A");
-//		// 이미지 경로 확인하자!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-//		goodsImg.setImgPath1(this.getGoodsImgPath(regGoods.getGoodsCd(), regGoods.getBrandCd()) + "01.jpg");
-//		goodsImg.setRegNo(TsaSession.getInfo().getUserNo());
-//		goodsImg.setUpdNo(TsaSession.getInfo().getUserNo());
-//		goodsDao.saveGoodsImgInfo(goodsImg);
 	}
 
 //	/**

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

@@ -95,6 +95,7 @@ public class Goods extends TscBaseDomain {
 	private String itemkindNm;
 	private String niClsfCd;
 	private String makeNm;
+	private String repGoodsCd;
 
 	private int currPriceOrg;
 	private String goodsStatOrg;

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

@@ -23,8 +23,10 @@ public class GoodsCompose extends TscBaseDomain {
 	private int compsCurrPrice;
 	private String compsGoodsOptNm;
 	private String baseYn;
+	private String repYn;
 	private String useYn;
 
+	private String repGoodsCd;
 	private int compsCurrPriceOrg;
 	private int currPrice;
 	private String goodsStat;

+ 10 - 0
style24.admin/src/main/java/com/style24/persistence/domain/ReinboundInform.java

@@ -1,6 +1,8 @@
 package com.style24.persistence.domain;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.style24.admin.support.security.session.TsaSession;
+import com.style24.core.support.util.MaskingUtils;
 import com.style24.persistence.TscBaseDomain;
 
 import lombok.Data;
@@ -37,4 +39,12 @@ public class ReinboundInform extends TscBaseDomain {
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private String[] arrRinbdInfoSq;
 
+	public String getCustId() {
+		return TsaSession.getInfo().getMaskingYn().equals("Y") ? MaskingUtils.id(custId) : custId;
+	}
+
+	public String getCustNm() {
+		return TsaSession.getInfo().getMaskingYn().equals("Y") ? MaskingUtils.name(custNm) : custNm;
+	}
+
 }

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

@@ -1456,11 +1456,13 @@
 		     , A.COMPS_CURR_PRICE AS COMPS_CURR_PRICE_ORG
 		     , A.COMPS_GOODS_OPT_NM
 		     , A.BASE_YN
+		     , A.REP_YN
 		     , A.USE_YN
 		     , B.CURR_PRICE
 		     , B.GOODS_STAT
 		     , B.SELF_GOODS_YN
 		     , B.SUPPLY_COMP_CD
+		     , (SELECT MAX(COMPS_GOODS_CD) FROM TB_GOODS_COMPOSE WHERE GOODS_CD  = #{goodsCd} AND REP_YN='Y') AS REP_GOODS_CD
 		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = B.GOODS_CD AND COLOR_CD = B.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ) AS SYS_IMG_NM
 		     , A.REG_NO
 		     , FN_GET_USER_NM(A.REG_NO) AS REG_NM
@@ -1479,6 +1481,8 @@
 		/* TsaGoods.createGoods */
 		INSERT INTO TB_GOODS (
 		    GOODS_CD
+		  , PRODUCT_NO
+		  , PRODUCT_CODE
 		  , BRAND_CD
 		  , ITEMKIND_CD
 		  , GOODS_NM
@@ -1522,6 +1526,8 @@
 		)
 		VALUES(
 		    #{goodsCd}
+		  , NVL(#{productNo},0)
+		  , NVL(#{productCode},0)
 		  , #{brandCd}
 		  , #{itemkindCd}
 		  , NVL(#{goodsNm},'상품명없음')
@@ -1592,6 +1598,7 @@
 		  , GOODS_NM = #{goodsNm}
 		  , SEASON_CD = #{seasonCd}
 		  , SEX_GB = #{sexGb}
+		  , LIST_PRICE = #{listPrice}
 		  , CURR_PRICE = #{currPrice}
 		  <if test="currBprice != null and currBprice != ''">
 		  , CURR_BPRICE = #{currBprice}
@@ -1672,6 +1679,7 @@
 		         , COMPS_CURR_PRICE
 		         , COMPS_GOODS_OPT_NM
 		         , BASE_YN
+		         , REP_YN
 		         , USE_YN
 		         , REG_NO
 		         , REG_DT
@@ -1688,6 +1696,7 @@
 		                ELSE 0 END)
 		         , #{compsGoodsOptNm}
 		         , #{baseYn}
+		         , IFNULL(#{repYn},'N')
 		         , #{useYn}
 		         , #{regNo}
 		         , NOW()

+ 55 - 7
style24.admin/src/main/webapp/WEB-INF/views/goods/GoodsDealForm.html

@@ -29,12 +29,18 @@
 						<div class="iconTooltip">
 							<i class="fa fa-info" aria-hidden="true"></i>
 							<span class="left" style="width:450px; text-align:left;">
-								- 상품상태 : 정보부족<br/>
-								- 정상가 : 판매가 입력값<br/>
-								- 브랜드코드 : 구성상품의 기준여부 'Y'상품의 브랜드코드<br/>
-								- 품목코드 : 구성상품의 기준여부 'Y'상품의 품목코드<br/>
-								- 포인트 : 구성상품의 기준여부 'Y'상품의 브랜드 포인트<br/>
-								- 배송비정책 : 구성상품의 기준여부 'Y'상품의 브랜드 배송비정책<br/>
+								* 딜상품 정보<br/>
+								&nbsp;&nbsp;- 상품상태 : 정보부족<br/>
+								&nbsp;&nbsp;- 정상가 : 판매가 입력값<br/>
+								&nbsp;&nbsp;- 판매가 : 구성상품의 대표여부 'Y' 상품의 판매가<br/>
+								&nbsp;&nbsp;- 브랜드코드 : 구성상품의 기준여부 'Y'상품의 브랜드코드<br/>
+								&nbsp;&nbsp;- 품목코드 : 구성상품의 기준여부 'Y'상품의 품목코드<br/>
+								&nbsp;&nbsp;- 포인트 : 구성상품의 기준여부 'Y'상품의 브랜드 포인트<br/>
+								&nbsp;&nbsp;- 배송비정책 : 구성상품의 기준여부 'Y'상품의 브랜드 배송비정책<br/>
+								<br/>
+								* 구성상품 정보<br/>
+								&nbsp;&nbsp;- 구상상품의 기준상품 : 수정 불가<br/>
+								&nbsp;&nbsp;- 구상상품의 대표상품 : 수정 가능<br/>
 							</span>
 						</div>
 						<!-- //아이콘 툴팁 --> 
@@ -131,6 +137,12 @@
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(useYnList, params.value); },
 			valueParser: function (params) { return gagaAgGrid.lookupKey(useYnList, params.newValue); }
 		},
+		{headerName: "대표여부(가격)", field: "repYn" , width: 120, cellClass: 'text-center',editable: true, required: true,
+			cellEditor: 'agRichSelectCellEditor',
+			cellEditorParams: { values: gagaAgGrid.extractValues(useYnList) },
+			valueFormatter: function (params) { return gagaAgGrid.lookupValue(useYnList, params.value); },
+			valueParser: function (params) { return gagaAgGrid.lookupKey(useYnList, params.newValue); }
+		},
 		{headerName: "전시여부", field: "useYn" , width: 80, cellClass: 'text-center',editable: true, required: true,
 			cellEditor: 'agRichSelectCellEditor',
 			cellEditorParams: { values: gagaAgGrid.extractValues(useYnList) },
@@ -149,7 +161,7 @@
 	var gridGoodsDealOptions = gagaAgGrid.getGridOptions(columnGoodsDealDefs);
 	gridGoodsDealOptions.rowSelection = 'multiple';
 	gridGoodsDealOptions.suppressRowClickSelection = true;
-	gridGoodsSetOptions.stopEditingWhenGridLosesFocus = true;	//그리드 에디터 값 저장가능
+	gridGoodsDealOptions.stopEditingWhenGridLosesFocus = true;	//그리드 에디터 값 저장가능
 	
 	// 드래그
 	gridGoodsDealOptions.rowDragManaged = true;
@@ -159,6 +171,8 @@
 	gridGoodsDealOptions.getRowStyle = function(params) {
 		if ("Y" == params.data.baseYn) {
 			return { background: '#1ab394' };
+		}else{
+			return { background: '#ffffff' };
 		}
 	}
 	
@@ -186,6 +200,28 @@
 				}
 			}	
 		}
+		
+		isChangColor = true;
+		if (event.colDef.field == "repYn"){
+			if (event.data.repYn == "Y"){
+				rowIdx = event.rowIndex;
+				
+				//다른 대표여부 'Y'가 존재하는지 확인
+				gridGoodsDealOptions.api.forEachNode(function(rowNode, index) {
+					if (rowNode.data.repYn == "Y" && index != rowIdx){
+						event.data.repYn = event.oldValue;
+						gridGoodsDealOptions.api.updateRowData({update: [event.data]});
+						isChangColor = false;
+						return;
+					}
+				});
+				
+				if (!isChangColor){ 
+					mcxDialog.alert('다른 구성상품에 대표여부가 선택되어 있습니다.');
+					return;
+				}
+			}	
+		}
 	}
 	
 	//창종료
@@ -232,6 +268,7 @@
 						, compsCurrPrice: goods.currPrice
 						, compsStaffCurrPrice: goods.currPrice
 						, baseYn: 'N'
+						, repYn: 'N'
 						, goodsStat : goods.goodsStat
 						, useYn: 'Y'
 						, compsGoodsOptNm : goods.goodsNm
@@ -400,6 +437,8 @@
 		var comSelfGoodsYn = '';
 		//기준여부 Y  존재하는지 확인
 		var checkBaseYn = false;
+		//대표여부 Y  존재하는지 확인
+		var checkRepYn = false;
 		optCheck = false;
 		$.each(allData, function(index, item) {
 			if (index == 0){
@@ -411,6 +450,10 @@
 				checkBaseYn = true;
 			}
 			
+			if (item.repYn == "Y"){
+				checkRepYn = true;
+			}
+			
 			if(item.goodsStat != "G008_90"){
 				optCheck = true;
 				mcxDialog.alertC("상품상태를 확인해 주세요.", {
@@ -466,6 +509,11 @@
 			return false;
 		}
 		
+		if (!checkRepYn){
+			mcxDialog.alert('구성상품중 대표여부를 선택해 주세요.');
+			return false;
+		}
+		
 		return true;
 	}
 	

+ 94 - 17
style24.admin/src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html

@@ -35,6 +35,7 @@
 				<input type="hidden" id="mainColorCd" name="mainColorCd" />
 				<input type="hidden" id="goodsType" name="goodsType" />
 				<input type="hidden" id="goodsComposeList" name="goodsComposeList" />
+				<input type="hidden" id="repGoodsCd" name="repGoodsCd" /> <!-- 대표상품(딜 가격) -->
 				<table class="frmStyle">
 					<colgroup>
 						<col width="11%"/>
@@ -468,7 +469,7 @@
 										<button type="button" class="btn btn-base btn-lg" onclick="fnOpenGoodsDetailPopup()">상품조회</button>
 									</li>
 								</ul>
-								<div id="gridGoodsComposeList" style="height: 500px;" class="ag-theme-balham lh60"></div>
+								<div id="gridGoodsComposeList" style="height: 600px;" class="ag-theme-balham lh60"></div>
 								<!-- 내용 삽입 -->
 							</div>
 							<!-- //TAB6 CONTENTS AREA -->
@@ -478,7 +479,7 @@
 							<!-- TAB8 CONTENTS AREA -->
 							<div class="panelStyle">
 								<!-- 내용 삽입 -->
-								<div id="gridGoodsHstoryList" style="height: 500px;" class="ag-theme-balham"></div>
+								<div id="gridGoodsHstoryList" style="height: 600px;" class="ag-theme-balham"></div>
 								<!-- 내용 삽입 -->
 							</div>
 							<!-- //TAB5 CONTENTS AREA -->
@@ -596,7 +597,15 @@
 			cellEditorParams: { maxlength: 14, validType: 'numeric'}
 		},
 		{headerName: "상품판매가ORG", field: "compsCurrPriceOrg" , width: 100, cellClass: 'text-right', hide: true},
-		{headerName: "기준여부(품목-카테고리)", field: "baseYn", width: 160, cellClass: 'text-center'},
+		{headerName: "기준여부(품목-카테고리)", field: "baseYn", width: 160, cellClass: 'text-center'
+		},
+		{headerName: "대표여부(가격)", field: "repYn", width: 160, cellClass: 'text-center',editable: true,
+			cellEditor: 'agRichSelectCellEditor',
+			cellEditorParams: { values: gagaAgGrid.extractValues(useYnList), required: true },
+			valueFormatter: function (params) { return gagaAgGrid.lookupValue(useYnList, params.value); },
+			valueParser: function (params) { return gagaAgGrid.lookupKey(useYnList, params.newValue); }
+		},
+		{headerName: "대표상품", field: "repGoodsCd" , width: 100, cellClass: 'text-right', hide: true},
 		{headerName: "전시여부", field: "useYn", width: 100, cellClass: 'text-center',editable: true,
 			cellEditor: 'agRichSelectCellEditor',
 			cellEditorParams: { values: gagaAgGrid.extractValues(useYnList), required: true },
@@ -643,6 +652,58 @@
 	gridGoodsComposeOptions.getRowStyle = function(params) {
 		if ("Y" == params.data.baseYn) {
 			return { background: '#1ab394' };
+		}else{
+			return { background: '#ffffff' };	
+		}
+	}
+	
+	// Row 
+	gridGoodsComposeOptions.onCellValueChanged = function(event) {
+		var rowIdx = null;
+		var isChangColor = true;
+		if (event.colDef.field == "baseYn"){
+			if (event.data.baseYn == "Y"){
+				rowIdx = event.rowIndex;
+				
+				//다른 기준여부 'Y'가 존재하는지 확인
+				gridGoodsComposeOptions.api.forEachNode(function(rowNode, index) {
+					if (rowNode.data.baseYn == "Y" && index != rowIdx){
+						event.data.baseYn = event.oldValue;
+						gridGoodsComposeOptions.api.updateRowData({update: [event.data]});
+						isChangColor = false;
+						return;
+					}
+				});
+				
+				if (!isChangColor){ 
+					mcxDialog.alert('다른 구성상품에 기준여부가 선택되어 있습니다.');
+					return;
+				}
+			}	
+		}
+		
+		if ($("#goodsDetailForm input[name=goodsType]").val() == "G056_D"){
+			isChangColor = true;
+			if (event.colDef.field == "repYn"){
+				if (event.data.repYn == "Y"){
+					rowIdx = event.rowIndex;
+					
+					//다른 대표여부 'Y'가 존재하는지 확인
+					gridGoodsComposeOptions.api.forEachNode(function(rowNode, index) {
+						if (rowNode.data.repYn == "Y" && index != rowIdx){
+							event.data.repYn = event.oldValue;
+							gridGoodsComposeOptions.api.updateRowData({update: [event.data]});
+							isChangColor = false;
+							return;
+						}
+					});
+					
+					if (!isChangColor){ 
+						mcxDialog.alert('다른 구성상품에 대표여부가 선택되어 있습니다.');
+						return;
+					}
+				}	
+			}	
 		}
 	}
 	
@@ -833,7 +894,7 @@
 			$('#goodsDetailForm input[name=certNumOrg]').val(result.certNum);
 			
 			//상품상세
-			// 공지내용. Summernote에 값 세팅
+			// Summernote에 값 세팅
 			gagaSn.setContents('#goodsPcTopDesc', result.goodsPcTopDesc);
 			gagaSn.setContents('#goodsMobileTopDesc', result.goodsMobileTopDesc);
 			gagaSn.setContents('#goodsPcDownDesc', result.goodsPcDownDesc);
@@ -939,7 +1000,7 @@
 			gagaAgGrid.showOrHideColumn(gridGoodsComposeOptions, 'currPrice', false);
 			gagaAgGrid.showOrHideColumn(gridGoodsComposeOptions, 'useYn', false);
 			gagaAgGrid.showOrHideColumn(gridGoodsComposeOptions, 'compsGoodsOptNm', false);
-			
+			gagaAgGrid.showOrHideColumn(gridGoodsComposeOptions, 'repYn', false);
 			$('#GoodsComposeBtnArea').addClass("off");
 		}else{	//딜
 			gagaAgGrid.showOrHideColumn(gridGoodsComposeOptions, 'qty', false);
@@ -1303,15 +1364,18 @@
 		} */
 
 		//정상가와 판매가 비교
-		if(Number($("#goodsDetailForm input[name=listPrice]").val().removeComma()) < Number($("#goodsDetailForm input[name=currPrice]").val().removeComma())) {
-			mcxDialog.alertC("판매가를 올바르게 입력해주세요.", {
-				sureBtnText: "확인",
-				sureBtnClick: function() {
-					$("#goodsDetailForm input[name=currPrice]").focus();
-				}
-			});
-			return false;
+		if ($("#goodsDetailForm input[name=goodsType]").val() != "G056_D"){
+			if(Number($("#goodsDetailForm input[name=listPrice]").val().removeComma()) < Number($("#goodsDetailForm input[name=currPrice]").val().removeComma())) {
+				mcxDialog.alertC("판매가를 올바르게 입력해주세요.", {
+					sureBtnText: "확인",
+					sureBtnClick: function() {
+						$("#goodsDetailForm input[name=currPrice]").focus();
+					}
+				});
+				return false;
+			}	
 		}
+		
 		//판매 수수료율
 		if ( gagajf.isNull($("#goodsDetailForm input[name=sellFeeRate]").val())) {
 			mcxDialog.alertC("판매수수료를 입력해 주세요.", {
@@ -1563,7 +1627,7 @@
 		var currPrice = $("#goodsDetailForm input[name=currPrice]").val().removeComma();
 		dcRate =  100 - Math.floor(Number(currPrice) / Number(listPrice) * 100);	//절사
 			
-		if (dcRate < 0){
+		if (dcRate < 0 && ($("#goodsDetailForm input[name=goodsType]").val() != "G056_D")){
 			mcxDialog.alertC('할인율이 0보다 작습니다.\n판매가를 확인해주세요.', {
 				sureBtnText: "확인",
 				sureBtnClick: function() {
@@ -1571,7 +1635,7 @@
 				}
 			});
 			return false;
-		}else if (dcRate >= 90){
+		}else if (dcRate >= 90 && ($("#goodsDetailForm input[name=goodsType]").val() != "G056_D")){
 			mcxDialog.confirmC("할인율이 90%이상입니다. 계속하시겠습니까?", {
 				btn: ["아니요","예"],
 				btnClick: function(index){
@@ -1622,18 +1686,26 @@
 		var allData = gagaAgGrid.getAllRowData(gridGoodsComposeOptions);
 		var comSupplyCompCd = '';
 		var comSelfGoodsYn = '';
+		var index = 0;
 		//기준여부 Y  존재하는지 확인
 		var checkBaseYn = false;
+		//대표여부 Y  존재하는지 확인
+		var checkRepYn = false;
 		optCheck = false;
-		$.each(allData, function(index, item) {
+		$.each(allData, function(index, item) { debugger;
 			if (index == 0){
 				comSelfGoodsYn = item.selfGoodsYn;
 				comSupplyCompCd = item.supplyCompCd;
+				$("#goodsDetailForm input[name=repGoodsCd]").val(item.repGoodsCd);	// 대표상품
+				
 			}
 			
 			if (item.baseYn == "Y"){
 				checkBaseYn = true;
 			}
+			if (item.repYn == "Y"){
+				checkRepYn = true;
+			}
 			
 			if (comSelfGoodsYn != item.selfGoodsYn){
 				optCheck = true;
@@ -1674,7 +1746,7 @@
 					return false;
 				}
 			}
-			
+			index++;
 		});
 		
 		if(optCheck) {
@@ -1686,6 +1758,11 @@
 			return false;
 		}
 		
+		if (!checkRepYn){
+			mcxDialog.alert('구성상품중 대표여부를 선택해 주세요.');
+			return false;
+		}
+		
 		return true;
 	}
 

+ 16 - 9
style24.admin/src/main/webapp/WEB-INF/views/goods/GoodsSetForm.html

@@ -30,13 +30,18 @@
 							<i class="fa fa-info" aria-hidden="true"></i>
 							<span class="left" style="width:400px; text-align:left;">
 							<!-- class="left" 또는 class="right" -->
-								- 상품상태 : 정보부족<br/>
-								- 정상가 : 구성상품의 정상가 합<br/>
-								- 판매가 : 구성상품 판매가 입력값의 합<br/>
-								- 브랜드코드 : 구성상품의 기준여부 'Y'상품의 브랜드코드<br/>
-								- 품목코드 : 구성상품의 기준여부 'Y'상품의 품목코드<br/>
-								- 포인트 : 구성상품의 기준여부 'Y'상품의 브랜드 포인트<br/>
-								- 배송비정책 : 구성상품의 기준여부 'Y'상품의 브랜드 배송비정책<br/>
+								* 세트상품 정보<br/>
+								&nbsp;&nbsp;- 상품상태 : 정보부족<br/>
+								&nbsp;&nbsp;- 정상가 : 구성상품의 정상가 합<br/>
+								&nbsp;&nbsp;- 판매가 : 구성상품 판매가 입력값의 합<br/>
+								&nbsp;&nbsp;- 브랜드코드 : 구성상품의 기준여부 'Y'상품의 브랜드코드<br/>
+								&nbsp;&nbsp;- 품목코드 : 구성상품의 기준여부 'Y'상품의 품목코드<br/>
+								&nbsp;&nbsp;- 포인트 : 구성상품의 기준여부 'Y'상품의 브랜드 포인트<br/>
+								&nbsp;&nbsp;- 배송비정책 : 구성상품의 기준여부 'Y'상품의 브랜드 배송비정책<br/>
+								<br/>
+								* 구성상품 정보<br/>
+								&nbsp;&nbsp;- 구상상품판매가 : 구성상품의 수량만큼의 판매가 합 입력<br/>
+								&nbsp;&nbsp;- 구상상품의 기준상품 : 수정 불가<br/>
 							</span>
 						</div>
 						<!-- //아이콘 툴팁 --> 
@@ -158,7 +163,9 @@
 	gridGoodsSetOptions.getRowStyle = function(params) {
 		if ("Y" == params.data.baseYn) {
 			return { background: '#1ab394' };
-		}
+		}else{
+			return { background: '#ffffff' };
+		}	
 	}
 	
 	// Row 
@@ -218,7 +225,7 @@
 				if (goods.goodsCd == rowNode.data.compsGoodsCd){
 					isExist = true;
 				}
-				debugger;
+				
 				//같은 업체만 가능
 				if (goods.supplyCompCd != rowNode.data.supplyCompCd){
 					isExist = true;

+ 1 - 3
style24.scm/src/main/java/com/style24/persistence/domain/Goods.java

@@ -103,9 +103,7 @@ public class Goods extends TscBaseDomain {
 	private String formalGbOrg;
 	private float sellFeeRateOrg;
 
-	//private String imgType;
-	//private String imgPath1;
-	//private String imgPath6;
+	private String repGoodsCd;
 	private String sysImgNm;
 
 	private String niClsfNm;

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

@@ -23,8 +23,10 @@ public class GoodsCompose extends TscBaseDomain {
 	private int compsCurrPrice;
 	private String compsGoodsOptNm;
 	private String baseYn;
+	private String repYn;
 	private String useYn;
 
+	private String repGoodsCd;
 	private int compsCurrPriceOrg;
 	private int currPrice;
 	private String goodsStat;