Procházet zdrojové kódy

상품별카테고리전시 엑셀조회 추가

bin2107 před 5 roky
rodič
revize
8f3a5f2e59

+ 17 - 0
src/main/java/com/style24/admin/biz/web/TsaDisplayController.java

@@ -299,4 +299,21 @@ public class TsaDisplayController extends TsaBaseController {
 		return super.ok(message.getMessage("SUCC_0003"));
 	}
 
+	/**
+	 * 카테고리별상품전시관리 화면
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 1. 19
+	 */
+	@GetMapping("/category/goods/form")
+	public ModelAndView CategoryGoodsForm() {
+		ModelAndView mav = new ModelAndView();
+
+		mav.addObject("siteList", rendererService.getAvailCommonCodeList("G000"));
+		// 카테고리구분
+		mav.addObject("cateGbList", rendererService.getAvailCommonCodeList("G032"));
+		mav.setViewName("display/CategoryGoodsForm");
+
+		return mav;
+	}
 }

+ 42 - 8
src/main/java/com/style24/persistence/mybatis/shop/TsaDsiplay.xml

@@ -555,10 +555,26 @@
 	<select id="getGoodsCategoryListCount" parameterType="GoodsCategory" resultType="int">
 		/* TsaDisplay.getGoodsCategoryListCount */
 		SELECT  COUNT(*) AS TOTCNT
-		FROM	TB_GOODS G
-		WHERE	1=1
-		<if test="searchGb == null or searchGb =='BASIC' or searchGb =='EXTEND' or searchGb =='MASTER'" >
-			<include refid="getGoodsCategoryListCondition_sql"/>
+		FROM
+		<if test="searchGb == null or searchGb =='BASIC'">
+				TB_GOODS G
+			WHERE	1=1
+			<if test="searchGb == null or searchGb =='BASIC' or searchGb =='EXTEND' or searchGb =='MASTER'" >
+				<include refid="getGoodsCategoryListCondition_sql"/>
+			</if>
+		</if>
+		<if test="searchGb != null and searchGb =='EXCEL'">
+			 (SELECT C.*
+				, TMP_DISP_ORD
+				FROM TB_GOODS C
+				, (SELECT SEARCH_CD, MIN(DISP_ORD) AS TMP_DISP_ORD
+					FROM TB_SEARCH_DATA
+					WHERE REG_NO = #{regNo}
+					GROUP BY SEARCH_CD) D
+				WHERE C.GOODS_CD LIKE D.SEARCH_CD||'%'
+				OR C.SUPPLY_GOODS_CD LIKE D.SEARCH_CD||'%'
+			) A
+			WHERE 1 = 1
 		</if>
 	</select>
 
@@ -598,10 +614,28 @@
 						, G.SEASON_CD
 						, (SELECT BRAND_GRP_NM FROM TB_BRAND WHERE BRAND_CD = G.BRAND_CD) AS BRAND_GRP_NM
 						, (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ) AS SYS_IMG_NM
-				FROM	TB_GOODS G
-				JOIN ( SELECT @rownum := 0) R
-				WHERE 1=1
-				<include refid="getGoodsCategoryListCondition_sql"/>
+				FROM
+				<if test="searchGb == null or searchGb =='BASIC'">
+						TB_GOODS G
+						JOIN ( SELECT @rownum := 0) R
+						WHERE 1=1
+						<include refid="getGoodsCategoryListCondition_sql"/>
+				</if>
+				<if test="searchGb != null and searchGb =='EXCEL'">
+					(SELECT C.*
+						, TMP_DISP_ORD
+						FROM TB_GOODS C
+						, (SELECT SEARCH_CD, MIN(DISP_ORD) AS TMP_DISP_ORD
+							FROM TB_SEARCH_DATA
+							WHERE REG_NO = #{regNo}
+							GROUP BY SEARCH_CD
+							) D
+						WHERE C.GOODS_CD LIKE D.SEARCH_CD||'%'
+						OR C.SUPPLY_GOODS_CD LIKE D.SEARCH_CD||'%'
+					) G
+					JOIN ( SELECT @rownum := 0) R
+					WHERE 1 = 1
+				</if>
 				ORDER BY G.REG_DT DESC, G.GOODS_CD
 			<include refid="getListPagingCondition_sql"/>
 	</select>

+ 81 - 0
src/main/webapp/WEB-INF/views/display/CategoryGoodsForm.html

@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : CategoryGoodsForm.html
+ * @desc    : 카테고리별상품전시관리 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.01.19   bin2107     최초 작성
+ *******************************************************************************
+ -->
+	<div id="main">
+		<!-- 메인타이틀 영역 -->
+		<div class="main-title">
+		</div>
+		<!-- //메인타이틀 영역 -->
+		
+		<!-- 메뉴 설명 -->
+		<div class="infoBox menu-desc">
+		</div>
+		<!-- //메뉴 설명 -->
+		
+		<!-- 검색조건 영역 -->
+		<div class="panelStyle">
+			<form id="searchForm" name="searchForm" action="#" th:action="@{'/display/category/list'}" onsubmit="$('#btnSearch').trigger('click'); return false;">
+				<table class="frmStyle" aria-describedby="검색조건">
+					<colgroup>
+						<col width="10%"/>
+						<col/>
+					</colgroup>
+					<tr>
+						<th>카테고리</th>
+						<td>
+							<input type="hidden" name="selLvl"/>
+							<select name="siteCd">
+<!-- 								<option value="">[사이트]</option> -->
+								<option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
+							</select>
+							<select name="cateGb" id="selCate1" onchange="fnChangeSearchCondition($(this).val(), 1);">
+								<option value="">[카테고리구분]</option>
+								<option th:if="${cateGbList}" th:each="oneData, status : ${cateGbList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
+							</select>
+							<select name="cate1No" id="selCate2" onchange="fnChangeSearchCondition($(this).val(), 2);">
+								<option value="">[카테고리1]</option>
+							</select>
+							<select name="cate2No" id="selCate3" onchange="fnChangeSearchCondition($(this).val(), 3);">
+								<option value="">[카테고리2]</option>
+							</select>
+							<select name="cate3No" id="selCate4" onchange="fnChangeSearchCondition($(this).val(), 4);">
+								<option value="">[카테고리3]</option>
+							</select>
+							<select name="cate4No" id="selCate5" onchange="fnChangeSearchCondition($(this).val(), 5);">
+								<option value="">[카테고리4]</option>
+							</select>
+						</td>
+					</tr>
+				</table>
+			</form>
+		</div>
+		<!-- 검색조건 영역 -->
+
+		<!-- 리스트 영역 -->
+		<div class="panelStyle">
+			<div id="gridList" style="width: 100%; height: 470px" class="ag-theme-balham"></div>
+		</div>
+		<!-- //리스트 영역 -->
+
+	</div>
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+
+/*]]>*/
+</script>
+
+</html>

+ 19 - 1
src/main/webapp/WEB-INF/views/display/GoodsCategoryForm.html

@@ -172,7 +172,7 @@
 			<ul class="panelBar">
 				<li>
 					<button type="button" class="btn btn-default btn-lg" onclick="cfnDownloadSampleFile('SF003');">상품엑셀조회 양식 다운로드</button>
-					<button type="button" class="btn btn-base btn-lg" id="btnGoodsExcelUpLoad">엑셀조회</button>
+					<button type="button" class="btn btn-base btn-lg" id="btnGoodsExcelSearch">엑셀조회</button>
 				</li>
 				<li class="aR">
 					검색결과 : <strong><span id="gridRowTotalCount">0</span> 건</strong>&nbsp;
@@ -611,6 +611,24 @@
 			fnDisplayCategorySearch();
 		};
 
+		// 엑셀 상품 조회
+		$("#btnGoodsExcelSearch").on('click', function(){
+			cfnExcelUploadPopup('goodsExcelUpload', 'goodsExcelUpload');
+		});
+
+		var goodsExcelUpload = function(result){
+			var data = {procJob : result.procJob
+				,excelFileNm : result.excelFileNm
+			};
+			var jsonData = JSON.stringify(data);
+			gagajf.ajaxJsonSubmit('/goods/search/excelupload/save', jsonData, fnGoodsExcelUploadCallBack);
+		}
+
+		var fnGoodsExcelUploadCallBack = function(result){
+			$("#goodsSearchForm input[name=searchGb]").val("EXCEL");
+			fnSearch();
+		}
+
 		$(document).ready(function() {
 			cfnCreateCalendar('#sellTerms', 'stDate', 'edDate', true, '기간', 'X');
 			// Create a agGrid