Przeglądaj źródła

Merge branch 'develop' into eskim

eskim 5 lat temu
rodzic
commit
b8cc9e6b4c

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

@@ -853,15 +853,50 @@ public class TsaMarketingController extends TsaBaseController {
 	 */
 	@PostMapping("/morebetter/changeStat")
 	@ResponseBody
-	public GagaResponse updateMorebetterStat(@RequestBody MoreBetter moreBetter) {
-		try {
-			morebetterService.updateMorebetterStat(moreBetter);
-		} catch (Exception e) {
+	public GagaMap updateMorebetterStat(@RequestBody MoreBetter moreBetter) {
+		GagaMap map = new GagaMap();
+
+		try{
+			log.info("getTmtbStat :::{}",moreBetter.getTmtbStat());
+			MoreBetterGoods moreBetterGoods = new MoreBetterGoods();
+
+			if("G232_11".equals(moreBetter.getTmtbStat())){
+				moreBetterGoods.setMultiSupplyCompCd(moreBetter.getMultiSupplyCompCd());
+				moreBetterGoods.setMultiBrand(moreBetter.getMultiBrand());
+				moreBetterGoods.setMultiApplyGoods(moreBetter.getMultiApplyGoods());
+				moreBetterGoods.setMultiExceptGoods(moreBetter.getMultiExceptGoods());
+
+				// TMTB_GOODS_TEMP TABLE TRUNCATE -> 다른 다다에서 사용중인 상품 조회 -> INSERT
+				moreBetterGoods.setApplyGoodsList(moreBetter.getApplyGoodsList());
+				moreBetterGoods.setSectionGb(moreBetter.getSectionGb());
+				morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
+
+				// 다른 다다에서 사용중인 상품 조회
+				Collection<MoreBetterGoods> duplicateGoodsList = morebetterService.getMorebetterDuplicateList(moreBetterGoods);
+
+				// 조회 건수 있으면 -> 해당 상품코드 엑셀로 던져주기
+				if(duplicateGoodsList.size() > 0){
+					map.set("duplicateYn","Y");
+					map.set("duplicateGoodsList",duplicateGoodsList);
+					map.set("message", message.getMessage("FAIL_0001"));
+				}else{
+					// 조회 건수 없으면 -> 저장으로 넘어감
+					map.set("duplicateYn","N");
+					morebetterService.saveMoreBetterDetail(moreBetter);
+					//morebetterService.updateMorebetterStat(moreBetter);
+					map.set("message", message.getMessage("SUCC_0002"));
+				}
+			}else{
+				morebetterService.updateMorebetterStat(moreBetter);
+				map.set("message", message.getMessage("SUCC_0002"));
+			}
+		} 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_0003"));
+		return map;
 	}
 
 	/**

+ 125 - 21
src/main/webapp/WEB-INF/views/marketing/MorebetterPopupForm.html

@@ -597,8 +597,8 @@
 		return true;
 	};
 
-	// 저장
-	$('#btnMorebetterSave').on('click', function() {
+	var fnCheckData = function (){
+		console.log('[fnCheckData]');
 		// validation
 		if (!gagajf.validation('#moreBetterForm'))
 			return false;
@@ -631,6 +631,22 @@
 			return false;
 		}
 
+		// 적용상품 그리드에 기본상품 1개이상 있는지 체크
+		if(!fnGoodsGbCheck()) {
+			return false;
+		}
+
+		// 업체분담율 토탈 100% 넘는지 체크
+		if(!fnBurdenValueCheck()) {
+			return false;
+		}
+
+	};
+
+	// 저장
+	$('#btnMorebetterSave').on('click', function() {
+		fnCheckData();
+
 		// 각 ag-grid list 수량
 		let allSupplyCompData = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList);
 		let allBrandData = gagaAgGrid.getAllRowData(gridOptionsFGBrandList);
@@ -644,16 +660,6 @@
 			return false;
 		}
 
-		// 적용상품 그리드에 기본상품 1개이상 있는지 체크
-		if(!fnGoodsGbCheck()) {
-			return false;
-		}
-
-		// 업체분담율 토탈 100% 넘는지 체크
-		if(!fnBurdenValueCheck()) {
-			return false;
-		}
-		
 		// 공급업체+브랜드 상품조회
 		var multiSupplyCompCd = [];
 		$.each(allSupplyCompData, function(idx, item) {
@@ -703,9 +709,7 @@
 	});
 
 	var fnMorebetterSaveCollback = function(result){
-		//mcxDialog.alert(result.message);
 		if(result.duplicateYn == "Y"){
-			//console.log('duplicateGoodsList Size::'+ result.duplicateGoodsList.length);
 			for(let i=0; i<result.duplicateGoodsList.length; i++){
 				gagaAgGrid.addRowData(gridOptionsDuplicateGoodsList, {"goodsCd" : result.duplicateGoodsList[i].goodsCd, "goodsNm" : result.duplicateGoodsList[i].goodsNm});
 			}
@@ -1190,24 +1194,122 @@
 	});
 
 	// 진행 버튼 클릭
-	$("#moreBetterForm #btnChangeStatIng").on("click", function() {
+	$("#btnChangeStatIng").on("click", function() {
 		console.log('1111111111111');
-		/*mcxDialog.confirmC("프로모션을 진행하시겠습니까?<br/>진행 후에는 수정이 제한될 수 있습니다.", {
+
+		fnCheckData();
+
+		// 각 ag-grid list 수량
+		let allSupplyCompData = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList);
+		let allBrandData = gagaAgGrid.getAllRowData(gridOptionsFGBrandList);
+		let allApplyGoodsData = gagaAgGrid.getAllRowData(gridOptionsFGApplyGoodsList);
+		let allExceptGoodsData = gagaAgGrid.getAllRowData(gridOptionsFGExceptGoodsList);
+		let allApplyBurdenData = gagaAgGrid.getAllRowData(gridOptionsApplyBurdenList);
+		let allSectionGbData = gagaAgGrid.getAllRowData(gridOptionsSectionGbList);
+
+		if(allSectionGbData.length < 1){
+			mcxDialog.alert("할인구간을 설정해주세요.");
+			return false;
+		}
+
+		// 공급업체+브랜드 상품조회
+		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()
+			, tmtbNm : $('#moreBetterForm input[name=tmtbNm]').val()
+			, tmtbStat : "G232_11"				// 진행
+			, tmtbStdt : $('#moreBetterForm input[name=tmtbStdt]').val()
+			, tmtbEddt : $('#moreBetterForm input[name=tmtbEddt]').val()
+			, sectionGb : $('input:radio[name="sectionGb"]:checked').val()
+			, applyGb : $('input:radio[name="sectionGb"]:checked').val()
+			, dcWay : $('input:radio[name="dcWay"]:checked').val()
+			, supplyCompList : allSupplyCompData
+			, brandList : allBrandData
+			, applyGoodsList : allApplyGoodsData
+			, exceptGoodsList : allExceptGoodsData
+			, burdenList : allApplyBurdenData
+			, sectionGbList : allSectionGbData
+			, multiSupplyCompCd : multiSupplyCompCd
+			, multiBrand : multiBrand
+			, multiApplyGoods : multiApplyGoods
+			, multiExceptGoods : multiExceptGoods
+		};
+
+		var jsonData = JSON.stringify(data);
+		 */
+
+		mcxDialog.confirmC("프로모션을 진행하시겠습니까?<br/>진행 후에는 수정이 제한될 수 있습니다.", {
 			btn: confirmBtnText,
 			btnClick: function(index) {
 				if(index == 1) {
-					let data = { tmtbStat : "G232_11"				// 진행
+					let data = {
+						mode : $('#moreBetterForm input[name=mode]').val()
 						, tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
+						, tmtbNm : $('#moreBetterForm input[name=tmtbNm]').val()
+						, tmtbStat : "G232_11"				// 진행
+						, tmtbStdt : $('#moreBetterForm input[name=tmtbStdt]').val()
+						, tmtbEddt : $('#moreBetterForm input[name=tmtbEddt]').val()
+						, sectionGb : $('input:radio[name="sectionGb"]:checked').val()
+						, applyGb : $('input:radio[name="sectionGb"]:checked').val()
+						, dcWay : $('input:radio[name="dcWay"]:checked').val()
+						, supplyCompList : allSupplyCompData
+						, brandList : allBrandData
+						, applyGoodsList : allApplyGoodsData
+						, exceptGoodsList : allExceptGoodsData
+						, burdenList : allApplyBurdenData
+						, sectionGbList : allSectionGbData
+						, multiSupplyCompCd : multiSupplyCompCd
+						, multiBrand : multiBrand
+						, multiApplyGoods : multiApplyGoods
+						, multiExceptGoods : multiExceptGoods
 					}
 					var jsonData = JSON.stringify(data);
-					gagajf.ajaxJsonSubmit('/marketing/morebetter/changeStat', jsonData, fnMorebetterFormClose);
+					gagajf.ajaxJsonSubmit('/marketing/morebetter/changeStat', jsonData, fnMorebetterChangeStatCollback);
 				}
 			}
-		});*/
+		});
 	});
 
-	// 진행 버튼 클릭
-	$("#moreBetterForm #btnMorebetterStop").on("click", function() {
+	var fnMorebetterChangeStatCollback = function(result){
+		console.log('<fnMorebetterChangeStatCollback result>');
+		if(result.duplicateYn == "Y"){
+			for(let i=0; i<result.duplicateGoodsList.length; i++){
+				gagaAgGrid.addRowData(gridOptionsDuplicateGoodsList, {"goodsCd" : result.duplicateGoodsList[i].goodsCd, "goodsNm" : result.duplicateGoodsList[i].goodsNm});
+			}
+			mcxDialog.alert("다른 다다익선에서 사용중인 상품이 존재합니다.");
+			gagaAgGrid.exportToExcel('다다익선 중복상품 목록', gridOptionsDuplicateGoodsList);
+			fnMorebetterFormClose();
+			$('#btnInit').trigger('click');
+			$('#btnSearch').trigger('click');
+		}else{
+			fnMorebetterFormClose();
+			$('#btnInit').trigger('click');
+			$('#btnSearch').trigger('click');
+		}
+	};
+
+	// 중지 버튼 클릭
+	$("#btnMorebetterStop").on("click", function() {
 		mcxDialog.confirmC("프로모션을 중지하시겠습니까?<br/>중지 후에는 진행으로 복원하실 수 없습니다.", {
 			btn: confirmBtnText,
 			btnClick: function(index) {
@@ -1238,5 +1340,7 @@
 		});
 	});
 
+
+
 </script>
 </html>