Explorar o código

Merge branch 'develop' into bin2107

bin2107 %!s(int64=4) %!d(string=hai) anos
pai
achega
c1d69d4567

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

@@ -165,7 +165,7 @@ public class TsaGoodsService {
 		for (Itemkind itemkind : itemkindList) {
 			itemkind.setRegNo(TsaSession.getInfo().getUserNo());
 			itemkind.setUpdNo(TsaSession.getInfo().getUserNo());
-			itemkind.setItemkindNm(GagaStringUtil.replace(GagaStringUtil.replace(itemkind.getItemkindNm(), "&lt;", "<"), "&gt;", ">"));
+//			itemkind.setItemkindNm(GagaStringUtil.replace(GagaStringUtil.replace(itemkind.getItemkindNm(), "&lt;", "<"), "&gt;", ">"));
 			//itemkind.setItemkindEnm(GagaStringUtil.replace(GagaStringUtil.replace(itemkind.getItemkindEnm(), "&lt;", "<"),"&gt;", ">"));
 			goodsDao.saveItemkindInfo(itemkind);
 		}
@@ -257,7 +257,7 @@ public class TsaGoodsService {
 
 		for (NotiInfo notiInfo : notiInfoList) {
 			if (!StringUtils.isBlank(notiInfo.getNiContent())) {
-				notiInfo.setNiContent(GagaStringUtil.replace(GagaStringUtil.replace(notiInfo.getNiContent(), "&lt;", "<"), "&gt;", ">"));
+//				notiInfo.setNiContent(GagaStringUtil.replace(GagaStringUtil.replace(notiInfo.getNiContent(), "&lt;", "<"), "&gt;", ">"));
 			}
 			notiInfo.setRegNo(TsaSession.getInfo().getUserNo());
 			notiInfo.setUpdNo(TsaSession.getInfo().getUserNo());
@@ -1351,7 +1351,7 @@ public class TsaGoodsService {
 				if (index == 0) {
 					goodsDao.deleteGoodsNotiInfo(goods);
 				}
-				goodsNotiInfo.setNiContent(GagaStringUtil.replace(GagaStringUtil.replace(goodsNotiInfo.getNiContent(), "&lt;", "<"), "&gt;", ">"));
+//				goodsNotiInfo.setNiContent(GagaStringUtil.replace(GagaStringUtil.replace(goodsNotiInfo.getNiContent(), "&lt;", "<"), "&gt;", ">"));
 				goodsNotiInfo.setRegNo(goods.getRegNo());
 				goodsNotiInfo.setUpdNo(goods.getUpdNo());
 				goodsDao.saveGoodsNotiInfo(goodsNotiInfo);
@@ -1384,7 +1384,7 @@ public class TsaGoodsService {
 		regGoods.setSupplyCompCd(goods.getSupplyCompCd());
 		regGoods.setBrandCd(goods.getBrandCd());
 		regGoods.setItemkindCd(goods.getItemkindCd());
-		regGoods.setGoodsNm(GagaStringUtil.replace(GagaStringUtil.replace(goods.getGoodsNm(), "&lt;", "<"), "&gt;", ">"));
+//		regGoods.setGoodsNm(GagaStringUtil.replace(GagaStringUtil.replace(goods.getGoodsNm(), "&lt;", "<"), "&gt;", ">"));
 		regGoods.setStyleYear(goods.getStyleYear());
 		regGoods.setSeasonCd(goods.getSeasonCd());
 		regGoods.setSexGb(goods.getSexGb());
@@ -1465,7 +1465,7 @@ public class TsaGoodsService {
 		regGoods.setSupplyCompCd(goods.getSupplyCompCd());
 		regGoods.setBrandCd(goods.getBrandCd());
 		regGoods.setItemkindCd(goods.getItemkindCd());
-		regGoods.setGoodsNm(GagaStringUtil.replace(GagaStringUtil.replace(goods.getGoodsNm(), "&lt;", "<"), "&gt;", ">"));
+//		regGoods.setGoodsNm(GagaStringUtil.replace(GagaStringUtil.replace(goods.getGoodsNm(), "&lt;", "<"), "&gt;", ">"));
 		regGoods.setStyleYear(goods.getStyleYear());
 		regGoods.setSeasonCd(goods.getSeasonCd());
 		regGoods.setSexGb(goods.getSexGb());
@@ -1683,7 +1683,7 @@ public class TsaGoodsService {
 			throw new IllegalStateException(message.getMessage("FAIL_1001"));
 		}
 
-		goodsTnmRes.setGoodsTnm(GagaStringUtil.replace(GagaStringUtil.replace(goodsTnmRes.getGoodsTnm(), "&lt;", "<"), "&gt;", ">"));
+//		goodsTnmRes.setGoodsTnm(GagaStringUtil.replace(GagaStringUtil.replace(goodsTnmRes.getGoodsTnm(), "&lt;", "<"), "&gt;", ">"));
 
 		for (String goodsCd : goodsTnmRes.getArrGoodsCd()) {
 

+ 0 - 1
src/main/java/com/style24/admin/biz/service/TsaShoplinkerService.java

@@ -66,7 +66,6 @@ public class TsaShoplinkerService {
 		// 파일명 추가 네이밍 규칙
 		fileAddNm = shoplinkerGoods.getRegNo() +"_"+ GagaDateUtil.getToday("yyMMddHHmmss");
 
-		log.info(" #### SHOPLINKER CHK3 - "+ecxelGoodsList.size());
 		for (GagaMap gagaMap : ecxelGoodsList) {
 			if( !"".equals(gagaMap.getString("goodsCd").trim())) {
 				shoplinkerGoods.setGoodsCd(gagaMap.getString("goodsCd"));

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

@@ -156,7 +156,7 @@ public class TsaShoplinkerController extends TsaBaseController {
 	 */
 	@PostMapping("/goods/send/excelupload/register")
 	@ResponseBody
-	public void shoplinkerGoodsRegister(@RequestParam HashMap<String, String> paramMap) throws IOException {
+	public void shoplinkerGoodsRegister(@RequestParam HashMap<String, String> paramMap) throws Exception {
 
 		ShoplinkerGoods shoplinkerGoods = new ShoplinkerGoods();
 		shoplinkerGoods.setExcelFileNm(paramMap.get("excelFileNm"));
@@ -169,14 +169,14 @@ public class TsaShoplinkerController extends TsaBaseController {
 		// API 호출 중인건수 있는지 확인
 		ShoplinkerSearch slkSearch = new ShoplinkerSearch();
 		slkSearch.setApiType("GOODS");
-		ShoplinkerSearch runMap = tscShoplinkerService.getCallRunableInfo(slkSearch);
+		slkSearch.setSid(paramMap.get("sid"));
+		slkSearch.setRegNo(TsaSession.getInfo().getUserNo());
+		ShoplinkerSearch runMap = tscShoplinkerService.getCallRunableInfoGoods(slkSearch);
 
-log.info(" #### SHOPLINKER CHK1 - "+runMap.getRunCnt() +" || "+GagaDateUtil.getTodayDateTime());
-		if( runMap.getRunCnt() < 1 ) {
+log.info(" #### SHOPLINKER CHKE 1 - "+runMap.getRunCnt()+" | "+runMap.getSidOverlapCnt() +" | "+paramMap.get("sid"));
+		if( runMap.getRunCnt() < 1 && runMap.getSidOverlapCnt() < 1 ) {
 			try {
 				// 1. API 호출 이력 저장 시작(실행중 재호출 금지하기 위함)
-				slkSearch.setSid(GagaDateUtil.getTodayDateTime());
-				slkSearch.setRegNo(TsaSession.getInfo().getUserNo());
 				tscShoplinkerService.saveCallApiRunable(slkSearch);
 
 				// 2. 엑셀데이터 확인 및 xml 관련 위치 확인
@@ -450,12 +450,12 @@ log.info(" #### SHOPLINKER CHK1 - "+runMap.getRunCnt() +" || "+GagaDateUtil.getT
 	 * 주문수집관리-주문수집 api 호출
 	 * @param apiStDate
 	 * @author jmh
-	 * @throws IOException
+	 * @throws Exception
 	 * @since 2021. 5. 20
 	 */
 	@PostMapping("/order/collection/receiveList/{apiStDate}")
 	@ResponseBody
-	public void orderReceiveList(@PathVariable("apiStDate") String apiStDate) throws IOException {
+	public void orderReceiveList(@PathVariable("apiStDate") String apiStDate) throws Exception {
 
 		GagaMap rtnMap = new GagaMap();
 
@@ -816,7 +816,7 @@ log.info(" #### SHOPLINKER CHK1 - "+runMap.getRunCnt() +" || "+GagaDateUtil.getT
 	 */
 	@PostMapping("/check/api_runable")
 	@ResponseBody
-	public ShoplinkerSearch apiRunable(@RequestBody ShoplinkerSearch slkSearch) throws IOException {
+	public ShoplinkerSearch apiRunable(@RequestBody ShoplinkerSearch slkSearch) throws Exception {
 
 		slkSearch.setRegNo(TsaSession.getInfo().getUserNo());
 		ShoplinkerSearch runMap = tscShoplinkerService.getCallRunableInfo(slkSearch);

+ 18 - 24
src/main/java/com/style24/persistence/mybatis/shop/TsaGoods.xml

@@ -398,8 +398,7 @@
 		                           WHERE REG_NO = #{regNo}
 		                           GROUP BY SEARCH_CD) T
 		                   ) SD
-		                   ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		                        OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		                   ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
 		                        <if test="mdNo != null and mdNo != ''">
 		                        AND G.BRAND_CD IN (
 		                                           SELECT DISTINCT BRAND_CD
@@ -504,8 +503,7 @@
 		                           WHERE REG_NO = #{regNo}
 		                           GROUP BY SEARCH_CD) T
 		                   ) SD
-		                   ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		                        OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		                   ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
 		                        <if test="mdNo != null and mdNo != ''">
 		                        AND G.BRAND_CD IN (
 		                                           SELECT DISTINCT BRAND_CD
@@ -884,8 +882,7 @@
 		                         WHERE REG_NO = #{regNo}
 		                         GROUP BY SEARCH_CD) T
 		                ) SD
-		                 ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		                       OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		                 ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
 		                      <if test="mdNo != null and mdNo != ''">
 		                      AND G.BRAND_CD IN (
 		                                         SELECT DISTINCT BRAND_CD
@@ -1628,6 +1625,9 @@
 		  , PNT_MRATE
 		  , SELL_FEE_RATE
 		  , FORMAL_GB
+		  , MIN_ORD_QTY
+		  , MAX_ORD_QTY
+		  , DAY_MAX_ORD_QTY
 		  , GIFT_PACK_YN
 		  , ORIGIN_CD
 		  , MAKE_YMD
@@ -1674,6 +1674,9 @@
 		  , #{pntMrate}
 		  , #{sellFeeRate}
 		  , #{formalGb}
+		  , IFNULL(#{minOrdQty},1)
+		  , IFNULL(#{maxOrdQty},20)
+		  , IFNULL(#{dayMaxOrdQty},20)
 		  , IFNULL(#{giftPackYn},'N')
 		  , #{originCd}
 		  , #{makeYmd}
@@ -2015,8 +2018,7 @@
 		                  WHERE REG_NO = #{regNo}
 		                  GROUP BY SEARCH_CD) T
 		          ) SD
-		          ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		               OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		          ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
 		               <if test="mdNo != null and mdNo != ''">
 		               AND G.BRAND_CD IN (
 		                                  SELECT DISTINCT BRAND_CD
@@ -2090,8 +2092,7 @@
 		                          WHERE REG_NO = #{regNo}
 		                          GROUP BY SEARCH_CD) T
 		                  ) SD
-		                  ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		                       OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		                  ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%') 
 		                       <if test="mdNo != null and mdNo != ''">
 		                      AND G.BRAND_CD IN (
 		                                          SELECT DISTINCT BRAND_CD
@@ -2243,8 +2244,7 @@
 		                  WHERE REG_NO = #{regNo}
 		                  GROUP BY SEARCH_CD) T
 		         ) SD
-		         ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		               OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		         ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
 		               <if test="mdNo != null and mdNo !='' ">
 		               AND G.BRAND_CD IN (
 		                                  SELECT DISTINCT BRAND_CD
@@ -2314,8 +2314,7 @@
 		                              WHERE REG_NO = #{regNo}
 		                              GROUP BY SEARCH_CD) T
 		                     ) SD
-		                     ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		                           OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		                     ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%') 
 		                           <if test="mdNo != null and mdNo != ''">
 		                           AND G.BRAND_CD IN (
 		                                              SELECT DISTINCT BRAND_CD
@@ -2418,8 +2417,7 @@
 		          WHERE REG_NO = #{regNo}
 		          GROUP BY SEARCH_CD) T
 		  ) SD
-		  ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		       OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		  ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
 		       <if test="mdNo != null and mdNo != ''">
 		       AND G.BRAND_CD IN (
 		                          SELECT DISTINCT BRAND_CD
@@ -2489,8 +2487,7 @@
 		                          WHERE REG_NO = #{regNo}
 		                          GROUP BY SEARCH_CD) T
 		                  ) SD
-		                  ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		                       OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		                  ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
 		                       <if test="mdNo != null and mdNo != ''">
 		                      AND G.BRAND_CD IN (
 		                                          SELECT DISTINCT BRAND_CD
@@ -2723,8 +2720,7 @@
 		                  WHERE REG_NO = #{regNo}
 		                  GROUP BY SEARCH_CD) T
 		          ) SD
-		          ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		               OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		          ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%') 
 		               <if test="mdNo != null and mdNo != ''">
 		               AND G.BRAND_CD IN (
 		                                  SELECT DISTINCT BRAND_CD
@@ -2814,8 +2810,7 @@
 		                          WHERE REG_NO = #{regNo}
 		                          GROUP BY SEARCH_CD) T
 		                  ) SD
-		                  ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		                       OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		                  ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%') 
 		                       <if test="mdNo != null and mdNo != ''">
 		                      AND G.BRAND_CD IN (
 		                                          SELECT DISTINCT BRAND_CD
@@ -4645,8 +4640,7 @@
 		                  WHERE REG_NO = #{regNo}
 		                  GROUP BY SEARCH_CD) T
 		          ) SD
-		          ON ( (G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
-		               OR G.SUPPLY_GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')) 
+		          ON ( G.GOODS_CD LIKE CONCAT(SD.SEARCH_CD,'%')
 		               <if test="mdNo != null and mdNo != ''">
 		               AND G.BRAND_CD IN (
 		                                  SELECT DISTINCT BRAND_CD

+ 14 - 0
src/main/resources/config/application-style.yml

@@ -90,6 +90,20 @@ naverPay:
     payUrl:
         web : test-pay.naver.com
         mob : test-m.pay.naver.com
+    shop.id: istyle24
+    button.key: 3A1578F9-6824-4FCF-AC8D-262318C63227
+    button.pc.js.url: https://test-pay.naver.com/customer/js/naverPayButton.js
+    button.mobile.js.url: https://test-pay.naver.com/customer/js/mobile/naverPayButton.js
+    common.certification.key: s_3799db3bf4af-
+    certification.key: E3122594-C690-4542-B3A0-E74ABD4E8222
+    order.api.url: https://test-api.pay.naver.com/o/customer/api/order/v20/register
+    order.pc.url: https://test-order.pay.naver.com/customer/buy/
+    order.mobile.url: https://test-m.pay.naver.com/o/customer/buy/
+    access.license: 01000100005b15bb8faab722d100d589f34bd64843659e37a168b3617443c4f52a3fda45b8
+    secret.key: AQABAADtZ/jOC1Y3LNsyI0TWwCMvPfrg0sqM9pnxliSegbjSqQ==
+    port.address: http://sandbox.api.naver.com/Checkout/MallService5
+    service.name: MallService5
+    version: 5.0
 
 # 샵링커 API(개발계정)
 shoplinker:

+ 90 - 13
src/main/webapp/WEB-INF/views/goods/GoodsItemkindForm.html

@@ -71,15 +71,19 @@
 						</td>
 					</tr>
 					<tr>
-						<th>업체/브랜드</th>
+						<th>업체</th>
 						<td>
-							<select name="supplyCompCd" id="supplyCompCd">
-								<option value="" th:if="${sessionInfo.roleCd} != 'G001_B000'">[전체]</option>
-								<option th:if="${supplyCompList}" th:each="oneData, status : ${supplyCompList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
-							</select>
-							<select name="brandCd" id="brandCd">
-								<option value="">[전체]</option>
-							</select>
+							<input type="text" class="w100" name="supplyCompSearchTxt" id="supplyCompSearchTxt" maxlength="20" />
+							<button type="button" class="btn icn" id="btnSearchSupplyComp"><i class="fa fa-search"></i></button>
+							<span id="supplyCompText"></span>
+							<input type="hidden" name="supplyCompList"/>
+						</td>
+						<th>브랜드</th>
+						<td>
+							<input type="text" class="w100" name="searchTxt" id="searchTxt" maxlength="20" />
+							<button type="button" class="btn icn" id="btnSearchBrand"><i class="fa fa-search"></i></button>
+							<span id="brandText"></span>
+							<input type="hidden" name="brandList"/>
 						</td>
 						<th>키워드</th>
 						<td>
@@ -91,8 +95,11 @@
 							</select>
 							<input type="text" class="w40p" name="condition" id="condition" maxlength="50"/>
 						</td>
-						<th>품목</th>
-						<td>
+						
+					</tr>
+					<tr>
+					<th>품목</th>
+						<td colspan="5">
 							<select name="itemkindCd" id="itemkindCdSearch">
 								<option value="">[전체]</option>
 								<option th:if="${itemkindList}" th:each="oneData, status : ${itemkindList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
@@ -186,12 +193,15 @@
 				return '<img width="60" src="'+ _goodsUrl+ "/" + params.value +'?RS=60" alt=""  onerror="this.src=\'/image/no.png\';"/>';
 			}
 		},
+		{headerName: "브랜드명", field: "brandEnm", width: 130, cellClass: 'text-center'},
 		{headerName: "상품코드", field: "goodsCd", width: 140, cellClass: 'text-center'
+		
+		},
+		{headerName: "상품명", field: "goodsNm", width: 200, cellClass: 'text-left'
 			,cellRenderer: function(params) {
 				return '<a href="javascript:void(0);">' + params.value + '</a>';
 			}
 		},
-		{headerName: "상품명", field: "goodsNm", width: 200, cellClass: 'text-left'},
 		{headerName: "품목명", field: "itemkindNm", width: 250, cellClass: 'text-left',
 			cellRenderer: function (params) {
 				if (gagajf.isNull( params.value)){
@@ -221,7 +231,7 @@
 	// Row Click
 	gridOptions.onCellClicked = function(event) {
 		var goodsCd = event.data.goodsCd;
-		if (event.colDef.field == "goodsCd"){
+		if (event.colDef.field == "goodsNm"){
 			cfnOpenGoodsDetailPopup('U',goodsCd);
 			//cfnOpenFrontGoodsPopup(goodsCd, event.data.siteCd);
 		}
@@ -263,7 +273,9 @@
 	// 조회
 	$('#btnSearch').on('click', function() {
 		if(gagajf.isNull($("#selCate2").val()) && gagajf.isNull($("#supplyCompCd").val()) && gagajf.isNull($("#condition").val()) && gagajf.isNull($("#itemkindCdSearch").val())
-			&& gagajf.isNull($("#styleYear").val()) && gagajf.isNull($("#formalGb").val()) && gagajf.isNull($("#mdNo").val())){
+			&& gagajf.isNull($("#styleYear").val()) && gagajf.isNull($("#formalGb").val()) && gagajf.isNull($("#mdNo").val())
+			&& gagajf.isNull($("#searchForm input[name=supplyCompList]").val()) && gagajf.isNull($("#searchForm input[name=brandList]").val())
+			){
 			mcxDialog.alert('검색조건을 입력해 주세요.');
 			return;
 		}
@@ -314,6 +326,10 @@
 
 	$("#btnInit").on("click", function(){
 		$("#searchForm")[0].reset();
+		$('#searchForm input[name=brandList]').val('');
+		$('#searchForm input[name=supplyCompList]').val('');
+		$('#searchForm').find('#brandText').html('');
+		$('#searchForm').find('#supplyCompText').html('');
 	});
 
 	$("#btnChangeItemKindCd").on("click", function(){
@@ -328,6 +344,67 @@
 		gridOptions.api.refreshCells();
 	});
 
+	
+	// 업체 조회 선택시
+	$('#btnSearchSupplyComp').on('click', function() {
+		cfnOpenCompanyListPopup('fnSetSupplyCompInfo', 'M');
+	});
+	
+	// 업체 조회 팝업에서 호출
+	var fnSetSupplyCompInfo = function(result) {
+		var arrSupplyComp = [];
+		var supplyCompText = "";
+		var sIndex = 0;
+		$('#searchForm').find('#supplyCompText').html('');
+		$('#searchForm input[name=supplyCompSearchTxt]').val('');
+		result.forEach(function(supplyComp){
+			sIndex++; 
+			arrSupplyComp.push(supplyComp.supplyCompCd);
+		});
+
+		// 조회값이 하나일 경우 화면에 코드 노출 그외는 갯수 처리 
+		if (sIndex == 1) {
+			$('#searchForm input[name=supplyCompSearchTxt]').val(arrSupplyComp[0]);
+		}else{
+			supplyCompText = sIndex + " 개";
+			$('#searchForm').find('#supplyCompText').html(supplyCompText);	
+		}
+		var jsonData = JSON.stringify(arrSupplyComp);
+		$("#searchForm input[name=supplyCompList]").val(jsonData);
+	}
+	
+	// 브랜드 조회 팝업에서 호출
+	var fnSetBrandInfo = function(result) {
+		var arrbrandCd = [];
+		var brandText = "";
+		var bIndex = 0;
+		$('#searchForm').find('#brandText').html('');
+		$('#searchForm input[name=searchTxt]').val('');
+		result.forEach(function(brand){
+			bIndex++; 
+			arrbrandCd.push(brand.brandCd);
+		});
+
+		// 조회값이 하나일 경우 화면에 코드 노출 그외는 갯수 처리 
+		if (bIndex == 1) {
+			$('#searchForm input[name=searchTxt]').val(arrbrandCd[0]);
+		}else{
+			brandText = bIndex + " 개";
+			$('#searchForm').find('#brandText').html(brandText);	
+		}
+		var jsonData = JSON.stringify(arrbrandCd);
+		$("#searchForm input[name=brandList]").val(jsonData);
+	}
+	
+	// 브랜드 조회 선택시
+	$('#btnSearchBrand').on('click', function() {
+		/* if (gagajf.isNull($("#searchForm input[name=searchTxt]").val())){
+			mcxDialog.alert('브랜드 검색어를 입력하세요.');
+			return false;
+		} */
+		cfnOpenBrandListPopup('fnSetBrandInfo', 'M');
+	});
+	
 	$("#btnSave").on("click", function(){
 		var rowData = gagaAgGrid.getAllRowData(gridOptions);
 		var dataArr = [];

+ 45 - 14
src/main/webapp/WEB-INF/views/goods/GoodsListForm.html

@@ -374,12 +374,15 @@
 							</td>
 							<th>배송정책</th>
 							<td colspan="3">
-								<label class="rdoBtn"><input type="radio" name="statSelfYn" id="statSelfYnY" value="Y"  checked/>자사</label>
+								<input type="text" class="w100" name="statSupplyCompCd" id="statSupplyCompCd" maxlength="20" />
+								<button type="button" class="btn icn" id="btnSearchSupplyCompStat"><i class="fa fa-search"></i></button>
+								
+							<!-- 	<label class="rdoBtn"><input type="radio" name="statSelfYn" id="statSelfYnY" value="Y"  checked/>자사</label>
 								<label class="rdoBtn"><input type="radio" name="statSelfYn" id="statSelfYnN" value="N"/>입점</label>
 								<select name="statSupplyCompCd" id="statSupplyCompCd">
 									<option value="" th:if="${sessionInfo.roleCd} != 'G001_B000'">[선택]</option>
 									<option th:if="${supplyCompList}" th:each="oneData, status : ${supplyCompList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
-								</select>
+								</select> -->
 								<select name="delvFeeCdC" id="delvFeeCdC" >
 									<option value="">[선택]</option>
 								</select>
@@ -926,9 +929,24 @@
 		}else if (proc == "newCustOrdYn") {
 			newCustOrdYnVal = $(objId).val();	
 		}else if (proc == "delvFeeCd") {
-			if (!fnGoodsDelFeeCdCheck(selectedData)){
+		/* 	if (!fnGoodsDelFeeCdCheck(selectedData)){
+				return;
+			} */
+			
+			var statSupplyCompCd = $('#searchForm input[name=statSupplyCompCd]').val();
+			var chkFlag = false;
+			$.each(selectedData, function(idx, item) {
+
+				if (item.supplyCompCd != statSupplyCompCd){
+					mcxDialog.alert(item.goodsCd +" 상품은 배송정책의 업체와 상이합니다.");
+					chkFlag = true;
+					 false;
+				}
+			});
+			if (chkFlag){
 				return;
 			}
+			
 			delvFeeCdVal = $(objId).val();
 		}else if (proc == "sellDate") {
 			sellStdtVal = $("#searchForm input[name=sellStYMDC]").val().replaceAll('-', '')+ $("#searchForm select[name=sellStHHC]").val()+"0000";
@@ -936,7 +954,7 @@
 		}else{
 			return;
 		}
-
+		
 		mcxDialog.confirm('적용 하시겠습니까?', {
 			cancelBtnText: "취소",
 			sureBtnText: "확인",
@@ -978,18 +996,12 @@
 	// 배송비정책 관련 확인
 	var fnGoodsDelFeeCdCheck = function(selectedData){
 		
-		var statSupplyCompCd = $('#searchForm select[name=statSupplyCompCd]').val();
+		var statSupplyCompCd = $('#searchForm input[name=statSupplyCompCd]').val();
 		
 		$.each(selectedData, function(idx, item) {
 
 			if (item.supplyCompCd != statSupplyCompCd){
-
-				mcxDialog.alertC(item.goodsCd +" 상품은 배송지 정책업체와 상이합니다. ",{
-					sureBtnText: "확인",
-					sureBtnClick: function() {
-						gridOptions.api.setFocusedCell(idx, "goodsCd", null);
-					}
-				});
+				mcxDialog.alert(item.goodsCd +" 상품은 배송정책의 업체와 상이합니다.");
 				return false;
 			}
 		});
@@ -1048,7 +1060,7 @@
 	});
 	
 	// 상태일괄변경 자사/입점 변경여부
-	$("#searchForm input[name=statSelfYn]").bind('click change', function () {
+/*	$("#searchForm input[name=statSelfYn]").bind('click change', function () {
 		var radioValue = $(this).val();
 		var selfGb = "S";	// 자사 공급 업체
 		if (radioValue == "N"){
@@ -1066,7 +1078,7 @@
 		$("#searchForm select[name=delvFeeCdC] option:gt(0)").remove();
 		cfnCreateCombo('/renderer/delvFee/list/' + $('#searchForm select[name=statSupplyCompCd]').val(), $('#searchForm select[name=delvFeeCdC]'), "[선택]");
 	});
-	
+*/	
 	// 업체 조회 선택시
 	$('#btnSearchSupplyComp').on('click', function() {
 		cfnOpenCompanyListPopup('fnSetSupplyCompInfo', 'M');
@@ -1128,6 +1140,25 @@
 	});
 	
 	
+	// 상태일괄변경 - 배송정책 
+	$('#btnSearchSupplyCompStat').on('click', function() {
+		cfnOpenCompanyListPopup('fnSetSupplyCompInfoStat', 'S');
+	});
+	
+	// 업체 조회 팝업에서 호출
+	var fnSetSupplyCompInfoStat = function(result) {
+		var arrSupplyComp = [];
+		var supplyCompText = "";
+		var sIndex = 0;
+		$('#searchForm input[name=statSupplyCompCd]').val('');
+		result.forEach(function(supplyComp){
+			sIndex++; 
+			arrSupplyComp.push(supplyComp.supplyCompCd);
+		});
+		
+		$('#searchForm input[name=statSupplyCompCd]').val(arrSupplyComp[0]);
+		cfnCreateCombo('/renderer/delvFee/list/' + $('#searchForm input[name=statSupplyCompCd]').val(), $('#searchForm select[name=delvFeeCdC]'), "[선택]");
+	}
 	
 	// 상품이미지 미리보기 레이어에서 창 종료 이벤트
 	$(document).on("mouseleave","#goodsImgView",function(){

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

@@ -223,7 +223,7 @@
 		$('#goodsPriceRsvtForm input[name=applyEddt]').val(applyEddt);
 
 		if ($('#goodsPriceRsvtForm input[name=applyStdt]').val() > $('#goodsPriceRsvtForm input[name=applyEddt]').val()) {
-			mcxDialog.alertC("예약 시작일자는 종료일자 보다 클 수 없습니다.", {
+			mcxDialog.alertC("예약 시작일시는 종료일시 보다 클 수 없습니다.", {
 				sureBtnText: "확인",
 				sureBtnClick: function() {
 					$('#goodsPriceRsvtForm input[name=applyEdYMD]').focus();

+ 5 - 3
src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerGoodsSendForm.html

@@ -364,7 +364,6 @@
 
 			// 현재실행중인건 없음.
 			if( 0 == result.runCnt){
-				console.log(" excel pupup");
 				cfnExcelUploadPopup('shoplinkerUploadGoods', 'shoplinkerUploadGoods');
 
 			}else{
@@ -374,13 +373,16 @@
 	});
 
 	var shoplinkerUploadGoods = function(result){
+		var dateStr = new Date().format("YYYYMMDDHHmmss");
 
-		console.log(" excel post !!! ");
 		var actionUrl = "/shoplinker/goods/send/excelupload/register";
 		let params = {};
 		params.procJob = result.procJob;
 		params.excelFileNm = result.excelFileNm;
-		$.post(actionUrl, $.param(params), null, 'json');
+		params.sid = dateStr;
+
+		console.log(" excel post:" +params.sid);
+		$.post(actionUrl, $.param(params));
 	}
 	/**************** 엑셀업로드 // *****************************************************/
 

+ 1 - 1
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시 -v1</h3>
+					<h3><i class="fa fa-info-circle"></i>[배치주기] 평일: 5시~15시 한시간 단위 | (월) 5시: 전주 금요일 15 ~ 금일 5시 / (화~금) 5시: 전날 15 ~ 금일 5시 -v2</h3>
 					<span class="panelControl">
 						<i class="fa fa-chevron-up"></i>
 					</span>