Explorar el Código

배송목록(입점용) 09-29

tsit05 hace 4 años
padre
commit
ba3b7643e5

+ 10 - 0
src/main/java/com/style24/admin/biz/dao/TsaBusinessDao.java

@@ -408,4 +408,14 @@ public interface TsaBusinessDao {
 	 * @since 2021. 07. 29
 	 */
 	void createBrandGroupMainLayout(BrandGroup brandGroup);
+	
+	/**
+	 * 공급업체 목록
+	 * @param supplyComp - 공급업체 정보
+	 * @return
+	 * @author moon
+	 * @since 2021. 09. 29
+	 */
+	Collection<SupplyCompany> getSupplyCompanyList2(SupplyCompany supplyComp);
+	
 }

+ 22 - 0
src/main/java/com/style24/admin/biz/dao/TsaDeliveryDao.java

@@ -359,5 +359,27 @@ public interface TsaDeliveryDao {
 	 * @since 2021. 06. 08
 	 */
 	int updateSoldOut(Delivery delivery);
+
+	/**
+	 * 배송 목록 (입점)건수
+	 *
+	 * @param Delivery
+	 * @return
+	 * @author moon
+	 * @since 2021. 09. 15
+	 */
+	int getDeliveryListScmCount(Delivery delivery);
+
+	
+	/**
+	 * 배송 목록(입점)
+	 *
+	 * @param delivery - 배송정보
+	 * @return Collection<Delivery>
+	 * @author moon
+	 * @since 2021. 09. 15
+	 */
+	Collection<Delivery> getDeliveryScmList(Delivery delivery);
+
 	
 }

+ 11 - 0
src/main/java/com/style24/admin/biz/service/TsaBusinessService.java

@@ -610,4 +610,15 @@ public class TsaBusinessService {
 		}
 	}
 
+	/**
+	 * 공급업체 목록
+	 * @param supplyComp - 공급업체 정보
+	 * @return
+	 * @author moon
+	 * @since 2021. 09. 29
+	 */
+	public Collection<SupplyCompany> getSupplyCompanyList2(SupplyCompany supplyComp) {
+		return businessDao.getSupplyCompanyList2(supplyComp);
+	}	
+	
 }

+ 97 - 0
src/main/java/com/style24/admin/biz/service/TsaDeliveryService.java

@@ -641,4 +641,101 @@ public class TsaDeliveryService {
 		return deliveryDao.getExchangeDelvFailList(delivery);
 	}
 	
+	
+	/**
+	 * 배송 목록(입점) 건수
+	 *
+	 * @param Delivery
+	 * @return
+	 * @author moon
+	 * @since 2021. 09. 15
+	 */
+	public int getDeliveryListScmCount(Delivery delivery) {
+		
+		if (StringUtils.isNotBlank(delivery.getCondition())) {
+			delivery.setConditions(delivery.getCondition().replaceAll("\r", "").split("\n"));
+		}
+		
+		// 외부몰권한일 때 외부몰벤더ID 설정
+		if (TsaSession.getInfo().getRoleCd().startsWith("G001_C")) {
+			delivery.setMallGb(TsaConstants.MallGb.EXTMALL.value());
+			delivery.setVendorId(TsaSession.getInfo().getVendorId());
+		}
+		
+		if (!StringUtils.isBlank(delivery.getBrandList())) {
+			try {
+				String [] arrBrandCd = mapper.readValue(delivery.getBrandList(), String[].class);
+				delivery.setMultiBrand(arrBrandCd);
+			} catch (Exception e) {
+				e.printStackTrace();
+				throw new IllegalStateException("브랜드코드 검색중 오류로 인해 조회되지 않았습니다.");
+			}
+		}
+
+		if (!StringUtils.isBlank(delivery.getSupplyCompList())) {
+			try {
+				String [] arrSupplyComp = mapper.readValue(delivery.getSupplyCompList(), String[].class);
+				delivery.setMultiSupplyCompCd(arrSupplyComp);
+			} catch (Exception e) {
+				e.printStackTrace();
+				throw new IllegalStateException("업체코드 검색중 오류로 인해 조회되지 않았습니다.");
+			}
+		}		
+		return deliveryDao.getDeliveryListScmCount(delivery);
+	}
+	
+	/**
+	 * 배송 목록(입점)
+	 *
+	 * @param -Delivery
+	 * @return Collection<Delivery>
+	 * @author moon
+	 * @since 2021. 09. 15
+	 */
+	public Collection<Delivery> getDeliveryScmList(Delivery delivery) {
+		// multi row 검색관련 처리
+		
+		if (StringUtils.isNotBlank(delivery.getCondition())) {
+			delivery.setConditions(delivery.getCondition().replaceAll("\r", "").split("\n"));
+		}
+
+		// 외부몰권한일 때 외부몰벤더ID 설정
+		if (TsaSession.getInfo().getRoleCd().startsWith("G001_C")) {
+			delivery.setMallGb(TsaConstants.MallGb.EXTMALL.value());
+			delivery.setVendorId(TsaSession.getInfo().getVendorId());
+		}
+		
+		if (!StringUtils.isBlank(delivery.getBrandList())) {
+			try {
+				String [] arrBrandCd = mapper.readValue(delivery.getBrandList(), String[].class);
+				delivery.setMultiBrand(arrBrandCd);
+			} catch (Exception e) {
+				e.printStackTrace();
+				throw new IllegalStateException("브랜드코드 검색중 오류로 인해 조회되지 않았습니다.");
+			}
+		}
+
+		if (!StringUtils.isBlank(delivery.getSupplyCompList())) {
+			try {
+				String [] arrSupplyComp = mapper.readValue(delivery.getSupplyCompList(), String[].class);
+				delivery.setMultiSupplyCompCd(arrSupplyComp);
+			} catch (Exception e) {
+				e.printStackTrace();
+				throw new IllegalStateException("업체코드 검색중 오류로 인해 조회되지 않았습니다.");
+			}
+		}
+		
+		if (!StringUtils.isBlank(delivery.getSupplyCompList())) {
+			try {
+				String[] arrSupplyComp = mapper.readValue(delivery.getSupplyCompList(), String[].class);
+				delivery.setMultiSupplyCompCd(arrSupplyComp);
+			} catch (Exception e) {
+				e.printStackTrace();
+				throw new IllegalStateException("업체코드 검색중 오류로 인해 조회되지 않았습니다.");
+			}
+		}		
+		
+		return deliveryDao.getDeliveryScmList(delivery);
+	}
+	
 }

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

@@ -953,4 +953,43 @@ public class TsaBusinessController extends TsaBaseController {
 		result.setBoolean("isValid", isValid);
 		return result;
 	}
+	
+	/**
+	 * 공급업체 목록 화면(팝업)
+	 * @param brandMd - 담당MD 정보
+	 * @return
+	 * @author moon
+	 * @since 2021. 09. 29
+	 */
+	@GetMapping("/comapny/search/scm/form")
+	public ModelAndView companySearchForm2(SupplyCompany company) {
+		ModelAndView mav = new ModelAndView();
+		log.info("company={}", company);
+		mav.addObject("params", company);
+		mav.setViewName("business/SupplyCompanyPopupForm2");
+		return mav;
+	}
+	
+	/**
+	 * 공급업체 목록
+	 * @param supplyComp - 공급업체 정보
+	 * @return
+	 * @author moon
+	 * @since 2021. 09. 29
+	 */
+	@PostMapping("/supply/company/scm/list")
+	@ResponseBody
+	public Collection<SupplyCompany> getSupplyCompanyList2(@RequestBody SupplyCompany supplyComp) {
+		// multi row 검색관련 처리
+		if (!StringUtils.isBlank(supplyComp.getSearchSupplyCompCd())) {
+			supplyComp.setMultiSupplyCompCd(supplyComp.getSearchSupplyCompCd().replaceAll("\r", "").trim().split("\n"));
+		}
+		if (!StringUtils.isBlank(supplyComp.getSearchSupplyCompNm())) {
+			supplyComp.setMultiSupplyCompNm(supplyComp.getSearchSupplyCompNm().replaceAll("\r", "").trim().split("\n"));
+		}
+		supplyComp.setSelfYn("N");
+		//log.info("supplyComp  {}", supplyComp);
+		return businessService.getSupplyCompanyList2(supplyComp);
+	}
+	
 }

+ 67 - 0
src/main/java/com/style24/admin/biz/web/TsaDeliveryController.java

@@ -573,4 +573,71 @@ public class TsaDeliveryController extends TsaBaseController {
 		return dataList;
 	}
 	
+	
+	/**
+	 * 배송 목록 화면(입점)
+	 * @return
+	 * @author moon
+	 * @since 2021. 09. 14
+	 */
+	@GetMapping("/scm/list/form")
+	public ModelAndView deliveryListScmForm() {
+		ModelAndView mav = new ModelAndView();
+
+		// 몰구분
+		//mav.addObject("mallGbList", rendererService.getMallGbCommonCodeList(TsaSession.getInfo().getRoleCd()));
+		mav.addObject("mallGbList", rendererService.getAvailCommonCodeList("G011"));
+		// 주문상세상태코드
+		mav.addObject("ordDtlStatList", rendererService.getAvailCommonCodeList("G013"));
+		// 출고처
+		mav.addObject("deliveryLocList", rendererService.getDeliveryLocAllList());
+		// 사이트구분
+		mav.addObject("siteCdList", rendererService.getAvailCommonCodeList("G000"));
+		// 택배사명 목록
+		mav.addObject("shipCompanyList", rendererService.getShipCompanyList());
+		// 출고처분류
+		// mav.addObject("delvTypeList", rendererService.getAvailCommonCodeList("G024"));
+		
+		String supplyCompCd = "";
+		if ("G001_B000".equals(TsaSession.getInfo().getRoleCd())) {
+			supplyCompCd = TsaSession.getInfo().getSupplyCompCd();
+		}
+		
+		// 공급업체
+		mav.addObject("supplyCompList", rendererService.getSupplyCompanyList("","Y"));
+        //mav.addObject("vendorList", rendererService.getVendorCommonCodeList(TsaSession.getInfo().getRoleCd()));
+
+		mav.setViewName("delivery/DeliveryListScmForm");
+
+		return mav;
+	}
+
+	/**
+	 * 배송 목록 화면(입점) - 배송 목록(입점)
+	 *
+	 * @param
+	 * @return
+	 * @throws Exception
+	 * @author moon
+	 * @since 2021. 09. 14
+	 */
+	@PostMapping("/scm/list")
+	@ResponseBody
+	public GagaMap getDeliveryScmList(@RequestBody Delivery delivery) throws Exception {
+		
+		GagaMap result = new GagaMap();
+		delivery.setPageable(new TscPageRequest(delivery.getPageNo() - 1, delivery.getPageSize()));
+		delivery.getPageable().setTotalCount(deliveryService.getDeliveryListScmCount(delivery));
+		TscSession.setAttribute("maskingYn", TsaSession.getInfo().getMaskingYn());
+
+		if ("N".equals(delivery.getPageingYn())) {
+			delivery.setPageable(null);
+		}		
+		
+		result.set("pageing", delivery);
+		result.set("deliveryList", deliveryService.getDeliveryScmList(delivery));
+		
+		return result;
+	}
+	
 }

+ 1 - 0
src/main/java/com/style24/persistence/domain/Delivery.java

@@ -119,6 +119,7 @@ public class Delivery extends TscBaseDomain {
 	private String soldoutMemo;
 	private String soldoutRegNo;
 	private String custId;
+	private String supplyCompSearchTxt;
 	
 	private Integer ordDtlNo;
 	private Integer ordNo;

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

@@ -1386,4 +1386,95 @@
 		  AND CD NOT IN ('SBM014','SBM015','SBM016','SBM017','SBM018','SBM019')
 		ORDER BY DISP_ORD
 	</insert>
+	
+	<!-- 공급업체 목록 -->
+	<select id="getSupplyCompanyList2" parameterType="SupplyCompany" resultType="SupplyCompany">
+		/* TsaBusiness.getSupplyCompanyList2 */
+		SELECT SC.SUPPLY_COMP_CD                                       /*공급업체코드*/
+		     , SC.SUPPLY_COMP_NM                                       /*공급업체명*/
+		     , SC.SUPPLY_VENDOR_CD                                     /*공급벤더코드*/
+		     , SV.SUPPLY_VENDOR_NM                                     /*공급벤더명*/
+		     , SV.BIZ_GB                                               /*사업자구분*/
+		     , SV.BIZ_NO                                               /*사업자등록번호*/
+		     , SV.BIZ_KIND                                             /*업종*/
+		     , SV.BIZ_TYPE                                             /*업태*/
+		     , SV.OWNER_NM                                             /*대표자명*/
+		     , SV.BIZ_ZIPCODE                                          /*사업장우편번호*/
+		     , SV.BIZ_BASE_ADDR                                        /*사업장기본주소*/
+		     , SV.BIZ_DTL_ADDR                                         /*사업장상세주소*/
+		     , SV.MAIN_TELNO                                           /*대표전화번호*/
+		     , SV.MAIN_FAXNO                                           /*대표팩스번호*/
+		     , SV.HOMEPAGE_URL                                         /*홈페이지URL*/
+		     , SC.DISTRIBUTION_GB                                      /*유통구분*/
+		     , SC.SHOT_DELV_YN                                         /*총알배송여부*/
+		     , SC.SUPPLY_STAT                                          /*입점상태*/
+		     , FN_GET_CODE_NM('G010',SC.SUPPLY_STAT) AS SUPPLY_STAT_NM /*입점상태명*/
+		     , SC.SELL_FEE_RATE                                        /*판매수수료율*/
+		     , SC.SETTLE_DAY                                           /*정산일*/
+		     , SC.BANK_CD                                              /*은행코드*/
+		     , SC.ACCOUNT_NO                                           /*계좌번호*/
+		     , SC.DEPOSITOR_NM                                         /*예금주명*/
+		     , SC.CS_CHARGE_NM                                         /*CS담당자명*/
+		     , SC.CS_CHARGE_TELNO                                      /*CS담당자전화번호*/
+		     , SC.SETTLE_CHARGE_NM                                     /*정산담당자명*/
+		     , SC.SETTLE_CHARGE_TELNO                                  /*정산담당자전화번호*/
+		     , SC.SETTLE_CHARGE_EMAIL                                  /*정산담당자이메일*/
+		     , SC.BILL_EMAIL                                           /*계산서이메일*/
+		     , SC.ECONTRACT_YN                                         /*전자계약여부*/
+		     , SC.REMARKS                                              /*비고*/
+		     , SC.USE_YN                                               /*사용여부*/
+		     , SC.NOTE                                                 /*배송안내*/
+		FROM   TB_SUPPLY_COMPANY SC
+		     , TB_SUPPLY_VENDOR SV
+		WHERE  SC.SUPPLY_VENDOR_CD = SV.SUPPLY_VENDOR_CD
+		<if test="useYn != null and useYn != ''">
+		AND SC.USE_YN = #{useYn}
+		</if>
+		
+		<if test="supplyStat != null and supplyStat != ''">
+		AND    SC.SUPPLY_STAT = #{supplyStat}
+		</if>
+		<if test="searchTxt != null and searchTxt != ''">
+		    <if test='searchGb == "NAME"'>
+		AND    (
+		        UPPER(SC.SUPPLY_COMP_NM) LIKE CONCAT('%',UPPER(#{searchTxt}),'%')
+		        OR
+		        UPPER(SV.SUPPLY_VENDOR_NM) LIKE CONCAT('%',UPPER(#{searchTxt}),'%')
+		       )
+		    </if>
+		    <if test='searchGb == "OWNER"'>
+		AND    UPPER(SV.OWNER_NM) LIKE CONCAT('%',UPPER(#{searchTxt}),'%')
+		    </if>
+		</if>
+		<if test="econtractYn != null and econtractYn != ''">
+		AND    SC.ECONTRACT_YN = #{econtractYn}
+		</if>
+		<if test="supplyCompCd != null and supplyCompCd != ''"> <!-- 브랜드관리 화면에서 사용 -->
+		AND    SC.SUPPLY_COMP_CD = #{supplyCompCd}
+		</if>
+		<if test="multiSupplyCompCd != null and multiSupplyCompCd.length > 0">
+		AND    SC.SUPPLY_COMP_CD IN
+		    <foreach collection="multiSupplyCompCd" item="item" index="index"  open="(" close=")" separator=",">
+		UPPER(#{item})
+		    </foreach>
+		</if>
+		<if test="multiSupplyCompNm != null and multiSupplyCompNm.length > 0">
+		AND (
+		    <foreach collection="multiSupplyCompNm" item="item" index="index" separator="or">
+		    UPPER(SC.SUPPLY_COMP_NM) LIKE CONCAT('%',UPPER(#{item}),'%')
+		    </foreach>
+		 )
+		</if>
+		<if test='selfYn != null and (selfYn == "Y" or selfYn == "N")'>
+		<choose>
+		    <when test='selfYn  == "Y"'>
+		AND    SC.DISTRIBUTION_GB IN ('G065_10','G065_11','G065_12') 
+		    </when>
+		    <otherwise>
+		AND    SC.DISTRIBUTION_GB IN ('G065_20')
+		    </otherwise>
+		</choose>
+		</if>
+	</select>
+		
 </mapper>

+ 372 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaDelivery.xml

@@ -1264,4 +1264,376 @@
 	</update>
 
 
+	<!-- 배송목록 건수 -->
+	<select id="getDeliveryListScmCount" parameterType="Delivery" resultType="int">
+		/* TsaDelivery.getDeliveryListScmCount */
+		SELECT COUNT(*) AS TOTCNT
+		  FROM (
+				SELECT A.*
+				  FROM (
+					SELECT
+							  CASE WHEN ORD_DTL_STAT IN('G013_20','G013_30','G013_35','G013_40')
+							       THEN FN_GET_BIZDAYS(IF(A.ORD_EXCH_GB='O',DATE_FORMAT(A.PAY_DT,'%Y%m%d'),DATE_FORMAT(A.WD_EDDT,'%Y%m%d')),DATE_FORMAT(NOW(),'%Y%m%d')) - 1
+							       ELSE NULL END AS DELV_DELAY_DAYS
+							, FN_GET_CODE_NM('G024', (SELECT B.DELV_LOC_CLSF FROM TB_DELIVERY_LOC B WHERE  A.DELV_LOC_CD = B.DELV_LOC_CD AND A.SUPPLY_COMP_CD = B.SUPPLY_COMP_CD ) ) AS DELV_LOC_CLSF  -- 출고처 분류 G024  물류창고, 일반매장, 직송매장, 입점업체
+							, SUPPLY_COMP_NM
+					  FROM (
+							SELECT
+								  A.PAY_DT         -- 결제일시
+								, B.SUPPLY_COMP_CD -- 공급업체
+								, B.ORD_DTL_STAT  -- 주문상세상태
+								, B.DELV_LOC_CD   -- 출고처
+								, (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
+					            , B.ORD_EXCH_GB
+					            , (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY S WHERE S.SUPPLY_COMP_CD = B.SUPPLY_COMP_CD) AS SUPPLY_COMP_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_CUSTOMER CUST         ON A.CUST_NO      = CUST.CUST_NO
+							WHERE 1=1
+							  AND C.SELF_GOODS_YN = 'N'
+							<include refid="getDeliveryListCondition_sql"/>
+					) A
+				) A
+				WHERE 1=1
+				<if test='delvDelayDays != null and delvDelayDays != ""'>
+				<![CDATA[
+				AND A.DELV_DELAY_DAYS >= #{delvDelayDays}
+				]]>
+				</if>
+				<if test='delvLocClsf != null and delvLocClsf != ""'>
+				AND   A.DELV_LOC_CLSF = #{delvLocClsf}
+				</if>
+				<if test='supplyCompSearchTxt != null and supplyCompSearchTxt != ""'>
+				AND   A.SUPPLY_COMP_NM like concat(#{supplyCompSearchTxt},'%') 
+				</if>				
+			) A
+
+	</select>
+
+	<!-- 배송목록 -->
+	<select id="getDeliveryScmList" parameterType="Delivery" resultType="Delivery">
+		/* TsaDelivery.getDeliveryScmList */
+		SELECT Z.*
+		    , FN_GET_CODE_NM('G000', Z.SITE_CD) AS SITE_NM
+			, ( SELECT SELL_STORE_NM
+		      FROM   TB_SELL_STORE
+		      WHERE  SUPPLY_COMP_CD = Z.SUPPLY_COMP_CD
+		      AND    SELL_STORE_CD = Z.SELL_STORE_CD
+		     ) AS SELL_STORE_NM
+		    , FN_GET_CODE_NM('G011', Z.MALL_GB) AS MALL_GB_NM
+		    , CASE WHEN Z.ORD_DTL_STAT = 'G013_99' AND (SELECT MAX(OC.CHG_REASON) FROM TB_ORDER_CHANGE OC JOIN TB_ORDER_CHANGE_DETAIL OCD ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ AND OCD.ORD_DTL_NO = Z.ORD_DTL_NO AND OC.CHG_REASON = 'G686_30') IS NOT NULL
+		           THEN '품절취소' ELSE FN_GET_CODE_NM('G013', Z.ORD_DTL_STAT) END  AS ORD_DTL_STAT_NM
+		    , (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
+		    
+		    , IFNULL((SELECT  MAX(SWT_TRC_SEND_YN) FROM TB_ORDER_DETAIL_INVOICE V WHERE V.ORD_NO = Z.ORD_NO AND V.ORD_DTL_NO = Z.ORD_DTL_NO AND V.INVOICE_NO = Z.INVOICE_NO  ),'N') AS INVC_TRACKING
+
+		FROM (
+		    SELECT A.*, ROW_NUMBER() OVER(ORDER BY  A.ORD_NO DESC, A.ORD_DTL_NO) RNUM
+		    FROM (
+				SELECT A.*
+
+				  FROM (
+					SELECT
+							  CASE WHEN ORD_DTL_STAT IN('G013_20','G013_30','G013_35','G013_40')
+							       THEN FN_GET_BIZDAYS(IF(A.ORD_EXCH_GB='O',DATE_FORMAT(A.PAY_DT,'%Y%m%d'),DATE_FORMAT(A.WD_EDDT,'%Y%m%d')),DATE_FORMAT(NOW(),'%Y%m%d')) - 1
+							       ELSE NULL END AS DELV_DELAY_DAYS
+							, (SELECT CUST_ID FROM TB_CUSTOMER CT WHERE CT.CUST_NO= A.CUST_NO ) AS CUST_ID
+							, (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY S WHERE S.SUPPLY_COMP_CD = A.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM
+							, A.ORD_NO     -- 주문번호
+							, A.ORD_DTL_NO -- 주문상세번호
+							, A.SITE_CD    -- 사이트
+							, A.SELL_STORE_CD -- 판매몰
+							, A.EXTMALL_NM  -- 판매몰명
+							, A.ORD_DT         -- 주문일시
+							, A.PAY_DT         -- 결제일시
+							, A.MALL_GB        -- 몰구분
+							, A.ORD_NM         -- 주문자
+							, A.RECIP_NM       -- 수령인
+							, A.SUPPLY_COMP_CD -- 공급업체
+							, A.GOODS_CD       -- 상품코드
+							, A.GOODS_TYPE     -- 구성유형
+							, A.GOODS_NM       -- 상품명
+							, A.OPT_CD1        -- 옵션1
+							, A.OPT_CD2        -- 옵션2
+							, A.OPT_CD         -- SKU
+							, A.SKU_MODEL_NO
+							, A.PRODUCT_NO
+							, A.PRODUCT_CODE
+							, A.ORD_QTY        -- 주문수량
+							, A.CNCL_RTN_QTY   -- 취소수량
+							, A.SALE_QTY       -- 판매수량
+							, A.SALE_AMT       -- 판매금액
+							, A.REAL_ORD_AMT   -- 실결제금액
+							, A.ORD_DTL_STAT   -- 주문상세상태
+							, A.DELV_LOC_CD
+							, A.SHIP_COMP_CD  -- 출고택배사
+							, A.INVOICE_NO    -- 출고송장
+							-- 송장등록수정
+							-- 배송완료처리
+							, A.EXTMALL_ORDER_ID -- 외부몰주문번호
+							, A.AGENT_ORDER_ID   -- 에이전트주문번호
+							, A.SOLDOUT_YN    -- 결품여부
+							, A.DELV_MEMO     -- 배송메모
+							, 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
+						    , A.ORD_PHNNO
+							, A.RECIP_ZIPCODE
+							, A.RECIP_BASE_ADDR
+							, A.RECIP_DTL_ADDR
+					  FROM (
+							SELECT
+								  A.ORD_NO     -- 주문번호
+								, B.ORD_DTL_NO -- 주문상세번호
+								, A.SITE_CD    -- 사이트
+								, B.SELL_STORE_CD -- 판매몰
+								, IFNULL((SELECT MAX(EXTMALL_NM) FROM TB_EXTMALL WHERE VENDOR_ID = B.VENDOR_ID
+								          AND  EXTMALL_ID = B.EXTMALL_ID), '아이스타일24')  AS EXTMALL_NM  -- 판매몰명
+								, A.ORD_DT         -- 주문일시
+								, A.PAY_DT         -- 결제일시
+								, A.MALL_GB        -- 몰구분
+								, A.ORD_NM         -- 주문자
+								, D.RECIP_NM       -- 수령인
+								, B.SUPPLY_COMP_CD -- 공급업체
+								, B.GOODS_CD       -- 상품코드
+								, B.GOODS_TYPE     -- 구성유형
+								, C.GOODS_NM       -- 상품명
+								, ODI.OPT_CD1      -- 옵션1
+								, ODI.OPT_CD2      -- 옵션2
+								, ODI.OPT_CD       -- SKU
+								, ODI.SKU_MODEL_NO
+								, ODI.PRODUCT_NO
+								, ODI.PRODUCT_CODE
+								, ODI.ITEM_QTY * B.ORD_QTY      AS ORD_QTY      -- 주문수량
+								, ODI.ITEM_QTY * B.CNCL_RTN_QTY AS CNCL_RTN_QTY -- 취소수량
+								, (ODI.ITEM_QTY * B.ORD_QTY  - ODI.ITEM_QTY * B.CNCL_RTN_QTY) SALE_QTY -- 판매수량
+								, B.ORD_AMT - B.CNCL_RTN_AMT  AS SALE_AMT       -- 판매금액
+								, B.REAL_ORD_AMT  -- 실결제금액
+								, B.ORD_DTL_STAT  -- 주문상세상태
+								, B.DELV_LOC_CD   -- 출고처
+								, 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
+							    , A.ORD_PHNNO
+							    , D.RECIP_ZIPCODE
+							    , D.RECIP_BASE_ADDR
+							    , D.RECIP_DTL_ADDR
+							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' AND P.PAY_GB = 'O'
+							 LEFT OUTER JOIN TB_CUST_ACCOUNT  T       ON A.CUST_NO      = T.CUST_NO AND T.DEL_YN = 'N' AND T.CUST_NO NOT IN(0)
+							      INNER JOIN TB_CUSTOMER CUST         ON A.CUST_NO      = CUST.CUST_NO
+							WHERE 1=1
+							  AND B.GOODS_TYPE NOT IN ('G056_S')
+							  AND C.SELF_GOODS_YN = 'N'
+					        <include refid="getDeliveryListScmCondition_sql"/>
+
+							UNION ALL
+
+							SELECT
+								  A.ORD_NO     -- 주문번호
+								, B.ORD_DTL_NO -- 주문상세번호
+								, A.SITE_CD    -- 사이트
+								, B.SELL_STORE_CD -- 판매몰
+								, IFNULL((SELECT MAX(EXTMALL_NM) FROM TB_EXTMALL WHERE VENDOR_ID = B.VENDOR_ID
+								          AND  EXTMALL_ID = B.EXTMALL_ID), '아이스타일24')  AS EXTMALL_NM  -- 판매몰명
+								, A.ORD_DT         -- 주문일시
+								, A.PAY_DT         -- 결제일시
+								, A.MALL_GB        -- 몰구분
+								, A.ORD_NM         -- 주문자
+								, D.RECIP_NM       -- 수령인
+								, B.SUPPLY_COMP_CD -- 공급업체
+								, B.GOODS_CD       -- 상품코드
+								, B.GOODS_TYPE     -- 구성유형
+								, C.GOODS_NM       -- 상품명
+								, '-' AS OPT_CD1   -- 옵션1
+								, '-' AS OPT_CD2   -- 옵션2
+								, '-' AS OPT_CD    -- SKU
+								, '-' AS SKU_MODEL_NO
+								, NULL  AS PRODUCT_NO
+								, '-'  AS PRODUCT_CODE
+								, B.ORD_QTY      AS ORD_QTY      -- 주문수량
+								, B.CNCL_RTN_QTY AS CNCL_RTN_QTY -- 취소수량
+								, B.ORD_QTY  - B.CNCL_RTN_QTY   AS SALE_QTY   -- 판매수량
+								, B.ORD_AMT - B.CNCL_RTN_AMT    AS SALE_AMT   -- 판매금액
+								, B.REAL_ORD_AMT  -- 실결제금액
+								, B.ORD_DTL_STAT  -- 주문상세상태
+								, B.DELV_LOC_CD   -- 출고처
+								, 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
+							    , A.ORD_PHNNO
+							    , D.RECIP_ZIPCODE
+							    , D.RECIP_BASE_ADDR
+							    , D.RECIP_DTL_ADDR
+							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.DEL_YN = 'N' AND T.CUST_NO NOT IN(0)
+							      INNER JOIN TB_CUSTOMER CUST         ON A.CUST_NO      = CUST.CUST_NO
+							WHERE 1=1
+							  AND B.GOODS_TYPE IN ('G056_S')
+							  AND C.SELF_GOODS_YN = 'N'
+							<include refid="getDeliveryListScmCondition_sql"/>
+					) A
+				) A
+				WHERE 1=1
+				<if test='delvDelayDays != null and delvDelayDays != ""'>
+				<![CDATA[
+				AND A.DELV_DELAY_DAYS >= #{delvDelayDays}
+				]]>
+				</if>
+				<if test='supplyCompSearchTxt != null and supplyCompSearchTxt != ""'>
+				AND   A.SUPPLY_COMP_NM like concat(#{supplyCompSearchTxt},'%') 
+				</if>
+				ORDER BY A.ORD_NO DESC, A.ORD_DTL_NO
+	<include refid="getListPagingCondition_sql"/>
+	</select>
+
+    <!-- 배송목록 조회 조건  -->
+	<sql id="getDeliveryListScmCondition_sql">
+		AND  A.MALL_GB = 'G011_10'
+		<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=",">
+        	#{item}
+            </foreach>
+        </if>
+		<if test='orderNm != null and orderNm != ""'>
+		AND   A.ORD_NM = #{orderNm}
+		</if>
+
+		<if test='orderPhnno != null and orderPhnno != ""'>
+		AND   REPLACE(A.ORD_PHNNO, '-', '') = REPLACE(#{orderPhnno}, '-', '')
+		</if>
+		<if test='ordDtlNo != null and ordDtlNo != ""'>
+		AND   B.ORD_DTL_NO = #{ordDtlNo}
+		</if>
+		<if test='conditions != null and conditions != "" '>
+		AND (
+		<choose>
+		     <when test='search != null and search == "searchOrdNo"'>
+		         A.ORD_NO IN
+		          <foreach collection="conditions" item="item" index="index"  open="(" close=")" separator=",">
+		      		#{item}
+		         </foreach>
+
+		     </when>
+		     <when test='search != null and search == "searchExtmallOrderId"'>
+		         B.EXTMALL_ORDER_ID IN
+		         <foreach collection="conditions" item="item" index="index"  open="(" close=")" separator=",">
+		      		#{item}
+		         </foreach>
+		      </when>
+		     <when test='search != null and search == "searchCustId"'>
+		         CUST.CUST_ID IN
+		         <foreach collection="conditions" item="item" index="index"  open="(" close=")" separator=",">
+		      		#{item}
+		         </foreach>
+		      </when>
+		</choose>
+		      )
+		</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='recipNm != null and recipNm != ""'>
+		AND   D.RECIP_NM = #{recipNm}
+		</if>
+		<if test='invoiceNo != null and invoiceNo != ""'>
+		AND   B.INVOICE_NO = #{invoiceNo}
+		</if>
+		<if test='goodsCd != null and goodsCd != ""'>
+		AND   C.GOODS_CD = #{goodsCd}
+		</if>
+
+		<if test="multiOrdDtlStat != null and multiOrdDtlStat !=''">
+		AND  B.ORD_DTL_STAT IN
+		    <foreach collection="multiOrdDtlStat" item="item" index="index"  open="(" close=")" separator=",">
+		     #{item}
+		    </foreach>
+		</if>
+		<if test='termGb == "ordDt"'>
+		    <if test='stDate != null and stDate != ""'>
+		AND   A.ORD_DT >= STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s')
+		    </if>
+		    <if test='edDate != null and edDate != ""'>
+		AND   A.ORD_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(REPLACE(#{edDate},'-',''), '%Y%m%d%H%i%s'), INTERVAL 1 DAY)
+		    </if>
+		</if>
+		<if test='termGb == "delvDt"'>
+		    <if test='stDate != null and stDate != ""'>
+		AND   B.DELV_EDDT >= STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s')
+		    </if>
+		    <if test='edDate != null and edDate != ""'>
+		AND   B.DELV_EDDT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(REPLACE(#{edDate},'-',''), '%Y%m%d%H%i%s'), INTERVAL 1 DAY)
+		    </if>
+		</if>
+		<if test='termGb == "delvStDt"'>
+		    <if test='stDate != null and stDate != ""'>
+		AND   B.DELV_STDT >= STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s')
+		    </if>
+		    <if test='edDate != null and edDate != ""'>
+		AND   B.DELV_STDT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(REPLACE(#{edDate},'-','') , '%Y%m%d%H%i%s'), INTERVAL 1 DAY)
+		    </if>
+		</if>
+		<if test='custId != null and custId != ""'>
+		AND   CUST.CUST_ID = #{custId}
+		</if>
+		AND B.ORD_DTL_STAT != 'G013_00'
+	</sql>
+
+
 </mapper>

+ 152 - 0
src/main/webapp/WEB-INF/views/business/SupplyCompanyPopupForm2.html

@@ -0,0 +1,152 @@
+<!DOCTYPE html>
+<html lang="ko"
+	  xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : SupplyCompanyPopupForm2.html
+ * @desc    : 공급업체 목록 페이지
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2020.12.23   xodud1202   최초 작성
+ *******************************************************************************
+ -->
+<div class="modalPopup" data-width="530" id="popupCompanyList2">
+	<div class="panelStyle"  style="max-height:700px;overflow-y:scroll;">
+		<!-- TITLE -->
+		<div class="panelTitle">
+			<strong>공급업체 목록</strong>
+			<button type="button" class="close" onclick="uifnPopupClose('popupCompanyList2');"><em class="fa fa-times"></em></button>
+		</div>
+		<!-- //TITLE -->
+		<!-- 검색 조건 -->
+		<div class="panelContent">
+			<form id="searchCompanyListForm" name="searchCompanyListForm" action="#" th:action="@{'/business/supply/company/scm/list'}" onsubmit="$('#btnSearchCompanyList').trigger('click'); return false;">
+				<input type="hidden" name="searchGb" value="NAME" />		<!-- 공급업체 목록 검색 조건은 업체명으로만 -->
+				<table class="frmStyle" aria-describedby="검색조건">
+					<colgroup>
+						<col style="width:15%;"/>
+						<col style="width:35%;"/>
+						<col style="width:15%;"/>
+						<col/>
+					</colgroup>
+					<tbody>
+						<tr>
+							<th>사용여부</th>
+							<td colspan="3">
+								<select name="useYn" id="useYn">
+									<option value="">전체</option>
+									<option value="Y" selected>사용</option>
+									<option value="N">중지</option>
+								</select>
+							</td>
+						</tr>
+						<tr>
+							<th>업체코드<i class="required" title="필수"></i></th>
+							<td>
+								<textarea class="textareaR2" name="searchSupplyCompCd" id="searchSupplyCompCd"></textarea>
+							</td>
+							<th>업체명<i class="required" title="필수"></i></th>
+							<td>
+								<textarea class="textareaR2" name="searchSupplyCompNm" id="searchSupplyCompNm"></textarea>
+							</td>
+						</tr>
+					</tbody>
+				</table>
+				<ul class="panelBar">
+					<li class="center">
+						<button type="button" class="btn btn-base btn-lg" id="btnSearchCompanyList">조회</button>
+					</li>
+				</ul>
+			</form>
+			<!-- 리스트 영역 -->
+			<div class="panelContent">
+				<div id="gridComapanyPopupList" style="width: 100%; height: 380px" class="ag-theme-balham"></div>
+			</div>
+			<!-- //리스트 영역 -->
+	
+			<!-- 버튼 배치 영역 -->
+			<ul class="panelBar">
+				<li class="right">
+					<button type="button" class="btn btn-info btn-lg" id="btnConfirmCompany">확인</button>
+				</li>
+			</ul>
+		</div>
+		<!-- //검색 조건 -->
+	</div>
+	<script th:inline="javascript">
+		/*<![CDATA[*/
+		let headerSelection = false;
+		if([[${params.multiGb}]] == "M") headerSelection = true;
+		let columnCompanyPopupDefList = [
+			{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: headerSelection, checkboxSelection: true, filter: false},
+			{headerName: "공급업체번호", field: "supplyCompCd", width: 120, cellClass: 'text-center'},
+			{headerName: "공급업체국문명", field: "supplyCompNm", width: 150, cellClass: 'text-center'},
+			{headerName: "입점상태", field: "supplyStatNm", width: 150, cellClass: 'text-center'}
+		];
+
+		let gridOptionsCompanyPopupList = gagaAgGrid.getGridOptions(columnCompanyPopupDefList);
+		if(headerSelection) {	gridOptionsCompanyPopupList.rowSelection = "multiple";	}
+
+		// Row double click
+		gridOptionsCompanyPopupList.onRowDoubleClicked = function(event) {
+			$('#btnConfirmCompany').trigger('click');
+		}
+
+		// 조회
+		$('#btnSearchCompanyList').on('click', function() {
+			
+			// if (gagajf.isNull($('#searchCompanyListForm textarea[name=searchSupplyCompCd]').val())  && gagajf.isNull($('#searchCompanyListForm textarea[name=searchSupplyCompNm]').val())){
+			// 	mcxDialog.alert('검색조건을 입력하세요.');
+			// 	return false;
+			// }
+			
+			// Fetch data
+			gagaAgGrid.fetch($('#searchCompanyListForm').prop('action'), gridOptionsCompanyPopupList, '#searchCompanyListForm');
+		});
+
+		// 확인
+		$('#btnConfirmCompany').on('click', function() {
+			var selectedData = gagaAgGrid.selectedRowData(gridOptionsCompanyPopupList);
+
+			if (selectedData.length == 0) {
+				mcxDialog.alert('선택된 공급업체가 없습니다.');
+				return false;
+			}
+
+			var callbackFn = [[${params.callbackFn}]];
+
+			var jsonData = JSON.stringify(selectedData);
+
+			if (typeof callbackFn != 'undefined' && callbackFn) {
+				if (typeof callbackFn == 'function') {
+					callbackFn(jsonData);
+				} else {
+					if (callbackFn) {
+						if (callbackFn.indexOf("(") == -1) {
+							(new Function(callbackFn + "(" + jsonData + ");"))();
+						} else {
+							(new Function(callbackFn(jsonData)))();
+						}
+					}
+				}
+				uifnPopupClose('popupCompanyList2');
+			}
+		});
+
+		$(document).ready(function() {
+			// Create a agGrid
+			gagaAgGrid.createGrid('gridComapanyPopupList', gridOptionsCompanyPopupList);
+
+			//  조회
+			//$('#btnSearchCompanyList').trigger('click');
+		});
+		/*]]>*/
+	</script>
+
+</div>
+
+</html>

+ 612 - 0
src/main/webapp/WEB-INF/views/delivery/DeliveryListScmForm.html

@@ -0,0 +1,612 @@
+<!DOCTYPE html>
+<html lang="ko"
+	  xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : DeliveryListForm.html
+ * @desc    : 배송목록(입점)Page
+ *============================================================================
+ * ISTYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.09.15   moon        최초 작성
+ *******************************************************************************
+ -->
+<div id="main">
+	<!-- 메인타이틀 영역 -->
+	<div class="main-title">
+	</div>
+	<!-- //메인타이틀 영역 -->
+
+	<!-- 메뉴 설명 -->
+	<div class="infoBox menu-desc">
+	</div>
+	<!-- //메뉴 설명 -->
+	<!-- 검색조건 영역 -->
+	<form id="searchForm" name="searchForm" action="#" th:action="@{'/delivery/scm/list/'}" onsubmit="fnSearchList(); return false;">
+	<div class="panelStyle">
+		<!-- TITLE -->
+		<div class="panelTitle">
+			<h3><i class="fa fa-info-circle"></i>아래 검색조건 <font color="red">기간, 키워드</font>중 하나를 꼭 입력해 주세요.</h3>
+			<span class="panelControl">
+				<i class="fa fa-chevron-up"></i>
+			</span>
+		</div>
+		<!-- //TITLE -->
+		<div class="panelContent">
+
+				<table class="frmStyle">
+					<colgroup>
+						<col style="width:8%;"/>
+						<col style="width:12%;"/>
+						<col style="width:8%;"/>
+						<col style="width:12%;"/>
+						<col style="width:8%;"/>
+						<col style="width:12%;"/>
+						<col style="width:8%;"/>
+						<col style="width:12%;"/>
+					</colgroup>
+					<tr>
+						<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 colspan="3">
+							<div class="multiCheckBox" style="width:190px">
+								<button type="button" class="sltBtn" data-name="[전체]" style="overflow-x: hidden; padding-right:5px;">[전체]</button>
+								<ul style="display: none; box-shadow: 3px 3px 3px; overflow-y: scroll; height: 112px;" id="group1">
+									<li th:if="${ordDtlStatList}" th:each="oneData, status : ${ordDtlStatList}">
+										<label class="chkBox" data-group="group1">
+											<input type="checkbox" name="multiOrdDtlStat" th:value="${oneData.cd}" th:text="|[${oneData.cd}] ${oneData.cdNm}|">
+										</label>
+									</li>
+								</ul>
+							</div>
+						</td>
+						
+						<th rowspan="5">키워드<em class="required" title="필수"></em><i class="star"></i></th>
+						<td rowspan="5" colspan="5">
+							<select class="w200" name="search" id="search">
+								<option value="searchOrdNo">주문번호</option>
+								<option value="searchCustId">고객ID</option>
+							</select>
+							<textarea class="textareaR3 w90p" name="condition" id="condition"></textarea>
+						</td>
+						
+												
+					</tr>
+					<tr>
+						<th>주문자명</th>
+						<td>
+							<input type="text" class="" name="orderNm" placeholder="" maxlength="20"/>
+						</td>
+						<th>주문자휴대폰번호</th>
+						<td>
+							<input type="text" class="" name="orderPhnno" placeholder="" maxlength="20"/>
+						</td>
+						<th>주문상세번호</th>
+						<td>
+							<input type="text" class="w200" name="ordDtlNo" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" placeholder="" maxlength="9"/>
+						</td>
+
+					</tr>
+					<tr>
+						<th>수령인</th>
+						<td>
+							<input type="text" class="" name="recipNm" placeholder="" maxlength="20"/>
+						</td>
+						<th>송장번호</th>
+						<td>
+							<input type="text" class="" name="invoiceNo" placeholder="" maxlength="20"/>
+						</td>
+						<th>상품코드</th>
+						<td>
+							<input type="text" class="w200" name="goodsCd" placeholder="" maxlength="20"/>
+						</td>
+					</tr>
+					<tr>
+						<th>고객ID</th>
+						<td>
+							<input type="text" class="" name="custId" placeholder="" maxlength="20" />
+						</td>
+						<th>배송지연일</th>
+						<td colspan="4">
+							<input type="text" class="w50" name="delvDelayDays" data-valid-type="integer" placeholder="" maxlength="3" style="width:20%;"/>일
+							이상(결제일 기준)
+						</td>
+					</tr>
+					<tr>
+						<th>기간<em class="required" title="필수"></em></th>
+						<td colspan="8">
+							<select name="termGb" id="termGb">
+								<option value="ordDt">주문등록일</option>
+								<option value="delvDt">배송일자</option>
+								<option value="delvStDt">배송시작일자</option>
+							</select>
+							<span id="terms"></span>
+						</td>
+					</tr>
+
+				</table>
+				<ul class="panelBar">
+					<li class="center">
+					<button type="button" class="btn btn-base btn-lg" id="btnSearch">조회</button>
+					<button type="button" class="btn btn-gray btn-lg" onclick="$('#searchForm')[0].reset(); fnInitCalendar(); $('#multiBrand').empty(); fnInitSupplyComp();">초기화</button>
+					<button type="button" id="btnExcel" class="btn btn-info btn-lg">엑셀다운로드</button>
+					</li>
+				</ul>
+
+		</div>
+	</div>
+	<!-- //검색조건 영역 -->
+
+	<!-- 리스트 영역 -->
+	<div class="panelStyle">
+		<ul class="panelBar">
+			<li class="left">
+				<!--  <button type="button" id="btnSoldout" class="btn btn-danger btn-lg">품절처리</button> -->
+				<!-- <button type="button" id="btnSave" class="btn btn-success btn-lg btnRight" onclick="deliveryInfoSave();">저장</button>
+				<button type="button" id="btnWith" class="btn btn-success btn-lg btnRight">T</button> -->
+			</li>
+			<li class="right">
+				검색결과 : <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="50" selected="selected">50개씩 보기</option>
+					<option value="100">100개씩 보기</option>
+					<option value="500">500개씩 보기</option>
+					<option value="1000">1000개씩 보기</option>
+					<option value="3000">3000개씩 보기</option>
+					<option value="5000">5000개씩 보기</option>
+				</select>
+				<input type="hidden" name="pageNo" id="pageNo" value ="1"/>
+			</li>
+		</ul>
+
+		<div id="gridDeliveryList" style="width:100%; height: 700px;" class="ag-theme-balham"></div>
+		<ul class="panelBar">
+			<li class="center">
+				<div class="tablePaging" id="deliveryListPagination"></div>
+			</li>
+		</ul>
+	</div>
+	</form>
+	<!-- //리스트 영역 -->
+</div>
+<script type="text/javascript" src="/ux/plugins/gaga/gaga.paging.js?v=20210114"></script>
+<script th:inline="javascript">
+	/*<![CDATA[*/
+	/*************************************************************************
+	* AG-GRID 영역
+	**************************************************************************/
+	var shipCompanyList =  gagajf.convertToArray([[${shipCompanyList}]]);
+	var roleCd          = [[${sessionInfo.roleCd}]];
+	var currOrdNo       = 0;
+	var columnDefs = [
+		/*
+		{
+			headerName: "결품",
+			field: "soldout",
+			width: 50,
+			cellClass: 'text-center',
+			headerCheckboxSelection: true,
+			headerCheckboxSelectionFilteredOnly: true
+			,
+			checkboxSelection: function (params) {
+				return (params.data.ordDtlStat == 'G013_20') ? true : false;
+			}
+		},
+		*/
+		{headerName: "지연일",	field: "delvDelayDays", 	width: 70, cellClass: 'text-center'},
+		{headerName: "업체명", 	field: "supplyCompNm", 	width: 150, 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=\"fnOrderDetailPopup('" + params.data.ordNo + "');\">" + params.data.ordNo + "</a>";
+				} else {
+					return params.value;
+				}
+			}
+		},
+		{headerName: "주문상세번호", 	field: "ordDtlNo", 		width: 90, cellClass: 'text-center'},
+		{headerName: "주문상세상태", 	field: "ordDtlStatNm", 	width: 120, cellClass: 'text-center'},
+		{headerName: "주문교환", 		field: "ordExchGb", 	width: 80, cellClass: 'text-center',
+			cellRenderer: function (params) {
+				if (params.value == "Y") {
+					return "교환";
+				} else {
+					return "주문";
+				}
+			}
+		},
+		{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',
+			cellRenderer: function (params) {
+				return !gagajf.isNull(params.value) ? gagaAgGrid.toDateTimeFormat(params.value) : '';
+			}
+		},
+		{headerName: "몰구분", 		field: "mallGbNm", 		width: 70, cellClass: 'text-center'},
+		{headerName: "주문자", 		field: "maskingOrdNm", 		width: 100, cellClass: 'text-center',
+			cellRenderer: function (params) {
+				if (roleCd.indexOf("C") < 0 && !gagajf.isNull(params.value) && params.data.mallGb === 'G011_10' && params.data.custNo > 0) {
+					return '<a href="javascript:void(0);" onclick=\"cfnOpenCustDetailPopup(' + params.data.custNo + ');\">' + params.data.maskingOrdNm + '</a>';
+				} else {
+					return params.data.maskingOrdNm;
+				}
+			}
+		},
+		{headerName: "고객ID", 			field: "custId", 		width: 100, cellClass: 'text-center'},
+		{headerName: "휴대번호", 		field: "maskingOrdPhnno", 		width: 100, cellClass: 'text-center',
+			valueGetter: function (params) { return params.data.maskingOrdPhnno; }
+		},
+		{headerName: "LMS", 			field: "maskingOrdPhnno", 	width: 80, cellClass: "text-center",
+			cellRenderer: function(params) {
+				return '<button type="button" class="btn btn-base btn-sm" onclick="fnLms(\'' + params.data.ordPhnno + '\',\'' + params.data.custNo + '\');">&nbsp;LMS&nbsp;</button>';
+			}
+		},
+		{headerName: "수령인", 		field: "maskingRecipNm", 		width: 100, 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>";
+				} else {
+					return params.value;
+				}
+			}
+		},
+		{headerName: "구성유형", 		field: "goodsTypeNm",	 width: 130, cellClass: 'text-center',
+			cellRenderer: function (params) {
+				var option;
+				if (params.data.goodsType == 'G056_S') {
+					option = "<a href=\"javascript:void(0);\" onclick=\"fnOrderDetailItemForm('" + params.data.ordDtlNo + "');\">" + params.value + "</a>";
+				} else {
+					option = params.value
+				}
+				return option;
+			}
+		},
+		{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-right'
+			, valueFormatter: function (params) {
+				return params.value.addComma();
+			}
+		},
+		{headerName: "출고택배사", 	field: "shipCompCd", 	width: 170, cellClass: 'text-center'
+			, valueGetter: function (params) { return gagaAgGrid.lookupValue(shipCompanyList, params.data.shipCompCd); }
+		},
+		{headerName: "배송추적", 		field: "invcTracking", 	width: 80, cellClass: 'text-center',
+			cellRenderer: function (params) {
+				if (params.value == "Y") {
+					return "요청";
+				} else {
+					return "미요청";
+				}
+			}
+		},
+		{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') {
+					buttonTag = '<button type="button"class="btn btn-success" onClick="fnSaveInvoiceNo('+params.data.ordDtlNo+');">송장등록수정</button>';
+
+				}
+				return buttonTag;
+			}
+		},
+		{headerName: "배송완료처리", 	field: "ordDtlStat", width: 120, cellClass: 'text-center'
+			, cellRenderer: function(params) {
+				var buttonTag = '';
+				if (params.value == 'G013_50' || params.value == 'G013_55'  ) {
+					buttonTag = '<button type="button"class="btn btn-success" onClick="deliveryComplete(\''+params.data.ordNo+ '\' , \''+params.data.ordDtlNo+'\' , \'' + params.data.ordDtlStat + '\');">배송완료</button>';
+
+				}
+				return buttonTag;
+			}
+		},
+		{headerName: "배송메모", 		field: "delvMemo", 		width: 200, cellClass: 'text-left'},
+		{headerName: "우편번호", 		field: "recipZipcode", 		width: 80, cellClass: 'text-center'},
+		{headerName: "기본주소", 		field: "recipBaseAddr", 	width: 200, cellClass: 'text-left'},
+		{headerName: "상세주소", 		field: "maskingRecipDtlAddr", 		width: 200, cellClass: 'text-left'},
+		{headerName: "product_no", 	field: "productNo", 	width: 100, cellClass: 'text-center'},
+		{headerName: "product_code",field: "productCode", 	width: 100, cellClass: 'text-center'}
+
+	];
+
+	//Get GridOptions
+	var gridOptions = gagaAgGrid.getGridOptions(columnDefs);
+
+	//Grid editable
+	//gridOptions.defaultColDef.editable = true;
+
+	gridOptions.suppressRowClickSelection = true;
+	gridOptions.rowSelection = 'multiple';
+	gridOptions.isRowSelectable = function(rowNode) {
+		return rowNode.data.ordDtlStat == 'G013_20' || rowNode.data.ordDtlStat == 'G013_25';
+	}
+	gridOptions.getRowStyle = function (params) {
+		if (params.data.ordExchGb === 'Y') {
+			return {background: 'orange'}
+		}
+	}
+
+	var fnInitCalendar = function () {
+		$(".btnToday").trigger('click');
+	}
+
+	var fnInitSupplyComp = function(){
+		$("#searchForm #supplyCompText").text("");
+		$('#searchForm input[name=supplyCompList]').val('');
+	}
+
+	
+	
+	/*************************************************************************
+	*  주문상세 팝업
+	**************************************************************************/
+	var fnOrderDetailPopup = function(ordNo){
+		currOrdNo = ordNo;
+		cfnOpenOrderDetailPopup(currOrdNo);
+	}
+
+	/*************************************************************************
+	*  팝업 콜백
+	**************************************************************************/
+	var fnReOpenOrderDetailPopup = function () {
+		cfnOpenOrderDetailPopup(currOrdNo);
+		fnSearchList();
+	};
+
+
+	/*************************************************************************
+	* 조회 클릭
+	**************************************************************************/
+	$('#btnSearch').on('click', function () {
+		$("#searchForm input[name=pageNo]").val('1');
+		fnSearchList();
+	});
+
+	/*************************************************************************
+	* 조회
+	**************************************************************************/
+	var fnSearchList = function () {
+
+		if ($('#searchForm input[name=ordNo]').val() == '') {
+			if ($('#stDate').val() == '') {
+				mcxDialog.alert('시작 기간을 입력하세요.');
+				return;
+			}
+
+			if ($('#edDate').val() == '') {
+				mcxDialog.alert('종료 기간을 입력하세요.');
+				return;
+			}
+		}
+
+		if ($('#searchForm input[name=delvDelayDays]').val() != '') {
+			if ($('#stDate').val() == '') {
+				mcxDialog.alert('시작 기간을 입력하세요.');
+				return;
+			}
+
+			if ($('#edDate').val() == '') {
+				mcxDialog.alert('종료 기간을 입력하세요.');
+				return;
+			}
+		}
+
+		gagaPaging.init('searchForm', fnSearchCallBack, 'deliveryListPagination', $('#searchForm').find('#pageSize').val());
+	    gagaPaging.load($("#searchForm input[name=pageNo]").val());
+
+	}
+
+	// 페이징
+	$('#searchForm select[name=pageSize]').on('change', function() {
+		$("#searchForm input[name=pageNo]").val('1');
+		fnSearchList();
+	});
+
+
+	/*************************************************************************
+	* 조회 콜백
+	**************************************************************************/
+	var fnSearchCallBack = function(result){
+
+		$('#searchForm').find('#gridRowTotalCount').html(result.pageing.pageable.totalCount.addComma());
+		$('#searchForm').find('#pageNo').val(result.pageing.pageable.pageNo.addComma());
+		$('#searchForm').find('#pgNo').html(result.pageing.pageable.pageNo.addComma());
+		$('#searchForm').find('#endPgNo').html(result.pageing.pageable.totalPage.addComma());
+		gridOptions.api.setRowData(result.deliveryList);
+		gagaPaging.createPagination(result.pageing.pageable);
+
+	}
+
+
+	/*************************************************************************
+	* 구성상품 내역 팝업 호출
+	**************************************************************************/
+	var fnOrderDetailItemForm = function (ordDtlNo) {
+		var actionUrl = "/delivery/detail/item/form/" + ordDtlNo;
+		cfnOpenModalPopup(actionUrl, 'popupDeliveryDetailItemForm');
+	}
+
+	/*************************************************************************
+	*  LMS
+	**************************************************************************/
+	var fnLms = function(chgerPhnno, custNo){
+		let param = {};
+		param.elementCellPhnno = chgerPhnno;
+		param.elementCustNo =    custNo;
+		param.pageGb = 'delv';
+		cfnOpenLmsPopup2(param);
+	}
+
+
+	/*************************************************************************
+	* 엑셀다운로드
+	**************************************************************************/
+	$('#btnExcel').on('click', function () {
+		var totalRows = gridOptions.api.getDisplayedRowCount();
+		if (totalRows == 0) {
+			mcxDialog.alert('조회된 내역이 없습니다.');
+			return;
+		}
+		var date = new Date().format("YYYYMMDDHHmmss");
+		var params = {
+
+			fileName: "배송목록_" + date,
+			sheetName: "DATA"
+		}
+		gridOptions.excelStyles = [
+			{
+				id: 'dateFormat',
+				dataType: 'dateTime',
+				numberFormat: {
+					format: 'YYYY-MM-DD;@'
+				}
+			},
+			{
+				id: 'textFormat',
+				dataType: 'string'
+			}
+		]
+		gridOptions.api.exportDataAsExcel(params);
+	});
+
+
+	/*************************************************************************
+	* 품절처리
+	**************************************************************************/
+	$('#btnSoldout').on('click', function () {
+		var selectedData = gridOptions.api.getSelectedRows();
+
+		if (selectedData.length == 0) {
+			mcxDialog.alert('선택된 행이 없습니다.');
+			return;
+		}
+
+		mcxDialog.confirm('품절 처리하시겠습니까?', {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function () {
+				var jsonData = JSON.stringify(selectedData);
+				gagajf.ajaxJsonSubmit('/delivery/list/soldout'
+					, jsonData
+					, function () {
+						$('#btnSearch').trigger('click');
+				});
+			}
+		});
+	});
+
+
+	/*************************************************************************
+	* 배송완료처리 -수동
+	**************************************************************************/
+	var deliveryComplete = function (ordNo,ordDtlNo, odStat) {
+
+		mcxDialog.confirm('배송완료 처리를 하시겠습니까?', {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function () {
+				var jsonData = {
+					"ordNo": ordNo,
+					"ordDtlNo": ordDtlNo,
+					"orgOrdDtlStat": odStat
+				};
+				var tranData = JSON.stringify(jsonData);
+				gagajf.ajaxJsonSubmit('/delivery/complete/save', tranData, fnSearchList);
+			}
+		});
+	}
+
+	/*************************************************************************
+	* 송장변경 팝업호출
+	**************************************************************************/
+	var fnSaveInvoiceNo = function (ordDtlNo) {
+		var actionUrl = "/delivery/save/invoice/form/" + ordDtlNo ;
+		cfnOpenModalPopup(actionUrl, 'popupChangeInvoice');
+	};
+
+	/*************************************************************************
+	*  업체 콤보박스 변경 시
+	**************************************************************************/
+	$('#searchForm select[name=supplyCompCd]').on('change', function() {
+		var actionUrl = '/renderer/supplyCompany/brand/list/'+ $(this).val();
+		cfnCreateMultiCombo(actionUrl, "multiBrand",  "[전체]", null, 'Y');
+		var actionUrl2 = '/renderer/delvloc/list/'+ $(this).val();
+		cfnCreateCombo(actionUrl2, $('#searchForm select[name=delvLocCd]'), "[전체]");
+	});
+
+	// 업체 조회 선택시
+	$('#btnSearchSupplyComp').on('click', function() {
+		cfnOpenCompanyListPopup2('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);
+	}
+	
+
+	
+	/*************************************************************************
+	* init
+	**************************************************************************/
+	$(document).ready(function () {
+		gagaAgGrid.createGrid('gridDeliveryList', gridOptions);
+		var hideList = ["btnThisWeek", "btnYesterWeek", "btnRecentMonth", "btnThisMonth", "btnYesterMonth", "btnRecent3Month"];
+		cfnCreateCalendar('#terms', 'stDate', 'edDate', true, '주문', '', hideList);
+		$(".btnToday").trigger('click');
+		$('#searchForm select[name=mallGb]').trigger('change');
+		$('#searchForm').find('#multiBrand').empty();
+	});
+
+	/*]]>*/
+</script>
+</html>

+ 28 - 0
src/main/webapp/ux/js/admin.popup.js

@@ -873,6 +873,34 @@ var cfnOpenCompanyListPopup = function(callbackfn, multiGb, searchTxt, inputId,
 	}
 }
 
+var cfnOpenCompanyListPopup2 = function(callbackfn, multiGb, searchTxt, inputId, selfYn) {
+	var actionUrl = "/business/comapny/search/scm/form?callbackFn=" + callbackfn;
+	if (typeof(multiGb) != 'undefined' && multiGb != null && multiGb == "M") actionUrl += "&multiGb=" + multiGb; else actionUrl += "&multiGb=S";
+	if (typeof(searchTxt) != 'undefined') actionUrl += "&searchTxt=" + encodeURIComponent(searchTxt);
+	if (typeof(selfYn) != 'undefined') actionUrl += "&selfYn="+ selfYn ; else actionUrl += "&selfYn=" ;
+	if(multiGb == "S") {
+		if(searchTxt && searchTxt != "" && inputId && inputId != "") {
+			var data = {  searchTxt : searchTxt, searchGb : "NAME"};
+			var jsonData = JSON.stringify(data);
+
+			gagajf.ajaxJsonSubmit('/business/supply/company/scm/list', jsonData, function(result) {
+				if(result && result.length == 1) {
+					$("#" + inputId).val(result[0].supplyCompCd);
+				} else {
+					uifnPopupClose('popupCompanyList2');
+					cfnOpenModalPopup(actionUrl, 'popupCompanyList2');
+				}
+			});
+		} else {
+			uifnPopupClose('popupCompanyList2');
+			cfnOpenModalPopup(actionUrl, 'popupCompanyList2');
+		}
+	} else {
+		uifnPopupClose('popupCompanyList2');
+		cfnOpenModalPopup(actionUrl, 'popupCompanyList2');
+	}
+}
+
 /**
  * @type   : function
  * @access : public