ChoiSooHwan 5 роки тому
батько
коміт
94f8e34b4c

+ 2 - 2
src/main/java/com/style24/admin/biz/dao/TsaMailTemplateDao.java

@@ -62,12 +62,12 @@ public interface TsaMailTemplateDao {
 	 */
 	MktmailManagement getMktmailManagementDetail(Integer mailtSq);
 	Collection<MktmailManagementTc> getMktmailManagementTCList(MktmailManagementTc mktmailManagementTc);
-	Collection<MktmailManagementGoods> getMktmailManagementGoodsList(MktmailManagementGoods mktmailManagementGoods);
+	Collection<MktmailManagementGoods> getMktmailManagementGoodsList(MktmailManagementTc mktmailManagementTc);
 	/**
 	 * MKT메일 등록수정
 	 * @param  mailtemplate - 메일관련 정보
 	 * @author csh9191
-	 * @since 2021. 02. 03
+	 * @since 2021. 02. 13
 	 */
 	void saveMktMailDetail(MktmailManagement mktMailManagement);
 	

+ 57 - 27
src/main/java/com/style24/admin/biz/service/TsaMailTemplateService.java

@@ -110,6 +110,7 @@ public class TsaMailTemplateService {
 	public Collection<MktmailManagementTc> getMktmailManagementTCList(Integer mailtSq) {
 		MktmailManagementTc mktmailManagementTc = new MktmailManagementTc();
 		mktmailManagementTc.setMailtSq(mailtSq);
+		
 		return mailtempletDao.getMktmailManagementTCList(mktmailManagementTc);
 	}
 	/**
@@ -120,9 +121,12 @@ public class TsaMailTemplateService {
 	 * @since 2021. 02. 16
 	 */
 	public Collection<MktmailManagementGoods> getMktmailManagementGoodsList(Integer mailtcSq) {
-		MktmailManagementGoods mktmailManagementGoods = new MktmailManagementGoods();
-		mktmailManagementGoods.setMailtcSq(mailtcSq);
-		return mailtempletDao.getMktmailManagementGoodsList(mktmailManagementGoods);
+		MktmailManagementTc mktmailManagementTc = new MktmailManagementTc();
+		mktmailManagementTc.setMailtcSq(mailtcSq);
+		
+		log.info("mktmailManagementTc {}",mktmailManagementTc);
+		
+		return mailtempletDao.getMktmailManagementGoodsList(mktmailManagementTc);
 	}
 	
 	/**
@@ -131,6 +135,7 @@ public class TsaMailTemplateService {
 	 * @author csh9191
 	 * @since 2021. 02. 13
 	 */
+	@Transactional("shopTxnManager")
 	public GagaMap saveMktMailTemplate (MktmailManagement mktMailManagement) {
 		GagaMap result = new GagaMap();
 		
@@ -139,22 +144,27 @@ public class TsaMailTemplateService {
 		String mailtNm = mktMailManagement.getMailtNm();
 		String mailtGb = mktMailManagement.getMailtGb();
 		String mailContent = mktMailManagement.getMailContent();
-		
+		log.info("mailtSq {}",mktMailManagement.getMailtSq());
 		MktmailManagement mktmail = new MktmailManagement();
+
 		mktmail.setMktHeader(mailHsq);
 		mktmail.setMktFooter(mailFsq);
 		mktmail.setMailtNm(mailtNm);
 		mktmail.setMailtGb(mailtGb);
 		mktmail.setMailContent(mailContent);
+		mktmail.setRegNo(TsaSession.getInfo().getUserNo());
+		mktmail.setUpdNo(TsaSession.getInfo().getUserNo());
+		mktmail.setMailtSq(mktMailManagement.getMailtSq());
 		
-		//메일 헤더 푸터 타이틀 내용 등록
-		mailtempletDao.saveMktmailform(mktMailManagement); 
-		mktMailManagement.getMailtSq();
-		mktMailManagement.getMailtcSq();
+		log.info("mktmail : {}", mktMailManagement.getMailtSq());
 		
+		//메일 헤더 푸터 타이틀 내용 등록
+		mailtempletDao.saveMktmailform(mktmail); 
+
 		//구분자1 등록
 		for(MktmailManagementTc mktmailManagementTc : mktMailManagement.getMktmailManagementTc()) {
 			if(!StringUtils.isEmpty(mktmailManagementTc.getMailtcNm())) {
+				
 				String mailtcNm = mktmailManagementTc.getMailtcNm();
 				String mailtcLink = mktmailManagementTc.getMailtcLink();
 				int goodsCpr = mktmailManagementTc.getGoodsCpr();
@@ -166,13 +176,15 @@ public class TsaMailTemplateService {
 				mktmailtc.setMailtcNm(mailtcNm);
 				mktmailtc.setMailtcLink(mailtcLink);
 				mktmailtc.setGoodsCpr(goodsCpr);
-				mktmailtc.setMailtSq(mktMailManagement.getMailtSq());
+				mktmailtc.setMailtSq(mktmail.getMailtSq());
+				mktmailtc.setMailtcSq(mktmailManagementTc.getMailtcSq());	
+				
+				log.info("구분자1.getMailtcSq() : {}", mktmailManagementTc.getMailtcSq());
 				
 				mailtempletDao.saveMailTc(mktmailtc);
 				//grid1
 				for (MktmailManagementGoods mktmailManagementGoods : mktMailManagement.getMktmailManagementGoods()) {
 					
-					
 					String goodsCd = mktmailManagementGoods.getGoodsCd();
 					int dispOrd = mktmailManagementGoods.getDispOrd();
 	
@@ -183,6 +195,8 @@ public class TsaMailTemplateService {
 					mktmailGoods.setDispOrd(dispOrd);
 					mktmailGoods.setGoodsCd(goodsCd);
 					mktmailGoods.setMailtcSq(mktmailtc.getMailtcSq());
+					
+					log.info("그리드1.getMailtcSq() : {}", mktmailManagementTc.getMailtcSq());
 					//grid 데이터 등록
 					mailtempletDao.saveMailGoods(mktmailGoods);
 				}
@@ -196,7 +210,7 @@ public class TsaMailTemplateService {
 				String mailtcNm = mktmailManagementTc.getMailtcNm();
 				String mailtcLink = mktmailManagementTc.getMailtcLink();
 				int goodsCpr = mktmailManagementTc.getGoodsCpr();
-	
+
 				MktmailManagement mktmailtc = new MktmailManagement();
 	
 				mktmailtc.setRegNo(TsaSession.getInfo().getUserNo());
@@ -204,8 +218,11 @@ public class TsaMailTemplateService {
 				mktmailtc.setMailtcNm(mailtcNm);
 				mktmailtc.setMailtcLink(mailtcLink);
 				mktmailtc.setGoodsCpr(goodsCpr);
-				mktmailtc.setMailtSq(mktMailManagement.getMailtSq());
-	
+				mktmailtc.setMailtSq(mktmail.getMailtSq());
+				mktmailtc.setMailtcSq(mktmailManagementTc.getMailtcSq());	
+				
+				log.info("구분자2.getMailtcSq() : {}", mktmailManagementTc.getMailtcSq());
+				
 				mailtempletDao.saveMailTc(mktmailtc);
 				//grid2
 				for (MktmailManagementGoods mktmailManagementGoods : mktMailManagement.getMktmailManagementGoods2()) {
@@ -220,6 +237,8 @@ public class TsaMailTemplateService {
 					mktmailGoods.setDispOrd(dispOrd);
 					mktmailGoods.setGoodsCd(goodsCd);
 					mktmailGoods.setMailtcSq(mktmailtc.getMailtcSq());
+					
+					log.info("그리드2.getMailtcSq() : {}", mktmailtc.getMailtcSq());
 					//grid 데이터 등록
 					mailtempletDao.saveMailGoods(mktmailGoods);
 				}
@@ -232,7 +251,7 @@ public class TsaMailTemplateService {
 			String mailtcNm = mktmailManagementTc.getMailtcNm();
 			String mailtcLink = mktmailManagementTc.getMailtcLink();
 			int goodsCpr = mktmailManagementTc.getGoodsCpr();
-
+			
 			MktmailManagement mktmailtc = new MktmailManagement();
 
 			mktmailtc.setRegNo(TsaSession.getInfo().getUserNo());
@@ -240,8 +259,11 @@ public class TsaMailTemplateService {
 			mktmailtc.setMailtcNm(mailtcNm);
 			mktmailtc.setMailtcLink(mailtcLink);
 			mktmailtc.setGoodsCpr(goodsCpr);
-			mktmailtc.setMailtSq(mktMailManagement.getMailtSq());
-
+			mktmailtc.setMailtSq(mktmail.getMailtSq());
+			mktmailtc.setMailtcSq(mktmailManagementTc.getMailtcSq());	
+							
+			log.info("mktmailManagementTc : {}",mktmailManagementTc.getMailtcSq());
+			
 			mailtempletDao.saveMailTc(mktmailtc);
 			//grid3
 			for (MktmailManagementGoods mktmailManagementGoods : mktMailManagement.getMktmailManagementGoods3()) {
@@ -256,7 +278,8 @@ public class TsaMailTemplateService {
 				mktmailGoods.setDispOrd(dispOrd);
 				mktmailGoods.setGoodsCd(goodsCd);
 				mktmailGoods.setMailtcSq(mktmailtc.getMailtcSq());
-				//grid 데이터 등록
+				
+				log.info("그리드3.getMailtcSq() : {}", mktmailManagementTc.getMailtcSq());//grid 데이터 등록
 				mailtempletDao.saveMailGoods(mktmailGoods);
 			}
 			}
@@ -276,7 +299,11 @@ public class TsaMailTemplateService {
 			mktmailtc.setMailtcNm(mailtcNm);
 			mktmailtc.setMailtcLink(mailtcLink);
 			mktmailtc.setGoodsCpr(goodsCpr);
-			mktmailtc.setMailtSq(mktMailManagement.getMailtSq());
+			mktmailtc.setMailtSq(mktmail.getMailtSq());
+			mktmailtc.setMailtcSq(mktmailManagementTc.getMailtcSq());	
+							
+			log.info("mktmailManagementTc : {}",mktmailManagementTc.getMailtcSq());
+			
 			
 			mailtempletDao.saveMailTc(mktmailtc);
 			//grid4
@@ -284,19 +311,16 @@ public class TsaMailTemplateService {
 				
 				String goodsCd = mktmailManagementGoods.getGoodsCd();
 				int dispOrd = mktmailManagementGoods.getDispOrd();
-				
-				MktmailManagementTc mailTc = new MktmailManagementTc();
-				
-				int mailtcSq = mailTc.getMailtcSq();
-				log.info("mailtcSq={}", mailtcSq);
+
 				MktmailManagement mktmailGoods = new MktmailManagement();
 				
-				mktmailGoods.setMailtcSq(mailtcSq);
 				mktmailGoods.setRegNo(TsaSession.getInfo().getUserNo());
 				mktmailGoods.setUpdNo(TsaSession.getInfo().getUserNo());
 				mktmailGoods.setDispOrd(dispOrd);
 				mktmailGoods.setGoodsCd(goodsCd);
 				mktmailGoods.setMailtcSq(mktmailtc.getMailtcSq());
+				
+				log.info("그리드4.getMailtcSq() : {}", mktmailManagementTc.getMailtcSq());
 				//grid 데이터 등록
 				mailtempletDao.saveMailGoods(mktmailGoods);
 			}
@@ -309,7 +333,7 @@ public class TsaMailTemplateService {
 			String mailtcNm = mktmailManagementTc.getMailtcNm();
 			String mailtcLink = mktmailManagementTc.getMailtcLink();
 			int goodsCpr = mktmailManagementTc.getGoodsCpr();
-
+			
 			MktmailManagement mktmailtc = new MktmailManagement();
 
 			mktmailtc.setRegNo(TsaSession.getInfo().getUserNo());
@@ -317,8 +341,12 @@ public class TsaMailTemplateService {
 			mktmailtc.setMailtcNm(mailtcNm);
 			mktmailtc.setMailtcLink(mailtcLink);
 			mktmailtc.setGoodsCpr(goodsCpr);
-			mktmailtc.setMailtSq(mktMailManagement.getMailtSq());
-
+			mktmailtc.setMailtSq(mktmail.getMailtSq());
+			mktmailtc.setMailtcSq(mktmailManagementTc.getMailtcSq());	
+							
+			log.info("mktmailManagementTc : {}",mktmailManagementTc.getMailtcSq());
+			
+			
 			mailtempletDao.saveMailTc(mktmailtc);
 			
 			//grid5
@@ -334,6 +362,8 @@ public class TsaMailTemplateService {
 				mktmailGoods.setDispOrd(dispOrd);
 				mktmailGoods.setGoodsCd(goodsCd);
 				mktmailGoods.setMailtcSq(mktmailtc.getMailtcSq());
+				
+				log.info("그리드5.getMailtcSq() : {}", mktmailManagementTc.getMailtcSq());
 				//grid 데이터 등록
 				mailtempletDao.saveMailGoods(mktmailGoods);
 			}

+ 26 - 21
src/main/java/com/style24/admin/biz/web/TsaMarketingController.java

@@ -1091,20 +1091,9 @@ public class TsaMarketingController extends TsaBaseController {
 	 * @since 2021. 02. 08
 	 */
 	@GetMapping("/mktmailmanagement/detail/form")
-	public ModelAndView mktmailManagementDetailForm(MktmailManagement mktmailManagement) {
-		
-		ModelAndView mav = new ModelAndView();
-		
-		MktmailManagementTc mktmailManagementTc = new MktmailManagementTc();
-		
-		Integer mailtSq = mktmailManagement.getMailtSq();
-		Integer mailtcSq = mktmailManagementTc.getMailtcSq();
-		
-		log.info("mailtcSq : {}",mailtcSq);
-		log.info("mailtSq : {}",mailtSq);
-		
-		String mode = mktmailManagement.getMode();
+	public ModelAndView mktmailManagementDetailForm(@RequestParam(value = "mode") String mode, @RequestParam(value = "mailtSq", required = false) Integer mailtSq, @RequestParam(value = "mailtcSq", required = false) Integer mailtcSq) {
 		
+		ModelAndView mav = new ModelAndView();		
 		MailTemplate param = new MailTemplate();
 		
 		param.setMailhfGb("H");
@@ -1113,16 +1102,32 @@ public class TsaMarketingController extends TsaBaseController {
 		param.setMailhfGb("F");
 		mav.addObject("mailFsqList", mailTemplateService.getmailHFList(param));
 		
+		// 팜매상태
+		String[] mailCds = {"G008_00"};		
+		mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y", mailCds));
+		
 		mav.addObject("mode", mode);
 		
 		if ("U".equals(mode)) {
 			
 			mav.addObject("mktmailInfo", mailTemplateService.getMktmailManagementDetail(mailtSq));
-			mav.addObject("mktmailTCInfo", mailTemplateService.getMktmailManagementTCList(mailtSq));
-			mav.addObject("mktmailGoodsInfo", mailTemplateService.getMktmailManagementGoodsList(mailtcSq));
 			
-			log.info("mktmailTCInfo : {}",mailTemplateService.getMktmailManagementTCList(mailtSq));
-			log.info("mktmailGoodsInfo : {}",mailTemplateService.getMktmailManagementGoodsList(mailtcSq));
+			Collection<GagaMap> mapList = new ArrayList();
+			Collection<MktmailManagementTc> tcList = mailTemplateService.getMktmailManagementTCList(mailtSq);
+			log.info("tcList {}",tcList);
+			for (MktmailManagementTc tmp : tcList) {
+				Collection<MktmailManagementGoods> goodsList = mailTemplateService.getMktmailManagementGoodsList(tmp.getMailtcSq());
+				
+				GagaMap map = new GagaMap();
+				map.set("goodsList", goodsList);
+				map.set("tc", tmp);
+				
+				log.info("goodsList {}",goodsList);
+				log.info("tc {}",tmp);
+				mapList.add(map);
+			}
+			
+			mav.addObject("mktmailTCInfo", mapList);
 		}
 		
 		mav.setViewName("marketing/MktmailmanagementDetailForm");
@@ -1156,13 +1161,13 @@ public class TsaMarketingController extends TsaBaseController {
 	 */
 	@PostMapping("/mktMailManagement/save")
 	@ResponseBody
-	public GagaMap saveMktMailTemplate(@RequestBody MktmailManagement mktmailManagement){
+	public GagaMap saveMktMailTemplate(@RequestBody MktmailManagement mktMailManagement){
 		GagaMap result = new GagaMap();
-		mktmailManagement.setRegNo(TsaSession.getInfo().getUserNo());
-		mktmailManagement.setUpdNo(TsaSession.getInfo().getUserNo());
+		
 		result.set("status", GagaResponseStatus.FAIL.getCode());
+		log.info("mailtSq {}",mktMailManagement.getMailtSq());
+		result = mailTemplateService.saveMktMailTemplate(mktMailManagement);
 
-		result = mailTemplateService.saveMktMailTemplate(mktmailManagement);
 		result.set("message", message.getMessage("SUCC_0001"));
 		return result;
 	}

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

@@ -62,9 +62,9 @@ public class MktmailManagement extends TscBaseDomain{
 	private String mailtcLink;				// 메일템플릿 코너 링크
 	
 	//상품정보
-	private String brandKnm;				// 브랜드명
-	private String goodNms;					// 상품명
-	private String cdNm;					// 판매상태
+	private String brandEnm;				// 브랜드명
+	private String goodsNm;					// 상품명
+	private String goodsStat;					// 판매상태
 	private String listPrice;				// 정상가
 	private String currPrice;				// 판매가
 	private String goodsCd;					// 상품코드(상품)

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

@@ -16,6 +16,7 @@ public class MktmailManagementGoods extends TscBaseDomain{
 	
 	// 메일 템플릿 코너 상품
 	private Integer mailtcSq;				// 메일템플릿코너 일련번호
+	private Integer mailtSq;				// 메일템플릿 일련번호
 	private String goodsCd;					// 상품코드(상품)
 	private Integer dispOrd;				// 표시순서
 	private String regDt;					// 등록일시
@@ -23,8 +24,8 @@ public class MktmailManagementGoods extends TscBaseDomain{
 	
 	//상품정보
 	private String brandEnm;				// 브랜드명
-	private String goodNms;					// 상품명
-	private String cdNm;					// 판매상태
+	private String goodsNm;					// 상품명
+	private String goodsStat;				// 판매상태
 	private String listPrice;				// 정상가
 	private String currPrice;				// 판매가
 

+ 40 - 29
src/main/java/com/style24/persistence/mybatis/shop/TsaMailTemplate.xml

@@ -52,7 +52,7 @@
 		     , NOW()
 		)
 		ON DUPLICATE KEY UPDATE
-		        MAILHF_SQ = #{mailhfSq}
+		       MAILHF_SQ = #{mailhfSq}
 		     , MAILHF_NM = #{mailhfNm}
 		     , MAILHF_GB = #{mailhfGb}
 		     , MAILHF_CONTENT = #{mailhfContent}
@@ -141,8 +141,7 @@
 				   , UPD_DT, UPD_NM, REP_GOODS_CD
 		</select>
 	
-	
-		<insert id="saveMktmailform" parameterType="MktmailManagement" keyProperty="mailtSq">
+		<insert id="saveMktmailform" parameterType="mktMailManagement" keyProperty="mailtSq">
 		/* TsaMailTemplate.saveMktmailform   mkt메일 등록/수정 */
 		INSERT INTO TB_MAILT (
 				    MAILT_SQ
@@ -247,27 +246,27 @@
 		
 		<select id="getMktMailList" parameterType="MktmailManagement" resultType="MktmailManagement">
 		/* TsaMailTemplate.getMktMailList mkt메일 조회*/
-		SELECT MAILT_SQ
-			 , MAILT_GB
-			 , MAILT_NM
-			 , FN_GET_USER_NM(REG_NO)             AS REG_NM
-			 , DATE_FORMAT(REG_DT,'%Y%m%d%H%i%S') AS REG_DT
-			 , FN_GET_USER_NM(UPD_NO)             AS UPD_NM
-			 , DATE_FORMAT(UPD_DT,'%Y%m%d%H%i%S') AS UPD_DT
-		FROM   TB_MAILT 
-		WHERE  USE_YN = 'Y'
+		SELECT 		   TM.MAILT_SQ
+					 , TM.MAILT_GB
+					 , TM.MAILT_NM
+					 , FN_GET_USER_NM(TM.REG_NO)             AS REG_NM
+					 , DATE_FORMAT(TM.REG_DT,'%Y%m%d%H%i%S') AS REG_DT
+					 , FN_GET_USER_NM(TM.UPD_NO)             AS UPD_NM
+					 , DATE_FORMAT(TM.UPD_DT,'%Y%m%d%H%i%S') AS UPD_DT
+		FROM    	   TB_MAILT TM
+		WHERE  		   TM.USE_YN = 'Y'
 		<if test="mktmailStdt != null and mktmailStdt != '' and mktmailEddt != null and mktmailEddt != ''">
-		AND  REG_DT BETWEEN STR_TO_DATE(#{mktmailStdt}, '%Y-%m-%d%H%i%S') AND STR_TO_DATE(CONCAT(#{mktmailEddt}, '235959'),'%Y-%m-%d%H%i%S')
+		AND  TM.REG_DT BETWEEN STR_TO_DATE(#{mktmailStdt}, '%Y-%m-%d%H%i%S') AND STR_TO_DATE(CONCAT(#{mktmailEddt}, '235959'),'%Y-%m-%d%H%i%S')
 		</if> 
 		<if test="searchTxt != null and searchTxt != ''">
 			<if test="searchGb != null and searchGb == 'mailtSq'">
-				AND MAILT_SQ = #{searchTxt}
+				AND TM.MAILT_SQ = #{searchTxt}
 			</if>
 			<if test="searchGb != null and searchGb == 'mailtNm'">
-				AND MAILT_NM LIKE CONCAT('%',LOWER(#{searchTxt}), '%')
+				AND TM.MAILT_NM LIKE CONCAT('%',LOWER(#{searchTxt}), '%')
 			</if>
 		</if>
-		ORDER BY MAILT_SQ
+		ORDER BY TM.MAILT_SQ
 		</select>
 		
 		<select id="getMktmailManagementDetail" parameterType="Integer" resultType="MktmailManagement">
@@ -282,26 +281,38 @@
 		WHERE  MAILT_SQ = #{mailtSq}
 		</select>
 		
-		<select id="getMktmailManagementTCList" parameterType="Integer" resultType="MktmailManagement">
+		<select id="getMktmailManagementTCList" parameterType="MktmailManagementTc" resultType="MktmailManagementTc">
 		/* TsaMailTemplate.getMktmailManagementTCDetail */
-		SELECT MAILTC_SQ
-			 , MAILT_SQ	
-			 , MAILTC_NM
-			 , GOODS_CPR	
-			 , MAILTC_LINK
-		FROM   TB_MAILTC
-		WHERE  MAILT_SQ = #{mailtSq}
+		SELECT 		TC.MAILTC_SQ
+			 	  , TC.MAILT_SQ	
+			 	  , TC.MAILTC_NM
+			  	  , TC.GOODS_CPR	
+			 	  , TC.MAILTC_LINK
+		FROM   		TB_MAILTC TC
+		INNER JOIN 	TB_MAILT TM
+		ON 			TM.MAILT_SQ = TC.MAILT_SQ 
+		WHERE  		TC.MAILT_SQ = #{mailtSq}
 		</select>
 		
-		<select id="getMktmailManagementGoodsList" parameterType="Integer" resultType="MktmailManagement">
+		<select id="getMktmailManagementGoodsList" parameterType="MktmailManagementTc" resultType="MktmailManagementGoods">
 		/* TsaMailTemplate.getMktmailManagementGoodsList */
-		SELECT  	TG.MAILTC_SQ,
-					TG.GOODS_CD,
-					TG.DISP_ORD
+		 SELECT		TG.MAILTC_SQ
+				  , TG.GOODS_CD
+			      , TBRAND.BRAND_ENM 
+			      , tbg.GOODS_NM 
+			      , TBG.GOODS_STAT
+			      , TBG.LIST_PRICE 
+			      , TBG.CURR_PRICE
+			      , TG.DISP_ORD
 		FROM 		TB_MAILTC_GOODS TG
 		INNER JOIN  TB_MAILTC TC
-		ON 			TG.MAILTC_SQ = TC.MAILTC_SQ 
+		ON 			TC.MAILTC_SQ = TG.MAILTC_SQ 
+		INNER JOIN  tb_goods TBG
+		ON 			TBG.GOODS_CD = TG.GOODS_CD 
+		INNER JOIN 	tb_brand TBRAND
+		ON		    TBRAND.BRAND_CD = TBG.BRAND_CD
 		WHERE 		TC.MAILTC_SQ = #{mailtcSq}
+		ORDER  BY 	TG.DISP_ORD
 		</select>
 		
 		<update id='deleteMktmailList' parameterType='MktmailManagement'>

+ 127 - 122
src/main/webapp/WEB-INF/views/marketing/MktmailmanagementDetailForm.html

@@ -36,9 +36,13 @@
 					<tbody>
 						<tr>
 							<th>메일번호</th>
-							<td>
+							<td class="left"  th:if="${mode  == 'N' }">
+								<input type="text" name="mailtSq" maxlength="20" placeholder="자동생성" readonly="readonly"/>
+							</td>
+							<td class="left"  th:if="${mode  == 'U' }">
 								<input type="text" name="mailtSq" maxlength="20" placeholder="자동생성" readonly="readonly"/>
 							</td>
+							
 						</tr>
 						<tr>
 							<th>메일구분</th>
@@ -105,8 +109,8 @@
 					</ul>
 						<!-- 구분 1 -->
 						<div class="inner-panelContent" id="btnAddGridNum" style="display:none;">
-							<input type="hidden" name="btnAddGridNumUseYn"  value ="Y">
-							<input type="hidden" name="mailtcSq">
+							<input type="hidden" name="mailtcSq" th:value="${mailtcSq}">
+							<input type="hidden" name="mailtSq" th:value="${mailtSq}">
 							<div class="panelContent">
 								<table class="frmStyle">
 									<colgroup>
@@ -170,7 +174,8 @@
 						
 						<!-- 구분2 -->
 						<div class="inner-panelContent" id="btnAddGridNum2" style="display:none;">
-							<input type="hidden" name="btnAddGridNum2UseYn" value="Y">
+							<input type="hidden" name="mailtSq" th:value="${mailtSq}">
+							<input type="hidden" name="mailtcSq2" th:value="${mailtcSq}">
 							<div class="panelContent">
 								<table class="frmStyle">
 									<colgroup>
@@ -227,7 +232,7 @@
 						
 						<!-- 구분3 -->
 						<div class="inner-panelContent" id="btnAddGridNum3" style="display:none;">
-							<input type="hidden" name="btnAddGridNum3UseYn" value="Y">
+							<input type="hidden" name="mailtcSq3" th:value="${mailtcSq}">
 							<div class="panelContent">
 								<table class="frmStyle">
 									<colgroup>
@@ -284,7 +289,7 @@
 						
 						<!-- 구분4 -->
 						<div class="inner-panelContent" id="btnAddGridNum4" style="display:none;">
-							<input type="hidden" name="btnAddGridNum4UseYn" value="Y">
+							<input type="hidden" name="mailtcSq4" th:value="${mailtcSq}">
 							<div class="panelContent">
 								<table class="frmStyle">
 									<colgroup>
@@ -341,7 +346,7 @@
 						
 						<!-- 구분5 -->
 						<div class="inner-panelContent" id="btnAddGridNum5" style="display:none;">
-							<input type="hidden" name="btnAddGridNum5UseYn" value="Y">
+						<input type="hidden" name="mailtcSq5" th:value="${mailtcSq}">
 							<div class="panelContent">
 								<table class="frmStyle">
 									<colgroup>
@@ -425,7 +430,7 @@
 		let mode = [[${mode}]]; 
 		let mktmailInfo = [[${mktmailInfo}]];
 		let mktmailTCInfo = [[${mktmailTCInfo}]];
-		let mktmailGoodsInfo = [[${mktmailGoodsInfo}]];
+		let goodsStatList = gagajf.convertToArray([[${goodsStatList}]]);
 		
 		//팝업창 삭제버튼
 		$('#btndeleteMktmail').on('click', function() {
@@ -438,17 +443,22 @@
 			});
 		});
 		
-		//상품 전시 그리드 그리기
+		//그리드 그리기
 		var columnDefs = [
 			{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
 			{headerName: "Product ID", field: "goodsCd" , width: 120, cellClass: 'text-center'},
 			{headerName: "브랜드명", field: "brandEnm" , width: 200, cellClass: 'text-center'},
-			{headerName: "상품명", field: "goodNms" , width: 200, cellClass: 'text-center'},
-			{headerName: "판매상태", field: "cdNm" , width: 100, cellClass: 'text-center'	},
+			{headerName: "상품명", field: "goodsNm" , width: 200, cellClass: 'text-center'},
+			{headerName: "판매상태", field: "goodsStat" , width: 100, cellClass: 'text-center',
+				cellEditorParams: { values: gagaAgGrid.extractValues(goodsStatList) },
+				valueFormatter: function (params) { return gagaAgGrid.lookupValue(goodsStatList, params.value); },
+				valueParser: function (params) { return gagaAgGrid.lookupKey(goodsStatList, params.newValue); }
+			},
 			{headerName: "정상가", field: "listPrice" , width: 120, cellClass: 'text-center'},
 			{headerName: "판매가", field: "listPrice" , width: 120, cellClass: 'text-center'},
 			{headerName: "순번", field: "dispOrd" , width: 120, cellClass: 'text-center'}
-		]
+		];
+		
 		
 		// Add on options
 		var gridOptions_c1 = gagaAgGrid.getGridOptions(columnDefs);
@@ -471,7 +481,7 @@
 		
 		///저장
 		$('#btnSaveMktMail').on('click', function() {
-		
+			
 			//타이틀 길이 제한 2자 이상 50자미만
 			var check = $('#mailManagementForm input[name=mailtNm]').val();
 
@@ -486,36 +496,54 @@
 			let arrayData4 = gagaAgGrid.getAllRowData(gridOptions_c4)
 			let arrayData5 = gagaAgGrid.getAllRowData(gridOptions_c5)
 			
-			let mailTc = {};
-	
-			mailTc.mailtcNm = $('#mailManagementForm input[name=mailtcNm]').val();
-			mailTc.mailtcLink = $('#mailManagementForm input[name=mailtcLink]').val();
-			mailTc.goodsCpr = $('#mailManagementForm input:radio[name=goodsCpr]:checked').val();
-			
- 			let mailTc2 = {};
-			
-			mailTc2.mailtcNm = $('#mailManagementForm input[name=mailtcNm2]').val();
-			mailTc2.mailtcLink = $('#mailManagementForm input[name=mailtcLink2]').val();
-			mailTc2.goodsCpr = $('#mailManagementForm input:radio[name=goodsCpr2]:checked').val();
+			console.log(arrayData);
 			
+			let check1 = $('#mailManagementForm input[name=mailtcNm]').val();
+			let check2 = $('#mailManagementForm input[name=mailtcNm2]').val();
+			let check3 = $('#mailManagementForm input[name=mailtcNm3]').val();
+			let check4 = $('#mailManagementForm input[name=mailtcNm4]').val();
+			let check5 = $('#mailManagementForm input[name=mailtcNm5]').val();
+
+			let mailTc = {};
+			let mailTc2 = {};
 			let mailTc3 = {};
-			
-			mailTc3.mailtcNm = $('#mailManagementForm input[name=mailtcNm3]').val();
-			mailTc3.mailtcLink = $('#mailManagementForm input[name=mailtcLink3]').val();
-			mailTc3.goodsCpr = $('#mailManagementForm input:radio[name=goodsCpr3]:checked').val();
-			
 			let mailTc4 = {};
-			
-			mailTc4.mailtcNm = $('#mailManagementForm input[name=mailtcNm4]').val();
-			mailTc4.mailtcLink = $('#mailManagementForm input[name=mailtcLink4]').val();
-			mailTc4.goodsCpr = $('#mailManagementForm input:radio[name=goodsCpr4]:checked').val();
-			
 			let mailTc5 = {};
 			
-			mailTc5.mailtcNm = $('#mailManagementForm input[name=mailtcNm5]').val();
-			mailTc5.mailtcLink = $('#mailManagementForm input[name=mailtcLink5]').val();
-			mailTc5.goodsCpr = $('#mailManagementForm input:radio[name=goodsCpr5]:checked').val();
-			
+			if(check1 != null && check1 != '') {
+				mailTc.mailtcNm = $('#mailManagementForm input[name=mailtcNm]').val();
+				mailTc.mailtcLink = $('#mailManagementForm input[name=mailtcLink]').val();
+				mailTc.goodsCpr = $('#mailManagementForm input:radio[name=goodsCpr]:checked').val();
+				mailTc.mailtSq = $('#mailManagementForm input[name=mailtSq]').val();
+				mailTc.mailtcSq = $('#mailManagementForm input[name=mailtcSq]').val();
+			} if(check2 != null && check2 != '') {
+				mailTc2.mailtcNm = $('#mailManagementForm input[name=mailtcNm2]').val();
+				mailTc2.mailtcLink = $('#mailManagementForm input[name=mailtcLink2]').val();
+				mailTc2.goodsCpr = $('#mailManagementForm input:radio[name=goodsCpr2]:checked').val();
+				mailTc2.mailtcSq = $('#mailManagementForm input[name=mailtcSq2]').val();
+
+			} if(check3 != null && check3 != '') {
+				mailTc3.mailtcNm = $('#mailManagementForm input[name=mailtcNm3]').val();
+				mailTc3.mailtcLink = $('#mailManagementForm input[name=mailtcLink3]').val();
+				mailTc3.goodsCpr = $('#mailManagementForm input:radio[name=goodsCpr3]:checked').val();
+				mailTc3.mailtcSq = $('#mailManagementForm input[name=mailtcSq3]').val();
+
+			} if(check4 != null && check4 != '') {
+				mailTc4.mailtcNm = $('#mailManagementForm input[name=mailtcNm4]').val();
+				mailTc4.mailtcLink = $('#mailManagementForm input[name=mailtcLink4]').val();
+				mailTc4.goodsCpr = $('#mailManagementForm input:radio[name=goodsCpr4]:checked').val();
+				mailTc4.mailtcSq = $('#mailManagementForm input[name=mailtcSq4]').val();
+
+				
+			} if(check5!= null && check5 != '') {
+				mailTc5.mailtcNm = $('#mailManagementForm input[name=mailtcNm5]').val();
+				mailTc5.mailtcLink = $('#mailManagementForm input[name=mailtcLink5]').val();
+				mailTc5.goodsCpr = $('#mailManagementForm input:radio[name=goodsCpr5]:checked').val();
+				mailTc5.mailtcSq = $('#mailManagementForm input[name=mailtcSq5]').val();
+
+			}
+		 
+				
 			//헤더 선택체크 내용 체크
 			if(!gagajf.validation('#mailManagementForm'))
 				return false;
@@ -524,39 +552,12 @@
 				mcxDialog.alert('내용을 입력해 주세요.');
 				return false;
 			}
-			
-			if($('#btnAddGridNum').css('display') != 'none'){
-				if(gagajf.isNull($('#mailManagementForm input[name=mailtcNm]').val())){
-					mcxDialog.alert('구분자명을 입력해 주세요.');
-					return false;
-				}
-				var check = $('#mailManagementForm input[name=mailtcNm]').val();
-				
-				if(check.length < 2){
-					mcxDialog.alert('구분자명은 2자 이상 50자 미만으로 입력하세요.');
-					return false;
-				}
-				
-			}else if($('#btnAddGridNum2').css('display') != 'none'){
-				if(gagajf.isNull($('#mailManagementForm input[name=mailtcNm2]').val())){
-					mcxDialog.alert('구분자명을 입력해 주세요.');
-					return false;
-				}
-				var check = $('#mailManagementForm input[name=mailtcNm2]').val();
-				
-				if(check.length < 2){
-					mcxDialog.alert('구분자명은 2자 이상 50자 미만으로 입력하세요.');
-					return false;
-				}
-			}
 						
 			mcxDialog.confirm("내용을 등록 하시겠습니까?", {
 				cancelBtnText: "취소",
 				sureBtnText: "확인",
 				sureBtnClick: function() {
-					
-					let data = {
-					};
+					let data = {};
 					
 					data.mktmailManagementTc = mailTc;
 					data.mktmailManagementTc2 = mailTc2;
@@ -570,6 +571,13 @@
 					data.mktmailManagementGoods4 = arrayData4;
 					data.mktmailManagementGoods5 = arrayData5;
 					
+					//업데이트 일 경우 처리
+					if($('#mailManagementForm input[name=mailtSq]').val() != null && $('#mailManagementForm input[name=mailtSq]').val() != ''){
+						alert(mktmailInfo.mailtSq);					
+						data.mailtSq = mktmailInfo.mailtSq;
+					}
+					
+					
 					data.mktHeader = $('#mailManagementForm select[name=mailHsq]').val();
 					data.mktFooter = $('#mailManagementForm select[name=mailFsq]').val();
 					data.mailtNm = $('#mailManagementForm input[name=mailtNm]').val();
@@ -715,107 +723,104 @@
 		
 		
 		// 상품 구분 삭제 버튼  삭제는 해당 하는 폼이 삭제
-		function btnDeleteGridNum(param){
+		// TODO reset 추가
+		var btnDeleteGridNum = function (param){
 			if($('#btnAddGridNum').css('display') !='none'){
+				
 				$('#btnAddGridNum').hide();
-				$('#btnAddGridNum')[0].reset();
+
+				gagaAgGrid.removeRowData(gridOptions_c1, false);
 			}
 		}		
 		function btnDeleteGridNum2(param){
 			if($('#btnAddGridNum2').css('display') !='none'){
 				$('#btnAddGridNum2').hide();
-				$('#searchForm2')[0].reset();
+
 			}			
 		}			
 		function btnDeleteGridNum3(param){
 			if ($('#btnAddGridNum3').css('display') !='none'){
 				$('#btnAddGridNum3').hide();
-				$('#searchForm3')[0].reset();
+
 			}			
 		}		
 		function btnDeleteGridNum4(param){
 			if ($('#btnAddGridNum4').css('display') !='none'){
 				$('#btnAddGridNum4').hide();
-				$('#searchForm3')[0].reset();
+
 			}			
 		}
 		function btnDeleteGridNum5(param){
 			if ($('#btnAddGridNum5').css('display') !='none'){
 				$('#btnAddGridNum5').hide();
-				$('#searchForm5')[0].reset();
+
 			}
 		} 
 
 	$(document).ready(function() {
+		gagaAgGrid.createGrid("gridSectionGbList1", gridOptions_c1);
+		gagaAgGrid.createGrid("gridSectionGbList2", gridOptions_c2);
+		gagaAgGrid.createGrid("gridSectionGbList3", gridOptions_c3);
+		gagaAgGrid.createGrid("gridSectionGbList4", gridOptions_c4);
+		gagaAgGrid.createGrid("gridSectionGbList5", gridOptions_c5);
 		
 		if (mode == 'U') {
 			
+			$('#mailManagementForm input[name=mailtSq]').val(mktmailInfo.mailtSq);
 			$('#mailManagementForm input[name=mailtNm]').val(mktmailInfo.mailtNm);
 			$('#mailManagementForm textarea[name=mailContent]').val(mktmailInfo.mailContent);
-
+			
 			if(mktmailInfo.mailtGb == "A"){
 				$('#mailManagementForm input:radio[name="mailtGb"]:radio[value="A"]').prop('checked', true);
 			}
-			
-//   		alert(mktmailTCInfo.length);
-//   		alert(mktmailGoodsInfo.length);
-//   	   	alert(mktmailGoodsInfo[1]);
-
-	   		
-			if(mktmailTCInfo != null && mktmailTCInfo.length > 0){				
-				//구분자1
-				if($('#mailManagementForm input[name=mailtcNm]')){
-					$('#mailManagementForm input[name=mailtcNm]').val(mktmailTCInfo[0].mailtcNm);
-					$('#mailManagementForm input[name=mailtcLink]').val(mktmailTCInfo[0].mailtcLink);
-					
+			console.log(mktmailTCInfo);
 
+			$.each(mktmailTCInfo, function(idx, item) {
+				if (idx == 0) {
+					$('#mailManagementForm input[name=mailtcNm]').val(item.tc.mailtcNm);						
+					$('#mailManagementForm input[name=mailtcSq]').val(item.tc.mailtcSq);
+					$('#mailManagementForm input[name=mailtcLink]').val(item.tc.mailtcLink);
 					$('#btnAddGridNum').show();
-
-					//구분자2
-					if(mktmailTCInfo.length >= 2){
-						$('#mailManagementForm input[name=mailtcNm2]').val(mktmailTCInfo[1].mailtcNm);
-						$('#mailManagementForm input[name=mailtcLink2]').val(mktmailTCInfo[1].mailtcLink);
-						$('#btnAddGridNum2').show();
-						//구분자3
-						if(mktmailTCInfo.length >= 3){
-							$('#mailManagementForm input[name=mailtcNm3]').val(mktmailTCInfo[2].mailtcNm);
-							$('#mailManagementForm input[name=mailtcLink3]').val(mktmailTCInfo[2].mailtcLink);
-							$('#btnAddGridNum3').show();
-							//구분자4
-							if(mktmailTCInfo.length >= 4){
-								$('#mailManagementForm input[name=mailtcNm4]').val(mktmailTCInfo[3].mailtcNm);
-								$('#mailManagementForm input[name=mailtcLink4]').val(mktmailTCInfo[3].mailtcLink);
-								$('#btnAddGridNum4').show();
-								//구분자5
-								if(mktmailTCInfo.length == 5){
-									$('#mailManagementForm input[name=mailtcNm5]').val(mktmailTCInfo[4].mailtcNm);
-									$('#mailManagementForm input[name=mailtcLink5]').val(mktmailTCInfo[4].mailtcLink);
-									$('#btnAddGridNum5').show();
-								}
-							}
-						}
-					}
+				} else {
+					$('#mailManagementForm input[name=mailtcNm' + (idx + 1) + ']').val(item.tc.mailtcNm);
+					$('#mailManagementForm input[name=mailtcLink' + (idx + 1) + ']').val(item.tc.mailtcLink);
+					$('#mailManagementForm input[name=mailtcSq' + (idx + 1) + ']').val(item.tc.mailtcSq);
+					$('#btnAddGridNum' + (idx + 1)).show();
 				}
-			}
+				
+				switch(idx) {
+				case 0:
+					gridOptions_c1.api.setRowData(item.goodsList);
+					break;
+				case 1:
+					gridOptions_c2.api.setRowData(item.goodsList);
+					break;
+				case 2:
+					gridOptions_c3.api.setRowData(item.goodsList);
+					break;
+				case 3:
+					gridOptions_c4.api.setRowData(item.goodsList);
+					break;
+				case 4:
+					gridOptions_c5.api.setRowData(item.goodsList);
+					break;
+				}
+			});
 			
+// 			$.each(mktmailTCInfo.goodsList, function(idx, item) {
+// 			});
 			
 		}//end of mode
-		
-		gagaAgGrid.createGrid("gridSectionGbList1", gridOptions_c1);
-		gagaAgGrid.createGrid("gridSectionGbList2", gridOptions_c2);
-		gagaAgGrid.createGrid("gridSectionGbList3", gridOptions_c3);
-		gagaAgGrid.createGrid("gridSectionGbList4", gridOptions_c4);
-		gagaAgGrid.createGrid("gridSectionGbList5", gridOptions_c5);
 
 		// Create a summernote
 		let snOptions = gagaSn.getToolbarOptions();
 		
 
-		gridOptions_c1.api.setRowData(mktmailGoodsInfo);
-		gridOptions_c2.api.setRowData(mktmailGoodsInfo);
-		gridOptions_c3.api.setRowData(mktmailGoodsInfo);
-		gridOptions_c4.api.setRowData(mktmailGoodsInfo);
-		gridOptions_c5.api.setRowData(mktmailGoodsInfo);
+		//gridOptions_c1.api.setRowData(mktmailGoodsInfo);
+		//gridOptions_c2.api.setRowData(mktmailGoodsInfo);
+		//gridOptions_c3.api.setRowData(mktmailGoodsInfo);
+		//gridOptions_c4.api.setRowData(mktmailGoodsInfo);
+		//gridOptions_c5.api.setRowData(mktmailGoodsInfo);
 		
 		gagaSn.createSummernote(snOptions, '#mailContent');
 

+ 5 - 3
src/main/webapp/WEB-INF/views/marketing/MktmailmanagementForm.html

@@ -23,6 +23,7 @@
 		<div class="infoBox menu-desc"></div>
 
 		<form id="searchForm" name="searchForm" action="#" th:action="@{'/marketing/mktmailManagement/list'}"  onsubmit="$('#btnSearch').trigger('click'); return false;">
+			<input type="hidden" name="mailtcSq" th:value="${mailtcSq}">
 			<!-- 검색조건 영역 -->
 			<div class="panelStyle" >
 				<!-- //TITLE -->
@@ -91,7 +92,7 @@
 			}
 		},
 		{	//미리보기 
-			headerName: "미리보기", width: 150, cellClass: 'text-center'
+			headerName: "미리보기", field:"미리보기" , width: 150, cellClass: 'text-center'
 		},
 		{headerName: "등록자", field: "regNm", width: 150, cellClass: 'text-center'},
 		{
@@ -126,7 +127,7 @@
 	gridOptions.onCellClicked = function(event) {
 		if (event.colDef.field != 'mailtNm')
 			return;
-		
+		console.log(event.data);
 		fnOpenMailHFPopup('U', event.data.mailtSq);
 	}
 	
@@ -168,7 +169,8 @@
 	
 	
 	// 등록/상세 팝업
-	var fnOpenMailHFPopup = function(mode, mailtSq) {
+	var fnOpenMailHFPopup = function(mode, mailtSq, mailtcSq) {
+		let data = gridOptions.api.getSelectedRows();
 		var actionUrl = '/marketing/mktmailmanagement/detail/form' + '?mode=' + mode;
 		if (!gagajf.isNull(mailtSq)) actionUrl += '&mailtSq=' + mailtSq;
 		cfnOpenModalPopup(actionUrl, 'popupMktMail');