Преглед на файлове

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

eskim преди 5 години
родител
ревизия
2b0b336196

+ 8 - 0
src/main/java/com/style24/admin/biz/dao/TsaBusinessDao.java

@@ -166,6 +166,14 @@ public interface TsaBusinessDao {
 	 */
 	void saveBrandSite(SiteBrand siteBrand);
 
+	/**
+	 * 브랜드 공급업체 목록
+	 * @param brandCd - 브랜드코드
+	 * @author eskim
+	 * @since 2021. 01. 21
+	 */
+	Collection<SiteBrand> getBrandSupplyList(String brandCd);
+
 	/**
 	 * 브랜드 등록
 	 * @param brand - 브랜드 정보

+ 11 - 0
src/main/java/com/style24/admin/biz/service/TsaBusinessService.java

@@ -230,6 +230,17 @@ public class TsaBusinessService {
 		}
 	}
 
+	/**
+	 * 브랜드 공급업체 목록
+	 * @param brandCd - 브랜드코드
+	 * @author eskim
+	 * @since 2021. 01. 21
+	 */
+	public Collection<SiteBrand> getBrandSupplyList(String brandCd) {
+		return businessDao.getBrandSupplyList(brandCd);
+	}
+
+
 	/**
 	 * 브랜드 등록/수정
 	 * @param brand - 브랜드 정보

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

@@ -1501,7 +1501,7 @@ public class TsaGoodsService {
 		float pntPrate = 0f;
 		float pntMrate = 0f;
 		float sellFeeRate = 0f;
-		String delvFeeCd = "";
+		//String delvFeeCd = "";
 		for (Brand tmpBrand : brandList) {
 
 			if ("10".equals(regGoods.getFormalGb())) {
@@ -1512,9 +1512,9 @@ public class TsaGoodsService {
 				pntMrate = tmpBrand.getPntMrate20();
 			}
 			sellFeeRate = tmpBrand.getSellFeeRate();
-			delvFeeCd = tmpBrand.getDelvFeeCd();
+			//delvFeeCd = tmpBrand.getDelvFeeCd();
 		}
-		regGoods.setDelvFeeCd(delvFeeCd);// 배송비전책코드
+		//regGoods.setDelvFeeCd(delvFeeCd);// 배송비전책코드
 		regGoods.setPntPrate(pntPrate); // 포인트적립율(PC)
 		regGoods.setPntMrate(pntMrate); // 포인트적립율(MOBILE)
 		regGoods.setSellFeeRate(sellFeeRate); // 판매수수료율
@@ -2300,8 +2300,6 @@ public class TsaGoodsService {
 
 			// 판매가 변경
 			if (goodsPriceRes.getResGoodsPrice() > 0) {
-				log.info("goodsPriceRes.getTagPrice() ={}", goodsPriceRes.getListPrice());
-				log.info("goodsPriceRes.getResGoodsPrice() ={}", goodsPriceRes.getResGoodsPrice());
 				goods.setDcRate((int)(this.getDcRate(goodsPriceRes.getListPrice(), goodsPriceRes.getResGoodsPrice())));
 				goods.setCurrBprice(goodsPriceRes.getCurrPrice());
 				goods.setCurrPrice(goodsPriceRes.getResGoodsPrice());
@@ -2309,7 +2307,7 @@ public class TsaGoodsService {
 			}
 
 			// 판매수수료율 변경
-			if (goodsPriceRes.getSellFeeRate() != null) {
+			if (Float.compare(goodsPriceRes.getSellFeeRate(), 0) > 0) {
 				goods.setSellFeeRate(goodsPriceRes.getSellFeeRate());
 				goodsDao.updateSellFeeRate(goods);
 			}

+ 13 - 0
src/main/java/com/style24/admin/biz/web/TsaBusinessController.java

@@ -403,6 +403,19 @@ public class TsaBusinessController extends TsaBaseController {
 		return super.ok(message.getMessage("SUCC_0001"));
 	}
 
+	/**
+	 * 브랜드 공급업체 목록
+	 * @param brandCd - 브랜드코드
+	 * @return
+	 * @author eskim
+	 * @since 2021. 01. 21
+	 */
+	@GetMapping("/brand/supply/list/{brandCd}")
+	@ResponseBody
+	public Collection<SiteBrand> getBrandSupplyList(@PathVariable String brandCd) {
+		return businessService.getBrandSupplyList(brandCd);
+	}
+
 	/**
 	 * 브랜드 등록/수정 처리
 	 * @param brand - 브랜드 정보

+ 3 - 3
src/main/java/com/style24/persistence/domain/Brand.java

@@ -27,9 +27,9 @@ public class Brand extends TscBaseDomain {
 	private String delvLocNm;		// 출고처명
 	private String erpBrandCd;		// ERP브랜드코드
 	private String selfYn;			// 자사여부(Y:자사, N:입점)
-	private String delvFeeCd;		// 배송비정책코드
-	private int delvFee;			// 기본배송비
-	private int minOrdAmt;			// 무료배송비최소주문금액
+//	private String delvFeeCd;		// 배송비정책코드
+//	private int delvFee;			// 기본배송비
+//	private int minOrdAmt;			// 무료배송비최소주문금액
 	private float sellFeeRate;		// 판매수수료율
 	private float pntPrate10;		// 포인트적립율(PC정상)
 	private float pntMrate10;		// 포인트적립율(모바일정상)

+ 1 - 1
src/main/java/com/style24/persistence/domain/GoodsPriceRes.java

@@ -18,7 +18,7 @@ public class GoodsPriceRes extends TscBaseDomain {
 	private String goodsCd;
 	private int resGoodsPrice;
 	private int endGoodsPrice;
-	private Float sellFeeRate;
+	private float sellFeeRate;
 	private String applyStdt;
 	private String applyEddt;
 	private String cfrmYn;

+ 21 - 7
src/main/java/com/style24/persistence/mybatis/shop/TsaBusiness.xml

@@ -467,13 +467,13 @@
 		     , A.DISP_NM_LANG                /*노출명언어*/
 		     , A.RGB_CD                      /*RGB코드*/
 		     , A.DISTRIBUTION_GB             /*유통구분*/
-		     , A.SUPPLY_COMP_CD              /*업체코드*/
+		     -- , A.SUPPLY_COMP_CD              /*업체코드*/
 		     , B.SUPPLY_COMP_NM              /*업체명*/
-		     , A.DELV_LOC_CD                 /*출고처코드*/
+		     -- , A.DELV_LOC_CD                 /*출고처코드*/
 		     , C.DELV_LOC_NM                 /*출고처명*/
 		     , A.ERP_BRAND_CD                /*ERP브랜드코드*/
 		     , A.SELF_YN                     /*자사여부*/
-		     , A.DELV_FEE_CD                 /*배송비정책코드*/
+		     -- , A.DELV_FEE_CD                 /*배송비정책코드*/
 		     , A.SELL_FEE_RATE               /*판매수수료율*/
 		     , A.USE_YN                      /*사용여부*/
 		     , A.PNT_PRATE10                 /*포인트적립율(PC)*/
@@ -482,13 +482,13 @@
 		     , A.PNT_MRATE20                 /*포인트적립율(모바일)*/
 		     , A.LOGO_FILE_NM                 /*로고파일명*/
 		     , A.DISP_ORD                    /*표시순서*/
-		     , D.MIN_ORD_AMT                 /*무료배송최소금액*/
-		     , D.DELV_FEE                    /*배송비*/
+		    -- , D.MIN_ORD_AMT                 /*무료배송최소금액*/
+		    -- , D.DELV_FEE                    /*배송비*/
 		FROM   TB_BRAND A
 		INNER JOIN TB_SUPPLY_COMPANY B ON A.SUPPLY_COMP_CD = B.SUPPLY_COMP_CD
 		LEFT OUTER JOIN TB_DELIVERY_LOC C ON A.DELV_LOC_CD = C.DELV_LOC_CD
-		LEFT OUTER JOIN TB_DELV_FEE_POLICY D ON A.SUPPLY_COMP_CD = D.SUPPLY_COMP_CD
-		                                  AND A.DELV_FEE_CD =  D.DELV_FEE_CD
+		-- LEFT OUTER JOIN TB_DELV_FEE_POLICY D ON A.SUPPLY_COMP_CD = D.SUPPLY_COMP_CD
+		--                                  AND A.DELV_FEE_CD =  D.DELV_FEE_CD
 		WHERE  1 = 1
 		<if test='supplyCompCd != null and supplyCompCd != ""'>
 		AND    A.SUPPLY_COMP_CD = #{supplyCompCd}
@@ -623,6 +623,20 @@
 		     , UPD_DT = NOW()
 	</insert>
 	
+	<!-- 브랜드 공급업체 목록 -->
+	<select id="getBrandSupplyList" parameterType="String" resultType="Brand">
+		/* TsaBusiness.getBrandSupplyList */
+		SELECT BRAND_CD
+		     , SITE_CD
+		     , DISP_ORD
+		     , USE_YN
+		     , CATE1_NO
+		FROM   TB_SITE_BRAND
+		WHERE  BRAND_CD = #{brandCd}
+		AND    USE_YN ='Y'
+	</select>
+	
+	
 	<!-- 브랜드 등록 -->
 	<insert id="createBrand" parameterType="Brand">
 		/* TsaBusiness.createBrand */

+ 2 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaGoods.xml

@@ -911,8 +911,10 @@
 		     , FN_GET_USER_NM(G.UPD_NO) AS UPD_NM
 		     , E.CERT_NUM
 		     , E.CERT_DT
+		     , C.SUPPLY_VENDOR_CD
 		FROM TB_GOODS G
 		INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
+		INNER JOIN TB_SUPPLY_COMPANY C ON G.SUPPLY_COMP_CD = C.SUPPLY_COMP_CD 
 		LEFT OUTER JOIN TB_DELV_FEE_POLICY D ON G.SUPPLY_COMP_CD = D.SUPPLY_COMP_CD
 		                                     AND G.DELV_FEE_CD =  D.DELV_FEE_CD
 		LEFT OUTER JOIN TB_GOODS_SAFE_NO E ON G.GOODS_CD = E.GOODS_CD

+ 90 - 50
src/main/webapp/WEB-INF/views/business/BrandForm.html

@@ -132,19 +132,20 @@
 							<label class="rdoBtn"><input type="radio" name="dispNmLang" value="KR">국문</label>
 						</td>
 					</tr>
-					<tr>	
+					<tr>
+					<!--	
 						<th>공급업체<i class="required" title="필수"></i></th>
 						<td>
-
-<!-- 							<select name="supplyCompCd" required="required" data-valid-name="공급업체">
-								<option value="">[선택]</option>
-							</select>
- -->							
 							<input type="text" class="w100" name="searchTxt" id="searchTxt" maxlength="20" />
 							<button type="button" class="btn icn" id="btnSearchSupplyComp"><i class="fa fa-search"></i></button>
 							<input type="text" class="w100" name="supplyCompNm" readonly="readonly"/>
 							<input type="hidden" class="w100" name="supplyCompCd" />
 						</td>
+					-->	
+						<th>판매수수료율<i class="required" title="필수"></i></th>
+						<td>
+							<input type="text" class="w100 aR" name="sellFeeRate" value="0" maxlength="3" required="required" data-valid-name="판매수수료율" data-valid-type="real"/>%
+						</td>
 						<th>유통구분<i class="required" title="필수"></i></th>
 						<td>
 							<select name="distributionGb" required="required" data-valid-name="유통구분">
@@ -153,7 +154,7 @@
 							</select>
 						</td>
 					</tr>
-					<tr>	
+					<!--  <tr>	
 						<th>출고처<i class="required" title="필수"></i></th>
 						<td>
 							<select name="delvLocCd">
@@ -167,14 +168,7 @@
 							</select>
 							<span class="marL10 cRed"><i class="fa fa-info-circle" aria-hidden="true"></i> 변경된 배송정책은 이후 등록된 상품부터 적용됩니다.</span>
 						</td>
-					</tr>	
-					<tr>
-						<th>판매수수료율<i class="required" title="필수"></i></th>
-						<td>
-							<input type="text" class="w100 aR" name="sellFeeRate" value="0" maxlength="3" required="required" data-valid-name="판매수수료율" data-valid-type="real"/>%
-						</td>
-						<td colspan="2"></td>
-					</tr>
+					</tr>-->	
 					<tr>
 						<th>포인트적립율(PC정상)<i class="required" title="필수"></i></th>
 						<td>
@@ -209,12 +203,10 @@
 					</tr>
 					<tr>
 						<th>RGB코드</th>
-						<td>
+						<td  colspan="3">
 							<input type="text" class="w100 aR" name="rgbCd" maxlength="6" data-valid-name="REG코드" />
 							<span class="marL10 cRed"><i class="fa fa-info-circle" aria-hidden="true"></i> 브랜드메인 GBN 배경색으로 적용, 미 입력시 기본색상으로 설정됩니다.</span>
 						</td>
-						<td colspan="2">
-						</td>
 					</tr>
 					<tr id="brandImgArea" class="off">
 						<th>브랜드이미지</th>
@@ -256,11 +248,16 @@
 							<button type="button" class="btn btn-success btn-lg" id="btnSaveSiteBrand">전시사이트 수정</button>
 						</td>
 					</tr>
-					
-					
 				</table>
+				<div>
+					<ul class="panelBar">
+						<li class="left">
+							<button type="button" class="btn btn-base btn-lg" id="btnSearchSupplyComp">공급업체조회</button>
+						</li>
+					</ul>
+					<div id="gridList2" style="width: 100%; height: 200px" class="ag-theme-balham"></div>
+				</div>
 			</form>
-			
 			<!-- 버튼 배치 영역 -->
 			<ul class="panelBar">
 				<li class="right">
@@ -289,28 +286,28 @@
 		{headerName: "브랜드영문명", field: "brandEnm", width: 150, cellClass: 'text-center'},
 		{headerName: "브랜드국문명", field: "brandKnm", width: 150, cellClass: 'text-center'},
 		{headerName: "브랜드그룹명", field: "brandGrpNm", width: 150, cellClass: 'text-center'},
-		{
+		/*{
 			headerName: "공급업체", field: "supplyCompCd", width: 150, cellClass: 'text-center',
 			valueGetter: function (params) {
 				return gagaAgGrid.lookupValue(supplyCompList, params.data.supplyCompCd);
 			}
-		},
+		},*/
 		{
 			headerName: "유통구분", field: "distributionGb", width: 150, cellClass: 'text-center',
 			valueGetter: function (params) {
 				return gagaAgGrid.lookupValue(distributionGbList, params.data.distributionGb);
 			}
 		},
-		{headerName: "출고처코드", field: "delvLocCd", width: 120, cellClass: 'text-center'},
-		{headerName: "출고처명", field: "delvLocNm", width: 150, cellClass: 'text-center'},
+		/*{headerName: "출고처코드", field: "delvLocCd", width: 120, cellClass: 'text-center'},
+		{headerName: "출고처명", field: "delvLocNm", width: 150, cellClass: 'text-center'},*/
 		{headerName: "ERP브랜드코드", field: "erpBrandCd", width: 120, cellClass: 'text-center', hide: true},
-		{
+		/*{
 			headerName: "무료배송비기준",
 			children : [
 				{headerName: "기본배송비", field: "delvFee", width: 120, cellClass: 'text-center', valueFormatter: function(params) { return Number(params.value).addComma(); }},
 				{headerName: "최소주문금액", field: "minOrdAmt", width: 120, cellClass: 'text-center', valueFormatter: function(params) { return Number(params.value).addComma(); }}
 			]
-		},
+		},*/
 		{headerName: "판매수수료율(%)", field: "sellFeeRate", width: 150, cellClass: 'text-center'},
 		{
 			headerName: "포인트적립율(%)",
@@ -326,7 +323,16 @@
 		{headerName: "사용여부", field: "useYn", width: 80, cellClass: 'text-center'}
 	];
 
+	let columnDefs2 = [
+		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
+		{headerName: "공급업체코드", field: "supplyCompCd", width: 150, cellClass: 'text-center'},
+		{headerName: "공급업체명", field: "supplyCompNm", width: 150}
+	];
+	
 	let gridOptions = gagaAgGrid.getGridOptions(columnDefs);
+	let gridOptions2 = gagaAgGrid.getGridOptions(columnDefs2);
+	
+	gridOptions2.rowSelection = "multiple";
 
 	// Cell click
 	gridOptions.onCellClicked = function(event) {
@@ -345,28 +351,28 @@
 		$("#detailForm input[name=brandGrpNm]").val(event.data.brandGrpNm);
 		$("#detailForm input[name=erpBrandCd]").val(event.data.erpBrandCd);
 		$("#detailForm select[name=distributionGb]").val(event.data.distributionGb);
-		$("#detailForm input[name=supplyCompCd]").val(event.data.supplyCompCd);
-		$("#detailForm input[name=supplyCompNm]").val(event.data.supplyCompNm);
+		//$("#detailForm input[name=supplyCompCd]").val(event.data.supplyCompCd);
+		//$("#detailForm input[name=supplyCompNm]").val(event.data.supplyCompNm);
 		//fnGetSupplyCompCdList(event.data.supplyCompCd, event.data.delvFeeCd);
 		
 		// 출고처 정보
-		$.getJSON('/renderer/delvloc/list/' + event.data.supplyCompCd
-			, function(delvLocList) {
-				$('#detailForm select[name=delvLocCd]').empty().append('<option value="">[선택]</option>');
-				$.each(delvLocList, function(idx, item) {
-					var optionHtml = '<option value="' + item.cd + '">[' + item.cd + '] '+ item.cdNm + '</option>\n';
-					$('#detailForm select[name=delvLocCd]').append(optionHtml);
-				});
-				
-				$("#detailForm select[name=delvLocCd]").val(event.data.delvLocCd);
-			}
-		);
+		//$.getJSON('/renderer/delvloc/list/' + event.data.supplyCompCd
+		//	, function(delvLocList) {
+		//		$('#detailForm select[name=delvLocCd]').empty().append('<option value="">[선택]</option>');
+		//		$.each(delvLocList, function(idx, item) {
+		//			var optionHtml = '<option value="' + item.cd + '">[' + item.cd + '] '+ item.cdNm + '</option>\n';
+		//			$('#detailForm select[name=delvLocCd]').append(optionHtml);
+		//		});
+		//		
+		//		$("#detailForm select[name=delvLocCd]").val(event.data.delvLocCd);
+		//	}
+		//);
 		
 		// 배송비 정책
-		cfnCreateCombo('/renderer/delvFee/list/' + event.data.supplyCompCd, $('#detailForm select[name=delvFeeCd]'), "[선택]", event.data.delvFeeCd);
+		//cfnCreateCombo('/renderer/delvFee/list/' + event.data.supplyCompCd, $('#detailForm select[name=delvFeeCd]'), "[선택]", event.data.delvFeeCd);
 		
-		$("#detailForm input[name=delvFee]").val(Number(event.data.delvFee).addComma());
-		$("#detailForm input[name=minOrdAmt]").val(Number(event.data.minOrdAmt).addComma());
+		//$("#detailForm input[name=delvFee]").val(Number(event.data.delvFee).addComma());
+		//$("#detailForm input[name=minOrdAmt]").val(Number(event.data.minOrdAmt).addComma());
 		$("#detailForm input[name=sellFeeRate]").val(event.data.sellFeeRate);
 		$("#detailForm input[name=pntPrate10]").val(event.data.pntPrate10);
 		$("#detailForm input[name=pntMrate10]").val(event.data.pntMrate10);
@@ -396,6 +402,9 @@
 		// 로고이미지 영역 노출
 		$("#brandImgArea").removeClass("off").addClass("on");
 		
+		// 공급업체정보 조회
+		gagaAgGrid.fetch("/business/supply/company/list?goodsCd=" + $('#goodsDetailForm input[name=goodsCd]').val() , gridGoodsHstoryOptions);
+		
 		$("#detailForm select[name=supplyCompCd]").val(event.data.supplyCompCd);
 	}
 
@@ -504,11 +513,41 @@
 	});
 	
 	// 공급업체 조회 팝업에서 호출
-	var fnSetSupplyCompInfo = function(result) {
-		$("#detailForm input[name=supplyCompCd]").val(result[0].supplyCompCd);
-		$("#detailForm input[name=supplyCompNm]").val(result[0].supplyCompNm);
+	var fnSetSupplyCompInfo = function(result) {debugger
+		//$("#detailForm input[name=supplyCompCd]").val(result[0].supplyCompCd);
+		//$("#detailForm input[name=supplyCompNm]").val(result[0].supplyCompNm);
 		
-		// 출고처 정보
+		if (result.length < 1) return;
+		
+		// 기존상품
+		var supplyList = gagaAgGrid.getAllRowData(gridOptions2);
+		var idx = supplyList.length+1; 
+		
+		var isExist = false;
+		result.forEach(function(supply){
+			isExist = false;
+
+			gridOptions2.api.forEachNode(function(rowNode, index) {
+				if (supply.supplyCompCd == rowNode.data.supplyCompCd){
+					isExist = true;
+				}
+			});
+			
+			if(!isExist){
+				var data = { 
+						supplyCompCd: supply.supplyCompCd
+						, supplyCompNm: supply.supplyCompNm
+						};
+				//그리드 마지막에 추가해야함
+				gridOptions2.api.updateRowData({add: [data], addIndex: idx});
+				
+				idx++;
+			
+			}
+		});
+		gridOptions2.api.refreshCells();
+		
+		/* // 출고처 정보
 		$.getJSON('/renderer/delvloc/list/' + result[0].supplyCompCd
 			, function(delvLocList, status) {
 				$('#detailForm select[name=delvLocCd]').empty().append('<option value="">[선택]</option>');
@@ -519,7 +558,7 @@
 			}
 		);
 		
-		cfnCreateCombo('/renderer/delvFee/list/' + result[0].supplyCompCd, $('#detailForm select[name=delvFeeCd]'), "[선택]");
+		cfnCreateCombo('/renderer/delvFee/list/' + result[0].supplyCompCd, $('#detailForm select[name=delvFeeCd]'), "[선택]"); */
 	}
 	
 	// 브랜드담당MD 목록
@@ -686,8 +725,8 @@
 		$("#detailForm input[name=mode]").val("N");
 		$("#detailForm select[name=brandGb]").trigger('change');
 		$("#detailForm select[name=brandGb]").removeAttr("disabled");
-		$('#detailForm select[name=delvLocCd]').empty().append('<option value="">[선택]</option>');
-		$('#detailForm select[name=delvFeeCd]').empty().append('<option value="">[선택]</option>');
+		//$('#detailForm select[name=delvLocCd]').empty().append('<option value="">[선택]</option>');
+		//$('#detailForm select[name=delvFeeCd]').empty().append('<option value="">[선택]</option>');
 		
 		$("#detailForm input[type=checkbox]").removeClass("checked");
 		$("#detailForm input[type=checkbox]").parent("label").removeClass("checked");
@@ -778,6 +817,7 @@
 	$(document).ready(function() {
 		// Create a agGrid
 		gagaAgGrid.createGrid('gridList', gridOptions);
+		gagaAgGrid.createGrid('gridList2', gridOptions2);
 		
 		$('#detailForm select[name=brandGb]').trigger('change');
 	});