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

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

@@ -759,6 +759,7 @@ public class TsaGoodsService {
 			goods.setGoodsSnm(goodsSnm);
 		}
 
+		goods.setFormalGb(goods.getFormalGb());
 		// 브랜드 확인
 		if (!"G056_N".equals(goods.getGoodsType())) {
 			if (!goods.getFormalGb().equals(goods.getFormalGbOrg())) {
@@ -781,12 +782,6 @@ public class TsaGoodsService {
 					goods.setPntMrate(pntMrate); // 포인트적립율(MOBILE)
 				}
 			}
-		} else {
-			if ("N".equals(goods.getSelfGoodsYn())) {
-				goods.setFormalGb(goods.getFormalGb());
-			} else {
-				goods.setFormalGb(goods.getFormalGbOrg());
-			}
 		}
 
 		// 기본정보 변경
@@ -852,6 +847,11 @@ public class TsaGoodsService {
 		goodsDesc.setUpdNo(goods.getUpdNo());
 
 		// PC 상단
+		goodsDesc.setDescGb("10");
+		goodsDesc.setGoodsDesc(goods.getGoodsPcTopDesc());
+		this.saveGoodsDesc(goodsDesc);
+
+		// PC 하단
 		goodsDesc.setDescGb("20");
 		goodsDesc.setGoodsDesc(goods.getGoodsPcTopDesc());
 		this.saveGoodsDesc(goodsDesc);
@@ -867,9 +867,7 @@ public class TsaGoodsService {
 		this.saveGoodsDesc(goodsDesc);
 
 		//		// 상품상세 저장
-		//		goodsDesc.setDescGb("10");
-		//		goodsDesc.setGoodsDesc(this.setGoodsDescSb(goods).toString());
-		//		this.saveGoodsDesc(goodsDesc);
+
 		//
 		//		// 세트상품의 구서상품으로 있을경우 처리
 		//		this.saveGoodsSetDesc(goodsDesc);

+ 106 - 4
style24.admin/src/main/java/com/style24/admin/biz/web/TsaGoodsController.java

@@ -392,7 +392,7 @@ public class TsaGoodsController extends TsaBaseController {
 	@PostMapping("/state/update")
 	@ResponseBody
 	public GagaMap updateGoodsState(@RequestBody Goods goods) {
-		log.info("updateGoodsState goods={}", goods);
+
 		GagaMap result = new GagaMap();
 		result.set("status", GagaResponseStatus.SUCCESS.getCode()); // 200
 		result.set("procJob", goods.getProcJob());
@@ -984,13 +984,13 @@ public class TsaGoodsController extends TsaBaseController {
 		goods.setNotiListNew(notiList);
 		goods.setGoodsComposeListNew(goodComposeList);
 		goods.setCodiGoodsListNew(codiGoodList);
-		log.info("[saveGoodsDetail] goods = {}", goods);
+
 		goodsService.saveGoodsDetail(goods);
 		return super.ok(message.getMessage("SUCC_0001"));
 	}
 
 	/**
-	 * 코상품 삭제
+	 * 코상품 삭제
 	 *
 	 * @param codiGoodsList
 	 * @author eskim
@@ -999,8 +999,110 @@ public class TsaGoodsController extends TsaBaseController {
 	@PostMapping("/codi/delete")
 	@ResponseBody
 	public GagaResponse deleteCodiGoods(@RequestBody Collection<CodiGoods> codiGoodsList) {
-		log.info("codiGoodsList = {}", codiGoodsList);
+
 		goodsService.deleteCodiGoods(codiGoodsList);
 		return super.ok(message.getMessage("SUCC_0003"));
 	}
+
+	/**
+	 * 세트상품구성 화면
+	 *
+	 * @param
+	 * @return
+	 * @author eskim
+	 * @since 2020. 05. 26
+	 */
+	@GetMapping("/set/form")
+	@ResponseBody
+	public ModelAndView setForm(Goods goods) {
+		ModelAndView mav = new ModelAndView();
+
+		// 사용여부
+		mav.addObject("useYnList", rendererService.getAvailCommonCodeList("G002"));
+		// 정상이월
+		mav.addObject("formalGbList", rendererService.getAvailCommonCodeList("G009"));
+		// 성별
+		mav.addObject("sexGbList", rendererService.getAvailCommonCodeList("G007"));
+		// 시즌
+		mav.addObject("seasonList", rendererService.getAvailCommonCodeList("G006"));
+		// 스타일년도
+		mav.addObject("styleYearList", rendererService.getAvailCommonCodeList("G023"));
+		// 매입유형
+		mav.addObject("buyingTypeList", rendererService.getAvailCommonCodeList("G035"));
+		// 상품상태
+		// mav.addObject("goodsStatList",
+		// rendererService.getAvailCommonCodeList("G008"));
+		String[] exceptCds = {"00"};
+		mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y", exceptCds));
+
+		mav.addObject("params", goods);
+		mav.setViewName("goods/GoodsSetForm");
+		return mav;
+	}
+
+//	/**
+//	 * 세트 상품 등록
+//	 *
+//	 * @param goods
+//	 * @return
+//	 * @author eskim
+//	 * @since 2020. 06. 12
+//	 */
+//	@PostMapping("/set/save")
+//	@ResponseBody
+//	public GagaResponse saveGoodsSet(@RequestBody Goods goods) {
+//		goodsService.saveGoodsSet(goods);
+//		return super.ok(message.getMessage("SUCC_0001"));
+//	}
+
+	/**
+	 * 딜상품구성 화면
+	 *
+	 * @param
+	 * @return
+	 * @author eskim
+	 * @since 2020. 05. 26
+	 */
+	@GetMapping("/deal/form")
+	@ResponseBody
+	public ModelAndView dealForm(Goods goods) {
+		ModelAndView mav = new ModelAndView();
+
+		// 사용여부
+		mav.addObject("useYnList", rendererService.getAvailCommonCodeList("G002"));
+		// 정상이월
+		mav.addObject("formalGbList", rendererService.getAvailCommonCodeList("G009"));
+		// 성별
+		mav.addObject("sexGbList", rendererService.getAvailCommonCodeList("G007"));
+		// 시즌
+		mav.addObject("seasonList", rendererService.getAvailCommonCodeList("G006"));
+		// 스타일년도
+		mav.addObject("styleYearList", rendererService.getAvailCommonCodeList("G023"));
+		// 매입유형
+		mav.addObject("buyingTypeList", rendererService.getAvailCommonCodeList("G035"));
+		// 상품상태
+		// mav.addObject("goodsStatList",
+		// rendererService.getAvailCommonCodeList("G008"));
+		String[] exceptCds = {"00"};
+		mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y", exceptCds));
+
+		mav.addObject("params", goods);
+		mav.setViewName("goods/GoodsDealForm");
+		return mav;
+	}
+
+//	/**
+//	 * 딜 상품 등록
+//	 *
+//	 * @param goods
+//	 * @return
+//	 * @author eskim
+//	 * @since 2020. 06. 14
+//	 */
+//	@PostMapping("/deal/save")
+//	@ResponseBody
+//	public GagaResponse saveGoodsDeal(@RequestBody Goods goods) {
+//		goodsService.saveGoodsDeal(goods);
+//		return super.ok(message.getMessage("SUCC_0001"));
+//	}
 }

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

@@ -25,6 +25,7 @@ public class CodiGoods extends TscBaseDomain {
 	private String imgType;
 	private String imgPath1;
 	private String imgPath6;
+	private String crud;
 
 }
 

+ 15 - 14
style24.admin/src/main/java/com/style24/persistence/mybatis/shop/TsaGoods.xml

@@ -1062,8 +1062,8 @@
 	<update id="updateGoodsSnm" parameterType="Goods">
 		/* TsaGoods.updateGoodsSnm */
 		UPDATE TB_GOODS A
-		SET UPD_ID = #{updId}
-		  , UPD_DT = SYSDATE
+		SET UPD_NO = #{updNo}
+		  , UPD_DT = NOW()
 		  , GOODS_SNM = #{goodsSnm} 
 		WHERE GOODS_CD = #{goodsCd}
 	</update>
@@ -1076,12 +1076,6 @@
 		     , NVL(C.NI_CONTENT, D.NI_CONTENT) AS NI_CONTENT
 		     , D.DISP_ORD
 		FROM (
-		       SELECT NI_ITEM_CD
-		            , NI_CONTENT 
-		       FROM TB_GOODS_NOTI_INFO
-		       WHERE GOODS_CD = #{goodsCd}
-		   ) C
-		   , (
 		       SELECT A.NI_CLSF_CD
 		          , A.NI_ITEM_CD
 		          , A.NI_CONTENT
@@ -1091,8 +1085,16 @@
 		       WHERE A.NI_CLSF_CD = B.NI_CLSF_CD
 		       AND A.SUPPLY_COMP_CD = #{supplyCompCd}
 		       AND B.ITEMKIND_CD = #{itemkindCd}
-		   ) D
-		WHERE D.NI_ITEM_CD = C.NI_ITEM_CD (+)
+		     ) D
+		    LEFT OUTER JOIN (
+		       SELECT NI_ITEM_CD
+		            , NI_CONTENT 
+		       FROM TB_GOODS_NOTI_INFO
+		       WHERE GOODS_CD = #{goodsCd}
+		     ) C
+		     ON (
+		       C.NI_ITEM_CD = D.NI_ITEM_CD
+		     )
 		ORDER BY D.DISP_ORD
 	</select>
 	
@@ -1175,7 +1177,7 @@
 		SELECT #{goodsCd} AS GOODS_CD
 		     , A.GOODS_CD AS COMPS_GOODS_CD
 		     , A.OPT_CD
-		     , CONCAT(A.OPT_NM1,  NVL2(A.OPT_NM2, CONCAT('/', A.OPT_NM2), '')) AS OPT_NM 
+		     , CONCAT(A.OPT_NM1,  NVL2(A.OPT_NM2, '', CONCAT('/', A.OPT_NM2))) AS OPT_NM 
 		     , A.OPT_NM1
 		     , A.OPT_NM2
 		     , A.BASE_STOCK_QTY
@@ -1279,7 +1281,7 @@
 	<!-- 상품 상세정보 삭제 -->
 	<delete id="deleteGoodsDesc" parameterType="GoodsDesc">
 		/* TsaGoods.deleteGoodsDesc */
-		DELETE TB_GOODS_DESC
+		DELETE FROM TB_GOODS_DESC
 		WHERE GOODS_CD = #{goodsCd}
 		AND DESC_GB = #{descGb}
 	</delete>
@@ -1299,7 +1301,7 @@
 		    #{goodsCd}
 		  , #{descGb}
 		  , #{seq}
-		  , REPLACE(#{goodsDesc},'char(13)', CONCAT(char(13),char(10))
+		  , REPLACE(#{goodsDesc},char(13), CONCAT(char(13),char(10)))
 		  , #{regNo}
 		  , NOW()
 		)
@@ -1478,5 +1480,4 @@
 		WHERE GOODS_CD = #{goodsCd}
 		AND CODI_GOODS_CD = #{codiGoodsCd}
 	</delete>
-	
 </mapper>

+ 26 - 28
style24.admin/src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html

@@ -6,7 +6,7 @@
  * @source  : GoodsDetailForm.html
  * @desc    : 상품 상세 팝업
  *============================================================================
- * SISUN
+ * SISUNChDataYn
  * Copyright(C) 2020 TSIT, All rights reserved.
  *============================================================================
  * VER  DATE         AUTHOR      DESCRIPTION
@@ -518,19 +518,19 @@
 		//{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 == "A"){
+				if (params.data.imgType == "G030_A"){
 					if(!gagajf.isNull(params.data.imgPath6)){
-						return '<img width="60" src="'+ uploadGoodsUrl+params.data.imgPath6 + '" alt=""  onerror="this.src=\'/image/no.gif\';"/>';
+						return '<img width="60" src="'+ params.data.imgPath1 + '" alt="" onerror="this.src=\'/image/no.gif\';"/>';
 					}else{
-						return '<img width="60" src="'+ uploadGoodsUrl+params.value + '" alt=""  onerror="this.src=\'/image/no.gif\';"/>';
+						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="'+ params.data.imgPath1 + '" alt="" onerror="this.src=\'/image/no.gif\';"/>';
+						return '<img width="60" src="'+ uploadGoodsUrl+params.data.imgPath6 + '" alt=""  onerror="this.src=\'/image/no.gif\';"/>';
 					}else{
-						return '<img width="60" src="'+ params.value + '" alt="" onerror="this.src=\'/image/no.gif\';"/>';
+						return '<img width="60" src="'+ uploadGoodsUrl+params.value + '" alt=""  onerror="this.src=\'/image/no.gif\';"/>';
 					}
-					
 				}
 			}
 		},
@@ -539,8 +539,8 @@
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(goodsTypeList, params.value); },
 			valueParser: function (params) { return gagaAgGrid.lookupKey(goodsTypeList, params.newValue); }
 		},
-		{headerName: "구성상품코드", field: "extendGoodsCd" , width: 130, cellClass: 'text-center'},
-		{headerName: "구성상품코드명", field: "extendGoodsCdNm" , width: 200, cellClass: 'text-left'},
+		{headerName: "구성상품코드", field: "compsGoodsCd" , width: 130, cellClass: 'text-center'},
+		{headerName: "구성상품코드명", field: "compsGoodsCdNm" , width: 200, cellClass: 'text-left'},
 		//{headerName: "순서", field: "dispOrd" , width: 80, cellClass: 'text-right',editable: true, required: true},
 		{headerName: "수량", field: "qty" , width: 100, cellClass: 'text-right'
 			,valueFormatter: function(params) { return Number(params.value).addComma();}
@@ -558,7 +558,7 @@
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(useYnList, params.value); },
 			valueParser: function (params) { return gagaAgGrid.lookupKey(useYnList, params.newValue); }
 		},
-		{headerName: "옵션명(딜상품용)", field: "extendGoodsOptNm" , width: 200, cellClass: 'text-left',editable: true, required: true},
+		{headerName: "옵션명(딜상품용)", field: "compsGoodsOptNm" , width: 200, cellClass: 'text-left',editable: true, required: true},
 		{headerName: "상품상태", field: "goodsStat" , width: 100, cellClass: 'text-center',
 			cellEditorParams: { values: gagaAgGrid.extractValues(goodsStatList) },
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(goodsStatList, params.value); },
@@ -586,19 +586,19 @@
 		//{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 == "A"){
+				if (params.data.imgType == "G030_A"){
 					if(!gagajf.isNull(params.data.imgPath6)){
-						return '<img width="60" src="'+ uploadGoodsUrl+params.data.imgPath6 + '" alt=""  onerror="this.src=\'/image/no.gif\';"/>';
+						return '<img width="60" src="'+ 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\';"/>';
-					}	
+						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="'+ params.data.imgPath1 + '" alt="" onerror="this.src=\'/image/no.gif\';"/>';
+						return '<img width="60" src="'+ uploadGoodsUrl+params.data.imgPath6 + '" alt=""  onerror="this.src=\'/image/no.gif\';"/>';
 					}else{
-						return '<img width="60" src="'+ params.value + '" alt="" onerror="this.src=\'/image/no.gif\';"/>';
+						return '<img width="60" src="'+ uploadGoodsUrl+params.value + '" alt=""  onerror="this.src=\'/image/no.gif\';"/>';
 					}
-					
 				}
 			}
 		},
@@ -650,7 +650,7 @@
 	// 상품상세 조회
 	var fnGoodsDeailSearch = function() {
 
-		$('#goodsDetailForm').find('.tabs .tabsNav li a').attr("style", "color:#888;");
+		$('#goodsDetailForm').find('.tabs .tabsNav li a').attr("style", "color:#888;");  //탭색 초기화
 
 		var params = new Object();
 		params.mode = $('#goodsDetailForm input[name=mode]').val();
@@ -886,6 +886,11 @@
 			fnGoodsDetailHstSearch();
 
 		}
+		
+		//기본정보탭 변경여부
+		$('#goodsDetailForm').find('#goodstab1').find("input, select, textarea").on('change', function() {
+			$('#goodsDetailForm').find('.tabs .tabsNav li:eq(0) a').attr("style", "color:red;");
+		});
 	}
 
 	//옵셥 재고
@@ -1694,7 +1699,7 @@
 			return true;
 		}
 		//상품구분
-		if ($("#goodsDetailForm input[name=goodsGbOrg]").val() != $("input:radio[name=goodsGb]:checked").val()){
+		if ($("#goodsDetailForm input[name=goodsGbOrg]").val() != $("#goodsDetailForm select[name=goodsGb]").val()){
 			return true;
 		}
 		//상품상태
@@ -1866,7 +1871,7 @@
 				gridGoodsComposeOptions.api.updateRowData({add: [data], addIndex: idx});
 				
 				idx++;
-			
+				$('#goodsDetailForm').find('.tabs .tabsNav li:eq(5) a').attr("style", "color:red;");
 			}
 		});
 		gridGoodsComposeOptions.api.refreshCells();
@@ -1918,6 +1923,7 @@
 				gridCodiGoodsOptions.api.updateRowData({add: [data], addIndex: idx});
 				
 				idx++;
+				$('#goodsDetailForm').find('.tabs .tabsNav li:eq(4) a').attr("style", "color:red;");
 			
 			}
 		});
@@ -1933,8 +1939,6 @@
 		}
 
 		//화면에서 삭제
-		//var removedData_1 = gagaAgGrid.removeRowData(gridCodiGoodsOptions, false);
-
 		var removedData = gagaAgGrid.removeRowData(gridCodiGoodsOptions, false);
 		
 		if (removedData.length > 0) {
@@ -1983,7 +1987,6 @@
 	
 	$(document).ready(function() {
 
-		/* gagaSe.createSmartEditor(seOptions, 'goodsDesc'); */
 		gagaSe.createSmartEditor(seOptions, 'goodsPcTopDesc');
 		gagaSe.createSmartEditor(seOptions, 'goodsMobileTopDesc');
 		gagaSe.createSmartEditor(seOptions, 'goodsPcDownDesc');
@@ -1995,11 +1998,6 @@
 
 		fnGoodsDeailSearch();
 
-		//기본정보탭 변경여부
-		$('#goodsDetailForm').find('#goodstab1').find("input, select, textarea").on('change', function() {
-			$('#goodsDetailForm').find('.tabs .tabsNav li:eq(0) a').attr("style", "color:red;");
-		});
-
 	});
 	
 /*]]>*/

BIN
style24.admin/src/main/webapp/image/no.gif