Browse Source

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

jsshin 5 years ago
parent
commit
e4df70a3fc

+ 24 - 0
src/main/java/com/style24/admin/biz/dao/TsaDisplayDao.java

@@ -193,4 +193,28 @@ public interface TsaDisplayDao {
 	 */
 	Collection<CategoryGoods> getCategoryGoodsList(CategoryGoods categoryGoods);
 
+	/**
+	 * 전시 상품 순서변경 전시초기화
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	void updateCategoryGoodsDispOrdInit(CategoryGoods categoryGoods);
+
+	/**
+	 * 전시 상품 순서변경 최상단/하단 이동
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	void updateCategoryGoodsDispOrdUpdown(CategoryGoods categoryGoods);
+
+	/**
+	 * 전시 상품 순서변경 저장
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	void updateCategoryGoodsDispOrd(CategoryGoods categoryGoods);
+
 }

+ 62 - 0
src/main/java/com/style24/admin/biz/service/TsaDisplayService.java

@@ -343,4 +343,66 @@ public class TsaDisplayService {
 		}
 	}
 
+	/**
+	 * 전시 상품 순서변경 상품삭제
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@Transactional("shopTxnManager")
+	public void deleteDispOrdChangeGoods(CategoryGoods categoryGoods) {
+		GoodsCategory goodsCategory = new GoodsCategory();
+		goodsCategory.setGoodsCd(categoryGoods.getGoodsCd());
+		goodsCategory.setCateNo(categoryGoods.getCateNo());
+		displayDao.deleteGoodsCategory(goodsCategory);
+	}
+
+	/**
+	 * 전시 상품 순서변경 전시초기화
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@Transactional("shopTxnManager")
+	public void updateCategoryGoodsDispOrdInit(CategoryGoods categoryGoods) {
+		displayDao.updateCategoryGoodsDispOrdInit(categoryGoods);
+	}
+
+	/**
+	 * 전시 상품 순서변경 최상단/하단 이동
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@Transactional("shopTxnManager")
+	public void updateCategoryGoodsDispOrdUpdown(CategoryGoods categoryGoods) {
+		if("up".equals(categoryGoods.getChangeGb())){
+			categoryGoods.setChangeGb("min");
+			displayDao.updateCategoryGoodsDispOrdUpdown(categoryGoods);
+			categoryGoods.setChangeGb("up");
+		}else if("down".equals(categoryGoods.getChangeGb())){
+			categoryGoods.setChangeGb("max");
+			displayDao.updateCategoryGoodsDispOrdUpdown(categoryGoods);
+			categoryGoods.setChangeGb("down");
+		}
+		displayDao.updateCategoryGoodsDispOrdUpdown(categoryGoods);
+	}
+
+	/**
+	 * 전시 상품 순서변경 저장
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@Transactional("shopTxnManager")
+	public void updateCategoryGoodsDispOrd(CategoryGoods categoryGoods) {
+		int cnt = 0;
+		for(String goodsCd : categoryGoods.getGoodsCdArr()){
+			categoryGoods.setGoodsCd(goodsCd);
+			categoryGoods.setDispOrd(categoryGoods.getDispOrdArr()[cnt]);
+			displayDao.updateCategoryGoodsDispOrd(categoryGoods);
+			cnt++;
+		}
+	}
+
 }

+ 35 - 38
src/main/java/com/style24/admin/biz/web/TsaCommonController.java

@@ -1,6 +1,5 @@
 package com.style24.admin.biz.web;
 
-import java.io.File;
 import java.io.IOException;
 import java.util.Collection;
 import java.util.List;
@@ -31,13 +30,12 @@ import lombok.extern.slf4j.Slf4j;
 import com.gagaframework.web.parameter.GagaMap;
 import com.gagaframework.web.util.GagaFileUploadUtil;
 import com.gagaframework.web.util.GagaFileUtil;
-import com.gagaframework.web.util.GagaFtpUtil;
 import com.gagaframework.web.util.GagaUploadedFileInfo;
 
 /**
  * 공통 Controller
  *
- * @author renderer
+ * @author gagamel
  * @since 2020. 10. 22
  */
 @Controller
@@ -45,14 +43,12 @@ import com.gagaframework.web.util.GagaUploadedFileInfo;
 @Slf4j
 public class TsaCommonController extends TsaBaseController {
 
-
 	@Autowired
 	private Environment env;
 
 	@Autowired
 	private TsaCommonService commonService;
 
-
 	@Value("${upload.default.target.path}")
 	private String uploadTargetPath;
 
@@ -104,17 +100,17 @@ public class TsaCommonController extends TsaBaseController {
 		GagaFileUploadUtil fuUtil = new GagaFileUploadUtil(targetPath, Long.parseLong(env.getProperty("upload." + policy + ".max.size")), env.getProperty("upload." + policy + ".allow.extension"), env.getProperty("upload." + policy + ".view"));
 
 		GagaUploadedFileInfo ufInfo = fuUtil.uploadFile(file);
-		if (!"excel".equals(policy)) {
-			// 운영서버에서만 FTP로 파일 업로드
-			String profiles = env.getProperty("spring.profiles.active").toLowerCase();
-			if ("run".equals(profiles) || "locp".equals(profiles)) {
-				GagaFtpUtil ftpUtil = new GagaFtpUtil(env.getProperty("speedy.ftp.host"), env.getProperty("speedy.ftp.port"), env.getProperty("speedy.ftp.username"), env.getProperty("speedy.ftp.pwd"));
-
-				File srcFile = new File(GagaFileUtil.getConcatenationPath(targetPath, ufInfo.getNewFileName()));
-				ftpUtil.upload(srcFile, "/" + subDir);
-				ftpUtil.close();
-			}
-		}
+//		if (!"excel".equals(policy)) {
+//			// 운영서버에서만 FTP로 파일 업로드
+//			String profiles = env.getProperty("spring.profiles.active").toLowerCase();
+//			if ("run".equals(profiles) || "locp".equals(profiles)) {
+//				GagaFtpUtil ftpUtil = new GagaFtpUtil(env.getProperty("speedy.ftp.host"), env.getProperty("speedy.ftp.port"), env.getProperty("speedy.ftp.username"), env.getProperty("speedy.ftp.pwd"));
+//
+//				File srcFile = new File(GagaFileUtil.getConcatenationPath(targetPath, ufInfo.getNewFileName()));
+//				ftpUtil.upload(srcFile, "/" + subDir);
+//				ftpUtil.close();
+//			}
+//		}
 		return ufInfo;
 	}
 
@@ -135,14 +131,14 @@ public class TsaCommonController extends TsaBaseController {
 
 		GagaFileUtil.deleteFile(GagaFileUtil.getConcatenationPath(targetPath, fileNm));
 
-		// 운영서버이면 FTP 파일 삭제
-		String profiles = env.getProperty("spring.profiles.active").toLowerCase();
-		if ("run".equals(profiles) || "locp".equals(profiles)) {
-			GagaFtpUtil ftpUtil = new GagaFtpUtil(env.getProperty("speedy.ftp.host"), env.getProperty("speedy.ftp.port"), env.getProperty("speedy.ftp.username"), env.getProperty("speedy.ftp.pwd"));
-			log.debug("targetPath : " + targetPath);
-			ftpUtil.delete("/" + subDir, fileNm);
-			ftpUtil.close();
-		}
+//		// 운영서버이면 FTP 파일 삭제
+//		String profiles = env.getProperty("spring.profiles.active").toLowerCase();
+//		if ("run".equals(profiles) || "locp".equals(profiles)) {
+//			GagaFtpUtil ftpUtil = new GagaFtpUtil(env.getProperty("speedy.ftp.host"), env.getProperty("speedy.ftp.port"), env.getProperty("speedy.ftp.username"), env.getProperty("speedy.ftp.pwd"));
+//			log.debug("targetPath : " + targetPath);
+//			ftpUtil.delete("/" + subDir, fileNm);
+//			ftpUtil.close();
+//		}
 	}
 
 	/**
@@ -164,20 +160,20 @@ public class TsaCommonController extends TsaBaseController {
 		Collection<GagaUploadedFileInfo> ufList = fuUtil.uploadFiles(files);
 		log.debug("ufList: {}", ufList);
 
-		// 운영서버에서만 FTP로 파일 업로드
-		String profiles = env.getProperty("spring.profiles.active").toLowerCase();
-		if ("run".equals(profiles) || "locp".equals(profiles)) {
-			if (ufList != null && !ufList.isEmpty()) {
-				GagaFtpUtil ftpUtil = new GagaFtpUtil(env.getProperty("speedy.ftp.host"), env.getProperty("speedy.ftp.port"), env.getProperty("speedy.ftp.username"), env.getProperty("speedy.ftp.pwd"));
-
-				for (GagaUploadedFileInfo ufInfo : ufList) {
-					File srcFile = new File(GagaFileUtil.getConcatenationPath(targetPath, ufInfo.getNewFileName()));
-					ftpUtil.upload(srcFile, "/" + subDir);
-				}
-
-				ftpUtil.close();
-			}
-		}
+//		// 운영서버에서만 FTP로 파일 업로드
+//		String profiles = env.getProperty("spring.profiles.active").toLowerCase();
+//		if ("run".equals(profiles) || "locp".equals(profiles)) {
+//			if (ufList != null && !ufList.isEmpty()) {
+//				GagaFtpUtil ftpUtil = new GagaFtpUtil(env.getProperty("speedy.ftp.host"), env.getProperty("speedy.ftp.port"), env.getProperty("speedy.ftp.username"), env.getProperty("speedy.ftp.pwd"));
+//
+//				for (GagaUploadedFileInfo ufInfo : ufList) {
+//					File srcFile = new File(GagaFileUtil.getConcatenationPath(targetPath, ufInfo.getNewFileName()));
+//					ftpUtil.upload(srcFile, "/" + subDir);
+//				}
+//
+//				ftpUtil.close();
+//			}
+//		}
 
 		return ufList;
 	}
@@ -218,4 +214,5 @@ public class TsaCommonController extends TsaBaseController {
 	public String getSampleFileSystemFilename(@PathVariable("sampleFileId") String sampleFileId) {
 		return commonService.getSampleFileSystemFilename(sampleFileId);
 	}
+
 }

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

@@ -424,4 +424,64 @@ public class TsaDisplayController extends TsaBaseController {
 
 		return result;
 	}
+
+	/**
+	 * 전시 상품 순서변경 상품삭제
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@PostMapping("/goods/dispord/change/delete")
+	@ResponseBody
+	public GagaResponse deleteDispOrdChangeGoods(@RequestBody CategoryGoods categoryGoods){
+		categoryGoods.setRegNo(TsaSession.getInfo().getUserNo());
+		displayService.deleteDispOrdChangeGoods(categoryGoods);
+		return super.ok(message.getMessage("SUCC_0003"));
+	}
+
+	/**
+	 * 전시 상품 순서변경 전시초기화
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@PostMapping("/category/goods/dispord/init")
+	@ResponseBody
+	public GagaResponse updateCategoryGoodsDispOrdInit(@RequestBody CategoryGoods categoryGoods){
+		categoryGoods.setRegNo(TsaSession.getInfo().getUserNo());
+		displayService.updateCategoryGoodsDispOrdInit(categoryGoods);
+		return super.ok(message.getMessage("SUCC_0009"));
+	}
+
+	/**
+	 * 전시 상품 순서변경 최상단/하단 이동
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@PostMapping("/category/goods/dispord/updown")
+	@ResponseBody
+	public GagaResponse updateCategoryGoodsDispOrdUpdown(@RequestBody CategoryGoods categoryGoods){
+		int size = categoryGoods.getGoodsCdArr().length-1;
+
+		for(int i=size; i>=0; i--){
+			categoryGoods.setGoodsCd(categoryGoods.getGoodsCdArr()[i]);
+			categoryGoods.setDispOrd(categoryGoods.getDispOrdArr()[i]);
+			displayService.updateCategoryGoodsDispOrdUpdown(categoryGoods);
+		}
+		return super.ok(message.getMessage("SUCC_0009"));
+	}
+
+	/**
+	 * 전시 상품 순서변경 저장
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 2. 19
+	 */
+	@PostMapping("/category/goods/dispord/update")
+	@ResponseBody
+	public GagaResponse updateCategoryGoodsDispOrd(@RequestBody CategoryGoods categoryGoods){
+		displayService.updateCategoryGoodsDispOrd(categoryGoods);
+		return super.ok(message.getMessage("SUCC_0009"));
+	}
 }

+ 7 - 0
src/main/java/com/style24/persistence/domain/CategoryGoods.java

@@ -49,11 +49,18 @@ public class CategoryGoods extends TscBaseDomain {
 	private String mode;
 	private String addCateNo;
 	private Integer cateCd;
+	private String changeGb;
 	List<CategoryGoods> goodsList;
 
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private String[] multiGoods;
 
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] goodsCdArr;
+
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private int[] dispOrdArr;
+
 	private String callBackFun;	// 콜백함수
 	private String imgPath1;
 	private String goodsAddYn;

+ 68 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaDsiplay.xml

@@ -1090,4 +1090,72 @@
 			<include refid="getListPagingCondition_sql"/>
 	</select>
 
+	<!-- 전시 상품 순서변경 전시초기화 -->
+	<insert id="updateCategoryGoodsDispOrdInit" parameterType="CategoryGoods">
+		/* TsaDisplay.updateCategoryGoodsDispOrdInit */
+		INSERT INTO TB_CATE_GOODS
+		(CATE_NO , GOODS_CD, DISP_ORD, REG_NO, REG_DT)
+		(
+			SELECT *
+			FROM 	(
+				SELECT	CATE_NO
+						 ,GOODS_CD
+						 ,@ROWNUM:=@ROWNUM+1 AS DISP_ORD
+						 ,REG_NO
+						 ,REG_DT
+				 FROM	TB_CATE_GOODS
+				WHERE	CATE_NO = #{cateNo}
+				  AND	(@ROWNUM:=0)=0
+				ORDER BY REG_DT
+			) B
+		)
+		ON DUPLICATE KEY UPDATE
+		DISP_ORD = B.DISP_ORD
+	</insert>
+
+	<!-- 전시 상품 순서변경 최상단/하단 이동 -->
+	<update id="updateCategoryGoodsDispOrdUpdown" parameterType="CategoryGoods">
+		/* TsaDisplay.updateCategoryGoodsDispOrdUpdown */
+		UPDATE TB_CATE_GOODS A
+		<if test="changeGb != null and changeGb =='up'">
+			SET A.DISP_ORD = DISP_ORD + 1
+		</if>
+		<if test="changeGb != null and changeGb =='down'">
+			SET A.DISP_ORD = DISP_ORD - 1
+		</if>
+		<if test="changeGb != null and changeGb =='min'">
+			SET A.DISP_ORD = (SELECT DISP_ORD FROM (SELECT MIN(DISP_ORD) AS DISP_ORD FROM TB_CATE_GOODS B WHERE CATE_NO = 1127) TMP)
+		</if>
+		<if test="changeGb != null and changeGb =='max'">
+			SET A.DISP_ORD = (SELECT DISP_ORD FROM (SELECT MAX(DISP_ORD) AS DISP_ORD FROM TB_CATE_GOODS B WHERE CATE_NO = 1127) TMP)
+		</if>
+		WHERE A.CATE_NO = #{cateNo}
+		<choose>
+			<when test="changeGb != null and changeGb =='up' or changeGb =='down'">
+				AND A.GOODS_CD != #{goodsCd}
+			</when>
+			<otherwise>
+				AND A.GOODS_CD = #{goodsCd}
+			</otherwise>
+		</choose>
+		<if test="changeGb != null and changeGb =='up'">
+			<![CDATA[
+		    AND A.DISP_ORD <= #{dispOrd}
+			]]>
+		</if>
+		<if test="changeGb != null and changeGb =='down'">
+			<![CDATA[
+		    AND A.DISP_ORD >= #{dispOrd}
+		    ]]>
+		</if>
+	</update>
+
+	<!-- 전시 상품 순서변경 저장 -->
+	<update id="updateCategoryGoodsDispOrd" parameterType="CategoryGoods">
+		/* TsaDisplay.updateCategoryGoodsDispOrd */
+		UPDATE	TB_CATE_GOODS
+			SET DISP_ORD = #{dispOrd}
+		WHERE	CATE_NO = #{cateNo}
+		AND 	GOODS_CD = #{goodsCd}
+	</update>
 </mapper>

+ 4 - 7
src/main/webapp/WEB-INF/views/display/CategoryGoodsForm.html

@@ -232,24 +232,21 @@
 	 * 순서변경 버튼 클릭 시
 	 */
 	$("#btnDispChange").bind('click', function(){
-		//console.log('selLvl>>>'+$('#searchForm input[name=selLvl]').val());
+		//console.log('cateCd>>>'+$('#searchForm input[name=cateCd]').val());
 		var params = 'siteCd=G000_10';
 		params += '&selLvl='+ $('#searchForm input[name=selLvl]').val();
-		params += '&cateGb=' + $('#searchForm select[name=addCateGb]').val();
+		params += '&cateGb=' + $('#searchForm select[name=cateGb]').val();
 		params += '&cate1No=' + $('#searchForm select[name=cate1No]').val();
 		params += '&cate2No=' + $('#searchForm select[name=cate2No]').val();
 		params += '&cate3No=' + $('#searchForm select[name=cate3No]').val();
 		params += '&cate4No=' + $('#searchForm select[name=cate4No]').val();
 		params += '&searchGb=' + $('#searchForm select[name=searchGb]').val();
+		params += '&cateCd=' + + $('#searchForm input[name=cateCd]').val();
 		params += '&goodsAddYn=Y';
 
-		cfnOpenGoodsDispOrdChangePopup('fnSaveCallback', params);
+		cfnOpenGoodsDispOrdChangePopup('', params);
 	});
 
-	var fnSaveCallback = function (){
-		console.log('yaaaaaaaaaaa');
-	}
-
 	/**
 	 * 상품조회 버튼 클릭시
 	 */

+ 141 - 10
src/main/webapp/WEB-INF/views/display/GoodsDispOrdChangePopupForm.html

@@ -25,6 +25,7 @@
 			<input type="hidden" id="cate3No" name="cate3No" th:value="${params.cate3No}"/>
 			<input type="hidden" id="cate4No" name="cate4No" th:value="${params.cate4No}"/>
 			<input type="hidden" id="searchGb" name="searchGb" value="BASIC"/>
+			<input type="hidden" id="cateCd" name="cateCd" th:value="${params.cateCd}"/>
 			<button type="button" class="btn btn-base btn-lg" id="btnSearch" style="display: none;">조회</button>
 			<div class="panelTitle">
 				<h2>상품 순서변경</h2>
@@ -35,9 +36,10 @@
 				<ul class="lrStyle">
 					<li class="aL"><font color="#1e90ff">* 상품은 왼쪽에서 오른쪽 순서대로 전시 됩니다.</font></li>
 					<li class="aR">
-						<button type="button" class="btn btn btn-info btn-sm">원 위치로</button>
-						<button type="button" class="btn btn btn-primary btn-sm">전시순서 초기화</button>
-						<button type="button" class="btn btn btn-dark btn-sm">저장</button>
+						<button type="button" class="btn btn-primary btn-lg leafCateBtn" id="btnPopupAddGoods">상품추가</button>
+						<button type="button" class="btn btn btn-info btn-sm" id="btnPopupReset">원 위치로</button>
+						<button type="button" class="btn btn btn-info btn-sm" id="btnPopupInit">전시순서 초기화</button>
+						<button type="button" class="btn btn btn-success btn-sm" id="btnPopupSave">저장</button>
 					</li>
 				</ul>
 				<!-- 상단 영역 END -->
@@ -77,18 +79,18 @@
 <script th:inline="javascript">
 	var params = [[${params}]];
 	var uploadGoodsUrl = "image.istyle24.com/Upload/ProductImage";//[[${@environment.getProperty('upload.goods.view')}]];
-	var resultParam = "";
 
 	$("#btnSearch").on('click', function(){
 		$("#goodsDispOrdChangeForm input[name=searchGb]").val("BASIC");
 		gagaPaging.load(1);
 	});
 
-	var fnSearchPopup = function (){
+	var fnSearchData = function (){
 		gagaPaging.init('goodsDispOrdChangeForm', fnSelectCallBack, 'goodsDispOrdChangePopupPagination', $('#goodsDispOrdChangeForm').find('#pageSize').val());
 		gagaPaging.load(1);
 	}
 
+	var firstOrd = '';
 	var fnSelectCallBack = function (result){
 		$('#goodsDispOrdChangeForm').find('#gridRowTotalCount').html(result.pageing.pageable.totalCount.addComma());
 		$('#goodsDispOrdChangeForm').find('#pageNo').val(result.pageing.pageable.pageNo.addComma());
@@ -98,15 +100,15 @@
 		if(typeof result.categoryGoodsList != 'undefined'){
 			resultList = result.categoryGoodsList;
 		}
-		console.log('[resultList length]'+resultList.length);
+
 		if(resultList.length > 0){
 			var html = '';
 			for(var i=0; i<resultList.length; i++){
 				if(i==0){
 					firstOrd = resultList[i].dispOrd;
 				}
-				html+='<ul class="item ui-state-default" style="min-height:194px; ';
-				if(resultList[i].goodsStat!="90" || resultList[i].currStockQty<1){
+				html+='<ul class="item ui-state-default" style="min-height:225px; ';
+				if(resultList[i].goodsStat!="G008_90" || resultList[i].currStockQty<1){
 					html += 'background:#f5f5f5;';
 				}
 				html += '">';
@@ -175,6 +177,135 @@
 		$(".sortableWrap .itemWrap").css("width", setW+"px");
 	}
 
+	/**
+	 * 원위치 버튼
+	 */
+	$("#btnPopupReset").on("click", function(){
+		fnSearchData();
+	});
+
+	/**
+	 * 상품추가 버튼
+	 */
+	$("#btnPopupAddGoods").on("click", function(){
+		cfnOpenGoodsPopup('fnPopupAddGoods');
+	});
+
+	var fnPopupAddGoods = function(result){
+		mcxDialog.confirm('적용하시겠습니까?', {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function(){
+				var multiGoods = [];
+				$.each(result, function(idx, item) {
+					multiGoods.push(item.goodsCd);
+				});
+
+				var data = {
+					mode : 'add'
+					,cateNo : $("#goodsDispOrdChangeForm input[name=cateCd]").val()
+					,multiGoods : multiGoods
+				}
+				var jsonData = JSON.stringify(data);
+				gagajf.ajaxJsonSubmit('/display/category/goods/save', jsonData, fnSearchPopup);
+				uifnPopupClose('popupGoods');
+			}
+		});
+	}
+
+	/**
+	 * 상품 삭제 버튼
+	 */
+	var fnPopupRemoveGoods = function (goodsCd){
+		mcxDialog.confirm('삭제하시겠습니까?', {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function(){
+				var data = {
+					mode : 'delete'
+					,cateNo : $("#goodsDispOrdChangeForm input[name=cateCd]").val()
+					,goodsCd : goodsCd
+				};
+
+				var jsonData = JSON.stringify(data);
+				gagajf.ajaxJsonSubmit('/display/goods/dispord/change/delete', jsonData, fnSearchPopup);
+			}
+		});
+	}
+
+	/**
+	 * 전시초기화 클릭
+	 */
+	$("#btnPopupInit").on("click", function (){
+		mcxDialog.confirm('전시순서가 상품 등록일 순서로 초기화 됩니다.\n초기화 하시겠습니까?', {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function(){
+				var data = {
+					cateNo : $("#goodsDispOrdChangeForm input[name=cateCd]").val()
+				};
+
+				var jsonData = JSON.stringify(data);
+				gagajf.ajaxJsonSubmit('/display/category/goods/dispord/init', jsonData, fnSearchPopup);
+			}
+		});
+	});
+
+	/**
+	 * 최상단/하단 이동 버튼
+	 */
+	var fnUpdownBtn = function (goodsCd, dispOrd, changeGb){
+		var msg = "최상단으로 이동시 바로 저장됩니다. 이동하시겠습니까?";
+		if(changeGb=='down'){
+			msg = "최하단으로 이동시 바로 저장됩니다. 이동하시겠습니까?";
+		}
+		mcxDialog.confirm(msg, {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function(){
+				var data = {
+					goodsCdArr : goodsCd
+					,dispOrdArr : dispOrd
+					,changeGb : changeGb
+					,cateNo : $("#goodsDispOrdChangeForm input[name=cateCd]").val()
+				}
+				var jsonData = JSON.stringify(data);
+				gagajf.ajaxJsonSubmit('/display/category/goods/dispord/updown', jsonData, fnSearchPopup);
+
+			}
+		});
+	}
+
+	$("#btnPopupSave").on("click", function(){
+		mcxDialog.confirm('저장하시겠습니까?', {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function(){
+				var dispOrdArr = [];
+				var goodsCdArr = [];
+				$(".item input[name=setDispOrd]").each(function(i){
+					if($(".item").eq(i).find("input[name=dispOrdEdit]").val()==''){
+						dispOrdArr.push($(this).val());
+					}else{
+						dispOrdArr.push($(".item").eq(i).find("input[name=dispOrdEdit]").val());
+					}
+				});
+				$(".item li[name=goodsCd]").each(function(i){
+					goodsCdArr.push($(this).find("span").eq(0).text());
+				});
+
+				var data = {
+					dispOrdArr : dispOrdArr
+					,goodsCdArr : goodsCdArr
+					,cateNo : $("#goodsDispOrdChangeForm input[name=cateCd]").val()
+				}
+
+				var jsonData = JSON.stringify(data);
+				gagajf.ajaxJsonSubmit('/display/category/goods/dispord/update', jsonData, fnSearchPopup);
+			}
+		});
+	});
+
 	$(document).ready(function() {
 		$("#sortable").sortable({
 			stop: function(event, ui) {
@@ -185,13 +316,13 @@
 					firstOrd = Number(firstOrd);
 				}
 				$(".item").each(function(i){
-					$(this).find("input[name=dispOrd]").val(i+firstOrd);
+					$(this).find("input[name=setDispOrd]").val(i+firstOrd);
 				});
 			}
 		});
 		$("#sortable").disableSelection();
 		//sortable Item List
-		fnSearchPopup();
+		fnSearchData();
 	});
 </script>
 </html>