Просмотр исходного кода

Merge branch 'develop' into eskim

eskim 5 лет назад
Родитель
Сommit
add193dcb2
23 измененных файлов с 680 добавлено и 330 удалено
  1. 22 10
      src/main/java/com/style24/admin/biz/dao/TsaWithdrawDao.java
  2. 8 1
      src/main/java/com/style24/admin/biz/service/TsaDeliveryService.java
  3. 23 22
      src/main/java/com/style24/admin/biz/service/TsaPlanService.java
  4. 28 12
      src/main/java/com/style24/admin/biz/service/TsaWithdrawService.java
  5. 1 2
      src/main/java/com/style24/admin/biz/web/TsaDeliveryController.java
  6. 162 143
      src/main/java/com/style24/admin/biz/web/TsaWithdrawController.java
  7. 11 1
      src/main/java/com/style24/persistence/domain/GoodsSafeNo.java
  8. 49 0
      src/main/java/com/style24/persistence/domain/Withdraw.java
  9. 8 5
      src/main/java/com/style24/persistence/mybatis/shop/TsaDelivery.xml
  10. 1 0
      src/main/java/com/style24/persistence/mybatis/shop/TsaFreegiftPromotion.xml
  11. 104 0
      src/main/java/com/style24/persistence/mybatis/shop/TsaWithdraw.xml
  12. 19 29
      src/main/resources/config/application-style.yml
  13. 12 9
      src/main/webapp/WEB-INF/views/delivery/DeliveryListForm.html
  14. 6 1
      src/main/webapp/WEB-INF/views/display/MainContentsPopupForm.html
  15. 35 0
      src/main/webapp/WEB-INF/views/display/MainListForm.html
  16. 0 3
      src/main/webapp/WEB-INF/views/goods/FreeGoodsSearchForm.html
  17. 47 4
      src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html
  18. 6 0
      src/main/webapp/WEB-INF/views/marketing/FreeGoodsPromotionRegiForm.html
  19. 30 15
      src/main/webapp/WEB-INF/views/marketing/PlanDetailPopupForm.html
  20. 2 0
      src/main/webapp/WEB-INF/views/marketing/PlanPopupForm.html
  21. 105 71
      src/main/webapp/WEB-INF/views/withdraw/RefundRegisterListForm.html
  22. 0 1
      src/main/webapp/WEB-INF/views/withdraw/WithdrawExceptionListForm.html
  23. 1 1
      src/main/webapp/dx5/dextuploadx5-configuration.js

+ 22 - 10
src/main/java/com/style24/admin/biz/dao/TsaWithdrawDao.java

@@ -24,6 +24,28 @@ import org.springframework.stereotype.Repository;
 public interface TsaWithdrawDao {
 
 	
+	/**
+	 * 환불관리 목록 건수
+	 * 
+	 * @param WithdrawExc
+	 * @return int
+	 * @author moon
+	 * @since 2021. 03. 04
+	 */
+	int getRefundListCount(Withdraw withdraw);
+	
+	/**
+	 * 환불관리 목록
+	 * 
+	 * @param withdraw
+	 * @return Collection<Withdraw>
+	 * @author moon
+	 * @since 2020. 11. 16
+	 */
+	Collection<Withdraw> getRefundList(Withdraw withdraw);
+	
+	
+	
 	/**
 	 * 회수예외 목록 건수
 	 * 
@@ -134,16 +156,6 @@ public interface TsaWithdrawDao {
 	 */
 	//Collection<Withdraw> getWdInvoiceNo(Withdraw withdraw);
 
-	/**
-	 * 환불관리 목록
-	 * 
-	 * @param withdraw
-	 * @return Collection<Withdraw>
-	 * @author moon
-	 * @since 2020. 11. 16
-	 */
-	Collection<Withdraw> getRefundList(Withdraw withdraw);
-	//Collection<Withdraw> getWithdrawRegisterList(Withdraw withdraw);
 	/**
 	 * 회수관리 회수데이터 삭제처리
 	 * 

+ 8 - 1
src/main/java/com/style24/admin/biz/service/TsaDeliveryService.java

@@ -16,7 +16,6 @@ import com.style24.admin.support.security.session.TsaSession;
 import com.style24.admin.support.util.TsitUtil;
 import com.style24.admin.support.env.TsaConstants;
 import com.style24.persistence.domain.Delivery;
-import com.style24.core.biz.service.TscOrderChangeService;
 import com.style24.core.biz.service.TscWmsService;
 import com.style24.core.biz.service.TscDeliveryService;
 import com.style24.persistence.domain.WmsDelivery;
@@ -24,6 +23,10 @@ import com.style24.core.support.env.TscConstants.OrderDetailStat;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.core.biz.dao.TscOrderDao;
 import com.style24.persistence.domain.Order;
+import org.springframework.web.client.RestTemplate;
+import org.springframework.core.env.Environment;
+import java.io.IOException;
+
 
 
 import lombok.extern.slf4j.Slf4j;
@@ -59,7 +62,11 @@ public class TsaDeliveryService {
 	@Autowired
 	private TscDeliveryService coreDeliveryService;	
 	
+	@Autowired
+	private RestTemplate restTemplate;
 	
+	@Autowired
+	private Environment env;
 	
 	/**
 	 * 배송 목록 건수

+ 23 - 22
src/main/java/com/style24/admin/biz/service/TsaPlanService.java

@@ -388,32 +388,33 @@ public class TsaPlanService {
 				}
 				newFile.renameTo(uniqueFile);
 				param.setMainPimg("/planning/" + yearMonth + "/" + newFilename);
-			}
-			
-		}
-		if(param.getMainMimg() != null && !"".equals(param.getMainMimg())){
-			String imgInd = String.valueOf(ind);
-			if (ind < 10) {
-				imgInd = "0" + imgInd;
-			}
-			if(!param.getMainMimg().contains("planning")) {
-				String planUploadPath = env.getProperty("upload.default.target.path");
-				String yearMonth = GagaDateUtil.getToday().substring(0, 6);
-				planUploadPath = GagaFileUtil.getConcatenationPath(planUploadPath, "/planning");
-				File newFile = new File(GagaFileUtil.getConcatenationPath(planUploadPath, param.getMainMimg()));
-				planUploadPath = GagaFileUtil.getConcatenationPath(planUploadPath, yearMonth);
-				String newFilename = "PLANNING_" + GagaDateUtil.getTodayDateTime() + "_" + imgInd + "." + StringUtils.getFilenameExtension(param.getMainMimg());
-				File uniqueFile = GagaFileUtil.getUniqueFile(new File(GagaFileUtil.getConcatenationPath(planUploadPath, newFilename)));
-				// Rename a file
-				File path = new File(planUploadPath);
-				if (!path.exists()) {
-					path.mkdir();
-				}
-				newFile.renameTo(uniqueFile);
 				param.setMainMimg("/planning/" + yearMonth + "/" + newFilename);
 			}
 			
 		}
+//		if(param.getMainMimg() != null && !"".equals(param.getMainMimg())){
+//			String imgInd = String.valueOf(ind);
+//			if (ind < 10) {
+//				imgInd = "0" + imgInd;
+//			}
+//			if(!param.getMainMimg().contains("planning")) {
+//				String planUploadPath = env.getProperty("upload.default.target.path");
+//				String yearMonth = GagaDateUtil.getToday().substring(0, 6);
+//				planUploadPath = GagaFileUtil.getConcatenationPath(planUploadPath, "/planning");
+//				File newFile = new File(GagaFileUtil.getConcatenationPath(planUploadPath, param.getMainMimg()));
+//				planUploadPath = GagaFileUtil.getConcatenationPath(planUploadPath, yearMonth);
+//				String newFilename = "PLANNING_" + GagaDateUtil.getTodayDateTime() + "_" + imgInd + "." + StringUtils.getFilenameExtension(param.getMainMimg());
+//				File uniqueFile = GagaFileUtil.getUniqueFile(new File(GagaFileUtil.getConcatenationPath(planUploadPath, newFilename)));
+//				// Rename a file
+//				File path = new File(planUploadPath);
+//				if (!path.exists()) {
+//					path.mkdir();
+//				}
+//				newFile.renameTo(uniqueFile);
+//				param.setMainMimg("/planning/" + yearMonth + "/" + newFilename);
+//			}
+//			
+//		}
 		// 이벤트 출석체크
 		planDao.deletePlanAttendBenefitList(param);
 		

+ 28 - 12
src/main/java/com/style24/admin/biz/service/TsaWithdrawService.java

@@ -67,8 +67,34 @@ public class TsaWithdrawService {
 	//@Autowired
 	//private TsaKakaoService kakaoService;
 
+	/**
+	 * 환불관리 목록 건수
+	 *
+	 * @param Delivery
+	 * @return
+	 * @author moon
+	 * @since 2021. 05. 03
+	 */
+	public int getRefundListCount(Withdraw withdraw) {
+		return withdrawDao.getRefundListCount(withdraw);
+	}
+	
+	
+	
+	/**
+	 * 환불관리 목록
+	 *
+	 * @param withdraw
+	 * @return Collection<Withdraw>
+	 * @author moon
+	 * @since 2020. 11. 16
+	 */
+	public Collection<Withdraw> getRefundList(Withdraw withdraw) {
+		return withdrawDao.getRefundList(withdraw);
+	}
+	
+	
 	
-
 	/**
 	 * 회수예외 목록 건수
 	 *
@@ -222,17 +248,7 @@ public class TsaWithdrawService {
 //		return withdrawDao.getWdInvoiceNo(withdraw);
 //	}
 
-	/**
-	 * 환불관리 목록
-	 *
-	 * @param withdraw
-	 * @return Collection<Withdraw>
-	 * @author moon
-	 * @since 2020. 11. 16
-	 */
-	public Collection<Withdraw> getRefundList(Withdraw withdraw) {
-		return withdrawDao.getRefundList(withdraw);
-	}
+
 
 	/**
 	 * 환불관리 회수데이터 삭제처리

+ 1 - 2
src/main/java/com/style24/admin/biz/web/TsaDeliveryController.java

@@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.servlet.ModelAndView;
 
@@ -186,7 +185,7 @@ public class TsaDeliveryController extends TsaBaseController {
 			throw new IllegalStateException(message.getMessage("FAIL_1002"));
 		}
 		deliveryService.cancelSoldout(deliveryList);
-	
+
 		return super.ok(message.getMessage("SUCC_0004"));
 	}
 	

+ 162 - 143
src/main/java/com/style24/admin/biz/web/TsaWithdrawController.java

@@ -59,6 +59,168 @@ public class TsaWithdrawController extends TsaBaseController {
 	@Autowired
 	private TsaWmsWithdrawService wmsWithdrawService;
 
+	
+	/**
+	 * 환불관리 목록 화면
+	 * 
+	 * @return
+	 * @throws Exception
+	 * @author moon
+	 * @since 2020. 11. 16
+	 */
+	@RequestMapping(value = "/refund/form")
+	public ModelAndView withdrawRefundForm() throws Exception {
+		ModelAndView mav = new ModelAndView();
+
+		// 사이트구분
+		mav.addObject("siteCdList", rendererService.getAvailCommonCodeList("G000"));
+
+		mav.setViewName("withdraw/RefundRegisterListForm");
+
+		return mav;
+	}
+
+	/**
+	 * 환불관리 목록
+	 * 
+	 * @param  withdraw
+	 * @return Collection<Withdraw>
+	 * @author moon
+	 * @since 2020. 11. 16
+	 */
+	@PostMapping("/refund/list")
+	@ResponseBody
+	public GagaMap getRefundList(@RequestBody Withdraw withdraw) {
+		
+		GagaMap result = new GagaMap();
+		withdraw.setPageable(new TscPageRequest(withdraw.getPageNo() - 1, withdraw.getPageSize()));
+		withdraw.getPageable().setTotalCount(withdrawService.getRefundListCount(withdraw));
+		if ("N".equals(withdraw.getPageingYn())) {
+			withdraw.setPageable(null);
+		}
+		result.set("pageing", withdraw);
+		result.set("refundList", withdrawService.getRefundList(withdraw));
+		
+		
+		return result;
+	}
+	
+	
+	/**
+	 * 회수예외관리 화면 
+	 *
+	 * @param
+	 * @return
+	 * @throws Exception
+	 * @author moon
+	 * @since 2021. 02. 19
+	 */
+	@GetMapping("/exception/form")
+	@ResponseBody
+	public ModelAndView withdrawExceptionListForm() throws Exception {
+		ModelAndView mav = new ModelAndView();
+		
+		mav.setViewName("/withdraw/WithdrawExceptionListForm");
+
+		return mav;
+	}
+	
+	/**
+	 * 회수예외관리 조회 
+	 * 
+	 * @param
+	 * @return
+	 * @throws Exception
+	 * @author moon
+	 * @since 2021. 03. 04
+	 */
+	@PostMapping("/exception/list")
+	@ResponseBody
+	public GagaMap getWithdrawExceptionList(@RequestBody WithdrawExc withdrawExc) throws Exception {
+		
+		GagaMap result = new GagaMap();
+		withdrawExc.setPageable(new TscPageRequest(withdrawExc.getPageNo() - 1, withdrawExc.getPageSize()));
+		withdrawExc.getPageable().setTotalCount(withdrawService.getWithdrawExceptionListCount(withdrawExc));
+		if ("N".equals(withdrawExc.getPageingYn())) {
+			withdrawExc.setPageable(null);
+		}
+		result.set("pageing", withdrawExc);
+		result.set("withdrawExceptionList", withdrawService.getWithdrawExceptionList(withdrawExc));
+		
+
+		return result;
+	}
+	
+	
+	/**
+	 * 회수예외관리 - 완료처리
+	 * 
+	 * @param
+	 * @return
+	 * @throws Exception
+	 * @author moon
+	 * @since 2021. 03. 04
+	 */
+	@PostMapping("/exception/complete")
+	@ResponseBody
+	public GagaResponse updateWithdrawException(@RequestBody WithdrawExc withdrawExc) {
+		withdrawService.createWithdrawInfo(withdrawExc);
+		
+		return super.ok(message.getMessage("SUCC_0001"));
+	}
+	
+	
+	/**
+	 * WMS회수목록 화면 
+	 *
+	 * @param
+	 * @return
+	 * @throws Exception
+	 * @author moon
+	 * @since 2021. 03. 10
+	 */
+	@GetMapping("/wms/list/form")
+	@ResponseBody
+	public ModelAndView wmsWithdrawListForm() throws Exception {
+		ModelAndView mav = new ModelAndView();
+		
+		mav.setViewName("/withdraw/WmsWithdrawListForm");
+
+		return mav;
+	}
+	
+	/**
+	 *WMS회수목록 조회 
+	 * 
+	 * @param
+	 * @return
+	 * @throws Exception
+	 * @author moon
+	 * @since 2021. 03. 10
+	 */
+	@PostMapping("/wms/list")
+	@ResponseBody
+	public GagaMap getWmsWithdrawList(@RequestBody WmsWithdraw wmsWithdraw) throws Exception {
+		
+		GagaMap result = new GagaMap();
+		wmsWithdraw.setPageable(new TscPageRequest(wmsWithdraw.getPageNo() - 1, wmsWithdraw.getPageSize()));
+		wmsWithdraw.getPageable().setTotalCount(wmsWithdrawService.getWmsWithdrawListCount(wmsWithdraw));
+		if ("N".equals(wmsWithdraw.getPageingYn())) {
+			wmsWithdraw.setPageable(null);
+		}
+		result.set("pageing", wmsWithdraw);
+		Collection<WmsWithdraw> wmsList = wmsWithdrawService.getWmsWithdrawList(wmsWithdraw);
+		
+		wmsList = withdrawService.getOptionInfo(wmsList);
+		
+		result.set("wmsWithdrawList", wmsList);
+		
+
+		return result;
+	}	
+	
+	
+	
 	/**
 	 * 회수등록 화면
 	 * 
@@ -179,39 +341,7 @@ public class TsaWithdrawController extends TsaBaseController {
 //		return super.ok(message.getMessage("SUCC_0002"));
 //	}
 
-	/**
-	 * 환불관리 목록 화면
-	 * 
-	 * @return
-	 * @throws Exception
-	 * @author moon
-	 * @since 2020. 11. 16
-	 */
-	@RequestMapping(value = "/refund/form")
-	public ModelAndView withdrawRefundForm() throws Exception {
-		ModelAndView mav = new ModelAndView();
 
-		// 사이트구분
-		mav.addObject("siteCdList", rendererService.getAvailCommonCodeList("G000"));
-
-		mav.setViewName("withdraw/RefundRegisterListForm");
-
-		return mav;
-	}
-
-	/**
-	 * 환불관리 목록
-	 * 
-	 * @param  withdraw
-	 * @return Collection<Withdraw>
-	 * @author moon
-	 * @since 2020. 11. 16
-	 */
-	@PostMapping("/refund/list")
-	@ResponseBody
-	public Collection<Withdraw> getRefundList(@RequestBody Withdraw withdraw) {
-		return withdrawService.getRefundList(withdraw);
-	}
 
 	/**
 	 * 환불관리 회수 데이터 삭제처리
@@ -432,116 +562,5 @@ public class TsaWithdrawController extends TsaBaseController {
 //	}
 
 	
-	/**
-	 * 회수예외관리 화면 
-	 *
-	 * @param
-	 * @return
-	 * @throws Exception
-	 * @author moon
-	 * @since 2021. 02. 19
-	 */
-	@GetMapping("/exception/form")
-	@ResponseBody
-	public ModelAndView withdrawExceptionListForm() throws Exception {
-		ModelAndView mav = new ModelAndView();
-		
-		mav.setViewName("/withdraw/WithdrawExceptionListForm");
-
-		return mav;
-	}
-	
-	/**
-	 * 회수예외관리 조회 
-	 * 
-	 * @param
-	 * @return
-	 * @throws Exception
-	 * @author moon
-	 * @since 2021. 03. 04
-	 */
-	@PostMapping("/exception/list")
-	@ResponseBody
-	public GagaMap getWithdrawExceptionList(@RequestBody WithdrawExc withdrawExc) throws Exception {
-		
-		GagaMap result = new GagaMap();
-		withdrawExc.setPageable(new TscPageRequest(withdrawExc.getPageNo() - 1, withdrawExc.getPageSize()));
-		withdrawExc.getPageable().setTotalCount(withdrawService.getWithdrawExceptionListCount(withdrawExc));
-		if ("N".equals(withdrawExc.getPageingYn())) {
-			withdrawExc.setPageable(null);
-		}
-		result.set("pageing", withdrawExc);
-		result.set("withdrawExceptionList", withdrawService.getWithdrawExceptionList(withdrawExc));
-		
-
-		return result;
-	}
-	
-	
-	/**
-	 * 회수예외관리 - 완료처리
-	 * 
-	 * @param
-	 * @return
-	 * @throws Exception
-	 * @author moon
-	 * @since 2021. 03. 04
-	 */
-	@PostMapping("/exception/complete")
-	@ResponseBody
-	public GagaResponse updateWithdrawException(@RequestBody WithdrawExc withdrawExc) {
-		withdrawService.createWithdrawInfo(withdrawExc);
-		
-		return super.ok(message.getMessage("SUCC_0001"));
-	}
-	
-	
-	/**
-	 * WMS회수목록 화면 
-	 *
-	 * @param
-	 * @return
-	 * @throws Exception
-	 * @author moon
-	 * @since 2021. 03. 10
-	 */
-	@GetMapping("/wms/list/form")
-	@ResponseBody
-	public ModelAndView wmsWithdrawListForm() throws Exception {
-		ModelAndView mav = new ModelAndView();
-		
-		mav.setViewName("/withdraw/WmsWithdrawListForm");
-
-		return mav;
-	}
-	
-	/**
-	 *WMS회수목록 조회 
-	 * 
-	 * @param
-	 * @return
-	 * @throws Exception
-	 * @author moon
-	 * @since 2021. 03. 10
-	 */
-	@PostMapping("/wms/list")
-	@ResponseBody
-	public GagaMap getWmsWithdrawList(@RequestBody WmsWithdraw wmsWithdraw) throws Exception {
-		
-		GagaMap result = new GagaMap();
-		wmsWithdraw.setPageable(new TscPageRequest(wmsWithdraw.getPageNo() - 1, wmsWithdraw.getPageSize()));
-		wmsWithdraw.getPageable().setTotalCount(wmsWithdrawService.getWmsWithdrawListCount(wmsWithdraw));
-		if ("N".equals(wmsWithdraw.getPageingYn())) {
-			wmsWithdraw.setPageable(null);
-		}
-		result.set("pageing", wmsWithdraw);
-		Collection<WmsWithdraw> wmsList = wmsWithdrawService.getWmsWithdrawList(wmsWithdraw);
-		
-		wmsList = withdrawService.getOptionInfo(wmsList);
-		
-		result.set("wmsWithdrawList", wmsList);
-		
 
-		return result;
-	}	
 }

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

@@ -14,8 +14,18 @@ import lombok.Data;
 @Data
 public class GoodsSafeNo extends TscBaseDomain {
 
+//	private String goodsCd;
+//	private String goodsNum;
+//	private String certNum;
+//	private String certState;
+//	private String certDiv;
+//	private String certOrganName;
+//	private String certDt;
+	
 	private String goodsCd;
-	private String goodsNum;
+	private String certTargetGb;
+	private String certFormGb;
+	private String certType;
 	private String certNum;
 	private String certState;
 	private String certDiv;

+ 49 - 0
src/main/java/com/style24/persistence/domain/Withdraw.java

@@ -3,6 +3,7 @@ package com.style24.persistence.domain;
 import lombok.Data;
 
 import com.style24.persistence.TscBaseDomain;
+import com.style24.persistence.TscPageRequest;
 
 /**
  * 회수 Domain
@@ -14,6 +15,53 @@ import com.style24.persistence.TscBaseDomain;
 @Data
 public class Withdraw extends TscBaseDomain {
 
+	// 페이징 
+	private String pageingYn;
+	private int startRow;
+	private int endRow;
+	private TscPageRequest pageable;
+	private int pageNo = 1;
+	private int pageSize = 50;
+	private int pageUnit = 10;
+	private int rnum;
+	
+	
+	// 환불컨펌 
+
+	private String wdInvoiceNo; 
+	private String rfndStat; 
+	private String wdGb;
+	private String ordNm;
+	private String ordPhnno;
+	private String senderNm;
+	private String senderPhnno;
+	private String arrivalDt;
+	private String wdEddt;
+	private String wdMemo;
+	private String goodsCd;
+	private String optCd1;
+	private String optCd2;
+
+	private String chgMemo;
+	private String chgReason;
+	private String completeDt;
+	
+	private Integer ordNo;
+	private Integer ordDtlNo; 
+	private Integer ordChgSq;
+	
+	private int chgQty;
+	private int wdQty;
+	
+	private String stDate;					// 조회 시작 기간
+	private String edDate;					// 조회 종료 기간
+	private String searchType;
+	private String withdrawType;
+	
+	
+	
+	
+	/*
 	// 회수
 	private String wdInvoiceNo;				// 회수송장번호
 	private String senderNm;				// 발송자 명
@@ -247,5 +295,6 @@ public class Withdraw extends TscBaseDomain {
 	private int orgRealOrdAmt;
 	private int itemQty;	// 단품수량
 	private int itemPrice;	// 단품단가
+	*/
 
 }

+ 8 - 5
src/main/java/com/style24/persistence/mybatis/shop/TsaDelivery.xml

@@ -276,7 +276,7 @@
             </foreach>
         </if>
 		<if test='orderNm != null and orderNm != ""'>
-		AND   A.ORDER_NM = #{orderNm}
+		AND   A.ORD_NM = #{orderNm}
 		</if>
 		<if test='orderPhnno != null and orderPhnno != ""'>
 		AND   REPLACE(A.ORDER_PHNNO, '-', '') = REPLACE(#{orderPhnno}, '-', '')
@@ -288,13 +288,16 @@
 		AND (
 		<choose>
 		     <when test='search != null and search == "searchOrdNo"'>
-		         <foreach collection="conditions" item="item" index="index" separator="or">
-		      ORD_NO REGEXP CONCAT('[',#{item},']')  
+		         A.ORD_NO IN 
+		          <foreach collection="conditions" item="item" index="index"  open="(" close=")" separator=",">
+		      		#{item}
 		         </foreach>
+		     
 		     </when>
 		     <when test='search != null and search == "searchExtmallOrderId"'>
-		         <foreach collection="conditions" item="item" index="index" separator="or">
-		      EXTMALL_ORDER_ID REGEXP CONCAT('[',#{item},']')      
+		         B.EXTMALL_ORDER_ID IN 
+		         <foreach collection="conditions" item="item" index="index"  open="(" close=")" separator=",">
+		      		#{item}
 		         </foreach>
 		      </when>
 		</choose>

+ 1 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaFreegiftPromotion.xml

@@ -80,6 +80,7 @@
 			 , FG.FREEGIFT_STAT
 			 , (SELECT CD_NM FROM TB_COMMON_CODE WHERE CD = FG.FREEGIFT_STAT) AS FREEGIFT_STAT_NM
 			 , FG.SELF_YN
+		     , FG.ALL_YN
 			 , DATE_FORMAT(FG.FREEGIFT_STDT, '%Y-%m-%d %H:%i:%S') AS FREEGIFT_STDT
 			 , DATE_FORMAT(FG.FREEGIFT_EDDT, '%Y-%m-%d %H:%i:%S') AS FREEGIFT_EDDT
 			 , (SELECT USER_NM FROM TB_USER WHERE USER_NO = FG.REG_NO) AS REG_NM

+ 104 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaWithdraw.xml

@@ -16,7 +16,111 @@
 		</choose>
 	</sql>
 	
+	<!-- 환불관리 목록 건수 -->
+	<select id="getRefundListCount" parameterType="WithdrawExc" resultType="int">
+		/* TsaWithdraw.getRefundListCount */
+		SELECT COUNT(*) AS TOTCNT
+		  FROM (
+			SELECT
+				  O.ORD_NO        -- 주문번호
+				, C.ORD_DTL_NO    -- 주문상세번호 
+				, D.ORD_CHG_SQ    -- 주문변경일련번호 
+			  FROM TB_WITHDRAW A
+			  JOIN TB_WITHDRAW_DETAIL B ON A.WD_INVOICE_NO  = B.WD_INVOICE_NO AND A.ORD_CHG_SQ = B.ORD_CHG_SQ 
+			  JOIN TB_ORDER_CHANGE_DETAIL C ON B.ORD_CHG_SQ = C.ORD_CHG_SQ AND B.ORD_DTL_NO = C.ORD_DTL_NO AND C.DEL_YN ='N'
+			  JOIN TB_ORDER_CHANGE        D ON C.ORD_CHG_SQ = D.ORD_CHG_SQ 
+			  JOIN TB_ORDER_DETAIL        O ON B.ORD_DTL_NO = O.ORD_DTL_NO 
+			  JOIN TB_ORDER               I ON O.ORD_NO = I.ORD_NO
+			 WHERE D.CHG_GB  = 'G680_30' -- 반품요청
+			 <include refid="getRefundListCondition_sql"/>
+			 	
+			) A	
+		
+	</select>
+
+	<!-- 환불관리 목록  -->
+	<select id="getRefundList" parameterType="WmsWithdraw" resultType="WmsWithdraw">
+		/* TsaWithdraw.getRefundList */
+		
+		SELECT Z.*
+		    , FN_GET_CODE_NM('G688', Z.CHG_REASON) AS CHG_REASON -- 요청사유   
+		FROM (
+		    SELECT A.*, ROW_NUMBER() OVER(ORDER BY  A.ORD_NO DESC, A.ORD_DTL_NO) RNUM 
+		    FROM (
+				SELECT
+					  O.ORD_NO        -- 주문번호
+					, C.ORD_DTL_NO    -- 주문상세번호 
+					, A.WD_INVOICE_NO -- 회수송장번호	
+					, CASE WHEN C.COMPLETE_DT IS NOT NULL THEN '환불완료' ELSE '환불대기' END AS RFND_STAT -- 환불상태 
+					, CASE WHEN D.WD_GB = 'W' THEN '회수요청' ELSE '직접배송' END AS WD_GB   -- 회수구분(W:회수요청, D:직접배송)
+					, D.ORD_CHG_SQ    -- 주문변경일련번호 
+					, I.ORD_NM        -- 주문자명
+					, I.ORD_PHNNO     -- 주문자연락처	
+					, A.SENDER_NM     -- 보내는사람
+					, A.SENDER_PHNNO  -- 보낸연락처
+					, A.ARRIVAL_DT    -- 도착일시
+					, D.WD_EDDT       -- 환불확정일자
+					, A.WD_MEMO       -- wms회수메모
+					, B.GOODS_CD      -- 상품코드
+					, B.OPT_CD1       -- 옵션1
+					, B.OPT_CD2       -- 옵션2
+					, C.CHG_QTY       -- 반품수량
+					, B.WD_QTY        -- 회수수량
+					, d.CHG_MEMO      -- 클레임메모
+					, D.CHG_REASON    -- 요청사유 
+					, C.COMPLETE_DT   -- 반품완료일자 
+				  FROM TB_WITHDRAW A
+				  JOIN TB_WITHDRAW_DETAIL B ON A.WD_INVOICE_NO  = B.WD_INVOICE_NO AND A.ORD_CHG_SQ = B.ORD_CHG_SQ 
+				  JOIN TB_ORDER_CHANGE_DETAIL C ON B.ORD_CHG_SQ = C.ORD_CHG_SQ AND B.ORD_DTL_NO = C.ORD_DTL_NO AND C.DEL_YN ='N'
+				  JOIN TB_ORDER_CHANGE        D ON C.ORD_CHG_SQ = D.ORD_CHG_SQ 
+				  JOIN TB_ORDER_DETAIL        O ON B.ORD_DTL_NO = O.ORD_DTL_NO 
+				  JOIN TB_ORDER               I ON O.ORD_NO = I.ORD_NO
+				 WHERE D.CHG_GB  = 'G680_30' -- 반품요청		
+				 <include refid="getRefundListCondition_sql"/>
+		<include refid="getListPagingCondition_sql"/>
+	</select>
+	
 
+    <!-- 환불관리 목록 조회 조건  -->
+	<sql id="getRefundListCondition_sql">
+		<if test="stDate != null and stDate != '' and edDate != null and edDate != ''">
+			<if test="searchType == 'withdrawDt'"> -- 회수등록일자
+			AND    B.REG_DT BETWEEN STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s') AND STR_TO_DATE(REPLACE(#{edDate},'-','') +1, '%Y%m%d%H%i%s')
+			</if>
+			<if test="searchType == 'returnDt'">   -- 반품접수일자
+			AND    D.REG_DT BETWEEN STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s') AND STR_TO_DATE(REPLACE(#{edDate},'-','') +1, '%Y%m%d%H%i%s')
+			</if>
+			<if test="searchType == 'confirmDt'">  -- 반품완료일자
+			AND    D.WD_EDDT BETWEEN STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s') AND STR_TO_DATE(REPLACE(#{edDate},'-','') +1, '%Y%m%d%H%i%s')
+			</if>
+		</if>
+		<if test="ordNo != null and ordNo != ''">
+			AND O.ORD_NO = #{ordNo}
+		</if>
+		<if test="wdInvoiceNo != null and wdInvoiceNo != ''">
+			AND A.WD_INVOICE_NO = #{wdInvoiceNo}
+		</if>
+		<if test="withdrawType != null and withdrawType != ''">
+			<choose>
+				<when test='withdrawType == "N"'> -- 환불대기
+				AND C.COMPLETE_DT IS NULL
+				</when>
+				<when test='withdrawType == "Y"'> -- 환불완료
+				AND C.COMPLETE_DT IS NOT NULL
+				</when>
+			</choose>
+		</if>
+		<if test="goodsCd != null and goodsCd != ''">
+			AND B.GOODS_CD = #{goodsCd}
+		</if>
+		<if test="ordNm != null and ordNm != ''">
+			AND I.ORD_NM = #{ordNm}
+		</if>
+		<if test="senderNm != null and senderNm != ''">
+			AND A.SENDER_NM = #{senderNm}
+		</if>
+	</sql>
+	
 	<!-- 회수예외목록 건수 -->
 	<select id="getWithdrawExceptionListCount" parameterType="WithdrawExc" resultType="int">
 		/* TsaWithdraw.getWithdrawExceptionListCount */

+ 19 - 29
src/main/resources/config/application-style.yml

@@ -8,66 +8,56 @@ spring:
                 max-active: 10
                 max-idle: 10
                 min-idle: 2
-        host: 172.30.90.111
+        host: 172.30.87.5
         port: 6379
-        password:
-        cluster:
-            nodes:
-                172.30.90.111:6379
-                172.30.90.112:6379
-                172.30.90.113:6379
-                172.30.90.111:6380
-                172.30.90.112:6380
-                172.30.90.113:6380
-                172.30.90.111:6381
-                172.30.90.112:6381
-                172.30.90.113:6381
+        password: MdxpyGtipZSci6VhTpFdklXxb4Qv7zxEq3Jqg3ULekg=
 
 logging:
     config: classpath:log/logback-run.xml
 
 domain:
-    admin: //admin.style24.com
+    admin: //bos.style24.com
     style24: //www.style24.com
     front: //www.style24.com
-    image: //image.style24.com
-    cdnimage: //image.style24.com
-    uximage: //image.style24.com
+    image: //image.istyle24.com
+    cdnimage: //image.istyle24.com
+    uximage: //bos.style24.com
 
 upload:
-    dext.target.path: /files/data/style24/dext
+    dext.target.path: /usr/local/data/style24/dext
+
     default:
-        target.path: /files/data/style24
+        target.path: /usr/local/data/style24
         max.size: 10
         allow.extension: jpg|gif|jpeg|png|bmp|txt|doc|docx|ppt|pptx|xls|xlsx|hwp|pdf
-        view: //www.style24.com
+        view: //image.istyle24.com
     goods:
-        target.path: /files/data/style24/Upload/ProductImage
+        target.path: /usr/local/data/style24/productimage
         max.size: 10
         allow.extension: jpg|gif|jpeg|png
         view: //image.istyle24.com/Upload/ProductImage
     image:
-        target.path: /files/data/style24
+        target.path: /usr/local/data/style24
         max.size: 10
         allow.extension: jpg|gif|jpeg|png
-        view: //image.style24.com
+        view: //image.istyle24.com
     excel:
-        target.path: /files/data/style24
+        target.path: /usr/local/data/style24/excel
         max.size: 10
         allow.extension: xls|xlsx
-        view: //image.style24.com/excel
+        view: //image.istyle24.com/excel
     sample:
-        target.path: /files/data/style24/sample
+        target.path: /usr/local/data/style24/sample
         max.size: 10
         allow.extension: txt|doc|docx|ppt|pptx|xls|xlsx|hwp|pdf
         view: //image.style24.com/sample
 
-download.path: /files/data
+download.path: /usr/local/data
 
 # PG
 pg:
     kcp:
-        log.dir: /files/data/style24/logs/kcpLogs/admin
+        log.dir: /logs/style24/kcpLogs/admin
         gw:
             url: testpaygw.kcp.co.kr
             port: 8090
@@ -87,4 +77,4 @@ naverPay:
     apiUrl: https://dev.apis.naver.com/
     payUrl:
         web : test-pay.naver.com
-        mob : test-m.pay.naver.com
+        mob : test-m.pay.naver.com

+ 12 - 9
src/main/webapp/WEB-INF/views/delivery/DeliveryListForm.html

@@ -141,10 +141,10 @@
 						<th>주문상세상태</th>
 						<td>
 							<div class="multiCheckBox" style="width:270px">
-								<button type="button" class="sltBtn" style="overflow-x: hidden; padding-right:5px;">[전체]</button>
-								<ul style="display: none; box-shadow: 3px 3px 3px; overflow-y: scroll; height: 112px;">
+								<button type="button" class="sltBtn" data-name="[전체]" style="overflow-x: hidden; padding-right:5px;">[전체]</button>
+								<ul style="display: none; box-shadow: 3px 3px 3px; overflow-y: scroll; height: 112px;" id="group1">
 									<li th:if="${ordDtlStatList}" th:each="oneData, status : ${ordDtlStatList}">
-										<label class="chkBox">
+										<label class="chkBox" data-group="group1">
 											<input type="checkbox" name="multiOrdDtlStat" th:value="${oneData.cd}" th:text="|[${oneData.cd}] ${oneData.cdNm}|">
 										</label>
 									</li>
@@ -327,8 +327,9 @@
 		{headerName: "송장등록수정", 	field: "invoiceNo", 	width: 120, cellClass: 'text-center'
 			, cellRenderer : function (params) {
 				var buttonTag = '';
-				if (params.data.ordDtlStat === 'G013_30' || params.data.ordDtlStat === 'G013_40' || params.data.ordDtlStat === 'G013_50' || params.data.ordDtlStat === 'G013_55') {
+				if (params.data.ordDtlStat == 'G013_30' || params.data.ordDtlStat == 'G013_40' || params.data.ordDtlStat == 'G013_50' || params.data.ordDtlStat == 'G013_55') {
 					buttonTag = '<button type="button"class="btn btn-success" onClick="fnSaveInvoiceNo('+params.data.ordDtlNo+');">송장등록수정</button>';
+				
 				}
 				return buttonTag;
 			}
@@ -336,8 +337,9 @@
 		{headerName: "배송완료처리", 	field: "ordDtlStat", width: 120, cellClass: 'text-center'
 			, cellRenderer: function(params) {
 				var buttonTag = '';
-				if (params.data.ordDtlStat === 'G013_50' || params.data.ordDtlStat === 'G013_55'  ) {
-					buttonTag = '<button type="button"class="btn btn-success" onClick="deliveryComplete('+params.data.ordDtlStat+', '+params.data.ordNo+', '+params.data.ordDtlNo+');">배송완료</button>';
+				if (params.value == 'G013_50' || params.value == 'G013_55'  ) {
+					buttonTag = '<button type="button"class="btn btn-success" onClick="deliveryComplete(\''+params.data.ordNo+ '\' , \''+params.data.ordDtlNo+'\' , \'' + params.data.ordDtlStat + '\');">배송완료</button>';
+					
 				}
 				return buttonTag;
 			}
@@ -462,6 +464,7 @@
 	* 품절처리
 	**************************************************************************/		
 	$('#btnSoldout').on('click', function () {
+		alert("1");
 		var selectedData = gridOptions.api.getSelectedRows();
 
 		if (selectedData.length == 0) {
@@ -469,7 +472,6 @@
 			return;
 		}
 		
-		return;
 		mcxDialog.confirm('품절 처리하시겠습니까?', {
 			cancelBtnText: "취소",
 			sureBtnText: "확인",
@@ -488,7 +490,8 @@
 	/*************************************************************************
 	* 배송완료처리 -수동
 	**************************************************************************/		
-	var deliveryComplete = function (orgOrdDtlStat, ordNo, ordDtlNo) {
+	var deliveryComplete = function (ordNo,ordDtlNo, odStat) {
+		
 		mcxDialog.confirm('배송완료 처리를 하시겠습니까?', {
 			cancelBtnText: "취소",
 			sureBtnText: "확인",
@@ -496,7 +499,7 @@
 				var jsonData = {
 					"ordNo": ordNo,
 					"ordDtlNo": ordDtlNo,
-					"orgOrdDtlStat": orgOrdDtlStat
+					"orgOrdDtlStat": odStat
 				};
 				var tranData = JSON.stringify(jsonData);
 				gagajf.ajaxJsonSubmit('/delivery/complete/save', tranData, fnSearchList);

+ 6 - 1
src/main/webapp/WEB-INF/views/display/MainContentsPopupForm.html

@@ -561,7 +561,7 @@
 				html += '<button type="button" class="btn btn-base btn-lg" onclick="fnAddBrandDescRow(this);">브랜드소개추가</button>';
 			}
 			if(contentsLoc!='SBM005' && contentsLoc!='SBMM005' && contentsLoc!='SGNB001') {
-				html += '<button type="button" class="btn btn-base btn-lg" onclick="fnAddImgPopRow(this);">이미지추가</button>';
+				html += '<button type="button" class="btn btn-base btn-lg" id="addImg'+dataIdx+'" onclick="fnAddImgPopRow(this);">이미지추가</button>';
 			}
 				html += '<button type="button" class="btn btn-base btn-lg" id="addLink'+dataIdx+'" onclick="fnAddLinkPopRow(this);">링크추가</button>';
 		}
@@ -737,6 +737,7 @@
 			$("#addTitle"+dataIdx).click();
 			$("#addSubText"+dataIdx).click();
 			$("#addLink"+dataIdx).click();
+			$("#addImg"+dataIdx).click();
 		}
 
 		if(contentsLoc=='SGNB001'){
@@ -790,6 +791,10 @@
 		$("#mcTable"+tableDataId).find("tr[name=titlePopRow]").find("input[name=title]").val(result[0].planNm);
 		$("#mcTable"+tableDataId).find("tr[name=subTextPopRow]").find("input[name=subText]").val(result[0].dtlTitle1);
 		$("#mcTable"+tableDataId).find("tr[name=linkPopRow]").find("input[name=link]").val('/planning/detail/form?planSq='+result[0].planSq);
+		$("#mcTable"+tableDataId).find("tr[name=imgPopRow]").find("input[name=newImgFile]").val(result[0].mainPimg);
+		$("#mcTable"+tableDataId).find("#bannerPreViewUrlPop_"+tableDataId).attr('src',$("#uploadDefaultUrlPop").val().replace('/contents/', '')+result[0].mainPimg);
+		$("#mcTable"+tableDataId).find("#imgViewPop_"+tableDataId).removeClass("off").addClass("on");
+
 		let stdt = result[0].dispStdt.split(" ");
 		let eddt = result[0].dispEddt.split(" ");
 		let stdtTime;

+ 35 - 0
src/main/webapp/WEB-INF/views/display/MainListForm.html

@@ -823,6 +823,41 @@
 		cfnOpenGoodsDispOrdChangePopup('', params);
 	};
 
+	$("#btnView").on("click", function (){
+		if(gagajf.isNull($("#viewDate").val())){
+			mcxDialog.alert("미리보기 일시를 입력해 주세요")
+			return;
+		}
+
+		var val = $("#searchForm select[name=cate1No]").val();
+		var cateNo = '';
+		var brandGroupNo = '';
+		if(val.split(',')[1]=='Y'){
+			cateNo = val.split(',')[0];
+		}else{
+			cateNo = $("#searchForm select[name=cate2No]").val().split(',')[0];
+		}
+		if(cateNo=='1711' || cateNo=='1721'){
+			brandGroupNo = $("#searchForm").find("input[name=brandGroupNo]").val();
+		}
+
+		var uriMap = new Map();
+		uriMap.set("1700", "/display/mall/main/form?mobileYn=N");
+		uriMap.set("1720", "/display/mall/main/form?mobileYn=Y");
+		uriMap.set("1712", "/display/category/main/form?mobileYn=N&cateGb=G032_101&cate1No="+cateNo);
+		uriMap.set("1722", "/display/category/main/form?mobileYn=Y&cateGb=G032_101&cate1No="+cateNo);
+		uriMap.set("1711", "/display/brand/main/form?mobileYn=N&brandGroupNo="+brandGroupNo);
+		uriMap.set("1721", "/display/brand/main/form?mobileYn=Y&brandGroupNo="+brandGroupNo);
+		//uriMap.set("22", "/display/brand/list/form?mobileYn=Y");
+		uriMap.set("1713", "/display/outlet/main/form?mobileYn=N&cateGb=G032_103&cate1No="+cateNo);
+		uriMap.set("1723", "/display/outlet/main/form?mobileYn=Y&cateGb=G032_103&cate1No="+cateNo);
+		// uriMap.set("1714", "/goods/detail/form?mobileYn=N&goodsCd=HQM72NJ60G_MT&adminYn=Y");
+		// uriMap.set("1724", "/goods/detail/form?mobileYn=Y&goodsCd=HQM72NJ60G_MT&adminYn=Y");
+		// _front = [[${@environment.getProperty('domain.front')}]];
+		window.open("about:blank").location.href= _frontUrl + uriMap.get(cateNo) + "&preview=Y&viewDt="+$("#viewDate").val().replace(/-/gi, '')+$("#viewTimeHour").val()+$("#viewTimeMin").val()+"00";
+
+	});
+
 	$(document).ready(function() {
 		var today = new Date(_today);
 		var yesterDay = new Date(today.getFullYear(), today.getMonth(), today.getDate()+1).format("YYYY-MM-DD");

+ 0 - 3
src/main/webapp/WEB-INF/views/goods/FreeGoodsSearchForm.html

@@ -73,9 +73,6 @@
 			, {headerName: "품번코드", field: "goodsNum", width: 150, cellClass: 'text-center'}
 			, {headerName: "사은품명", field: "goodsNm", width: 300, cellClass: 'text-center'}
 			, {headerName: "상태", field: "useYn", width: 50, cellClass: 'text-center'}
-			, {headerName: "잔여수량", field: "supplyStatNm", width: 150, cellClass: 'text-center'
-				,valueFormatter: function(params) { return '999'; }
-			}    <!-- 잔여 수량 해당 시점 기준 I/F 재고수량 표시 라고 되어있는데 맞는지 확인 필요함 -->
 		];
 
 		let gridOptionsFreeGoodsPopupList = gagaAgGrid.getGridOptions(columnFreeGoodsPopupDefList);

+ 47 - 4
src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html

@@ -78,7 +78,8 @@
 							<li><a href="#goodstab3">상품상세정보</a></li>
 							<li id="goodsNotiTab"><a href="#goodstab4">고시정보</a></li>
 							<li id="goodsComposeTab" style="display:none;"><a href="#goodstab5">구성상품</a></li>
-							<li><a href="#goodstab6">변경이력</a></li>
+							<!-- <li><a href="#goodstab6">안전인증</a></li> -->
+							<li><a href="#goodstab7">변경이력</a></li>
 						</ul>
 					</div>
 					<!-- //TABS NAVI -->
@@ -569,8 +570,51 @@
 							</div>
 							<!-- //TAB6 CONTENTS AREA -->
 						</li>
-						<!-- TAB5 : 이력정보 -->
-						<li class="tab" id="goodstab6">
+						<!-- TAB6 : 이력정보 -->
+						<!-- <li class="tab" id="goodstab6">
+							TAB8 CONTENTS AREA
+							<div class="panelStyle">
+								<table class="frmStyle" th:with="uploadGoodsUrl=${@environment.getProperty('upload.goods.view')},uxImgUrl=${@environment.getProperty('domain.uximage')}">
+									<colgroup>
+										<col width="10%"/>
+										<col width="40%"/>
+										<col width="10%"/>
+										<col/>
+									</colgroup>
+									<tr>
+										<th>인증대상</th>
+										<td colspan="3"></td>
+									</tr>
+									<tr>	
+										<th>인증형태</th>
+										<td colspan="3"></td>
+									</tr>
+									<tr>	
+										<th>인증타입</th>
+										<td colspan="3"></td>
+									</tr>
+									<tr>	
+										<th>인증번호</th>
+										<td  colspan="3"></td>
+									</tr>
+									<tr>	
+										<th>인증상태</th>
+										<td></td>
+										<th>인증구분</th>
+										<td></td>
+									</tr>
+									<tr>	
+										<th>인증기관</th>
+										<td></td>
+										<th>인증일</th>
+										<td></td>
+									</tr>
+								</table>
+							</div>
+							//TAB5 CONTENTS AREA
+						</li> -->
+						<!-- //TAB7 : 이력정보 -->
+						<li class="tab" id="goodstab7">
 							<!-- TAB8 CONTENTS AREA -->
 							<div class="panelStyle">
 								<!-- 내용 삽입 -->
@@ -579,7 +623,6 @@
 							</div>
 							<!-- //TAB5 CONTENTS AREA -->
 						</li>
-						<!-- //TAB5 : 추가정보 -->
 					</ul>
 					<!-- //TABS CONTENTS -->
 					<!-- TABS BUTTON AREA -->

+ 6 - 0
src/main/webapp/WEB-INF/views/marketing/FreeGoodsPromotionRegiForm.html

@@ -521,6 +521,12 @@
 			$("#freeGoodsPromotionForm #regInfo").text(freegift.regNm + "(" + freegift.regDt + ")");
 			$("#freeGoodsPromotionForm #updInfo").text(freegift.updNm + "(" + freegift.updDt + ")");
 
+			if(freegift.allYn == "Y") {
+				$("#freeGoodsPromotionForm #allY").prop("checked", true);
+			} else {
+				$("#freeGoodsPromotionForm #allN").prop("checked", true);
+			}
+
 			// 자사 적용일 경우
 			if(freegift.selfYn == "Y") {
 				$("#freeGoodsPromotionForm input[name=selfYn]").prop("checked", true);

+ 30 - 15
src/main/webapp/WEB-INF/views/marketing/PlanDetailPopupForm.html

@@ -124,7 +124,7 @@
 								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
 							</select>
 						</td>
-						<th>오픈여부<em class="required" title="필수"></em></th>
+						<th>노출여부<em class="required" title="필수"></em></th>
 						<td>
 							<select name="openYn" th:field="*{openYn}">
 								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
@@ -139,6 +139,9 @@
 							<label class="chkBox" th:if="${usableCustGradeList}" th:each="oneData, status : ${usableCustGradeList}">
 								<input type="checkbox" name="usableCustGradeArr" th:value="${oneData.cd}" th:text="${oneData.cdNm}"/>
 							</label>
+							<label class="chkBox">
+								<input type="checkbox" name="usableCustGradeArr" value="G110_60" th:text="비회원"/>
+							</label>
 						</td>
 						<th>사용가능고객구분<em class="required" title="필수"></em></th>
 						<td>
@@ -176,7 +179,7 @@
   						</td>
 					</tr>
 					<tr>
-						<th>메인 이미지<i id="pMimgStar"></i><br/>[삭제여부<label class="chkBox"><input type="checkbox" name="orgMainPimgDelYn" value="Y"/></label>]</th>
+						<th>목록 이미지<i id="pMimgStar"></i><br/>[삭제여부<label class="chkBox"><input type="checkbox" name="orgMainPimgDelYn" value="Y"/></label>]</th>
 						<td>
 							<div th:if=*{mainPimg} id="mainPimgView" style="float:left;">
 								<img id="PreMainPimgUrl" th:src="${@environment.getProperty('upload.image.view')} + *{mainPimg}" style="max-width:470px;"/>
@@ -207,13 +210,15 @@
 							</div>
 						</td>
 					</tr> -->
-					<tr>
+					<tr id="pollTr" style="display: none;">
 						<th>투표일련번호</th>
-						<td>
+						<td colspan="3">
 							<input type="text" class="w100 aR" name="pollSq" th:field="*{pollSq}"/>
 						</td>
+					</tr>
+					<tr>
 						<th class="custJoinTr" colspan="1">신규회원여부<em class="required" title="필수"></em></th>
-						<td colspan="2">
+						<td colspan="3">
 							<select name="newCustYn" id="newCustYn" onchange="newCustYnChange(this)" required="required" data-valid-name="신규회원여부" th:field="*{newCustYn}">
 								<option value="Y" selected="selected">Y</option>
 								<option value="N" >N</option>
@@ -456,13 +461,13 @@
 						<th>프론트 구분<em class="required" title="필수"></em></th>
 						<td>
 							<label class="chkBox" >
-								<input type="checkbox" name="frontGb" value="P" th:text="PC웹"/>
+								<input type="checkbox" name="frontGb" value="P" th:text="PC웹" checked="checked"/>
 							</label>
 							<label class="chkBox" >
-								<input type="checkbox" name="frontGb"  value="M" th:text="모바일웹"/>
+								<input type="checkbox" name="frontGb"  value="M" th:text="모바일웹" checked="checked"/>
 							</label>
 							<label class="chkBox" >
-								<input type="checkbox" name="frontGb" value="A" th:text="모바일앱"/>
+								<input type="checkbox" name="frontGb" value="A" th:text="모바일앱" checked="checked"/>
 							</label>
 						</td>
 						<th>전시순서</th>
@@ -518,7 +523,7 @@
 								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
 							</select>
 						</td>
-						<th>오픈여부<em class="required" title="필수"></em></th>
+						<th>노출여부<em class="required" title="필수"></em></th>
 						<td colspan="3">
 							<select name="openYn" required="required" data-valid-name="오픈여부">
 								<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
@@ -532,13 +537,16 @@
 						<th>사용고객등급구분</th>
 						<td>
 							<label class="chkBox" th:if="${usableCustGradeList}" th:each="oneData, status : ${usableCustGradeList}">
-								<input type="checkbox" name="usableCustGradeArr" th:value="${oneData.cd}" th:text="${oneData.cdNm}"/>
+								<input type="checkbox" name="usableCustGradeArr" th:value="${oneData.cd}" th:text="${oneData.cdNm}" checked="checked"/>
+							</label>
+							<label class="chkBox">
+								<input type="checkbox" name="usableCustGradeArr" value="G110_60" th:text="비회원" checked="checked"/>
 							</label>
 						</td>
 						<th>사용가능고객구분<em class="required" title="필수"></em></th>
 						<td>
 							<label class="chkBox" th:if="${usableCustGbList}" th:each="oneData, status : ${usableCustGbList}">
-								<input type="checkbox" name="usableCustGbArr" th:value="${oneData.cd}" th:text="${oneData.cdNm}"/>
+								<input type="checkbox" name="usableCustGbArr" th:value="${oneData.cd}" th:text="${oneData.cdNm}" checked="checked"/>
 							</label>
   						</td>
 					</tr>
@@ -571,7 +579,7 @@
   						</td>
 					</tr>
 					<tr>
-						<th>메인 이미지<i id="pMimgStar"></i></th>
+						<th>목록 이미지<i id="pMimgStar"></i></th>
 						<td colspan="5">
 							<div class="uFile w400">
 								<input id="registerMainPimg" name="registerMainPimg" type="file" accept="image/*" class="uFileInput w400"/>
@@ -590,12 +598,13 @@
 							</div>
 						</td>
 					</tr> -->
-					<tr>
-									
+					<tr id="pollTr" style="display: none;">
 						<th>투표일련번호</th>
 						<td>
 							<input type="text" class="w100 aR" name="pollSq"/>
 						</td>
+					</tr>
+					<tr>
 						<th class="custJoinTr" colspan="1">신규회원여부<em class="required" title="필수"></em></th>
 						<td colspan="2">
 							<select name="newCustYn" id="newCustYn" onchange="newCustYnChange(this)" required="required" data-valid-name="신규회원여부">
@@ -1143,6 +1152,10 @@
 					if(!validationPlanDetail()){
 						return false;
 					}
+					if ($('#planRegisterForm input[name=mainPimg]').val()=='') {
+						mcxDialog.alert("메인이미지를 등록하세요.");
+						return false;
+					}
 					var chkFrontGb = $('#planRegisterForm input:checkbox[name=frontGb]:checked');
 					
 					if(chkFrontGb.length < 1){
@@ -1379,6 +1392,7 @@
 		}
 		
 		if($(obj).val()=='E'){
+			$("#pollTr").show();
 			$("#questionEventInsert").show();
 			$("#questionEventUpdate").show();
 			if (mode =='U') {
@@ -1393,6 +1407,7 @@
 		}else{
 			$("#questionEventInsert").hide();
 			$("#questionEventUpdate").hide();
+			$("#pollTr").hide();
 		}
 	}
 
@@ -1604,7 +1619,7 @@
 				}else{false;}
     		}
     	},
-    	{headerName: "포인트적용일", field: "pntUsableDay", width: 100, cellClass: 'text-center', cellEditor: 'numericCellEditor'
+    	{headerName: "유효기간(일수)", field: "pntUsableDay", width: 100, cellClass: 'text-center', cellEditor: 'numericCellEditor'
 			,cellEditorParams: { maxlength: 3, required: true }
     	    , editable: function(params) { 
 	    		if (params.data.benefit == '포인트' || params.data.benefit == '포인트/쿠폰') {

+ 2 - 0
src/main/webapp/WEB-INF/views/marketing/PlanPopupForm.html

@@ -184,6 +184,8 @@
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(templateTypeList, params.value); },
 			valueParser: function (params) { return gagaAgGrid.lookupKey(templateTypeList, params.newValue); }
 		},
+		{headerName: "pc이미지"		, field:'mainPimg'	, width:100, cellClass: 'text-right' , hide: true},
+		{headerName: "mobile이미지"		, field:'mainMimg'	, width:100, cellClass: 'text-right' , hide: true},
 		{headerName: "전시순서"		, field:'dispOrd'	, width:100, cellClass: 'text-right' },
 		{headerName: "진행시작일시"		, field:'dispStdt'	, width:150, cellClass: 'text-center'},
 		{headerName: "진행종료일시"		, field:'dispEddt'	, width:150, cellClass: 'text-center'},

+ 105 - 71
src/main/webapp/WEB-INF/views/withdraw/RefundRegisterListForm.html

@@ -24,10 +24,12 @@
 		<div class="infoBox menu-desc">
 		</div>
 		<!-- //메뉴 설명 -->
+		
+		<form id="searchForm" name="searchForm" action="#" th:action="@{'/withdraw/refund/list'}" onsubmit="fnSearch(); return false;" >
 		<div class="panelStyle">
 			<!-- TITLE -->
 			<div class="panelTitle">
-				<h3><i class="fa fa-info-circle"></i>아래 검색조건 중 <font color="red">기간, 키워드</font>중 하나를 꼭 입력해 주세요.</h3>
+				<h3><i class="fa fa-info-circle"></i>아래 검색조건 중 <font color="red">구분</font>은 꼭 입력해 주세요.</h3>
 				<span class="panelControl">
 					<i class="fa fa-chevron-up"></i>
 				</span>
@@ -35,7 +37,7 @@
 			<!-- //TITLE -->
 			<div class="panelContent">
 
-				<form id="searchForm" name="searchForm" action="#">
+				
 					<table class="frmStyle">
 						<colgroup>
 							<col style="width:10%" />
@@ -45,12 +47,12 @@
 						</colgroup>
 						<tbody>
 							<tr>
-								<th>구분</th>
+								<th>구분<em class="required" title="필수"></em></th>
 								<td colspan="3">
 									<select id="searchType" name="searchType">
 										<option value="withdrawDt">회수등록일자</option>
-										<option value="returnDt">교환/반품신청일자</option>
-										<option value="confirmDt">회수확정일자</option>
+										<option value="returnDt">반품신청일자</option>
+										<option value="confirmDt">반품완료일자</option>
 									</select>
 									<span id="terms">
 										<input type="text" class="schDate w100" id="stDate" name="stDate" maxlength="10"/>
@@ -70,13 +72,12 @@
 								</td>
 							</tr>
 							<tr>
-								<th>회수상태</th>
+								<th>환불상태</th>
 								<td >
 									<select id="withdrawType" name="withdrawType">
 										<option value="">전체</option>
-										<option value="B">교환/반품접수완료(실물입고)</option>
-										<option value="A">교환/반품접수대기(실물입고)</option>
-										<option value="D">회수컨펌완료</option>
+										<option value="N" selected>환불대기</option>
+										<option value="Y">환불완료</option>
 									</select>
 								</td>
 								<th>상품코드</th>
@@ -85,19 +86,13 @@
 								</td>
 							</tr>
 							<tr>
-								<th>회수컨펌지연일</th>
+								<th>주문자명</th>
 								<td>
-									<input type="text" class="w50" id="delayDt" name="delayDt" value="" data-valid-type="numeric"/>일
-									<select id="delayDtType" name="delayDtType">
-										<option value="U">이상</option>
-										<option value="D">미만</option>
-									</select>
+									<input type="text" id="ordNm" name="ordNm" class="w200" />
 								</td>
-								<th>등록ID</th>
+								<th>보내는사람</th>
 								<td>
-									<select id="regId" name="regId">
-										<option value="">[전체]</option>
-									</select>
+									<input type="text" id="senderNm" name="senderNm" class="w200" />
 								</td>
 							</tr>
 						</tbody>
@@ -108,67 +103,68 @@
 						<button type="button" class="btn btn-base btn-lg btn-lg" id="btnSearch">조회</button>
 						</li>
 					</ul>
-	
-				</form>
 			</div>
 		</div>
+		<!-- 리스트 영역 -->
 		<div class="panelStyle">
-			<div class="panelContent" style="overflow: hidden;">
-				<div id="gridList" style="width:100%; height: 570px;" class="ag-theme-balham"></div>
-			</div>
+			<ul class="panelBar">
+				<li class="right">
+					검색결과 : <strong><span id="gridRowTotalCount">0</span> 건</strong>&nbsp;
+					쪽번호 <span id="pgNo">0</span>/ <strong id="endPgNo">0</strong>&nbsp;&nbsp;
+					<select id="pageSize" name="pageSize">
+						<option value="20" selected="selected">20개씩 보기</option>
+						<option value="50">50개씩 보기</option>
+						<option value="100">100개씩 보기</option>
+						<option value="500">500개씩 보기</option>
+						<option value="1000">1000개씩 보기</option>
+					</select>
+					<input type="hidden" name="pageNo" id="pageNo" value ="1"/>
+				</li>
+			</ul>		
+			
+			<div id="gridList" style="width:100%; height: 570px;" class="ag-theme-balham"></div>
+			<ul class="panelBar">
+				<li class="center">
+					<div class="tablePaging" id="withdrawExceptionListPagination"></div>
+				</li>
+			</ul>
 		</div>
-		
+		</form>
 	</div>
 
+<script type="text/javascript" src="/ux/plugins/gaga/gaga.paging.js?v=20210114"></script>
 <script th:inline="javascript">
 /*<![CDATA[*/
 	// specify the columns
 	var columnDefs = [
-// 		주문자 미상 사용 할 경우 주석 풀 것.
-		{headerName: "", field: "delete", width: 70, minWidth: 60, cellClass: 'text-center',
-			cellRenderer: function(params) {
-				if (params.data.chgGb == "미상") {
-					return '<button type="button" class="btn btn-danger btn-sm" onclick="fnWithdrawDelete(\'' + params.data.wdInvoiceNo + '\' , \'' + params.data.goodsCd + '\' , \'' + params.data.sizeCd +'\');">삭제</button>';
-				} else {
-					return params.value;
-				}
-			}
-		},
-		{headerName: "회수지연일", 	field: "delayDt", 	width: 120, minWidth: 100, cellClass: 'text-center'},
-		{headerName: "회수구분", 		field: "chgGb", 	width: 120, minWidth: 100, cellClass: 'text-center'},
-		{headerName: "주문변경일련번호", field: "ordChgSq", 	width: 130, minWidth: 100, cellClass: 'text-center'},
-		{headerName: "주문번호", 		field: "ordNo", 	width: 130, minWidth: 190, cellClass: 'text-center'},
-		{headerName: "변경요청주문번호", field: "ordChgSq", 	width: 100, minWidth: 100, cellClass: 'text-center',
+		{headerName: "환불상태 ",		field: "rfndStat",	width: 80, minWidth: 100, cellClass: 'text-center'},
+		{headerName: "회수구분", 		field: "wdGb",		width: 80, minWidth: 100, cellClass: 'text-center'},
+		{headerName: "주문번호", 		field: "ordNo",		width: 100, minWidth: 190, cellClass: 'text-center'},
+		{headerName: "주문상세번호", 	field: "ordDtlNo",	width: 100, minWidth: 190, cellClass: 'text-center'},
+		{headerName: "반품요청일련번호", field: "ordChgSq",	width: 120, minWidth: 100, cellClass: 'text-center',
 			cellRenderer: function(params) {
-				if (gagajf.isNull(params.value)) { // 주문자 미상일 경우
-					if (gagajf.isNull(params.data.orgGoodsCd)) {
-						return "오반품";
-					} else {
-						return "<a href=\"javascript:void(0);\" class=\"btn btn-danger btn-sm\">회수등록</a>";
-					}
-				} else {
-					if (params.data.delayDt == '컨펌완료') {
-						return "<a href=\"javascript:void(0);\" class=\"btn btn-dark btn-sm\">컨펌완료</a>";
-					}else{
-						return "<a href=\"javascript:void(0);\" class=\"btn btn-base btn-sm\">회수컨펌</a>";
-					}
+				if (params.data.rfndStat == '환불완료') {
+					return "<a href=\"javascript:void(0);\" class=\"btn btn-dark btn-sm\">환불완료</a>";
+				}else{
+					return "<a href=\"javascript:void(0);\" class=\"btn btn-base btn-sm\">환불컨펌</a>";
 				}
 			}
 		},
-		{headerName: "회수송장번호", 	field: "wdInvoiceNo", 	width: 150, minWidth: 100, cellClass: 'text-center'},
-		{headerName: "접수송장번호", 	field: "invoiceNo", 	width: 150, minWidth: 100, cellClass: 'text-center'},
+		{headerName: "회수송장번호", 	field: "wdInvoiceNo", 	width: 100, minWidth: 100, cellClass: 'text-center'},
 		{headerName: "보내는사람", 	field: "senderNm", 		width: 100, minWidth: 100, cellClass: 'text-center'},
-		{headerName: "요청성명", 		field: "chgerNm",		width: 100, minWidth: 100, cellClass: 'text-center'},
-		{headerName: "보낸연락처", 	field: "senderPhnno", 	width: 150, minWidth: 100, cellClass: 'text-center'},
-		{headerName: "도착일시", 		field: "arrivalDt", 	width: 190, minWidth: 120, cellClass: 'text-center'},
-		{headerName: "회수확정일자", 	field: "wdEddt",	 	width: 190, minWidth: 120, cellClass: 'text-center'},
-		{headerName: "회수메모", 		field: "wdMemo", 		width: 150, minWidth: 100, cellClass: 'text-lecenterft'},
+		{headerName: "보낸연락처", 	field: "senderPhnno", 	width: 120, minWidth: 100, cellClass: 'text-center'},
+		{headerName: "주문자명", 		field: "ordNm",			width: 100, minWidth: 100, cellClass: 'text-center'},
+		{headerName: "주문자연락처", 	field: "ordPhnno",		width: 120, minWidth: 100, cellClass: 'text-center'},
+		{headerName: "도착일시", 		field: "arrivalDt", 	width: 100, minWidth: 120, cellClass: 'text-center'},
+		{headerName: "환불확정일자", 	field: "wdEddt",	 	width: 100, minWidth: 120, cellClass: 'text-center'},
+		{headerName: "WMS회수메모", 	field: "wdMemo", 		width: 200, minWidth: 100, cellClass: 'text-lecenterft'},
 		{headerName: "상품코드", 		field: "goodsCd", 		width: 150, minWidth: 100, cellClass: 'text-center'},
-		{headerName: "사이즈", 		field: "sizeCd", 		width: 80, minWidth: 100, cellClass: 'text-center'},
+		{headerName: "옵션1", 		field: "sizeCd", 		width: 80, minWidth: 100, cellClass: 'text-center'},
+		{headerName: "옵션2", 		field: "sizeCd", 		width: 80, minWidth: 100, cellClass: 'text-center'},
 		{headerName: "반품수량", 		field: "chgQty", 		width: 80, minWidth: 100, cellClass: 'text-center'},
 		{headerName: "회수수량", 		field: "wdQty", 		width: 80, minWidth: 100, cellClass: 'text-center'},
+		{headerName: "요청사유",		field: "chgReason", 	width: 150, minWidth: 100, cellClass: 'text-center'},
 		{headerName: "클레임메모", 	field: "chgMemo", 		width: 200, minWidth: 100, cellClass: 'text-lecenterft'},
-		{headerName: "접수변경요청사유", field: "wdReqReason", 	width: 150, minWidth: 100, cellClass: 'text-center'},
 	];
 
 	// Get GridOptions
@@ -177,11 +173,10 @@
 	// Grid editable
 	withDrawGridOptions.defaultColDef.editable = false;
 
-	//일자조회구분 변경시 처리
-	$('#searchType').on('change', function() {
-		$('#delayDt').val('');
-	});
 
+	/*************************************************************************
+	*  init
+	**************************************************************************/	
 	$(document).ready(function() {
 		cfnCreateCalendar('#terms', 'stDate', 'edDate', true, '조회');
 
@@ -190,20 +185,53 @@
 
 		gagajf.setDate('#terms', 'stDate', 'edDate', '3m');
 
-		//uifnFitGrid('auto');
 	});
 
-	//조회버튼 클릭
+	/*************************************************************************
+	*  조회 버튼 클릭 시
+	**************************************************************************/
 	$('#btnSearch').on('click', function() {
 		fnSearch();
 	});
 
+	/*************************************************************************
+	*  조회 
+	**************************************************************************/	
 	var fnSearch = function() {
-		var formId = '#searchForm';
-		gagaAgGrid.fetch("/withdraw/refund/list", withDrawGridOptions, formId);
+		var searchNm = $('#searchType option:selected').text();
+		
+		if($('#stDate').val() == ''){
+			mcxDialog.alert(searchNm+' 시작 기간을 입력하세요.');
+			return;
+		}
+
+		if($('#edDate').val() == ''){
+			mcxDialog.alert(searchNm+' 종료 기간을 입력하세요.');
+			return;
+		}
+		
+		gagaPaging.init('searchForm', fnSearchCallBack, 'withdrawExceptionListPagination', $('#searchForm').find('#pageSize').val());
+	    gagaPaging.load($("#searchForm input[name=pageNo]").val());
+	    
 	};
 
-	// cell Click
+	/*************************************************************************
+	*  조회 콜백
+	**************************************************************************/
+	var fnSearchCallBack = function(result){
+
+		$('#searchForm').find('#gridRowTotalCount').html(result.pageing.pageable.totalCount.addComma());
+		$('#searchForm').find('#pageNo').val(result.pageing.pageable.pageNo.addComma());
+		$('#searchForm').find('#pgNo').html(result.pageing.pageable.pageNo.addComma());
+		$('#searchForm').find('#endPgNo').html(result.pageing.pageable.totalPage.addComma());
+		withDrawGridOptions.api.setRowData(result.refundList);
+		gagaPaging.createPagination(result.pageing.pageable);
+		
+	}
+	
+	/*************************************************************************
+	*  cell Click
+	**************************************************************************/	
 	withDrawGridOptions.onCellClicked = function(event) {
 		if (event.colDef.field != 'ordChgSq') return;
 
@@ -214,7 +242,10 @@
 		} 
 	}
 
-	// 회수 상세 화면
+
+	/*************************************************************************
+	*  회수 상세 화면
+	**************************************************************************/		
 	var detailPopup = function(ordChgSq, ordNo) {
 		if (ordChgSq == 0) return;
 
@@ -222,6 +253,8 @@
 		cfnOpenModalPopup(actionUrl, "popupWithdrawDetail");
 	}
 
+	
+	/*   회수 삭제 필요성이 현재 없어보임!!!
 	// 회수 삭제
 	var fnWithdrawDelete = function(wdInvoiceNo, goodsCd, sizeCd) {
 		var params = new Object();
@@ -238,6 +271,7 @@
 			}
 		});
 	}
+	*/
 
 /*]]>*/
 </script>

+ 0 - 1
src/main/webapp/WEB-INF/views/withdraw/WithdrawExceptionListForm.html

@@ -108,7 +108,6 @@
 					<div class="tablePaging" id="withdrawExceptionListPagination"></div>
 				</li>
 			</ul>
-					 
 		</div>
 		</form>
 		<!-- //리스트 영역 -->

+ 1 - 1
src/main/webapp/dx5/dextuploadx5-configuration.js

@@ -18,7 +18,7 @@
     } else if (location.host.indexOf("qas") > -1) {
     	gAuthkey = "gx9EHEhXzTpbdxWjty/oHh9cfVi5WA5X4BV71AHaC/ORN/1fcs8nTTd4oUUvC5WhHqEa6Wt8cfmCBJ9w/pJpRhDd+tVu6kPDt9bxZL9n0bvaUn2rrbmJMA+HC9gzahwdEOcjr6ZOmNSEd6N0xN2BDBk55hvfPw02R77XjVuZrQU=";
     } else {
-    	gAuthkey = "gx9EHEhXzTpbdxWjty/oHh9cfVi5WA5X4BV71AHaC/ORN/1fcs8nTTd4oUUvC5WhHqEa6Wt8cfmCBJ9w/pJpRhDd+tVu6kPDt9bxZL9n0bvaUn2rrbmJMA+HC9gzahwdEOcjr6ZOmNSEd6N0xN2BDBk55hvfPw02R77XjVuZrQU=";
+    	gAuthkey = "YOUQYUILPZSEXURW";
     }
 
     win.dextuploadx5Configuration = {