Browse Source

입점업체권한을 입점벤더권한 변경에 따른 수정

gagamel 4 years ago
parent
commit
8aff7e0048

+ 2 - 0
src/main/java/com/style24/persistence/domain/User.java

@@ -30,6 +30,8 @@ public class User extends TscBaseDomain {
 	private String roleCd;
 	private String roleNm;
 	private String roleRefVal;
+	private String supplyVendorCd;	// 공급벤더코드
+	private String supplyVendorNm;	// 공급벤더명
 	private String supplyCompCd;	// 공급업체코드
 	private String supplyCompNm;	// 공급업체명
 //	private String photoCompCd;

+ 20 - 2
src/main/java/com/style24/persistence/mybatis/shop/TssLogin.xml

@@ -14,11 +14,29 @@
 		     , ROLE_REF_VAL                                                /*권한관련값*/
 		     , CASE WHEN SUBSTRING(REPLACE(ROLE_CD,'G001_', ''),1,1) = 'B' THEN
 		                ROLE_REF_VAL
+		            END                                  AS SUPPLY_VENDOR_CD /*공급벤더코드*/
+		     , CASE WHEN SUBSTRING(REPLACE(ROLE_CD,'G001_', ''),1,1) = 'B' THEN
+		                (SELECT SUPPLY_VENDOR_NM
+		                 FROM   TB_SUPPLY_VENDOR
+		                 WHERE  SUPPLY_VENDOR_CD = A.ROLE_REF_VAL
+		                )
+		       END                                       AS SUPPLY_VENDOR_NM /*공급벤더명*/
+		     , CASE WHEN SUBSTRING(REPLACE(ROLE_CD,'G001_', ''),1,1) = 'B' THEN
+		                (SELECT SUPPLY_COMP_CD
+		                 FROM   TB_SUPPLY_COMPANY
+		                 WHERE  SUPPLY_VENDOR_CD = A.ROLE_REF_VAL
+		                 AND    USE_YN = 'Y'
+		                 ORDER  BY SUPPLY_COMP_NM
+		                 LIMIT 1
+		                )
 		            END                                  AS SUPPLY_COMP_CD /*공급업체코드*/
 		     , CASE WHEN SUBSTRING(REPLACE(ROLE_CD,'G001_', ''),1,1) = 'B' THEN
 		                (SELECT SUPPLY_COMP_NM
 		                 FROM   TB_SUPPLY_COMPANY
-		                 WHERE  SUPPLY_COMP_CD = A.ROLE_REF_VAL
+		                 WHERE  SUPPLY_VENDOR_CD = A.ROLE_REF_VAL
+		                 AND    USE_YN = 'Y'
+		                 ORDER  BY SUPPLY_COMP_NM
+		                 LIMIT 1
 		                )
 		       END                                       AS SUPPLY_COMP_NM /*공급업체명*/
 		     -- , CASE WHEN SUBSTRING(REPLACE(ROLE_CD,'G001_', ''),1,1) = 'E' THEN
@@ -62,7 +80,7 @@
 		AND    (ROLE_CD LIKE 'G001_B%'
 		        OR ROLE_CD LIKE 'G001_E%'
 		        OR ROLE_CD LIKE 'G001_D%'
-		        OR ROLE_CD LIKE 'G001_F%') /*입점업체담당자, 촬영업체담당자, 제휴채널담당자, 직송매장담당자*/
+		        OR ROLE_CD LIKE 'G001_F%') /*입점업체벤더담당자, 촬영업체담당자, 제휴채널담당자, 직송매장담당자*/
 		AND    USE_YN = 'Y'
 	</select>
 	

+ 3 - 0
src/main/java/com/style24/persistence/mybatis/shop/TssRenderer.xml

@@ -18,6 +18,9 @@
 		<if test='selfYn == "N"'>
 		AND    DISTRIBUTION_GB = 'G065_20'
 		</if>
+		<if test='supplyVendorCd != null and supplyVendorCd != ""'>
+		AND    SUPPLY_VENDOR_CD = #{supplyVendorCd}
+		</if>
 		ORDER  BY SUPPLY_COMP_NM
 	</select>
 	

+ 16 - 2
src/main/java/com/style24/scm/biz/service/TssRendererService.java

@@ -130,6 +130,20 @@ public class TssRendererService {
 		return this.getSupplyCompanyList(supplyCompany);
 	}
 
+	/**
+	 * 입점공급업체 목록
+	 * @param supplyVendorCd - 공급벤더코드
+	 * @return 입점공급업체 목록
+	 * @author gagamel
+	 * @since 2021. 8. 25
+	 */
+	public Collection<CommonCode> getEntrSupplyCompanyList(String supplyVendorCd) {
+		SupplyCompany supplyCompany = new SupplyCompany();
+		supplyCompany.setSupplyVendorCd(supplyVendorCd);
+		supplyCompany.setSelfYn("N");
+		return this.getSupplyCompanyList(supplyCompany);
+	}
+
 	/**
 	 * 공통코드 목록 - 어드민 공통코드 캐시 미적용 - 상품등록시 시즌년도 캐쉬로 인한 정보 오류로 수정 2020.06.02
 	 * @param commoncode - 공통코드 정보
@@ -486,7 +500,7 @@ public class TssRendererService {
 	public Collection<DelvFeePolicy> getSupplyDeliveryPolicyList(String supplyCompCd) {
 		return rendererDao.getSupplyDeliveryPolicyList(supplyCompCd);
 	}
-	
+
 	/**
 	 * 제휴채널 목록
 	 * @param afChannel - 상위제휴채널
@@ -524,7 +538,7 @@ public class TssRendererService {
 	public Collection<CommonCode> getSelfBrandList() {
 		return rendererDao.getSelfBrandList();
 	}
-	
+
 	/**
 	 * 업체별 출고처 목록
 	 * @param supplyCompCd - 공급업체코드

+ 14 - 0
src/main/java/com/style24/scm/biz/web/TssBusinessController.java

@@ -233,4 +233,18 @@ public class TssBusinessController extends TssBaseController {
 		return mav;
 	}
 
+	/**
+	 * 입점업체코드 세션 정보 Update
+	 * @param supplyCompCd - 공급업체코드
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 8. 25
+	 */
+	@PostMapping("/session/supplycompcd/update/{supplyCompCd}")
+	@ResponseBody
+	public GagaResponse updateSessionSupplyCompanyCode(@PathVariable String supplyCompCd) {
+		TssSession.getInfo().setSupplyCompCd(supplyCompCd);
+		return super.ok(message.getMessage("SUCC_0004"));
+	}
+
 }

+ 15 - 2
src/main/java/com/style24/scm/biz/web/TssRendererController.java

@@ -189,7 +189,7 @@ public class TssRendererController extends TssBaseController {
 	public Collection<CommonCode> getDeliveryFeeList(@PathVariable String supplyCompCd) {
 		return rendererService.getSupplyDeliveryFeePolicyList(supplyCompCd);
 	}
-	
+
 	/**
 	 * 업체별 배송비정책 목록(정책명)
 	 * @param supplyCompCd - 공급업체코드
@@ -202,7 +202,7 @@ public class TssRendererController extends TssBaseController {
 	public Collection<DelvFeePolicy> getSupplyDeliveryPolicyList(@PathVariable String supplyCompCd) {
 		return rendererService.getSupplyDeliveryPolicyList(supplyCompCd);
 	}
-	
+
 	/**
 	 * 출고처 목록
 	 * @param supplyCompCd - 공급업체코드
@@ -216,4 +216,17 @@ public class TssRendererController extends TssBaseController {
 		return rendererService.getSupplyDeliveryLocList(supplyCompCd);
 	}
 
+	/**
+	 * 입점벤더의 공급업체 목록
+	 * @param supplyVendorCd - 입점벤더코드
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 8. 25
+	 */
+	@GetMapping("/supply/vendor/company/list/{supplyVendorCd}")
+	@ResponseBody
+	public Collection<CommonCode> getSupplyVendorCompanyList(@PathVariable String supplyVendorCd) {
+		return rendererService.getEntrSupplyCompanyList(supplyVendorCd);
+	}
+
 }

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

@@ -38,6 +38,8 @@
 		
 		<!-- 사용자,권한,로그아웃-->
 		<div class="header-info">
+			<select id="gnbSupplyCompCd" style="background-color: darkblue; display: none;">
+			</select>
 			<i class="heart">&#10084;</i>
 			<a><strong th:text="${sessionInfo.userNm + ' (' + sessionInfo.userId + ')'}">홍길동</strong></a>
 			<i class="dot">&bull;</i>
@@ -88,9 +90,25 @@
 		cfnOpenModalPopup('/password/change/form', 'popupPasswordChange');
 	}
 	
+	// 입점업체 변경 시
+	$('#gnbSupplyCompCd').on('change', function() {
+		$.post('/business/session/supplycompcd/update/' + $(this).val()
+			, function(result) {
+				document.location.href = '/';
+			});
+	});
+	
 	$(document.body).ready(function() {
 		// 로그인메뉴목록 설정
 		cfnSetLoginMenuList([[${loginMenuList}]]);
+		
+		// 입점벤더 권한이면
+		if ([[${sessionInfo.roleCd}]] == 'G001_B000') {
+			var actionUrl = '/renderer/supply/vendor/company/list/' + [[${sessionInfo.supplyVendorCd}]];
+			$('#gnbSupplyCompCd').empty();
+			cfnCreateCombo(actionUrl, $('#gnbSupplyCompCd'), '', [[${sessionInfo.supplyCompCd}]]);
+			$('#gnbSupplyCompCd').show();
+		}
 	});
 /*]]>*/
 </script>