tsit05 4 年 前
コミット
2dc9bef631

+ 7 - 4
src/main/java/com/style24/persistence/mybatis/shop/TsaWithdraw.xml

@@ -183,7 +183,7 @@
 	        , (SELECT E.EXTMALL_NM FROM TB_EXTMALL E WHERE E.EXTMALL_ID = Z.EXTMALL_ID) AS SITE_CD
 	        , CASE WHEN Z.CHG_GB = 'G680_30' THEN FN_GET_CODE_NM('G688', Z.CHG_REASON)
 			       WHEN Z.CHG_GB = 'G680_40' THEN FN_GET_CODE_NM('G689', Z.CHG_REASON)   ELSE '' END AS CHG_REASON_NM  
-			, IFNULL(FN_GET_CODE_NM('G680', Z.CHG_GB),'출고예외') AS CHG_GB_NM
+			, CASE WHEN Z.CHG_GB = 'EXC' THEN '출고예외'  ELSE IFNULL(FN_GET_CODE_NM('G680', Z.CHG_GB),'회수예외') END  AS CHG_GB_NM
 			, (SELECT CHG_STAT FROM TB_ORDER_CHANGE_DETAIL C WHERE C.ORD_DTL_NO = Z.ORDER_DTL_NO AND C.DEL_YN = 'N' AND C.ORD_CHG_SQ = Z.ORD_CHG_SQ) AS CHG_STAT
 			, (SELECT D.DELV_FEE_CD FROM TB_ORDER_DETAIL D WHERE D.ORD_DTL_NO = Z.ORDER_DTL_NO ) AS DELV_FEE_CD
 		FROM (
@@ -229,7 +229,7 @@
 							, NULL   AS ORD_CHG_SQ 
 							, NULL   AS WD_GB 
 							, NULL   AS CHG_REASON
-							, NULL   AS CHG_GB 
+							, 'EXC'  AS CHG_GB 
 						  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 
@@ -302,7 +302,7 @@
 						  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 
 						  LEFT JOIN TB_OPTION C ON C.OPT_CD = B.SKU_CODE
-						  LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL  CD ON B.ORDER_DTL_NO = CD.ORD_DTL_NO AND CD.DEL_YN ='N'
+						  LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL  CD ON B.ORDER_DTL_NO = CD.ORD_DTL_NO AND CD.DEL_YN ='N' AND A.ORDER_EXCEPTION_NO = CD.ORD_CHG_SQ 
 						  LEFT OUTER JOIN TB_ORDER_CHANGE         OC ON CD.ORD_CHG_SQ = OC.ORD_CHG_SQ 						  
 						  WHERE B.REASON_CODE IN('00','01','02','03','04','05','06','15')
 							<if test='customerName != null and customerName != ""'>
@@ -329,12 +329,15 @@
 							</if>
 				) A
 				WHERE 1=1
-				<if test='chgGb != null and chgGb != "" and chgGb !="G680"'>
+				<if test='chgGb != null and chgGb != "" and chgGb !="G680" and chgGb !="G680_00"'>
 				AND A.CHG_GB  = #{chgGb}
 				</if>
 				<if test='chgGb =="G680"'>
 				AND A.CHG_GB  IS NULL
 				</if>
+				<if test='chgGb =="G680_00"'>
+				AND A.CHG_GB = 'EXC'
+				</if>				
 				ORDER BY A.ORDER_NO, A.RECALL_EXCEPTION_NO, A.RECALL_EXCEPTION_ITEM_NO
 	<include refid="getListPagingCondition_sql"/> 
 	      WINDOW W AS (PARTITION BY ORDER_NO ORDER BY ORDER_NO , RECALL_EXCEPTION_ITEM_NO ), T AS (PARTITION BY ORDER_NO ORDER BY ORDER_NO , RECALL_EXCEPTION_ITEM_NO desc), S AS (PARTITION BY ORDER_NO, ORDER_DTL_NO ORDER BY ORDER_NO ,  ORDER_DTL_NO, RECALL_EXCEPTION_ITEM_NO DESC ), C AS (PARTITION BY ORDER_NO, ORDER_DTL_NO ORDER BY ORDER_NO, ORDER_DTL_NO)

+ 123 - 41
src/main/webapp/WEB-INF/views/withdraw/WithdrawExceptionListForm.html

@@ -78,7 +78,8 @@
 							<td class="dashR">
 								<select name="chgGb" id="chgGb" class="w40p">
 									<option value="">전체</option>
-									<option value="G680">출고예외</option>
+									<option value="G680">회수예외</option>
+									<option value="G680_00">출고예외</option>
 									<option value="G680_30">반품요청</option>
 									<option value="G680_40">교환요청</option>
 								</select>
@@ -151,28 +152,49 @@
 	var columnDefs = [
 		{headerName: "반품예외처리번호",		field: "recallExceptionNo", width: 50,	cellClass: 'text-center', hide: true},
 		//{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,  
+		{headerName: "",			field: "recallStat",		width: 100,	cellClass: 'text-center',
+			/*
+			rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,  
 		    cellClassRules: {
 		        'cell-span': "data.rowspanRank == 1"
-		      },
+		      }, */
 			cellRenderer: function(params) {
 				var btnText = '';
 				if(params.data.recallStat == 'P') {
 					if(params.data.chgStat == 'G685_21' || params.data.chgStat == 'G685_51'){
 						btnText= '추가결제대기';
 					} else {
-						btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">대기</a>';
+						btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">완료</a>';
 					}
 				} else { btnText = '완료' }
 				return btnText;
 			}			
 		},
-		
-		{headerName: "주문번호",			field: "orderNo",			width: 100,	cellClass: 'text-center', rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,  
+		{headerName: "처리상태",			field: "recallStat",		width: 80,	cellClass: 'text-center',
+			/*
+			rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,  
+			    cellClassRules: {
+			        'cell-span': "data.rowspanRank == 1"
+			      }, */
+				cellRenderer: function(params) {
+					var btnText = '';
+					if(params.data.recallStat == 'P') {
+						if(params.data.chgStat == 'G685_21' || params.data.chgStat == 'G685_51'){
+							btnText= '추가결제대기';
+						} else {
+							btnText= '대기';
+						}
+					} else { btnText = '완료' }
+					return btnText;
+				}			
+			},		
+		{headerName: "주문번호",			field: "orderNo",			width: 100,	cellClass: 'text-center', 
+			/*
+			rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,  
 		    cellClassRules: {
 		        'cell-span': "data.rowspanRank == 1"
 		      },
-			
+			*/
 			cellRenderer: function (params) {
 			if (roleCd.indexOf("C") < 0) {
 				
@@ -183,11 +205,14 @@
 			}
 		},
 		
-		{headerName: "주문변경번호",			field: "ordChgSq",			width: 100,	cellClass: 'text-center', rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,  
+		{headerName: "주문변경번호",			field: "ordChgSq",			width: 100,	cellClass: 'text-center', 
+			
+			/*
+			rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,  
 			    cellClassRules: {
 			        'cell-span': "data.rowspanRank == 1"
 			      },
-				
+			*/	
 				cellRenderer	: function(params) {
 					var rtnStr = "";
 					
@@ -220,28 +245,50 @@
 				return '<button type="button" class="btn btn-base btn-sm" onclick="fnLms(\'' + params.data.ordPhnno + '\',\'' + params.data.custNo + '\');">&nbsp;LMS&nbsp;</button>';
 			}			
 		},
+		{headerName: "회수요청구분",		field: "chgGbNm",			width: 90,	cellClass: 'text-left'},
 		{headerName: "예외사유",			field: "reasonCd",			width: 150,	cellClass: 'text-center'},
 		{headerName: "WMS메시지",		field: "adminMemo",			width: 300,	cellClass: 'text-left'},
-		{headerName: "회수요청구분",		field: "chgGbNm",			width: 90,	cellClass: 'text-left'},
 		{headerName: "반품교환사유",		field: "chgReasonNm",		width: 150,	cellClass: 'text-left'},
 		{headerName: "네이버 주문형",		field: "payGb",				width: 100,	cellClass: 'text-center'},
-		{headerName: "반품/사유변경",	field: "chgReason",			width: 120,	cellClass: 'text-center',rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,  
+		{headerName: "반품/사유변경",	field: "chgReason",			width: 120,	cellClass: 'text-center',
+			/*
+			rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,  
 			    cellClassRules: {
 			        'cell-span': "data.rowspanRank == 1"
-			      },
+			      }, */
 				cellRenderer: function(params) {
 					var btnText = '';
 					if(params.data.recallStat === 'P' && params.data.chgStat != null) {
-						if(params.data.reasonCode == '02'){ // 미착 
+						
+						if(params.data.reasonCode == '00'){ // 타택배착불
+							btnText = '';
+						} else if(params.data.reasonCode == '01'){ // 반품미접수
+							if(params.data.chgGb == 'G680_30'){
+								btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">반품신청</a>';
+							} else {
+								btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">교환신청</a>';
+							}
+						}else if(params.data.reasonCode == '02'){ // 미착 
 							if(params.data.chgGb == 'G680_30'){
 								btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">반품변경</a>';
 							}else if(params.data.chgGb == 'G680_40'){
 								btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">교환변경</a>';
 							}
+						} else if(params.data.reasonCode == '03'){ // 과착 
+							if(params.data.chgGb == 'G680_30'){
+								btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">반품신청</a>';
+							} else {
+								btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">교환신청</a>';
+							}
+						} else if(params.data.reasonCode == '04' ){ // 배송비 미동봉 
+							btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">사유변경</a>';
+						} else if(params.data.reasonCode == '06'){ // 배송비 일부동봉
+							btnText= '';
+						} else if(params.data.reasonCode == '05'){ // 다른상품 반품
+							btnText= '';
 						} else {
-							btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">사유변경</a>';	
+							btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">사유변경</a>';
 						}
-						
 					} else if(params.data.recallStat === 'P' && params.data.chgStat == null){
 						btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">반품신청</a>';
 					} else { btnText = '' }
@@ -413,8 +460,38 @@
 			}
 		} else if(event.colDef.field == 'chgReason'){
 			if(event.data.recallStat == "P" && event.data.rowspanRank == "1" && event.data.chgStat != null){
-				
-				if (event.data.reasonCode == '02') { // 미착 
+				if (event.data.reasonCode == '00'){
+					
+				} else if(event.data.reasonCode == '01'){ // 반품미접수 
+					
+					if (event.data.chgGb == 'G680_30') { // 반품요청
+						refreshFlag  = "ban";
+						var ordChgSq = 0;
+						var param    = "";
+						var ordDtlNoList ="";
+						
+						var allData =  gagaAgGrid.getAllRowData(gridOptions);
+
+						allData.forEach(function(item, index) {
+							if (event.data.orderNo == item.orderNo ){
+								ordDtlNoList = ordDtlNoList+","+item.orderDtlNo;
+							}
+						});
+						ordDtlNoList = ordDtlNoList.substring(1,ordDtlNoList.length);
+						
+						param += "&ordNo=" 			+ event.data.orderNo;
+						param += "&ordDtlNo=" 		+ event.data.orderDtlNo;
+						param += "&delvFeeCd="		+ event.data.delvFeeCd;
+						param += "&delvFeeCdGrp="	+ "WMS";
+						param += "&ordChgSq=" 		+ ordChgSq;
+						param += "&ordDtlNoArr=" 	+ ordDtlNoList.split(",");
+
+						var actionUrl = "/orderChange/rtn/req/form?" + param;
+						cfnOpenModalPopup(actionUrl, 'popupReturnRequestForm');
+					}
+
+					
+				} else if (event.data.reasonCode == '02') { // 미착 
 					param += "&ordNo=" 			+ event.data.orderNo;
 					param += "&ordDtlNo=" 		+ event.data.orderDtlNo;
 					param += "&ordChgSq=" 		+ event.data.ordChgSq;
@@ -432,35 +509,40 @@
 						
 						cfnOpenModalPopup(actionUrl, 'popupExchangeRequestForm');
 					}
-				} else if(event.data.reasonCode == '01' || event.data.reasonCode == '03' ){
-/* 					var ordChgSq = 0;
-					var param    = "";
-					var ordDtlNoList ="";
-					
-					var allData =  gagaAgGrid.getAllRowData(gridOptions);
+				} else if(event.data.reasonCode == '03' ){ // 과착 
+					if (event.data.chgGb == 'G680_30') { // 반품요청
 
-					allData.forEach(function(item, index) {
-						if (event.data.orderNo == item.orderNo ){
-							ordDtlNoList = ordDtlNoList+","+item.orderDtlNo;
-						}
-					});
-					ordDtlNoList = ordDtlNoList.substring(1,ordDtlNoList.length);
-					
+						var param 		= "";
+						param += "&ordNo=" 			+ event.data.orderNo;
+						param += "&ordDtlNo=" 		+ event.data.orderDtlNo;
+						param += "&delvFeeCd="		+ event.data.delvFeeCd;
+						param += "&delvFeeCdGrp="	+ "WMS";
+						
+						param += "&ordChgSq=" 		+ event.data.ordChgSq;
+						var actionUrl = "/orderChange/rtn/req/form?" + param;
+						cfnOpenModalPopup(actionUrl, 'popupReturnRequestForm');
 					
+					} else if (event.data.chgGb == 'G680_40') { // 교환요청
+						
+						var param 		= "";
+						param += "&ordNo=" 			+ event.data.orderNo;
+						param += "&ordDtlNo=" 		+ event.data.orderDtlNo;
+						param += "&delvFeeCd="		+ event.data.delvFeeCd;
+						param += "&delvFeeCdGrp="	+ "WMS";
+						param += "&ordChgSq=" 		+ event.data.ordChgSq;
+						
+						var actionUrl = "/orderChange/exchange/request/form?" + param;
+						cfnOpenModalPopup(actionUrl, 'popupExchangeRequestForm');
+					}
+				} else if(event.data.reasonCode == '04'){ // 배송비 미동봉
+					actionUrl = "/withdraw/exception/change/form?ordChgSq=" + event.data.ordChgSq + '&chgGb=' + event.data.chgGb;
+					cfnOpenModalPopup(actionUrl, 'popupWithdrawChangeForm');
+				} else if(event.data.reasonCode == '05'){ // 다른상품 반품 
 					
-					param += "&ordNo=" 			+ event.data.orderNo;
-					param += "&ordDtlNo=" 		+ event.data.orderDtlNo;
-					param += "&delvFeeCd="		+ event.data.delvFeeCd;
-					param += "&delvFeeCdGrp="	+ "WMS";
-					param += "&ordChgSq=" 		+ ordChgSq;
-					//param += "&ordDtlNoArr=" 	+ ordDtlNoList.split(",");
+				} else if(event.data.reasonCode == '06'){ // 배송비 일부동봉
 					
-					var actionUrl = "/orderChange/rtn/req/form?" + param;
-					cfnOpenModalPopup(actionUrl, 'popupReturnRequestForm');
-					 */
 				} else {
-					actionUrl = "/withdraw/exception/change/form?ordChgSq=" + event.data.ordChgSq + '&chgGb=' + event.data.chgGb;
-					cfnOpenModalPopup(actionUrl, 'popupWithdrawChangeForm');
+					
 				}
 				
 			} else if(event.data.recallStat == "P" && event.data.rowspanRank == "1" && event.data.chgStat == null){