Procházet zdrojové kódy

다다익선 추가 수정중

bin2107 před 5 roky
rodič
revize
db82d0f779

+ 31 - 6
src/main/java/com/style24/admin/biz/web/TsaMarketingController.java

@@ -654,15 +654,40 @@ public class TsaMarketingController extends TsaBaseController {
 	 */
 	@PostMapping("/morebetter/save")
 	@ResponseBody
-	public GagaResponse saveMorebetterDetail(@RequestBody MoreBetter moreBetter){
-		try {
-			morebetterService.saveMoreBetterDetail(moreBetter);
+	public GagaMap saveMorebetterDetail(@RequestBody MoreBetter moreBetter){
+		String result = "";
+		GagaMap map = new GagaMap();
+
+		try{
+			MoreBetterGoods moreBetterGoods = new MoreBetterGoods();
+			moreBetterGoods.setMultiSupplyCompCd(moreBetter.getMultiSupplyCompCd());
+			moreBetterGoods.setMultiBrand(moreBetter.getMultiBrand());
+			moreBetterGoods.setMultiApplyGoods(moreBetter.getMultiApplyGoods());
+			moreBetterGoods.setMultiExceptGoods(moreBetter.getMultiExceptGoods());
+
+			// TMTB_GOODS_TEMP TABLE TRUNCATE -> 다른 다다에서 사용중인 상품 조회 -> INSERT
+			morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
+			// 다른 다다에서 사용중인 상품 조회
+			Collection<MoreBetterGoods> duplicateGoodsList = morebetterService.getMorebetterDuplicateList(moreBetterGoods);
+
+			// SELECT -> 지금 내가 선택한 업체&브랜드 + 적용상품에 해당하는 상품 조회 MINUS TMTB_GOODS_TEMP 상품
+			// 조회 건수 있으면 -> 해당 상품코드 엑셀로 던져주기
+			if(duplicateGoodsList.size() > 0){
+				map.set("duplicateYn","Y");
+				//map.set("message", result);
+				map.set("duplicateGoodsList",duplicateGoodsList);
+			}else{
+				// 조회 건수 없으면 -> 저장으로 넘어감
+				morebetterService.saveMoreBetterDetail(moreBetter);
+				map.set("duplicateYn","N");
+				map.set("message", message.getMessage("SUCC_0001"));
+			}
 		} catch(Exception e) {
 			e.printStackTrace();
-			return super.error(message.getMessage("FAIL_0001"));
+			map.set("message", message.getMessage("FAIL_0001"));
+			return map;
 		}
-		return super.ok(message.getMessage("SUCC_0001"));
-
+		return map;
 	}
 
 	/**

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

@@ -65,6 +65,18 @@ public class MoreBetter extends TscBaseDomain {
 	List<MoreBetterBurden> burdenList;
 	List<MoreBetterSection> sectionGbList;
 
+	@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[] multiApplyGoods;
+
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] multiExceptGoods;
+
 	// 날짜+시간
 	private String eventStdt;				// 다다익선시작일시
 	private String eventStHH;				// 다다익선시작일시

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

@@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.style24.persistence.TscBaseDomain;
 import lombok.Data;
 
+import java.util.List;
+
 
 /**
  * 품목 Domain
@@ -49,5 +51,13 @@ public class MoreBetterGoods extends TscBaseDomain {
 	private String[] multiBrand;
 
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private String[] multiGoods;
+	private String[] multiApplyGoods;
+
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] multiExceptGoods;
+/*
+	List<MoreBetterGoods> multiSupplyCompCd;
+	List<MoreBetterGoods> multiBrand;
+	List<MoreBetterGoods> multiGoods;
+	List<MoreBetterGoods> multiExceptGoods;*/
 }

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

@@ -570,25 +570,31 @@
 				   SELECT  G.GOODS_CD
 					 FROM  TB_GOODS G
 					WHERE  1=1
-						<if test="multiSupplyCompCd != null and multiSupplyCompCd != ''">
+						<if test="multiSupplyCompCd != null and multiSupplyCompCd.length>0">
 							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 != ''">
+						<if test="multiBrand != null and multiBrand.length>0">
 							AND G.BRAND_CD IN
 							<foreach collection="multiBrand" item="item" index="index"  open="(" close=")" separator=",">
 								#{item}
 							</foreach>
 						</if>
-						<if test="multiGoods != null and multiGoods != ''">
+						<if test="multiApplyGoods != null and multiApplyGoods.length>0">
 							OR G.GOODS_CD IN
-							<foreach collection="multiGoods" item="item" index="index"  open="(" close=")" separator=",">
+							<foreach collection="multiApplyGoods" item="item" index="index"  open="(" close=")" separator=",">
 								#{item}
 							</foreach>
 						</if>
 				)
+		   <if test="multiExceptGoods != null and multiExceptGoods.length>0">
+		   AND TMP.GOODS_CD NOT IN
+			   <foreach collection="multiExceptGoods" item="item" index="index"  open="(" close=")" separator=",">
+				   #{item}
+			   </foreach>
+		   </if>
 	</select>
 
 	<update id="updateMorebetterStat" parameterType="MoreBetter">

+ 26 - 1
src/main/webapp/WEB-INF/views/marketing/MorebetterPopupForm.html

@@ -635,6 +635,27 @@
 		// 업체분담율 토탈 100% 넘는지 체크
 		fnBurdenValueCheck();
 
+		// 공급업체+브랜드 상품조회
+		var multiSupplyCompCd = [];
+		$.each(allSupplyCompData, function(idx, item) {
+			multiSupplyCompCd.push(item.supplyCompCd);
+		});
+
+		var multiBrand = [];
+		$.each(allBrandData, function(idx, item) {
+			multiBrand.push(item.brandCd);
+		});
+
+		var multiApplyGoods = [];
+		$.each(allApplyGoodsData, function(idx, item) {
+			multiApplyGoods.push(item.goodsCd);
+		});
+
+		var multiExceptGoods = [];
+		$.each(allExceptGoodsData, function(idx, item) {
+			multiExceptGoods.push(item.goodsCd);
+		});
+
 		var data = {
 			mode : $('#moreBetterForm input[name=mode]').val()
 			, tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
@@ -652,11 +673,15 @@
 			, exceptGoodsList : allExceptGoodsData
 			, burdenList : allApplyBurdenData
 			, sectionGbList : allSectionGbData
+			, multiSupplyCompCd : multiSupplyCompCd
+			, multiBrand : multiBrand
+			, multiApplyGoods : multiApplyGoods
+			, multiExceptGoods : multiExceptGoods
 		};
 
 		var jsonData = JSON.stringify(data);
 
-		//gagajf.ajaxJsonSubmit($('#moreBetterForm').prop('action'), jsonData, fnMorebetterSaveCollback);
+		gagajf.ajaxJsonSubmit($('#moreBetterForm').prop('action'), jsonData, fnMorebetterSaveCollback);
 	});
 
 	var fnMorebetterSaveCollback = function(result){