tsit05 5 лет назад
Родитель
Сommit
1bd414d69f

+ 27 - 20
src/main/java/com/style24/persistence/domain/WithdrawExc.java

@@ -28,39 +28,57 @@ public class WithdrawExc extends TscBaseDomain {
 	private String statusCd;           // 처리상태
 	private String dateCreated;        // 등록일자
 	private String customerName;       // 고객명
-	private Integer orderNo;           // 주문번호
-	private Integer orderDtlNo;        // 주문상세번호 
 	private String logisticsName;      // 택배사명
 	private String invoiceNo;          // 반송장번호
 	private String chargeType;         // 요금구분
-	private int chargeAmount;          // 배송비
 	private String userNameCreated;    // 작업자
 	private String reasonCd;           // 예외사유
+	private String reasonCode;         // 예외코드
 	private String brandNm;            // 브랜드명
 	private String productCode;        // 상품코드
 	private String skuCode;            // sku코드
 	private String productName;        // 상품명
 	private String skuValue;           // 속성
 	private String skuModelNo;         // 원코드
-	private int exceptionQty;          // 수량
 	private String siteCd;             // 주문경로
-	private Integer recallExceptionNo; // 반품예외처리번호 
 	private String recallStat;         // 반품대기처리상태 
 	private String goodsCd;            // 상품코드
 	private String adminMemo;          // WMS메시지
+	private String goodsType;				// 상품유형
+	private String csMemo; // cs메모
+
+	
+	private int chargeAmount;          // 요금총액
+	private int exceptionQty;          // 수량
 	private int rnum;
 	private int rowspanCnt;            // rowspan 갯수 
 	private int rowspanRank;           // rowspan 순위 
-	private Integer recallExceptionItemNo;
+	private int qty;
+	private int seq;
+	private int rfPntAmt;	//환원 포인트
+	private int rfPrePntAmt;	//취소 선포인트
+	private int rfGoodsCpnAmt;	//취소 상품쿠폰금액
+	private int rfCartCpnAmt;	//취소 장바구니쿠폰금액
+	private int rfPlusCpnAmt;	//취소 플러스쿠폰금액
+	private int rfSavePntAmt;
+	private int realOrdQty;
+	private int orgRealOrdAmt;
+	private int itemQty;	// 단품수량
+	private int itemPrice;	// 단품단가	
+	private int csEncloseFee; // 추가비용	
+	private int csAddFee;  
 
+	private Integer orderNo;           // 주문번호
+	private Integer orderDtlNo;        // 주문상세번호 
+	private Integer recallExceptionItemNo;
+	private Integer recallExceptionNo; // 반품예외처리번호 
 	
-	// 검색
 	
+	// 검색
 	private String stDate;					// 조회 시작 기간
 	private String edDate;					// 조회 종료 기간
 	
 	
-	
 	private String searchType;				// 조회
 	private String searchText;				// 조회
 
@@ -72,17 +90,6 @@ public class WithdrawExc extends TscBaseDomain {
 	private String delayDtType;				// 회수유형
 	private String goodsInfo;				// 상품정보(상품코드+사이즈코드)
 
-	private int seq;
-	private String goodsType;				// 상품유형
-	private int rfPntAmt;	//환원 포인트
-	private int rfPrePntAmt;	//취소 선포인트
-	private int rfGoodsCpnAmt;	//취소 상품쿠폰금액
-	private int rfCartCpnAmt;	//취소 장바구니쿠폰금액
-	private int rfPlusCpnAmt;	//취소 플러스쿠폰금액
-	private int rfSavePntAmt;
-	private int realOrdQty;
-	private int orgRealOrdAmt;
-	private int itemQty;	// 단품수량
-	private int itemPrice;	// 단품단가
+
 
 }

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

@@ -158,9 +158,11 @@
 		SELECT Z.*
 			, ROW_NUMBER() OVER W AS ROWSPAN_CNT
 	        , ROW_NUMBER() OVER T AS ROWSPAN_RANK
+	        , (SELECT E.EXTMALL_NM FROM TB_EXTMALL E WHERE E.EXTMALL_ID = Z.EXTMALL_ID) AS SITE_CD
 		FROM (
 		    SELECT A.*, ROW_NUMBER() OVER(ORDER BY  A.ORDER_NO, A.RECALL_EXCEPTION_NO, A.RECALL_EXCEPTION_ITEM_NO)  RNUM 
-		    FROM (
+		          , CASE WHEN A.MALL_GB = 'G011_20' THEN (SELECT MAX(BB.EXTMALL_ID) FROM TB_ORDER_DETAIL BB WHERE BB.ORD_NO = A.ORDER_NO) ELSE 'APISHOP_0054' END AS EXTMALL_ID
+		    FROM (   
 				SELECT A.* 
 				  FROM (
 						SELECT 
@@ -184,16 +186,18 @@
 							, B.PRODUCT_NAME   -- 상품명
 							, B.SKU_VALUE      -- 속성
 							, C.SKU_MODEL_NO   -- 원코드
-							, B.EXCEPTION_QTY  -- 수량
-							, O.SITE_CD        -- 주문경로
+							, B.EXCEPTION_QTY  -- 수량 
 							, A.RECALL_EXCEPTION_NO -- 반품예외처리번호 
 							, IFNULL(C.GOODS_CD,'') AS GOODS_CD       -- 상품코드 
 							, B.RECALL_EXCEPTION_ITEM_NO 
+							, B.QTY
+							, B.REASON_CODE
+							, O.MALL_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 
 						  LEFT JOIN TB_OPTION C ON C.OPT_CD = B.SKU_CODE
-						  WHERE B.REASON_CD NOT IN('확정 전 품절(재고없음)','확정 전 불량')
+						  WHERE B.REASON_CODE NOT IN('08','10')
 							<if test='customerName != null and customerName != ""'>
 							AND   A.CUSTOMER_NAME = #{customerName}
 							</if>
@@ -222,6 +226,8 @@
 		UPDATE TB_ORDER_RECALL_EXCEPTION SET
 		  RECALL_STAT = #{recallStat}
 		, RECALL_STAT_DT = NOW()
+		, CS_ADD_FEE     = #{csAddFee}
+		, CS_MEMO        = #{csMemo}
 		WHERE RECALL_EXCEPTION_NO = #{recallExceptionNo}
 
 	</update>

+ 58 - 14
src/main/webapp/WEB-INF/views/withdraw/WithdrawExceptionListForm.html

@@ -93,7 +93,8 @@
 					검색결과 : <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="20" selected="selected">10개씩 보기</option>
+						<option value="20">20개씩 보기</option>
 						<option value="50">50개씩 보기</option>
 						<option value="100">100개씩 보기</option>
 						<option value="500">500개씩 보기</option>
@@ -102,7 +103,7 @@
 					<input type="hidden" name="pageNo" id="pageNo" value ="1"/>
 				</li>
 			</ul>
-			<div id="gridList" style="width:100%; height: 700px;" class="ag-theme-balham"></div>
+			<div id="gridList" style="width:100%; height: 500px;" class="ag-theme-balham"></div>
 			<ul class="panelBar">
 				<li class="center">
 					<div class="tablePaging" id="withdrawExceptionListPagination"></div>
@@ -132,13 +133,13 @@
 			cellRenderer: function(params) {
 				var btnText = '';
 				if(params.data.recallStat === 'P') {
-					btnText= '<a href="javascript:void(0);"  onclick="fnComplete(\''+params.data.recallExceptionNo+'\')" 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: 200,	cellClass: 'text-center', rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,  
+		{headerName: "주문번호",			field: "orderNo",			width: 100,	cellClass: 'text-center', rowSpan: params => params.data.rowspanRank === 1 ? params.data.rowspanCnt : 1,  
 		    cellClassRules: {
 		        'cell-span': "data.rowspanRank == 1"
 		      },
@@ -150,13 +151,12 @@
 				return params.value;
 			}
 			}
-	
 		},
 		{headerName: "주문자명",			field: "customerName",		width: 100,	cellClass: 'text-center'},
-		{headerName: "택배사명",			field: "logisticsName",		width: 100,	cellClass: 'text-center'},
-		{headerName: "반송장번호",			field: "invoiceNo",			width: 120,	cellClass: 'text-center'},
+		{headerName: "예외사유",			field: "reasonCd",			width: 150,	cellClass: 'text-center'},
+		{headerName: "WMS메시지",			field: "adminMemo",			width: 300,	cellClass: 'text-left'},
 		{headerName: "요금구분",			field: "chargeType",		width: 80,	cellClass: 'text-center'},
-		{headerName: "배송비",			field: "chargeAmount",		width: 100,	cellClass: 'text-right'
+		{headerName: "동봉비",			field: "chargeAmount",		width: 100,	cellClass: 'text-right'
 			,valueFormatter: function(params) {
 				if (params.value > 0) {
 					return params.value.addComma();
@@ -165,9 +165,16 @@
 				}
 			}
 		},
+		{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,
+			cellEditor: 'textCellEditor',
+			cellEditorParams: { maxlength: 1000, required: true }
+		},			
 		{headerName: "작업자",			field: "userNameCreated",	width: 100,	cellClass: 'text-center'},
-		{headerName: "예외사유",			field: "reasonCd",			width: 150,	cellClass: 'text-center'},
-		{headerName: "WMS메시지",			field: "adminMemo",			width: 300,	cellClass: 'text-left'},
+
 		{headerName: "브랜드명",			field: "brandNm",			width: 150,	cellClass: 'text-center'},
 		{headerName: "상품코드",			field: "productCode",		width: 100,	cellClass: 'text-center',
 			cellRenderer: function (params) {
@@ -176,13 +183,16 @@
 				} else {
 					return params.value;
 				}
-			}				
+			}
 		},
 		{headerName: "SKU코드",			field: "skuCode",			width: 100,	cellClass: 'text-center'},
 		{headerName: "상품명",			field: "productName",		width: 200,	cellClass: 'text-left'},
 		{headerName: "속성",		    	field: "skuValue",			width: 80,	cellClass: 'text-center'},
 		{headerName: "원코드",			field: "skuModelNo",		width: 150,	cellClass: 'text-left'},
-		{headerName: "수량",				field: "exceptionQty",		width: 80,	cellClass: 'text-right'},
+		{headerName: "주문수량",			field: "qty",				width: 80,	cellClass: 'text-right'},
+		{headerName: "입고수량",			field: "exceptionQty",		width: 80,	cellClass: 'text-right'},
+		{headerName: "택배사명",			field: "logisticsName",		width: 100,	cellClass: 'text-center'},
+		{headerName: "반송장번호",			field: "invoiceNo",			width: 120,	cellClass: 'text-center'},
 		{headerName: "주문경로",			field: "siteCd",			width: 100,	cellClass: 'text-left'},
 		{headerName: "등록일시",			field: "dateCreated",		width: 150,	cellClass: 'text-center'}
 		
@@ -190,6 +200,10 @@
 
 	var gridOptions = gagaAgGrid.getGridOptions(columnDefs);
 	gridOptions.suppressRowTransform =true;
+	//gridOptions.defaultColDef.editable = true;
+	//gridOptions.columnDefs[9].cellEditor=true;
+	//gridOptions.columnDefs[10].cellEditor=true;
+	
 	//gridOptions.rowSelection = 'multiple';
 	
 	gridOptions.rowHeight = 35;
@@ -248,9 +262,39 @@
 	/*************************************************************************
 	*  회수예외 처리완료 버튼 - 대기->완료  업데이트
 	**************************************************************************/	
-	var fnComplete = function(recallExceptionNo) {
+	gridOptions.onCellClicked = function(event) {
+		
+		if (event.colDef.field == 'recallStat'){
+			if(event.data.recallStat == "P" && event.data.rowspanRank == "1"){
+				var params = {};
+				params.recallExceptionNo = event.data.recallExceptionNo;
+				params.csAddFee = event.data.csAddFee;
+				params.csMemo = event.data.csMemo;
+				
+				mcxDialog.confirm('처리완료 하시겠습니까?', {
+					cancelBtnText: "취소",
+					sureBtnText: "확인",
+					sureBtnClick: function(){
+						var jsonData = JSON.stringify(params);
+						gagajf.ajaxJsonSubmit('/withdraw/exception/complete', jsonData, fnCompleteCallback);
+					}
+				});
+			}
+		}
+	}
+	/*
+	var fnComplete = function(recallExceptionNo,csAddFee,csMemo) {
 		var params = {};
 		params.recallExceptionNo = recallExceptionNo;
+		params.csAddFee = csAddFee;
+		params.csMemo = csMemo;
+		
+		
+		alert("recallExceptionNo:"+recallExceptionNo);
+		alert("csAddFee: "+csAddFee);
+		alert("csMemo: "+csMemo);
+		
+		return;
 		mcxDialog.confirm('처리완료 하시겠습니까?', {
 			cancelBtnText: "취소",
 			sureBtnText: "확인",
@@ -260,7 +304,7 @@
 			}
 		});
 	};
-	
+	*/
 	/*************************************************************************
 	*  회수예외 처리완료 콜백
 	**************************************************************************/