Prechádzať zdrojové kódy

다다익선 추가 수정중

bin2107 5 rokov pred
rodič
commit
835f61f201

+ 10 - 1
src/main/java/com/style24/admin/biz/dao/TsaMorebetterDao.java

@@ -21,7 +21,7 @@ public interface TsaMorebetterDao {
     /* CSB 진행 */
     /**
      * 다다익선 프로모션 리스트
-     * @param param
+     * @param moreBetter
      * @return
      * @author bin2107
      * @since 2020. 12. 28
@@ -186,5 +186,14 @@ public interface TsaMorebetterDao {
      * @since 2021. 1. 12
      */
     void deleteTmtbBurdenList(MoreBetterBurden moreBetterBurden);
+
+    /**
+     * 다다익선 중복 상품 조회
+     * @param moreBetter
+     * @return
+     * @author bin2107
+     * @since 2021. 1. 12
+     */
+    Collection<MoreBetter> getMorebetterDuplicateList(MoreBetter moreBetter);
     /* // CSB 진행 */
 }

+ 14 - 5
src/main/java/com/style24/admin/biz/service/TsaMorebetterService.java

@@ -4,10 +4,7 @@ import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import com.style24.admin.support.security.session.TsaSession;
 import com.style24.core.support.message.TscMessageByLocale;
-import com.style24.persistence.domain.MoreBetter;
-import com.style24.persistence.domain.MoreBetterBurden;
-import com.style24.persistence.domain.MoreBetterGoods;
-import com.style24.persistence.domain.MoreBetterSection;
+import com.style24.persistence.domain.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,6 +13,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import com.style24.admin.biz.dao.TsaMorebetterDao;
 
+import java.util.ArrayList;
 import java.util.Collection;
 
 /**
@@ -119,6 +117,9 @@ public class TsaMorebetterService {
         return morebetterDao.getMorebetterBurdenList(tmtbSq);
     }
 
+    public Collection<MoreBetter> getMorebetterDuplicateList(MoreBetter moreBetter) {
+        return morebetterDao.getMorebetterDuplicateList(moreBetter);
+    }
     /**
      * 다다익선 저장
      * @param moreBetter
@@ -130,11 +131,19 @@ public class TsaMorebetterService {
     public void saveMoreBetterDetail(MoreBetter moreBetter) {
         Gson gson = new Gson();
         String jsonData = gson.toJson(moreBetter);
+        log.info("{ saveMoreBetterDetail jsonData}",jsonData);
 
         // <,> replace 처리
         moreBetter.setRegNo(TsaSession.getInfo().getUserNo());
         moreBetter.setUpdNo(TsaSession.getInfo().getUserNo());
 
+        Collection<MoreBetter> dupList = this.getMorebetterDuplicateList(moreBetter);
+
+        log.info("[dupList size]",dupList.size());
+
+        // 업체&브랜드
+
+/*
         // TMTB 마스터(TB_TMTB) 저장
         morebetterDao.saveMorebetterMst(moreBetter);
 
@@ -277,7 +286,7 @@ public class TsaMorebetterService {
 
             morebetterDao.saveMorebetterBurden(regBurden);
         }
-
+*/
         log.info("newBurdenSq = {}, newTmtbSq = {}, newSupplyCd = {}, newBurdenRate = {} , newUseYn = {}");
     }
 

+ 13 - 7
src/main/java/com/style24/admin/biz/web/TsaMarketingController.java

@@ -4,7 +4,10 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.style24.persistence.TscPageRequest;
+import com.style24.persistence.domain.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
@@ -27,13 +30,6 @@ import com.style24.admin.biz.service.TsaSystemService;
 import com.style24.admin.support.controller.TsaBaseController;
 import com.style24.admin.support.security.session.TsaSession;
 import com.style24.core.support.message.TscMessageByLocale;
-import com.style24.persistence.domain.CommonCode;
-import com.style24.persistence.domain.Coupon;
-import com.style24.persistence.domain.FreeGoodsPromotion;
-import com.style24.persistence.domain.MoreBetter;
-import com.style24.persistence.domain.MoreBetterBurden;
-import com.style24.persistence.domain.MoreBetterGoods;
-import com.style24.persistence.domain.MoreBetterSection;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -408,6 +404,16 @@ public class TsaMarketingController extends TsaBaseController {
 	@PostMapping("/morebetter/save")
 	@ResponseBody
 	public GagaResponse saveMorebetterDetail(@RequestBody MoreBetter moreBetter) {
+		log.info("18 moreBetter::::::::{}",moreBetter);
+		String[] supplyCompList2 = moreBetter.getSupplyCompArr().split(",");
+		String[] brandList2 = moreBetter.getBrandArr().split(",");
+		//String[] supplyCompList2 = {"1","2"};
+		//String[] brandList2 = {"S001","S006"};
+
+
+		moreBetter.setMultiSupplyCompCd(supplyCompList2);
+		moreBetter.setMultiBrand(brandList2);
+		log.info("19 moreBetter::::::::{}",moreBetter);
 		morebetterService.saveMoreBetterDetail(moreBetter);
 		return super.ok(message.getMessage("SUCC_0001"));
 	}

+ 20 - 0
src/main/java/com/style24/persistence/domain/MoreBetter.java

@@ -1,5 +1,6 @@
 package com.style24.persistence.domain;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.style24.persistence.TscBaseDomain;
 import com.style24.persistence.TscPageRequest;
 import lombok.Data;
@@ -62,6 +63,25 @@ public class MoreBetter extends TscBaseDomain {
 	private String exceptGoodsList;
 	private String burdenList;
 	private String sectionGbList;
+	private String compBrandGoodsList;
+
+	private String supplyCompArr;
+	private String brandArr;
+
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] arrCompBrandGoods;
+
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] multiSupplyCompCd;
+
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] multiBrand;
+
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] supplyCompList2; // 고시항목
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] brandList2; // 고시항목
+
 
 	// Pagination
 	private TscPageRequest pageable;

+ 31 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaMorebetter.xml

@@ -483,5 +483,36 @@
 			</foreach>
 		</if>
 	</delete>
+
+	<select id="getMorebetterDuplicateList" parameterType="MoreBetter" resultType="MoreBetter">
+		/* TsaMarketing.getMorebetterDuplicateList */
+		SELECT 		B.TMTB_SQ
+			 		, SUM(CASE WHEN B.GOODS_GB = 'G800_30' THEN -1 ELSE 1 END) USE_YN
+		FROM 		TB_TMTB A
+		INNER JOIN  TB_TMTB_APPLY_GOODS B
+			ON A.TMTB_SQ = B.TMTB_SQ
+		WHERE 1=1
+		  AND NOW() BETWEEN DATE_FORMAT(A.TMTB_ST_DT, '%Y-%m-%d %H:%i:%S') AND DATE_FORMAT(A.TMTB_ED_DT, '%Y-%m-%d %H:%i:%S')	-- 적용날짜에 속하고
+		  AND A.TMTB_STAT = 'G232_11'
+		  AND B.DEL_YN = 'N'
+		  AND EXISTS (SELECT 1
+					  FROM TB_GOODS G
+					  WHERE 1=1
+						AND B.GOODS_CD = G.GOODS_CD
+						<if test="multiSupplyCompCd != null and multiSupplyCompCd != ''">
+							AND G.SUPPLY_COMP_CD IN
+							<foreach collection="multiSupplyCompCd" item="item" index="index"  open="(" close=")" separator=",">
+								#{item}
+							</foreach>
+						</if>
+						<if test="multiBrand != null and multiBrand != ''">
+							AND G.BRAND_CD IN
+							<foreach collection="multiBrand" item="item" index="index"  open="(" close=")" separator=",">
+								#{item}
+							</foreach>
+						</if>
+			)
+		GROUP BY B.TMTB_SQ
+	</select>
 	<!--// CSB 진행 -->
 </mapper>

+ 54 - 27
src/main/webapp/WEB-INF/views/marketing/MorebetterPopupForm.html

@@ -29,6 +29,12 @@
 			<input type="hidden" name="exceptGoodsList"/>			<!-- 제외상품 리스트 -->
 			<input type="hidden" name="burdenList"/>				<!-- 업체 분담율 리스트 -->
 			<input type="hidden" name="sectionGbList"/>				<!-- 다다익선 구간/혜택 리스트 -->
+			<input type="hidden" name="supplyCompArr"/>
+			<input type="hidden" name="brandArr"/>
+			<input type="hidden" name="supplyCompList2"/>
+			<input type="hidden" name="brandList2"/>
+			<!--<input type="hidden" name="multiSupplyCompCd"/>
+			<input type="hidden" name="multiBrand"/>-->
 
 			<div class="panelContent">
 				<table class="frmStyle">
@@ -519,8 +525,55 @@
 		});
 	});
 
-	// 저장 버튼 클릭시
 	$('#btnMorebetterSave').on('click', function() {
+		var allSupplyCompData = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList);
+		var allBrandData = gagaAgGrid.getAllRowData(gridOptionsFGBrandList);
+
+		var test1 = {};
+		// 공급업체+브랜드 상품조회
+		var multiSupplyCompCd = [];
+		$.each(allSupplyCompData, function(idx, item) {
+			multiSupplyCompCd.push(item.supplyCompCd);
+		});
+
+		var multiBrand = [];
+		$.each(allBrandData, function(idx, item) {
+			multiBrand.push(item.brandCd);
+		});
+
+		/*var jsonMultiSupplyCompData = JSON.stringify(multiSupplyCompCd);
+		$('#moreBetterForm input[name=supplyCompArr]').val(jsonMultiSupplyCompData);
+
+		var jsonMultiBrandData = JSON.stringify(multiBrand);
+		$('#moreBetterForm input[name=brandArr]').val(jsonMultiBrandData);
+*/
+		//$('#moreBetterForm input[name=supplyCompArr]').val(JSON.stringify(multiSupplyCompCd));
+		//$('#moreBetterForm input[name=brandArr]').val(JSON.stringify(multiBrand));
+
+		$('#moreBetterForm input[name=supplyCompArr]').val(multiSupplyCompCd.join(','));
+		$('#moreBetterForm input[name=brandArr]').val(multiBrand.join(','));
+
+		console.log('1.>>'+multiBrand);
+		console.log('2.>>'+JSON.stringify(multiBrand));
+
+		//$('#moreBetterForm input[name=supplyCompList2]').val(multiSupplyCompCd);
+		//$('#moreBetterForm input[name=brandList2]').val(multiBrand);
+		/*var data = {multiSupplyCompCd : multiSupplyCompCd
+			,multiBrand : multiBrand
+		};
+
+		var jsonData = JSON.stringify(data);
+*/
+		var jsonData = JSON.stringify($('#moreBetterForm').serializeObject());
+		gagajf.ajaxJsonSubmit($('#moreBetterForm').prop('action'), jsonData, function() {
+			fnMorebetterFormClose();
+			$('#btnInit').trigger('click');
+			$('#btnSearch').trigger('click');
+		});
+	});
+
+	// 저장 버튼 클릭시
+	$('#btnMorebetterSave2').on('click', function() {
 		// validation
 		if (!gagajf.validation('#moreBetterForm'))
 			return false;
@@ -665,36 +718,10 @@
 		var allSupplyCompData = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList);
 		var allBrandData = gagaAgGrid.getAllRowData(gridOptionsFGBrandList);
 
-		console.log('allSupplyCompData cnt>>'+allSupplyCompData.length);
-		console.log('allBrandData cnt>>'+allBrandData.length);
-
 		if(allSupplyCompData.length < 1){
 			mcxDialog.alert('공급업체를 추가해주세요.');
 			return;
 		}
-
-		// 공급업체+브랜드 상품조회
-		var multiSupplyCompCd = [];
-		$.each(allSupplyCompData, function(idx, item) {
-			multiSupplyCompCd.push(item.supplyCompCd);
-		});
-
-		var multiBrand = [];
-		$.each(allBrandData, function(idx, item) {
-			multiBrand.push(item.brandCd);
-		});
-
-		var data = {multiSupplyCompCd : multiSupplyCompCd
-			,multiBrand : multiBrand
-			,pageingYn : "N"
-		};
-
-		var jsonData = JSON.stringify(data);
-		gagajf.ajaxJsonSubmit('/goods/list', jsonData, function(result) {
-			console.log('goodsList cnt>>'+result.goodsList.length);
-			console.log('goodsList >>'+result.goodsList);
-		});
-
 	};
 
 	// 분담업체율 설정 / 업체 추가 콜백함수

+ 1 - 1
src/main/webapp/dx5/module/dextuploadx5-application-api.js

@@ -1,4 +1,4 @@
-/*
+/*
  * DEXTUploadX5 - Application
  * http://www.dextsolution.com
  *