Browse Source

Merge remote-tracking branch 'origin/develop' into jsh77b

tsit14 4 năm trước cách đây
mục cha
commit
f5f6f902a5

+ 26 - 3
src/main/java/com/style24/admin/biz/web/TsaShoplinkerController.java

@@ -1,12 +1,10 @@
 package com.style24.admin.biz.web;
 
 import java.io.File;
-import java.io.IOException;
 import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -145,6 +143,32 @@ public class TsaShoplinkerController extends TsaBaseController {
 		return result;
 	}
 
+	/**
+	 * 샵링커상품등록-상품등록엑셀업로드 수량체크
+	 *
+	 * @param paramMap
+	 * @return GagaMap
+	 * @throws Exception
+	 * @author jmh
+	 * @since 2021.5.20
+	 */
+	@PostMapping("/goods/send/excelupload/register/chk")
+	@ResponseBody
+	public GagaResponse shoplinkerGoodsRegisterChk(@RequestBody ShoplinkerGoods shoplinkerGoods) throws Exception {
+
+		String targetPath = GagaFileUtil.getConcatenationPath(env.getProperty("upload.excel.target.path"), "excel");
+		Collection<GagaMap> ecxelGoodsList = new ArrayList<>();
+		String[] goodsNames = {"goodsCd"};
+		ecxelGoodsList = GagaExcelUtil.getList(GagaFileUtil.getConcatenationPath(targetPath, shoplinkerGoods.getExcelFileNm()), 0, goodsNames, 0);
+
+		if (ecxelGoodsList != null && ecxelGoodsList.size() > EXCEL_ROW_COUNT) {
+			GagaFileUtil.deleteFile(GagaFileUtil.getConcatenationPath(targetPath, shoplinkerGoods.getExcelFileNm()));
+			throw new IllegalStateException("엑셀 파일의 건수를 " +EXCEL_ROW_COUNT + "건 이하로 사용하세요.");
+		}
+
+		return super.ok("");
+	}
+
 	/**
 	 * 샵링커상품등록-상품등록엑셀업로드
 	 *
@@ -208,7 +232,6 @@ log.info(" #### SHOPLINKER CHKE 1 - "+runMap.getRunCnt()+" | "+runMap.getSidOver
 				// 3. xml 데이터 생성
 				shoplinkerGoods.setCustomerId(env.getProperty("shoplinker.customer_id"));
 				shoplinkerGoods.setRegNo(TsaSession.getInfo().getUserNo());
-				log.info(" #### SHOPLINKER CHK2 ");
 				admShoplinkerService.createShoplinkerXml(ecxelGoodsList, shoplinkerGoods);
 
 				// 4. 파일 삭제

+ 6 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsaShoplinker.xml

@@ -662,6 +662,8 @@
 				TB_ORDER_DETAIL OD
 				LEFT OUTER JOIN SHOPLINKER_SYNC_HST SL ON OD.ORD_DTL_NO = SL.ORD_DTL_NO AND SL.API_TYPE = 'INVOICE'
 			WHERE OD.VENDOR_ID = 'G003_V001'
+			AND OD.INVOICE_NO IS NOT NULL
+			AND OD.DELV_STDT IS NOT NULL
 
 			<include refid="getSlkInvoiceCondition_sql"/>
 		) A
@@ -698,6 +700,8 @@
 				TB_ORDER_DETAIL OD
 				LEFT OUTER JOIN SHOPLINKER_SYNC_HST SL ON OD.ORD_DTL_NO = SL.ORD_DTL_NO AND SL.API_TYPE = 'INVOICE'
 			WHERE OD.VENDOR_ID = 'G003_V001'
+			AND OD.INVOICE_NO IS NOT NULL
+			AND OD.DELV_STDT IS NOT NULL
 
 			<include refid="getSlkInvoiceCondition_sql"/>
 
@@ -759,10 +763,10 @@
             </if>
 
 	        <if test='apiResult != null and apiResult != "" and apiResult != "default"'>
-	        AND SL.API_RESULT = #{apiResult}
+	        AND IFNULL(SL.API_RESULT, 'wait') = #{apiResult}
 	        </if>
 	        <if test='apiResult != null and apiResult == "default"'>
-	        AND SL.API_RESULT != 'true'
+	        AND IFNULL(SL.API_RESULT, 'wait') != 'true'
 	        </if>
 
 			<if test='conditionList != null and conditionList.length>0'>

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

@@ -87,7 +87,7 @@
 						</td>
 						<th>링크URL<em class="required" title="필수"></em></th>
 						<td>
-							<input type="text" class="w150" name="linkUrl" maxlength="20" required="required" data-valid-name="링크URL"/>
+							<input type="text" class="w150" name="linkUrl" maxlength="100" required="required" data-valid-name="링크URL"/>
 						</td>
 					</tr>
 					<tr>

+ 3 - 1
src/main/webapp/WEB-INF/views/marketing/CardPromotionPopupForm.html

@@ -104,7 +104,7 @@
 						</th>
 						<td><input type="text" class="w500" id="linkUrl" name="linkUrl"  maxlength="150" data-valid-name="연결URL"  th:value="${cardPrmt.linkUrl}"/></td>
 					</tr>
-					<tr>
+					<tr id="dcGb3Note" th:class="${(cardPrmtSq > 0 and cardPrmt.dcGb =='3')? 'on': 'off'}">
 						<th>유의사항</th>
 						<td  colspan="3">
 						<textarea class="textareaR2" name="note" id="note" th:field="${cardPrmt.note}"></textarea>
@@ -191,7 +191,9 @@
 			$("#cardPromotionForm input[name=dcVal]").val('');
 			$("#cardPromotionForm input[name=maxDcAmt]").val('');
 			$("#cardPromotionForm").find('#contionArea').removeClass('on').addClass('off');
+			$("#cardPromotionForm").find('#dcGb3Note').removeClass('off').addClass('oon');
 		}else{
+			$("#cardPromotionForm").find('#dcGb3Note').removeClass('on').addClass('off');
 			$("#cardPromotionForm").find('#contionArea').removeClass('off').addClass('on');
 		}
 	});

+ 10 - 6
src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerGoodsSendForm.html

@@ -97,7 +97,7 @@
 							<!-- <button th:if="${sessionInfo.userId == 'jmh'}" type="button" class="btn btn-default btn-lg" onclick="fnTest();">테스트</button> -->
 						</li>
 					</ul>
-					<p class="dot">엑셀업로드시 한번에 최대 500개까지 가능합니다. (적정량 250개 이하)</p>
+					<p class="dot">엑셀업로드시 한번에 최대 500개까지 가능합니다.</p>
 					<p class="dot">업로드 후 약 10분 이상 작업소요시간이 걸릴 수 있습니다.</p>
 				</div>
 			</div>
@@ -282,7 +282,7 @@
 		var searchFlag = false;
 		var cnt = 0;
 
-		if( !gagajf.isNull($("#searchForm input[name=goodsCd]").val())
+		if( !gagajf.isNull($("#searchForm textarea[name=condition]").val())
 				|| (!gagajf.isNull($("#searchForm input[name=stDate]").val()) && !gagajf.isNull($("#searchForm input[name=edDate]").val()))
 			){
 			searchFlag = true;
@@ -358,7 +358,7 @@
 
 	/**************** 엑셀업로드 ********************************************************/
 	$('#btnGoodsUpload').on('click', function() {
-		console.log(" excel click");
+
 		var jsonData = JSON.stringify({apiType : "GOODS"});
 		gagajf.ajaxJsonSubmit('/shoplinker/check/api_runable', jsonData, function(result) {
 
@@ -374,15 +374,19 @@
 
 	var shoplinkerUploadGoods = function(result){
 		var dateStr = new Date().format("YYYYMMDDHHmmss");
-
 		var actionUrl = "/shoplinker/goods/send/excelupload/register";
 		let params = {};
 		params.procJob = result.procJob;
 		params.excelFileNm = result.excelFileNm;
 		params.sid = dateStr;
 
-		console.log(" excel post:" +params.sid);
-		$.post(actionUrl, $.param(params));
+		// 수량체크 로직 추가(500개 초가사 알림창 표시위함)
+		var jsonData = JSON.stringify(params);
+		gagajf.ajaxJsonSubmit(actionUrl+'/chk', jsonData, function(result2) {
+
+			// post 전송
+			$.post(actionUrl, $.param(params));
+	 	});
 	}
 	/**************** 엑셀업로드 // *****************************************************/
 

+ 1 - 3
src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerInvoiceSendForm.html

@@ -219,9 +219,7 @@
 		var searchFlag = false;
 		var cnt = 0;
 
-		if( !gagajf.isNull($("#searchForm input[name=agentOrderId]").val())
-				|| !gagajf.isNull($("#searchForm input[name=extmallOrderId]").val())
-				|| !gagajf.isNull($("#searchForm input[name=ordNo]").val())
+		if( !gagajf.isNull($("#searchForm textarea[name=condition]").val())
 				|| (!gagajf.isNull($("#searchForm input[name=stDate]").val()) && !gagajf.isNull($("#searchForm input[name=edDate]").val()))
 			){
 			searchFlag = true;

+ 4 - 2
src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerOrderForm.html

@@ -29,7 +29,7 @@
 
 			<div class="panelStyle">
 				<div class="panelTitle">
-					<h3><i class="fa fa-info-circle"></i>[배치주기] 평일: 5시~15시 한시간 단위 | (월) 5시: 전주 금요일 15 ~ 금일 5시 / (화~금) 5시: 전날 15 ~ 금일 5시 -v2</h3>
+					<h3><i class="fa fa-info-circle"></i>[배치주기] 평일: 5시~15시 한시간 단위 | (월) 5시: 전주 금요일 15 ~ 금일 5시 / (화~금) 5시: 전날 15 ~ 금일 5시 -v3</h3>
 					<span class="panelControl">
 						<i class="fa fa-chevron-up"></i>
 					</span>
@@ -319,7 +319,9 @@
 
 		var searchFlag = false;
 		var cnt = 0;
-		if((!gagajf.isNull($("#searchForm input[name=stDate]").val()) && !gagajf.isNull($("#searchForm input[name=edDate]").val()))){
+		if( !gagajf.isNull($("#searchForm textarea[name=condition]").val())
+				|| (!gagajf.isNull($("#searchForm input[name=stDate]").val()) && !gagajf.isNull($("#searchForm input[name=edDate]").val()))
+			){
 			searchFlag = true;
 		}
 

+ 1 - 3
src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerStockForm.html

@@ -211,9 +211,7 @@
 		var searchFlag = false;
 		var cnt = 0;
 
-		if( !gagajf.isNull($("#searchForm input[name=agentOrderId]").val())
-				|| !gagajf.isNull($("#searchForm input[name=extmallOrderId]").val())
-				|| !gagajf.isNull($("#searchForm input[name=ordNo]").val())
+		if( !gagajf.isNull($("#searchForm textarea[name=condition]").val())
 				|| (!gagajf.isNull($("#searchForm input[name=stDate]").val()) && !gagajf.isNull($("#searchForm input[name=edDate]").val()))
 			){
 			searchFlag = true;

+ 16 - 24
src/main/webapp/WEB-INF/views/withdraw/WithdrawExceptionListForm.html

@@ -491,7 +491,7 @@
 					}
 
 					
-				} else if (event.data.reasonCode == '02') { // 미착 
+				} else if (event.data.reasonCode == '02' || event.data.reasonCode == '03') { // 미착 , 과착 
 					param += "&ordNo=" 			+ event.data.orderNo;
 					param += "&ordDtlNo=" 		+ event.data.orderDtlNo;
 					param += "&ordChgSq=" 		+ event.data.ordChgSq;
@@ -509,35 +509,27 @@
 						
 						cfnOpenModalPopup(actionUrl, 'popupExchangeRequestForm');
 					}
-				} else if(event.data.reasonCode == '03' ){ // 과착 
+				} else if(event.data.reasonCode == '04'){ // 배송비 미동봉
+					actionUrl = "/withdraw/exception/change/form?ordChgSq=" + event.data.ordChgSq + '&chgGb=' + event.data.chgGb;
+					cfnOpenModalPopup(actionUrl, 'popupWithdrawChangeForm');
+				} else if(event.data.reasonCode == '05'){ // 다른상품 반품 
+					param += "&ordNo=" 			+ event.data.orderNo;
+					param += "&ordDtlNo=" 		+ event.data.orderDtlNo;
+					param += "&ordChgSq=" 		+ event.data.ordChgSq;
+					param += "&delvFeeCd="		+ event.data.delvFeeCd;
+					param += "&delvFeeCdGrp="	+ "WMS";
+					
 					if (event.data.chgGb == 'G680_30') { // 반품요청
+						param += "&ordChgGb=G681_30";    // 반품TO반품
+						actionUrl = "/orderChange/rtn/req/form?" + param;
 
-						var param 		= "";
-						param += "&ordNo=" 			+ event.data.orderNo;
-						param += "&ordDtlNo=" 		+ event.data.orderDtlNo;
-						param += "&delvFeeCd="		+ event.data.delvFeeCd;
-						param += "&delvFeeCdGrp="	+ "WMS";
-						
-						param += "&ordChgSq=" 		+ event.data.ordChgSq;
-						var actionUrl = "/orderChange/rtn/req/form?" + param;
 						cfnOpenModalPopup(actionUrl, 'popupReturnRequestForm');
-					
 					} else if (event.data.chgGb == 'G680_40') { // 교환요청
+						param += "&ordChgGb=G681_20";           // 교환TO교환
+						actionUrl = "/orderChange/exchange/request/form?" + param;
 						
-						var param 		= "";
-						param += "&ordNo=" 			+ event.data.orderNo;
-						param += "&ordDtlNo=" 		+ event.data.orderDtlNo;
-						param += "&delvFeeCd="		+ event.data.delvFeeCd;
-						param += "&delvFeeCdGrp="	+ "WMS";
-						param += "&ordChgSq=" 		+ event.data.ordChgSq;
-						
-						var actionUrl = "/orderChange/exchange/request/form?" + param;
 						cfnOpenModalPopup(actionUrl, 'popupExchangeRequestForm');
-					}
-				} else if(event.data.reasonCode == '04'){ // 배송비 미동봉
-					actionUrl = "/withdraw/exception/change/form?ordChgSq=" + event.data.ordChgSq + '&chgGb=' + event.data.chgGb;
-					cfnOpenModalPopup(actionUrl, 'popupWithdrawChangeForm');
-				} else if(event.data.reasonCode == '05'){ // 다른상품 반품 
+					}					
 					
 				} else if(event.data.reasonCode == '06'){ // 배송비 일부동봉