소스 검색

현업리뷰후수정사항배포

tsit14 4 년 전
부모
커밋
dcc0b6aace

+ 25 - 0
src/main/java/com/style24/admin/biz/web/TsaOrderController.java

@@ -7,6 +7,7 @@ import java.util.Collection;
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.core.io.InputStreamResource;
@@ -67,6 +68,9 @@ public class TsaOrderController extends TsaBaseController {
 	
 	@Autowired
 	private TsaPgService pgService;
+	
+	@Autowired
+	private ObjectMapper mapper;
 
 	/**
 	 * 주문목록조회
@@ -122,6 +126,27 @@ public class TsaOrderController extends TsaBaseController {
 				order.getMultiOrdStat()[i] = ordStat;
 			}
 		}
+		
+		// 2021.07.13 업체,브랜드 검색방법 변경
+		if (!StringUtils.isBlank(order.getBrandList())) {
+			try {
+				String[] arrBrandCd = mapper.readValue(order.getBrandList(), String[].class);
+				order.setMultiBrand(arrBrandCd);
+			} catch (Exception e) {
+				e.printStackTrace();
+				throw new IllegalStateException("브랜드코드 검색중 오류로 인해 조회되지 않았습니다.");
+			}
+		}
+
+		if (!StringUtils.isBlank(order.getSupplyCompList())) {
+			try {
+				String[] arrSupplyComp = mapper.readValue(order.getSupplyCompList(), String[].class);
+				order.setMultiSupplyCompCd(arrSupplyComp);
+			} catch (Exception e) {
+				e.printStackTrace();
+				throw new IllegalStateException("업체코드 검색중 오류로 인해 조회되지 않았습니다.");
+			}
+		}
 
 		// 주문전체건수 조회
 		int totalCount = orderService.getOrderListCount(order);

+ 9 - 40
src/main/webapp/WEB-INF/views/order/OrderDetailForm.html

@@ -129,7 +129,14 @@
 					<h4>환불정보</h4>
 					<div id="gridOrderRefundInfo" style="width:100%; height: 100px;" class="ag-theme-balham"></div>
 				</div>
-
+				
+				<div>
+					<h4>관리자메모</h4>
+					<button type="button" id="btnCreateOrderMemo" class="btn btnRight btn-base btn-sm" style="margin-left:10px;"> +</button>
+					<div id="gridOrderMemoInfo" style="width:100%; height: 100px;" class="ag-theme-balham"></div>
+				</div>
+				
+				<!-- 
 				<table style="width:100%;">
 					<colgroup>
 						<col style="width:65%;"/>
@@ -149,6 +156,7 @@
 						</tr>
 					</tbody>
 				</table>
+				 -->
 				
 			</form>
 		</div>
@@ -907,42 +915,6 @@ var columnDefsRefundInfo = [
 ];
 var gridOptionsRefundInfo = gagaAgGrid.getGridOptions(columnDefsRefundInfo);
 
-// 8.상담내역
-var columnDefsOrderCounselInfo = [
-	{headerName: "상담구분"		, field: "counselClsfNm"	, width: 120	, cellClass: 'text-center'},
-	{headerName: "상품코드"		, field: "goodsCd"			, width: 120	, cellClass: 'text-center'},
-	{
-		headerName		: "질문제목"
-		, field			: "questTitle"
-		, width			: 250
-		, cellClass		: 'text-center'
-		, cellRenderer	: function (params) {
-			return '<a href="javascript:void(0);" onclick="cfnOpenOneToOneAskDetailPopup(\'' + params.data.counselSq + '\')">' + params.value + '</a>';
-		}
-	},
-	{
-		headerName		: "등록일"			
-		, field			: "questDt"	
-		, width			: 120	
-		, cellClass		: 'text-center'
-		, cellRenderer	: function(params) {
-			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
-		}
-	},
-	{
-		headerName		: "답변일"			
-		, field			: "ansDt"	
-		, width			: 120	
-		, cellClass		: 'text-center'
-		, cellRenderer	: function(params) {
-			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
-		}
-	},
-	{headerName: "답변자"			, field: "ansNm"	, width: 80		, cellClass: 'text-center'},
-	{headerName: "삭제여부"		, field: "delYn"	, width: 80		, cellClass: 'text-center'}
-];
-var gridOptionsOrderCounselInfo = gagaAgGrid.getGridOptions(columnDefsOrderCounselInfo);
-
 // 9.주문메모
 var columnDefsOrderMemoInfo = [
 	{headerName: "등록일시"		, field: "regDt"	, width: 135	, cellClass: 'text-center'},
@@ -1024,7 +996,6 @@ $(document).ready(function () {
 	gagaAgGrid.createGrid('gridDeliveryFeeInfo'				, gridOptionsDeliveryFeeInfo);		// 배송비정보
 	gagaAgGrid.createGrid('gridOrderChangeInfo'				, gridOptionsOrderChangeInfo);		// 취소/반품/교환 요청 정보
 	gagaAgGrid.createGrid('gridOrderRefundInfo'				, gridOptionsRefundInfo);			// 환불정보
-	gagaAgGrid.createGrid('gridOrderCounselInfo'			, gridOptionsOrderCounselInfo);		// 상담내역
 	gagaAgGrid.createGrid('gridOrderMemoInfo'				, gridOptionsOrderMemoInfo);		// 관리자메모
 	
 	// 2. 그리드 데이터 바인딩
@@ -1035,7 +1006,6 @@ $(document).ready(function () {
 	gridOptionsDeliveryFeeInfo.api.setRowData(orderDeliveryFeeInfo);				// 배송비정보
 	gridOptionsOrderChangeInfo.api.setRowData(orderChangeInfo);						// 취소/반품/교환요청 정보
 	gridOptionsRefundInfo.api.setRowData(orderRefundInfo);							// 환불정보
-	gridOptionsOrderCounselInfo.api.setRowData(orderCounselInfo);					// 상담내역
 	gridOptionsOrderMemoInfo.api.setRowData(orderAdminMemoInfo);					// 관리자메모
 	
 	// 2.1 TOTAL ROWS 없애기
@@ -1046,7 +1016,6 @@ $(document).ready(function () {
 	gagaAgGrid.hideStatusBar('gridDeliveryFeeInfo');
 	gagaAgGrid.hideStatusBar('gridOrderChangeInfo');
 	gagaAgGrid.hideStatusBar('gridOrderRefundInfo');
-	gagaAgGrid.hideStatusBar('gridOrderCounselInfo');
 	gagaAgGrid.hideStatusBar('gridOrderMemoInfo');
 	
 	// 3. 그리드 높이 설정

+ 92 - 51
src/main/webapp/WEB-INF/views/order/OrderListForm.html

@@ -78,15 +78,19 @@
 										th:text="|[${oneData.cd}] ${oneData.cdNm}|"></option>
 							</select>
 						</td>
-						<th>업체/브랜드<em class="required" title="필수"></em></th>
-						<td colspan="3">
-							<label class="rdoBtn"><input type="radio" name="selfYn" id="selfYnY" value="Y"  checked/>자사</label>
-							<label class="rdoBtn"><input type="radio" name="selfYn" id="selfYnN" value="N"/>입점</label>
-							<select name="supplyCompCd" id="supplyCompCd">
-								<option value="" th:if="${sessionInfo.roleCd} != 'G001_B000'">[전체]</option>
-								<option th:if="${supplyCompList}" th:each="oneData, status : ${supplyCompList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
-							</select>
-							<span id="multiBrand"></span>
+						<th>업체</th>
+						<td>
+							<input type="text" class="w100" name="supplyCompSearchTxt" id="supplyCompSearchTxt" maxlength="20" />
+							<button type="button" class="btn icn" id="btnSearchSupplyComp"><i class="fa fa-search"></i></button>
+							<span id="supplyCompText"></span>
+							<input type="hidden" name="supplyCompList"/>
+						</td>
+						<th>브랜드</th>
+						<td>
+							<input type="text" class="w100" name="searchTxt" id="searchTxt" maxlength="20" />
+							<button type="button" class="btn icn" id="btnSearchBrand"><i class="fa fa-search"></i></button>
+							<span id="brandText"></span>
+							<input type="hidden" name="brandList"/>
 						</td>
 					</tr>
 					<tr>
@@ -151,7 +155,7 @@
 							</select>
 						</td>
 						<th>변경요청처리상태</th>
-						<td colspan="3">
+						<td>
 							<select name="chgStat">
 								<option value="">[전체]</option>
 								<option value="9999">[품절취소]</option>
@@ -159,6 +163,10 @@
 										th:text="|[${oneData.cd}] ${oneData.cdNm}|"></option>
 							</select>
 						</td>
+						<th>상품코드</th>
+						<td>
+							<input type="text" name="goodsCd" placeholder="" maxlength="20"/>
+						</td>
 					</tr>
 					<tr>
 						<th>주문자명</th>
@@ -174,12 +182,6 @@
 							<input type="text" name="orderPhnno" placeholder="" maxlength="20"/>
 						</td>
 					</tr>
-					<tr>
-						<th>상품코드</th>
-						<td colspan="5">
-							<input type="text" name="goodsCd" placeholder="" maxlength="20"/>
-						</td>
-					</tr>
 					<tr>
 						<th>수취인명</th>
 						<td>
@@ -225,7 +227,9 @@
 			<ul class="panelBar">
 				<li>
 					<button type="button" class="btn btn-info btn-lg" onclick="fnOrderExcelList();">엑셀다운로드</button>
+					<!-- 
 					<button type="button" class="btn btn-info btn-lg" th:if="${userNo == 8 or userNo == 14 or userNo == 11}" onclick="fnCreateSampleOrder();">주문생성</button>
+					 -->
 				</li>
 				<li class="aR">
 					검색결과 : <strong><span id="rowCntOrderList">0</span> 건</strong>&nbsp;
@@ -292,7 +296,7 @@ var columnDefsOrderList = [
 	},
 	{
 		headerName		: "주문자"
-		, field			: "ordNm"
+		, field			: "maskingOrdNm"
 		, width			: 140
 		, cellClass		: 'text-left'
 		, sortable		: true
@@ -310,9 +314,9 @@ var columnDefsOrderList = [
 			}
 		}
 	},
-	{headerName: "고객고유번호", field: "custNo"		, width: 120, cellClass: 'text-center', hide: true},
-	{headerName: "외부몰"		, field: "extmallNm"	, width: 100, cellClass: 'text-center', sortable: true},
-	{headerName: "휴대폰번호"	, field: "orderPhnno"	, width: 120, cellClass: 'text-center', hide: true},
+	{headerName: "고객고유번호", field: "custNo"				, width: 120, cellClass: 'text-center', hide: true},
+	{headerName: "외부몰"		, field: "extmallNm"			, width: 100, cellClass: 'text-center', sortable: true},
+	{headerName: "휴대폰번호"	, field: "maskingOrderPhnno"	, width: 120, cellClass: 'text-center', hide: true},
 	{
 		headerName		: "사이트"
 		, field			: "siteCd"
@@ -399,7 +403,7 @@ var columnDefsOrderList = [
 		}
 	},
 	{headerName: "외부몰주문번호"	, field: "extmallOrderId"	, width: 120, cellClass: 'textFormat', sortable: true},
-	{headerName: "에이전트주문번호"	, field: "agentOrderId"		, width: 120, cellClass: 'textFormat', sortable: true},
+	{headerName: "샵링커주문번호"	, field: "agentOrderId"		, width: 120, cellClass: 'textFormat', sortable: true},
 	{
 		headerName		: "주문수량"
 		, field			: "ordQty"
@@ -483,36 +487,7 @@ var columnDefsOrderList = [
 		, valueGetter: function (params) { 
 			return gagaAgGrid.toDateTimeFormat(params.data.delvStDt); 
 		}
-	},
-	{headerName: "품절여부"		, field: "soldoutYn"	, width: 90		, cellClass: 'text-center', sortable: true},
-	{headerName: "품절메모"		, field: "soldoutMemo"	, width: 120	, cellClass: 'text-left'},
-	{
-		headerName		: "품절일시"
-		, field			: "soldoutRegDt"
-		, width			: 150
-		, cellClass		: 'text-center'
-		, valueGetter	: function (params) { 
-			return gagaAgGrid.toDateTimeFormat(params.data.soldoutRegDt); 
-		}
-	},
-	{headerName: "품절처리자", field: "soldoutRegId", width: 120, cellClass: 'text-center'},
-	{headerName: "수취인명"		, field: "recipNm"				, width: 100, cellClass: 'text-center'},
-	{headerName: "수취인연락처"		, field: "recipPhnno"			, width: 120, cellClass: 'text-center'},
-	{headerName: "수취인주소"		, field: "recipAddr"			, width: 400, cellClass: 'text-left'},
-	{
-		headerName		: "배송메모"
-		, field			: "delvMemo"
-		, width			: 200
-		, cellClass		: 'left'
-		, valueGetter: function (params) {
-			var delvMemo = '';
-			if (!gagajf.isNull(params.data.delvMemo)) {
-				delvMemo = fnRemoveEmojis(params.data.delvMemo);
-			}
-			return delvMemo;
-		}
-	},
-	{headerName: "출고메모", field: "dstrbtNote", width: 200, cellClass: 'left'}
+	}
 ];
 
 var gridOptionsOrderList = gagaAgGrid.getGridOptions(columnDefsOrderList);
@@ -582,6 +557,10 @@ var fnExcelUpoadCallback = function (data) {
 $('#btnInit').on('click', function() {
 	$('#searchForm')[0].reset();
 	$("#multiBrand").empty();
+	$("#searchForm #supplyCompText").text("");
+	$("#searchForm #supplyCompText").text();
+	$('#searchForm input[name=brandText]').val('');
+	$('#searchForm input[name=supplyCompList]').val('');
 });
 
 // 엑셀 다운로드
@@ -666,6 +645,68 @@ $('#searchForm input[name=orderPhnno], #searchForm input[name=condition]').on('k
 $('#searchForm input[name=orderPhnno]').on('input keyup keydown paste change', function () {
 	cfnCellPhonnHypen(this);
 });
+
+//2021.07.13 업체,브랜드 검색방법 변경
+// 업체 조회 선택시
+$('#btnSearchSupplyComp').on('click', function() {
+	cfnOpenCompanyListPopup('fnSetSupplyCompInfo', 'M');
+});
+
+// 업체 조회 팝업에서 호출
+var fnSetSupplyCompInfo = function(result) {
+	var arrSupplyComp 	= [];
+	var supplyCompText 	= "";
+	var sIndex 			= 0;
+	
+	$('#searchForm').find('#supplyCompText').html('');
+	$('#searchForm input[name=supplyCompSearchTxt]').val('');
+	
+	result.forEach(function(supplyComp){
+		sIndex++;
+		arrSupplyComp.push(supplyComp.supplyCompCd);
+	});
+
+	// 조회값이 하나일 경우 화면에 코드 노출 그외는 갯수 처리 
+	if (sIndex == 1) {
+		$('#searchForm input[name=supplyCompSearchTxt]').val(arrSupplyComp[0]);
+	} else {
+		supplyCompText = sIndex + " 개";
+		$('#searchForm').find('#supplyCompText').html(supplyCompText);
+	}
+	
+	var jsonData = JSON.stringify(arrSupplyComp);
+	$("#searchForm input[name=supplyCompList]").val(jsonData);
+}
+
+// 브랜드 조회 선택시
+$('#btnSearchBrand').on('click', function() {
+	cfnOpenBrandListPopup('fnSetBrandInfo', 'M');
+});
+
+// 브랜드 조회 팝업에서 호출
+var fnSetBrandInfo = function(result) {
+	var arrbrandCd 	= [];
+	var brandText 	= "";
+	var bIndex 		= 0;
+	
+	$('#searchForm').find('#brandText').html('');
+	$('#searchForm input[name=searchTxt]').val('');
+	
+	result.forEach(function(brand){
+		bIndex++; 
+		arrbrandCd.push(brand.brandCd);
+	});
+
+	// 조회값이 하나일 경우 화면에 코드 노출 그외는 갯수 처리 
+	if (bIndex == 1) {
+		$('#searchForm input[name=searchTxt]').val(arrbrandCd[0]);
+	}else{
+		brandText = bIndex + " 개";
+		$('#searchForm').find('#brandText').html(brandText);	
+	}
+	var jsonData = JSON.stringify(arrbrandCd);
+	$("#searchForm input[name=brandList]").val(jsonData);
+}
 </script>
 
 </html>

+ 1 - 1
src/main/webapp/WEB-INF/views/order/OrderMemoRegistForm.html

@@ -63,7 +63,7 @@
 								</td>
 							</tr>
 						</th:block>
-						<th:block th:text="|${uploadImageUrl}/Order/${orderMemo.sysFileNm}|"></th:block>
+						<!-- <th:block th:text="|${uploadImageUrl}/Order/${orderMemo.sysFileNm}|"></th:block> -->
 					</tbody>
 				</table>
 				<div>