Quellcode durchsuchen

다다익선 추가 수정중

bin2107 vor 5 Jahren
Ursprung
Commit
6e718051b7

+ 10 - 84
src/main/java/com/style24/admin/biz/service/TsaMorebetterService.java

@@ -127,49 +127,30 @@ public class TsaMorebetterService {
      */
     @Transactional("shopTxnManager")
     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());
+        Gson gson = new Gson();
+        String jsonData = gson.toJson(moreBetter);
+        log.info("{ saveMoreBetterDetail jsonData}",jsonData);
+        log.info("{ saveMoreBetterDetail moreBetter}",moreBetter);
 
         // TMTB 마스터(TB_TMTB) 저장
         morebetterDao.saveMorebetterMst(moreBetter);
 
-        // 다다익선 적용대상 설정
         // 공급업체
-        Collection<MoreBetterGoods> supplyCompList = gson.fromJson(moreBetter.getSupplyCompList() , new TypeToken<Collection<MoreBetterGoods>>(){}.getType());
-        for(MoreBetterGoods regSupplyComp : supplyCompList){
-            // 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
-            // tmtbGoodsSq 생성
-            log.info("regSupplyComp.getTmtbGoodsSq = {}",regSupplyComp.getTmtbGoodsSq());
-            Integer tmtbGoodsSq = regSupplyComp.getTmtbGoodsSq();
-            if(tmtbGoodsSq == null){
-                tmtbGoodsSq =  commonService.getNextSequence("SEQ_TMTB_GOODS");
-                regSupplyComp.setTmtbGoodsSq(tmtbGoodsSq);
-            }
+        for(MoreBetterGoods regSupplyComp : moreBetter.getSupplyCompList()){
             regSupplyComp.setTmtbSq(moreBetter.getTmtbSq());
             regSupplyComp.setGoodsGb("G800_20");
             regSupplyComp.setTargetVal(regSupplyComp.getSupplyCompCd());
             regSupplyComp.setRegNo(moreBetter.getRegNo());
             regSupplyComp.setUpdNo(moreBetter.getUpdNo());
-
             morebetterDao.saveMorebetterGoods(regSupplyComp);
         }
 
         // 브랜드
-        Collection<MoreBetterGoods> brandList = gson.fromJson(moreBetter.getBrandList() , new TypeToken<Collection<MoreBetterGoods>>(){}.getType());
-        for(MoreBetterGoods regBrand : brandList){
+        for(MoreBetterGoods regBrand : moreBetter.getBrandList()){
             // 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
-            // tmtbGoodsSq 생성
-            log.info("regBrand.getTmtbGoodsSq = {}",regBrand.getTmtbGoodsSq());
-            Integer tmtbGoodsSq = regBrand.getTmtbGoodsSq();
-            if(tmtbGoodsSq == null){
-                tmtbGoodsSq =  commonService.getNextSequence("SEQ_TMTB_GOODS");
-                regBrand.setTmtbGoodsSq(tmtbGoodsSq);
-            }
             regBrand.setTmtbSq(moreBetter.getTmtbSq());
             regBrand.setGoodsGb("G800_20");
             regBrand.setTargetVal(regBrand.getBrandCd());
@@ -180,23 +161,8 @@ public class TsaMorebetterService {
         }
 
         // 적용상품
-        Collection<MoreBetterGoods> applyGoodsList = gson.fromJson(moreBetter.getApplyGoodsList() , new TypeToken<Collection<MoreBetterGoods>>(){}.getType());
-        for(MoreBetterGoods regApplyGoods : applyGoodsList){
+        for(MoreBetterGoods regApplyGoods : moreBetter.getApplyGoodsList()){
             // 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
-            // tmtbGoodsSq 생성
-            log.info("regApplyGoods.getTmtbGoodsSq = {}",regApplyGoods.getTmtbGoodsSq());
-            Integer tmtbGoodsSq = regApplyGoods.getTmtbGoodsSq();
-            if(tmtbGoodsSq == null){
-                tmtbGoodsSq =  commonService.getNextSequence("SEQ_TMTB_GOODS");
-                regApplyGoods.setTmtbGoodsSq(tmtbGoodsSq);
-            }
-
-            log.info("regApplyGoods.getTmtbApplyGoodsSq = {}",regApplyGoods.getTmtbApplyGoodsSq());
-            Integer tmtbApplyGoodsSq = regApplyGoods.getTmtbApplyGoodsSq();
-            if(tmtbApplyGoodsSq == null){
-                tmtbApplyGoodsSq =  commonService.getNextSequence("SEQ_TMTB_APPLY_GOODS");
-                regApplyGoods.setTmtbApplyGoodsSq(tmtbApplyGoodsSq);
-            }
             regApplyGoods.setTmtbSq(moreBetter.getTmtbSq());
             regApplyGoods.setTargetVal(regApplyGoods.getGoodsCd());
             regApplyGoods.setRegNo(moreBetter.getRegNo());
@@ -207,23 +173,8 @@ public class TsaMorebetterService {
         }
 
         // 제외상품
-        Collection<MoreBetterGoods> exceptGoodsList = gson.fromJson(moreBetter.getExceptGoodsList() , new TypeToken<Collection<MoreBetterGoods>>(){}.getType());
-        for(MoreBetterGoods regExceptGoods : exceptGoodsList){
+        for(MoreBetterGoods regExceptGoods : moreBetter.getExceptGoodsList()){
             // 다다익선 적용대상 설정(TB_TMTB_GOODS) 저장
-            // tmtbGoodsSq 생성
-            log.info("regExceptGoods.getTmtbGoodsSq = {}",regExceptGoods.getTmtbGoodsSq());
-            Integer tmtbGoodsSq = regExceptGoods.getTmtbGoodsSq();
-            if(tmtbGoodsSq == null){
-                tmtbGoodsSq =  commonService.getNextSequence("SEQ_TMTB_GOODS");
-                regExceptGoods.setTmtbGoodsSq(tmtbGoodsSq);
-            }
-
-            log.info("regExceptGoods.getTmtbApplyGoodsSq = {}",regExceptGoods.getTmtbApplyGoodsSq());
-            Integer tmtbApplyGoodsSq = regExceptGoods.getTmtbApplyGoodsSq();
-            if(tmtbApplyGoodsSq == null){
-                tmtbApplyGoodsSq =  commonService.getNextSequence("SEQ_TMTB_APPLY_GOODS");
-                regExceptGoods.setTmtbApplyGoodsSq(tmtbApplyGoodsSq);
-            }
             regExceptGoods.setTmtbSq(moreBetter.getTmtbSq());
             regExceptGoods.setTargetVal(regExceptGoods.getGoodsCd());
             regExceptGoods.setRegNo(moreBetter.getRegNo());
@@ -234,25 +185,8 @@ public class TsaMorebetterService {
         }
 
         // 다다익선 할인구간 저장
-        Collection<MoreBetterSection> sectionGbList = gson.fromJson(moreBetter.getSectionGbList() , new TypeToken<Collection<MoreBetterSection>>(){}.getType());
-        for(MoreBetterSection regSection : sectionGbList){
-            log.info("regSection.getTmtbSectionSq = {}",regSection.getTmtbSectionSq());
-            log.info("regSection.getTmtbValSq = {}",regSection.getTmtbValSq());
+        for(MoreBetterSection regSection : moreBetter.getSectionGbList()){
             // 다다익선 할인구간설정 2차조건(TB_TMTB_SECTION) 저장
-            // tmtbSectionSq 생성
-            Integer tmtbSectionSq = regSection.getTmtbSectionSq();
-            //if("".equals(regSection.getTmtbSectionSq()) || regSection.getTmtbSectionSq() == null){
-            if(tmtbSectionSq == null){
-                tmtbSectionSq =  commonService.getNextSequence("SEQ_TMTB_SECTION");
-                regSection.setTmtbSectionSq(tmtbSectionSq);
-            }
-            // 다다익선 조건에 따른 할인혜택(금액할인) 설정(TB_TMTB_VAL) 저장
-            // tmtbValSq 생성
-            Integer tmtbValSq = regSection.getTmtbValSq();
-            if(tmtbValSq == null){
-                tmtbValSq =  commonService.getNextSequence("SEQ_TMTB_VAL");
-                regSection.setTmtbValSq(tmtbValSq);
-            }
             regSection.setTmtbSq(moreBetter.getTmtbSq());
             regSection.setRegNo(moreBetter.getRegNo());
             regSection.setUpdNo(moreBetter.getUpdNo());
@@ -262,15 +196,7 @@ public class TsaMorebetterService {
         }
 
         // 다다익선 업체분담율(TB_TMTB_BURDEN) 저장
-        Collection<MoreBetterBurden> burdenList = gson.fromJson(moreBetter.getBurdenList() , new TypeToken<Collection<MoreBetterBurden>>(){}.getType());
-        for (MoreBetterBurden regBurden : burdenList) {
-            // tmtbBurdenSq 생성
-            log.info("regBurden.getTmtbBurdenSq = {}",regBurden.getTmtbBurdenSq());
-            Integer tmtbBurdenSq = regBurden.getTmtbBurdenSq();
-            if(tmtbBurdenSq == null){
-                tmtbBurdenSq =  commonService.getNextSequence("SEQ_TMTB_BURDEN");
-                regBurden.setTmtbBurdenSq(tmtbBurdenSq);
-            }
+        for (MoreBetterBurden regBurden : moreBetter.getBurdenList()) {
             regBurden.setTmtbSq(moreBetter.getTmtbSq());
             regBurden.setRegNo(moreBetter.getRegNo());
             regBurden.setUpdNo(moreBetter.getUpdNo());

+ 9 - 68
src/main/java/com/style24/admin/biz/web/TsaMarketingController.java

@@ -540,10 +540,10 @@ public class TsaMarketingController extends TsaBaseController {
 
 		//tmtb sq 자동생성
 		Integer tmtbSq;
-		if ("N".equals(mode)) {
+		/*if ("N".equals(mode)) {
 			tmtbSq = commonService.getNextSequence("SEQ_TMTB");
 			moreBetter.setTmtbSq(tmtbSq);
-		}
+		}*/
 
 		if ("U".equals(mode)) {
 			// 다다익선 정보
@@ -582,74 +582,15 @@ public class TsaMarketingController extends TsaBaseController {
 	 */
 	@PostMapping("/morebetter/save")
 	@ResponseBody
-	public GagaMap saveMorebetterDetail(@RequestBody MoreBetter moreBetter){
-		String result = "";
-		GagaMap map = new GagaMap();
-
-		String[] multiSupplyCompCd = moreBetter.getSupplyCompArr().split(",");
-		String[] multiBrand = moreBetter.getBrandArr().split(",");
-		String[] multiGoods = moreBetter.getGoodsArr().split(",");
-
-		MoreBetterGoods moreBetterGoods = new MoreBetterGoods();
-
-		moreBetterGoods.setMultiSupplyCompCd(multiSupplyCompCd);
-		moreBetterGoods.setMultiBrand(multiBrand);
-		moreBetterGoods.setMultiGoods(multiGoods);
-		log.info("[1 saveMorebetterDetail moreBetterGoods]{}",moreBetterGoods);
-
-		// TMTB_GOODS_TEMP TABLE TRUNCATE -> 다른 다다에서 사용중인 상품 조회 -> INSERT
-		morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
-		//log.info("[saveMorebetterDetail createMorebetterGoodsTemp a]{}");
-		// 다른 다다에서 사용중인 상품 조회
-		Collection<MoreBetterGoods> duplicateGoodsList = morebetterService.getMorebetterDuplicateList(moreBetterGoods);
-
-		log.info("[1 duplicateGoodsList size]{}",duplicateGoodsList.size());
-
-		// SELECT -> 지금 내가 선택한 업체&브랜드 + 적용상품에 해당하는 상품 조회 MINUS TMTB_GOODS_TEMP 상품
-		// 조회 건수 있으면 -> 해당 상품코드 엑셀로 던져주기
-		if(duplicateGoodsList.size() > 0){
-			map.set("duplicateYn","Y");
-			map.set("msg", result);
-			map.set("duplicateGoodsList",duplicateGoodsList);
-		}else{
-			// 조회 건수 없으면 -> 저장으로 넘어감
-			//morebetterService.saveMoreBetterDetail(moreBetter);
-			map.set("duplicateYn","N");
-			map.set("msg", message.getMessage("SUCC_0001"));
+	public GagaResponse saveMorebetterDetail(@RequestBody MoreBetter moreBetter){
+		try {
+			morebetterService.saveMoreBetterDetail(moreBetter);
+		} catch(Exception e) {
+			e.printStackTrace();
+			return super.error(message.getMessage("FAIL_0001"));
 		}
-
-		return map;
-	}
-
-	@PostMapping("/morebetter/save2")
-	@ResponseBody
-	public GagaResponse saveMorebetterDetail2(@RequestBody MoreBetter moreBetter){
-		String[] multiSupplyCompCd = moreBetter.getSupplyCompArr().split(",");
-		String[] multiBrand = moreBetter.getBrandArr().split(",");
-		String[] multiGoods = moreBetter.getGoodsArr().split(",");
-
-		MoreBetterGoods moreBetterGoods = new MoreBetterGoods();
-
-		moreBetterGoods.setMultiSupplyCompCd(multiSupplyCompCd);
-		moreBetterGoods.setMultiBrand(multiBrand);
-		moreBetterGoods.setMultiGoods(multiGoods);
-		log.info("[saveMorebetterDetail moreBetterGoods]{}",moreBetterGoods);
-
-		// TMTB_GOODS_TEMP TABLE TRUNCATE -> 다른 다다에서 사용중인 상품 조회 -> INSERT
-		morebetterService.createMorebetterGoodsTemp(moreBetterGoods);
-		//log.info("[saveMorebetterDetail createMorebetterGoodsTemp a]{}");
-		// 다른 다다에서 사용중인 상품 조회
-		Collection<MoreBetterGoods> duplicateGoodsList = morebetterService.getMorebetterDuplicateList(moreBetterGoods);
-
-		log.info("[duplicateGoodsList size]{}",duplicateGoodsList.size());
-
-		// SELECT -> 지금 내가 선택한 업체&브랜드에 해당하는 상품 조회 MINUS TMTB_GOODS_TEMP 상품
-		// 조회 건수 있으면 -> 해당 상품코드 엑셀로 던져주기
-		// 조회 건수 없으면 -> 저장으로 넘어감
-
-
-		//morebetterService.saveMoreBetterDetail(moreBetter);
 		return super.ok(message.getMessage("SUCC_0001"));
+
 	}
 
 	/**

+ 7 - 14
src/main/java/com/style24/persistence/domain/MoreBetter.java

@@ -6,6 +6,7 @@ import com.style24.persistence.TscPageRequest;
 import lombok.Data;
 
 import java.util.Collection;
+import java.util.List;
 
 /**
  * 품목 Domain
@@ -57,20 +58,12 @@ public class MoreBetter extends TscBaseDomain {
 	//private String burdenRate;	// 업체분담율
 	private String useYn;			// 사용여부
 
-	private String supplyCompList;
-	private String brandList;
-	private String applyGoodsList;
-	private String exceptGoodsList;
-	private String burdenList;
-	private String sectionGbList;
-	private String compBrandGoodsList;
-
-	private String supplyCompArr;
-	private String brandArr;
-	private String goodsArr;
-
-	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private String[] arrCompBrandGoods;
+	List<MoreBetterGoods> supplyCompList;
+	List<MoreBetterGoods> brandList;
+	List<MoreBetterGoods> applyGoodsList;
+	List<MoreBetterGoods> exceptGoodsList;
+	List<MoreBetterBurden> burdenList;
+	List<MoreBetterSection> sectionGbList;
 
 	// Pagination
 	private TscPageRequest pageable;

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

@@ -14,7 +14,8 @@ import lombok.Data;
 @Data
 public class MoreBetterBurden extends TscBaseDomain {
 	// 다다익선 업체 분담율
-	private Integer tmtbBurdenSq;		// 업체분담율Sq
+	private Integer tbTmtbBurdenSq;		// 업체분담율Sq
+	private Integer tmtbBurdenSq;
 	private Integer tmtbSq;				// 프로모션Sq
 	private String tmtbSupplyCd;	// 업체코드
 	private String tmtbBurdenRate;	// 업체분담율

+ 68 - 70
src/main/java/com/style24/persistence/mybatis/shop/TsaMorebetter.xml

@@ -185,7 +185,7 @@
 
 	<select id="getMorebetterBurdenList" parameterType="Integer" resultType="MoreBetterBurden">
 		/* TsaMarketing.getMorebetterBurdenList */
-		SELECT 		TB_TMTB_BURDEN_SQ AS TMTB_BURDEN_SQ
+		SELECT 		TB_TMTB_BURDEN_SQ
 				   , TMTB_SQ
 				   , TMTB_SUPPLY_CD
 				   , TMTB_BURDEN_RATE
@@ -199,47 +199,46 @@
 		  AND TMTB_SQ = #{tmtbSq}
 	</select>
 
-	<insert id="saveMorebetterMst" parameterType="MoreBetter" >
+	<insert id="saveMorebetterMst" parameterType="MoreBetter" keyProperty="tmtbSq">
 		/* TsaMarketing.saveMorebetterMst */
 		INSERT INTO TB_TMTB(
-					 TMTB_SQ
-					,TMTB_NM
-					,TMTB_STAT
-					,TMTB_ST_DT
-					,TMTB_ED_DT
-					,APPLY_GB
-					,MULTI_YN
-					,DEL_YN
-					,REG_NO
-					,REG_DT
-					,UPD_NO
-					,UPD_DT
-			)
-			VALUES (
-			         #{tmtbSq}
-					,#{tmtbNm}
-				    ,#{tmtbStat}
-				    ,#{tmtbStdt}
-				    ,#{tmtbEddt}
-				    ,#{applyGb}
-				    ,#{multiYn}
-				    ,'N'
-				    ,#{regNo}
-				    ,NOW()
-				    ,#{updNo}
-				    ,NOW()
-				   )
-			ON DUPLICATE KEY UPDATE
-						 TMTB_NM = #{tmtbNm}
-						,TMTB_STAT = #{tmtbStat}
-						,TMTB_ST_DT = #{tmtbStdt}
-						,TMTB_ED_DT = #{tmtbEddt}
-						,MULTI_YN = #{multiYn}
-						,UPD_NO = #{updNo}
-						,UPD_DT = NOW()
+		        TMTB_SQ
+		        ,TMTB_NM
+				,TMTB_STAT
+				,TMTB_ST_DT
+				,TMTB_ED_DT
+				,APPLY_GB
+				,MULTI_YN
+				,DEL_YN
+				,REG_NO
+				,REG_DT
+				,UPD_NO
+				,UPD_DT
+		) VALUES (
+			#{tmtbSq}
+		    ,#{tmtbNm}
+			,#{tmtbStat}
+			,#{tmtbStdt}
+			,#{tmtbEddt}
+			,#{applyGb}
+			,#{multiYn}
+			,'N'
+			,#{regNo}
+			,NOW()
+			,#{updNo}
+			,NOW()
+		)
+		ON DUPLICATE KEY UPDATE
+			TMTB_NM = #{tmtbNm}
+			,TMTB_STAT = #{tmtbStat}
+			,TMTB_ST_DT = #{tmtbStdt}
+			,TMTB_ED_DT = #{tmtbEddt}
+			,MULTI_YN = #{multiYn}
+			,UPD_NO = #{updNo}
+			,UPD_DT = NOW()
 	</insert>
 
-	<insert id="saveMorebetterGoods" parameterType="MoreBetterGoods" >
+	<insert id="saveMorebetterGoods" parameterType="MoreBetterGoods" keyProperty="tmtbGoodsSq">
 		/* TsaMarketing.saveMorebetterGoods */
 		INSERT INTO TB_TMTB_GOODS(
 		         	 TMTB_GOODS_SQ
@@ -273,7 +272,7 @@
 						,UPD_DT = NOW()
 	</insert>
 
-	<insert id="saveMorebetterApplyGoods" parameterType="MoreBetterGoods" >
+	<insert id="saveMorebetterApplyGoods" parameterType="MoreBetterGoods" keyProperty="tmtbApplyGoodsSq">
 		/* TsaMarketing.saveMorebetterApplyGoods */
 		INSERT INTO TB_TMTB_APPLY_GOODS(
 					TMTB_APPLY_GOODS_SQ
@@ -304,7 +303,7 @@
 								 ,UPD_DT = NOW()
 	</insert>
 
-	<insert id="saveMorebetterSection" parameterType="MoreBetterSection" >
+	<insert id="saveMorebetterSection" parameterType="MoreBetterSection" keyProperty="tmtbSectionSq">
 		/* TsaMarketing.saveMorebetterSection */
 		INSERT INTO TB_TMTB_SECTION(
 					 TMTB_SECTION_SQ
@@ -335,7 +334,7 @@
 						,UPD_DT = NOW()
 	</insert>
 
-	<insert id="saveMorebetterVal" parameterType="MoreBetterSection" >
+	<insert id="saveMorebetterVal" parameterType="MoreBetterSection" keyProperty="tmtbValSq">
 		/* TsaMarketing.saveMorebetterVal */
 		INSERT INTO TB_TMTB_VAL(
 					 TMTB_VAL_SQ
@@ -368,36 +367,35 @@
 						,UPD_DT = NOW()
 	</insert>
 
-	<insert id="saveMorebetterBurden" parameterType="MoreBetterBurden" >
+	<insert id="saveMorebetterBurden" parameterType="MoreBetterBurden" keyProperty="tbTmtbBurdenSq">
 		/* TsaMarketing.saveMorebetterBurden */
 		INSERT INTO TB_TMTB_BURDEN(
-					 TB_TMTB_BURDEN_SQ
-					,TMTB_SQ
-					,TMTB_SUPPLY_CD
-					,TMTB_BURDEN_RATE
-					,USE_YN
-					,REG_NO
-					,REG_DT
-					,UPD_NO
-					,UPD_DT
-			)
-			VALUES (
-			         #{tmtbBurdenSq}
-			        ,#{tmtbSq}
-			        ,#{tmtbSupplyCd}
-			        ,#{tmtbBurdenRate}
-			        ,#{useYn}
-				    ,#{regNo}
-				    ,NOW()
-				    ,#{updNo}
-				    ,NOW()
-				   )
-		ON DUPLICATE KEY UPDATE
-					 TMTB_SUPPLY_CD = #{tmtbSupplyCd}
-					,TMTB_BURDEN_RATE = #{tmtbBurdenRate}
-					,USE_YN = #{useYn}
-					,UPD_NO = #{updNo}
-					,UPD_DT = NOW()
+								  TB_TMTB_BURDEN_SQ
+		                          ,TMTB_SQ
+								  ,TMTB_SUPPLY_CD
+								  ,TMTB_BURDEN_RATE
+								  ,USE_YN
+								  ,REG_NO
+								  ,REG_DT
+								  ,UPD_NO
+								  ,UPD_DT
+		) VALUES (
+			    #{tbTmtbBurdenSq}
+		       ,#{tmtbSq}
+			   ,#{tmtbSupplyCd}
+			   ,#{tmtbBurdenRate}
+			   ,#{useYn}
+			   ,#{regNo}
+			   ,NOW()
+			   ,#{updNo}
+			   ,NOW()
+			   )
+			ON DUPLICATE KEY UPDATE
+								 TMTB_SUPPLY_CD = #{tmtbSupplyCd}
+								 ,TMTB_BURDEN_RATE = #{tmtbBurdenRate}
+								 ,USE_YN = #{useYn}
+								 ,UPD_NO = #{updNo}
+								 ,UPD_DT = NOW()
 	</insert>
 
 	<delete id="deleteTmtbSupplyCompanyList" parameterType="MoreBetterGoods">
@@ -539,7 +537,7 @@
 							</foreach>
 						</if>
 						<if test="multiGoods != null and multiGoods != ''">
-							AND G.GOODS_CD IN
+							OR G.GOODS_CD IN
 							<foreach collection="multiGoods" item="item" index="index"  open="(" close=")" separator=",">
 								#{item}
 							</foreach>

+ 73 - 109
src/main/webapp/WEB-INF/views/marketing/MorebetterPopupForm.html

@@ -29,9 +29,6 @@
 			<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="goodsArr"/>
 
 			<div class="panelContent">
 				<table class="frmStyle">
@@ -269,8 +266,9 @@
 			<li  class="right">
 				<!-- <th:block th:if="${sessionInfo.roleCd == 'G001_0000' OR sessionInfo.roleCd == 'G001_A000' OR sessionInfo.roleCd == 'G001_A101' OR sessionInfo.roleCd == 'G001_A100' OR sessionInfo.roleCd == 'G001_A001'}"> -->
 				<!--<button type="button" class="btn btnRight btn-success btn-lg" id="btnSearchList">목록</button>-->
-				<button type="button" th:if="${mode == 'N'}" class="btn btnRight btn-success btn-lg" id="btnMorebetterSave">저장</button>
-				<button type="button" th:if="${mode == 'U'}" class="btn btnRight btn-success btn-lg" id="btnMorebetterUpdate">수정</button>
+				<button type="button" class="btn btnRight btn-success btn-lg" id="btnMorebetterSave">저장</button>
+				<!--<button type="button" th:if="${mode == 'N'}" class="btn btnRight btn-success btn-lg" id="btnMorebetterSave">저장</button>
+				<button type="button" th:if="${mode == 'U'}" class="btn btnRight btn-success btn-lg" id="btnMorebetterUpdate">수정</button>-->
 				<!--<button type="button" class="btn btnRight btn-success btn-lg" id="btnChangeStatIng">진행</button>
                     <button type="button" class="btn btnRight btn-success btn-lg" id="btnPromotionDelete">삭제</button>
                     <button type="button" class="btn btnRight btn-success btn-lg" id="btnPromotionStop">중지</button>-->
@@ -541,53 +539,25 @@
 		});
 	});
 
-	$('#btnMorebetterSave').on('click', function() {
-		var allSupplyCompData = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList);
-		var allBrandData = gagaAgGrid.getAllRowData(gridOptionsFGBrandList);
-		var allApplyGoodsData = gagaAgGrid.getAllRowData(gridOptionsFGApplyGoodsList);
-
-		// 공급업체+브랜드 상품조회
-		var multiSupplyCompCd = [];
-		$.each(allSupplyCompData, function(idx, item) {
-			multiSupplyCompCd.push(item.supplyCompCd);
-		});
-
-		var multiBrand = [];
-		$.each(allBrandData, function(idx, item) {
-			multiBrand.push(item.brandCd);
-		});
-
-		var multiGoods = [];
-		$.each(allApplyGoodsData, function(idx, item) {
-			multiGoods.push(item.goodsCd);
-		});
-
-		$('#moreBetterForm input[name=supplyCompArr]').val(multiSupplyCompCd.join(','));
-		$('#moreBetterForm input[name=brandArr]').val(multiBrand.join(','));
-		$('#moreBetterForm input[name=goodsArr]').val(multiGoods.join(','));
-
-		var jsonData = JSON.stringify($('#moreBetterForm').serializeObject());
-		gagajf.ajaxJsonSubmit($('#moreBetterForm').prop('action'), jsonData, fnMorebetterSaveCollback);
-	});
-
-	var fnMorebetterSaveCollback = function(result){
-		console.log('duplicateYn::::'+result.duplicateYn);
-		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});
+	var fnGoodsGbCheck = function (){
+		let applyGoodsData = gagaAgGrid.getAllRowData(gridOptionsFGApplyGoodsList);
+		var checkCnt = 0;
+		$.each(applyGoodsData, function(idx, item) {
+			if(item.goodsGb == 'G800_10'){
+				checkCnt++;
 			}
-			gagaAgGrid.exportToExcel('다다익선 중복상품 목록', gridOptionsDuplicateGoodsList);
+		});
+		console.log('checkCnt>>'+checkCnt);
+		if(checkCnt < 1){
+			mcxDialog.alert("기본상품을 1개 이상 지정해주세요.");
+			return false;
 		}else{
-			mcxDialog.alert(result.msg);
-			fnMorebetterFormClose();
-			$('#btnInit').trigger('click');
-			$('#btnSearch').trigger('click');
+			console.log('통과');
 		}
-	}
+	};
 
-	// 저장 버튼 클릭시
-	$('#btnMorebetterSave2').on('click', function() {
+	// 저장
+	$('#btnMorebetterSave').on('click', function() {
 		// validation
 		if (!gagajf.validation('#moreBetterForm'))
 			return false;
@@ -607,84 +577,78 @@
 			$('#moreBetterForm input[name=tmtbStdt]').focus();
 			return false;
 		}
-		// 공급업체&&브랜드 체크
-		let allSupplyCompCnt = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList).length;
-		let allBrandCnt = gagaAgGrid.getAllRowData(gridOptionsFGBrandList).length;
-		console.log('allSupplyCompCnt>>>>'+allSupplyCompCnt);
-		console.log('allBrandCnt>>>>'+allBrandCnt);
-		if(allSupplyCompCnt>0){
-			if(allBrandCnt<1){
+
+		// 각 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(allSupplyCompData.length > 0){
+			if(allBrandData.length < 1){
 				mcxDialog.alert('브랜드를 추가해주세요.');
 				return;
 			}
 		}
-		if(allBrandCnt>0){
-			if(allSupplyCompCnt<1){
+		if(allBrandData.length > 0){
+			if(allSupplyCompData.length < 1){
 				mcxDialog.alert('공급업체를 추가해주세요.');
 				return;
 			}
 		}
 
-		// 각 ag-grid list 수량
-		let supplyCompCnt = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList).length;
-		let brandCnt = gagaAgGrid.getAllRowData(gridOptionsFGBrandList).length;
-		let applyGoodsCnt = gagaAgGrid.getAllRowData(gridOptionsFGApplyGoodsList).length;
-		let exceptGoodsCnt = gagaAgGrid.getAllRowData(gridOptionsFGExceptGoodsList).length;
-		let applyBurdenCnt = gagaAgGrid.getAllRowData(gridOptionsApplyBurdenList).length;
-		let sectionGbCnt = gagaAgGrid.getAllRowData(gridOptionsSectionGbList).length;
-
-		if(applyGoodsCnt < 1){
-			mcxDialog.alert("적용상품이 없습니다.");
-			return false;
-		}
-		if(sectionGbCnt < 1){
+		if(allSectionGbData.length < 1){
 			mcxDialog.alert("할인구간을 설정해주세요.");
 			return false;
 		}
 
-		// disabled 값 넘겨주기
-		$('#moreBetterForm input[name=tmtbSq]').val($('#moreBetterForm input[name=disTmtbSq]').val());
-		$('#moreBetterForm input[name=tmtbStat]').val($('input:radio[name="disTmtbStat"]:checked').val());
+		// 적용상품 그리드에 기본상품 1개이상 있는지 체크
+		fnGoodsGbCheck();
+
+		var data = {
+			mode : $('#moreBetterForm input[name=mode]').val()
+			, tmtbSq : $('#moreBetterForm input[name=disTmtbSq]').val()
+			, tmtbNm : $('#moreBetterForm input[name=tmtbNm]').val()
+			, tmtbStat : $('input:radio[name="disTmtbStat"]:checked').val()
+			, 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()
+			, multiYn : $('#moreBetterForm input[name=multiYn]').val()
+			, supplyCompList : allSupplyCompData
+			, brandList : allBrandData
+			, applyGoodsList : allApplyGoodsData
+			, exceptGoodsList : allExceptGoodsData
+			, burdenList : allApplyBurdenData
+			, sectionGbList : allSectionGbData
+		};
+
+		var jsonData = JSON.stringify(data);
 
-		mcxDialog.confirm('선택된 데이터를 저장하시겠습니까?', {
-			cancelBtnText: "취소",
-			sureBtnText: "확인",
-			sureBtnClick: function(){
-				var compAllData = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList);
-				var brandAllData = gagaAgGrid.getAllRowData(gridOptionsFGBrandList);
-				var applyAllData = gagaAgGrid.getAllRowData(gridOptionsFGApplyGoodsList);
-				var exceptAllData = gagaAgGrid.getAllRowData(gridOptionsFGExceptGoodsList);
-				var burdenAllData = gagaAgGrid.getAllRowData(gridOptionsApplyBurdenList);
-				var sectionGbAllData = gagaAgGrid.getAllRowData(gridOptionsSectionGbList);
-
-				var jsonSupplyCompData = JSON.stringify(compAllData);
-				$('#moreBetterForm input[name=supplyCompList]').val(jsonSupplyCompData);
-				var jsonBrandData = JSON.stringify(brandAllData);
-				$('#moreBetterForm input[name=brandList]').val(jsonBrandData);
-				var jsonApplyData = JSON.stringify(applyAllData);
-				$('#moreBetterForm input[name=applyGoodsList]').val(jsonApplyData);
-				var jsonExceptData = JSON.stringify(exceptAllData);
-				$('#moreBetterForm input[name=exceptGoodsList]').val(jsonExceptData);
-				var jsonBurdenData = JSON.stringify(burdenAllData);
-				$('#moreBetterForm input[name=burdenList]').val(jsonBurdenData);
-
-				var jsonSectionGbData = JSON.stringify(sectionGbAllData);
-				$('#moreBetterForm input[name=sectionGbList]').val(jsonSectionGbData);
-
-				$('#moreBetterForm input[name=applyGb]').val($('input:radio[name="sectionGb"]:checked').val());
-
-
-				var jsonData = JSON.stringify($('#moreBetterForm').serializeObject());
-				gagajf.ajaxJsonSubmit($('#moreBetterForm').prop('action'), jsonData, function() {
-					fnMorebetterFormClose();
-					$('#btnInit').trigger('click');
-					$('#btnSearch').trigger('click');
-				});
+		gagajf.ajaxJsonSubmit($('#moreBetterForm').prop('action'), jsonData, fnMorebetterSaveCollback);
+	});
 
+	var fnMorebetterSaveCollback = function(result){
+		console.log('duplicateYn::::'+result.duplicateYn);
+		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});
 			}
-		});
+			mcxDialog.alert("다른 다다익선에서 사용중인 상품이 존재합니다.");
+			gagaAgGrid.exportToExcel('다다익선 중복상품 목록', gridOptionsDuplicateGoodsList);
 
-	});
+			return;
+		}else{
+			mcxDialog.alert(result.msg);
+			fnMorebetterFormClose();
+			$('#btnInit').trigger('click');
+			$('#btnSearch').trigger('click');
+		}
+	}
 
 	// 공급업체 설정 / 업체 추가 콜백함수
 	var fnSetPopupComapnyInfo = function(result) {