moon 5 年之前
父節點
當前提交
b37459036b

+ 43 - 9
src/main/java/com/style24/admin/biz/service/TsaDeliveryService.java

@@ -2,6 +2,7 @@ package com.style24.admin.biz.service;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -9,17 +10,15 @@ import org.springframework.stereotype.Service;
 import org.apache.commons.lang3.StringUtils;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.gagaframework.web.parameter.GagaMap;
 import com.style24.admin.biz.dao.TsaDeliveryDao;
 import com.style24.admin.support.security.session.TsaSession;
 import com.style24.admin.support.util.TsitUtil;
 import com.style24.admin.support.env.TsaConstants;
-import com.style24.persistence.TscPageRequest;
 import com.style24.persistence.domain.Delivery;
-import com.style24.persistence.domain.GoodsSearch;
-
-
+import com.style24.core.biz.service.TscOrderChangeService;
 import com.style24.core.biz.service.TscWmsService;
-import com.style24.admin.biz.service.TsaWmsWithdrawService;
+import com.style24.core.biz.service.TscDeliveryService;
 import com.style24.persistence.domain.WmsDelivery;
 import com.style24.core.support.env.TscConstants.OrderDetailStat;
 import com.style24.core.support.message.TscMessageByLocale;
@@ -57,6 +56,9 @@ public class TsaDeliveryService {
 	@Autowired
 	private TsaWmsWithdrawService wmsWithdrawService;
 	
+	@Autowired
+	private TscDeliveryService coreDeliveryService;	
+	
 	
 	
 	/**
@@ -188,7 +190,7 @@ public class TsaDeliveryService {
 	@Transactional("shopTxnManager")
 	public void saveChangeInvoice(Collection<Delivery> deliveryList) {
 	
-		int userId = TsaSession.getInfo().getUserNo();
+		Integer userId = TsaSession.getInfo().getUserNo();
 
 		for (Delivery oneDelivery : deliveryList) {
 			oneDelivery.setUpdNo(userId);
@@ -206,6 +208,38 @@ public class TsaDeliveryService {
 		}
 	}	
 	
+	/**
+	 * 품절취소
+	 *
+	 * @param  
+	 * @return void
+	 * @author moon
+	 * @since 2020. 04. 23
+	 */
+	@Transactional("shopTxnManager")
+	public void cancelSoldout(Collection<Delivery> soldoutList) {
+		Integer userNo = TsaSession.getInfo().getUserNo();
+		
+		Collection<Order> ordSoldoutList = new ArrayList<Order>();
+		for(Delivery item : soldoutList ) {
+			Order param = new Order();
+			param.setOrdNo(item.getOrdNo());
+			param.setCustNo(item.getCustNo());
+			param.setOrdNm(item.getOrdNm());
+			param.setPgGb(item.getPgGb());
+			param.setPayMeans(item.getPayMeans());
+			param.setBankCd(item.getBankCd());
+			param.setAccountNm(item.getAccountNm());
+			param.setAccountNo(item.getAccountNo());
+			param.setOrdDtlNo(item.getOrdDtlNo());
+			param.setCnclRtnQty(item.getSaleQty());
+			ordSoldoutList.add(param);
+			
+		}
+		coreDeliveryService.cancelSoldout(ordSoldoutList,userNo);
+	}	
+	
+	
 	/**
 	 * 출고금지상품 목록
 	 *
@@ -228,7 +262,7 @@ public class TsaDeliveryService {
 	 */
 	@Transactional("shopTxnManager")
 	public void deleteBangoods(Collection<Delivery> bangoodsList) {
-		int userId = TsaSession.getInfo().getUserNo();
+		Integer userId = TsaSession.getInfo().getUserNo();
 
 		for (Delivery oneBangood : bangoodsList) {
 			oneBangood.setUpdNo(userId);
@@ -258,7 +292,7 @@ public class TsaDeliveryService {
 	 */
 	@Transactional("shopTxnManager")
 	public void createBangoods(Collection<Delivery> bangoodsList) {
-		int userId = TsaSession.getInfo().getUserNo();
+		Integer userId = TsaSession.getInfo().getUserNo();
 
 		for (Delivery oneBangood : bangoodsList) {
 
@@ -522,7 +556,7 @@ public class TsaDeliveryService {
 	@Transactional("shopTxnManager")
 	public void cancelAssignDelvLoc(Delivery delivery) {
 		log.info("delivery {}"+delivery);
-		int userId = TsaSession.getInfo().getUserNo();
+		Integer userId = TsaSession.getInfo().getUserNo();
 		
 		//1. 창고 매장 구분  지연재고 삭제 
 		if(TsaConstants.DeliveryClassification.WARE_HOUSE.value().equals(delivery.getDelvLocClsf())) {

+ 3 - 62
src/main/java/com/style24/admin/biz/web/TsaDeliveryController.java

@@ -177,7 +177,7 @@ public class TsaDeliveryController extends TsaBaseController {
 	 * @return
 	 * @throws Exception
 	 * @author moon
-	 * @since 2020. 11. 05
+	 * @since 2021. 04. 22
 	 */
 	@PostMapping("/list/soldout")
 	@ResponseBody
@@ -185,67 +185,8 @@ public class TsaDeliveryController extends TsaBaseController {
 		if (deliveryList == null || deliveryList.isEmpty()) {
 			throw new IllegalStateException(message.getMessage("FAIL_1002"));
 		}
-		// 세트상품일경우 주문번호, 주문상세기준으로 data 정비 
-		Collection<Delivery> orderDtlList = new ArrayList<Delivery>();
-
-		int orderDtlListCnt = 0;
-		for (Delivery delivery : deliveryList) {
-			Delivery dtlno = new Delivery();
-			dtlno.setOrdNo(delivery.getOrdNo());
-			dtlno.setOrdDtlNo(delivery.getOrdDtlNo());
-			dtlno.setSaleQty(delivery.getSaleQty());
-			dtlno.setCustNo(delivery.getCustNo());
-			dtlno.setDelvLocClsf(delivery.getDelvLocClsf());
-			if (orderDtlListCnt == 0) {
-				orderDtlList.add(dtlno);
-			} else {
-				int dupChk = 0;
-				for (Delivery param : orderDtlList) {
-					if (delivery.getOrdNo().equals(param.getOrdNo()) && delivery.getOrdDtlNo().equals(param.getOrdDtlNo())) {
-						dupChk++;
-					}
-				}
-				if (dupChk == 0) {
-					orderDtlList.add(dtlno);
-				}
-				orderDtlListCnt++;
-			}
-		}
-		/*
-		// 주문 취소 형식에 맞게 data 정비 
-		Collection<TsaOrder> orderlist = new ArrayList<TsaOrder>();
-
-		for (TsaDelivery delivery : orderDtlList) {
-			TsaOrder param = new TsaOrder();
-			param.setOrdNo(delivery.getOrdNo() + "");
-			param.setOrdDtlNo(delivery.getOrdDtlNo() + "");
-			param.setOrdDtlNos(delivery.getOrdDtlNo() + "");
-			param.setCustNo(delivery.getCustNo());
-			param.setChgQty(delivery.getSaleQty());
-			param.setChgQtys(delivery.getSaleQty() + "");  // getChgQtys
-			param.setDelvLocClsf(delivery.getDelvLocClsf());
-
-			if (orderlist == null || orderlist.isEmpty()) {
-				orderlist.add(param);
-			} else {
-				int cnt = 0;
-				for (TsaOrder order : orderlist) {
-					if (delivery.getOrdNo().equals(order.getOrdNo())) {
-						order.setOrdDtlNos(order.getOrdDtlNos() + "," + param.getOrdDtlNo());
-						order.setChgQtys(order.getChgQtys() + "," + param.getChgQty());
-						cnt = 1;
-					}
-				}
-				if (cnt == 0) {
-					orderlist.add(param);
-				}
-			}
-		}
-
-		for (TsaOrder order : orderlist) {
-			deliveryService.saveGoodsSoldout(order);
-		}
-		*/
+		deliveryService.cancelSoldout(deliveryList);
+	
 		return super.ok(message.getMessage("SUCC_0004"));
 	}
 	

+ 13 - 2
src/main/java/com/style24/persistence/domain/Delivery.java

@@ -98,6 +98,15 @@ public class Delivery extends TscBaseDomain {
 	private String vendorId;
 	private String rejectReason;
 	private String goodsGb;
+	private String supplyCompNm;
+	private String agentOrderId;
+	private String productCode;
+	private String shotDelvYn;    // 총알배송여부 
+	private String pgGb;
+	private String payMeans;
+	private String bankCd;
+	private String accountNm;
+	private String accountNo;
 	
 	private Integer ordDtlNo;
 	private Integer ordNo;
@@ -120,6 +129,8 @@ public class Delivery extends TscBaseDomain {
 	private int saleQty;
 	private int itemQty; 
 	private int currPrice;
+	private int saleAmt;
+	private int realOrdAmt;
 	
 	private Double delvFeeRate;
 	
@@ -248,11 +259,11 @@ public class Delivery extends TscBaseDomain {
 //	private String contentsLoc;
 //	private Integer paySq;
 //	private Integer payAmt;
-//	private String payMeans;
+//	
 //	private String payStat;
 //	private String delvPayGb;
 //	private String pgCnclTid;
-//	private String pgGb;
+//	
 //	private String delvFeeGb;
 //	private Integer delvFee;
 //	private String usacGb;

+ 33 - 9
src/main/java/com/style24/persistence/mybatis/shop/TsaDelivery.xml

@@ -72,6 +72,7 @@
 		    , (SELECT B.DELV_LOC_NM FROM TB_DELIVERY_LOC B WHERE  Z.DELV_LOC_CD = B.DELV_LOC_CD AND Z.SUPPLY_COMP_CD = B.SUPPLY_COMP_CD ) AS DELV_LOC_NM   -- 출고처명
 		    , (SELECT BD.BRAND_KNM FROM TB_BRAND BD WHERE BD.BRAND_CD = Z.BRAND_CD ) AS BRAND_NM
 		    , FN_GET_CODE_NM('G056', Z.GOODS_TYPE ) AS GOODS_TYPE_NM 
+		    , (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY S WHERE S.SUPPLY_COMP_CD = Z.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM 
 		FROM (
 		    SELECT A.*, ROW_NUMBER() OVER(ORDER BY  A.ORD_NO DESC, A.ORD_DTL_NO) RNUM 
 		    FROM (
@@ -114,13 +115,19 @@
 							-- 송장등록수정
 							-- 배송완료처리
 							, A.EXTMALL_ORDER_ID -- 외부몰주문번호
-							-- , B.EXTMALL_ORD_DTL_NO-- 외부몰부주문번호
+							, A.AGENT_ORDER_ID   -- 에이전트주문번호
 							, A.SOLDOUT_YN    -- 결품여부
 							, A.DELV_MEMO     -- 배송메모
-							, A.ORD_EXCH_GB   -- 교환여부
+							, CASE WHEN A.ORD_EXCH_GB ='E' THEN 'Y' ELSE 'N' END AS ORD_EXCH_GB   -- 교환여부
 							, A.DELV_STDT     -- 배송시작일  
 							, A.BRAND_CD      -- 브랜드	
-
+                            , A.CUST_NO
+                            , CASE WHEN A.SHOT_DELV_YN = 'Y' THEN '총알배송' ELSE '일반배송' END AS SHOT_DELV_YN
+				  			, A.PG_GB 
+						    , A.PAY_MEANS 
+						    , A.BANK_CD 
+						    , A.ACCOUNT_NO 
+						    , A.ACCOUNT_NM 
 					  FROM (
 							SELECT 
 								  A.ORD_NO     -- 주문번호
@@ -154,17 +161,27 @@
 								, B.SHIP_COMP_CD  -- 출고택배사
 								, B.INVOICE_NO    -- 출고송장
 								, B.EXTMALL_ORDER_ID -- 외부몰주문번호
+								, B.AGENT_ORDER_ID
 								, B.SOLDOUT_YN    -- 결품여부
 								, D.DELV_MEMO     -- 배송메모
 								, B.ORD_EXCH_GB   -- 교환여부
 								, B.DELV_STDT     -- 배송시작일  
 								, (SELECT MAX(CH.WD_EDDT) FROM TB_ORDER_CHANGE CH INNER JOIN TB_ORDER_CHANGE_DETAIL CHD ON CH.ORD_CHG_SQ = CHD.ORD_CHG_SQ WHERE CHD.ORD_DTL_NO =  B.ORG_ORD_DTL_NO) AS WD_EDDT
 							    , C.BRAND_CD
+							    , A.CUST_NO
+							    , B.SHOT_DELV_YN
+							    , P.PG_GB 
+							    , P.PAY_MEANS 
+							    , T.BANK_CD 
+							    , T.ACCOUNT_NO 
+							    , T.ACCOUNT_NM 
 							FROM  TB_ORDER A 
 							      INNER JOIN TB_ORDER_DETAIL B        ON A.ORD_NO       = B.ORD_NO
 								  INNER JOIN TB_ORDER_DETAIL_ITEM ODI ON B.ORD_DTL_NO   = ODI.ORD_DTL_NO
 							      INNER JOIN TB_GOODS C               ON ODI.ITEM_CD    = C.GOODS_CD
 							      INNER JOIN TB_DELIVERY_ADDR D       ON B.DELV_ADDR_SQ = D.DELV_ADDR_SQ
+								  INNER JOIN TB_PAYMENT       P       ON A.ORD_NO       = P.ORD_NO  AND P.PAY_STAT = 'G016_30'
+							 LEFT OUTER JOIN TB_CUST_ACCOUNT  T       ON A.CUST_NO      = T.CUST_NO AND T.DEFAULT_YN = 'Y' AND T.DEL_YN = 'N'
 							WHERE 1=1 
 							  AND B.GOODS_TYPE NOT IN ('G056_S')
 					        <include refid="getDeliveryListCondition_sql"/>
@@ -203,16 +220,26 @@
 								, B.SHIP_COMP_CD  -- 출고택배사
 								, B.INVOICE_NO    -- 출고송장
 								, B.EXTMALL_ORDER_ID -- 외부몰주문번호
+								, B.AGENT_ORDER_ID
 								, B.SOLDOUT_YN    -- 결품여부
 								, D.DELV_MEMO     -- 배송메모
 								, B.ORD_EXCH_GB   -- 교환여부
 								, B.DELV_STDT     -- 배송시작일  
 								, (SELECT MAX(CH.WD_EDDT) FROM TB_ORDER_CHANGE CH INNER JOIN TB_ORDER_CHANGE_DETAIL CHD ON CH.ORD_CHG_SQ = CHD.ORD_CHG_SQ WHERE CHD.ORD_DTL_NO =  B.ORG_ORD_DTL_NO) AS WD_EDDT
 							    , C.BRAND_CD 
+							    , A.CUST_NO
+							    , B.SHOT_DELV_YN
+							    , P.PG_GB 
+							    , P.PAY_MEANS 
+							    , T.BANK_CD 
+							    , T.ACCOUNT_NO 
+							    , T.ACCOUNT_NM 
 							FROM  TB_ORDER A 
 							      INNER JOIN TB_ORDER_DETAIL B        ON A.ORD_NO       = B.ORD_NO
 							      INNER JOIN TB_GOODS C               ON B.GOODS_CD     = C.GOODS_CD
 							      INNER JOIN TB_DELIVERY_ADDR D       ON B.DELV_ADDR_SQ = D.DELV_ADDR_SQ
+								  INNER JOIN TB_PAYMENT       P       ON A.ORD_NO       = P.ORD_NO  AND P.PAY_STAT = 'G016_30' AND P.PAY_GB ='O'
+							 LEFT OUTER JOIN TB_CUST_ACCOUNT  T       ON A.CUST_NO      = T.CUST_NO AND T.DEFAULT_YN = 'Y' AND T.DEL_YN = 'N'
 							WHERE 1=1
 							  AND B.GOODS_TYPE IN ('G056_S')
 							<include refid="getDeliveryListCondition_sql"/>  
@@ -239,12 +266,9 @@
 		<if test='mallGb != null and mallGb != ""'>
 		AND  A.MALL_GB = #{mallGb}
 		</if>
-        <if test="multiSupplyCompCd != null and multiSupplyCompCd != ''">
-        AND B.SUPPLY_COMP_CD IN
-            <foreach collection="multiSupplyCompCd" item="item" index="index"  open="(" close=")" separator=",">
-        	#{item}
-            </foreach>
-        </if>
+		<if test='supplyCompCd != null and supplyCompCd != ""'>
+		AND B.SUPPLY_COMP_CD = #{supplyCompCd}
+		</if>
         <if test="multiBrand != null and multiBrand != ''">
         AND C.BRAND_CD IN
             <foreach collection="multiBrand" item="item" index="index"  open="(" close=")" separator=",">

+ 88 - 61
src/main/webapp/WEB-INF/views/delivery/DeliveryListForm.html

@@ -50,6 +50,7 @@
 
 					</colgroup>
 					<tr>
+						<!-- 
 						<th>사이트</th>
 						<td>
 							<select name="siteCd" id="siteCd">
@@ -57,6 +58,7 @@
 								<option th:if="${siteCdList}" th:each="oneData, status : ${siteCdList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}"></option>
 							</select>
 						</td>
+						-->
 						<th>몰구분</th>
 						<td>
 							<select name="mallGb" style="width: 100px;">
@@ -65,20 +67,17 @@
 							</select>
 						</td>
 
-						<th>업체<em class="required" title="필수"></em></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"/>
-							<!-- <label class="rdoBtn"><input type="radio" name="selfYn" id="selfYnY" value="Y"  checked/>자사</label>
+						<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> -->
+							<span id="multiBrand"></span>
 						</td>
+												
 						<th>브랜드<em class="required" title="필수"></em></th>
 						<td>
 							<input type="text" class="w100" name="searchTxt" id="searchTxt" maxlength="20" />
@@ -230,7 +229,7 @@
 	* AG-GRID 영역 
 	**************************************************************************/
 	var shipCompanyList =  gagajf.convertToArray([[${shipCompanyList}]]);
-	var roleCd = [[${sessionInfo.roleCd}]];
+	var roleCd          = [[${sessionInfo.roleCd}]];
 	var columnDefs = [
 		{
 			headerName: "결품",
@@ -244,8 +243,8 @@
 				return (params.data.ordDtlStat == 'G013_20' || params.data.ordDtlStat == 'G013_25') ? true : false;
 			}
 		},
-		{headerName: "지연일", field: "delvDelayDays", width: 85, cellClass: 'text-center'},
-		{headerName: "주문번호", field: "ordNo", width: 95, cellClass: 'text-center',
+		{headerName: "지연일",	field: "delvDelayDays", 	width: 70, cellClass: 'text-center'},
+		{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>";
@@ -254,33 +253,35 @@
 				}
 			}
 		},
-		{headerName: "주문상세번호", field: "ordDtlNo", width: 85, cellClass: 'text-center'},
-		{headerName: "사이트", field: "siteNm", width: 120, cellClass: 'text-center'},
-		{headerName: "판매몰", field: "sellStoreNm", width: 150, cellClass: 'text-left'},
-		{headerName: "판매몰명", field: "extmallNm", width: 150, cellClass: 'text-left'},
-		{headerName: "주문일시", field: "ordDt", width: 150, cellClass: 'text-center',
+		{headerName: "주문상세번호", 	field: "ordDtlNo", 		width: 90, cellClass: 'text-center'},
+		{headerName: "주문상세상태", 	field: "ordDtlStatNm", 	width: 120, cellClass: 'text-center'},
+		// {headerName: "사이트", field: "siteNm", width: 120, cellClass: 'text-center'},
+		// {headerName: "판매몰", field: "sellStoreNm", width: 150, cellClass: 'text-left'},
+		{headerName: "판매몰명", 		field: "extmallNm", 	width: 150, cellClass: 'text-left'},
+		{headerName: "주문일시", 		field: "ordDt", 		width: 150, cellClass: 'text-center',
 			cellRenderer: function (params) {
 				return !gagajf.isNull(params.value) ? gagaAgGrid.toDateTimeFormat(params.value) : '';
 			}
 		},
-		{headerName: "결제일시", field: "ordDt", width: 150, cellClass: 'text-center',
+		{headerName: "결제일시", 		field: "ordDt", 		width: 150, cellClass: 'text-center',
 			cellRenderer: function (params) {
 				return !gagajf.isNull(params.value) ? gagaAgGrid.toDateTimeFormat(params.value) : '';
 			}
 		},
-		{headerName: "몰구분", field: "mallGbNm", width: 70, cellClass: 'text-center'},
-		{headerName: "주문자", field: "orderNm", width: 100, cellClass: 'text-center',
+		{headerName: "몰구분", 		field: "mallGbNm", 		width: 70, cellClass: 'text-center'},
+		{headerName: "주문자", 		field: "ordNm", 		width: 100, cellClass: 'text-center',
 			cellRenderer: function (params) {
 				if (roleCd.indexOf("C") < 0 && !gagajf.isNull(params.value) && params.data.mallGb === 'G011_10') {
-					return '<a href="javascript:void(0);" onclick=\"cfnOpenCustDetailPopup(' + params.data.custNo + ');\">' + params.data.orderNm + '</a>';
+					return '<a href="javascript:void(0);" onclick=\"cfnOpenCustDetailPopup(' + params.data.custNo + ');\">' + params.data.ordNm + '</a>';
 				} else {
-					return params.data.orderNm;
+					return params.data.ordNm;
 				}
 			}
 		},
-		{headerName: "수령인", field: "recipNm", width: 100, cellClass: 'text-center'},
-		{headerName: "공급업체", field: "supplyCompNm", width: 150, cellClass: 'text-center'},
-		{headerName: "상품코드", field: "goodsCd", width: 120, cellClass: 'text-center',
+		{headerName: "수령인", 		field: "recipNm", 		width: 100, cellClass: 'text-center'},
+		{headerName: "공급업체", 		field: "supplyCompNm", 	width: 150, cellClass: 'text-center'},
+		{headerName: "브랜드", 		field: "supplyCompNm", 	width: 150, cellClass: 'text-center'},
+		{headerName: "상품코드", 		field: "goodsCd", 		width: 120, cellClass: 'text-center',
 			cellRenderer: function (params) {
 				if (roleCd.indexOf("C") < 0) {
 					return "<a href=\"javascript:void(0);\" onclick=\"cfnOpenGoodsDetailPopup('U','" + params.value + "');\">" + params.value + "</a>";
@@ -289,7 +290,7 @@
 				}
 			}
 		},
-		{headerName: "구성유형", field: "goodsTypeNm", width: 130, cellClass: 'text-center',
+		{headerName: "구성유형", 		field: "goodsTypeNm",	 width: 130, cellClass: 'text-center',
 			cellRenderer: function (params) {
 				var option;
 				if (params.data.goodsType == 'G056_S') {
@@ -300,31 +301,30 @@
 				return option;
 			}
 		},
-		{headerName: "상품명", field: "goodsNm", width: 280, cellClass: 'text-left'},
-		{headerName: "색상", field: "colorKnm", width: 120, cellClass: 'text-center'},
-		{headerName: "사이즈", field: "sizeCd", width: 70, cellClass: 'text-center'},
-		{headerName: "주문수량", field: "ordQty", width: 80, cellClass: 'text-center'},
-		{headerName: "취소수량", field: "cnclRtnQty", width: 80, cellClass: 'text-center'},
-		{headerName: "판매수량", field: "saleQty", width: 80, cellClass: 'text-center'},
-		{headerName: "판매금액", field: "saleAmt", width: 100, cellClass: 'text-center'
+		{headerName: "상품명", 		field: "goodsNm", 		width: 280, cellClass: 'text-left'},
+		{headerName: "옵션코드", 		field: "optCd", 		width: 100, cellClass: 'text-left'},
+		{headerName: "옵션코드1", 		field: "optCd1", 		width: 100, cellClass: 'text-center'},
+		{headerName: "옵션코드2", 		field: "optCd2", 		width: 100, cellClass: 'text-center'},
+		{headerName: "주문수량", 		field: "ordQty", 		width: 80, cellClass: 'text-center'},
+		{headerName: "취소수량", 		field: "cnclRtnQty", 	width: 80, cellClass: 'text-center'},
+		{headerName: "판매수량", 		field: "saleQty", 		width: 80, cellClass: 'text-right'},
+		{headerName: "판매금액", 		field: "saleAmt", 		width: 100, cellClass: 'text-right'
 			, valueFormatter: function (params) {
 				return params.value.addComma();
 			}
 		},
-		{headerName: "실결제금액", field: "realOrdAmt", width: 100, cellClass: 'text-center'
+		{headerName: "실결제금액", 	field: "realOrdAmt", 	width: 100, cellClass: 'text-right'
 			, valueFormatter: function (params) {
 				return params.value.addComma();
 			}
 		},
-		{headerName: "주문상세상태", field: "ordDtlStatNm", width: 100, cellClass: 'text-center'},
-		{headerName: "출고처", field: "delvLocCd", width: 100, cellClass: 'text-center'},
-		{headerName: "출고처명", field: "delvLocNm", width: 100, cellClass: 'text-center'},
-		{headerName: "쇼핑백", field: "sbagEncloseYn", width: 80, cellClass: 'text-center'},
-		{headerName: "출고택배사", field: "shipCompCd", width: 170, cellClass: 'text-center'
+		{headerName: "출고유형", 		field: "shotDelvYn", 	width: 80, cellClass: 'text-center'},
+		{headerName: "출고처", 		field: "delvLocNm", 	width: 100, cellClass: 'text-center'},
+		{headerName: "출고택배사", 	field: "shipCompCd", 	width: 170, cellClass: 'text-center'
 			, valueGetter: function (params) { return gagaAgGrid.lookupValue(shipCompanyList, params.data.shipCompCd); }
 		},
-		{headerName: "출고송장", field: "invoiceNo", width: 150, cellClass: 'text-left'},
-		{headerName: "송장등록수정", field: "invoiceNo", width: 120, cellClass: 'text-center'
+		{headerName: "출고송장", 		field: "invoiceNo", 	width: 150, cellClass: 'text-left'},
+		{headerName: "송장등록수정", 	field: "invoiceNo", 	width: 120, cellClass: 'text-center'
 			, cellRenderer : function (params) {
 				var buttonTag = '';
 				if (params.data.ordDtlStat === 'G013_30' || params.data.ordDtlStat === 'G013_40' || params.data.ordDtlStat === 'G013_50' || params.data.ordDtlStat === 'G013_55') {
@@ -333,7 +333,7 @@
 				return buttonTag;
 			}
 		},
-		{headerName: "배송완료처리", field: "ordDtlStat", width: 120, cellClass: 'text-center'
+		{headerName: "배송완료처리", 	field: "ordDtlStat", width: 120, cellClass: 'text-center'
 			, cellRenderer: function(params) {
 				var buttonTag = '';
 				if (params.data.ordDtlStat === 'G013_50' || params.data.ordDtlStat === 'G013_55'  ) {
@@ -342,12 +342,14 @@
 				return buttonTag;
 			}
 		},
-		{headerName: "외부몰주문번호", field: "extmallOrderId", width: 200, cellClass: 'text-left'},
-		{headerName: "외부몰부주문번호", field: "agentOrderId", width: 200, cellClass: 'text-left'},
-		{headerName: "원코드", field: "supplyGoodsCd", width: 120, 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-left'}
+		{headerName: "외부몰주문번호", 	field: "extmallOrderId",width: 150, cellClass: 'text-left'},
+		{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'}
+		
 	];
 
 	//Get GridOptions
@@ -460,27 +462,19 @@
 	* 품절처리
 	**************************************************************************/		
 	$('#btnSoldout').on('click', function () {
-		var removedData = gagaAgGrid.removeRowData(gridOptions);
+		var selectedData = gridOptions.api.getSelectedRows();
 
-		if (removedData.length == 0) {
+		if (selectedData.length == 0) {
 			mcxDialog.alert('선택된 행이 없습니다.');
 			return;
 		}
-
-		mcxDialog.confirm('결품 처리하시겠습니까?', {
+		
+		return;
+		mcxDialog.confirm('품절 처리하시겠습니까?', {
 			cancelBtnText: "취소",
 			sureBtnText: "확인",
 			sureBtnClick: function () {
-				// delete 대신 update 처리해야 하므로 다음과 같이 useYn 값을 변환
-				var updatedData = [];
-
-				$.each(removedData, function (idx, item) {
-
-					updatedData.push(item);
-				});
-
-
-				var jsonData = JSON.stringify(updatedData);
+				var jsonData = JSON.stringify(selectedData);
 				gagajf.ajaxJsonSubmit('/delivery/list/soldout'
 					, jsonData
 					, function () {
@@ -520,6 +514,38 @@
 		cfnOpenModalPopup(actionUrl, 'popupChangeInvoice');
 	};
 
+
+	/*************************************************************************
+	* 자사/입점 변경여부
+	**************************************************************************/		
+	$("#searchForm input[name=selfYn]").bind('click change', function () {
+		var radioValue = $(this).val();
+		var selfGb = "S";	// 자사 공급 업체
+		
+		if (radioValue == "N"){
+			selfGb = "E";	//입점 공급업체
+		}
+		
+		var actionUrl = '/renderer/supply/company/list/'+ selfGb;	
+
+		$('#searchForm').find('#multiBrand').empty();
+
+		cfnCreateCombo(actionUrl, $('#searchForm select[name=supplyCompCd]'), "[전체]", "");
+	});
+	
+	/*************************************************************************
+	* 업체변경시
+	**************************************************************************/		
+	$('#searchForm select[name=supplyCompCd]').on('change', function() {
+		var actionUrl = '/renderer/supplyCompany/brand/list/' + $(this).val();
+
+		if(roleCd == "G001_B000"){
+			actionUrl = '/renderer/brand/AuthBrandlist';
+		}
+
+		cfnCreateMultiCombo(actionUrl,"multiBrand",  "[전체]",null, 'Y');
+	});
+	
 	/*************************************************************************
 	* init
 	**************************************************************************/	
@@ -529,6 +555,7 @@
 		cfnCreateCalendar('#terms', 'stDate', 'edDate', true, '주문', '', hideList);
 		$(".btnToday").trigger('click');
 		$('#searchForm select[name=mallGb]').trigger('change');
+		$("#searchForm input[name=selfYn]").trigger('click');
 		//uifnFitGrid('auto'); // TO-BE 지워야됨  
 	});