Forráskód Böngészése

Merge branch 'develop' into jmh_shoplinker

jmh 4 éve
szülő
commit
b8d92a6637

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

@@ -617,6 +617,16 @@ public interface TsaGoodsDao {
 	 * @since 2020. 11. 12
 	 */
 	void deleteGoodResSell(GoodsResSell goodsResSell);
+	
+	/**
+	 * 상품예약판매 출고예정일 수정
+	 *
+	 * @param goodsResSell
+	 * @return void
+	 * @author jmh
+	 * @since 2021. 08. 11
+	 */
+	void updateGoodResSellDelvResDt(GoodsResSell goodsResSell);
 
 	/**
 	 * 네이버 EP 제외 상품 목록 건수

+ 19 - 2
src/main/java/com/style24/admin/biz/service/TsaGoodsService.java

@@ -20,6 +20,7 @@ import com.style24.admin.support.security.session.TsaSession;
 import com.style24.core.biz.service.TscCommonService;
 import com.style24.core.biz.thirdparty.NaverLowestPriceApi;
 import com.style24.core.biz.thirdparty.SafetyKoreaApi;
+import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.persistence.domain.AdKeyword;
 import com.style24.persistence.domain.AdKeywordGoods;
@@ -1917,6 +1918,22 @@ public class TsaGoodsService {
 		}
 	}
 
+	/**
+	 * 상품예약판매 출고예정일수정
+	 *
+	 * @param goodsResSell
+	 * @return void
+	 * @author jmh
+	 * @since 2021. 08. 11
+	 */
+	@Transactional("shopTxnManager")
+	public void changeGoodsResSellDelvResDt(Collection<GoodsResSell> goodsResSellList) {
+		for (GoodsResSell item : goodsResSellList) {
+			item.setUpdNo(TsaSession.getInfo().getUserNo());
+			goodsDao.updateGoodResSellDelvResDt(item);
+		}
+	}
+
 	/**
 	 * 상품 상세공지 목록
 	 *
@@ -2703,7 +2720,7 @@ public class TsaGoodsService {
 				goodsImg.setRegNo(TsaSession.getInfo().getUserNo());
 				goodsDao.createGoodsImage(goodsImg);
 			}
-			
+
 			// "정보부족"인 상태의 상품 중 기본이미지가 생성될 경우 승인대기상태로 변경
 			if (goodsImg.getMode().equals("C") && goodsImg.getDefaultImgYn().equals("Y")) {
 				goods = new Goods();
@@ -3945,7 +3962,7 @@ public class TsaGoodsService {
 		goods.setDistributionGb(distributionGb);
 
 		//출고처 코드
-		goods.setDelvLocCd("DL001"); // 자사상품 출고처 코드 고정		
+		goods.setDelvLocCd(TscConstants.WMS_DELV_LOC_CD); // 자사상품 출고처 코드 고정
 
 		// 기본정보 생성
 		goodsDao.createGoods(goods); // 상품기본 저장

+ 16 - 1
src/main/java/com/style24/admin/biz/web/TsaGoodsController.java

@@ -1092,7 +1092,7 @@ public class TsaGoodsController extends TsaBaseController {
 		} else { // 대표이미지와 마우스오버이미지가 없으면
 			mav.addObject("goodsImgList", new ArrayList<GoodsImg>());
 			mav.addObject("defaultImgOrd", "1");
-			mav.addObject("mouseoverImgOrd", "1");
+			mav.addObject("mouseoverImgOrd", "2");
 		}
 
 		GoodsImg goodsModelInfo = goodsService.getGoodsModelInfo(goodsImg);
@@ -2217,6 +2217,21 @@ public class TsaGoodsController extends TsaBaseController {
 		goodsService.deleteGoodsResSell(goodsResSell);
 		return super.ok(message.getMessage("SUCC_0003"));
 	}
+	
+	/**
+	 * 상품예약판매 출고예정일변경
+	 *
+	 * @param goodsResSell
+	 * @return GagaResponse
+	 * @author jmh
+	 * @since 2021. 08. 11
+	 */
+	@PostMapping("/reserve/sell/change")
+	@ResponseBody
+	public GagaResponse changeGoodsResSellDelvResDt(@RequestBody Collection<GoodsResSell> goodsResSellList) {
+		goodsService.changeGoodsResSellDelvResDt(goodsResSellList);
+		return super.ok(message.getMessage("SUCC_0002"));
+	}
 
 	/**
 	 * 상품 상세공지 화면

+ 7 - 7
src/main/java/com/style24/admin/biz/web/TsaOrderChangeController.java

@@ -593,7 +593,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 			String pgGb = refundPreInfo.getString("pgGb");
 			if(TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb)) {
 				// 네이버페이 주문형 알림톡, 메일 송부 X
-				return super.ok("성공");
+				return super.ok(message.getMessage("RETURN_0001"));
 			}
 
 			// 반품 알림톡 관련 정보 조회
@@ -621,7 +621,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 			}
 		}
 		
-		return super.ok("성공");
+		return super.ok(message.getMessage("RETURN_0001"));
 	}
 	
 	/**
@@ -649,7 +649,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 		// 2.취소요청철회 
 		mav = coreOrderChangeService.rtnReqCancel(mav, userNo);
 		
-		return super.ok("성공");
+		return super.ok(message.getMessage("SUCC_0004"));
 	}
 	
 	/**
@@ -933,7 +933,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 
 		// 처리 결과 코드에 따른 메세지 설정
 		if (result.get("status").equals(GagaResponseStatus.SUCCESS.getCode())) {
-			result.set("message", message.getMessage("SUCC_0004"));
+			result.set("message", message.getMessage("EXCHANGE_0001"));
 		} else {
 			result.set("message", message.getMessage("FAIL_0004"));
 		}
@@ -1001,7 +1001,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 
 		orderChangeService.returnToExchange(orderChange);
 
-		return super.ok();
+		return super.ok(message.getMessage("SUCC_0004"));
 	}
 
 	/**
@@ -1023,7 +1023,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 
 		orderChangeService.returnToReturn(orderChange);
 
-		return super.ok();
+		return super.ok(message.getMessage("SUCC_0004")); 
 	}
 
 	/**
@@ -1045,7 +1045,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 
 		orderChangeService.exchangeToExchange(orderChange);
 
-		return super.ok();
+		return super.ok(message.getMessage("SUCC_0004"));
 	}
 
 	/**

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

@@ -469,6 +469,7 @@
 		            WHEN LEAF_CATE_NO = CATE1_NO THEN 1
 		       END                             AS CLS_LVL     /*분류레벨*/
 		     , REPLACE(FULL_CATE_NO,' > ','/') AS TREE_PATH   /*AG-GRID트리패스(ag-Grid미사용시 필요 없음)*/
+		     , (SELECT LEAF_YN FROM TB_CATE2 C2 WHERE C2.CATE2_NO = C4.CATE2_NO AND C2.CATE2_NO = C4.LEAF_CATE_NO) AS LEAF_YN /*카테고리2 LEAF_YN 여부*/
 		FROM   TB_CATE_4SRCH C4
 		WHERE  CATE_GB = #{cateGb}
 		AND    CATE_TYPE = 'G031_10' /*상품분류카테고리*/

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

@@ -2308,7 +2308,7 @@
 		                   , G.GOODS_STAT
 		                   , GR.GOODS_RES_SELL_SQ
 		                   , GR.USE_YN
-		                   , DATE_FORMAT(GR.DELV_RES_DT,'%Y%m%d%H%i%S') AS DELV_RES_DT
+		                   , DATE_FORMAT(GR.DELV_RES_DT,'%Y-%m-%d') AS DELV_RES_DT
 		                   , GR.REG_NO
 		                   , FN_GET_USER_NM(GR.REG_NO) AS REG_NM
 		                   , DATE_FORMAT(GR.REG_DT,'%Y%m%d%H%i%S') AS REG_DT
@@ -2414,6 +2414,17 @@
 		WHERE GOODS_RES_SELL_SQ = #{goodsResSellSq}
 	</delete>
 	
+	<!-- 상품예약판매 출고예정일 수정 -->
+	<update id="updateGoodResSellDelvResDt" parameterType="GoodsResSell">
+		/* TsaGoods.updateGoodResSellDelvResDt */
+		UPDATE TB_GOODS_RES_SELL
+		SET DELV_RES_DT = STR_TO_DATE(#{delvResDt},'%Y-%m-%d')
+			, UPD_NO = #{updNo}
+			, UPD_DT = NOW() 
+		WHERE GOODS_RES_SELL_SQ = #{goodsResSellSq}
+		AND  DATE(NOW()) <![CDATA[<]]> STR_TO_DATE(#{delvResDt},'%Y-%m-%d')
+	</update>
+	
 	<!-- 네이버 EP 제외 상품 목록 건수 -->
 	<select id="getGoodsEpSkipCount" parameterType="GoodsSearch" resultType="int">
 		/* TsaGoods.getGoodsEpSkipCount */
@@ -5053,11 +5064,11 @@
 		FROM TB_GOODS B 
 		INNER JOIN TB_STOCK_SYNC_BASE C ON B.BRAND_CD = C.BRAND_CD
 		                                AND C.STOCK_SYNC_YN = 'Y'
-		                                AND C.DELV_LOC_CD = 'DL001'    -- WMS 매장코드
+		                                AND C.DELV_LOC_CD = 'ST0001'    -- WMS 매장코드
 		INNER JOIN TB_DELIVERY_LOC D ON B.SUPPLY_COMP_CD = D.SUPPLY_COMP_CD
 		                             AND C.DELV_LOC_CD = D.DELV_LOC_CD
 		                             AND D.USE_YN = 'Y'
-		                             AND D.DELV_LOC_CD = 'DL001'    -- WMS 매장코드
+		                             AND D.DELV_LOC_CD = 'ST0001'    -- WMS 매장코드
 		INNER JOIN TB_WMS_COLOR_MAPPING F ON B.SUPPLY_COMP_CD = F.SUPPLY_COMP_CD
 		                                  AND #{wmsColorCd} = F.WMS_COLOR_CD
 		                                  AND F.USE_YN ='Y' 

+ 1 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaPg.xml

@@ -179,6 +179,7 @@
 		  FROM TB_GOODS G
 		 INNER JOIN TB_DELV_FEE_POLICY DFP
 		    ON G.DELV_FEE_CD = DFP.DELV_FEE_CD
+		   AND G.SUPPLY_COMP_CD = DFP.SUPPLY_COMP_CD
 		 WHERE G.GOODS_CD = #{goodsCd}
 		   AND NOT EXISTS(SELECT 1
 							FROM TB_DELIVERY_FEE

+ 1 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaWithdraw.xml

@@ -638,6 +638,7 @@
 		  JOIN TB_ORDER_DETAIL_ITEM   C ON OD.ORD_DTL_NO  = C.ORD_DTL_NO  
 		  JOIN TB_ORDER_RECALL_EXCEPTION_ITEM D ON C.ORD_DTL_NO = D.ORDER_DTL_NO 
 		  JOIN TB_DELV_FEE_POLICY     P ON OD.DELV_FEE_CD = P.DELV_FEE_CD 
+		                                  AND OD.SUPPLY_COMP_CD = P.SUPPLY_COMP_CD 
 		 WHERE A.ORD_CHG_SQ = #{ordChgSq}
 	</select>
 	

+ 1 - 1
src/main/webapp/WEB-INF/views/common/fragments/footer.html

@@ -45,7 +45,7 @@ let cfnGetDaumRoadAddr = function(data) {
 	}
 
 	// 건물명이 있고, 공동주택일 경우 추가한다.
-	if (data.buildingName !== '' && data.apartment === 'Y') {
+	if (data.buildingName !== '') {
 		extraRoadAddr += (extraRoadAddr !== '' ? ', ' + data.buildingName : data.buildingName);
 	}
 	

+ 2 - 2
src/main/webapp/WEB-INF/views/common/fragments/gnb.html

@@ -39,7 +39,7 @@
 		<!-- 사용자,권한,로그아웃-->
 		<div class="header-info">
 			<i class="heart">&#10084;</i>
-			<a><strong th:text="${sessionInfo.userNm}">홍길동</strong></a>
+			<a><strong th:text="${sessionInfo.userNm + ' (' + sessionInfo.userId + ')'}">홍길동</strong></a>
 			<i class="dot">&bull;</i>
 			<a th:text="${sessionInfo.roleNm}">Director</a>
 			<i class="dot">&bull;</i>
@@ -53,7 +53,7 @@
 		<div class="header-info-sm">
 			<a class="tooltip">
 				<i class="fa fa-user"></i>
-				<span class="tooltiptext" th:text="${sessionInfo.userNm + '(' + sessionInfo.roleNm + ')'}">홍길동 (Director)</span>
+				<span class="tooltiptext" th:text="${sessionInfo.userNm + ' (' + sessionInfo.userId + ') / ' + sessionInfo.roleNm}">홍길동 (Director)</span>
 			</a>
 			<a href="#" th:href="@{/logout}" class="tooltip">
 				<i class="fa fa-chain-broken"></i>

+ 5 - 1
src/main/webapp/WEB-INF/views/display/ItemkindCategoryForm.html

@@ -209,8 +209,12 @@
 		var applyData = [];
 		
 		selectedData.forEach(function(item) {
-			if (item.clsLvl >= 3) {
+			if (item.clsLvl == 2 && item.leafYn == "Y" ) {
 				applyData.push(item);
+			}else{
+				if (item.clsLvl >= 3) {
+					applyData.push(item);
+				}
 			}
 		});
 		//2021-06-28 체크박스 해제 로직 추가

+ 4 - 1
src/main/webapp/WEB-INF/views/goods/GoodsDealForm.html

@@ -81,7 +81,7 @@
 						<th>원산지<em class="required" title="필수"></em></th>
 						<td ><select name="originCd" id="originCd">
 								<option value="">[전체]</option>
-								<option th:if="${makOriginList}" th:each="oneData, status : ${makOriginList}" 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:selected="${oneData.cd == 'G076_021'}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 						</td>
 						<td colspan="2"></td>
@@ -232,6 +232,9 @@
 	
 	$(document).ready(function() {
 		gagaAgGrid.createGrid('gridGoodsDealList', gridGoodsDealOptions);
+		
+		// 기본값 설정
+		$("#makeYmd").val(_today.replaceAll("-", ""));
 
 	});
 	

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 155 - 152
src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html


+ 9 - 2
src/main/webapp/WEB-INF/views/goods/GoodsListForm.html

@@ -103,10 +103,15 @@
 						<th>상품상태</th>
 						<td>
 							<div class="multiCheckBox"  style="width:200px">
-								<button type="button" class="sltBtn" data-name="[전체]">[전체]</button>
+								<button type="button" class="sltBtn btGoodsStat" data-name="[전체]">[G008_90] 승인완료</button>
 								<ul style="overflow:auto; height:170px" id="grpGoodsStat">
 									<li><label class="chkBox" onclick="uifnAllCheck(this,'grpGoodsStat')"><input type="checkbox" name="전체선택" >전체선택</label></li>
-									<li th:if="${goodsStatList}" th:each="oneData, status : ${goodsStatList}"><label class="chkBox" data-group="grpGoodsStat"><input type="checkbox" name="multiGoodsStat" th:id="${'goodsStat' + oneData.cd}" th:value="${oneData.cd}" ><th:block th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></th:block></label></li>
+									<li th:if="${goodsStatList}" th:each="oneData, status : ${goodsStatList}">
+										<label class="chkBox" data-group="grpGoodsStat">
+											<input type="checkbox" name="multiGoodsStat" th:id="${'goodsStat' + oneData.cd}" th:value="${oneData.cd}" th:attr="checked=${oneData.cd == 'G008_90'}">
+											<th:block th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></th:block>
+										</label>
+									</li>
 								</ul>
 							</div>
 						</td>
@@ -560,6 +565,8 @@
 			$(this).find(".sltBtn").text(btnNm);
 		});
 		
+		// 상품상태
+		$(".btGoodsStat").text("[G008_90] 승인완료");
 	});
 
 	// 조회클릭시

+ 53 - 3
src/main/webapp/WEB-INF/views/goods/GoodsReserveSellForm.html

@@ -83,6 +83,7 @@
 					<button type="button" class="btn btn-base btn-lg" id="btnGoodsExcelUpLoad">엑셀조회</button>
 					<button type="button" class="btn btn-success  btn-lg" id="btnGoodsResSellSave">예약판매등록</button>
 					<button type="button" class="btn btn-danger btn-lg" id="btnGoodsResSellDelete">예약판매삭제</button>
+					<button type="button" class="btn btn-success  btn-lg" id="btnGoodsResSellChange">출고예정일변경</button>
 				</li>
 				<li class="right">
 					검색결과 : <strong><span id="gridRowTotalCount">0</span> 건</strong>&nbsp;
@@ -135,9 +136,15 @@
 			valueParser: function (params) { return gagaAgGrid.lookupKey(goodsStatList, params.newValue); }
 		},
 		{headerName: "출고예정일", field: "delvResDt", width: 150, cellClass: 'text-center',
-			cellRenderer: function(params) {
-				return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmmss").format("YYYY-MM-DD") : '';
-			}
+			editable: function(params) {
+				if( _today.replaceAll("-", "") < params.data.delvResDt.replaceAll("-", "")){
+					return true;
+				}else{
+					return false
+				}
+			},
+			cellEditor: 'datePicker',
+			cellEditorParams: { maxlength: 10, required: true }
 		},
 /*		{headerName: "사용여부", field: "useYn", width: 140, cellClass: 'text-center'},*/
 		{headerName: "등록일시", field: "regDt", width: 150, cellClass: 'text-center',
@@ -160,6 +167,8 @@
 	// 중복 선택 가능
 	gridOptions.rowSelection = 'multiple';
 	gridOptions.suppressRowClickSelection = true;
+	gridOptions.stopEditingWhenGridLosesFocus = true;
+	//gridOptions.defaultColDef.editable = true;
 	//gridOptions.rowHeight = 60; //이미지가 있을경우 높이 지정해야함.
 
 	// Row Click
@@ -381,6 +390,47 @@
 		
 	});
 	
+	//출고예정일변경
+	$('#btnGoodsResSellChange').click(function(e) {
+		//상품선택여부 확인처리 추가
+		var selectedData = gridOptions.api.getSelectedRows();
+
+		if (selectedData.length == 0) {
+			mcxDialog.alert('선택된 행이 없습니다.');
+			return false;
+		}
+		
+		var arrGoods = [];
+		var chkFlag = false;
+		$.each(selectedData, function(idx, item) {
+			
+			if( item.delvResDt == _today){
+				chkFlag = true;
+				mcxDialog.alertC("당일로는 변경할 수 없습니다.", {
+					sureBtnText: "확인",
+					sureBtnClick: function(){
+						//$('#goodsResSellForm input[name=applyEdYMD]').focus();
+					}
+				});
+				return false;
+			}
+			arrGoods.push(item);
+		});
+
+		if (chkFlag){
+			return;
+		}
+		mcxDialog.confirm('촐고예정일을 변경하시겠습니까?', {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function(){
+				var jsonData = JSON.stringify(arrGoods);
+				gagajf.ajaxJsonSubmit('/goods/reserve/sell/change', jsonData, fnGoodsResSellDeleteCallBack);
+			}
+		});
+		
+	});
+	
 	var fnGoodsResSellDeleteCallBack = function(){
 		fnGoodsResSellRegistListSearch($("#goodsResSellListForm input[name=searchGb]").val());
 	}

+ 2 - 1
src/main/webapp/WEB-INF/views/marketing/ReviewDetailForm.html

@@ -92,7 +92,8 @@
 						
 						<dl class="rvTxt">
 							<dt>구매후기</dt>
-							<dd th:utext="*{reviewContent}"></dd>
+							<dd th:utext="*{#strings.replace(reviewContent, T(System).getProperty('line.separator'), '&lt;br /&gt;')}"></dd>
+							<!-- <dd th:utext="*{reviewContent}"></dd> -->
 						</dl>
 						<!-- //리뷰 파일 -->
 						

+ 1 - 1
src/main/webapp/WEB-INF/views/order/ExchangeRequestForm.html

@@ -883,7 +883,7 @@ var fnExchange = function () {
 	}
 
 	mcxDialog.confirm('교환요청하시겠습니까?', {
-		cancelBtnText		: "반품",
+		cancelBtnText		: "취소",
 		sureBtnClick		: function(){
 			// 교환 실행
 			gagajf.ajaxJsonSubmit(

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott