tsit05 5 лет назад
Родитель
Сommit
56ae925f5d

+ 20 - 30
src/main/java/com/style24/admin/biz/web/TsaWithdrawController.java

@@ -132,39 +132,18 @@ public class TsaWithdrawController extends TsaBaseController {
 		log.info("withdraw {}"+withdraw.toString());
 		mav.addObject("ordChgSq", withdraw.getOrdChgSq());
 		mav.addObject("ordNo", withdraw.getOrdNo());
-		
-		
-		
-		
-		// 남은 상품 정보
-		mav.addObject("remainGoodsInfo", withdraw);//withdrawService.getRemainGoodsInfo(withdraw));
-
-		// 남은 상품 목록
-		mav.addObject("remainGoodsList", withdraw); //withdrawService.getWithdrawRemainOrderDetailList(withdraw));
-
-		// 장바구니 쿠폰 정보
-		mav.addObject("couponInfo", withdraw); // withdrawService.getCouponInfo(withdraw));
-
-		// 주문전체 금액
-		mav.addObject("orderDetailSumAmt", withdraw); //withdrawService.getOrderDetailSumAmt(withdraw.getOrdNo().toString()));
-
-		//
-		mav.addObject("sumQty", withdraw); // withdrawService.getSumChgQtyWdQty(withdraw));
-
-		// TODO: 아래 확인후 구현 (.. ) ( ..)
-		//mav.addObject("ordChgCnt", deliveryService.getOrdChgCnt(withdraw.getOrdNo()));
-		
-		
-		
-		
-		
+		mav.addObject("userNo", withdraw.getUserNo());
 		
 		OrderChange orderChange= new OrderChange();
 		orderChange.setOrdChgSq(withdraw.getOrdChgSq());
 		orderChange.setUserNo(withdraw.getUserNo());
 		//orderChangeService.refundConfirmPreInfo(orderChange);
 		
-		mav.addObject("refundConfirmPreInfo", orderChangeService.refundConfirmPreInfo(orderChange));
+		//mav.addObject("refundConfirmPreInfo", orderChangeService.refundConfirmPreInfo(orderChange));
+		
+		//mav.addObject("dataList", withdrawService.getRefundDetailList(withdraw));
+		
+		
 		
 		mav.setViewName("withdraw/RefundDetailForm");
 		return mav;
@@ -181,9 +160,20 @@ public class TsaWithdrawController extends TsaBaseController {
 	 */
 	@PostMapping("/detail/list")
 	@ResponseBody
-	public Collection<Withdraw> getRefundDetailList(@RequestBody Withdraw withdraw) {
-		Collection<Withdraw> dataList = withdrawService.getRefundDetailList(withdraw);
-		return dataList;
+	public GagaMap getRefundDetailList(@RequestBody Withdraw withdraw) {
+		
+		OrderChange orderChange= new OrderChange();
+		orderChange.setOrdChgSq(withdraw.getOrdChgSq());
+		orderChange.setUserNo(withdraw.getUserNo());
+		//orderChangeService.refundConfirmPreInfo(orderChange);
+		
+		GagaMap result = new GagaMap();
+		
+		result.set("refundConfirmPreInfo", orderChangeService.refundConfirmPreInfo(orderChange));
+		result.set("dataList",withdrawService.getRefundDetailList(withdraw));
+		
+	//	Collection<Withdraw> dataList = withdrawService.getRefundDetailList(withdraw);
+		return result;
 	}
 
 	/**

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

@@ -100,6 +100,7 @@ public class Withdraw extends TscBaseDomain {
 	private int addPayCost; 	// 추가결제비용 
 	private int totalOrdQty;    // 주문총수량 
 	private int addDeliveryFee;
+	private int refundAmt; 
 	
 	private String stDate;					// 조회 시작 기간
 	private String edDate;					// 조회 종료 기간

+ 1 - 0
src/main/java/com/style24/persistence/domain/WithdrawExc.java

@@ -93,6 +93,7 @@ public class WithdrawExc extends TscBaseDomain {
 	private int chgQty;  
 	private int ordAmt;
 	private int addPayCost;
+	private int codFee; 
 	
 	private Integer orderNo;           // 주문번호
 	private Integer orderDtlNo;        // 주문상세번호 

+ 1 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsaDelivery.xml

@@ -415,7 +415,7 @@
 		SELECT DBG.DEL_YN
 			, G.BRAND_CD
 			, B.BRAND_KNM
-			, DL.DELV_LOC_NM
+			, (SELECT MAX(DELV_LOC_NM) FROM TB_DELIVERY_LOC DL WHERE DL.DELV_LOC_CD = DBG.DELV_LOC_CD ) AS DELV_LOC_NM
 			, (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = DBG.GOODS_CD AND COLOR_CD = DBG.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' ) AS SYS_IMG_NM
 			, G.GOODS_NM
 			, DBG.GOODS_CD
@@ -426,7 +426,6 @@
 			, DBG.DELV_BAN_EDDT	
 			, DBG.DELV_BAN_GOODS_SQ
 		FROM  TB_DELIVERY_BAN_GOODS DBG
-		INNER JOIN TB_DELIVERY_LOC DL   ON DBG.DELV_LOC_CD = DL.DELV_LOC_CD
 		INNER JOIN TB_GOODS        G    ON DBG.GOODS_CD = G.GOODS_CD
 		INNER JOIN TB_BRAND        B    ON G.BRAND_CD = B.BRAND_CD
 		WHERE 1=1

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

@@ -219,6 +219,7 @@
 							, B.QTY
 							, B.REASON_CODE
 							, O.MALL_GB
+							, A.COD_FEE
 						  FROM TB_ORDER_RECALL_EXCEPTION A 
 						  JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
 						  LEFT JOIN TB_ORDER O ON O.ORD_NO = A.ORDER_NO 
@@ -513,6 +514,7 @@
 				, E.ORD_NM 	
 				, C.DELV_ADDR_SQ
 				, F.WD_INVOICE_NO 
+				, (SELECT R.REFUND_AMT FROM TB_REFUND R WHERE R.ORD_NO = E.ORD_NO) AS REFUND_AMT
 		  FROM TB_ORDER_CHANGE A
 		  JOIN TB_ORDER_CHANGE_DETAIL B ON B.ORD_CHG_SQ = A.ORD_CHG_SQ 
 		  JOIN TB_ORDER_DETAIL C ON C.ORD_DTL_NO = B.ORD_DTL_NO 

+ 4 - 4
src/main/webapp/WEB-INF/views/delivery/AssignPopupForm.html

@@ -14,7 +14,7 @@
  * 1.0  2020.04.19   moon       최초 작성
  *******************************************************************************
  -->
-	<div class="modalPopup" data-width="620">
+	<div class="modalPopup" data-width="700" data-height="800">
 		<div class="panelStyle">
 		<!-- TITLE -->
 		<div class="panelTitle">
@@ -55,7 +55,7 @@
 		</ul>
 		<!-- 테이블 영역  영역 -->
 		
-		<div id="gridDelvLocList" style="width: 100%; height: 300px;" class="ag-theme-balham"></div>
+		<div id="gridDelvLocList" style="width: 100%; height: 500px;" class="ag-theme-balham"></div>
 		
 		<!-- 테이블 영역 -->
 		</div>
@@ -65,9 +65,9 @@
 /*<![CDATA[*/
 	var assignPopupColumnDefs = [
 		// group cell renderer needed for expand / collapse icons
-		{headerName: "출고처", 		field: "delvLocNm", width: 300, cellClass: 'text-center'},
+		{headerName: "출고처", 		field: "delvLocNm", width: 350, cellClass: 'text-center'},
 		{headerName: "출고처코드", 	field: "delvLocCd",	width: 100,	cellClass: 'text-center'},
-		{headerName: "수량",      	field: "stockQty", 	width: 60,	cellClass: 'text-center'},
+		{headerName: "수량",      	field: "stockQty", 	width: 100,	cellClass: 'text-center'},
 		{headerName: "출고거부여부",	field: "delvArGb",	width: 100, cellClass: 'text-center'}
 	];
 

+ 21 - 7
src/main/webapp/WEB-INF/views/delivery/BanGoodsRegistForm.html

@@ -15,7 +15,7 @@
  * 1.1  2020.11.23   moon        이미지관련 수정 
  *******************************************************************************
  -->
-	<div class="modalPopup" data-width="1200">
+	<div class="modalPopup" data-width="1200" data-height="800">
 		<div class="panelStyle">
 		<!-- TITLE -->
 		<div class="panelTitle">
@@ -90,14 +90,14 @@
 					<td>
 						<select  name="popDelvLocCd" id="popDelvLocCd">
 							<option value="">[전체]</option>
-							<option th:if="${getDeliveryLocList}" th:each="oneData, status : ${getDeliveryLocList}" th:value="${oneData.Cd}" th:text="${oneData.cdNm}"></option>
+							
 						</select>
 					</td>
 				</tr>
 			</table>
 			</div>
 
-			<div id="gridBanGoodsList" style="width: 100%; height: 260px; padding-top:10PX;" class="ag-theme-balham"></div>
+			<div id="gridBanGoodsList" style="width: 100%; height: 500px; padding-top:10PX;" class="ag-theme-balham"></div>
 		
 		</form>
 		<!-- 버튼 배치 영역 -->
@@ -125,8 +125,8 @@
 		},
 		{headerName: "상품명",	field: "goodsNm",     width: 330, minWidth: 100},
 		{headerName: "상품코드",	field: "goodsCd",     width: 150, minWidth: 100, cellClass: 'text-center'},
-		{headerName: "컬러",	    field: "colorCd",     width: 100, minWidth: 100, cellClass: 'text-center'},
-		{headerName: "사이즈",	field: "sizeCd",      width: 100, minWidth: 100, cellClass: 'text-center'},
+		{headerName: "옵션1",	    field: "optCd1",     width: 100, minWidth: 100, cellClass: 'text-center'},
+		{headerName: "옵션2",		field: "optCd2",      width: 100, minWidth: 100, cellClass: 'text-center'},
 		{headerName: "상품상태",	field: "goodsStatNm", width: 150, minWidth: 100, cellClass: 'text-center'},
 	];
 
@@ -143,10 +143,19 @@
 
 	// 조회
 	var fnPopSearch = function() {
+
+		var supplyCompcd = $('#bangoodsRegistForm select[name=supplyCompCd]').val();
+		if (gagajf.isNull(supplyCompcd)) {
+			mcxDialog.alert("업체를 선택해주세요!");
+			 $("#bangoodsRegistForm select[name=supplyCompCd]").focus();
+			return;
+		}
+		
 		var formId = '#bangoodsRegistForm';
 		gagaAgGrid.fetch($(formId).prop('action'), popGridOptions, formId);
 	}
 
+
 	// 저장
  	$('#btnBangoodsSave').on('click', function() {
 
@@ -189,8 +198,8 @@
 	                var param = new Object;
 
 	                param.goodsCd     = item.goodsCd;
-	                param.colorCd     = item.colorCd;
-	                param.sizeCd      = item.sizeCd;
+	                param.optCd1      = item.optCd1;
+	                param.optCd2      = item.optCd2;
 	                param.delvBanStdt = delvBanStdt;
 	                param.delvBanEddt = delvBanEddt;
 	                param.delvLocCd   = delvLocCd;
@@ -209,6 +218,11 @@
 	$('#bangoodsRegistForm select[name=supplyCompCd]').on('change', function() {
 		var actionUrl = '/renderer/supplyCompany/brand/list/'+ $(this).val();
 		cfnCreateCombo(actionUrl, $('#bangoodsRegistForm select[name=brandCd]'), "[전체]");
+		
+		var actionUrl2 = '/renderer/delvloc/list/'+ $(this).val();	
+
+		cfnCreateCombo(actionUrl2, $('#bangoodsRegistForm select[name=popDelvLocCd]'), "[전체]");
+		
 	});
 
 /*]]>*/

+ 15 - 5
src/main/webapp/WEB-INF/views/delivery/BangoodsListForm.html

@@ -132,7 +132,8 @@
 		{ width: 42, minWidth: 42, cellClass: 'text-center', headerCheckboxSelection: true, headerCheckboxSelectionFilteredOnly: true
 			, checkboxSelection: function (params) {
 				return  (params.data.delYn == 'N' ) ? true : false;
-			}	
+			},
+			
 		},
 		{headerName: "출고금지상품번호",			field: "delvBanGoodsSq",width: 50,	cellClass: 'text-center', hide: true},
 		{headerName: "삭제",					field: "delYn",			width: 50,	cellClass: 'text-center'},
@@ -157,8 +158,8 @@
 				}
 			}
 		},
-		{headerName: "컬러",		    field: "colorCd",		width: 80,	cellClass: 'text-center'},
-		{headerName: "사이즈",		field: "sizeCd",		width: 80,	cellClass: 'text-center'},
+		{headerName: "옵션1",		    field: "optCd1",		width: 80,	cellClass: 'text-center'},
+		{headerName: "옵션2",			field: "optCd2",		width: 80,	cellClass: 'text-center'},
 		{headerName: "상품상태",		field: "goodsStat",		width: 80,	cellClass: 'text-center'},
 		{headerName: "출고금지시작일자",	field: "delvBanStdt",	width: 150,	cellClass: 'text-center', cellRenderer: function (params) { return gagaAgGrid.toDateFormat(params.value); }},
 		{headerName: "출고금지종료일자",	field: "delvBanEddt",	width: 150,	cellClass: 'text-center', cellRenderer: function (params) { return gagaAgGrid.toDateFormat(params.value); }}
@@ -167,6 +168,10 @@
 
 	var gridOptions = gagaAgGrid.getGridOptions(columnDefs);
 	gridOptions.rowSelection = 'multiple';
+	gridOptions.suppressRowClickSelection = true;
+	gridOptions.isRowSelectable = function(rowNode) {
+		return rowNode.data.delYn == 'N';
+	}
 	
 	//gridOptions.rowHeight = 60;
 	/*************************************************************************
@@ -213,6 +218,11 @@
 	$('#searchForm select[name=supplyCompCd]').on('change', function() {
 		var actionUrl = '/renderer/supplyCompany/brand/list/'+ $(this).val();
 		cfnCreateCombo(actionUrl, $('#searchForm select[name=brandCd]'), "[전체]");
+		
+		var actionUrl2 = '/renderer/delvloc/list/'+ $(this).val();	
+
+		cfnCreateCombo(actionUrl2, $('#searchForm select[name=delvLocCd]'), "[전체]");
+		
 	});
 
 	/*************************************************************************
@@ -282,8 +292,8 @@
 
 	                param.delvBanGoodsSq = item.delvBanGoodsSq;
 	                param.goodsCd = item.goodsCd;
-	                param.colorCd = item.colorCd;
-	                param.sizeCd = item.sizeCd;
+	                param.optCd1  = item.optCd1;
+	                param.optCd2  = item.optCd2;
 
 	                createData.push(param);
 	            });

+ 35 - 2
src/main/webapp/WEB-INF/views/delivery/DeliveryListForm.html

@@ -230,6 +230,7 @@
 	**************************************************************************/
 	var shipCompanyList =  gagajf.convertToArray([[${shipCompanyList}]]);
 	var roleCd          = [[${sessionInfo.roleCd}]];
+	var currOrdNo       = 0;
 	var columnDefs = [
 		{
 			headerName: "결품",
@@ -247,7 +248,7 @@
 		{headerName: "주문번호",	field: "ordNo", width: 95, cellClass: 'text-center',
 			cellRenderer: function (params) {
 				if (roleCd.indexOf("C") < 0) {
-					return "<a href=\"javascript:void(0);\" onclick=\"cfnOpenOrderDetailPopup('" + params.value + "');\">" + params.value + "</a>";
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderDetailPopup('" + params.data.ordNo + "');\">" + params.data.ordNo + "</a>";
 				} else {
 					return params.value;
 				}
@@ -255,6 +256,15 @@
 		},
 		{headerName: "주문상세번호", 	field: "ordDtlNo", 		width: 90, cellClass: 'text-center'},
 		{headerName: "주문상세상태", 	field: "ordDtlStatNm", 	width: 120, cellClass: 'text-center'},
+		{headerName: "주문교환", 		field: "ordExchGb", 	width: 80, cellClass: 'text-center',
+			cellRenderer: function (params) {
+				if (params.value == "Y") {
+					return "교환";
+				} else {
+					return "주문";
+				}
+			}
+		},
 		// {headerName: "사이트", field: "siteNm", width: 120, cellClass: 'text-center'},
 		// {headerName: "판매몰", field: "sellStoreNm", width: 150, cellClass: 'text-left'},
 		{headerName: "판매몰명", 		field: "extmallNm", 	width: 150, cellClass: 'text-left'},
@@ -348,7 +358,6 @@
 		{headerName: "에이전트주문번호", field: "agentOrderId", 	width: 150, cellClass: 'text-left'},
 		{headerName: "결품여부", 		field: "soldoutYn", 	width: 80, cellClass: 'text-center'},
 		{headerName: "배송메모", 		field: "delvMemo", 		width: 200, cellClass: 'text-left'},
-		{headerName: "교환여부", 		field: "ordExchGb", 	width: 80, cellClass: 'text-center'},
 		{headerName: "product_no", 	field: "productNo", 	width: 100, cellClass: 'text-center'},
 		{headerName: "product_code",field: "productCode", 	width: 100, cellClass: 'text-center'}
 		
@@ -375,6 +384,24 @@
 		$(".btnToday").trigger('click');
 	}
 	
+	
+	/*************************************************************************
+	*  주문상세 팝업  
+	**************************************************************************/		
+	var fnOrderDetailPopup = function(ordNo){
+		currOrdNo = ordNo;
+		cfnOpenOrderDetailPopup(currOrdNo);
+	}
+	
+	/*************************************************************************
+	*  팝업 콜백 
+	**************************************************************************/		
+	var fnReOpenOrderDetailPopup = function () {
+		cfnOpenOrderDetailPopup(currOrdNo);
+		fnSearchList();
+	};
+	
+	
 	/*************************************************************************
 	* 조회 클릭
 	**************************************************************************/
@@ -546,6 +573,12 @@
 		}
 
 		cfnCreateMultiCombo(actionUrl,"multiBrand",  "[전체]",null, 'Y');
+		
+		var actionUrl2 = '/renderer/delvloc/list/'+ $(this).val();	
+
+		cfnCreateCombo(actionUrl2, $('#searchForm select[name=delvLocCd]'), "[전체]");
+		
+		
 	});
 	
 	/*************************************************************************

+ 10 - 0
src/main/webapp/WEB-INF/views/delivery/DeliveryWithdrawDirectiveListForm.html

@@ -121,6 +121,7 @@
 <script th:inline="javascript">
 /*<![CDATA[*/
 	// 사이트목록
+	var currOrdNo = 0;
 	var siteList = gagajf.convertToArray([[${siteCdList}]]);
 
 	var columnDefs = [
@@ -156,6 +157,7 @@
 	// 셀 클릭 이벤트
 	gridOptions.onCellClicked = function(event) {
 		if (event.colDef.field == 'ordNo') {
+			currOrdNo = event.data.ordNo;
 			// 주문 상세
 			cfnOpenOrderDetailPopup(event.data.ordNo);
 		} else if (event.colDef.field == 'goodsCd') {
@@ -164,6 +166,14 @@
 		}
 	};
 
+	/*************************************************************************
+	*  팝업 콜백 
+	**************************************************************************/		
+	var fnReOpenOrderDetailPopup = function () {
+		cfnOpenOrderDetailPopup(currOrdNo);
+		fnSearchList();
+	};
+	
 	// 조회
 	$('#btnSearch').on('click', function() {
 		// Fetch data

+ 69 - 79
src/main/webapp/WEB-INF/views/withdraw/RefundDetailForm.html

@@ -28,13 +28,10 @@
 				<input type="hidden" name="orgEncloseFee" readonly/>
 				<table class="frmStyle">
 					<colgroup>
-						<col style="width:10%;" />
-						<col style="width:15%;" />
-						<col style="width:10%;" />
-						<col style="width:15%;" />
-						<col style="width:10%;" />
-						<col style="width:15%;" />
-						<col style="width:10%;" />
+						<col style="width:20%;" />
+						<col style="width:30%;" />
+						<col style="width:20%;" />
+						<col style="width:30%;" />
 						<col />
 					</colgroup>
 					<tr>
@@ -87,7 +84,23 @@
 						</td>
 					</tr>
 				</table>
-				
+					<div id="divRefundInfo2">
+					<h4>환불금액</h4>
+					<table class="frmStyle">
+						<colgroup>
+							<col style="width:20%;"/>
+							<col style="width:30%;"/>
+							<col style="width:20%;"/>
+							<col style="width:30%;"/>
+						</colgroup>
+						<tbody>
+							<tr>
+								<th>환불 금액</th>
+								<td colspan="3"><span id="refundAmt"></span>원 </td>
+							</tr>
+						</tbody>
+					</table>
+					</div>
 					<div id="divRefundInfo">
 					<h4>환불예정금액</h4>
 					<table class="frmStyle">
@@ -163,11 +176,8 @@
 
 	var ordChgSq = [[${ordChgSq}]];	// 주문변경번호
 	var ordNo    = [[${ordNo}]];	// 주문번호 
-	var remainGoodsInfo = [[${remainGoodsInfo}]]; // 주문 남은 상품 정보
-	var remainGoodsList = [[${remainGoodsList}]]; // 주문 남은 상품 목록
-	var couponInfo = [[${couponInfo}]]; // 쿠폰 정보
-	var orderDetailSumAmt = [[${orderDetailSumAmt}]];
-	var sumQty = [[${sumQty}]];
+	var userNo   = [[${userNo}]]; 
+
 	var ordChgCnt = 0;	//회수신청건수
 	var chgGb = "반품";
 	
@@ -179,6 +189,7 @@
 	var mallGb      = "";
 	var reFundInfo  = [[${refundConfirmPreInfo}]]; // 환불컨펌 정보 
 	
+	
 	var columnDefsDetail = [
 		{headerName: "주문변경번호", 	field: "ordChgSq",	width: 100, minWidth: 100, cellClass: 'text-center'},
 		{headerName: "주문번호", 		field: "ordNo", 	width: 100, minWidth: 100, cellClass: 'text-center',
@@ -221,38 +232,18 @@
 	withdrawDetailGridOptions.rowSelection = 'multiple';
 	
 	var isCustomer = true;
-	
-	
-	// ??  
-	withdrawDetailGridOptions.getRowStyle = function(params) {
-		if (params.data.wdStatYn == 'N') {
-			if (params.data.wdQty < 1) {
-				return { 'background-color': '#FF0000'};
-			}
-		} 
-	}
-	
-	
-	/*************************************************************************
-	*  init
-	**************************************************************************/
-	$(document).ready(function() {
-		// Create a agGrid
-		gagaAgGrid.createGrid('refundGridList', withdrawDetailGridOptions);
-		
-		setTimeout(fnRefundDetailSearch, 200);
-		
-	}); 
-	
-	
+
 	/*************************************************************************
 	*  회수 상세내역 조회
 	**************************************************************************/
 	var initFlag = '';
 	var fnRefundDetailSearch = function() {
 		//initFlag = Init;
-		var data = { 'ordChgSq' : ordChgSq };
-		var jsonData = JSON.stringify(data);
+		var params = {};
+		params.ordChgSq = ordChgSq;
+		params.userNo = userNo;
+		
+		var jsonData = JSON.stringify(params);
 		
 		gagajf.ajaxJsonSubmit('/withdraw/detail/list', jsonData, fnWithdrawDetailCallback);
 	}
@@ -261,53 +252,40 @@
 	*  상세 정보 콜백 함수
 	**************************************************************************/	
 	var fnWithdrawDetailCallback = function(result) {
-		if (result.length < 1) {
+		reFundInfo = result.refundConfirmPreInfo;
+		
+		if (result.dataList.length < 1) {
 			mcxDialog.alert('회수데이터 오류입니다. 운영팀에 문의 해주세요! ');
 			return;
 		}
 		
 		var confirmCnt = 0;
-		$(result).each(function(idx) {
-			if (result[idx].wdStatYn == 'Y') {
+		$(result.dataList).each(function(idx) {
+			if (result.dataList[idx].wdStatYn == 'Y') {
 				confirmCnt++;
 			}
-			ordInQty  = ordInQty + result[idx].wdQty;
-			ordChgQty = ordChgQty + result[idx].chgQty;
+			ordInQty  = ordInQty + result.dataList[idx].wdQty;
+			ordChgQty = ordChgQty + result.dataList[idx].chgQty;
 			
 		});
 		
 		// 전체 회수 완료 일 때. 제휴몰일때 
-		if (result.length == confirmCnt || result[0].mallGb == 'G011_20') {
-			//fnSearch();
+		if (result.dataList.length == confirmCnt || result.dataList[0].mallGb == 'G011_20') {
 			setReadOnly(true);
 			$('#pgBtn').hide();
-			//$('#divRefundInfo').hide();
+			$('#divRefundInfo').hide();
+			$('#divRefundInfo2').show();
 		}
 		
 		// 회수리스트 설정
-		withdrawDetailGridOptions.api.setRowData(result); 
-		
-		//if (!initFlag) return;
-		
-		fnSetWithdrawInfo(result[0]);	// 회수정보 설정
+		withdrawDetailGridOptions.api.setRowData(result.dataList); 
 		
-		//fnSetCnclInfo(result);			// 취소 관련 설정
+		fnSetWithdrawInfo(result.dataList[0]);	// 회수정보 설정
 	}
 	
 	/*************************************************************************
 	*  회수정보 설정
-	**************************************************************************/		
-	var _orgDelvFee = 0;	// 최초 배송비
-	var _delvFee = 0;		// 배송비
-	var _totRealOrdAmt = 0;	// 상품 실결제금액
-	var _payAmt = 0;		// 총결제금액
-	var _encloseFee = 0;	// 동봉비
-	
-	var _totCnclGoodsAmt = 0;		// 총 취소 상품 금액
-	var _totCnclPointAmt = 0;		// 총 취소 사용 포입트
-	var _totCnclCouponAmt = 0;		// 총 취소 사용 쿠폰
-	var _totCnclGoodsRefundAmt = 0;	// 총 취소 상품 환불금액
-	
+	**************************************************************************/			
 	var fnSetWithdrawInfo = function(data) {
 		
 		toTalOrdQty = data.totalOrdQty;
@@ -348,6 +326,8 @@
 			isCustomer = false;
 		}
 		
+		// 환불금액 
+		$("#refundAmt").text(data.refundAmt.addComma());
 
 		// 환불예정금액 
 		$("#spanPayAmt").text(reFundInfo.spanPayAmt.addComma());					//총 결제 금액
@@ -427,11 +407,11 @@
 					addDeliveryFee = reFundInfo.spanSumDeliveryFee - reFundInfo.spanDelvCpnDcAmt;
 					addDeliveryFeeYn = "Y";
 				}
-				alert("총수량 출고예외 ");
+				//alert("총수량 출고예외 ");
 				// 환불금액  = 취소 상품 실결제 금액 + 배송비 
 				reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + reFundInfo.spanSumDeliveryFee - reFundInfo.spanDelvCpnDcAmt);
 			} else { // 총 주문수량  <>  반품수량   
-				alert("출고예외");
+				//alert("출고예외");
 				reFundInfo.spanRefundAmt = reFundInfo.spanRealCnclRtnAmt;
 			}
 			
@@ -439,14 +419,14 @@
 			if(toTalOrdQty == ordChgQty){// 총 주문수량  =  반품수량   
 				if(isCustomer){ //고객귀책 
 					if(wdGb == "W"){ // 회수요청
-						alert("총수량 고객귀책 - 회수요청");
+						//alert("총수량 고객귀책 - 회수요청");
 						// 환불금액  = 취소 상품 실결제 금액 + 배송비 - 추가배송비 - 반품배송비 
 						if(Number(enCloseFee) > 0){
 							enCloseFeeYn = "Y";
 						}
 						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost)) - (reFundInfo.spanTotDeliveryFee - reFundInfo.spanDelvCpnDcAmt)  - reFundInfo.spanTotRtnDelvFee;
 					} else {         // 직접배송
-						alert("총수량 고객귀책 - 직접배송");
+						//alert("총수량 고객귀책 - 직접배송");
 					
 						if(Number(codFee) > 0){
 							codFeeAmt = Number(codFee);
@@ -458,7 +438,7 @@
 						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost)) - (reFundInfo.spanTotDeliveryFee - reFundInfo.spanDelvCpnDcAmt) - Number(codFee);
 					}
 				} else { // 회사귀책
-					alert("총수량 회사귀책 ");
+					//alert("총수량 회사귀책 ");
 					if(reFundInfo.spanSumDeliveryFee > 0){
 						addDeliveryFee = reFundInfo.spanSumDeliveryFee - reFundInfo.spanDelvCpnDcAmt;
 						addDeliveryFeeYn = "Y";
@@ -468,14 +448,14 @@
 			} else { // 총 주문수량  <>  반품수량   
 				if(isCustomer){ //고객귀책 
 					if(wdGb == "W"){ // 회수요청
-						alert(" 고객귀책- 회수요청 ");
+						//alert(" 고객귀책- 회수요청 ");
 						if(Number(enCloseFee) > 0){
 							enCloseFeeYn = "Y";
 						}
 						// 환불금액  = 취소 상품 실결제 금액   - 반품배송비 
 						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) + Number(addPaycost))  - reFundInfo.spanTotRtnDelvFee;
 					} else {         // 직접배송
-						alert(" 고객귀책- 직접배송 ");
+						//alert(" 고객귀책- 직접배송 ");
 						if(Number(codFee) > 0){
 							codFeeAmt = Number(codFee);
 							codFeeYn  = "Y";
@@ -486,7 +466,7 @@
 						reFundInfo.spanRefundAmt = (reFundInfo.spanRealCnclRtnAmt + Number(enCloseFee) - Number(codFee));
 					}
 				} else { // 회사귀책
-					alert(" 회사귀책 ");
+					//alert(" 회사귀책 ");
 					reFundInfo.spanRefundAmt = reFundInfo.spanRealCnclRtnAmt ;
 				}
 			}
@@ -560,13 +540,15 @@
 			return;
 		}
 
-		mcxDialog.confirm('회수컨펌 하시겠습니까?', {
+		mcxDialog.confirm('환불컨펌 하시겠습니까?', {
 			cancelBtnText: "취소",
 			sureBtnText: "확인",
 			sureBtnClick: function(){
 				gagajf.ajaxJsonSubmit('/withdraw/detail/confirm', jsonData, function(result) {
 					//confirmFlag = true;
-					//fnDetailSearch(false);
+					fnSearch();
+					$('#divRefundInfo').hide();
+					$('#divRefundInfo2').show();
 					fnRefundDetailSearch();
 				});
 			}
@@ -583,18 +565,26 @@
 			$('#withdrawDetailForm input[name=encloseFee]').attr('readonly', 'readonly');
 			$('#withdrawDetailForm input[name=encloseFee]').addClass('formControl');
 			
-			//$('#withdrawDetailForm select[name=chgReason]').attr('disabled', 'disabled');
-			//$('#withdrawDetailForm select[name=chgReason]').addClass('formControl');	
 		} else {
 			$('#withdrawDetailForm input[name=encloseFee]').remove('readonly');
 			$('#withdrawDetailForm input[name=encloseFee]').removeClass('formControl');
 			
-			//$('#withdrawDetailForm select[name=chgReason]').remove('disabled');
-			//$('#withdrawDetailForm select[name=chgReason]').removeClass('formControl');
 		}
 		
 	}
+	/*************************************************************************
+	*  init
+	**************************************************************************/
+	$(document).ready(function() {
+		// Create a agGrid
 
+		gagaAgGrid.createGrid('refundGridList', withdrawDetailGridOptions);
+		$('#divRefundInfo2').hide();
+		fnRefundDetailSearch();
+		
+	}); 
+	
+	 
 /*]]>*/
 </script>
 </html>

+ 2 - 1
src/main/webapp/WEB-INF/views/withdraw/RefundRegisterListForm.html

@@ -186,7 +186,8 @@
 		gagaAgGrid.createGrid('gridList', withDrawGridOptions);
 		cfnCreateCalendar('#terms', 'stDate', 'edDate', true, '조회');
 
-		gagajf.setDate('#terms', 'stDate', 'edDate', '3m');
+		gagajf.setDate('#terms', 'stDate', 'edDate', '7d');
+		
 
 	});
 

+ 29 - 11
src/main/webapp/WEB-INF/views/withdraw/WithdrawDirectiveListForm.html

@@ -49,21 +49,21 @@
 						<tr>
 							<th>주문자명</th>
 							<td>
-								<input type="text" class="" name="ordNm" placeholder="" maxlength="20"/>
+								<input type="text" class="w40p" name="ordNm" placeholder="" maxlength="20"/>
 							</td>
 							<th>주문번호</th>
 							<td>
-								<input type="text" class="" name="ordNo" data-valid-type="integer" placeholder="" maxlength="20"/>
+								<input type="text" class="w40p" name="ordNo" data-valid-type="integer" placeholder="" maxlength="20"/>
 							</td>
 							<th>주문변경번호</th>
 							<td>
-								<input type="text" class="" name="ordChgSq" data-valid-type="integer" placeholder="" maxlength="20"/>
+								<input type="text" class="w40p" name="ordChgSq" data-valid-type="integer" placeholder="" maxlength="20"/>
 							</td>
 						</tr>
 						<tr>	
 							<th>회수구분</th>
 							<td>
-								<select name="chgGb">
+								<select name="chgGb"class="w100">
 									<option value="">&nbsp;전체&nbsp;</option>
 									<option value="G680_30"> 반품 </option>
 									<option value="G680_40"> 교환 </option>
@@ -71,14 +71,14 @@
 							</td>
 							<th>진행상태</th>
 							<td>
-								<select name="chgStat">
+								<select name="chgStat" class="w100">
 									<option value="">전체</option>
 									<option th:if="${chgStatList}" th:each="oneData, status : ${chgStatList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}"></option>									
 								</select>
 							</td>
 							<th>반품방식</th>
 							<td>
-								<select name="wdGb">
+								<select name="wdGb" class="w100">
 									<option value="">&nbsp;전체&nbsp;</option>
 									<option value="W">방문회수</option>
 									<option value="D">직접배송</option>
@@ -89,7 +89,7 @@
 						<tr>
 							<th>택배사전송여부</th>
 							<td>
-								<select name="sendYn">
+								<select name="sendYn" class="w100">
 									<option value="">전체</option>
 									<option value="Y">전송</option>
 									<option value="N">미전송</option>
@@ -98,7 +98,7 @@
 							</td>
 							<th>회수상태</th>
 							<td colspan="3">
-								<select name="wdShipState">
+								<select name="wdShipState" class="w100">
 									<option value="">전체</option>
 									<option th:if="${wdShipStateList}" th:each="oneData, status : ${wdShipStateList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}"></option>
 								</select>
@@ -155,11 +155,13 @@
 <script th:inline="javascript">
 /*<![CDATA[*/
 	// 사이트목록
-
+	var currOrdNo =0;
 	var columnDefs = [
 		{headerName: "주문변경번호", 	field: "ordChgSq", 		width: 100, cellClass: "text-center"},
 		{headerName: "주문번호", 		field: "ordNo", 		width: 100, cellClass: "text-center",
-			cellRenderer: function(params) { return gagajf.isNull(params.value) ? '' : '<a href="javascript:void(0);">' + params.value + '</a>'; }
+			cellRenderer: function(params) { 
+				return gagajf.isNull(params.value) ? '' : "<a href=\"javascript:void(0);\" onclick=\"fnOrderDetailPopup('" + params.data.ordNo + "');\">" + params.data.ordNo + "</a>";
+			}
 		},
 		{headerName: "주문상세번호", 	field: "ordDtlNo", 		width: 100, cellClass: "text-center"},		
 		{headerName: "회수구분", 		field: "chgGb", 		width: 80, cellClass: "text-center",
@@ -215,6 +217,22 @@
 		}
 	};
 
+	/*************************************************************************
+	*  주문상세 팝업  
+	**************************************************************************/		
+	var fnOrderDetailPopup = function(ordNo){
+		currOrdNo = ordNo;
+		cfnOpenOrderDetailPopup(currOrdNo);
+	}
+	
+	/*************************************************************************
+	*  팝업 콜백 
+	**************************************************************************/		
+	var fnReOpenOrderDetailPopup = function () {
+		cfnOpenOrderDetailPopup(currOrdNo);
+		fnSearchList();
+	};
+	
 	// 조회
 	$('#btnSearch').on('click', function() {
 		// Fetch data
@@ -331,7 +349,7 @@
 		cfnCreateCalendar('#terms', 'stDate', 'edDate', true, '','',  hideList);
 		// grid 높이 조절
 		//uifnFitGrid('auto');
-		gagajf.setDate('#terms', 'stDate', 'edDate', 't');
+		gagajf.setDate('#terms', 'stDate', 'edDate', '7d');
 
 		//fnDatepickerDisabled();
 	});

+ 15 - 6
src/main/webapp/WEB-INF/views/withdraw/WithdrawExceptionListForm.html

@@ -147,7 +147,7 @@
 
 	var columnDefs = [
 		{headerName: "반품예외처리번호",		field: "recallExceptionNo", width: 50,	cellClass: 'text-center', hide: true},
-		{headerName: "No.",				field: "rnum",				width: 50,	cellClass: 'text-center'},
+		//{headerName: "No.",				field: "rnum",				width: 50,	cellClass: 'text-center'},
 		{headerName: "처리상태",			field: "recallStat",		width: 100,	cellClass: 'text-center',rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,
 		    cellClassRules: {
 		        'cell-span': "data.rowspanRank == 1"
@@ -182,7 +182,7 @@
 		{headerName: "주문자명",			field: "customerName",		width: 100,	cellClass: 'text-center'},
 		{headerName: "예외사유",			field: "reasonCd",			width: 150,	cellClass: 'text-center'},
 		{headerName: "WMS메시지",			field: "adminMemo",			width: 300,	cellClass: 'text-left'},
-		{headerName: "회수요청구분",		field: "chgGbNm",			width: 80,	cellClass: 'text-left'},
+		{headerName: "회수요청구분",		field: "chgGbNm",			width: 90,	cellClass: 'text-left'},
 		{headerName: "반품교환사유",		field: "chgReasonNm",		width: 150,	cellClass: 'text-left'},
 		{headerName: "반품/사유변경",		field: "chgReason",			width: 120,	cellClass: 'text-center',rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,
 			    cellClassRules: {
@@ -208,11 +208,20 @@
 				}
 			}
 		},
-		{headerName: "추가비용",			field: "csAddFee",		width: 100,	cellClass: 'text-right',editable: true,
+		{headerName: "착불비",			field: "codFee",		width: 100,	cellClass: 'text-right'
+			,valueFormatter: function(params) {
+				if (params.value > 0) {
+					return params.value.addComma();
+				}else{
+					return '0';
+				}
+			}
+		},		
+		{headerName: "*추가비용",			field: "csAddFee",		width: 100,	cellClass: 'text-right',editable: true,
 			cellEditor: 'textCellEditor',
 			cellEditorParams: { maxlength: 20, validType: "numeric" }
 		},		
-		{headerName: "CS메모",			field: "csMemo",		width: 200,	cellClass: 'text-left',editable: true,
+		{headerName: "*CS메모",			field: "csMemo",		width: 200,	cellClass: 'text-left',editable: true,
 			cellEditor: 'textCellEditor',
 			cellEditorParams: { maxlength: 1000, required: true }
 		},			
@@ -311,7 +320,7 @@
 		if(refreshFlag == "ordDtl"){
 			cfnOpenOrderDetailPopup(currOrdNo);
 		} else if(refreshFlag == "ban"){
-			alert("11");
+
 		} else if(refreshFlag == "change"){
 			
 		}
@@ -323,7 +332,7 @@
 	*  달력 초기화 
 	**************************************************************************/		
 	var fnInitCalendar = function() {
-		cfnChangeCalendar('7d', $('#stDate'), $('#edDate')); //달력 초기화
+		gagajf.setDate('#terms', 'stDate', 'edDate', '7d');
 	}
 	
 	/*************************************************************************

+ 31 - 24
src/main/webapp/WEB-INF/views/withdraw/WmsWithdrawListForm.html

@@ -59,7 +59,7 @@
 							</td>
 							<th class="dashR">입고상태</th>
 							<td class="dashR">
-								<select name="statuscd" id="statuscd">
+								<select name="statuscd" id="statuscd" class="w100">
 									<option value="" selected>전체</option>
 									<option value="입고대기">입고대기</option>
 									<option value="입고완료">입고완료</option>
@@ -67,9 +67,9 @@
 							</td>
 						</tr>
 						<tr>
-							<th class="dashR">반품타입</th>
+							<th class="dashR">반품구분</th>
 							<td class="dashR">
-								<select name="recalltypecd" id="recalltypecd">
+								<select name="recalltypecd" id="recalltypecd" class="w100">
 									<option value="" selected>전체</option>
 									<option value="10">일반</option>
 									<option value="20">교환</option>
@@ -77,7 +77,7 @@
 							</td>
 							<th class="dashR">삭제여부</th>
 							<td colspan="4" class="dashR">
-								<select name="isdeleted" id="isdeleted">
+								<select name="isdeleted" id="isdeleted" class="w100">
 									<option value="">전체</option>
 									<option value="1">Y</option>
 									<option value="0" selected>N</option>
@@ -138,17 +138,18 @@
 	/*************************************************************************
 	* AG-GRID 영역 
 	**************************************************************************/
+	var currOrdNo =0;
 	var uploadGoodsUrl = [[${@environment.getProperty('upload.goods.view')}]]; 
 	var roleCd = [[${sessionInfo.roleCd}]]; 
 
 	var columnDefs = [
-		{headerName: "No.",				field: "rnum",				width: 50,	cellClass: 'text-center'},
+		//{headerName: "No.",				field: "rnum",				width: 50,	cellClass: 'text-center'},
 		{headerName: "반품번호",			field: "recallno", 			width: 50,	cellClass: 'text-center', hide: true},
 		{headerName: "주문변경번호",		field: "orderexceptionno",	width: 100,	cellClass: 'text-center'},
 		{headerName: "주문번호",			field: "orderno",			width: 100,	cellClass: 'text-center',
 			cellRenderer: function (params) {
 				if (roleCd.indexOf("C") < 0) {
-					return "<a href=\"javascript:void(0);\" onclick=\"cfnOpenOrderDetailPopup('" + params.data.orderno + "');\">" + params.data.orderno + "</a>";
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderDetailPopup('" + params.data.orderno + "');\">" + params.data.orderno + "</a>";
 				} else {
 					return params.value;
 				}
@@ -156,7 +157,7 @@
 		},
 		{headerName: "주문상세번호",		field: "orderdtlno",		width: 100,	cellClass: 'text-center'},
 		{headerName: "상태",				field: "statuscd",			width: 100,	cellClass: 'text-center'},
-		{headerName: "반품타입",			field: "recalltypecd",		width: 80,	cellClass: 'text-center',
+		{headerName: "반품구분",			field: "recalltypecd",		width: 80,	cellClass: 'text-center',
 			cellRenderer: function (params) { return params.value == '10' ? '일반' : '교환'; }	
 		},
 		{headerName: "수취인",			field: "receiver",			width: 100,	cellClass: 'text-center'},
@@ -203,6 +204,25 @@
 	//gridOptions.rowSelection = 'multiple';
 	
 	//gridOptions.rowHeight = 35;
+	
+	/*************************************************************************
+	*  주문상세 팝업  
+	**************************************************************************/		
+	var fnOrderDetailPopup = function(ordNo){
+		currOrdNo = ordNo;
+		cfnOpenOrderDetailPopup(currOrdNo);
+	}
+	
+	/*************************************************************************
+	*  팝업 콜백 
+	**************************************************************************/		
+	var fnReOpenOrderDetailPopup = function () {
+		cfnOpenOrderDetailPopup(currOrdNo);
+		fnSearchList();
+	};
+	
+	
+	
 	/*************************************************************************
 	*  조회 버튼 클릭 시
 	**************************************************************************/
@@ -252,24 +272,10 @@
 	*  달력 초기화 
 	**************************************************************************/		
 	var fnInitCalendar = function() {
-		cfnChangeCalendar('7d', $('#stDate'), $('#edDate')); //달력 초기화
+		gagajf.setDate('#terms', 'stDate', 'edDate', '7d');
+		
 	}
 
-	
-	function fnRowSpan(params) {
-		alert("alert");  
-		var orderNo = params.data.orderNo;
-		  alert("orderNo: "+orderNo);
-		  if (orderNo == 18691602) {
-		    // have all Russia age columns width 2
-		    return 2;
-		  } else {
-		    // all other rows should be just normal
-		    return 1;
-		  }
-		}
-	// rowSpan: params => params.data.orderNo === '18692992' ? 2 : 1	
-	
 	/*************************************************************************
 	*  회수예외 처리완료 버튼 - 대기->완료  업데이트
 	**************************************************************************/	
@@ -330,7 +336,8 @@
 	**************************************************************************/		
 	$(document).ready(function() {
 		gagaAgGrid.createGrid('gridList', gridOptions);
-		cfnCreateCalendar('#terms', 'stDate', 'edDate', true, '');
+		var hideList = ["btnThisWeek", "btnYesterWeek", "btnThisMonth", "btnYesterMonth", "btnRecent3Month"];
+		cfnCreateCalendar('#terms', 'stDate', 'edDate', true, '','',  hideList);
 		fnInitCalendar();
 	});