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

Merge branch 'develop' into bin2107

bin2107 4 лет назад
Родитель
Сommit
eea7df3da1

+ 13 - 0
src/main/java/com/style24/admin/biz/web/TsaBusinessController.java

@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.style24.admin.biz.service.TsaBusinessService;
 import com.style24.admin.biz.service.TsaRendererService;
 import com.style24.admin.support.controller.TsaBaseController;
@@ -67,6 +68,9 @@ public class TsaBusinessController extends TsaBaseController {
 	@Autowired
 	private TscKcpService coreKcpService;
 
+	@Autowired
+	private ObjectMapper mapper;
+
 	/**
 	 * 공급벤더관리 화면
 	 * @return
@@ -235,6 +239,15 @@ public class TsaBusinessController extends TsaBaseController {
 	@PostMapping("/supply/company/delvloc/list")
 	@ResponseBody
 	public Collection<DeliveryLoc> getDeliveryLocList(@RequestBody DeliveryLoc delvLoc) {
+		if (!StringUtils.isBlank(delvLoc.getSupplyCompList())) {
+			try {
+				String[] arrSupplyComp = mapper.readValue(delvLoc.getSupplyCompList(), String[].class);
+				delvLoc.setMultiSupplyComp(arrSupplyComp);
+			} catch (Exception e) {
+				throw new IllegalStateException("업체코드 검색중 오류로 인해 조회되지 않았습니다.");
+			}
+		}
+
 		return businessService.getDeliveryLocList(delvLoc);
 	}
 

+ 0 - 2
src/main/java/com/style24/admin/biz/web/TsaSettleController.java

@@ -85,7 +85,6 @@ public class TsaSettleController extends TsaBaseController {
 				String[] arrSupplyComp = mapper.readValue(goodsSettle.getSupplyCompList(), String[].class);
 				goodsSettle.setMultiSupplyComp(arrSupplyComp);
 			} catch (Exception e) {
-				e.printStackTrace();
 				throw new IllegalStateException("업체코드 검색중 오류로 인해 조회되지 않았습니다.");
 			}
 		}
@@ -95,7 +94,6 @@ public class TsaSettleController extends TsaBaseController {
 				String[] arrBrandCd = mapper.readValue(goodsSettle.getBrandList(), String[].class);
 				goodsSettle.setMultiBrand(arrBrandCd);
 			} catch (Exception e) {
-				e.printStackTrace();
 				throw new IllegalStateException("브랜드코드 검색중 오류로 인해 조회되지 않았습니다.");
 			}
 		}

+ 4 - 0
src/main/java/com/style24/persistence/domain/DeliveryLoc.java

@@ -1,5 +1,6 @@
 package com.style24.persistence.domain;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.style24.persistence.TscBaseDomain;
 
 import lombok.Data;
@@ -37,5 +38,8 @@ public class DeliveryLoc extends TscBaseDomain {
 	// 검색조건
 	private String searchGb;
 	private String searchTxt;
+	private String supplyCompList;		// 공급업체코드목록
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] multiSupplyComp;
 
 }

+ 6 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaBusiness.xml

@@ -387,6 +387,12 @@
 		<if test="supplyCompCd != null and supplyCompCd != ''">
 		AND    SUPPLY_COMP_CD = #{supplyCompCd}
 		</if>
+		<if test="multiSupplyComp != null and multiSupplyComp != ''">
+		AND    SUPPLY_COMP_CD IN
+		    <foreach collection="multiSupplyComp" item="item" index="index"  open="(" close=")" separator=",">
+		    #{item}
+		    </foreach>
+		</if>
 		<if test="delvLocNm != null and delvLocNm !=''">
 		AND    LOWER(DELV_LOC_NM) LIKE CONCAT('%',LOWER(#{delvLocNm}),'%')
 		</if>

+ 33 - 4
src/main/webapp/WEB-INF/views/business/DeliveryLocForm.html

@@ -42,10 +42,14 @@
 					<tr>
 						<th>공급업체</th>
 						<td>
-							<select name="supplyCompCd">
-								<option value="">[전체]</option>
-								<option th:if="${supplyCompList}" th:each="oneData, status : ${supplyCompList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
-							</select>
+<!-- 							<select name="supplyCompCd"> -->
+<!-- 								<option value="">[전체]</option> -->
+<!-- 								<option th:if="${supplyCompList}" th:each="oneData, status : ${supplyCompList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option> -->
+<!-- 							</select> -->
+							<input type="text" class="w100" name="supplyCompSearchTxt" id="supplyCompSearchTxt" maxlength="20"/>
+							<button type="button" class="btn icn" onclick="cfnOpenCompanyListPopup('fnSetSupplyCompInfo', 'M');"><i class="fa fa-search"></i></button>
+							<span id="supplyCompTxt"></span>
+							<input type="hidden" name="supplyCompList"/>
 						</td>
 						<th>출고처유형</th>
 						<td>
@@ -308,6 +312,31 @@
 		}
 	}
 
+	// 업체 조회 팝업에서 호출
+	var fnSetSupplyCompInfo = function(result) {
+		var arrSupplyComp = [];
+		var supplyCompTxt = "";
+		var sIndex = 0;
+		$('#supplyCompTxt').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 {
+			supplyCompTxt = sIndex + " 개";
+			$('#supplyCompTxt').html(supplyCompTxt);
+		}
+		
+		var jsonData = JSON.stringify(arrSupplyComp);
+		$("#searchForm input[name=supplyCompList]").val(jsonData);
+	}
+	
 	// 출고처유형 셀렉트박스 변경 시 이벤트
 	$('#detailForm select[name=delvLocClsf]').on('change', function() {
 		let val = $(this).val();