eskim 5 лет назад
Родитель
Сommit
366658bcb7

+ 0 - 10
style24.admin/src/main/java/com/style24/admin/biz/dao/TsaGoodsDao.java

@@ -199,16 +199,6 @@ public interface TsaGoodsDao {
 	 */
 	 */
 	Collection<GoodsCompose> getGoodsDetailComposeList(Goods goods);
 	Collection<GoodsCompose> getGoodsDetailComposeList(Goods goods);
 
 
-	/**
-	 * 같은 품번 상품목록
-	 *
-	 * @param goods
-	 * @return
-	 * @author eskim
-	 * @since 2020. 11. 03
-	 */
-	Collection<Goods> getGoodsNumGoodsList(Goods goods);
-
 	/**
 	/**
 	 * 상품 기본 정보 이력 생성
 	 * 상품 기본 정보 이력 생성
 	 *
 	 *

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

@@ -462,19 +462,6 @@ public class TsaGoodsService {
 		return goodsDao.getGoodsDetailComposeList(goods);
 		return goodsDao.getGoodsDetailComposeList(goods);
 	}
 	}
 
 
-	/**
-	 * 같은 품번 상품목록
-	 *
-	 * @param goods
-	 * @return
-	 * @author eskim
-	 * @since 2020. 11. 03
-	 */
-	public Collection<Goods> getGoodsNumGoodsList(Goods goods) {
-		return goodsDao.getGoodsNumGoodsList(goods);
-	}
-
-
 	/**
 	/**
 	 * 상품 수정 항목 일괄변경
 	 * 상품 수정 항목 일괄변경
 	 *
 	 *
@@ -930,7 +917,7 @@ public class TsaGoodsService {
 		goodsDao.deleteGoodsDesc(goodsDesc);
 		goodsDao.deleteGoodsDesc(goodsDesc);
 
 
 		String[] arrProdHtml = null;
 		String[] arrProdHtml = null;
-		arrProdHtml = makeArrayToString(goodsDesc.getGoodsDesc(), 3800);
+		arrProdHtml = makeArrayToString(goodsDesc.getGoodsDesc(), 3900);
 		if (arrProdHtml.length > 0) {
 		if (arrProdHtml.length > 0) {
 			for (int i = 0; i < arrProdHtml.length; i++) {
 			for (int i = 0; i < arrProdHtml.length; i++) {
 				if (!arrProdHtml[i].isEmpty()) {
 				if (!arrProdHtml[i].isEmpty()) {
@@ -1027,8 +1014,8 @@ public class TsaGoodsService {
 			Option goodsStock = new Option();
 			Option goodsStock = new Option();
 			goodsStock.setGoodsCd(goods.getCompsGoodsCd()[index]); // 구성상품 코드
 			goodsStock.setGoodsCd(goods.getCompsGoodsCd()[index]); // 구성상품 코드
 			goodsStock.setOptCd(optCd);
 			goodsStock.setOptCd(optCd);
-			goodsStock.setOptNm1(goods.getOptNm1()[index]);
-			goodsStock.setOptNm2(goods.getOptNm2()[index]);
+			goodsStock.setOptCd1(goods.getOptNm1()[index]);
+			goodsStock.setOptCd2(goods.getOptNm2()[index]);
 			goodsStock.setBaseStockQty(Integer.parseInt(goods.getBaseStockQty()[index]));
 			goodsStock.setBaseStockQty(Integer.parseInt(goods.getBaseStockQty()[index]));
 			goodsStock.setSoldoutYn(goods.getSoldoutYn()[index]);
 			goodsStock.setSoldoutYn(goods.getSoldoutYn()[index]);
 			goodsStock.setDispOrd(goods.getDispOrd()[index]);
 			goodsStock.setDispOrd(goods.getDispOrd()[index]);
@@ -1097,9 +1084,8 @@ public class TsaGoodsService {
 		regGoods.setStyleYear(goods.getStyleYear());
 		regGoods.setStyleYear(goods.getStyleYear());
 		regGoods.setSeasonCd(goods.getSeasonCd());
 		regGoods.setSeasonCd(goods.getSeasonCd());
 		regGoods.setSexGb(goods.getSexGb());
 		regGoods.setSexGb(goods.getSexGb());
-		regGoods.setColorCd(goods.getColorCd());
-		regGoods.setMainColorYn("Y");
-		regGoods.setMakeNm(goods.getMakeNm());
+		regGoods.setMainColorCd("Y");
+		regGoods.setMakeOriginCd(goods.getMakeOriginCd());
 		regGoods.setMakeYmd(goods.getMakeYmd());
 		regGoods.setMakeYmd(goods.getMakeYmd());
 		regGoods.setSelfMallYn(goods.getSelfMallYn());
 		regGoods.setSelfMallYn(goods.getSelfMallYn());
 		regGoods.setGoodsStat("G008_20"); // 정보부족
 		regGoods.setGoodsStat("G008_20"); // 정보부족
@@ -1173,9 +1159,8 @@ public class TsaGoodsService {
 		regGoods.setStyleYear(goods.getStyleYear());
 		regGoods.setStyleYear(goods.getStyleYear());
 		regGoods.setSeasonCd(goods.getSeasonCd());
 		regGoods.setSeasonCd(goods.getSeasonCd());
 		regGoods.setSexGb(goods.getSexGb());
 		regGoods.setSexGb(goods.getSexGb());
-		regGoods.setColorCd(goods.getColorCd());
-		regGoods.setMainColorYn("Y");
-		regGoods.setMakeNm(goods.getMakeNm());
+		regGoods.setMainColorCd("Y");   /// 수정
+		regGoods.setMakeOriginCd(goods.getMakeOriginCd());
 		regGoods.setMakeYmd(goods.getMakeYmd());
 		regGoods.setMakeYmd(goods.getMakeYmd());
 		regGoods.setSelfMallYn(goods.getSelfMallYn());
 		regGoods.setSelfMallYn(goods.getSelfMallYn());
 		regGoods.setGoodsStat("G008_20"); // 정보부족
 		regGoods.setGoodsStat("G008_20"); // 정보부족

+ 32 - 20
style24.admin/src/main/java/com/style24/admin/biz/web/TsaGoodsController.java

@@ -594,8 +594,8 @@ public class TsaGoodsController extends TsaBaseController {
 		int toYear = Integer.parseInt(GagaDateUtil.getToday("yyyy")) - 4;
 		int toYear = Integer.parseInt(GagaDateUtil.getToday("yyyy")) - 4;
 		mav.addObject("styleYearList", rendererService.getYearList(toYear,0,5));
 		mav.addObject("styleYearList", rendererService.getYearList(toYear,0,5));
 		// 색상
 		// 색상
-		Color color = new Color();
-		mav.addObject("colorList", rendererService.getColorList(color));
+//		Color color = new Color();
+//		mav.addObject("colorList", rendererService.getColorList(color));
 
 
 		mav.addObject("params", goods);
 		mav.addObject("params", goods);
 
 
@@ -688,20 +688,6 @@ public class TsaGoodsController extends TsaBaseController {
 		return goodsService.getGoodsDetailComposeList(goods);
 		return goodsService.getGoodsDetailComposeList(goods);
 	}
 	}
 
 
-	/**
-	 * 같은 품번 상품목록
-	 *
-	 * @param goods
-	 * @return
-	 * @author eskim
-	 * @since 2020. 11. 03
-	 */
-	@GetMapping("/detail/goodsNum/list")
-	@ResponseBody
-	public Collection<Goods> getGoodsNumGoodsList(Goods goods) {
-		return goodsService.getGoodsNumGoodsList(goods);
-	}
-
 	/**
 	/**
 	 * 상품 상세 저장
 	 * 상품 상세 저장
 	 *
 	 *
@@ -753,6 +739,28 @@ public class TsaGoodsController extends TsaBaseController {
 		return super.ok(message.getMessage("SUCC_0001"));
 		return super.ok(message.getMessage("SUCC_0001"));
 	}
 	}
 
 
+	/**
+	 * 상품 이미지 보기 화면
+	 *
+	 * @param goodsCode - 상품코드
+	 * @return
+	 * @author eskim
+	 * @since 2020. 11. 09
+	 */
+	@GetMapping("/detail/img/form")
+	@ResponseBody
+	public ModelAndView detailImageForm(Goods goods) {
+		ModelAndView mav = new ModelAndView();
+
+//		goods = goodsService.getGoods(goods);
+//		// mav.addObject("goodsImgList", goodsService.getGoodsImgList(goods)); //이미지 - 행
+//		mav.addObject("goodsImgInfo", goodsService.getGoodsImg(goods)); // 이미지 - 열
+//
+		mav.addObject("params", goods);
+		mav.setViewName("goods/GoodsDetailImageForm");
+		return mav;
+	}
+
 	/**
 	/**
 	 * 세트상품구성 화면
 	 * 세트상품구성 화면
 	 *
 	 *
@@ -780,11 +788,13 @@ public class TsaGoodsController extends TsaBaseController {
 		// 매입유형
 		// 매입유형
 		mav.addObject("buyingTypeList", rendererService.getAvailCommonCodeList("G035"));
 		mav.addObject("buyingTypeList", rendererService.getAvailCommonCodeList("G035"));
 		// 색상
 		// 색상
-		Color color = new Color();
-		mav.addObject("colorCdList", rendererService.getColorList(color));
+//		Color color = new Color();
+//		mav.addObject("colorCdList", rendererService.getColorList(color));
 		// 상품상태
 		// 상품상태
 		String[] exceptCds = {"G008_00"};
 		String[] exceptCds = {"G008_00"};
 		mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y", exceptCds));
 		mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y", exceptCds));
+		// 원산지
+		mav.addObject("makOriginList", rendererService.getAvailCommonCodeList("G076"));
 
 
 		mav.addObject("params", goods);
 		mav.addObject("params", goods);
 		mav.setViewName("goods/GoodsSetForm");
 		mav.setViewName("goods/GoodsSetForm");
@@ -833,13 +843,15 @@ public class TsaGoodsController extends TsaBaseController {
 		// 매입유형
 		// 매입유형
 		mav.addObject("buyingTypeList", rendererService.getAvailCommonCodeList("G035"));
 		mav.addObject("buyingTypeList", rendererService.getAvailCommonCodeList("G035"));
 		// 색상
 		// 색상
-		Color color = new Color();
-		mav.addObject("colorCdList", rendererService.getColorList(color));
+//		Color color = new Color();
+//		mav.addObject("colorCdList", rendererService.getColorList(color));
 		// 상품상태
 		// 상품상태
 		// mav.addObject("goodsStatList",
 		// mav.addObject("goodsStatList",
 		// rendererService.getAvailCommonCodeList("G008"));
 		// rendererService.getAvailCommonCodeList("G008"));
 		String[] exceptCds = {"G008_00"};
 		String[] exceptCds = {"G008_00"};
 		mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y", exceptCds));
 		mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y", exceptCds));
+		// 원산지
+		mav.addObject("makOriginList", rendererService.getAvailCommonCodeList("G076"));
 
 
 		mav.addObject("params", goods);
 		mav.addObject("params", goods);
 		mav.setViewName("goods/GoodsDealForm");
 		mav.setViewName("goods/GoodsDealForm");

+ 4 - 3
style24.admin/src/main/java/com/style24/persistence/domain/Goods.java

@@ -25,8 +25,7 @@ public class Goods extends TscBaseDomain {
 	private String goodsTnm;		//상품타이틀명
 	private String goodsTnm;		//상품타이틀명
 	private String goodsSnm;		//상품검색명
 	private String goodsSnm;		//상품검색명
 	private String goodsSnm1;		//상품검색명1(사용자등록용)
 	private String goodsSnm1;		//상품검색명1(사용자등록용)
-	private String colorCd;		//색상코드
-	private String mainColorYn;		//대표색상여부
+	private String mainColorCd;		//대표색상코드
 	private String styleYear;		//스타일연도
 	private String styleYear;		//스타일연도
 	private String seasonCd;		//시즌코드(공통코드G006)
 	private String seasonCd;		//시즌코드(공통코드G006)
 	private String sexGb;		//성별구분(공통코드G007)
 	private String sexGb;		//성별구분(공통코드G007)
@@ -62,7 +61,8 @@ public class Goods extends TscBaseDomain {
 	private int maxOrdQty;		//최대주문수량
 	private int maxOrdQty;		//최대주문수량
 	private int dayMaxOrdQty;		//ID당1일최대구매수량
 	private int dayMaxOrdQty;		//ID당1일최대구매수량
 	private String frstCfrmDt;		//최초승인일시
 	private String frstCfrmDt;		//최초승인일시
-	private String makeNm;		//제조국(원산지)
+	//private String makeNm;		//제조국(원산지)
+	private String makeOriginCd;		//제조국(원산지)
 	private String makeYmd;		//제조연월일
 	private String makeYmd;		//제조연월일
 	private String taxGb;		//과세구분(10:과세, 20:비과세)
 	private String taxGb;		//과세구분(10:과세, 20:비과세)
 	private String erpPriceLinkYn;		//ERP가격연계여부(자사상품만 사용. Y:연계)
 	private String erpPriceLinkYn;		//ERP가격연계여부(자사상품만 사용. Y:연계)
@@ -87,6 +87,7 @@ public class Goods extends TscBaseDomain {
 	private String goodsImageYn;
 	private String goodsImageYn;
 	private String itemkindNm;
 	private String itemkindNm;
 	private String niClsfCd;
 	private String niClsfCd;
+	private String makeNm;
 
 
 	private int currPriceOrg;
 	private int currPriceOrg;
 	private String goodsStatOrg;
 	private String goodsStatOrg;

+ 1 - 2
style24.admin/src/main/java/com/style24/persistence/domain/GoodsHst.java

@@ -22,8 +22,7 @@ public class GoodsHst extends TscBaseDomain {
 	private String goodsTnm;		//상품타이틀명
 	private String goodsTnm;		//상품타이틀명
 	private String goodsSnm;		//상품검색명
 	private String goodsSnm;		//상품검색명
 	private String goodsSnm1;		//상품검색명1(사용자등록용)
 	private String goodsSnm1;		//상품검색명1(사용자등록용)
-	private String colorCd;		//색상코드
-	private String mainColorYn;		//대표색상여부
+	private String mainColorCd;		//대표색상코드
 	private String styleYear;		//스타일연도
 	private String styleYear;		//스타일연도
 	private String seasonCd;		//시즌코드(공통코드G006)
 	private String seasonCd;		//시즌코드(공통코드G006)
 	private String sexGb;		//성별구분(공통코드G007)
 	private String sexGb;		//성별구분(공통코드G007)

+ 27 - 0
style24.admin/src/main/java/com/style24/persistence/domain/GoodsPriceRes.java

@@ -0,0 +1,27 @@
+package com.style24.persistence.domain;
+
+import com.style24.persistence.TscBaseDomain;
+
+import lombok.Data;
+
+/**
+ * 상품가격변경예약 Domain
+ * @author eskim
+ * @since 2020. 11. 11
+ */
+@SuppressWarnings("serial")
+@Data
+public class GoodsPriceRes extends TscBaseDomain {
+
+	private Integer goodsPriceResSq;
+	private String goodsCd;
+	private int resGoodsPrice;
+	private int endGoodsPrice;
+	private String applyStdt;
+	private String applyEddt;
+	private String cfrmYn;
+	private int cfrmNo;
+	private String cfrmDt;
+	private String applyYn;
+
+}

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

@@ -17,8 +17,8 @@ public class Option extends TscBaseDomain {
 	private String goodsCd;
 	private String goodsCd;
 	private String optCd;
 	private String optCd;
 	private String optNm;
 	private String optNm;
-	private String optNm1;
-	private String optNm2;
+	private String optCd1;
+	private String optCd2;
 	private int baseStockQty;
 	private int baseStockQty;
 	private int currStockQty;
 	private int currStockQty;
 	private int addPrice;
 	private int addPrice;

+ 23 - 46
style24.admin/src/main/java/com/style24/persistence/mybatis/shop/TsaGoods.xml

@@ -696,8 +696,7 @@
 		     , G.SEASON_CD
 		     , G.SEASON_CD
 		     , G.SEX_GB
 		     , G.SEX_GB
 		     , G.GOODS_NUM
 		     , G.GOODS_NUM
-		     , G.COLOR_CD
-		     , G.MAIN_COLOR_YN
+		     , G.MAIN_COLOR_CD
 		     , G.GOODS_TYPE
 		     , G.GOODS_TYPE
 		     , G.LIST_PRICE
 		     , G.LIST_PRICE
 		     , G.CURR_PRICE
 		     , G.CURR_PRICE
@@ -709,9 +708,6 @@
 		     , G.SELF_MALL_YN
 		     , G.SELF_MALL_YN
 		     , G.GOODS_GB
 		     , G.GOODS_GB
 		     , G.DISTRIBUTION_GB
 		     , G.DISTRIBUTION_GB
-		     /*, (SELECT COLOR_GRP_FILE 
-		        FROM TB_COLOR TC 
-		        WHERE TC.COLOR_CD = G.COLOR_CD) AS COLOR_GRP_FILE */
 		     , G.SUPPLY_COMP_CD
 		     , G.SUPPLY_COMP_CD
 		     , G.SUPPLY_GOODS_CD
 		     , G.SUPPLY_GOODS_CD
 		     , G.AGE_GRP_CD
 		     , G.AGE_GRP_CD
@@ -729,7 +725,8 @@
 		     , G.DAY_MAX_ORD_QTY
 		     , G.DAY_MAX_ORD_QTY
 		     , G.ERP_STOCK_LINK_YN
 		     , G.ERP_STOCK_LINK_YN
 		     , G.ERP_PRICE_LINK_YN
 		     , G.ERP_PRICE_LINK_YN
-		     , G.MAKE_NM
+		     , FN_GET_CODE_NM('G076', G.MAKE_ORIGIN_CD) AS MAKE_NM
+		     , G.MAKE_ORIGIN_CD
 		     , G.MAKE_YMD
 		     , G.MAKE_YMD
 		     , G.TAX_GB
 		     , G.TAX_GB
 		     , G.GOODS_TYPE
 		     , G.GOODS_TYPE
@@ -813,8 +810,7 @@
 		      , GOODS_TNM
 		      , GOODS_TNM
 		      , GOODS_SNM
 		      , GOODS_SNM
 		      , GOODS_SNM1
 		      , GOODS_SNM1
-		      , COLOR_CD
-		      , MAIN_COLOR_YN
+		      , MAIN_COLOR_CD
 		      , STYLE_YEAR
 		      , STYLE_YEAR
 		      , SEASON_CD
 		      , SEASON_CD
 		      , SEX_GB
 		      , SEX_GB
@@ -849,7 +845,7 @@
 		      , MAX_ORD_QTY
 		      , MAX_ORD_QTY
 		      , DAY_MAX_ORD_QTY
 		      , DAY_MAX_ORD_QTY
 		      , FRST_CFRM_DT
 		      , FRST_CFRM_DT
-		      , MAKE_NM
+		      , MAKE_ORIGIN_CD
 		      , MAKE_YMD
 		      , MAKE_YMD
 		      , TAX_GB
 		      , TAX_GB
 		      , ERP_PRICE_LINK_YN
 		      , ERP_PRICE_LINK_YN
@@ -866,8 +862,7 @@
 		     , GOODS_TNM           
 		     , GOODS_TNM           
 		     , GOODS_SNM           
 		     , GOODS_SNM           
 		     , GOODS_SNM1          
 		     , GOODS_SNM1          
-		     , COLOR_CD            
-		     , MAIN_COLOR_YN
+		     , MAIN_COLOR_CD
 		     , STYLE_YEAR          
 		     , STYLE_YEAR          
 		     , SEASON_CD           
 		     , SEASON_CD           
 		     , SEX_GB              
 		     , SEX_GB              
@@ -902,7 +897,7 @@
 		     , MAX_ORD_QTY         
 		     , MAX_ORD_QTY         
 		     , DAY_MAX_ORD_QTY     
 		     , DAY_MAX_ORD_QTY     
 		     , FRST_CFRM_DT        
 		     , FRST_CFRM_DT        
-		     , MAKE_NM             
+		     , MAKE_ORIGIN_CD             
 		     , MAKE_YMD            
 		     , MAKE_YMD            
 		     , TAX_GB              
 		     , TAX_GB              
 		     , ERP_PRICE_LINK_YN   
 		     , ERP_PRICE_LINK_YN   
@@ -1160,9 +1155,10 @@
 		SELECT #{goodsCd} AS GOODS_CD
 		SELECT #{goodsCd} AS GOODS_CD
 		     , A.GOODS_CD AS COMPS_GOODS_CD
 		     , A.GOODS_CD AS COMPS_GOODS_CD
 		     , A.OPT_CD
 		     , A.OPT_CD
-		     , CONCAT(A.OPT_NM1,  NVL2(A.OPT_NM2, '', CONCAT('/', A.OPT_NM2))) AS OPT_NM 
-		     , A.OPT_NM1
-		     , A.OPT_NM2
+		     , CONCAT(A.OPT_CD1,  NVL2(A.OPT_CD2, '', CONCAT('/', A.OPT_CD2))) AS OPT_NM 
+		     , A.OPT_CD1
+		     , A.OPT_CD2
+		     , A.ADD_PRICE
 		     , A.BASE_STOCK_QTY
 		     , A.BASE_STOCK_QTY
 		     , A.CURR_STOCK_QTY
 		     , A.CURR_STOCK_QTY
 		     , IFNULL(B.STOCK_QTY,0) AS SALE_STOCK_QTY
 		     , IFNULL(B.STOCK_QTY,0) AS SALE_STOCK_QTY
@@ -1237,8 +1233,7 @@
 		  , GOODS_TNM
 		  , GOODS_TNM
 		  , GOODS_SNM
 		  , GOODS_SNM
 		  , GOODS_SNM1
 		  , GOODS_SNM1
-		  , COLOR_CD
-		  , MAIN_COLOR_YN
+		  , MAIN_COLOR_CD
 		  , STYLE_YEAR
 		  , STYLE_YEAR
 		  , SEASON_CD
 		  , SEASON_CD
 		  , SEX_GB
 		  , SEX_GB
@@ -1261,7 +1256,7 @@
 		  , PNT_MRATE
 		  , PNT_MRATE
 		  , SELL_FEE_RATE
 		  , SELL_FEE_RATE
 		  , FORMAL_GB
 		  , FORMAL_GB
-		  , MAKE_NM
+		  , MAKE_ORIGIN_CD
 		  , MAKE_YMD
 		  , MAKE_YMD
 		  , TAX_GB
 		  , TAX_GB
 		  , ERP_STOCK_LINK_YN
 		  , ERP_STOCK_LINK_YN
@@ -1278,8 +1273,7 @@
 		  , #{goodsTnm}
 		  , #{goodsTnm}
 		  , #{goodsSnm}
 		  , #{goodsSnm}
 		  , #{goodsSnm1}
 		  , #{goodsSnm1}
-		  , #{colorCd}
-		  , #{mainColorYn}
+		  , #{mainColorCd}
 		  , #{styleYear}
 		  , #{styleYear}
 		  , #{seasonCd}
 		  , #{seasonCd}
 		  , #{sexGb}
 		  , #{sexGb}
@@ -1302,7 +1296,7 @@
 		  , #{pntMrate}
 		  , #{pntMrate}
 		  , #{sellFeeRate}
 		  , #{sellFeeRate}
 		  , #{formalGb}
 		  , #{formalGb}
-		  , #{makeNm}
+		  , #{makeOriginCd}
 		  , #{makeYmd}
 		  , #{makeYmd}
 		  , #{taxGb}
 		  , #{taxGb}
 		  , NVL(#{erpStockLinkYn},'N')
 		  , NVL(#{erpStockLinkYn},'N')
@@ -1451,8 +1445,8 @@
 		(     OPTION_HST_SQ
 		(     OPTION_HST_SQ
 		    , GOODS_CD
 		    , GOODS_CD
 		    , OPT_CD
 		    , OPT_CD
-		    , OPT_NM1
-		    , OPT_NM2
+		    , OPT_CD1
+		    , OPT_CD2
 		    , BASE_STOCK_QTY
 		    , BASE_STOCK_QTY
 		    , CURR_STOCK_QTY
 		    , CURR_STOCK_QTY
 		    , ADD_PRICE
 		    , ADD_PRICE
@@ -1467,8 +1461,8 @@
 		SELECT NULL
 		SELECT NULL
 		     , GOODS_CD
 		     , GOODS_CD
 		     , OPT_CD
 		     , OPT_CD
-		     , OPT_NM1
-		     , OPT_NM2
+		     , OPT_CD1
+		     , OPT_CD2
 		     , BASE_STOCK_QTY
 		     , BASE_STOCK_QTY
 		     , CURR_STOCK_QTY
 		     , CURR_STOCK_QTY
 		     , ADD_PRICE
 		     , ADD_PRICE
@@ -1492,8 +1486,8 @@
 		INSERT INTO TB_OPTION(
 		INSERT INTO TB_OPTION(
 		       GOODS_CD
 		       GOODS_CD
 		     , OPT_CD
 		     , OPT_CD
-		     , OPT_NM1
-		     , OPT_NM2
+		     , OPT_CD1
+		     , OPT_CD2
 		     , BASE_STOCK_QTY
 		     , BASE_STOCK_QTY
 		     , CURR_STOCK_QTY
 		     , CURR_STOCK_QTY
 		     , ADD_PRICE
 		     , ADD_PRICE
@@ -1523,8 +1517,8 @@
 		)
 		)
 		ON DUPLICATE KEY UPDATE 
 		ON DUPLICATE KEY UPDATE 
 		        BASE_STOCK_QTY = #{baseStockQty}
 		        BASE_STOCK_QTY = #{baseStockQty}
-		      , OPT_NM1 = #{optNm1}
-		      , OPT_NM2 = #{optNm2}
+		      , OPT_CD1 = #{optCd1}
+		      , OPT_CD2 = #{optCd2}
 		      , ADD_PRICE = #{addPrice}
 		      , ADD_PRICE = #{addPrice}
 		      , SOLDOUT_YN = #{soldoutYn}
 		      , SOLDOUT_YN = #{soldoutYn}
 		      , DISP_ORD = #{dispOrd}
 		      , DISP_ORD = #{dispOrd}
@@ -1536,23 +1530,6 @@
 		      </if>
 		      </if>
 	</update>
 	</update>
 	
 	
-	<!-- 같은 품번 상품목록  -->
-	<select id="getGoodsNumGoodsList" parameterType="Goods" resultType="Goods">
-		/* TsaGoods.getGoodsNumGoodsList */
-		SELECT G.GOODS_CD
-		     , G.GOODS_NM
-		     , G.COLOR_CD
-		     , G.MAIN_COLOR_YN
-		     , G.GOODS_NUM
-		     , G.GOODS_STAT
-		     , GI.IMG_PATH1
-		     , GI.IMG_PATH6
-		     , GI.IMG_TYPE
-		FROM TB_GOODS G
-		LEFT OUTER JOIN TB_GOODS_IMG GI ON G.GOODS_CD = GI.GOODS_CD
-		WHERE GOODS_NUM = (SELECT GOODS_NUM FROM TB_GOODS TG WHERE GOODS_CD = #{goodsCd})
-	</select>
-	
 	<!-- 상품코드 생성 -->
 	<!-- 상품코드 생성 -->
 	<insert id="createGoodsSequence" parameterType="Goods">
 	<insert id="createGoodsSequence" parameterType="Goods">
 		/* TsaGoods.createGoodsSequence */
 		/* TsaGoods.createGoodsSequence */

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

@@ -79,16 +79,15 @@
 						</td>
 						</td>
 					</tr>
 					</tr>
 					<tr>
 					<tr>
-						<th>색상<em class="required" title="필수"></em></th>
-						<td ><select name="colorCd" id="colorCd">
+						<th>원산지<em class="required" title="필수"></em></th>
+						<td ><select name="makeOriginCd" id="makeOriginCd">
 								<option value="">[전체]</option>
 								<option value="">[전체]</option>
-								<option th:if="${colorCdList}" th:each="oneData, status : ${colorCdList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
+								<option th:if="${makOriginList}" th:each="oneData, status : ${makOriginList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 							</select>
+							<input type="hidden" id="makeNm" name="makeNm" />
 						</td>
 						</td>
-						<th>원산지<em class="required" title="필수"></em></th>
-						<td><input type="text" class="w100" id="makeNm" name="makeNm" maxlength="20" /></td>
 						<th>제조년월일<em class="required" title="필수"></em></th>
 						<th>제조년월일<em class="required" title="필수"></em></th>
-						<td><input type="text" class="w100" id="makeYmd" name="makeYmd" maxlength="8" data-valid-type="date"/></td>
+						<td colspan="3"><input type="text" class="w100" id="makeYmd" name="makeYmd" maxlength="8" data-valid-type="date"/></td>
 					</tr>
 					</tr>
 				</table>
 				</table>
 			</div>	
 			</div>	
@@ -341,16 +340,6 @@
 			return false;
 			return false;
 		}
 		}
 		
 		
-		if(gagajf.isNull($("#goodsDealForm select[name=colorCd]").val())){
-			mcxDialog.alertC('색상을 입력해 주세요.<br/>기준여부를 선택하시면<br/>해당브랜드의 색상을 노출합니다.', {
-				sureBtnText: "확인",
-				sureBtnClick: function() {
-					$("#goodsDealForm select[name=colorCd]").focus();
-				}
-			});	
-			return false;
-		}
-		
 		if (gagajf.isNull($("#goodsDealForm input[name=selfMallYn]").val())){
 		if (gagajf.isNull($("#goodsDealForm input[name=selfMallYn]").val())){
 			mcxDialog.alertC('자사노출여부를 선택해 주세요.', {
 			mcxDialog.alertC('자사노출여부를 선택해 주세요.', {
 				sureBtnText: "확인",
 				sureBtnText: "확인",
@@ -391,11 +380,11 @@
 			return false;
 			return false;
 		}
 		}
 		
 		
-		if(gagajf.isNull($("#goodsDealForm input[name=makeNm]").val())){
+		if(gagajf.isNull($("#goodsDealForm select[name=makeOriginCd]").val())){
 			mcxDialog.alertC('원산지를 입력해 주세요.', {
 			mcxDialog.alertC('원산지를 입력해 주세요.', {
 				sureBtnText: "확인",
 				sureBtnText: "확인",
 				sureBtnClick: function() {
 				sureBtnClick: function() {
-					$("#goodsDealForm input[name=makeNm]").focus();
+					$("#goodsDealForm select[name=makeOriginCd]").focus();
 				}
 				}
 			});	
 			});	
 			return false;
 			return false;

+ 16 - 109
style24.admin/src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html

@@ -75,7 +75,7 @@
 							<li><a href="#goodstab2">옵션/재고정보</a></li>
 							<li><a href="#goodstab2">옵션/재고정보</a></li>
 							<li><a href="#goodstab3">상품상세정보</a></li>
 							<li><a href="#goodstab3">상품상세정보</a></li>
 							<li id="goodsNotiTab"><a href="#goodstab4">고시정보</a></li>
 							<li id="goodsNotiTab"><a href="#goodstab4">고시정보</a></li>
-							<li id="goodsColorTab"><a href="#goodstab5">대표색상</a></li>
+							<!-- <li id="goodsColorTab"><a href="#goodstab5">대표색상</a></li> -->
 							<li id="GoodsComposeTab" style="display:none;"><a href="#goodstab6">구성상품</a></li>
 							<li id="GoodsComposeTab" style="display:none;"><a href="#goodstab6">구성상품</a></li>
 							<li><a href="#goodstab7">변경이력</a></li>
 							<li><a href="#goodstab7">변경이력</a></li>
 						</ul>
 						</ul>
@@ -142,19 +142,13 @@
 											<input type="hidden" id="formalGbOrg" name="formalGbOrg"/>
 											<input type="hidden" id="formalGbOrg" name="formalGbOrg"/>
 										</td>
 										</td>
 										<th>상품상태<em class="required" title="필수"></em></th>
 										<th>상품상태<em class="required" title="필수"></em></th>
-										<td>
+										<td colspan="3">
 											<select  name="goodsStat" id="goodsStat">
 											<select  name="goodsStat" id="goodsStat">
 											<option value="">[선택]</option>
 											<option value="">[선택]</option>
 											<option th:if="${goodsStatList}" th:each="oneData, status : ${goodsStatList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 											<option th:if="${goodsStatList}" th:each="oneData, status : ${goodsStatList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 											</select>
 											</select>
 											<input type="hidden" id="goodsStatOrg" name="goodsStatOrg"/>
 											<input type="hidden" id="goodsStatOrg" name="goodsStatOrg"/>
 										</td>
 										</td>
-										<th>색상</th>
-										<td>
-											<select class="w90p"  name="colorCd" id="colorCd" disabled="disabled">
-											<option th:if="${colorList}" th:each="oneData, status : ${colorList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
-											</select>
-										</td>
 									</tr>
 									</tr>
 									<tr>
 									<tr>
 										<td rowspan="11">&nbsp;</td>
 										<td rowspan="11">&nbsp;</td>
@@ -180,7 +174,6 @@
 									<tr id="erplinkarea">
 									<tr id="erplinkarea">
 										<th>원산지</th>
 										<th>원산지</th>
 										<td><span id="makeNmTxt"></span></td>
 										<td><span id="makeNmTxt"></span></td>
-										
 										<th>상품구분<em class="required" title="필수"></em></th>
 										<th>상품구분<em class="required" title="필수"></em></th>
 										<td>
 										<td>
 											<select  name="goodsGb" id="goodsGb">
 											<select  name="goodsGb" id="goodsGb">
@@ -398,17 +391,13 @@
 							<!-- //TAB4 CONTENTS AREA -->
 							<!-- //TAB4 CONTENTS AREA -->
 						</li>
 						</li>
 						<!-- //TAB4 : 고시정보 -->
 						<!-- //TAB4 : 고시정보 -->
-						<!-- TAB5 : 대표색상정보 -->
-						<li class="tab" id="goodstab5">
-							<!-- TAB6 CONTENTS AREA -->
-							<div class="panelStyle">
-								<!-- 내용 삽입 -->
-								<div id="gridGoodsNumList" style="height: 480px;" class="ag-theme-balham lh60"></div>
-								<!-- 내용 삽입 -->
-							</div>
-							<!-- //TAB6 CONTENTS AREA -->
-						</li>
-						<!-- //TAB5 : 대표색상정보 -->
+
+<!-- 					<li class="tab" id="goodstab5">
+						<div class="panelStyle">
+							<div id="gridGoodsNumList" style="height: 480px;" class="ag-theme-balham lh60"></div>
+						</div>
+					</li> -->
+
 						<!-- TAB6 : 구성상품 -->
 						<!-- TAB6 : 구성상품 -->
 						<li class="tab" id="goodstab6">
 						<li class="tab" id="goodstab6">
 							<!-- TAB6 CONTENTS AREA -->
 							<!-- TAB6 CONTENTS AREA -->
@@ -444,7 +433,7 @@
 					<ul class="panelBar marT10">
 					<ul class="panelBar marT10">
 						<li class="left">
 						<li class="left">
 							<button type="button" class="btn btnLeft btn-base btn-lg" id="btnGoodsDetailPreview">미리보기</button>
 							<button type="button" class="btn btnLeft btn-base btn-lg" id="btnGoodsDetailPreview">미리보기</button>
-							<button type="button" class="btn btnLeft btn-base btn-lg" id="btnGoodsDetailImg">이미지보기</button>
+							<!-- <button type="button" class="btn btnLeft btn-base btn-lg" id="btnGoodsDetailImg">이미지보기</button> -->
 						</li>
 						</li>
 						<li class="right">
 						<li class="right">
 							<th:block th:if="${sessionInfo.roleCd == 'G001_0000' OR sessionInfo.roleCd == 'G001_A000' OR sessionInfo.roleCd == 'G001_A101' OR sessionInfo.roleCd == 'G001_A100' OR sessionInfo.roleCd == 'G001_A001'}">
 							<th:block th:if="${sessionInfo.roleCd == 'G001_0000' OR sessionInfo.roleCd == 'G001_A000' OR sessionInfo.roleCd == 'G001_A101' OR sessionInfo.roleCd == 'G001_A100' OR sessionInfo.roleCd == 'G001_A001'}">
@@ -471,7 +460,6 @@
 	var authBrandList = [[${authBrandList}]];
 	var authBrandList = [[${authBrandList}]];
 	var useYnList = gagajf.convertToArray([[${useYnList}]]);
 	var useYnList = gagajf.convertToArray([[${useYnList}]]);
 	var goodsTypeList = gagajf.convertToArray([[${goodsTypeList}]]);
 	var goodsTypeList = gagajf.convertToArray([[${goodsTypeList}]]);
-	var colorList = gagajf.convertToArray([[${colorList}]]);
 	var uploadGoodsUrl = [[${@environment.getProperty('upload.goods.view')}]];
 	var uploadGoodsUrl = [[${@environment.getProperty('upload.goods.view')}]];
 	// Get a SmartEditor options
 	// Get a SmartEditor options
 	//var seOptions = gagaSe.getEditorOptions();
 	//var seOptions = gagaSe.getEditorOptions();
@@ -590,57 +578,12 @@
 		},
 		},
 		{headerName: "수정자", field: "updNm", width: 100, cellClass: 'text-center'}
 		{headerName: "수정자", field: "updNm", width: 100, cellClass: 'text-center'}
 	];
 	];
-	
-	// specify the columns - 같은 품번 상품
-	var columnGoodsNumDefs = [
-		{headerName: "CRUD", field: "crud", width: 75, minWidth: 75, hide: true},
-		//{headerName: 'No', width: 60, cellClass: 'text-center', valueGetter: function(params) { return params.node.rowIndex + 1 }},
-		{headerName: "이미지", field: "imgPath1", width: 100, height: 60, cellClass: 'text-center'
-			,cellRenderer: function(params) {
-				if (params.data.imgType == "G030_A"){
-					if(!gagajf.isNull(params.data.imgPath6)){
-						return '<img width="60" src="'+ params.data.imgPath1 + '" alt="" onerror="this.src=\'/image/no.gif\';"/>';
-					}else{
-						return '<img width="60" src="'+ params.value + '" alt="" onerror="this.src=\'/image/no.gif\';"/>';
-					}	
-						
-				}else{
-					if(!gagajf.isNull(params.data.imgPath6)){
-						return '<img width="60" src="'+ uploadGoodsUrl+params.data.imgPath6 + '" alt=""  onerror="this.src=\'/image/no.gif\';"/>';
-					}else{
-						return '<img width="60" src="'+ uploadGoodsUrl+params.value + '" alt=""  onerror="this.src=\'/image/no.gif\';"/>';
-					}
-				}
-			}
-		},
-		{headerName: "상품코드", field: "goodsCd" , width: 130, cellClass: 'text-center'},
-		{headerName: "상품코드명", field: "goodsNm" , width: 200, cellClass: 'text-left'},
-		{headerName: "색상", field: "colorCd" , width: 100, cellClass: 'text-center',
-			cellEditorParams: { values: gagaAgGrid.extractValues(colorList) },
-			valueFormatter: function (params) { return gagaAgGrid.lookupValue(colorList, params.value); },
-			valueParser: function (params) { return gagaAgGrid.lookupKey(colorList, params.newValue); }
-		},
-		{headerName: "대표색상여부", field: "mainColorYn", width: 120, 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: "goodsStat" , width: 100, cellClass: 'text-center',
-			cellEditorParams: { values: gagaAgGrid.extractValues(goodsStatList) },
-			valueFormatter: function (params) { return gagaAgGrid.lookupValue(goodsStatList, params.value); },
-			valueParser: function (params) { return gagaAgGrid.lookupKey(goodsStatList, params.newValue); }
-		}
-	];
-	
 
 
 	// Get GridOptions
 	// Get GridOptions
 	var gridGoodsHstoryOptions = gagaAgGrid.getGridOptions(columnGoodsHstoryDefs);
 	var gridGoodsHstoryOptions = gagaAgGrid.getGridOptions(columnGoodsHstoryDefs);
 	gridGoodsHstoryOptions.enableBrowserTooltips = true;
 	gridGoodsHstoryOptions.enableBrowserTooltips = true;
 	var gridGoodsComposeOptions = gagaAgGrid.getGridOptions(columnGoodsComposeDefs);
 	var gridGoodsComposeOptions = gagaAgGrid.getGridOptions(columnGoodsComposeDefs);
 	gridGoodsComposeOptions.enableBrowserTooltips = true;
 	gridGoodsComposeOptions.enableBrowserTooltips = true;
-	var gridGoodsNumOptions = gagaAgGrid.getGridOptions(columnGoodsNumDefs);
-	gridGoodsNumOptions.enableBrowserTooltips = true;
 	
 	
 	// 드래그
 	// 드래그
 	gridGoodsComposeOptions.suppressRowClickSelection = true;
 	gridGoodsComposeOptions.suppressRowClickSelection = true;
@@ -649,10 +592,8 @@
 	//gridGoodsComposeOptions.rowDeselection = true;
 	//gridGoodsComposeOptions.rowDeselection = true;
 	//gridGoodsComposeOptions.enableMultiRowDragging = true;
 	//gridGoodsComposeOptions.enableMultiRowDragging = true;
 	//gridGoodsComposeOptions.rowSelection = 'multiple';
 	//gridGoodsComposeOptions.rowSelection = 'multiple';
-	gridGoodsNumOptions.suppressRowClickSelection = true;
 	
 	
 	gridGoodsComposeOptions.rowHeight = 60; //이미지가 있을경우 높이 지정해야함.
 	gridGoodsComposeOptions.rowHeight = 60; //이미지가 있을경우 높이 지정해야함.
-	gridGoodsNumOptions.rowHeight = 60; //이미지가 있을경우 높이 지정해야함.
 	
 	
 	//기준여부 표시
 	//기준여부 표시
 	gridGoodsComposeOptions.getRowStyle = function(params) {
 	gridGoodsComposeOptions.getRowStyle = function(params) {
@@ -700,9 +641,6 @@
 			$("#goodsDetailForm input[name=goodsStatOrg]").val(result.goodsStat);
 			$("#goodsDetailForm input[name=goodsStatOrg]").val(result.goodsStat);
 			$('#goodsDetailForm').find('#brandGrpNmTxt').html(result.brandGrpNm);
 			$('#goodsDetailForm').find('#brandGrpNmTxt').html(result.brandGrpNm);
 
 
-			$('#goodsDetailForm select[name=colorCd]').val(result.colorCd);
-			//cfnCreateCombo("/renderer/avail/color/list", $('#goodsDetailForm select[name=colorCd]'), "[선택]", result.colorCd);
-
 			$('#goodsDetailForm select[name=itemkindCd]').val(result.itemkindCd);
 			$('#goodsDetailForm select[name=itemkindCd]').val(result.itemkindCd);
 			$('#goodsDetailForm input[name=orgItemkindCd]').val(result.itemkindCd);
 			$('#goodsDetailForm input[name=orgItemkindCd]').val(result.itemkindCd);
 			$('#goodsDetailForm select[name=seasonCd]').val(result.seasonCd);
 			$('#goodsDetailForm select[name=seasonCd]').val(result.seasonCd);
@@ -876,14 +814,12 @@
 				//$('#goodsDetailForm #erplinkarea').addClass('off');
 				//$('#goodsDetailForm #erplinkarea').addClass('off');
 				if (result.selfGoodsYn == "Y") $('#goodsDetailForm #GoodsComposeTab').css('display','block');
 				if (result.selfGoodsYn == "Y") $('#goodsDetailForm #GoodsComposeTab').css('display','block');
 				$('#goodsDetailForm #goodsNotiTab').css('display','none');
 				$('#goodsDetailForm #goodsNotiTab').css('display','none');
-				$('#goodsDetailForm #goodsColorTab').css('display','none');
 				$('#goodsDetailForm input[name=sellFeeRate]').attr('readonly', true);
 				$('#goodsDetailForm input[name=sellFeeRate]').attr('readonly', true);
 				$('#goodsDetailForm input[name=currPrice]').attr('readonly', true);
 				$('#goodsDetailForm input[name=currPrice]').attr('readonly', true);
 			}else if ("G056_D" == result.goodsType){
 			}else if ("G056_D" == result.goodsType){
 				//$('#goodsDetailForm #erplinkarea').addClass('off');
 				//$('#goodsDetailForm #erplinkarea').addClass('off');
 				if (result.selfGoodsYn == "Y") $('#goodsDetailForm #GoodsComposeTab').css('display','block');
 				if (result.selfGoodsYn == "Y") $('#goodsDetailForm #GoodsComposeTab').css('display','block');
 				$('#goodsDetailForm #goodsNotiTab').css('display','none');
 				$('#goodsDetailForm #goodsNotiTab').css('display','none');
-				$('#goodsDetailForm #goodsColorTab').css('display','none');
 				$('#goodsDetailForm input[name=sellFeeRate]').attr('readonly', true);
 				$('#goodsDetailForm input[name=sellFeeRate]').attr('readonly', true);
 			}
 			}
 			
 			
@@ -902,8 +838,6 @@
 			fnGoodsDetailSizeStockSearch(params);
 			fnGoodsDetailSizeStockSearch(params);
 			//정보고시
 			//정보고시
 			fnGoodsDetailNotiInfoSearch(params);
 			fnGoodsDetailNotiInfoSearch(params);
-			//대표색상
-			fnGoodsDetailGoodsNumSearch(params);
 			
 			
 			//구성상품
 			//구성상품
 			if ("G056_S" == result.goodsType || "G056_D" == result.goodsType){
 			if ("G056_S" == result.goodsType || "G056_D" == result.goodsType){
@@ -944,11 +878,6 @@
 			gagaAgGrid.showOrHideColumn(gridGoodsComposeOptions, 'compsCurrPriceOrg', false);
 			gagaAgGrid.showOrHideColumn(gridGoodsComposeOptions, 'compsCurrPriceOrg', false);
 		}
 		}
 		gagaAgGrid.fetch("/goods/detail/compose/list?goodsCd=" + params.goodsCd , gridGoodsComposeOptions);
 		gagaAgGrid.fetch("/goods/detail/compose/list?goodsCd=" + params.goodsCd , gridGoodsComposeOptions);
-	}	
-	
-	//같은 품번 상품
-	var fnGoodsDetailGoodsNumSearch = function(params) {
-		gagaAgGrid.fetch("/goods/detail/goodsNum/list?goodsCd=" + params.goodsCd , gridGoodsNumOptions);
 	}
 	}
 	
 	
 	//이력
 	//이력
@@ -1441,10 +1370,10 @@
 		$("#goodsDetailForm input[name=chStockDataYn]").val('N');
 		$("#goodsDetailForm input[name=chStockDataYn]").val('N');
 
 
 		$("#optionList tr").each(function() {
 		$("#optionList tr").each(function() {
-			var optNm1 = $(this).find("input[name=optNm1]").val();
-			var optNm2 = $(this).find("input[name=optNm2]").val();
-			var hidOptNm1 = $(this).find("input[name=hidOptNm1]").val();
-			var hidOptNm2 = $(this).find("input[name=hidOptNm2]").val();
+			var optCd1 = $(this).find("input[name=optCd1]").val();
+			var optCd2 = $(this).find("input[name=optCd2]").val();
+			var hidOptCd1 = $(this).find("input[name=hidOptCd1]").val();
+			var hidOptCd2 = $(this).find("input[name=hidOptCd2]").val();
 			var baseStockQty = $(this).find("input[name=baseStockQty]").val();
 			var baseStockQty = $(this).find("input[name=baseStockQty]").val();
 			var hidBaseStockQty = $(this).find("input[name=hidBaseStockQty]").val();
 			var hidBaseStockQty = $(this).find("input[name=hidBaseStockQty]").val();
 			var dispOrd = $(this).find("input[name=dispOrd]").val();
 			var dispOrd = $(this).find("input[name=dispOrd]").val();
@@ -1508,11 +1437,11 @@
 				return false;
 				return false;
 			}
 			}
 			
 			
-			if (optNm1 != hidOptNm1){
+			if (optCd1 != hidOptCd1){
 				$("#goodsDetailForm input[name=chStockDataYn]").val('Y');
 				$("#goodsDetailForm input[name=chStockDataYn]").val('Y');
 			}
 			}
 			
 			
-			if (optNm2 != hidOptNm2){
+			if (optCd2 != hidOptCd2){
 				$("#goodsDetailForm input[name=chStockDataYn]").val('Y');
 				$("#goodsDetailForm input[name=chStockDataYn]").val('Y');
 			}
 			}
 			
 			
@@ -1543,27 +1472,6 @@
 			return false;
 			return false;
 		}
 		}
 		
 		
-		// 대표 색상 - 일반 상품만 체크
-		if ($("#goodsDetailForm input[name=goodsType]").val() == "G056_N"){
-			var goosNumAllData = gagaAgGrid.getAllRowData(gridGoodsNumOptions);
-			var mainColorCnt = 0;
-
-			$.each(goosNumAllData, function(index, item) {
-				if (item.mainColorYn == "Y"){
-					mainColorCnt++;
-				}
-			});
-			if (mainColorCnt <= 0 || mainColorCnt > 1){
-				optCheck = true;
-				mcxDialog.alertC("대표 색상 여부를 확인해 주세요.");
-				return false;
-			}
-		}
-
-		if(optCheck) {
-			return false;
-		}
-		
 		var dcRate = 0;
 		var dcRate = 0;
 		var listPrice = $("#goodsDetailForm input[name=listPrice]").val().removeComma();
 		var listPrice = $("#goodsDetailForm input[name=listPrice]").val().removeComma();
 		var currPrice = $("#goodsDetailForm input[name=currPrice]").val().removeComma();
 		var currPrice = $("#goodsDetailForm input[name=currPrice]").val().removeComma();
@@ -2009,7 +1917,6 @@
 
 
 		gagaAgGrid.createGrid('gridGoodsHstoryList', gridGoodsHstoryOptions);
 		gagaAgGrid.createGrid('gridGoodsHstoryList', gridGoodsHstoryOptions);
 		gagaAgGrid.createGrid('gridGoodsComposeList', gridGoodsComposeOptions);
 		gagaAgGrid.createGrid('gridGoodsComposeList', gridGoodsComposeOptions);
-		gagaAgGrid.createGrid('gridGoodsNumList', gridGoodsNumOptions);
 
 
 		fnGoodsDeailSearch();
 		fnGoodsDeailSearch();
 		
 		

+ 626 - 0
style24.admin/src/main/webapp/WEB-INF/views/goods/GoodsDetailImageForm.html

@@ -0,0 +1,626 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : GoodsDetailImageForm.html
+ * @desc    : 상품 이미지 보기 화면(상품 이미지 정보(열))
+ *============================================================================
+ * SISUN
+ * Copyright(C) 2019 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2019.12.27   eskim       최초 작성
+ * 2.0  2020.06.09   eskim       수정
+ *******************************************************************************
+ -->
+	<div class="modalPopup" >
+		<!-- PANELSTYLE -->
+			<div class="panelStyle">
+				<!-- TITLE -->
+				<div class="panelTitle">
+					<h2>상품 이미지 수정</h2>
+					<button type="button" class="close" onclick="fnGoodsImgFormClose()"><i class="fa fa-times"></i></button>
+				</div>
+				<!-- //TITLE -->
+				<!-- CONTENT -->
+				<div class="panelContent">
+
+					<ul class="notice">
+						<li>[업로드/수정] 버튼 클릭 하면 프론트에 바로 적용되므로 최종 확인 후 전송을 권장합니다.</li>
+						<li>이미지 미리보기 리스트는 <em>업로드 후</em> 확인 할 수 있습니다.</li>
+						<li>이미지보기 버튼은 이미지 파일 <em>등록 후</em> 확인 할 수 있습니다. 이미 <em>업로드 된</em> 파일은 확인 할 수 없습니다.(파일 크기 옆 화살표로 구분 가능합니다.)</li>
+					</ul>
+
+					<table class="frmStyle">
+						<colgroup>
+							<col width="100px"/>
+							<col/>
+							<col width="100px"/>
+							<col/>
+							<col width="100px"/>
+							<col/>
+						</colgroup>
+						<tr>
+							<th>컬러명</th>
+							<td>PINK</td>
+							<td colspan="4"></td>
+							<!-- <th>대표 이미지순번</th>
+							<td><input type="text" value="1"/></td>
+							<th>마우스오버 이미지순번</th>
+							<td><input type="text" value="2"/></td> -->
+						</tr>
+						<tr>
+							<th>이미지등록</th>
+							<td class="dexterArea">
+
+								<!-- 덱스터 테이블 영역 -->
+								<ul class="dexterTable">
+									<li class="dexterNo">
+										<!-- 덱스터 테이블 번호 -->
+										<div>1</div><div>2</div><div>3</div><div>4</div>
+										<!-- //덱스터 테이블 번호 -->
+									</li>
+									<li>
+									<!-- 덱스터 테이블 삽입 -->
+										덱스터 테이블 삽입<br/>공간은 테이블 넓이에 따라 자동으로 넓어집니다.<br/>
+										(최소 넓이 : 350px로 설정됨)<br/>
+									<!-- //덱스터 테이블 -->
+									<li>
+								</ul>
+								<!-- //덱스터 테이블 영역 -->
+
+							</td>
+							<td colspan="4" class="verticalTop">
+
+								<!-- 이미지 카드 영역 -->
+								<div class="cardArea">
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+									<!-- 이미지 카드 -->
+									<div class="imgCard">
+										<button type="button" class="cardClose">닫기</button>
+										<ul>
+											<li>
+												<img src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" widht="70" height="70">
+											</li>
+											<li>이미지1</li>
+										</ul>
+										<p>G2019052800040_023_4(170330).jpg</p>
+									</div>
+									<!-- //이미지 카드 -->
+								</div>
+								<!-- //이미지 카드 영역 -->
+
+							</td>
+						</tr>
+					</table>
+				</div>
+				<!-- 버튼 배치 영역 -->
+				<ul class="panelBar marT10">
+					<li class="center">
+						<button type="button" class="btn btn-base btn-lg">파일 추가</button>
+						<button type="button" class="btn btn-default btn-lg">선택 삭제</button>
+						<button type="button" class="btn btn-default btn-lg">전체 삭제</button>
+						<button type="button" class="btn btn-info btn-lg">뒤로 이동</button>
+						<button type="button" class="btn btn-info btn-lg">아래로 이동</button>
+						<button type="button" class="btn btn-base btn-lg">이미지 보기</button>
+						<button type="button" class="btn btn-base btn-lg">업로드/수정</button>
+						<button type="button" class="btn btn-base btn-lg">저장하기</button>
+					</li>
+				</ul>
+				<!-- //버튼 배치 영역 -->
+			</div>
+
+		<!-- <div class="panelStyle">
+			<div class="panelTitle">
+				<strong>상품 이미지 보기&nbsp;<button type="button" class="btn icn" onclick="fnOpenCommentPopup('comment')" ><i class="fa fa-cog" aria-hidden="true"></i></button></strong>
+				<button type="button" class="close" onclick="fnGoodsImgFormClose()"><i class="fa fa-times"></i></button>
+			</div>
+			<div class="panelContent">
+			<form id="goodsImgForm" name="goodsImgForm" th:method="post">
+			<input type="hidden" id="goodsCd" name="goodsCd" th:value="${params.goodsCd}"/>
+				<table class="frmStyle" th:with="uploadGoodsUrl=${@environment.getProperty('upload.goods.view')},uxImgUrl=${@environment.getProperty('domain.uximage')}">
+					<colgroup>
+						<col width="75%"/>
+						<col width="25%"/>
+					</colgroup>
+					<tbody id="goodsImgList">
+						<tr>
+							<th class="aL vaT">imgPath1 : <th:block th:utext="${'필수: 상품코드_01.jpg<i class=star></i>'}"></th:block>
+								<hr/>
+								<input type="text" class="w100p" id="imgPath1" name="imgPath1" />
+							</th>
+							<td>
+								<img  src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/image/no.gif'}+'\';'" width="200px"/>
+							</td>
+						</tr>
+					</tbody>
+				</table>
+			</form>
+			</div>
+			<ul class="panelBar">
+				<th:block th:if="${sessionInfo.roleCd == 'G001_0000' OR sessionInfo.roleCd == 'G001_A000' OR sessionInfo.roleCd == 'G001_A101' OR sessionInfo.roleCd == 'G001_A100' OR sessionInfo.roleCd == 'G001_A001'}">
+				<button type="button" class="btn btnRight btn-success btn-lg" id="btnGoodsDetailImgSave">저장</button>
+				</th:block>
+			</ul>
+		</div> -->
+	</div>
+<script th:inline="javascript">
+/*<![CDATA[*/
+	var fileExtension = [[${@environment.getProperty('upload.goods.allow.extension')}]];
+
+	//상품이미지 저정버튼 클릭 시
+	$('#btnGoodsDetailImgSave').click(function(e) {
+		if ($("#goodsImgForm").find("#goodsImgList tr").length == 0){
+			/* mcxDialog.alert('', function(){
+
+			});
+			return false; */
+		}
+		var optCheck = false;
+		var imgType = $('#goodsImgForm input[name=imgType]').val();
+		
+		$("#goodsImgForm").find("#goodsImgList tr").each(function() {
+			var size = 30;
+
+			for(i=0;i<size;i++){
+				var imgVal = $("#goodsImgForm").find("#goodsImgList tr").find("input[name=imgPath"+ (i+1) +"]").val();
+				
+				if(!gagajf.isNull(imgVal)){
+					var reg = "\.("+fileExtension+")$";
+					if(!(new RegExp(reg, "i")).test(imgVal)) {
+						optCheck = true;
+						mcxDialog.alertC('이미지는 ['+ fileExtension + '] 파일만 가능합니다.', {
+							sureBtnText: "확인",
+							sureBtnClick: function() {
+								$("#goodsImgForm").find("#goodsImgList tr").find("input[name=imgPath"+ (i+1)+"]").focus();
+							}
+						});
+						return false;
+					}
+
+					if (imgVal.indexOf('\\"') > -1){
+							optCheck = true;
+							mcxDialog.alertC('["]는 입력할 수 없습니다.', {
+								sureBtnText: "확인",
+								sureBtnClick: function() {
+									$("#goodsImgForm").find("#goodsImgList tr").find("input[name=imgPath"+ (i+1)+"]").focus();
+								}
+							});
+							return false;
+					}
+					if (imgVal.indexOf("\\'") > -1){
+							optCheck = true;
+							mcxDialog.alertC("[\\']는 입력할 수 없습니다.", {
+								sureBtnText: "확인",
+								sureBtnClick: function() {
+									$("#goodsImgForm").find("#goodsImgList tr").find("input[name=imgPath"+ (i+1)+"]").focus();
+								}
+
+							});
+							return false;
+					}
+					if (imgType == "A"){
+						if (imgVal.indexOf("http") > -1){
+							optCheck = true;
+							mcxDialog.alertC("이미지 도메인은 입력할 수 없습니다.", {
+								sureBtnText: "확인",
+								sureBtnClick: function() {
+									$("#goodsImgForm").find("#goodsImgList tr").find("input[name=imgPath"+ (i+1)+"]").focus();
+								}
+
+							});
+							return false;
+						}
+					}else{
+						if (imgVal.indexOf("https") <= -1){
+							optCheck = true;
+							mcxDialog.alertC("이미지 도메인을 입력해 주세요.", {
+								sureBtnText: "확인",
+								sureBtnClick: function() {
+									$("#goodsImgForm").find("#goodsImgList tr").find("input[name=imgPath"+ (i+1)+"]").focus();
+								}
+
+							});
+							return false;
+						}
+					}
+				}else{
+					if(i == 0){
+						optCheck = true;
+						mcxDialog.alertC("필수 상품이미지 입니다.", {
+							sureBtnText: "확인",
+							sureBtnClick: function() {
+								$("#goodsImgForm").find("#goodsImgList tr").find("input[name=imgPath"+ (i+1)+"]").focus();
+							}
+
+						});
+						return false;
+					}
+				}
+			}
+		});
+
+		if(optCheck) {
+			return false;
+		}
+
+		mcxDialog.confirm('저장하시겠습니까?', {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function(){
+				gagajf.ajaxFormSubmit("/goods/img/save", "#goodsImgForm", fnGoodsImgFormClose);
+			}
+		});
+	});
+
+	//창종료
+	var fnGoodsImgFormClose = function(){
+		uifnPopupClose('popupGoodsImage');
+	}
+
+	//안내팝업
+	var fnOpenCommentPopup = function(id) {
+		var str = '<div class="popupWrap" id="'+id+'" style="z-index:30">';
+		str = str + '<div class="popup modeless ui-widget-content ui-draggable ui-draggable-handle" style="display: block;  position: relative;">';
+		str = str + '<button type="button" class="close" onclick="uifnPopClose(\''+id+'\')"><i class="fa fa-times"></i></button>';
+		str = str + '<div class="mdPopContent">';
+		str = str + '<ul class="notice ">';
+		str = str + '<em><b>* 이미지 타입</b></em>';
+		str = str + '<li> <b>A</b> : <b>자사전용</b>(이미지 도메인명 없음)</li>';
+		str = str + '  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ex) /P/PQS/PQS11TM24M_BU/1000/PQS11TM24M_BU_01.jpg';
+		str = str + '<li> <b>B</b> : <b>입점전용</b>(https를 포함한 이미지 전체 경로)</li>';
+		str = str + '  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ex) <em>https:</em>//pastel.jpg2.kr/goods/LCCAJ334_IV_1.jpg';
+		str = str + '<li><b>IMG_PATH1 (<em>필수</em>)</b> : 상품코드_<b>01.jpg</li>';
+		str = str + '<li><b>IMG_PATH2 ~ IMG_PATH5</b> (선택) : 상품코드_<b>02</b>.jpg ~ 상품코드_<b>05</b>.jpg</li>';
+		str = str + '<li><b>IMG_PATH6 ~ IMG_PATH10</b> (선택, 화보컷) : 상품코드_<b>M1</b>.jpg ~ 상품코드_<b>M5</b>.jpg</li>';
+		str = str + '<li><b>IMG_PATH11 ~ IMG_PATH25</b> (선택, 상세컷) : 상품코드_<b>D1</b>.jpg ~ 상품코드_<b>D15</b>.jpg</li>';
+		str = str + '<li><b>IMG_PATH26 ~ IMG_PATH27</b> (선택, 라벨컷) : 상품코드_<b>R1</b>.jpg ~ 상품코드_<b>R2</b>.jpg</li>';
+		str = str + '<li><b>IMG_PATH28 ~ IMG_PATH30</b> (선택, 기타컷) : 상품코드_<b>E1</b>.jpg ~ 상품코드_<b>E3</b>.jpg</li>';
+		str = str + '</ul>';
+		str = str + '</div></div></div>';
+
+		if ($('#'+ id).length == 0) {
+			$('body').append(str);
+		}
+		$("#"+id).css({display:"block"});
+	}
+/*]]>*/
+</script>
+</html>

+ 5 - 5
style24.admin/src/main/webapp/WEB-INF/views/goods/GoodsDetailNoticeForm.html

@@ -262,8 +262,6 @@
 		var formId = '#searchForm';
 		var formId = '#searchForm';
 		var form = document.searchForm;
 		var form = document.searchForm;
 
 
-		//if($("#goodsNoticeForm input[name=searchGb]").val() == "EXCEL") return true;
-		
 		var searchFlag = false;
 		var searchFlag = false;
 		var cnt = 0;
 		var cnt = 0;
 
 
@@ -488,15 +486,17 @@
 			sureBtnText: "확인",
 			sureBtnText: "확인",
 			sureBtnClick: function(){
 			sureBtnClick: function(){
 				
 				
-				var goodsAllData = gagaAgGrid.getAllRowData(gridNoticeGoodsOptions);
-				
-				
+				//var goodsAllData = gagaAgGrid.getAllRowData(gridNoticeGoodsOptions);
+				var goodsAllData = gagaAgGrid.getChangedData(gridNoticeGoodsOptions);
+				debugger;
 				var jsonGoodsData = JSON.stringify(goodsAllData);
 				var jsonGoodsData = JSON.stringify(goodsAllData);
 				$('#goodsNoticeForm input[name=goodsList]').val(jsonGoodsData);
 				$('#goodsNoticeForm input[name=goodsList]').val(jsonGoodsData);
 				
 				
 				var jsonData = JSON.stringify($('#goodsNoticeForm').serializeObject());
 				var jsonData = JSON.stringify($('#goodsNoticeForm').serializeObject());
 				gagajf.ajaxJsonSubmit($('#goodsNoticeForm').prop('action'), jsonData, function() {
 				gagajf.ajaxJsonSubmit($('#goodsNoticeForm').prop('action'), jsonData, function() {
 					$('#btnSearch').trigger('click');
 					$('#btnSearch').trigger('click');
+					fnGetNoticeGoodsList($('#goodsNoticeForm input[name=noticeSq]').val());
+					
 				});
 				});
 			}
 			}
 		});
 		});

+ 67 - 41
style24.admin/src/main/webapp/WEB-INF/views/goods/GoodsDetailSizeStockForm.html

@@ -16,18 +16,60 @@
  -->
  -->
 	<table class="frmStyle">
 	<table class="frmStyle">
 		<colgroup>
 		<colgroup>
-			<col width="8%"/>
-			<col width="8%"/>
+			<col width="100px"/>
+			<col width="100px"/>
+			<col width="10%"/>
+			<col width="100px"/>
+			<col width="100px"/>
+			<col/>
+		</colgroup>
+		<tr>
+			<th>번호</th>
+			<th>대표색상</th>
+			<th>이미지</th>
+			<th>색상코드</th>
+			<th>색상</th>
+			<th>이미지관리</th>
+		</tr>
+		<tr>
+			<td class="aC">1</td>
+			<td class="aC"><label class="rdoBtn"><input type="radio" name="selfMallYn" id="selfMallYnY" value="Y"  checked/></label></td>
+			<td class="aC"><img alt="" src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" width="60px"></td>
+			<td class="aC">BK</td>
+			<td class="aC">BLACK</td>
+			<td><button type="button" class="btn btn-base btn-lg" onclick="fnGoodsDetailImg('BK')">등록</button></td>
+		</tr>
+		<tr>
+			<td class="aC">2</td>
+			<td class="aC"><label class="rdoBtn"><input type="radio" name="selfMallYn" id="selfMallYnY" value="Y"  /></label></td>
+			<td class="aC"><img alt="" src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" width="60px"></td>
+			<td class="aC">BK</td>
+			<td class="aC">BLACK</td>
+			<td><button type="button" class="btn btn-base btn-lg" onclick="fnGoodsDetailImg('BK')">등록</button></td>
+		</tr>
+		<tr>
+			<td class="aC">3</td>
+			<td class="aC"><label class="rdoBtn"><input type="radio" name="selfMallYn" id="selfMallYnY" value="Y"  /></label></td>
+			<td class="aC"><img alt="" src="http://image.istyle24.com/Upload/ProductImage/0000004766/20200826/14505664_L.jpg?RS=560" width="60px"></td>
+			<td class="aC">BK</td>
+			<td class="aC">BLACK</td>
+			<td><button type="button" class="btn btn-base btn-lg" onclick="fnGoodsDetailImg('BK')">등록</button></td>
+		</tr>
+	</table>
+
+	<table class="frmStyle">
+		<colgroup>
 			<col width="10%"/>
 			<col width="10%"/>
 			<col width="15%"/>
 			<col width="15%"/>
-			<col width="16%"/>
-			<col width="5%"/>
-			<col width="5%"/>
+			<col/>
+			<col width="10%"/>
+			<col width="7%"/>
+			<col width="7%"/>
+			<col width="7%"/>
 			<col width="7%"/>
 			<col width="7%"/>
 			<col width="7%"/>
 			<col width="7%"/>
 			<col width="7%"/>
 			<col width="7%"/>
 			<col width="7%"/>
 			<col width="7%"/>
-			<col width="5%"/>
 		</colgroup>
 		</colgroup>
 		<tr th:if="${goods.selfGoodsYn == 'Y' and goods.goodsType == 'G056_N'}">
 		<tr th:if="${goods.selfGoodsYn == 'Y' and goods.goodsType == 'G056_N'}">
 			<th colspan="2">ERP재고연동여부<i class="star"></i></th>
 			<th colspan="2">ERP재고연동여부<i class="star"></i></th>
@@ -36,7 +78,7 @@
 				<label class="rdoBtn"><input type="radio" name="erpStockLinkYn" id="erpStockLinkYnN" value="N" th:checked="${goods.erpStockLinkYn == 'N'}"/>N</label>
 				<label class="rdoBtn"><input type="radio" name="erpStockLinkYn" id="erpStockLinkYnN" value="N" th:checked="${goods.erpStockLinkYn == 'N'}"/>N</label>
 				<input type="hidden" id="erpStockLinkYnOrg" name="erpStockLinkYnOrg" th:value="${goods.erpStockLinkYn}"/>
 				<input type="hidden" id="erpStockLinkYnOrg" name="erpStockLinkYnOrg" th:value="${goods.erpStockLinkYn}"/>
 			</td>
 			</td>
-			<td colspan="8"></td>
+			<td colspan="7"></td>
 		</tr>
 		</tr>
 		<th:block th:if="${goods.selfGoodsYn == 'N' or goods.goodsType != 'G056_N'}">
 		<th:block th:if="${goods.selfGoodsYn == 'N' or goods.goodsType != 'G056_N'}">
 			<input type="hidden" id="erpStockLinkYnOrg" name="erpStockLinkYnOrg" th:value="${goods.erpStockLinkYn}"/>
 			<input type="hidden" id="erpStockLinkYnOrg" name="erpStockLinkYnOrg" th:value="${goods.erpStockLinkYn}"/>
@@ -44,10 +86,9 @@
 		</th:block>
 		</th:block>
 		<tr>
 		<tr>
 			<th>상품코드</th>
 			<th>상품코드</th>
-			<th>옵션</th>
-			<th>옵션명</th>
 			<th>옵션1</th>
 			<th>옵션1</th>
 			<th>옵션2</th>
 			<th>옵션2</th>
+			<th>추가가격</th>
 			<th>노출순서</th>
 			<th>노출순서</th>
 			<th>노출여부</th>
 			<th>노출여부</th>
 			<th>가용재고</th>
 			<th>가용재고</th>
@@ -60,22 +101,21 @@
 		<th:block th:each="goodsSize, sizeStatus : ${goodsSizeList}">
 		<th:block th:each="goodsSize, sizeStatus : ${goodsSizeList}">
 		<tr>
 		<tr>
 			<td th:rowspan="${goodsSize.rcount}" th:text="${goodsSize.compsGoodsCd}" th:if="${goodsSize.rnum == 1}"></td>
 			<td th:rowspan="${goodsSize.rcount}" th:text="${goodsSize.compsGoodsCd}" th:if="${goodsSize.rnum == 1}"></td>
-			<td><th:block th:text="${goodsSize.optCd}"></th:block><input type="hidden" name="optCd" th:value="${goodsSize.optCd}" />
+			<td><th:block th:text="${goodsSize.optCd1}"></th:block>
 				<input type="hidden" name="compsGoodsCd" th:value="${goodsSize.compsGoodsCd}" />
 				<input type="hidden" name="compsGoodsCd" th:value="${goodsSize.compsGoodsCd}" />
+				<input type="hidden" name="optCd" th:value="${goodsSize.optCd}" />
+				<input type="hidden" name="hidOptCd1" th:value="${goodsSize.optCd1}" />
 			</td>
 			</td>
-			<td><th:block th:text="${goodsSize.optNm}"></th:block>
-				<input type="hidden" name="hidOptNm" th:value="${goodsSize.optNm}" />
-			</td>
-			<td><input type="text" class="w100p aL" name="optNm1" th:value="${goodsSize.optNm1}"  maxlength="70" th:readonly="${goods.selfGoodsYn == 'Y'}"/>
-				<input type="hidden" name="hidOptNm1" th:value="${goodsSize.optNm1}" />
+			<td><th:block th:text="${goodsSize.optCd2}"></th:block>
+				<input type="hidden" name="hidOptCd2" th:value="${goodsSize.optCd2}" />
 			</td>
 			</td>
-			<td><input type="text" class="w100p aL" name="optNm2" th:value="${goodsSize.optNm2}"  maxlength="70" th:readonly="${goods.selfGoodsYn == 'Y'}"/>
-				<input type="hidden" name="hidOptNm2" th:value="${goodsSize.optNm2}" />
+			<td><input type="text" class="w100p aR" name="addPrice" th:value="${goodsSize.addPrice}"  maxlength="7"  data-valid-type="numeric"/>
+				<input type="hidden" name="hidAddPrice" th:value="${goodsSize.addPrice}" />
 			</td>
 			</td>
-			<td><input type="text" class="w100p aC" name="dispOrd" th:value="${goodsSize.dispOrd}"  maxlength="10" data-valid-type="integer"/>
+			<td><input type="text" class="w100p aC" name="dispOrd" th:value="${goodsSize.dispOrd}"  maxlength="7" data-valid-type="integer"/>
 				<input type="hidden" name="hidDispOrd" th:value="${goodsSize.dispOrd}" />
 				<input type="hidden" name="hidDispOrd" th:value="${goodsSize.dispOrd}" />
 			</td>
 			</td>
-			<td><select name="dispYn">
+			<td><select name="dispYn" class="w100p aC">
 					<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}" th:selected="${goodsSize.dispYn == oneData.cd}"></option>
 					<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}" th:selected="${goodsSize.dispYn == oneData.cd}"></option>
 				</select>
 				</select>
 				<input type="hidden" name="hidDispYn" th:value="${goodsSize.dispYn}"/>
 				<input type="hidden" name="hidDispYn" th:value="${goodsSize.dispYn}"/>
@@ -83,13 +123,13 @@
 			<td><input type="text" class="w100p aC" name="editCurrStockQty" th:value="${goodsSize.currStockQty}" maxlength="10" data-valid-type="numeric" th:disabled="${goods.selfGoodsYn == 'Y'}"/>
 			<td><input type="text" class="w100p aC" name="editCurrStockQty" th:value="${goodsSize.currStockQty}" maxlength="10" data-valid-type="numeric" th:disabled="${goods.selfGoodsYn == 'Y'}"/>
 				<input type="hidden" name="currStockQty" th:value="${goodsSize.currStockQty}"/>
 				<input type="hidden" name="currStockQty" th:value="${goodsSize.currStockQty}"/>
 			</td>
 			</td>
-			<td><input type="text" class="w100p aC"  name=baseStockQty th:value="${goodsSize.baseStockQty}" maxlength="10" data-valid-type="integer">
+			<td><input type="text" class="w100p aC"  name=baseStockQty th:value="${goodsSize.baseStockQty}" maxlength="7" data-valid-type="integer">
 				<input type="hidden" name="hidBaseStockQty" th:value="${goodsSize.baseStockQty}"/>
 				<input type="hidden" name="hidBaseStockQty" th:value="${goodsSize.baseStockQty}"/>
 			</td>
 			</td>
-			<td><input type="text" class="w100p aC" name="saleStockQty" th:value="${goodsSize.saleStockQty}" maxlength="10" data-valid-type="numeric" th:disabled="disabled"/>
+			<td><input type="text" class="w100p aC" name="saleStockQty" th:value="${goodsSize.saleStockQty}" maxlength="17" data-valid-type="numeric" th:disabled="disabled"/>
 			</td>
 			</td>
-			<td><input type="text" class="w100p aC"  name="ableStockQty" maxlength="10" data-valid-type="numeric" th:disabled="disabled" th:value="${goodsSize.ableStockQty}" /></td>
-			<td><select name="soldoutYn">
+			<td><input type="text" class="w100p aC"  name="ableStockQty" maxlength="7" data-valid-type="numeric" th:disabled="disabled" th:value="${goodsSize.ableStockQty}" /></td>
+			<td><select name="soldoutYn" class="w100p aC" >
 					<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}" th:selected="${goodsSize.soldoutYn == oneData.cd}"></option>
 					<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}" th:selected="${goodsSize.soldoutYn == oneData.cd}"></option>
 				</select>
 				</select>
 				<input type="hidden" name="hidSoldoutYn" th:value="${goodsSize.soldoutYn}"/>
 				<input type="hidden" name="hidSoldoutYn" th:value="${goodsSize.soldoutYn}"/>
@@ -100,6 +140,10 @@
 <script th:inline="javascript">
 <script th:inline="javascript">
 /*<![CDATA[*/
 /*<![CDATA[*/
 	
 	
+	var fnGoodsDetailImg = function(colorCd){
+		cfnOpenGoodsImagePopup($('#goodsDetailForm input[name=goodsCd]').val());
+	}
+	
 	$(document).ready(function() {
 	$(document).ready(function() {
 		
 		
 		//옵션/재곡 변경여부
 		//옵션/재곡 변경여부
@@ -109,24 +153,6 @@
 		
 		
 	});
 	});
 	
 	
-	//ERP재고연동여부 변경시
-	/* $('#goodsDetailForm input:radio[name=erpStockLinkYn]').click(function() {
-		
-		if ( $('#goodsDetailForm input[name=erpStockLinkYn]:checked').val() == "Y"){
-			
-			$('#goodsDetailForm input[name=editCurrStockQty]').prop("disabled", true);
-			$('#goodsDetailForm input[name=editCurrStockQty]').attr("disabled", true);
-			$('#goodsDetailForm input[name=editCurrStockQty]').addClass("formControl");
-			
-		}else{
-			$('#goodsDetailForm input[name=editCurrStockQty]').prop("disabled", false);
-			$('#goodsDetailForm input[name=editCurrStockQty]').attr("disabled", false);
-			$('#goodsDetailForm input[name=editCurrStockQty]').removeClass("formControl");
-		}
-		
-	}); */
-	
-	
 /*]]>*/
 /*]]>*/
 </script>
 </script>
 </html>
 </html>

+ 3 - 3
style24.admin/src/main/webapp/WEB-INF/views/goods/GoodsListForm.html

@@ -41,13 +41,13 @@
 				<table class="frmStyle">
 				<table class="frmStyle">
 					<colgroup>
 					<colgroup>
 						<col style="width: 7%;"/>
 						<col style="width: 7%;"/>
-						<col style="width: 21%;"/>
+						<col/>
 						<col style="width: 7%;"/>
 						<col style="width: 7%;"/>
-						<col style="width: 18%;"/>
+						<col style="width: 16%;"/>
 						<col style="width: 7%;"/>
 						<col style="width: 7%;"/>
 						<col style="width: 18%;"/>
 						<col style="width: 18%;"/>
 						<col style="width: 7%;"/>
 						<col style="width: 7%;"/>
-						<col/>
+						<col style="width: 16%;"/>
 					</colgroup>
 					</colgroup>
 					<tr>
 					<tr>
 						<th>업체/브랜드<em class="required" title="필수"></em></th>
 						<th>업체/브랜드<em class="required" title="필수"></em></th>

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

@@ -79,19 +79,18 @@
 								<option th:if="${seasonList}" th:each="oneData, status : ${seasonList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 								<option th:if="${seasonList}" th:each="oneData, status : ${seasonList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 							</select>
 						</td>
 						</td>
-						<th>원산지<em class="required" title="필수"></em></th>
-						<td><input type="text" class="w100" id="makeNm" name="makeNm" maxlength="20" /></td>
+						<th>제조년월일<em class="required" title="필수"></em></th>
+						<td><input type="text" class="w100" id="makeYmd" name="makeYmd" maxlength="8" data-valid-type="date"/></td>
 					</tr>
 					</tr>
 					<tr>
 					<tr>
-						<th>색상<em class="required" title="필수"></em></th>
-						<td colspan="3">
-							<select name="colorCd" id="colorCd">
+						<th>원산지<em class="required" title="필수"></em></th>
+						<td colspan="5">
+							<select name="makeOriginCd" id="makeOriginCd">
 								<option value="">[전체]</option>
 								<option value="">[전체]</option>
-								<option th:if="${colorCdList}" th:each="oneData, status : ${colorCdList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
+								<option th:if="${makOriginList}" th:each="oneData, status : ${makOriginList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 							</select>
+							<input type="hidden" id="makeNm" name="makeNm" />
 						</td>
 						</td>
-						<th>제조년월일<em class="required" title="필수"></em></th>
-						<td><input type="text" class="w100" id="makeYmd" name="makeYmd" maxlength="8" data-valid-type="date"/></td>
 					</tr>
 					</tr>
 				</table>
 				</table>
 			</div>	
 			</div>	
@@ -296,16 +295,6 @@
 			return false;
 			return false;
 		}
 		}
 		
 		
-		if(gagajf.isNull($("#goodsSetForm select[name=colorCd]").val())){
-			mcxDialog.alertC('색상을 입력해 주세요.<br/>기준여부를 선택하시면<br/>해당브랜드의 색상을 노출합니다.', {
-				sureBtnText: "확인",
-				sureBtnClick: function() {
-					$("#goodsSetForm select[name=colorCd]").focus();
-				}
-			});	
-			return false;
-		}
-		
 		if (gagajf.isNull($("#goodsSetForm input[name=selfMallYn]").val())){
 		if (gagajf.isNull($("#goodsSetForm input[name=selfMallYn]").val())){
 			mcxDialog.alertC('자사노출여부를 선택해 주세요.', {
 			mcxDialog.alertC('자사노출여부를 선택해 주세요.', {
 				sureBtnText: "확인",
 				sureBtnText: "확인",
@@ -346,11 +335,11 @@
 			return false;
 			return false;
 		}
 		}
 		
 		
-		if(gagajf.isNull($("#goodsSetForm input[name=makeNm]").val())){
+		if(gagajf.isNull($("#goodsSetForm select[name=makeOriginCd]").val())){
 			mcxDialog.alertC('원산지를 입력해 주세요.', {
 			mcxDialog.alertC('원산지를 입력해 주세요.', {
 				sureBtnText: "확인",
 				sureBtnText: "확인",
 				sureBtnClick: function() {
 				sureBtnClick: function() {
-					$("#goodsSetForm input[name=makeNm]").focus();
+					$("#goodsSetForm select[name=makeOriginCd]").focus();
 				}
 				}
 			});	
 			});	
 			return false;
 			return false;

+ 1 - 1
style24.admin/src/main/webapp/WEB-INF/views/goods/ItemkindBaseForm.html

@@ -57,7 +57,7 @@
 			cellEditor: 'textCellEditor',
 			cellEditor: 'textCellEditor',
 			cellEditorParams: { required: true, onblur: '$(this).val($(this).val().toUpperCase())' }
 			cellEditorParams: { required: true, onblur: '$(this).val($(this).val().toUpperCase())' }
 		},
 		},
-		{headerName: "품목명", field: "itemkindNm", width: 350, cellClass: 'text-center',
+		{headerName: "품목명", field: "itemkindNm", width: 350, cellClass: 'text-left',
 			cellEditor: 'textCellEditor',
 			cellEditor: 'textCellEditor',
 			cellEditorParams: { maxlength: 50, required: true }
 			cellEditorParams: { maxlength: 50, required: true }
 		},
 		},