浏览代码

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.scm into develop

jsshin 5 年之前
父节点
当前提交
ac7585dc92
共有 31 个文件被更改,包括 740 次插入314 次删除
  1. 19 0
      src/main/java/com/style24/persistence/domain/BrandSupply.java
  2. 25 0
      src/main/java/com/style24/persistence/domain/DelvFeePolicy.java
  3. 2 2
      src/main/java/com/style24/persistence/domain/GoodsNotiInfo.java
  4. 1 1
      src/main/java/com/style24/persistence/domain/GoodsPriceRes.java
  5. 3 3
      src/main/java/com/style24/persistence/domain/NotiInfo.java
  6. 27 15
      src/main/java/com/style24/persistence/mybatis/shop/TssBusiness.xml
  7. 1 1
      src/main/java/com/style24/persistence/mybatis/shop/TssCommon.xml
  8. 125 0
      src/main/java/com/style24/persistence/mybatis/shop/TssDisplay.xml
  9. 93 63
      src/main/java/com/style24/persistence/mybatis/shop/TssGoods.xml
  10. 26 4
      src/main/java/com/style24/persistence/mybatis/shop/TssNotice.xml
  11. 4 4
      src/main/java/com/style24/persistence/mybatis/shop/TssOrder.xml
  12. 30 20
      src/main/java/com/style24/persistence/mybatis/shop/TssRenderer.xml
  13. 1 8
      src/main/java/com/style24/persistence/mybatis/shop/TssStock.xml
  14. 10 0
      src/main/java/com/style24/scm/biz/dao/TssBusinessDao.java
  15. 22 0
      src/main/java/com/style24/scm/biz/dao/TssDisplayDao.java
  16. 18 0
      src/main/java/com/style24/scm/biz/dao/TssGoodsDao.java
  17. 4 2
      src/main/java/com/style24/scm/biz/dao/TssNoticeDao.java
  18. 3 2
      src/main/java/com/style24/scm/biz/dao/TssRendererDao.java
  19. 11 0
      src/main/java/com/style24/scm/biz/service/TssBusinessService.java
  20. 30 0
      src/main/java/com/style24/scm/biz/service/TssDisplayService.java
  21. 186 142
      src/main/java/com/style24/scm/biz/service/TssGoodsService.java
  22. 3 2
      src/main/java/com/style24/scm/biz/service/TssNoticeService.java
  23. 18 1
      src/main/java/com/style24/scm/biz/service/TssRendererService.java
  24. 37 20
      src/main/java/com/style24/scm/biz/web/TssGoodsController.java
  25. 1 1
      src/main/java/com/style24/scm/biz/web/TssSettleController.java
  26. 二进制
      src/main/webapp/WEB-INF/lib/gagaframework-web-util-1.7-RELEASE.jar
  27. 6 10
      src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html
  28. 1 1
      src/main/webapp/WEB-INF/views/goods/GoodsDetailSizeStockForm.html
  29. 9 5
      src/main/webapp/WEB-INF/views/goods/GoodsListForm.html
  30. 22 4
      src/main/webapp/WEB-INF/views/goods/GoodsMassRegisterForm.html
  31. 2 3
      src/main/webapp/WEB-INF/views/settle/AfLinkSettleForm.html

+ 19 - 0
src/main/java/com/style24/persistence/domain/BrandSupply.java

@@ -0,0 +1,19 @@
+package com.style24.persistence.domain;
+
+import com.style24.persistence.TscBaseDomain;
+
+import lombok.Data;
+
+/**
+ * 브랜드공급업체 Domain
+ *
+ * @author eskim
+ * @since 2021. 01. 21
+ */
+@SuppressWarnings("serial")
+@Data
+public class BrandSupply extends TscBaseDomain {
+
+	private String brandCd;
+	private String supplyCompCd;
+}

+ 25 - 0
src/main/java/com/style24/persistence/domain/DelvFeePolicy.java

@@ -0,0 +1,25 @@
+package com.style24.persistence.domain;
+
+import com.style24.persistence.TscBaseDomain;
+
+import lombok.Data;
+
+/**
+ * 배송비정책 Domain
+ * 
+ * @author gagamel
+ * @since 2020. 11. 24
+ */
+@SuppressWarnings("serial")
+@Data
+public class DelvFeePolicy extends TscBaseDomain {
+
+	private String delvFeeCd;		// 배송비정책코드
+	private String supplyCompCd;	// 공급업체코드
+	private String delvFeeCrite;	// 배송비부과기준(G078_10:조건부무료, G078_20:무료, G078_30:유료)
+	private int minOrdAmt;			// 무료배송비최소주문금액
+	private int delvFee;			// 배송비
+	private int rtnDelvFee;			// 반품배송비
+	private String useYn;			// 사용여부
+
+}

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

@@ -19,8 +19,8 @@ public class GoodsNotiInfo extends TscBaseDomain {
 	private String niItemCd;
 	private String niContent;
 	private int dispOrd;
-	private String dispYn;
-	private String reqYn;
+	//private String dispYn;
+	//private String reqYn;
 
 	private String niItemNm;
 	private String supplyVendorCd;

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

@@ -19,7 +19,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;

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

@@ -15,15 +15,15 @@ import lombok.Data;
 @Data
 public class NotiInfo extends TscBaseDomain {
 
-	private String supplyCompCd;
+	private String supplyVendorCd;
 	private String niClsfCd;
 	private String niClsfNm;
 	private String niItemCd;
 	private String niItemNm;
 	private String niContent;
 	private Integer dispOrd;
-	private String reqYn;
-	private String dispYn;
+	//private String reqYn;
+	//private String dispYn;
 
 	private String crud;
 	private String goodsCd;

+ 27 - 15
src/main/java/com/style24/persistence/mybatis/shop/TssBusiness.xml

@@ -202,14 +202,9 @@
 		     , A.DISP_NM_LANG                /*노출명언어*/
 		     , A.RGB_CD                      /*RGB코드*/
 		     , A.DISTRIBUTION_GB             /*유통구분*/
-		     , A.SUPPLY_COMP_CD              /*업체코드*/
-		     , B.SUPPLY_COMP_NM              /*업체명*/
-		     , A.DELV_LOC_CD                 /*출고처코드*/
-		     , C.DELV_LOC_NM                 /*출고처명*/
+		     -- , B.SUPPLY_COMP_NM              /*업체명*/
 		     , A.ERP_BRAND_CD                /*ERP브랜드코드*/
 		     , A.SELF_YN                     /*자사여부*/
-		     , A.DELV_FEE_CD                 /*배송비정책코드*/
-		     , A.SELL_FEE_RATE               /*판매수수료율*/
 		     , A.USE_YN                      /*사용여부*/
 		     , A.PNT_PRATE10                 /*포인트적립율(PC)*/
 		     , A.PNT_MRATE10                 /*포인트적립율(모바일)*/
@@ -217,16 +212,14 @@
 		     , A.PNT_MRATE20                 /*포인트적립율(모바일)*/
 		     , A.LOGO_FILE_NM                 /*로고파일명*/
 		     , A.DISP_ORD                    /*표시순서*/
-		     , 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
+		<if test='supplyCompCd != null and supplyCompCd != ""'>
+		INNER JOIN TB_BRAND_SUPPLY C ON A.BRAND_CD = C.BRAND_CD
+		INNER JOIN TB_SUPPLY_COMPANY B ON C.SUPPLY_COMP_CD = B.SUPPLY_COMP_CD
+		</if>
 		WHERE  1 = 1
 		<if test='supplyCompCd != null and supplyCompCd != ""'>
-		AND    A.SUPPLY_COMP_CD = #{supplyCompCd}
+		AND    C.SUPPLY_COMP_CD = #{supplyCompCd}
 		</if>
 		<if test='distributionGb != null and distributionGb != ""'>
 		AND    A.DISTRIBUTION_GB = #{distributionGb}
@@ -251,7 +244,7 @@
 		<if test='useYn != null and useYn != ""'>
 		AND    A.USE_YN = #{useYn}
 		</if>
-		ORDER  BY A.SELF_YN DESC, A.SUPPLY_COMP_CD, A.DISP_ORD
+		ORDER  BY A.SELF_YN DESC,  A.DISP_ORD
 	</select>
 	
 	<!-- 담당MD 목록 -->
@@ -314,6 +307,25 @@
 		AND    USE_YN = 'Y'
 	</insert>
 	
-	
+	<!-- 배송비정책 목록 -->
+	<select id="getDeliveryFeePolicyList" parameterType="DelvFeePolicy" resultType="DelvFeePolicy">
+		/* TsaBusiness.getDeliveryFeePolicyList */
+		SELECT DELV_FEE_CD    /*배송비정책코드*/
+		     , SUPPLY_COMP_CD /*공급업체코드*/
+		     , DELV_FEE_CRITE /*배송비부과기준*/
+		     , MIN_ORD_AMT    /*무료배송비최소주문금액*/
+		     , DELV_FEE       /*배송비*/
+		     , RTN_DELV_FEE   /*반품배송비*/
+		     , USE_YN         /*사용여부*/
+		FROM   TB_DELV_FEE_POLICY
+		WHERE  SUPPLY_COMP_CD = #{supplyCompCd}
+		<if test="delvFeeCd != null and delvFeeCd != ''">
+		AND DELV_FEE_CD = #{delvFeeCd}
+		</if>
+		<if test="useYn != null and useYn != ''">
+		AND USE_YN = #{useYn}
+		</if>
+		ORDER  BY DELV_FEE_CD
+	</select>
 	
 </mapper>

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

@@ -66,7 +66,7 @@
 	<!-- WMS 연동 여부 -->
 	<select id="getWmsSyncYn" resultType="String">
 		/* TsaSystem.getWmsSyncYn */
-		SELECT UPPER(NVL(USE_YN,'N')) AS WMS_SYNC_YN
+		SELECT UPPER(IFNULL(USE_YN,'N')) AS WMS_SYNC_YN
 		FROM TB_COMMON_CODE
 		WHERE CD_GB = 'G077'
 		AND CD = 'WMSSYNCYN'

+ 125 - 0
src/main/java/com/style24/persistence/mybatis/shop/TssDisplay.xml

@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.style24.scm.biz.dao.TssDisplayDao">
+
+	<!-- 상품별 전시카테고리 삭제-->
+	<delete id="deleteGoodsCategory" parameterType="GoodsCategory">
+		/* TssDisplay.deleteGoodsCategory */
+		DELETE
+		FROM TB_CATE_GOODS
+		WHERE GOODS_CD = #{goodsCd}
+		<choose>
+		<when test="cateType == 'G031_20' and cateCd != null and cateCd != ''">
+		AND CATE_NO = #{cateCd}
+		</when>
+		<otherwise>
+		AND CATE_NO IN (
+		    SELECT CATE_CD FROM
+		    (
+		        SELECT CATE1_NO AS CATE_CD
+		        , CATE1_NO
+		        , CATE2_NO
+		        , CATE3_NO
+		        , CATE4_NO
+		        , CATE_TYPE
+		        FROM TB_CATE_4SRCH
+		        <if test="cateCd != null and cateCd1 != cateCd">
+		        WHERE EXISTS (
+		            SELECT 1 FROM (
+		                SELECT COUNT(*) AS CATE_CNT
+		                FROM (
+		                    SELECT CATE_NO
+		                    FROM TB_CATE_GOODS
+		                    WHERE GOODS_CD = #{goodsCd}
+		                    AND CATE_NO IN (
+		                            SELECT LEAF_CATE_NO
+		                            FROM TB_CATE_4SRCH
+		                            WHERE CATE1_NO  = #{cateCd1}
+		                        )
+		                    ) ALIAS_FOR_SUBQUERY
+		                ) ALIAS_FOR_SUBQUERY
+		            <![CDATA[WHERE CATE_CNT < 2 ]]>
+		        )
+		        </if>
+		        UNION ALL
+		        SELECT CATE2_NO AS CATE_CD
+		            , CATE1_NO
+		            , CATE2_NO
+		            , CATE3_NO
+		            , CATE4_NO
+		            , CATE_TYPE
+		        FROM TB_CATE_4SRCH
+		        <if test="cateCd != null and cateCd1 != cateCd and cateCd2 != cateCd">
+		        WHERE EXISTS (
+		            SELECT 1 FROM (
+		                SELECT COUNT(*) AS CATE_CNT
+		                FROM (
+		                    SELECT CATE_NO
+		                    FROM TB_CATE_GOODS
+		                    WHERE GOODS_CD = #{goodsCd}
+		                    AND CATE_NO IN (
+		                        SELECT LEAF_CATE_NO
+		                        FROM TB_CATE_4SRCH
+		                        WHERE CATE2_NO = #{cateCd2}
+		                    )
+		                ) ALIAS_FOR_SUBQUERY
+		            ) ALIAS_FOR_SUBQUERY
+		            <![CDATA[WHERE CATE_CNT < 2 ]]>
+		        )
+		        </if>
+		        UNION ALL
+		        SELECT CATE3_NO AS CATE_CD
+		            , CATE1_NO
+		            , CATE2_NO
+		            , CATE3_NO
+		            , CATE4_NO
+		            , CATE_TYPE
+		        FROM TB_CATE_4SRCH
+		        <if test="cateCd != null and cateCd == cateCd4">
+		        WHERE EXISTS (
+		            SELECT 1 FROM (
+		                SELECT COUNT(*) AS CATE_CNT
+		                FROM (
+		                    SELECT CATE_NO
+		                    FROM TB_CATE_GOODS
+		                    WHERE GOODS_CD = #{goodsCd}
+		                    AND CATE_NO IN (
+		                            SELECT LEAF_CATE_NO
+		                            FROM TB_CATE_4SRCH
+		                            WHERE CATE3_NO = #{cateCd3}
+		                    )
+		                ) ALIAS_FOR_SUBQUERY
+		            ) ALIAS_FOR_SUBQUERY
+		            <![CDATA[WHERE CATE_CNT < 2 ]]>
+		        )
+		        </if>
+		        UNION ALL
+		        SELECT CATE4_NO AS CATE_CD
+		        , CATE1_NO
+		        , CATE2_NO
+		        , CATE3_NO
+		        , CATE4_NO
+		        , CATE_TYPE
+		        FROM TB_CATE_4SRCH
+		    ) ALIAS_FOR_SUBQUERY
+		    <if test="cateCd != null and cateCd1 == cateCd">
+		        WHERE CATE1_NO = #{cateCd}
+		    </if>
+		    <if test="cateCd != null and cateCd2 == cateCd">
+		        WHERE CATE2_NO = #{cateCd}
+		    </if>
+		    <if test="cateCd != null and cateCd3 == cateCd">
+		        WHERE CATE3_NO = #{cateCd}
+		    </if>
+		    <if test="cateCd != null and cateCd4 == cateCd">
+		        WHERE CATE4_NO = #{cateCd}
+		    </if>
+		    <if test="cateCd == null or cateCd == ''">
+		        WHERE CATE_TYPE = 'G031_10'
+		    </if>
+		)
+		</otherwise>
+		</choose>
+	</delete>
+	
+</mapper>

+ 93 - 63
src/main/java/com/style24/persistence/mybatis/shop/TssGoods.xml

@@ -76,8 +76,8 @@
 	<select id="getGoodsList" parameterType="GoodsSearch" resultType="Goods">
 		/* TssGoods.getGoodsList */
 		SELECT Q.*
-		    , (CASE WHEN Q.GOODS_TYPE = 'G056_N' THEN (SELECT NVL(SUM(CURR_STOCK_QTY - BASE_STOCK_QTY),0) FROM VW_STOCK WHERE GOODS_CD = Q.GOODS_CD) 
-		            ELSE (SELECT NVL(SUM(CURR_STOCK_QTY - BASE_STOCK_QTY),0) FROM VW_STOCK_COMPOSE WHERE GOODS_CD = Q.GOODS_CD) 
+		    , (CASE WHEN Q.GOODS_TYPE = 'G056_N' THEN (SELECT IFNULL(SUM(CURR_STOCK_QTY - BASE_STOCK_QTY),0) FROM VW_STOCK WHERE GOODS_CD = Q.GOODS_CD) 
+		            ELSE (SELECT IFNULL(SUM(CURR_STOCK_QTY - BASE_STOCK_QTY),0) FROM VW_STOCK_COMPOSE WHERE GOODS_CD = Q.GOODS_CD) 
 		            END) AS STOCK_QTY_SUM
 		    , (SELECT ITEMKIND_NM FROM TB_ITEMKIND WHERE ITEMKIND_CD = Q.ITEMKIND_CD ) AS ITEMKIND_NM
 		    , FN_GET_USER_NM(REG_NO) AS REG_NM
@@ -394,7 +394,7 @@
 		        <if test="cateCd != null and cateCd != ''">
 		        AND G.GOODS_CD IN (
 		            SELECT GOODS_CD
-		            FROM   TB_CATEGORY_GOODS
+		            FROM   TB_CATE_GOODS
 		            WHERE  CATE_CD = #{cateCd}
 		        )
 		        </if>
@@ -453,8 +453,8 @@
 		     , CASE IFNULL((SELECT COUNT(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ),0) 
 		            WHEN 0 THEN 'N'
 		            ELSE 'Y' END AS GOODS_IMAGE_YN
-		     , (CASE WHEN G.GOODS_TYPE = 'G056_N' THEN (SELECT NVL(SUM(CURR_STOCK_QTY - BASE_STOCK_QTY),0) FROM VW_STOCK WHERE GOODS_CD = G.GOODS_CD) 
-		            ELSE (SELECT NVL(SUM(CURR_STOCK_QTY - BASE_STOCK_QTY),0) FROM VW_STOCK_COMPOSE WHERE GOODS_CD = G.GOODS_CD) 
+		     , (CASE WHEN G.GOODS_TYPE = 'G056_N' THEN (SELECT IFNULL(SUM(CURR_STOCK_QTY - BASE_STOCK_QTY),0) FROM VW_STOCK WHERE GOODS_CD = G.GOODS_CD) 
+		            ELSE (SELECT IFNULL(SUM(CURR_STOCK_QTY - BASE_STOCK_QTY),0) FROM VW_STOCK_COMPOSE WHERE GOODS_CD = G.GOODS_CD) 
 		            END) AS STOCK_QTY_SUM
 		     , (SELECT ITEMKIND_NM FROM TB_ITEMKIND WHERE ITEMKIND_CD = G.ITEMKIND_CD) AS ITEMKIND_NM
 		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ) AS SYS_IMG_NM
@@ -585,8 +585,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
@@ -625,20 +627,12 @@
 		     , C.NI_ITEM_CD
 		     , C.NI_CONTENT
 		     , C.DISP_ORD
-		     , A.DISP_YN
-		     , A.REQ_YN
 		FROM TB_GOODS_NOTI_INFO C
 		INNER JOIN TB_GOODS B ON C.GOODS_CD = B.GOODS_CD
-		INNER JOIN TB_SUPPLY_COMPANY D ON B.SUPPLY_COMP_CD = D.SUPPLY_COMP_CD
-		INNER JOIN TB_NOTI_INFO A ON C.NI_CLSF_CD = A.NI_CLSF_CD
-		                          AND C.NI_ITEM_CD = A.NI_ITEM_CD
-		                          AND A.SUPPLY_VENDOR_CD = CASE D.SUPPLY_VENDOR_CD
-		                                                        WHEN 'SV0001' THEN 'SV0001'
-		                                                        WHEN 'SV0002' THEN 'SV0002'
-		                                                        ELSE 'E' 
-		                                                   END
 		WHERE C.GOODS_CD = #{goodsCd}
+		<if test="niClsfCd != null and niClsfCd != '' ">
 		AND C.NI_CLSF_CD = #{niClsfCd}
+		</if>
 		ORDER BY C.DISP_ORD
 	</select>
 	
@@ -649,18 +643,16 @@
 		      , N.NI_CLSF_CD
 		      , N.NI_ITEM_CD
 		      , FN_GET_CODE_NM('G005', N.NI_ITEM_CD) AS NI_ITEM_NM
-		      , CASE WHEN NI_ITEM_CD = 'G005_003' THEN NVL(G.COLOR_NM,N.NI_CONTENT)
-		             WHEN NI_ITEM_CD = 'G005_004' THEN NVL(G.SIZE_NAME,N.NI_CONTENT)
-		             WHEN NI_ITEM_CD = 'G005_006' THEN NVL(FN_GET_CODE_NM('G076', G.ORIGIN_CD),N.NI_CONTENT)
+		      , CASE WHEN NI_ITEM_CD = 'G005_003' THEN IFNULL(G.COLOR_NM,N.NI_CONTENT)
+		             WHEN NI_ITEM_CD = 'G005_004' THEN IFNULL(G.SIZE_NAME,N.NI_CONTENT)
+		             WHEN NI_ITEM_CD = 'G005_006' THEN IFNULL(FN_GET_CODE_NM('G076', G.ORIGIN_CD),N.NI_CONTENT)
 		             WHEN NI_ITEM_CD = 'G005_097' AND FN_GET_CODE_NM('G076', G.ORIGIN_CD) IN ('대한민국', '한국', 'KOREA') THEN 'N'
 		             WHEN NI_ITEM_CD = 'G005_097' AND FN_GET_CODE_NM('G076', G.ORIGIN_CD) NOT IN ('대한민국', '한국', 'KOREA') THEN 'Y'
-		             WHEN NI_ITEM_CD = 'G005_009' THEN NVL(G.MAKE_YMD, N.NI_CONTENT)
+		             WHEN NI_ITEM_CD = 'G005_009' THEN IFNULL(G.MAKE_YMD, N.NI_CONTENT)
 		        ELSE N.NI_CONTENT
 		        END
 		        AS  NI_CONTENT
 		      , N.DISP_ORD
-		      , N.REQ_YN
-		      , N.DISP_YN
 		 FROM (
 		     SELECT G.GOODS_CD
 		         , G.ITEMKIND_CD
@@ -943,7 +935,7 @@
 	<!-- 상품 자동 검색어 조회-->
 	<select id="getGoodsSnm" parameterType="String" resultType="String">
 		/* TssGoods.getGoodsSnm */
-		WITH RECURSIVE TMP_COLOR_GOODS AS (
+		WITH TMP_COLOR_GOODS AS (
 		    SELECT GOODS_CD
 		         , REPLACE(CONCAT(GROUP_CONCAT(COLOR_GRP_CD),';',GROUP_CONCAT(COLOR_ENM),';',GROUP_CONCAT(CD_NM)),',',';') AS COLOR_INFO
 		    FROM (
@@ -967,7 +959,7 @@
 		       G.STYLE_YEAR,';',
 		       FN_GET_CODE_NM('G006',G.SEASON_CD),';',
 		       FN_GET_CODE_NM('G007',G.SEX_GB),';',
-		       NVL2(D.COLOR_INFO,CONCAT(D.COLOR_INFO,';'),''),
+		       COALESCE(D.COLOR_INFO,CONCAT(D.COLOR_INFO,';'),''),
 		       REPLACE(I.ITEMKIND_NM,'>',';')
 		       )) AS GOODS_SNM
 		FROM TB_GOODS G
@@ -991,8 +983,8 @@
 	<select id="getNewNotiInfo" parameterType="Goods" resultType="GoodsNotiInfo">
 		/* TssGoods.getNewNotiInfo */
 		SELECT D.NI_CLSF_CD
-		     , NVL(C.NI_ITEM_CD, D.NI_ITEM_CD) AS NI_ITEM_CD
-		     , NVL(C.NI_CONTENT, D.NI_CONTENT) AS NI_CONTENT
+		     , IFNULL(C.NI_ITEM_CD, D.NI_ITEM_CD) AS NI_ITEM_CD
+		     , IFNULL(C.NI_CONTENT, D.NI_CONTENT) AS NI_CONTENT
 		     , D.DISP_ORD
 		FROM (
 		       SELECT A.NI_CLSF_CD
@@ -1058,7 +1050,7 @@
 	<!-- 상품 사이즈 조회 -->
 	<select id="getGoodsSizeList" parameterType="Goods" resultType="Option">
 		/* TssGoods.getGoodsSizeList */
-		WITH RECURSIVE TMP_GOODS AS (
+		WITH TMP_GOODS AS (
 		    SELECT A.GOODS_CD 
 		         , A.GOODS_TYPE 
 		         , IFNULL(B.COMPS_GOODS_CD, A.GOODS_CD) AS COMPS_GOODS_CD
@@ -1071,7 +1063,7 @@
 		SELECT #{goodsCd} AS GOODS_CD
 		     , A.GOODS_CD AS COMPS_GOODS_CD
 		     , A.OPT_CD
-		     , CONCAT(A.OPT_CD1,  NVL2(A.OPT_CD2, '', CONCAT('/', A.OPT_CD2))) AS OPT_NM 
+		     , CONCAT(A.OPT_CD1,  COALESCE(A.OPT_CD2, '', CONCAT('/', A.OPT_CD2))) AS OPT_NM 
 		     , A.OPT_CD1
 		     , A.OPT_CD2
 		     , A.ADD_PRICE
@@ -1107,15 +1099,15 @@
 	<select id="getGoodsColorList" parameterType="Goods" resultType="GoodsImg">
 		/* TssGoods.getGoodsColorList */
 		SELECT A.GOODS_CD 
-		     , NVL(A.OPT_CD1, A.MAIN_COLOR_CD) AS OPT_CD1
+		     , IFNULL(A.OPT_CD1, A.MAIN_COLOR_CD) AS OPT_CD1
 		     , A.MAIN_COLOR_CD
-		     , IF(A.MAIN_COLOR_CD = NVL(A.OPT_CD1, A.MAIN_COLOR_CD), 'Y','N') AS  MAIN_COLOR_YN
+		     , IF(A.MAIN_COLOR_CD = IFNULL(A.OPT_CD1, A.MAIN_COLOR_CD), 'Y','N') AS  MAIN_COLOR_YN
 		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = A.GOODS_CD AND COLOR_CD = A.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' ) AS SYS_IMG_NM 
 		     , C.COLOR_ENM 
 		FROM (
 		      SELECT A.GOODS_CD 
 		           , A.MAIN_COLOR_CD 
-		           , NVL(B.OPT_CD1,'00') AS OPT_CD1
+		           , IFNULL(B.OPT_CD1,'00') AS OPT_CD1
 		      FROM TB_GOODS A
 		      LEFT OUTER JOIN TB_OPTION B ON A.GOODS_CD = B.GOODS_CD
 		                                  AND 1 = (CASE WHEN A.SELF_GOODS_YN = 'Y' THEN 1
@@ -1180,22 +1172,22 @@
 		  , #{productCode}
 		  , #{brandCd}
 		  , #{itemkindCd}
-		  , NVL(#{goodsNm},'상품명없음')
+		  , IFNULL(#{goodsNm},'상품명없음')
 		  , #{goodsTnm}
 		  , #{goodsSnm}
 		  , #{goodsSnm1}
-		  , NVL(#{mainColorCd},'00')
+		  , IFNULL(#{mainColorCd},'00')
 		  , #{styleYear}
 		  , #{seasonCd}
 		  , #{sexGb}
 		  , #{goodsNum}
-		  , NVL(#{goodsType},'N')
+		  , IFNULL(#{goodsType},'N')
 		  , #{listPrice}
 		  , #{currPrice}
 		  , #{costPrice}
 		  , #{dcRate}
 		  , #{goodsStat}
-		  , NVL(#{selfMallYn},'Y') 
+		  , IFNULL(#{selfMallYn},'Y') 
 		  , #{goodsGb}
 		  , #{distributionGb}
 		  , #{selfGoodsYn}
@@ -1207,12 +1199,12 @@
 		  , #{pntMrate}
 		  , #{sellFeeRate}
 		  , #{formalGb}
-		  , NVL(#{giftPackYn},'N')
+		  , IFNULL(#{giftPackYn},'N')
 		  , #{originCd}
 		  , #{makeYmd}
 		  , #{taxGb}
-		  , NVL(#{erpStockLinkYn},'N')
-		  , NVL(#{adultYn},'N')
+		  , IFNULL(#{erpStockLinkYn},'N')
+		  , IFNULL(#{adultYn},'N')
 		  , #{regNo}
 		  , NOW()
 		  , #{updNo}
@@ -1267,7 +1259,7 @@
 		  , GOODS_SNM1 = #{goodsSnm1}
 		  , SELF_MALL_YN = #{selfMallYn}
 		  , GOODS_SNM = #{goodsSnm}
-		  , FRST_CFRM_DT = (CASE #{chGoodsStatYn} WHEN 'Y' THEN NVL2(FRST_CFRM_DT, NOW(), FRST_CFRM_DT)
+		  , FRST_CFRM_DT = (CASE #{chGoodsStatYn} WHEN 'Y' THEN COALESCE(FRST_CFRM_DT, NOW(), FRST_CFRM_DT)
 		                                          ELSE FRST_CFRM_DT END)
 		  , PRE_PPNT_USABLE_YN = #{prePpntUsableYn}
 		  , PRE_MPNT_USABLE_YN = #{preMpntUsableYn}
@@ -1754,10 +1746,10 @@
 		, #{sellFeeRate}
 		, STR_TO_DATE(#{applyStdt},'%Y%m%d%H%i%S')
 		, STR_TO_DATE(#{applyEddt},'%Y%m%d%H%i%S')
-		, NVL(#{cfrmYn},'N')
+		, IFNULL(#{cfrmYn},'N')
 		, #{cfrmNo}
 		, #{cfrmDt}
-		, NVL(#{applyYn},'N')
+		, IFNULL(#{applyYn},'N')
 		, #{regNo}
 		, NOW()
 		, #{updNo}
@@ -1897,12 +1889,10 @@
 		     , B.DISP_ORD
 		     , FN_GET_CODE_NM('G005', B.NI_ITEM_CD) AS NI_ITEM_NM
 		     , #{goodsCd} AS GOODS_CD
-		     , B.DISP_YN
-		     , B.REQ_YN
 		FROM TB_ITEMKIND A
 		INNER JOIN TB_NOTI_INFO B ON A.NI_CLSF_CD = B.NI_CLSF_CD
-		                          AND B.SUPPLY_VENDOR_CD = (CASE #{supplyVendorCd} WHEN 'S0001' THEN 'S0001' 
-		                                                                           WHEN 'S0002' THEN 'S0002'
+		                          AND B.SUPPLY_VENDOR_CD = (CASE #{supplyVendorCd} WHEN 'SV0001' THEN 'SV0001' 
+		                                                                           WHEN 'SV0002' THEN 'SV0002'
 		                                                                           ELSE 'E' 
 		                                                    END)             
 		WHERE A.ITEMKIND_CD = #{itemkindCd}
@@ -2066,7 +2056,7 @@
 		   , REG_NO
 		   , REG_DT
 		    )
-		WITH RECURSIVE TAB_GOODS AS (
+		WITH TAB_GOODS AS (
 		    SELECT A.GOODS_CD
 		         , A.ITEMKIND_CD
 		         , B.CATE_NO
@@ -2170,7 +2160,7 @@
 		     , Z.PRODUCT_NO
 		     , Z.PRODUCT_CODE
 		     , SUM(Z.CURR_STOCK_QTY) AS CURR_STOCK_QTY
-		     , NVL((SELECT (MAX(DISP_ORD) + 1) AS DISP_ORD 
+		     , IFNULL((SELECT (MAX(DISP_ORD) + 1) AS DISP_ORD 
 		            FROM TB_OPTION WHERE GOODS_CD = Z.GOODS_CD) , ROW_NUMBER() OVER(PARTITION BY GOODS_CD ORDER BY OPT_CD)) AS DISP_ORD
 		FROM (
 		SELECT B.GOODS_CD
@@ -2180,7 +2170,7 @@
 		    , MAX(A.SKUMODELNO) AS SKU_MODEL_NO
 		    , MAX(B.PRODUCT_NO) AS PRODUCT_NO
 		    , MAX(B.PRODUCT_CODE) AS PRODUCT_CODE
-		    , ROUND(GREATEST(A.SELLINGSTOCKAMOUNT, 0) * (NVL(D.STOCK_APPL_RATE, 0)/100)) AS CURR_STOCK_QTY
+		    , ROUND(GREATEST(A.SELLINGSTOCKAMOUNT, 0) * (IFNULL(D.STOCK_APPL_RATE, 0)/100)) AS CURR_STOCK_QTY
 		    , D.DELV_LOC_CD
 		    , D.STOCK_APPL_RATE
 		    , MAX(B.SUPPLY_COMP_CD) AS SUPPLY_COMP_CD
@@ -2286,6 +2276,8 @@
 		WHERE 1 = 1 
 		<if test='condition != null and condition != "" '>
 		AND (UPPER(A.GOODS_NUM) LIKE CONCAT('%',UPPER(#{condition}),'%')
+		     OR 
+		     UPPER(A.GOODS_CD) LIKE CONCAT('%',UPPER(#{condition}),'%')
 		     OR 
 		     UPPER(A.SUPPLY_GOODS_CD) LIKE CONCAT('%',UPPER(#{condition}),'%')
 		    )
@@ -2343,8 +2335,8 @@
 	<update id="updateGoodsMass" parameterType="Goods">
 		/* TssGoods.updateGoodsMass */
 		UPDATE TB_GOODS
-		SET UPD_ID = #{updId}
-		  , UPD_DT = SYSDATE
+		SET UPD_NO = #{updNo}
+		  , UPD_DT = NOW()
 		<if test='goodsNm != null and goodsNm != "X"'>
 		  , GOODS_NM = #{goodsNm} 
 		</if>
@@ -2357,9 +2349,6 @@
 		<if test='itemkindCd != null and itemkindCd != "X"'>
 		  , ITEMKIND_CD = #{itemkindCd}
 		</if>
-		<if test='styleYear != null and styleYear != "X"'>
-		  , STYLE_YEAR = #{styleYear}
-		</if>
 		<if test='seasonCd != null and seasonCd != "X"'>
 		  , SEASON_CD = #{seasonCd}
 		</if>
@@ -2369,28 +2358,49 @@
 		<if test="currPrice != null and currPrice > 0">
 		  , CURR_PRICE = #{currPrice}
 		  , CURR_BPRICE = #{currBprice}
-		  , PRICE_UPD_DT = SYSDATE
+		  , PRICE_UPD_DT = NOW()
 		  , DC_RATE = #{dcRate}
 		</if>
+		<if test="sellFeeRate != null and sellFeeRate > 0">
+		  , SELL_FEE_RATE = #{sellFeeRate}
+		</if>
+		<if test='goodsGb != null and goodsGb != "X"'>
+		  , GOODS_GB = #{goodsGb}
+		</if>
+		<if test='formalGb != null and formalGb != "X"'>
+		  , FORMAL_GB = #{formalGb}
+		  , PNT_PRATE = IFNULL(#{pntPrate}, PNT_PRATE)
+		  , PNT_MRATE = IFNULL(#{pntMrate}, PNT_MRATE)
+		</if>
 		<if test="minOrdQty != null and minOrdQty > 0">
 		  , MIN_ORD_QTY = #{minOrdQty}
 		</if>
 		<if test="maxOrdQty != null and maxOrdQty > 0">
 		  , MAX_ORD_QTY = #{maxOrdQty}
 		</if>
-		<if test='buyingType != null and buyingType != "X"'>
-		  , BUYING_TYPE = #{buyingType}
+		<if test="dayMaxOrdQty != null and dayMaxOrdQty > 0">
+		  , DAY_MAX_ORD_QTY = #{dayMaxOrdQty}
 		</if>
-		<if test='formalGb != null and formalGb != "X"'>
-		  , FORMAL_GB = #{formalGb}
-		  , PNT_PRATE = NVL(#{pntPrate}, PNT_PRATE)
-		  , PNT_MRATE = NVL(#{pntMrate}, PNT_MRATE)
+		<if test='giftPackYn != null and giftPackYn != "X"'>
+		  , GIFT_PACK_YN = #{giftPackYn}
 		</if>
-		<if test='makeNm != null and makeNm != "X"'>
-		  , MAKE_NM = #{makeNm}
+		<if test='newCustOrdYn != null and newCustOrdYn != "X"'>
+		  , NEW_CUST_ORD_YN = #{newCustOrdYn}
+		</if>
+		<if test='returnableYn != null and returnableYn != "X"'>
+		  , RETURNABLE_YN = #{returnableYn}
+		</if>
+		<if test='changeableYn != null and changeableYn != "X"'>
+		  , CHANGEABLE_YN = #{changeableYn}
 		</if>
-		<if test='makeYmd != null and makeYmd != "X"'>
-		  , MAKE_YMD = #{makeYmd}
+		<if test='taxGb != null and taxGb != "X"'>
+		  , TAX_GB = #{taxGb}
+		</if>
+		<if test='ageGrpCd != null and ageGrpCd != "X"'>
+		  , AGE_GRP_CD = #{ageGrpCd}
+		</if>
+		<if test='adultYn != null and adultYn != "X"'>
+		  , ADULT_YN = #{adultYn}
 		</if>
 		<if test='pntPrate != null and pntPrate >= 0'>
 		  , PNT_PRATE = #{pntPrate}
@@ -2406,4 +2416,24 @@
 		</if>
 		WHERE GOODS_CD = #{goodsCd}
 	</update>
+	
+	<!-- 정보고시 상세 목록 -->
+	<select id="getNotiInfoItemList" parameterType="NotiInfo" resultType="NotiInfo">
+		/* TssGoods.getNotiInfoItemList */
+		SELECT B.SUPPLY_VENDOR_CD
+		     , B.NI_CLSF_CD
+		     , B.NI_ITEM_CD
+		     , FN_GET_CODE_NM('G005', B.NI_ITEM_CD) AS NI_ITEM_NM
+		     , B.NI_CONTENT
+		     , B.DISP_ORD
+		FROM TB_NOTI_INFO B
+		WHERE B.SUPPLY_VENDOR_CD = CASE #{supplyVendorCd} 
+		                         WHEN 'SV0001' THEN 'SV0001'
+		                         WHEN 'SV0002' THEN 'SV0002'
+		                         ELSE 'E' END 
+		<if test="niClsfCd != null and niClsfCd != ''">
+		AND B.NI_CLSF_CD = #{niClsfCd}
+		</if>
+		ORDER BY B.NI_CLSF_CD, B.DISP_ORD
+	</select>
 </mapper>

+ 26 - 4
src/main/java/com/style24/persistence/mybatis/shop/TssNotice.xml

@@ -53,14 +53,25 @@
 	</update>
 	
 	<!-- 공지사항 팝업 총건수 -->
-	<select id="getNoticePopupTotalCount" resultType="int">
+	<select id="getNoticePopupTotalCount" parameterType="String" resultType="int">
 		/* TssNotice.getNoticePopupTotalCount */
 		SELECT COUNT(*) AS CNT
 		FROM   TB_NOTICE A
 		WHERE  A.NOTICE_TYPE = 'G047_20' /*내부공지*/
 		AND    A.NOTICE_SQ IN (SELECT NOTICE_SQ
 		                       FROM   TB_NOTICE_RECEIVER
-		                       WHERE  RECEIVER_ID = 'G048_60' /*입점업체*/
+		                       WHERE  1 = 1
+		                       <choose>
+		                           <when test="roleCd == 'G001_B000'">
+		                       AND    RECEIVER_ID = 'G048_60' /*입점업체*/
+		                           </when>
+		                           <when test="roleCd == 'G001_C000'">
+		                       AND    RECEIVER_ID = 'G048_40' /*외부몰벤더*/
+		                           </when>
+		                           <when test="roleCd == 'G001_D000'">
+		                       AND    RECEIVER_ID = 'G048_50' /*제휴사이트*/
+		                           </when>
+		                       </choose>
 		                      )
 		AND    A.USE_YN = 'Y'
 		AND    A.POPUP_YN = 'Y' /*팝업*/
@@ -68,7 +79,7 @@
 	</select>
 	
 	<!-- 공지사항 팝업 목록 -->
-	<select id="getNoticePopupList" resultType="Notice">
+	<select id="getNoticePopupList" parameterType="String" resultType="Notice">
 		/* TssNotice.getNoticePopupList */
 		SELECT A.NOTICE_SQ                                           /*공지번호*/
 		     , A.NOTICE_TITLE                                        /*공지제목*/
@@ -82,7 +93,18 @@
 		WHERE  A.NOTICE_TYPE = 'G047_20' /*내부공지*/
 		AND    A.NOTICE_SQ IN (SELECT NOTICE_SQ
 		                       FROM   TB_NOTICE_RECEIVER
-		                       WHERE  RECEIVER_ID = 'G048_60' /*입점업체*/
+		                       WHERE  1 = 1
+		                       <choose>
+		                           <when test="roleCd == 'G001_B000'">
+		                       AND    RECEIVER_ID = 'G048_60' /*입점업체*/
+		                           </when>
+		                           <when test="roleCd == 'G001_C000'">
+		                       AND    RECEIVER_ID = 'G048_40' /*외부몰벤더*/
+		                           </when>
+		                           <when test="roleCd == 'G001_D000'">
+		                       AND    RECEIVER_ID = 'G048_50' /*제휴사이트*/
+		                           </when>
+		                       </choose>
 		                      )
 		AND    A.USE_YN = 'Y'
 		AND    A.POPUP_YN = 'Y' /*팝업*/

+ 4 - 4
src/main/java/com/style24/persistence/mybatis/shop/TssOrder.xml

@@ -346,7 +346,7 @@
 		     , DA.RECIP_NM 
 		     , DA.RECIP_PHNNO 
 		     , DA.RECIP_TELNO 
-		     , DA.RECIP_ZIP_NO 
+		     , DA.RECIP_ZIPCODE 
 		     , DA.RECIP_BASE_ADDR
 		     , DA.RECIP_DTL_ADDR
 		     , O.ORD_EMAIL
@@ -414,7 +414,7 @@
 		     , OC.CHG_MEMO
 		     , OC.CHGER_NM
 		     , OC.CHGER_PHNNO 
-		     , OC.CHGER_ZIP_NO
+		     , OC.CHGER_ZIPCODE
 		     , OC.CHGER_BASE_ADDR
 		     , OC.CHGER_DTL_ADDR
 		     , OC.WD_INVOICE_SEND_YN
@@ -495,7 +495,7 @@
 		     , O.ORD_PHNNO 
 		     , DA.RECIP_NM 
 		     , DA.RECIP_PHNNO 
-		     , DA.RECIP_ZIP_NO 
+		     , DA.RECIP_ZIPCODE 
 		     , DA.RECIP_BASE_ADDR 
 		     , DA.RECIP_DTL_ADDR 
 		     , G.SUPPLY_GOODS_CD
@@ -765,7 +765,7 @@
 		     , O.ORD_PHNNO 
 		     , DA.RECIP_NM 
 		     , DA.RECIP_PHNNO 
-		     , DA.RECIP_ZIP_NO 
+		     , DA.RECIP_ZIPCODE 
 		     , DA.RECIP_BASE_ADDR 
 		     , DA.RECIP_DTL_ADDR 
 		     , G.SUPPLY_GOODS_CD

+ 30 - 20
src/main/java/com/style24/persistence/mybatis/shop/TssRenderer.xml

@@ -147,20 +147,27 @@
 	<!-- 브랜드 목록 -->
 	<select id="getBrandList" parameterType="Brand" resultType="CommonCode">
 		/* TssRenderer.getBrandList */
-		SELECT BRAND_CD  AS CD
-		     , BRAND_ENM AS CD_NM
-		FROM   TB_BRAND
+		SELECT A.BRAND_CD  AS CD
+		     , A.BRAND_ENM AS CD_NM
+		FROM   TB_BRAND A
+		<if test='supplyCompCd != null and supplyCompCd != ""'>
+		INNER JOIN TB_BRAND_SUPPLY C ON A.BRAND_CD = C.BRAND_CD
+		INNER JOIN TB_SUPPLY_COMPANY B ON C.SUPPLY_COMP_CD = B.SUPPLY_COMP_CD
+		</if>
 		WHERE  1 = 1
 		<if test='supplyCompCd != null and supplyCompCd != ""'>
-		AND    SUPPLY_COMP_CD = #{supplyCompCd}
+		AND    C.SUPPLY_COMP_CD = #{supplyCompCd}
 		</if>
 		<if test='brandGrpNm != null and brandGrpNm != ""'>
-		AND    BRAND_GRP_NM = #{brandGrpNm}
+		AND    A.BRAND_GRP_NM = #{brandGrpNm}
 		</if>
 		<if test='useYn != null and useYn != ""'>
-		AND    USE_YN = #{useYn}
+		AND    A.USE_YN = #{useYn}
 		</if>
-		ORDER  BY SUPPLY_COMP_CD, DISP_ORD
+		<if test='selfYn != null and selfYn != ""'>
+		AND    A.SELF_YN = #{selfYn}
+		</if>
+		ORDER  BY A.SELF_YN DESC,  A.DISP_ORD
 	</select>
 
 	<!-- 권한별 브랜드 목록 -->
@@ -330,32 +337,35 @@
 	<select id="getColorGrpCdRgbList" resultType="CommonCode">
 		/* TssRenderer.getColorGrpCdRgbList */
 		SELECT CD
-			 , CD_DESC AS CD_NM
-		FROM TB_COMMON_CODE
-		WHERE 1=1
-		AND CD_GB = 'G072'
-		AND USE_YN = 'Y'
+		     , CD_DESC AS CD_NM
+		FROM   TB_COMMON_CODE
+		WHERE  1 = 1
+		AND    CD_GB = 'G072'
+		AND    USE_YN = 'Y'
 	</select>
 	
 	<!-- 업체별 배송비정책 목록 -->
 	<select id="getSupplyDeliveryFeePolicyList" parameterType="String" resultType="CommonCode">
 		/* TsaRenderer.getSupplyDeliveryFeePolicyList */
-		SELECT DELV_FEE_CD AS CD
-			 , CONCAT(MIN_ORD_AMT,'/',DELV_FEE) AS CD_NM
-		FROM TB_DELV_FEE_POLICY
-		WHERE 1=1
-		AND SUPPLY_COMP_CD = #{supplyCompCd}
-		AND USE_YN = 'Y'
-		ORDER BY DELV_FEE_CD
+		SELECT DELV_FEE_CD                      AS CD
+		     , CONCAT(MIN_ORD_AMT,'/',DELV_FEE) AS CD_NM
+		FROM   TB_DELV_FEE_POLICY
+		WHERE  1 = 1
+		AND    SUPPLY_COMP_CD = #{supplyCompCd}
+		AND    USE_YN = 'Y'
+		ORDER  BY DELV_FEE_CD
 	</select>
 	
 	<!-- 제휴채널 목록 -->
-	<select id="getAflinkList" parameterType="String" resultType="CommonCode">
+	<select id="getAflinkList" parameterType="AflinkFee" resultType="CommonCode">
 		/* TssRenderer.getAflinkList */
 		SELECT AF_LINK_CD AS CD
 		     , AF_LINK_NM AS CD_NM
 		FROM   TB_AF_LINK
 		WHERE  AF_CHANNEL = #{afChannel}
+		<if test="afLinkCd != null and afLinkCd != ''">
+		AND    AF_LINK_CD = #{afLinkCd}
+		</if>
 		AND    USE_YN = 'Y'
 	</select>
 

+ 1 - 8
src/main/java/com/style24/persistence/mybatis/shop/TssStock.xml

@@ -206,13 +206,6 @@
 		        <if test="ageGrpCd != null and ageGrpCd != ''">
 		        AND G.AGE_GRP_CD = #{ageGrpCd}
 		        </if>
-		        <if test="cateCd != null and cateCd != ''">
-		        AND G.GOODS_CD IN (
-		            SELECT GOODS_CD
-		            FROM   TB_CATEGORY_GOODS
-		            WHERE  CATE_CD = #{cateCd}
-		        )
-		        </if>
 	</sql>
 	
 	<!-- 목록 페이징 정보 -->
@@ -389,7 +382,7 @@
 		                          , ST.SOLDOUT_YN
 		                          , ST.CURR_STOCK_QTY
 		                          , ST.BASE_STOCK_QTY
-		                          , NVL(SQ.STOCK_QTY,0) AS SALE_STOCK_QTY
+		                          , IFNULL(SQ.STOCK_QTY,0) AS SALE_STOCK_QTY
 		                          , GREATEST(GREATEST(ST.CURR_STOCK_QTY - ST.BASE_STOCK_QTY, 0) - IFNULL(SQ.STOCK_QTY, 0), 0) AS ABLE_STOCK_QTY
 		                          , G.REG_DT
 		                    FROM TB_GOODS G

+ 10 - 0
src/main/java/com/style24/scm/biz/dao/TssBusinessDao.java

@@ -5,6 +5,7 @@ import java.util.Collection;
 import com.style24.core.support.annotation.ShopDs;
 import com.style24.persistence.domain.Brand;
 import com.style24.persistence.domain.BrandMd;
+import com.style24.persistence.domain.DelvFeePolicy;
 import com.style24.persistence.domain.SupplyCompany;
 
 /**
@@ -225,4 +226,13 @@ public interface TssBusinessDao {
 //	 */
 //	void deleteShipCompany(ShipCompany shipComp);
 
+
+	/**
+	 * 배송비정책 목록
+	 * @param DelvFeePolicy
+	 * @author gagamel
+	 * @since 2021. 01. 25
+	 */
+	Collection<DelvFeePolicy> getDeliveryFeePolicyList(DelvFeePolicy DelvFeePolicy);
+
 }

+ 22 - 0
src/main/java/com/style24/scm/biz/dao/TssDisplayDao.java

@@ -0,0 +1,22 @@
+package com.style24.scm.biz.dao;
+
+import com.style24.core.support.annotation.ShopDs;
+import com.style24.persistence.domain.GoodsCategory;
+
+/**
+ * 전시 Dao
+ *
+ * @author eskim
+ * @since 2020. 10. 22
+ */
+@ShopDs
+public interface TssDisplayDao {
+
+	/**
+	 * 상품별카테고리 삭제
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 1. 18
+	 */
+	void deleteGoodsCategory(GoodsCategory goodsCategory);
+}

+ 18 - 0
src/main/java/com/style24/scm/biz/dao/TssGoodsDao.java

@@ -536,4 +536,22 @@ public interface TssGoodsDao {
 	 * @since 2021. 1. 20
 	 */
 	void updateGoodsMass(Goods goods);
+
+	/**
+	 * 상품 품목변경
+	 *
+	 * @param goods
+	 * @author eskim
+	 * @since 2021. 1. 24
+	 */
+	void updateGoodItemKindCd(Goods goods);
+
+	/**
+	 * 상품정보고시 항목 목록
+	 * @param notiInfo
+	 * @return
+	 * @author eskim
+	 * @since 2021. 1. 24
+	 */
+	Collection<NotiInfo> getNotiInfoItemList(NotiInfo notiInfo);
 }

+ 4 - 2
src/main/java/com/style24/scm/biz/dao/TssNoticeDao.java

@@ -33,19 +33,21 @@ public interface TssNoticeDao {
 
 	/**
 	 * 공지사항 팝업 총건수
+	 * @param roleCd - 권한코드
 	 * @return
 	 * @author gagamel
 	 * @since 2020. 12. 30
 	 */
-	int getNoticePopupTotalCount();
+	int getNoticePopupTotalCount(String roleCd);
 
 	/**
 	 * 공지사항 팝업 목록
+	 * @param roleCd - 권한코드
 	 * @return
 	 * @author gagamel
 	 * @since 2020. 12. 29
 	 */
-	Collection<Notice> getNoticePopupList();
+	Collection<Notice> getNoticePopupList(String roleCd);
 
 	/**
 	 * 공지사항 팝업 파일 목록

+ 3 - 2
src/main/java/com/style24/scm/biz/dao/TssRendererDao.java

@@ -3,6 +3,7 @@ package com.style24.scm.biz.dao;
 import java.util.Collection;
 
 import com.style24.core.support.annotation.ShopDs;
+import com.style24.persistence.domain.AflinkFee;
 import com.style24.persistence.domain.Brand;
 import com.style24.persistence.domain.Color;
 import com.style24.persistence.domain.CommonCode;
@@ -216,11 +217,11 @@ public interface TssRendererDao {
 
 	/**
 	 * 제휴채널 목록
-	 * @param afChannel - 상위제휴채널
+	 * @param aflinkFee - 제휴채널 정보
 	 * @return
 	 * @author gagamel
 	 * @since 2021. 1. 20
 	 */
-	Collection<CommonCode> getAflinkList(String afChannel);
+	Collection<CommonCode> getAflinkList(AflinkFee aflinkFee);
 
 }

+ 11 - 0
src/main/java/com/style24/scm/biz/service/TssBusinessService.java

@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.persistence.domain.Brand;
 import com.style24.persistence.domain.BrandMd;
+import com.style24.persistence.domain.DelvFeePolicy;
 import com.style24.persistence.domain.SupplyCompany;
 import com.style24.scm.biz.dao.TssBusinessDao;
 
@@ -315,4 +316,14 @@ public class TssBusinessService {
 //		}
 //	}
 
+	/**
+	 * 배송비정책 목록
+	 * @return
+	 * @author eskim
+	 * @since 2021. 01. 25
+	 */
+	public Collection<DelvFeePolicy> getDeliveryFeePolicyList(DelvFeePolicy delvFeePolicy) {
+		return businessDao.getDeliveryFeePolicyList(delvFeePolicy);
+	}
+
 }

+ 30 - 0
src/main/java/com/style24/scm/biz/service/TssDisplayService.java

@@ -0,0 +1,30 @@
+package com.style24.scm.biz.service;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.style24.persistence.domain.GoodsCategory;
+import com.style24.scm.biz.dao.TssDisplayDao;
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * 전시 Service
+ *
+ * @author eskim
+ * @since 2021. 01. 21
+ */
+@Service
+@Slf4j
+public class TssDisplayService {
+
+	@Autowired
+	private TssDisplayDao displayDao;
+
+	@Transactional("shopTxnManager")
+	public void deleteGoodsCategory(GoodsCategory goodsCategory) {
+		displayDao.deleteGoodsCategory(goodsCategory);
+	}
+
+}

文件差异内容过多而无法显示
+ 186 - 142
src/main/java/com/style24/scm/biz/service/TssGoodsService.java


+ 3 - 2
src/main/java/com/style24/scm/biz/service/TssNoticeService.java

@@ -8,6 +8,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import com.style24.persistence.domain.Notice;
 import com.style24.scm.biz.dao.TssNoticeDao;
+import com.style24.scm.support.security.session.TssSession;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -55,7 +56,7 @@ public class TssNoticeService {
 	 * @since 2020. 12. 30
 	 */
 	public int getNoticePopupTotalCount() {
-		return noticeDao.getNoticePopupTotalCount();
+		return noticeDao.getNoticePopupTotalCount(TssSession.getInfo().getRoleCd());
 	}
 
 	/**
@@ -65,7 +66,7 @@ public class TssNoticeService {
 	 * @since 2020. 12. 29
 	 */
 	public Collection<Notice> getNoticePopupList() {
-		Collection<Notice> noticeList = noticeDao.getNoticePopupList();
+		Collection<Notice> noticeList = noticeDao.getNoticePopupList(TssSession.getInfo().getRoleCd());
 
 		if (noticeList != null && !noticeList.isEmpty()) {
 			for (Notice notice : noticeList) {

+ 18 - 1
src/main/java/com/style24/scm/biz/service/TssRendererService.java

@@ -6,6 +6,7 @@ import java.util.Collection;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.style24.persistence.domain.AflinkFee;
 import com.style24.persistence.domain.Brand;
 import com.style24.persistence.domain.Color;
 import com.style24.persistence.domain.CommonCode;
@@ -481,7 +482,23 @@ public class TssRendererService {
 	 * @since 2021. 1. 20
 	 */
 	public Collection<CommonCode> getAflinkList(String afChannel) {
-		return rendererDao.getAflinkList(afChannel);
+		AflinkFee aflinkFee = new AflinkFee();
+		aflinkFee.setAfChannel(afChannel);
+		return rendererDao.getAflinkList(aflinkFee);
+	}
+
+	/**
+	 * 제휴채널 목록
+	 * @param afChannel - 상위제휴채널
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 1. 20
+	 */
+	public Collection<CommonCode> getAflinkList(String afChannel, String afLinkCd) {
+		AflinkFee aflinkFee = new AflinkFee();
+		aflinkFee.setAfChannel(afChannel);
+		aflinkFee.setAfLinkCd(afLinkCd);
+		return rendererDao.getAflinkList(aflinkFee);
 	}
 
 }

+ 37 - 20
src/main/java/com/style24/scm/biz/web/TssGoodsController.java

@@ -276,11 +276,9 @@ public class TssGoodsController extends TssBaseController {
 						returnGoods += tmpGoods.getGoodsCd() + ",";
 					} else {
 						for (GoodsNotiInfo tmpGoodsNotiInfo : goodsNotiInfoList) {
-							if ("Y".equals(tmpGoodsNotiInfo.getReqYn()) || "Y".equals(tmpGoodsNotiInfo.getDispYn())) {
-								if (StringUtils.isBlank(tmpGoodsNotiInfo.getNiContent())) {
-									returnGoods += tmpGoods.getGoodsCd() + ",";
-									break;
-								}
+							if (StringUtils.isBlank(tmpGoodsNotiInfo.getNiContent())) {
+								returnGoods += tmpGoods.getGoodsCd() + ",";
+								break;
 							}
 						}
 					}
@@ -625,8 +623,9 @@ public class TssGoodsController extends TssBaseController {
 	@RequestMapping(value = "/thumbnail/image/save", method = RequestMethod.POST)
 	@ResponseBody
 	public GagaResponse saveGoodsThumbnailImageList(@RequestBody Collection<GoodsImg> goodsImgList) throws Exception {
-		if (goodsImgList == null || goodsImgList.isEmpty())
+		if (goodsImgList == null || goodsImgList.isEmpty()) {
 			throw new IllegalStateException(message.getMessage("FAIL_1001"));
+		}
 
 		String dextUploadPath = env.getProperty("upload.dext.target.path");
 		String goodsTargetPath = env.getProperty("upload.goods.target.path");
@@ -649,8 +648,9 @@ public class TssGoodsController extends TssBaseController {
 				Goods goods = new Goods();
 				goods.setGoodsCd(goodsImg.getGoodsCd());
 				Goods goodsInfo = goodsService.getGoods(goods);
-				if (goodsInfo == null || goodsInfo.getGoodsCd().isEmpty())
+				if (goodsInfo == null || goodsInfo.getGoodsCd().isEmpty()) {
 					throw new IllegalStateException(message.getMessage("FAIL_1001"));
+				}
 
 				strBrandNo = String.valueOf(goodsInfo.getBrandNo());
 			}
@@ -676,17 +676,17 @@ public class TssGoodsController extends TssBaseController {
 
 				File uniqueFile = GagaFileUtil.getUniqueFile(new File(GagaFileUtil.getConcatenationPath(goodsUploadPath, newFilename)));
 				File newFile = new File(GagaFileUtil.getConcatenationPath(goodsUploadPath, uniqueFile.getName()));
-				log.info("newFile.getPath(): {}", newFile.getPath());
+				//log.info("newFile.getPath(): {}", newFile.getPath());
 
 				// resizing 처리 시 오류가 발생할 경우 삭제하기 위해 설정
 				errorFileList.add(newFile);
 
 				File oldFile = new File(GagaFileUtil.getConcatenationPath(dextUploadPath, goodsImg.getSysImgNm()));
-				log.info("oldFile.getPath(): {}", oldFile.getPath());
+				//log.info("oldFile.getPath(): {}", oldFile.getPath());
 
 				File path = new File(goodsUploadPath);
 				if (!path.exists()) {
-					log.info("mkdir ={}", goodsUploadPath);
+					//log.info("mkdir ={}", goodsUploadPath);
 					path.mkdir();
 				}
 
@@ -709,7 +709,7 @@ public class TssGoodsController extends TssBaseController {
 		// 2.dx5에서 삭제한 파일 실제 삭제 처리
 		for (GoodsImg goodsImg : goodsImgList) {
 			if (goodsImg.getMode().equals("D")) {
-				log.info("Original file to delete: {}", GagaFileUtil.getConcatenationPath(goodsTargetPath, goodsImg.getSysImgUrl(), goodsImg.getSysImgNm()));
+				//log.info("Original file to delete: {}", GagaFileUtil.getConcatenationPath(goodsTargetPath, goodsImg.getSysImgUrl(), goodsImg.getSysImgNm()));
 
 				// 상품이미지 삭제
 				GagaFileUtil.deleteFile(GagaFileUtil.getConcatenationPath(goodsTargetPath, goodsImg.getSysImgUrl(), goodsImg.getSysImgNm()));
@@ -761,7 +761,9 @@ public class TssGoodsController extends TssBaseController {
 		// 정보고시 목록
 		mav.addObject("niClsfCdList", rendererService.getAvailCommonCodeList("G004"));
 		// 사용자 업체
-		String supplyCompCd = !StringUtils.isBlank(TssSession.getInfo().getSupplyCompCd()) ? TssSession.getInfo().getSupplyCompCd() : "NONE";
+		String supplyCompCd = TssSession.getInfo().getSupplyCompCd();
+		// 업체별 배송비 목록
+		mav.addObject("supplyDeliveryFeePolicyList", rendererService.getSupplyDeliveryFeePolicyList(supplyCompCd));
 
 		mav.addObject("supplyCompCd", supplyCompCd);
 		mav.setViewName("goods/GoodsMassRegisterForm");
@@ -807,7 +809,7 @@ public class TssGoodsController extends TssBaseController {
 			}
 
 			// DB 처리 시 사용되는 파라미터명(셀명) 설정
-			String[] goodsNames = {"goodsNum", "brandCd",  "goodsNm", "itemkindCd", "styleYear", "seasonCd",
+			String[] goodsNames = {"goodsNum", "brandCd", "goodsNm", "itemkindCd", "styleYear", "seasonCd",
 				"sexGb", "listPrice", "currPrice", "costPrice", "formalGb", "originCd", "makeYmd",
 				"niClsfCd", "niContent1", "niContent2", "niContent3", "niContent4", "niContent5",
 				"niContent6", "niContent7", "niContent8", "niContent9", "niContent10", "niContent11", "niContent12",
@@ -818,14 +820,14 @@ public class TssGoodsController extends TssBaseController {
 			ecxelGoodsList = GagaExcelUtil.getList(GagaFileUtil.getConcatenationPath(targetPath, goodsMass.getExcelFileNm()), 0, goodsNames, 0);
 
 			for (GagaMap gagaMap : ecxelGoodsList) {
-				goodsService.createExceluploadSelfGoods(gagaMap,  goodsMass.getProcJob());
+				goodsService.createExceluploadSelfGoods(gagaMap, goodsMass.getProcJob());
 			}
 
 		} else {
 			// 입점상품등록
 			// DB 처리 시 사용되는 파라미터명(셀명) 설정 -
-			String[] goodsNames = {"supplyGoodsCd", "supplyCompCd", "brandCd", "goodsNm", "goodsTnm","goodsSnm1","itemkindCd",  "styleYear", "seasonCd",
-				"sexGb", "listPrice", "currPrice", "goodsGb", "formalGb",  "originCd", "makeYmd", "taxGb", "ageGrpCd", "adultYn","optStr", "goodsContent",
+			String[] goodsNames = {"supplyGoodsCd", "supplyCompCd", "brandCd", "goodsNm", "goodsTnm", "goodsSnm1", "itemkindCd", "styleYear", "seasonCd",
+				"sexGb", "listPrice", "currPrice", "goodsGb", "formalGb", "originCd", "makeYmd", "taxGb", "ageGrpCd", "adultYn", "optStr", "goodsContent",
 				"niClsfCd", "niContent1", "niContent2", "niContent3", "niContent4", "niContent5",
 				"niContent6", "niContent7", "niContent8", "niContent9", "niContent10", "niContent11", "niContent12",
 				"niContent13", "niContent14", "niContent15", "niContent16", "niContent17", "niContent18",
@@ -846,7 +848,7 @@ public class TssGoodsController extends TssBaseController {
 			}
 
 			for (GagaMap gagaMap : ecxelGoodsList) {
-				goodsService.createExceluploadGoods(gagaMap,  goodsMass.getProcJob());
+				goodsService.createExceluploadGoods(gagaMap, goodsMass.getProcJob());
 			}
 
 		}
@@ -877,8 +879,8 @@ public class TssGoodsController extends TssBaseController {
 		// DB 처리 시 사용되는 파라미터명(셀명) 설정 -
 		String[] goodsNames = {"goodsCd", "goodsNm", "goodsTnm", "goodsSnm1", "itemkindCd", "seasonCd",
 			"sexGb", "currPrice", "sellFeeRate", "goodsGb", "formalGb", "minOrdQty", "maxOrdQty", "dayMaxOrdQty",
-			"giftPackYn", "newCustOrdYn", "returnableYn", "changeableYn",
-			"taxGb", "ageGrpCd", "adultYn", "goodsContent",
+			"giftPackYn", "newCustOrdYn","pntPrate","prePpntUsableYn", "pntMrate","preMpntUsableYn",
+			"returnableYn", "changeableYn","taxGb", "ageGrpCd", "adultYn", "delvFeeCd", "goodsContent",
 			"niClsfCd", "niContent1", "niContent2",
 			"niContent3", "niContent4", "niContent5", "niContent6", "niContent7", "niContent8", "niContent9",
 			"niContent10", "niContent11", "niContent12", "niContent13", "niContent14", "niContent15", "niContent16",
@@ -893,7 +895,7 @@ public class TssGoodsController extends TssBaseController {
 		}
 
 		for (GagaMap gagaMap : ecxelGoodsList) {
-			goodsService.updateMassExceluploadGoods(gagaMap,  goodsMass.getProcJob());
+			goodsService.updateMassExceluploadGoods(gagaMap, goodsMass.getProcJob());
 		}
 
 		// 파일 삭제
@@ -1136,4 +1138,19 @@ public class TssGoodsController extends TssBaseController {
 
 		return result;
 	}
+
+	/**
+	 * 상품 품목 변경 저장
+	 *
+	 * @param goodsList
+	 * @return
+	 * @author eskim
+	 * @since 2021. 01. 24
+	 */
+	@PostMapping("/itemKind/change/save")
+	@ResponseBody
+	public GagaResponse saveItemKindChange(@RequestBody Collection<Goods> goodsList) {
+		goodsService.saveItemKindChange(goodsList);
+		return super.ok(message.getMessage("SUCC_0001"));
+	}
 }

+ 1 - 1
src/main/java/com/style24/scm/biz/web/TssSettleController.java

@@ -54,7 +54,7 @@ public class TssSettleController extends TssBaseController {
 		mav.addObject("afChannelList", rendererService.getCommonCodeList(commoncode));
 
 		// 제휴채널 목록
-		mav.addObject("afLinkList", rendererService.getAflinkList(TssSession.getInfo().getAfChannel()));
+		mav.addObject("afLinkList", rendererService.getAflinkList(TssSession.getInfo().getAfChannel(), TssSession.getInfo().getAfLinkCd()));
 
 		return mav;
 	}

二进制
src/main/webapp/WEB-INF/lib/gagaframework-web-util-1.7-RELEASE.jar


+ 6 - 10
src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html

@@ -908,14 +908,12 @@
 		var idx = 0;
 		$('#goodsDetailForm').find('#notiArea').html('');
 		notiHtml += '<table class="frmStyle">';
-		notiHtml += '<colgroup><col style="width:20%"/><col/><col style="width:5%"/><col style="width:5%"/></colgroup>';
+		notiHtml += '<colgroup><col style="width:20%"/><col/></colgroup>';
 		notiHtml += '<tbody id="infoContents">\n';
-		notiHtml += '<tr><th>고시항목</th><th>고시내용</th><th>필수여부</th><th>전시여부</th></tr>';
+		notiHtml += '<tr><th>고시항목</th><th>고시내용</th></tr>';
 		result.forEach(function(info){
 			notiHtml += '<tr><th>'+ gagajf.convNull(info.niItemNm, '') +'<input type="hidden" name="niItemCd" value="'+ gagajf.convNull(info.niItemCd, '') +'" />\n<input type="hidden" name="dispOrd" value="'+ gagajf.convNull(info.dispOrd, '') +'" /></th>';
 			notiHtml += '<td><input type="text" name="niContent" value="'+ gagajf.convNull(info.niContent, '') +'"/></td>\n';
-			notiHtml += '<td class="aC">'+gagajf.convNull(info.reqYn, '')+'<input type="hidden" name="reqYn" value="'+ gagajf.convNull(info.reqYn, '') +'"/></td>\n';
-			notiHtml += '<td class="aC">'+gagajf.convNull(info.dispYn, '')+'<input type="hidden" name="dispYn" value="'+ gagajf.convNull(info.dispYn, '') +'"/></td>\n';
 			notiHtml += '</tr>\n';
 		});
 		notiHtml += '</tbody></table>';
@@ -1150,12 +1148,10 @@
 				idx = 0;
 				//고시정보 필수나 전시표시값 입력여부 확인
 				$("#goodsDetailForm #notiArea").find("#infoContents tr").each(function() {
-					if ("Y" == $(this).find("input[name=reqYn]").val() ||  "Y" == $(this).find("input[name=dispYn]").val()){
-						if (gagajf.isNull($(this).find("input[name=niContent]").val())){
-							optCheck = true;
-							mcxDialog.alertC("고시정보를 입력해주세요.");
-							return false;
-						}
+					if (gagajf.isNull($(this).find("input[name=niContent]").val())){
+						optCheck = true;
+						mcxDialog.alertC("고시정보를 입력해주세요.");
+						return false;
 					}
 					idx++;
 				});

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

@@ -67,7 +67,7 @@
 			<col width="7%"/>
 		</colgroup>
 		<tr th:if="${goods.selfGoodsYn == 'Y' and goods.goodsType == 'G056_N'}">
-			<th colspan="2">ERP재고연동여부<i class="star"></i></th>
+			<th colspan="2">ERP재고연동여부<em class="required" title="필수"></em></th>
 			<td colspan="2">
 				<label class="rdoBtn"><input type="radio" name="erpStockLinkYn" id="erpStockLinkYnY" value="Y" th:checked="${goods.erpStockLinkYn == 'Y'}"/>Y</label>
 				<label class="rdoBtn"><input type="radio" name="erpStockLinkYn" id="erpStockLinkYnN" value="N" th:checked="${goods.erpStockLinkYn == 'N'}"/>N</label>

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

@@ -339,8 +339,9 @@
 						<tr>
 							<th>배송정책</th>
 							<td colspan="3">
+								<input type="hidden" name="statSelfYn"  value="N"/> <!-- 입점 -->
 								<select name="statSupplyCompCd" id="statSupplyCompCd">
-									<option value="" >[선택]</option>
+									<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="delvFeeCdC" id="delvFeeCdC" >
@@ -662,7 +663,7 @@
 	}
 
 	//상품상태 변경시
-	var fnChangeGoodsState = function(proc){debugger;
+	var fnChangeGoodsState = function(proc){
 
 		var objId = '#'+proc+"C";
 		if (proc == "goodsTnm"){
@@ -792,7 +793,7 @@
 			pntMrateVal = $(objId).val();
 		}else if (proc == "giftPackYn") {
 			giftPackYnVal = $(objId).val();
-		}else if (proc == "delvFeeCd") {debugger;
+		}else if (proc == "delvFeeCd") {
 			if (!fnGoodsDelFeeCdCheck(selectedData)){
 				return;
 			}
@@ -837,13 +838,13 @@
 	}
 	
 	// 배송비정책 관련 확인
-	var fnGoodsDelFeeCdCheck = function(selectedData){debugger;
+	var fnGoodsDelFeeCdCheck = function(selectedData){
 		
 		var statSupplyCompCd = $('#searchForm select[name=statSupplyCompCd]').val();
 		
 		$.each(selectedData, function(idx, item) {
 
-			if (item.supplyCompCd != statSupplyCompCd){debugger;
+			if (item.supplyCompCd != statSupplyCompCd){
 
 				mcxDialog.alertC(item.goodsCd +" 상품은 배송지 정책업체와 상이합니다. ",{
 					sureBtnText: "확인",
@@ -976,6 +977,9 @@
 		$('#searchForm').find('#multiBrand').empty();
 		var actionUrl = '/renderer/brand/AuthBrandlist';
 		cfnCreateMultiCombo(actionUrl,"multiBrand",  "[전체]",null, 'Y');
+		
+		$("#searchForm select[name=statSupplyCompCd]").val([[${sessionInfo.supplyCompCd}]]);
+		cfnCreateCombo('/renderer/delvFee/list/' + $('#searchForm select[name=statSupplyCompCd]').val(), $('#searchForm select[name=delvFeeCdC]'), "[선택]");
 	}
 	
 	$(document).ready(function() {

+ 22 - 4
src/main/webapp/WEB-INF/views/goods/GoodsMassRegisterForm.html

@@ -28,7 +28,8 @@
 			<ul class="notice">
 				<li>상품을 대량으로 등록하는 페이지입니다.</li>
 				<li>상품을 등록 할 경우 [승인대기] 상태이며, STYLE 관리자의 [승인완료] 상태 변경 후 FRONT애 노출이 가능합니다.</li>
-				<li><th:block th:if="${sessionInfo.roleCd == 'G001_E000'}">촬영업체의 대량수정은 상품정보(상세HTML포함)는 미적용되며 고시정보만 적용됩니다.</th:block></li>
+				<li><th:block th:if="${sessionInfo.roleCd == 'G001_B000'}"><em>해당 업체으 배송비 </em></th:block></li>
+				<li><th:block th:if="${sessionInfo.roleCd == 'G001_E000'}"><em>촬영업체의 대량수정은 고시정보만 적용됩니다.</em></th:block></li>
 				<li><th:block th:if="${wmsSyncYn == 'N'}"><em><b>WMS연동여부가 [N]입니다.</b></em></th:block></li>
 			</ul>
 			<ul class="panelBar">
@@ -38,6 +39,11 @@
 						<button type="button" class="btn btn-primary btn-lg" id="btnGoodsSelfCreate" >자사상품 등록</button>
 					</th:block>
 					<th:block th:if="${sessionInfo.roleCd == 'G001_B000'}">
+						<em><b><th:block th:text="${sessionInfo.supplyCompNm}"></th:block></b></em> 업체의 배송비 정책 : &nbsp;&nbsp;
+						<select name="delvFeeCd" id="delvFeeCd">
+							<option value="" >[선택]</option>
+							<option th:if="${supplyDeliveryFeePolicyList}" th:each="oneData, status : ${supplyDeliveryFeePolicyList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
+						</select>
 						<button type="button" class="btn btn-default btn-lg"  onclick="cfnDownloadSampleFile('SF005');">입점상품 등록양식 다운로드</button>
 						<button type="button" class="btn btn-primary btn-lg" id="btnGoodsCreate" >입점상품 등록</button>
 					</th:block>
@@ -51,7 +57,7 @@
 		<div class="panelStyle" >
 			<!-- 검색조건 영역 -->
 			<div class="panelTitle">
-				<h3><i class="fa fa-info-circle"></i>아래 검색조건 중 하나를 꼭 입력해 주세요.</h3>
+				<h3><i class="fa fa-info-circle"></i>아래 검색조건 중 상품코드나 등록일을 꼭 입력해 주세요.</h3>
 			</div>
 			<div class="panelContent">
 				<table class="frmStyle">
@@ -62,7 +68,7 @@
 						<col/>
 					</colgroup>
 					<tr>
-						<th>품번/입점상품<i class="star"></i></th>
+						<th>품번/입점상품<em class="required" title="필수"></em></th>
 						<td><input type="text" class="w130" name="condition" id="condition" maxlength="50"/></td>
 						<th>등록여부</th>
 						<td>
@@ -73,7 +79,7 @@
 						</td>
 					</tr>
 					<tr>
-						<th>등록일<i class="star"></i></th>
+						<th>등록일<em class="required" title="필수"></em></th>
 						<td colspan="3" id="sellTerms"></td>
 					</tr>
 				</table>
@@ -201,12 +207,24 @@
 	
 	//입점상품대량등록 클릭시
 	$('#btnGoodsCreate').on('click', function() {
+		if (gagajf.isNull($("#massForm select[name=delvFeeCd]").val())){
+			mcxDialog.alertC("배송비정책을 선택해주세요.",  {
+				sureBtnText: "확인",
+				sureBtnClick: function() {
+					$('#massForm select[name=delvFeeCd]').focus();
+				}
+			});
+			return false;
+		}
+		
 		cfnExcelUploadPopup('createGoods', 'createGoods');
 	});
 
 	var createGoods = function(result){
+		var delvFeeCd = $("#massForm select[name=delvFeeCd]").val();
 		var data = {procJob : result.procJob
 					,excelFileNm : result.excelFileNm
+					,delvFeeCd : delvFeeCd
 					};
 		var jsonData = JSON.stringify(data);
 		gagajf.ajaxJsonSubmit('/goods/mass/excelupload/create', jsonData, fnGoodsCreateCallBack);

+ 2 - 3
src/main/webapp/WEB-INF/views/settle/AfLinkSettleForm.html

@@ -41,12 +41,11 @@
 						</td>
 						<th>제휴채널</th>
 						<td>
-							<select name="afChannel" disabled="disabled">
+							<select name="afChannel">
 								<option th:if="${afChannelList}" th:each="oneData, status : ${afChannelList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 							<select name="afLinkCd">
-								<option value="">[전체]</option>
-								<option th:if="${afLinkList}" th:each="oneData, status : ${afLinkList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
+								<option th:if="${afLinkList}" th:each="oneData, status : ${afLinkList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}" th:selected="${sessionInfo.afLinkCd == oneData.cd}"></option>
 							</select>
 						</td>
 					</tr>

部分文件因为文件数量过多而无法显示